d1f9e550be69764a2bf29aee3d220de98c70aa7d
[xonotic/xonotic-data.pk3dir.git] / qcsrc / menu / xonotic / dialog_settings_game_view.qc
1 #ifdef INTERFACE
2 CLASS(XonoticGameViewSettingsTab) EXTENDS(XonoticTab)
3         METHOD(XonoticGameViewSettingsTab, fill, void(entity))
4         METHOD(XonoticGameViewSettingsTab, showNotify, void(entity))
5         ATTRIB(XonoticGameViewSettingsTab, intendedWidth, float, 0.9)
6         ATTRIB(XonoticGameViewSettingsTab, rows, float, 13)
7         ATTRIB(XonoticGameViewSettingsTab, columns, float, 6.2)
8 ENDCLASS(XonoticGameViewSettingsTab)
9 entity makeXonoticGameViewSettingsTab();
10 #endif
11
12 #ifdef IMPLEMENTATION
13 void XonoticGameViewSettingsTab_showNotify(entity me)
14 {
15         loadAllCvars(me);
16 }
17 entity makeXonoticGameViewSettingsTab()
18 {
19         entity me;
20         me = spawnXonoticGameViewSettingsTab();
21         me.configureDialog(me);
22         return me;
23 }
24
25 void XonoticGameViewSettingsTab_fill(entity me)
26 {
27         entity e;
28
29         me.TR(me);
30                 me.TD(me, 1, 3, e = makeXonoticRadioButton(1, "chase_active", "0", _("1st person perspective")));
31                 makeMulti(e, "crosshair_hittest_showimpact");
32         me.TR(me);
33                 me.TDempty(me, 0.2);
34                 me.TD(me, 1, 2.8, e = makeXonoticCheckBox(0, "cl_eventchase_death", _("Slide to third person upon death")));
35                 setDependent(e, "chase_active", -1, 0);
36         me.TR(me);
37                 me.TDempty(me, 0.2);
38                 me.TD(me, 1, 2.8, e = makeXonoticCheckBoxEx(0.05, 0, "cl_bobfall", _("Smooth the view when landing from a jump")));
39                 setDependent(e, "chase_active", -1, 0);
40         me.TR(me);
41                 me.TDempty(me, 0.2);
42                 me.TD(me, 1, 2.8, e = makeXonoticCheckBoxEx(0.05, 0, "cl_smoothviewheight", _("Smooth the view while crouching")));
43                 setDependent(e, "chase_active", -1, 0);
44         me.TR(me);
45                 me.TDempty(me, 0.2);
46                 me.TD(me, 1, 2.8, e = makeXonoticCheckBoxEx(1, 0, "v_idlescale", _("View waving while idle")));
47                 setDependent(e, "chase_active", -1, 0);
48         me.TR(me);
49                 me.TDempty(me, 0.2);
50                 me.TD(me, 1, 2.8, e = makeXonoticCheckBoxEx(0.01, 0, "cl_bob", _("View bobbing while walking around")));
51                 makeMulti(e, "cl_bob2");
52                 setDependent(e, "chase_active", -1, 0);
53         me.TR(me);
54         me.TR(me);
55                 me.TD(me, 1, 3, e = makeXonoticRadioButton(1, "chase_active", "1", _("3rd person perspective")));
56                 makeMulti(e, "crosshair_hittest_showimpact");
57         me.TR(me);
58                 me.TDempty(me, 0.2);
59                 me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Back distance")));
60                 setDependent(e, "chase_active", 1, 1);
61                 me.TD(me, 1, 2, e = makeXonoticSlider(10, 100, 1, "chase_back"));
62                 setDependent(e, "chase_active", 1, 1);
63         me.TR(me);
64                 me.TDempty(me, 0.2);
65                 me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Up distance")));
66                 setDependent(e, "chase_active", 1, 1);
67                 me.TD(me, 1, 2, e = makeXonoticSlider(10, 50, 1, "chase_up"));
68                 setDependent(e, "chase_active", 1, 1);
69         me.TR(me);
70         me.TR(me);
71                 me.TD(me, 1, 3, e = makeXonoticCheckBox(1, "cl_clippedspectating", _("Allow passing through walls while spectating")));
72
73         me.gotoRC(me, 0, 3.2); me.setFirstColumn(me, me.currentColumn);
74                 me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Field of view:")));
75                 me.TD(me, 1, 2, e = makeXonoticSlider(60, 130, 5, "fov"));
76         me.TR(me);
77         me.TR(me);
78                 //me.TDempty(me, 0.2);
79                 me.TD(me, 1, 1, e = makeXonoticTextLabel(0, ZCTX(_("ZOOM^Zoom factor:"))));
80                 me.TD(me, 1, 2, e = makeXonoticSlider(2, 16, 0.5, "cl_zoomfactor"));
81         me.TR(me);
82                 //me.TDempty(me, 0.2);
83                 me.TD(me, 1, 1, e = makeXonoticTextLabel(0, ZCTX(_("ZOOM^Zoom speed:"))));
84                 me.TD(me, 1, 2, e = makeXonoticTextSlider("cl_zoomspeed"));
85                         e.addValue(e, "1", "1"); // Samual: for() loop doesn't work here, even though it would make sense.
86                         e.addValue(e, "2", "2");
87                         e.addValue(e, "3", "3");
88                         e.addValue(e, "4", "4");
89                         e.addValue(e, "5", "5");
90                         e.addValue(e, "6", "6");
91                         e.addValue(e, "7", "7");
92                         e.addValue(e, "8", "8");
93                         e.addValue(e, ZCTX(_("ZOOM^Instant")), "-1");
94                         e.configureXonoticTextSliderValues(e);
95         me.TR(me);
96                 //me.TDempty(me, 0.2);
97                 me.TD(me, 1, 1, e = makeXonoticTextLabel(0, ZCTX(_("ZOOM^Zoom sensitivity:"))));
98                 me.TD(me, 1, 2, e = makeXonoticSlider(0, 1, 0.1, "cl_zoomsensitivity"));
99         me.TR(me);
100         me.TR(me);
101                 me.TD(me, 1, 1, e = makeXonoticCheckBox(0, "cl_velocityzoom_enabled", _("Velocity zoom")));
102                 me.TD(me, 1, 2, e = makeXonoticCheckBoxEx(3, 1, "cl_velocityzoom_type", _("Forward movement only")));
103                         setDependent(e, "cl_velocityzoom_enabled", 1, 1);
104         me.TR(me);
105                 me.TDempty(me, 0.2);
106                 me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, ZCTX(_("VZOOM^Factor"))));
107                         setDependentAND(e, "cl_velocityzoom_enabled", 1, 1, "cl_velocityzoom_type", 1, 3);
108                 me.TD(me, 1, 2, e = makeXonoticSlider(-1, 1, 0.1, "cl_velocityzoom_factor"));
109                         setDependentAND(e, "cl_velocityzoom_enabled", 1, 1, "cl_velocityzoom_type", 1, 3);
110         me.TR(me);
111         me.TR(me);
112                 //me.TDempty(me, 0.2);
113                 me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "cl_reticle", _("Display reticle 2D overlay while zooming")));
114         me.TR(me);
115                 //me.TDempty(me, 0.2);
116                 me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "cl_unpress_zoom_on_death", _("Release zoom when you die or respawn")));
117                         makeMulti(e, "cl_unpress_zoom_on_spawn");
118         me.TR(me);
119                 //me.TDempty(me, 0.2);
120                 me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "cl_unpress_zoom_on_weapon_switch", _("Release zoom when you switch weapons")));
121 }
122 #endif