Difference between revisions of "Subobject and subsystem properties"

From FreeSpace Wiki
Jump to: navigation, search
m (moved Subobject Properties to Subobject and Subsystem Properties: No point in listing the data separately.)
(added subsys properties)
Line 1: Line 1:
This page documents the properties that can be applied to subobjects.  
+
This page documents the properties that can be applied to subobjects and to subsystems in their respective properties data in the [[Model files|model file]].
 +
 
 +
==Important notes==
 +
* Subobject/subsystem properties data is not parsed in order.
 +
* Occasionally an option may lack a trailing 'terminating character' like ':' or '=' from its description. In these cases any character can be used as the trailing 'terminating character'.
 +
* Buffer size of 256 is reserved for the characters in properties data.
 +
 
 +
==Subsystem Properties==
 +
* These can be applied to subsystems both with and without separate subobject.
 +
{| border=0 align=right cellpadding=2 cellspacing=1 style="margin: 0 0 1em 1em; background: #202020; border: 1px #AA2020 solid; border-collapse: collapse; font-size: 95%;"
 +
! colspan="2" style="color: white; height: 30px; background: #512020; 70%;"|'''''Key strings and their order for setting subsystems'''''
 +
|-
 +
| align="center"| ''engine''
 +
| Engine subsystem
 +
|-
 +
| align="center"| ''radar''
 +
| Radar dish subsystem
 +
|-
 +
| align="center"| ''turret''
 +
| Turret subsystem
 +
|-
 +
| align="center"| ''navigation''
 +
| Navigation subsystem
 +
|-
 +
| align="center"| ''communication''
 +
| Communication subsystem
 +
|-
 +
| align="center"| ''weapon''
 +
| Weapon control subsystem
 +
|-
 +
| align="center"| ''sensor''
 +
| Sensor subsystem
 +
|-
 +
| align="center"| ''solar''
 +
| Solar panel subsystem
 +
|-
 +
| align="center"| ''gas''
 +
| Gas collector subsystem
 +
|-
 +
| align="center"| ''activator''
 +
| '''''unused'''''
 +
|-
 +
|}
 +
 
 +
===$name===
 +
*Defines the alternate name for the subsystem (''string'')
 +
*Alternate subsystem names offer an alternative option for setting this via [[ships.tbl]] file or via mission data.
 +
 
 +
===$fov===
 +
*Valid only if the true subobject name (not the alternate defined above) contains string "turret" but not strings "radar" or "engine"
 +
*Defines the firing arc of the turret in degrees (''integer'')
 +
*Defaults to 180 degrees if omitted.
 +
 
 +
===$crewspot===
 +
*Valid only if the true subobject name (not the alternate defined above) contains string "turret" but not strings "radar" or "engine"
 +
*Marks the turret as 'crewspot'
 +
*Defines the name of the crewspot (''string'')
 +
*No actual function
 +
 
 +
===$triggered:===
 +
*Defines the subsystem as a rotating subsystem which can be triggered (animated) via [[Animation Code]]
 +
 
 +
===$rotate===
 +
*Marks the subsystem as a rotating subsystem
 +
*Defines the rotation time for the subsystem (''float'')
 +
 
 +
====$pbank====
 +
*Marks the rotation as primary weapon rotation
 +
*Defines the associated weapon bank (''integer'')
 +
<!-- ANY DETAILS ?? -->
 +
 
 +
====$stepped====
 +
*Defines the rotation as an stepped instead of continuous rotation
 +
 
 +
=====$steps=====
 +
*Defines the number of steps in the animation (''integer'')
 +
*Defaults to 8
 +
 
 +
=====$t_paused=====
 +
*Defines the pause time between steps (''float'')
 +
*Defaults to 2
 +
 
 +
=====$t_transit=====
 +
*Defines the movement time between pauses (''float'')
 +
*Defaults to 2
 +
 
 +
=====$fraction_accel=====
 +
*Defines the time used for acceleration (''float'')
 +
*Is between 0 .. 0.5
 +
*Defaults to 0.3
  
 
==Subobject Properties==
 
==Subobject Properties==
''TODO: For now, just listing everything parsed in the code (a more logical organization probably exists)''
+
* These can be applied only to subsystem with their own separate subobject.
 
===$triggered:===
 
===$triggered:===
 
Non-turret subobjects require this property in order to be animatable using [[Animation_Code|Animation Code]].
 
Non-turret subobjects require this property in order to be animatable using [[Animation_Code|Animation Code]].

Revision as of 04:38, 30 May 2010

This page documents the properties that can be applied to subobjects and to subsystems in their respective properties data in the model file.

Important notes

  • Subobject/subsystem properties data is not parsed in order.
  • Occasionally an option may lack a trailing 'terminating character' like ':' or '=' from its description. In these cases any character can be used as the trailing 'terminating character'.
  • Buffer size of 256 is reserved for the characters in properties data.

Subsystem Properties

  • These can be applied to subsystems both with and without separate subobject.
Key strings and their order for setting subsystems
engine Engine subsystem
radar Radar dish subsystem
turret Turret subsystem
navigation Navigation subsystem
communication Communication subsystem
weapon Weapon control subsystem
sensor Sensor subsystem
solar Solar panel subsystem
gas Gas collector subsystem
activator unused

$name

  • Defines the alternate name for the subsystem (string)
  • Alternate subsystem names offer an alternative option for setting this via ships.tbl file or via mission data.

$fov

  • Valid only if the true subobject name (not the alternate defined above) contains string "turret" but not strings "radar" or "engine"
  • Defines the firing arc of the turret in degrees (integer)
  • Defaults to 180 degrees if omitted.

$crewspot

  • Valid only if the true subobject name (not the alternate defined above) contains string "turret" but not strings "radar" or "engine"
  • Marks the turret as 'crewspot'
  • Defines the name of the crewspot (string)
  • No actual function

$triggered:

  • Defines the subsystem as a rotating subsystem which can be triggered (animated) via Animation Code

$rotate

  • Marks the subsystem as a rotating subsystem
  • Defines the rotation time for the subsystem (float)

$pbank

  • Marks the rotation as primary weapon rotation
  • Defines the associated weapon bank (integer)

$stepped

  • Defines the rotation as an stepped instead of continuous rotation
$steps
  • Defines the number of steps in the animation (integer)
  • Defaults to 8
$t_paused
  • Defines the pause time between steps (float)
  • Defaults to 2
$t_transit
  • Defines the movement time between pauses (float)
  • Defaults to 2
$fraction_accel
  • Defines the time used for acceleration (float)
  • Is between 0 .. 0.5
  • Defaults to 0.3

Subobject Properties

  • These can be applied only to subsystem with their own separate subobject.

$triggered:

Non-turret subobjects require this property in order to be animatable using Animation Code.

$dumb_rotate

$special

$no_collisions

Prevents collision detection from occurring on this subobject and all of its children (recursively).

$nocollide_this_only

Prevents collision detection from occurring on this subobject only (children collide normally).

$collide_invisible

Allows full collision detection for things painted with the special "invisible" texture (normally ships collide but weapons do not)

$gun_rotation

$detail_box

$box_min

$box_max

$uvec

The "up" direction of a multipart turret. Usually it stands perpendicular to the ship surface. Doesn't need to be specified for multiparts with a vertical rotation axis.

$fvec

The direction the front of a multipart turret will be facing. Doesn't need to be specified for multiparts with a vertical rotation axis.

$name