Difference between revisions of "Hidden Settings in Oolite"

From Elite Wiki
m (Miscellaneous)
(Removed preload-ship-meshes, which is unimplemented.)
Line 97: Line 97:
 
'''Key:''' disable-operation-queue-texture-loader<br />
 
'''Key:''' disable-operation-queue-texture-loader<br />
 
'''Type:''' boolean<br />
 
'''Type:''' boolean<br />
'''Default:''' <code>YES</code><br />
+
'''Default:''' <code>NO</code><br />
 
'''Introduced:''' 1.74<br />
 
'''Introduced:''' 1.74<br />
 
Test release 1.74 introduces a new way of managing texture loading, which should also automatically be used with GNUstep 0.19 and later. In the event that this causes problems, it can be disabled with this preference.
 
Test release 1.74 introduces a new way of managing texture loading, which should also automatically be used with GNUstep 0.19 and later. In the event that this causes problems, it can be disabled with this preference.
 
'''Key:''' preload-ship-meshes<br />
 
'''Type:''' boolean<br />
 
'''Default:''' <code>NO</code><br />
 
'''Introduced:''' 1.73<br />
 
If set to <code>YES</code>, ship meshes will be preloaded when the cache is rebuilt, reducing loading stutter later in the game. You may wish to disable this if you rebuild the cache often.
 
  
 
'''Key:''' universe-dump-debug-graphviz<br />
 
'''Key:''' universe-dump-debug-graphviz<br />

Revision as of 16:37, 4 September 2009

Oolite has a number of settings that are potentially interesting for advanced users – mostly those working on OXPs – or for those who are experiencing graphical problems. This article focuses on settings stored on disk; for other tools that can be used while the game is running, see Debugging Facilities in Oolite. All changes described below should be made when the game is not running.

All of these settings were introduced at some point after Oolite 1.65, and as such only apply to test releases at the moment.

Changing settings

Mac OS X

For Oolite under Mac OS X, there are several ways to modify these settings.

  • Some of them can be set with the Secrets preference pane for Mac OS X 10.5.
  • If you have Xcode tools installed, they can be edited with Property List Editor. The preferences file can be found at ~/Library/Preferences/org.aegidian.oolite.plist. (This is human-readable in Mac OS X 10.3.9 and earlier, but binary in 10.4 and later.)
  • On all systems, the defaults command line tool can be used. To set a boolean value, use: defaults write org.aegidian.oolite key -bool YES (or NO). For numerical values, use defaults write org.aegidian.oolite key 42.

Windows, Linux and other platforms

For platforms other than Mac OS X, you must edit a text file called .GNUstepDefaults. This file is created when you change a preference in Oolite, then quit.

Under Windows, this file is found at <Oolite installation directory>\oolite.app\GNUstep\Defaults\.GNUstepDefaults.

Under Linux and other platforms, the file is at ~/GNUstep/Defaults/.GNUstepDefaults. Since its name starts with a full stop, it is hidden by default. If you’re using Gnome/Nautilus, you can show it by selecting Show Hidden Files from the View menu. I assume Konqueror has something similar. In any event, it should be accessible from the command line.

The .GNUstepDefaults file is a kind of property list, but uses a slightly different syntax than usual; you may see values like <*I300>. However, when you edit it by hand it’s safe to write numbers in plain form, and booleans are written as YES or NO. All Oolite settings are in the dictionary named “oolite”.

Settings

Graphics

Key: sky-render-inset-coords
Type: boolean
Default: NO
If set to YES, the outermost edges of stars and nebula parts will be cut off. This is intended to help with a rendering problem where boxes are drawn around stars and nebula parts on certain systems with defective graphics drivers.

Key: max-texture-size
Type: integer
Default: Determined by graphics card and driver, typically 4096.
Minimum: 64
Limit the size (side length) of textures; textures larger than this size will be scaled down. The value should be a power of two; if it isn’t, it will be rounded up to the next power of two. Note: if reduced detail mode is enabled, textures with a side length larger than 512 pixels will be scaled down to half their size regardless of this setting. (This is done independently on each side; for instance, a 1024×2048 pixel texture will be scaled down to 512×1024 pixels, while a 512×1024 pixel texture will be scaled to 512×512 pixels.)

Key: texture-anisotropy-scale
Type: real
Default: 0.5
Range: 0–1
Introduced: 1.73/1.72.3 (implementation was previously broken) Anisotropic filtering is a technique that improves the clarity of textures seen at a shallow angle, but has a significant performance cost. This setting changes the amount of anisotropic filtering applied, with 0 meaning none and 1 meaning as much as supported by your graphics hardware and drivers.

Key: use-texture-lod-bias
Type: boolean
Default: YES
Introduced: 1.73
Texture LOD bias is an extension used to control the tradeoff between blurriness and graphical artefacts in textures. On certain ATi hardware under Windows, the use of texture LOD bias causes graphical problems, notably untextured stars and nebulae.

Logging

Key: logging-echo-to-stderr
Type: boolean
Default: NO
If set to YES, log messages are written to the standard error output as well as the log file. This is primarily useful when working on Oolite using Xcode.

Key: logging-show-app-name
Type: boolean
Default: NO
If set to YES, log messages will be prefixed with the name of the application, i.e. Oolite. This no longer serves any purpose and will be removed.

Key: logging-show-function
Type: boolean
Default: NO
If set to YES, log messages will be prefixed with the function or method in which they occurred. This is of limited use.

Key: logging-show-file-and-line
Type: boolean
Default: NO
If set to YES, log messages will be prefixed with the source code location where they occurred. This is potentially convenient for developers.

Key: logging-show-class
Type: boolean
Default: YES (but disabled when running the OXP verifier)
If set to YES, log messages will be prefixed with their log message class, an identifier that can be used to enable or disable messages by editing logcontrol.plist.

OXP verifier

Key: oxp-verifier-dump-debug-graphviz
Type: boolean
Default: NO
If set to YES, a Graphviz dot file named OXPVerifierStageDependencies.dot will be generated (in the log folder) when the OXP verifier is run. This is used to analyze and debug the OXP verifier and is of little interest to end-users, unless they like technical-looking graphs. (If you do like technical-looking graphs, see universe-dump-debug-graphviz below.)

Key: oxp-verifier-open-log
Type: boolean
Default: YES
Platform: Mac OS X only.
If set to YES, the log file will be opened after the OXP verifier is run.

Key: plist-schema-verifier-dump-structure
Type: boolean
Default: NO
If set to YES, OXP verifier logs will be filled with meaningless gobbledegook. (The plist schema verifier is a tool used to verify the structure of property lists, currently used only for shipdata.plist entries. This setting causes detailed information to be logged for every property list element inspected by the verifier. It is unlikely to be useful except for debugging the verifier.)

Miscellaneous

Key: always-flush-cache
Type: boolean
Default: NO
Introduced: 1.73
If set to YES, the data cache will be rebuilt each time Oolite runs. This is roughly equivalent to placing a brick on your shift key.

Key: disable-operation-queue-texture-loader
Type: boolean
Default: NO
Introduced: 1.74
Test release 1.74 introduces a new way of managing texture loading, which should also automatically be used with GNUstep 0.19 and later. In the event that this causes problems, it can be disabled with this preference.

Key: universe-dump-debug-graphviz
Type: boolean
Default: NO
If set to YES, various Graphviz dot files will be generated (in the log folder) when Oolite starts. At the moment, this means SystemDescription.dot, which is used to analyze the system_description table in descriptions.plist. This is primarily useful to those writing localization OXPs.