Add infrastructure doc for developers
This commit is contained in:
52
docs/infrastructure.md
Normal file
52
docs/infrastructure.md
Normal file
@@ -0,0 +1,52 @@
|
||||
# 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.
|
||||
Reference in New Issue
Block a user