Entitiesfx
click for full size image in pop-up window fx_bubbles
 
Description
 
Bubble generator. These are used for underwater bubble effects. Sprite based (sprites/bubble.spr). No sound effect.
 
Keys
 
angles: pitch, yaw, roll method of 3D orientation for sprite (default: 0 0 0).
model: name of entity's model definition file (bubbles.def). Do not change.
scale: controls size of sprite in the game (ex: 1.0).
targetname: name referred to when controlled by a script.

Spawnflags
 
None


Notes

The individual bubbles are generated at random scale and velocity. They will rise upward by default. If an "angles" is set, the bubbles will drift according to the given orientation. The bubbles will keep drifting in their set direction both in water and air. The bubbles will dissolve after a certain elapsed time or when they touch a solid object whichever comes first.

This fx entity can be bound to a func_scriptobject or a func_scriptmodel with the "bind" command. Thereafter, if the script object/model is moved or rotated, the fx entity will follow.


fx_explosion
 
Description
 
Explosion effects. There are 3 instances of this entity name in SiN. Even though all 3 have the same name, they are 3 separate distinct entities (this is why the same name appears 3 times in SinEd's entity selection menu and in the entity dialog). Each instance is basically a sphere and each uses a different model and skin. The first instance can be animated while the other 2 cannot. None of these produce any sound or damage effects.
 


click for full size image in pop-up window fx_explosion - 1st Instance
 



Keys
 
model: name of entity's model definition file (sphere.def). Do not change.
scale: controls size of model in the game (ex: 1.0).
alpha: translucency of model in game. Values are from 0-1 (default: 1).
targetname: name referred to when controlled by a script.

Spawnflags
 
1 NOT SOLID

Notes

This model, when animated, produces an "expanding explosion ball" kind of visual effect. The model will only animate if you give the entity a targetname and use the "animate" command in a script.

This fx entity can be bound to a func_scriptobject or a func_scriptmodel with the "bind" command. Thereafter, if the script object/model is moved or rotated, the fx entity will follow.



click for full size image in pop-up window fx_explosion - 2nd Instance
 



Keys
 
model: name of entity's model definition file (sphere2.def). Do not change.
scale: controls size of model in the game (ex: 1.0).
alpha: translucency of model in game. Values are from 0-1 (default: 1).
targetname: name referred to when controlled by a script.

Spawnflags
 
1 NOT SOLID

Notes

This model is static and cannot be animated.

This fx entity can be bound to a func_scriptobject or a func_scriptmodel with the "bind" command. Thereafter, if the script object/model is moved or rotated, the fx entity will follow.



click for full size image in pop-up window fx_explosion - 3rd Instance
 



Keys
 
model: name of entity's model definition file (sphere3.def). Do not change.
scale: controls size of model in the game (ex: 1.0).
alpha: translucency of model in game. Values are from 0-1 (default: 1).
targetname: name referred to when controlled by a script.

Spawnflags
 
1 NOT SOLID

Notes

This model is static and cannot be animated.

This fx entity can be bound to a func_scriptobject or a func_scriptmodel with the "bind" command. Thereafter, if the script object/model is moved or rotated, the fx entity will follow.


click for full size image in pop-up window fx_fire
 
Description
 
This creates a fire sprite with sound effect. It defaults to the cross shape (2 identical sprites placed at 90 degrees from one another). The surrounding brush surfaces (if set to radiate light) can be made to flicker to create the illusion that they are "lighted by the fire".
 
Keys
 
scale: scale of sprite in game (bounding box won't be adjusted in SinEd).
alpha: translucency of sprite in game. Values are from 0-1 (default: 1).
style: set this to the group name of the surface(s) to control (see notes below).
on_style: light style to set to when "on" (default is a flicker).
off_style: light style to set to when "off" (default is "a").
targetname: name referred to when controlled by a script.

Spawnflags
 
1 SINGLE only one oriented sprite generated.
2 STAR 4 sprites oriented in a star shape.
4 PARALLEL only one sprite that always faces the player regardless of his position.

Notes

To get a surrounding wall or floor to "flicker with the fire", you first have to set its surface properties to emit light. Select the brush face, grab its texture then call up the surface inspector. Set the 'light' surf flag and the 'direct' field to the desired maximum light value. Then set the 'group' field to a name of your choice and hit the 'apply' and 'OK' buttons. Repeat this process with all the brush faces that you want to flicker. Now all you have to do is set the 'style' key to the same name you gave in the 'group' field of your brush faces. In the 2D view of SinEd, you will see a red line from the entity to all the brush faces that it controls.

This fx entity can be bound to a func_scriptobject or a func_scriptmodel with the "bind" command. Thereafter, if the script object/model is moved or rotated, the fx entity will follow.


click for full size image in pop-up window fx_firegen
 
Description
 
Generates brightly lit "fire-like" smoke. Works in a way similar to fx_bubbles (see notes below). Sprite based (sprites/exhaust.spr). No sound effect.
 
Keys
 
angles: pitch, yaw, roll method of 3D orientation for sprite (default: 0 0 0).
model: name of entity's model definition file (firegen.def). Do not change.
anim: name of sprite animation alias (must be set to "fire"). Determines sprite generation characteristics. See notes below.
scale: controls size of sprite in the game (ex: 1.0).
targetname: name referred to when controlled by a script.

Spawnflags
 
None

Notes

The individual fire "puffs" are generated at random scale and velocity. They will rise upward by default. If an "angles" is set, the "puffs" will drift according to the given orientation. The fire puffs will keep drifting in their set direction both in water and air. They will dissolve after a certain elapsed time or when they touch a solid object whichever comes first.

The anim key for this entity does not set a .sam animation (since this entity is not model based) but rather points to an animation alias command that resides inside the entity's .def file. The command sets the sprite generation characteristics: random scale and velocity plus the lifetime of the individual fire puffs. This key must be set to the "fire" animation alias since it's default value (idle) does not point to a sprite generation command.

This fx entity can be bound to a func_scriptobject or a func_scriptmodel with the "bind" command. Thereafter, if the script object/model is moved or rotated, the fx entity will follow.


click for full size image in pop-up window fx_laser
 
Description
 
Static "laser shooter" model, no animations. This is just a plain world object.
 
Keys
 
angle: initial orientation of model in game (default: 0).
angles: pitch, yaw, roll method of 3D orientation for model (default: 0 0 0).
model: name of entity's model definition file (laser.def). Do not change.
scale: controls size of model in the game (ex: 1.0).
alpha: translucency of model in game. Values are from 0-1 (default: 1).
target: the entity this points to will be triggered when object is destroyed.
killtarget: the entity this points to will be removed when object is destroyed.
targetname:
name referred to when controlled by a script.

Spawnflags
 
1 NOT SOLID
2 NOT DAMAGEABLE

Notes


click for full size image in pop-up window fx_muzzleflash
 
Description
 
Muzzle flash, first type. Model based, no animation or sound.
 
Keys
 
angle: initial orientation of model in game (default: 0).
angles: pitch, yaw, roll method of 3D orientation for model (default: 0 0 0).
model: name of entity's model definition file (muzflash1.def). Do not change.
scale: controls size of model in the game (ex: 1.0).
alpha: translucency of model in game. Values are from 0-1 (default: 1).
targetname:
name referred to when controlled by a script.

Spawnflags
 
1 NOT SOLID

Notes

This fx entity can be bound to a func_scriptobject or a func_scriptmodel with the "bind" command. Thereafter, if the script object/model is moved or rotated, the fx entity will follow.


click for full size image in pop-up window fx_muzzleflash2
 
Description
 
Muzzle flash, second type. Model based, no animation or sound.
 
Keys
 
angle: initial orientation of model in game (default: 0).
angles: pitch, yaw, roll method of 3D orientation for model (default: 0 0 0).
model: name of entity's model definition file (muzflash2.def). Do not change.
scale: controls size of model in the game (ex: 1.0).
alpha: translucency of model in game. Values are from 0-1 (default: 1).
targetname:
name referred to when controlled by a script.

Spawnflags
 
1 NOT SOLID

Notes

This fx entity can be bound to a func_scriptobject or a func_scriptmodel with the "bind" command. Thereafter, if the script object/model is moved or rotated, the fx entity will follow.


click for full size image in pop-up window fx_pulsebeam
 
Description
 
Pulse beam, first type: a short "strip" of blue and white laser beam. Model based, no animation or sound.
 
Keys
 
angle: initial orientation of model in game (default: 0).
angles: pitch, yaw, roll method of 3D orientation for model (default: 0 0 0).
model: name of entity's model definition file (beam.def). Do not change.
scale: controls size of model in the game (ex: 1.0).
alpha: translucency of model in game. Values are from 0-1 (default: 1).
targetname:
name referred to when controlled by a script.

Spawnflags
 
1 NOT SOLID

Notes

This fx entity can be bound to a func_scriptobject or a func_scriptmodel with the "bind" command. Thereafter, if the script object/model is moved or rotated, the fx entity will follow.


click for full size image in pop-up window fx_pulsebeam2
 
Description
 
Pulse beam, second type. Almost identical to the first type: "strip" of blue and white laser beam except 4 times the length. Model based, no animation or sound.
 
Keys
 
angle: initial orientation of model in game (default: 0).
angles: pitch, yaw, roll method of 3D orientation for model (default: 0 0 0).
model: name of entity's model definition file (beam2.def). Do not change.
scale: controls size of model in the game (ex: 1.0).
alpha: translucency of model in game. Values are from 0-1 (default: 1).
targetname:
name referred to when controlled by a script.

Spawnflags
 
1 NOT SOLID

Notes

This fx entity can be bound to a func_scriptobject or a func_scriptmodel with the "bind" command. Thereafter, if the script object/model is moved or rotated, the fx entity will follow.


click for full size image in pop-up window fx_pulseline
 
Description
 
Blue Pulse Trailing Beam Line. Model based. Can be animated. No sound.
 
Keys
 
angle: initial orientation of model in game (default: 0).
angles: pitch, yaw, roll method of 3D orientation for model (default: 0 0 0).
model: name of entity's model definition file (ln.def). Do not change.
scale: controls size of model in the game (ex: 1.0).
alpha: translucency of model in game. Values are from 0-1 (default: 1). See notes below.
targetname:
name referred to when controlled by a script.

Spawnflags
 
1 NOT SOLID

Notes

To animate it this beam effect, give the entity a targetname (pulse1 for example) and use the $pulse1 animate command in your script.

Next, to make the effect look better, set the alpha key to 0. The cylindrical "envelope" around the model will disappear and only the electric beam effect will be visible.

This fx entity can be bound to a func_scriptobject or a func_scriptmodel with the "bind" command. Thereafter, if the script object/model is moved or rotated, the fx entity will follow.


click for full size image in pop-up window fx_pulsesphere
 
Description
 
Blue Pulse Sphere Explosion. Model based. Can be animated. No sound.
 
Keys
 
angle: initial orientation of model in game (default: 0).
angles: pitch, yaw, roll method of 3D orientation for model (default: 0 0 0).
model: name of entity's model definition file (psphere.def). Do not change.
anim: default "Idle" animation alias name of model. Points to a .sam animation file in the model's .def file. See Notes below.
scale: controls size of model in the game (ex: 1.0).
alpha: translucency of model in game. Values are from 0-1 (default: 1).
targetname:
name referred to when controlled by a script.

Spawnflags
 
1 NOT SOLID

Notes

The anim key cannot be used directly to change the model's initial animation in the game. A script with animation commands (anim, nextanim, animate, etc.) must be used for this. For this particular model, there are 2 possible animations: fired and explode (default).

However, changing the value of the anim key in SinEd by using the + and - buttons in the entity dialog and using the "Toggle animations" feature (CTRL-A) can be useful for browsing the model's different animations directly in the 3D view. This information can then be used to set the animation commands in the script to the desired animations.

To animate it this beam effect, set the anim key to the desired animation, give the entity a targetname (pulse1 for example) and use the $pulse1 animate command in your script.

This fx entity can be bound to a func_scriptobject or a func_scriptmodel with the "bind" command. Thereafter, if the script object/model is moved or rotated, the fx entity will follow.


click for full size image in pop-up window fx_smokegen
 
Description
 
Generates bright white smoke. Works in a way similar to fx_bubbles (see notes below). Sprite based (sprites/exhaust.spr). No sound effect.
 
Keys
 
angles: pitch, yaw, roll method of 3D orientation for sprite (default: 0 0 0).
model: name of entity's model definition file (smokegen.def). Do not change.
anim: name of sprite animation alias (must be set). Determines sprite generation characteristics. See notes below. Available choices are:
    smoke
    rocketsmoke
    coptersmoke
scale: controls size of sprite in the game (ex: 1.0).
targetname: name referred to when controlled by a script.

Spawnflags
 
None

Notes

The individual smoke "puffs" are generated at random scale and velocity. They will rise upward by default. If an "angles" is set, the "puffs" will drift according to the given orientation. The smoke will keep drifting in their set direction both in water and air. The smoke will dissolve after a certain elapsed time or when they touch a solid object whichever comes first.

The anim key for this entity does not set a .sam animation (since this entity is not model based) but rather points to a choice of 3 animation alias commands that resides inside the entity's .def file. These commands all use the same sprite but vary the generation characteristics: random scale and velocity plus the lifetime of the individual smoke puffs. This key must be set to one of the 3 animation aliases (smoke, rocketsmoke or coptersmoke) since it's default value (idle) does not point to a sprite generation command.

This fx entity can be bound to a func_scriptobject or a func_scriptmodel with the "bind" command. Thereafter, if the script object/model is moved or rotated, the fx entity will follow.


fx_sprite
 
Description
 
Sprite generator. The sprite key must be set to the name of the sprite you want to generate. Since all the sprite definition files are in the base/sprites folder of the game's Pak0.sin file, you must always specify the sprites subfolder before the actual name of the sprite definition file and the file extension must also be specified (example: sprites/smoke.spr).
 
Keys
 
angle: initial orientation of sprite in game (default 0). Works only with oriented sprites (see notes below).
angles: pitch, yaw, roll method of 3D orientation for sprite (ex: 0 0 0).
model: name of entity's model definition file (fxsprite.def). Do not change.
sprite: sets the name of the sprite definition file. This must be set (Default none).
frame: frame number of the sprite to display (Default is 0). If AUTOANIM is set, all the frames are displayed in sequence.
scale: scale of the sprite (Default is 1.0).
alpha: tranlucency of the sprite (Default is 1.0 - 100% opaque).
targetname: name referred to when controlled by a script.

Spawnflags
 
1 AUTOANIM auto animate this sprite (won't be animated if not set).
2 TRACETOSURF trace to surface and apply sprite on surface.

Notes

This is basically a generic sprite generator entity. It somewhat offers more flexibility than specific sprite based fx_* entities because of the 'alpha' key setting and the 'AUTOANIM' and 'TRACETOSURF' spawnflags.

However, this is true only in the case of oriented sprites and sprites which are animated with conventional image frames. It is not a good alternative to sprite based fx_* entities which generate their sprite animations using a single image and an animation alias command which "spawn" multiple copies of the same image for animation (such as fx_bubbles, fx_firegen, fx_smokegen and fx_steamgen) and add their own specific characteristics (random scale, velocity, brightness, lifetime, etc.).

It is not really a good alternative to fx_fire either because it already supports the "alpha" key and has a built-in sound effect.

The 'TRACETOSURF' spawnflag makes the sprite apply itself to the nearest vertical brush face (wall) in your map as if it were a decal. What determines on what wall it will be applied on is the setting of the 'angle' key. If you place it in the middle of a square room and set the 'angle' to 90 for example, it will paste itself on the south wall of your room. Tip: it will always look for the nearest surface in the direction pointed by the arrow inside your entity in the 2D view (don't confuse with the arrows of the model in the 3D view).

There are 2 important things to note here: first, the 'angles' key has no effect on 'TRACETOSURF' so you can't paste the sprite on a horizontal surface (floor or ceiling) with this method. You can however do it "manually" with careful placement. Second, you will only get good results with 'TRACETOSURF' when using oriented sprites: don't use parallel_oriented sprites (sprites that always face you when you move around in the game). Those will seem to "penetrate" the wall and move around as they constantly try to face you (looks weird). The desired effect here is a sprite that applies to the wall like a decal. The best way to tell if a sprite is oriented or parallel is to open the sprite definition file (.spr file) in a text editor and to look for either one of the following 2 lines:

type oriented
type parallel_oriented


This fx entity can be bound to a func_scriptobject or a func_scriptmodel with the "bind" command. Thereafter, if the script object/model is moved or rotated, the fx entity will follow.


click for full size image in pop-up window fx_steamgen
 
Description
 
Steam Generator. Works in a way similar to fx_bubbles (see notes below). Sprite based (sprites/exhaust.spr or sprites/gas.spr). No sound effect.
 
Keys
 
angles: pitch, yaw, roll method of 3D orientation for sprite (default: 0 0 0).
model: name of entity's model definition file (steamgen.def). Do not change.
anim: name of sprite animation alias (must be set). Determines sprite used and sprite generation characteristics. See notes below. Available choices are:
    steam
    biosteam
    aban_steam1
    chem1_steam1
    jungle_steam1
scale: controls size of sprite in the game (ex: 1.0).
targetname: name referred to when controlled by a script.

Spawnflags
 
None

Notes

The individual steam "puffs" are generated at random scale and velocity. They will rise upward by default. If an "angles" is set, the "puffs" will drift according to the given orientation. The steam will keep drifting in their set direction both in water and air. The steam will dissolve after a certain elapsed time or when they touch a solid object whichever comes first.

The anim key for this entity does not set a .sam animation (since this entity is not model based) but rather points to a choice of 5 animation alias commands that resides inside the entity's .def file. The first 2 commands (steam and biosteam) use the same sprite (sprites/exhaust.spr) and the last 3 (aban_steam1, chem1_steam1 and jungle_steam1) use another sprite (sprites/gas.spr). All the commands vary the sprite generation characteristics: random scale and velocity plus the lifetime of the individual steam puffs. This key must be set to one of the 5 animation aliases since it's default value (idle) does not point to a sprite generation command.

This fx entity can be bound to a func_scriptobject or a func_scriptmodel with the "bind" command. Thereafter, if the script object/model is moved or rotated, the fx entity will follow.


click for full size image in pop-up window fx_uwshock
 
Description
 
Shock wave effect that was originally supposed to be used in Underwater Pass. Sprite based (sprites/shockwave.spr). No sound effect. Requires a script command to be visible, see notes below.
 
Keys
 
angle: initial orientation of sprite in game (default 0).
angles: pitch, yaw, roll method of 3D orientation for sprite (ex: 0 0 0).
model: name of entity's model definition file (uwshock.def). Do not change.
anim: name of sprite animation alias (must be set to "uwshock"). Determines sprite generation characteristics. See notes below.
scale: controls size of sprite in the game (ex: 1.0).
targetname: name referred to when controlled by a script.

Spawnflags
 
None

Notes

The anim key for this entity does not set a .sam animation (since this entity is not model based) but rather points to an animation alias command that resides inside the entity's .def file. The command sets the sprite generation characteristics: scale and lifetime of the sprite image. This key must be set to the "uwshock" animation alias since it's default value (idle) does not point to a sprite generation command.

Also, this entity's .def file lacks an essential command to make the sprite visible in the game. Without it, nothing will appear. If you want to use this entity in a map, you must give it a targetname (shock1 for example) and include the following command in a script:

$shock1 effects +everyframe

This fx entity can be bound to a func_scriptobject or a func_scriptmodel with the "bind" command. Thereafter, if the script object/model is moved or rotated, the fx entity will follow.