#include "uniquake.h" #include "../Quake/quakedef.h" #ifdef USE_FMOD typedef struct FMOD_SYSTEM FMOD_SYSTEM; extern FMOD_SYSTEM *fmod_system; extern int fmod_playernumber; UNIQUAKE_API void UniQuake_SetFmodSystem(FMOD_SYSTEM *system, int playernumber) { fmod_system = system; fmod_playernumber = playernumber; } #endif UNIQUAKE_API void UniQuake_Init(quakeparms_t *parms, const unity_syscalls_t *syscalls, const unity_glcalls_t *glcalls) { host_parms = parms; unity_syscalls = syscalls; unity_glcalls = glcalls; COM_InitArgv(parms->argc, parms->argv); parms->argc = com_argc; parms->argv = com_argv; // UniQuake won't support dedicated servers at all isDedicated = false; #ifdef USE_LIBSDL Sys_InitSDL(); #endif if (!parms->userdir) parms->userdir = parms->basedir; // Code elsewhere relies on this Host_Init(); } UNIQUAKE_API void UniQuake_Update(float deltaTime) { Host_Frame(deltaTime); } UNIQUAKE_API void UniQuake_Shutdown() { Host_Shutdown(); #ifdef USE_LIBSDL Sys_AtExit(); #endif }