35{
38 effectsApplyButton.disableOnClick = true;
39 float n;
40 me.TR(me);
42 n = 5;
44 e.applyButton = effectsApplyButton;
46 e.applyButton = effectsApplyButton;
48 e.applyButton = effectsApplyButton;
50 e.applyButton = effectsApplyButton;
52 e.applyButton = effectsApplyButton;
53
54 me.gotoRC(me, 1.25, 0);
57 _("Change the smoothness of the curves on the map")));
58 e.addText(e,
ZCTX(_(
"DET^Lowest")), 16);
59 e.addText(e,
ZCTX(_(
"DET^Low")), 8);
60 e.addText(e,
ZCTX(_(
"DET^Normal")), 4);
61 e.addText(e,
ZCTX(_(
"DET^Good")), 3);
62 e.addText(e,
ZCTX(_(
"DET^Best")), 2);
63 e.addText(e,
ZCTX(_(
"DET^Insane")), 1);
64 e.configureXonoticMixedSliderValues(e);
65 e.applyButton = effectsApplyButton;
66 me.TR(me);
69 e.addText(e,
ZCTX(_(
"PDET^Low")), 4);
70 e.addText(e,
ZCTX(_(
"PDET^Medium")), 3);
71 e.addText(e,
ZCTX(_(
"PDET^Normal")), 2);
72 e.addText(e,
ZCTX(_(
"PDET^Good")), 1);
73 e.addText(e,
ZCTX(_(
"PDET^Best")), 0);
74 e.configureXonoticMixedSliderValues(e);
75 e.applyButton = effectsApplyButton;
76 me.TR(me);
80 e.addText(e,
ZCTX(_(
"RES^Lowest")), 1337);
81 e.addText(e,
ZCTX(_(
"RES^Very low")), 2);
82 e.addText(e,
ZCTX(_(
"RES^Low")), 1);
83 e.addText(e,
ZCTX(_(
"RES^Normal")), 0);
84 e.addText(e,
ZCTX(_(
"RES^Good")), -1);
85 e.addText(e,
ZCTX(_(
"RES^Best")), -2);
86 e.configureXonoticMixedSliderValues(e);
88 e.applyButton = effectsApplyButton;
90 me.TR(me);
92 if (can_dds)
94 else
95 e.disabled = true;
97 e.addText(e,
ZCTX(_(
"TCOMP^Fast")), 1);
98 e.addText(e,
ZCTX(_(
"TCOMP^Good")), 2);
99 e.addText(e,
ZCTX(_(
"TCOMP^None")), 0);
100 e.configureXonoticMixedSliderValues(e);
101 if (can_dds)
103 else
104 e.disabled = true;
105 e.applyButton = effectsApplyButton;
106 me.TR(me);
107 me.TDempty(me, 0.2);
108 me.TD(me, 1, 2.8, e =
makeXonoticCheckBoxEx_T(1, 0,
"r_sky", _(
"Show sky"), _(
"Disable sky for performance and visibility")));
109 me.TR(me);
111 _("Use high resolution lightmaps, which will look pretty but use up some extra video memory")));
112 e.applyButton = effectsApplyButton;
114 _("Use per-pixel lighting effects")));
119 _("Enable the use of glossmaps on textures supporting it")));
124 me.TR(me);
126 _("Offset mapping effect that will make textures with bumpmaps appear like they \"pop out\" of the flat 2D surface")));
129 me.TD(me, 1, 2, e =
makeXonoticCheckBox_T(0,
"r_glsl_offsetmapping_reliefmapping", _(
"Relief mapping"),
130 _("Higher quality offset mapping, which also has a huge impact on performance")));
134 me.TR(me);
136 _("Reflection and refraction quality, has a huge impact on performance on maps with reflecting surfaces")));
140 _("Resolution of reflections/refractions")));
141 e.addText(e, _("Blurred"), 0.25);
142 e.addText(e,
ZCTX(_(
"REFL^Good")), 0.5);
143 e.addText(e, _("Sharp"), 1);
144 e.configureXonoticMixedSliderValues(e);
148 me.TR(me);
150 _("Enable decals (bullet holes and blood)")));
153 me.TR(me);
154 me.TDempty(me, 0.2);
159 _("Decals further away than this will not be drawn")));
160 e.formatString = _("%s qu");
163 me.TR(me);
164 me.TDempty(me, 0.2);
168 _("Time in seconds before decals fade away")));
169 e.formatString = "s";
171 me.TR(me);
172 me.TDempty(me, 0.2);
175 e.addText(e,
ZCTX(_(
"DMGFX^Disabled")), 0);
176 e.addText(e, _("Skeletal"), 1);
177 e.addText(e,
ZCTX(_(
"DMGFX^All")), 2);
178 e.configureXonoticMixedSliderValues(e);
179
180 me.gotoRC(me, 1.25, 3.2); me.setFirstColumn(me, me.currentColumn);
181 me.TD(me, 1, 2, e =
makeXonoticCheckBox_T(0,
"r_shadow_realtime_dlight", _(
"Realtime dynamic lights"),
182 _("Temporary realtime light sources such as explosions, rockets and powerups")));
185 _("Shadows cast by realtime dynamic lights")));
187 me.TR(me);
189 _("Realtime light sources included in certain maps. May have a big impact on performance.")));
191 _("Shadows cast by realtime world lights")));
193 me.TR(me);
194 me.TDempty(me, 0.2);
196 _("Directional shading of certain textures to simulate interaction of realtime light with a bumpy surface")));
201 me.TR(me);
204 _("Flare effects around certain lights")));
205 me.TR(me);
206 me.TDempty(me, 0.2);
207 me.TD(me, 1, 2.8, e =
makeXonoticCheckBox_T(0,
"r_coronas_occlusionquery", _(
"Fade coronas according to visibility"),
208 _("Corona fading using occlusion queries")));
210 me.TR(me);
211 me.TR(me);
213 _("Enable bloom effect, which brightens the neighboring pixels of very bright pixels. Has a big impact on performance.")));
214 me.TD(me, 1, 2, e =
makeXonoticCheckBoxEx_T(0.5, 0,
"hud_postprocessing_maxbluralpha", _(
"Extra postprocessing effects"),
215 _("Enables special postprocessing effects for when damaged or under water or using a powerup")));
219 me.TR(me);
221 _("Motion blur strength - 0.4 recommended"));
223 e.applyButton = effectsApplyButton;
224 if(s.value != e.savedValue)
225 e.savedValue = 0.4;
226 me.TD(me, 1, 2, s);
227 me.TR(me);
228 me.TR(me);
231 _("Particle effects at all spawn points and whenever a player spawns")));
232 makeMulti(e,
"cl_spawn_event_particles");
234 me.TR(me);
235 me.TDempty(me, 0.2);
239 _("Multiplier for amount of particles. Less means less particles, which in turn gives for better performance")));
240 e.formatString = _("%sx");
242 me.TR(me);
243 me.TDempty(me, 0.2);
247 _("Particles further away than this will not be drawn")));
248 e.formatString = _("%s qu");
250
251 me.gotoRC(me, me.rows - 1, 0);
252 me.TD(me, 1, me.columns, effectsApplyButton);
253}
entity makeXonoticSliderCheckBox(float theOffValue, float isInverted, entity theControlledSlider, string theText)
float CVAR_TYPEFLAG_ENGINE
float someShadowCvarIsEnabled(entity box)
entity makeXonoticPicmipSlider()
entity makeXonoticTextLabel(float theAlign, string theText)
entity makeXonoticCheckBox_T(float isInverted, string theCvar, string theText, string theTooltip)
entity makeXonoticCheckBoxEx_T(float theYesValue, float theNoValue, string theCvar, string theText, string theTooltip)
entity makeXonoticCheckBox(float isInverted, string theCvar, string theText)
entity makeXonoticMixedSlider(string theCvar)
entity makeXonoticMixedSlider_T(string theCvar, string theTooltip)
entity makeXonoticSlider_T(float theValueMin, float theValueMax, float theValueStep, string theCvar, string theTooltip)