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.
| Function/global | Type |
|---|
| (debug_sprites )
Renders 2D sprite effects like particles and weather_particle_system with white triangle outlines. This also displays some sprite statistics at the top of the screen (coverage and big sprites count). | Global |
| (profile_display )
Displays profiling and budget information in the upper-left of the screen, including object, effects, particles, AI encounters, collision tests, and more. You may find it useful to open the console while using this feature in order to stop the game simulation. | Global |
| (render_particles )
Toggles the display of all particles. | Global |
| Field | Type | Comments |
|---|
| bitfield |
| Flag | Mask | Comments |
|---|
| 0x1 | | | 0x2 | | | 0x4 | | | 0x8 | | | 0x10 | | | 0x20 | | | 0x40 | | | 0x80 | | | 0x100 | | | 0x200 | | | 0x400 | | | 0x800 | |
|
| TagDependency: bitmap |
| TagDependency: point_physics |
| TagDependency: material_effects |
| Bounds |
| Field | Type | Comments |
|---|
| float | | float |
|
| float |
| float |
| TagDependency
|
| TagDependency
|
| float |
| Bounds? |
| Bounds? |
| float |
| float |
| float |
| uint16 |
| uint16 |
| uint16 |
| uint16 |
| float |
| enum |
| Option | Value | Comments |
|---|
| 0x0 | Particles will face directly toward the viewer, ideal for effects like smoke and snow. | | 0x1 | Particles will be oriented along the direction of movement, facing the camera but only rotating around the axis of movement. This type is ideal for particles with trails like rain and sparks. In the sprite texture, right is the forward direction. | | 0x2 | Particles will be oriented perpendicular to the direction of movement, so will be seen face-on when the particle is moving toward or away from the camera. |
|
| uint32 |
| bitfield |
| Flag | Mask | Comments |
|---|
| 0x1 | | | 0x2 | | | 0x4 | |
|
| enum |
| Option | Value | Comments |
|---|
| 0x0 | | | 0x1 | | | 0x2 | | | 0x3 | | | 0x4 | | | 0x5 | | | 0x6 | | | 0x7 | |
|
| enum |
| Option | Value | Comments |
|---|
| 0x0 | The faces do not fade by viewing angle. | | 0x1 | The faces fade out when viewed edge-on. | | 0x2 | The faces fade out when viewed flat to the camera. |
|
| bitfield |
| Flag | Mask | Comments |
|---|
| 0x1 | Texture sampling is unfiltered, resulting in aliasing at a distance and a blocky pixelated look up close. |
|
| TagDependency: bitmap |
| enum |
| Option | Value | Comments |
|---|
| 0x0 | Positioned relative to each particle. | | 0x1 | Positioned relative to the screen. | | 0x2 | |
|
| bitfield? |
| enum |
| Option | Value | Comments |
|---|
| 0x0 | | | 0x1 | | | 0x2 | | | 0x3 | | | 0x4 | |
|
| enum |
| Option | Value | Comments |
|---|
| 0x0 | | | 0x1 | | | 0x2 | | | 0x3 | | | 0x4 | | | 0x5 | | | 0x6 | | | 0x7 | | | 0x8 | | | 0x9 | | | 0xA | | | 0xB | |
|
| float |
| float |
| float |
| enum? |
| enum? |
| float |
| float |
| float |
| enum? |
| enum? |
| float |
| float |
| float |
| Point2D |
| Field | Type | Comments |
|---|
| float | | float |
|
| float |
Thanks to the following individuals for their research or contributions to this topic:
- Kavawuvi (Invader tag definitions)
- MosesOfEgypt (Tag structure research)