Files
yaze/docs/infrastructure.md
2024-08-10 11:47:17 -04:00

3.2 KiB

Infrastructure Overview

For developers to reference.

Z3ED cli

Command Arg Params Status
Apply BPS Patch -a rom_file bps_file In progress
Create BPS Patch -c bps_file src_file modified_file Not started
Asar Patch -asar asm_file rom_file In progress
Open ROM -o rom_file Complete
Backup ROM -b rom_file [new_file] In progress
Expand ROM -x rom_file file_size Not started
Transfer Tile16 -t src_rom dest_rom tile32_id_list(csv) Complete
Export Graphics -e rom_file bin_file In progress
Import Graphics -i bin_file rom_file Not started
SNES to PC Address -s address Complete
PC to SNES Address -p address Complete

Targets

  • yaze: Desktop application for Windows/macOS/Linux
  • z3ed: Command Line Interface
  • yaze_c: C Library
  • yaze_py: Python Module
  • yaze_ext: Extensions library
  • yaze_test: Unit test executable

Directory Structure

  • assets: Hosts assets like fonts, icons, assembly source, etc.
  • cmake: Contains CMake configurations.
  • docs: Contains documentation for users and developers.
  • src: Contains source files.
    • app: Contains the GUI editor yaze
    • base: Contains the base data headers for yaze_c
    • cli: Contains the command line interface z3ed
    • ext: Contains the extensions library yaze_ext
    • py: Contains the Python module yaze_py
    • lib: Contains the dependencies as git submodules
  • test: Contains testing interface yaze_test

Flow of Control

Rom

The Rom class provides methods to manipulate and access data from a ROM.

Bitmap

This class is responsible for creating, managing, and manipulating bitmap data, which can be displayed on the screen using SDL2 Textures and the ImGui draw list.