public override void Parse(GameBitBuffer buffer) { Field0 = buffer.ReadInt(32); serNavCells = new SerializeData(); serNavCells.Parse(buffer); //still checking variablearrays this.NavCells = new List<NavCell>( buffer.ReadInt(0) ); for(int loop12 = 0; loop12 < _NavCells.Count; loop12++) { _NavCells[loop12] = new NavCell(); _NavCells[loop12].Parse(buffer); } NeightbourCount = buffer.ReadInt(32); serNavCellNeighbors = new SerializeData(); serNavCellNeighbors.Parse(buffer); //still checking variablearrays this.NavCellNeighbors = new List<NavCellLookup>( buffer.ReadInt(0) ); for(int loop12 = 0; loop12 < _NavCellNeighbors.Count; loop12++) { _NavCellNeighbors[loop12] = new NavCellLookup(); _NavCellNeighbors[loop12].Parse(buffer); } Field6 = buffer.ReadFloat32(); Field7 = buffer.ReadFloat32(); Field8 = buffer.ReadInt(32); Field9 = new IVector2D(); Field9.Parse(buffer); serGridSquares = new SerializeData(); serGridSquares.Parse(buffer); //still checking variablearrays this.GridSquares = new List<NavGridSquare>( buffer.ReadInt(0) ); for(int loop12 = 0; loop12 < _GridSquares.Count; loop12++) { _GridSquares[loop12] = new NavGridSquare(); _GridSquares[loop12].Parse(buffer); } Field12 = buffer.ReadInt(32); serCellLookups = new SerializeData(); serCellLookups.Parse(buffer); //still checking variablearrays this.CellLookups = new List<NavCellLookup>( buffer.ReadInt(0) ); for(int loop12 = 0; loop12 < _CellLookups.Count; loop12++) { _CellLookups[loop12] = new NavCellLookup(); _CellLookups[loop12].Parse(buffer); } BorderDataCount = buffer.ReadInt(32); serBorderData = new SerializeData(); serBorderData.Parse(buffer); //still checking variablearrays this.BorderData = new List<NavCellBorderData>( buffer.ReadInt(0) ); for(int loop12 = 0; loop12 < _BorderData.Count; loop12++) { _BorderData[loop12] = new NavCellBorderData(); _BorderData[loop12].Parse(buffer); } }
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); } }