X-Git-Url: https://git.xonotic.org/?a=blobdiff_plain;f=host.h;h=61182b5242c1140449824f6488854c03f3c4a780;hb=3a9bae6363ee109af0bc7877e53ea747fc1846e0;hp=4d0ee33941153041f00cb1135a4211523219ac30;hpb=f40ee385f633869bc533b7f1fc8412685476fefd;p=xonotic%2Fdarkplaces.git diff --git a/host.h b/host.h index 4d0ee339..61182b52 100644 --- a/host.h +++ b/host.h @@ -5,6 +5,18 @@ #include "qtypes.h" #include "qdefs.h" #include "cmd.h" +#include "cvar.h" + +extern cvar_t developer; +extern cvar_t developer_entityparsing; +extern cvar_t developer_extra; +extern cvar_t developer_insane; +extern cvar_t developer_loadfile; +extern cvar_t developer_loading; +extern cvar_t host_isclient; +extern cvar_t sessionid; + +struct cmd_state_s; typedef enum host_state_e { @@ -14,14 +26,14 @@ typedef enum host_state_e host_active } host_state_t; -typedef struct host_s +typedef struct host_static_s { jmp_buf abortframe; int state; - int framecount; // incremented every frame, never reset (checked by Host_Error and Host_SaveConfig_f) + unsigned int framecount; // incremented every frame, never reset (checked by Host_Error and Host_SaveConfig_f) double realtime; // the accumulated mainloop time since application started (with filtering), without any slowmo or clamping double dirtytime; // the main loop wall time for this frame, equal to Sys_DirtyTime() at the start of this host frame - double sleeptime; // time spent sleeping overall + double sleeptime; // time spent sleeping after the last frame qbool restless; // don't sleep qbool paused; // global paused state, pauses both client and server cmd_buf_t *cbuf; @@ -29,22 +41,23 @@ typedef struct host_s struct { void (*ConnectLocal)(void); + void (*Disconnect)(qbool, const char *, ... ); + void (*ToggleMenu)(void); + qbool (*CL_Intermission)(void); // Quake compatibility + void (*CL_SendCvar)(struct cmd_state_s *); + void (*SV_SendCvar)(struct cmd_state_s *); + void (*SV_Shutdown)(void); } hook; -} host_t; +} host_static_t; -extern host_t host; +extern host_static_t host; -void Host_InitCommands(void); void Host_Main(void); -double Host_Frame(double time); void Host_Shutdown(void); -void Host_StartVideo(void); void Host_Error(const char *error, ...) DP_FUNC_PRINTF(1) DP_FUNC_NORETURN; void Host_LockSession(void); void Host_UnlockSession(void); -void Host_AbortCurrentFrame(void); -void Host_SaveConfig(void); -void Host_LoadConfig_f(cmd_state_t *cmd); -void Host_NoOperation_f(cmd_state_t *cmd); +void Host_AbortCurrentFrame(void) DP_FUNC_NORETURN; +void Host_SaveConfig(const char *file); #endif