From: Samual Lenks <samual@xonotic.org>
Date: Sun, 13 Oct 2013 05:26:42 +0000 (-0400)
Subject: New slider/handling for particle effects settings
X-Git-Tag: xonotic-v0.8.0~139^2~1^2~143
X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=48cf7e26c388b345f4fde76bebdd3e31ea770e72;p=xonotic%2Fxonotic-data.pk3dir.git

New slider/handling for particle effects settings
---

diff --git a/effects-high.cfg b/effects-high.cfg
index 979c8b1740..b0178fa8f7 100644
--- a/effects-high.cfg
+++ b/effects-high.cfg
@@ -1,7 +1,8 @@
 cl_decals 1
 cl_decals_models 0
 cl_decals_time 4
-cl_particles_quality 1
+cl_particles 1
+cl_particles_quality 1.0
 cl_damageeffect 1
 cl_spawn_point_particles 1
 cl_playerdetailreduction 0.5
@@ -15,7 +16,7 @@ hud_postprocessing_maxbluralpha 0.5
 hud_powerup 0
 r_depthfirst 2
 r_drawdecals_drawdistance 500
-r_drawparticles_drawdistance 2000
+r_drawparticles_drawdistance 1500
 r_glsl_deluxemapping 1
 r_glsl_offsetmapping 0
 r_glsl_offsetmapping_reliefmapping 0
diff --git a/effects-low.cfg b/effects-low.cfg
index 8d6e72a4d0..dd0b607098 100644
--- a/effects-low.cfg
+++ b/effects-low.cfg
@@ -1,6 +1,7 @@
 cl_decals 1
 cl_decals_models 0
 cl_decals_time 2
+cl_particles 1
 cl_particles_quality 0.4
 cl_damageeffect 0
 cl_spawn_point_particles 0
diff --git a/effects-med.cfg b/effects-med.cfg
index 1611943c64..bc08dadc1c 100644
--- a/effects-med.cfg
+++ b/effects-med.cfg
@@ -1,7 +1,8 @@
 cl_decals 1
 cl_decals_models 0
 cl_decals_time 2
-cl_particles_quality 1
+cl_particles 1
+cl_particles_quality 0.8
 cl_damageeffect 0
 cl_spawn_point_particles 0
 cl_playerdetailreduction 1
@@ -15,7 +16,7 @@ hud_postprocessing_maxbluralpha 0
 hud_powerup 0
 r_depthfirst 0
 r_drawdecals_drawdistance 300
-r_drawparticles_drawdistance 1000
+r_drawparticles_drawdistance 750
 r_glsl_deluxemapping 0
 r_glsl_offsetmapping 0
 r_glsl_offsetmapping_reliefmapping 0
diff --git a/effects-normal.cfg b/effects-normal.cfg
index 064af65500..06b62edf2e 100644
--- a/effects-normal.cfg
+++ b/effects-normal.cfg
@@ -1,7 +1,8 @@
 cl_decals 1
 cl_decals_models 0
 cl_decals_time 2
-cl_particles_quality 1
+cl_particles 1
+cl_particles_quality 1.0
 cl_damageeffect 1
 cl_spawn_point_particles 1
 cl_playerdetailreduction 1
diff --git a/effects-omg.cfg b/effects-omg.cfg
index 9ede9c7d72..eb1ae56f9e 100644
--- a/effects-omg.cfg
+++ b/effects-omg.cfg
@@ -1,6 +1,7 @@
 cl_decals 0
 cl_decals_models 0
 cl_decals_time 2
+cl_particles 1
 cl_particles_quality 0.4
 cl_damageeffect 0
 cl_spawn_point_particles 0
diff --git a/effects-ultimate.cfg b/effects-ultimate.cfg
index 92539b9b76..d92cefe32e 100644
--- a/effects-ultimate.cfg
+++ b/effects-ultimate.cfg
@@ -1,7 +1,8 @@
 cl_decals 1
 cl_decals_models 1
 cl_decals_time 10
-cl_particles_quality 1
+cl_particles 1
+cl_particles_quality 1.0
 cl_damageeffect 2
 cl_spawn_point_particles 1
 cl_playerdetailreduction 0
@@ -15,7 +16,7 @@ hud_postprocessing_maxbluralpha 0.5
 hud_powerup 0.5
 r_depthfirst 2
 r_drawdecals_drawdistance 500
-r_drawparticles_drawdistance 2000
+r_drawparticles_drawdistance 3000
 r_glsl_deluxemapping 1
 r_glsl_offsetmapping 1
 r_glsl_offsetmapping_reliefmapping 1
diff --git a/effects-ultra.cfg b/effects-ultra.cfg
index 63cfc63ea9..8da513bd0f 100644
--- a/effects-ultra.cfg
+++ b/effects-ultra.cfg
@@ -1,8 +1,9 @@
 cl_decals 1
 cl_decals_models 0
 cl_decals_time 10
-cl_particles_quality 1
-cl_damageeffect 1
+cl_particles 1
+cl_particles_quality 1.0
+cl_damageeffect 2
 cl_spawn_point_particles 1
 cl_playerdetailreduction 0
 gl_flashblend 0
