53 lines
1.7 KiB
Markdown
53 lines
1.7 KiB
Markdown
# YAZE Infrastructure Overview
|
|
|
|
For developers to reference.
|
|
|
|
## Directory Structure
|
|
|
|
- **.github/workflows**: Contains workflow configuration for running yaze_test.
|
|
- **assets**: Hosts assets like fonts.
|
|
- **cmake**: Contains CMake configurations.
|
|
- **docs**: Stores documentation.
|
|
- **src**: Source files.
|
|
- **test**: Contains test files and configurations.
|
|
|
|
## Main Components
|
|
|
|
- `app` Namespace: Represents the GUI editor YAZE.
|
|
- `cli` Namespace: Represents the command line interface Z3ED.
|
|
|
|
## YAZE app
|
|
|
|
- **Core Namespace**:
|
|
- Contains fundamental functionalities.
|
|
- **Editor Namespace**:
|
|
- Represents the GUI view.
|
|
- Contains a class holding objects such as `zelda3::Overworld` and `gfx::Bitmap` for rendering and user input handling.
|
|
- **Gfx Namespace**:
|
|
- Handles graphics-related tasks.
|
|
- **Gui Namespace**:
|
|
- Manages GUI elements.
|
|
- **Zelda3 Namespace**:
|
|
- Holds business logic specific to Zelda3.
|
|
|
|
## 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.
|