OBD:ENVP: Difference between revisions

m
oops, we should be representing BSL commands this way
No edit summary
m (oops, we should be representing BSL commands this way)
 
(12 intermediate revisions by 7 users not shown)
Line 1: Line 1:
[[Main Page]] >> [[OBD:Oni Binary Data|Oni Binary Data]] >> [[OBD:File types|File Types]] >> ENVP File
{{OBD_File_Header | type=ENVP | prev=DPge | next=FILM | name=Env Particle Array | family=Level | align=center}}




<CENTER>[[OBD:DPge|<==]] <FONT SIZE=5>ENVP File</FONT> [[OBD:FILM|==>]]<BR>
[[Image:envp_a.gif]]
<FONT SIZE=2>Env Particle Array - Level File</FONT></CENTER>




http://www.fh-eberswalde.de/user/dkriesch/onistuff/images/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
{| BORDER=1 WIDTH=100% CELLPADDING=2 CELLSPACING=0
|0x70||matrix||
|- ALIGN=CENTER BGCOLOR="#FFDDBB"
{|border=1 cellspacing=0 style="white-space:nowrap"
| WIDTH=15% | <B>Hex</B>
|-BGCOLOR="#C8FFC8"
| WIDTH=15% | <B>Translation</B>
|00 00 80 BF||52 D2 43 B3||2E B4 61 B7
| WIDTH=70% | <B>Meaning</B>
|-BGCOLOR="#C8FFFF"
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|2F B4 61 37||FD B7 AA B7||00 00 80 BF
| BGCOLOR="#FF0000" | 01 9B 02 00
|-BGCOLOR="#FFC8FF"
| 667
|4A A5 42 33||00 00 80 BF||FD B7 AA 37
| ALIGN=LEFT | 00667-.ENVP
|-BGCOLOR="#FFC800"
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|BA E1 20 44||C9 C4 50 41||05 EB 89 C3
| BGCOLOR="#FFFF00" | 01 00 00 06
|}
| 3
|
| ALIGN=LEFT | level 3
{|border=1 cellspacing=0 style="white-space:nowrap"
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|-
| BGCOLOR="#00FF00" | AD DE
|1.000000||-0.000000||-0.000013
| dead
|-
| ALIGN=LEFT | not used
|0.000013||-0.000020||-1.000000
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
|-
| BGCOLOR="#00FFFF" | 42 00
|0.000000||-1.000000||0.000020
| 66
|-
| ALIGN=LEFT | 66 packages follow (one package is edged in black)
|643.526978||13.048043||-275.836090
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#000000"
|}
| COLSPAN=3 | <FONT SIZE=2 COLOR="#FFFFFF">Below follows the first package.</FONT>
|ALIGN=LEFT|transform matrix for the particle (in world space)
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
{{OBDtr| 0xA0 | float    |C800C8| 00 00 80 3F | 1.000000  | decal x scale }}
| BGCOLOR="#FFC8C8" COLSPAN=2 | <TT>locklight</TT>
{{OBDtr| 0xA4 | float    |C87C64| 00 00 80 3F | 1.000000   | decal y scale }}
| ALIGN=LEFT | 3D particle (06079-3RAPlocklight.BINA of level 0)
{{OBDtr| 0xA8 | uint16  |B0C4D5| 00 00      | 0          | runtime: flags }}
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
{{OBDtr| 0xAA | uint16  |B0C4D5| 00 00      | 0          | runtime: owner type }}
| BGCOLOR="#FFFFC8" COLSPAN=2 | <TT>lock1_locklight01</TT>
{{OBDtr| 0xAC | uint32  |B0C4D5| 00 00 00 00 | 0          | runtime: pointer to owner particle }}
| ALIGN=LEFT | name of the particle
{{OBDtr| 0xB0 | uint32  |B0C4D5| 00 00 00 00 | 0          | runtime: pointer to dynamic matrix }}
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
{{OBDtr| 0xB4 | uint32  |B0C4D5| 00 00 00 00 | 0         | runtime: pointer to particle class }}
| BGCOLOR="#C8FFC8" | 00 00 80 BF
{{OBDtr| 0xB8 | uint32  |B0C4D5| 00 00 00 00 | 0          | runtime: pointer to spawned particle }}
| -1.000000
{{OBDtr| 0xBC | uint32  |B0C4D5| 00 00 00 00 | 0          | runtime: pointer to spawned particle header }}
| ALIGN=LEFT | unknown
{{OBDtr| 0xC0 | uint32  |B0C4D5| 00 00 00 00 | 0          | runtime: pointer to previous particle in global spawned particle list }}
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
{{OBDtr| 0xC4 | uint32  |B0C4D5| 00 00 00 00 | 0          | runtime: pointer to next particle in global spawned particle list }}
| BGCOLOR="#C8FFC8" | 52 D2 43 B3
{{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) }}
| -4.559326e-8
{{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) }}
| ALIGN=LEFT | unknown
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#C8FFC8" | 2E B4 61 B7
| -0.000013
| ALIGN=LEFT | unknown
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#C8FFFF" | 2F B4 61 37
| 0.000013
| ALIGN=LEFT | unknown
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#C8FFFF" | FD B7 AA B7
| -0.000020
| ALIGN=LEFT | unknown
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#C8FFFF" | 00 00 80 BF
| -1.000000
| ALIGN=LEFT | unknown
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#FFC8FF" | 4A A5 42 33
| 4.531947e-8
| ALIGN=LEFT | unknown
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#FFC8FF" | 00 00 80 BF
| -1.000000
| ALIGN=LEFT | unknown
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#FFC8FF" | FD B7 AA 37
| 0.000020
| ALIGN=LEFT | unknown
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#FFC800" | BA E1 20 44
| 643.526978
| ALIGN=LEFT | x-position of the particle
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#FFC800" | C9 C4 50 41
| 13.048043
| ALIGN=LEFT | y-position (height) of the particle
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#FFC800" | 05 EB 89 C3
| -275.836090
| ALIGN=LEFT | z-position of the particle
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#C800C8" | 00 00 80 3F
| 1.000000
| ALIGN=LEFT | unknown; always the same
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#C87C64" | 00 00 80 3F
| 1.000000
| ALIGN=LEFT | unknown; always the same
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#B0C3D4" | 00 00 00 00
| 0
| ALIGN=LEFT | unknown; always zero
|}
|}




<HR>
;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]].
 
<CENTER>Here you can download the complete overview of all ENVP files as a text file.<BR>Copy it to a spreadsheet calculation program like Excel.<BR><UL><LI>[http://www.fh-eberswalde.de/user/dkriesch/onistuff/subfold/text/oni_envp_dc.txt text file] with commas as decimal hyphens (103 kb)</LI><LI>[http://www.fh-eberswalde.de/user/dkriesch/onistuff/subfold/text/oni_envp_dp.txt text file] with points as decimal hyphens (103 kb)</LI></UL></CENTER>


;Transformation matrix
:Used to orient and stretch the particles (decals, lock lights, etc).
:See e.g. [[OBD:CRSA|CRSA]] for a detailed explanation.


<HR>
<CENTER>[[OBD:DPge|<==]] <B>ENVP File</B> [[OBD:FILM|==>]]</CENTER>
<HR>


{{OBD_File_Footer | type=ENVP | prev=DPge | next=FILM | name=Env Particle Array | family=Level}}


[[Main Page]] >> [[OBD:Oni Binary Data|Oni Binary Data]] >> [[OBD:File types|File Types]] >> ENVP File
{{OBD}}