Files
yaze/docs/index.md
scawful 50f83e818c Update README and documentation for YAZE v0.3.0 release
- 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.
2025-09-25 21:10:35 -04:00

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

Development

Technical Documentation

Assembly & Code

Editor Systems

Overworld System

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

License

This project is licensed under the terms specified in the LICENSE file.


Last updated: January 2025 - Version 0.3.0