Releases: stevemonaco/ImageMagitek
TileShop 0.992 preview release
Runtime Changes
TileShop now runs on .NET 6 and requires the .NET 6 x64 Desktop Runtime to be installed
Major Added Features
Reintroduced viewing and editing support for direct color images and arrangers
Added codec support for Rgba24, Rgba32, N64 Rgba32, N64 Rgba16, and Bmp24
Re-enabled support for PSX 16 and 24bpp codecs
Reimplemented "New Project From Existing File" menu option
Added rotate and flip operations for Scattered Arrangers (square elements only, enable in appsettings.json via enableArrangerSymmetryTools)
UI Changes
Add hot key descriptions to tooltips
Improved resource removal dialog appearance
Fixes
Fixed a bug where copying pixels from a subimage would always copy pixels offset from the upper left corner of the originating arranger
Fixed Recent Projects listing when a new Project has been added
Fixed zoom in editors when using ctrl+mouse wheel
Fixed a bug where Recent Projects would list the old, missing project locations after renaming or moved
Fixed UTF-16 XML header to UTF-8
Fixed a bug related to scattered arranger resizing
Fixed a bug where changing a Palette's FileColorSource endian could be mismatched between read and write operations when toggling via GUI
Fixed a regression bug where non-square elements could not be encoded
Fixed a regression bug where non-square direct arrangers could not be saved
Renamed Bgr12 to Bgr9
Other (GitHub repo only)
Added FF5 monster sprite sample to show programmatic use of ImageMagitek for command line and WPF apps
Add plugin sample for Marmalade Boy's font
TileShop 0.991 preview release
Major Added Features
Add Flood Fill tool to PixelEditor
Add Recent Projects menu option
Resource nodes in Project Tree can now directly navigate to the resource's XML file in Windows Explorer
Add Endian option for File Color Sources
Add initial implementation for Bgr12 (Game Gear) and Bgr6 (Master System) color models
Add Element Layouts for Sequential Arrangers
UI Changes
Toolbar improvements to all editors
Improved toolbar button styling
Sequential Arrangers now hide the Palettes ComboBox if there is only one global Palette
Removed delete button from numeric input boxes
Fixes
Fixed the loading of ZeroIndexTransparent setting in Palette Editor
Fixed a crash when adding a new Palette
Fixed a bug where a Project could be opened multiple times simultaneously
Fixed a bug where renaming a Resource did not trigger a resorting of items in the Project tree
Fixed a crash when discarding a modified Pixel Editor
Fixed a bug where Arranger shortcuts to select all Elements would not enable the edit button
Fixed author attributions in global Palette JSON files
TileShop 0.990 preview release
Multiple File XML Projects
TileShop's XML resources are now contained within individual XML files rather than one XML file for an entire project. This was done to promote extensibility and upcoming import/export features. All old, single file projects must be recreated or manually transitioned to the new XML system. The existing project samples have been updated.
"name" attribute removed from resources. Now the filename will be used to infer the resource name.
The project name itself is no longer included in resource path keys.
Color Sources
Color Sources are a palette system feature that allows the user to specify palette colors coming from a file, a user-defined native color (RGBA), or a user-defined foreign color (Bgr15, NES, etc) based on the palette's color model. They can be mixed-and-matched within a single palette, so scenarios like non-contiguous palettes and directly specifying palette colors from an emulators are possible. This information is stored in the Palette's XML resource.
Minor Features
Added default codec associations for .gbc, .gba, .ncgr, .ncbr
Palette FileOffsets are now in hexadecimal in TileShop's Palette Editor
Improved error messages when XML parsing fails due to XSD schema validation errors
Improve XML errors when a resource can't be loaded due to a missing referenced palette
Bug fixes
File extensions for default codecs in appsettings.json are now case insensitive
Fix a bug regarding creating a ScatteredArranger from a SequentialArranger with single layout
TileShopCLI breaking changes and minor features
Transitioned to multiple file projects
-f
force overwrite flag for Export
and ExportAll
is now the more explicit --overwrite
Added --log
option to TileShopCLI to redirect logs
Added -f
and r
options to Import
and ImportAll
to skip missing files and bad resource keys respectively
TileShop 0.981 preview release
Major Changes
TileShop is now bundled with TileShopCLI -- a command line tool to automate importing/exporting of TileShop project resources
Upgraded to .NET 5 so users will need to upgrade their runtime.
The Pixel Editor has been reimplemented as a document tab. Multiple can be opened simultaneously.
General Improvements
Added Zero Index Transparency flag to Add New Palette dialog.
Reworked Palette Editor dialog to better show its source and zero index transparency.
Added app icon to taskbar.
Added menu option to Open Data File As New Project. This is experimental and may be removed when the project structure is redesigned.
Bug fixes
Fix a bug where Drag+Drop did not paste onto the correct elements when non-square pastes were pasted.
Added more checks to restrict mouse operations to within the ScatteredArranger editor image bounds to fix an exception.
Fixed a bug where resizing a ScatteredArranger would not update its ArrangerPixelSize.
TileShop 0.98 preview release
Major Features
Added support for XML pattern codecs which are based on Feidian
Added support for viewing and editing contiguous, in-game NES Palettes
General Improvements
Importing an image now automatically updates the display of opened Scattered Arrangers
Saving a Palette now automatically updates the display of opened Scattered Arrangers
Removed focusability from most SequentialArranger toolbar items because they interfered with hotkeys
Small redesign of "Add New Palette" dialog
Add height/width labels to "Add a Scattered Arranger" dialog
Bug fixes
Fixed a crash when AssociatePalette was used without any project palette resources
Fix resizing of arrangers for non-element-resizing codecs
Fixed some bugs where flowcodecs did not properly respect mergepriority upon encoding elements (this affected the GBA codec and maybe some others)
Fixed byte down hotkey for the + in Sequential Arrangers.
Breaking Changes
Renamed existing color models for palettes.
This will require existing project files containing custom palettes to be hand-edited. All sample projects have been updated. The following changes were made:
- "RGBA32" -> "Rgba32"
- "BGR15" -> "Bgr15"
- "ABGR16" -> "Abgr16"
Redesigned XML Codec System
All existing codecs contained within TileShop have been updated to the new XML codec spec.
TileShop 0.97 preview release
User Experience Improvements
Selection and Element/Pixel Transfer System Redesign
Fully redesigned for a much better experience
Element-aligned and pixel selections
Pastes now show an image preview of the pending paste instead of an ambiguous purple overlay
Pending Pastes are now applied with the Enter key or by creating a new selection
Many related fixes to editing selections
Arrangers
Scrollbar for fast file browsing for Sequential Arrangers
Automatically refreshes image when pixel data has changed via the Pixel Editor
Undo/Redo added to ScatteredArrangers for the following operations: Delete Selection, Apply Paste, Apply Palette, Resize
Added 8x8 Gridlines for Single Arrangers
Pixel Editor
Color Picker changes to the correct palette when a color is picked
Pixel Editor can now make selections
Element-aligned Gridlines for edited pixel selections
Added Scrolling for large pixel images
Show hovered pixel information
General
Tooltips are now shown when hovering disabled controls
Open arrangers automatically when added to project
Undo/Redo/Save hotkeys (Ctrl+Z, Ctrl+Y, Ctrl+S)
Gridlines for Single Arrangers and edited pixel selections
Bug Fixes
Fixed an exception when dragging mouse to apply palettes to individual elements
Fixes to keep project synchronized when adding resources
Fix create new arranger from selection adding to the wrong project
Fixed the menu close option for Pixel Editor
Fixed a crash when edit selection triggered an edited pixel arranger to be saved/discarded
Fixed Gridlines after resizing a Scattered Arranger
Prevent drag+dropped element images across projects
Performance
Large performance enhancements when drawing to large arrangers in the Pixel Editor
Role Redesigns for Editors
Sequential Arrangers are now view-only and no longer accept pastes of any type. You can still edit the pixels in the Pixel Editor. This may be reworked in the future.
Scattered Arrangers still accepts element pastes but no longer accepts pixel pastes. This was done to eliminate conflicts when the Scattered Arranger Editor contained modified pixels, but the Pixel Editor saved conflicting pixel data. Additionally, the option to paste as pixels or as elements was confusing and poorly presented.
The Pixel Editor only accepts pixel pastes and is now the exclusive way to modify pixel data.
To summarize, Sequential Arranger - Views, Scattered Arranger - Arranges, Pixel Editor - Edits Pixels Data.
Breaking changes
Project files now require all arrangers to have a defaultpalette attribute
TileShop 0.96 preview release
Major Bug Fixes
Exceptions related to modifying Scattered Arrangers (resizing, removing elements, etc) have been fixed
Fixed automatic loading/saving of GUI-related settings such as theme, main window size, etc. More layout settings will be saved in a future version.
UI Changes
Close All Projects is now enabled if you create a new project
Increased width of TextBoxes within the Resize Scattered Arranger dialog
Features
Apply Palette can now apply the current palette to an entire selection by clicking the selection
TileShop 0.95 preview release
UI Changes
Extensive User Interface makeover with light/dark theme, new icons, and more modern styled controls
Merged TitleBar and Menu to save vertical screen space
Changed the Color Remapper dialog to have a horizontal layout instead of vertical
Some menu options were removed or moved to account for multiple projects
Features
Added support for opening multiple, independent projects at once
Improved project saving -- Project XML should always be in sync now without manual saving
Detect and save/unload editors when they are no longer available due to the project being closed
Added Element Inspector to Scattered Arranger Editor to inspect the source of the image and palette data used
Associating a Scattered Arranger with a Palette can now be done with a button in the editor (previously only drag and drop from the Project Tree)
Added ability to reset selected elements in Scattered Arranger Editor with the Delete key
Added support for multiple global default Palettes (Add to _pal and edit appsettings.json. New global palettes coming in a later version)
Added GBA 4bpp Codec
Better performance while scrolling Sequential Arranger Editors (reduced memory allocations and copies)
Top-level exception handler now shows a Message Box instead of exiting the application upon errors
Breaking changes
Some old project files may not load correctly due to the multiple global default Palettes changes
TileShop 0.93 preview release
Bug fix for importing single layout arrangers
TileShop 0.92 preview release
Features
Implemented undo/redo for the pixel editor.
Added import image into existing arrangers
Project files now use relative disk paths instead of absolute paths for DataFile Locations.
New hotkey and context menu to select the entirety of an arranger
New hotkey to edit selection
Hotkeys for codec changing and expanding/shrinking arrangers were changed
New context menu option within sequential arrangers to add selections as a new scattered arranger
Bug fixes
Schemas are no longer mislocated due to the project file being outside of the TileShop directory
Disabled zero area selections and fixed related editing crash