quakeforge/nq/include/host.h
Bill Currie e86e93551d [nq] Remove some more bandaids
More host cleanup. The client now processes input itself, as does the
server, but only if running a dedicated server. The server no longer
blocks sound when loading a map as it shouldn't know anything about
sound. This will probably need something done in the client, but moving
the server into a separate thread will have that effect anyway.
2022-05-26 17:10:23 +09:00

72 lines
2 KiB
C

/*
host.h
@description@
Copyright (C) 1996-1997 Id Software, Inc.
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to:
Free Software Foundation, Inc.
59 Temple Place - Suite 330
Boston, MA 02111-1307, USA
*/
#ifndef __host_h
#define __host_h
#include "QF/qtypes.h"
typedef struct
{
int argc;
const char **argv;
} quakeparms_t;
extern quakeparms_t host_parms;
extern float sys_ticrate;
extern int sys_nostdout;
extern int developer;
extern int pausable;
extern int viewentity;
extern int host_speeds;
extern qboolean host_initialized; // true if into command execution
extern double host_frametime;
extern int host_framecount; // incremented every frame, never reset
extern int host_in_game; // input focus goes to the game
extern double realtime; // not bounded in any way, changed at
// start of every frame, never reset
extern struct cbuf_s *host_cbuf;
void Host_ClearMemory (void);
void Host_SpawnServer (void);
void Host_OnServerSpawn (void (*onSpawn)(void));
void Host_InitCommands (void);
void Host_Init (void);
void Host_Shutdown(void *data);
void Host_Error (const char *error, ...) __attribute__((format(PRINTF,1,2), noreturn));
void Host_EndGame (const char *message, ...) __attribute__((format(PRINTF,1,2), noreturn));
void Host_Frame (float time);
void Host_Quit_f (void) __attribute__((noreturn));
void Host_ClientCommands (const char *fmt, ...) __attribute__((format(PRINTF,1,2)));
void Host_ShutdownServer (qboolean crash);
#endif // __host_h