scawful 41adb1b70e Enhance testing framework and UI integration for YAZE
- Added a comprehensive testing framework with support for unit, integration, and UI tests, improving overall test coverage and reliability.
- Integrated ImGui Test Engine for UI testing, allowing for real-time feedback and visualization of test results.
- Updated CMake configuration to conditionally include testing components based on build options, enhancing flexibility for developers.
- Introduced a new command in the CLI for running asset loading tests on ROMs, providing a straightforward way to validate functionality.
- Enhanced error handling and resource management during testing, ensuring stability and clarity in test execution.
- Improved user interface with a dedicated test dashboard for monitoring test progress and results, enhancing developer experience.
2025-09-25 13:26:56 -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%