public CollisionMask() { for (int c = 0; c < 16; ++c) { heightMasks[c] = new HeightMask(); } }
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); } } } }
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(); } }