galaxy icon indicating copy to clipboard operation
galaxy copied to clipboard

Project: Spring Clean

Open reworks-org opened this issue 3 years ago • 0 comments

Project:

  • [x] Clang-Tidy.
  • [x] MS Code Analysis.
  • [x] Update Clang-Format config.
  • [ ] Include-What-You-Use.
  • [x] Repo Cleanup.
  • [x] Readme Update.
  • [x] External CI/CD.
  • [ ] Linux Support.
  • [x] Doxygen update.
  • [ ] Doxygen Error Checking + Reporting (if found).
  • [ ] CodeCov.
  • [x] Automated Test Building.
  • [x] Automated test running.
  • [ ] Add supercluster images/readme/videos to repo readme.
  • [x] Review Best Practices.
  • [x] Improve project build speed.
  • [ ] clang-format

External Dependencies:

  • [x] Each External Dependency needs to be included in deps or be built with cmake + msbuild.
  • [x] Ensure each is on a stable branch and is needed.

Optimizations:

  • [ ] https://gameprogrammingpatterns.com/optimization-patterns.html

Algorithms:

  • [x ] Generic Algorithms
  • [x] zLib
  • [x] Base64
  • [x] Random Number Gen
  • [x] gZip

ASync:

  • [x] ThreadPool
    • [x] Task
  • [x] Timer

Audio:

  • [x] Use OpenAL.
  • [ ] Supported by SceneGraph.
  • [x] Fully implement OpenAL specification.
  • [ ] Needs reference to a global audio service.
  • [ ] Audio and Threads need to be locked to a scene.
  • [ ] Lua Support.
  • [ ] Sound effects should be played without having to be instanciated repeatedly.
  • [ ] Same with music.

Core:

  • [x] Service Locator.
  • [x] Configuration Header.
  • [x] Configuration Loader.

ECS:

  • [ ] Split Systems into Systems (single threaded) and processes (async). See https://old.reddit.com/r/gamedev/comments/ugr3wg/improving_upon_entity_component_systems/

Error Handling:

  • [x] Async logging.
  • [x] Compile Time logging.
  • [x] Custom formatting support.
  • [x] Logging to different sinks
  • [x] Colour, Levels.
  • [x] DateTime stamp.
  • [x] Nice output format.
  • [x] Console Sink
  • [x] File Sink

Events:

  • [x] Observer - Signals & Slots?
  • [x] Dispatcher / Subscriber pattern
  • [x] User input events.

FileSystem:

  • [x] Serialization to JSON
  • [x] zlib compressable serialized objects.
  • Virtual FileSystem
    • [x] Create File / Folder
    • [x] Delete File / Folder
    • [x] Map to a root folder
    • [x] Binary archive support
    • [x] read / write file
    • [x] read / write binary file
    • [x] read / write file dialog
    • [x] List files in directory
    • [x] search w/ hint

Meta:

  • [x] Project related static configs.
  • [x] Template metaprogramming helpers.

Platform:

  • [x] Windows/Unix Terminal Setup
  • [x] SubProcess launching.

Scripting:

  • [x] Lua
  • [x] Json

reworks-org avatar Oct 10 '21 08:10 reworks-org