public void FileRead(MpqFileStream stream, long offset) { stream.Position = offset + 24; serServerData = new SerializeData(); serServerData.FileRead(stream, stream.Position); stream.Position = offset + 16; //still checking variablearrays ServerData = new List<GlobalServerData>(); for(int i = 0; i < (int)(serServerData.Field1 / 320); i++) { stream.Position = serServerData.Field0 + 16 + (320*i) ; GlobalServerData temp12_ServerData; temp12_ServerData = new GlobalServerData(); temp12_ServerData.FileRead(stream, stream.Position); _ServerData.Add(temp12_ServerData); } stream.Position = offset + 32; Field2 = stream.ReadValueS32(); stream.Position = offset + 48; serStartLocationNames = new SerializeData(); serStartLocationNames.FileRead(stream, stream.Position); stream.Position = offset + 40; //still checking variablearrays StartLocationNames = new List<StartLocationName>(); for(int i = 0; i < (int)(serStartLocationNames.Field1 / 68); i++) { stream.Position = serStartLocationNames.Field0 + 16 + (68*i) ; StartLocationName temp12_StartLocationNames; temp12_StartLocationNames = new StartLocationName(); temp12_StartLocationNames.FileRead(stream, stream.Position); _StartLocationNames.Add(temp12_StartLocationNames); } stream.Position = offset + 56; Field5 = stream.ReadValueF32(); stream.Position = offset + 60; Field6 = stream.ReadValueF32(); stream.Position = offset + 64; Field7 = stream.ReadValueF32(); stream.Position = offset + 68; Field8 = stream.ReadValueF32(); stream.Position = offset + 72; Colors = new RGBAColor[400]; for(int loop12=0; loop12 < 400; loop12++ ) { RGBAColor temp12_Colors; temp12_Colors = new RGBAColor(); temp12_Colors.FileRead(stream, stream.Position); _Colors[loop12] = temp12_Colors; } stream.Position = offset + 1672; Field10 = stream.ReadValueS32(); stream.Position = offset + 1676; Field11 = stream.ReadValueS32(); stream.Position = offset + 1680; Field12 = stream.ReadValueF32(); stream.Position = offset + 1684; Field13 = stream.ReadValueS32(); stream.Position = offset + 1688; Field14 = stream.ReadValueF32(); stream.Position = offset + 1692; Field15 = stream.ReadValueF32(); stream.Position = offset + 1696; Field16 = stream.ReadValueF32(); stream.Position = offset + 1700; Field17 = stream.ReadValueF32(); stream.Position = offset + 1704; Field18 = stream.ReadValueF32(); stream.Position = offset + 1708; Field19 = stream.ReadValueS32(); stream.Position = offset + 1712; Field20 = new int[4]; for(int loop12=0; loop12 < 4; loop12++ ) { int temp12_Field20; temp12_Field20 = stream.ReadValueS32(); _Field20[loop12] = temp12_Field20; } stream.Position = offset + 1728; BannerParams = new BannerParams(); BannerParams.FileRead(stream, stream.Position); stream.Position = offset + 1960; Field22 = stream.ReadValueS32(); stream.Position = offset + 1964; Field23 = stream.ReadValueS32(); stream.Position = offset + 1968; Field24 = stream.ReadValueS32(); stream.Position = offset + 1972; Field25 = stream.ReadValueS32(); stream.Position = offset + 1976; Field26 = stream.ReadValueF32(); stream.Position = offset + 1980; Field27 = stream.ReadValueF32(); stream.Position = offset + 1984; Field28 = stream.ReadValueF32(); stream.Position = offset + 1988; Field29 = stream.ReadValueF32(); stream.Position = offset + 1992; Field30 = stream.ReadValueF32(); stream.Position = offset + 1996; Field31 = stream.ReadValueF32(); stream.Position = offset + 2000; Field32 = stream.ReadValueF32(); stream.Position = offset + 2004; Field33 = stream.ReadValueF32(); }