Files
yaze/docs/infrastructure.md

5.2 KiB

YAZE Infrastructure Overview

For developers to reference.

Main Components

  • app Namespace: Represents the GUI editor YAZE.
  • cli Namespace: Represents the command line interface Z3ED.

Directory Structure

  • .github/workflows: Contains yaze_test workflow config.
  • assets: Hosts assets like fonts.
  • cmake: Contains CMake configurations.
  • docs: Contains documentation for users and developers.
  • src: Contains source files.
    • lib: Contains git submodule dependencies.
  • test: Contains test files and configurations.

App Organization

Flow of Control

Bitmap

Located in app/gfx/bitmap.cc

  • Initialization: Offers multiple constructors to create bitmaps using different data types.
  • Palette Application: Provides grayscale palettes and can convert SNESPalette to SDL_Palette.
  • Texture Handling: Can create and update textures based on SDL surfaces.
  • SDL Surface Management: Allows for the creation, modification, and saving of SDL surfaces.
  • Memory Management: Uses smart pointers for efficient memory utilization and cleanup.

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
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

Further Development Ideas

  • Extend zelda3 namespace with additional functionalities.
  • Optimize program performance.
  • Introduce new features in the GUI editor.