]> icculus.org git repositories - divverent/nexuiz.git/blob - data/qcsrc/menu/nexuiz/slider_resolution.c
fix screen resolutions, add eeepc resolutions
[divverent/nexuiz.git] / data / qcsrc / menu / 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, 480, 800, 480);
29         me.addResolution(me, 800, 600, 800, 600);
30         me.addResolution(me, 1024, 600, 800, 468.75);
31         me.addResolution(me, 1024, 768, 800, 600);
32         me.addResolution(me, 1152, 864, 800, 600);
33         me.addResolution(me, 1280, 800, 800, 500);
34         me.addResolution(me, 1280, 960, 800, 600);
35         me.addResolution(me, 1280, 1024, 800, 640);
36         me.addResolution(me, 1440, 900, 800, 500);
37         me.addResolution(me, 1600, 900, 800, 450);
38         me.addResolution(me, 1600, 1200, 800, 600);
39         me.addResolution(me, 1680, 1050, 800, 500);
40         me.addResolution(me, 1920, 1200, 800, 500);
41         me.addResolution(me, 2048, 1536, 800, 600);
42         me.configureNexuizTextSliderValues(me);
43 }
44 void loadCvarsNexuizResolutionSlider(entity me)
45 {
46         me.setValueFromIdentifier(me, strcat(cvar_string("vid_width"), " ", cvar_string("vid_height"), " ", cvar_string("vid_conwidth"), " ", cvar_string("vid_conheight")));
47 }
48 void saveCvarsNexuizResolutionSlider(entity me)
49 {
50         if(me.value >= 0 || me.value < me.nValues)
51         {
52                 tokenize_console(me.getIdentifier(me));
53                 cvar_set("vid_width", argv(0));
54                 cvar_set("vid_height", argv(1));
55                 cvar_set("vid_conwidth", argv(2));
56                 cvar_set("vid_conheight", argv(3));
57         }
58 }
59 #endif