public override void Parse(GameBitBuffer buffer) { Field0 = buffer.ReadInt(32); Field1 = buffer.ReadInt(32); Field2 = new RenderParams(); Field2.Parse(buffer); Field3 = buffer.ReadInt(32); Field4 = new TextureStageParams[16]; for(int i = 0;i < _Field4.Length;i++) { _Field4[i] = new TextureStageParams(); _Field4[i].Parse(buffer); } Field5 = buffer.ReadInt(32); Field6 = buffer.ReadCharArray(256); Field7 = buffer.ReadCharArray(64); Field8 = buffer.ReadCharArray(64); serTagMap = new SerializeData(); serTagMap.Parse(buffer); hTagMap = new DT_TAGMAP(); hTagMap.Parse(buffer); }
public void FileRead(MpqFileStream stream, long offset) { stream.Position = offset + 0; Field0 = stream.ReadValueS32(); stream.Position = offset + 4; Field1 = stream.ReadValueS32(); stream.Position = offset + 8; Field2 = new RenderParams(); Field2.FileRead(stream, stream.Position); stream.Position = offset + 100; Field3 = stream.ReadValueS32(); stream.Position = offset + 104; Field4 = new TextureStageParams[16]; for(int loop12=0; loop12 < 16; loop12++ ) { TextureStageParams temp12_Field4; temp12_Field4 = new TextureStageParams(); temp12_Field4.FileRead(stream, stream.Position); _Field4[loop12] = temp12_Field4; } stream.Position = offset + 424; Field5 = stream.ReadValueS32(); stream.Position = offset + 428; Field6 = stream.ReadString(256); stream.Position = offset + 684; Field7 = stream.ReadString(64); stream.Position = offset + 748; Field8 = stream.ReadString(64); stream.Position = offset + 812; serTagMap = new SerializeData(); serTagMap.FileRead(stream, stream.Position); stream.Position = offset + 820; // hTagMap: type DT_TAGMAP hasnt a deserializer implemented throw new Exception("some fields arent going to be decoded."); }