summaryrefslogtreecommitdiff
path: root/src/game-settings.hpp
diff options
context:
space:
mode:
authorJonathan Bradley <jcb@pikum.xyz>2023-12-19 13:32:31 -0500
committerJonathan Bradley <jcb@pikum.xyz>2023-12-23 11:41:03 -0500
commit04f5688a37030aa8598ded416f05d0cc979c37d6 (patch)
treece0bec713c49d6dda66a28f1246e1443d271b8f2 /src/game-settings.hpp
parentc7c678651a30db30e449e965e6c82ad0dcb871e6 (diff)
loading scenes and projects can now be done via args
Diffstat (limited to 'src/game-settings.hpp')
-rw-r--r--src/game-settings.hpp24
1 files changed, 20 insertions, 4 deletions
diff --git a/src/game-settings.hpp b/src/game-settings.hpp
index 7bc6765..10be624 100644
--- a/src/game-settings.hpp
+++ b/src/game-settings.hpp
@@ -1,6 +1,7 @@
#ifndef PKE_GAME_SETTINGS_HPP
#define PKE_GAME_SETTINGS_HPP
+#include "level-types.hpp"
#include "memory-type-defs.hpp"
#include <chrono>
@@ -8,7 +9,6 @@
struct GameSettings {
const char *executablePath;
- const char *pluginPath = nullptr;
bool isGameRunning = true;
bool isGamePaused = false;
bool isShowingEditor = true;
@@ -19,20 +19,36 @@ struct GameSettings {
int64_t minFPS = 20;
double deltaPerFrame = 1.0 / double(targetFPS);
double minimumDeltaPerFrame = 1.0 / double(minFPS);
- struct {
+ struct editor {
bool isUsingDebugCamera = false;
bool isShowingConsole = true;
bool isShowingEntityList = true;
bool isShowingSceneEditor = true;
bool isShowingUBO = true;
} editorSettings;
- struct {
+ struct graphics {
bool isFramerateUnlocked = false;
bool isWaitingForVsync = true;
} graphicsSettings;
- struct {
+ struct memory {
MemBucket *bkt = nullptr;
} mem;
+ struct engineArgs {
+ const char *pluginPath = nullptr;
+ const char *projectPath = nullptr;
+ const char *sceneName = nullptr;
+ } args;
+ struct runtime {
+ // current level
+ LevelHandle activeLevel = LevelHandle_MAX;
+ // level to start loading
+ LevelHandle nextLevel = LevelHandle_MAX;
+ // level to unload
+ LevelHandle previousLevel = LevelHandle_MAX;
+ const char *sceneName = nullptr;
+ bool shouldLoadScene = false;
+ bool shouldSaveScene = false;
+ } rt;
};
extern GameSettings pkeSettings;