From 31959fd739456a8d05916aec8764516711effae2 Mon Sep 17 00:00:00 2001 From: Severin Meyer Date: Fri, 23 Jan 2015 20:27:47 +0100 Subject: [PATCH] Play SLIDE sound when using slider or colorpicker --- qcsrc/menu/item/slider.c | 28 ++++++++++++++++++++++--- qcsrc/menu/menu.qh | 1 + qcsrc/menu/xonotic/colorpicker.c | 1 + qcsrc/menu/xonotic/colorpicker_string.c | 1 + 4 files changed, 28 insertions(+), 3 deletions(-) diff --git a/qcsrc/menu/item/slider.c b/qcsrc/menu/item/slider.c index 1f7c287c7..fb8cda906 100644 --- a/qcsrc/menu/item/slider.c +++ b/qcsrc/menu/item/slider.c @@ -7,6 +7,7 @@ CLASS(Slider) EXTENDS(Label) METHOD(Slider, configureSliderValues, void(entity, float, float, float, float, float, float)) METHOD(Slider, draw, void(entity)) METHOD(Slider, keyDown, float(entity, float, float, float)) + METHOD(Slider, keyUp, float(entity, float, float, float)) METHOD(Slider, mousePress, float(entity, vector)) METHOD(Slider, mouseDrag, float(entity, vector)) METHOD(Slider, mouseRelease, float(entity, vector)) @@ -146,7 +147,29 @@ float Slider_keyDown(entity me, float key, float ascii, float shift) me.setValue(me, me.valueMax); return 1; } - // TODO more keys + // TODO more keys (NOTE also add them to Slider_keyUp) + return 0; +} +float Slider_keyUp(entity me, float key, float ascii, float shift) +{ + if(me.disabled) + return 0; + switch(key) + { + case K_LEFTARROW: + case K_KP_LEFTARROW: + case K_RIGHTARROW: + case K_KP_RIGHTARROW: + case K_PGUP: + case K_KP_PGUP: + case K_PGDN: + case K_KP_PGDN: + case K_HOME: + case K_KP_HOME: + case K_END: + case K_KP_END: + m_play_click_sound(MENU_SOUND_SLIDE); + } return 0; } float Slider_mouseDrag(entity me, vector pos) @@ -242,8 +265,7 @@ float Slider_mouseRelease(entity me, vector pos) me.pressed = 0; if(me.disabled) return 0; - if(cvar("menu_sounds")) - localsound("sound/misc/menu2.wav"); + m_play_click_sound(MENU_SOUND_SLIDE); return 1; } void Slider_showNotify(entity me) diff --git a/qcsrc/menu/menu.qh b/qcsrc/menu/menu.qh index c78dc938a..4f6ba4f0e 100644 --- a/qcsrc/menu/menu.qh +++ b/qcsrc/menu/menu.qh @@ -43,6 +43,7 @@ void m_sync(); const string MENU_SOUND_EXECUTE = "sound/menu/execute.wav"; const string MENU_SOUND_SELECT = "sound/menu/select.wav"; +const string MENU_SOUND_SLIDE = "sound/menu/slide.wav"; void m_play_focus_sound(); void m_play_click_sound(string soundfile); diff --git a/qcsrc/menu/xonotic/colorpicker.c b/qcsrc/menu/xonotic/colorpicker.c index e0727373c..a6be0a4d0 100644 --- a/qcsrc/menu/xonotic/colorpicker.c +++ b/qcsrc/menu/xonotic/colorpicker.c @@ -139,6 +139,7 @@ float XonoticColorpicker_mouseDrag(entity me, vector coords) float XonoticColorpicker_mouseRelease(entity me, vector coords) { + m_play_click_sound(MENU_SOUND_SLIDE); me.mouseDrag(me, coords); return 1; } diff --git a/qcsrc/menu/xonotic/colorpicker_string.c b/qcsrc/menu/xonotic/colorpicker_string.c index 5d53135e9..56b8100aa 100644 --- a/qcsrc/menu/xonotic/colorpicker_string.c +++ b/qcsrc/menu/xonotic/colorpicker_string.c @@ -97,6 +97,7 @@ float XonoticColorpickerString_mouseDrag(entity me, vector coords) float XonoticColorpickerString_mouseRelease(entity me, vector coords) { + m_play_click_sound(MENU_SOUND_SLIDE); me.mouseDrag(me, coords); return 1; } -- 2.39.2