CEG For Units: Difference between revisions
| Line 8: | Line 8: | ||
To do so, create a section in your Unit's TDF like this: | To do so, create a section in your Unit's TDF like this: | ||
'''[SFXTypes] | |||
{ | { | ||
ExplosionGenerator0=custom:MyNiftyExplosionGenerator; | ExplosionGenerator0=custom:MyNiftyExplosionGenerator; | ||
} | }''' | ||
This tells Spring that the CEG called MyNiftyExplosionGenerator is attached to this Unit, and allows COB to call it. If you have more than one, then the next one uses a 1 instead of a 0, e.g. ExplosionGenerator1=custom:MyNiftyExplosionGenerator; ... and so forth. | This tells Spring that the CEG called MyNiftyExplosionGenerator is attached to this Unit, and allows COB to call it. If you have more than one, then the next one uses a 1 instead of a 0, e.g. ExplosionGenerator1=custom:MyNiftyExplosionGenerator; ... and so forth. | ||
Revision as of 01:29, 1 December 2007
Creating Custom Explosion Generators (CEGs) and using them with Units in Spring, via COB, is quite easy. This tutorial will show you how to do so.
Step 1: Link your CEGs to your Unit.
CEGs need to be linked to a Unit's data to be generated via COB (you can call them directly via LUA, but that's another story).
To do so, create a section in your Unit's TDF like this:
[SFXTypes] {
ExplosionGenerator0=custom:MyNiftyExplosionGenerator;
}
This tells Spring that the CEG called MyNiftyExplosionGenerator is attached to this Unit, and allows COB to call it. If you have more than one, then the next one uses a 1 instead of a 0, e.g. ExplosionGenerator1=custom:MyNiftyExplosionGenerator; ... and so forth.
Step 2: Calling the CEG via COB
The easiest way to do this is to use a #DEFINE statement, using the appropriate number for the type of Explosion you want to invoke. So, what I typically do is put in lines at the start of the COB, like this:
#DEFINE MyNiftyExplosionGenerator 1024+0
This means that, wherever in the COB I call MyNiftyExplosionGenerator, Spring will call the appropriate CEG.
To actually call the CEG, just use the following:
emit-sfx MyNiftyExplosionGenerator from PieceName;
It's just that simple :-) Just make darn sure you've gotten everything right before you use this, or you will cause to Spring to crash!