1 ////////////////////////////////////////////////////////////////////////////////
2 //    Scorched3D (c) 2000-2011
3 //
4 //    This file is part of Scorched3D.
5 //
6 //    Scorched3D is free software; you can redistribute it and/or modify
7 //    it under the terms of the GNU General Public License as published by
8 //    the Free Software Foundation; either version 2 of the License, or
9 //    (at your option) any later version.
10 //
11 //    Scorched3D is distributed in the hope that it will be useful,
12 //    but WITHOUT ANY WARRANTY; without even the implied warranty of
13 //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 //    GNU General Public License for more details.
15 //
16 //    You should have received a copy of the GNU General Public License along
17 //    with this program; if not, write to the Free Software Foundation, Inc.,
18 //    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
19 ////////////////////////////////////////////////////////////////////////////////
20 
21 #if !defined(__INCLUDE_OptionsDisplayh_INCLUDE__)
22 #define __INCLUDE_OptionsDisplayh_INCLUDE__
23 
24 #include <common/OptionEntry.h>
25 
26 class OptionsDisplay
27 {
28 public:
29 	static OptionsDisplay *instance();
30 
31 	enum DataType
32 	{
33 		NoAccess = 0,
34 		RWAccess = 1,
35 		RAccess = 2,
36 		NoRestore = 4,
37 		DebugOnly = 8
38 	};
39 
getHideFinalScore()40 	bool getHideFinalScore() { return hideFinalScore_; }
getHideFinalScoreEntry()41 	OptionEntryBool &getHideFinalScoreEntry() { return hideFinalScore_; }
42 
getNoPlanDraw()43 	bool getNoPlanDraw() { return noPlanDraw_; }
getNoPlanDrawEntry()44 	OptionEntryBool &getNoPlanDrawEntry() { return noPlanDraw_; }
45 
getTankModelSize()46 	int getTankModelSize() { return tankModelSize_; }
getTankModelSizeEntry()47 	OptionEntryInt &getTankModelSizeEntry() { return tankModelSize_; }
48 
getNumberExplosionParts()49 	int getNumberExplosionParts() { return explosionParts_; }
getNumberExplosionPartsEntry()50 	OptionEntryInt &getNumberExplosionPartsEntry() { return explosionParts_; }
51 
getExplosionParticlesMult()52 	int getExplosionParticlesMult() { return explosionParticleMult_; }
getExplosionParticlesMultEntry()53 	OptionEntryInt &getExplosionParticlesMultEntry() { return explosionParticleMult_; }
54 
getNumberExplosionSubParts()55 	int getNumberExplosionSubParts() { return explosionSubParts_; }
getNumberExplosionSubPartsEntry()56 	OptionEntryInt &getNumberExplosionSubPartsEntry() { return explosionSubParts_; }
57 
getBrightness()58 	int getBrightness() { return brightness_; }
getBrightnessEntry()59 	OptionEntryInt &getBrightnessEntry() { return brightness_; }
60 
getDrawCullingDistance()61 	float getDrawCullingDistance() { return drawCullingDistance_; }
getDrawCullingDistanceEntry()62 	OptionEntryFloat &getDrawCullingDistanceEntry() { return drawCullingDistance_; } ;
63 
getDrawFadeStartDistance()64 	float getDrawFadeStartDistance() { return drawFadeStartDistance_; }
getDrawFadeStartDistanceEntry()65 	OptionEntryFloat &getDrawFadeStartDistanceEntry() { return drawFadeStartDistance_; } ;
66 
getSmoothLines()67 	bool getSmoothLines() { return smoothLines_; }
getSmoothLinesEntry()68 	OptionEntryBool &getSmoothLinesEntry() { return smoothLines_; }
69 
getFrameTimer()70 	bool getFrameTimer() { return frameTimer_; }
getFrameTimerEntry()71 	OptionEntryBool &getFrameTimerEntry() { return frameTimer_; }
72 
getNoLenseFlare()73 	bool getNoLenseFlare() { return noLenseFlare_; }
getNoLenseFlareEntry()74 	OptionEntryBool &getNoLenseFlareEntry() { return noLenseFlare_; }
75 
getNoObjectReflections()76 	bool getNoObjectReflections() { return noObjectReflections_; }
getNoObjectReflectionsEntry()77 	OptionEntryBool &getNoObjectReflectionsEntry() { return noObjectReflections_; }
78 
getNoParticleReflections()79 	bool getNoParticleReflections() { return noParticleReflections_; }
getNoParticleReflectionsEntry()80 	OptionEntryBool &getNoParticleReflectionsEntry() { return noParticleReflections_; }
81 
getNoShadows()82 	bool getNoShadows() { return noShadows_; }
getNoShadowsEntry()83 	OptionEntryBool &getNoShadowsEntry() { return noShadows_; }
84 
getLandShadowsLOD()85 	int getLandShadowsLOD() { return landShadowsLOD_; }
getLandShadowsLODEntry()86 	OptionEntryInt &getLandShadowsLODEntry() { return landShadowsLOD_; }
87 
getNoGLObjectShadows()88 	bool getNoGLObjectShadows() { return noGLObjectShadows_; }
getNoGLObjectShadowsEntry()89 	OptionEntryBool &getNoGLObjectShadowsEntry() { return noGLObjectShadows_; }
90 
getNoGLShadows()91 	bool getNoGLShadows() { return noGLShadows_; }
getNoGLShadowsEntry()92 	OptionEntryBool &getNoGLShadowsEntry() { return noGLShadows_; }
93 
getNoGLDrawElements()94 	bool getNoGLDrawElements() { return noGLDrawElements_; }
getNoGLDrawElementsEntry()95 	OptionEntryBool &getNoGLDrawElementsEntry() { return noGLDrawElements_; }
96 
getNoDrawParticles()97 	bool getNoDrawParticles() { return noDrawParticles_; }
getNoDrawParticlesEntry()98 	OptionEntryBool &getNoDrawParticlesEntry() { return noDrawParticles_; }
99 
getNoSimulateParticles()100 	bool getNoSimulateParticles() { return noSimulateParticles_; }
getNoSimulateParticlesEntry()101 	OptionEntryBool &getNoSimulateParticlesEntry() { return noSimulateParticles_; }
102 
getNoModelLighting()103 	bool getNoModelLighting() { return noModelLighting_; }
getNoModelLightingEntry()104 	OptionEntryBool &getNoModelLightingEntry() { return noModelLighting_; }
105 
getNoVBO()106 	bool getNoVBO() { return noVBO_; }
getNoVBOEntry()107 	OptionEntryBool &getNoVBOEntry() { return noVBO_; }
108 
getNoFog()109 	bool getNoFog() { return noFog_; }
getNoFogEntry()110 	OptionEntryBool &getNoFogEntry() { return noFog_; }
111 
getHideMenus()112 	bool getHideMenus() { return hideMenus_; }
getHideMenusEntry()113 	OptionEntryBool &getHideMenusEntry() { return hideMenus_; }
114 
getLastVersionPlayed()115 	const char *getLastVersionPlayed() { return lastVersionPlayed_; }
getLastVersionPlayedEntry()116 	OptionEntryString &getLastVersionPlayedEntry() { return lastVersionPlayed_; }
117 
getDetailTexture()118 	bool getDetailTexture() { return detailTexture_; }
getDetailTextureEntry()119 	OptionEntryBool &getDetailTextureEntry() { return detailTexture_; }
120 
getUseLandscapeTexture()121 	bool getUseLandscapeTexture() { return useLandscapeTexture_; }
getUseLandscapeTextureEntry()122 	OptionEntryBool &getUseLandscapeTextureEntry() { return useLandscapeTexture_; }
123 
getUseWaterTexture()124 	bool getUseWaterTexture() { return useWaterTexture_; }
getUseWaterTextureEntry()125 	OptionEntryBool &getUseWaterTextureEntry() { return useWaterTexture_; }
126 
getFullScreen()127 	bool getFullScreen() { return fullScreen_; }
getFullScreenEntry()128 	OptionEntryBool &getFullScreenEntry() { return fullScreen_; }
129 
getMoreRes()130 	bool getMoreRes() { return moreRes_; }
getMoreResEntry()131 	OptionEntryBool &getMoreResEntry() { return moreRes_; }
132 
getInvertElevation()133 	bool getInvertElevation() { return invertElevation_; }
getInvertElevationEntry()134 	OptionEntryBool &getInvertElevationEntry() { return invertElevation_; }
135 
getInvertMouse()136 	bool getInvertMouse() { return invertMouse_; }
getInvertMouseEntry()137 	OptionEntryBool &getInvertMouseEntry() { return invertMouse_; }
138 
getSwapYAxis()139 	bool getSwapYAxis() { return swapYAxis_; }
getSwapYAxisEntry()140 	OptionEntryBool &getSwapYAxisEntry() { return swapYAxis_; }
141 
getSideScroll()142 	bool getSideScroll() { return sideScroll_; }
getSideScrollEntry()143 	OptionEntryBool &getSideScrollEntry() { return sideScroll_; }
144 
getStorePlayerCamera()145 	bool getStorePlayerCamera() { return storePlayerCamera_; }
getStorePlayerCameraEntry()146 	OptionEntryBool &getStorePlayerCameraEntry() { return storePlayerCamera_; }
147 
getRestrictedCameraMovement()148 	bool getRestrictedCameraMovement() { return restricedCameraMovement_; }
getRestrictedCameraMovementEntry()149 	OptionEntryBool &getRestrictedCameraMovementEntry() { return restricedCameraMovement_; }
150 
getNoGLExt()151 	bool getNoGLExt() { return noGLExt_; }
getNoGLExtEntry()152 	OptionEntryBool &getNoGLExtEntry() { return noGLExt_; }
153 
getNoGLTexSubImage()154 	bool getNoGLTexSubImage() { return noGLTexSubImage_; }
getNoGLTexSubImageEntry()155 	OptionEntryBool &getNoGLTexSubImageEntry() { return noGLTexSubImage_; }
156 
getNoGLMultiTex()157 	bool getNoGLMultiTex() { return noGLMultiTex_; }
getNoGLMultiTexEntry()158 	OptionEntryBool &getNoGLMultiTexEntry() { return noGLMultiTex_; }
159 
getNoGLCubeMap()160 	bool getNoGLCubeMap() { return noGLCubeMap_; }
getNoGLCubeMapEntry()161 	OptionEntryBool &getNoGLCubeMapEntry() { return noGLCubeMap_; }
162 
getNoGLSphereMap()163 	bool getNoGLSphereMap() { return noGLSphereMap_; }
getNoGLSphereMapEntry()164 	OptionEntryBool &getNoGLSphereMapEntry() { return noGLSphereMap_; }
165 
getNoGLEnvCombine()166 	bool getNoGLEnvCombine() { return noGLEnvCombine_; }
getNoGLEnvCombineEntry()167 	OptionEntryBool &getNoGLEnvCombineEntry() { return noGLEnvCombine_; }
168 
getNoGLHardwareMipmaps()169 	bool getNoGLHardwareMipmaps() { return noGLHardwareMipmaps_; }
getNoGLHardwareMipmapsEntry()170 	OptionEntryBool &getNoGLHardwareMipmapsEntry() { return noGLHardwareMipmaps_; }
171 
getNoGLShaders()172 	bool getNoGLShaders() { return noGLShaders_; }
getNoGLShadersEntry()173 	OptionEntryBool &getNoGLShadersEntry() { return noGLShaders_; }
174 
getSimpleWaterShaders()175 	bool getSimpleWaterShaders() { return simpleWaterShaders_; }
getSimpleWaterShadersEntry()176 	OptionEntryBool &getSimpleWaterShadersEntry() { return simpleWaterShaders_; }
177 
getNoProgressBackdrop()178 	bool getNoProgressBackdrop() { return noProgressBackdrop_; }
getNoProgressBackdropEntry()179 	OptionEntryBool &getNoProgressBackdropEntry() { return noProgressBackdrop_; }
180 
getSoundChannels()181 	int getSoundChannels() { return soundChannels_; }
getSoundChannelsEntry()182 	OptionEntryInt &getSoundChannelsEntry() { return soundChannels_; }
183 
getNoCountDownSound()184 	bool getNoCountDownSound() { return noCountDownSound_; }
getNoCountDownSoundEntry()185 	OptionEntryBool &getNoCountDownSoundEntry() { return noCountDownSound_; }
186 
getNoChannelTextSound()187 	bool getNoChannelTextSound() { return noChannelTextSound_; }
getNoChannelTextSoundEntry()188 	OptionEntryBool &getNoChannelTextSoundEntry() { return noChannelTextSound_; }
189 
getNoSound()190 	bool getNoSound() { return noSound_; }
getNoSoundEntry()191 	OptionEntryBool &getNoSoundEntry() { return noSound_; }
192 
getNoMusic()193 	bool getNoMusic() { return noMusic_; }
getNoMusicEntry()194 	OptionEntryBool &getNoMusicEntry() { return noMusic_; }
195 
getNoSkins()196 	bool getNoSkins() { return noSkins_; }
getNoSkinsEntry()197 	OptionEntryBool &getNoSkinsEntry() { return noSkins_; }
198 
getTankDetail()199 	int getTankDetail() { return tankDetail_; }
getTankDetailEntry()200 	OptionEntryInt &getTankDetailEntry() { return tankDetail_; }
201 
getEffectsDetail()202 	int getEffectsDetail() { return effectsDetail_; }
getEffectsDetailEntry()203 	OptionEntryInt &getEffectsDetailEntry() { return effectsDetail_; }
204 
getDeformRecalculationTime()205 	int getDeformRecalculationTime() { return deformRecalculationTime_; }
getDeformRecalculationTimeEntry()206 	OptionEntryInt &getDeformRecalculationTimeEntry() { return deformRecalculationTime_; }
207 
getDrawLines()208 	bool getDrawLines() { return drawLines_; }
getDrawLinesEntry()209 	OptionEntryBool &getDrawLinesEntry() { return drawLines_; }
210 
getDrawLandLOD()211 	bool getDrawLandLOD() { return drawLandLOD_; }
getDrawLandLODEntry()212 	OptionEntryBool &getDrawLandLODEntry() { return drawLandLOD_; }
213 
getDrawNormals()214 	bool getDrawNormals() { return drawNormals_; }
getDrawNormalsEntry()215 	OptionEntryBool &getDrawNormalsEntry() { return drawNormals_; }
216 
getDrawGraphicalShadowMap()217 	bool getDrawGraphicalShadowMap() { return drawGraphicalShadowMap_; }
getDrawGraphicalShadowMapEntry()218 	OptionEntryBool &getDrawGraphicalShadowMapEntry() { return drawGraphicalShadowMap_; }
219 
getDrawGraphicalReflectionMap()220 	bool getDrawGraphicalReflectionMap() { return drawGraphicalReflectionMap_; }
getDrawGraphicalReflectionMapEntry()221 	OptionEntryBool &getDrawGraphicalReflectionMapEntry() { return drawGraphicalReflectionMap_; }
222 
getDrawCollisionGeoms()223 	bool getDrawCollisionGeoms() { return drawCollisionGeoms_; }
getDrawCollisionGeomsEntry()224 	OptionEntryBool &getDrawCollisionGeomsEntry() { return drawCollisionGeoms_; }
225 
getDrawCollisionSpace()226 	bool getDrawCollisionSpace() { return drawCollisionSpace_; }
getDrawCollisionSpaceEntry()227 	OptionEntryBool &getDrawCollisionSpaceEntry() { return drawCollisionSpace_; }
228 
getDrawBoundingSpheres()229 	bool getDrawBoundingSpheres() { return drawBoundingSpheres_; }
getDrawBoundingSpheresEntry()230 	OptionEntryBool &getDrawBoundingSpheresEntry() { return drawBoundingSpheres_; }
231 
getDrawPlayerNames()232 	bool getDrawPlayerNames() { return drawPlayerNames_; }
getDrawPlayerNamesEntry()233 	OptionEntryBool &getDrawPlayerNamesEntry() { return drawPlayerNames_; }
234 
getDrawPlayerIcons()235 	bool getDrawPlayerIcons() { return drawPlayerIcons_; }
getDrawPlayerIconsEntry()236 	OptionEntryBool &getDrawPlayerIconsEntry() { return drawPlayerIcons_; }
237 
getDrawPlayerSight()238 	bool getDrawPlayerSight() { return drawPlayerSight_; }
getDrawPlayerSightEntry()239 	OptionEntryBool &getDrawPlayerSightEntry() { return drawPlayerSight_; }
240 
getOldSightPosition()241 	bool getOldSightPosition() { return oldSightPosition_; }
getOldSightPositionEntry()242 	OptionEntryBool &getOldSightPositionEntry() { return oldSightPosition_; }
243 
getLargeSight()244 	bool getLargeSight() { return largeSight_; }
getLargeSightEntry()245 	OptionEntryBool &getLargeSightEntry() { return largeSight_; }
246 
getDrawPlayerHealth()247 	bool getDrawPlayerHealth() { return drawPlayerHealth_; }
getDrawPlayerHealthEntry()248 	OptionEntryBool &getDrawPlayerHealthEntry() { return drawPlayerHealth_; }
249 
getDrawPlayerColor()250 	bool getDrawPlayerColor() { return drawPlayerColor_; }
getDrawPlayerColorEntry()251 	OptionEntryBool &getDrawPlayerColorEntry() { return drawPlayerColor_; }
252 
getDrawWater()253 	bool getDrawWater() { return drawWater_; }
getDrawWaterEntry()254 	OptionEntryBool &getDrawWaterEntry() { return drawWater_; }
255 
getDrawLandscape()256 	bool getDrawLandscape() { return drawLandscape_; }
getDrawLandscapeEntry()257 	OptionEntryBool &getDrawLandscapeEntry() { return drawLandscape_; }
258 
getDrawSurround()259 	bool getDrawSurround() { return drawSurround_; }
getDrawSurroundEntry()260 	OptionEntryBool &getDrawSurroundEntry() { return drawSurround_; }
261 
getDrawMovement()262 	bool getDrawMovement() { return drawMovement_; }
getDrawMovementEntry()263 	OptionEntryBool &getDrawMovementEntry() { return drawMovement_; }
264 
getNoWaterMovement()265 	bool getNoWaterMovement() { return noWaterMovement_; }
getNoWaterMovementEntry()266 	OptionEntryBool &getNoWaterMovementEntry() { return noWaterMovement_; }
267 
getNoWaterReflections()268 	bool getNoWaterReflections() { return noWaterReflections_; }
getNoWaterReflectionsEntry()269 	OptionEntryBool &getNoWaterReflectionsEntry() { return noWaterReflections_; }
270 
getNoWaterWaves()271 	bool getNoWaterWaves() { return noWaterWaves_; }
getNoWaterWavesEntry()272 	OptionEntryBool &getNoWaterWavesEntry() { return noWaterWaves_; }
273 
getNoThreadedDraw()274 	bool getNoThreadedDraw() { return noThreadedDraw_; }
getNoThreadedDrawEntry()275 	OptionEntryBool &getNoThreadedDrawEntry() { return noThreadedDraw_; }
276 
getNoWaterLOD()277 	bool getNoWaterLOD() { return noWaterLOD_; }
getNoWaterLODEntry()278 	OptionEntryBool &getNoWaterLODEntry() { return noWaterLOD_; }
279 
getNoLandLOD()280 	bool getNoLandLOD() { return noLandLOD_; }
getNoLandLODEntry()281 	OptionEntryBool &getNoLandLODEntry() { return noLandLOD_; }
282 
getNoSkyMovement()283 	bool getNoSkyMovement() { return noSkyMovement_; }
getNoSkyMovementEntry()284 	OptionEntryBool &getNoSkyMovementEntry() { return noSkyMovement_; }
285 
getNoSkyLayers()286 	bool getNoSkyLayers() { return noSkyLayers_; }
getNoSkyLayersEntry()287 	OptionEntryBool &getNoSkyLayersEntry() { return noSkyLayers_; }
288 
getNoTrees()289 	bool getNoTrees() { return noTrees_; }
getNoTreesEntry()290 	OptionEntryBool &getNoTreesEntry() { return noTrees_; }
291 
getNoTargets()292 	bool getNoTargets() { return noTargets_; }
getNoTargetsEntry()293 	OptionEntryBool &getNoTargetsEntry() { return noTargets_; }
294 
getNoPrecipitation()295 	bool getNoPrecipitation() { return noPrecipitation_; }
getNoPrecipitationEntry()296 	OptionEntryBool &getNoPrecipitationEntry() { return noPrecipitation_; }
297 
getLowTreeDetail()298 	bool getLowTreeDetail() { return lowTreeDetail_; }
getLowTreeDetailEntry()299 	OptionEntryBool &getLowTreeDetailEntry() { return lowTreeDetail_; }
300 
getAccessorySortKey()301 	int getAccessorySortKey() { return accessorySortKey_; }
getAccessorySortKeyEntry()302 	OptionEntryEnum &getAccessorySortKeyEntry() { return accessorySortKey_; }
303 
getNoDepthSorting()304 	bool getNoDepthSorting() { return noDepthSorting_; }
getNoDepthSortingEntry()305 	OptionEntryBool &getNoDepthSortingEntry() { return noDepthSorting_; }
306 
getSoftwareMouse()307 	bool getSoftwareMouse() { return softwareMouse_; }
getSoftwareMouseEntry()308 	OptionEntryBool &getSoftwareMouseEntry() { return softwareMouse_; }
309 
getShowContextHelp()310 	bool getShowContextHelp() { return showContextHelp_; }
getShowContextHelpEntry()311 	OptionEntryBool &getShowContextHelpEntry() { return showContextHelp_; }
312 
getShowContextInfo()313 	bool getShowContextInfo() { return showContextInfo_; }
getShowContextInfoEntry()314 	OptionEntryBool &getShowContextInfoEntry() { return showContextInfo_; }
315 
getClientLogToFile()316 	bool getClientLogToFile() { return clientLogToFile_; }
getClientLogToFileEntry()317 	OptionEntryBool &getClientLogToFileEntry() { return clientLogToFile_; }
318 
getClientLogState()319 	int getClientLogState() { return clientLogState_; }
getClientLogStateEntry()320 	OptionEntryInt &getClientLogStateEntry() { return clientLogState_; }
321 
getValidateServerIp()322 	bool getValidateServerIp() { return validateServerIp_; }
getValidateServerIpEntry()323 	OptionEntryBool &getValidateServerIpEntry() { return validateServerIp_; }
324 
getSoundVolume()325 	int getSoundVolume() { return soundVolume_; }
getSoundVolumeEntry()326 	OptionEntryInt &getSoundVolumeEntry() { return soundVolume_; }
327 
getAmbientSoundVolume()328 	int getAmbientSoundVolume() { return ambientSoundVolume_; }
getAmbientSoundVolumeEntry()329 	OptionEntryInt &getAmbientSoundVolumeEntry() { return ambientSoundVolume_; }
330 
getMusicVolume()331 	int getMusicVolume() { return musicVolume_; }
getMusicVolumeEntry()332 	OptionEntryInt &getMusicVolumeEntry() { return musicVolume_; }
333 
getDialogSize()334 	int getDialogSize() { return dialogSize_; }
getDialogSizeEntry()335 	OptionEntryInt &getDialogSizeEntry() { return dialogSize_; }
336 
getAntiAlias()337 	int getAntiAlias() { return antiAlias_; }
getAntiAliasEntry()338 	OptionEntryInt &getAntiAliasEntry() { return antiAlias_; }
339 
getTexSize()340 	int getTexSize() { return texSize_; }
getTexSizeEntry()341 	OptionEntryInt &getTexSizeEntry() { return texSize_; }
342 
getScreenWidth()343 	int getScreenWidth() { return screenWidth_; }
getScreenWidthEntry()344 	OptionEntryInt  &getScreenWidthEntry() { return screenWidth_; }
345 
getScreenHeight()346 	int getScreenHeight() { return screenHeight_; }
getScreenHeightEntry()347 	OptionEntryInt  &getScreenHeightEntry() { return screenHeight_; }
348 
getDepthBufferBits()349 	int getDepthBufferBits() { return depthBufferBits_; }
getDepthBufferBitsEntry()350 	OptionEntryInt &getDepthBufferBitsEntry() { return depthBufferBits_; }
351 
getColorComponentSize()352 	int getColorComponentSize() { return colorComponentSize_; }
getColorComponentSizeEntry()353 	OptionEntryInt &getColorComponentSizeEntry() { return colorComponentSize_; }
354 
getBitsPerPixel()355 	int getBitsPerPixel() { return bitsPerPixel_; }
getBitsPerPixelEntry()356 	OptionEntryInt &getBitsPerPixelEntry() { return bitsPerPixel_; }
357 
getDoubleBuffer()358 	bool getDoubleBuffer() { return doubleBuffer_; }
getDoubleBufferEntry()359 	OptionEntryBool &getDoubleBufferEntry() { return doubleBuffer_; }
360 
getSaveWindowPositions()361 	bool getSaveWindowPositions() { return saveWindowPositions_; }
getSaveWindowPositionsEntry()362 	OptionEntryBool &getSaveWindowPositionsEntry() { return saveWindowPositions_; }
363 
getOnlineUserName()364 	const char *getOnlineUserName() { return onlineUserName_; }
getOnlineUserNameEntry()365 	OptionEntryString &getOnlineUserNameEntry() { return onlineUserName_; }
366 
getOnlineTankModel()367 	const char *getOnlineTankModel() { return onlineTankModel_; }
getOnlineTankModelEntry()368 	OptionEntryString &getOnlineTankModelEntry() { return onlineTankModel_; }
369 
getOnlineUserIcon()370 	const char *getOnlineUserIcon() { return onlineUserIcon_; }
getOnlineUserIconEntry()371 	OptionEntryString &getOnlineUserIconEntry() { return onlineUserIcon_; }
372 
getOnlineColor()373 	Vector getOnlineColor() { return onlineColor_; }
getOnlineColorEntry()374 	OptionEntryVector &getOnlineColorEntry() { return onlineColor_; }
375 
getHostDescription()376 	const char *getHostDescription() { return hostDescription_; }
getHostDescriptionEntry()377 	OptionEntryString &getHostDescriptionEntry() { return hostDescription_; }
378 
getBuyTab()379 	const char *getBuyTab() { return buyTab_; }
getBuyTabEntry()380 	OptionEntryString &getBuyTabEntry() { return buyTab_; }
381 
getToolTipTime()382 	int getToolTipTime() { return toolTipTime_; }
getToolTipTimeEntry()383 	OptionEntryInt &getToolTipTimeEntry() { return toolTipTime_; }
384 
getToolTipSpeed()385 	int getToolTipSpeed() { return toolTipSpeed_; }
getToolTipSpeedEntry()386 	OptionEntryInt &getToolTipSpeedEntry() { return toolTipSpeed_; }
387 
getFramesPerSecondLimit()388 	int getFramesPerSecondLimit() { return framesPerSecondLimit_; }
getFramesPerSecondLimitEntry()389 	OptionEntryInt &getFramesPerSecondLimitEntry() { return framesPerSecondLimit_; }
390 
getLandDetailError()391 	int getLandDetailError() { return landDetialError_; }
getLandDetailErrorEntry()392 	OptionEntryInt &getLandDetailErrorEntry() { return landDetialError_; }
393 
getWaterDetailLevelRamp()394 	int getWaterDetailLevelRamp() { return waterDetailLevelRamp_; }
getWaterDetailLevelRampEntry()395 	OptionEntryInt &getWaterDetailLevelRampEntry() { return waterDetailLevelRamp_; }
396 
getFocusPause()397 	bool getFocusPause() { return focusPause_; }
getFocusPauseEntry()398 	OptionEntryBool &getFocusPauseEntry() { return focusPause_; }
399 
getOpenGLWarnings()400 	bool getOpenGLWarnings() { return openGLWarnings_; }
getOpenGLWarningsEntry()401 	OptionEntryBool &getOpenGLWarningsEntry() { return openGLWarnings_; }
402 
403 	void loadSafeValues();
404 	void loadDefaultValues();
405 	void loadMediumValues();
406 	void loadFastestValues();
407 	void loadUltraValues();
408 	bool writeOptionsToFile(bool allOptions);
409 	bool readOptionsFromFile();
410 
getOptions()411 	std::list<OptionEntry *> &getOptions() { return options_; }
412 
413 protected:
414 	static OptionsDisplay *instance_;
415 	std::list<OptionEntry *> options_;
416 
417 	OptionEntryBool depricatedNoBoidSound_;
418 	OptionEntryBool depricatedNoBOIDS_;
419 	OptionEntryBoundedInt depricatedMaxModelTriPercentage_;
420 	OptionEntryBool depricatedUseHex_;
421 	OptionEntryInt depricatedDayTime_;
422 	OptionEntryInt depricatedSunYZAng_;
423 	OptionEntryInt depricatedSunXYAng_;
424 	OptionEntryInt bannerRowsDepricated_;
425 	OptionEntryString depricatedUniqueUserId_;
426 	OptionEntryBool depricatedNoShips_;
427 	OptionEntryBool depricatedDrawShipPaths_;
428 	OptionEntryBool depricatedFirstTimePlayed_;
429 	OptionEntryBool depricatedNoWaves_;
430 	OptionEntryBool depricatedNoCg_;
431 	OptionEntryBool depricatedNoAmbientSound_;
432 	OptionEntryBool depricatedFullClear_;
433 	OptionEntryInt depricatedRoamVarianceStart_;
434 	OptionEntryInt depricatedRoamVarianceRamp_;
435 	OptionEntryInt depricatedRoamVarianceTank_;
436 	OptionEntryBool depricatedNoROAM_;
437 	OptionEntryBool depricatedNoTessalation_;
438 	OptionEntryBool depricatedNoGLCompiledArrays_;
439 	OptionEntryFloat depricatedDrawDistance_;
440 	OptionEntryFloat depricatedDrawDistanceFade_;
441 	OptionEntryInt depricatedLandDetailLevelRamp_;
442 
443 	OptionEntryBoundedInt brightness_;
444 	OptionEntryBoundedInt explosionParts_;
445 	OptionEntryBoundedInt explosionSubParts_;
446 	OptionEntryBoundedInt explosionParticleMult_;
447 	OptionEntryBool drawMovement_;
448 	OptionEntryInt colorComponentSize_;
449 	OptionEntryInt soundChannels_;
450 	OptionEntryInt bitsPerPixel_;
451 	OptionEntryInt depthBufferBits_;
452 	OptionEntryInt tankModelSize_;
453 	OptionEntryInt toolTipTime_;
454 	OptionEntryInt toolTipSpeed_;
455 	OptionEntryInt framesPerSecondLimit_;
456 	OptionEntryInt landDetialError_;
457 	OptionEntryInt waterDetailLevelRamp_;
458 	OptionEntryInt landShadowsLOD_;
459 	OptionEntryBool noFog_;
460 	OptionEntryBool detailTexture_;
461 	OptionEntryBool saveWindowPositions_;
462 	OptionEntryBool doubleBuffer_;
463 	OptionEntryBool smoothLines_;
464 	OptionEntryBool moreRes_;
465 	OptionEntryBool fullScreen_;
466 	OptionEntryBool noGLTexSubImage_;
467 	OptionEntryBool noGLCubeMap_;
468 	OptionEntryBool noGLSphereMap_;
469 	OptionEntryBool noGLExt_;
470 	OptionEntryBool noGLMultiTex_;
471 	OptionEntryBool noGLEnvCombine_;
472 	OptionEntryBool noGLHardwareMipmaps_;
473 	OptionEntryBool noGLDrawElements_;
474 	OptionEntryBool noGLShaders_;
475 	OptionEntryBool simpleWaterShaders_;
476 	OptionEntryBool noThreadedDraw_;
477 	OptionEntryBool invertElevation_;
478 	OptionEntryBool invertMouse_;
479 	OptionEntryBool noSound_;
480 	OptionEntryBool noCountDownSound_;
481 	OptionEntryBool noChannelTextSound_;
482 	OptionEntryBool noMusic_;
483 	OptionEntryBool noShadows_;
484 	OptionEntryBool noGLShadows_;
485 	OptionEntryBool noGLObjectShadows_;
486 	OptionEntryBool noObjectReflections_;
487 	OptionEntryBool noParticleReflections_;
488 	OptionEntryBool noDrawParticles_;
489 	OptionEntryBool noSimulateParticles_;
490 	OptionEntryBool drawNormals_;
491 	OptionEntryBool drawGraphicalShadowMap_;
492 	OptionEntryBool drawGraphicalReflectionMap_;
493 	OptionEntryBool drawLines_;
494 	OptionEntryBool drawLandLOD_;
495 	OptionEntryFloat drawCullingDistance_;
496 	OptionEntryFloat drawFadeStartDistance_;
497 	OptionEntryBool drawCollisionGeoms_;
498 	OptionEntryBool drawCollisionSpace_;
499 	OptionEntryBool drawBoundingSpheres_;
500 	OptionEntryBool noLenseFlare_;
501 	OptionEntryBool noSkins_;
502 	OptionEntryBool depricatedNoArenaMoveVisibility_;
503 	OptionEntryBool deprecatedSortAccessories_;
504 	OptionEntryEnum accessorySortKey_;
505 	OptionEntryBool drawWater_;
506 	OptionEntryBool drawLandscape_;
507 	OptionEntryBool drawSurround_;
508 	OptionEntryBool drawPlayerNames_;
509 	OptionEntryBool drawPlayerIcons_;
510 	OptionEntryBool drawPlayerSight_;
511 	OptionEntryBool oldSightPosition_;
512 	OptionEntryBool largeSight_;
513 	OptionEntryBool drawPlayerColor_;
514 	OptionEntryBool drawPlayerHealth_;
515 	OptionEntryBool noTrees_;
516 	OptionEntryBool noTargets_;
517 	OptionEntryBool noDepthSorting_;
518 	OptionEntryBool hideFinalScore_;
519 	OptionEntryBool hideMenus_;
520 	OptionEntryBool noVBO_;
521 	OptionEntryBool depricatedNoModelLOD_;
522 	OptionEntryBool noModelLighting_;
523 	OptionEntryBool useLandscapeTexture_;
524 	OptionEntryBool useWaterTexture_;
525 	OptionEntryBool noSkyLayers_;
526 	OptionEntryBool noSkyMovement_;
527 	OptionEntryBool noPrecipitation_;
528 	OptionEntryBool frameTimer_;
529 	OptionEntryBool depricatedMoWaterBuffers_;
530 	OptionEntryBool noWaterMovement_;
531 	OptionEntryBool noWaterWaves_;
532 	OptionEntryBool noWaterLOD_;
533 	OptionEntryBool noLandLOD_;
534 	OptionEntryBool noWaterReflections_;
535 	OptionEntryBool noProgressBackdrop_;
536 	OptionEntryBool showContextHelp_;
537 	OptionEntryBool showContextInfo_;
538 	OptionEntryBool lowTreeDetail_;
539 	OptionEntryBool softwareMouse_;
540 	OptionEntryBool sideScroll_;
541 	OptionEntryBool storePlayerCamera_;
542 	OptionEntryBool restricedCameraMovement_;
543 	OptionEntryBool swapYAxis_;
544 	OptionEntryBool clientLogToFile_;
545 	OptionEntryInt clientLogState_;
546 	OptionEntryBool validateServerIp_;
547 	OptionEntryBool noPlanDraw_;
548 	OptionEntryBoundedInt antiAlias_;
549 	OptionEntryBoundedInt dialogSize_;
550 	OptionEntryBoundedInt texSize_;
551 	OptionEntryBoundedInt tankDetail_;
552 	OptionEntryBoundedInt effectsDetail_;
553 	OptionEntryBoundedInt deformRecalculationTime_;
554 	OptionEntryBoundedInt soundVolume_;
555 	OptionEntryBoundedInt ambientSoundVolume_;
556 	OptionEntryBoundedInt musicVolume_;
557 	OptionEntryInt screenWidth_;
558 	OptionEntryInt screenHeight_;
559 	OptionEntryString hostDescription_;
560 	OptionEntryString onlineUserName_;
561 	OptionEntryString onlineTankModel_;
562 	OptionEntryString onlineUserIcon_;
563 	OptionEntryVector onlineColor_;
564 	OptionEntryString buyTab_;
565 	OptionEntryString lastVersionPlayed_;
566 	OptionEntryBool focusPause_;
567 	OptionEntryBool openGLWarnings_;
568 
569 private:
570 	OptionsDisplay();
571 	virtual ~OptionsDisplay();
572 
573 };
574 
575 #endif
576