Difference between revisions of "Oolite JavaScript Reference: Oolite"

From Elite Wiki
m (<code>jsVersionString</code>: Typo.)
Line 7: Line 7:
   
 
== Properties ==
 
== Properties ==
  +
=== <code>gameSettings</code> ===
  +
{{Oolite-class-added|1.74}}
  +
'''gameSettings''' : Object(read-only)
  +
This property allows an OXP to detect various game settings. It has the following read-only properties:
  +
  +
autosave : Boolean (true, false)
  +
gameWindow : Object ( see below )
  +
musicMode : String (either 'MUSIC_OFF', 'MUSIC_ON', or 'MUSIC_ITUNES')
  +
procedurallyTexturedPlanets : Boolean (true, false)
  +
reducedDetailGraphics : Boolean (true, false)
  +
shaderEffectsLevel : String (either 'SHADERS_OFF', 'SHADERS_SIMPLE', 'SHADERS_FULL', or 'SHADERS_NOT_SUPPORTED')
  +
speechOn : Boolean (true, false)
  +
wireframeGraphics : Boolean (true, false)
  +
  +
the gameWindow property contains the following
  +
height
  +
width
  +
fullScreen
  +
  +
These proposed properties are not finalised yet, and might be different when 1.74 is released.
  +
  +
 
=== <code>jsVersion</code> ===
 
=== <code>jsVersion</code> ===
 
'''jsVersion''' : Number (read-only)
 
'''jsVersion''' : Number (read-only)

Revision as of 15:54, 11 December 2009

Prototype: Object
Subtypes: none

This class was added in Oolite test release 1.70.

The Oolite class represents Oolite itself. It allows scripts to access information about the application. There is a global instance of Oolite, named oolite.

Properties

gameSettings

This class was added in Oolite test release 1.74.

gameSettings : Object(read-only)

This property allows an OXP to detect various game settings. It has the following read-only properties:

autosave : Boolean (true, false)
gameWindow : Object ( see below )
musicMode : String (either 'MUSIC_OFF', 'MUSIC_ON', or 'MUSIC_ITUNES')
procedurallyTexturedPlanets : Boolean (true, false)
reducedDetailGraphics : Boolean (true, false)
shaderEffectsLevel : String (either 'SHADERS_OFF', 'SHADERS_SIMPLE', 'SHADERS_FULL', or 'SHADERS_NOT_SUPPORTED')
speechOn : Boolean (true, false)
wireframeGraphics : Boolean (true, false)

the gameWindow property contains the following

height
width
fullScreen

These proposed properties are not finalised yet, and might be different when 1.74 is released.


jsVersion

jsVersion : Number (read-only)

The version of the JavaScript language implemented by this version of Oolite, multiplied by 100, as an integer. For instance, for JavaScript 1.7 (used in Oolite 1.70), this will be equal to 170.

jsVersionString

jsVersionString : String (read-only)

The version of the JavaScript language implemented by this version of Oolite, as a string. For instance, for JavaScript 1.7, this will be equal to "1.7".

version

version : Array (read-only)

The version of Oolite, as an array of version components. For instance, for Oolite 1.70 this will be equal to [1, 70]. For a hypothetical version 1.70.1, it will be equal to [1, 70, 1].

versionString

versionString : String (read-only)

The version of Oolite, as a string. For instance, for Oolite 1.70 this will be equal to "1.70". For a hypothetical version 1.70.1, it will be equal to "1.70.1".


Methods

compareVersion

function compareVersion(versionSpec) : Number

Compare the version of Oolite to versionSpec, which may be either a string or an array (in the format given by version). If the current version of Oolite is less than versionSpec, 1 is returned. If the current version of Oolite is greater than versionSpec, -1 is returned. If they are equal, 0 is returned. Example:

if (0 < oolite.compareVersion("1.80"))
{
    // Oolite version is older than 1.80.
    Log("An old version of Oolite (" + oolite.versionString + ") is in use. Some features of SuperDuperOXP will not be available.")
}
else
{
    // Enable advanced features here.
}