19 me.configureDialog(me);
25 if(
cvar(
"r_shadow_realtime_dlight"))
26 if(
cvar(
"r_shadow_realtime_dlight_shadows"))
28 if(
cvar(
"r_shadow_realtime_world"))
29 if(
cvar(
"r_shadow_realtime_world_shadows"))
38 effectsApplyButton.disableOnClick =
true;
44 e.applyButton = effectsApplyButton;
46 e.applyButton = effectsApplyButton;
48 e.applyButton = effectsApplyButton;
50 e.applyButton = effectsApplyButton;
52 e.applyButton = effectsApplyButton;
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;
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;
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;
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);
105 e.applyButton = effectsApplyButton;
108 me.TD(me, 1, 2.8, e =
makeXonoticCheckBoxEx_T(1, 0,
"r_sky", _(
"Show sky"), _(
"Disable sky for performance and visibility")));
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")));
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")));
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);
150 _(
"Enable decals (bullet holes and blood)")));
159 _(
"Decals further away than this will not be drawn")));
160 e.formatString = _(
"%s qu");
168 _(
"Time in seconds before decals fade away")));
169 e.formatString =
"s";
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);
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")));
189 _(
"Realtime light sources included in certain maps. May have a big impact on performance.")));
191 _(
"Shadows cast by realtime world lights")));
196 _(
"Directional shading of certain textures to simulate interaction of realtime light with a bumpy surface")));
204 _(
"Flare effects around certain lights")));
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")));
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")));
221 _(
"Motion blur strength - 0.4 recommended"));
223 e.applyButton = effectsApplyButton;
224 if(s.value != e.savedValue)
231 _(
"Particle effects at all spawn points and whenever a player spawns")));
232 makeMulti(e,
"cl_spawn_event_particles");
239 _(
"Multiplier for amount of particles. Less means less particles, which in turn gives for better performance")));
240 e.formatString = _(
"%sx");
247 _(
"Particles further away than this will not be drawn")));
248 e.formatString = _(
"%s qu");
251 me.gotoRC(me, me.rows - 1, 0);
252 me.TD(me, 1, me.columns, effectsApplyButton);
entity makeXonoticSliderCheckBox(float theOffValue, float isInverted, entity theControlledSlider, string theText)
var entity(vector mins, vector maxs,.entity tofield) findbox_tofield_OrFallback
float CVAR_TYPEFLAG_ENGINE
float someShadowCvarIsEnabled(entity box)
void XonoticEffectsSettingsTab_fill(entity me)
entity makeXonoticEffectsSettingsTab()
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)