From: Samual Date: Wed, 18 Jan 2012 18:46:28 +0000 (-0500) Subject: Finish creating crosshair settings dialog X-Git-Tag: xonotic-v0.6.0~138 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=de19fdc0547291ddb65406f31e11ef3552d95d11;p=xonotic%2Fxonotic-data.pk3dir.git Finish creating crosshair settings dialog --- diff --git a/defaultXonotic.cfg b/defaultXonotic.cfg index e8d6dc7c0..aee61f200 100644 --- a/defaultXonotic.cfg +++ b/defaultXonotic.cfg @@ -69,7 +69,8 @@ seta crosshair_size 0.500000 seta crosshair_dot 0 seta crosshair_dot_alpha 1 seta crosshair_dot_size 0.600000 -seta crosshair_dot_color "1 0 0" "when != 0, use custom color for the crosshair dot" +seta crosshair_dot_color "1 0 0" +seta crosshair_dot_color_custom 1 "use a custom color for the crosshair dot" seta crosshair_pickup 0.25 seta crosshair_pickup_speed 4 seta crosshair_hitindication 0.5 diff --git a/qcsrc/client/View.qc b/qcsrc/client/View.qc index 9f0fc25d2..2886d3296 100644 --- a/qcsrc/client/View.qc +++ b/qcsrc/client/View.qc @@ -1371,8 +1371,10 @@ void CSQC_UpdateView(float w, float h) { vector wcross_color_old; wcross_color_old = wcross_color; - if(autocvar_crosshair_dot_color != "0") + + if((autocvar_crosshair_dot_color_custom) && (autocvar_crosshair_dot_color != "0")) wcross_color = stov(autocvar_crosshair_dot_color); + CROSSHAIR_DRAW(wcross_resolution * autocvar_crosshair_dot_size, "gfx/crosshairdot.tga", f * autocvar_crosshair_dot_alpha); // FIXME why don't we use wcross_alpha here? wcross_color = wcross_color_old; diff --git a/qcsrc/client/autocvars.qh b/qcsrc/client/autocvars.qh index 6ea8ad80e..f0aacf060 100644 --- a/qcsrc/client/autocvars.qh +++ b/qcsrc/client/autocvars.qh @@ -89,6 +89,7 @@ float autocvar_crosshair_color_per_weapon; float autocvar_crosshair_dot; float autocvar_crosshair_dot_alpha; string autocvar_crosshair_dot_color; +float autocvar_crosshair_dot_color_custom; float autocvar_crosshair_dot_size; float autocvar_crosshair_effect_scalefade; float autocvar_crosshair_effect_speed; diff --git a/qcsrc/menu/xonotic/crosshairbutton.c b/qcsrc/menu/xonotic/crosshairbutton.c index 9456cd66d..0b501f5b6 100644 --- a/qcsrc/menu/xonotic/crosshairbutton.c +++ b/qcsrc/menu/xonotic/crosshairbutton.c @@ -118,10 +118,11 @@ void XonoticCrosshairButton_draw(entity me) draw_Picture('0.5 0.5 0' - 0.5 * sz, me.src3, sz, rgb, a); if(cvar("crosshair_dot")) - { - if(cvar_string("crosshair_dot_color") != "0") - rgb = stov(cvar_string("crosshair_dot_color")); + { + if(cvar("crosshair_dot_color_custom") && (cvar_string("crosshair_dot_color") != "0")) + rgb = stov(cvar_string("crosshair_dot_color")); + draw_Picture('0.5 0.5 0' - 0.5 * sz * cvar("crosshair_dot_size"), me.src4, sz * cvar("crosshair_dot_size"), rgb, a * cvar("crosshair_dot_alpha")); - } + } } #endif diff --git a/qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c b/qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c index 7ca7d9622..56aedcab8 100644 --- a/qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c +++ b/qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c @@ -6,7 +6,7 @@ CLASS(XonoticCrosshairDialog) EXTENDS(XonoticDialog) ATTRIB(XonoticCrosshairDialog, title, string, _("Crosshair settings")) ATTRIB(XonoticCrosshairDialog, color, vector, SKINCOLOR_DIALOG_CROSSHAIR) ATTRIB(XonoticCrosshairDialog, intendedWidth, float, 0.5) - ATTRIB(XonoticCrosshairDialog, rows, float, 12) + ATTRIB(XonoticCrosshairDialog, rows, float, 18) ATTRIB(XonoticCrosshairDialog, columns, float, 3) ENDCLASS(XonoticCrosshairDialog) #endif @@ -24,8 +24,69 @@ void XonoticCrosshairDialog_fill(entity me) { entity e; - - + me.TR(me); + me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "crosshair_dot", _("Enable center crosshair dot"))); + setDependent(e, "crosshair_enabled", 1, 2); + me.TR(me); + me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Dot size:"))); + setDependentAND(e, "crosshair_dot", 1, 1, "crosshair_enabled", 1, 2); + me.TD(me, 1, 2, e = makeXonoticSlider(0.2, 2, 0.1, "crosshair_dot_size")); + setDependentAND(e, "crosshair_dot", 1, 1, "crosshair_enabled", 1, 2); + me.TR(me); + me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Dot alpha:"))); + setDependentAND(e, "crosshair_dot", 1, 1, "crosshair_enabled", 1, 2); + me.TD(me, 1, 2, e = makeXonoticSlider(0.1, 1, 0.1, "crosshair_dot_alpha")); + setDependentAND(e, "crosshair_dot", 1, 1, "crosshair_enabled", 1, 2); + me.TR(me); + me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Dot color:"))); + setDependentAND(e, "crosshair_dot", 1, 1, "crosshair_enabled", 1, 2); + me.TD(me, 1, 2, e = makeXonoticRadioButton(1, "crosshair_dot_color_custom", "0", _("Use normal crosshair color"))); + setDependentAND(e, "crosshair_dot", 1, 1, "crosshair_enabled", 1, 2); + me.TR(me); + me.TDempty(me, 0.1); + me.TD(me, 1, 0.8, e = makeXonoticRadioButton(1, "crosshair_dot_color_custom", "1", _("Custom"))); + setDependentAND(e, "crosshair_dot", 1, 1, "crosshair_enabled", 1, 2); + me.TD(me, 2, 2, e = makeXonoticColorpickerString("crosshair_dot_color", "crosshair_dot_color")); + setDependentAND3(e, "crosshair_dot", 1, 1, "crosshair_enabled", 1, 2, "crosshair_dot_color_custom", 1, 1); + me.TR(me); + me.TR(me); + me.TR(me); + me.TD(me, 1, 3, e = makeXonoticTextLabel(0, _("Crosshair animations:"))); + me.TR(me); + me.TDempty(me, 0.2); + me.TD(me, 1, 2.8, e = makeXonoticCheckBox(0, "crosshair_effect_scalefade", _("Smooth effects of crosshairs"))); + setDependent(e, "crosshair_enabled", 1, 2); + me.TR(me); + me.TDempty(me, 0.2); + me.TD(me, 1, 2.8, e = makeXonoticCheckBox(0, "crosshair_ring", _("Use rings to indicate weapon status"))); + makeMulti(e, "crosshair_ring_reload"); + setDependent(e, "crosshair_enabled", 1, 2); + me.TR(me); + me.TR(me); + me.TDempty(me, 0.2); + me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Hit testing:"))); + me.TD(me, 1, 2, e = makeXonoticTextSlider("crosshair_hittest")); + e.addValue(e, "Disabled", "0"); + e.addValue(e, "TrueAim", "1"); + e.addValue(e, "Enemies", "1.25"); + e.configureXonoticTextSliderValues(e); + setDependent(e, "crosshair_enabled", 1, 2); + me.TR(me); + me.TDempty(me, 0.2); + me.TD(me, 1, 2.8, e = makeXonoticCheckBox(0, "crosshair_hittest_blur", _("Blur crosshair if the shot is obstructed"))); + setDependentAND(e, "crosshair_hittest", 1, 100, "crosshair_enabled", 1, 2); + me.TR(me); + me.TR(me); + me.TDempty(me, 0.2); + me.TD(me, 1, 2.8, e = makeXonoticCheckBoxEx(0.5, 0, "crosshair_hitindication", _("Animate when hitting an enemy"))); + setDependent(e, "crosshair_enabled", 1, 2); + me.TR(me); + me.TDempty(me, 0.2); + me.TD(me, 1, 2.8, e = makeXonoticCheckBoxEx(0.25, 0, "crosshair_pickup", _("Animate when picking up an item"))); + setDependent(e, "crosshair_enabled", 1, 2); + + me.TR(me); + me.gotoRC(me, me.rows - 1, 0); me.TD(me, 1, me.columns, e = makeXonoticButton(_("OK"), '0 0 0')); e.onClick = Dialog_Close;