sets the menu up.
| 1191 | |
| 1192 | // sets the menu up. |
| 1193 | newuiSheet *setup(newuiMenu *menu) { |
| 1194 | int iTemp; |
| 1195 | sheet = menu->AddOption(IDV_DCONFIG, TXT_OPTDETAIL, NEWUIMENU_MEDIUM); |
| 1196 | parent_menu = menu; |
| 1197 | |
| 1198 | // detail level radio |
| 1199 | Database->read_int("PredefDetailSetting", &Default_detail_level); |
| 1200 | iTemp = Default_detail_level; |
| 1201 | sheet->NewGroup(TXT_CFG_PRESETDETAILS, 0, 0); |
| 1202 | detail_level = sheet->AddFirstRadioButton(TXT_LOW); |
| 1203 | sheet->AddRadioButton(TXT_CFG_MEDIUM); |
| 1204 | sheet->AddRadioButton(TXT_CFG_HIGH); |
| 1205 | sheet->AddRadioButton(TXT_CFG_VERYHIGH); |
| 1206 | sheet->AddRadioButton(TXT_CFG_CUSTOM); |
| 1207 | *detail_level = iTemp; |
| 1208 | |
| 1209 | // toggles |
| 1210 | sheet->NewGroup(TXT_TOGGLES, 0, 87); |
| 1211 | specmap = sheet->AddLongCheckBox(TXT_SPECMAPPING, Detail_settings.Specular_lighting); |
| 1212 | headlight = sheet->AddLongCheckBox(TXT_FASTHEADLIGHT, Detail_settings.Fast_headlight_on); |
| 1213 | mirror = sheet->AddLongCheckBox(TXT_MIRRORSURF, Detail_settings.Mirrored_surfaces); |
| 1214 | dynamic = sheet->AddLongCheckBox(TXT_DYNLIGHTING, Detail_settings.Dynamic_lighting); |
| 1215 | fog = sheet->AddLongCheckBox(TXT_CFG_ENABLEFOG, Detail_settings.Fog_enabled); |
| 1216 | coronas = sheet->AddLongCheckBox(TXT_CFG_ENABLELIGHTCORONA, Detail_settings.Coronas_enabled); |
| 1217 | procedurals = sheet->AddLongCheckBox(TXT_CFG_PROCEDURALS, Detail_settings.Procedurals_enabled); |
| 1218 | powerup_halo = sheet->AddLongCheckBox(TXT_CFG_POWERUPHALOS, Detail_settings.Powerup_halos); |
| 1219 | scorches = sheet->AddLongCheckBox(TXT_CFG_SCORCHMARKS, Detail_settings.Scorches_enabled); |
| 1220 | weapon_coronas = sheet->AddLongCheckBox(TXT_CFG_WEAPONEFFECTS, Detail_settings.Weapon_coronas_enabled); |
| 1221 | |
| 1222 | // sliders |
| 1223 | tSliderSettings slider_set; |
| 1224 | sheet->NewGroup(TXT_GEOMETRY, 90, 0); |
| 1225 | iTemp = MAXIMUM_TERRAIN_DETAIL - Detail_settings.Pixel_error - MINIMUM_TERRAIN_DETAIL; |
| 1226 | if (iTemp < 0) |
| 1227 | iTemp = 0; |
| 1228 | slider_set.min_val.i = MINIMUM_TERRAIN_DETAIL; |
| 1229 | slider_set.max_val.i = MAXIMUM_TERRAIN_DETAIL; |
| 1230 | slider_set.type = SLIDER_UNITS_INT; |
| 1231 | pixel_err = sheet->AddSlider(TXT_TERRDETAIL, MAXIMUM_TERRAIN_DETAIL - MINIMUM_TERRAIN_DETAIL, iTemp, &slider_set); |
| 1232 | |
| 1233 | slider_set.min_val.i = MINIMUM_RENDER_DIST / 2; |
| 1234 | slider_set.max_val.i = MAXIMUM_RENDER_DIST / 2; |
| 1235 | slider_set.type = SLIDER_UNITS_INT; |
| 1236 | iTemp = (int)(Detail_settings.Terrain_render_distance / ((float)TERRAIN_SIZE)) - MINIMUM_RENDER_DIST; |
| 1237 | if (iTemp < 0) |
| 1238 | iTemp = 0; |
| 1239 | rend_dist = sheet->AddSlider(TXT_RENDDIST, (MAXIMUM_RENDER_DIST - MINIMUM_RENDER_DIST) / 2, iTemp / 2, &slider_set); |
| 1240 | |
| 1241 | // object complexity radio |
| 1242 | sheet->NewGroup(TXT_CFG_OBJECTCOMPLEXITY, 174, 87); |
| 1243 | objcomp = sheet->AddFirstRadioButton(TXT_LOW); |
| 1244 | sheet->AddRadioButton(TXT_CFG_MEDIUM); |
| 1245 | sheet->AddRadioButton(TXT_CFG_HIGH); |
| 1246 | *objcomp = Detail_settings.Object_complexity; |
| 1247 | |
| 1248 | return sheet; |
| 1249 | }; |
| 1250 |
nothing calls this directly
no test coverage detected