6bdcfe95ecfed6c7a40b7a8d4a39c81230236485
- Upgraded CMake minimum version requirement to 3.16 and updated project version to 0.3.0. - Introduced new CMake presets for build configurations, including default, debug, and release options. - Added CI/CD workflows for continuous integration and release management, enhancing automated testing and deployment processes. - Integrated Asar assembler support with new wrapper classes and CLI commands for patching ROMs. - Implemented comprehensive tests for Asar integration, ensuring robust functionality and error handling. - Enhanced packaging configuration for cross-platform support, including Windows, macOS, and Linux. - Updated documentation and added test assets for improved clarity and usability.
Yet Another Zelda3 Editor
- Platform: Windows, macOS, iOS, GNU/Linux
- Dependencies: SDL2, ImGui, abseil-cpp
Description
General purpose editor for The Legend of Zelda: A Link to the Past for the Super Nintendo.
Provides bindings in C and Python for building custom tools and utilities.
Takes heavy inspiration from ALTTP community efforts such as Hyrule Magic and ZScream
Building and installation
CMake is required to build yaze
- Clone the repository
- Create the build directory and configuration
- Build and run the application
- (Optional) Run the tests
git clone --recurse-submodules https://github.com/scawful/yaze.git
cmake -S . -B build
cmake --build build
By default this will build all targets.
- yaze: Editor Application
- yaze_c: C Library
- yaze_emu: SNES Emulator
- yaze_py: Python Module
- yaze_test: Unit Tests
- z3ed: Command Line Interface
Dependencies are included as submodules and will be built automatically. For those who want to reduce compile times, consider installing the dependencies on your system. See build-instructions.md for more information.
Documentation
- Getting Started - Basic setup and usage guide
- Build Instructions - Detailed build and installation guide
- Documentation Index - Complete documentation overview
- Contributing - How to contribute to the project
Key Documentation
- Dungeon Editor Guide - Complete dungeon editing guide
- Overworld Loading Guide - ZSCustomOverworld implementation
- Canvas Interface - Graphics system architecture
- Integration Tests - Testing framework
For developers, see the documentation index for a complete overview of all available documentation.
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%