public override void Parse(GameBitBuffer buffer) { Field0 = new int[4]; for(int i = 0;i < _Field0.Length;i++) _Field0[i] = buffer.ReadInt(32); snoLevelAreaOverrideForGizmoLocs = buffer.ReadInt(32); Field2 = new GizmoLocSet(); Field2.Parse(buffer); Field3 = buffer.ReadInt(32); serSpawnPopulations = new SerializeData(); serSpawnPopulations.Parse(buffer); //still checking variablearrays this.SpawnPopulations = new List<LevelAreaSpawnPopulation>( buffer.ReadInt(0) ); for(int loop12 = 0; loop12 < _SpawnPopulations.Count; loop12++) { _SpawnPopulations[loop12] = new LevelAreaSpawnPopulation(); _SpawnPopulations[loop12].Parse(buffer); } }
public void FileRead(MpqFileStream stream, long offset) { stream.Position = offset + 0; Field0 = new int[4]; for(int loop12=0; loop12 < 4; loop12++ ) { int temp12_Field0; temp12_Field0 = stream.ReadValueS32(); _Field0[loop12] = temp12_Field0; } stream.Position = offset + 16; snoLevelAreaOverrideForGizmoLocs = stream.ReadValueS32(); stream.Position = offset + 24; Field2 = new GizmoLocSet(); Field2.FileRead(stream, stream.Position); stream.Position = offset + 9176; Field3 = stream.ReadValueS32(); stream.Position = offset + 9192; serSpawnPopulations = new SerializeData(); serSpawnPopulations.FileRead(stream, stream.Position); stream.Position = offset + 9184; //still checking variablearrays SpawnPopulations = new List<LevelAreaSpawnPopulation>(); for(int i = 0; i < (int)(serSpawnPopulations.Field1 / 120); i++) { stream.Position = serSpawnPopulations.Field0 + 16 + (120*i) ; LevelAreaSpawnPopulation temp12_SpawnPopulations; temp12_SpawnPopulations = new LevelAreaSpawnPopulation(); temp12_SpawnPopulations.FileRead(stream, stream.Position); _SpawnPopulations.Add(temp12_SpawnPopulations); } }