X-Git-Url: https://de.git.xonotic.org/?p=xonotic%2Fxonotic-data.pk3dir.git;a=blobdiff_plain;f=qcsrc%2Fmenu%2Fmenu.qc;h=891235def666700cc2a0865d8809d9512a1b43ac;hp=f32b85298ed7e23a8a70c04f46aa8d1fedad6dde;hb=93afc08b09294e6dea4d0c98ce5226fdee9d1c92;hpb=05ee5b1212a6537e5c5acb76dbc1ef9df40f85c6 diff --git a/qcsrc/menu/menu.qc b/qcsrc/menu/menu.qc index f32b85298..891235def 100644 --- a/qcsrc/menu/menu.qc +++ b/qcsrc/menu/menu.qc @@ -17,8 +17,8 @@ #include "xonotic/util.qh" -#include "../common/items/all.qh" -#include +#include "../common/items/_mod.qh" +#include #include "../common/mapinfo.qh" #include "../common/mutators/base.qh" @@ -50,7 +50,7 @@ void m_gamestatus() gamestatus = 0; if (isserver()) gamestatus |= GAME_ISSERVER; if (clientstate() == CS_CONNECTED || isdemo()) gamestatus |= GAME_CONNECTED; - if (cvar("developer")) gamestatus |= GAME_DEVELOPER; + if (cvar("developer") > 0) gamestatus |= GAME_DEVELOPER; } void m_init() @@ -69,11 +69,11 @@ void m_init() cvar_set("_menu_prvm_language", prvm_language); #ifdef WATERMARK - LOG_INFOF("^4MQC Build information: ^1%s\n", WATERMARK); + LOG_INFOF("^4MQC Build information: ^1%s", WATERMARK); #endif // list all game dirs (TEST) - if (cvar("developer")) + if (cvar("developer") > 0) { for (int i = 0; ; ++i) { @@ -217,8 +217,7 @@ void m_init_delayed() if (m_goto_buffer) { m_goto(m_goto_buffer); - strunzone(m_goto_buffer); - m_goto_buffer = string_null; + strfree(m_goto_buffer); } if (Menu_Active) m_display(); // delayed menu display @@ -237,7 +236,7 @@ void m_keyup(float key, float ascii) if (mouseButtonsPressed < 0) { mouseButtonsPressed = 0; - LOG_TRACE("Warning: released an already released button\n"); + LOG_TRACE("Warning: released an already released button"); } } if (key == K_ALT) menuShiftState &= ~S_ALT; @@ -286,7 +285,7 @@ void m_keydown(float key, float ascii) if (mouseButtonsPressed > 10) { mouseButtonsPressed = 10; - LOG_TRACE("Warning: pressed an already pressed button\n"); + LOG_TRACE("Warning: pressed an already pressed button"); } } if (key == K_ALT) menuShiftState |= S_ALT; @@ -336,7 +335,8 @@ void drawBackground(string img, float a, string algn, float force1) if (main.mainNexposee.ModalController_state == 0) return; vector v = '0 0 0'; int scalemode = SCALEMODE_CROP; - for (int i = 0, l = 0; i < strlen(algn); ++i) + int len = strlen(algn); + for (int i = 0, l = 0; i < len; ++i) { string c = substring(algn, i, 1); switch (c) @@ -550,8 +550,7 @@ void m_tooltip(vector pos) { // fade out if tooltip of a certain item has changed menuTooltipState = 3; - if (prev_tooltip) strunzone(prev_tooltip); - prev_tooltip = strzone(it.tooltip); + strcpy(prev_tooltip, it.tooltip); } else if (menuTooltipItem && !m_testmousetooltipbox(pos)) { @@ -584,8 +583,7 @@ void m_tooltip(vector pos) menuTooltipOrigin.x = -1; // unallocated - if (menuTooltipText) strunzone(menuTooltipText); - menuTooltipText = strzone(gettooltip()); + strcpy(menuTooltipText, gettooltip()); int i = 0; float w = 0; @@ -635,11 +633,7 @@ void m_tooltip(vector pos) if (menuTooltipItem == NULL) { - if (menuTooltipText) - { - strunzone(menuTooltipText); - menuTooltipText = string_null; - } + strfree(menuTooltipText); return; } else @@ -953,8 +947,7 @@ void m_goto(string itemname) { if (!menuInitialized) { - if (m_goto_buffer) strunzone(m_goto_buffer); - m_goto_buffer = strzone(itemname); + strcpy(m_goto_buffer, itemname); return; } if (itemname == "") // this can be called by GameCommand @@ -977,6 +970,8 @@ void m_goto(string itemname) if ((e) && (!e.requiresConnection || (gamestatus & (GAME_ISSERVER | GAME_CONNECTED)))) { + if(!Menu_Active) + e.hideMenuOnClose = true; m_hide(); m_activate_window(e); m_setpointerfocus(e);