public override void Parse(GameBitBuffer buffer) { Field0 = buffer.ReadInt(32); nVertCount = buffer.ReadInt(32); serVertList = new SerializeData(); serVertList.Parse(buffer); //still checking variablearrays this.VertList = new List<FatVertex>( buffer.ReadInt(0) ); for(int loop12 = 0; loop12 < _VertList.Count; loop12++) { _VertList[loop12] = new FatVertex(); _VertList[loop12].Parse(buffer); } serInfluenceList = new SerializeData(); serInfluenceList.Parse(buffer); //still checking variablearrays this.InfluenceList = new List<VertInfluences>( buffer.ReadInt(0) ); for(int loop12 = 0; loop12 < _InfluenceList.Count; loop12++) { _InfluenceList[loop12] = new VertInfluences(); _InfluenceList[loop12].Parse(buffer); } nIndexCount = buffer.ReadInt(32); serIndexList = new SerializeData(); serIndexList.Parse(buffer); //still checking variablearrays this.IndexList = new List<ushort>( buffer.ReadInt(0) ); for(int loop12 = 0; loop12 < _IndexList.Count; loop12++) { _IndexList[loop12] = (ushort)buffer.ReadInt(0); } serClothStructure = new SerializeData(); serClothStructure.Parse(buffer); //still checking variablearrays this.ClothStructure = new List<ClothStructure>( buffer.ReadInt(0) ); for(int loop12 = 0; loop12 < _ClothStructure.Count; loop12++) { _ClothStructure[loop12] = new ClothStructure(); _ClothStructure[loop12].Parse(buffer); } snoSurface = buffer.ReadInt(32); Field12 = buffer.ReadInt(32); Field13 = buffer.ReadFloat32(); Field14 = buffer.ReadCharArray(128); Field15 = buffer.ReadCharArray(128); aabbBounds = new AABB(); aabbBounds.Parse(buffer); nShapeCount = buffer.ReadInt(32); serShapes = new SerializeData(); serShapes.Parse(buffer); //still checking variablearrays this.Shapes = new List<CollisionShape>( buffer.ReadInt(0) ); for(int loop12 = 0; loop12 < _Shapes.Count; loop12++) { _Shapes[loop12] = new CollisionShape(); _Shapes[loop12].Parse(buffer); } }
public void FileRead(MpqFileStream stream, long offset) { stream.Position = offset + 0; Field0 = stream.ReadValueS32(); stream.Position = offset + 4; nVertCount = stream.ReadValueS32(); stream.Position = offset + 8; serVertList = new SerializeData(); serVertList.FileRead(stream, stream.Position); stream.Position = offset + 16; //still checking variablearrays VertList = new List<FatVertex>(); for(int i = 0; i < (int)(serVertList.Field1 / 44); i++) { stream.Position = serVertList.Field0 + 16 + (44*i) ; FatVertex temp12_VertList; temp12_VertList = new FatVertex(); temp12_VertList.FileRead(stream, stream.Position); _VertList.Add(temp12_VertList); } stream.Position = offset + 20; serInfluenceList = new SerializeData(); serInfluenceList.FileRead(stream, stream.Position); stream.Position = offset + 28; //still checking variablearrays InfluenceList = new List<VertInfluences>(); for(int i = 0; i < (int)(serInfluenceList.Field1 / 24); i++) { stream.Position = serInfluenceList.Field0 + 16 + (24*i) ; VertInfluences temp12_InfluenceList; temp12_InfluenceList = new VertInfluences(); temp12_InfluenceList.FileRead(stream, stream.Position); _InfluenceList.Add(temp12_InfluenceList); } stream.Position = offset + 32; nIndexCount = stream.ReadValueS32(); stream.Position = offset + 36; serIndexList = new SerializeData(); serIndexList.FileRead(stream, stream.Position); stream.Position = offset + 44; //still checking variablearrays IndexList = new List<ushort>(); for(int i = 0; i < (int)(serIndexList.Field1 / 2); i++) { stream.Position = serIndexList.Field0 + 16 + (2*i) ; ushort temp12_IndexList; temp12_IndexList = stream.ReadValueU16(); _IndexList.Add(temp12_IndexList); } stream.Position = offset + 48; serClothStructure = new SerializeData(); serClothStructure.FileRead(stream, stream.Position); stream.Position = offset + 56; //still checking variablearrays ClothStructure = new List<ClothStructure>(); for(int i = 0; i < (int)(serClothStructure.Field1 / 88); i++) { stream.Position = serClothStructure.Field0 + 16 + (88*i) ; ClothStructure temp12_ClothStructure; temp12_ClothStructure = new ClothStructure(); temp12_ClothStructure.FileRead(stream, stream.Position); _ClothStructure.Add(temp12_ClothStructure); } stream.Position = offset + 60; snoSurface = stream.ReadValueS32(); stream.Position = offset + 64; Field12 = stream.ReadValueS32(); stream.Position = offset + 68; Field13 = stream.ReadValueF32(); stream.Position = offset + 72; Field14 = stream.ReadString(128); stream.Position = offset + 200; Field15 = stream.ReadString(128); stream.Position = offset + 328; aabbBounds = new AABB(); aabbBounds.FileRead(stream, stream.Position); stream.Position = offset + 352; nShapeCount = stream.ReadValueS32(); stream.Position = offset + 356; serShapes = new SerializeData(); serShapes.FileRead(stream, stream.Position); stream.Position = offset + 364; //still checking variablearrays Shapes = new List<CollisionShape>(); for(int i = 0; i < (int)(serShapes.Field1 / 68); i++) { stream.Position = serShapes.Field0 + 16 + (68*i) ; CollisionShape temp12_Shapes; temp12_Shapes = new CollisionShape(); temp12_Shapes.FileRead(stream, stream.Position); _Shapes.Add(temp12_Shapes); } }