Difference between revisions of "Planetinfo.plist"

From Elite Wiki
(Percent Land)
(Added custom planets info)
Line 1: Line 1:
 
'''planetinfo.plist''' in 'AddOns/Config' contains a dictionary for each of systems for which you wish to set custom data. A list of all galaxies and planets can be found [[Oolite planet list|here]].
 
'''planetinfo.plist''' in 'AddOns/Config' contains a dictionary for each of systems for which you wish to set custom data. A list of all galaxies and planets can be found [[Oolite planet list|here]].
  
Each system is keyed by a string consisting of the galaxy number (0..7) followed by a space and then the planet number (0..255), eg.
+
=Universal settings=
'''<key>0 7</key>'''
 
'''<dict>'''
 
'''...'''
 
'''</dict>'''
 
specifies system 7, in galaxy 0, ''Lave''.
 
  
 
+
Some options can be applied to the entire universe, such as ambient lighting levels, eg.
You can also specify a position in interstellar space, eg.
+
  '''<key>universal</key>'''
  '''<key>interstellar: 0 7 129</key>'''
 
 
  '''<dict>'''
 
  '''<dict>'''
 
  '''...'''
 
  '''...'''
 
  '''</dict>'''
 
  '''</dict>'''
specifies the space in galaxy 0 between systems 7 and 129, ''Lave'' and ''Zaonce''.
+
Universal options can be overriden by specifying the same option for a specific system or location in interstellar space. Obviously, not all options make sense to apply to the whole universe.
 
 
Conditions for interstellar space in general can be set with the “interstellar space” key (Oolite 1.69 and earlier, ignored in earlier versions).
 
  
 +
=Interstellar space settings=
  
Some options can be applied to the entire universe, such as ambient lighting levels, eg.
+
Some options can be applied to the entire interstellar space.
  '''<key>universal</key>'''
+
  '''<key>interstellar space</key>'''
 
  '''<dict>'''
 
  '''<dict>'''
 
  '''...'''
 
  '''...'''
 
  '''</dict>'''
 
  '''</dict>'''
Universal options can be overriden by specifying the same option for a specific system or location in interstellar space. Obviously, not all options make sense to apply to the whole universe.
+
(Oolite 1.69 and earlier, ignored in earlier versions). Interstellar space options can be overriden by specifying the same option for a specific system or location in interstellar space.
  
 +
=System settings=
  
