X-Git-Url: http://de.git.xonotic.org/?p=xonotic%2Fxonotic-data.pk3dir.git;a=blobdiff_plain;f=qcsrc%2Fmenu%2Fitem%2Fbutton.c;h=71ca11c7c3a439327f888e8edc605b7d6fa36e35;hp=728413135ad1d5f8f9dfb6bd189e041e63aefef5;hb=890c0a82cb8b8a27b52c5e39bbf94f803900c8b3;hpb=24c0e211b8a839afe6bb5fc5c603d450a72b9160 diff --git a/qcsrc/menu/item/button.c b/qcsrc/menu/item/button.c index 728413135a..71ca11c7c3 100644 --- a/qcsrc/menu/item/button.c +++ b/qcsrc/menu/item/button.c @@ -8,6 +8,7 @@ CLASS(Button) EXTENDS(Label) METHOD(Button, mousePress, float(entity, vector)) METHOD(Button, mouseDrag, float(entity, vector)) METHOD(Button, mouseRelease, float(entity, vector)) + METHOD(Button, focusEnter, void(entity)) ATTRIB(Button, onClick, void(entity, entity), SUB_Null) ATTRIB(Button, onClickEntity, entity, NULL) ATTRIB(Button, src, string, string_null) @@ -50,7 +51,7 @@ void Button_configureButton(entity me, string txt, float sz, string gfx) } float Button_keyDown(entity me, float key, float ascii, float shift) { - if(key == K_ENTER || key == K_SPACE) + if(key == K_ENTER || key == K_SPACE || key == K_KP_ENTER) { me.clickTime = 0.1; // delayed for effect return 1; @@ -69,8 +70,6 @@ float Button_mouseDrag(entity me, vector pos) float Button_mousePress(entity me, vector pos) { me.mouseDrag(me, pos); // verify coordinates - if(cvar("menu_sounds")) - localsound("sound/misc/menu2.wav"); return 1; } float Button_mouseRelease(entity me, vector pos) @@ -79,7 +78,11 @@ float Button_mouseRelease(entity me, vector pos) if(me.pressed) { if not(me.disabled) + { + if(cvar("menu_sounds")) + localsound("sound/misc/menu2.wav"); me.onClick(me, me.onClickEntity); + } me.pressed = 0; } return 1; @@ -88,7 +91,12 @@ void Button_showNotify(entity me) { me.focusable = !me.disabled; } -.float playedfocus; +void Button_focusEnter(entity me) +{ + if(cvar("menu_sounds") > 1) + localsound("sound/misc/menu1.wav"); + SUPER(Button).focusEnter(me); +} void Button_draw(entity me) { vector bOrigin, bSize; @@ -159,14 +167,5 @@ void Button_draw(entity me) me.onClick(me, me.onClickEntity); } me.clickTime -= frametime; - - if(cvar("menu_sounds") > 1) - if(me.focused && !me.playedfocus) - { - localsound("sound/misc/menu1.wav"); - me.playedfocus = 1; - } - else if(!me.focused && me.playedfocus) - me.playedfocus = 0; } -#endif \ No newline at end of file +#endif