summaryrefslogtreecommitdiff
path: root/src/core.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/core.h')
-rw-r--r--src/core.h29
1 files changed, 22 insertions, 7 deletions
diff --git a/src/core.h b/src/core.h
index 1b3e28b..1031868 100644
--- a/src/core.h
+++ b/src/core.h
@@ -1,23 +1,38 @@
#pragma once
-#include "defines.h"
#include "input.h"
-#include "render_types.h"
+#include "scene.h"
#include "screenspace.h"
+#include "terrain.h"
#include "text.h"
-#include "threadpool.h"
+// #include "threadpool.h"
typedef struct core {
+ const char* app_name;
+ // foundations
renderer renderer;
- threadpool threadpool;
+ // threadpool threadpool;
+ // systems
input_state input;
text_system_state text;
+ terrain_state terrain;
screenspace_state screenspace;
+ // data storage
+ scene default_scene;
model_darray* models;
} core;
+core* get_global_core();
+
// --- Lifecycle
-core* core_bringup();
-void core_shutdown(core* core);
-void core_input_update(core* core);
+/** @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();