Finally you can also add keys for your own custom planets and moons, eg.
+
Each system is keyed by a string consisting of the galaxy number (0..7) followed by a space and then the planet number (0..255), eg.
  '''<key>LavesPurpleMoon</key>
+
  '''<key>0 7</key>'''
 
  '''<dict>'''
 
  '''<dict>'''
 
  '''...'''
 
  '''...'''
 
  '''</dict>'''
 
  '''</dict>'''
 +
specifies system 7, in galaxy 0, ''Lave''.
  
  
Each of the following properties can be set (but, notably, not the location, which is hard coded into the system seed value):  
+
Each of the following properties can be set (but, notably, not the location of the main planet, which is hard coded into the system seed value):  
  
 
==Government==
 
==Government==
Line 139: Line 134:
  
  
==Texture==
+
==Ambient lighting==
The replacement texture to be used by the planet. Introduced with Oolite test release 1.73
+
 
 +
(Oolite version >= 1.64) Sets how much ambient light (shed by stars and nebulae) illuminates the dark side of objects like planets and ships. Values should typically be between 0.0 and 1.0 (1.0 is the default) but can be higher for a flat lit, cartoon-like effect.
  
 
Example:
 
Example:
  <key>texture</key>  
+
  <key>ambient_level</key>
  <string>newPlanetTexture.png</string>
+
  <real>0.0</real>
  
  
 +
==Atmosphere rotational velocity==
  
==Percent Land==
+
Sets how fast the atmosphere is rotating. (A random value between 0.0 to 0.03 is the default).
The percentage of the planet occupied by land.
 
  
 +
Example:
 +
<key>atmosphere_rotational_velocity</key>
 +
<real>0.1</real>
  
Example:
 
<key>percent_land</key>
 
<integer>0..100</integer>
 
  
 
==Land HSB Color==
 
==Land HSB Color==
Line 163: Line 159:
 
  <string>0.0..1.0 0.0..1.0 0.0..1.0</string>  
 
  <string>0.0..1.0 0.0..1.0 0.0..1.0</string>  
  
 +
 +
==Percent Land==
 +
The percentage of the planet occupied by land.
 +
 +
 +
Example:
 +
<key>percent_land</key>
 +
<integer>0..100</integer>
  
 
==Sea HSB Color==
 
==Sea HSB Color==
Line 232: Line 236:
 
  <key>sky_blur_scale</key>  
 
  <key>sky_blur_scale</key>  
 
  <real>0.0 .. 128.0 or more</real> <!-- typically 12 -->  
 
  <real>0.0 .. 128.0 or more</real> <!-- typically 12 -->  
 
==Ambient lighting==
 
 
(Oolite version >= 1.64) Sets how much ambient light (shed by stars and nebulae) illuminates the dark side of objects like planets and ships. Values should typically be between 0.0 and 1.0 (1.0 is the default) but can be higher for a flat lit, cartoon-like effect.
 
 
Example:
 
<key>ambient_level</key>
 
<real>0.0</real>
 
  
 
==Script_actions==
 
==Script_actions==
Line 249: Line 245:
 
     <string>addShipsAtPrecisely: my_ship 2 wpm 0 0 15000</string>
 
     <string>addShipsAtPrecisely: my_ship 2 wpm 0 0 15000</string>
 
  </array>
 
  </array>
 +
 +
 +
==Texture==
 +
The replacement texture to be used by the planet. Introduced with Oolite test release 1.73
 +
 +
Example:
 +
<key>texture</key>
 +
<string>newPlanetTexture.png</string>
 +
  
 
==Terraforming Example==
 
==Terraforming Example==
Line 295: Line 300:
 
         <real>32.0</real>  
 
         <real>32.0</real>  
 
     </dict>
 
     </dict>
 +
 +
=Specific Interstellar settings=
 +
 +
You can also specify a position in interstellar space, eg.
 +
'''<key>interstellar: 0 7 129</key>'''
 +
'''<dict>'''
 +
'''...'''
 +
'''</dict>'''
 +
specifies the space in galaxy 0 between systems 7 and 129, ''Lave'' and ''Zaonce''.
 +
 +
Conditions for interstellar space in general can be set with the “interstellar space” key (Oolite 1.69 and earlier, ignored in earlier versions).
 +
 +
=Custom Planet settings=
 +
 +
Finally you can also add keys for your own custom planets and moons, e.g.
 +
'''<key>LavesPurpleMoon</key>
 +
'''<dict>'''
 +
'''...'''
 +
'''</dict>'''
 +
These planets are added by the addMoon or addPlanet commands. When addMoon is used the atmosphere building is skipped.
 +
 +
The contents of the <dict> could be:
 +
Orientation of the planet in space (seems not to be working correct)
 +
<key>orientation</key>
 +
<string>0.0 1.0 0.0 0.0</string>
 +
 +
Position of the planet in space. You can use 3 or 4 parameters. With only 3 parameters the internal absolute coordinates are used.
 +
<key>position</key>
 +
<string>0 -50000 0</string>
 +
or
 +
<key>position</key>
 +
<string>pwm 0 -50000 0</string>
 +
 +
Radius of the planet in km. e.g. a value of 500 is drawn with a radius of 5000 meters but in player dialogues this value is presented as 500 km.
 +
<key>radius</key>
 +
<string>500</string>
 +
 +
Rotation of the planet in rotations per second.
 +
<key>rotational_velocity</key>
 +
<string>1</string>
 +
 +
The name of the texture file that is used to wrap around the surface.
 +
<key>texture</key>
 +
<string>grid.png</string>
 +
 +
Seed value used to set planet surface parameters. When no seed is defined it uses random values.
 +
<key>seed</key>
 +
<string>1 2 3 4 5 6</string>
 +
 +
A lot of the keys for the main planet, like: '''percent_land''', can also used in custom planets.
 +
  
 
[[Category:Oolite]]
 
[[Category:Oolite]]
 
[[Category:Oolite scripting]]
 
[[Category:Oolite scripting]]

Revision as of 12:44, 25 April 2009

planetinfo.plist in 'AddOns/Config' contains a dictionary for each of systems for which you wish to set custom data. A list of all galaxies and planets can be found here.

