Requirements: ninja, clang, glfw 3, vulkan, optional vulkan validation layers
To build, simply run ninja. The binary is out/dce-tests.
Loaded from compressed binary files in release mode and from a json and a folder in debug mode.
Vulkan. Silhouette and Toon shading support.
3D Audio support, likely.
A world is an asset with specification of which entities to load. Also has the terrain
Gameplay code will be written in a scripting language.
All player data is saved to a compressed binary file.
Write sensible code :)
The commit message should be in this format: [MODULE:KIND] MESSAGE
MODULEcan be DCm (math), DCg (graphics), DCd (debug), ... or git (git-related things), doc for docs, test for testsKINDcan be eitherfixfor general fixes,addfor adding new stuff,impfor improvements (rename for example)MESSAGEis a short-ish message describing the changes. The explanation should be in the commit messages "body" if needed.
I can't always answer to issues and PR review takes time and I don't have much of it :( I for certain will answer in 0-1 days.
Each symbol should have a prefix:
DCg/dcgfor graphicsDCm/dcmfor mathsDCd/dcdfor debug- Optional
isuffix for internal names (for exampleDCgi)
Functions:
- Procedural (not
ImageGetAspectRatio, butGetImageAspectRatio) - Lower-case Prefix (
dcgGetMaterialCache) - For creating objects:
preNewObjectType - For destroying objects:
preFreeObjectType - For creating objects that are handled by their parent:
preGetNewObjectType - For returning lists:
size_t preGetList(..., T *list)
Types:
- Do not use
_t! - Upper-case Prefix (
DCgMaterialOptions)