OBD:ENVP: Difference between revisions

m
oops, we should be representing BSL commands this way
mNo edit summary
m (oops, we should be representing BSL commands this way)
 
(10 intermediate revisions by 6 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       | padding }}
! WIDTH=12% |Hex
{{OBDtr| 0x1E | uint16  |00FFFF| 42 00       | 66         | array size }}
! WIDTH=12% |Value
{{OBDtrBK}}
!Meaning
{{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 }}
|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  |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]].
{{OBD TXT dec|align=center|onistuff=oncc|size=103}}
 
----
;Transformation matrix
----
:Used to orient and stretch the particles (decals, lock lights, 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}}