reaction/uifiles/options.menu
2016-03-11 13:44:53 +02:00

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")
*/
}
}