]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blob - qcsrc/common/mutators/mutator/damagetext/ui_damagetext.qc
Merge branch 'martin-t/fix1994' into 'master'
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / mutators / mutator / damagetext / ui_damagetext.qc
1 #include "ui_damagetext.qh"
2
3 #include <menu/gamesettings.qh>
4 #include <menu/xonotic/tab.qh>
5
6 CLASS(XonoticDamageTextSettings, XonoticTab)
7     REGISTER_SETTINGS(damagetext, NEW(XonoticDamageTextSettings));
8     ATTRIB(XonoticDamageTextSettings, title, string, _("Damage text"));
9     ATTRIB(XonoticDamageTextSettings, intendedWidth, float, 0.9);
10     ATTRIB(XonoticDamageTextSettings, rows, float, 15.5);
11     ATTRIB(XonoticDamageTextSettings, columns, float, 5);
12     INIT(XonoticDamageTextSettings) { this.configureDialog(this); }
13     METHOD(XonoticDamageTextSettings, showNotify, void(entity this)) { loadAllCvars(this); }
14     METHOD(XonoticDamageTextSettings, fill, void(entity this))
15     {
16         entity e;
17         this.gotoRC(this, 0, 1); this.setFirstColumn(this, this.currentColumn);
18             this.TD(this, 1, 3, makeXonoticCheckBox(0, "cl_damagetext", _("Draw damage numbers")));
19         this.TR(this);
20             this.TD(this, 1, 1, e = makeXonoticTextLabel(0, _("Font size minimum:")));
21                 setDependent(e, "cl_damagetext", 1, 1);
22             this.TD(this, 1, 2, e = makeXonoticSlider(0, 50, 1, "cl_damagetext_size_min"));
23                 setDependent(e, "cl_damagetext", 1, 1);
24         this.TR(this);
25             this.TD(this, 1, 1, e = makeXonoticTextLabel(0, _("Font size maximum:")));
26                 setDependent(e, "cl_damagetext", 1, 1);
27             this.TD(this, 1, 2, e = makeXonoticSlider(0, 50, 1, "cl_damagetext_size_max"));
28                 setDependent(e, "cl_damagetext", 1, 1);
29         this.TR(this);
30             this.TD(this, 1, 1, e = makeXonoticTextLabel(0, _("Accumulate range:")));
31                 setDependent(e, "cl_damagetext", 1, 1);
32             // 1 as min because shotgun sends damagetext per pellet (see https://gitlab.com/xonotic/xonotic-data.pk3dir/issues/1994).
33             // It's capped to 1 in code too but let's not lie to users by allowing the slider to go to 0, it would still accumulate
34             // when hitting a stationary player using a weapon with no push.
35             this.TD(this, 1, 2, e = makeXonoticSlider(1, 500, 1, "cl_damagetext_accumulate_range"));
36                 setDependent(e, "cl_damagetext", 1, 1);
37         this.TR(this);
38             this.TD(this, 1, 1, e = makeXonoticTextLabel(0, _("Lifetime:")));
39                 setDependent(e, "cl_damagetext", 1, 1);
40             this.TD(this, 1, 2, e = makeXonoticSlider(0, 10, 1, "cl_damagetext_alpha_lifetime"));
41                 setDependent(e, "cl_damagetext", 1, 1);
42         this.TR(this);
43             this.TD(this, 1, 1, e = makeXonoticTextLabel(0, _("Color:")));
44                 setDependent(e, "cl_damagetext", 1, 1);
45             this.TD(this, 2, 2, e = makeXonoticColorpickerString("cl_damagetext_color", "cl_damagetext_color"));
46                 setDependent(e, "cl_damagetext", 1, 1);
47         this.TR(this);
48         this.TR(this);
49         // friendly fire
50             this.TD(this, 1, 3, e = makeXonoticCheckBox(0, "cl_damagetext_friendlyfire", _("Draw damage numbers for friendly fire")));
51                 setDependent(e, "cl_damagetext", 1, 1);
52         this.TR(this);
53             this.TD(this, 1, 1, e = makeXonoticTextLabel(0, _("Color:")));
54                 setDependentAND(e, "cl_damagetext", 1, 1, "cl_damagetext_friendlyfire", 1, 1);
55             this.TD(this, 2, 2, e = makeXonoticColorpickerString("cl_damagetext_friendlyfire_color", "cl_damagetext_friendlyfire_color"));
56                 setDependentAND(e, "cl_damagetext", 1, 1, "cl_damagetext_friendlyfire", 1, 1);
57         this.TR(this);
58     }
59 ENDCLASS(XonoticDamageTextSettings)