public override void Parse(GameBitBuffer buffer) { serMarkers = new SerializeData(); serMarkers.Parse(buffer); //still checking variablearrays this.Markers = new List<Marker>( buffer.ReadInt(0) ); for(int loop12 = 0; loop12 < _Markers.Count; loop12++) { _Markers[loop12] = new Marker(); _Markers[loop12].Parse(buffer); } serNoSpawns = new SerializeData(); serNoSpawns.Parse(buffer); //still checking variablearrays this.NoSpawns = new List<Circle>( buffer.ReadInt(0) ); for(int loop12 = 0; loop12 < _NoSpawns.Count; loop12++) { _NoSpawns[loop12] = new Circle(); _NoSpawns[loop12].Parse(buffer); } Field4 = buffer.ReadInt(32); AABB = new AABB(); AABB.Parse(buffer); FileName = buffer.ReadCharArray(256); NLabel = buffer.ReadInt(32); SpecialIndexCount = buffer.ReadInt(32); serSpecialIndexList = new SerializeData(); serSpecialIndexList.Parse(buffer); //still checking variablearrays this.SpecialIndexList = new List<ushort>( buffer.ReadInt(0) ); for(int loop12 = 0; loop12 < _SpecialIndexList.Count; loop12++) { _SpecialIndexList[loop12] = (ushort)buffer.ReadInt(0); } }
public void FileRead(MpqFileStream stream, long offset) { stream.Position = offset + 12; serMarkers = new SerializeData(); serMarkers.FileRead(stream, stream.Position); stream.Position = offset + 24; //still checking variablearrays Markers = new List<Marker>(); for(int i = 0; i < (int)(serMarkers.Field1 / 208); i++) { stream.Position = serMarkers.Field0 + 16 + (208*i) ; Marker temp12_Markers; temp12_Markers = new Marker(); temp12_Markers.FileRead(stream, stream.Position); _Markers.Add(temp12_Markers); } stream.Position = offset + 80; serNoSpawns = new SerializeData(); serNoSpawns.FileRead(stream, stream.Position); stream.Position = offset + 88; //still checking variablearrays NoSpawns = new List<Circle>(); for(int i = 0; i < (int)(serNoSpawns.Field1 / 12); i++) { stream.Position = serNoSpawns.Field0 + 16 + (12*i) ; Circle temp12_NoSpawns; temp12_NoSpawns = new Circle(); temp12_NoSpawns.FileRead(stream, stream.Position); _NoSpawns.Add(temp12_NoSpawns); } stream.Position = offset + 168; Field4 = stream.ReadValueS32(); stream.Position = offset + 144; AABB = new AABB(); AABB.FileRead(stream, stream.Position); stream.Position = offset + 172; FileName = stream.ReadString(256); stream.Position = offset + 428; NLabel = stream.ReadValueS32(); stream.Position = offset + 432; SpecialIndexCount = stream.ReadValueS32(); stream.Position = offset + 436; serSpecialIndexList = new SerializeData(); serSpecialIndexList.FileRead(stream, stream.Position); stream.Position = offset + 448; //still checking variablearrays SpecialIndexList = new List<ushort>(); for(int i = 0; i < (int)(serSpecialIndexList.Field1 / 2); i++) { stream.Position = serSpecialIndexList.Field0 + 16 + (2*i) ; ushort temp12_SpecialIndexList; temp12_SpecialIndexList = stream.ReadValueU16(); _SpecialIndexList.Add(temp12_SpecialIndexList); } }