CEG For Units: Difference between revisions

From Spring
Jump to navigationJump to search
Argh (talk | contribs)
mNo edit summary
Argh (talk | contribs)
Line 17: Line 17:
== Step 2:  Calling the CEG via COB ==
== 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:
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:


1024 + X (where X == the number you used in the TDF, i.e. 0 for the first one, etc.).
'''#DEFINE MyNiftyExplosionGenerator 1024+0'''
 
So, what I typically do is put in lines at the start of the COB, like this:
<nowiki>
#DEFINE MyNiftyExplosionGenerator 1024+0</nowiki>


This means that, wherever in the COB I call MyNiftyExplosionGenerator, Spring will call the appropriate CEG.   
This means that, wherever in the COB I call MyNiftyExplosionGenerator, Spring will call the appropriate CEG.   
Line 29: Line 25:
To actually call the CEG, just use the following:
To actually call the CEG, just use the following:


emit-sfx MyNiftyExplosionGenerator from PieceName;
'''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!
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!

Revision as of 01:28, 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!