EvilEngine/PARE: Difference between revisions
Content added Content deleted
Battlepedia>Seil (Created page with "==Format== Particle emitters are object assets, so they start with their 0x8 byte header, then are followed by: {| class="wikitable" ! Offset !! Type !! Desc...") |
m (Seil moved page PARE to EvilEngine/PARE) |
||
(13 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
<onlyinclude> |
|||
{{#vardefine:typeid|PARE}}<nowiki/> |
|||
{{#vardefine:name|Particle Emitter}}<nowiki/> |
|||
{{#vardefine:type|[[Base]]}}<nowiki/> |
|||
{{#vardefine:basetype|0x26}}<nowiki/> |
|||
{{#vardefine:games|Scooby BFBB TSSM ROTU RatProto}}<nowiki/> |
|||
{{#vardefine:sourcecode|[https://github.com/bfbbdecomp/bfbb/blob/master/src/Core/x/xParEmitter.h xParEmitter.h]}}<nowiki/> |
|||
{{#vardefine:image|}}<nowiki/> |
|||
</onlyinclude> |
|||
{{AutoAssetInfobox}} |
|||
==Format== |
==Format== |
||
PARE are [[Base|base assets]], so they start with their 0x8 byte header, then are followed by: |
|||
{| class="wikitable" |
{| class="wikitable" |
||
! Offset !! Type !! Description |
|||
|- |
|- |
||
! Offset |
|||
| 0x08 || byte[4] || '''Flags?''' |
|||
! Type |
|||
! Variable |
|||
! Description |
|||
|- |
|- |
||
| 0x08 |
|||
| 0x0C || [[AssetID]] ([[PARP]]) || '''Particle Emitter Property''' (required?) |
|||
| char |
|||
| '''emit_flags''' |
|||
| 0x1 - On/Off |
|||
|- |
|- |
||
| 0x09 |
|||
| 0x10 || float[7] || Unknown |
|||
| char |
|||
| '''emit_type''' |
|||
| |
|||
* Point (0) |
|||
* Circle Edge (1) |
|||
* Circle (2) |
|||
* Rect Edge (3) |
|||
* Rect (4) |
|||
* Line (5) |
|||
* Volume (6) |
|||
* Sphere Edge (7) |
|||
* Sphere (8) |
|||
* Offset Point (9) |
|||
* Sphere Edge (10) |
|||
* Sphere Edge (11) |
|||
* VCyl Edge (12) |
|||
* OCircle Edge (13) |
|||
* OCircle (14) |
|||
* Entity Bone (15) |
|||
* Entity Bound (16) |
|||
|- |
|- |
||
| 0x0A |
|||
| 0x2C || [[AssetID]] ([[Placeable Asset|Placeable]]/[[MRKR|Marker]]/[[GRUP|Group]]) || '''Probably applies particle emitter to this asset''' |
|||
| short |
|||
| '''pad''' |
|||
| |
|||
|- |
|- |
||
| 0x0C |
|||
| 0x30 || float[9] || Unknown |
|||
| [[AssetID]] |
|||
| '''propID''' |
|||
| AssetID of the [[PARP|Particle Emitter Property]] asset to use |
|||
|- |
|- |
||
! colspan=" |
! colspan="4" style="text-align:center" | '''Circle only''' |
||
|- |
|- |
||
| 0x10 |
|||
| 0x54 || Event[numberOfEvents] || '''[[Events]]''' |
|||
| float |
|||
| '''radius''' |
|||
| |
|||
|- |
|||
| 0x14 |
|||
| float |
|||
| '''deflection''' |
|||
| |
|||
|- |
|||
| 0x18 |
|||
| [[Vector3]] |
|||
| '''dir''' |
|||
| |
|||
|- |
|||
! colspan="4" style="text-align:center" | '''Sphere only''' |
|||
|- |
|||
| 0x10 |
|||
| float |
|||
| '''radius''' |
|||
| |
|||
|- |
|||
! colspan="4" style="text-align:center" | '''Rect only''' |
|||
|- |
|||
| 0x10 |
|||
| float |
|||
| '''x_len''' |
|||
| |
|||
|- |
|||
| 0x14 |
|||
| float |
|||
| '''z_len''' |
|||
| |
|||
|- |
|||
! colspan="4" style="text-align:center" | '''Line only''' |
|||
|- |
|||
| 0x10 |
|||
| [[Vector3]] |
|||
| '''pos1''' |
|||
| |
|||
|- |
|||
| 0x1C |
|||
| [[Vector3]] |
|||
| '''pos2''' |
|||
| |
|||
|- |
|||
| 0x28 |
|||
| float |
|||
| '''radius''' |
|||
| |
|||
|- |
|||
! colspan="4" style="text-align:center" | '''Volume only''' |
|||
|- |
|||
| 0x10 |
|||
| [[AssetID]] |
|||
| '''volumeID''' |
|||
| |
|||
|- |
|||
! colspan="4" style="text-align:center" | '''Offset Point only''' |
|||
|- |
|||
| 0x10 |
|||
| [[Vector3]] |
|||
| '''offset''' |
|||
| |
|||
|- |
|||
! colspan="4" style="text-align:center" | '''VCyl only''' |
|||
|- |
|||
| 0x10 |
|||
| float |
|||
| '''height''' |
|||
| |
|||
|- |
|||
| 0x14 |
|||
| float |
|||
| '''radius''' |
|||
| |
|||
|- |
|||
| 0x18 |
|||
| float |
|||
| '''deflection''' |
|||
| |
|||
|- |
|||
! colspan="4" style="text-align:center" | '''Entity Bone only''' |
|||
|- |
|||
| 0x10 |
|||
| char |
|||
| '''flags''' |
|||
| |
|||
|- |
|||
| 0x11 |
|||
| char |
|||
| '''type''' |
|||
| |
|||
|- |
|||
| 0x12 |
|||
| char |
|||
| '''bone''' |
|||
| |
|||
|- |
|||
| 0x13 |
|||
| char |
|||
| '''pad1''' |
|||
| |
|||
|- |
|||
| 0x14 |
|||
| [[Vector3]] |
|||
| '''offset''' |
|||
| |
|||
|- |
|||
| 0x20 |
|||
| float |
|||
| '''radius''' |
|||
| |
|||
|- |
|||
| 0x24 |
|||
| float |
|||
| '''deflection''' |
|||
| |
|||
|- |
|||
! colspan="4" style="text-align:center" | '''Entity Bound only''' |
|||
|- |
|||
| 0x10 |
|||
| char |
|||
| '''flags''' |
|||
| |
|||
|- |
|||
| 0x11 |
|||
| char |
|||
| '''type''' |
|||
| |
|||
|- |
|||
| 0x12 |
|||
| char |
|||
| '''pad1''' |
|||
| |
|||
|- |
|||
| 0x13 |
|||
| char |
|||
| '''pad2''' |
|||
| |
|||
|- |
|||
| 0x14 |
|||
| float |
|||
| '''expand''' |
|||
| |
|||
|- |
|||
| 0x18 |
|||
| float |
|||
| '''deflection''' |
|||
| |
|||
|- |
|||
! colspan="4" | |
|||
|- |
|||
| 0x2C |
|||
| [[AssetID]] |
|||
| '''attachToID''' |
|||
| ID of an Object Asset (when emit_type == Entity Bone/Entity Bound?) or Marker (when emit_type == Point?) |
|||
|- |
|||
| 0x30 |
|||
| [[Vector3]] |
|||
| '''pos''' |
|||
| Position of the particle emitter |
|||
|- |
|||
| 0x3C |
|||
| [[Vector3]] |
|||
| '''vel''' |
|||
| |
|||
|- |
|||
| 0x48 |
|||
| float |
|||
| '''vel_angle_variation''' |
|||
| |
|||
|- |
|||
| 0x4C |
|||
| unsigned int |
|||
| '''cull_mode''' |
|||
| |
|||
|- |
|||
| 0x50 |
|||
| float |
|||
| '''cull_dist_sqr''' |
|||
| |
|||
|- |
|||
! colspan="4" style="text-align:center" | '''Events''' |
|||
|- |
|||
| - |
|||
| Event[numberOfEvents] |
|||
| [[Events]] |
|||
| |
|||
|} |
|} |
||
==Format: Night of 100 Frights== |
|||
{| class="wikitable" |
|||
|- |
|||
! Offset |
|||
! Type |
|||
! Variable |
|||
! Description |
|||
|- |
|||
| 0x08 |
|||
| char |
|||
| '''emit_flags''' |
|||
| 0x1 - On/Off |
|||
|- |
|||
| 0x09 |
|||
| char |
|||
| '''emit_type''' |
|||
| |
|||
* Point (0) |
|||
* Circle Edge (1) |
|||
* Circle (2) |
|||
* Rect Edge (3) |
|||
* Rect (4) |
|||
* Line (5) |
|||
* Volume (6) |
|||
* Sphere Edge (7) |
|||
* Sphere (8) |
|||
* Offset Point (9) |
|||
* Sphere Edge (10) |
|||
* Sphere Edge (11) |
|||
|- |
|||
| 0x0A |
|||
| char |
|||
| '''count''' |
|||
| |
|||
|- |
|||
| 0x0B |
|||
| char |
|||
| '''count_variation''' |
|||
| |
|||
|- |
|||
| 0x0C |
|||
| float |
|||
| '''interval''' |
|||
| |
|||
|- |
|||
! colspan="4" style="text-align:center" | '''Circle only''' |
|||
|- |
|||
| 0x10 |
|||
| float |
|||
| '''radius''' |
|||
| |
|||
|- |
|||
| 0x14 |
|||
| float |
|||
| '''deflection''' |
|||
| |
|||
|- |
|||
! colspan="4" style="text-align:center" | '''Sphere only''' |
|||
|- |
|||
| 0x10 |
|||
| float |
|||
| '''radius''' |
|||
| |
|||
|- |
|||
! colspan="4" style="text-align:center" | '''Rect only''' |
|||
|- |
|||
| 0x10 |
|||
| float |
|||
| '''x_len''' |
|||
| |
|||
|- |
|||
| 0x14 |
|||
| float |
|||
| '''z_len''' |
|||
| |
|||
|- |
|||
! colspan="4" style="text-align:center" | '''Line only''' |
|||
|- |
|||
| 0x10 |
|||
| [[Vector3]] |
|||
| '''pos1''' |
|||
| |
|||
|- |
|||
| 0x1C |
|||
| [[Vector3]] |
|||
| '''pos2''' |
|||
| |
|||
|- |
|||
| 0x28 |
|||
| float |
|||
| '''radius''' |
|||
| |
|||
|- |
|||
! colspan="4" style="text-align:center" | '''Volume only''' |
|||
|- |
|||
| 0x10 |
|||
| [[AssetID]] |
|||
| '''volumeID''' |
|||
| |
|||
|- |
|||
! colspan="4" style="text-align:center" | '''Offset Point only''' |
|||
|- |
|||
| 0x10 |
|||
| [[Vector3]] |
|||
| '''offset''' |
|||
| |
|||
|- |
|||
! colspan="4" | |
|||
|- |
|||
| 0x2C |
|||
| [[AssetID]] |
|||
| '''attachToID''' |
|||
| |
|||
|- |
|||
| 0x30 |
|||
| [[AssetID]] |
|||
| '''parSysID''' |
|||
| |
|||
|- |
|||
| 0x34 |
|||
| [[Vector3]] |
|||
| '''pos''' |
|||
| |
|||
|- |
|||
| 0x40 |
|||
| [[Vector3]] |
|||
| '''vel''' |
|||
| |
|||
|- |
|||
| 0x4C |
|||
| float |
|||
| '''vel_angle_variation''' |
|||
| |
|||
|- |
|||
| 0x50 |
|||
| [[Color]] |
|||
| '''color_birth''' |
|||
| |
|||
|- |
|||
| 0x54 |
|||
| [[Color]] |
|||
| '''color_death''' |
|||
| |
|||
|- |
|||
| 0x58 |
|||
| float |
|||
| '''size_birth''' |
|||
| |
|||
|- |
|||
| 0x5C |
|||
| float |
|||
| '''size_birth_variation''' |
|||
| |
|||
|- |
|||
| 0x60 |
|||
| float |
|||
| '''size_death''' |
|||
| |
|||
|- |
|||
| 0x64 |
|||
| float |
|||
| '''life''' |
|||
| |
|||
|- |
|||
| 0x68 |
|||
| float |
|||
| '''life_variation''' |
|||
| |
|||
|- |
|||
| 0x6C |
|||
| char[2] |
|||
| '''pad_emit''' |
|||
| |
|||
|- |
|||
| 0x6E |
|||
| char |
|||
| '''cull_mode''' |
|||
| |
|||
|- |
|||
| 0x70 |
|||
| float |
|||
| '''cull_dist_sqr''' |
|||
| |
|||
|- |
|||
| 0x74 |
|||
| char |
|||
| '''max_emit''' |
|||
| |
|||
|} |
|||
==Events== |
|||
===Emit=== |
|||
===On=== |
|||
===Off=== |
|||
===Reset=== |
|||
{{Assets}} |
|||
{{AutoGameNavs}} |
|||
[[Category:Asset]] |
[[Category:Asset]] |
Latest revision as of 22:46, 15 September 2022
PARE | |
---|---|
Particle Emitter | |
Type | Base |
Base Type | 0x26 |
Games used | Night of 100 Frights Battle for Bikini Bottom |
Source code | xParEmitter.h |
Format
PARE are base assets, so they start with their 0x8 byte header, then are followed by:
Offset | Type | Variable | Description |
---|---|---|---|
0x08 | char | emit_flags | 0x1 - On/Off |
0x09 | char | emit_type |
|
0x0A | short | pad | |
0x0C | AssetID | propID | AssetID of the Particle Emitter Property asset to use |
Circle only | |||
0x10 | float | radius | |
0x14 | float | deflection | |
0x18 | Vector3 | dir | |
Sphere only | |||
0x10 | float | radius | |
Rect only | |||
0x10 | float | x_len | |
0x14 | float | z_len | |
Line only | |||
0x10 | Vector3 | pos1 | |
0x1C | Vector3 | pos2 | |
0x28 | float | radius | |
Volume only | |||
0x10 | AssetID | volumeID | |
Offset Point only | |||
0x10 | Vector3 | offset | |
VCyl only | |||
0x10 | float | height | |
0x14 | float | radius | |
0x18 | float | deflection | |
Entity Bone only | |||
0x10 | char | flags | |
0x11 | char | type | |
0x12 | char | bone | |
0x13 | char | pad1 | |
0x14 | Vector3 | offset | |
0x20 | float | radius | |
0x24 | float | deflection | |
Entity Bound only | |||
0x10 | char | flags | |
0x11 | char | type | |
0x12 | char | pad1 | |
0x13 | char | pad2 | |
0x14 | float | expand | |
0x18 | float | deflection | |
0x2C | AssetID | attachToID | ID of an Object Asset (when emit_type == Entity Bone/Entity Bound?) or Marker (when emit_type == Point?) |
0x30 | Vector3 | pos | Position of the particle emitter |
0x3C | Vector3 | vel | |
0x48 | float | vel_angle_variation | |
0x4C | unsigned int | cull_mode | |
0x50 | float | cull_dist_sqr | |
Events | |||
- | Event[numberOfEvents] | Events |
Format: Night of 100 Frights
Offset | Type | Variable | Description |
---|---|---|---|
0x08 | char | emit_flags | 0x1 - On/Off |
0x09 | char | emit_type |
|
0x0A | char | count | |
0x0B | char | count_variation | |
0x0C | float | interval | |
Circle only | |||
0x10 | float | radius | |
0x14 | float | deflection | |
Sphere only | |||
0x10 | float | radius | |
Rect only | |||
0x10 | float | x_len | |
0x14 | float | z_len | |
Line only | |||
0x10 | Vector3 | pos1 | |
0x1C | Vector3 | pos2 | |
0x28 | float | radius | |
Volume only | |||
0x10 | AssetID | volumeID | |
Offset Point only | |||
0x10 | Vector3 | offset | |
0x2C | AssetID | attachToID | |
0x30 | AssetID | parSysID | |
0x34 | Vector3 | pos | |
0x40 | Vector3 | vel | |
0x4C | float | vel_angle_variation | |
0x50 | Color | color_birth | |
0x54 | Color | color_death | |
0x58 | float | size_birth | |
0x5C | float | size_birth_variation | |
0x60 | float | size_death | |
0x64 | float | life | |
0x68 | float | life_variation | |
0x6C | char[2] | pad_emit | |
0x6E | char | cull_mode | |
0x70 | float | cull_dist_sqr | |
0x74 | char | max_emit |