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)
 
(13 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
|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) }}
|}


<TABLE BORDER=1 WIDTH=100% CELLPADDING=2 CELLSPACING=0>
<TR ALIGN=CENTER BGCOLOR="#FFDDBB"><TD WIDTH=15%><B>Hex</B></TD><TD WIDTH=15%><B>Translation</B></TD><TD WIDTH=70%><B>Meaning</B></TD></TR>
<TR ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"><TD BGCOLOR="#FF0000">01 9B 02 00</TD><TD>667</TD><TD ALIGN=LEFT>00667-.ENVP</TD></TR>
<TR ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"><TD BGCOLOR="#FFFF00">01 00 00 06</TD><TD>3</TD><TD ALIGN=LEFT>level 3</TD></TR>
<TR ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"><TD BGCOLOR="#00FF00">AD DE</TD><TD>dead</TD><TD ALIGN=LEFT>not used</TD></TR>
<TR ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"><TD BGCOLOR="#00FFFF">42 00</TD><TD>66</TD><TD ALIGN=LEFT>66 packages follow (one package is edged in black)</TD></TR>
<TR ALIGN=CENTER VALIGN=TOP BGCOLOR="#000000"><TD COLSPAN=3><FONT SIZE=2 COLOR="#FFFFFF">Below follows the first package.</FONT></TD></TR>
<TR ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"><TD BGCOLOR="#FFC8C8" COLSPAN=2><TT>locklight</TT></TD><TD ALIGN=LEFT>3D particle (06079-3RAPlocklight.BINA of level 0)</TD></TR>
<TR ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"><TD BGCOLOR="#FFFFC8" COLSPAN=2><TT>lock1_locklight01</TT></TD><TD ALIGN=LEFT>name of the particle</TD></TR>
<TR ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"><TD BGCOLOR="#C8FFC8">00 00 80 BF</TD><TD>-1.000000</TD><TD ALIGN=LEFT>unknown</TD></TR>
<TR ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"><TD BGCOLOR="#C8FFC8">52 D2 43 B3</TD><TD>-4.559326e-8</TD><TD ALIGN=LEFT>unknown</TD></TR>
<TR ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"><TD BGCOLOR="#C8FFC8">2E B4 61 B7</TD><TD>-0.000013</TD><TD ALIGN=LEFT>unknown</TD></TR>
<TR ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"><TD BGCOLOR="#C8FFFF">2F B4 61 37</TD><TD>0.000013</TD><TD ALIGN=LEFT>unknown</TD></TR>
<TR ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"><TD BGCOLOR="#C8FFFF">FD B7 AA B7</TD><TD>-0.000020</TD><TD ALIGN=LEFT>unknown</TD></TR>
<TR ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"><TD BGCOLOR="#C8FFFF">00 00 80 BF</TD><TD>-1.000000</TD><TD ALIGN=LEFT>unknown</TD></TR>
<TR ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"><TD BGCOLOR="#FFC8FF">4A A5 42 33</TD><TD>4.531947e-8</TD><TD ALIGN=LEFT>unknown</TD></TR>
<TR ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"><TD BGCOLOR="#FFC8FF">00 00 80 BF</TD><TD>-1.000000</TD><TD ALIGN=LEFT>unknown</TD></TR>
<TR ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"><TD BGCOLOR="#FFC8FF">FD B7 AA 37</TD><TD>0.000020</TD><TD ALIGN=LEFT>unknown</TD></TR>
<TR ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"><TD BGCOLOR="#FFC800">BA E1 20 44</TD><TD>643.526978</TD><TD ALIGN=LEFT>x-position of the particle</TD></TR>
<TR ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"><TD BGCOLOR="#FFC800">C9 C4 50 41</TD><TD>13.048043</TD><TD ALIGN=LEFT>y-position (height) of the particle</TD></TR>
<TR ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"><TD BGCOLOR="#FFC800">05 EB 89 C3</TD><TD>-275.836090</TD><TD ALIGN=LEFT>z-position of the particle</TD></TR>
<TR ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"><TD BGCOLOR="#C800C8">00 00 80 3F</TD><TD>1.000000</TD><TD ALIGN=LEFT>unknown; always the same</TD></TR>
<TR ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"><TD BGCOLOR="#C87C64">00 00 80 3F</TD><TD>1.000000</TD><TD ALIGN=LEFT>unknown; always the same</TD></TR>
<TR ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"><TD BGCOLOR="#B0C3D4">00 00 00 00</TD><TD>0</TD><TD ALIGN=LEFT>unknown; always zero</TD></TR>
</TABLE>


;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]].


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




<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>
{{OBD_File_Footer | type=ENVP | prev=DPge | next=FILM | name=Env Particle Array | family=Level}}


 
{{OBD}}
<HR>
<CENTER>[[OBD:DPge|<==]] <B>ENVP File</B> [[OBD:FILM|==>]]</CENTER>
<HR>
 
 
[[Main Page]] >> [[OBD:Oni Binary Data|Oni Binary Data]] >> [[OBD:File types|File Types]] >> ENVP File