OBD:ENVP: Difference between revisions
No edit summary |
m (oops, we should be representing BSL commands this way) |
||
(13 intermediate revisions by 7 users not shown) | |||
Line 1: | Line 1: | ||
{{OBD_File_Header | type=ENVP | prev=DPge | next=FILM | name=Env Particle Array | family=Level | align=center}} | |||
[[Image:envp_a.gif]] | |||
{{Table}} | |||
{{OBDth}} | |||
{{OBDtr| 0x00 | res_id |FF0000| 01 9B 02 00 | 667 | 00667-.ENVP }} | |||
{{OBDtr| 0x04 | lev_id |FFFF00| 01 00 00 06 | 3 | level 3 }} | |||
{{OBDtr| 0x08 | char[22] |00FF00| AD DE | dead | padding }} | |||
{{OBDtr| 0x1E | uint16 |00FFFF| 42 00 | 66 | array size }} | |||
{{OBDtrBK}} | |||
{{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 tag name; lookup name for use in scripts via the [[particle]] command }} | |||
|- ALIGN=CENTER VALIGN=TOP | |||
|0x70||matrix|| | |||
{|border=1 cellspacing=0 style="white-space:nowrap" | |||
|-BGCOLOR="#C8FFC8" | |||
|00 00 80 BF||52 D2 43 B3||2E B4 61 B7 | |||
|-BGCOLOR="#C8FFFF" | |||
|2F B4 61 37||FD B7 AA B7||00 00 80 BF | |||
|-BGCOLOR="#FFC8FF" | |||
|4A A5 42 33||00 00 80 BF||FD B7 AA 37 | |||
|-BGCOLOR="#FFC800" | |||
|BA E1 20 44||C9 C4 50 41||05 EB 89 C3 | |||
|} | |||
| | |||
{|border=1 cellspacing=0 style="white-space:nowrap" | |||
|- | |||
|1.000000||-0.000000||-0.000013 | |||
|- | |||
|0.000013||-0.000020||-1.000000 | |||
|- | |||
|0.000000||-1.000000||0.000020 | |||
|- | |||
|643.526978||13.048043||-275.836090 | |||
|} | |||
|ALIGN=LEFT|transform matrix for the particle (in world space) | |||
{{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| 0xA8 | uint16 |B0C4D5| 00 00 | 0 | runtime: flags }} | |||
{{OBDtr| 0xAA | uint16 |B0C4D5| 00 00 | 0 | runtime: owner type }} | |||
{{OBDtr| 0xAC | uint32 |B0C4D5| 00 00 00 00 | 0 | runtime: pointer to owner particle }} | |||
{{OBDtr| 0xB0 | uint32 |B0C4D5| 00 00 00 00 | 0 | runtime: pointer to dynamic matrix }} | |||
{{OBDtr| 0xB4 | uint32 |B0C4D5| 00 00 00 00 | 0 | runtime: pointer to particle class }} | |||
{{OBDtr| 0xB8 | uint32 |B0C4D5| 00 00 00 00 | 0 | runtime: pointer to spawned particle }} | |||
{{OBDtr| 0xBC | uint32 |B0C4D5| 00 00 00 00 | 0 | runtime: pointer to spawned particle header }} | |||
{{OBDtr| 0xC0 | uint32 |B0C4D5| 00 00 00 00 | 0 | runtime: pointer to previous particle in global spawned particle list }} | |||
{{OBDtr| 0xC4 | uint32 |B0C4D5| 00 00 00 00 | 0 | runtime: pointer to next particle in global spawned particle list }} | |||
{{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| 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 | |||
:Used to orient and stretch the particles (decals, lock lights, etc). | |||
:See e.g. [[OBD:CRSA|CRSA]] for a detailed explanation. | |||
{{OBD_File_Footer | type=ENVP | prev=DPge | next=FILM | name=Env Particle Array | family=Level}} | |||
{{OBD}} | |||
Latest revision as of 03:59, 20 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 |