OBD:ENVP: Difference between revisions

From OniGalore
Jump to navigation Jump to search
mNo edit summary
(Adding info about flags and owner_type (ref. BFW_EnvParticle.h, lines 62, 66). Offsets and values - later.)
 
(7 intermediate revisions by 5 users not shown)
Line 1: Line 1:
{{OBD File Header|align=right|prev=DPge|type=ENVP|next=FILM|name=Env Particle Array|family=Level|onistuff=envp}}
{{OBD_File_Header | type=ENVP | prev=DPge | next=FILM | name=Env Particle Array | family=Level | align=center}}
;Enviroment particles?
:Locklights, lights, fire, smoke, steam, "electricity" etc...
;Structure
:Header (0x20 = 32 bytes)
:Variable number of particle chunks (0xD0 = 208 bytes each)
:16-byte blank filler if needed (up to 32 byte multiple size)
{{OBD TXT dec|onistuff=oncc|size=103}}




----
[[image:envp_a.gif]]
----
http://www6.fh-eberswalde.de/user/dkriesch/onistuff/images/envp_a.gif




{| {{OBDtable}}
{{Table}}
|align=center|
{{OBDth}}
{| {{OBDtable}}
{{OBDtr| 0x00 | res_id  |FF0000| 01 9B 02 00 | 667       | 00667-.ENVP }}
|- ALIGN=CENTER BGCOLOR="#FFDDBB"
{{OBDtr| 0x04 | lev_id  |FFFF00| 01 00 00 06 | 3         | level 3 }}
! WIDTH=12% |Offset
{{OBDtr| 0x08 | char[22] |00FF00| AD DE       | dead       | unused }}
! WIDTH=12% |Hex
{{OBDtr| 0x1E | int16    |00FFFF| 42 00       | 66         | array size }}
! WIDTH=12% |Value
{{OBDtrBK}}
!Meaning
{{OBDtr2|0x00 | char[64] |FFC8C8| locklight               | particle type name (reference to 06079-3RAPlocklight.[[OBD:BINA/PAR3|BINA]] of level 0); global lookup name }}
|-
{{OBDtr2|0x40 | char[48] |FFFFC8| lock1_locklight01       | particle name; local lookup name (visible from scripts etc) }}
|0x00
 
| BGCOLOR="#FF0000" | 01 '''9B 02''' 00
|- ALIGN=CENTER VALIGN=TOP
| 667
|0x70||matrix||
| ALIGN=LEFT | 00667-.ENVP
{|border=1 cellspacing=0 style="white-space:nowrap"
|-
|-BGCOLOR="#C8FFC8"
|0x04
|00 00 80 BF||52 D2 43 B3||2E B4 61 B7
| BGCOLOR="#FFFF00" | 01 00 00 '''06'''
|-BGCOLOR="#C8FFFF"
| 3
|2F B4 61 37||FD B7 AA B7||00 00 80 BF
| ALIGN=LEFT | level 3
|-BGCOLOR="#FFC8FF"
|-
|4A A5 42 33||00 00 80 BF||FD B7 AA 37
|0x08-0x1D
|-BGCOLOR="#FFC800"
| BGCOLOR="#00FF00" | AD DE
|BA E1 20 44||C9 C4 50 41||05 EB 89 C3
| dead
|}
| ALIGN=LEFT | blank filler
|
|-
{|border=1 cellspacing=0 style="white-space:nowrap"
|0x1E
| BGCOLOR="#00FFFF" | 42 00
| 66
| ALIGN=LEFT | 66 environment particles in array (first particle outlined in black)
|-BGCOLOR="#000000"
| COLSPAN=4 | <FONT COLOR="#FFFFFF">First particle (0xD0 = 208 bytes)</FONT>
|-
|0x20-0x5F
| BGCOLOR="#FFC8C8" COLSPAN=2 | <TT>locklight</TT>
| ALIGN=LEFT | Global lookup name for the particle ([[OBD:BINA/3RAP|3RAPlocklight.BINA]] of level 0)
|-
|0x60-0x8F
| BGCOLOR="#FFFFC8" COLSPAN=2 | <TT>lock1_locklight01</TT>
| ALIGN=LEFT | Local lookup name for the particle (visible from scripts etc)
|-
|0x90
| BGCOLOR="#C8FFC8" | 00 00 80 BF
| -1.000000
| ALIGN=LEFT | unknown
|-
|0x94
| BGCOLOR="#C8FFC8" | 52 D2 43 B3
| -4.559326e-8
| ALIGN=LEFT | unknown
|-
|-
|0x98
|1.000000||-0.000000||-0.000013
| BGCOLOR="#C8FFC8" | 2E B4 61 B7
| -0.000013
| ALIGN=LEFT | unknown
|-
|-
|0x9C
|0.000013||-0.000020||-1.000000
| BGCOLOR="#C8FFFF" | 2F B4 61 37
| 0.000013
| ALIGN=LEFT | unknown
|-
|-
|0xA0
|0.000000||-1.000000||0.000020
| BGCOLOR="#C8FFFF" | FD B7 AA B7
| -0.000020
| ALIGN=LEFT | unknown
|-
|-
|0xA4
|643.526978||13.048043||-275.836090
| BGCOLOR="#C8FFFF" | 00 00 80 BF
| -1.000000
| ALIGN=LEFT | unknown
|-
|0xA8
| BGCOLOR="#FFC8FF" | 4A A5 42 33
| 4.531947e-8
| ALIGN=LEFT | unknown
|-
|0xAC
| BGCOLOR="#FFC8FF" | 00 00 80 BF
| -1.000000
| ALIGN=LEFT | unknown
|-
|0xB0
| BGCOLOR="#FFC8FF" | FD B7 AA 37
| 0.000020
| ALIGN=LEFT | unknown
|-
|0xB4
| BGCOLOR="#FFC800" | BA E1 20 44
| 643.526978
| ALIGN=LEFT | x-position of the particle
|-
|0xB8
| BGCOLOR="#FFC800" | C9 C4 50 41
| 13.048043
| ALIGN=LEFT | y-position (height) of the particle
|-
|0xBC
| BGCOLOR="#FFC800" | 05 EB 89 C3
| -275.836090
| ALIGN=LEFT | z-position of the particle
|-
|0xC0
| BGCOLOR="#C800C8" | 00 00 80 3F
| 1.000000
| ALIGN=LEFT | unknown; always the same
|-
|0xC4
| BGCOLOR="#C87C64" | 00 00 80 3F
| 1.000000
| ALIGN=LEFT | unknown; always the same
|-
|0xC8-0xEF
| BGCOLOR="#B0C3D4" | 00 00 00 00
| 0
| ALIGN=LEFT | unknown; always zero
|}
|}
|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  |FFFFFF| -- -- -- -- | -          | flags }}
{{OBDtr| -x-- | uint16  |FFFFFF| -- -- -- -- | -          | owner type }}
|}
|}




