CEG-Classes: Difference between revisions

From Spring
Jump to navigationJump to search
No edit summary
No edit summary
Line 1: Line 1:
'''Source:''' https://spring.clan-sy.com/svn/spring/trunk/rts/Sim/Projectiles/
https://spring.clan-sy.com/svn/spring/trunk/rts/Sim/Projectiles/Unsynced/
== Common Properties ==
== Common Properties ==
All classes have the following properties, although not all of them use them:
All classes have the following properties, although not all of them use them:
Line 22: Line 26:
*The spawned CEG still checks conditions, so if you want to, say, spawn an effect only if it is in water ''and'' doesn't hit a unit, you can give the CExpGenSpawner <code>nounit = 1;</code> and the spawned <code>CEG water = 1;</code>.
*The spawned CEG still checks conditions, so if you want to, say, spawn an effect only if it is in water ''and'' doesn't hit a unit, you can give the CExpGenSpawner <code>nounit = 1;</code> and the spawned <code>CEG water = 1;</code>.
*This allows you to give a set of spawners the same (and possibly random) direction.
*This allows you to give a set of spawners the same (and possibly random) direction.
== CBitmapMuzzleFlame ==
This creates three rectangular textures at right angles to each other. The <code>frontTexture</code> has <code>dir</code> as its normal.
Properties:
*sideTexture (string)
*frontTexture (string)
*dir (float3)
*colorMap (string)
*size (float)
*length (float)
*sizeGrowth (float)
*ttl (int)
*frontOffset (float)
Suggested Use:
*Muzzle flames, obviously.
*You can use an upward-pointing CBitmapMuzzleFlame as a simple splash of water or dirt.
*Railgun trails.
== CExploSpikeProjectile ==
Suggested Use:
*Anything glowy.
*For large, slow missiles, you can try using this as an extended engine flame. Set the width to something fairly large.
== CHeatCloudProjectile ==
Suggested Use:
*As the main background to an explosion.
== CSimpleParticleSystem ==
Suggested Use:
*Anything undergoing motion that is at all complex.
== CSpherePartSpawner ==
Draws an expanding sphere.
Properties:
*alpha (float in [0, 1])
*ttl (int)
*expansionSpeed (float)
*color (float3)
Suggested Use:
*Looks like a shockwave.

Revision as of 09:34, 30 December 2008

Source: https://spring.clan-sy.com/svn/spring/trunk/rts/Sim/Projectiles/

https://spring.clan-sy.com/svn/spring/trunk/rts/Sim/Projectiles/Unsynced/

Common Properties

All classes have the following properties, although not all of them use them:

  • pos (float3): The initial position of the spawner.
  • useAirLos (bool): Whether the spawner uses air LoS to determine if it is visible. This may allow the spawner to be seen from a further distance than normal.
  • alwaysVisible (bool): If true, the spawner is always visible, ignoring LoS.
  • speed (float3): The initial speed of the spawner.

CExpGenSpawner

This is the closest thing CEG has to a function call. Instead of creating a graphical effect on its own, it creates another ceg.

Properties:

  • delay (int): How long to wait before spawning the CEG.
  • dir (float3): The CEG will be called with this direction.
  • damage (float): The CEG will be called with this damage. The CEG doesn't actually deal any damage, but you can use this as a parameter and read it using the 'd' operator.
  • explosionGenerator (string): The name of the CEG you want to spawn.

Suggested Use:

  • If you use a spawner a lot of times, you may want to make it a separate CEG to avoid having to copy-paste many times.
  • This is the only way to truly delay a graphical effect.
  • The spawned CEG still checks conditions, so if you want to, say, spawn an effect only if it is in water and doesn't hit a unit, you can give the CExpGenSpawner nounit = 1; and the spawned CEG water = 1;.
  • This allows you to give a set of spawners the same (and possibly random) direction.

CBitmapMuzzleFlame

This creates three rectangular textures at right angles to each other. The frontTexture has dir as its normal.

Properties:

  • sideTexture (string)
  • frontTexture (string)
  • dir (float3)
  • colorMap (string)
  • size (float)
  • length (float)
  • sizeGrowth (float)
  • ttl (int)
  • frontOffset (float)

Suggested Use:

  • Muzzle flames, obviously.
  • You can use an upward-pointing CBitmapMuzzleFlame as a simple splash of water or dirt.
  • Railgun trails.


CExploSpikeProjectile

Suggested Use:

  • Anything glowy.
  • For large, slow missiles, you can try using this as an extended engine flame. Set the width to something fairly large.

CHeatCloudProjectile

Suggested Use:

  • As the main background to an explosion.

CSimpleParticleSystem

Suggested Use:

  • Anything undergoing motion that is at all complex.

CSpherePartSpawner

Draws an expanding sphere.

Properties:

  • alpha (float in [0, 1])
  • ttl (int)
  • expansionSpeed (float)
  • color (float3)

Suggested Use:

  • Looks like a shockwave.