Skip to content
Flávio Monteiro edited this page Dec 5, 2016 · 27 revisions

What are config variables?

Config variables, short for Configuration Variables, are all settings that OpenSpades uses.

Some of them may be not avaiable to change via GUI or break the game if changed incorrectly, that's why it's recommended to read this guide first before changing them.

How to update config variables?

Config. Variables can be changed by 3 ways.

  • Startup Configuration Window's "Advanced" tab
  • Anytime during gameplay, by typing /VARIABLE_NAME VALUE in the chat window
    • This is an unsafe operation; some variables don't support run-time update and it might lead to an unexpected result or application crash
  • Directly editing the SPConfig.cfg file (not recommended)

How to reset all settings?

Currently, the only way to reset settings is to delete the config file SPConfig.cfg. This list shows common locations of the config file:

  • %APPDATA%\OpenSpades\Resources in Windows
    • C:\Users\yourusername\AppData\Roaming\OpenSpades\Resources in Windows Vista and later
  • ~/Library/Application Support/OpenSpades/Resources in OS X
  • $XDG_DATA_HOME/openspades/Resources in Linux

(excerpted from Directories)

Note: There is also an GitHub issue to provide a GUI for that in a next version. (maybe 0.1.0?)

Trivia

Each advanced setting has a prefix, which is based on the Quake 3 - Arena settings scheme.

  • r_: renderer related
  • s_: sound related
  • cg_: client game logic related
  • cl_: OpenSpades client related
  • core_: OpenSpades core code related

Source: here

Note: cg_Minimap_* variables are weirdly mapped to uppercase on the first letter, for some reason.

Variable list (0.1.0)

This is the variable list for 0.1.0:

  • cg_Minimap_Player_Color
  • cg_Minimap_Player_Icon
  • cg_alerts
  • cg_animations
  • cg_autoFocusSpeed
  • cg_blood
  • cg_centerMessage
  • cg_chatBeep
  • cg_chatHeight
  • cg_debugAim
  • cg_debugCorpse
  • cg_debugHitTest
  • cg_depthOfFieldAmount
  • cg_ejectBrass
  • cg_fov
  • cg_hideHud
  • cg_hitIndicator
  • cg_holdAimDownSight
  • cg_invertMouseY
  • cg_keyAltAttack
  • cg_keyAttack
  • cg_keyAutoFocus
  • cg_keyCaptureColor
  • cg_keyChangeMapScale
  • cg_keyCrouch
  • cg_keyFlashlight
  • cg_keyGlobalChat
  • cg_keyJump
  • cg_keyLastTool
  • cg_keyLimbo
  • cg_keyMoveBackward
  • cg_keyMoveForward
  • cg_keyMoveLeft
  • cg_keyMoveRight
  • cg_keyReloadWeapon
  • cg_keySaveMap
  • cg_keySceneshot
  • cg_keyScoreboard
  • cg_keyScreenshot
  • cg_keySneak
  • cg_keySprint
  • cg_keyTeamChat
  • cg_keyToggleMapZoom
  • cg_keyToolBlock
  • cg_keyToolGrenade
  • cg_keyToolSpade
  • cg_keyToolWeapon
  • cg_killfeedHeight
  • cg_lastQuickConnectHost
  • cg_manualFocus
  • cg_minimapSize
  • cg_mouseExpPower
  • cg_mouseSensitivity
  • cg_particles
  • cg_playerName
  • cg_playerNameIsSet
  • cg_playerNameX
  • cg_playerNameY
  • cg_playerNames
  • cg_protocolVersion
  • cg_ragdoll
  • cg_screenshotFormat
  • cg_serverAlert
  • cg_serverlistSort
  • cg_shake
  • cg_smp
  • cg_stats
  • cg_switchToolByWheel
  • cg_thirdperson
  • cg_unicode
  • cg_waterImpact
  • cg_zoomedMouseSensScale
  • cl_serverListUrl
  • cl_showStartupWindow
  • core_jpegQuality
  • core_locale
  • core_numDispatchQueueThreads
  • core_win32BeginPeriod
  • r_allowSoftwareRendering
  • r_blitFramebuffer
  • r_bloom
  • r_cameraBlur
  • r_colorBits
  • r_colorCorrection
  • r_corpseLineCollision
  • r_debugTiming
  • r_depthBits
  • r_depthOfField
  • r_depthOfFieldMaxCoc
  • r_dlights
  • r_exposureValue
  • r_fogShadow
  • r_fullscreen
  • r_fxaa
  • r_hdr
  • r_hdrAutoExposure
  • r_hdrGamma
  • r_highPrec
  • r_ignoreGLErrors
  • r_lens
  • r_lensFlare
  • r_lensFlareDynamic
  • r_mapSoftShadow
  • r_maxAnisotropy
  • r_modelShadows
  • r_multisamples
  • r_occlusionQuery
  • r_optimizedVoxelModel
  • r_physicalLighting
  • r_radiosity
  • r_renderer
  • r_shadowMapSize
  • r_softParticles
  • r_sparseShadowMaps
  • r_srgb
  • r_srgb2D
  • r_swNumThreads
  • r_swStatistics
  • r_swUndersampling
  • r_videoHeight
  • r_videoWidth
  • r_vsync
  • r_water
  • s_alDriver
  • s_alErrorFatal
  • s_alPreciseErrorCheck
  • s_audioDriver
  • s_eax
  • s_maxPolyphonics
  • s_ysrBufferSize
  • s_ysrDebug
  • s_ysrDriver
  • s_ysrNumThreads

cg_centerMessage

(stub)

cg_manualFocus (0.0.13 and later)

Enables the realistic depth of field mode. Not suitable for the normal gameplay.

The default operation of this mode is autofocus. The focus can be controlled via mouse wheel. Press the mouse wheel to turn it back to autofocus.

cg_playerNames

(not to be confused with cg_playerName)

(stub)

cg_smp

When this is set to non-zero value, rendering is done in another thread through SMP Renderer. This might improve performance especially on multi-core system, but you might experience increased input latency.

SMP Renderer is somewhat instable, so use it at your own risk. It actually can be even slower on some systems.

core_numDispatchQueueThreads

Controls the maximum number of parallelism for background tasks including:

  • Environmental lighting (radiosity and ambient occlusion)
  • Ragdoll physics
  • Ocean water simulation
  • Software rendering?

It accepts a non-zero integer or auto, which indicates (stub).

Defaults to auto.

r_blitFramebuffer

Uses GL_EXT_framebuffer_blit for possibly faster post-processing.

r_colorBits

Not implemented

r_corpseLineCollision

Enables more accurate ragdoll physics sacrificing some CPU time.

r_debugTiming

(sub)

r_depthBits

Not implemented

r_hdrAutoExposure

(stub)

r_hdrGamma

(stub)

r_highPrec

  • 0: 24-bit color framebuffers are used as render targets.
  • 1 (default): 30-bit color framebuffers are used as render targets for smoother gradients. Not supported by some older video cards.

Ignored if r_hdr is not zero, in which case 48-bit FP color framebuffers are always used.

r_ignoreGLErrors

Skips OpenGL error detection. Setting this to 1 may improve performance.

r_radiosity

  • 0: Cheap ambient lighting.
  • 1: Enables global illumination (environmental lighting). Requires more than 256MB of VRAM.
  • 2: Enables global illumination with extra precision. Requires more than 512MB of VRAM.

r_shadowMapSize

Specifies the size of shadow maps. Must be a power of two.