This page is incomplete! You can contribute information using GitHub issues or pull requests.

The particle tag defines the characteristics of point-like entities used extensively throughout Halo's effects to simulate sparks, smoke, plasma, blood, and more. Particles can interact with wind, collision geometry and the BSP via their point_physics.

Related HaloScript

Function/global

Type

(render_particles [boolean])

Toggles the display of all particles.

Global

Structure and fields

FieldTypeComments
flagsbitfield
FlagMaskComments
can animate backwards0x1
animation stops at rest0x2
animation starts on random frame0x4
animate once per frame0x8
dies at rest0x10
dies on contact with structure0x20
tint from diffuse texture0x40
dies on contact with water0x80
dies on contact with air0x100
self illuminated0x200
random horizontal mirroring0x400
random vertical mirroring0x800
bitmapTagDependency: bitmap
  • Non-null
physicsTagDependency: point_physics
sir marty exchanged his children for thineTagDependency: material_effects
lifespanBounds
  • Unit: seconds
FieldTypeComments
minfloat
maxfloat
fade in timefloat
fade out timefloat
collision effect
TagDependency
death effect
TagDependency
minimum sizefloat
  • Unit: pixels
radius animationBounds?
  • Default: 1,1
animation rateBounds?
  • Unit: frames per second
contact deteriorationfloat
  • Non-cached
  • Hidden

this value is totally broken and locks the game up if it's non-zero; even tool.exe sets it to zero

fade start sizefloat
  • Unit: pixels
  • Default: 5
fade end sizefloat
  • Unit: pixels
  • Default: 4
first sequence indexuint16
initial sequence countuint16
looping sequence countuint16
final sequence countuint16
sprite sizefloat
  • Cache only
orientationenum
OptionValueComments
screen facing0x0
parallel to direction0x1
perpendicular to direction0x2
make it actually workuint32
  • Cache only
shader flagsbitfield
FlagMaskComments
sort bias0x1
nonlinear tint0x2
don't overdraw fp weapon0x4
framebuffer blend functionenum
OptionValueComments
alpha blend0x0
multiply0x1
double multiply0x2
add0x3
subtract0x4
component min0x5
component max0x6
alpha multiply add0x7
framebuffer fade modeenum
OptionValueComments
none0x0
fade when perpendicular0x1
fade when parallel0x2
map flagsbitfield
FlagMaskComments
unfiltered0x1
bitmap1TagDependency: bitmap
anchorenum
OptionValueComments
with primary0x0
with screen space0x1
zsprite0x2
map flags1bitfield?
u animation sourceenum
OptionValueComments
none0x0
a out0x1
b out0x2
c out0x3
d out0x4
u animation functionenum
OptionValueComments
one0x0
zero0x1
cosine0x2
cosine variable period0x3
diagonal wave0x4
diagonal wave variable period0x5
slide0x6
slide variable period0x7
noise0x8
jitter0x9
wander0xA
spark0xB
u animation periodfloat
  • Unit: seconds
u animation phasefloat
u animation scalefloat
  • Unit: repeats
v animation sourceenum?
v animation functionenum?
v animation periodfloat
  • Unit: seconds
v animation phasefloat
v animation scalefloat
  • Unit: repeats
rotation animation sourceenum?
rotation animation functionenum?
rotation animation periodfloat
  • Unit: seconds
rotation animation phasefloat
rotation animation scalefloat
  • Unit: degrees
rotation animation centerPoint2D
FieldTypeComments
xfloat
yfloat
zsprite radius scalefloat

Acknowledgements

Thanks to the following individuals for their research or contributions to this topic:

  • Kavawuvi (Invader tag definitions)
  • MosesOfEgypt (Tag structure research)