]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - menu.c
eliminated qbyte type, now uses unsigned char throughout the engine for this purpose
[xonotic/darkplaces.git] / menu.c
diff --git a/menu.c b/menu.c
index 89d4c77a4b9033490d05435281b01ee892eee254..68888fcd614c6e8e785afdb4f19800dda810b090 100644 (file)
--- a/menu.c
+++ b/menu.c
@@ -115,7 +115,7 @@ void M_Update_Return_Reason(char *s)
 
 // Nehahra
 #define NumberOfNehahraDemos 34
-typedef struct
+typedef struct nehahrademonames_s
 {
        char *name;
        char *desc;
@@ -196,7 +196,7 @@ void M_PrintRed (float cx, float cy, const char *str)
        DrawQ_String(menu_x + cx, menu_y + cy, str, 0, 8, 8, 1, 0, 0, 1, 0);
 }
 
-void M_ItemPrint(float cx, float cy, char *str, int unghosted)
+void M_ItemPrint(float cx, float cy, const char *str, int unghosted)
 {
        if (unghosted)
                DrawQ_String(menu_x + cx, menu_y + cy, str, 0, 8, 8, 1, 1, 1, 1, 0);
@@ -204,18 +204,18 @@ void M_ItemPrint(float cx, float cy, char *str, int unghosted)
                DrawQ_String(menu_x + cx, menu_y + cy, str, 0, 8, 8, 0.4, 0.4, 0.4, 1, 0);
 }
 
-void M_DrawPic (float cx, float cy, char *picname)
+void M_DrawPic (float cx, float cy, const char *picname)
 {
        DrawQ_Pic (menu_x + cx, menu_y + cy, picname, 0, 0, 1, 1, 1, 1, 0);
 }
 
-qbyte identityTable[256];
-qbyte translationTable[256];
+unsigned char identityTable[256];
+unsigned char translationTable[256];
 
 void M_BuildTranslationTable(int top, int bottom)
 {
        int j;
-       qbyte *dest, *source;
+       unsigned char *dest, *source;
 
        for (j = 0; j < 256; j++)
                identityTable[j] = j;
@@ -1254,7 +1254,7 @@ void M_Menu_Setup_f (void)
 }
 
 static int menuplyr_width, menuplyr_height, menuplyr_top, menuplyr_bottom, menuplyr_load;
-static qbyte *menuplyr_pixels;
+static unsigned char *menuplyr_pixels;
 static unsigned int *menuplyr_translated;
 
 typedef struct ratetable_s
@@ -1320,7 +1320,7 @@ void M_Setup_Draw (void)
        // LordHavoc: rewrote this code greatly
        if (menuplyr_load)
        {
-               qbyte *data, *f;
+               unsigned char *data, *f;
                menuplyr_load = false;
                menuplyr_top = -1;
                menuplyr_bottom = -1;
@@ -1330,8 +1330,8 @@ void M_Setup_Draw (void)
                        menuplyr_width = image_width;
                        menuplyr_height = image_height;
                        Mem_Free(f);
-                       menuplyr_pixels = Mem_Alloc(cl_mempool, menuplyr_width * menuplyr_height);
-                       menuplyr_translated = Mem_Alloc(cl_mempool, menuplyr_width * menuplyr_height * 4);
+                       menuplyr_pixels = (unsigned char *)Mem_Alloc(cl_mempool, menuplyr_width * menuplyr_height);
+                       menuplyr_translated = (unsigned int *)Mem_Alloc(cl_mempool, menuplyr_width * menuplyr_height * 4);
                        memcpy(menuplyr_pixels, data, menuplyr_width * menuplyr_height);
                        Mem_Free(data);
                }
@@ -1346,7 +1346,7 @@ void M_Setup_Draw (void)
                        M_BuildTranslationTable(menuplyr_top*16, menuplyr_bottom*16);
                        for (i = 0;i < menuplyr_width * menuplyr_height;i++)
                                menuplyr_translated[i] = palette_complete[translationTable[menuplyr_pixels[i]]];
-                       Draw_NewPic("gfx/menuplyr.lmp", menuplyr_width, menuplyr_height, true, (qbyte *)menuplyr_translated);
+                       Draw_NewPic("gfx/menuplyr.lmp", menuplyr_width, menuplyr_height, true, (unsigned char *)menuplyr_translated);
                }
                M_DrawPic(160, 48, "gfx/bigbox.lmp");
                M_DrawPic(172, 56, "gfx/menuplyr.lmp");
@@ -1603,7 +1603,7 @@ int optnum;
 int opty;
 int optcursor;
 
