]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - menu.c
rename netwmfullscreen to desktopfullscreen; implement in other drivers (except agl)
[xonotic/darkplaces.git] / menu.c
diff --git a/menu.c b/menu.c
index 26b690e261a37f8351d0a416f940274c9881cff0..b5270e285096a52f2fa33db0ee9d6e7ee2258daf 100644 (file)
--- a/menu.c
+++ b/menu.c
@@ -18,7 +18,9 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 
 */
 #include "quakedef.h"
+#ifdef CONFIG_CD
 #include "cdaudio.h"
+#endif
 #include "image.h"
 #include "progsvm.h"
 
@@ -29,6 +31,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 #define TYPE_BOTH 3
 
 static cvar_t forceqmenu = { 0, "forceqmenu", "0", "enables the quake menu instead of the quakec menu.dat (if present)" };
+static cvar_t menu_progs = { 0, "menu_progs", "menu.dat", "name of quakec menu.dat file" };
 
 static int NehGameType;
 
@@ -1698,7 +1701,9 @@ static void M_Options_Draw (void)
        M_Options_PrintSlider(  "            Brightness", true, v_contrast.value, 1, 2);
        M_Options_PrintSlider(  "                 Gamma", true, v_gamma.value, 0.5, 3);
        M_Options_PrintSlider(  "          Sound Volume", snd_initialized.integer, volume.value, 0, 1);
+#ifdef CONFIG_CD
        M_Options_PrintSlider(  "          Music Volume", cdaudioinitialized.integer, bgmvolume.value, 0, 1);
+#endif
        M_Options_PrintCommand( "     Customize Effects", true);
        M_Options_PrintCommand( "       Effects:  Quake", true);
        M_Options_PrintCommand( "       Effects: Normal", true);
@@ -5302,6 +5307,8 @@ static void MP_Draw (void)
 
        // FIXME: this really shouldnt error out lest we have a very broken refdef state...?
        // or does it kill the server too?
+       PRVM_G_FLOAT(OFS_PARM0) = vid.width;
+       PRVM_G_FLOAT(OFS_PARM1) = vid.height;
        prog->ExecuteProgram(prog, PRVM_menufunction(m_draw),"m_draw() required");
 
        // TODO: imo this should be moved into scene, too [1/27/2008 Andreas]
@@ -5328,8 +5335,8 @@ static void MP_NewMap(void)
 static void MP_Shutdown (void)
 {
        prvm_prog_t *prog = MVM_prog;
-
-       prog->ExecuteProgram(prog, PRVM_menufunction(m_shutdown),"m_shutdown() required");
+       if (prog->loaded)
+               prog->ExecuteProgram(prog, PRVM_menufunction(m_shutdown),"m_shutdown() required");
 
        // reset key_dest
        key_dest = key_game;
@@ -5364,9 +5371,9 @@ static void MP_Init (void)
        prog->ExecuteProgram        = MVM_ExecuteProgram;
 
        // allocate the mempools
-       prog->progs_mempool = Mem_AllocPool(M_PROG_FILENAME, 0, NULL);
+       prog->progs_mempool = Mem_AllocPool(menu_progs.string, 0, NULL);
 
-       PRVM_Prog_Load(prog, M_PROG_FILENAME, NULL, 0, m_numrequiredfunc, m_required_func, m_numrequiredfields, m_required_fields, m_numrequiredglobals, m_required_globals);
+       PRVM_Prog_Load(prog, menu_progs.string, NULL, 0, m_numrequiredfunc, m_required_func, m_numrequiredfields, m_required_fields, m_numrequiredglobals, m_required_globals);
 
        // note: OP_STATE is not supported by menu qc, we don't even try to detect
        // it here
@@ -5389,7 +5396,7 @@ void (*MR_NewMap) (void);
 void MR_SetRouting(qboolean forceold)
 {
        // if the menu prog isnt available or forceqmenu ist set, use the old menu
-       if(!FS_FileExists(M_PROG_FILENAME) || forceqmenu.integer || forceold)
+       if(!FS_FileExists(menu_progs.string) || forceqmenu.integer || forceold)
        {
                // set menu router function pointers
                MR_KeyEvent = M_KeyEvent;
@@ -5432,6 +5439,7 @@ void MR_Init_Commands(void)
        // set router console commands
        Cvar_RegisterVariable (&forceqmenu);
        Cvar_RegisterVariable (&menu_options_colorcontrol_correctionvalue);
+       Cvar_RegisterVariable (&menu_progs);
        Cmd_AddCommand ("menu_restart",MR_Restart, "restart menu system (reloads menu.dat)");
        Cmd_AddCommand ("togglemenu", Call_MR_ToggleMenu_f, "opens or closes menu");
 }