ref: a8a53b1228ec040b0b449150b7d62b06a8c7f4e1
dir: /code/unix/qk3ded.c/
#include "../game/q_shared.h"
#include "../qcommon/qcommon.h"
#include "../renderer/tr_public.h"
#include "../client/client.h"
#include <thread.h>
void *
emalloc(ulong n)
{
void *p;
if((p = mallocz(n, 1)) == nil)
sysfatal("emalloc %r");
setmalloctag(p, getcallerpc(&n));
return p;
}
static void
Sys_ConsoleInputInit(void)
{
/* FIXME: on exit: Sys_Exit(0) */
}
void
threadmain(int argc, char **argv)
{
int i, len;
char *args;
Sys_SetDefaultCDPath(argv[0]);
/* FIXME: no. */
for(len=1, i=1; i<argc; i++)
len += strlen(argv[i]) + 1;
args = emalloc(len);
for(i=1; i<argc; i++){
if(i > 1)
strcat(args, " ");
strcat(args, argv[i]);
}
Com_Init(args);
NET_Init();
Sys_ConsoleInputInit();
setfcr(getfcr() & ~(FPINVAL|FPZDIV));
for(;;)
Com_Frame();
}