36{
39 effectsApplyButton.disableOnClick = true;
40 float n;
41 me.TR(me);
43 n = 5;
45 e.applyButton = effectsApplyButton;
47 e.applyButton = effectsApplyButton;
49 e.applyButton = effectsApplyButton;
51 e.applyButton = effectsApplyButton;
53 e.applyButton = effectsApplyButton;
54
55 me.gotoRC(me, 1.25, 0);
58 _("Change the smoothness of the curves on the map")));
59 e.addText(e,
ZCTX(_(
"DET^Lowest")), 16);
60 e.addText(e,
ZCTX(_(
"DET^Low")), 8);
61 e.addText(e,
ZCTX(_(
"DET^Normal")), 4);
62 e.addText(e,
ZCTX(_(
"DET^Good")), 3);
63 e.addText(e,
ZCTX(_(
"DET^Best")), 2);
64 e.addText(e,
ZCTX(_(
"DET^Insane")), 1);
65 e.configureXonoticMixedSliderValues(e);
66 e.applyButton = effectsApplyButton;
67 me.TR(me);
70 e.addText(e,
ZCTX(_(
"PDET^Low")), 4);
71 e.addText(e,
ZCTX(_(
"PDET^Medium")), 3);
72 e.addText(e,
ZCTX(_(
"PDET^Normal")), 2);
73 e.addText(e,
ZCTX(_(
"PDET^Good")), 1);
74 e.addText(e,
ZCTX(_(
"PDET^Best")), 0);
75 e.configureXonoticMixedSliderValues(e);
76 e.applyButton = effectsApplyButton;
77 me.TR(me);
81 e.addText(e,
ZCTX(_(
"RES^Lowest")), 1337);
82 e.addText(e,
ZCTX(_(
"RES^Very low")), 2);
83 e.addText(e,
ZCTX(_(
"RES^Low")), 1);
84 e.addText(e,
ZCTX(_(
"RES^Normal")), 0);
85 e.addText(e,
ZCTX(_(
"RES^Good")), -1);
86 e.addText(e,
ZCTX(_(
"RES^Best")), -2);
87 e.configureXonoticMixedSliderValues(e);
89 e.applyButton = effectsApplyButton;
91 me.TR(me);
93 if (can_dds)
95 else
96 e.disabled = true;
98 e.addText(e,
ZCTX(_(
"TCOMP^Fast")), 1);
99 e.addText(e,
ZCTX(_(
"TCOMP^Good")), 2);
100 e.addText(e,
ZCTX(_(
"TCOMP^None")), 0);
101 e.configureXonoticMixedSliderValues(e);
102 if (can_dds)
104 else
105 e.disabled = true;
106 e.applyButton = effectsApplyButton;
107 me.TR(me);
108 me.TDempty(me, 0.2);
109 me.TD(me, 1, 1, e =
makeXonoticCheckBoxEx_T(1, 0,
"r_sky", _(
"Show sky"), _(
"Disable sky for performance and visibility")));
110 me.TR(me);
112 _("Use high resolution lightmaps, which will look pretty but use up some extra video memory")));
113 e.applyButton = effectsApplyButton;
115 _("Use per-pixel lighting effects")));
120 _("Enable the use of glossmaps on textures supporting it")));
125 me.TR(me);
127 _("Offset mapping effect that will make textures with bumpmaps appear like they \"pop out\" of the flat 2D surface")));
130 me.TD(me, 1, 1, e =
makeXonoticCheckBox_T(0,
"r_glsl_offsetmapping_reliefmapping", _(
"Relief mapping"),
131 _("Higher quality offset mapping, which also has a huge impact on performance")));
135 me.TR(me);
137 _("Reflection and refraction quality, has a huge impact on performance on maps with reflecting surfaces")));
141 _("Resolution of reflections/refractions")));
142 e.addText(e, _("Blurred"), 0.25);
143 e.addText(e,
ZCTX(_(
"REFL^Good")), 0.5);
144 e.addText(e, _("Sharp"), 1);
145 e.configureXonoticMixedSliderValues(e);
149 me.TR(me);
151 _("Enable decals (bullet holes and blood)")));
154 me.TR(me);
155 me.TDempty(me, 0.2);
160 _("Decals further away than this will not be drawn")));
161 e.formatString = _("%s qu");
164 me.TR(me);
165 me.TDempty(me, 0.2);
169 _("Time in seconds before decals fade away")));
170 e.formatString = "s";
172 me.TR(me);
173 me.TDempty(me, 0.2);
176 e.addText(e,
ZCTX(_(
"DMGFX^Disabled")), 0);
177 e.addText(e, _("Skeletal"), 1);
178 e.addText(e,
ZCTX(_(
"DMGFX^All")), 2);
179 e.configureXonoticMixedSliderValues(e);
180
181 me.gotoRC(me, 1.25, 3.2); me.setFirstColumn(me, me.currentColumn);
182 me.TD(me, 1, 2, e =
makeXonoticCheckBox_T(0,
"r_shadow_realtime_dlight", _(
"Realtime dynamic lights"),
183 _("Temporary realtime light sources such as explosions, rockets and powerups")));
186 _("Shadows cast by realtime dynamic lights")));
188 me.TR(me);
190 _("Realtime light sources included in certain maps. May have a big impact on performance.")));
192 _("Shadows cast by realtime world lights")));
194 me.TR(me);
195 me.TDempty(me, 0.2);
197 _("Directional shading of certain textures to simulate interaction of realtime light with a bumpy surface")));
202 me.TR(me);
205 _("Flare effects around certain lights")));
206 me.TR(me);
207 me.TDempty(me, 0.2);
208 me.TD(me, 1, 2.8, e =
makeXonoticCheckBox_T(0,
"r_coronas_occlusionquery", _(
"Fade coronas according to visibility"),
209 _("Corona fading using occlusion queries")));
211 me.TR(me);
212 me.TR(me);
214 _("Enable bloom effect, which brightens the neighboring pixels of very bright pixels. Has a big impact on performance.")));
215 me.TD(me, 1, 2, e =
makeXonoticCheckBoxEx_T(0.5, 0,
"hud_postprocessing_maxbluralpha", _(
"Extra postprocessing effects"),
216 _("Enables special postprocessing effects for when damaged or under water or using a powerup")));
220 me.TR(me);
222 _("Motion blur strength - 0.4 recommended"));
224 e.applyButton = effectsApplyButton;
225 if(s.value != e.savedValue)
226 e.savedValue = 0.4;
227 me.TD(me, 1, 2, s);
228 me.TR(me);
229 me.TR(me);
232 _("Particle effects at all spawn points and whenever a player spawns")));
233 makeMulti(e,
"cl_spawn_event_particles");
235 me.TR(me);
236 me.TDempty(me, 0.2);
240 _("Multiplier for amount of particles. Less means less particles, which in turn gives for better performance")));
241 e.formatString = _("%sx");
243 me.TR(me);
244 me.TDempty(me, 0.2);
248 _("Particles further away than this will not be drawn")));
249 e.formatString = _("%s qu");
251
252 me.gotoRC(me, me.rows - 1, 0);
253 me.TD(me, 1, me.columns, effectsApplyButton);
254}
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)