OBD:CRSA: Difference between revisions

From OniGalore
Jump to navigation Jump to search
mNo edit summary
m (I'm only guessing, but...)
 
(26 intermediate revisions by 4 users not shown)
Line 1: Line 1:
[[Main Page]] >> [[OBD:Oni Binary Data|Oni Binary Data]] >> [[OBD:File types|File Types]] >> CRSA File
{{OBD_File_Header | type=CRSA | prev=CONS | next=DOOR | name=Corpse Array | family=Level | align=center | onistuff=crsa}}




<CENTER>[[OBD:CONS|<==]] <FONT SIZE=5>CRSA File</FONT> [[OBD:DOOR|==>]]<BR>
The first image shows the header and the beginning of the first element. The second image the end of it.
<FONT SIZE=2>Corpse Array - Level File</FONT></CENTER>




http://www6.fh-eberswalde.de/user/dkriesch/onistuff/images/crsa_a.gif
[[image:crsa_a.gif]]


==Array header==


==Corpse==
[[image:crsa_m.gif]]
What's in a corpse?
*A space for notes (160 bytes) : often the name of the file the corpse was taken when packing the array.
*A link to the [[OBD:ONCC|ONCC]] (model that should be used for the corpse) : that's 4 bytes as usual.
*Then, 19 bones, each of them defined by absolute orientation and position (unlike in a TRAM, where orientations are relative)<br>Every bone is (3x3 + 3)x4 = 48 bytes, so that's 19x48 = 912 bytes.
*Finally, an axis-aligned bounding box (2x3x4 = 24 bytes)
The total size of a corpse is thus :


;What's in a bone?:The absolute orientation is defined in a "heavy" way ''via'' an orthonormal trihedron :
:three 3D vectors '''x''', '''y''' and '''z''', each of length 1, at right angles with each other, and ordered "directly"
:(like Oni's world axes : if '''x''' points left and '''y''' points up then '''z''' points to ''front'', not back).
:Each one of those vectors is stored as 3 floats (3x4 bytes), first '''x''', then '''y''', then '''z''' (so 3x3x4 = 36 bytes in total).
:The absolute position '''R''' is stored as 3 floats right after the orientation trihedron. That's another 12 bytes, so 48 bytes in total.
:''Reminder : the 2nd coordinate of'' '''R''' ''aka'' y ''is the height of the bone (of its parent node)''


;Example:first corpse of '''00565-.CRSA''' in '''level3_Final.dat'''.
{{Table}}
:Offsets are measured from the start of the corpse chunk.
{{OBDth}}
{|border=1 cellspacing=0
{{OBDtr| 0x000 | res_id  |FF0000| 01 35 02 00 | 565        | 00565-.CRSA }}
|+Notes and ONCC link
{{OBDtr| 0x004 | lev_id  |FFFF00| 01 00 00 06 | 3          | level 3 }}
!Offset
{{OBDtr| 0x008 | char[12] |00FF00| AD DE      | dead      | unused }}
!Raw hex/string
{{OBDtr| 0x014 | int32    |00FFFF| 11 00 00 00 | 17        | number of "fixed" corpses }}
!Value
{{OBDtr| 0x018 | int32    |FF00FF| 11 00 00 00 | 17        | number of "used" corpses }}
!Meaning
{{OBDtr| 0x01C | int32    |FF8000| 14 00 00 00 | 20        | array capacity; always the same in original Oni }}
|-
{{OBDtrBK}}
|0x00
{{OBDtr2|0x000 | char[32]|FFC8C8| _lvl_3_Intro_TCL_A_corpse.dat| ignored; the name of the source file }}
|colspan=2|_lvl_3_Intro_TCL_A_corpse.dat
{{OBDtr|0x020 | int[32] |FFC8C8|  |   | runtime only }}
|probably the name of the source file
{{OBDtr| 0x0A0 | link    |FFFFC8| 01 36 02 00 | 566       | link to 00566-TCTF_lite_1.[[OBD:ONCC|ONCC]] }}
|-
|- ALIGN=CENTER VALIGN=TOP
|0xA0
|0x0A4||matrix||
|01 36 02 00
{|border=1 cellspacing=0 style="white-space:nowrap"
|566
|-BGCOLOR="#C8FFC8"
|Link to 00566-TCTF_lite_1.[[OBD:ONCC|ONCC]]
|C1 74 66 3F||00 78 3E 3D||45 AB DD 3E
|-BGCOLOR="#C8FFC8"
|A6 8B 7D 3D||19 73 7F BF||EE 67 B0 BC
|-BGCOLOR="#C8FFC8"
|03 AE DC 3E||82 2C 3D 3D||8D B2 66 BF
|-BGCOLOR="#C8FFC8"
|C5 FA E7 41||2E 2B CB C1||58 B4 45 C1
|}
|}
{|border=1 cellspacing=0
|+Bone orientation and position
!Offset
!Bone
!Raw hex
!Value/Meaning
|-
|0xA4
|Pelvis
|
|
|'''x''' = (, , )<br>'''y''' = (, , )<br>'''z''' = (, , )<br>'''R''' = (, , )
{|border=1 cellspacing=0 style="white-space:nowrap"
|0.900219||0.046501||0.432947
|-
|-
|
|0.061901||-0.997850||0.021534
|Lt Thigh
|
|'''x''' = (, , )<br>'''y''' =  (, , )<br>'''z''' = (, , )<br>'''R''' = (, , )
|-
|-
|
|0.431015||0.0461850||-0.901162
|Lt Calf
|
|'''x''' = (, , )<br>'''y''' =  (, , )<br>'''z''' = (, , )<br>'''R''' = (, , )
|-
|-
|28.997446||-25.396084||-12.356529
|}
|ALIGN=LEFT|transform matrix for the pelvis (in world space)
{{OBDtrBK|0xD4-0x434 : transform matrices for the other 18 bones}}
|- ALIGN=CENTER VALIGN=TOP
|0x434||AABB||
{|border=1 cellspacing=0 style="white-space:nowrap"
|-BGCOLOR="#C8FFFF"
|D4 22 8C 41||95 50 E9 C1||BC 31 9C C1
|-BGCOLOR="#C8FFFF"
|75 E6 14 42||2E 20 B1 C1||07 B1 D3 C0
|}
|
|
|Lt Foot
{|border=1 cellspacing=0 style="white-space:nowrap"
|
|17.517006||-29.164347||-19.524284
|'''x''' = (, , )<br>'''y''' =  (, , )<br>'''z''' = (, , )<br>'''R''' = (, , )
|-
|-
|
|37.225056||-22.140713||-6.615360
|Rt Thigh
|}
|
|ALIGN=LEFT|bounding box for the whole corpse
|'''x''' = (, , )<br>'''y''' =  (, , )<br>'''z''' = (, , )<br>'''R''' = (, , )
|-
|
|Rt Calf
|
|'''x''' = (, , )<br>'''y''' =  (, , )<br>'''z''' = (, , )<br>'''R''' = (, , )
|-
|
|Rt Foot
|
|'''x''' = (, , )<br>'''y''' =  (, , )<br>'''z''' = (, , )<br>'''R''' = (, , )
|-
|
|Mid
|
|'''x''' = (, , )<br>'''y''' =  (, , )<br>'''z''' = (, , )<br>'''R''' = (, , )
|-
|
|Chest
|
|'''x''' = (, , )<br>'''y''' =  (, , )<br>'''z''' = (, , )<br>'''R''' = (, , )
|-
|
|Neck
|
|'''x''' = (, , )<br>'''y''' =  (, , )<br>'''z''' = (, , )<br>'''R''' = (, , )
|-
|
|Head
|
|'''x''' = (, , )<br>'''y''' =  (, , )<br>'''z''' = (, , )<br>'''R''' = (, , )
|}
|}
;Array capacity
:The array capacity is larger than the number of "fixed"/"used" corpses to allow the engine to store new corpses at runtime. "Fixed" means that those corpses are never overwritten/deleted at runtime, all new corpses are stored after the "fixed" ones. This means that "fixed" <= "used" <= "capacity".
;Bones
:Here is one of the few places where the bone count 19 is apparently hardcoded.
:I.e., custom characters with weird bone counts won't work. See, e.g., [[OBD:TRIA#Bones|TRIA]]


Last
;What's in a bone?
{| BORDER=1 WIDTH=100% CELLPADDING=2 CELLSPACING=0
:The transformation matrix (3D rotation/scale/shear/mirror and translation)
|- ALIGN=CENTER BGCOLOR="#FFDDBB"
::can be seen as four 3D vectors '''X''', '''Y''', '''Z''', and '''R''' in world space.
| WIDTH=15% | <B>Hex</B>
:If a bone mesh has a vertex at (x, y, z) in its native coordinates,
| WIDTH=15% | <B>Translation</B>
::then the actual position of that vertex in the level will be '''R''' + x '''X''' + y '''Y''' + z '''Z'''
| WIDTH=70% | <B>Meaning</B>
:That's the transformation defined by the 3x4 transform matrix.
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
Reminder : the 2nd coordinate of '''X''', '''Y''', '''Z''', and '''R''' is the height.
| BGCOLOR="#FF0000" | 01 35 02 00
| 565
| ALIGN=LEFT | 00565-.CRSA
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#FFFF00" | 01 00 00 06
| 3
| ALIGN=LEFT | level 3
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#00FF00" | AD DE
| dead
| ALIGN=LEFT | not used
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#00FFFF" | 11 00 00 00
| 17
| ALIGN=LEFT | 17 packages available
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#FF00FF" | 11 00 00 00
| 17
| ALIGN=LEFT | 17 packeges used (one package is edged in black)
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#FF8000" | 14 00 00 00
| 20
| ALIGN=LEFT | 20 packages possible
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#000000"
| COLSPAN=3 | <FONT SIZE=2 COLOR="#FFFFFF">Below follows the first package.</FONT>
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#FFC8C8" COLSPAN=2 | <TT>_lvl_3_Intro...</TT>
| ALIGN=LEFT | space for notes
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| BGCOLOR="#FFFFC8" | 01 36 02 00
| 566
| ALIGN=LEFT | link to 00566-TCTF_lite_1.<A HREF="oni_oncc.htm">ONCC</A>
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#C8FFC8" | C1 74 66 3F
| 0.900219
| ALIGN=LEFT | x-position of the first point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#C8FFC8" | 00 78 3E 3D
| 0.046501
| ALIGN=LEFT | y-position (height) of the first point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#C8FFC8" | 45 AB DD 3E
| 0.432947
| ALIGN=LEFT | z-position of the first point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#C8FFC8" | A6 8B 7D 3D
| 0.061901
| ALIGN=LEFT | x-position of the second point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#C8FFC8" | 19 73 7F BF
| -0.997850
| ALIGN=LEFT | y-position (height) of the second point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#C8FFC8" | EE 67 B0 BC
| -0.021534
| ALIGN=LEFT | z-position of the second point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#C8FFC8" | 03 AE DC 3E
| 0.431015
| ALIGN=LEFT | x-position of the third point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#C8FFC8" | 82 2C 3D 3D
| 0.0461850
| ALIGN=LEFT | y-position (height) of the third point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#C8FFC8" | 8D B2 66 BF
| -0.901162
| ALIGN=LEFT | z-position of the third point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#C8FFC8" | C5 FA E7 41
| 28.997446
| ALIGN=LEFT | x-position of the pelvis
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#C8FFC8" | 2E 2B CB C1
| -25.396084
| ALIGN=LEFT | y-position (height) of the pelvis
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#C8FFC8" | 58 B4 45 C1
| -12.356529
| ALIGN=LEFT | z-position of the pelvis
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#C8FFFF" | 88 E7 5A BF
| -0.855095
| ALIGN=LEFT | x-position of the first point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#C8FFFF" | 98 D3 3E BE
| -0.186354
| ALIGN=LEFT | y-position (height) of the first point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#C8FFFF" | 8F B7 F7 BE
| -0.483822
| ALIGN=LEFT | z-position of the first point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#C8FFFF" | 6C DC A2 3E
| 0.318088
| ALIGN=LEFT | x-position of the second point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#C8FFFF" | D5 EB 6C BF
| -0.925474
| ALIGN=LEFT | y-position (height) of the second point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#C8FFFF" | 1B A7 52 BE
| -0.205716
| ALIGN=LEFT | z-position of the second point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#C8FFFF" | A7 A0 D1 BE
| -0.409429
| ALIGN=LEFT | x-position of the third point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#C8FFFF" | 22 DC A8 BE
| -0.329804
| ALIGN=LEFT | y-position (height) of the third point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#C8FFFF" | E0 C3 59 3F
| 0.850645
| ALIGN=LEFT | z-position of the third point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#C8FFFF" | 85 A4 EB 41
| 29.455332
| ALIGN=LEFT | x-position of the left thigh
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#C8FFFF" | B3 C6 CA C1
| -25.347021
| ALIGN=LEFT | y-position (height) of the left thigh
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#C8FFFF" | A3 05 55 C1
| -13.313876
| ALIGN=LEFT | z-position of the left thigh
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#FFC8FF" | D0 8D 69 BF
| -0.91232
| ALIGN=LEFT | x-position of the first point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#FFC8FF" | 38 30 1E 3E
| 0.154481
| ALIGN=LEFT | y-position (height) of the first point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#FFC8FF" | 15 29 C2 BE
| -0.37922
| ALIGN=LEFT | z-position of the first point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#FFC8FF" | EE BF CF BB
| -0.006340
| ALIGN=LEFT | x-position of the second point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#FFC8FF" | 43 6B 6E BF
| -0.931324
| ALIGN=LEFT | y-position (height) of the second point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#FFC8FF" | 0B 70 BA BE
| -0.364136
| ALIGN=LEFT | z-position of the second point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#FFC8FF" | 9D A0 D1 BE
| -0.409429
| ALIGN=LEFT | x-position of the third point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#FFC8FF" | 20 DC A8 BE
| -0.329804
| ALIGN=LEFT | y-position (height) of the third point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#FFC8FF" | E3 C3 59 3F
| 0.850645
| ALIGN=LEFT | z-position of the third point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#FFC8FF" | 73 19 CE 41
| 25.762426
| ALIGN=LEFT | x-position of the left calf
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#FFC8FF" | F2 36 D1 C1
| -26.151829
| ALIGN=LEFT | y-position (height) of the left calf
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#FFC8FF" | 2C 74 76 C1
| -15.403362
| ALIGN=LEFT | z-position of the left calf
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#FFC800" | 63 4A 58 BF
| -0.844885
| ALIGN=LEFT | x-position of the first point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#FFC800" | 4B EB EE 3E
| 0.466639
| ALIGN=LEFT | y-position (height) of the first point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#FFC800" | 22 EC 85 BE
| -0.261567
| ALIGN=LEFT | z-position of the first point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#FFC800" | 03 A8 BA BE
| -0.364563
| ALIGN=LEFT | x-position of the second point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#FFC800" | F5 2E 5C BF
| -0.860092
| ALIGN=LEFT | y-position (height) of the second point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#FFC800" | 04 B4 B6 BE
| -0.356842
| ALIGN=LEFT | z-position of the second point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#FFC800" | 22 71 C8 BE
| -0.391488
| ALIGN=LEFT | x-position of the third point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#FFC800" | 7E 14 53 BE
| -0.206133
| ALIGN=LEFT | y-position (height) of the third point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#FFC800" | 8A 94 65 3F
| 0.896798
| ALIGN=LEFT | z-position of the third point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#FFC800" | FC 2B B1 41
| 22.146477
| ALIGN=LEFT | x-position of the left foot
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#FFC800" | FF 50 CC C1
| -25.539549
| ALIGN=LEFT | y-position (height) of the left foot
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#FFC800" | 48 40 87 C1
| -16.906387
| ALIGN=LEFT | z-position of the left foot
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#C800C8" | 71 E4 7B BF
| -0.983954
| ALIGN=LEFT | x-position of the first point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#C800C8" | 42 96 36 BE
| -0.178308
| ALIGN=LEFT | y-position (height) of the first point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#C800C8" | AE 35 CF BB
| -0.006324
| ALIGN=LEFT | z-position of the first point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#C800C8" | 7A 5E CD 3D
| 0.100278
| ALIGN=LEFT | x-position of the second point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#C800C8" | CF FC 14 BF
| -0.581983
| ALIGN=LEFT | y-position (height) of the second point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#C800C8" | 37 97 4E 3F
| 0.806995
| ALIGN=LEFT | z-position of the second point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#C800C8" | 7F 1D 17 BE
| -0.147573
| ALIGN=LEFT | x-position of the third point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#C800C8" | 0E 1D 4B 3F
| 0.793412
| ALIGN=LEFT | y-position (height) of the third point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#C800C8" | 9F 2C 17 3F
| 0.590525
| ALIGN=LEFT | z-position of the third point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#C800C8" | 05 51 E4 41
| 28.53956
| ALIGN=LEFT | x-position of the right thigh
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#C800C8" | A9 8F CB C1
| -25.445147
| ALIGN=LEFT | y-position (height) of the right thigh
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#C800C8" | 0D 63 36 C1
| -11.399182
| ALIGN=LEFT | z-position of the right thigh
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#C87C64" | 6E E2 60 BF
| -0.878455
| ALIGN=LEFT | x-position of the first point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#C87C64" | 8B 43 2D 3E
| 0.169203
| ALIGN=LEFT | y-position (height) of the first point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#C87C64" | 53 CB E4 BE
| -0.446864
| ALIGN=LEFT | z-position of the first point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#C87C64" | B7 AF E8 BE
| -0.454466
| ALIGN=LEFT | x-position of the second point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#C87C64" | 88 AE 15 BF
| -0.584694
| ALIGN=LEFT | y-position (height) of the second point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#C87C64" | A8 08 2C 3F
| 0.672007
| ALIGN=LEFT | z-position of the second point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#C87C64" | 68 1D 17 BE
| -0.147573
| ALIGN=LEFT | x-position of the third point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#C87C64" | 0F 1D 4B 3F
| 0.793412
| ALIGN=LEFT | y-position (height) of the third point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#C87C64" | 9F 2C 17 3F
| 0.590525
| ALIGN=LEFT | z-position of the third point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#C87C64" | 3A 52 C2 41
| 24.29015
| ALIGN=LEFT | x-position of the right calf
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#C87C64" | BD B8 D1 C1
| -26.215204
| ALIGN=LEFT | y-position (height) of the right calf
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#C87C64" | E9 D2 36 C1
| -11.426492
| ALIGN=LEFT | z-position of the right calf
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#B0C3D4" | 77 2A 40 BF
| -0.750648
| ALIGN=LEFT | x-position of the first point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#B0C3D4" | 5C 82 6A 3E
| 0.229013
| ALIGN=LEFT | y-position (height) of the first point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#B0C3D4" | 72 A7 1E BF
| -0.619743
| ALIGN=LEFT | z-position of the first point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#B0C3D4" | 11 C7 1C BF
| -0.612413
| ALIGN=LEFT | x-position of the second point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#B0C3D4" | 2C DB 17 BF
| -0.593188
| ALIGN=LEFT | y-position (height) of the second point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#B0C3D4" | 1D C7 05 3F
| 0.522569
| ALIGN=LEFT | z-position of the second point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#B0C3D4" | 42 E6 7D BE
| -0.247949
| ALIGN=LEFT | x-position of the third point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#B0C3D4" | EE 94 45 3F
| 0.771804
| ALIGN=LEFT | y-position (height) of the third point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#B0C3D4" | 04 E5 15 3F
| 0.585526
| ALIGN=LEFT | z-position of the third point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#B0C3D4" | A6 77 A6 41
| 20.808422
| ALIGN=LEFT | x-position of the right foot
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#B0C3D4" | 4A 5B CC C1
| -25.544575
| ALIGN=LEFT | y-position (height) of the right foot
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#B0C3D4" | 75 29 53 C1
| -13.197621
| ALIGN=LEFT | z-position of the right foot
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#E7CEA5" | 69 E1 56 3F
| 0.839377
| ALIGN=LEFT | x-position of the first point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#E7CEA5" | 8F 77 B2 3D
| 0.087142
| ALIGN=LEFT | y-position (height) of the first point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#E7CEA5" | 4F 59 09 3F
| 0.536519
| ALIGN=LEFT | z-position of the first point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#E7CEA5" | 8C 8C 4A 3E
| 0.197802
| ALIGN=LEFT | x-position of the second point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#E7CEA5" | 4C E6 77 BF
| -0.968358
| ALIGN=LEFT | y-position (height) of the second point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#E7CEA5" | 20 D4 1B BE
| -0.152176
| ALIGN=LEFT | z-position of the second point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#E7CEA5" | A8 9B 01 3F
| 0.506281
| ALIGN=LEFT | x-position of the third point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#E7CEA5" | 69 78 6F 3E
| 0.233858
| ALIGN=LEFT | y-position (height) of the third point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#E7CEA5" | 6C 7E 54 BF
| -0.830054
| ALIGN=LEFT | z-position of the third point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#E7CEA5" | 8B 19 F4 41
| 30.512472
| ALIGN=LEFT | x-position of the mid
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#E7CEA5" | 1B 53 CB C1
| -25.415579
| ALIGN=LEFT | y-position (height) of the mid
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#E7CEA5" | 68 20 3A C1
| -11.632912
| ALIGN=LEFT | z-position of the mid
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#FFDDDD" | 0B D7 5B 3F
| 0.858750
| ALIGN=LEFT | x-position of the first point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#FFDDDD" | 21 67 9B 3D
| 0.075880
| ALIGN=LEFT | y-position (height) of the first point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#FFDDDD" | 0D BA 01 3F
| 0.506745
| ALIGN=LEFT | z-position of the first point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#FFDDDD" | 29 5C 1C 3E
| 0.152695
| ALIGN=LEFT | x-position of the second point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#FFDDDD" | 40 60 7B BF
| -0.981937
| ALIGN=LEFT | y-position (height) of the second point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#FFDDDD" | 6C D1 E4 BD
| -0.111728
| ALIGN=LEFT | z-position of the second point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#FFDDDD" | 2A 6D FA 3E
| 0.489114
| ALIGN=LEFT | x-position of the third point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#FFDDDD" | C2 7B 31 3E
| 0.173324
| ALIGN=LEFT | y-position (height) of the third point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#FFDDDD" | D4 D5 5A BF
| -0.854825
| ALIGN=LEFT | z-position of the third point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#FFDDDD" | 1E 9F FD 41
| 31.702694
| ALIGN=LEFT | x-position of the chest
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#FFDDDD" | 54 52 CA C1
| -25.290199
| ALIGN=LEFT | y-position (height) of the chest
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#FFDDDD" | 2F F2 2D C1
| -10.871627
| ALIGN=LEFT | z-position of the chest
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#64AAAA" | 61 D8 48 3F
| 0.784552
| ALIGN=LEFT | x-position of the first point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#64AAAA" | A2 06 04 BF
| -0.515726
| ALIGN=LEFT | y-position (height) of the first point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#64AAAA" | FD 40 B0 3E
| 0.344246
| ALIGN=LEFT | z-position of the first point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#64AAAA" | F2 2E C3 BE
| -0.381218
| ALIGN=LEFT | x-position of the second point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#64AAAA" | 52 CB 56 BF
| -0.839040
| ALIGN=LEFT | y-position (height) of the second point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#64AAAA" | CE BF C6 BE
| -0.388182
| ALIGN=LEFT | z-position of the second point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#64AAAA" | 5B 62 FA 3E
| 0.489032
| ALIGN=LEFT | x-position of the third point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#64AAAA" | D9 79 31 3E
| 0.173316
| ALIGN=LEFT | y-position (height) of the third point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#64AAAA" | 04 D9 5A BF
| -0.854874
| ALIGN=LEFT | z-position of the third point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#64AAAA" | 44 DF 06 42
| 33.718033
| ALIGN=LEFT | x-position of the neck
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#64AAAA" | 38 E4 C8 C1
| -25.111435
| ALIGN=LEFT | y-position (height) of the neck
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#64AAAA" | 78 EA 1A C1
| -9.682243
| ALIGN=LEFT | z-position of the neck
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#EBEBEB" | D1 EF 43 3F
| 0.765378
| ALIGN=LEFT | x-position of the first point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#EBEBEB" | FE 93 07 BE
| -0.132400
| ALIGN=LEFT | y-position (height) of the first point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#EBEBEB" | 8A 3B 21 3F
| 0.629815
| ALIGN=LEFT | z-position of the first point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#EBEBEB" | 6F D0 C6 BE
| -0.388309
| ALIGN=LEFT | x-position of the second point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#EBEBEB" | 48 1B 60 BF
| -0.875416
| ALIGN=LEFT | y-position (height) of the second point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#EBEBEB" | 32 62 93 3E
| 0.287859
| ALIGN=LEFT | z-position of the second point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#EBEBEB" | 87 63 03 3F
| 0.513237
| ALIGN=LEFT | x-position of the third point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#EBEBEB" | 32 05 EE BE
| -0.464883
| ALIGN=LEFT | y-position (height) of the third point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#EBEBEB" | 12 B0 38 BF
| -0.721437
| ALIGN=LEFT | z-position of the third point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#EBEBEB" | E9 B9 09 42
| 34.431553
| ALIGN=LEFT | x-position of the head
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#EBEBEB" | CC A4 CC C1
| -25.580467
| ALIGN=LEFT | y-position (height) of the head
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#EBEBEB" | 1A E8 15 C1
| -9.369165
| ALIGN=LEFT | z-position of the head
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#8C8CCC" | 0C 2B 7E 3E
| 0.248211
| ALIGN=LEFT | x-position of the first point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#8C8CCC" | E8 5D 1E BE
| -0.154655
| ALIGN=LEFT | y-position (height) of the first point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#8C8CCC" | D2 CE 74 BF
| -0.956281
| ALIGN=LEFT | z-position of the first point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#8C8CCC" | 41 10 AA 3B
| 0.005190
| ALIGN=LEFT | x-position of the second point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#8C8CCC" | 64 C4 7C 3F
| 0.987372
| ALIGN=LEFT | y-position (height) of the second point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#8C8CCC" | DF 22 22 BE
| -0.158336
| ALIGN=LEFT | z-position of the second point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#8C8CCC" | 35 FC 77 3F
| 0.968692
| ALIGN=LEFT | x-position of the third point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#8C8CCC" | D6 A5 0C 3D
| 0.034338
| ALIGN=LEFT | y-position (height) of the third point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#8C8CCC" | CA C7 7B 3E
| 0.245879
| ALIGN=LEFT | z-position of the third point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#8C8CCC" | 3C A1 06 42
| 33.657455
| ALIGN=LEFT | x-position of the left shoulder
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#8C8CCC" | E3 CE C6 C1
| -24.851019
| ALIGN=LEFT | y-position (height) of the left shoulder
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#8C8CCC" | D4 A9 23 C1
| -10.228962
| ALIGN=LEFT | z-position of the left shoulder
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#FF00C8" | F4 0A 68 BE
| -0.226604
| ALIGN=LEFT | x-position of the first point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#FF00C8" | 1E E5 B6 BE
| -0.357217
| ALIGN=LEFT | y-position (height) of the first point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#FF00C8" | 3D F7 67 BF
| -0.906116
| ALIGN=LEFT | z-position of the first point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#FF00C8" | C3 0D 73 BF
| -0.949429
| ALIGN=LEFT | x-position of the second point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#FF00C8" | 31 9E 01 BE
| -0.126580
| ALIGN=LEFT | y-position (height) of the second point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#FF00C8" | DD 1D 93 3E
| 0.287337
| ALIGN=LEFT | z-position of the second point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#FF00C8" | D0 8D 5E BE
| -0.217338
| ALIGN=LEFT | x-position of the third point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#FF00C8" | 53 E7 6C 3F
| 0.925405
| ALIGN=LEFT | y-position (height) of the third point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#FF00C8" | B1 F5 9E BE
| -0.310468
| ALIGN=LEFT | z-position of the third point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#FF00C8" | 32 47 08 42
| 34.069527
| ALIGN=LEFT | x-position of the left bicep
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#FF00C8" | B8 DC C8 C1
| -25.107773
| ALIGN=LEFT | y-position (height) of the left bicep
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#FF00C8" | 92 10 3D C1
| -11.816545
| ALIGN=LEFT | z-position of the left bicep
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#F0F096" | 38 99 04 3F
| 0.517963
| ALIGN=LEFT | x-position of the first point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#F0F096" | B8 19 24 BE
| -0.160254
| ALIGN=LEFT | y-position (height) of the first point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#F0F096" | 1F 1B 57 BF
| -0.840258
| ALIGN=LEFT | z-position of the first point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#F0F096" | 0E CC 53 BF
| -0.827332
| ALIGN=LEFT | x-position of the second point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#F0F096" | 25 D6 AF BE
| -0.343431
| ALIGN=LEFT | y-position (height) of the second point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#F0F096" | FD 94 E3 BE
| -0.444496
| ALIGN=LEFT | z-position of the second point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#F0F096" | CB 8D 5E BE
| -0.217338
| ALIGN=LEFT | x-position of the third point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#F0F096" | 55 E7 6C 3F
| 0.925405
| ALIGN=LEFT | y-position (height) of the third point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#F0F096" | A6 F5 9E BE
| -0.310468
| ALIGN=LEFT | z-position of the third point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#F0F096" | 98 C3 05 42
| 33.441010
| ALIGN=LEFT | x-position of the left wrist
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#F0F096" | D9 C9 D0 C1
| -26.098558
| ALIGN=LEFT | y-position (height) of the left wrist
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#F0F096" | C0 46 65 C1
| -14.329773
| ALIGN=LEFT | z-position of the left wrist
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#00C864" | 74 DA 0C 3F
| 0.550208
| ALIGN=LEFT | x-position of the first point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#00C864" | D8 91 6E BD
| -0.058245
| ALIGN=LEFT | y-position (height) of the first point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#00C864" | 10 3F 55 BF
| -0.832994
| ALIGN=LEFT | z-position of the first point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#00C864" | 4D 49 72 3C
| 0.014788
| ALIGN=LEFT | x-position of the second point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#00C864" | 97 29 7F BF
| -0.996728
| ALIGN=LEFT | y-position (height) of the second point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#00C864" | 6F BC A2 3D
| 0.079461
| ALIGN=LEFT | z-position of the second point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#00C864" | C9 BB 55 BF
| -0.834897
| ALIGN=LEFT | x-position of the third point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#00C864" | 99 88 65 BD
| -0.056038
| ALIGN=LEFT | y-position (height) of the third point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#00C864" | 08 2C 0C BF
| -0.547547
| ALIGN=LEFT | z-position of the third point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#00C864" | 2E FD 0A 42
| 34.747246
| ALIGN=LEFT | x-position of the left hand
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#00C864" | 87 05 D4 C1
| -26.502699
| ALIGN=LEFT | y-position (height) of the left hand
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#00C864" | 22 97 83 C1
| -16.448795
| ALIGN=LEFT | z-position of the left hand
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#00C8FF" | 5D 45 44 BF
| -0.766683
| ALIGN=LEFT | x-position of the first point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#00C8FF" | 51 47 52 BE
| -0.205350
| ALIGN=LEFT | y-position (height) of the first point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#00C8FF" | 7E B9 1B 3F
| 0.608299
| ALIGN=LEFT | z-position of the first point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#00C8FF" | 2C D8 25 BE
| -0.161957
| ALIGN=LEFT | x-position of the second point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#00C8FF" | 3D 8B 7A 3F
| 0.978687
| ALIGN=LEFT | y-position (height) of the second point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#00C8FF" | 21 4A 01 3E
| 0.126259
| ALIGN=LEFT | z-position of the second point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#00C8FF" | 07 0B 1F BF
| -0.621262
| ALIGN=LEFT | x-position of the third point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#00C8FF" | D0 22 E1 BA
| -0.001718
| ALIGN=LEFT | y-position (height) of the third point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#00C8FF" | 15 9A 48 BF
| -0.783601
| ALIGN=LEFT | z-position of the third point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#00C8FF" | 9B BD 04 42
| 33.185162
| ALIGN=LEFT | x-position of the right shoulder
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#00C8FF" | B2 25 C8 C1
| -25.018406
| ALIGN=LEFT | y-position (height) of the right shoulder
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#00C8FF" | 22 74 16 C1
| -9.403353
| ALIGN=LEFT | z-position of the right shoulder
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#C80040" | 11 46 56 BF
| -0.837007
| ALIGN=LEFT | x-position of the first point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#C80040" | 23 3D CC BE
| -0.398904
| ALIGN=LEFT | y-position (height) of the first point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#C80040" | 65 C6 BF 3E
| 0.374561
| ALIGN=LEFT | z-position of the first point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#C80040" | DF 08 03 3F
| 0.511854
| ALIGN=LEFT | x-position of the second point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#C80040" | 1F 54 A8 BE
| -0.328767
| ALIGN=LEFT | y-position (height) of the second point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#C80040" | 32 2E 4B 3F
| 0.793674
| ALIGN=LEFT | z-position of the second point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#C80040" | 71 19 46 BE
| -0.193456
| ALIGN=LEFT | x-position of the third point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#C80040" | CF 24 5B 3F
| 0.856030
| ALIGN=LEFT | y-position (height) of the third point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#C80040" | C0 6E F5 3E
| 0.479361
| ALIGN=LEFT | z-position of the third point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#C80040" | 7A 4C FF 41
| 31.912342
| ALIGN=LEFT | x-position of the right bicep
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#C80040" | E4 DF CA C1
| -25.359322
| ALIGN=LEFT | y-position (height) of the right bicep
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#C80040" | AD 4B 06 C1
| -8.393476
| ALIGN=LEFT | z-position of the right bicep
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#C80040" | A3 6E 72 BF
| -0.947001
| ALIGN=LEFT | x-position of the first point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#FFCD96" | E9 3D 10 BD
| -0.035215
| ALIGN=LEFT | y-position (height) of the first point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#FFCD96" | BC 7A A3 BE
| -0.319296
| ALIGN=LEFT | z-position of the first point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#FFCD96" | E6 4C 83 BE
| -0.256446
| ALIGN=LEFT | x-position of the second point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#FFCD96" | 83 06 04 BF
| -0.515724
| ALIGN=LEFT | y-position (height) of the second point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#FFCD96" | FA 45 51 3F
| 0.817474
| ALIGN=LEFT | z-position of the second point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#FFCD96" | 5D 19 46 BE
| -0.193456
| ALIGN=LEFT | x-position of the third point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#FFCD96" | D1 24 5B 3F
| 0.856031
| ALIGN=LEFT | y-position (height) of the third point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#FFCD96" | BC 6E F5 3E
| 0.479360
| ALIGN=LEFT | z-position of the third point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#FFCD96" | F5 B9 EC 41
| 29.590799
| ALIGN=LEFT | x-position of the right wrist
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#FFCD96" | D1 B9 D3 C1
| -26.465731
| ALIGN=LEFT | y-position (height) of the right wrist
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#FFCD96" | C3 58 EB C0
| -7.354585
| ALIGN=LEFT | z-position of the right wrist
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#C8C864" | 48 38 54 BF
| -0.828984
| ALIGN=LEFT | x-position of the first point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#C8C864" | 81 8A A2 BC
| -0.019841
| ALIGN=LEFT | y-position (height) of the first point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#C8C864" | 6F 15 0F BF
| -0.558921
| ALIGN=LEFT | z-position of the first point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#C8C864" | AC 11 67 BE
| -0.225653
| ALIGN=LEFT | x-position of the second point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#C8C864" | B5 20 6D 3F
| 0.926280
| ALIGN=LEFT | y-position (height) of the second point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#C8C864" | FE 85 9A 3E
| 0.301804
| ALIGN=LEFT | z-position of the second point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#C8C864" | AE 00 03 3F
| 0.511729
| ALIGN=LEFT | x-position of the third point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#C8C864" | 09 AC C0 3E
| 0.376313
| ALIGN=LEFT | y-position (height) of the third point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#C8C864" | A1 B8 45 BF
| -0.772348
| ALIGN=LEFT | z-position of the third point of the equilateral triangle
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#C8C864" | E5 9E D9 41
| 27.202585
| ALIGN=LEFT | x-position of the right hand
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#C8C864" | B2 6F D4 C1
| -26.554539
| ALIGN=LEFT | y-position (height) of the right hand
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#C8C864" | 93 8E 02 C1
| -8.159808
| ALIGN=LEFT | z-position of the right hand
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#0096C8" | D4 22 8C 41
| 17.517006
| ALIGN=LEFT | x-position of the first point of a line
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#0096C8" | 95 50 E9 C1
| -29.164347
| ALIGN=LEFT | y-position of the first point of a line
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#0096C8" | BC 31 9C C1
| -19.524284
| ALIGN=LEFT | z-position of the first point of a line
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#0096C8" | 75 E6 14 42
| 37.225056
| ALIGN=LEFT | x-position of the second point of a line
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#0096C8" | 2E 20 B1 C1
| -22.140713
| ALIGN=LEFT | y-position of the second point of a line
|- VALIGN=TOP ALIGN=CENTER BGCOLOR="#FFEEDD"
| BGCOLOR="#0096C8" | 07 B1 D3 C0
| -6.615360
| ALIGN=LEFT | z-position of the second point of a line
|}


;Authoring
:The script command [[make_corpse]](filename) creates a separate corpse file in the Oni folder. The pose of this corpse is taken from the player character (the [[Dev Mode]] shortcut Ctrl+F7, "Play dead", would have come in handy here). The format is roughly as above. The contents of the files thus created can then be inserted as elements in a level's CRSA.


<HR>
<CENTER>[[OBD:CONS|<==]] <B>CRSA File</B> [[OBD:DOOR|==>]]</CENTER>
<HR>


{{OBD_File_Footer | type=CRSA | prev=CONS | next=DOOR | name=Corpse Array | family=Level}}


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

Latest revision as of 19:49, 23 May 2013

ONI BINARY DATA
CONS << Other file types >> DOOR
CRSA : Corpse Array
switch to XML:CRSA page
Overview @ Oni Stuff
OBD.png


The first image shows the header and the beginning of the first element. The second image the end of it.


Crsa a.gif


Crsa m.gif


Offset Type Raw Hex Value Description
0x000 res_id 01 35 02 00 565 00565-.CRSA
0x004 lev_id 01 00 00 06 3 level 3
0x008 char[12] AD DE dead unused
0x014 int32 11 00 00 00 17 number of "fixed" corpses
0x018 int32 11 00 00 00 17 number of "used" corpses
0x01C int32 14 00 00 00 20 array capacity; always the same in original Oni
First element (black outline)
0x000 char[32] _lvl_3_Intro_TCL_A_corpse.dat ignored; the name of the source file
0x020 int[32] runtime only
0x0A0 link 01 36 02 00 566 link to 00566-TCTF_lite_1.ONCC
0x0A4 matrix
C1 74 66 3F 00 78 3E 3D 45 AB DD 3E
A6 8B 7D 3D 19 73 7F BF EE 67 B0 BC
03 AE DC 3E 82 2C 3D 3D 8D B2 66 BF
C5 FA E7 41 2E 2B CB C1 58 B4 45 C1
0.900219 0.046501 0.432947
0.061901 -0.997850 0.021534
0.431015 0.0461850 -0.901162
28.997446 -25.396084 -12.356529
transform matrix for the pelvis (in world space)
0xD4-0x434 : transform matrices for the other 18 bones
0x434 AABB
D4 22 8C 41 95 50 E9 C1 BC 31 9C C1
75 E6 14 42 2E 20 B1 C1 07 B1 D3 C0
17.517006 -29.164347 -19.524284
37.225056 -22.140713 -6.615360
bounding box for the whole corpse
Array capacity
The array capacity is larger than the number of "fixed"/"used" corpses to allow the engine to store new corpses at runtime. "Fixed" means that those corpses are never overwritten/deleted at runtime, all new corpses are stored after the "fixed" ones. This means that "fixed" <= "used" <= "capacity".
Bones
Here is one of the few places where the bone count 19 is apparently hardcoded.
I.e., custom characters with weird bone counts won't work. See, e.g., TRIA
What's in a bone?
The transformation matrix (3D rotation/scale/shear/mirror and translation)
can be seen as four 3D vectors X, Y, Z, and R in world space.
If a bone mesh has a vertex at (x, y, z) in its native coordinates,
then the actual position of that vertex in the level will be R + x X + y Y + z Z
That's the transformation defined by the 3x4 transform matrix.

Reminder : the 2nd coordinate of X, Y, Z, and R is the height.

Authoring
The script command make_corpse(filename) creates a separate corpse file in the Oni folder. The pose of this corpse is taken from the player character (the Dev Mode shortcut Ctrl+F7, "Play dead", would have come in handy here). The format is roughly as above. The contents of the files thus created can then be inserted as elements in a level's CRSA.


ONI BINARY DATA
CONS << Other file types >> DOOR
CRSA : Corpse Array
Level file