Universal settings

Some options can be applied to the entire universe, such as ambient lighting levels, eg.

<key>universal</key>
<dict>
...
</dict>

Universal options can be overriden by specifying the same option for a specific system or location in interstellar space. Obviously, not all options make sense to apply to the whole universe.

Interstellar space settings

Some options can be applied to the entire interstellar space.

<key>interstellar space</key>
<dict>
...
</dict>

(Oolite 1.69 and earlier, ignored in earlier versions). Interstellar space options can be overriden by specifying the same option for a specific system or location in interstellar space.

System settings

Each system is keyed by a string consisting of the galaxy number (0..7) followed by a space and then the planet number (0..255), eg.

<key>0 7</key>
<dict>
...
</dict>

specifies system 7, in galaxy 0, Lave.


Each of the following properties can be set (but, notably, not the location of the main planet, which is hard coded into the system seed value):

Government

0: Anarchy

1: Feudal

2: Multi-Governmental

3: Dictatorship

4: Communist

5: Confederacy

6: Democracy

7: Corporate State


Economy

0: Rich Industrial

1: Average Industrial

2: Poor Industrial

3: Mainly Industrial

4: Mainly Agricultural

5: Rich Agricultural

6: Average Agricultural

7: Poor Agricultural


Tech Level

An integer between 0 and 13 indicating the sophistication of the planets technology.


Example:

<key>techlevel</key>
<integer>13</integer> 


Population

An integer between 0 and 67 indicating the amount of inhabitants of a planet.


Example:

<key>population</key> 
<integer>23</integer> 


Productivity

An integer indicating the productivity of a planet.


Example:

<key>productivity</key> 
<integer>1000 </integer> 


Radius

An integer between 3000 and 7000 indicating the radius of a planet.


Example:

<key>radius</key> 
<integer>3000..7000 </integer> 


Name

The name of the planet.


Example:

<key>name</key> 
<string>The planet's name</string>

Warning: This name is only used at the "Short Range Chart" (F6) and the "Data Screen" (F7). On the "Long Range Screen" you still will see the old name. And also %I and %H will refer to the original name. e.g the docking computer and all kind of other stuff uses these codes with original names..

Inhabitants

A name of the inhabitants of the planet.


Example:

<key>inhabitants</key> 
<string>Human Colonials</string> 


Description

A short description of the planet.


Example:

<key>description</key> 
<string>Really, anything you want to say about the place!</string> 


Ambient lighting

(Oolite version >= 1.64) Sets how much ambient light (shed by stars and nebulae) illuminates the dark side of objects like planets and ships. Values should typically be between 0.0 and 1.0 (1.0 is the default) but can be higher for a flat lit, cartoon-like effect.

Example:

<key>ambient_level</key>
<real>0.0</real>


Atmosphere rotational velocity

Sets how fast the atmosphere is rotating. (A random value between 0.0 to 0.03 is the default).

Example:

<key>atmosphere_rotational_velocity</key>
<real>0.1</real>


Land HSB Color

Example:

<key>land_hsb_color</key> 
<string>0.0..1.0 0.0..1.0 0.0..1.0</string> 


Percent Land

The percentage of the planet occupied by land.


Example:

<key>percent_land</key> 
<integer>0..100</integer>

Sea HSB Color

Example:

<key>sea_hsb_color</key> 
<string>0.0..1.0 0.0..1.0 0.0..1.0</string> 


Sky RGB Colors

These are rgb values (from 0.0 to 1.0) for the two colours between which the colour of the stars (and nebulaesque blurs) vary, ordered r1 g1 b1 r2 g2 b2 where (r1 g1 b1) defines the first colour and (r2 g2 b2) the second.

Example:

<key>sky_rgb_colors</key> 
<string>0.0..1.0 0.0..1.0 0.0..1.0 0.0..1.0 0.0..1.0 0.0..1.0</string>

Alternatively, starting with Oolite 1.69, two colour specifiers may be used:

<key>sky_color_1</key>
<string>redColor</string>
<key>sky_color_2</key>
<dict>
    <key>hue</key>
    <real>60</real>
    <key>brightness</key>
    <real>0.8</real>
</dict>


Station

The type of station orbiting the planet.


Example:

