diff --git a/PCK-Studio/Forms/Editor/TextureAtlasEditor.cs b/PCK-Studio/Forms/Editor/TextureAtlasEditor.cs index b2ebaca2..2b1aedf6 100644 --- a/PCK-Studio/Forms/Editor/TextureAtlasEditor.cs +++ b/PCK-Studio/Forms/Editor/TextureAtlasEditor.cs @@ -104,7 +104,9 @@ namespace PckStudio.Forms.Editor { "terrain" => (Tiles.BlockTileInfos, "blocks"), "items" => (Tiles.ItemTileInfos, "items"), - "moon_phases" => (Tiles.MoonPhasesTileInfos, "moon_phases"), + "mapicons" => (Tiles.MapIconTileInfos, "map_icons"), + "additionalmapicons" => (Tiles.AdditionalMapIconTileInfos, "additional_map_icons"), + "moon_phases" => (Tiles.MoonPhaseTileInfos, "moon_phases"), _ => (null, null), }; originalPictureBox.Image = atlas; @@ -152,6 +154,13 @@ namespace PckStudio.Forms.Editor dataTile = _selectedTile; + if (string.IsNullOrEmpty(dataTile.Tile.InternalName)) + { + selectTilePictureBox.Image = dataTile.Texture; + tileNameLabel.Text = "Unused"; + return; + } + if (string.IsNullOrEmpty(dataTile.Tile.DisplayName)) { dataTile = _tiles.Find(t => t.Tile.InternalName == _selectedTile.Tile.InternalName); diff --git a/PCK-Studio/Internal/Json/Tiles.cs b/PCK-Studio/Internal/Json/Tiles.cs index 924e51bc..a7e95c9a 100644 --- a/PCK-Studio/Internal/Json/Tiles.cs +++ b/PCK-Studio/Internal/Json/Tiles.cs @@ -19,6 +19,10 @@ namespace PckStudio.Internal.Json public List Items { get; set; } [JsonProperty("moon_phases")] public List MoonPhases { get; set; } + [JsonProperty("map_icons")] + public List MapIcons { get; set; } + [JsonProperty("additional_map_icons")] + public List AdditionalMapIcons { get; set; } } internal static class Tiles @@ -29,7 +33,9 @@ namespace PckStudio.Internal.Json internal static List ItemTileInfos => JsonTileData.Items; internal static List BlockTileInfos => JsonTileData.Blocks; - internal static List MoonPhasesTileInfos => JsonTileData.MoonPhases; + internal static List MoonPhaseTileInfos => JsonTileData.MoonPhases; + internal static List MapIconTileInfos => JsonTileData.MapIcons; + internal static List AdditionalMapIconTileInfos => JsonTileData.AdditionalMapIcons; private static Image[] _itemImages; public static Image[] ItemImages => _itemImages ??= Resources.items_sheet.SplitHorizontal(16).ToArray(); @@ -37,8 +43,14 @@ namespace PckStudio.Internal.Json private static Image[] _blockImages; public static Image[] BlockImages => _blockImages ??= Resources.terrain_sheet.SplitHorizontal(16).ToArray(); - private static Image[] _moonPhasesImages; - public static Image[] MoonPhasesImages => _moonPhasesImages ??= Resources.moon_phases_sheet.SplitHorizontal(8).ToArray(); + private static Image[] _moonPhaseImages; + public static Image[] MoonPhaseImages => _moonPhaseImages ??= Resources.moon_phases_sheet.SplitHorizontal(4).ToArray(); + + private static Image[] _mapIconImages; + public static Image[] MapIconImages => _mapIconImages ??= Resources.map_icons_sheet.SplitHorizontal(4).ToArray(); + + private static Image[] _additionalMapIconImages; + public static Image[] AdditionalMapIconImages => _mapIconImages ??= Resources.additional_map_icons_sheet.SplitHorizontal(4).ToArray(); private static ImageList _itemImageList; public static ImageList ItemImageList @@ -70,18 +82,33 @@ namespace PckStudio.Internal.Json } } - private static ImageList _moonPhasesImageList; - public static ImageList MoonPhasesImageList + private static ImageList _moonPhaseImageList; + public static ImageList MoonPhaseImageList { get { - if (_moonPhasesImageList is null) + if (_moonPhaseImageList is null) { - _moonPhasesImageList = new ImageList(); - _moonPhasesImageList.ColorDepth = ColorDepth.Depth32Bit; - _moonPhasesImageList.Images.AddRange(MoonPhasesImages); + _moonPhaseImageList = new ImageList(); + _moonPhaseImageList.ColorDepth = ColorDepth.Depth32Bit; + _moonPhaseImageList.Images.AddRange(MoonPhaseImages); } - return _moonPhasesImageList; + return _moonPhaseImageList; + } + } + + 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; } } } diff --git a/PCK-Studio/MainForm.cs b/PCK-Studio/MainForm.cs index ce1f4237..fc50240c 100644 --- a/PCK-Studio/MainForm.cs +++ b/PCK-Studio/MainForm.cs @@ -376,15 +376,17 @@ namespace PckStudio } bool isTerrainOrItems = file.Filename == "res/terrain.png" || file.Filename == "res/items.png"; - bool isMoon = file.Filename == "res/terrain/moon_phases.png"; + bool isMoonPhases = file.Filename == "res/terrain/moon_phases.png"; + bool isMapIcons = file.Filename == "res/misc/mapicons.png"; + bool isAdditionalMapIcons = file.Filename == "res/misc/additionalmapicons.png"; - if (isTerrainOrItems || isMoon) + if (isTerrainOrItems || isMoonPhases || isMapIcons || isAdditionalMapIcons) { var img = file.GetTexture(); var columnCount = 0; if (isTerrainOrItems) columnCount = 16; - else if (isMoon) columnCount = 4; + else if (isMoonPhases || isMapIcons || isAdditionalMapIcons) columnCount = 4; var resolution = img.Width / columnCount; var size = new Size(resolution, resolution); diff --git a/PCK-Studio/PckStudio.csproj b/PCK-Studio/PckStudio.csproj index 5dfbced4..3d6c6f18 100644 --- a/PCK-Studio/PckStudio.csproj +++ b/PCK-Studio/PckStudio.csproj @@ -139,6 +139,11 @@ + + True + True + Resources.resx + Component @@ -613,11 +618,6 @@ SettingsSingleFileGenerator Settings.Designer.cs - - True - True - Resources.resx - True Settings.settings @@ -628,7 +628,8 @@ - + + @@ -644,16 +645,13 @@ - - - @@ -679,7 +677,12 @@ - + + + + + + @@ -689,7 +692,6 @@ - diff --git a/PCK-Studio/Properties/Resources.Designer.cs b/PCK-Studio/Properties/Resources.Designer.cs index aedf0101..a3b953f4 100644 --- a/PCK-Studio/Properties/Resources.Designer.cs +++ b/PCK-Studio/Properties/Resources.Designer.cs @@ -70,6 +70,16 @@ namespace PckStudio.Properties { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap additional_map_icons_sheet { + get { + object obj = ResourceManager.GetObject("additional_map_icons_sheet", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -404,6 +414,16 @@ namespace PckStudio.Properties { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap map_icons_sheet { + get { + object obj = ResourceManager.GetObject("map_icons_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 ecd55109..5cfa8456 100644 --- a/PCK-Studio/Properties/Resources.resx +++ b/PCK-Studio/Properties/Resources.resx @@ -331,4 +331,10 @@ ..\Resources\atlases\moon_phases.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\atlases\additional_mapicons.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\atlases\map_icons.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + \ No newline at end of file