#include "ui/menudef.h"
#include "ui/menumacros.h"

// Defines //
#define WINDOW_X      16
#define WINDOW_Y      16
#define WINDOW_WIDTH  608
#define WINDOW_HEIGHT 448
#define GROUP_NAME    "grpOptionsCustomiseHudExtended"

// Customise View Menu //
menuDef {
	name        "options_customise_hud_extended"
	visible     0
	fullscreen  0
	rect WINDOW_X WINDOW_Y WINDOW_WIDTH WINDOW_HEIGHT
	style WINDOW_STYLE_FILLED

	onESC {
		close options_customise_hud_extended ;
		open  options
	}

// Window //
	WINDOW(_("VIEW"), 94)

// Gun Display //
#define WEAPON_Y (SUBWINDOW_OPTION_Y_START)
#define WEAPON_H SUBWINDOW_OPTION_COMPUTE_H(7)
	SUBWINDOW(SUBWINDOW_OPTION_HEADER_X1_START, WEAPON_Y, SUBWINDOW_OPTION_HEADER_WIDTH_L, WEAPON_H, _("WEAPONS DISPLAY"))
	MULTI(SUBWINDOW_OPTION_X1_START, SUBWINDOW_OPTION_COMPUTE_Y(WEAPON_Y, 1), SUBWINDOW_OPTION_WIDTH_L, SUBWINDOW_OPTION_HEIGHT, _("Draw Weapon:"), .2, 8, "cg_drawGun", cvarFloatList { "Off" 0 "On" 1 "Hide Weapons Only" 2 }, _("Show gun model on-screen"))
	NUMERICFIELD(SUBWINDOW_OPTION_X1_START, SUBWINDOW_OPTION_COMPUTE_Y(WEAPON_Y, 2), SUBWINDOW_OPTION_WIDTH_L, SUBWINDOW_OPTION_HEIGHT, _("Freeze Gun Frame:"), .2, 8, "cg_gun_frame", 3, _("Freeze the gun animation to a single chosen frame"))
	MULTI(SUBWINDOW_OPTION_X1_START, SUBWINDOW_OPTION_COMPUTE_Y(WEAPON_Y, 3), SUBWINDOW_OPTION_WIDTH_L, SUBWINDOW_OPTION_HEIGHT, _("Weapon Animations:"), .2, 8, "cg_weapAnims", cvarFloatList { "None" 0 "Move" 1 "Firing" 2 "Reload" 4 "Switch" 8 "Move + Firing" 3 "Move + Reload" 5 "Move + Switch" 9 "Move + Firing + Reload" 7 "Move + Firing + Switch" 11 "Move + Reload + Switch" 13 "Firing + Reload" 6 "Firing + Switch" 10 "Firing + Reload + Switch" 14 "Reload + Switch" 12 "All" 15 }, _("Set which weapon animations to play"))
	YESNO(SUBWINDOW_OPTION_X1_START, SUBWINDOW_OPTION_COMPUTE_Y(WEAPON_Y, 4), SUBWINDOW_OPTION_WIDTH_L, SUBWINDOW_OPTION_HEIGHT, _("Weapon Revive Raising:"), .2, 8, "cg_gunReviveFadeIn", _("Toggle weapon animation raising in while being revived"))
	CVARFLOATLABEL(SUBWINDOW_OPTION_X1_START, SUBWINDOW_OPTION_COMPUTE_Y(WEAPON_Y, 5), SUBWINDOW_OPTION_WIDTH_L, SUBWINDOW_OPTION_HEIGHT, "cg_gunFovOffset", .2, ITEM_ALIGN_RIGHT, $evalfloat(SUBWINDOW_OPTION_WIDTH_L), 8)
	NUMERICFIELD(SUBWINDOW_OPTION_X1_START, SUBWINDOW_OPTION_COMPUTE_Y(WEAPON_Y, 5), SUBWINDOW_OPTION_WIDTH_L, SUBWINDOW_OPTION_HEIGHT, _("Weapon X Offset:"), .2, 8, "cg_gunX", 3, _("Set the weapon position offset on X axis"))
	NUMERICFIELD(SUBWINDOW_OPTION_X1_START, SUBWINDOW_OPTION_COMPUTE_Y(WEAPON_Y, 6), SUBWINDOW_OPTION_WIDTH_L, SUBWINDOW_OPTION_HEIGHT, _("Weapon Y Offset:"), .2, 8, "cg_gunY", 3, _("Set the weapon position offset on Y axis"))
	NUMERICFIELD(SUBWINDOW_OPTION_X1_START, SUBWINDOW_OPTION_COMPUTE_Y(WEAPON_Y, 7), SUBWINDOW_OPTION_WIDTH_L, SUBWINDOW_OPTION_HEIGHT, _("Weapon Z Offset:"), .2, 8, "cg_gunZ", 3, _("Set the weapon position offset on Z axis"))

// Crosshair //
#define CROSSHAIR_Y (WEAPON_Y + WEAPON_H + SUBWINDOW_OPTION_Y_PADDING)
#define CROSSHAIR_H SUBWINDOW_OPTION_COMPUTE_H(15)
	SUBWINDOW(SUBWINDOW_OPTION_HEADER_X1_START, CROSSHAIR_Y, SUBWINDOW_OPTION_HEADER_WIDTH_L, CROSSHAIR_H, _("CROSSHAIR"))
	YESNO(SUBWINDOW_OPTION_X1_START, SUBWINDOW_OPTION_COMPUTE_Y(CROSSHAIR_Y, 1), SUBWINDOW_OPTION_WIDTH_L, SUBWINDOW_OPTION_HEIGHT, _("Use Cvar Crosshair:"), .2, 8, "cg_useCvarCrosshair", _("Force usage of cvar value for crosshair on map load/reload"))
	MULTI(SUBWINDOW_OPTION_X1_START, SUBWINDOW_OPTION_COMPUTE_Y(CROSSHAIR_Y, 2), SUBWINDOW_OPTION_WIDTH_L, SUBWINDOW_OPTION_HEIGHT, _("Crosshair Size:"), .2, 8, "cg_crosshairsize", cvarFloatList { "Tiny" 24 "Small" 32 "Medium" 48 "Large" 64 "Huge" 96 }, _("Set the size of the displayed crosshair"))
	YESNO(SUBWINDOW_OPTION_X1_START, SUBWINDOW_OPTION_COMPUTE_Y(CROSSHAIR_Y, 3), SUBWINDOW_OPTION_WIDTH_L, SUBWINDOW_OPTION_HEIGHT, _("Crosshair Pulsing:"), .2, 8, "cg_crosshairPulse", _("Toggle crosshair spread sizing while moving/firing"))
	YESNO(SUBWINDOW_OPTION_X1_START, SUBWINDOW_OPTION_COMPUTE_Y(CROSSHAIR_Y, 4), SUBWINDOW_OPTION_WIDTH_L, SUBWINDOW_OPTION_HEIGHT, _("Crosshair Health Info:"), .2, 8, "cg_crosshairHealth", _("Color the crosshair based on current health (override crosshair color settings)"))
	MULTI(SUBWINDOW_OPTION_X1_START, SUBWINDOW_OPTION_COMPUTE_Y(CROSSHAIR_Y, 5), SUBWINDOW_OPTION_WIDTH_L, SUBWINDOW_OPTION_HEIGHT, _("Primary Color:"), .2, 8, "cg_crosshairColor", cvarStrList { "White"; "white"; "Yellow"; "yellow"; "Red"; "red"; "Green"; "green"; "Blue"; "blue"; "Magenta"; "magenta"; "Cyan"; "cyan"; "Orange"; "orange"; "Light Blue"; "0xa0c0ff"; "Medium Blue"; "mdblue"; "Light Red"; "0xffc0a0"; "Medium Red"; "mdred"; "Light Green"; "0xa0ffc0"; "Medium Green"; "mdgreen"; "Dark Green"; "dkgreen"; "Medium Cyan"; "mdcyan"; "Medium Yellow"; "mdyellow"; "Medium Orange"; "mdorange"; "Light Grey"; "ltgrey"; "Medium Grey"; "mdgrey"; "Dark Grey"; "dkgrey"; "Black"; "black" }, _("Set the color for the primary crosshair"))
	MULTI(SUBWINDOW_OPTION_X1_START, SUBWINDOW_OPTION_COMPUTE_Y(CROSSHAIR_Y, 6), SUBWINDOW_OPTION_WIDTH_L, SUBWINDOW_OPTION_HEIGHT, _("Secondary Color:"), .2, 8, "cg_crosshairColorAlt", cvarStrList { "White"; "white"; "Yellow"; "yellow"; "Red"; "red"; "Green"; "green"; "Blue"; "blue"; "Magenta"; "magenta"; "Cyan"; "cyan"; "Orange"; "orange"; "Light Blue"; "0xa0c0ff"; "Medium Blue"; "mdblue"; "Light Red"; "0xffc0a0"; "Medium Red"; "mdred"; "Light Green"; "0xa0ffc0"; "Medium Green"; "mdgreen"; "Dark Green"; "dkgreen"; "Medium Cyan"; "mdcyan"; "Medium Yellow"; "mdyellow"; "Medium Orange"; "mdorange"; "Light Grey"; "ltgrey"; "Medium Grey"; "mdgrey"; "Dark Grey"; "dkgrey"; "Black"; "black" }, _("Set the color for the secondary crosshair"))
	CVARFLOATLABEL(SUBWINDOW_OPTION_X1_START, SUBWINDOW_OPTION_COMPUTE_Y(CROSSHAIR_Y, 7), SUBWINDOW_OPTION_WIDTH_L, SUBWINDOW_OPTION_HEIGHT, "cg_crosshairAlpha", .2, ITEM_ALIGN_RIGHT, $evalfloat(SUBWINDOW_OPTION_WIDTH_L), 8)
	SLIDER(SUBWINDOW_OPTION_X1_START, SUBWINDOW_OPTION_COMPUTE_Y(CROSSHAIR_Y, 7), SUBWINDOW_OPTION_WIDTH_L, SUBWINDOW_OPTION_HEIGHT, _("Primary Alpha:"), .2, 8, "cg_crosshairAlpha" 1 0 1, _("Set the transparency level for the primary crosshair"))
	CVARFLOATLABEL(SUBWINDOW_OPTION_X1_START, SUBWINDOW_OPTION_COMPUTE_Y(CROSSHAIR_Y, 8), SUBWINDOW_OPTION_WIDTH_L, SUBWINDOW_OPTION_HEIGHT, "cg_crosshairAlphaAlt", .2, ITEM_ALIGN_RIGHT, $evalfloat(SUBWINDOW_OPTION_WIDTH_L), 8)
	SLIDER(SUBWINDOW_OPTION_X1_START, SUBWINDOW_OPTION_COMPUTE_Y(CROSSHAIR_Y, 8), SUBWINDOW_OPTION_WIDTH_L, SUBWINDOW_OPTION_HEIGHT, _("Secondary Alpha:"), .2, 8, "cg_crosshairAlphaAlt" 1 0 1, _("Set the transparency level for the secondary crosshair"))
	CVARFLOATLABEL(SUBWINDOW_OPTION_X1_START, SUBWINDOW_OPTION_COMPUTE_Y(CROSSHAIR_Y, 9), SUBWINDOW_OPTION_WIDTH_L, SUBWINDOW_OPTION_HEIGHT, "cg_drawCrosshairFade", .2, ITEM_ALIGN_RIGHT, $evalfloat(SUBWINDOW_OPTION_WIDTH_L), 8)
	SLIDER(SUBWINDOW_OPTION_X1_START, SUBWINDOW_OPTION_COMPUTE_Y(CROSSHAIR_Y, 9), SUBWINDOW_OPTION_WIDTH_L, SUBWINDOW_OPTION_HEIGHT, _("Bar Fade:"), .2, 8, "cg_drawCrosshairFade" 250 0 3000, _("Set the display duration of crosshair bar before fading out"))

    itemDef {
        name        "crosshair_select"
        group GROUP_NAME
        rect        $evalfloat(SUBWINDOW_OPTION_X1_START + 12) $evalfloat(SUBWINDOW_OPTION_COMPUTE_Y(CROSSHAIR_Y, 11)) 44 44
        style WINDOW_STYLE_FILLED
        ownerdraw UI_CROSSHAIR
        backcolor   .1 .1 .1 .9
        border WINDOW_BORDER_FULL
        bordercolor .6 .6 .6 1
        visible     1
        tooltip     _("Set crosshair type")

        mouseEnter
        {
            setitemcolor "crosshair_select" bordercolor .9 .9 .9 1
        }

        mouseExit {
            setitemcolor "crosshair_select" bordercolor .6 .6 .6 1
        }
    }

    CVARFLOATLABEL(SUBWINDOW_OPTION_X1_START, SUBWINDOW_OPTION_COMPUTE_Y(CROSSHAIR_Y, 10), SUBWINDOW_OPTION_WIDTH_L, SUBWINDOW_OPTION_HEIGHT, "cg_crosshairHintsLinger", .2, ITEM_ALIGN_RIGHT, $evalfloat(SUBWINDOW_OPTION_WIDTH_L), 8)
	SLIDER(SUBWINDOW_OPTION_X1_START, SUBWINDOW_OPTION_COMPUTE_Y(CROSSHAIR_Y, 10), SUBWINDOW_OPTION_WIDTH_L, SUBWINDOW_OPTION_HEIGHT, _("Hint Fade:"), .2, 8, "cg_crosshairHintsLinger" 250 0 3000, _("Set the display duration of crosshair hint before fading out"))
	CVARFLOATLABEL(SUBWINDOW_OPTION_X1_START, SUBWINDOW_OPTION_COMPUTE_Y(CROSSHAIR_Y, 11), SUBWINDOW_OPTION_WIDTH_L, SUBWINDOW_OPTION_HEIGHT, "cg_crosshairHintsAlpha", .2, ITEM_ALIGN_RIGHT, $evalfloat(SUBWINDOW_OPTION_WIDTH_L), 8)
	SLIDER(SUBWINDOW_OPTION_X1_START, SUBWINDOW_OPTION_COMPUTE_Y(CROSSHAIR_Y, 11), SUBWINDOW_OPTION_WIDTH_L, SUBWINDOW_OPTION_HEIGHT, _("Hint Alpha:"), .2, 8, "cg_crosshairHintsAlpha" 1 0 1, _("Set the transparency level for the crosshair hint"))
	NUMERICFIELD(SUBWINDOW_OPTION_X1_START, SUBWINDOW_OPTION_COMPUTE_Y(CROSSHAIR_Y, 12), SUBWINDOW_OPTION_WIDTH_L, SUBWINDOW_OPTION_HEIGHT, _("X Offset:"), .2, 8, "cg_crosshairX", 3, _("Offset the crosshair X position"))
	NUMERICFIELD(SUBWINDOW_OPTION_X1_START, SUBWINDOW_OPTION_COMPUTE_Y(CROSSHAIR_Y, 13), SUBWINDOW_OPTION_WIDTH_L, SUBWINDOW_OPTION_HEIGHT, _("Y Offset:"), .2, 8, "cg_crosshairY", 3, _("Offset the crosshair Y position"))
	CVARFLOATLABEL(SUBWINDOW_OPTION_X1_START, SUBWINDOW_OPTION_COMPUTE_Y(CROSSHAIR_Y, 14), SUBWINDOW_OPTION_WIDTH_L, SUBWINDOW_OPTION_HEIGHT, "cg_crosshairScaleX", .2, ITEM_ALIGN_RIGHT, $evalfloat(SUBWINDOW_OPTION_WIDTH_L), 8)
	SLIDER(SUBWINDOW_OPTION_X1_START, SUBWINDOW_OPTION_COMPUTE_Y(CROSSHAIR_Y, 14), SUBWINDOW_OPTION_WIDTH_L, SUBWINDOW_OPTION_HEIGHT, _("Scale X:"), .2, 8, "cg_crosshairScaleX" 1 0 10, _("Scale the crosshair width"))
	CVARFLOATLABEL(SUBWINDOW_OPTION_X1_START, SUBWINDOW_OPTION_COMPUTE_Y(CROSSHAIR_Y, 15), SUBWINDOW_OPTION_WIDTH_L, SUBWINDOW_OPTION_HEIGHT, "cg_crosshairScaleY", .2, ITEM_ALIGN_RIGHT, $evalfloat(SUBWINDOW_OPTION_WIDTH_L), 8)
	SLIDER(SUBWINDOW_OPTION_X1_START, SUBWINDOW_OPTION_COMPUTE_Y(CROSSHAIR_Y, 15), SUBWINDOW_OPTION_WIDTH_L, SUBWINDOW_OPTION_HEIGHT, _("Scale Y:"), .2, 8, "cg_crosshairScaleY" 1 0 10, _("Scale the crosshair height"))

// Scope Reticle //
#define SCOPE_Y (CROSSHAIR_Y + CROSSHAIR_H + SUBWINDOW_OPTION_Y_PADDING)
#define SCOPE_H SUBWINDOW_OPTION_COMPUTE_H(5)
	SUBWINDOW(SUBWINDOW_OPTION_HEADER_X1_START, SCOPE_Y, SUBWINDOW_OPTION_HEADER_WIDTH_L, SCOPE_H, _("SCOPE RETICLE"))
	MULTI(SUBWINDOW_OPTION_X1_START, SUBWINDOW_OPTION_COMPUTE_Y(SCOPE_Y, 1), SUBWINDOW_OPTION_WIDTH_L, SUBWINDOW_OPTION_HEIGHT, _("Reticle Style:"), .2, 8, "cg_scopeReticleStyle", cvarFloatList { "Default" 0 "Fine reticle" 1 "German Reticle" 2 }, _("Select the reticle draw with scoped weapon"))
	EDITFIELD(SUBWINDOW_OPTION_X1_START, SUBWINDOW_OPTION_COMPUTE_Y(SCOPE_Y, 2), SUBWINDOW_OPTION_WIDTH_L, SUBWINDOW_OPTION_HEIGHT, _("Line Color:"), .2, 8, "cg_scopeReticleColor", 25, 18, _("Set the line reticle color. Accepted Format RRGGBB[AA] as hex value (00 to FF)\nor R G B [A] as float value (0.0 to 1.0) or colorName as string."))
    EDITFIELD(SUBWINDOW_OPTION_X1_START, SUBWINDOW_OPTION_COMPUTE_Y(SCOPE_Y, 3), SUBWINDOW_OPTION_WIDTH_L, SUBWINDOW_OPTION_HEIGHT, _("Dot Color:"), .2, 8, "cg_scopeReticleDotColor", 25, 18, _("Set the dot color. Accepted Format RRGGBB[AA] as hex value (00 to FF)\nor R G B [A] as float value (0.0 to 1.0) or colorName as string."))
    CVARFLOATLABEL(SUBWINDOW_OPTION_X1_START, SUBWINDOW_OPTION_COMPUTE_Y(SCOPE_Y, 4), SUBWINDOW_OPTION_WIDTH_L, SUBWINDOW_OPTION_HEIGHT, "cg_scopeReticleLineThickness", .2, ITEM_ALIGN_RIGHT, $evalfloat(SUBWINDOW_OPTION_WIDTH_L), 8)
	SLIDER(SUBWINDOW_OPTION_X1_START, SUBWINDOW_OPTION_COMPUTE_Y(SCOPE_Y, 4), SUBWINDOW_OPTION_WIDTH_L, SUBWINDOW_OPTION_HEIGHT, _("Reticle Line Thickness:"), .2, 8, "cg_scopeReticleLineThickness" 2 0 10, _("Set the reticle line thickness"))
	CVARFLOATLABEL(SUBWINDOW_OPTION_X1_START, SUBWINDOW_OPTION_COMPUTE_Y(SCOPE_Y, 5), SUBWINDOW_OPTION_WIDTH_L, SUBWINDOW_OPTION_HEIGHT, "cg_scopeReticleDotThickness", .2, ITEM_ALIGN_RIGHT, $evalfloat(SUBWINDOW_OPTION_WIDTH_L), 8)
	SLIDER(SUBWINDOW_OPTION_X1_START, SUBWINDOW_OPTION_COMPUTE_Y(SCOPE_Y, 5), SUBWINDOW_OPTION_WIDTH_L, SUBWINDOW_OPTION_HEIGHT, _("Reticle Dot Thickness:"), .2, 8, "cg_scopeReticleDotThickness" 2 0 10, _("Set the reticle dot thickness"))

// Hint //
#define HINT_Y (SUBWINDOW_OPTION_Y_START)
#define HINT_H SUBWINDOW_OPTION_COMPUTE_H(2)
    SUBWINDOW(SUBWINDOW_OPTION_HEADER_X2_START, HINT_Y, SUBWINDOW_OPTION_HEADER_WIDTH_R, HINT_H, _("HINT"))
    CVARFLOATLABEL(SUBWINDOW_OPTION_HEADER_X2_START, SUBWINDOW_OPTION_COMPUTE_Y(HINT_Y, 1), SUBWINDOW_OPTION_WIDTH_R, SUBWINDOW_OPTION_HEIGHT, "cg_cursorHintsLinger", .2, ITEM_ALIGN_RIGHT, $evalfloat(SUBWINDOW_OPTION_WIDTH_R), 8)
	SLIDER(SUBWINDOW_OPTION_HEADER_X2_START, SUBWINDOW_OPTION_COMPUTE_Y(HINT_Y, 1), SUBWINDOW_OPTION_WIDTH_R, SUBWINDOW_OPTION_HEIGHT, _("Hint Icon Fade:"), .2, 8, "cg_cursorHintsLinger" 250 0 3000, _("Set the display duration of hint icon before fading out"))
	CVARFLOATLABEL(SUBWINDOW_OPTION_HEADER_X2_START, SUBWINDOW_OPTION_COMPUTE_Y(HINT_Y, 2), SUBWINDOW_OPTION_WIDTH_R, SUBWINDOW_OPTION_HEIGHT, "cg_cursorHintsAlpha", .2, ITEM_ALIGN_RIGHT, $evalfloat(SUBWINDOW_OPTION_WIDTH_R), 8)
	SLIDER(SUBWINDOW_OPTION_HEADER_X2_START, SUBWINDOW_OPTION_COMPUTE_Y(HINT_Y, 2), SUBWINDOW_OPTION_WIDTH_R, SUBWINDOW_OPTION_HEIGHT, _("Hint Icon Alpha:"), .2, 8, "cg_cursorHintsAlpha" 1 0 1, _("Set the transparency level for the hint icon"))

// Blood and Gib //
#define BLOOD_Y (HINT_Y + HINT_H + SUBWINDOW_OPTION_Y_PADDING)
#define BLOOD_H SUBWINDOW_OPTION_COMPUTE_H(8)
	SUBWINDOW(SUBWINDOW_OPTION_HEADER_X2_START, BLOOD_Y, SUBWINDOW_OPTION_HEADER_WIDTH_R, BLOOD_H, _("BLOOD"))
	YESNO(SUBWINDOW_OPTION_X2_START, SUBWINDOW_OPTION_COMPUTE_Y(BLOOD_Y, 1), SUBWINDOW_OPTION_WIDTH_R, SUBWINDOW_OPTION_HEIGHT, _("Show Blood:"), .2, 8, "cg_showblood", _("Toggle showing blood spurt effect when players are shot"))
	YESNO(SUBWINDOW_OPTION_X2_START, SUBWINDOW_OPTION_COMPUTE_Y(BLOOD_Y, 2), SUBWINDOW_OPTION_WIDTH_R, SUBWINDOW_OPTION_HEIGHT, _("Gibs:"), .2, 8, "cg_gibs", _("Draw gibs out from the bodies when shattered"))
    MULTI(SUBWINDOW_OPTION_X2_START, SUBWINDOW_OPTION_COMPUTE_Y(BLOOD_Y, 3), SUBWINDOW_OPTION_WIDTH_R, SUBWINDOW_OPTION_HEIGHT, _("Blood Flash:"), .2, 8, "cg_bloodFlash", cvarFloatList { "None" 0.0 "Light" 0.25 "Medium" 0.5 "Heavy" 0.75 "Full" 1.0 }, _("Set blood flash scale when receiving damage"))
    CVARFLOATLABEL(SUBWINDOW_OPTION_X2_START, SUBWINDOW_OPTION_COMPUTE_Y(BLOOD_Y, 4), SUBWINDOW_OPTION_WIDTH_R, SUBWINDOW_OPTION_HEIGHT, "cg_bloodFlashTime", .2, ITEM_ALIGN_RIGHT, $evalfloat(SUBWINDOW_OPTION_WIDTH_R), 8)
	SLIDER(SUBWINDOW_OPTION_X2_START, SUBWINDOW_OPTION_COMPUTE_Y(BLOOD_Y, 4), SUBWINDOW_OPTION_WIDTH_R, SUBWINDOW_OPTION_HEIGHT, _("Blood Flash Time:"), .2, 8, "cg_bloodFlashTime" 1500 0 5000, _("Set the duration the blood flash on damage receiving draw (s)"))
	MULTI(SUBWINDOW_OPTION_X2_START, SUBWINDOW_OPTION_COMPUTE_Y(BLOOD_Y, 5), SUBWINDOW_OPTION_WIDTH_R, SUBWINDOW_OPTION_HEIGHT, _("Blood Splatter:"), .2, 8, "cg_bloodDamageBlend", cvarFloatList { "None" 0.0 "Light" 0.25 "Medium" 0.5 "Heavy" 0.75 "Full" 1.0 }, _("Set blood splatter transparency when taking damage from other players"))
	YESNO(SUBWINDOW_OPTION_X2_START, SUBWINDOW_OPTION_COMPUTE_Y(BLOOD_Y, 6), SUBWINDOW_OPTION_WIDTH_R, SUBWINDOW_OPTION_HEIGHT, _("Blood Puff:"), .2, 8, "cg_bloodPuff", _("Toggle showing blood puff effect when players are shot"))
	YESNO(SUBWINDOW_OPTION_X2_START, SUBWINDOW_OPTION_COMPUTE_Y(BLOOD_Y, 7), SUBWINDOW_OPTION_WIDTH_R, SUBWINDOW_OPTION_HEIGHT, _("No Blood Puffs:"), .2, 8, "cg_bloodForcePuffsForDamage", _("Toggle showing puff instead of blood effect when players are shot"))
	CVARFLOATLABEL(SUBWINDOW_OPTION_X2_START, SUBWINDOW_OPTION_COMPUTE_Y(BLOOD_Y, 8), SUBWINDOW_OPTION_WIDTH_R, SUBWINDOW_OPTION_HEIGHT, "cg_bloodTime", .2, ITEM_ALIGN_RIGHT, $evalfloat(SUBWINDOW_OPTION_WIDTH_R), 8)
	SLIDER(SUBWINDOW_OPTION_X2_START, SUBWINDOW_OPTION_COMPUTE_Y(BLOOD_Y, 8), SUBWINDOW_OPTION_WIDTH_R, SUBWINDOW_OPTION_HEIGHT, _("Blood Time:"), .2, 8, "cg_bloodTime" 120 0 2000, _("Set the duration the blood splat draw (s)"))

// Custom Crosshair //
#define CUSTOM_CROSSHAIR_Y (BLOOD_Y + BLOOD_H + SUBWINDOW_OPTION_Y_PADDING)
#define CUSTOM_CROSSHAIR_H SUBWINDOW_OPTION_COMPUTE_H(16)
    SUBWINDOW(SUBWINDOW_OPTION_HEADER_X2_START, CUSTOM_CROSSHAIR_Y, SUBWINDOW_OPTION_HEADER_WIDTH_R, CUSTOM_CROSSHAIR_H, _("CUSTOM CROSSHAIR"))
    MULTI(SUBWINDOW_OPTION_X2_START, SUBWINDOW_OPTION_COMPUTE_Y(CUSTOM_CROSSHAIR_Y, 1), SUBWINDOW_OPTION_WIDTH_R, SUBWINDOW_OPTION_HEIGHT, _("Custom Crosshair:"), .2, 8, "cg_customCrosshair", cvarFloatList { "None" 0 "Dot With Small Cross" 1 "DOT" 2 "Small Cross" 3 "Full Cross" 4 }, _("Select the custom corsshair to use. Disable classic crosshair"))
	CVARFLOATLABEL(SUBWINDOW_OPTION_X2_START, SUBWINDOW_OPTION_COMPUTE_Y(CUSTOM_CROSSHAIR_Y, 2), SUBWINDOW_OPTION_WIDTH_R, SUBWINDOW_OPTION_HEIGHT, "cg_customCrosshairDotWidth", .2, ITEM_ALIGN_RIGHT, $evalfloat(SUBWINDOW_OPTION_WIDTH_R), 8)
	SLIDER(SUBWINDOW_OPTION_X2_START, SUBWINDOW_OPTION_COMPUTE_Y(CUSTOM_CROSSHAIR_Y, 2), SUBWINDOW_OPTION_WIDTH_R, SUBWINDOW_OPTION_HEIGHT, _("Dot Width:"), .2, 8, "cg_customCrosshairDotWidth" 2 0 32, _("Set the dot size"))
	EDITFIELD(SUBWINDOW_OPTION_X2_START, SUBWINDOW_OPTION_COMPUTE_Y(CUSTOM_CROSSHAIR_Y, 3), SUBWINDOW_OPTION_WIDTH_R, SUBWINDOW_OPTION_HEIGHT, _("Dot Color:"), .2, 8, "cg_customCrosshairDotColor", 25, 18, _("Set the dot color. Accepted Format RRGGBB[AA] as hex value (00 to FF)\nor R G B [A] as float value (0.0 to 1.0) or colorName as string."))
	YESNO(SUBWINDOW_OPTION_X2_START, SUBWINDOW_OPTION_COMPUTE_Y(CUSTOM_CROSSHAIR_Y, 4), SUBWINDOW_OPTION_WIDTH_R, SUBWINDOW_OPTION_HEIGHT, _("Draw Dot Outline:"), .2, 8, "cg_customCrosshairDotOutlineRounded", _("Draw the dot outline"))
	EDITFIELD(SUBWINDOW_OPTION_X2_START, SUBWINDOW_OPTION_COMPUTE_Y(CUSTOM_CROSSHAIR_Y, 5), SUBWINDOW_OPTION_WIDTH_R, SUBWINDOW_OPTION_HEIGHT, _("Dot Color:"), .2, 8, "cg_customCrosshairDotOutlineColor", 25, 18, _("Set the dot outline color. Accepted Format RRGGBB[AA] as hex value (00 to FF)\nor R G B [A] as float value (0.0 to 1.0) or colorName as string."))
    CVARFLOATLABEL(SUBWINDOW_OPTION_X2_START, SUBWINDOW_OPTION_COMPUTE_Y(CUSTOM_CROSSHAIR_Y, 6), SUBWINDOW_OPTION_WIDTH_R, SUBWINDOW_OPTION_HEIGHT, "cg_customCrosshairDotOutlineWidth", .2, ITEM_ALIGN_RIGHT, $evalfloat(SUBWINDOW_OPTION_WIDTH_R), 8)
	SLIDER(SUBWINDOW_OPTION_X2_START, SUBWINDOW_OPTION_COMPUTE_Y(CUSTOM_CROSSHAIR_Y, 6), SUBWINDOW_OPTION_WIDTH_R, SUBWINDOW_OPTION_HEIGHT, _("Dot Outline Width:"), .2, 8, "cg_customCrosshairDotOutlineWidth" 1 0 32, _("Set the dot outline thickness"))
	CVARFLOATLABEL(SUBWINDOW_OPTION_X2_START, SUBWINDOW_OPTION_COMPUTE_Y(CUSTOM_CROSSHAIR_Y, 7), SUBWINDOW_OPTION_WIDTH_R, SUBWINDOW_OPTION_HEIGHT, "cg_customCrosshairCrossWidth", .2, ITEM_ALIGN_RIGHT, $evalfloat(SUBWINDOW_OPTION_WIDTH_R), 8)
	SLIDER(SUBWINDOW_OPTION_X2_START, SUBWINDOW_OPTION_COMPUTE_Y(CUSTOM_CROSSHAIR_Y, 7), SUBWINDOW_OPTION_WIDTH_R, SUBWINDOW_OPTION_HEIGHT, _("Cross Width:"), .2, 8, "cg_customCrosshairCrossWidth" 2 0 32, _("Set the cross size"))
	CVARFLOATLABEL(SUBWINDOW_OPTION_X2_START, SUBWINDOW_OPTION_COMPUTE_Y(CUSTOM_CROSSHAIR_Y, 8), SUBWINDOW_OPTION_WIDTH_R, SUBWINDOW_OPTION_HEIGHT, "cg_customCrosshairCrossLength", .2, ITEM_ALIGN_RIGHT, $evalfloat(SUBWINDOW_OPTION_WIDTH_R), 8)
	SLIDER(SUBWINDOW_OPTION_X2_START, SUBWINDOW_OPTION_COMPUTE_Y(CUSTOM_CROSSHAIR_Y, 8), SUBWINDOW_OPTION_WIDTH_R, SUBWINDOW_OPTION_HEIGHT, _("Cross Length:"), .2, 8, "cg_customCrosshairCrossLength" 8 0 32, _("Set the cross thickness"))
	CVARFLOATLABEL(SUBWINDOW_OPTION_X2_START, SUBWINDOW_OPTION_COMPUTE_Y(CUSTOM_CROSSHAIR_Y, 9), SUBWINDOW_OPTION_WIDTH_R, SUBWINDOW_OPTION_HEIGHT, "cg_customCrosshairCrossGap", .2, ITEM_ALIGN_RIGHT, $evalfloat(SUBWINDOW_OPTION_WIDTH_R), 8)
	SLIDER(SUBWINDOW_OPTION_X2_START, SUBWINDOW_OPTION_COMPUTE_Y(CUSTOM_CROSSHAIR_Y, 9), SUBWINDOW_OPTION_WIDTH_R, SUBWINDOW_OPTION_HEIGHT, _("Cross Gap:"), .2, 8, "cg_customCrosshairCrossGap" 8 0 32, _("Set the cross gap"))
	CVARFLOATLABEL(SUBWINDOW_OPTION_X2_START, SUBWINDOW_OPTION_COMPUTE_Y(CUSTOM_CROSSHAIR_Y, 10), SUBWINDOW_OPTION_WIDTH_R, SUBWINDOW_OPTION_HEIGHT, "cg_customCrosshairCrossSpreadDistance", .2, ITEM_ALIGN_RIGHT, $evalfloat(SUBWINDOW_OPTION_WIDTH_R), 8)
	SLIDER(SUBWINDOW_OPTION_X2_START, SUBWINDOW_OPTION_COMPUTE_Y(CUSTOM_CROSSHAIR_Y, 10), SUBWINDOW_OPTION_WIDTH_R, SUBWINDOW_OPTION_HEIGHT, _("Cross Spread Distance:"), .2, 8, "cg_customCrosshairCrossSpreadDistance" 8 0 32, _("Set the cross spread"))
	CVARFLOATLABEL(SUBWINDOW_OPTION_X2_START, SUBWINDOW_OPTION_COMPUTE_Y(CUSTOM_CROSSHAIR_Y, 11), SUBWINDOW_OPTION_WIDTH_R, SUBWINDOW_OPTION_HEIGHT, "cg_customCrosshairCrossSpreadOTGCoef", .2, ITEM_ALIGN_RIGHT, $evalfloat(SUBWINDOW_OPTION_WIDTH_R), 8)
	SLIDER(SUBWINDOW_OPTION_X2_START, SUBWINDOW_OPTION_COMPUTE_Y(CUSTOM_CROSSHAIR_Y, 11), SUBWINDOW_OPTION_WIDTH_R, SUBWINDOW_OPTION_HEIGHT, _("Cross Spread OTG Coef:"), .2, 8, "cg_customCrosshairCrossSpreadOTGCoef" 8 0 32, _("Set the cross spread OTG coefficient"))
	EDITFIELD(SUBWINDOW_OPTION_X2_START, SUBWINDOW_OPTION_COMPUTE_Y(CUSTOM_CROSSHAIR_Y, 12), SUBWINDOW_OPTION_WIDTH_R, SUBWINDOW_OPTION_HEIGHT, _("Cross Color:"), .2, 8, "cg_customCrosshairCrossColor", 25, 18, _("Set the cross color. Accepted Format RRGGBB[AA] as hex value (00 to FF)\nor R G B [A] as float value (0.0 to 1.0) or colorName as string."))
	YESNO(SUBWINDOW_OPTION_X2_START, SUBWINDOW_OPTION_COMPUTE_Y(CUSTOM_CROSSHAIR_Y, 13), SUBWINDOW_OPTION_WIDTH_R, SUBWINDOW_OPTION_HEIGHT, _("Draw Cross Outline:"), .2, 8, "cg_customCrosshairCrossOutlineRounded", _("Draw Cross Outline"))
	EDITFIELD(SUBWINDOW_OPTION_X2_START, SUBWINDOW_OPTION_COMPUTE_Y(CUSTOM_CROSSHAIR_Y, 14), SUBWINDOW_OPTION_WIDTH_R, SUBWINDOW_OPTION_HEIGHT, _("Cross Outline Color:"), .2, 8, "cg_customCrosshairCrossOutlineColor", 25, 18, _("Set the cross color outline. Accepted Format RRGGBB[AA] as hex value (00 to FF)\nor R G B [A] as float value (0.0 to 1.0) or colorName as string."))
	CVARFLOATLABEL(SUBWINDOW_OPTION_X2_START, SUBWINDOW_OPTION_COMPUTE_Y(CUSTOM_CROSSHAIR_Y, 15), SUBWINDOW_OPTION_WIDTH_R, SUBWINDOW_OPTION_HEIGHT, "cg_customCrosshairCrossOutlineWidth", .2, ITEM_ALIGN_RIGHT, $evalfloat(SUBWINDOW_OPTION_WIDTH_R), 8)
	SLIDER(SUBWINDOW_OPTION_X2_START, SUBWINDOW_OPTION_COMPUTE_Y(CUSTOM_CROSSHAIR_Y, 15), SUBWINDOW_OPTION_WIDTH_R, SUBWINDOW_OPTION_HEIGHT, _("Cross Outline Width:"), .2, 8, "cg_customCrosshairCrossOutlineWidth" 8 0 32, _("Set the cross outline thickness"))
	YESNO(SUBWINDOW_OPTION_X2_START, SUBWINDOW_OPTION_COMPUTE_Y(CUSTOM_CROSSHAIR_Y, 16), SUBWINDOW_OPTION_WIDTH_R, SUBWINDOW_OPTION_HEIGHT, _("Dynamic Health:"), .2, 8, "cg_customCrosshairHealth", _("Force the crosshair coloration to follow player health"))

// Buttons //
	BUTTON(SUBWINDOW_OPTION_HEADER_X1_START, WINDOW_HEIGHT - 22, WINDOW_WIDTH - 12, 18, _("MSGID_MENU_BACK"), .3, 14, close options_customise_hud_extended ; open options_customise_hud)
}
