]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - common.c
hush some texture loading warnings in dedicated servers (thanks to Biomass for report...
[xonotic/darkplaces.git] / common.c
index 63d6a2d9a2f8e2235e8d02901ed00eae059209e4..74d26067a8d79d74a3f1dca692b7ba59940da51b 100644 (file)
--- a/common.c
+++ b/common.c
@@ -40,7 +40,7 @@ const char **com_argv;
 #define CMDLINE_LENGTH 1024
 char com_cmdline[CMDLINE_LENGTH];
 
-int gamemode;
+gamemode_t gamemode;
 const char *gamename;
 const char *gamedirname1;
 const char *gamedirname2;
@@ -491,25 +491,6 @@ float MSG_ReadAngle (int protocol)
 
 //===========================================================================
 
-void SZ_Alloc (sizebuf_t *buf, int startsize, const char *name)
-{
-       if (startsize < 256)
-               startsize = 256;
-       buf->mempool = Mem_AllocPool(name, 0, NULL);
-       buf->data = Mem_Alloc(buf->mempool, startsize);
-       buf->maxsize = startsize;
-       buf->cursize = 0;
-}
-
-
-void SZ_Free (sizebuf_t *buf)
-{
-       Mem_FreePool(&buf->mempool);
-       buf->data = NULL;
-       buf->maxsize = 0;
-       buf->cursize = 0;
-}
-
 void SZ_Clear (sizebuf_t *buf)
 {
        buf->cursize = 0;
@@ -982,6 +963,9 @@ static const gamemode_info_t gamemode_info [] =
 // GAME_NETHERWORLD
 // COMMANDLINEOPTION: Game: -netherworld runs the game Netherworld: Dark Masters
 { "netherworld",       "-netherworld", "Dark Masters",                 "id1",          "netherworld",  "nw",                   "darkplaces"},
+// GAME_THEHUNTED
+// COMMANDLINEOPTION: Game: -netherworld runs the game The Hunted
+{ "thehunted",         "-thehunted",   "The Hunted",                   "thdata",       NULL,                   "th",                   "thehunted"},
 };
 
 void COM_InitGameType (void)
@@ -1067,13 +1051,54 @@ char *va(const char *format, ...)
        s = string[stringindex];
        stringindex = (stringindex + 1) & 7;
        va_start (argptr, format);
-       vsnprintf (s, sizeof (string[0]), format,argptr);
+       dpvsnprintf (s, sizeof (string[0]), format,argptr);
        va_end (argptr);
 
        return s;
 }
 
 
+//======================================
+
+// snprintf and vsnprintf are NOT portable. Use their DP counterparts instead
+
+#undef snprintf
+#undef vsnprintf
+
+#ifdef WIN32
+# define snprintf _snprintf
+# define vsnprintf _vsnprintf
+#endif
+
+
+int dpsnprintf (char *buffer, size_t buffersize, const char *format, ...)
+{
+       va_list args;
+       int result;
+
+       va_start (args, format);
+       result = dpvsnprintf (buffer, buffersize, format, args);
+       va_end (args);
+
+       return result;
+}
+
+
+int dpvsnprintf (char *buffer, size_t buffersize, const char *format, va_list args)
+{
+       int result;
+
+       result = vsnprintf (buffer, buffersize, format, args);
+       if (result < 0 || (size_t)result >= buffersize)
+       {
+               buffer[buffersize - 1] = '\0';
+               return -1;
+       }
+
+       return result;
+}
+
+
 //======================================
 
 void COM_ToLowerString (const char *in, char *out, size_t size_out)