OBD:ENVP: Difference between revisions

From OniGalore
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

Latest revision as of 03:59, 20 May 2025

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 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
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 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