Skip to content

Controllers

Chris Adderley edited this page Jul 17, 2020 · 10 revisions

Controllers define the way your effects interact with the game, for example by changing with engine throttle or atmospheric effects. When configuring your effect, you can add Controllers by adding CONTROLLER nodes, which look like this.

CONTROLLER
{
  // The name of the controller, which should be unique
  name = atmosphereDepth
  // The ingame variable to link to. Only a few values are possible
  linkedTo = atmosphere_density
}

These variables work as follows:

  • Name: The name variable lets you give the controller a name. This will allow Effect Modifiers to link to a controller, so make sure it is something you like writing and not too long.
  • linkedTo: The ingame field that controls how it behaves. Valid values are currently throttle, atmosphere_density, random, custom

When configuring your effect module, it is usually enough to have a throttle controller and an atmospheric depth controller. However, you can add other controllers, each type is detailed below

Throttle Controller

A throttle controller links to the engine throttle. It has no special parameters beyond a value of linkedTo of throttle

CONTROLLER
{
  // The name of the controller, which should be unique
  name = throttle
  // The ingame variable to link to. Only a few values are possible
  linkedTo = throttle
}

Atmosphere Depth Controller

This controller links to the atmospheric depth. It has no special parameters beyond a value of linkedTo of atmosphere_depth

CONTROLLER
{
  // The name of the controller, which should be unique
  name = atmosphereDepth
  // The ingame variable to link to. Only a few values are possible
  linkedTo = atmosphere_depth
}

Randomness Controller

This controller creates randomness that can be used in effects. It has a value of linkedTo of random. It has an additional parameter of range, which is a field used to specify the minimum and maximum of the randomness generated.

CONTROLLER
{
  // The name of the controller, which should be unique
  name = random
  // The ingame variable to link to. Only a few values are possible
  linkedTo = random
  range = -1,1
}

Custom Controller

This controller is a blank slate that can be operated on by other modules to drive effects. It has a value of linkedTo of custom.

CONTROLLER
{
  // The name of the controller, which should be unique
  name = custom1
  // The ingame variable to link to. Only a few values are possible
  linkedTo = custom
}

Clone this wiki locally