fd538b8f318725a6e35d6ee4dfce2d1b56e8aae0
- Deleted the `dungeon-integration-tests.md` file, which contained comprehensive integration tests for the dungeon object rendering system. - Added `dungeon-object-system.md`, detailing the architecture, object types, placement processes, rendering pipeline, and user interface components of the YAZE Dungeon Object System. - Enhanced the DungeonEditor and DungeonObjectSelector with improved UI methods and object selection callbacks for better user interaction and object management.
Yet Another Zelda3 Editor
A modern, cross-platform editor for The Legend of Zelda: A Link to the Past ROM hacking.
- Platform: Windows, macOS, Linux
- Language: C++23 with modern CMake build system
- Features: ROM editing, Asar 65816 assembly patching, ZSCustomOverworld v3, GUI docking
Key Features
- Asar Integration: Apply 65816 assembly patches and extract symbols
- ZSCustomOverworld v3: Enhanced overworld editing capabilities
- Message Editing: Advanced text editing with real-time preview
- GUI Docking: Flexible workspace management
- Modern CLI: Enhanced z3ed tool with interactive TUI
Takes inspiration from Hyrule Magic and ZScream
Building and Installation
Quick Build
git clone --recurse-submodules https://github.com/scawful/yaze.git
cd yaze
cmake --preset default
cmake --build --preset default
Targets
- yaze: GUI Editor Application
- z3ed: Command Line Interface with Asar support
- yaze_c: C Library
- yaze_test: Unit Tests
Asar Examples
# Apply assembly patch
z3ed asar patch.asm --rom=zelda3.sfc
# Extract symbols
z3ed extract patch.asm
# Interactive TUI
z3ed --tui
See build-instructions.md for detailed setup information.
Documentation
- Getting Started - Setup and basic usage
- Asar Integration - Assembly patching and symbol extraction
- Build Instructions - Detailed build guide
- Contributing - How to contribute
- Documentation Index - Complete documentation overview
License
YAZE is distributed under the GNU GPLv3 license.
SDL2, ImGui and Abseil are subject to respective licenses.
Screenshots
Description
Languages
C++
85.8%
JavaScript
3.7%
Assembly
2.3%
CMake
2%
Shell
1.6%
Other
4.6%