]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - menu.c
Added DP_SV_WRITEUNTERMINATEDSTRING extension
[xonotic/darkplaces.git] / menu.c
diff --git a/menu.c b/menu.c
index fadeafba0ef4539b64b416d1c823ffc2c1821f3f..bf03a1192b25a657c8748486d258f2d3858ad9bf 100644 (file)
--- a/menu.c
+++ b/menu.c
@@ -830,7 +830,7 @@ void M_ScanSaves (void)
        {
                strcpy (m_filenames[i], "--- UNUSED SLOT ---");
                loadable[i] = false;
-               sprintf (name, "s%i.sav", i);
+               sprintf (name, "s%i.sav", (int)i);
                f = FS_Open (name, "rb", false, false);
                if (!f)
                        continue;
@@ -1449,7 +1449,7 @@ forward:
                        break;
                if (setup_cursor == 0)
                {
-                       l = strlen(setup_myname);
+                       l = (int)strlen(setup_myname);
                        if (l < 15)
                        {
                                setup_myname[l+1] = 0;
@@ -1622,7 +1622,7 @@ void M_Options_PrintCheckbox(char *s, int enabled, int yes)
        {
                DrawQ_Fill(menu_x, menu_y + opty, 320, 8, optnum == optcursor ? (0.5 + 0.2 * sin(realtime * M_PI)) : 0, 0, 0, 0.5, 0);
                M_ItemPrint(0, opty, s, enabled);
-               M_DrawCheckbox(0 + strlen(s) * 8 + 8, opty, yes);
+               M_DrawCheckbox(0 + (int)strlen(s) * 8 + 8, opty, yes);
        }
        opty += 8;
        optnum++;
@@ -1634,7 +1634,7 @@ void M_Options_PrintSlider(char *s, int enabled, float value, float minvalue, fl
        {
                DrawQ_Fill(menu_x, menu_y + opty, 320, 8, optnum == optcursor ? (0.5 + 0.2 * sin(realtime * M_PI)) : 0, 0, 0, 0.5, 0);
                M_ItemPrint(0, opty, s, enabled);
-               M_DrawSlider(0 + strlen(s) * 8 + 8, opty, value, minvalue, maxvalue);
+               M_DrawSlider(0 + (int)strlen(s) * 8 + 8, opty, value, minvalue, maxvalue);
        }
        opty += 8;
        optnum++;
@@ -1932,7 +1932,7 @@ void M_Options_Effects_Key (int k, char ascii)
 }
 
 
-#define        OPTIONS_GRAPHICS_ITEMS  12
+#define        OPTIONS_GRAPHICS_ITEMS  14
 
 int options_graphics_cursor;
 
@@ -1955,6 +1955,7 @@ extern cvar_t r_bloom_intensity;
 extern cvar_t r_bloom_power;
 extern cvar_t r_bloom_blur;
 extern cvar_t r_bloom_resolution;
+extern cvar_t gl_picmip;
 
 void M_Menu_Options_Graphics_AdjustSliders (int dir)
 {
@@ -1975,6 +1976,8 @@ void M_Menu_Options_Graphics_AdjustSliders (int dir)
        else if (options_graphics_cursor == optnum++) Cvar_SetValueQuick (&r_bloom_power,                           bound(1, r_bloom_power.value + dir * 1, 16));
        else if (options_graphics_cursor == optnum++) Cvar_SetValueQuick (&r_bloom_blur,                            bound(1, r_bloom_blur.value + dir * 1, 16));
        else if (options_graphics_cursor == optnum++) Cvar_SetValueQuick (&r_bloom_resolution,                      bound(64, r_bloom_resolution.value + dir * 64, 2048));
+       else if (options_graphics_cursor == optnum++) Cvar_SetValueQuick (&gl_picmip,                               bound(0, gl_picmip.value - dir, 3));
+       else if (options_graphics_cursor == optnum++) Cbuf_AddText ("r_restart\n");
 }
 
 
@@ -2006,6 +2009,8 @@ void M_Options_Graphics_Draw (void)
        M_Options_PrintSlider(  "            Bloom Power", true, r_bloom_power.value, 1, 16);
        M_Options_PrintSlider(  "             Bloom Blur", true, r_bloom_blur.value, 1, 16);
        M_Options_PrintSlider(  "       Bloom Resolution", true, r_bloom_resolution.value, 64, 2048);
+       M_Options_PrintSlider(  "        Texture Quality", true, gl_picmip.value, 3, 0);
+       M_Options_PrintCommand( "       Restart Renderer", true);
 }
 
 
@@ -3085,7 +3090,7 @@ void M_Quit_Draw (void)
        int i, l, linelength, firstline, lastline, lines;
        for (i = 0, linelength = 0, firstline = 9999, lastline = -1;m_quit_message[i];i++)
        {
-               if ((l = strlen(m_quit_message[i])))
+               if ((l = (int)strlen(m_quit_message[i])))
                {
                        if (firstline > i)
                                firstline = i;
@@ -3253,7 +3258,7 @@ void M_LanConfig_Key (int key, char ascii)
 
                if (lanConfig_cursor == 2)
                {
-                       l = strlen(lanConfig_joinname);
+                       l = (int)strlen(lanConfig_joinname);
                        if (l < 21)
                        {
                                lanConfig_joinname[l+1] = 0;
@@ -3265,7 +3270,7 @@ void M_LanConfig_Key (int key, char ascii)
                        break;
                if (lanConfig_cursor == 0)
                {
-                       l = strlen(lanConfig_portname);
+                       l = (int)strlen(lanConfig_portname);
                        if (l < 5)
                        {
                                lanConfig_portname[l+1] = 0;
@@ -3671,7 +3676,7 @@ gamelevels_t openquartzgame = {"OpenQuartz", openquartzlevels, openquartzepisode
 
 typedef struct
 {
-       int gameid;
+       gamemode_t gameid;
        gamelevels_t *notregistered;
        gamelevels_t *registered;
 }
@@ -4110,7 +4115,7 @@ void M_GameOptions_Key (int key, char ascii)
        case K_BACKSPACE:
                if (gameoptions_cursor == 9)
                {
-                       l = strlen(hostname.string);
+                       l = (int)strlen(hostname.string);
                        if (l)
                        {
                                l = min(l - 1, 37);
@@ -4126,7 +4131,7 @@ void M_GameOptions_Key (int key, char ascii)
                        break;
                if (gameoptions_cursor == 9)
                {
-                       l = strlen(hostname.string);
+                       l = (int)strlen(hostname.string);
                        if (l < 37)
                        {
                                memcpy(hostnamebuf, hostname.string, l);
@@ -4607,6 +4612,7 @@ void MR_SetRouting (qboolean forceold);
 
 void MP_Error(const char *format, ...)
 {
+       static qboolean processingError = false;
        char errorstring[4096];
        va_list argptr;
 
@@ -4615,7 +4621,13 @@ void MP_Error(const char *format, ...)
        va_end (argptr);
        Con_Printf( "Menu_Error: %s\n", errorstring );
 
-       PRVM_Crash();
+       if( !processingError ) {
+               processingError = true;
+               PRVM_Crash();
+               processingError = false;
+       } else {
+               Con_Printf( "Menu_Error: Recursive call to MP_Error (from PRVM_Crash)!\n" );
+       }
 
        // fall back to the normal menu