diff options
Diffstat (limited to 'src/core/core.h')
-rw-r--r-- | src/core/core.h | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/src/core/core.h b/src/core/core.h new file mode 100644 index 0000000..89702fd --- /dev/null +++ b/src/core/core.h @@ -0,0 +1,40 @@ +#pragma once + +#include "input.h" +#include "render_types.h" +#include "scene.h" +#include "screenspace.h" +#include "terrain.h" +#include "text.h" +// #include "threadpool.h" + +typedef struct core { + const char* app_name; + // foundations + renderer renderer; + // threadpool threadpool; + // systems + input_state input; + text_system_state text; + terrain_state terrain; + screenspace_state screenspace; + // data storage + scene default_scene; + model_pool models; + // model_darray* models; +} core; + +core* get_global_core(); + +// --- Lifecycle + +/** @brief Throws error if the core cannot be instantiated */ +void core_bringup(); +void core_shutdown(); +bool should_exit(); + +void frame_begin(); +void frame_draw(); +void frame_end(); + +void core_input_update(); |