-void M_Options_PrintCommand(char *s, int enabled)
+void M_Options_PrintCommand(const char *s, int enabled)
 {
        if (opty >= 32)
        {
@@ -1614,7 +1614,7 @@ void M_Options_PrintCommand(char *s, int enabled)
        optnum++;
 }
 
-void M_Options_PrintCheckbox(char *s, int enabled, int yes)
+void M_Options_PrintCheckbox(const char *s, int enabled, int yes)
 {
        if (opty >= 32)
        {
@@ -1626,7 +1626,7 @@ void M_Options_PrintCheckbox(char *s, int enabled, int yes)
        optnum++;
 }
 
-void M_Options_PrintSlider(char *s, int enabled, float value, float minvalue, float maxvalue)
+void M_Options_PrintSlider(const char *s, int enabled, float value, float minvalue, float maxvalue)
 {
        if (opty >= 32)
        {
@@ -1761,7 +1761,7 @@ void M_Options_Key (int k, char ascii)
        }
 }
 
-#define        OPTIONS_EFFECTS_ITEMS   37
+#define        OPTIONS_EFFECTS_ITEMS   34
 
 int options_effects_cursor;
 
@@ -1773,11 +1773,9 @@ void M_Menu_Options_Effects_f (void)
 }
 
 
-extern cvar_t r_detailtextures;
 extern cvar_t cl_stainmaps;
 extern cvar_t cl_stainmaps_clearonload;
 extern cvar_t r_explosionclip;
-extern cvar_t r_modellights;
 extern cvar_t r_coronas;
 extern cvar_t gl_flashblend;
 extern cvar_t cl_beams_polygon;
@@ -1797,8 +1795,7 @@ void M_Menu_Options_Effects_AdjustSliders (int dir)
        S_LocalSound ("sound/misc/menu3.wav");
 
        optnum = 0;
-            if (options_effects_cursor == optnum++) Cvar_SetValueQuick (&r_modellights, bound(0, r_modellights.value + dir, 8));
-       else if (options_effects_cursor == optnum++) Cvar_SetValueQuick (&r_coronas, bound(0, r_coronas.value + dir * 0.125, 4));
+            if (options_effects_cursor == optnum++) Cvar_SetValueQuick (&r_coronas, bound(0, r_coronas.value + dir * 0.125, 4));
        else if (options_effects_cursor == optnum++) Cvar_SetValueQuick (&gl_flashblend, !gl_flashblend.integer);
        else if (options_effects_cursor == optnum++) Cvar_SetValueQuick (&cl_particles, !cl_particles.integer);
        else if (options_effects_cursor == optnum++) Cvar_SetValueQuick (&cl_particles_quality, bound(1, cl_particles_quality.value + dir * 0.5, 4));
@@ -1807,7 +1804,6 @@ void M_Menu_Options_Effects_AdjustSliders (int dir)
        else if (options_effects_cursor == optnum++) Cvar_SetValueQuick (&cl_stainmaps, !cl_stainmaps.integer);
        else if (options_effects_cursor == optnum++) Cvar_SetValueQuick (&cl_stainmaps_clearonload, !cl_stainmaps_clearonload.integer);
        else if (options_effects_cursor == optnum++) Cvar_SetValueQuick (&cl_decals, !cl_decals.integer);
-       else if (options_effects_cursor == optnum++) Cvar_SetValueQuick (&r_detailtextures, !r_detailtextures.integer);
        else if (options_effects_cursor == optnum++) Cvar_SetValueQuick (&cl_particles_bulletimpacts, !cl_particles_bulletimpacts.integer);
        else if (options_effects_cursor == optnum++) Cvar_SetValueQuick (&cl_particles_smoke, !cl_particles_smoke.integer);
        else if (options_effects_cursor == optnum++) Cvar_SetValueQuick (&cl_particles_sparks, !cl_particles_sparks.integer);
@@ -1833,7 +1829,6 @@ void M_Menu_Options_Effects_AdjustSliders (int dir)
        else if (options_effects_cursor == optnum++) Cvar_SetValueQuick (&r_waterwarp, bound(0, r_waterwarp.value + dir * 0.1, 1));
        else if (options_effects_cursor == optnum++) Cvar_SetValueQuick (&r_wateralpha, bound(0, r_wateralpha.value + dir * 0.1, 1));
        else if (options_effects_cursor == optnum++) Cvar_SetValueQuick (&r_waterscroll, bound(0, r_waterscroll.value + dir * 0.5, 10));
-       else if (options_effects_cursor == optnum++) Cvar_SetValueQuick (&r_watershader, bound(0, r_watershader.value + dir * 0.25, 10));
 }
 
 void M_Options_Effects_Draw (void)
