private bool BuildMCNK(BinaryReader reader) { try { for (int x = 0; x < Constants.TileSize; x++) { for (int y = 0; y < Constants.TileSize; y++) { reader.SetPosition(TilesInformation[x, y].offset); DataChunkHeader.Fill(reader); if (DataChunkHeader.Token != Tokens.MCNK) { throw new Exception($"Invalid token, got [{DataChunkHeader.Token}] expected {"[MCNK]"}"); } Tiles[x, y] = new SMChunk(reader); } } return(true); } catch (Exception ex) { Logger.Error(ex.Message); } return(false); }
private bool ReadMODF() { try { if (this.IsEOF()) { return(false); } DataChunkHeader.Fill(this); if (DataChunkHeader.Token == Tokens.MODF) { MODF = new SMMapObjDef(this); } return(true); } catch (Exception ex) { Logger.Error(ex.Message); } return(false); }