public override void Parse(GameBitBuffer buffer) { LuaName = buffer.ReadCharArray(64); Powerdef = new PowerDef(); Powerdef.Parse(buffer); Field2 = buffer.ReadBool(); Field3 = buffer.ReadBool(); Chararray2 = buffer.ReadCharArray(256); ScriptFormulaCount = buffer.ReadInt(32); serScriptFormulaDetails = new SerializeData(); serScriptFormulaDetails.Parse(buffer); //still checking variablearrays this.ScriptFormulaDetails = new List<ScriptFormulaDetails>( buffer.ReadInt(0) ); for(int loop12 = 0; loop12 < _ScriptFormulaDetails.Count; loop12++) { _ScriptFormulaDetails[loop12] = new ScriptFormulaDetails(); _ScriptFormulaDetails[loop12].Parse(buffer); } Field8 = buffer.ReadInt(32); serCompiledScript = new SerializeData(); serCompiledScript.Parse(buffer); //still checking variablearrays this.CompiledScript = new List<byte>( buffer.ReadInt(0) ); for(int loop12 = 0; loop12 < _CompiledScript.Count; loop12++) { _CompiledScript[loop12] = (byte)buffer.ReadInt(0); } SNOQuestMetaData = buffer.ReadInt(32); }
public void FileRead(MpqFileStream stream, long offset) { stream.Position = offset + 12; LuaName = stream.ReadString(64); stream.Position = offset + 80; Powerdef = new PowerDef(); Powerdef.FileRead(stream, stream.Position); stream.Position = offset + 424; Field2 = stream.ReadValueS32() == 1; stream.Position = offset + 428; Field3 = stream.ReadValueS32() == 1; stream.Position = offset + 432; Chararray2 = stream.ReadString(256); stream.Position = offset + 688; ScriptFormulaCount = stream.ReadValueS32(); stream.Position = offset + 692; serScriptFormulaDetails = new SerializeData(); serScriptFormulaDetails.FileRead(stream, stream.Position); stream.Position = offset + 704; //still checking variablearrays ScriptFormulaDetails = new List<ScriptFormulaDetails>(); for(int i = 0; i < (int)(serScriptFormulaDetails.Field1 / 776); i++) { stream.Position = serScriptFormulaDetails.Field0 + 16 + (776*i) ; ScriptFormulaDetails temp12_ScriptFormulaDetails; temp12_ScriptFormulaDetails = new ScriptFormulaDetails(); temp12_ScriptFormulaDetails.FileRead(stream, stream.Position); _ScriptFormulaDetails.Add(temp12_ScriptFormulaDetails); } stream.Position = offset + 712; Field8 = stream.ReadValueS32(); stream.Position = offset + 728; serCompiledScript = new SerializeData(); serCompiledScript.FileRead(stream, stream.Position); stream.Position = offset + 720; //still checking variablearrays CompiledScript = new List<byte>(); for(int i = 0; i < (int)(serCompiledScript.Field1 / 1); i++) { stream.Position = serCompiledScript.Field0 + 16 + (1*i) ; byte temp12_CompiledScript; temp12_CompiledScript = (byte)stream.ReadByte(); _CompiledScript.Add(temp12_CompiledScript); } stream.Position = offset + 736; SNOQuestMetaData = stream.ReadValueS32(); }