@@ -1852,7 +1847,6 @@ void M_Options_Effects_Draw (void)
        visible = (menu_height - 32) / 8;
        opty = 32 - bound(0, optcursor - (visible >> 1), max(0, OPTIONS_EFFECTS_ITEMS - visible)) * 8;
 
-       M_Options_PrintSlider(  "      Lights Per Model", true, r_modellights.value, 0, 8);
        M_Options_PrintSlider(  "      Corona Intensity", true, r_coronas.value, 0, 4);
        M_Options_PrintCheckbox("      Use Only Coronas", true, gl_flashblend.integer);
        M_Options_PrintCheckbox("             Particles", true, cl_particles.integer);
@@ -1862,7 +1856,6 @@ void M_Options_Effects_Draw (void)
        M_Options_PrintCheckbox("             Stainmaps", true, cl_stainmaps.integer);
        M_Options_PrintCheckbox("Onload Clear Stainmaps", true, cl_stainmaps_clearonload.integer);
        M_Options_PrintCheckbox("                Decals", true, cl_decals.integer);
-       M_Options_PrintCheckbox("      Detail Texturing", true, r_detailtextures.integer);
        M_Options_PrintCheckbox("        Bullet Impacts", true, cl_particles_bulletimpacts.integer);
        M_Options_PrintCheckbox("                 Smoke", true, cl_particles_smoke.integer);
        M_Options_PrintCheckbox("                Sparks", true, cl_particles_sparks.integer);
@@ -1888,7 +1881,6 @@ void M_Options_Effects_Draw (void)
        M_Options_PrintSlider(  "  Underwater View Warp", true, r_waterwarp.value, 0, 1);
        M_Options_PrintSlider(  " Water Alpha (opacity)", true, r_wateralpha.value, 0, 1);
        M_Options_PrintSlider(  "        Water Movement", true, r_waterscroll.value, 0, 10);
-       M_Options_PrintSlider(  " GeForce3 Water Shader", true, r_watershader.value, 0, 10);
 }
 
 
@@ -3063,7 +3055,7 @@ void M_Quit_Key (int key, char ascii)
        case 'N':
                if (wasInMenus)
                {
-                       m_state = m_quit_prevstate;
+                       m_state = (enum m_state_e)m_quit_prevstate;
                        m_entersound = true;
                }
                else
@@ -3294,20 +3286,20 @@ void M_LanConfig_Key (int key, char ascii)
 //=============================================================================
 /* GAME OPTIONS MENU */
 
-typedef struct
+typedef struct level_s
 {
        char    *name;
        char    *description;
 } level_t;
 
-typedef struct
+typedef struct episode_s
 {
        char    *description;
        int             firstLevel;
        int             levels;
 } episode_t;
 
-typedef struct
+typedef struct gamelevels_s
 {
        char *gamename;
        level_t *levels;
@@ -3685,7 +3677,7 @@ gamelevels_t battlemechgame = {"Battlemech", battlemechlevels, battlemechepisode
 gamelevels_t openquartzgame = {"OpenQuartz", openquartzlevels, openquartzepisodes, 3};
 gamelevels_t defeatindetail2game = {"Defeat In Detail 2", defeatindetail2levels, defeatindetail2episodes, 1};
 
-typedef struct
+typedef struct gameinfo_s
 {
        gamemode_t gameid;
        gamelevels_t *notregistered;
@@ -3704,7 +3696,7 @@ gameinfo_t gamelist[] =
        {GAME_BATTLEMECH, &battlemechgame, &battlemechgame},
        {GAME_OPENQUARTZ, &openquartzgame, &openquartzgame},
        {GAME_DEFEATINDETAIL2, &defeatindetail2game, &defeatindetail2game},
-       {-1, &sharewarequakegame, &registeredquakegame} // final fallback
+       {(gamemode_t)-1, &sharewarequakegame, &registeredquakegame} // final fallback
 };
 
 gamelevels_t *lookupgameinfo(void)
@@ -4782,6 +4774,11 @@ void MP_Restart(void)
 
 static cvar_t forceqmenu = { 0, "forceqmenu", "0" };
 
+void (*MR_Keydown) (int key, char ascii);
+void (*MR_Draw) (void);
+void (*MR_ToggleMenu_f) (void);
+void (*MR_Shutdown) (void);
+
 void MR_SetRouting(qboolean forceold)
 {
        static qboolean m_init = FALSE, mp_init = FALSE;