diff --git a/qcsrc/menu/classes.c b/qcsrc/menu/classes.c
index f5fcfeda59..6bfdfb1c44 100644
--- a/qcsrc/menu/classes.c
+++ b/qcsrc/menu/classes.c
@@ -118,3 +118,4 @@
 #include "xonotic/slider_picmip.c"
 #include "xonotic/dialog_settings_game_notification.c"
 #include "xonotic/dialog_multiplayer_media_demo_democonfirm.c"
+#include "xonotic/slider_particles.c"
diff --git a/qcsrc/menu/xonotic/dialog_settings_effects.c b/qcsrc/menu/xonotic/dialog_settings_effects.c
index bea650eba4..0d2c219135 100644
--- a/qcsrc/menu/xonotic/dialog_settings_effects.c
+++ b/qcsrc/menu/xonotic/dialog_settings_effects.c
@@ -126,21 +126,21 @@ void XonoticEffectsSettingsTab_fill(entity me)
 			setDependentAND(e, "vid_gl20", 1, 1, "r_water", 1, 1);
 	me.TR(me);
 	me.TR(me);
-		me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Particles quality:")));
-		me.TD(me, 1, 2, e = makeXonoticSlider(0.2, 1.0, 0.1, "cl_particles_quality"));
-	me.TR(me);
-		me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Particles distance:")));
-		me.TD(me, 1, 2, e = makeXonoticSlider(500, 2000, 100, "r_drawparticles_drawdistance"));
+		me.TD(me, 1, 1, e = makeXonoticCheckBox(0, "cl_decals", _("Decals")));
+		me.TD(me, 1, 2, e = makeXonoticCheckBox(0, "cl_decals_models", _("Decals on models")));
+			setDependent(e, "cl_decals", 1, 1);
 	me.TR(me);
-	me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Damage effects:")));
-		me.TD(me, 1, 2, e = makeXonoticTextSlider("cl_damageeffect"));
-			e.addValue(e, ZCTX(_("DMGPRTCLS^Disabled")), "0");
-			e.addValue(e, ZCTX(_("DMGPRTCLS^Skeletal")), "1");
-			e.addValue(e, ZCTX(_("DMGPRTCLS^All")), "2");
-			e.configureXonoticTextSliderValues(e);
+		me.TDempty(me, 0.2);
+		me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Distance:")));
+			setDependent(e, "cl_decals", 1, 1);
+		me.TD(me, 1, 2, e = makeXonoticSlider(200, 500, 20, "r_drawdecals_drawdistance"));
+			setDependent(e, "cl_decals", 1, 1);
 	me.TR(me);
-		me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "cl_spawn_point_particles", _("Particle effects for spawnpoints")));
-		makeMulti(e, "cl_spawn_event_particles");
+		me.TDempty(me, 0.2);
+	    me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Time:")));
+	        setDependent(e, "cl_decals", 1, 1);
+	    me.TD(me, 1, 2, e = makeXonoticSlider(1, 20, 1, "cl_decals_time"));
+	        setDependent(e, "cl_decals", 1, 1);
 
 	me.gotoRC(me, 2, 3.2); me.setFirstColumn(me, me.currentColumn);
 		me.TD(me, 1, 3, e = makeXonoticRadioButton(1, "r_coronas", "0", _("No dynamic lighting")));
@@ -180,22 +180,17 @@ void XonoticEffectsSettingsTab_fill(entity me)
 		me.TD(me, 1, 2, s);
 	me.TR(me);
 	me.TR(me);
-		me.TD(me, 1, 1, e = makeXonoticCheckBox(0, "cl_decals", _("Decals")));
-		me.TD(me, 1, 2, e = makeXonoticCheckBox(0, "cl_decals_models", _("Decals on models")));
-			setDependent(e, "cl_decals", 1, 1);
-	me.TR(me);
-		me.TDempty(me, 0.2);
-		me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Distance:")));
-			setDependent(e, "cl_decals", 1, 1);
-		me.TD(me, 1, 2, e = makeXonoticSlider(200, 500, 20, "r_drawdecals_drawdistance"));
-			setDependent(e, "cl_decals", 1, 1);
+		me.TD(me, 1, 1, e = makeXonoticCheckBox(0, "cl_particles", _("Particles")));
+		me.TD(me, 1, 2, e = makeXonoticCheckBox(0, "cl_spawn_point_particles", _("Spawnpoint effects")));
+			makeMulti(e, "cl_spawn_event_particles");
+			setDependent(e, "cl_particles", 1, 1);
 	me.TR(me);
 		me.TDempty(me, 0.2);
-	    me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Time:")));
-	        setDependent(e, "cl_decals", 1, 1);
-	    me.TD(me, 1, 2, e = makeXonoticSlider(1, 20, 1, "cl_decals_time"));
-	        setDependent(e, "cl_decals", 1, 1);
-			
+		me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Quality:")));
+			setDependent(e, "cl_particles", 1, 1);
+		me.TD(me, 1, 2, e = makeXonoticParticlesSlider());
+			setDependent(e, "cl_particles", 1, 1);
+
 	me.gotoRC(me, me.rows - 1, 0);
 		me.TD(me, 1, me.columns, makeXonoticCommandButton(_("Apply immediately"), '0 0 0', "vid_restart", COMMANDBUTTON_APPLY));
 }