<key>station</key> 
<string>coriolis..dodec..special</string> 


Station Roll

The speed at which the station rotates (as with all rotational velocities this is in radians per second).


Example:

<key>station_roll</key> 
<string>0.5</string>

Sky Blur Cluster Chance

This is used for creating nebulae (typically 0.85)


Example:

<key>sky_blur_cluster_chance</key> 
<real>0.85</real>

Sky Blur Alpha

Typically 0.1


Example:

<key>sky_blur_alpha</key> 
<real>0.0 .. 1.0</real>


Sky Blur Scale

Example:

<key>sky_blur_scale</key> 
<real>0.0 .. 128.0 or more</real>  

Script_actions

Scrip_actions work exactly as in shipData.plist. e.g.

<key>script_actions</key>
<array>
    <string>addShipsAtPrecisely: my_ship 2 wpm 0 0 15000</string>
</array>


Texture

The replacement texture to be used by the planet. Introduced with Oolite test release 1.73

Example:

<key>texture</key> 
<string>newPlanetTexture.png</string>


Terraforming Example

For the planet Lave, you would use the key '0 7' (planet 7 in galaxy 0) Then you set the values. The following example sets Lave's sea to blue, land to green, and land to sea ratio to 75%.

Code:

 <?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 
<plist version="1.0"> 
<dict> 
   <key>0 7</key> 
   <dict> 
      <key>percent_land</key> 
      <integer>75</integer> 
      <key>land_hsb_color</key> 
      <string>0.333 1.0 1.0</string> 
      <key>sea_hsb_color</key> 
      <string>0.667 1.0 1.0</string> 
   </dict> 
</dict> 
</plist>

If you press '!' on a long range chart, it'll dump the galaxy information to files in the same folder as Oolite. That'll give you a list of the planet numbers, and some other information about each planet for the given galaxy.

Then you can override any of the settings listed above, for example to change Zaatxe's (Galaxy 0 Planet 8) inhabitants into blue frogs you'd enter

Code:

    <key>0 8</key> 
   <dict> 
        <key>inhabitants</key> 
        <string>Blue Frogs</string> 
   </dict> 


You can use any or all of the keys in each of the entries. It's probably best to only use the key's you want to change. So, another example, to change the sky_blur_xxx settings for Zaonce (Galaxy 0 Planet 129) to big, heavily clustered, but pale blurs - you'd enter

Code:

    <key>0 129</key> 
   <dict> 
        <key>sky_blur_cluster_chance</key> 
        <real>0.9</real> 
        <key>sky_blur_alpha</key> 
        <real>0.1</real> 
        <key>sky_blur_scale</key> 
        <real>32.0</real> 
   </dict>

Specific Interstellar settings

You can also specify a position in interstellar space, eg.

<key>interstellar: 0 7 129</key>
<dict>
...
</dict>

specifies the space in galaxy 0 between systems 7 and 129, Lave and Zaonce.

Conditions for interstellar space in general can be set with the “interstellar space” key (Oolite 1.69 and earlier, ignored in earlier versions).

Custom Planet settings

Finally you can also add keys for your own custom planets and moons, e.g.

<key>LavesPurpleMoon</key>
<dict>
...
</dict>

These planets are added by the addMoon or addPlanet commands. When addMoon is used the atmosphere building is skipped.

The contents of the <dict> could be: Orientation of the planet in space (seems not to be working correct)

<key>orientation</key>
<string>0.0 1.0 0.0 0.0</string>

Position of the planet in space. You can use 3 or 4 parameters. With only 3 parameters the internal absolute coordinates are used.

<key>position</key>
<string>0 -50000 0</string>

or

<key>position</key>
<string>pwm 0 -50000 0</string>

Radius of the planet in km. e.g. a value of 500 is drawn with a radius of 5000 meters but in player dialogues this value is presented as 500 km.

<key>radius</key>
<string>500</string>

Rotation of the planet in rotations per second.

<key>rotational_velocity</key>
<string>1</string>

The name of the texture file that is used to wrap around the surface.

<key>texture</key>
<string>grid.png</string>

Seed value used to set planet surface parameters. When no seed is defined it uses random values.

<key>seed</key>
<string>1 2 3 4 5 6</string>

A lot of the keys for the main planet, like: percent_land, can also used in custom planets.