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
MODULE
can be DCm (math), DCg (graphics), DCd (debug), ... or git (git-related things), doc for docs, test for testsKIND
can be eitherfix
for general fixes,add
for adding new stuff,imp
for improvements (rename for example)MESSAGE
is 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
/dcg
for graphicsDCm
/dcm
for mathsDCd
/dcd
for debug- Optional
i
suffix 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
)