Update developer handbook

This commit is contained in:
Gary Talent 2023-11-23 18:22:22 -06:00
parent b946e428ad
commit ed5271166e

View File

@ -20,30 +20,42 @@ All components have a platform indicator next to them:
(-G) - GBA
(P-) - PC
* GlUtils - OpenGL helpers (P-)
* Keel - asset management system (PG)
* Turbine - platform abstraction and user I/O (PG)
* gba - GBA implementation (PG)
* glfw - GLFW implementation (P-)
* Studio - where most of the studio code lives as library (P-)
* applib - used for per project studio executables
* modlib - used for studio modules to interact with studio
* Nostalgia
* core - platform abstraction and user I/O (PG)
* gba - GBA implementation (-G)
* glfw - GLFW implementation (P-)
* userland - common things needed by all non-bare-metal implementations (P-)
* studio - studio plugin for core (P-)
* geo - geometry types (PG)
* glutils - OpenGL helpers (P-)
* modules
* core - graphics system for Nostalgia (PG)
* gba - GBA implementation (PG)
* opengl - OpenGL implementation (P-)
* studio - studio plugin for core (P-)
* keel - keel plugin for core (PG)
* scene - defines & processes map data (PG)
* studio - studio plugin for scene (P-)
* keel - keel plugin for scene (PG)
* player - plays the games (PG)
* studio - makes the games (P-)
* tools - command line tools (P-)
* pack - packs a studio project directory into an OxFS file (P-)
* world - defines processes map data (PG)
* studio - studio plugin for world (P-)
* deps - project dependencies
* Ox - Library of things useful for portable bare metal and userland code. Not really that external...
* clargs - Command Line Args processing (PG)
* claw - Reads and writes Metal or Organic Claw with header to indicate which
* event - Qt-like signal system
* fs - file system (PG)
* logconn - connects logging to Bullock (P-)
* mc - Metal Claw serialization, builds on model (PG)
* oc - Organic Claw serialization (wrapper around JsonCpp), builds on model (P-)
* model - Data structure modelling (PG)
* preloader - library for handling preloading of data (PG)
* std - Standard-ish Library with a lot missing and some things added (PG)
* GbaStartup - GBA assembly startup code, mostly pulled from devkitPro under MPL 2.0 (-G)
* teagba - GBA assembly startup code (mostly pulled from devkitPro under MPL
2.0), and custom GBA hardware interop code (-G)
## Code Base Conventions
@ -526,7 +538,7 @@ ox::Result<ox::Buffer> writeSpritePalette1(NostalgiaPalette *pal) noexcept {
std::size_t sz = 0;
oxReturnError(ox::writeMC(buffer.data(), buffer.size(), pal, &sz));
buffer.resize(sz);
return std::move(buffer);
return buffer;
}
ox::Result<ox::Buffer> writeSpritePalette2(NostalgiaPalette *pal) noexcept {
@ -564,7 +576,7 @@ ox::Result<NostalgiaPalette> loadPalette3(const Buffer &buff) noexcept {
ox::Result<ox::Buffer> writeSpritePalette1(NostalgiaPalette *pal) noexcept {
ox::Buffer buffer(ox::units::MB);
oxReturnError(ox::writeOC(buffer.data(), buffer.size(), pal));
return std::move(buffer);
return buffer;
}
ox::Result<ox::Buffer> writeSpritePalette2(NostalgiaPalette *pal) noexcept {