- Revamped README to reflect the new branding and major features of YAZE, including complete Asar 65816 assembler integration and enhanced CLI tools. - Added new documentation files for getting started, build instructions, Asar integration, and comprehensive testing guides. - Removed outdated documentation and streamlined the structure for better navigation. - Introduced a changelog to track version history and significant updates. - Updated API reference and added detailed guides for dungeon and overworld editing functionalities.
5.8 KiB
5.8 KiB
YAZE Documentation
Cross-platform Zelda 3 ROM editor built with modern C++23, SDL2, ImGui, and integrated Asar 65816 assembler support.
Quick Start
- Getting Started - Basic setup and usage
- Build Instructions - How to build from source
- Asar Integration - Complete 65816 assembler guide
- API Reference - C/C++ API documentation
Development
- Testing Guide - Comprehensive testing framework
- Contributing - Development guidelines and standards
- Changelog - Version history and changes
- Roadmap - Development plans and timeline
Technical Documentation
Assembly & Code
- Assembly Style Guide - 65816 assembly coding standards
Editor Systems
- Dungeon Editor Guide - Complete dungeon editing guide
- Dungeon Editor Design - Architecture and development guide
- Dungeon Editor Refactoring - Component-based architecture plan
- Dungeon Object System - Object management framework
Overworld System
- Overworld Loading - ZSCustomOverworld v3 implementation
- Overworld Expansion - Advanced overworld features
Current Version: 0.3.0 (January 2025)
✅ Major Features
Asar 65816 Assembler Integration
- Cross-platform ROM patching with assembly code support
- Symbol extraction with addresses and opcodes
- Assembly validation and comprehensive error reporting
- Modern C++ API with safe memory management
- Enhanced CLI tools with improved UX
ZSCustomOverworld v3
- Enhanced overworld editing capabilities
- Advanced map properties and metadata
- Custom graphics support and tile management
- Improved compatibility with existing projects
Advanced Message Editing
- Enhanced text editing interface with improved parsing
- Real-time preview of message formatting
- Better error handling for message validation
- Improved workflow for text-based ROM hacking
GUI Docking System
- Improved workspace management with flexible layouts
- Better window organization for complex editing tasks
- Enhanced user workflow with customizable interfaces
- Modern UI improvements throughout the application
Technical Improvements
- Modern CMake 3.16+: Target-based configuration and build system
- CMakePresets: Development workflow presets for better productivity
- Cross-platform CI/CD: Automated builds and testing for all platforms
- Professional packaging: NSIS, DMG, and DEB/RPM installers
- Enhanced testing: ROM-dependent test separation for CI compatibility
🔄 In Progress
- Sprite Builder System: Custom sprite creation and editing tools
- Emulator Subsystem: SNES emulation for testing modifications
- Music Editor: Enhanced music data editing interface
⏳ Planned for 0.4.X
- Overworld Sprites: Complete sprite editing with add/remove functionality
- Enhanced Dungeon Editing: Advanced room object editing and manipulation
- Tile16 Editing: Enhanced editor for creating and modifying tile16 data
- Plugin Architecture: Framework for community extensions and custom tools
Key Features
ROM Editing Capabilities
- Asar 65816 Assembly: Apply assembly patches with symbol extraction
- Overworld Editing: ZSCustomOverworld v3 with enhanced features
- Message Editing: Advanced text editing with real-time preview
- Palette Management: Comprehensive color and palette editing
- Graphics Editing: SNES graphics manipulation and preview
- Hex Editing: Direct ROM data editing with validation
Development Tools
- Enhanced CLI: Modern z3ed with subcommands and interactive TUI
- Symbol Analysis: Extract and analyze assembly symbols
- ROM Validation: Comprehensive ROM integrity checking
- Project Management: Save and load complete ROM hacking projects
Cross-Platform Support
- Windows: Full support with MSVC and MinGW compilers
- macOS: Universal binaries supporting Intel and Apple Silicon
- Linux: GCC and Clang support with package management
- Professional Packaging: Native installers for all platforms
Compatibility
ROM Support
- Vanilla ROMs: Original Zelda 3 ROMs (US/JP)
- ZSCustomOverworld v2/v3: Enhanced overworld features and compatibility
- Custom Modifications: Support for community ROM hacks and modifications
File Format Support
- Assembly Files: .asm files with Asar 65816 assembler
- BPS Patches: Standard ROM patching format
- Graphics Files: PNG, BMP, and SNES-specific formats
- Project Files: .yaze project format for complete editing sessions
Development & Community
Architecture
- Modern C++23: Latest language features for performance and safety
- Modular Design: Component-based architecture for maintainability
- Cross-Platform: Consistent experience across all supported platforms
- Comprehensive Testing: Unit tests, integration tests, and ROM validation
Contributing
See Contributing for guidelines on:
- Code style and C++23 standards
- Testing requirements and ROM handling
- Pull request process and review
- Development setup with CMake presets
Community
- Discord: Oracle of Secrets Discord
- GitHub: YAZE Repository
- Issues: Report bugs and request features on GitHub
- Discussions: Community discussions and support
License
This project is licensed under the terms specified in the LICENSE file.
Last updated: January 2025 - Version 0.3.0