public override void Parse(GameBitBuffer buffer) { QuestType = buffer.ReadInt(2); NumberOfSteps = buffer.ReadInt(32); NumberOfCompletionSteps = buffer.ReadInt(32); Field3 = buffer.ReadInt(32); Field4 = new QuestUnassignedStep(); Field4.Parse(buffer); serQuestSteps = new SerializeData(); serQuestSteps.Parse(buffer); //still checking variablearrays this.QuestSteps = new List<QuestStep>( buffer.ReadInt(0) ); for(int loop12 = 0; loop12 < _QuestSteps.Count; loop12++) { _QuestSteps[loop12] = new QuestStep(); _QuestSteps[loop12].Parse(buffer); } serQuestCompletionSteps = new SerializeData(); serQuestCompletionSteps.Parse(buffer); //still checking variablearrays this.QuestCompletionSteps = new List<QuestCompletionStep>( buffer.ReadInt(0) ); for(int loop12 = 0; loop12 < _QuestCompletionSteps.Count; loop12++) { _QuestCompletionSteps[loop12] = new QuestCompletionStep(); _QuestCompletionSteps[loop12].Parse(buffer); } Field9 = buffer.ReadInt(32); Field10 = buffer.ReadInt(32); Field11 = buffer.ReadInt(32); LevelRange1 = new QuestLevelRange(); LevelRange1.Parse(buffer); LevelRange2 = new QuestLevelRange(); LevelRange2.Parse(buffer); LevelRange3 = new QuestLevelRange(); LevelRange3.Parse(buffer); LevelRange4 = new QuestLevelRange(); LevelRange4.Parse(buffer); }
public void FileRead(MpqFileStream stream, long offset) { stream.Position = offset + 12; _QuestType = stream.ReadValueS32(); stream.Position = offset + 16; NumberOfSteps = stream.ReadValueS32(); stream.Position = offset + 20; NumberOfCompletionSteps = stream.ReadValueS32(); stream.Position = offset + 24; Field3 = stream.ReadValueS32(); stream.Position = offset + 40; Field4 = new QuestUnassignedStep(); Field4.FileRead(stream, stream.Position); stream.Position = offset + 88; serQuestSteps = new SerializeData(); serQuestSteps.FileRead(stream, stream.Position); stream.Position = offset + 80; //still checking variablearrays QuestSteps = new List<QuestStep>(); for(int i = 0; i < (int)(serQuestSteps.Field1 / 224); i++) { stream.Position = serQuestSteps.Field0 + 16 + (224*i) ; QuestStep temp12_QuestSteps; temp12_QuestSteps = new QuestStep(); temp12_QuestSteps.FileRead(stream, stream.Position); _QuestSteps.Add(temp12_QuestSteps); } stream.Position = offset + 104; serQuestCompletionSteps = new SerializeData(); serQuestCompletionSteps.FileRead(stream, stream.Position); stream.Position = offset + 96; //still checking variablearrays QuestCompletionSteps = new List<QuestCompletionStep>(); for(int i = 0; i < (int)(serQuestCompletionSteps.Field1 / 72); i++) { stream.Position = serQuestCompletionSteps.Field0 + 16 + (72*i) ; QuestCompletionStep temp12_QuestCompletionSteps; temp12_QuestCompletionSteps = new QuestCompletionStep(); temp12_QuestCompletionSteps.FileRead(stream, stream.Position); _QuestCompletionSteps.Add(temp12_QuestCompletionSteps); } stream.Position = offset + 28; Field9 = stream.ReadValueS32(); stream.Position = offset + 32; Field10 = stream.ReadValueS32(); stream.Position = offset + 36; Field11 = stream.ReadValueS32(); stream.Position = offset + 112; LevelRange1 = new QuestLevelRange(); LevelRange1.FileRead(stream, stream.Position); stream.Position = offset + 120; LevelRange2 = new QuestLevelRange(); LevelRange2.FileRead(stream, stream.Position); stream.Position = offset + 128; LevelRange3 = new QuestLevelRange(); LevelRange3.FileRead(stream, stream.Position); stream.Position = offset + 136; LevelRange4 = new QuestLevelRange(); LevelRange4.FileRead(stream, stream.Position); }