diff options
| author | Jonathan Bradley <jcb@pikum.xyz> | 2023-12-19 13:32:31 -0500 |
|---|---|---|
| committer | Jonathan Bradley <jcb@pikum.xyz> | 2023-12-23 11:41:03 -0500 |
| commit | 04f5688a37030aa8598ded416f05d0cc979c37d6 (patch) | |
| tree | ce0bec713c49d6dda66a28f1246e1443d271b8f2 /src/game-settings.hpp | |
| parent | c7c678651a30db30e449e965e6c82ad0dcb871e6 (diff) | |
loading scenes and projects can now be done via args
Diffstat (limited to 'src/game-settings.hpp')
| -rw-r--r-- | src/game-settings.hpp | 24 |
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; |
