private void ReadHiResPack(string pPath, int chrPages) { if (Directory.Exists(pPath)) { if (File.Exists(pPath + Path.DirectorySeparatorChar.ToString(CultureInfo.InvariantCulture) + "hires.txt")) { _packData = new int[chrPages*8][]; for (var i = 0; i < chrPages*8; i++) { _packData[i] = new int[1024]; for (var j = 0; j < 1024; j++) { _packData[i][j] = -1; } } _bitmaps = new List<Bitmap>(); _tileDatas = new List<TileData>(); using(var reader = new StreamReader(pPath + Path.DirectorySeparatorChar.ToString(CultureInfo.InvariantCulture) + "hires.txt")) { while (!reader.EndOfStream) { var line = reader.ReadLine(); if (line != null && line.StartsWith("<img>")) { _bitmaps.Add( new Bitmap(pPath + Path.DirectorySeparatorChar.ToString(CultureInfo.InvariantCulture) + line.Substring(5))); } else if (line != null && line.StartsWith("<tile>")) { var d = line.Substring(6).Split(','); if (d.Count() == 9) { if (_packData[int.Parse(d[0])][int.Parse(d[1])] == -1) { _packData[int.Parse(d[0])][int.Parse(d[1])] = _tileDatas.Count; _tileDatas.Add(new TileData()); _tileDatas.Last().BitmapP = new List<BitmapF>(); _tileDatas.Last().DefaultId = -1; } var b = new BitmapF { BitmapId = int.Parse(d[2]), Color1 = int.Parse(d[3]), Color2 = int.Parse(d[4]), Color3 = int.Parse(d[5]), X = int.Parse(d[6]), Y = int.Parse(d[7]) }; if (d[8] == "Y") _tileDatas[_packData[int.Parse(d[0])][int.Parse(d[1])]].DefaultId = _tileDatas[_packData[int.Parse(d[0])][int.Parse(d[1])]].BitmapP.Count(); _tileDatas[_packData[int.Parse(d[0])][int.Parse(d[1])]].BitmapP.Add(b); } } } } if (chrPages > 0) { _hasHiResPack = true; } } } }
private void ReadHiResPack(string pPath, int chrPages) { if (Directory.Exists(pPath)) { if (File.Exists(pPath + Path.DirectorySeparatorChar.ToString(CultureInfo.InvariantCulture) + "hires.txt")) { _packData = new int[chrPages * 8][]; for (var i = 0; i < chrPages * 8; i++) { _packData[i] = new int[1024]; for (var j = 0; j < 1024; j++) { _packData[i][j] = -1; } } _bitmaps = new List <Bitmap>(); _tileDatas = new List <TileData>(); using (var reader = new StreamReader(pPath + Path.DirectorySeparatorChar.ToString(CultureInfo.InvariantCulture) + "hires.txt")) { while (!reader.EndOfStream) { var line = reader.ReadLine(); if (line != null && line.StartsWith("<img>")) { _bitmaps.Add( new Bitmap(pPath + Path.DirectorySeparatorChar.ToString(CultureInfo.InvariantCulture) + line.Substring(5))); } else if (line != null && line.StartsWith("<tile>")) { var d = line.Substring(6).Split(','); if (d.Count() == 9) { if (_packData[int.Parse(d[0])][int.Parse(d[1])] == -1) { _packData[int.Parse(d[0])][int.Parse(d[1])] = _tileDatas.Count; _tileDatas.Add(new TileData()); _tileDatas.Last().BitmapP = new List <BitmapF>(); _tileDatas.Last().DefaultId = -1; } var b = new BitmapF { BitmapId = int.Parse(d[2]), Color1 = int.Parse(d[3]), Color2 = int.Parse(d[4]), Color3 = int.Parse(d[5]), X = int.Parse(d[6]), Y = int.Parse(d[7]) }; if (d[8] == "Y") { _tileDatas[_packData[int.Parse(d[0])][int.Parse(d[1])]].DefaultId = _tileDatas[_packData[int.Parse(d[0])][int.Parse(d[1])]].BitmapP.Count(); } _tileDatas[_packData[int.Parse(d[0])][int.Parse(d[1])]].BitmapP.Add(b); } } } } if (chrPages > 0) { _hasHiResPack = true; } } } }