]> icculus.org git repositories - divverent/nexuiz.git/blob - data/qcsrc/menu-div0test/nexuiz/slider_resolution.c
-scmenu; make mapinfo default
[divverent/nexuiz.git] / data / qcsrc / menu-div0test / nexuiz / slider_resolution.c
1 #ifdef INTERFACE
2 CLASS(NexuizResolutionSlider) EXTENDS(NexuizTextSlider)
3         METHOD(NexuizResolutionSlider, configureNexuizResolutionSlider, void(entity))
4         METHOD(NexuizResolutionSlider, addResolution, void(entity, float, float, float, float))
5         METHOD(NexuizResolutionSlider, loadCvars, void(entity))
6         METHOD(NexuizResolutionSlider, saveCvars, void(entity))
7 ENDCLASS(NexuizResolutionSlider)
8 entity makeNexuizResolutionSlider();
9 #endif
10
11 #ifdef IMPLEMENTATION
12 entity makeNexuizResolutionSlider()
13 {
14         entity me;
15         me = spawnNexuizResolutionSlider();
16         me.configureNexuizResolutionSlider(me);
17         return me;
18 }
19 void addResolutionNexuizResolutionSlider(entity me, float w, float h, float cw, float ch)
20 {
21         me.addValue(me, strzone(strcat(ftos(w), "x", ftos(h))), strzone(strcat(ftos(w), " ", ftos(h), " ", ftos(cw), " ", ftos(ch))));
22         // FIXME (in case you ever want to dynamically instantiate this): THIS IS NEVER FREED
23 }
24 void configureNexuizResolutionSliderNexuizResolutionSlider(entity me)
25 {
26         me.configureNexuizTextSlider(me, "vid_width");
27         me.addResolution(me, 640, 480, 640, 480);
28         me.addResolution(me, 800, 600, 800, 600);
29         me.addResolution(me, 1024, 768, 800, 600);
30         me.addResolution(me, 1152, 864, 800, 600);
31         me.addResolution(me, 1280, 800, 800, 600);
32         me.addResolution(me, 1280, 960, 800, 600);
33         me.addResolution(me, 1280, 1024, 800, 600);
34         me.addResolution(me, 1440, 900, 800, 600);
35         me.addResolution(me, 1600, 900, 800, 600);
36         me.addResolution(me, 1600, 1200, 800, 600);
37         me.addResolution(me, 1680, 1050, 800, 600);
38         me.addResolution(me, 1920, 1200, 800, 600);
39         me.addResolution(me, 2048, 1536, 800, 600);
40         me.configureNexuizTextSliderValues(me);
41 }
42 void loadCvarsNexuizResolutionSlider(entity me)
43 {
44         me.setValueFromIdentifier(me, strcat(cvar_string("vid_width"), " ", cvar_string("vid_height"), " ", cvar_string("vid_conwidth"), " ", cvar_string("vid_conheight")));
45 }
46 void saveCvarsNexuizResolutionSlider(entity me)
47 {
48         if(me.value >= 0 || me.value < me.nValues)
49         {
50                 tokenize(me.getIdentifier(me));
51                 cvar_set("vid_width", argv(0));
52                 cvar_set("vid_height", argv(1));
53                 cvar_set("vid_conwidth", argv(2));
54                 cvar_set("vid_conheight", argv(3));
55         }
56 }
57 #endif