aboutsummaryrefslogtreecommitdiff
path: root/primedev/engine/hoststate.h
diff options
context:
space:
mode:
Diffstat (limited to 'primedev/engine/hoststate.h')
-rw-r--r--primedev/engine/hoststate.h41
1 files changed, 41 insertions, 0 deletions
diff --git a/primedev/engine/hoststate.h b/primedev/engine/hoststate.h
new file mode 100644
index 00000000..290903ab
--- /dev/null
+++ b/primedev/engine/hoststate.h
@@ -0,0 +1,41 @@
+#pragma once
+
+enum class HostState_t
+{
+ HS_NEW_GAME = 0,
+ HS_LOAD_GAME,
+ HS_CHANGE_LEVEL_SP,
+ HS_CHANGE_LEVEL_MP,
+ HS_RUN,
+ HS_GAME_SHUTDOWN,
+ HS_SHUTDOWN,
+ HS_RESTART,
+};
+
+struct CHostState
+{
+public:
+ HostState_t m_iCurrentState;
+ HostState_t m_iNextState;
+
+ float m_vecLocation[3];
+ float m_angLocation[3];
+
+ char m_levelName[32];
+ char m_mapGroupName[32];
+ char m_landmarkName[32];
+ char m_saveName[32];
+ float m_flShortFrameTime; // run a few one-tick frames to avoid large timesteps while loading assets
+
+ bool m_activeGame;
+ bool m_bRememberLocation;
+ bool m_bBackgroundLevel;
+ bool m_bWaitingForConnection;
+ bool m_bLetToolsOverrideLoadGameEnts; // During a load game, this tells Foundry to override ents that are selected in Hammer.
+ bool m_bSplitScreenConnect;
+ bool m_bGameHasShutDownAndFlushedMemory; // This is false once we load a map into memory, and set to true once the map is unloaded
+ // and all memory flushed
+ bool m_bWorkshopMapDownloadPending;
+};
+
+extern CHostState* g_pHostState;