----
;Enviroment particles
----
:Locklights, 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]].
{{OBD TXT dec|align=center|onistuff=oncc|size=103}}
 
----
;Transformation matrix
----
:Used to orient and stretch the particles (decals, locklights, etc).
{{OBD_File_Footer|type=ENVP|prev=DPge|next=FILM|name=Env Particle Array}}
: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 07:23, 29 September 2022

ONI BINARY DATA
DPge << Other file types >> FILM
ENVP : Env Particle Array
switch to XML:ENVP page
Overview @ Oni Stuff
OBD.png


Envp a.gif


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 unused
0x1E int16 42 00 66 array size
First element (black outline)
0x00 char[64] locklight particle type name (reference to 06079-3RAPlocklight.BINA of level 0); global lookup name
0x40 char[48] lock1_locklight01 particle name; local lookup name (visible from scripts etc)
0x70 matrix
00 00 80 BF 52 D2 43 B3 2E B4 61 B7
2F B4 61 37 FD B7 AA B7 00 00 80 BF
4A A5 42 33 00 00 80 BF FD B7 AA 37
BA E1 20 44 C9 C4 50 41 05 EB 89 C3
1.000000 -0.000000 -0.000013
0.000013 -0.000020 -1.000000
0.000000 -1.000000 0.000020
643.526978 13.048043 -275.836090
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 -- -- -- -- - flags
-x-- uint16 -- -- -- -- - owner type


Enviroment particles
Locklights, 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, locklights, etc).
See, e.g., CRSA for a detailed explanation.


ONI BINARY DATA
DPge << Other file types >> FILM
ENVP : Env Particle Array
Level file