scawful 77ceb0256b Refactor CMake and enhance API documentation for YAZE
- Updated CMakeLists.txt to set a minimum required version of 3.5 and removed older policy settings for improved compatibility.
- Enhanced yaze.h and zelda.h with detailed documentation, including versioning information and API descriptions, to improve clarity for developers.
- Added new functions for version compatibility checks and improved error handling in the YAZE API.
- Refactored existing structures and enums for better readability and maintainability, ensuring a more consistent coding style.
2025-09-25 12:00:03 -04:00
2024-12-31 15:04:05 -05:00

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

License

YAZE is distributed under the GNU GPLv3 license.

SDL2, ImGui and Abseil are subject to respective licenses.

Screenshots

image

image

image

Description
Yet Another Zelda3 Editor
Readme 34 MiB
Languages
C++ 85.8%
JavaScript 3.7%
Assembly 2.3%
CMake 2%
Shell 1.6%
Other 4.6%