backend-infra-engineer: Pre-0.2.2 2024 Q2 snapshot
This commit is contained in:
@@ -1,17 +1,27 @@
|
||||
|
||||
For VSCode users, use the following CMake extensions with MinGW-w64
|
||||
|
||||
https://marketplace.visualstudio.com/items?itemName=twxs.cmake
|
||||
https://marketplace.visualstudio.com/items?itemName=ms-vscode.cmake-tools
|
||||
|
||||
https://www.msys2.org/
|
||||
|
||||
Add to environment variables `C:\msys64\mingw64\bin`
|
||||
|
||||
Install the following packages using `pacman -S <package-name>`
|
||||
|
||||
`mingw-w64-x86_64-gcc`
|
||||
`mingw-w64-x86_64-gcc-libs`
|
||||
`mingw-w64-x86_64-cmake`
|
||||
`mingw-w64-x86_64-glew`
|
||||
`mingw-w64-x86_64-lib-png`
|
||||
# Build Instructions
|
||||
|
||||
## Windows
|
||||
|
||||
For VSCode users, use the following CMake extensions with MinGW-w64
|
||||
|
||||
https://marketplace.visualstudio.com/items?itemName=twxs.cmake
|
||||
https://marketplace.visualstudio.com/items?itemName=ms-vscode.cmake-tools
|
||||
|
||||
https://www.msys2.org/
|
||||
|
||||
Add to environment variables `C:\msys64\mingw64\bin`
|
||||
|
||||
Install the following packages using `pacman -S <package-name>`
|
||||
|
||||
`mingw-w64-x86_64-gcc`
|
||||
`mingw-w64-x86_64-gcc-libs`
|
||||
`mingw-w64-x86_64-cmake`
|
||||
`mingw-w64-x86_64-glew`
|
||||
`mingw-w64-x86_64-lib-png`
|
||||
|
||||
# macOS
|
||||
|
||||
- Clang 15.0.1 x86_64-apple-darrwin22.5.0
|
||||
- SDL2 Source v2.26.5
|
||||
- Removed snes_spc
|
||||
- Removed asar_static
|
||||
@@ -2,6 +2,8 @@
|
||||
|
||||
The compression algorithm has multiple implementations with varying levels of quality, based primarily on the implementations made in skarsnik/sneshacking, Zarby89/ZScreamDungeon and ZCompress with optimizations made for C++.
|
||||
|
||||
Currently, the Compress and Uncompress methods from Hyrule Magic are used and all other compression methods are considered deprecated.
|
||||
|
||||
## Key Definitions
|
||||
|
||||
### Constants and Macros:
|
||||
@@ -62,6 +64,3 @@ Using `CompressionContext` to handle compression.
|
||||
- **Compression String Creation**: `CreateCompressionString`
|
||||
- **Compression Result Validation**: Such as `ValidateCompressionResult` and its V3 variant.
|
||||
- **Compression Piece Manipulation**: Like `SplitCompressionPiece` and its V3 variant.
|
||||
|
||||
## Final Notes
|
||||
The YAZE's LC_LZ2 compression scheme provides three versions of compression methodologies with comprehensive support for various commands and modes. It ensures versatility and adaptability for different compression needs.
|
||||
|
||||
@@ -10,19 +10,10 @@ Before you start using YAZE, make sure you have the following:
|
||||
- A copy of "The Legend of Zelda: A Link to the Past" ROM file (US or JP)
|
||||
- Basic knowledge of hexadecimal and binary data
|
||||
|
||||
## Installation
|
||||
To install YAZE, follow these steps based on your platform:
|
||||
|
||||
### Windows
|
||||
|
||||
### MacOS
|
||||
|
||||
### GNU/Linux
|
||||
|
||||
## Usage
|
||||
To use the Link to the Past ROM Editor, follow these steps:
|
||||
|
||||
Open the "ALTTP.sfc" ROM file using the "File" menu.
|
||||
Open the ROM file using the "File" menu.
|
||||
|
||||
...
|
||||
|
||||
|
||||
@@ -23,59 +23,6 @@ For developers to reference.
|
||||
- SDL2
|
||||
- **test**: Contains testing interface `yaze_test`
|
||||
|
||||
## App Organization
|
||||
|
||||
- **Core Namespace**:
|
||||
- Contains fundamental functionalities.
|
||||
- [Common](../src/app/core/common.h)
|
||||
- [Constants](../src/app/core/constants.h)
|
||||
- [Controller](../src/app/core/controller.h)
|
||||
- [Editor](../src/app/core/editor.h)
|
||||
- [Pipeline](../src/app/gui/pipeline.h)
|
||||
- **Editor Namespace**:
|
||||
- Editors are responsible for representing the GUI view and handling user input.
|
||||
- These classes are all controlled by [MasterEditor](../src/app/editor/master_editor.h)
|
||||
- [DungeonEditor](../src/app/editor/dungeon_editor.h)
|
||||
- [GraphicsEditor](../src/app/editor/graphics_editor.h)
|
||||
- [OverworldEditor](../src/app/editor/overworld_editor.h)
|
||||
- [ScreenEditor](../src/app/editor/screen_editor.h)
|
||||
- [SpriteEditor](../src/app/editor/sprite_editor.h)
|
||||
- **Modules**
|
||||
- [AssemblyEditor](../src/app/editor/modules/assembly_editor.h)
|
||||
- [MusicEditor](../src/app/editor/modules/music_editor.h)
|
||||
- [GfxGroupEditor](../src/app/editor/modules/gfx_group_editor.h)
|
||||
- [Tile16Editor](../src/app/editor/modules/tile16_editor.h)
|
||||
- **Emu Namespace**:
|
||||
- Contains business logic for `core::emulator`
|
||||
- [Audio](../src/app/emu/audio/)
|
||||
- [Debug](../src/app/emu/debug/)
|
||||
- [Memory](../src/app/emu/memory/)
|
||||
- [Video](../src/app/emu/video/)
|
||||
- [Emulator](../src/app/emu/emulator.h)
|
||||
- **Gfx Namespace**:
|
||||
- Handles graphics related tasks.
|
||||
- [Bitmap](../src/app/gfx/bitmap.h)
|
||||
- [Compression](../src/app/gfx/compression.h)
|
||||
- [SCAD Format](../src/app/gfx/scad_format.h)
|
||||
- [SNES Palette](../src/app/gfx/snes_palette.h)
|
||||
- [SNES Tile](../src/app/gfx/snes_tile.h)
|
||||
- **Gui Namespace**:
|
||||
- Manages GUI elements.
|
||||
- [Canvas](../src/app/gui/canvas.h)
|
||||
- [Color](../src/app/gui/color.h)
|
||||
- [Icons](../src/app/gui/icons.h)
|
||||
- [Input](../src/app/gui/input.h)
|
||||
- [Style](../src/app/gui/style.h)
|
||||
- [Widgets](../src/app/gui/widgets.h)
|
||||
- **Zelda3 Namespace**:
|
||||
- Holds business logic specific to Zelda3.
|
||||
- [Dungeon](../src/app/zelda3/dungeon/)
|
||||
- [Music](../src/app/zelda3/music/)
|
||||
- [Screen](../src/app/zelda3/screen/)
|
||||
- [Sprite](../src/app/zelda3/sprite/)
|
||||
- [OverworldMap](../src/app/zelda3/overworld_map.h)
|
||||
- [Overworld](../src/app/zelda3/overworld.h)
|
||||
|
||||
### Flow of Control
|
||||
|
||||
- [app/yaze.cc](../src/app/yaze.cc)
|
||||
@@ -142,22 +89,6 @@ This `ROM` class provides methods to manipulate and access data from a ROM.
|
||||
- Specific Zelda 3 data can be loaded if specified.
|
||||
- Palettes are categorized into multiple groups (e.g., `ow_main`, `ow_aux`, `hud`, etc.) and loaded accordingly.
|
||||
|
||||
|
||||
## Overworld
|
||||
|
||||
- [app/zelda3/overworld.cc](../src/app/zelda3/overworld.cc)
|
||||
- [app/zelda3/overworld.h](../src/app/zelda3/overworld.h)
|
||||
- [app/zelda3/overworld_map.cc](../src/app/zelda3/overworld_map.cc)
|
||||
- [app/zelda3/overworld_map.h](../src/app/zelda3/overworld_map.h)
|
||||
|
||||
---
|
||||
|
||||
- **Construction of Tile16 and Tile32**
|
||||
- **Save and Load Resources**
|
||||
- Sprites
|
||||
- Entrances
|
||||
- Tilemaps
|
||||
|
||||
## Bitmap
|
||||
|
||||
- [app/gfx/bitmap.cc](../src/app/gfx/bitmap.cc)
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
# macOS Build Settings
|
||||
|
||||
- Clang 15.0.1 x86_64-apple-darrwin22.5.0
|
||||
- SDL2 Source v2.26.5
|
||||
- Removed snes_spc
|
||||
- Removed asar_static
|
||||
Reference in New Issue
Block a user