X-Git-Url: http://de.git.xonotic.org/?p=xonotic%2Fdarkplaces.git;a=blobdiff_plain;f=sys_shared.c;h=9b4aea623989069b6ad652e912625c7ef3609052;hp=37c48306f2d5dce2258cfe3b028a459a71b15250;hb=36d38ac2f10b1f0d4006694075e06ad284204ffe;hpb=426d3967446d906a9612ae09e6748d3dad26c60f diff --git a/sys_shared.c b/sys_shared.c index 37c48306..9b4aea62 100644 --- a/sys_shared.c +++ b/sys_shared.c @@ -7,47 +7,7 @@ # include #endif -extern cvar_t timestamps; -extern cvar_t timeformat; - -static int sys_nostdout = false; - -/* The translation table between the graphical font and plain ASCII --KB */ -static char qfont_table[256] = { - '\0', '#', '#', '#', '#', '.', '#', '#', - '#', 9, 10, '#', ' ', 13, '.', '.', - '[', ']', '0', '1', '2', '3', '4', '5', - '6', '7', '8', '9', '.', '<', '=', '>', - ' ', '!', '"', '#', '$', '%', '&', '\'', - '(', ')', '*', '+', ',', '-', '.', '/', - '0', '1', '2', '3', '4', '5', '6', '7', - '8', '9', ':', ';', '<', '=', '>', '?', - '@', 'A', 'B', 'C', 'D', 'E', 'F', 'G', - 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', - 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', - 'X', 'Y', 'Z', '[', '\\', ']', '^', '_', - '`', 'a', 'b', 'c', 'd', 'e', 'f', 'g', - 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', - 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', - 'x', 'y', 'z', '{', '|', '}', '~', '<', - - '<', '=', '>', '#', '#', '.', '#', '#', - '#', '#', ' ', '#', ' ', '>', '.', '.', - '[', ']', '0', '1', '2', '3', '4', '5', - '6', '7', '8', '9', '.', '<', '=', '>', - ' ', '!', '"', '#', '$', '%', '&', '\'', - '(', ')', '*', '+', ',', '-', '.', '/', - '0', '1', '2', '3', '4', '5', '6', '7', - '8', '9', ':', ';', '<', '=', '>', '?', - '@', 'A', 'B', 'C', 'D', 'E', 'F', 'G', - 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', - 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', - 'X', 'Y', 'Z', '[', '\\', ']', '^', '_', - '`', 'a', 'b', 'c', 'd', 'e', 'f', 'g', - 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', - 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', - 'x', 'y', 'z', '{', '|', '}', '~', '<' -}; +qboolean sys_nostdout = false; static char sys_timestring[128]; char *Sys_TimeString(const char *timeformat) @@ -58,43 +18,10 @@ char *Sys_TimeString(const char *timeformat) } -#define MAXPRINTMSG 16384 - -void Sys_Print(const char *msg) -{ - unsigned char *p; - // String we print - char final[MAXPRINTMSG]; - - if (sys_nostdout) - return; - - if (timestamps.integer) - snprintf(final, sizeof(final), "%s%s", Sys_TimeString(timeformat.string), msg); - else - strlcpy (final, msg, sizeof (final)); - - // LordHavoc: make sure the string is terminated - final[MAXPRINTMSG-1] = 0; - for (p = (unsigned char *) final;*p; p++) - *p = qfont_table[*p]; - Sys_PrintToTerminal(final); -} - -void Sys_Printf(const char *fmt, ...) -{ - va_list argptr; - char msg[MAXPRINTMSG]; // String we started with - - va_start(argptr,fmt); - vsnprintf(msg,sizeof(msg),fmt,argptr); - va_end(argptr); - - Sys_Print(msg); -} - +extern qboolean host_shuttingdown; void Sys_Quit (void) { + host_shuttingdown = true; Host_Shutdown(); exit(0); } @@ -106,6 +33,7 @@ void Sys_Shared_EarlyInit(void) const char* os; Memory_Init (); + Log_Init (); COM_InitArgv(); COM_InitGameType(); @@ -114,16 +42,20 @@ void Sys_Shared_EarlyInit(void) os = "Linux"; #elif defined(WIN32) os = "Windows"; +#elif defined(__FreeBSD__) + os = "FreeBSD"; #elif defined(__NetBSD__) os = "NetBSD"; #elif defined(__OpenBSD__) os = "OpenBSD"; +#elif defined(MACOSX) + os = "Mac OS X"; #else os = "Unknown"; #endif - snprintf (engineversion, sizeof (engineversion), "%s %s %s", gamename, os, buildstring); + dpsnprintf (engineversion, sizeof (engineversion), "%s %s %s", gamename, os, buildstring); -// COMMANDLINEOPTION: -nostdout disables text output to the terminal the game was launched from +// COMMANDLINEOPTION: Console: -nostdout disables text output to the terminal the game was launched from if (COM_CheckParm("-nostdout")) sys_nostdout = 1; else @@ -142,10 +74,11 @@ DLL MANAGEMENT =============================================================================== */ -qboolean Sys_LoadLibrary (const char* dllname, dllhandle_t* handle, const dllfunction_t *fcts) +qboolean Sys_LoadLibrary (const char** dllnames, dllhandle_t* handle, const dllfunction_t *fcts) { const dllfunction_t *func; - dllhandle_t dllhandle; + dllhandle_t dllhandle = 0; + unsigned int i; if (handle == NULL) return false; @@ -154,17 +87,25 @@ qboolean Sys_LoadLibrary (const char* dllname, dllhandle_t* handle, const dllfun for (func = fcts; func && func->name != NULL; func++) *func->funcvariable = NULL; - // Load the DLL + // Try every possible name + for (i = 0; dllnames[i] != NULL; i++) + { #ifdef WIN32 - dllhandle = LoadLibrary (dllname); + dllhandle = LoadLibrary (dllnames[i]); #else - dllhandle = dlopen (dllname, RTLD_LAZY); + dllhandle = dlopen (dllnames[i], RTLD_LAZY); #endif + if (dllhandle) + break; + + Con_Printf ("Can't load \"%s\".\n", dllnames[i]); + } + + // No DLL found if (! dllhandle) - { - Con_Printf ("Can't load \"%s\".\n", dllname); return false; - } + + Con_Printf("\"%s\" loaded.\n", dllnames[i]); // Get the function adresses for (func = fcts; func && func->name != NULL; func++) @@ -176,7 +117,6 @@ qboolean Sys_LoadLibrary (const char* dllname, dllhandle_t* handle, const dllfun } *handle = dllhandle; - Con_DPrintf("\"%s\" loaded.\n", dllname); return true; }