public void FileRead(MpqFileStream stream, long offset) { stream.Position = offset + 0; serDRLGParams = new SerializeData(); serDRLGParams.FileRead(stream, stream.Position); stream.Position = offset + 8; //still checking variablearrays DRLGParams = new List<DRLGParams>(); for(int i = 0; i < (int)(serDRLGParams.Field1 / 120); i++) { stream.Position = serDRLGParams.Field0 + 16 + (120*i) ; DRLGParams temp12_DRLGParams; temp12_DRLGParams = new DRLGParams(); temp12_DRLGParams.FileRead(stream, stream.Position); _DRLGParams.Add(temp12_DRLGParams); } stream.Position = offset + 16; serSceneParams = new SerializeData(); serSceneParams.FileRead(stream, stream.Position); stream.Position = offset + 24; //still checking variablearrays SceneParams = new List<SceneParams>(); for(int i = 0; i < (int)(serSceneParams.Field1 / 24); i++) { stream.Position = serSceneParams.Field0 + 16 + (24*i) ; SceneParams temp12_SceneParams; temp12_SceneParams = new SceneParams(); temp12_SceneParams.FileRead(stream, stream.Position); _SceneParams.Add(temp12_SceneParams); } stream.Position = offset + 32; Field4 = new LabelRuleSet(); Field4.FileRead(stream, stream.Position); stream.Position = offset + 56; Field5 = stream.ReadValueS32(); stream.Position = offset + 64; Field6 = new SceneClusterSet(); Field6.FileRead(stream, stream.Position); stream.Position = offset + 88; arNavMeshFuncs = new int[4]; for(int loop12=0; loop12 < 4; loop12++ ) { int temp12_arNavMeshFuncs; temp12_arNavMeshFuncs = stream.ReadValueS32(); _arNavMeshFuncs[loop12] = temp12_arNavMeshFuncs; } stream.Position = offset + 104; snoScript = stream.ReadValueS32(); stream.Position = offset + 108; Field9 = stream.ReadValueS32(); }