public CollisionMask()
 {
     for (int c = 0; c < 16; ++c)
     {
         heightMasks[c] = new HeightMask();
     }
 }
Exemple #2
0
            public CollisionMask(Reader reader, bool DCver = false)
            {
                for (int p = 0; p < 2; p++)
                {
                    for (int f = 0; f < (int)CollisionSides.Max; f++)
                    {
                        Collision[f] = new HeightMask[(int)CollisionSides.Max][];
                        for (int c = 0; c < 16; c++)
                        {
                            Collision[p][f][c] = new HeightMask();
                        }
                    }
                }

                if (!DCver)
                {
                    byte buffer = reader.ReadByte();
                    Angle     = (byte)((buffer & 0xF0) >> 4);
                    Behaviour = (byte)(buffer & 0x0F);
                }

                for (int p = 0; p < 2; p++)
                {
                    for (int f = 0; f < (int)CollisionSides.Max; f++)
                    {
                        for (int c = 0; c < 16; c++)
                        {
                            byte buffer = reader.ReadByte();
                            Collision[p][f][c].Height   = (byte)((c & 0xF0) >> 4);
                            Collision[p][f][c].Solidity = (byte)(c & 0x0F);
                        }
                    }
                }
            }
Exemple #3
0
            public CollisionMask()
            {
                heightMasks[0] = new HeightMask[16];
                heightMasks[1] = new HeightMask[16];
                heightMasks[2] = new HeightMask[16];
                heightMasks[3] = new HeightMask[16];

                for (int c = 0; c < 16; ++c)
                {
                    heightMasks[0][c] = new HeightMask();
                    heightMasks[1][c] = new HeightMask();
                    heightMasks[2][c] = new HeightMask();
                    heightMasks[3][c] = new HeightMask();
                }
            }