Difference between revisions of "HowTo:Edit Systems:Milkyway"

From VsWiki
Jump to: navigation, search
Line 5: Line 5:
 
Since they are autogenerated, these systems must have some rules so that the generator knows what to make. The rules are inside of the XML file '''[http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/vegastrike/data4.x/universe/milky_way.xml?rev=HEAD&content-type=text/vnd.viewcvs-markup universe/milky_way.xml]'''.
 
Since they are autogenerated, these systems must have some rules so that the generator knows what to make. The rules are inside of the XML file '''[http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/vegastrike/data4.x/universe/milky_way.xml?rev=HEAD&content-type=text/vnd.viewcvs-markup universe/milky_way.xml]'''.
  
==Example==
 
(parts of milky_way.xml)
 
<pre>
 
<galaxy>
 
  <systems>
 
...
 
...
 
    <sector name="enigma_sector">
 
      <var name="faction" value="confed"/>
 
      <var name="namelist" value="names.txt"/>
 
...
 
...
 
      <sector name="shelton">
 
        <var name="sun_radius" value="26000"/>
 
        <var name="faction" value="aera"/>
 
        <var name="planetlist" value="planets.aera.txt"/>
 
        <var name="compactness" value="5.8"/>
 
        <var name="num_stars" value="1"/>
 
        <var name="num_gas_giants" value="3"/>
 
        <var name="num_planets" value="8"/>
 
        <var name="num_moons" value="2"/>
 
        <var name="nebulae"  value="true"/>
 
        <var name="asteroids"  value="true"/>
 
        <var name="jumps" value="enigma_sector/harrison enigma_sector/repleetah
 
                                enigma_sector/mccaffrey enigma_sector/wetland"/>
 
        <var name="num_natural_phenomena" value="2"/>
 
        <var name="num_starbases" value="0"/>
 
        <var name="data" value="1039"/>
 
      </sector>
 
...
 
...
 
    </sector>
 
...
 
...
 
  </systems>
 
</galaxy>
 
</pre>
 
  
 
=XML Schema Description=
 
=XML Schema Description=
Line 177: Line 140:
 
* Type: BOOL  
 
* Type: BOOL  
 
* Description: If this is not true, then the system will clamp to the corresponding value of the unknown_sector/minlimit or maxlimit "system__  
 
* Description: If this is not true, then the system will clamp to the corresponding value of the unknown_sector/minlimit or maxlimit "system__  
 +
 +
=Examples=
 +
(parts of milky_way.xml)
 +
 +
<pre>
 +
<galaxy>
 +
  <systems>
 +
...
 +
...
 +
    <sector name="enigma_sector">
 +
      <var name="faction" value="confed"/>
 +
      <var name="namelist" value="names.txt"/>
 +
...
 +
...
 +
      <sector name="shelton">
 +
        <var name="sun_radius" value="26000"/>
 +
        <var name="faction" value="aera"/>
 +
        <var name="planetlist" value="planets.aera.txt"/>
 +
        <var name="compactness" value="5.8"/>
 +
        <var name="num_stars" value="1"/>
 +
        <var name="num_gas_giants" value="3"/>
 +
        <var name="num_planets" value="8"/>
 +
        <var name="num_moons" value="2"/>
 +
        <var name="nebulae"  value="true"/>
 +
        <var name="asteroids"  value="true"/>
 +
        <var name="jumps" value="enigma_sector/harrison enigma_sector/repleetah
 +
                                enigma_sector/mccaffrey enigma_sector/wetland"/>
 +
        <var name="num_natural_phenomena" value="2"/>
 +
        <var name="num_starbases" value="0"/>
 +
        <var name="data" value="1039"/>
 +
      </sector>
 +
...
 +
...
 +
    </sector>
 +
...
 +
...
 +
  </systems>
 +
</galaxy>
 +
</pre>
  
  
 
[[Category:HowTo|Edit Systems]]
 
[[Category:HowTo|Edit Systems]]
 
[[Category:Development|Edit Systems]]
 
[[Category:Development|Edit Systems]]

Revision as of 05:51, 29 March 2005

thumb_arrow_up.png Edit Systems

Autogenerated system files

Since they are autogenerated, these systems must have some rules so that the generator knows what to make. The rules are inside of the XML file universe/milky_way.xml.


XML Schema Description

  • <galaxy> ... </galaxy> -- Marks the beginning and end of the XML file.
    • <systems> ... </systems> -- You need it but I don't know why.
      • <sector ... > ... </sector> -- (repeatable) A sector containg a group of systems.
        • name -- the name of the sector. For, enigma_sector.
        • < var ... /> -- (repeatable) The default variables for the entire sector (var tag to be described later)
        • <sector ... > ... </sector> -- (repeatable) A system (to be a system it must be inside another sector tag).
          • name -- the name of the system, for example, heavens_gate.
          • < var ... /> -- (repeatable) To be described later

