Skip to content

scawful/yaze

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

YAZE - Yet Another Zelda3 Editor

A modern, cross-platform editor for The Legend of Zelda: A Link to the Past ROM hacking, built with C++23 and featuring complete Asar 65816 assembler integration.

Build Status License: GPL v3

Version 0.3.1 - Release

Asar 65816 Assembler Integration

  • Cross-platform ROM patching with assembly code support
  • Symbol extraction with addresses and opcodes from assembly files
  • Assembly validation with comprehensive error reporting
  • Modern C++ API with safe memory management

ZSCustomOverworld v3

  • Enhanced overworld editing capabilities
  • Advanced map properties and metadata support
  • Custom graphics support and tile management
  • Improved compatibility with existing projects

Advanced Features

  • Theme Management: Complete theme system with 5+ built-in themes and custom theme editor
  • Multi-Session Support: Work with multiple ROMs simultaneously in docked workspace
  • Enhanced Welcome Screen: Themed interface with quick access to all editors
  • Message Editing: Enhanced text editing interface with real-time preview
  • GUI Docking: Flexible workspace management with customizable layouts
  • Modern CLI: Enhanced z3ed tool with interactive TUI and subcommands
  • Cross-Platform: Full support for Windows, macOS, and Linux

๐Ÿ› ๏ธ 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

Quick Start

Build

# Clone with submodules
git clone --recursive https://github.com/scawful/yaze.git
cd yaze

# Build with CMake
cmake --preset debug        # macOS
cmake -B build && cmake --build build  # Linux/Windows

Applications

  • yaze: Complete GUI editor for Zelda 3 ROM hacking
  • z3ed: Command-line tool with interactive interface
  • yaze_test: Comprehensive test suite for development

Usage

GUI Editor

Launch the main application to edit Zelda 3 ROMs:

  • Load ROM files using native file dialogs
  • Edit overworld maps, dungeons, sprites, and graphics
  • Apply assembly patches with integrated Asar support
  • Export modifications as patches or modified ROMs

Command Line Tool

# Apply assembly patch
z3ed asar patch.asm --rom=zelda3.sfc

# Extract symbols from assembly
z3ed extract patch.asm

# Interactive mode
z3ed --tui

C++ API

#include "yaze.h"

// Load ROM and apply patch
yaze_project_t* project = yaze_load_project("zelda3.sfc");
yaze_apply_asar_patch(project, "patch.asm");
yaze_save_project(project, "modified.sfc");

Documentation

Complete Documentation

Supported Platforms

  • Windows (MSVC 2019+, MinGW)
  • macOS (Intel and Apple Silicon)
  • Linux (GCC 13+, Clang 16+)

ROM Compatibility

  • Original Zelda 3 ROMs (US/Japan versions)
  • ZSCustomOverworld v2/v3 enhanced overworld features
  • Community ROM hacks and modifications

Contributing

See Contributing Guide for development guidelines.

Community: Oracle of Secrets Discord

License

GNU GPL v3 - See LICENSE for details.

๐Ÿ™ Acknowledgments

Takes inspiration from:

๐Ÿ“ธ Screenshots

YAZE GUI Editor

Dungeon Editor

Overworld Editor


Ready to hack Zelda 3? Get started now!

About

Yet Another Zelda3 Editor

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •