158 lines
8.1 KiB
Markdown
158 lines
8.1 KiB
Markdown
# Changelog
|
|
|
|
## 0.3.1
|
|
|
|
### Major Features
|
|
- **Complete Tile16 Editor Overhaul**: Professional-grade tile editing with modern UI and advanced capabilities
|
|
- **Advanced Palette Management**: Full access to all SNES palette groups with configurable normalization
|
|
- **Comprehensive Undo/Redo System**: 50-state history with intelligent time-based throttling
|
|
- **ZSCustomOverworld v3 Full Support**: Complete implementation of ZScream Save.cs functionality with complex transition calculations
|
|
- **ZEML System Removal**: Converted overworld editor from markup to pure ImGui for better performance and maintainability
|
|
- **OverworldEditorManager**: New management system to handle complex v3 overworld features
|
|
|
|
### Tile16 Editor Enhancements
|
|
- **Modern UI Layout**: Fully resizable 3-column interface (Tile8 Source, Editor, Preview & Controls)
|
|
- **Multi-Palette Group Support**: Access to Overworld Main/Aux1/Aux2, Dungeon Main, Global Sprites, Armors, and Swords palettes
|
|
- **Advanced Transform Operations**: Flip horizontal/vertical, rotate 90°, fill with tile8, clear operations
|
|
- **Professional Workflow**: Copy/paste, 4-slot scratch space, live preview with auto-commit
|
|
- **Pixel Normalization Settings**: Configurable pixel value masks (0x01-0xFF) for handling corrupted graphics sheets
|
|
|
|
### ZSCustomOverworld v3 Implementation
|
|
- **SaveLargeMapsExpanded()**: Complex neighbor-aware transition calculations for all area sizes (Small, Large, Wide, Tall)
|
|
- **Interactive Overlay System**: Full `SaveMapOverlays()` with ASM code generation for revealing holes and changing map elements
|
|
- **SaveCustomOverworldASM()**: Complete custom overworld ASM application with feature toggles and data tables
|
|
- **Expanded Memory Support**: Automatic detection and use of v3 expanded memory locations (0x140xxx)
|
|
- **Area-Specific Features**: Background colors, main palettes, mosaic transitions, GFX groups, subscreen overlays, animated tiles
|
|
- **Transition Logic**: Sophisticated camera transition calculations based on neighboring area types and quadrants
|
|
- **Version Compatibility**: Maintains vanilla/v2 compatibility while adding full v3+ feature support
|
|
|
|
### Technical Improvements
|
|
- **SNES Data Accuracy**: Proper 4-bit palette index handling with configurable normalization
|
|
- **Bitmap Pipeline Fixes**: Corrected tile16 extraction using `GetTilemapData()` with manual fallback
|
|
- **Real-time Updates**: Immediate visual feedback for all editing operations
|
|
- **Memory Safety**: Enhanced bounds checking and error handling throughout
|
|
- **ASM Version Detection**: Automatic detection of custom overworld ASM version for feature availability
|
|
- **Conditional Save Logic**: Different save paths for vanilla, v2, and v3+ ROMs
|
|
|
|
### User Interface
|
|
- **Keyboard Shortcuts**: Comprehensive shortcuts for all operations (H/V/R for transforms, Q/E for palette cycling, 1-8 for direct palette selection)
|
|
- **Visual Feedback**: Hover preview restoration, current palette highlighting, texture status indicators
|
|
- **Compact Controls**: Streamlined property panel with essential tools easily accessible
|
|
- **Settings Dialog**: Advanced palette normalization controls with real-time application
|
|
- **Pure ImGui Layout**: Removed ZEML markup system in favor of native ImGui tabs and tables for better performance
|
|
- **v3 Settings Panel**: Dedicated UI for ZSCustomOverworld v3 features with ASM version detection and feature toggles
|
|
|
|
### Bug Fixes
|
|
- **Tile16 Bitmap Display**: Fixed blank/white tile issue caused by unnormalized pixel values
|
|
- **Hover Preview**: Restored tile8 preview when hovering over tile16 canvas
|
|
- **Canvas Scaling**: Corrected coordinate scaling for 8x magnification factor
|
|
- **Palette Corruption**: Fixed high-bit contamination in graphics sheets
|
|
- **UI Layout**: Proper column sizing and resizing behavior
|
|
- **Linux CI/CD Build**: Fixed undefined reference errors for `ShowSaveFileDialog` method
|
|
- **ZSCustomOverworld v3**: Fixed complex area transition calculations and neighbor-aware tilemap adjustments
|
|
- **ZEML Performance**: Eliminated markup parsing overhead by converting to native ImGui components
|
|
|
|
### ZScream Compatibility Improvements
|
|
- **Complete Save.cs Implementation**: All major methods from ZScream's Save.cs now implemented in YAZE
|
|
- **Area Size Support**: Full support for Small, Large, Wide, and Tall area types with proper transitions
|
|
- **Interactive Overlays**: Complete overlay save system matching ZScream's functionality
|
|
- **Custom ASM Integration**: Proper handling of ZSCustomOverworld ASM versions 1-3+
|
|
- **Memory Layout**: Correct usage of expanded vs vanilla memory locations based on ROM type
|
|
|
|
## 0.3.0 (September 2025)
|
|
|
|
### Major Features
|
|
- **Complete Theme Management System**: 5+ built-in themes with custom theme creation and editing
|
|
- **Multi-Session Workspace**: Work with multiple ROMs simultaneously in enhanced docked interface
|
|
- **Enhanced Welcome Screen**: Themed interface with quick access to all editors and features
|
|
- **Asar 65816 Assembler Integration**: Complete cross-platform ROM patching with assembly code
|
|
- **ZSCustomOverworld v3**: Full integration with enhanced overworld editing capabilities
|
|
- **Advanced Message Editing**: Enhanced text editing interface with improved parsing and real-time preview
|
|
- **GUI Docking System**: Improved docking and workspace management for better user workflow
|
|
- **Symbol Extraction**: Extract symbol names and opcodes from assembly files
|
|
- **Modernized Build System**: Upgraded to CMake 3.16+ with target-based configuration
|
|
|
|
### User Interface & Theming
|
|
- **Built-in Themes**: Classic YAZE, YAZE Tre, Cyberpunk, Sunset, Forest, and Midnight themes
|
|
- **Theme Editor**: Complete custom theme creation with save-to-file functionality
|
|
- **Animated Background Grid**: Optional moving grid with color breathing effects
|
|
- **Theme Import/Export**: Share custom themes with the community
|
|
- **Responsive UI**: All UI elements properly adapt to selected themes
|
|
|
|
### Enhancements
|
|
- **Enhanced CLI Tools**: Improved z3ed with modern command line interface and TUI
|
|
- **CMakePresets**: Added development workflow presets for better productivity
|
|
- **Cross-Platform CI/CD**: Multi-platform automated builds and testing with lenient code quality checks
|
|
- **Professional Packaging**: NSIS, DMG, and DEB/RPM installers
|
|
- **ROM-Dependent Testing**: Separated testing infrastructure for CI compatibility with 46+ core tests
|
|
- **Comprehensive Documentation**: Updated guides, help menus, and API documentation
|
|
|
|
### Technical Improvements
|
|
- **Modern C++23**: Latest language features for performance and safety
|
|
- **Memory Safety**: Enhanced memory management with RAII and smart pointers
|
|
- **Error Handling**: Improved error handling using absl::Status throughout
|
|
- **Cross-Platform**: Consistent experience across Windows, macOS, and Linux
|
|
- **Performance**: Optimized rendering and data processing
|
|
|
|
### Bug Fixes
|
|
- **Graphics Arena Crash**: Fixed double-free error during Arena singleton destruction
|
|
- **SNES Tile Format**: Corrected tile unpacking algorithm based on SnesLab documentation
|
|
- **Palette System**: Fixed color conversion functions (ImVec4 float to uint8_t conversion)
|
|
- **CI/CD**: Fixed missing cstring include for Ubuntu compilation
|
|
- **ROM Loading**: Fixed file path issues in tests
|
|
|
|
## 0.2.2 (December 2024)
|
|
- DungeonMap editing improvements
|
|
- ZSCustomOverworld support
|
|
- Cross platform file handling
|
|
|
|
## 0.2.1 (August 2024)
|
|
- Improved MessageEditor parsing
|
|
- Added integration test window
|
|
- Bitmap bug fixes
|
|
|
|
## 0.2.0 (July 2024)
|
|
- iOS app support
|
|
- Graphics Sheet Browser
|
|
- Project Files
|
|
|
|
## 0.1.0 (May 2024)
|
|
- Bitmap bug fixes
|
|
- Error handling improvements
|
|
|
|
## 0.0.9 (April 2024)
|
|
- Documentation updates
|
|
- Entrance tile types
|
|
- Emulator subsystem overhaul
|
|
|
|
## 0.0.8 (February 2024)
|
|
- Hyrule Magic Compression
|
|
- Dungeon Room Entrances
|
|
- PNG Export
|
|
|
|
## 0.0.7 (January 2024)
|
|
- OverworldEntities
|
|
- Entrances
|
|
- Exits
|
|
- Items
|
|
- Sprites
|
|
|
|
## 0.0.6 (November 2023)
|
|
- ScreenEditor DungeonMap
|
|
- Tile16 Editor
|
|
- Canvas updates
|
|
|
|
## 0.0.5 (November 2023)
|
|
- DungeonEditor
|
|
- DungeonObjectRenderer
|
|
|
|
## 0.0.4 (November 2023)
|
|
- Tile16Editor
|
|
- GfxGroupEditor
|
|
- Add GfxGroups functions to Rom
|
|
- Add Tile16Editor and GfxGroupEditor to OverworldEditor
|
|
|
|
## 0.0.3 (October 2023)
|
|
- Emulator subsystem
|
|
- SNES PPU and PPURegisters
|