]> icculus.org git repositories - divverent/nexuiz.git/blob - data/qcsrc/menu-div0test/nexuiz/dialog_settings_video.c
improved dialog system; actually handle cvars; put some stuff in video dialog
[divverent/nexuiz.git] / data / qcsrc / menu-div0test / nexuiz / dialog_settings_video.c
1 #ifdef INTERFACE
2 CLASS(NexuizVideoSettingsTab) EXTENDS(NexuizTab)
3         METHOD(NexuizVideoSettingsTab, fill, void(entity))
4         ATTRIB(NexuizVideoSettingsTab, title, string, "Settings")
5         ATTRIB(NexuizVideoSettingsTab, intendedWidth, float, 0.9)
6         ATTRIB(NexuizVideoSettingsTab, rows, float, 15)
7         ATTRIB(NexuizVideoSettingsTab, columns, float, 6.5)
8 ENDCLASS(NexuizVideoSettingsTab)
9 entity makeNexuizVideoSettingsTab();
10 #endif
11
12 #ifdef IMPLEMENTATION
13 entity makeNexuizVideoSettingsTab()
14 {
15         entity me;
16         me = spawnNexuizVideoSettingsTab();
17         me.configureDialog(me);
18         return me;
19 }
20 void fillNexuizVideoSettingsTab(entity me)
21 {
22         me.TR(me);
23                 me.TD(me, 1, 1, makeNexuizTextLabel(0, "Resolution:"));
24                 me.TD(me, 1, 2, makeNexuizResolutionSlider());
25         me.TR(me);
26                 me.TD(me, 1, 1, makeNexuizTextLabel(0, "Color depth:"));
27                 me.TD(me, 1, 2, makeNexuizSlider(16, 32, 16, "vid_bitsperpixel"));
28         me.TR(me);
29                 me.TD(me, 1, 1, makeNexuizCheckBox(0, "vid_fullscreen", "Full screen"));
30                 me.TD(me, 1, 2, makeNexuizCheckBox(0, "vid_vsync", "Vertical synchronization"));
31         me.TR(me);
32         me.TR(me);
33                 me.TD(me, 1, 1, makeNexuizTextLabel(0, "Anisotropy:"));
34                 me.TD(me, 1, 0.4, makeNexuizRadioButton(1, "gl_texture_anisotropy", "1", "Off"));
35                 me.TD(me, 1, 0.4, makeNexuizRadioButton(1, "gl_texture_anisotropy", "2", "2x"));
36                 me.TD(me, 1, 0.4, makeNexuizRadioButton(1, "gl_texture_anisotropy", "4", "4x"));
37                 me.TD(me, 1, 0.4, makeNexuizRadioButton(1, "gl_texture_anisotropy", "8", "8x"));
38                 me.TD(me, 1, 0.4, makeNexuizRadioButton(1, "gl_texture_anisotropy", "16", "16x"));
39         me.TR(me);
40                 me.TD(me, 1, 1, makeNexuizTextLabel(0, "Texture quality:"));
41                 me.TD(me, 1, 2, makeNexuizPicmipSlider());
42         me.TR(me);
43                 me.TDempty(me, 0.2);
44                 me.TD(me, 1, 2.8, makeNexuizCheckBox(1, "r_picmipworld", "Reduce model texture quality only"));
45         me.TR(me);
46         me.TR(me);
47                 me.TD(me, 1, 3, makeNexuizCheckBox(0, "r_glsl", "Use OpenGL 2.0 shaders (GLSL)"));
48         me.TR(me);
49                 me.TD(me, 1, 3, makeNexuizCheckBox(0, "gl_vbo", "Use Vertex Buffer Objects (VBO)"));
50         me.TR(me);
51         me.TR(me);
52                 me.TD(me, 1, 3, makeNexuizCheckBox(0, "showfps", "Show frames per second"));
53
54         me.gotoXY(me, -1, 0);
55         me.setFirstColumn(me, 3.5);
56         me.TR(me);
57                 me.TD(me, 1, 1, makeNexuizTextLabel(0, "Brightness:"));
58                 me.TD(me, 1, 2, makeNexuizSlider(0.0, 0.5, 0.02, "v_brightness"));
59         me.TR(me);
60                 me.TD(me, 1, 1, makeNexuizTextLabel(0, "Contrast:"));
61                 me.TD(me, 1, 2, makeNexuizSlider(1.0, 3.0, 0.05, "v_contrast"));
62         me.TR(me);
63                 me.TD(me, 1, 1, makeNexuizCheckBox(0, "v_hwgamma", "HW Gamma:"));
64                 me.TD(me, 1, 2, makeNexuizSlider(0.5, 2.0, 0.05, "v_gamma"));
65         me.TR(me);
66         me.TR(me);
67                 me.TD(me, 1, 1, makeNexuizTextLabel(0, "Ambient lighting:"));
68                 me.TD(me, 1, 2, makeNexuizSlider(0, 20.0, 1.0, "r_ambient"));
69         me.TR(me);
70                 me.TD(me, 1, 1, makeNexuizTextLabel(0, "Scene brightness:"));
71                 me.TD(me, 1, 2, makeNexuizSlider(0.5, 2.0, 0.05, "r_hdr_scenebrightness"));
72         me.TR(me);
73                 me.TD(me, 1, 1, makeNexuizTextLabel(0, "Contrast boost:"));
74                 me.TD(me, 1, 2, makeNexuizSlider(1.0, 5.0, 0.1, "r_glsl_contrastboost"));
75
76         me.gotoXY(me, me.rows - 1, 0);
77                 me.TD(me, 1, me.columns, makeNexuizCommandButton("Apply immediately", '0 0 0', "vid_restart", COMMANDBUTTON_APPLY));
78 }
79 #endif