]> icculus.org git repositories - divverent/nexuiz.git/blob - data/qcsrc/menu/nexuiz/dialog_settings_video.c
try working around fteqcc -r3178 bug
[divverent/nexuiz.git] / data / qcsrc / menu / nexuiz / dialog_settings_video.c
1 #ifdef INTERFACE
2 CLASS(NexuizVideoSettingsTab) EXTENDS(NexuizTab)
3         METHOD(NexuizVideoSettingsTab, fill, void(entity))
4         ATTRIB(NexuizVideoSettingsTab, title, string, "Video")
5         ATTRIB(NexuizVideoSettingsTab, intendedWidth, float, 0.9)
6         ATTRIB(NexuizVideoSettingsTab, rows, float, 17)
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         entity e;
23
24         me.TR(me);
25                 me.TD(me, 1, 1, e = makeNexuizTextLabel(0, "Resolution:"));
26                 me.TD(me, 1, 2, e = makeNexuizResolutionSlider());
27         me.TR(me);
28                 me.TD(me, 1, 1, e = makeNexuizTextLabel(0, "Color depth:"));
29                 me.TD(me, 1, 2, e = makeNexuizSlider(16, 32, 16, "vid_bitsperpixel"));
30         me.TR(me);
31                 me.TD(me, 1, 1, e = makeNexuizCheckBox(0, "vid_fullscreen", "Full screen"));
32                 me.TD(me, 1, 2, e = makeNexuizCheckBox(0, "vid_vsync", "Vertical synchronization"));
33
34         me.TR(me);
35
36         me.TR(me);
37                 me.TD(me, 1, 3, e = makeNexuizCheckBox(0, "r_glsl", "Use OpenGL 2.0 shaders (GLSL)"));
38         me.TR(me);
39                 me.TD(me, 1, 3, e = makeNexuizCheckBox(0, "r_coronas_occlusionquery", "Use occlusion queries"));
40         me.TR(me);
41         me.TR(me);
42                 me.TD(me, 1, 3, e = makeNexuizTextLabel(0, "Vertex Buffer Objects (VBOs)"));
43         me.TR(me);
44                 me.TDempty(me, 0.2);
45                 me.TD(me, 1, 0.9, e = makeNexuizRadioButton(1, "gl_vbo", "0", "Off"));
46                 me.TD(me, 1, 2.1, e = makeNexuizRadioButton(1, "gl_vbo", "1", "Vertex and Triangles"));
47         me.TR(me);
48                 me.TDempty(me, 0.2);
49                 me.TD(me, 1, 0.9, e = makeNexuizRadioButton(1, "gl_vbo", "2", "Vertex only"));
50                 me.TD(me, 1, 2.1, e = makeNexuizRadioButton(1, "gl_vbo", "3", "Vertex, some Triangles (compatible)"));
51         me.TR(me);
52                 me.TD(me, 1, 1, e = makeNexuizTextLabel(0, "Depth first:"));
53                 me.TD(me, 1, 2, e = makeNexuizTextSlider("r_depthfirst"));
54                         e.addValue(e, "Disabled", "0");
55                         e.addValue(e, "World", "1");
56                         e.addValue(e, "All", "2");
57                         e.configureNexuizTextSliderValues(e);
58         me.TR(me);
59         me.TR(me);
60                 me.TD(me, 1, 1.5, e = makeNexuizTextLabel(0, "Texture compression"));
61                 me.TD(me, 1, 0.5, e = makeNexuizRadioButton(2, "gl_texturecompression", "0", "None"));
62                 me.TD(me, 1, 0.5, e = makeNexuizRadioButton(2, "gl_texturecompression", "1", "Fast"));
63                 me.TD(me, 1, 0.5, e = makeNexuizRadioButton(2, "gl_texturecompression", "2", "Good"));
64         me.TR(me);
65                 if(cvar_type("apple_multithreadedgl") & CVAR_TYPEFLAG_ENGINE)
66                         me.TD(me, 1, 3, e = makeNexuizCheckBox(1, "apple_multithreadedgl", "Disable multithreaded OpenGL"));
67         me.TR(me);
68                 me.TD(me, 1, 3, e = makeNexuizCheckBox(0, "gl_finish", "Wait for GPU to finish each frame"));
69
70         me.gotoRC(me, 0, 3.5); me.setFirstColumn(me, me.currentColumn);
71                 me.TD(me, 1, 1, e = makeNexuizTextLabel(0, "Brightness:"));
72                 me.TD(me, 1, 2, e = makeNexuizSlider(0.0, 0.5, 0.02, "v_brightness"));
73         me.TR(me);
74                 me.TD(me, 1, 1, e = makeNexuizTextLabel(0, "Contrast:"));
75                 me.TD(me, 1, 2, e = makeNexuizSlider(1.0, 3.0, 0.05, "v_contrast"));
76         me.TR(me);
77                 me.TD(me, 1, 1, e = makeNexuizTextLabel(0, "Gamma:"));
78                 me.TD(me, 1, 2, e = makeNexuizSlider(0.5, 2.0, 0.05, "v_gamma"));
79         me.TR(me);
80                 me.TD(me, 1, 1, e = makeNexuizTextLabel(0, "Contrast boost:"));
81                 me.TD(me, 1, 2, e = makeNexuizSlider(1.0, 5.0, 0.1, "v_contrastboost"));
82         me.TR(me);
83                 me.TD(me, 1, 3, e = makeNexuizCheckBox(0, "v_glslgamma", "Use GLSL to handle color control"));
84                         setDependent(e, "r_glsl", 1, 1);
85         me.TR(me);
86         me.TR(me);
87                 me.TD(me, 1, 1, e = makeNexuizTextLabel(0, "Ambient:"));
88                 me.TD(me, 1, 2, e = makeNexuizSlider(0, 20.0, 1.0, "r_ambient"));
89         me.TR(me);
90                 me.TD(me, 1, 1, e = makeNexuizTextLabel(0, "Intensity:"));
91                 me.TD(me, 1, 2, e = makeNexuizSlider(0.5, 2.0, 0.05, "r_hdr_scenebrightness"));
92         me.TR(me);
93         me.TR(me);
94                 me.TD(me, 1, 3, e = makeNexuizCheckBoxEx(4, 1, "vid_samples", "Use 4x multisampling"));
95         me.TR(me);
96         me.TR(me);
97                 me.TD(me, 1, 3, e = makeNexuizCheckBox(0, "v_flipped", "Left handed mode"));
98         me.TR(me);
99
100         me.gotoRC(me, me.rows - 1, 0);
101                 me.TD(me, 1, me.columns, makeNexuizCommandButton("Apply immediately", '0 0 0', "vid_restart", COMMANDBUTTON_APPLY));
102 }
103 #endif