]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blob - qcsrc/menu/xonotic/slider_particles.c
Merge branch 'master' into TimePath/combined_updates
[xonotic/xonotic-data.pk3dir.git] / qcsrc / menu / xonotic / slider_particles.c
1 #ifdef INTERFACE
2 CLASS(XonoticParticlesSlider) EXTENDS(XonoticTextSlider)
3         METHOD(XonoticParticlesSlider, configureXonoticParticlesSlider, void(entity))
4         METHOD(XonoticParticlesSlider, loadCvars, void(entity))
5         METHOD(XonoticParticlesSlider, saveCvars, void(entity))
6 ENDCLASS(XonoticParticlesSlider)
7 entity makeXonoticParticlesSlider();
8 #endif
9
10 #ifdef IMPLEMENTATION
11 entity makeXonoticParticlesSlider()
12 {
13         entity me;
14         me = spawnXonoticParticlesSlider();
15         me.configureXonoticParticlesSlider(me);
16         return me;
17 }
18 void XonoticParticlesSlider_configureXonoticParticlesSlider(entity me)
19 {
20         me.configureXonoticTextSlider(me, "cl_particles_quality");
21         if(cvar("developer")) { me.addValue(me, ZCTX(_("PART^OMG")),      "0.4 250 0"); }
22         me.addValue(me,                         ZCTX(_("PART^Low")),      "0.4 500 0");
23         me.addValue(me,                         ZCTX(_("PART^Medium")),   "0.8 750 0");
24         me.addValue(me,                         ZCTX(_("PART^Normal")),   "1.0 1000 1");
25         me.addValue(me,                         ZCTX(_("PART^High")),     "1.0 1500 1");
26         me.addValue(me,                         ZCTX(_("PART^Ultra")),    "1.0 2000 2");
27         if(cvar("developer")) { me.addValue(me, ZCTX(_("PART^Ultimate")), "1.0 3000 2"); }
28         me.configureXonoticTextSliderValues(me);
29 }
30 void XonoticParticlesSlider_loadCvars(entity me)
31 {
32         me.setValueFromIdentifier(me, sprintf("%s %s %s",
33                 cvar_string("cl_particles_quality"),
34                 cvar_string("r_drawparticles_drawdistance"),
35                 cvar_string("cl_damageeffect")
36         ));
37 }
38 void XonoticParticlesSlider_saveCvars(entity me)
39 {
40         if(me.value >= 0 || me.value < me.nValues)
41         {
42                 tokenize_console(me.getIdentifier(me));
43                 cvar_set("cl_particles_quality", argv(0));
44                 cvar_set("r_drawparticles_drawdistance", argv(1));
45                 cvar_set("cl_damageeffect", argv(2)); 
46         }
47 }
48 #endif