OBD:ENVP: Difference between revisions
m (ref. BFW_EnvParticle.h, lines 55-90...) |
(various corrections and clarifications to fields) |
||
Line 2: | Line 2: | ||
[[ | [[Image:envp_a.gif]] | ||
Line 12: | Line 12: | ||
{{OBDtr| 0x1E | uint16 |00FFFF| 42 00 | 66 | array size }} | {{OBDtr| 0x1E | uint16 |00FFFF| 42 00 | 66 | array size }} | ||
{{OBDtrBK}} | {{OBDtrBK}} | ||
{{OBDtr2|0x00 | char[64] |FFC8C8| locklight | particle | {{OBDtr2|0x00 | char[64] |FFC8C8| locklight | particle class name (reference to 06079-3RAPlocklight.[[OBD:BINA/PAR3|BINA]] in level 0) }} | ||
{{OBDtr2|0x40 | char[48] |FFFFC8| lock1_locklight01 | particle name; | {{OBDtr2|0x40 | char[48] |FFFFC8| lock1_locklight01 | particle tag name; lookup name for use in scripts via the <code>particle</code> command }} | ||
|- ALIGN=CENTER VALIGN=TOP | |- ALIGN=CENTER VALIGN=TOP | ||
Line 41: | Line 41: | ||
{{OBDtr| 0xA0 | float |C800C8| 00 00 80 3F | 1.000000 | decal x scale }} | {{OBDtr| 0xA0 | float |C800C8| 00 00 80 3F | 1.000000 | decal x scale }} | ||
{{OBDtr| 0xA4 | float |C87C64| 00 00 80 3F | 1.000000 | decal y scale }} | {{OBDtr| 0xA4 | float |C87C64| 00 00 80 3F | 1.000000 | decal y scale }} | ||
{{OBDtr| 0xA8 | uint16 | | {{OBDtr| 0xA8 | uint16 |B0C4D5| 00 00 | 0 | runtime: flags }} | ||
{{OBDtr| | {{OBDtr| 0xAA | uint16 |B0C4D5| 00 00 | 0 | runtime: owner type }} | ||
{{OBDtr| | {{OBDtr| 0xAC | uint32 |B0C4D5| 00 00 00 00 | 0 | runtime: pointer to owner particle }} | ||
{{OBDtr| | {{OBDtr| 0xB0 | uint32 |B0C4D5| 00 00 00 00 | 0 | runtime: pointer to dynamic matrix }} | ||
{{OBDtr| | {{OBDtr| 0xB4 | uint32 |B0C4D5| 00 00 00 00 | 0 | runtime: pointer to particle class }} | ||
{{OBDtr| | {{OBDtr| 0xB8 | uint32 |B0C4D5| 00 00 00 00 | 0 | runtime: pointer to spawned particle }} | ||
{{OBDtr| | {{OBDtr| 0xBC | uint32 |B0C4D5| 00 00 00 00 | 0 | runtime: pointer to spawned particle header }} | ||
{{OBDtr| | {{OBDtr| 0xC0 | uint32 |B0C4D5| 00 00 00 00 | 0 | runtime: pointer to previous particle in global spawned particle list }} | ||
{{OBDtr| | {{OBDtr| 0xC4 | uint32 |B0C4D5| 00 00 00 00 | 0 | runtime: pointer to next particle in global spawned particle list }} | ||
{{OBDtr| | {{OBDtr| 0xC8 | uint32 |B0C4D5| 00 00 00 00 | 0 | runtime: pointer to position in hash list (hash table of all spawned particles with tag names) }} | ||
{{OBDtr| | {{OBDtr| 0xCC | uint32 |B0C4D5| 00 00 00 00 | 0 | runtime: pointer to position in tag list (linked list of all spawned particles with the same tag name) }} | ||
|} | |} | ||
; | ;Environment particles | ||
: | :Door lock lights, lights, fire, smoke, steam, "electricity", etc. Loose particles are normally added to the [[OBD:BINA/OBJC/PART|level particle collection]]. ENVP is used by the level importer tool to store particles attached to [[OBD:OBOA|objects]] or [[OBD:BINA/OBJC/FURN|furniture]]. | ||
;Transformation matrix | ;Transformation matrix | ||
:Used to orient and stretch the particles (decals, | :Used to orient and stretch the particles (decals, lock lights, etc). | ||
:See | :See e.g. [[OBD:CRSA|CRSA]] for a detailed explanation. | ||
Revision as of 23:21, 13 May 2025
|
|
![]() |
Offset | Type | Raw Hex | Value | Description | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x00 | res_id | 01 9B 02 00 | 667 | 00667-.ENVP | ||||||||||||||||||||||||
0x04 | lev_id | 01 00 00 06 | 3 | level 3 | ||||||||||||||||||||||||
0x08 | char[22] | AD DE | dead | padding | ||||||||||||||||||||||||
0x1E | uint16 | 42 00 | 66 | array size | ||||||||||||||||||||||||
First element (black outline) | ||||||||||||||||||||||||||||
0x00 | char[64] | locklight | particle class name (reference to 06079-3RAPlocklight.BINA in level 0) | |||||||||||||||||||||||||
0x40 | char[48] | lock1_locklight01 | particle tag name; lookup name for use in scripts via the particle command
| |||||||||||||||||||||||||
0x70 | matrix |
|
|
transform matrix for the particle (in world space) | ||||||||||||||||||||||||
0xA0 | float | 00 00 80 3F | 1.000000 | decal x scale | ||||||||||||||||||||||||
0xA4 | float | 00 00 80 3F | 1.000000 | decal y scale | ||||||||||||||||||||||||
0xA8 | uint16 | 00 00 | 0 | runtime: flags | ||||||||||||||||||||||||
0xAA | uint16 | 00 00 | 0 | runtime: owner type | ||||||||||||||||||||||||
0xAC | uint32 | 00 00 00 00 | 0 | runtime: pointer to owner particle | ||||||||||||||||||||||||
0xB0 | uint32 | 00 00 00 00 | 0 | runtime: pointer to dynamic matrix | ||||||||||||||||||||||||
0xB4 | uint32 | 00 00 00 00 | 0 | runtime: pointer to particle class | ||||||||||||||||||||||||
0xB8 | uint32 | 00 00 00 00 | 0 | runtime: pointer to spawned particle | ||||||||||||||||||||||||
0xBC | uint32 | 00 00 00 00 | 0 | runtime: pointer to spawned particle header | ||||||||||||||||||||||||
0xC0 | uint32 | 00 00 00 00 | 0 | runtime: pointer to previous particle in global spawned particle list | ||||||||||||||||||||||||
0xC4 | uint32 | 00 00 00 00 | 0 | runtime: pointer to next particle in global spawned particle list | ||||||||||||||||||||||||
0xC8 | uint32 | 00 00 00 00 | 0 | runtime: pointer to position in hash list (hash table of all spawned particles with tag names) | ||||||||||||||||||||||||
0xCC | uint32 | 00 00 00 00 | 0 | runtime: pointer to position in tag list (linked list of all spawned particles with the same tag name) |
- Environment particles
- Door lock lights, lights, fire, smoke, steam, "electricity", etc. Loose particles are normally added to the level particle collection. ENVP is used by the level importer tool to store particles attached to objects or furniture.
- Transformation matrix
- Used to orient and stretch the particles (decals, lock lights, etc).
- See e.g. CRSA for a detailed explanation.
ONI BINARY DATA |
---|
DPge << Other file types >> FILM |
ENVP : Env Particle Array |
Level file |