2 CLASS(XonoticViewDialog) EXTENDS(XonoticDialog)
3 METHOD(XonoticViewDialog, toString, string(entity))
4 METHOD(XonoticViewDialog, fill, void(entity))
5 METHOD(XonoticViewDialog, showNotify, void(entity))
6 ATTRIB(XonoticViewDialog, title, string, _("View settings"))
7 ATTRIB(XonoticViewDialog, color, vector, SKINCOLOR_DIALOG_VIEW)
8 ATTRIB(XonoticViewDialog, intendedWidth, float, 0.9)
9 ATTRIB(XonoticViewDialog, rows, float, 11)
10 ATTRIB(XonoticViewDialog, columns, float, 6.2) // added extra .2 for center space
11 ENDCLASS(XonoticViewDialog)
15 void XonoticViewDialog_showNotify(entity me)
19 string XonoticViewDialog_toString(entity me)
21 return "hi"; // TODO: show fov and other settings with text here
23 void XonoticViewDialog_fill(entity me)
28 me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Field of view:")));
29 me.TD(me, 1, 2, e = makeXonoticSlider(60, 130, 5, "fov"));
31 me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Zoom:")));
32 me.TD(me, 1, 2, e = makeXonoticTextSlider("cl_reticle"));
33 e.addValue(e, ZCTX(_("RETICLE^Fullscreen")), "0");
34 e.addValue(e, ZCTX(_("RETICLE^With reticle")), "1");
35 e.configureXonoticTextSliderValues(e);
38 me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, ZCTX(_("ZOOM^Factor:"))));
39 me.TD(me, 1, 2, e = makeXonoticSlider(2, 16, 0.5, "cl_zoomfactor"));
42 me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, ZCTX(_("ZOOM^Speed:"))));
43 me.TD(me, 1, 2, e = makeXonoticTextSlider("cl_zoomspeed"));
44 e.addValue(e, "1", "1"); // Samual: for() loop doesn't work here, even though it would make sense.
45 e.addValue(e, "2", "2");
46 e.addValue(e, "3", "3");
47 e.addValue(e, "4", "4");
48 e.addValue(e, "5", "5");
49 e.addValue(e, "6", "6");
50 e.addValue(e, "7", "7");
51 e.addValue(e, "8", "8");
52 e.addValue(e, ZCTX(_("ZOOM^Instant")), "-1");
53 e.configureXonoticTextSliderValues(e);
56 me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, ZCTX(_("ZOOM^Sensitivity:"))));
57 me.TD(me, 1, 2, e = makeXonoticSlider(0, 1, 0.1, "cl_zoomsensitivity"));
59 me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Velocity zoom:")));
60 me.TD(me, 1, 2, e = makeXonoticTextSlider("cl_velocityzoom_type"));
61 e.addValue(e, ZCTX(_("VZOOM^Disabled")), "0");
62 e.addValue(e, ZCTX(_("VZOOM^Forward only")), "2");
63 e.addValue(e, ZCTX(_("VZOOM^All directions")), "1");
64 e.configureXonoticTextSliderValues(e);
67 me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, ZCTX(_("VZOOM^Speed"))));
68 me.TD(me, 1, 2, e = makeXonoticSlider(-1, 1, 0.2, "cl_velocityzoom"));
69 setDependent(e, "cl_velocityzoom_type", 1, 3);
72 me.TD(me, 1, 3, e = makeXonoticCheckBox(1, "cl_clippedspectating", _("Allow passing through walls while spectating")));
74 me.gotoRC(me, 0, 3.2); me.setFirstColumn(me, me.currentColumn);
75 me.TD(me, 1, 3, e = makeXonoticRadioButton(1, "chase_active", "0", _("1st person perspective")));
76 makeMulti(e, "crosshair_hittest_showimpact");
79 me.TD(me, 1, 2.8, e = makeXonoticCheckBoxEx(0.05, 0, "cl_bobfall", _("Smooth the view when landing from a jump")));
80 setDependent(e, "chase_active", -1, 0);
83 me.TD(me, 1, 2.8, e = makeXonoticCheckBoxEx(0.05, 0, "cl_smoothviewheight", _("Smooth the view while crouching")));
84 setDependent(e, "chase_active", -1, 0);
87 me.TD(me, 1, 2.8, e = makeXonoticCheckBoxEx(1, 0, "v_idlescale", _("View waving while idle")));
88 setDependent(e, "chase_active", -1, 0);
91 me.TD(me, 1, 2.8, e = makeXonoticCheckBoxEx(0.01, 0, "cl_bob", _("View bobbing while walking around")));
92 makeMulti(e, "cl_bob2");
93 setDependent(e, "chase_active", -1, 0);
96 me.TD(me, 1, 3, e = makeXonoticRadioButton(1, "chase_active", "1", _("3rd person perspective")));
97 makeMulti(e, "crosshair_hittest_showimpact");
100 me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Back distance")));
101 setDependent(e, "chase_active", 1, 1);
102 me.TD(me, 1, 2, e = makeXonoticSlider(10, 100, 1, "chase_back"));
103 setDependent(e, "chase_active", 1, 1);
106 me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Up distance")));
107 setDependent(e, "chase_active", 1, 1);
108 me.TD(me, 1, 2, e = makeXonoticSlider(10, 50, 1, "chase_up"));
109 setDependent(e, "chase_active", 1, 1);
112 me.gotoRC(me, me.rows - 1, 0);
113 me.TD(me, 1, me.columns, e = makeXonoticButton(_("OK"), '0 0 0'));
114 e.onClick = Dialog_Close;
115 e.onClickEntity = me;