summaryrefslogtreecommitdiff
path: root/src/game-settings.hpp
blob: 1131e6d0ea7f5ea7c1ee3f84fe0a8f133a59a37b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#ifndef PKE_GAME_SETTINGS_HPP
#define PKE_GAME_SETTINGS_HPP

#include <chrono>
#include <cstdint>

struct GameSettings {
	bool isGameRunning = true;
	bool isGamePaused = false;
	bool isShowingEditor = true;
	bool isRenderingDebug = false;
	bool isSimulationPaused = false;
	std::chrono::steady_clock steadyClock;
	int64_t targetFPS = 144;
	int64_t minFPS = 20;
	double deltaPerFrame = 1.0 / double(targetFPS);
	double minimumDeltaPerFrame = 1.0 / double(minFPS);
	struct {
		bool isUsingDebugCamera = false;
		bool isShowingConsole = true;
		bool isShowingEntityList = true;
		bool isShowingSceneEditor = true;
		bool isShowingUBO = true;
	} editorSettings;
	struct {
		bool isFramerateUnlocked = false;
		bool isWaitingForVsync = true;
	} graphicsSettings;
};

extern GameSettings pkeSettings;

#endif /* PKE_GAME_SETTINGS_HPP */