private void ExportAllUsedShapes() { // Reading Palette FDPalette palette = new FDPalette(@".\color"); ShapeDataFile shapeData = new ShapeDataFile(@".\FDSHAP.DAT"); shapeData.LoadData(); FieldDataFile fieldData = new FieldDataFile(@".\FDFIELD.DAT"); fieldData.LoadData(); for (int m = 0; m < 33; m++) { FieldMap map = fieldData.GetField(m); HashSet <int> shapes = map.GetAllShapeIndexes(); ShapePanel panel = shapeData.GetPanel(m); string outputFolder = string.Format(@"D:\GitRoot\toneyisnow\windingtale\Resources\Original\Shapes\ShapePanel{0}\Used", m); if (!Directory.Exists(outputFolder)) { Directory.CreateDirectory(outputFolder); } foreach (int shape in shapes) { var shapeInfo = panel.Shapes[shape]; ImageDataExporter exporter = new ImageDataExporter(shapeInfo.Image.GenerateBitmap(palette)); exporter.ExportToPng(Path.Combine(outputFolder, string.Format(@"Shape_{0}_{1}.png", m, shape))); } } }
public FieldMapExporter(FieldMap map, ShapePanel shapePanel, FDPalette palette) { this.fieldMap = map; this.shapePanel = shapePanel; this.palette = palette; this.canvasWidth = (map.Width + 2) * unitWidth; this.canvasHeight = (map.Height + 2) * unitHeight; }
private void button2_Click(object sender, EventArgs e) { // Reading Palette FDPalette palette = new FDPalette(@".\color"); ShapeDataFile shapeData = new ShapeDataFile(@".\FDSHAP.DAT"); shapeData.LoadData(); ImageDataExporter exporter = new ImageDataExporter(shapeData.GetPanel(1).Shapes[100].Image.GenerateBitmap(palette)); exporter.ExportToPng(@"D:\Temp\FDII\Shape_1_100.png"); }
private void button1_Click(object sender, EventArgs e) { // Reading Palette FDPalette palette = new FDPalette(@".\color"); FigDataFile figData = new FigDataFile(@".\FIGANI.DAT"); figData.LoadData(); ImageDataExporter exporter = new ImageDataExporter(figData.GetAnimation(9).Frames[3].Image.GenerateBitmap(palette)); exporter.ExportToPng(@"D:\Temp\FDII\Fight_9_3.png"); }
private void GenerateAllVoxes() { FDPalette palette = new FDPalette(@".\color"); ShapeDataFile shapeData = new ShapeDataFile(@".\FDSHAP.DAT"); shapeData.LoadData(); FieldDataFile fieldData = new FieldDataFile(@".\FDFIELD.DAT"); fieldData.LoadData(); byte[] header = File.ReadAllBytes(@".\vox_header.dat"); byte[] footer = File.ReadAllBytes(@".\vox_footer.dat"); var paletteMapping = LoadVoxPaletteMapping(); // For each map, generate the vox files for (int m = 1; m < 2; m++) { FieldMap map = fieldData.GetField(m); HashSet <int> shapes = map.GetAllShapeIndexes(); ShapePanel panel = shapeData.GetPanel(m); string outputFolder = string.Format(@"D:\GitRoot\toneyisnow\windingtale\Resources\Remastered\Shapes\ShapePanel{0}", m); if (!Directory.Exists(outputFolder)) { Directory.CreateDirectory(outputFolder); } //string mappingText = File.ReadAllText(Path.Combine(outputFolder, "shape-mapping-1.json")); //ShapeMapping mapping = JsonConvert.DeserializeObject<ShapeMapping>(mappingText); foreach (int shape in shapes) { //if (mapping.ContainsValue(shape)) { // continue; } var shapeInfo = panel.Shapes[shape]; string outputFileName = string.Format(@"Shape_{0}_{1}.vox", m, shape); GenerateShapeVoxFile(shapeInfo.Image, Path.Combine(outputFolder, outputFileName), header, footer, paletteMapping); } } }
private void ExportDatoData() { // Reading Palette FDPalette palette = new FDPalette(@".\color"); DatoDataFile datoData = new DatoDataFile(@".\DATO.DAT"); datoData.LoadData(); for (int index = 0; index < datoData.DatoImages.Count; index++) { for (int f = 0; f < 4; f++) { FDImage image = datoData.DatoImages[index][f]; ImageDataExporter exporter = new ImageDataExporter(image.GenerateBitmap(palette)); exporter.ExportToPng(string.Format(@"D:\Temp\FDII\Dato_{0}_{1}.png", index, f)); } } }
private void ExportFieldMapData() { // Reading Palette FDPalette palette = new FDPalette(@".\color"); ShapeDataFile shapeData = new ShapeDataFile(@".\FDSHAP.DAT"); shapeData.LoadData(); FieldDataFile fieldData = new FieldDataFile(@".\FDFIELD.DAT"); fieldData.LoadData(); for (int m = 0; m < 33; m++) { FieldMap map = fieldData.GetField(m); HashSet <int> shapes = new HashSet <int>(); for (int i = 0; i < map.Width; i++) { for (int j = 0; j < map.Height; j++) { var shapeIndex = map.GetShapeIndexAt(i, j); shapes.Add(shapeIndex); } } var shapePanel = shapeData.GetPanel(m); foreach (int shapeIndex in shapes) { ShapeInfo shapeInfo = shapePanel.Shapes[shapeIndex]; FieldShape shape = new FieldShape(); shape.Type = shapeInfo.Type; shape.BattleGroundId = shapeInfo.BattleGroundId; map.Shapes[shapeIndex] = shape; } string mapString = JsonConvert.SerializeObject(map, Formatting.Indented); int mm = m + 1; File.WriteAllText(string.Format(@"D:\Temp\FDII\Chapter_{0}.txt", (mm < 10 ? "0" + mm.ToString() : mm.ToString())), mapString); } }