X-Git-Url: https://git.xonotic.org/?a=blobdiff_plain;f=host.h;h=4521f72b7983a50c57b60b436520613e91222f2e;hb=d7c6a4d737c8f59bab92b37e0039882aa88a6dc8;hp=15b7ab93f6f9335730ac3116166b52bef020b9cd;hpb=75bb9b3239f87d7c9e7f809dd83507166cd39079;p=xonotic%2Fdarkplaces.git diff --git a/host.h b/host.h index 15b7ab93..4521f72b 100644 --- a/host.h +++ b/host.h @@ -1,3 +1,13 @@ +#ifndef HOST_H +#define HOST_H + +#include +#include "qtypes.h" +#include "qdefs.h" +#include "cmd.h" + +struct cmd_state_s; + typedef enum host_state_e { host_shutdown, @@ -6,7 +16,7 @@ typedef enum host_state_e host_active } host_state_t; -typedef struct host_s +typedef struct host_static_s { jmp_buf abortframe; int state; @@ -21,18 +31,23 @@ typedef struct host_s struct { void (*ConnectLocal)(void); + void (*Disconnect)(void); + 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_NoOperation_f(cmd_state_t *cmd); void Host_LockSession(void); void Host_UnlockSession(void); -void Host_AbortCurrentFrame(void); +void Host_AbortCurrentFrame(void) DP_FUNC_NORETURN; +void Host_SaveConfig(const char *file); + +#endif