scawful 27131ba449 feat: enable gRPC in CI builds and update Abseil dependencies
- Updated CI presets for Linux, macOS, and Windows to enable gRPC, improving build performance with caching.
- Adjusted Abseil inclusion logic to only include standalone Abseil when gRPC is disabled, ensuring compatibility and reducing unnecessary dependencies.
- Enhanced the list of exported Abseil targets from gRPC's bundled version for better utility access.

This change aims to streamline CI processes while maintaining the necessary dependencies for successful builds.
2025-11-05 11:19:43 -05:00

YAZE - Yet Another Zelda3 Editor

CI Code Quality Security Release License

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

Version 0.3.2 - Release

z3ed agent - AI-powered CLI assistant

  • AI-assisted ROM hacking with ollama and Gemini support
  • Natural language commands for editing and querying ROM data
  • Tool calling for structured data extraction and modification
  • Interactive chat with conversation history and context

ZSCustomOverworld v3

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

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

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

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

# Windows-specific
scripts\verify-build-environment.ps1   # Verify your setup
cmake --preset windows-debug           # Basic build
cmake --preset windows-ai-debug        # With AI features
cmake --build build --config Debug     # Build

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!

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%