From bacaa41850e5500953f3c6792866dd0c7bf782f7 Mon Sep 17 00:00:00 2001 From: realtradam Date: Wed, 19 Apr 2023 17:35:23 -0400 Subject: turn readme into checklist --- Readme.md | 59 +++++++++++++++++++++++++++-------------------------------- 1 file changed, 27 insertions(+), 32 deletions(-) diff --git a/Readme.md b/Readme.md index d1ce5f7..1b7b98d 100644 --- a/Readme.md +++ b/Readme.md @@ -9,57 +9,52 @@ Design planning for this project is "Game Oriented", meaning that I would like t The goal of this style of design approach is to avoid over-thinking of future design, as well as to save time from implementing features that go unused. -## Implemented +## Short-Term Roadmap ### Rendering -- Implementented low level 2D rendering system by collecting vertices/indices and then uploading them in batches to the GPU through [BGFX](https://github.com/bkaradzic/bgfx). -- Implemented loading and drawing textures. -- Implemented shader that allows tinting of any textures drawn. +- [x] Low level 2D rendering system by collecting vertices/indices and then uploading them in batches to the GPU through [BGFX](https://github.com/bkaradzic/bgfx). +- [x] Loading and drawing textures. +- [x] Default shader that allows tinting of any textures drawn. ### Input -- Callback event-based input system. -- Bind inputs(such as character keys) to function pointers. Once the key is pressed the function is called. - -#### Input To-Do: - -- Abstract into "commands" which allows naming, adding functions, adding multiple inputs, and assigning to "scenes" that can be enabled or disabled. -- Implementing further input abstractions by 4 categories: - - Binary (such as keys on a keyboard, or buttons on a controller) - - Bounded Range (such as the x and y joysticks on a controller) - - Unbounded Range (such as the x and y mouse delta) - - Positional (such as the position of a mouse) +- [x] Callback event-based input system. +- [x] Bind inputs(such as character keys) to function pointers. Once the key is pressed the function is called. +- [ ] Abstract into "commands" which allows naming, adding functions, adding multiple inputs, and assigning to "scenes" that can be enabled or disabled. +- [ ] Implementing further input abstractions by 4 categories: + - [x] Binary (such as keys on a keyboard, or buttons on a controller) + - [ ] Bounded Range (such as the x and y joysticks on a controller) + - [ ] Unbounded Range (such as the x and y mouse delta) + - [ ] Positional (such as the position of a mouse) ### Logging -- Implemented logging system with 3 different levels(info, warn, error). -- System allows for setting your own logging function instead if the default "print to console" is not desired. +- [x] Implemented logging system with 3 different levels(info, warn, error). +- [x] System allows for setting your own logging function instead if the default "print to console" is not desired. +- [ ] Option to disable specific warning levels. ### Build System -- CMake build system which manages pulling dependencies from git-submodules and building them automatically as required. -- Builds for both desktop(Linux) and web(Emscripten) platforms. - -#### Build System To-Do - -- Build for the Windows desktop platform. - -## Short-Term Roadmap +- [x] CMake build system which manages pulling dependencies from git-submodules and building them automatically as required. +- [ ] Builds for all target platforms. + - [x] Linux. + - [x] Web(Emscripten). + - [ ] Windows. ### Sound -- A system for loading sounds and music, as well as playing it. +- [ ] A system for loading sounds and music, as well as playing it. ### Documentation -- Add short descriptions above each function. -- Automated static site generator for the documentation, in the style of the [Raylib Cheatsheet](https://www.raylib.com/cheatsheet/cheatsheet.html). -- Example games showing off common usages of the kit. +- [ ] Add short descriptions above each function. +- [ ] Automated static site generator for the documentation, in the style of the [Raylib Cheatsheet](https://www.raylib.com/cheatsheet/cheatsheet.html). +- [ ] Example games showing off common usages of the kit. ### Scripting Bindings -- Bindings to an embedded version of Ruby known as mruby. -- Create bindings directly to C versions of functions. -- Create comfortable API on top of the direct bindings. +- [ ] Bindings to an embedded version of Ruby known as mruby. +- [ ] Create bindings directly to C versions of functions. +- [ ] Create comfortable API on top of the direct bindings. -- cgit v1.2.3