mirror of
https://github.com/ReactionQuake3/reaction.git
synced 2024-11-28 15:02:32 +00:00
504 lines
11 KiB
Text
504 lines
11 KiB
Text
#include "ui/menudef.h"
|
|
#include "ui/tabs.h"
|
|
|
|
////////////////////////////////////
|
|
//
|
|
// CONSTANTS
|
|
//
|
|
//
|
|
|
|
|
|
#define OPTION_COLOR 0 0 .1 1
|
|
#define Tab_Color1 0 0 0 1
|
|
#define Tab_Color2 0 0 .5 1
|
|
#define VSPACE 16
|
|
#define VSIZE 16
|
|
#define ICON_ALPHA 0.5
|
|
#define LINE_ALPHA 0.2
|
|
#define FADEIN_TIME 125
|
|
#define HINT_COLOR .25 .25 .25
|
|
#define HINT_FADE_TIME 125
|
|
#define TAB_HEIGHT 20
|
|
#define LINE_WIDTH 300
|
|
|
|
|
|
////////////////////////////////////
|
|
//
|
|
// MENU DEFINITION
|
|
//
|
|
//
|
|
|
|
{
|
|
menuDef {
|
|
name "options_menu"
|
|
visible MENU_FALSE // Visible on open
|
|
//fullScreen MENU_FALSE
|
|
focusColor RQ3_MAIN_FOCUSCOLOR // Menu focus color for text and items
|
|
rect 120 112 344 264
|
|
anglevectors 3 -87
|
|
style WINDOW_STYLE_EMPTY
|
|
popup
|
|
|
|
onOOBClick { close _self }
|
|
onOpen { play "sound/ui/whoosh3.wav" ;
|
|
setitemcolor hints forecolor HINT_COLOR 1 ; hide hints ;
|
|
ACTIVATE_TAB(1) ;
|
|
}
|
|
onClose { open _prev }
|
|
onEsc { close _self }
|
|
|
|
onOpenSpecial {
|
|
//normal items
|
|
ALPHA_FADE_FORE(fade_alpha, 1) ;
|
|
|
|
//icon - special alpha
|
|
ALPHA_FADE_FORE(icon, ICON_ALPHA) ;
|
|
|
|
//line - special alpha; using backcolor
|
|
ALPHA_FADE_BACK(line, LINE_ALPHA) ;
|
|
}
|
|
|
|
|
|
|
|
itemDef {
|
|
renderpoint
|
|
name "paper,fade_alpha"
|
|
style WINDOW_STYLE_SHADER
|
|
background UI_ASSETS"/paper_1"
|
|
forecolor MENUCOLOR_OPTIONS 1
|
|
rect -8 -16 380 320
|
|
anglevectors 3 -87
|
|
visible 1
|
|
menuAnchor
|
|
decoration
|
|
}
|
|
|
|
itemdef {
|
|
renderpoint
|
|
name "title,fade_alpha"
|
|
text "Game options:"
|
|
forecolor .6 .0 .0 1
|
|
style WINDOW_STYLE_EMPTY
|
|
textalign ITEM_ALIGN_LEFT
|
|
textalignx 4
|
|
textaligny 24
|
|
textscale RQ3_MAIN_TEXTSIZE
|
|
alignrect paper ITEM_ALIGN_LEFT 32 32 240 36
|
|
visible 1
|
|
autowrapped
|
|
decoration
|
|
}
|
|
|
|
//Line
|
|
|
|
itemDef {
|
|
name "line,fade_alpha"
|
|
style WINDOW_STYLE_FILLED
|
|
backcolor .25 .25 .25 LINE_ALPHA
|
|
alignrect "title" ITEM_ALIGN_LEFT 0 48 LINE_WIDTH 2
|
|
visible 1
|
|
decoration
|
|
}
|
|
|
|
///////////////////////////////////////////////////////////
|
|
//
|
|
// Sub-options
|
|
//
|
|
//
|
|
|
|
// Gameplay
|
|
ADD_TAB(
|
|
"^_G^_ameplay.",
|
|
"G", 1, "group2,group3",
|
|
alignrect "title" ITEM_ALIGN_LEFT 2 28 52 TAB_HEIGHT
|
|
)
|
|
ADD_HINT("hint_tab1", "Change gameplay options", "group2,group3")
|
|
|
|
//---------------------------------------------------------
|
|
|
|
// Crosshair
|
|
|
|
ADD_TAB(
|
|
"^_C^_rosshair.",
|
|
"C", 2, "group1,group3",
|
|
alignrect "tab1" ITEM_ALIGN_RIGHT -52 0 52 TAB_HEIGHT
|
|
)
|
|
ADD_HINT("hint_tab2", "Change crosshair shape, size and color", "group1,group3")
|
|
|
|
//---------------------------------------------------------
|
|
|
|
// SSG Crosshair
|
|
|
|
ADD_TAB(
|
|
"^_S^_SG Crosshair.",
|
|
"S", 3, "group1,group2",
|
|
alignrect "tab2" ITEM_ALIGN_RIGHT -76 0 76 TAB_HEIGHT
|
|
)
|
|
ADD_HINT("hint_tab3", "Change the shape, size and color of the sniper rifle crosshair", "group1,group2")
|
|
|
|
/*
|
|
==========================================================
|
|
|
|
Group # 1 - Gameplay
|
|
|
|
==========================================================
|
|
*/
|
|
|
|
//Icon
|
|
|
|
itemdef {
|
|
name "icon,allgroups,group1"
|
|
background UI_ASSETS"/icons/rq3-setup-options"
|
|
forecolor 1 1 1 ICON_ALPHA
|
|
alignrect "line" ITEM_ALIGN_RIGHT 0 -36 32 32
|
|
style WINDOW_STYLE_SHADER
|
|
visible 1
|
|
decoration
|
|
}
|
|
|
|
// Simple items //
|
|
|
|
BEGIN_OPTION("Simple items", "cg_simpleitems", ITEM_TYPE_YESNO, 1, 1)
|
|
kind YESNO_ICON_RIGHT
|
|
alignrect "line" ITEM_ALIGN_LEFT 112 32 32 VSIZE
|
|
ASSIGN_HINT("hint_simpleitems")
|
|
END_OPTION
|
|
ADD_HINT("hint_simpleitems", "Display weapons, items and ammo as 2D sprites", "group1")
|
|
|
|
|
|
// Low quality sky //
|
|
|
|
BEGIN_OPTION("Low quality sky", "r_fastsky", ITEM_TYPE_YESNO, 2, 1)
|
|
kind YESNO_ICON_RIGHT
|
|
OPTION_BELOW("gr1_ctrl1")
|
|
ASSIGN_HINT("hint_fastsky")
|
|
END_OPTION
|
|
ADD_HINT("hint_fastsky", "Use a solid color sky (better performance, lower quality)", "group1")
|
|
|
|
|
|
// Ejecting brass //
|
|
|
|
BEGIN_OPTION("Ejecting Brass", "cg_brassTime", ITEM_TYPE_MULTI, 3, 1)
|
|
cvarFloatList {
|
|
"High" 20000
|
|
"Med" 7500
|
|
"Off" 0
|
|
}
|
|
OPTION_BELOW("gr1_ctrl2")
|
|
action { uiScript glCustom }
|
|
ASSIGN_HINT("hint_brasstime")
|
|
END_OPTION
|
|
ADD_HINT("hint_brasstime", "Change the amount of ejecting brass", "group1")
|
|
|
|
|
|
// Glass fragments //
|
|
|
|
BEGIN_OPTION("Glass Fragments", "cg_RQ3_glasstime", ITEM_TYPE_MULTI, 4, 1)
|
|
cvarFloatList {
|
|
"High" 20000
|
|
"Med" 7500
|
|
"Off" 0
|
|
}
|
|
OPTION_BELOW("gr1_ctrl3")
|
|
action { uiScript glCustom }
|
|
ASSIGN_HINT("hint_glasstime")
|
|
END_OPTION
|
|
ADD_HINT("hint_glasstime", "Change the amount of glass fragments", "group1")
|
|
|
|
|
|
// Wall marks //
|
|
|
|
BEGIN_OPTION("Wall marks", "cg_marks", ITEM_TYPE_YESNO, 5, 1)
|
|
kind YESNO_ICON_RIGHT
|
|
OPTION_BELOW("gr1_ctrl4")
|
|
ASSIGN_HINT("hint_wallmarks")
|
|
END_OPTION
|
|
ADD_HINT("hint_wallmarks", "Enable wall marks", "group1")
|
|
|
|
|
|
// Dynamic lights //
|
|
|
|
BEGIN_OPTION("Dynamic lights", "r_dynamiclight", ITEM_TYPE_YESNO, 6, 1)
|
|
kind YESNO_ICON_RIGHT
|
|
OPTION_BELOW("gr1_ctrl5")
|
|
ASSIGN_HINT("hint_dlights")
|
|
END_OPTION
|
|
ADD_HINT("hint_dlights", "Enable dynamic lighting", "group1")
|
|
|
|
|
|
// Identify target //
|
|
|
|
BEGIN_OPTION("Identify Target", "cg_drawCrosshairNames", ITEM_TYPE_YESNO, 7, 1)
|
|
kind YESNO_ICON_RIGHT
|
|
OPTION_BELOW("gr1_ctrl6")
|
|
ASSIGN_HINT("hint_idtarget")
|
|
END_OPTION
|
|
ADD_HINT("hint_idtarget", "Enable crosshair target identification", "group1")
|
|
|
|
|
|
// Force player models //
|
|
|
|
BEGIN_OPTION("Force Player Models", "cg_forceModel", ITEM_TYPE_YESNO, 8, 1)
|
|
kind YESNO_ICON_RIGHT
|
|
OPTION_BELOW("gr1_ctrl7")
|
|
ASSIGN_HINT("hint_forcemodel")
|
|
END_OPTION
|
|
ADD_HINT("hint_forcemodel", "Force player models to your own", "group1")
|
|
|
|
|
|
//
|
|
//
|
|
// RIGHT COLUMN //
|
|
//
|
|
//
|
|
|
|
|
|
// Draw Team Overlay //
|
|
|
|
BEGIN_OPTION("Draw Team Overlay", "cg_drawTeamOverlay", ITEM_TYPE_YESNO, 9, 1)
|
|
kind YESNO_ICON_RIGHT
|
|
alignrect "line" ITEM_ALIGN_CENTER 128 32 32 VSIZE
|
|
ASSIGN_HINT("hint_teamoverlay")
|
|
END_OPTION
|
|
ADD_HINT("hint_teamoverlay", "Choose team overlay position", "group1")
|
|
|
|
|
|
// Allow download from server //
|
|
|
|
BEGIN_OPTION("Allow Download", "cl_allowDownload", ITEM_TYPE_YESNO, 10, 1)
|
|
kind YESNO_ICON_RIGHT
|
|
OPTION_BELOW("gr1_ctrl9")
|
|
ASSIGN_HINT("hint_allowdl")
|
|
END_OPTION
|
|
ADD_HINT("hint_allowdl", "Allow automatic downloads from server", "group1")
|
|
|
|
|
|
// Muzzle flash //
|
|
|
|
BEGIN_OPTION("Muzzle Flash", "cg_RQ3_flash", ITEM_TYPE_YESNO, 11, 1)
|
|
kind YESNO_ICON_RIGHT
|
|
OPTION_BELOW("gr1_ctrl10")
|
|
ASSIGN_HINT("hint_muzzle")
|
|
END_OPTION
|
|
ADD_HINT("hint_muzzle", "Enable weapon muzzle flashes", "group1")
|
|
|
|
|
|
// Pain blends //
|
|
|
|
BEGIN_OPTION("Pain Blends", "cg_RQ3_painBlend", ITEM_TYPE_YESNO, 12, 1)
|
|
kind YESNO_ICON_RIGHT
|
|
OPTION_BELOW("gr1_ctrl11")
|
|
ASSIGN_HINT("hint_painblend")
|
|
END_OPTION
|
|
ADD_HINT("hint_painblend", "Enable screen pain blends", "group1")
|
|
|
|
|
|
// Announcer //
|
|
|
|
BEGIN_OPTION("Announcer", "cg_RQ3_announcer", ITEM_TYPE_YESNO, 13, 1)
|
|
kind YESNO_ICON_RIGHT
|
|
OPTION_BELOW("gr1_ctrl12")
|
|
ASSIGN_HINT("hint_announcer")
|
|
END_OPTION
|
|
ADD_HINT("hint_announcer", "Enable Quake 3 announcer", "group1")
|
|
|
|
|
|
// Impact effects //
|
|
|
|
BEGIN_OPTION("Impact Effects", "cg_RQ3_impactEffects", ITEM_TYPE_YESNO, 14, 1)
|
|
kind YESNO_ICON_RIGHT
|
|
OPTION_BELOW("gr1_ctrl13")
|
|
ASSIGN_HINT("hint_impactfx")
|
|
END_OPTION
|
|
ADD_HINT("hint_impactfx", "Enable visual projectile impact effects", "group1")
|
|
|
|
|
|
// Blood //
|
|
|
|
BEGIN_OPTION("Blood Effects", "com_blood", ITEM_TYPE_YESNO, 15, 1)
|
|
kind YESNO_ICON_RIGHT
|
|
OPTION_BELOW("gr1_ctrl14")
|
|
ASSIGN_HINT("hint_bloodfx")
|
|
END_OPTION
|
|
ADD_HINT("hint_bloodfx", "Enable blood effects", "group1")
|
|
|
|
|
|
/*
|
|
==========================================================
|
|
|
|
Group # 2 - Crosshair
|
|
|
|
==========================================================
|
|
*/
|
|
|
|
//Icon
|
|
|
|
itemdef {
|
|
name "icon,allgroups,group2"
|
|
background UI_ASSETS"/icons/rq3-setup-crosshair"
|
|
forecolor 1 1 1 ICON_ALPHA
|
|
alignrect "line" ITEM_ALIGN_RIGHT 0 -36 32 32
|
|
style WINDOW_STYLE_SHADER
|
|
visible 1
|
|
decoration
|
|
}
|
|
|
|
|
|
itemDef {
|
|
name "preview"
|
|
subgroup "fade_fore_alpha,group2,allgroups"
|
|
alignrect "line" ITEM_ALIGN_LEFT 120 24 56 56
|
|
style WINDOW_STYLE_SHADER
|
|
background UI_ASSETS"/crosshair_back"
|
|
decoration
|
|
}
|
|
|
|
// Crosshair //
|
|
|
|
itemdef {
|
|
name "crosshair_caption"
|
|
subgroup "fade_fore_alpha,group2,allgroups"
|
|
text "Crosshair:"
|
|
textalignx 4
|
|
textaligny -4
|
|
textscale .225
|
|
forecolor OPTION_COLOR
|
|
alignrect "line" ITEM_ALIGN_LEFT 52 60 96 VSIZE
|
|
decoration
|
|
visible 1
|
|
}
|
|
|
|
itemdef {
|
|
renderpoint
|
|
name "allgroups,group2,gr2_ctrl3,fade_alpha"
|
|
alignrect "line" ITEM_ALIGN_LEFT 120 24 56 56
|
|
ownerdraw UI_CROSSHAIR
|
|
ASSIGN_HINT("hint_crosshair")
|
|
visible 1
|
|
}
|
|
|
|
|
|
ADD_HINT("hint_crosshair", "Change regular crosshair style", "group2")
|
|
|
|
|
|
// Crosshair size //
|
|
|
|
BEGIN_OPTION("Crosshair Size", "cg_crosshairSize", ITEM_TYPE_MULTI, 4, 2)
|
|
alignrect "line" ITEM_ALIGN_LEFT 112 80 112 VSIZE
|
|
ASSIGN_HINT("hint_crosshairsize")
|
|
cvarFloatList {
|
|
"Small" 16
|
|
"Medium" 24
|
|
"Large" 32
|
|
}
|
|
END_OPTION
|
|
ADD_HINT("hint_crosshairsize", "Change the size of the regular crosshair", "group2")
|
|
|
|
// Crosshair color //
|
|
|
|
BEGIN_SLIDER("Red", "cg_RQ3_crosshairColorR", 1, 0, 1, 5, 2)
|
|
OPTION_BELOW("gr2_ctrl4")
|
|
ASSIGN_HINT("hint_color")
|
|
END_OPTION
|
|
|
|
BEGIN_SLIDER("Green", "cg_RQ3_crosshairColorG", 1, 0, 1, 6, 2)
|
|
OPTION_BELOW("gr2_ctrl5")
|
|
ASSIGN_HINT("hint_color")
|
|
END_OPTION
|
|
|
|
BEGIN_SLIDER("Blue", "cg_RQ3_crosshairColorB", 1, 0, 1, 7, 2)
|
|
OPTION_BELOW("gr2_ctrl6")
|
|
ASSIGN_HINT("hint_color")
|
|
END_OPTION
|
|
|
|
BEGIN_SLIDER("Alpha", "cg_RQ3_crosshairColorA", 1, 0, 1, 8, 2)
|
|
OPTION_BELOW("gr2_ctrl7")
|
|
ASSIGN_HINT("hint_alpha")
|
|
END_OPTION
|
|
|
|
|
|
ADD_HINT("hint_color", "Drag the slider to alter the color of the crosshair", "group2")
|
|
ADD_HINT("hint_alpha", "Drag the slider to alter the transparency of the crosshair", "group2")
|
|
|
|
|
|
|
|
|
|
/*
|
|
==========================================================
|
|
|
|
Group # 3 - SSG Crosshair
|
|
|
|
==========================================================
|
|
*/
|
|
|
|
//Icon
|
|
|
|
itemdef {
|
|
name "icon,allgroups,group3"
|
|
background UI_ASSETS"/icons/rq3-setup-crosshair"
|
|
forecolor 1 1 1 ICON_ALPHA
|
|
alignrect "line" ITEM_ALIGN_RIGHT 0 -36 32 32
|
|
style WINDOW_STYLE_SHADER
|
|
visible 1
|
|
decoration
|
|
}
|
|
|
|
|
|
// SSG color //
|
|
|
|
BEGIN_SLIDER("Red", "cg_RQ3_ssgColorR", 1, 0, 1, 1, 3)
|
|
alignrect "line" ITEM_ALIGN_LEFT 40 32 112 VSIZE
|
|
ASSIGN_HINT("hint_color")
|
|
END_OPTION
|
|
|
|
BEGIN_SLIDER("Green", "cg_RQ3_ssgColorG", 1, 0, 1, 2, 3)
|
|
OPTION_BELOW("gr3_ctrl1")
|
|
ASSIGN_HINT("hint_color")
|
|
END_OPTION
|
|
|
|
BEGIN_SLIDER("Blue", "cg_RQ3_ssgColorB", 1, 0, 1, 3, 3)
|
|
OPTION_BELOW("gr3_ctrl2")
|
|
ASSIGN_HINT("hint_color")
|
|
END_OPTION
|
|
|
|
BEGIN_SLIDER("Alpha", "cg_RQ3_ssgColorA", 1, 0, 1, 4, 3)
|
|
OPTION_BELOW("gr3_ctrl3")
|
|
ASSIGN_HINT("hint_alpha")
|
|
END_OPTION
|
|
|
|
// Preview //
|
|
/*
|
|
itemDef {
|
|
name "allgroups,group3,gr3_ctrl5,fade_alpha"
|
|
alignrect "gr3_ctrl1" ITEM_ALIGN_LEFT 112 0 136 136
|
|
style WINDOW_STYLE_SHADER
|
|
background UI_ASSETS"/crosshair_back"
|
|
decoration
|
|
}*/
|
|
|
|
itemdef {
|
|
name "allgroups,group3,gr3_ctrl6,fade_alpha"
|
|
alignrect "gr3_ctrl1" ITEM_ALIGN_LEFT 116 4 128 128
|
|
ownerdraw UI_SSG_CROSSHAIR
|
|
ASSIGN_HINT("hint_ssg")
|
|
visible 1
|
|
}
|
|
|
|
ADD_HINT("hint_ssg", "Change SSG crosshair style", "group3")
|
|
|
|
// Next //
|
|
|
|
/*
|
|
|
|
BEGIN_OPTION(3, 7, "^_N^_ext",)
|
|
OPTION_BELOW("gr3_ctrl4")
|
|
action { uiScript nextSSGCrosshair 1 instant }
|
|
shortcutKey "N"
|
|
ASSIGN_HINT("hint_ssgnext")
|
|
}
|
|
ADD_HINT("hint_ssgnext", "Select the next SSG crosshair", "group3")
|
|
|
|
*/
|
|
}
|
|
}
|
|
|