aboutsummaryrefslogtreecommitdiff
path: root/NorthstarDedicatedTest/hoststate.h
diff options
context:
space:
mode:
authorBobTheBob <32057864+BobTheBob9@users.noreply.github.com>2022-05-11 14:11:37 +0100
committerBobTheBob <32057864+BobTheBob9@users.noreply.github.com>2022-05-11 14:11:37 +0100
commit862a115b08017e02b45a786e59feb436d1de278f (patch)
treed45b4920da15a12f1395b4c05cf4babec84e632e /NorthstarDedicatedTest/hoststate.h
parent2dba51a6a281573ea40cc52c80d10155387d4720 (diff)
downloadNorthstarLauncher-862a115b08017e02b45a786e59feb436d1de278f.tar.gz
NorthstarLauncher-862a115b08017e02b45a786e59feb436d1de278f.zip
move hoststate to its own file and add host_init hooks
Diffstat (limited to 'NorthstarDedicatedTest/hoststate.h')
-rw-r--r--NorthstarDedicatedTest/hoststate.h45
1 files changed, 45 insertions, 0 deletions
diff --git a/NorthstarDedicatedTest/hoststate.h b/NorthstarDedicatedTest/hoststate.h
new file mode 100644
index 00000000..4861ac7e
--- /dev/null
+++ b/NorthstarDedicatedTest/hoststate.h
@@ -0,0 +1,45 @@
+#pragma once
+
+// use the R2 namespace for game funxcs
+namespace R2
+{
+ 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;
+} // namespace R2 \ No newline at end of file