You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

53 lines
1021 B

#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
}