Elaztek Developer Hub
Blamite Game Engine - Keystone  00408.01.06.24.1723.blamite
A library that enables the use of Qt in Blamite's editing tools.
Keystone

Keystone is the shared Qt GUI library used by the engine - mostly it's editing kit. It allows for Qt binaries to be stored in a separate bin folder, a well as makes it easy for the various editing tools to share GUI elements.

If you are interested, you can view the cloc output (lines of code) information for this project here: cloc.txt

Features

  • Themes - Keystone has a simple, yet powerful theme system. By acting as a wrapper around Qt's own stylesheet system, hooking into Keystone's resource system and providing a few stylesheet placeholders, the result is a theme system that allows for a great deal of customization of the UI. The best part? Since all of the tools use Keystone for their UI, all editing tools are able to effortlessly support this theme system.
  • Resources - The resource system is fairly primitive, but works fine. Its primary purpose is to make it so that resources can be referenced by an identifier rather than a file path, which also makes it easy for themes to be able to override these resources without any issue.

Versioning

Keystone - and soon, the other projects within Blamite (excluding the engine itself) - utilize Semantic Versioning. Version information is stored in keystone/version/version.cpp as a BlamVersion class. This class is part of the Strings project and aids with version comparison, as well as making it easier to ensure that versions superficially meet Semantic Versioning standards.

Prior to any official release, all non-engine projects will use a major version of 0.

Data Files

Several data files are contained within Keystone, found within the _data folder.

  • 📁 userdata - Contains files that are intended to be user-facing and modifiable.
    • 📁 editor_themes - Placeholder folder for user-created Editor themes.
      • readme.txt - File containing instructions for using the user themes directory.
  • 📁 editor_themes - Contains built-in Editor themes.