CEG-Classes: Difference between revisions
From Spring
Jump to navigationJump to search
Evil4zerggin (talk | contribs) No edit summary |
Evil4zerggin (talk | contribs) 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 spawnedCEG 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.