From ed5271166e7c608f821e993d141ccd2131c5b36c Mon Sep 17 00:00:00 2001 From: Gary Talent Date: Thu, 23 Nov 2023 18:22:22 -0600 Subject: [PATCH] Update developer handbook --- developer-handbook.md | 36 ++++++++++++++++++++++++------------ 1 file changed, 24 insertions(+), 12 deletions(-) diff --git a/developer-handbook.md b/developer-handbook.md index 32931516..69487585 100644 --- a/developer-handbook.md +++ b/developer-handbook.md @@ -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 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 writeSpritePalette2(NostalgiaPalette *pal) noexcept { @@ -564,7 +576,7 @@ ox::Result loadPalette3(const Buffer &buff) noexcept { ox::Result 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 writeSpritePalette2(NostalgiaPalette *pal) noexcept {