]> de.git.xonotic.org Git - voretournament/voretournament.git/blob - data/qcsrc/menu/voret/dialog_settings_video.c
Include gmqcc binaries for Windows and Linux
[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, 20)\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, 1, e = makeVoretTextLabel(0, "Anisotropy:"));\r
55                 me.TD(me, 1, 2, e = makeVoretTextSlider("gl_texture_anisotropy"));\r
56                         e.addValue(e, "Disabled", "1");\r
57                         e.addValue(e, "2x", "2");\r
58                         e.addValue(e, "4x", "4");\r
59                         e.addValue(e, "8x", "8");\r
60                         e.addValue(e, "16x", "16");\r
61                         e.configureVoretTextSliderValues(e);\r
62         me.TR(me);\r
63                 me.TD(me, 1, 1, e = makeVoretTextLabel(0, "Antialiasing:"));\r
64                 me.TD(me, 1, 2, e = makeVoretTextSlider("vid_samples"));\r
65                         e.addValue(e, "Disabled", "1");\r
66                         e.addValue(e, "2x", "2");\r
67                         e.addValue(e, "4x", "4");\r
68                         e.configureVoretTextSliderValues(e);\r
69                         setDependent(e, "r_viewfbo", 0, 0);\r
70         me.TR(me);\r
71                 me.TD(me, 1, 3, e = makeVoretCheckBoxEx(2, 0, "r_viewfbo", _("High-quality frame buffer")));\r
72                         setDependent(e, "vid_samples", 1, 1);\r
73         me.TR(me);\r
74         me.TR(me);\r
75                 me.TD(me, 1, 3, e = makeVoretCheckBox(0, "vid_gl20", "Use OpenGL 2.0 shaders (GLSL)"));\r
76         me.TR(me);\r
77         me.TR(me);\r
78                 me.TD(me, 1, 3, e = makeVoretTextLabel(0, "Vertex Buffer Objects (VBOs)"));\r
79         me.TR(me);\r
80                 me.TDempty(me, 0.2);\r
81                 me.TD(me, 1, 0.9, e = makeVoretRadioButton(1, "gl_vbo", "0", "Off"));\r
82                 me.TD(me, 1, 2.1, e = makeVoretRadioButton(1, "gl_vbo", "3", "Vertices, some Tris (compatible)"));\r
83         me.TR(me);\r
84                 me.TDempty(me, 0.2);\r
85                 me.TD(me, 1, 0.9, e = makeVoretRadioButton(1, "gl_vbo", "2", "Vertices"));\r
86                 me.TD(me, 1, 2.1, e = makeVoretRadioButton(1, "gl_vbo", "1", "Vertices and Triangles"));\r
87         me.TR(me);\r
88                 me.TD(me, 1, 1, e = makeVoretTextLabel(0, "Depth first:"));\r
89                 me.TD(me, 1, 2, e = makeVoretTextSlider("r_depthfirst"));\r
90                         e.addValue(e, "Disabled", "0");\r
91                         e.addValue(e, "World", "1");\r
92                         e.addValue(e, "All", "2");\r
93                         e.configureVoretTextSliderValues(e);\r
94         me.TR(me);\r
95                 if(cvar_type("apple_multithreadedgl") & CVAR_TYPEFLAG_ENGINE)\r
96                         me.TD(me, 1, 3, e = makeVoretCheckBox(1, "apple_multithreadedgl", "Disable multithreaded OpenGL"));\r
97         me.TR(me);\r
98                 me.TD(me, 1, 3, e = makeVoretCheckBox(0, "gl_finish", "Wait for GPU to finish each frame"));\r
99 \r
100         me.gotoRC(me, 0, 3.5); me.setFirstColumn(me, me.currentColumn);\r
101                 me.TD(me, 1, 1, e = makeVoretTextLabel(0, "Brightness:"));\r
102                 me.TD(me, 1, 2, e = makeVoretSlider(0.0, 0.5, 0.02, "v_brightness"));\r
103         me.TR(me);\r
104                 me.TD(me, 1, 1, e = makeVoretTextLabel(0, "Contrast:"));\r
105                 me.TD(me, 1, 2, e = makeVoretSlider(1.0, 3.0, 0.05, "v_contrast"));\r
106         me.TR(me);\r
107                 me.TD(me, 1, 1, e = makeVoretTextLabel(0, "Gamma:"));\r
108                 me.TD(me, 1, 2, e = makeVoretSlider(0.5, 2.0, 0.05, "v_gamma"));\r
109         me.TR(me);\r
110                 me.TD(me, 1, 1, e = makeVoretTextLabel(0, "Contrast boost:"));\r
111                 me.TD(me, 1, 2, e = makeVoretSlider(1.0, 5.0, 0.1, "v_contrastboost"));\r
112         me.TR(me);\r
113         me.TR(me);\r
114                 me.TD(me, 1, 3, e = makeVoretCheckBox(0, "v_glslgamma", "Use GLSL to handle color control"));\r
115                         setDependent(e, "vid_gl20", 1, 1);\r
116         me.TR(me);\r
117         me.TR(me);\r
118                 me.TD(me, 1, 1, e = makeVoretTextLabel(0, "Ambient:"));\r
119                 me.TD(me, 1, 2, e = makeVoretSlider(0, 20.0, 1.0, "r_ambient"));\r
120         me.TR(me);\r
121                 me.TD(me, 1, 1, e = makeVoretTextLabel(0, "Intensity:"));\r
122                 me.TD(me, 1, 2, e = makeVoretSlider(0.5, 2.0, 0.05, "r_hdr_scenebrightness"));\r
123         me.TR(me);\r
124         me.TR(me);\r
125                 me.TD(me, 1, 1, e = makeVoretTextLabel(0, "Anaglyph stereo:"));\r
126         me.TR(me);\r
127                 me.TDempty(me, 0.2);\r
128                 me.TD(me, 1, 0.8, e = makeVoretRadioButton(3, string_null, string_null, "Disabled"));\r
129                 me.TD(me, 1, 0.8, e = makeVoretRadioButton(3, "r_stereo_horizontal", string_null, "Horizontal"));\r
130                 me.TD(me, 1, 0.8, e = makeVoretRadioButton(3, "r_stereo_vertical", string_null, "Vertical"));\r
131         me.TR(me);\r
132                 me.TDempty(me, 0.2);\r
133                 me.TD(me, 1, 0.8, e = makeVoretRadioButton(3, "r_stereo_redcyan", string_null, "Red-cyan"));\r
134                 me.TD(me, 1, 0.8, e = makeVoretRadioButton(3, "r_stereo_redblue", string_null, "Red-blue"));\r
135                 me.TD(me, 1, 0.8, e = makeVoretRadioButton(3, "r_stereo_redgreen", string_null, "Red-green"));\r
136         me.TR(me);\r
137                 me.TDempty(me, 0.2);\r
138                 me.TD(me, 1, 1, e = makeVoretTextLabel(0, "Separation:"));\r
139                 me.TD(me, 1, 2, e = makeVoretSlider(-32, 32, 1, "r_stereo_separation"));\r
140         me.TR(me);\r
141                 me.TDempty(me, 0.2);\r
142                 me.TD(me, 1, 1, e = makeVoretTextLabel(0, "Angle:"));\r
143                 me.TD(me, 1, 2, e = makeVoretSlider(-10, 10, 1, "r_stereo_angle"));\r
144 \r
145         me.gotoRC(me, me.rows - 1, 0);\r
146                 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
147 }\r
148 #endif\r