diff options
Diffstat (limited to 'NorthstarDedicatedTest/host_state.h')
-rw-r--r-- | NorthstarDedicatedTest/host_state.h | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/NorthstarDedicatedTest/host_state.h b/NorthstarDedicatedTest/host_state.h new file mode 100644 index 00000000..1f3f60a6 --- /dev/null +++ b/NorthstarDedicatedTest/host_state.h @@ -0,0 +1,46 @@ +#pragma once +#include "gameutils.h" + +// hoststate stuff +enum 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; + +void CHostState__FrameUpdateHook(CHostState* thisptr); +void InitializeCHostStateHooks(HMODULE baseAddress); |