benreid24 / BLIB

Small organized collection of common code I have accumulated over the years that has amassed into a proper 2d game engine
1 stars 0 forks source link

Create BLIB provided entrypoint #156

Closed benreid24 closed 1 week ago

benreid24 commented 1 year ago

Create a CMake function to configure it. Entrypoint should manage all engine startup/shutdown steps in proper order. Can use Peoplemon-3 main() as a reference.

Look at Peoplemon entrypoints to determine what should go in main. Use latest BLIB version and update usage. Setup current best practices for properties, constants, etc. Could consider bringing down more structure from peoplemon as well, such as systems, the core/editor/game split, and anything else.

Bring down the concept of saving properties to disk. Bring down the window size persistence as a setting.

Create new namespace bl::game with declarations of functions end users should provide:

Update the template project. Should have an init section where BLIB engine properties (spritesheet location, overlay size, etc) are set. Serves as documentation for what options exist.

A feature for arbitrary code locations to register init callbacks would be nice as well. Could have several stages of initialization or just run all init immediately prior to entering main game loop. Would be useful for creating pipelines.

Task list: