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