public void FileRead(MpqFileStream stream, long offset)
 {
     stream.Position = offset + 12;
     Field0 = stream.ReadValueS32();
     stream.Position = offset + 16;
     Field1 = stream.ReadValueS32();
     stream.Position = offset + 20;
     Time = stream.ReadValueS32();
     stream.Position = offset + 24;
     Time2 = stream.ReadValueS32();
     stream.Position = offset + 28;
     Field4 = stream.ReadValueS32();
     stream.Position = offset + 32;
     Field5 = stream.ReadValueS32();
     stream.Position = offset + 36;
     Field6 = new IVector2D();
     Field6.FileRead(stream, stream.Position);
 }
 public void FileRead(MpqFileStream stream, long offset)
 {
     stream.Position = offset + 16;
     Field0 = stream.ReadValueS32();
     stream.Position = offset + 20;
     dwWidth = stream.ReadValueS32();
     stream.Position = offset + 24;
     dwHeight = stream.ReadValueS32();
     stream.Position = offset + 28;
     dwFaceCount = stream.ReadValueS32();
     stream.Position = offset + 36;
     dwMipMapLevelMax = stream.ReadValueS32();
     stream.Position = offset + 40;
     Field5 = new SerializeData[60];
     for(int loop12=0; loop12 < 60; loop12++ )
     {
         SerializeData temp12_Field5;
         temp12_Field5 = new SerializeData();
         temp12_Field5.FileRead(stream, stream.Position);
         _Field5[loop12] = temp12_Field5;
     }
     stream.Position = offset + 520;
     Field6 = stream.ReadValueS32();
     stream.Position = offset + 32;
     Field7 = stream.ReadValueS32();
     stream.Position = offset + 592;
     Field8 = stream.ReadString(256);
     stream.Position = offset + 852;
     serImageFileIDs = new SerializeData();
     serImageFileIDs.FileRead(stream, stream.Position);
     stream.Position = offset + 848;
     //still checking variablearrays
     ImageFileIDs = new List<ImageFileID>();
     for(int i = 0; i < (int)(serImageFileIDs.Field1 / 516); i++)
     {
     stream.Position = serImageFileIDs.Field0 + 16 + (516*i) ;
         ImageFileID temp12_ImageFileIDs;
         temp12_ImageFileIDs = new ImageFileID();
         temp12_ImageFileIDs.FileRead(stream, stream.Position);
         _ImageFileIDs.Add(temp12_ImageFileIDs);
     }
     stream.Position = offset + 524;
     serFrame = new SerializeData();
     serFrame.FileRead(stream, stream.Position);
     stream.Position = offset + 532;
     //still checking variablearrays
     Frame = new List<TexFrame>();
     for(int i = 0; i < (int)(serFrame.Field1 / 80); i++)
     {
     stream.Position = serFrame.Field0 + 16 + (80*i) ;
         TexFrame temp12_Frame;
         temp12_Frame = new TexFrame();
         temp12_Frame.FileRead(stream, stream.Position);
         _Frame.Add(temp12_Frame);
     }
     stream.Position = offset + 536;
     Field13 = new IVector2D();
     Field13.FileRead(stream, stream.Position);
     stream.Position = offset + 860;
     Field14 = stream.ReadValueS32();
     stream.Position = offset + 864;
     Field15 = stream.ReadValueS32();
     stream.Position = offset + 868;
     Field16 = stream.ReadValueS32();
     stream.Position = offset + 544;
     Field17 = stream.ReadValueS32();
     stream.Position = offset + 548;
     Field18 = stream.ReadValueS32();
     stream.Position = offset + 552;
     Field19 = stream.ReadValueS32();
     stream.Position = offset + 560;
     Field20 = stream.ReadValueS64();
     stream.Position = offset + 568;
     Field21 = stream.ReadValueS32();
     stream.Position = offset + 572;
     Field22 = (byte)stream.ReadByte();
     stream.Position = offset + 573;
     Field23 = (byte)stream.ReadByte();
     stream.Position = offset + 574;
     Field24 = (byte)stream.ReadByte();
 }
 public void FileRead(MpqFileStream stream, long offset)
 {
     stream.Position = offset + 0;
     Cellz = stream.ReadValueS32();
     stream.Position = offset + 4;
     Cell = new IVector2D();
     Cell.FileRead(stream, stream.Position);
     stream.Position = offset + 12;
     SNOLevelAreas = new int[4];
     for(int loop12=0; loop12 < 4; loop12++ )
     {
         int temp12_SNOLevelAreas;
         temp12_SNOLevelAreas = stream.ReadValueS32();
         _SNOLevelAreas[loop12] = temp12_SNOLevelAreas;
     }
     stream.Position = offset + 28;
     SNOPrevWorld = stream.ReadValueS32();
     stream.Position = offset + 32;
     Field4 = stream.ReadValueS32();
     stream.Position = offset + 36;
     SNOPrevLevelArea = stream.ReadValueS32();
     stream.Position = offset + 40;
     SNONextWorld = stream.ReadValueS32();
     stream.Position = offset + 44;
     Field7 = stream.ReadValueS32();
     stream.Position = offset + 48;
     SNONextLevelArea = stream.ReadValueS32();
     stream.Position = offset + 52;
     SNOMusic = stream.ReadValueS32();
     stream.Position = offset + 56;
     SNOCombatMusic = stream.ReadValueS32();
     stream.Position = offset + 60;
     SNOAmbient = stream.ReadValueS32();
     stream.Position = offset + 64;
     SNOReverb = stream.ReadValueS32();
     stream.Position = offset + 68;
     SNOWeather = stream.ReadValueS32();
     stream.Position = offset + 72;
     SNOPresetWorld = stream.ReadValueS32();
     stream.Position = offset + 76;
     Field15 = stream.ReadValueS32();
     stream.Position = offset + 80;
     Field16 = stream.ReadValueS32();
     stream.Position = offset + 84;
     Field17 = stream.ReadValueS32();
     stream.Position = offset + 124;
     ClusterID = stream.ReadValueS32();
     stream.Position = offset + 128;
     SceneCachedValues = new SceneCachedValues();
     SceneCachedValues.FileRead(stream, stream.Position);
 }
 public void FileRead(MpqFileStream stream, long offset)
 {
     stream.Position = offset + 0;
     Field0 = stream.ReadValueS32();
     stream.Position = offset + 16;
     serNavCells = new SerializeData();
     serNavCells.FileRead(stream, stream.Position);
     stream.Position = offset + 8;
     //still checking variablearrays
     NavCells = new List<NavCell>();
     for(int i = 0; i < (int)(serNavCells.Field1 / 32); i++)
     {
     stream.Position = serNavCells.Field0 + 16 + (32*i) ;
         NavCell temp12_NavCells;
         temp12_NavCells = new NavCell();
         temp12_NavCells.FileRead(stream, stream.Position);
         _NavCells.Add(temp12_NavCells);
     }
     stream.Position = offset + 24;
     NeightbourCount = stream.ReadValueS32();
     stream.Position = offset + 40;
     serNavCellNeighbors = new SerializeData();
     serNavCellNeighbors.FileRead(stream, stream.Position);
     stream.Position = offset + 32;
     //still checking variablearrays
     NavCellNeighbors = new List<NavCellLookup>();
     for(int i = 0; i < (int)(serNavCellNeighbors.Field1 / 4); i++)
     {
     stream.Position = serNavCellNeighbors.Field0 + 16 + (4*i) ;
         NavCellLookup temp12_NavCellNeighbors;
         temp12_NavCellNeighbors = new NavCellLookup();
         temp12_NavCellNeighbors.FileRead(stream, stream.Position);
         _NavCellNeighbors.Add(temp12_NavCellNeighbors);
     }
     stream.Position = offset + 48;
     Field6 = stream.ReadValueF32();
     stream.Position = offset + 52;
     Field7 = stream.ReadValueF32();
     stream.Position = offset + 56;
     Field8 = stream.ReadValueS32();
     stream.Position = offset + 60;
     Field9 = new IVector2D();
     Field9.FileRead(stream, stream.Position);
     stream.Position = offset + 80;
     serGridSquares = new SerializeData();
     serGridSquares.FileRead(stream, stream.Position);
     stream.Position = offset + 72;
     //still checking variablearrays
     GridSquares = new List<NavGridSquare>();
     for(int i = 0; i < (int)(serGridSquares.Field1 / 6); i++)
     {
     stream.Position = serGridSquares.Field0 + 16 + (6*i) ;
         NavGridSquare temp12_GridSquares;
         temp12_GridSquares = new NavGridSquare();
         temp12_GridSquares.FileRead(stream, stream.Position);
         _GridSquares.Add(temp12_GridSquares);
     }
     stream.Position = offset + 88;
     Field12 = stream.ReadValueS32();
     stream.Position = offset + 104;
     serCellLookups = new SerializeData();
     serCellLookups.FileRead(stream, stream.Position);
     stream.Position = offset + 96;
     //still checking variablearrays
     CellLookups = new List<NavCellLookup>();
     for(int i = 0; i < (int)(serCellLookups.Field1 / 4); i++)
     {
     stream.Position = serCellLookups.Field0 + 16 + (4*i) ;
         NavCellLookup temp12_CellLookups;
         temp12_CellLookups = new NavCellLookup();
         temp12_CellLookups.FileRead(stream, stream.Position);
         _CellLookups.Add(temp12_CellLookups);
     }
     stream.Position = offset + 112;
     BorderDataCount = stream.ReadValueS32();
     stream.Position = offset + 128;
     serBorderData = new SerializeData();
     serBorderData.FileRead(stream, stream.Position);
     stream.Position = offset + 120;
     //still checking variablearrays
     BorderData = new List<NavCellBorderData>();
     for(int i = 0; i < (int)(serBorderData.Field1 / 4); i++)
     {
     stream.Position = serBorderData.Field0 + 16 + (4*i) ;
         NavCellBorderData temp12_BorderData;
         temp12_BorderData = new NavCellBorderData();
         temp12_BorderData.FileRead(stream, stream.Position);
         _BorderData.Add(temp12_BorderData);
     }
 }
 public void FileRead(MpqFileStream stream, long offset)
 {
     stream.Position = offset + 0;
     OwnerID = stream.ReadValueS32();
     stream.Position = offset + 4;
     _EquipmentSlot = stream.ReadValueS32();
     stream.Position = offset + 8;
     InventoryLocation = new IVector2D();
     InventoryLocation.FileRead(stream, stream.Position);
 }
 public void FileRead(MpqFileStream stream, long offset)
 {
     stream.Position = offset + 0;
     _Field0 = stream.ReadValueS32();
     stream.Position = offset + 4;
     Field1 = stream.ReadValueS32();
     stream.Position = offset + 8;
     Field2 = stream.ReadValueS32();
     stream.Position = offset + 12;
     Field3 = new IVector2D();
     Field3.FileRead(stream, stream.Position);
     stream.Position = offset + 20;
     serTiles = new SerializeData();
     serTiles.FileRead(stream, stream.Position);
     stream.Position = offset + 32;
     //still checking variablearrays
     Tiles = new List<CustomTileCell>();
     for(int i = 0; i < (int)(serTiles.Field1 / 36); i++)
     {
     stream.Position = serTiles.Field0 + 16 + (36*i) ;
         CustomTileCell temp12_Tiles;
         temp12_Tiles = new CustomTileCell();
         temp12_Tiles.FileRead(stream, stream.Position);
         _Tiles.Add(temp12_Tiles);
     }
 }