scawful e2aab3f2e4 Add transaction management for atomic ROM operations with rollback
- Introduced a Transaction class to handle atomic write operations to ROM, allowing for rollback on failure.
- Implemented methods for writing bytes, words, longs, vectors, and colors, with status checks and operation logging.
- Added a rollback mechanism to restore original values in case of write failures.
- Enhanced unit tests to verify transaction rollback functionality and ensure data integrity after failed operations.
2025-09-13 11:45:29 -04:00
2024-12-31 20:52:08 -05:00
2024-12-31 15:04:05 -05:00
2024-08-30 11:17:33 -04:00

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

  1. Clone the repository
  2. Create the build directory and configuration
  3. Build and run the application
  4. (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

  • For users, please refer to getting_started.md for instructions on how to use yaze.
  • For developers, please refer to the documentation for information on the project's infrastructure.

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%