public override void Parse(GameBitBuffer buffer) { Field0 = buffer.ReadInt(32); CollisionMeshCount = buffer.ReadInt(32); serCollisionMeshes = new SerializeData(); serCollisionMeshes.Parse(buffer); //still checking variablearrays this.CollisionMeshes = new List<CollisionMesh>( buffer.ReadInt(0) ); for(int loop12 = 0; loop12 < _CollisionMeshes.Count; loop12++) { _CollisionMeshes[loop12] = new CollisionMesh(); _CollisionMeshes[loop12].Parse(buffer); } Field4 = buffer.ReadCharArray(256); Field5 = buffer.ReadCharArray(256); Field6 = buffer.ReadInt(32); }
public void FileRead(MpqFileStream stream, long offset) { stream.Position = offset + 12; Field0 = stream.ReadValueS32(); stream.Position = offset + 16; CollisionMeshCount = stream.ReadValueS32(); stream.Position = offset + 20; serCollisionMeshes = new SerializeData(); serCollisionMeshes.FileRead(stream, stream.Position); stream.Position = offset + 32; //still checking variablearrays CollisionMeshes = new List<CollisionMesh>(); for(int i = 0; i < (int)(serCollisionMeshes.Field1 / 136); i++) { stream.Position = serCollisionMeshes.Field0 + 16 + (136*i) ; CollisionMesh temp12_CollisionMeshes; temp12_CollisionMeshes = new CollisionMesh(); temp12_CollisionMeshes.FileRead(stream, stream.Position); _CollisionMeshes.Add(temp12_CollisionMeshes); } stream.Position = offset + 44; Field4 = stream.ReadString(256); stream.Position = offset + 300; Field5 = stream.ReadString(256); stream.Position = offset + 40; Field6 = stream.ReadValueS32(); }