]> de.git.xonotic.org Git - voretournament/voretournament.git/blob - data/qcsrc/menu/voret/dialog_settings_video.c
Initial checkout of Vore Tournament 0.1.alpha.
[voretournament/voretournament.git] / data / qcsrc / menu / voret / dialog_settings_video.c
1 #ifdef INTERFACE\r
2 CLASS(VoretVideoSettingsTab) EXTENDS(VoretTab)\r
3         METHOD(VoretVideoSettingsTab, fill, void(entity))\r
4         ATTRIB(VoretVideoSettingsTab, title, string, "Video")\r
5         ATTRIB(VoretVideoSettingsTab, intendedWidth, float, 0.9)\r
6         ATTRIB(VoretVideoSettingsTab, rows, float, 17)\r
7         ATTRIB(VoretVideoSettingsTab, columns, float, 6.5)\r
8         ATTRIB(VoretVideoSettingsTab, name, string, "videosettings")\r
9 ENDCLASS(VoretVideoSettingsTab)\r
10 entity makeVoretVideoSettingsTab();\r
11 #endif\r
12 \r
13 #ifdef IMPLEMENTATION\r
14 entity makeVoretVideoSettingsTab()\r
15 {\r
16         entity me;\r
17         me = spawnVoretVideoSettingsTab();\r
18         me.configureDialog(me);\r
19         return me;\r
20 }\r
21 void fillVoretVideoSettingsTab(entity me)\r
22 {\r
23         entity e;\r
24 \r
25         me.TR(me);\r
26                 me.TD(me, 1, 1, e = makeVoretTextLabel(0, "Resolution:"));\r
27                 me.TD(me, 1, 2, e = makeVoretResolutionSlider());\r
28         me.TR(me);\r
29                 me.TD(me, 1, 1, e = makeVoretTextLabel(0, "Font/UI size:"));\r
30                 me.TD(me, 1, 2, e = makeVoretTextSlider("menu_vid_scale"));\r
31                         e.addValue(e, "Unreadable", "-1");\r
32                         e.addValue(e, "Tiny", "-0.75");\r
33                         e.addValue(e, "Little", "-0.5");\r
34                         e.addValue(e, "Small", "-0.25");\r
35                         e.addValue(e, "Medium", "0");\r
36                         e.addValue(e, "Large", "0.25");\r
37                         e.addValue(e, "Huge", "0.5");\r
38                         e.addValue(e, "Gigantic", "0.75");\r
39                         e.addValue(e, "Colossal", "1");\r
40                         e.configureVoretTextSliderValues(e);\r
41         me.TR(me);\r
42                 me.TD(me, 1, 1, e = makeVoretTextLabel(0, "Color depth:"));\r
43                 me.TD(me, 1, 2, e = makeVoretSlider(16, 32, 16, "vid_bitsperpixel"));\r
44         me.TR(me);\r
45                 me.TD(me, 1, 1.5, e = makeVoretTextLabel(0, "Texture compression"));\r
46                 me.TD(me, 1, 0.5, e = makeVoretRadioButton(2, "gl_texturecompression", "0", "None"));\r
47                 me.TD(me, 1, 0.5, e = makeVoretRadioButton(2, "gl_texturecompression", "1", "Fast"));\r
48                 me.TD(me, 1, 0.5, e = makeVoretRadioButton(2, "gl_texturecompression", "2", "Good"));\r
49         me.TR(me);\r
50                 me.TD(me, 1, 1, e = makeVoretCheckBox(0, "vid_fullscreen", "Full screen"));\r
51                 me.TD(me, 1, 2, e = makeVoretCheckBox(0, "vid_vsync", "Vertical Synchronization"));\r
52         me.TR(me);\r
53         me.TR(me);\r
54                 me.TD(me, 1, 3, e = makeVoretCheckBox(0, "vid_gl20", "Use OpenGL 2.0 shaders (GLSL)"));\r
55         me.TR(me);\r
56                 me.TD(me, 1, 2, e = makeVoretCheckBox(0, "r_coronas_occlusionquery", "Use Occlusion Queries"));\r
57         me.TR(me);\r
58         me.TR(me);\r
59                 me.TD(me, 1, 3, e = makeVoretTextLabel(0, "Vertex Buffer Objects (VBOs)"));\r
60         me.TR(me);\r
61                 me.TDempty(me, 0.2);\r
62                 me.TD(me, 1, 0.9, e = makeVoretRadioButton(1, "gl_vbo", "0", "Off"));\r
63                 me.TD(me, 1, 2.1, e = makeVoretRadioButton(1, "gl_vbo", "3", "Vertices, some Tris (compatible)"));\r
64         me.TR(me);\r
65                 me.TDempty(me, 0.2);\r
66                 me.TD(me, 1, 0.9, e = makeVoretRadioButton(1, "gl_vbo", "2", "Vertices"));\r
67                 me.TD(me, 1, 2.1, e = makeVoretRadioButton(1, "gl_vbo", "1", "Vertices and Triangles"));\r
68         me.TR(me);\r
69                 me.TD(me, 1, 1, e = makeVoretTextLabel(0, "Depth first:"));\r
70                 me.TD(me, 1, 2, e = makeVoretTextSlider("r_depthfirst"));\r
71                         e.addValue(e, "Disabled", "0");\r
72                         e.addValue(e, "World", "1");\r
73                         e.addValue(e, "All", "2");\r
74                         e.configureVoretTextSliderValues(e);\r
75         me.TR(me);\r
76                 if(cvar_type("apple_multithreadedgl") & CVAR_TYPEFLAG_ENGINE)\r
77                         me.TD(me, 1, 3, e = makeVoretCheckBox(1, "apple_multithreadedgl", "Disable multithreaded OpenGL"));\r
78         me.TR(me);\r
79                 me.TD(me, 1, 3, e = makeVoretCheckBox(0, "gl_finish", "Wait for GPU to finish each frame"));\r
80 \r
81         me.gotoRC(me, 0, 3.5); me.setFirstColumn(me, me.currentColumn);\r
82                 me.TD(me, 1, 1, e = makeVoretTextLabel(0, "Brightness:"));\r
83                 me.TD(me, 1, 2, e = makeVoretSlider(0.0, 0.5, 0.02, "v_brightness"));\r
84         me.TR(me);\r
85                 me.TD(me, 1, 1, e = makeVoretTextLabel(0, "Contrast:"));\r
86                 me.TD(me, 1, 2, e = makeVoretSlider(1.0, 3.0, 0.05, "v_contrast"));\r
87         me.TR(me);\r
88                 me.TD(me, 1, 1, e = makeVoretTextLabel(0, "Gamma:"));\r
89                 me.TD(me, 1, 2, e = makeVoretSlider(0.5, 2.0, 0.05, "v_gamma"));\r
90         me.TR(me);\r
91                 me.TD(me, 1, 1, e = makeVoretTextLabel(0, "Contrast boost:"));\r
92                 me.TD(me, 1, 2, e = makeVoretSlider(1.0, 5.0, 0.1, "v_contrastboost"));\r
93         me.TR(me);\r
94                 me.TD(me, 1, 1, e = makeVoretTextLabel(0, "Saturation:"));\r
95                         setDependent(e, "vid_gl20", 1, 1);\r
96                 me.TD(me, 1, 2, e = makeVoretSlider(0.5, 2.0, 0.05, "r_glsl_saturation"));\r
97                         setDependent(e, "vid_gl20", 1, 1);\r
98         me.TR(me);\r
99                 me.TD(me, 1, 3, e = makeVoretCheckBox(0, "v_glslgamma", "Use GLSL to handle color control"));\r
100                         setDependent(e, "vid_gl20", 1, 1);\r
101         me.TR(me);\r
102         me.TR(me);\r
103                 me.TD(me, 1, 1, e = makeVoretTextLabel(0, "Ambient:"));\r
104                 me.TD(me, 1, 2, e = makeVoretSlider(0, 20.0, 1.0, "r_ambient"));\r
105         me.TR(me);\r
106                 me.TD(me, 1, 1, e = makeVoretTextLabel(0, "Intensity:"));\r
107                 me.TD(me, 1, 2, e = makeVoretSlider(0.5, 2.0, 0.05, "r_hdr_scenebrightness"));\r
108 \r
109         me.gotoRC(me, me.rows - 1, 0);\r
110                 me.TD(me, 1, me.columns, makeVoretCommandButton("Apply immediately", '0 0 0', "menu_cmd setresolution; vid_restart; menu_restart; togglemenu; defer 0.1 \"menu_cmd videosettings\"", COMMANDBUTTON_APPLY));\r
111 }\r
112 #endif\r