private void LoadPattern(DesignPatternPRO dp) { const int w = DesignPatternPRO.Width * scale; const int h = DesignPatternPRO.Height * scale; PB_Sheet0.Image = ImageUtil.ResizeImage(dp.GetImage(0), w, h); PB_Sheet1.Image = ImageUtil.ResizeImage(dp.GetImage(1), w, h); PB_Sheet2.Image = ImageUtil.ResizeImage(dp.GetImage(2), w, h); PB_Sheet3.Image = ImageUtil.ResizeImage(dp.GetImage(3), w, h); PB_Palette.Image = ImageUtil.ResizeImage(dp.GetPalette(), 150, 10); L_PatternName.Text = dp.DesignName + Environment.NewLine + dp.TownName + Environment.NewLine + dp.PlayerName; }
private void B_LoadDesign_Click(object sender, EventArgs e) { var original = Patterns[Index]; var name = original.DesignName; using var ofd = new OpenFileDialog { Filter = "New Horizons PRO Design (*.nhpd)|*.nhpd|All files (*.*)|*.*", FileName = $"{name}.nhd", }; if (ofd.ShowDialog() != DialogResult.OK) { return; } var file = ofd.FileName; var expectLength = original.Data.Length; var fi = new FileInfo(file); if (fi.Length != expectLength) { var msg = string.Format(MessageStrings.MsgDataSizeMismatchImport, fi.Length, expectLength); WinFormsUtil.Error(MessageStrings.MsgCanceling, msg); return; } var data = File.ReadAllBytes(ofd.FileName); var d = new DesignPatternPRO(data); var player0 = original; if (!d.IsOriginatedFrom(player0)) { var notHost = string.Format(MessageStrings.MsgDataDidNotOriginateFromHost_0, player0.PlayerName); var result = WinFormsUtil.Prompt(MessageBoxButtons.YesNoCancel, notHost, MessageStrings.MsgAskUpdateValues); if (result == DialogResult.Cancel) { return; } if (result == DialogResult.Yes) { d.ChangeOrigins(player0, d.Data); } } Patterns[Index] = d; LoadPattern(d); }
private static string GetPatternSummary(DesignPatternPRO p) => p.DesignName;
public static Bitmap GetPalette(this DesignPatternPRO bg) { return(GetBitmap(bg.GetPaletteBitmap(), DesignPatternPRO.PaletteColorCount, 1, PixelFormat.Format24bppRgb)); }
public static Bitmap GetImage(this DesignPatternPRO bg, int sheet) { return(GetBitmap(bg.GetBitmap(sheet), DesignPatternPRO.Width, DesignPatternPRO.Height)); }