1 #include "dialog_settings_game_view.qh"
3 #include "textlabel.qh"
5 #include "textslider.qh"
7 #include "radiobutton.qh"
9 void XonoticGameViewSettingsTab_showNotify(entity me)
13 entity makeXonoticGameViewSettingsTab()
16 me = NEW(XonoticGameViewSettingsTab);
17 me.configureDialog(me);
21 void XonoticGameViewSettingsTab_fill(entity me)
26 me.TD(me, 1, 3, e = makeXonoticRadioButton(1, "chase_active", "0", _("1st person perspective")));
27 makeMulti(e, "crosshair_hittest_showimpact");
30 me.TD(me, 1, 2.8, e = makeXonoticCheckBox(0, "cl_eventchase_death", _("Slide to third person upon death")));
31 setDependent(e, "chase_active", -1, 0);
34 me.TD(me, 1, 2.8, e = makeXonoticCheckBoxEx(0.05, 0, "cl_bobfall", _("Smooth the view when landing from a jump")));
35 setDependent(e, "chase_active", -1, 0);
38 me.TD(me, 1, 2.8, e = makeXonoticCheckBoxEx(0.05, 0, "cl_smoothviewheight", _("Smooth the view while crouching")));
39 setDependent(e, "chase_active", -1, 0);
42 me.TD(me, 1, 2.8, e = makeXonoticCheckBoxEx(1, 0, "v_idlescale", _("View waving while idle")));
43 setDependent(e, "chase_active", -1, 0);
46 me.TD(me, 1, 2.8, e = makeXonoticCheckBoxEx_T(0.01, 0, "cl_bob", _("View bobbing while walking around"), "-"));
47 makeMulti(e, "cl_bob2");
48 setDependent(e, "chase_active", -1, 0);
51 me.TD(me, 1, 3, e = makeXonoticRadioButton(1, "chase_active", "1", _("3rd person perspective")));
52 makeMulti(e, "crosshair_hittest_showimpact");
55 me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Back distance")));
56 setDependent(e, "chase_active", 1, 1);
57 me.TD(me, 1, 2, e = makeXonoticSlider(10, 100, 1, "chase_back"));
58 setDependent(e, "chase_active", 1, 1);
61 me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Up distance")));
62 setDependent(e, "chase_active", 1, 1);
63 me.TD(me, 1, 2, e = makeXonoticSlider(10, 50, 1, "chase_up"));
64 setDependent(e, "chase_active", 1, 1);
67 me.TD(me, 1, 3, e = makeXonoticCheckBox(1, "cl_clippedspectating", _("Allow passing through walls while spectating")));
69 me.gotoRC(me, 0, 3.2); me.setFirstColumn(me, me.currentColumn);
70 me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Field of view:")));
71 me.TD(me, 1, 2, e = makeXonoticSlider_T(60, 130, 5, "fov",
72 _("Field of vision in degrees")));
75 //me.TDempty(me, 0.2);
76 me.TD(me, 1, 1, e = makeXonoticTextLabel(0, ZCTX(_("ZOOM^Zoom factor:"))));
77 me.TD(me, 1, 2, e = makeXonoticSlider_T(2, 30, 0.5, "cl_zoomfactor",
78 _("How big the zoom factor is when the zoom button is pressed")));
80 //me.TDempty(me, 0.2);
81 me.TD(me, 1, 1, e = makeXonoticTextLabel(0, ZCTX(_("ZOOM^Zoom speed:"))));
82 me.TD(me, 1, 2, e = makeXonoticTextSlider_T("cl_zoomspeed",
83 _("How fast the view will be zoomed, disable to zoom instantly")));
84 e.addValue(e, "1", "1"); // Samual: for() loop doesn't work here, even though it would make sense.
85 e.addValue(e, "2", "2");
86 e.addValue(e, "3", "3");
87 e.addValue(e, "4", "4");
88 e.addValue(e, "5", "5");
89 e.addValue(e, "6", "6");
90 e.addValue(e, "7", "7");
91 e.addValue(e, "8", "8");
92 e.addValue(e, ZCTX(_("ZOOM^Instant")), "-1");
93 e.configureXonoticTextSliderValues(e);
95 //me.TDempty(me, 0.2);
96 me.TD(me, 1, 1, e = makeXonoticTextLabel(0, ZCTX(_("ZOOM^Zoom sensitivity:"))));
97 me.TD(me, 1, 2, e = makeXonoticSlider_T(0, 1, 0.1, "cl_zoomsensitivity",
98 _("How zoom changes sensitivity, from 0 (lower sensitivity) to 1 (no sensitivity change)")));
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);
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);
112 //me.TDempty(me, 0.2);
113 me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "cl_reticle", _("Display reticle 2D overlay while zooming")));
115 //me.TDempty(me, 0.2);
116 me.TD(me, 1, 3, e = makeXonoticCheckBox_T(0, "cl_unpress_zoom_on_death", _("Release zoom when you die or respawn"), "-"));
117 makeMulti(e, "cl_unpress_zoom_on_spawn");
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")));