Variables

The < var name="" value="" /> tag

Variable Types

  • BOOL = boolean value = "true" or "false"
  • INT = integer
  • FLOAT = decimal number
  • FILENAME = the name of a file inside the universe directory.

Variables

If these variables are not set inside any of the sector tags (innermost overrides) the system will randomly use a number between the corresponding values of the unknown_sector/min and max "systems"

Here is a list of all of the possible names and their values so far:


sun_radius

  • Type: FLOAT
  • Description: The radius of the sun in the system.

compactness

  • Type: FLOAT
  • Description: The scale of the star system.

num_stars

  • Type: INT
  • Description: The number of suns in the system (to make binary systems).

num_gas_giants

  • Type: INT
  • Description: The number of gas giant planets.

num_planets

  • Type: INT
  • Description: The total number of inhabited(?) planets (not including gas giants).

num_moons

  • Type: INT
  • Description: The number of moons orbiting any planet.

nebulae

  • Type: BOOL
  • Description: Whether there are nebulae or not.

asteroids

  • Type: BOOL
  • Description: Whether there are asteroids or not.

num_natural_phenomena

  • Type: INT
  • Description: How many asteroids/nebulae/? there are in the system.

num_starbases

  • Type: INT
  • Description: how many bases there will be (may be changed around with dynamic universe)

faction

  • Type: FACTION NAME
  • Description: The name of the faction that owns the system.

data

  • Type: INT
  • Description: The random number seed that is used to generate the system.

num_jump

  • Type: INT
  • Description: The number of jump points to other systems there are.

namelist

  • Type: FILENAME
  • Description: a file containing a list of planet names to use.

starlist

  • Type: FILENAME
  • Description: A file with a list of colors/textures/sprites for different sizes of stars:
  • Example
"0 .3 1 .3 .1 stars/white_star.png"
"1000 .5 .5 1 .1 stars/white_star.png"
... means, "if the radius of the star is greater than or equal to 0 but less than 1000, then use RGB color (.3,1,.3), variance (?) of .1 and a texture/sprite filename of "stars/white_star.png". The same goes for 1000, etc.

gasgiantlist

  • Type: FILENAME
  • Description: A list of possible textures for gas giants. If a follows the filename, then it will have atmosphere. If a "^" and another filename follows the first filename then the next texture will be used for lights.

planetlist

  • Type: FILENAME
  • Description: A list of possible textures for non-gas-giant planets with the same rules as above.

moonlist

  • Type: FILENAME
  • Description: A list of possible textures for moons with the same rules as above.

unitlist

  • Type: FILENAME
  • Description: A list of distances and units with the following format:
  • Example: "U800^MiningBase U800^MiningBase A8480^AFieldBaseSparse&U400^MiningBase"
    • Format: "U"|"E"|"B"|"A"|"N"|"gas"|"jump"|"planet" distance-from-orbiting-planet "^" unit-name
    • Description
      • U = Unit
      • N = Nebula
      • B = Building
      • E = Enhancement
      • A = Asteroid.

You can have another object at the same coordinates by putting a "&" and another of these unit-distance pairs with no white space in between.

asteroidlist

  • Type: FILENAME
  • Description: A list of distances and units with the same format as unitlist.

nebulalist

  • Type: FILENAME
  • Description: A list of distances and units with the same format as unitlist.

ringlist

  • Type: FILENAME
  • Description: A list of textures of planetary rings.

backgroundlist

  • Type: FILENAME
  • Description: A list of background spheremaps/cubemaps without the extension (.png,.jpg,etc.).

force

  • Type: BOOL
  • Description: If this is not true, then the system will clamp to the corresponding value of the unknown_sector/minlimit or maxlimit "system__

Examples

(parts of milky_way.xml)

<galaxy>
  <systems>
 ...
 ...
    <sector name="enigma_sector">
      <var name="faction" value="confed"/>
      <var name="namelist" value="names.txt"/>
 ...
 ...
      <sector name="shelton">
        <var name="sun_radius" value="26000"/>
        <var name="faction" value="aera"/>
        <var name="planetlist" value="planets.aera.txt"/>
        <var name="compactness" value="5.8"/>
        <var name="num_stars" value="1"/>
        <var name="num_gas_giants" value="3"/>
        <var name="num_planets" value="8"/>
        <var name="num_moons" value="2"/>
        <var name="nebulae"   value="true"/>
        <var name="asteroids"   value="true"/>
        <var name="jumps" value="enigma_sector/harrison enigma_sector/repleetah
                                 enigma_sector/mccaffrey enigma_sector/wetland"/>
        <var name="num_natural_phenomena" value="2"/>
        <var name="num_starbases" value="0"/>
        <var name="data" value="1039"/>
      </sector>
 ...
 ...
    </sector>
 ...
 ...
  </systems>
</galaxy>