+++ /dev/null
-// alias for switching the teamselect menu
-bind f5 menu_showteamselect
-
-bind f6 team_auto
-
-bind f7 menu_showsandboxtools
-
-// movement
-bind w +forward
-bind a +moveleft
-bind s +back
-bind d +moveright
-bind UPARROW +forward
-bind LEFTARROW +moveleft
-bind DOWNARROW +back
-bind RIGHTARROW +moveright
-bind SHIFT +crouch
-bind ENTER +jump
-bind SPACE +jump
-
-// weapons
-bind 0 weapon_group_0
-bind 1 weapon_group_1
-bind 2 weapon_group_2
-bind 3 weapon_group_3
-bind 4 weapon_group_4
-bind 5 weapon_group_5
-bind 6 weapon_group_6
-bind 7 weapon_group_7
-bind 8 weapon_group_8
-bind 9 weapon_group_9
-bind q weaplast
-bind MOUSE1 +fire
-bind MOUSE2 +fire2
-bind MOUSE3 togglezoom
-bind MOUSE4 weaplast
-bind MOUSE5 +hook
-bind MWHEELUP weapnext
-bind MWHEELDOWN weapprev
-bind r reload
-bind BACKSPACE dropweapon
-bind g dropweapon
-bind f +use
-bind v +button8 // drag object
-
-// misc
-bind e +hook
-bind ` toggleconsole
-bind ~ toggleconsole
-bind TAB +showscores
-bind ESCAPE togglemenu
-bind t messagemode
-bind y messagemode2
-bind z messagemode2
-bind u "+con_chat_maximize"
-bind m +hud_panel_radar_maximized
-bind i +show_info
-bind PAUSE pause
-bind F10 menu_showquitdialog
-bind F11 disconnect
-bind F12 screenshot
-bind F4 ready
-bind ALT +showaccuracy
-
-// Gamepad defaults. Tested with Logitech Rumblepad 2, I hope similar ones works as well.
-bind JOY1 "+crouch"
-bind JOY2 "+jump"
-bind JOY3 "weapprev"
-bind JOY4 "weapnext"
-bind JOY5 "+fire2"
-bind JOY6 "+fire"
-bind JOY7 "+zoom"
-bind JOY8 "dropweapon"
-bind JOY9 "menu_showteamselect"
-bind JOY10 "+show_info"
-bind JOY11 "+showscores"
-bind JOY12 "+con_chat_maximize"
-seta joyadvanced "1"
-seta joyadvaxisr "2"
-seta joyadvaxisx "3"
-seta joyadvaxisy "1"
-seta joyadvaxisz "4"
-seta joysidesensitivity "1.0"
-seta joypitchsensitivity "0.9"
-seta joyyawsensitivity "-1.8"
-// SDL only
-seta joy_deadzoneforward "0.05"
-seta joy_deadzonepitch "0.05"
-seta joy_deadzoneside "0.05"
-seta joy_deadzoneup "0.05"
-seta joy_deadzoneyaw "0.05"
-seta joy_sensitivitypitch "0.9"
-seta joy_sensitivityyaw "-1.8"
-
-// team say
-bind kp_ins messagemode
-bind kp_del messagemode2
-bind kp_end "+userbind 1"
-bind kp_downarrow "+userbind 2"
-bind kp_pgdn "+userbind 3"
-bind kp_leftarrow "+userbind 4"
-bind kp_5 "+userbind 6"
-bind kp_rightarrow "+userbind 7"
-bind kp_home "+userbind 9"
-bind kp_uparrow "+userbind 10"
-bind kp_pgup "+userbind 11"
-bind kp_multiply "+userbind 12"
-bind kp_slash "+userbind 13"
-bind kp_enter "+userbind 16"
-bind kp_plus "+userbind 17"
-bind kp_minus "+userbind 18"
-
-bind F1 vyes
-bind F2 vno
-
-//used for spectate/observer mode
-bind F3 spec
-
-// usercommands. These can be edited and bound by the menu.
-seta "userbind1_press" "say_team quad soon"; seta "userbind1_release" ""; seta "userbind1_description" "team: quad soon"
-seta "userbind2_press" "say_team free item %x^7 (l:%y^7); g_waypointsprite_team_here_p"; seta "userbind2_release" ""; seta "userbind2_description" "team: free item, icon"
-seta "userbind3_press" "say_team took item (l:%l^7); g_waypointsprite_team_here"; seta "userbind3_release" ""; seta "userbind3_description" "team: took item, icon"
-seta "userbind4_press" "say_team negative"; seta "userbind4_release" ""; seta "userbind4_description" "team: negative"
-seta "userbind5_press" "say_team positive"; seta "userbind5_release" ""; seta "userbind5_description" "team: positive"
-seta "userbind6_press" "say_team need help (l:%l^7) (h:%h^7 a:%a^7 w:%w^7); g_waypointsprite_team_helpme; cmd voice needhelp"; seta "userbind6_release" ""; seta "userbind6_description" "team: need help, icon"
-seta "userbind7_press" "say_team enemy seen (l:%y^7); g_waypointsprite_team_danger_p; cmd voice incoming"; seta "userbind7_release" ""; seta "userbind7_description" "team: enemy seen, icon"
-seta "userbind8_press" "say_team flag seen (l:%y^7); g_waypointsprite_team_here_p; cmd voice seenflag"; seta "userbind8_release" ""; seta "userbind8_description" "team: flag seen, icon"
-seta "userbind9_press" "say_team defending (l:%l^7) (h:%h^7 a:%a^7 w:%w^7); g_waypointsprite_team_here"; seta "userbind9_release" ""; seta "userbind9_description" "team: defending, icon"
-seta "userbind10_press" "say_team roaming (l:%l^7) (h:%h^7 a:%a^7 w:%w^7); g_waypointsprite_team_here"; seta "userbind10_release" ""; seta "userbind10_description" "team: roaming, icon"
-seta "userbind11_press" "say_team attacking (l:%l^7) (h:%h^7 a:%a^7 w:%w^7); g_waypointsprite_team_here"; seta "userbind11_release" ""; seta "userbind11_description" "team: attacking, icon"
-seta "userbind12_press" "say_team killed flagcarrier (l:%y^7); g_waypointsprite_team_here_p"; seta "userbind12_release" ""; seta "userbind12_description" "team: killed flag, icon"
-seta "userbind13_press" "say_team dropped flag (l:%d^7); g_waypointsprite_team_here_d"; seta "userbind13_release" ""; seta "userbind13_description" "team: dropped flag, icon"
-seta "userbind14_press" "say_team dropped gun %w^7 (l:%l^7); g_waypointsprite_team_here; wait; dropweapon"; seta "userbind14_release" ""; seta "userbind14_description" "team: drop gun, icon"
-// TODO change this to "use" once we can
-seta "userbind15_press" "say_team dropped flag/key %w^7 (l:%l^7); g_waypointsprite_team_here; wait; +use"; seta "userbind15_release" "-use"; seta "userbind15_description" "team: drop flag/key, icon"
-seta "userbind16_press" "say :-) / nice one"; seta "userbind16_release" ""; seta "userbind16_description" "chat: nice one"
-seta "userbind17_press" "say good game"; seta "userbind17_release" ""; seta "userbind17_description" "chat: good game"
-seta "userbind18_press" "say hi / good luck and have fun"; seta "userbind18_release" ""; seta "userbind18_description" "chat: hi / good luck"
-seta "userbind19_press" "+showscores; +con_chat_maximize"; seta "userbind19_release" "-showscores; -con_chat_maximize"; seta "userbind19_description" "scoreboard / chat history"
-seta "userbind20_press" "toggle cl_capturevideo"; seta "userbind20_release" ""; seta "userbind20_description" "toggle recording .avi"
-seta "userbind21_press" "toggle vid_fullscreen; vid_restart"; seta "userbind21_release" ""; seta "userbind21_description" "toggle fullscreen"
-seta "userbind22_press" ""; seta "userbind22_release" ""; seta "userbind22_description" ""
-seta "userbind23_press" ""; seta "userbind23_release" ""; seta "userbind23_description" ""
-seta "userbind24_press" ""; seta "userbind24_release" ""; seta "userbind24_description" ""
-seta "userbind25_press" ""; seta "userbind25_release" ""; seta "userbind25_description" ""
-seta "userbind26_press" ""; seta "userbind26_release" ""; seta "userbind26_description" ""
-seta "userbind27_press" ""; seta "userbind27_release" ""; seta "userbind27_description" ""
-seta "userbind28_press" ""; seta "userbind28_release" ""; seta "userbind28_description" ""
-seta "userbind29_press" ""; seta "userbind29_release" ""; seta "userbind29_description" ""
-seta "userbind30_press" ""; seta "userbind30_release" ""; seta "userbind30_description" ""
-seta "userbind31_press" ""; seta "userbind31_release" ""; seta "userbind31_description" ""
-seta "userbind32_press" ""; seta "userbind32_release" ""; seta "userbind32_description" ""
-alias _userbind_call "${$1}"
-alias +userbind "_userbind_call userbind${1}_press"
-alias -userbind "_userbind_call userbind${1}_release"
\ No newline at end of file
--- /dev/null
+// alias for switching the teamselect menu
+bind f5 menu_showteamselect
+
+bind f6 team_auto
+
+bind f7 menu_showsandboxtools
+
+// movement
+bind w +forward
+bind a +moveleft
+bind s +back
+bind d +moveright
+bind UPARROW +forward
+bind LEFTARROW +moveleft
+bind DOWNARROW +back
+bind RIGHTARROW +moveright
+bind SHIFT +crouch
+bind ENTER +jump
+bind SPACE +jump
+
+// weapons
+bind 0 weapon_group_0
+bind 1 weapon_group_1
+bind 2 weapon_group_2
+bind 3 weapon_group_3
+bind 4 weapon_group_4
+bind 5 weapon_group_5
+bind 6 weapon_group_6
+bind 7 weapon_group_7
+bind 8 weapon_group_8
+bind 9 weapon_group_9
+bind q weaplast
+bind MOUSE1 +fire
+bind MOUSE2 +fire2
+bind MOUSE3 togglezoom
+bind MOUSE4 weaplast
+bind MOUSE5 +hook
+bind MWHEELUP weapnext
+bind MWHEELDOWN weapprev
+bind r reload
+bind BACKSPACE dropweapon
+bind g dropweapon
+bind f +use
+bind v +button8 // drag object
+
+// misc
+bind e +hook
+bind ` toggleconsole
+bind ~ toggleconsole
+bind TAB +showscores
+bind ESCAPE togglemenu
+bind t messagemode
+bind y messagemode2
+bind z messagemode2
+bind u "+con_chat_maximize"
+bind m +hud_panel_radar_maximized
+bind i +show_info
+bind PAUSE pause
+bind F10 menu_showquitdialog
+bind F11 disconnect
+bind F12 screenshot
+bind F4 ready
+bind ALT +showaccuracy
+
+// Gamepad defaults. Tested with Logitech Rumblepad 2, I hope similar ones works as well.
+bind JOY1 "+crouch"
+bind JOY2 "+jump"
+bind JOY3 "weapprev"
+bind JOY4 "weapnext"
+bind JOY5 "+fire2"
+bind JOY6 "+fire"
+bind JOY7 "+zoom"
+bind JOY8 "dropweapon"
+bind JOY9 "menu_showteamselect"
+bind JOY10 "+show_info"
+bind JOY11 "+showscores"
+bind JOY12 "+con_chat_maximize"
+seta joyadvanced "1"
+seta joyadvaxisr "2"
+seta joyadvaxisx "3"
+seta joyadvaxisy "1"
+seta joyadvaxisz "4"
+seta joysidesensitivity "1.0"
+seta joypitchsensitivity "0.9"
+seta joyyawsensitivity "-1.8"
+// SDL only
+seta joy_deadzoneforward "0.05"
+seta joy_deadzonepitch "0.05"
+seta joy_deadzoneside "0.05"
+seta joy_deadzoneup "0.05"
+seta joy_deadzoneyaw "0.05"
+seta joy_sensitivitypitch "0.9"
+seta joy_sensitivityyaw "-1.8"
+
+// team say
+bind kp_ins messagemode
+bind kp_del messagemode2
+bind kp_end "+userbind 1"
+bind kp_downarrow "+userbind 2"
+bind kp_pgdn "+userbind 3"
+bind kp_leftarrow "+userbind 4"
+bind kp_5 "+userbind 6"
+bind kp_rightarrow "+userbind 7"
+bind kp_home "+userbind 9"
+bind kp_uparrow "+userbind 10"
+bind kp_pgup "+userbind 11"
+bind kp_multiply "+userbind 12"
+bind kp_slash "+userbind 13"
+bind kp_enter "+userbind 16"
+bind kp_plus "+userbind 17"
+bind kp_minus "+userbind 18"
+
+bind F1 vyes
+bind F2 vno
+
+//used for spectate/observer mode
+bind F3 spec
+
+// usercommands. These can be edited and bound by the menu.
+seta "userbind1_press" "say_team quad soon"; seta "userbind1_release" ""; seta "userbind1_description" "team: quad soon"
+seta "userbind2_press" "say_team free item %x^7 (l:%y^7); g_waypointsprite_team_here_p"; seta "userbind2_release" ""; seta "userbind2_description" "team: free item, icon"
+seta "userbind3_press" "say_team took item (l:%l^7); g_waypointsprite_team_here"; seta "userbind3_release" ""; seta "userbind3_description" "team: took item, icon"
+seta "userbind4_press" "say_team negative"; seta "userbind4_release" ""; seta "userbind4_description" "team: negative"
+seta "userbind5_press" "say_team positive"; seta "userbind5_release" ""; seta "userbind5_description" "team: positive"
+seta "userbind6_press" "say_team need help (l:%l^7) (h:%h^7 a:%a^7 w:%w^7); g_waypointsprite_team_helpme; cmd voice needhelp"; seta "userbind6_release" ""; seta "userbind6_description" "team: need help, icon"
+seta "userbind7_press" "say_team enemy seen (l:%y^7); g_waypointsprite_team_danger_p; cmd voice incoming"; seta "userbind7_release" ""; seta "userbind7_description" "team: enemy seen, icon"
+seta "userbind8_press" "say_team flag seen (l:%y^7); g_waypointsprite_team_here_p; cmd voice seenflag"; seta "userbind8_release" ""; seta "userbind8_description" "team: flag seen, icon"
+seta "userbind9_press" "say_team defending (l:%l^7) (h:%h^7 a:%a^7 w:%w^7); g_waypointsprite_team_here"; seta "userbind9_release" ""; seta "userbind9_description" "team: defending, icon"
+seta "userbind10_press" "say_team roaming (l:%l^7) (h:%h^7 a:%a^7 w:%w^7); g_waypointsprite_team_here"; seta "userbind10_release" ""; seta "userbind10_description" "team: roaming, icon"
+seta "userbind11_press" "say_team attacking (l:%l^7) (h:%h^7 a:%a^7 w:%w^7); g_waypointsprite_team_here"; seta "userbind11_release" ""; seta "userbind11_description" "team: attacking, icon"
+seta "userbind12_press" "say_team killed flagcarrier (l:%y^7); g_waypointsprite_team_here_p"; seta "userbind12_release" ""; seta "userbind12_description" "team: killed flag, icon"
+seta "userbind13_press" "say_team dropped flag (l:%d^7); g_waypointsprite_team_here_d"; seta "userbind13_release" ""; seta "userbind13_description" "team: dropped flag, icon"
+seta "userbind14_press" "say_team dropped gun %w^7 (l:%l^7); g_waypointsprite_team_here; wait; dropweapon"; seta "userbind14_release" ""; seta "userbind14_description" "team: drop gun, icon"
+// TODO change this to "use" once we can
+seta "userbind15_press" "say_team dropped flag/key %w^7 (l:%l^7); g_waypointsprite_team_here; wait; +use"; seta "userbind15_release" "-use"; seta "userbind15_description" "team: drop flag/key, icon"
+seta "userbind16_press" "say :-) / nice one"; seta "userbind16_release" ""; seta "userbind16_description" "chat: nice one"
+seta "userbind17_press" "say good game"; seta "userbind17_release" ""; seta "userbind17_description" "chat: good game"
+seta "userbind18_press" "say hi / good luck and have fun"; seta "userbind18_release" ""; seta "userbind18_description" "chat: hi / good luck"
+seta "userbind19_press" "+showscores; +con_chat_maximize"; seta "userbind19_release" "-showscores; -con_chat_maximize"; seta "userbind19_description" "scoreboard / chat history"
+seta "userbind20_press" "toggle cl_capturevideo"; seta "userbind20_release" ""; seta "userbind20_description" "toggle recording .avi"
+seta "userbind21_press" "toggle vid_fullscreen; vid_restart"; seta "userbind21_release" ""; seta "userbind21_description" "toggle fullscreen"
+seta "userbind22_press" ""; seta "userbind22_release" ""; seta "userbind22_description" ""
+seta "userbind23_press" ""; seta "userbind23_release" ""; seta "userbind23_description" ""
+seta "userbind24_press" ""; seta "userbind24_release" ""; seta "userbind24_description" ""
+seta "userbind25_press" ""; seta "userbind25_release" ""; seta "userbind25_description" ""
+seta "userbind26_press" ""; seta "userbind26_release" ""; seta "userbind26_description" ""
+seta "userbind27_press" ""; seta "userbind27_release" ""; seta "userbind27_description" ""
+seta "userbind28_press" ""; seta "userbind28_release" ""; seta "userbind28_description" ""
+seta "userbind29_press" ""; seta "userbind29_release" ""; seta "userbind29_description" ""
+seta "userbind30_press" ""; seta "userbind30_release" ""; seta "userbind30_description" ""
+seta "userbind31_press" ""; seta "userbind31_release" ""; seta "userbind31_description" ""
+seta "userbind32_press" ""; seta "userbind32_release" ""; seta "userbind32_description" ""
+alias _userbind_call "${$1}"
+alias +userbind "_userbind_call userbind${1}_press"
+alias -userbind "_userbind_call userbind${1}_release"
\ No newline at end of file
r_labelsprites_scale 0.40625 // labels sprites get displayed at 0.5x from 640x480 to 1280x1024, and at 1x from 1600x1200 onwards
-exec binds-default.cfg
+exec binds-xonotic.cfg
// we must change its default from 1.0 to 1 to be consistent with menuqc
set slowmo 1
-seta menu_skin "luminos"
+seta menu_skin "luma"
set menu_slowmo 1
seta menu_sounds 0 "enables menu sound effects. 1 enables click sounds, 2 also enables hover sounds"
seta menu_tooltips 1 "menu tooltips: 0 disabled, 1 enabled, 2 also shows cvar or console command (when available) changed or executed by the item"
exec _hud_descriptions.cfg
// exec the default skin config
// please add any new cvars into the hud_save script in qcsrc/client/hud_config.qc for consistency
-exec hud_luminos.cfg
+exec hud_luma.cfg
// ... and now that everything is configured/aliased, we can do some things:
--- /dev/null
+title Luma
+author sev
+
+// Image suffixes: c(licked), d(isabled), f(ocused), n(ormal), s(eektrack)
+// Background scaling: c(rop), h(eight), l(etterbox), s(tretch), w(idth)
+// Background positioning:
+// 7 8 9
+// 4 5 6
+// 1 2 3
+
+// background
+ALIGN_BACKGROUND c5h5
+ALIGN_BACKGROUND_INGAME c5h5
+ALPHA_BACKGROUND_INGAME 1
+ALPHA_DISABLED 0.2
+ALPHA_BEHIND 0.5
+
+// button
+COLOR_BUTTON_C '1 1 1'
+COLOR_BUTTON_D '1 1 1'
+COLOR_BUTTON_F '1 1 1'
+COLOR_BUTTON_N '1 1 1'
+
+// campaign
+ALPHA_CAMPAIGN_CURRENT 1
+COLOR_CAMPAIGN_CURRENT '0.96 0.99 1'
+ALPHA_CAMPAIGN_DESCRIPTION 0.8
+ALPHA_CAMPAIGN_FUTURE 0.2
+COLOR_CAMPAIGN_FUTURE '0.96 0.99 1'
+ALPHA_CAMPAIGN_SELECTABLE 0.6
+COLOR_CAMPAIGN_SELECTABLE '0.96 0.99 1'
+
+// charmap
+ALPHA_CHARMAP_CHAR 0.85
+COLOR_CHARMAP_CHAR '1 1 1'
+ALPHA_CHARMAP_FOCUS 0.85
+COLOR_CHARMAP_FOCUS '0.09 0.42 0.69'
+
+// checkbox
+COLOR_CHECKBOX_C '1 1 1'
+COLOR_CHECKBOX_D '1 1 1'
+COLOR_CHECKBOX_F '1 1 1'
+COLOR_CHECKBOX_N '1 1 1'
+
+// clearbutton
+COLOR_CLEARBUTTON_C '1 1 1'
+COLOR_CLEARBUTTON_F '1 1 1'
+COLOR_CLEARBUTTON_N '1 1 1'
+OFFSET_CLEARBUTTON 0
+
+// colorpicker
+MARGIN_COLORPICKER '0 0 0'
+
+// credits
+ALPHA_CREDITS_FUNCTION 1
+COLOR_CREDITS_FUNCTION '0.03 0.25 0.49'
+ALPHA_CREDITS_PERSON 0.8
+COLOR_CREDITS_PERSON '0.96 0.99 1'
+ALPHA_CREDITS_TITLE 1
+COLOR_CREDITS_TITLE '0.94 0.45 0.11'
+ROWS_CREDITS 20
+WIDTH_CREDITS 0.5
+
+// cursor
+SIZE_CURSOR '32 32 0'
+OFFSET_CURSOR '0.25 0.125 0'
+ALPHA_CURSOR_INTRO 0
+
+// cvarlist
+COLOR_CVARLIST_CHANGED '0.95 0.05 0.05'
+COLOR_CVARLIST_CONTROLS '1 0.2 0.15'
+COLOR_CVARLIST_UNCHANGED '1 1 1'
+ALPHA_CVARLIST_SAVED 0.85
+ALPHA_CVARLIST_TEMPORARY 0.55
+
+// dialog color
+COLOR_DIALOG_MULTIPLAYER '1 1 1'
+COLOR_DIALOG_SETTINGS '1 1 1'
+COLOR_DIALOG_TEAMSELECT '1 1 1'
+COLOR_DIALOG_SANDBOXTOOLS '1 1 1'
+COLOR_DIALOG_QUIT '1 1 1'
+COLOR_DIALOG_ADVANCED '1 1 1'
+COLOR_DIALOG_MUTATORS '1 1 1'
+COLOR_DIALOG_MAPINFO '1 1 1'
+COLOR_DIALOG_USERBIND '1 1 1'
+COLOR_DIALOG_SINGLEPLAYER '1 1 1'
+COLOR_DIALOG_CREDITS '1 1 1'
+COLOR_DIALOG_WEAPONS '1 1 1'
+COLOR_DIALOG_VIEW '1 1 1'
+COLOR_DIALOG_MODEL '1 1 1'
+COLOR_DIALOG_CROSSHAIR '1 1 1'
+COLOR_DIALOG_HUD '1 1 1'
+COLOR_DIALOG_SCREENSHOTVIEWER '1 1 1'
+COLOR_DIALOG_SERVERINFO '1 1 1'
+COLOR_DIALOG_FIRSTRUN '1 1 1'
+COLOR_DIALOG_CVARS '1 0.2 0.15'
+COLOR_DIALOG_HUDCONFIRM '1 0.2 0.15'
+
+// dialog margins
+HEIGHT_DIALOGBORDER 1
+MARGIN_TOP 8
+MARGIN_BOTTOM 12
+MARGIN_LEFT 16
+MARGIN_RIGHT 16
+MARGIN_COLUMNS 4
+MARGIN_ROWS 4
+
+// dialog scale transformation centers (NOT the actual positions)
+POSITION_DIALOG_MULTIPLAYER '0.9 0.4 0'
+POSITION_DIALOG_SINGLEPLAYER '0.15 0.4 0'
+POSITION_DIALOG_SETTINGS '0.5 1 0'
+POSITION_DIALOG_CREDITS '-0.05 1.2 0'
+POSITION_DIALOG_QUIT '1.05 1.2 0'
+
+// font
+ALPHA_TEXT 0.8
+COLOR_TEXT '0.96 0.99 1'
+ALPHA_HEADER 0.5
+COLOR_HEADER '0.96 0.99 1'
+FONTSIZE_NORMAL 12
+FONTSIZE_TITLE 16
+FONTSIZE_TOOLTIP 12
+HEIGHT_NORMAL 1.5
+HEIGHT_TITLE 1.5
+HEIGHT_ZOOMEDTITLE -1
+
+// inputbox
+COLOR_INPUTBOX_F '1 1 1'
+COLOR_INPUTBOX_N '1 1 1'
+MARGIN_INPUTBOX_CHARS 1
+
+// keygrabber
+ALPHA_KEYGRABBER_KEYS 0.8
+COLOR_KEYGRABBER_KEYS '0.96 0.99 1'
+ALPHA_KEYGRABBER_TITLES 1
+COLOR_KEYGRABBER_TITLES '0.03 0.25 0.49'
+
+// listbox
+ALPHA_LISTBOX_BACKGROUND 0.5
+COLOR_LISTBOX_BACKGROUND '0 0 0'
+ALPHA_LISTBOX_SELECTED 1
+COLOR_LISTBOX_SELECTED '0.97 0.56 0.27'
+ALPHA_LISTBOX_WAITING 0.8
+COLOR_LISTBOX_WAITING '0.73 0.82 0.9'
+
+// mainmenu
+ALPHAS_MAINMENU '0.8 0.9 1'
+
+// maplist
+COLOR_MAPLIST_AUTHOR '0.56 0.72 0.86'
+ALPHA_MAPLIST_INCLUDEDBG 0.3
+COLOR_MAPLIST_INCLUDEDBG '0.03 0.25 0.49'
+ALPHA_MAPLIST_INCLUDEDFG 1
+ALPHA_MAPLIST_NOTINCLUDEDFG 0.25
+COLOR_MAPLIST_TITLE '0.96 0.99 1'
+
+// modeltitle
+ALPHA_MODELTITLE 0.8
+COLOR_MODELTITLE '0.96 0.99 1'
+
+// radiobutton
+COLOR_RADIOBUTTON_C '1 1 1'
+COLOR_RADIOBUTTON_D '1 1 1'
+COLOR_RADIOBUTTON_F '1 1 1'
+COLOR_RADIOBUTTON_N '1 1 1'
+
+// serverinfo
+COLOR_SERVERINFO_IP '0.96 0.99 1'
+COLOR_SERVERINFO_NAME '0.94 0.45 0.11'
+
+// serverlist
+ALPHA_SERVERLIST_CATEGORY 1
+COLOR_SERVERLIST_CATEGORY '0.03 0.25 0.49'
+ALPHA_SERVERLIST_EMPTY 0.65
+ALPHA_SERVERLIST_FAVORITE 0.8
+COLOR_SERVERLIST_FAVORITE '1 1 1'
+ALPHA_SERVERLIST_FULL 0.4
+ALPHA_SERVERLIST_HIGHPING 0.4
+COLOR_SERVERLIST_HIGHPING '0.98 0.08 0.08'
+COLOR_SERVERLIST_LOWPING '0.08 0.98 0.08'
+COLOR_SERVERLIST_MEDPING '0.98 0.76 0.08'
+
+// skinlist
+COLOR_SKINLIST_AUTHOR '0.56 0.72 0.86'
+COLOR_SKINLIST_TITLE '0.96 0.99 1'
+
+// scrollbar
+COLOR_SCROLLBAR_C '1 1 1'
+COLOR_SCROLLBAR_F '1 1 1'
+COLOR_SCROLLBAR_N '1 1 1'
+COLOR_SCROLLBAR_S '1 1 1'
+WIDTH_SCROLLBAR 16
+
+// slider
+COLOR_SLIDER_C '1 1 1'
+COLOR_SLIDER_D '1 1 1'
+COLOR_SLIDER_F '1 1 1'
+COLOR_SLIDER_N '1 1 1'
+COLOR_SLIDER_S '1 1 1'
+TOLERANCE_SLIDER '0.2 2 0'
+WIDTH_SLIDERTEXT 0.333333333333
+
+// tooltip
+ALPHA_TOOLTIP 0.8
+COLOR_TOOLTIP '1 0.97 0.94'
+AVOID_TOOLTIP '8 8 0'
+BORDER_TOOLTIP '16 16 0'
+MARGIN_TOOLTIP '10 8 0'
+WIDTH_TOOLTIP 0.3
--- /dev/null
+seta hud_skin "luma"
+seta hud_panel_bg "0"
+seta hud_panel_bg_color "0 0.14 0.25"
+seta hud_panel_bg_color_team "1"
+seta hud_panel_bg_alpha "1"
+seta hud_panel_bg_border "2"
+seta hud_panel_bg_padding "3"
+seta hud_panel_fg_alpha "1"
+
+seta hud_dock "0"
+seta hud_dock_color "0 0 0"
+seta hud_dock_color_team "1"
+seta hud_dock_alpha "1"
+
+seta hud_progressbar_alpha "0.600000"
+seta hud_progressbar_health_color "0.83 0.12 0"
+seta hud_progressbar_armor_color "0.28 0.8 0"
+seta hud_progressbar_fuel_color "0.77 0.67 0"
+seta hud_progressbar_strength_color "0.86 0.35 0"
+seta hud_progressbar_shield_color "0.28 0.8 0"
+seta hud_progressbar_superweapons_color "0.77 0.67 0"
+seta hud_progressbar_nexball_color "0.2 0.65 0.93"
+seta hud_progressbar_speed_color "0.77 0.67 0"
+seta hud_progressbar_acceleration_color "0.2 0.65 0.93"
+seta hud_progressbar_acceleration_neg_color "0.86 0.35 0"
+
+seta _hud_panelorder "15 12 9 5 10 6 14 0 7 4 11 2 1 3 8 13 16 "
+
+seta hud_configure_grid "1"
+seta hud_configure_grid_xsize "0.005000"
+seta hud_configure_grid_ysize "0.005000"
+
+seta hud_panel_weapons 1
+seta hud_panel_weapons_pos "0.965000 0.120000"
+seta hud_panel_weapons_size "0.035000 0.770000"
+seta hud_panel_weapons_bg "border_default_east"
+seta hud_panel_weapons_bg_color ""
+seta hud_panel_weapons_bg_color_team ""
+seta hud_panel_weapons_bg_alpha ""
+seta hud_panel_weapons_bg_border ""
+seta hud_panel_weapons_bg_padding "0"
+seta hud_panel_weapons_accuracy "0"
+seta hud_panel_weapons_label "1"
+seta hud_panel_weapons_label_scale "0.3"
+seta hud_panel_weapons_complainbubble "1"
+seta hud_panel_weapons_complainbubble_padding "0"
+seta hud_panel_weapons_complainbubble_time "0"
+seta hud_panel_weapons_complainbubble_fadetime "1"
+seta hud_panel_weapons_complainbubble_color_outofammo "0.8 0.11 0"
+seta hud_panel_weapons_complainbubble_color_donthave "0.88 0.75 0"
+seta hud_panel_weapons_complainbubble_color_unavailable "0 0.71 1"
+seta hud_panel_weapons_ammo "0"
+seta hud_panel_weapons_ammo_color "0.58 1 0.04"
+seta hud_panel_weapons_ammo_alpha "1"
+seta hud_panel_weapons_aspect "1"
+seta hud_panel_weapons_timeout "1"
+seta hud_panel_weapons_timeout_effect "1"
+seta hud_panel_weapons_timeout_fadebgmin "0.4"
+seta hud_panel_weapons_timeout_fadefgmin "0.4"
+seta hud_panel_weapons_timeout_speed_in "0.25"
+seta hud_panel_weapons_timeout_speed_out "0.75"
+seta hud_panel_weapons_onlyowned "1"
+
+seta hud_panel_ammo 1
+seta hud_panel_ammo_pos "0.330000 0.865000"
+seta hud_panel_ammo_size "0.340000 0.060000"
+seta hud_panel_ammo_bg "border_tab_south"
+seta hud_panel_ammo_bg_color ""
+seta hud_panel_ammo_bg_color_team ""
+seta hud_panel_ammo_bg_alpha ""
+seta hud_panel_ammo_bg_border ""
+seta hud_panel_ammo_bg_padding "4"
+seta hud_panel_ammo_onlycurrent "0"
+seta hud_panel_ammo_noncurrent_alpha "0.6"
+seta hud_panel_ammo_noncurrent_scale "0.4"
+seta hud_panel_ammo_iconalign "0"
+seta hud_panel_ammo_progressbar "0"
+seta hud_panel_ammo_progressbar_name "progressbar"
+seta hud_panel_ammo_progressbar_xoffset "0"
+seta hud_panel_ammo_text "1"
+
+seta hud_panel_powerups 1
+seta hud_panel_powerups_pos "0 0.270000"
+seta hud_panel_powerups_size "0.040000 0.415000"
+seta hud_panel_powerups_bg "border_default_west"
+seta hud_panel_powerups_bg_color ""
+seta hud_panel_powerups_bg_color_team ""
+seta hud_panel_powerups_bg_alpha ""
+seta hud_panel_powerups_bg_border ""
+seta hud_panel_powerups_bg_padding "2"
+seta hud_panel_powerups_flip "1"
+seta hud_panel_powerups_iconalign "1"
+seta hud_panel_powerups_baralign "1"
+seta hud_panel_powerups_progressbar "1"
+seta hud_panel_powerups_progressbar_strength "progressbar"
+seta hud_panel_powerups_progressbar_shield "progressbar"
+seta hud_panel_powerups_progressbar_superweapons "progressbar"
+seta hud_panel_powerups_text "1"
+
+seta hud_panel_healtharmor 1
+seta hud_panel_healtharmor_pos "0.300000 0.925000"
+seta hud_panel_healtharmor_size "0.400000 0.070000"
+seta hud_panel_healtharmor_bg "border_default_south"
+seta hud_panel_healtharmor_bg_color ""
+seta hud_panel_healtharmor_bg_color_team ""
+seta hud_panel_healtharmor_bg_alpha ""
+seta hud_panel_healtharmor_bg_border "4"
+seta hud_panel_healtharmor_bg_padding ""
+seta hud_panel_healtharmor_flip "0"
+seta hud_panel_healtharmor_iconalign "3"
+seta hud_panel_healtharmor_baralign "3"
+seta hud_panel_healtharmor_progressbar "1"
+seta hud_panel_healtharmor_progressbar_health "progressbar"
+seta hud_panel_healtharmor_progressbar_armor "progressbar"
+seta hud_panel_healtharmor_progressbar_gfx "1"
+seta hud_panel_healtharmor_progressbar_gfx_smooth "2"
+seta hud_panel_healtharmor_text "1"
+
+seta hud_panel_notify 1
+seta hud_panel_notify_pos "0.730000 0.800000"
+seta hud_panel_notify_size "0.265000 0.200000"
+seta hud_panel_notify_bg "0"
+seta hud_panel_notify_bg_color ""
+seta hud_panel_notify_bg_color_team ""
+seta hud_panel_notify_bg_alpha ""
+seta hud_panel_notify_bg_border ""
+seta hud_panel_notify_bg_padding ""
+seta hud_panel_notify_flip "0"
+seta hud_panel_notify_fontsize "0.8"
+seta hud_panel_notify_time "10"
+seta hud_panel_notify_fadetime "3"
+seta hud_panel_notify_icon_aspect "1"
+
+seta hud_panel_timer 1
+seta hud_panel_timer_pos "0.456000 0"
+seta hud_panel_timer_size "0.088000 0.030000"
+seta hud_panel_timer_bg "border_plain_north"
+seta hud_panel_timer_bg_color ""
+seta hud_panel_timer_bg_color_team ""
+seta hud_panel_timer_bg_alpha ""
+seta hud_panel_timer_bg_border ""
+seta hud_panel_timer_bg_padding "0"
+seta hud_panel_timer_increment "0"
+
+seta hud_panel_radar 1
+seta hud_panel_radar_pos "0 0"
+seta hud_panel_radar_size "0.200000 0.250000"
+seta hud_panel_radar_bg "border_corner_northwest"
+seta hud_panel_radar_bg_color ""
+seta hud_panel_radar_bg_color_team ""
+seta hud_panel_radar_bg_alpha ""
+seta hud_panel_radar_bg_border ""
+seta hud_panel_radar_bg_padding "1"
+seta hud_panel_radar_foreground_alpha "1"
+seta hud_panel_radar_rotation "0"
+seta hud_panel_radar_zoommode "0"
+seta hud_panel_radar_scale "8192"
+seta hud_panel_radar_maximized_scale "5120"
+seta hud_panel_radar_maximized_size "0.5 0.5"
+seta hud_panel_radar_maximized_rotation "1"
+seta hud_panel_radar_maximized_zoommode "3"
+
+seta hud_panel_score 1
+seta hud_panel_score_pos "0.880000 0"
+seta hud_panel_score_size "0.120000 0.080000"
+seta hud_panel_score_bg "border_corner_northeast"
+seta hud_panel_score_bg_color ""
+seta hud_panel_score_bg_color_team ""
+seta hud_panel_score_bg_alpha ""
+seta hud_panel_score_bg_border ""
+seta hud_panel_score_bg_padding "1"
+seta hud_panel_score_rankings "1"
+
+seta hud_panel_racetimer 1
+seta hud_panel_racetimer_pos "0.360000 0.110000"
+seta hud_panel_racetimer_size "0.280000 0.090000"
+seta hud_panel_racetimer_bg "0"
+seta hud_panel_racetimer_bg_color ""
+seta hud_panel_racetimer_bg_color_team ""
+seta hud_panel_racetimer_bg_alpha ""
+seta hud_panel_racetimer_bg_border ""
+seta hud_panel_racetimer_bg_padding ""
+
+seta hud_panel_vote 1
+seta hud_panel_vote_pos "0.740000 0.690000"
+seta hud_panel_vote_size "0.190000 0.090000"
+seta hud_panel_vote_bg " "
+seta hud_panel_vote_bg_color ""
+seta hud_panel_vote_bg_color_team ""
+seta hud_panel_vote_bg_alpha ""
+seta hud_panel_vote_bg_border ""
+seta hud_panel_vote_bg_padding ""
+seta hud_panel_vote_alreadyvoted_alpha "0.700000"
+
+seta hud_panel_modicons 1
+seta hud_panel_modicons_pos "0.370000 0.030000"
+seta hud_panel_modicons_size "0.260000 0.07000"
+seta hud_panel_modicons_bg "border_fading_north"
+seta hud_panel_modicons_bg_color ""
+seta hud_panel_modicons_bg_color_team ""
+seta hud_panel_modicons_bg_alpha ""
+seta hud_panel_modicons_bg_border "4"
+seta hud_panel_modicons_bg_padding "0"
+seta hud_panel_modicons_ca_layout "1"
+seta hud_panel_modicons_dom_layout "1"
+seta hud_panel_modicons_freezetag_layout "1"
+
+seta hud_panel_pressedkeys 1
+seta hud_panel_pressedkeys_pos "0.445000 0.730000"
+seta hud_panel_pressedkeys_size "0.110000 0.090000"
+seta hud_panel_pressedkeys_bg " "
+seta hud_panel_pressedkeys_bg_color ""
+seta hud_panel_pressedkeys_bg_color_team ""
+seta hud_panel_pressedkeys_bg_alpha ""
+seta hud_panel_pressedkeys_bg_border ""
+seta hud_panel_pressedkeys_bg_padding "1"
+seta hud_panel_pressedkeys_aspect "1.600000"
+seta hud_panel_pressedkeys_attack "0"
+
+seta hud_panel_chat 1
+seta hud_panel_chat_pos "0.010000 0.700000"
+seta hud_panel_chat_size "0.460000 0.190000"
+seta hud_panel_chat_bg "0"
+seta hud_panel_chat_bg_color ""
+seta hud_panel_chat_bg_color_team ""
+seta hud_panel_chat_bg_alpha ""
+seta hud_panel_chat_bg_border ""
+seta hud_panel_chat_bg_padding ""
+
+seta hud_panel_engineinfo 0
+seta hud_panel_engineinfo_pos "0.930000 0.970000"
+seta hud_panel_engineinfo_size "0.070000 0.030000"
+seta hud_panel_engineinfo_bg "0"
+seta hud_panel_engineinfo_bg_color ""
+seta hud_panel_engineinfo_bg_color_team ""
+seta hud_panel_engineinfo_bg_alpha ""
+seta hud_panel_engineinfo_bg_border ""
+seta hud_panel_engineinfo_bg_padding ""
+seta hud_panel_engineinfo_framecounter_time "0.1"
+seta hud_panel_engineinfo_framecounter_decimals "0"
+
+seta hud_panel_infomessages 1
+seta hud_panel_infomessages_pos "0.720000 0.100000"
+seta hud_panel_infomessages_size "0.280000 0.080000"
+seta hud_panel_infomessages_bg "0"
+seta hud_panel_infomessages_bg_color ""
+seta hud_panel_infomessages_bg_color_team ""
+seta hud_panel_infomessages_bg_alpha ""
+seta hud_panel_infomessages_bg_border ""
+seta hud_panel_infomessages_bg_padding "0"
+seta hud_panel_infomessages_flip "1"
+
+seta hud_panel_physics 3
+seta hud_panel_physics_pos "0.410000 0.630000"
+seta hud_panel_physics_size "0.180000 0.080000"
+seta hud_panel_physics_bg "0"
+seta hud_panel_physics_bg_color ""
+seta hud_panel_physics_bg_color_team ""
+seta hud_panel_physics_bg_alpha "0.700000"
+seta hud_panel_physics_bg_border ""
+seta hud_panel_physics_bg_padding ""
+seta hud_panel_physics_speed_unit "1"
+seta hud_panel_physics_speed_unit_show "1"
+seta hud_panel_physics_speed_max "1800"
+seta hud_panel_physics_speed_vertical "0"
+seta hud_panel_physics_topspeed "1"
+seta hud_panel_physics_topspeed_time "4"
+seta hud_panel_physics_acceleration_max "1.5"
+seta hud_panel_physics_acceleration_vertical "0"
+seta hud_panel_physics_flip "0"
+seta hud_panel_physics_baralign "0"
+seta hud_panel_physics_progressbar "1"
+seta hud_panel_physics_acceleration_progressbar_mode "0"
+seta hud_panel_physics_acceleration_progressbar_scale "1"
+seta hud_panel_physics_acceleration_progressbar_nonlinear "0"
+seta hud_panel_physics_text "1"
+seta hud_panel_physics_text_scale "0.7"
+
+seta hud_panel_centerprint 1
+seta hud_panel_centerprint_pos "0.175000 0.220000"
+seta hud_panel_centerprint_size "0.650000 0.220000"
+seta hud_panel_centerprint_bg "0"
+seta hud_panel_centerprint_bg_color ""
+seta hud_panel_centerprint_bg_color_team ""
+seta hud_panel_centerprint_bg_alpha ""
+seta hud_panel_centerprint_bg_border ""
+seta hud_panel_centerprint_bg_padding ""
+seta hud_panel_centerprint_align "0.5"
+seta hud_panel_centerprint_flip "0"
+seta hud_panel_centerprint_fontscale "1"
+seta hud_panel_centerprint_time "3"
+seta hud_panel_centerprint_fade_in "0.2"
+seta hud_panel_centerprint_fade_out "0.5"
+seta hud_panel_centerprint_fade_subsequent "1"
+seta hud_panel_centerprint_fade_subsequent_passone "3"
+seta hud_panel_centerprint_fade_subsequent_passone_minalpha "0.5"
+seta hud_panel_centerprint_fade_subsequent_passtwo "10"
+seta hud_panel_centerprint_fade_subsequent_passtwo_minalpha "0.5"
+seta hud_panel_centerprint_fade_subsequent_minfontsize "0.75"
+seta hud_panel_centerprint_fade_minfontsize "0"
+
+seta hud_panel_buffs 1
+seta hud_panel_buffs_pos "0.435000 0.840000"
+seta hud_panel_buffs_size "0.125000 0.035000"
+seta hud_panel_buffs_bg "0"
+seta hud_panel_buffs_bg_color ""
+seta hud_panel_buffs_bg_color_team ""
+seta hud_panel_buffs_bg_alpha ""
+seta hud_panel_buffs_bg_border ""
+seta hud_panel_buffs_bg_padding ""
+
+menu_sync
--- /dev/null
+Plane,a_bullets_luma
--- /dev/null
+Plane,a_cells_luma
--- /dev/null
+Plane,a_cells_luma
--- /dev/null
+Plane,a_rockets_luma
--- /dev/null
+Plane,a_shells_luma
--- /dev/null
+Plane,g_fuel_luma
--- /dev/null
+Plane,g_fuelregen_luma
--- /dev/null
+Plane,g_h100_luma
--- /dev/null
+Plane,g_h1_luma
--- /dev/null
+Plane,g_h25_luma
--- /dev/null
+Plane,g_h50_luma
--- /dev/null
+Plane,g_invincible_luma
--- /dev/null
+Plane,g_jetpack_luma
--- /dev/null
+Plane,g_strength_luma
--- /dev/null
+Plane,item_armor_big_luma
--- /dev/null
+Plane,item_armor_large_luma
--- /dev/null
+Plane,item_armor_medium_luma
--- /dev/null
+Plane,item_armor_small_luma
--- /dev/null
+Plane,g_arc_luma
--- /dev/null
+Plane,g_campingrifle_luma
--- /dev/null
+Plane,g_crylink_luma
--- /dev/null
+Plane,g_electro_luma
--- /dev/null
+Plane,g_fireball_luma
--- /dev/null
+Plane,g_gl_luma
--- /dev/null
+Plane,g_hagar_luma
--- /dev/null
+Plane,g_hlac_luma
--- /dev/null
+Plane,g_hookgun_luma
--- /dev/null
+Plane,g_laser_luma
--- /dev/null
+Plane,g_minelayer_luma
--- /dev/null
+Plane,g_minstanex_luma
--- /dev/null
+Plane,g_nex_luma
--- /dev/null
+Plane,g_porto_luma
--- /dev/null
+Plane,g_rl_luma
--- /dev/null
+Plane,g_seeker_luma
--- /dev/null
+Plane,g_shockwave_luma
--- /dev/null
+Plane,g_shotgun_luma
--- /dev/null
+Plane,g_tuba_luma
--- /dev/null
+Plane,g_uzi_luma
e.netname = refname;
e.message = wepname;
- #ifndef MENUQC
+ #ifdef CSQC
func(WR_INIT);
#endif
}
#include "item/modalcontroller.c"
#include "item/image.c"
#include "item/label.c"
+#include "item/dialog.c"
#include "item/button.c"
#include "item/checkbox.c"
#include "item/radiobutton.c"
#include "item/borderimage.c"
#include "item/slider.c"
-#include "item/dialog.c"
#include "item/tab.c"
#include "item/textslider.c"
#include "item/listbox.c"
}
}
else if(argc == 2 && !isdemo()) // don't allow this command in demos
+ {
+ m_play_click_sound(MENU_SOUND_OPEN);
m_goto(strcat(filter, argv(1))); // switch to a menu item
+ }
if(filter)
strunzone(filter);
return;
METHOD(Item, destroy, void(entity))
ATTRIB(Item, focused, float, 0)
ATTRIB(Item, focusable, float, 0)
+ ATTRIB(Item, allowFocusSound, float, 0)
ATTRIB(Item, parent, entity, NULL)
ATTRIB(Item, preferredFocusPriority, float, 0)
ATTRIB(Item, origin, vector, '0 0 0')
void Item_focusEnter(entity me)
{
+ if(me.allowFocusSound)
+ m_play_focus_sound();
}
void Item_focusLeave(entity me)
METHOD(Button, mousePress, float(entity, vector))
METHOD(Button, mouseDrag, float(entity, vector))
METHOD(Button, mouseRelease, float(entity, vector))
- METHOD(Button, focusEnter, void(entity))
+ METHOD(Button, playClickSound, void(entity))
ATTRIB(Button, onClick, void(entity, entity), func_null)
ATTRIB(Button, onClickEntity, entity, NULL)
ATTRIB(Button, src, string, string_null)
ATTRIB(Button, srcMulti, float, 1) // 0: button square left, text right; 1: button stretched, text over it
ATTRIB(Button, buttonLeftOfText, float, 0)
ATTRIB(Button, focusable, float, 1)
+ ATTRIB(Button, allowFocusSound, float, 1)
ATTRIB(Button, pressed, float, 0)
ATTRIB(Button, clickTime, float, 0)
ATTRIB(Button, disabled, float, 0)
{
if(key == K_ENTER || key == K_SPACE || key == K_KP_ENTER)
{
+ me.playClickSound(me);
me.clickTime = 0.1; // delayed for effect
return 1;
}
{
if (!me.disabled)
{
- if(cvar("menu_sounds"))
- localsound("sound/misc/menu2.wav");
+ me.playClickSound(me);
if(me.onClick)
me.onClick(me, me.onClickEntity);
}
{
me.focusable = !me.disabled;
}
-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;
SUPER(Button).draw(me);
}
+void Button_playClickSound(entity me)
+{
+ if(me.onClick == DialogOpenButton_Click)
+ m_play_click_sound(MENU_SOUND_OPEN);
+ else if(me.onClick == Dialog_Close)
+ m_play_click_sound(MENU_SOUND_CLOSE);
+ else
+ m_play_click_sound(MENU_SOUND_EXECUTE);
+}
#endif
CLASS(CheckBox) EXTENDS(Button)
METHOD(CheckBox, configureCheckBox, void(entity, string, float, string))
METHOD(CheckBox, draw, void(entity))
+ METHOD(CheckBox, playClickSound, void(entity))
METHOD(CheckBox, toString, string(entity))
METHOD(CheckBox, setChecked, void(entity, float))
ATTRIB(CheckBox, useDownAsChecked, float, 0)
me.pressed = s;
SUPER(CheckBox).draw(me);
}
+void CheckBox_playClickSound(entity me)
+{
+ m_play_click_sound(MENU_SOUND_SELECT);
+}
#endif
{
if(key == K_ESCAPE)
{
+ m_play_click_sound(MENU_SOUND_CLOSE);
me.close(me);
return 1;
}
ATTRIB(InputBox, scrollPos, float, 0) // widths
ATTRIB(InputBox, focusable, float, 1)
+ ATTRIB(InputBox, allowFocusSound, float, 1)
ATTRIB(InputBox, disabled, float, 0)
ATTRIB(InputBox, lastChangeTime, float, 0)
ATTRIB(InputBox, dragScrollTimer, float, 0)
ATTRIB(InputBox, cb_colorF, vector, '1 1 1')
ATTRIB(InputBox, cb_colorC, vector, '1 1 1')
ENDCLASS(InputBox)
-void InputBox_Clear_Click(entity btn, entity me);
#endif
#ifdef IMPLEMENTATION
SUPER(InputBox).setText(me, strzone(txt));
}
-void InputBox_Clear_Click(entity btn, entity me)
-{
- me.setText(me, "");
-}
-
float over_ClearButton(entity me, vector pos)
{
if (pos_x >= 1 + me.cb_offset - me.cb_width)
if(me.cb_pressed)
if (over_ClearButton(me, pos))
{
+ m_play_click_sound(MENU_SOUND_CLEAR);
+ me.setText(me, "");
me.cb_pressed = 0;
- InputBox_Clear_Click(world, me);
return 1;
}
float r = InputBox_mouseDrag(me, pos);
case K_KP_DEL:
case K_DEL:
if(shift & S_CTRL)
+ {
+ m_play_click_sound(MENU_SOUND_CLEAR);
me.setText(me, "");
+ }
else
me.setText(me, strcat(substring(me.text, 0, me.cursorPos), substring(me.text, me.cursorPos + 1, strlen(me.text) - me.cursorPos - 1)));
return 1;
METHOD(ListBox, mouseRelease, float(entity, vector))
METHOD(ListBox, focusLeave, void(entity))
ATTRIB(ListBox, focusable, float, 1)
+ ATTRIB(ListBox, allowFocusSound, float, 1)
ATTRIB(ListBox, selectedItem, float, 0)
ATTRIB(ListBox, size, vector, '0 0 0')
ATTRIB(ListBox, origin, vector, '0 0 0')
Nexposee_mouseMove(me, pos);
if(me.mouseFocusedChild)
{
+ m_play_click_sound(MENU_SOUND_OPEN);
me.animationState = 1;
SUPER(Nexposee).setFocus(me, NULL);
}
{
if (!(SUPER(Nexposee).mousePress(me, pos)))
{
+ m_play_click_sound(MENU_SOUND_CLOSE);
me.animationState = 3;
SUPER(Nexposee).setFocus(me, NULL);
}
default:
case 0:
case 3:
+ m_play_click_sound(MENU_SOUND_OPEN);
me.animationState = 1;
break;
case 1:
case 2:
+ m_play_click_sound(MENU_SOUND_CLOSE);
me.animationState = 3;
break;
}
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))
- METHOD(Slider, focusEnter, void(entity))
METHOD(Slider, valueToText, string(entity, float))
METHOD(Slider, toString, string(entity))
METHOD(Slider, setValue, void(entity, float))
METHOD(Slider, showNotify, void(entity))
ATTRIB(Slider, src, string, string_null)
ATTRIB(Slider, focusable, float, 1)
+ ATTRIB(Slider, allowFocusSound, float, 1)
ATTRIB(Slider, value, float, 0)
ATTRIB(Slider, animated, float, 1)
ATTRIB(Slider, sliderValue, float, 0)
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)
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)
{
me.focusable = !me.disabled;
}
-void Slider_focusEnter(entity me)
-{
- if(cvar("menu_sounds") > 1)
- localsound("sound/misc/menu1.wav");
- SUPER(Slider).focusEnter(me);
-}
void Slider_draw(entity me)
{
float controlLeft;
}
}
}
+
+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);
+}
void postMenuDraw(); // this is run just after the menu is drawn (or not). Useful to draw something over everything else.
void m_sync();
+
+// sounds
+
+const string MENU_SOUND_CLEAR = "sound/menu/clear.wav";
+const string MENU_SOUND_CLOSE = "sound/menu/close.wav";
+const string MENU_SOUND_EXECUTE = "sound/menu/execute.wav";
+const string MENU_SOUND_FOCUS = "sound/menu/focus.wav";
+const string MENU_SOUND_OPEN = "sound/menu/open.wav";
+const string MENU_SOUND_SELECT = "sound/menu/select.wav";
+const string MENU_SOUND_SLIDE = "sound/menu/slide.wav";
+const string MENU_SOUND_WINNER = "sound/menu/winner.wav";
+
+void m_play_focus_sound();
+void m_play_click_sound(string soundfile);
float XonoticColorpicker_mouseRelease(entity me, vector coords)
{
+ m_play_click_sound(MENU_SOUND_SLIDE);
me.mouseDrag(me, coords);
return 1;
}
float XonoticColorpickerString_mouseRelease(entity me, vector coords)
{
+ m_play_click_sound(MENU_SOUND_SLIDE);
me.mouseDrag(me, coords);
return 1;
}
ATTRIB(XonoticAudioSettingsTab, intendedWidth, float, 0.9)
ATTRIB(XonoticAudioSettingsTab, rows, float, 15.5)
ATTRIB(XonoticAudioSettingsTab, columns, float, 6.2) // added extra .2 for center space
+ ATTRIB(XonoticAudioSettingsTab, hiddenMenuSoundsSlider, entity, NULL)
ENDCLASS(XonoticAudioSettingsTab)
entity makeXonoticAudioSettingsTab();
#endif
me.TR(me);
me.TD(me, 1, 3, makeXonoticCheckBox(0, "con_chatsound", _("Chat message sound")));
me.TR(me);
- me.TD(me, 1, 3, makeXonoticCheckBoxEx(2, 0, "menu_sounds", _("Menu sounds")));
+ me.hiddenMenuSoundsSlider = makeXonoticSlider(1, 1, 1, "menu_sounds");
+ me.TD(me, 1, 1.2, makeXonoticSliderCheckBox(0, 1, me.hiddenMenuSoundsSlider, _("Menu sounds")));
+ me.TD(me, 1, 1.8, e = makeXonoticSliderCheckBox(2, 0, me.hiddenMenuSoundsSlider, _("Focus sounds")));
+ setDependent(e, "menu_sounds", 1, 2);
me.TR(me);
me.TR(me);
me.TD(me, 1, 1, makeXonoticTextLabel(0, _("Time announcer:")));
setDependentAND(e, "crosshair_per_weapon", 0, 0, "crosshair_enabled", 1, 2);
}
me.TR(me);
+ me.TDempty(me, 0.1);
+ for(i = 29; i <= 42; ++i) {
+ me.TDNoMargin(me, 1, 2 / 14, e = makeXonoticCrosshairButton(4, i), '1 1 0');
+ setDependentAND(e, "crosshair_per_weapon", 0, 0, "crosshair_enabled", 1, 2);
+ }
me.TR(me);
me.TDempty(me, 0.1);
me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Crosshair size:")));
#ifdef INTERFACE
CLASS(XonoticWinnerDialog) EXTENDS(XonoticDialog)
METHOD(XonoticWinnerDialog, fill, void(entity))
+ METHOD(XonoticWinnerDialog, focusEnter, void(entity))
ATTRIB(XonoticWinnerDialog, title, string, _("Winner"))
ATTRIB(XonoticWinnerDialog, color, vector, SKINCOLOR_DIALOG_SINGLEPLAYER)
ATTRIB(XonoticWinnerDialog, intendedWidth, float, 0.32)
e.onClick = Dialog_Close;
e.onClickEntity = me;
}
+void XonoticWinnerDialog_focusEnter(entity me)
+{
+ m_play_click_sound(MENU_SOUND_WINNER);
+}
#endif
METHOD(XonoticGametypeList, loadCvars, void(entity))
METHOD(XonoticGametypeList, saveCvars, void(entity))
METHOD(XonoticGametypeList, keyDown, float(entity, float, float, float))
+ METHOD(XonoticGametypeList, clickListBoxItem, void(entity, float, vector))
ATTRIB(XonoticGametypeList, realFontSize, vector, '0 0 0')
ATTRIB(XonoticGametypeList, realUpperMargin, float, 0)
SUPER(XonoticGametypeList).setSelected(me, i);
me.saveCvars(me);
}
-
void XonoticGametypeList_loadCvars(entity me)
{
float t;
me.columnNameOrigin = me.columnIconOrigin + me.columnIconSize + (0.5 * me.realFontSize_x);
me.columnNameSize = 1 - me.columnIconSize - (1.5 * me.realFontSize_x);
}
-
float XonoticGametypeList_keyDown(entity me, float scan, float ascii, float shift)
{
if(scan == K_ENTER || scan == K_KP_ENTER)
{
+ m_play_click_sound(MENU_SOUND_EXECUTE);
me.parent.gameTypeSelectNotify(me.parent);
return 1;
}
return SUPER(XonoticGametypeList).keyDown(me, scan, ascii, shift);
}
+void XonoticGametypeList_clickListBoxItem(entity me, float i, vector where)
+{
+ m_play_click_sound(MENU_SOUND_SELECT);
+}
#endif
localcmd("\nbind \"", keynumtostring(k), "\" \"", KEY_NOT_BOUND_CMD, "\"\n");
}
}
+ m_play_click_sound(MENU_SOUND_SELECT);
localcmd("\nbind \"", keynumtostring(key), "\" \"", func, "\"\n");
localcmd("-zoom\n"); // to make sure we aren't in togglezoom'd state
cvar_set("_hud_showbinds_reload", "1");
//localcmd("\nunbind \"", keynumtostring(k), "\"\n");
localcmd("\nbind \"", keynumtostring(k), "\" \"", KEY_NOT_BOUND_CMD, "\"\n");
}
+ m_play_click_sound(MENU_SOUND_CLEAR);
localcmd("-zoom\n"); // to make sure we aren't in togglezoom'd state
cvar_set("_hud_showbinds_reload", "1");
}
void KeyBinder_Bind_Reset_All(entity btn, entity me)
{
localcmd("unbindall\n");
- localcmd("exec binds-default.cfg\n");
+ localcmd("exec binds-xonotic.cfg\n");
localcmd("-zoom\n"); // to make sure we aren't in togglezoom'd state
cvar_set("_hud_showbinds_reload", "1");
}
void XonoticLanguageList_doubleClickListBoxItem(entity me, float i, vector where)
{
+ m_play_click_sound(MENU_SOUND_EXECUTE);
me.setLanguage(me);
}
float XonoticLanguageList_keyDown(entity me, float scan, float ascii, float shift)
{
- if(scan == K_ENTER || scan == K_KP_ENTER) {
+ if(scan == K_ENTER || scan == K_KP_ENTER)
+ {
+ m_play_click_sound(MENU_SOUND_EXECUTE);
me.setLanguage(me);
return 1;
}
{
if(where_x <= me.columnPreviewOrigin + me.columnPreviewSize)
if(where_x >= 0)
+ {
+ m_play_click_sound(MENU_SOUND_SELECT);
me.g_maplistCacheToggle(me, i);
+ }
}
void XonoticMapList_doubleClickListBoxItem(entity me, float i, vector where)
if(where_x <= 1)
{
// pop up map info screen
+ m_play_click_sound(MENU_SOUND_OPEN);
main.mapInfoDialog.loadMapInfo(main.mapInfoDialog, i, me);
DialogOpenButton_Click_withCoords(NULL, main.mapInfoDialog, me.origin + eX * (me.columnNameOrigin * me.size_x) + eY * ((me.itemHeight * i - me.scrollPos) * me.size_y), eY * me.itemAbsSize_y + eX * (me.itemAbsSize_x * me.columnNameSize));
}
if(scan == K_MOUSE2 || scan == K_SPACE || scan == K_ENTER || scan == K_KP_ENTER)
{
// pop up map info screen
+ m_play_click_sound(MENU_SOUND_OPEN);
main.mapInfoDialog.loadMapInfo(main.mapInfoDialog, me.selectedItem, me);
DialogOpenButton_Click_withCoords(NULL, main.mapInfoDialog, me.origin + eX * (me.columnNameOrigin * me.size_x) + eY * ((me.itemHeight * me.selectedItem - me.scrollPos) * me.size_y), eY * me.itemAbsSize_y + eX * (me.itemAbsSize_x * me.columnNameSize));
}
else if(scan == K_MOUSE3 || scan == K_INS || scan == K_KP_INS)
{
+ m_play_click_sound(MENU_SOUND_SELECT);
me.g_maplistCacheToggle(me, me.selectedItem);
}
else if(ascii == 43) // +
{
if (!me.g_maplistCacheQuery(me, me.selectedItem))
+ {
+ m_play_click_sound(MENU_SOUND_SELECT);
me.g_maplistCacheToggle(me, me.selectedItem);
+ }
}
else if(ascii == 45) // -
{
if(me.g_maplistCacheQuery(me, me.selectedItem))
+ {
+ m_play_click_sound(MENU_SOUND_SELECT);
me.g_maplistCacheToggle(me, me.selectedItem);
+ }
}
else if(scan == K_BACKSPACE)
{
ATTRIB(XonoticPlayerList, rowsPerItem, float, 1)
METHOD(XonoticPlayerList, resizeNotify, void(entity, vector, vector, vector, vector))
METHOD(XonoticPlayerList, drawListBoxItem, void(entity, float, vector, float))
+ ATTRIB(XonoticPlayerList, allowFocusSound, float, 0)
ATTRIB(XonoticPlayerList, realFontSize, vector, '0 0 0')
ATTRIB(XonoticPlayerList, columnNameOrigin, float, 0)
ATTRIB(XonoticPlayerList, columnNameSize, float, 0)
}
void XonoticServerList_focusEnter(entity me)
{
+ SUPER(XonoticServerList).focusEnter(me);
if(time < me.nextRefreshTime)
{
//print("sorry, no refresh yet\n");
ipstr = netaddress_resolve(me.ipAddressBox.text, 26000);
if(ipstr != "")
{
+ m_play_click_sound(MENU_SOUND_SELECT);
me.toggleFavorite(me, me.ipAddressBox.text);
me.ipAddressBoxFocused = -1;
}
{
if(me.nItems != 0)
{
+ m_play_click_sound(MENU_SOUND_OPEN);
main.serverInfoDialog.loadServerInfo(main.serverInfoDialog, me.selectedItem);
DialogOpenButton_Click_withCoords(me, main.serverInfoDialog, org, sz);
return 1;
void XonoticSkinList_doubleClickListBoxItem(entity me, float i, vector where)
{
+ m_play_click_sound(MENU_SOUND_EXECUTE);
me.setSkin(me);
}
float XonoticSkinList_keyDown(entity me, float scan, float ascii, float shift)
{
- if(scan == K_ENTER || scan == K_KP_ENTER) {
+ if(scan == K_ENTER || scan == K_KP_ENTER)
+ {
+ m_play_click_sound(MENU_SOUND_EXECUTE);
me.setSkin(me);
return 1;
}
if (!warmup_stage)
game_starttime = time + cvar("g_start_delay");
+ float i;
+ for(i = WEP_FIRST; i <= WEP_LAST; ++i)
+ WEP_ACTION(i, WR_INIT);
+
readplayerstartcvars();
}
{
float n, i, j;
entity e;
+ string s;
self.use = target_items_use;
if(!self.strength_finished)
for(j = WEP_FIRST; j <= WEP_LAST; ++j)
{
e = get_weaponinfo(j);
- if(argv(i) == e.netname)
+ s = W_UndeprecateName(argv(i));
+ if(s == e.netname)
{
self.weapons |= WepSet_FromWeapon(j);
if(self.spawnflags == 0 || self.spawnflags == 2)
--- /dev/null
+// models/items
+
+a_bullets_luma
+{
+ deformVertexes autosprite
+ cull none
+ nopicmip
+ {
+ map models/items/a_bullets_luma
+ blendfunc blend
+ }
+}
+
+a_cells_luma
+{
+ deformVertexes autosprite
+ cull none
+ nopicmip
+ {
+ map models/items/a_cells_luma
+ blendfunc blend
+ }
+}
+
+a_plasma_luma
+{
+ deformVertexes autosprite
+ cull none
+ nopicmip
+ {
+ map models/items/a_plasma_luma
+ blendfunc blend
+ }
+}
+
+a_rockets_luma
+{
+ deformVertexes autosprite
+ cull none
+ nopicmip
+ {
+ map models/items/a_rockets_luma
+ blendfunc blend
+ }
+}
+
+a_shells_luma
+{
+ deformVertexes autosprite
+ cull none
+ nopicmip
+ {
+ map models/items/a_shells_luma
+ blendfunc blend
+ }
+}
+
+g_fuel_luma
+{
+ deformVertexes autosprite
+ cull none
+ nopicmip
+ {
+ map models/items/g_fuel_luma
+ blendfunc blend
+ }
+}
+
+g_fuelregen_luma
+{
+ deformVertexes autosprite
+ cull none
+ nopicmip
+ {
+ map models/items/g_fuelregen_luma
+ blendfunc blend
+ }
+}
+
+g_h1_luma
+{
+ deformVertexes autosprite
+ cull none
+ nopicmip
+ {
+ map models/items/g_h1_luma
+ blendfunc blend
+ }
+}
+
+g_h25_luma
+{
+ deformVertexes autosprite
+ cull none
+ nopicmip
+ {
+ map models/items/g_h25_luma
+ blendfunc blend
+ }
+}
+
+g_h50_luma
+{
+ deformVertexes autosprite
+ cull none
+ nopicmip
+ {
+ map models/items/g_h50_luma
+ blendfunc blend
+ }
+}
+
+g_h100_luma
+{
+ deformVertexes autosprite
+ cull none
+ nopicmip
+ {
+ map models/items/g_h100_luma
+ blendfunc blend
+ }
+}
+
+g_invincible_luma
+{
+ deformVertexes autosprite
+ cull none
+ nopicmip
+ {
+ map models/items/g_invincible_luma
+ blendfunc blend
+ }
+}
+
+g_jetpack_luma
+{
+ deformVertexes autosprite
+ cull none
+ nopicmip
+ {
+ map models/items/g_jetpack_luma
+ blendfunc blend
+ }
+}
+
+g_strength_luma
+{
+ deformVertexes autosprite
+ cull none
+ nopicmip
+ {
+ map models/items/g_strength_luma
+ blendfunc blend
+ }
+}
+
+item_armor_big_luma
+{
+ deformVertexes autosprite
+ cull none
+ nopicmip
+ {
+ map models/items/item_armor_big_luma
+ blendfunc blend
+ }
+}
+
+item_armor_large_luma
+{
+ deformVertexes autosprite
+ cull none
+ nopicmip
+ {
+ map models/items/item_armor_large_luma
+ blendfunc blend
+ }
+}
+
+item_armor_medium_luma
+{
+ deformVertexes autosprite
+ cull none
+ nopicmip
+ {
+ map models/items/item_armor_medium_luma
+ blendfunc blend
+ }
+}
+
+item_armor_small_luma
+{
+ deformVertexes autosprite
+ cull none
+ nopicmip
+ {
+ map models/items/item_armor_small_luma
+ blendfunc blend
+ }
+}
+
+
+
+
+
+// models/weapons
+
+g_arc_luma
+{
+ deformVertexes autosprite
+ cull none
+ nopicmip
+ {
+ map models/weapons/g_arc_luma
+ blendfunc blend
+ }
+}
+
+g_campingrifle_luma
+{
+ deformVertexes autosprite
+ cull none
+ nopicmip
+ {
+ map models/weapons/g_campingrifle_luma
+ blendfunc blend
+ }
+}
+
+g_crylink_luma
+{
+ deformVertexes autosprite
+ cull none
+ nopicmip
+ {
+ map models/weapons/g_crylink_luma
+ blendfunc blend
+ }
+}
+
+g_electro_luma
+{
+ deformVertexes autosprite
+ cull none
+ nopicmip
+ {
+ map models/weapons/g_electro_luma
+ blendfunc blend
+ }
+}
+
+g_fireball_luma
+{
+ deformVertexes autosprite
+ cull none
+ nopicmip
+ {
+ map models/weapons/g_fireball_luma
+ blendfunc blend
+ }
+}
+
+g_gl_luma
+{
+ deformVertexes autosprite
+ cull none
+ nopicmip
+ {
+ map models/weapons/g_gl_luma
+ blendfunc blend
+ }
+}
+
+g_hagar_luma
+{
+ deformVertexes autosprite
+ cull none
+ nopicmip
+ {
+ map models/weapons/g_hagar_luma
+ blendfunc blend
+ }
+}
+
+g_hlac_luma
+{
+ deformVertexes autosprite
+ cull none
+ nopicmip
+ {
+ map models/weapons/g_hlac_luma
+ blendfunc blend
+ }
+}
+
+g_hookgun_luma
+{
+ deformVertexes autosprite
+ cull none
+ nopicmip
+ {
+ map models/weapons/g_hookgun_luma
+ blendfunc blend
+ }
+}
+
+g_laser_luma
+{
+ deformVertexes autosprite
+ cull none
+ nopicmip
+ {
+ map models/weapons/g_laser_luma
+ blendfunc blend
+ }
+}
+
+g_minelayer_luma
+{
+ deformVertexes autosprite
+ cull none
+ nopicmip
+ {
+ map models/weapons/g_minelayer_luma
+ blendfunc blend
+ }
+}
+
+g_minstanex_luma
+{
+ deformVertexes autosprite
+ cull none
+ nopicmip
+ {
+ map models/weapons/g_minstanex_luma
+ blendfunc blend
+ }
+}
+
+g_nex_luma
+{
+ deformVertexes autosprite
+ cull none
+ nopicmip
+ {
+ map models/weapons/g_nex_luma
+ blendfunc blend
+ }
+}
+
+g_porto_luma
+{
+ deformVertexes autosprite
+ cull none
+ nopicmip
+ {
+ map models/weapons/g_porto_luma
+ blendfunc blend
+ }
+}
+
+g_rl_luma
+{
+ deformVertexes autosprite
+ cull none
+ nopicmip
+ {
+ map models/weapons/g_rl_luma
+ blendfunc blend
+ }
+}
+
+g_seeker_luma
+{
+ deformVertexes autosprite
+ cull none
+ nopicmip
+ {
+ map models/weapons/g_seeker_luma
+ blendfunc blend
+ }
+}
+
+g_shockwave_luma
+{
+ deformVertexes autosprite
+ cull none
+ nopicmip
+ {
+ map models/weapons/g_shockwave_luma
+ blendfunc blend
+ }
+}
+
+g_shotgun_luma
+{
+ deformVertexes autosprite
+ cull none
+ nopicmip
+ {
+ map models/weapons/g_shotgun_luma
+ blendfunc blend
+ }
+}
+
+g_tuba_luma
+{
+ deformVertexes autosprite
+ cull none
+ nopicmip
+ {
+ map models/weapons/g_tuba_luma
+ blendfunc blend
+ }
+}
+
+g_uzi_luma
+{
+ deformVertexes autosprite
+ cull none
+ nopicmip
+ {
+ map models/weapons/g_uzi_luma
+ blendfunc blend
+ }
+}
--- /dev/null
+SOUND PLAYED WHEN
+
+open opening dialog
+close closing dialog
+focus moving focus to new item
+execute pressing button, enter key, or double click
+select using checkbox, radiobutton, or similar
+slide using slider or colorpicker
+clear clearing inputbox or keybind
+winner winning single player campaign