X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fmenu%2Fmenu.qc;h=d01f6f7d4d0d2f986a288f1de66b2948219ba777;hb=8b38ad6987192a2129a7aa55410fd6d729425a28;hp=e9f3538ff5d2ec968f6c270a4441b5da31d9d1eb;hpb=244e5081c5c503c307e557c98ac864f6c9731475;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/menu/menu.qc b/qcsrc/menu/menu.qc index e9f3538ff..d01f6f7d4 100644 --- a/qcsrc/menu/menu.qc +++ b/qcsrc/menu/menu.qc @@ -1,7 +1,11 @@ -#if defined(CSQC) -#elif defined(MENUQC) -#elif defined(SVQC) -#endif +#include "menu.qh" +#include "oo/classes.qc" +#include "xonotic/util.qh" + +#include "../common/items/all.qh" +#include "../common/weapons/all.qh" +#include "../common/mapinfo.qh" +#include "../common/mutators/base.qh" /////////////////////////////////////////////// // Menu Source File @@ -77,8 +81,7 @@ void m_init() } // needs to be done so early because of the constants they create - CALL_ACCUMULATED_FUNCTION(RegisterWeapons); - CALL_ACCUMULATED_FUNCTION(RegisterGametypes); + static_init(); RegisterSLCategories(); @@ -211,8 +214,8 @@ void m_init_delayed() draw_setMousePointer(SKINGFX_CURSOR, SKINSIZE_CURSOR, SKINOFFSET_CURSOR); loadTooltips(); - anim = spawnAnimHost(); - main = spawnMainWindow(); main.configureMainWindow(main); + anim = NEW(AnimHost); + main = NEW(MainWindow); main.configureMainWindow(main); unloadTooltips(); main.resizeNotify(main, '0 0 0', eX * conwidth + eY * conheight, '0 0 0', eX * conwidth + eY * conheight); @@ -960,7 +963,10 @@ void m_setpointerfocus(entity wnd) menuMousePos = focus.origin + 0.5 * focus.size; menuMousePos.x *= 1 / conwidth; menuMousePos.y *= 1 / conheight; - if(wnd.focused) // why does this never happen? + entity par = wnd.parent; + if(par.focused) + par.setFocus(par, wnd); + if(wnd.focused) m_focus_item_chain(wnd, focus); } } @@ -1003,3 +1009,20 @@ void m_goto(string itemname) } } } + +float menuLastFocusSoundTime; +void m_play_focus_sound() +{ + if(cvar("menu_sounds") > 1) + if(time - menuLastFocusSoundTime > 0.25) + { + localsound(MENU_SOUND_FOCUS); + menuLastFocusSoundTime = time; + } +} + +void m_play_click_sound(string soundfile) +{ + if(cvar("menu_sounds")) + localsound(soundfile); +}