public override void Parse(GameBitBuffer buffer)
 {
     serServerData = new SerializeData();
     serServerData.Parse(buffer);
     //still checking variablearrays
     this.ServerData = new List<GlobalServerData>( buffer.ReadInt(0) );
     for(int loop12 = 0; loop12 < _ServerData.Count; loop12++)
     {
         _ServerData[loop12] = new GlobalServerData();
         _ServerData[loop12].Parse(buffer);
     }
     Field2 = buffer.ReadInt(32);
     serStartLocationNames = new SerializeData();
     serStartLocationNames.Parse(buffer);
     //still checking variablearrays
     this.StartLocationNames = new List<StartLocationName>( buffer.ReadInt(0) );
     for(int loop12 = 0; loop12 < _StartLocationNames.Count; loop12++)
     {
         _StartLocationNames[loop12] = new StartLocationName();
         _StartLocationNames[loop12].Parse(buffer);
     }
     Field5 = buffer.ReadFloat32();
     Field6 = buffer.ReadFloat32();
     Field7 = buffer.ReadFloat32();
     Field8 = buffer.ReadFloat32();
     Colors = new RGBAColor[400];
     for(int i = 0;i < _Colors.Length;i++)
     {
         _Colors[i] = new RGBAColor();
         _Colors[i].Parse(buffer);
     }
     Field10 = buffer.ReadInt(32);
     Field11 = buffer.ReadInt(32);
     Field12 = buffer.ReadFloat32();
     Field13 = buffer.ReadInt(32);
     Field14 = buffer.ReadFloat32();
     Field15 = buffer.ReadFloat32();
     Field16 = buffer.ReadFloat32();
     Field17 = buffer.ReadFloat32();
     Field18 = buffer.ReadFloat32();
     Field19 = buffer.ReadInt(32);
     Field20 = new int[4];
     for(int i = 0;i < _Field20.Length;i++) _Field20[i] = buffer.ReadInt(32);
     BannerParams = new BannerParams();
     BannerParams.Parse(buffer);
     Field22 = buffer.ReadInt(32);
     Field23 = buffer.ReadInt(32);
     Field24 = buffer.ReadInt(32);
     Field25 = buffer.ReadInt(32);
     Field26 = buffer.ReadFloat32();
     Field27 = buffer.ReadFloat32();
     Field28 = buffer.ReadFloat32();
     Field29 = buffer.ReadFloat32();
     Field30 = buffer.ReadFloat32();
     Field31 = buffer.ReadFloat32();
     Field32 = buffer.ReadFloat32();
     Field33 = buffer.ReadFloat32();
 }
 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();
 }