From 7e88a06ddc83133ca93d17b6a095512e0cd13fa7 Mon Sep 17 00:00:00 2001 From: MattN-L Date: Thu, 14 Mar 2024 23:56:20 -0400 Subject: [PATCH] Updated TextureAtlasEditor -Added support for Explosion atlas -Added variants for spawn eggs --- .../Editor/TextureAtlasEditor.Designer.cs | 153 ++++---- PCK-Studio/Forms/Editor/TextureAtlasEditor.cs | 3 +- PCK-Studio/Internal/Json/Tiles.cs | 113 ++---- PCK-Studio/MainForm.cs | 3 +- PCK-Studio/PckStudio.csproj | 1 + PCK-Studio/Properties/Resources.Designer.cs | 10 + PCK-Studio/Properties/Resources.resx | 3 + PCK-Studio/Resources/atlases/explosion.png | Bin 0 -> 1614 bytes PCK-Studio/Resources/atlases/tileData.json | 326 +++++++++++++++++- 9 files changed, 444 insertions(+), 168 deletions(-) create mode 100644 PCK-Studio/Resources/atlases/explosion.png diff --git a/PCK-Studio/Forms/Editor/TextureAtlasEditor.Designer.cs b/PCK-Studio/Forms/Editor/TextureAtlasEditor.Designer.cs index 4476b332..d26bce6c 100644 --- a/PCK-Studio/Forms/Editor/TextureAtlasEditor.Designer.cs +++ b/PCK-Studio/Forms/Editor/TextureAtlasEditor.Designer.cs @@ -37,17 +37,17 @@ this.applyColorMaskToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.playAnimationsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); - this.variantComboBox = new MetroFramework.Controls.MetroComboBox(); - this.colorSliderLabel = new MetroFramework.Controls.MetroLabel(); + this.originalPictureBox = new PckStudio.ToolboxItems.InterpolationPictureBox(); + this.selectTilePictureBox = new PckStudio.ToolboxItems.AnimationPictureBox(); this.replaceButton = new MetroFramework.Controls.MetroButton(); this.tileNameLabel = new MetroFramework.Controls.MetroLabel(); this.setColorButton = new MetroFramework.Controls.MetroButton(); this.animationButton = new MetroFramework.Controls.MetroButton(); this.clearColorButton = new MetroFramework.Controls.MetroButton(); - this.colorSlider = new MetroFramework.Controls.MetroTrackBar(); this.extractButton = new MetroFramework.Controls.MetroButton(); - this.originalPictureBox = new PckStudio.ToolboxItems.InterpolationPictureBox(); - this.selectTilePictureBox = new PckStudio.ToolboxItems.AnimationPictureBox(); + this.colorSlider = new MetroFramework.Controls.MetroTrackBar(); + this.colorSliderLabel = new MetroFramework.Controls.MetroLabel(); + this.variantComboBox = new MetroFramework.Controls.MetroComboBox(); this.menuStrip1.SuspendLayout(); this.tableLayoutPanel1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.originalPictureBox)).BeginInit(); @@ -92,7 +92,7 @@ // saveToolStripMenuItem // this.saveToolStripMenuItem.Name = "saveToolStripMenuItem"; - this.saveToolStripMenuItem.Size = new System.Drawing.Size(180, 22); + this.saveToolStripMenuItem.Size = new System.Drawing.Size(98, 22); this.saveToolStripMenuItem.Text = "Save"; this.saveToolStripMenuItem.Click += new System.EventHandler(this.saveToolStripMenuItem_Click); // @@ -112,7 +112,7 @@ this.applyColorMaskToolStripMenuItem.CheckOnClick = true; this.applyColorMaskToolStripMenuItem.CheckState = System.Windows.Forms.CheckState.Checked; this.applyColorMaskToolStripMenuItem.Name = "applyColorMaskToolStripMenuItem"; - this.applyColorMaskToolStripMenuItem.Size = new System.Drawing.Size(180, 22); + this.applyColorMaskToolStripMenuItem.Size = new System.Drawing.Size(168, 22); this.applyColorMaskToolStripMenuItem.Text = "Apply Color Mask"; this.applyColorMaskToolStripMenuItem.CheckedChanged += new System.EventHandler(this.applyColorMaskToolStripMenuItem_CheckedChanged); // @@ -122,7 +122,7 @@ this.playAnimationsToolStripMenuItem.CheckOnClick = true; this.playAnimationsToolStripMenuItem.CheckState = System.Windows.Forms.CheckState.Checked; this.playAnimationsToolStripMenuItem.Name = "playAnimationsToolStripMenuItem"; - this.playAnimationsToolStripMenuItem.Size = new System.Drawing.Size(180, 22); + this.playAnimationsToolStripMenuItem.Size = new System.Drawing.Size(168, 22); this.playAnimationsToolStripMenuItem.Text = "Play Animations"; this.playAnimationsToolStripMenuItem.CheckedChanged += new System.EventHandler(this.playAnimationsToolStripMenuItem_CheckedChanged); // @@ -159,39 +159,42 @@ this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 4.833951F)); this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 4.835886F)); this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 4.835886F)); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F)); this.tableLayoutPanel1.Size = new System.Drawing.Size(590, 565); this.tableLayoutPanel1.TabIndex = 17; // - // variantComboBox + // originalPictureBox // - this.variantComboBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); - this.tableLayoutPanel1.SetColumnSpan(this.variantComboBox, 2); - this.variantComboBox.Enabled = false; - this.variantComboBox.FormattingEnabled = true; - this.variantComboBox.ItemHeight = 23; - this.variantComboBox.Location = new System.Drawing.Point(3, 291); - this.variantComboBox.Name = "variantComboBox"; - this.variantComboBox.Size = new System.Drawing.Size(208, 29); - this.variantComboBox.TabIndex = 17; - this.variantComboBox.Theme = MetroFramework.MetroThemeStyle.Dark; - this.variantComboBox.UseSelectable = true; - this.variantComboBox.SelectedIndexChanged += new System.EventHandler(this.variantComboBox_SelectedIndexChanged); + this.originalPictureBox.BackColor = System.Drawing.Color.Transparent; + this.originalPictureBox.Dock = System.Windows.Forms.DockStyle.Fill; + this.originalPictureBox.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.NearestNeighbor; + this.originalPictureBox.Location = new System.Drawing.Point(217, 3); + this.originalPictureBox.Name = "originalPictureBox"; + this.tableLayoutPanel1.SetRowSpan(this.originalPictureBox, 9); + this.originalPictureBox.Size = new System.Drawing.Size(370, 536); + this.originalPictureBox.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom; + this.originalPictureBox.TabIndex = 4; + this.originalPictureBox.TabStop = false; + this.originalPictureBox.MouseClick += new System.Windows.Forms.MouseEventHandler(this.originalPictureBox_MouseClick); // - // colorSliderLabel + // selectTilePictureBox // - this.colorSliderLabel.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + this.selectTilePictureBox.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); - this.colorSliderLabel.BackColor = System.Drawing.Color.Transparent; - this.colorSliderLabel.Location = new System.Drawing.Point(3, 350); - this.colorSliderLabel.Name = "colorSliderLabel"; - this.colorSliderLabel.Size = new System.Drawing.Size(55, 88); - this.colorSliderLabel.TabIndex = 19; - this.colorSliderLabel.Text = "Color Range:"; - this.colorSliderLabel.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; - this.colorSliderLabel.Theme = MetroFramework.MetroThemeStyle.Dark; - this.colorSliderLabel.Visible = false; - this.colorSliderLabel.WrapToLine = true; + this.selectTilePictureBox.BackColor = System.Drawing.Color.Transparent; + this.selectTilePictureBox.BlendColor = System.Drawing.Color.White; + this.selectTilePictureBox.BlendMode = PckStudio.Extensions.BlendMode.Multiply; + this.tableLayoutPanel1.SetColumnSpan(this.selectTilePictureBox, 2); + this.selectTilePictureBox.Image = null; + this.selectTilePictureBox.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.NearestNeighbor; + this.selectTilePictureBox.Location = new System.Drawing.Point(3, 3); + this.selectTilePictureBox.Name = "selectTilePictureBox"; + this.selectTilePictureBox.Size = new System.Drawing.Size(208, 204); + this.selectTilePictureBox.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom; + this.selectTilePictureBox.TabIndex = 0; + this.selectTilePictureBox.TabStop = false; + this.selectTilePictureBox.UseBlendColor = true; // // replaceButton // @@ -212,7 +215,6 @@ // this.tileNameLabel.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); - this.tileNameLabel.AutoSize = true; this.tableLayoutPanel1.SetColumnSpan(this.tileNameLabel, 2); this.tileNameLabel.Location = new System.Drawing.Point(3, 217); this.tileNameLabel.Name = "tileNameLabel"; @@ -221,7 +223,6 @@ this.tileNameLabel.Text = "TileName"; this.tileNameLabel.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; this.tileNameLabel.Theme = MetroFramework.MetroThemeStyle.Dark; - this.tileNameLabel.WrapToLine = true; // // setColorButton // @@ -267,21 +268,6 @@ this.clearColorButton.UseSelectable = true; this.clearColorButton.Click += new System.EventHandler(this.clearColorButton_Click); // - // colorSlider - // - this.colorSlider.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom))); - this.colorSlider.BackColor = System.Drawing.Color.Transparent; - this.colorSlider.Location = new System.Drawing.Point(64, 353); - this.colorSlider.Maximum = 255; - this.colorSlider.Name = "colorSlider"; - this.colorSlider.Size = new System.Drawing.Size(147, 82); - this.colorSlider.TabIndex = 26; - this.colorSlider.Text = "metroTrackBar1"; - this.colorSlider.Theme = MetroFramework.MetroThemeStyle.Dark; - this.colorSlider.Value = 0; - this.colorSlider.Visible = false; - this.colorSlider.ValueChanged += new System.EventHandler(this.colorSlider_ValueChanged); - // // extractButton // this.extractButton.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) @@ -297,38 +283,51 @@ this.extractButton.UseSelectable = true; this.extractButton.Click += new System.EventHandler(this.extractTileToolStripMenuItem_Click); // - // originalPictureBox + // colorSlider // - this.originalPictureBox.BackColor = System.Drawing.Color.Transparent; - this.originalPictureBox.Dock = System.Windows.Forms.DockStyle.Fill; - this.originalPictureBox.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.NearestNeighbor; - this.originalPictureBox.Location = new System.Drawing.Point(217, 3); - this.originalPictureBox.Name = "originalPictureBox"; - this.tableLayoutPanel1.SetRowSpan(this.originalPictureBox, 9); - this.originalPictureBox.Size = new System.Drawing.Size(370, 536); - this.originalPictureBox.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom; - this.originalPictureBox.TabIndex = 4; - this.originalPictureBox.TabStop = false; - this.originalPictureBox.MouseClick += new System.Windows.Forms.MouseEventHandler(this.originalPictureBox_MouseClick); + this.colorSlider.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom))); + this.colorSlider.BackColor = System.Drawing.Color.Transparent; + this.colorSlider.Location = new System.Drawing.Point(64, 353); + this.colorSlider.Maximum = 255; + this.colorSlider.Name = "colorSlider"; + this.colorSlider.Size = new System.Drawing.Size(147, 82); + this.colorSlider.TabIndex = 26; + this.colorSlider.Text = "metroTrackBar1"; + this.colorSlider.Theme = MetroFramework.MetroThemeStyle.Dark; + this.colorSlider.Value = 0; + this.colorSlider.Visible = false; + this.colorSlider.ValueChanged += new System.EventHandler(this.colorSlider_ValueChanged); // - // selectTilePictureBox + // colorSliderLabel // - this.selectTilePictureBox.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + this.colorSliderLabel.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); - this.selectTilePictureBox.BackColor = System.Drawing.Color.Transparent; - this.selectTilePictureBox.BlendColor = System.Drawing.Color.White; - this.selectTilePictureBox.BlendMode = PckStudio.Extensions.BlendMode.Multiply; - this.tableLayoutPanel1.SetColumnSpan(this.selectTilePictureBox, 2); - this.selectTilePictureBox.Image = null; - this.selectTilePictureBox.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.NearestNeighbor; - this.selectTilePictureBox.Location = new System.Drawing.Point(3, 3); - this.selectTilePictureBox.Name = "selectTilePictureBox"; - this.selectTilePictureBox.Size = new System.Drawing.Size(208, 204); - this.selectTilePictureBox.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom; - this.selectTilePictureBox.TabIndex = 0; - this.selectTilePictureBox.TabStop = false; - this.selectTilePictureBox.UseBlendColor = true; + this.colorSliderLabel.BackColor = System.Drawing.Color.Transparent; + this.colorSliderLabel.Location = new System.Drawing.Point(3, 350); + this.colorSliderLabel.Name = "colorSliderLabel"; + this.colorSliderLabel.Size = new System.Drawing.Size(55, 88); + this.colorSliderLabel.TabIndex = 19; + this.colorSliderLabel.Text = "Color Range:"; + this.colorSliderLabel.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + this.colorSliderLabel.Theme = MetroFramework.MetroThemeStyle.Dark; + this.colorSliderLabel.Visible = false; + this.colorSliderLabel.WrapToLine = true; + // + // variantComboBox + // + this.variantComboBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); + this.tableLayoutPanel1.SetColumnSpan(this.variantComboBox, 2); + this.variantComboBox.Enabled = false; + this.variantComboBox.FormattingEnabled = true; + this.variantComboBox.ItemHeight = 23; + this.variantComboBox.Location = new System.Drawing.Point(3, 291); + this.variantComboBox.Name = "variantComboBox"; + this.variantComboBox.Size = new System.Drawing.Size(208, 29); + this.variantComboBox.TabIndex = 17; + this.variantComboBox.Theme = MetroFramework.MetroThemeStyle.Dark; + this.variantComboBox.UseSelectable = true; + this.variantComboBox.SelectedIndexChanged += new System.EventHandler(this.variantComboBox_SelectedIndexChanged); // // TextureAtlasEditor // diff --git a/PCK-Studio/Forms/Editor/TextureAtlasEditor.cs b/PCK-Studio/Forms/Editor/TextureAtlasEditor.cs index 6d64dd4b..d42d8e05 100644 --- a/PCK-Studio/Forms/Editor/TextureAtlasEditor.cs +++ b/PCK-Studio/Forms/Editor/TextureAtlasEditor.cs @@ -86,7 +86,7 @@ namespace PckStudio.Forms.Editor { value = value - _tiles.Count; } - SetImageDisplayed(value); + SetImageDisplayed(value); } } @@ -112,6 +112,7 @@ namespace PckStudio.Forms.Editor "additionalmapicons" => (Tiles.AdditionalMapIconTileInfos, "additional_map_icons"), "moon_phases" => (Tiles.MoonPhaseTileInfos, "moon_phases"), "xporb" => (Tiles.ExperienceOrbTileInfos, "experience_orbs"), + "explosion" => (Tiles.ExplosionTileInfos, "explosion"), _ => (null, null), }; diff --git a/PCK-Studio/Internal/Json/Tiles.cs b/PCK-Studio/Internal/Json/Tiles.cs index 68691564..9e5fe004 100644 --- a/PCK-Studio/Internal/Json/Tiles.cs +++ b/PCK-Studio/Internal/Json/Tiles.cs @@ -30,6 +30,9 @@ namespace PckStudio.Internal.Json [JsonProperty("experience_orbs")] public List ExperienceOrbs { get; set; } + + [JsonProperty("explosion")] + public List Explosion { get; set; } } internal static class Tiles @@ -44,6 +47,7 @@ namespace PckStudio.Internal.Json internal static List MapIconTileInfos => JsonTileData.MapIcons; internal static List AdditionalMapIconTileInfos => JsonTileData.AdditionalMapIcons; internal static List ExperienceOrbTileInfos => JsonTileData.ExperienceOrbs; + internal static List ExplosionTileInfos => JsonTileData.Explosion; private static Image[] _itemImages; public static Image[] ItemImages => _itemImages ??= Resources.items_sheet.SplitHorizontal(16).ToArray(); @@ -61,96 +65,39 @@ namespace PckStudio.Internal.Json public static Image[] AdditionalMapIconImages => _additionalMapIconImages ??= Resources.additional_map_icons_sheet.SplitHorizontal(4).ToArray(); private static Image[] _experienceOrbIconImages; - public static Image[] ExperienceOrbIconImages => _experienceOrbIconImages ??= Resources.experience_orbs_sheet.SplitHorizontal(4).ToArray(); + public static Image[] ExperienceOrbImages => _experienceOrbIconImages ??= Resources.experience_orbs_sheet.SplitHorizontal(4).ToArray(); - private static ImageList _itemImageList; - public static ImageList ItemImageList + private static Image[] _explosionImages; + public static Image[] ExplosionImages => _explosionImages ??= Resources.explosion_sheet.SplitHorizontal(4).ToArray(); + + private static ImageList GetImageList(Image[] images) { - get - { - if (_itemImageList is null) - { - _itemImageList = new ImageList(); - _itemImageList.ColorDepth = ColorDepth.Depth32Bit; - _itemImageList.Images.AddRange(ItemImages); - } - return _itemImageList; - } + ImageList _imageList = new ImageList(); + _imageList.ColorDepth = ColorDepth.Depth32Bit; + _imageList.Images.AddRange(images); + + return _imageList; } - private static ImageList _blockImageList; - public static ImageList BlockImageList - { - get - { - if (_blockImageList is null) - { - _blockImageList = new ImageList(); - _blockImageList.ColorDepth = ColorDepth.Depth32Bit; - _blockImageList.Images.AddRange(BlockImages); - } - return _blockImageList; - } - } + private static ImageList _itemImageList = GetImageList(ItemImages); + public static ImageList ItemImageList { get { return _itemImageList; } } - private static ImageList _moonPhaseImageList; - public static ImageList MoonPhaseImageList - { - get - { - if (_moonPhaseImageList is null) - { - _moonPhaseImageList = new ImageList(); - _moonPhaseImageList.ColorDepth = ColorDepth.Depth32Bit; - _moonPhaseImageList.Images.AddRange(MoonPhaseImages); - } - return _moonPhaseImageList; - } - } + private static ImageList _blockImageList = GetImageList(BlockImages); + public static ImageList BlockImageList { get { return _blockImageList; } } - private static ImageList _mapIconImageList; - public static ImageList MapIconImageList - { - get - { - if (_mapIconImageList is null) - { - _mapIconImageList = new ImageList(); - _mapIconImageList.ColorDepth = ColorDepth.Depth32Bit; - _mapIconImageList.Images.AddRange(MapIconImages); - } - return _mapIconImageList; - } - } + private static ImageList _moonPhaseImageList = GetImageList(MoonPhaseImages); + public static ImageList MoonPhaseImageList { get { return _moonPhaseImageList; } } - private static ImageList _additionalMapIconImageList; - public static ImageList AdditionalMapIconImageList - { - get - { - if (_additionalMapIconImageList is null) - { - _additionalMapIconImageList = new ImageList(); - _additionalMapIconImageList.ColorDepth = ColorDepth.Depth32Bit; - _additionalMapIconImageList.Images.AddRange(AdditionalMapIconImages); - } - return _additionalMapIconImageList; - } - } + private static ImageList _mapIconImageList = GetImageList(MapIconImages); + public static ImageList MapIconImageList { get { return _mapIconImageList; } } - private static ImageList _experienceOrbsImageList; - public static ImageList ExperienceOrbsImageList - { - get - { - if (_experienceOrbsImageList is null) - { - _experienceOrbsImageList = new ImageList(); - _experienceOrbsImageList.ColorDepth = ColorDepth.Depth32Bit; - _experienceOrbsImageList.Images.AddRange(ExperienceOrbIconImages); - } - return _experienceOrbsImageList; - } - } + private static ImageList _additionalMapIconImageList = GetImageList(AdditionalMapIconImages); + public static ImageList AdditionalMapIconImageList { get { return _additionalMapIconImageList; } } + + private static ImageList _experienceOrbsImageList = GetImageList(ExperienceOrbImages); + public static ImageList ExperienceOrbsImageList { get { return _experienceOrbsImageList; } } + + private static ImageList _explosionImageList = GetImageList(ExplosionImages); + public static ImageList ExplosionImageList { get { return _explosionImageList; } } } } diff --git a/PCK-Studio/MainForm.cs b/PCK-Studio/MainForm.cs index 9439a115..a3673ffc 100644 --- a/PCK-Studio/MainForm.cs +++ b/PCK-Studio/MainForm.cs @@ -380,8 +380,9 @@ namespace PckStudio bool isMapIcons = file.Filename == "res/misc/mapicons.png"; bool isAdditionalMapIcons = file.Filename == "res/misc/additionalmapicons.png"; bool isXPOrbs = file.Filename == "res/item/xporb.png"; + bool isExplosion = file.Filename == "res/misc/explosion.png"; - if (isTerrainOrItems || isMoonPhases || isMapIcons || isAdditionalMapIcons || isXPOrbs) + if (isTerrainOrItems || isMoonPhases || isMapIcons || isAdditionalMapIcons || isXPOrbs || isExplosion) { var img = file.GetTexture(); diff --git a/PCK-Studio/PckStudio.csproj b/PCK-Studio/PckStudio.csproj index 35eeeb95..0e36110f 100644 --- a/PCK-Studio/PckStudio.csproj +++ b/PCK-Studio/PckStudio.csproj @@ -681,6 +681,7 @@ + diff --git a/PCK-Studio/Properties/Resources.Designer.cs b/PCK-Studio/Properties/Resources.Designer.cs index 9a8e5b0d..86389b38 100644 --- a/PCK-Studio/Properties/Resources.Designer.cs +++ b/PCK-Studio/Properties/Resources.Designer.cs @@ -304,6 +304,16 @@ namespace PckStudio.Properties { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap explosion_sheet { + get { + object obj = ResourceManager.GetObject("explosion_sheet", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// diff --git a/PCK-Studio/Properties/Resources.resx b/PCK-Studio/Properties/Resources.resx index 9c8afa9a..3d40571f 100644 --- a/PCK-Studio/Properties/Resources.resx +++ b/PCK-Studio/Properties/Resources.resx @@ -340,4 +340,7 @@ ..\Resources\atlases\experience_orbs.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\atlases\explosion.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + \ No newline at end of file diff --git a/PCK-Studio/Resources/atlases/explosion.png b/PCK-Studio/Resources/atlases/explosion.png new file mode 100644 index 0000000000000000000000000000000000000000..242d91154e21c2cf20caffd72a90b103627e0427 GIT binary patch literal 1614 zcmb7^e>l?#9LK+#h56N_`LSxuk2__YgcRB)zm=9B3oBZF9*MH8h4`A29W&${I!WE7 zT}({Q`E|y6*cl;O`B5yYm9Z6%bdl5jea}75Jf4(RBdueN+Gynk5 z_VIQP*mUrV)Kxd9@DN43X|PzrQ33!o7HY0hwruY3Wbe=v0MP0AA_&sb7u*a{RF4p9 zU{VbABIQCfK%{(oj%wrY5oAK&XX9YA*VcCV!c73!((mI=2x5dUR7#nXCR*8w^@vn* zOG23+#IN^(|H!&^_luHb?}>$Zzf4mT=zrh=Upu&tEdAKZ=W97V8GKZ{cvjN0PrD%= zhwFM!iB&=8&u9I9M*1V%$|0or8%`4VOF3dZhS<_chNo*$%CD$Wx4P<9d+@~Zhun_m-n;?tRnHTeb zk#J7~^xE3=JX{cS5ZwQr2H3aI>!1sXs}PBn;)sA@Pj(}Em2f*^lwofP5NsGTYNaH= zMd_;6SxiA|--aqf04q_GY&@Hzb2G85rvrZ&K~kof-mix?I04>YvmB=I z7kSHgtwb}D44>fDk?Hg{cD`Q5v|{)VwvvHPOgXbI{}YU^SgJt$VV(8nTMor5Y@OOK63^RiOgt5 zq#rR5ZJs1Or@C`+>J;E$3>iZ8b8t4D{g-A|PT?WSsoy_G1RelhsV=$rhQ0=xWYU>j zPGV@(8^iH~fgfBHJm+GlZObQe(wxhY*TGI3e(fo#))+~B&45 z+Ev4L9SCh)FT+4Qb&>b!#bZ>=eB&wDfew$ow^Rhbh<^&dZ=K3MZ_Sw1v7gI9&E%j< z-?J9?>8-H}K)z>RPO9DLiw?Kp9M6i4u|FjRwz#`=d(C?nrB8N)46IO^;P%=8TQZX@ z-YBTV-VxVsYhV(CTd3dvQ>t`F$gV?&CLOV0>~Ke?(jQtbM5acf`j2N22khH5|OK=)G5i4!em<3jj`XHe;~mH@9^b`ZuHAT zo>gr%zUtH+<@}M%Mrieh#?=e9zIN=hNhD3roOgY-`diU(u}rLX~DJ zK29sCuFpOh1*)dgK-k-0DDmCStEc;F=b{y++rbZB0*z_nAJ7Inxa-mh$=QXwdoWXr ziBU*p{6=p+7wH_(zR_tAjZ?)T9o9Ko1mx0?_5M-t{V|i{Y9+-Vi!q1&hl7&{td-!% zE9e0^LcDrhitOe-%DG#K<2-BFVMFgTsrmWl#BCMc#JHrxHbN3a?XXB*(S?s>#j#K+ zwbwJl?V%+`LVWaAKdz3aQ2vzsQ|3t*jj~Q!2pBuh$MBb{Z+NBP=T~~W6Q}n)K%E)P zO@An1Un%TqqM9ZYptGymWo<_J&GDW)jA_olNL5cZ46Fi)n7|N<`fj^&^Y#qC3HF;V Z$m;k?%+b7l&&}Tt_;~oc*Sno&{tX%$*XaNN literal 0 HcmV?d00001 diff --git a/PCK-Studio/Resources/atlases/tileData.json b/PCK-Studio/Resources/atlases/tileData.json index 3c4137b4..682363a3 100644 --- a/PCK-Studio/Resources/atlases/tileData.json +++ b/PCK-Studio/Resources/atlases/tileData.json @@ -3590,7 +3590,64 @@ }, { "internalName": "monsterPlacer", - "displayName": "Spawn Egg" + "displayName": "Spawn Egg", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Mob_Creeper_Colour1", + "variants": [ + "Mob_Creeper_Colour1", + "Mob_Skeleton_Colour1", + "Mob_Spider_Colour1", + "Mob_Zombie_Colour1", + "Mob_Slime_Colour1", + "Mob_Ghast_Colour1", + "Mob_PigZombie_Colour1", + "Mob_Enderman_Colour1", + "Mob_CaveSpider_Colour1", + "Mob_Silverfish_Colour1", + "Mob_Blaze_Colour1", + "Mob_LavaSlime_Colour1", + "Mob_Pig_Colour1", + "Mob_Sheep_Colour1", + "Mob_Cow_Colour1", + "Mob_Chicken_Colour1", + "Mob_Squid_Colour1", + "Mob_Wolf_Colour1", + "Mob_MushroomCow_Colour1", + "Mob_Ocelot_Colour1", + "Mob_Villager_Colour1", + "Mob_Bat_Colour1", + "Mob_Witch_Colour1", + "Mob_Horse_Colour1", + "Mob_Endermite_Color1", + "Mob_Guardian_Color1", + "Mob_Rabbit_Colour1", + "Mob_PolarBear_Colour1", + "Mob_Shulker_Colour1", + "Mob_Elder_Guardian_Colour1", + "Mob_Evocation_Illager_Colour1", + "Mob_Llama_Colour1", + "Mob_Donkey_Colour1", + "Mob_Skeleton_Horse_Colour1", + "Mob_Zombie_Horse_Colour1", + "Mob_Mule_Colour1", + "Mob_Stray_Colour1", + "Mob_Husk_Colour1", + "Mob_Vex_Colour1", + "Mob_Vindication_Illager_Colour1", + "Mob_Zombie_Villager_Colour1", + "Mob_Parrot_Colour1", + "Mob_Wither_Skeleton_Colour1", + "Mob_Turtle_Colour1", + "Mob_Tropical_Colour1", + "Mob_Cod_Colour1", + "Mob_Pufferfish_Colour1", + "Mob_Salmon_Colour1", + "Mob_Drowned_Colour1", + "Mob_Dolphin_Colour1", + "Mob_Phantom_Colour1" + ] + } }, { "internalName": "potion_splash", @@ -3654,7 +3711,64 @@ }, { "internalName": "monsterPlacer_overlay", - "displayName": "Spawn Egg (Overlay)" + "displayName": "Spawn Egg (Overlay)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Mob_Creeper_Colour2", + "variants": [ + "Mob_Creeper_Colour2", + "Mob_Skeleton_Colour2", + "Mob_Spider_Colour2", + "Mob_Zombie_Colour2", + "Mob_Slime_Colour2", + "Mob_Ghast_Colour2", + "Mob_PigZombie_Colour2", + "Mob_Enderman_Colour2", + "Mob_CaveSpider_Colour2", + "Mob_Silverfish_Colour2", + "Mob_Blaze_Colour2", + "Mob_LavaSlime_Colour2", + "Mob_Pig_Colour2", + "Mob_Sheep_Colour2", + "Mob_Cow_Colour2", + "Mob_Chicken_Colour2", + "Mob_Squid_Colour2", + "Mob_Wolf_Colour2", + "Mob_MushroomCow_Colour2", + "Mob_Ocelot_Colour2", + "Mob_Villager_Colour2", + "Mob_Bat_Colour2", + "Mob_Witch_Colour2", + "Mob_Horse_Colour2", + "Mob_Endermite_Color2", + "Mob_Guardian_Color2", + "Mob_Rabbit_Colour2", + "Mob_PolarBear_Colour2", + "Mob_Shulker_Colour2", + "Mob_Elder_Guardian_Colour2", + "Mob_Evocation_Illager_Colour2", + "Mob_Llama_Colour2", + "Mob_Donkey_Colour2", + "Mob_Skeleton_Horse_Colour2", + "Mob_Zombie_Horse_Colour2", + "Mob_Mule_Colour2", + "Mob_Stray_Colour2", + "Mob_Husk_Colour2", + "Mob_Vex_Colour2", + "Mob_Vindication_Illager_Colour2", + "Mob_Zombie_Villager_Colour2", + "Mob_Parrot_Colour2", + "Mob_Wither_Skeleton_Colour2", + "Mob_Turtle_Colour2", + "Mob_Tropical_Colour2", + "Mob_Cod_Colour2", + "Mob_Pufferfish_Colour2", + "Mob_Salmon_Colour2", + "Mob_Drowned_Colour2", + "Mob_Dolphin_Colour2", + "Mob_Phantom_Colour2" + ] + } }, { "internalName": "bed_overlay", @@ -3812,7 +3926,13 @@ }, { "internalName": "fireworks_charge_overlay", - "displayName": "Firework Star (Overlay)" + "displayName": "Firework Star (Overlay)", + "hasColourEntry": true, + "colourEntry": { + "hasCustomColour": true, + "defaultName": "", + "variants": [""] + } }, { "internalName": "netherquartz", @@ -4214,11 +4334,11 @@ }, { "internalName": "target_point", - "displayName": "Unused" + "displayName": "Target Point (Unused)" }, { "internalName": "player_off_map", - "displayName": "Unused" + "displayName": "Player (Off Map) (Unused)" }, { "internalName": "frame", @@ -4246,7 +4366,7 @@ }, { "internalName": "player_off_limits", - "displayName": "Unused" + "displayName": "Player (Off Limits) (Unused)" }, { "internalName": "mansion", @@ -4443,5 +4563,199 @@ "internalName": "", "displayName": "" } + ], + "explosion": [ + { + "internalName": "explosion_0", + "displayName": "Explosion (Stage 1)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Particle_Explode", + "variants": [ + "Particle_Explode", + "Particle_HugeExplosion" + ] + } + }, + { + "internalName": "explosion_1", + "displayName": "Explosion (Stage 2)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Particle_Explode", + "variants": [ + "Particle_Explode", + "Particle_HugeExplosion" + ] + } + }, + { + "internalName": "explosion_2", + "displayName": "Explosion (Stage 3)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Particle_Explode", + "variants": [ + "Particle_Explode", + "Particle_HugeExplosion" + ] + } + }, + { + "internalName": "explosion_3", + "displayName": "Explosion (Stage 4)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Particle_Explode", + "variants": [ + "Particle_Explode", + "Particle_HugeExplosion" + ] + } + }, + { + "internalName": "explosion_4", + "displayName": "Explosion (Stage 5)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Particle_Explode", + "variants": [ + "Particle_Explode", + "Particle_HugeExplosion" + ] + } + }, + { + "internalName": "explosion_5", + "displayName": "Explosion (Stage 6)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Particle_Explode", + "variants": [ + "Particle_Explode", + "Particle_HugeExplosion" + ] + } + }, + { + "internalName": "explosion_6", + "displayName": "Explosion (Stage 7)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Particle_Explode", + "variants": [ + "Particle_Explode", + "Particle_HugeExplosion" + ] + } + }, + { + "internalName": "explosion_7", + "displayName": "Explosion (Stage 8)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Particle_Explode", + "variants": [ + "Particle_Explode", + "Particle_HugeExplosion" + ] + } + }, + { + "internalName": "explosion_8", + "displayName": "Explosion (Stage 9)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Particle_Explode", + "variants": [ + "Particle_Explode", + "Particle_HugeExplosion" + ] + } + }, + { + "internalName": "explosion_9", + "displayName": "Explosion (Stage 10)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Particle_Explode", + "variants": [ + "Particle_Explode", + "Particle_HugeExplosion" + ] + } + }, + { + "internalName": "explosion_10", + "displayName": "Explosion (Stage 11)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Particle_Explode", + "variants": [ + "Particle_Explode", + "Particle_HugeExplosion" + ] + } + }, + { + "internalName": "explosion_11", + "displayName": "Explosion (Stage 12)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Particle_Explode", + "variants": [ + "Particle_Explode", + "Particle_HugeExplosion" + ] + } + }, + { + "internalName": "explosion_12", + "displayName": "Explosion (Stage 13)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Particle_Explode", + "variants": [ + "Particle_Explode", + "Particle_HugeExplosion" + ] + } + }, + { + "internalName": "explosion_13", + "displayName": "Explosion (Stage 14)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Particle_Explode", + "variants": [ + "Particle_Explode", + "Particle_HugeExplosion" + ] + } + }, + { + "internalName": "explosion_14", + "displayName": "Explosion (Stage 15)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Particle_Explode", + "variants": [ + "Particle_Explode", + "Particle_HugeExplosion" + ] + } + }, + { + "internalName": "explosion_15", + "displayName": "Explosion (Stage 16)", + "hasColourEntry": true, + "colourEntry": { + "defaultName": "Particle_Explode", + "variants": [ + "Particle_Explode", + "Particle_HugeExplosion" + ] + } + } ] }