OBD:OBOA: Difference between revisions

1,834 bytes removed ,  9 September 2007
m
design
No edit summary
m (design)
Line 1: Line 1:
[[Main Page]] >> [[OBD:Oni Binary Data|Oni Binary Data]] >> [[OBD:File types|File Types]] >> OBOA File
{{OBD_File_Header | type=OBOA | prev=OBDC | next=OFGA | name=Starting Object Array | family=Level | align=center}}




<CENTER>[[OBD:OBDC|<==]] <FONT SIZE=5>OBOA File</FONT> [[OBD:OFGA|==>]]<BR>
[[image:oboa_a.gif]]
<FONT SIZE=2>Starting Object Array - Level File</FONT></CENTER>




http://www6.fh-eberswalde.de/user/dkriesch/onistuff/images/oboa_a.gif
{{Table}}
{{OBDth}}
{{OBDtr| 0x00 | res_id  |FF0000| 01 55 02 00 | 597      | 00597-.OBOA }}
{{OBDtr| 0x04 | lev_id  |FFFF00| 01 00 00 06 | 3        | level 3 }}
{{OBDtr| 0x08 | char[22] |00FF00| AD DE      | dead      | unused }}
{{OBDtr| 0x1E | int16    |00FFFF| 62 00      | 98        | arrray size }}
{{OBDtrBK}}
{{OBDtr| 0x00 | int32    |FFC8C8| 01 56 02 00 | 1        | link to [[OBD:M3GA|00598-.M3GA]] }}
{{OBDtr| 0x04 | link    |FFFFC8| 00 00 00 00 | unused    | link to an [[OBD:OBAN|OBAN]] file }}
{{OBDtr| 0x08 | link    |C8FFC8| 00 00 00 00 | unused    | link to an [[OBD:ENVP|ENVP]] file }}
{{OBDtr| 0x0C | bitset  |C8FFFF| 00          | 0        | unknown; always zero; maybe an unused bistet }}
{{OBDtr| 0x0D | bitset  |C8FFFF| 12          | 18        | generic options; it's a bitset; the following options are used (values in dec):




{| BORDER=1 WIDTH=100% CELLPADDING=2 CELLSPACING=0
0 - nothing
|- BGCOLOR="#FFDDBB"
 
| WIDTH=15% | <B>Hex</B>
2 - package used
| WIDTH=15% | <B>Translation</B>
 
| WIDTH=70% | <B>Meaning</B>
4 - object is a blender
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
 
| BGCOLOR="#FF0000" | 01 55 02 00
16 - object is a door
| 597
 
| ALIGN=LEFT | 00597-.OBOA
 
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
}}
| BGCOLOR="#FFFF00" | 01 00 00 06
{{OBDtr| 0x0E | int16    |C8FFFF| 00 00      | 0        | unknown; always zero; maybe two unused bistets }}
| 3
{{OBDtr| 0x10 | int8    |FFC8FF| 46          | 70        | unknown }}
| ALIGN=LEFT | level 3
{{OBDtr| 0x11 | int8    |FFC8FF| 89          | 137      | unknown }}
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
{{OBDtr| 0x12 | int16    |FFC8FF| 00 00       | 0        | unknown; always zero }}
| BGCOLOR="#00FF00" | AD DE
{{OBDtr| 0x14 | int8    |FFC800| 01          | 1        | door ID; only used for doors; id must be higher than zero }}
| dead
{{OBDtr| 0x15 | int8    |FFC800| 00         | 0         | double door (0 <nowiki>= no, 16 =</nowiki> yes; both values in dec) }}
| ALIGN=LEFT | not used
{{OBDtr| 0x16 | int16    |FFC800| 00 00      | 0         | unknown; always zero }}
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
{{OBDtr| 0x18 | int32    |C800C8| 00 00 00 00 | 0         | unknown; the following values are used:
| BGCOLOR="#00FFFF" | 62 00
 
| 98
 
| ALIGN=LEFT | 98 packages follow (one package is edged in black)
0 - none
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#000000"
 
| COLSPAN=3 | <FONT SIZE=2 COLOR="#FFFFFF">Below follows the first package.</FONT>
3 - OBAN link used
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
 
| BGCOLOR="#FFC8C8" | 01 56 02 00
 
| 598
(note: doors don't have OBAN links) }}
| ALIGN=LEFT | link to 00598-.[[OBD:M3GA|M3GA]]
{{OBDtr| 0x1C | int16    |C87C64| FF FF      | -1       | object ID (-1 <nowiki>=</nowiki> not used) }}
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
{{OBDtr| 0x1E | int16    |C87C64| 00 00       | 0         | unknown; always zero }}
| BGCOLOR="#FFFFC8" | 00 00 00 00
{{OBDtr| 0x20 | float    |B0C3D4| 00 00 4F 43 |207.000000 | initial x-position }}
| not used
{{OBDtr| 0x24 | float    |B0C3D4| 1F 05 F6 42 |123.010002 | initial y-position (height) }}
| ALIGN=LEFT | link to a [[OBD:OBAN|OBAN]] file
{{OBDtr| 0x28 | float    |B0C3D4| 98 7F CC C3 |-408.996826| initial z-position }}
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
{{OBDtr| 0x2C | float    |E7CEA5| F2 04 35 3F | 0.707107 | x component of the initial rotation quaternion }}
| BGCOLOR="#C8FFC8" | 00 00 00 00
{{OBDtr| 0x30 | float    |E7CEA5| 74 BC 82 B9 | -0.000249 | y component of the initial rotation quaternion }}
| not used
{{OBDtr| 0x34 | float    |E7CEA5| 74 BC 82 B9 | -0.000249 | z component of the initial rotation quaternion }}
| ALIGN=LEFT | link to a [[OBD:ENVP|ENVP]] file
{{OBDtr| 0x38 | float    |E7CEA5| F3 04 35 3F | 0.707107 | w component of the initial rotation quaternion }}
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
{{OBDtr| 0x3C | float    |FFDDDD| 00 00 80 3F | 1.000000 | initial scale of the object }}
| BGCOLOR="#C8FFFF" | 00
{{OBDtr| 0x40 | float    |64AAAA| FC FF 7F 3F | 0.999999 | m11 element of the initial position transform matrix }}
| 0
{{OBDtr| 0x44 | float    |64AAAA| 00 00 00 00 | 0.000000 | m21 element of the initial position transform matrix }}
| ALIGN=LEFT | unknown
{{OBDtr| 0x48 | float    |64AAAA| 8A E3 38 BA | -0.000705 | m31 element of the initial position transform matrix }}
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
{{OBDtr| 0x4C | float    |64AAAA| 8A E3 38 BA | -0.000705 | m12 element of the initial position transform matrix }}
| BGCOLOR="#FFC8FF" | 12
{{OBDtr| 0x50 | float    |64AAAA| 2E DE 4C 32 |0.000000...| m22 element of the initial position transform matrix }}
| 18
{{OBDtr| 0x54 | float    |64AAAA| FC FF 7F BF | -0.999999 | m32 element of the initial position transform matrix }}
| ALIGN=LEFT | unknown
{{OBDtr| 0x58 | float    |64AAAA| C9 F5 13 2D |0.000000...| m13 element of the initial position transform matrix }}
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
{{OBDtr| 0x5C | float    |64AAAA| 00 00 80 3F | 1.000000 | m23 element of the initial position transform matrix }}
| BGCOLOR="#FFC800" | 00
{{OBDtr| 0x60 | float    |64AAAA| 2B DE 4C 32 |0.000000...| m33 element of the initial position transform matrix }}
| 0
{{OBDtr| 0x64 | float    |64AAAA| 00 00 4F 43 |207.000000 | m14 element of the initial position transform matrix (x-position) }}
| ALIGN=LEFT | unknown
{{OBDtr| 0x68 | float    |64AAAA| 1F 05 F6 42 |123.010002 | m24 element of the initial position transform matrix (y-position, height) }}
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
{{OBDtr| 0x6C | float    |64AAAA| 98 7F CC C3 |-408.996826| m34 element of the initial position transform matrix (z-position) }}
| BGCOLOR="#C800C8" | 00
{{OBDtr2|0x70 | char[64] |EBEBEB| object_door_1           | name of the object }}
| 0
{{OBDtr2|0xB0 | char[64] |8C8CCC| L3_Gunk.ENV             | internal object file name; maybe an old development relict }}
| ALIGN=LEFT | unknown
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#C87C64" | 46
| 70
| ALIGN=LEFT | unknown
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#B0C3D4" | 89
| 137
| ALIGN=LEFT | unknown
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#E7CEA5" | 00
| 0
| ALIGN=LEFT | unknown
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#FFDDDD" | 00
| 0
| ALIGN=LEFT | unknown
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#64AAAA" | 01
| 1
| ALIGN=LEFT | unknown
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#EBEBEB" | 00
| 0
| ALIGN=LEFT | unknown
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#8C8CCC" | 00
| 0
| ALIGN=LEFT | unknown
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#FF00C8" | 00
| 0
| ALIGN=LEFT | unknown
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#F0F096" | 00 00 00 00
| 0
| ALIGN=LEFT | unknown
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#00C864" | FF FF 00 00
| not used
| ALIGN=LEFT | object ID; only used if the object has an [[OBD:OBAN|OBAN]] link
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#00C8FF" | 00 00 4F 43
| 207.000000
| ALIGN=LEFT | initial x-position
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#00C8FF" | 1F 05 F6 42
| 123.010002
| ALIGN=LEFT | initial y-position (height)
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#00C8FF" | 98 7F CC C3
| -408.996826
| ALIGN=LEFT | initial z-position
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#C80040" | F2 04 35 3F
| 0.707107
| ALIGN=LEFT | x component of the initial rotation quaternion
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#C80040" | 74 BC 82 B9
| -0.000249
| ALIGN=LEFT | y component of the initial rotation quaternion
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#C80040" | 74 BC 82 B9
| -0.000249
| ALIGN=LEFT | z component of the initial rotation quaternion
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#C80040" | F3 04 35 3F
| 0.707107
| ALIGN=LEFT | w component of the initial rotation quaternion
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#C8C800" | 00 00 80 3F
| 1.000000
| ALIGN=LEFT | initial scale of the object
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#FFCD96" | FC FF 7F 3F
| 0.999999
| ALIGN=LEFT | m11 element of the initial position transform matrix
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#FFCD96" | 00 00 00 00
| 0.000000
| ALIGN=LEFT | m21 element of the initial position transform matrix
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#FFCD96" | 8A E3 38 BA
| -0.000705
| ALIGN=LEFT | m31 element of the initial position transform matrix
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#FFCD96" | 8A E3 38 BA
| -0.000705
| ALIGN=LEFT | m12 element of the initial position transform matrix
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#FFCD96" | 2E DE 4C 32
| 1.192488e-8
| ALIGN=LEFT | m22 element of the initial position transform matrix
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#FFCD96" | FC FF 7F BF
| -0.999999
| ALIGN=LEFT | m32 element of the initial position transform matrix
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#FFCD96" | C9 F5 13 2D
| 8.410557e-12
| ALIGN=LEFT | m13 element of the initial position transform matrix
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#FFCD96" | 00 00 80 3F
| 1.000000
| ALIGN=LEFT | m23 element of the initial position transform matrix
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#FFCD96" | 2B DE 4C 32
| 1.192487e-8
| ALIGN=LEFT | m33 element of the initial position transform matrix
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#FFCD96" | 00 00 4F 43
| 207.000000
| ALIGN=LEFT | m14 element of the initial position transform matrix (x-position)
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#FFCD96" | 1F 05 F6 42
| 123.000000
| ALIGN=LEFT | m24 element of the initial position transform matrix (y-position, height)
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#FFCD96" | 98 7F CC C3
| -408.996826
| ALIGN=LEFT | m34 element of the initial position transform matrix (z-position)
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#C8C864" COLSPAN=2 | <TT>object_door_1</TT>
| ALIGN=LEFT | name of the object
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#0096C8" COLSPAN=2 | <TT>L3_Gunk.ENV</TT>
| ALIGN=LEFT | unknown; maybe an old development relict
|}
|}


Elements m41, m42, m43, m44 of both transform matrices are missing. m41, m42 and m43 are the projection transform coefficients and they are not needed so they are 0.0 and the m44 element is always 1.0 for a transform matrix. (column major transform matrices like in Open GL, for Direct 3D they need to be transposed)  
Elements m41, m42, m43, m44 of both transform matrices are missing. m41, m42 and m43 are the projection transform coefficients and they are not needed so they are 0.0 and the m44 element is always 1.0 for a transform matrix. (column major transform matrices like in Open GL, for Direct 3D they need to be transposed)  


The initial position transform is used the place the object in the environment. For object that have an animation attached to them this is also the starting position of the animation sequence. The initial x,y and z position value together with the initial rotation quaternion and the initial scale factor contain basically the same information as the initial transform matrix and combining them in a transform matrix should result in the initial transform matrix (less the differences due to floating point computation errors)
The initial position transform is used the place the object in the environment. For object that have an animation attached to them this is also the starting position of the animation sequence. The initial x,y and z position value together with the initial rotation quaternion and the initial scale factor contain basically the same information as the initial transform matrix and combining them in a transform matrix should result in the initial transform matrix (less the differences due to floating point computation errors)
<HR>
<CENTER>[[OBD:OBDC|<==]] <B>OBOA File</B> [[OBD:OFGA|==>]]</CENTER>
<HR>




[[Main Page]] >> [[OBD:Oni Binary Data|Oni Binary Data]] >> [[OBD:File types|File Types]] >> OBOA File
{{OBD_File_Footer | type=OBOA | prev=OBDC | next=OFGA | name=Starting Object Array | family=Level}}
1,051

edits