XeNTaX Forum Index
Forum MultiEx Commander Tools Tools Home
It is currently Mon Jun 18, 2018 10:15 pm

All times are UTC + 1 hour


Forum rules


Please click here to view the forum rules



Post new topic Reply to topic  [ 102 posts ]  Go to page Previous  1 ... 3, 4, 5, 6, 7
Author Message
 Post subject: Re: Havok binary files
PostPosted: Sat Dec 16, 2017 8:46 am 
Offline
advanced

Joined: Mon Aug 10, 2015 7:03 am
Posts: 40
Has thanked: 14 times
Have thanks: 5 times
Loomy wrote:
HunterAP wrote:
After all this time I'm also trying to get some newer formats of HKX working. Right now, Volfin's hkt2smd is crashing because newer formats report that for a variable used in the code, there is over 1.5 billion elements in an array (AKA way too much to work with), and I'm not sure how to go about patching it.

Also, interestingly, trying to use hkt2smd on Dark Souls 1 has a similar error but in a different section.


can u post here sample of both assets ur trying to parse ? i can take a look.


Of course. I'm including two files: one is the player skeleton from Dark Souls 2, and the other is the player skeleton from Dark Souls 3.


Attachments:


You do not have the required permissions to view the files attached to this post. Register to gain access.



Top
 Profile  
 
 Post subject: Re: Havok binary files
PostPosted: Thu Dec 21, 2017 7:55 pm 
Offline
beginner
User avatar

Joined: Sat Sep 12, 2015 2:16 am
Posts: 37
Location: South Africa
Has thanked: 19 times
Have thanks: 6 times
In meanwhile, i came across this hkx2xml converter.https://github.com/Dexesttp/hkxpack. it looks promising. Iiirc its easier and there are couple of tools to convert raw HKxmlTagFile to a couple of formats.



Still trying to fix up volfins awesome project. (its just a matter of few extra trash/padding bytes + some random extra info,

still not sure about the HeaderFlags PointerSize if it has any bearing.. older files usually have value of 4 here, these 2014 / dk files have pointer 8. Think it has something to do with calculating the section / data block total sizes.. this java project above seems to give some clues.

Anyway here is output of DK3 file. (dk2 file only spat out seemingly broken file with only 5 attachments/bones) and no refpose/indices info

Does this look right ? or do u maybe have an smd or other version of DK2 / 3 skeleton to use as ref ?

Code:
<?xml version="1.0" encoding="ASCII" standalone="no"?>
<hkpackfile classversion="11" contentsversion="hk_2014.1.0-r1">
    <hksection name="__data__">
        <hkobject class="hkRootLevelContainer" name="#90" signature="0x2772c11e">
            <hkparam name="namedVariants" numelements="1">
                <hkobject>
                    <hkparam name="name">Merged Animation Container</hkparam>
                    <hkparam name="className">hkaAnimationContainer</hkparam>
                    <hkparam name="variant">#91</hkparam>
                </hkobject>
            </hkparam>
        </hkobject>
        <hkobject class="hkaAnimationContainer" name="#91" signature="0x26859f4c">
            <!-- memSizeAndRefCount SERIALIZE_IGNORED -->
            <hkparam name="skeletons" numelements="1">#92</hkparam>
            <hkparam name="animations" numelements="0"></hkparam>
            <hkparam name="bindings" numelements="0"></hkparam>
            <hkparam name="attachments" numelements="0"></hkparam>
            <hkparam name="skins" numelements="0"></hkparam>
        </hkobject>
        <hkobject class="hkaSkeleton" name="#92" signature="0xfec1cedb">
            <!-- memSizeAndRefCount SERIALIZE_IGNORED -->
            <hkparam name="name">Master</hkparam>
            <hkparam name="parentIndices" numelements="110">
65535 0 1 2 0 4 5 0 7 8 8 10 11 11 11 11 15 15 10 10 10 10 10 8
8 8 25 26 26 26 26 30 30 25 25 25 25 25 8 7 39 40 41 42 43 43 43
43 43 48 48 50 50 52 52 52 55 56 57 55 59 60 55 62 63 55 65 66
55 68 69 55 55 50 50 43 43 43 77 43 79 79 81 81 83 83 83 86 87
88 86 90 91 86 93 94 86 96 97 86 99 100 86 86 81 81 43 43 42 42</hkparam>
            <hkparam name="bones" numelements="110">
                <hkobject>
                    <hkparam name="name">Master</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">L_Foot_Target2</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">L_Foot_Target1</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">L_Foot_Target</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">R_Foot_Target2</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">R_Foot_Target1</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">R_Foot_Target</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">RootPos</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">Pelvis</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">L_Hip</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">L_Thigh</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">L_Calf</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">L_Calf_Skirt</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">L_CalfTwist</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">L_CalfTwist1</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">L_Foot</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">L_FootTwist</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">L_Toe0</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">L_Knee</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">L_Knee_Skirt</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">L_Thigh_Skirt</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">L_ThighTwist</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">L_ThighTwist1</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">L_Wepon_Case</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">R_Hip</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">R_Thigh</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">R_Calf</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">R_Calf_Skirt</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">R_CalfTwist</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">R_CalfTwist1</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">R_Foot</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">R_FootTwist</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">R_Toe0</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">R_Knee</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">R_Knee_Skirt</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">R_Thigh_Skirt</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">R_ThighTwist</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">R_ThighTwist1</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">R_Wepon_Case</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">RootRotY</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">RootRotXZ</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">Spine</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">Spine1</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">Spine2</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">B_Wepon_Case</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">B_Wepon_Case0_L</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">B_Wepon_Case0_R</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">Collar</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">L_Clavicle</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">L_Shoulder</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">L_UpperArm</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">L_Elbow</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">L_Forearm</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">L_ForeArmTwist</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">L_ForeArmTwist1</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">L_Hand</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">L_Finger0</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">L_Finger01</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">L_Finger02</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">L_Finger1</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">L_Finger11</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">L_Finger12</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">L_Finger2</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">L_Finger21</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">L_Finger22</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">L_Finger3</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">L_Finger31</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">L_Finger32</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">L_Finger4</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">L_Finger41</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">L_Finger42</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">L_Shield</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">L_Weapon</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">L_UpArmTwist</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">L_UpArmTwist1</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">L_Pectoral</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">L_Po</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">Neck</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">Head</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">R_Clavicle</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">R_Shoulder</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">R_UpperArm</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">R_Elbow</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">R_Forearm</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">R_ForeArmTwist</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">R_ForeArmTwist1</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">R_Hand</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">R_Finger0</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">R_Finger01</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">R_Finger02</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">R_Finger1</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">R_Finger11</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">R_Finger12</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">R_Finger2</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">R_Finger21</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">R_Finger22</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">R_Finger3</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">R_Finger31</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">R_Finger32</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">R_Finger4</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">R_Finger41</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">R_Finger42</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">R_Shield</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">R_Weapon</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">R_UpArmTwist</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">R_UpArmTwist1</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">R_Pectoral</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">R_Po</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">SpineArmor1</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
                <hkobject>
                    <hkparam name="name">SpineArmor2</hkparam>
                    <hkparam name="lockTranslation">false</hkparam>
                </hkobject>
            </hkparam>
            <hkparam name="referencePose" numelements="110">

(0.0 0.0 0.0 1.0)(0.0 0.7071061730384827 0.0 0.7071073055267334)(0.9999998211860657 0.9999999403953552 0.9999998211860657 1.0)
(-0.06271867454051971 0.9761797189712524 0.10334890335798264 -0.9761798977851868)(-0.49987614154815674 0.4998769462108612 -0.5001237988471985 0.5001230835914612)(0.9999997019767761 0.9999997615814209 1.0000001192092896 0.0)
(0.4433634281158447 0.0 1.2665987014770508E-6 0.9758566617965698)(-7.783820166196165E-8 -1.1212688377781888E-6 1.19486983862771E-7 1.0)(0.9999997019767761 1.0 0.9999997019767761 0.0)
(0.42329806089401245 -1.4901161193847656E-7 -9.164214134216309E-7 1.0418891906738281E-4)(2.4693511659279466E-4 -1.729398500174284E-4 1.6194296392768592E-7 -0.9999998807907104)(1.000000238418579 1.0 1.0000004768371582 0.0)
(-0.06271988898515701 0.9761797785758972 -0.10334904491901398 -0.9761799573898315)(-0.5010172128677368 0.5010135769844055 -0.49898040294647217 0.49898460507392883)(0.9999995827674866 0.999998927116394 0.9999993443489075 0.0)
(0.4433632493019104 6.332993507385254E-7 6.9141387939453125E-6 0.9796545505523682)(-2.2538009147865523E-7 -4.222733423375757E-6 -9.79873817641419E-8 0.9999999403953552)(0.9999998807907104 0.9999998807907104 0.9999999403953552 0.0)
(0.4232977628707886 -9.015202522277832E-7 -1.7292797565460205E-5 -8.538961410522461E-4)(-0.0020329768303781748 -1.8076931883115321E-4 -1.1241216668622656E-7 -0.9999979138374329)(1.0 1.000000238418579 1.0000004768371582 0.0)
(0.0 0.9699996113777161 0.0 -0.9699997901916504)(0.0 -0.7071061730384827 0.0 0.7071073055267334)(1.0000001192092896 1.0 1.0000001192092896 0.0)
(0.0 6.556510925292969E-7 0.0 -0.9699976444244385)(0.7071061730384827 0.7071073055267334 1.6493457906108233E-6 1.6493461316713365E-6)(0.9999998211860657 0.9999998211860657 0.9999996423721313 0.0)
(-2.384185791015625E-7 0.10334886610507965 -0.004999629687517881 -3.814697265625E-6)(-0.004983692429959774 -2.0406770636327565E-4 -0.9999874830245972 2.81304301097407E-6)(1.0000001192092896 1.0 1.0000001192092896 0.0)
(-2.384185791015625E-7 0.10334903001785278 3.828472472378053E-7 -3.814697265625E-6)(-0.00996700394898653 2.0000154563604156E-6 -0.9999502897262573 1.1557366406123037E-6)(1.0000005960464478 1.0000004768371582 1.000000238418579 0.0)
(0.44336360692977905 -1.043081283569336E-7 3.725290298461914E-9 -0.01285165548324585)(3.9115556660362927E-7 0.09475500136613846 -3.323658290810272E-7 0.9955005645751953)(0.999998927116394 0.9999991059303284 0.9999993443489075 0.0)
(0.005000710487365723 -5.289912223815918E-7 9.685754776000977E-8 0.07964915037155151)(1.0430816388407038E-7 1.1175874448099421E-8 9.080398655214594E-9 1.0)(0.9999999403953552 1.0 0.9999997019767761 0.0)
(0.19473174214363098 -3.0547380447387695E-7 8.195638656616211E-8 0.06361275911331177)(-6.518663722090423E-4 -7.450582373280668E-9 6.984921085972928E-9 -0.9999997615814209)(0.9999998807907104 1.000000238418579 1.0000003576278687 0.0)
(0.005000710487365723 -3.7997961044311523E-7 9.685754776000977E-8 0.07964915037155151)(-3.260561206843704E-4 3.725291186640334E-9 -5.1688413549300094E-8 -0.9999998807907104)(0.9999998807907104 1.0000001192092896 0.9999995827674866 0.0)
(0.423298180103302 -1.564621925354004E-7 3.725290298461914E-8 0.04429394006729126)(6.184566192501961E-10 -0.08465617150068283 2.8226178727663864E-8 0.9964102506637573)(1.000000238418579 1.0000001192092896 1.000000238418579 0.0)
(0.11036860942840576 -7.82310962677002E-7 3.714114427566528E-5 2.2232532501220703E-4)(-1.2516978813437163E-6 -0.7054907083511353 6.599295261366933E-7 0.7087191343307495)(1.0000003576278687 1.000000238418579 1.0000004768371582 0.0)
(0.11032231897115707 -4.470348358154297E-7 0.1347428858280182 2.2232532501220703E-4)(-5.960465898624534E-8 -0.7072290778160095 -5.392941204718227E-8 0.7069844007492065)(1.0 1.0 1.0000001192092896 0.0)
(0.4438374638557434 -5.9604644775390625E-8 0.004977501928806305 -0.012847363948822021)(-8.940698990045348E-7 -0.04743093624711037 4.4140335830888944E-7 -0.9988745450973511)(0.9999988079071045 0.9999984502792358 0.9999992251396179 0.0)
(0.4433634281158447 -4.470348358154297E-8 6.332993507385254E-8 -0.01285165548324585)(3.7066646996208874E-7 0.04743088036775589 -3.46757673241882E-7 0.9988745450973511)(0.999999463558197 0.9999997019767761 0.9999997615814209 0.0)
(-1.7881393432617188E-7 -5.9604644775390625E-8 1.862645149230957E-9 -0.01727050542831421)(-1.183711447083624E-6 1.0244551873483942E-8 -1.3722824121487065E-7 1.0)(0.9999993443489075 0.9999991059303284 0.9999996423721313 0.0)
(0.004999816417694092 -8.195638656616211E-8 -1.862645149230957E-9 -0.017220675945281982)(6.877884152345359E-4 -8.381904947896146E-9 -3.1286626067661416E-10 0.9999997615814209)(1.0 0.9999998211860657 1.000000238418579 0.0)
(0.2290000319480896 -4.470348358154297E-8 1.6763806343078613E-8 -0.014988124370574951)(3.4371772198937833E-4 -9.313227966600834E-10 -3.262540246851131E-7 0.9999999403953552)(1.000000238418579 1.0000009536743164 1.0000003576278687 0.0)
(0.035256266593933105 0.18546460568904877 0.005854020826518536 -4.0531158447265625E-6)(-0.23517447710037231 0.6817288994789124 -0.646933913230896 -0.24782048165798187)(0.9999999403953552 0.9999998807907104 1.0000005960464478 0.0)
(-1.0192394256591797E-4 -0.10334472358226776 -0.0050003682263195515 -3.337860107421875E-6)(0.004983412567526102 -2.0755900186486542E-4 0.9999874830245972 1.2996783880225848E-6)(0.9999997615814209 0.9999996423721313 0.9999997615814209 0.0)
(0.0 -0.10334891080856323 -3.0311957743833773E-7 -3.337860107421875E-6)(0.009967002086341381 3.2130635929661366E-8 0.9999502897262573 -8.27911208034493E-7)(1.0000001192092896 1.0000001192092896 1.0000008344650269 0.0)
(0.4433634281158447 3.650784492492676E-7 1.4901161193847656E-8 -0.016976237297058105)(1.6614800415482023E-6 -0.09475644677877426 1.1728847937320097E-7 -0.9955005049705505)(0.999999463558197 0.9999995231628418 0.9999988079071045 0.0)
(0.005000650882720947 -5.587935447692871E-7 8.195638656616211E-8 0.11868458986282349)(5.5879368687783426E-8 -8.195640788244418E-8 4.656613761255812E-9 1.0)(0.9999998211860657 0.9999999403953552 0.9999998211860657 0.0)
(0.19473588466644287 -4.246830940246582E-7 7.450580596923828E-8 0.10264760255813599)(-6.515683489851654E-4 -1.4901164746561335E-8 9.196812555956058E-8 0.9999998211860657)(1.0 1.000000238418579 0.9999998211860657 0.0)
(0.005000412464141846 -5.066394805908203E-7 7.450580596923828E-8 0.11868464946746826)(-3.2591455965302885E-4 -1.4901164746561335E-8 4.982576840006914E-8 0.9999999403953552)(0.9999996423721313 0.9999994039535522 0.9999992847442627 0.0)
(0.42329829931259155 -3.203749656677246E-7 5.9604644775390625E-8 0.08332878351211548)(3.787137003996577E-8 0.08465758711099625 1.2449393693714228E-7 -0.996410071849823)(1.000000238418579 1.0 1.000000238418579 0.0)
(0.11036861687898636 -3.0547380447387695E-7 3.807246685028076E-5 -0.03433758020401001)(-2.98023280720372E-7 -0.7054906487464905 -2.1587771570352743E-8 0.7087191939353943)(1.0000005960464478 1.000000238418579 1.0000004768371582 0.0)
(0.11032214760780334 -2.5331974029541016E-7 0.13474291563034058 -0.03433758020401001)(-2.980233304583635E-8 0.7072291374206543 -3.918832192084665E-8 -0.7069844007492065)(0.9999998807907104 0.9999998807907104 1.0 0.0)
(0.44383734464645386 3.5762786865234375E-7 0.0049771517515182495 -0.016971945762634277)(5.625189487545867E-7 -0.04743184521794319 1.6763809895792292E-8 -0.9988744854927063)(1.000000238418579 0.9999989867210388 0.9999999403953552 0.0)
(0.44336366653442383 3.5762786865234375E-7 -3.557652235031128E-7 -0.016976237297058105)(-1.583248945280502E-7 0.047431580722332 -1.9962324415701005E-7 0.9988744854927063)(0.9999995231628418 0.9999995231628418 0.9999997019767761 0.0)
(-1.7881393432617188E-7 0.0 1.862645149230957E-8 -0.02139604091644287)(3.9329761420958675E-6 -9.313227966600834E-10 -2.478373630765418E-7 -0.9999999403953552)(0.9999997615814209 0.9999993443489075 0.9999988675117493 0.0)
(0.004999876022338867 -1.4901161193847656E-8 5.587935447692871E-9 -0.021346211433410645)(-6.89333479385823E-4 6.612391700855369E-8 -1.0350779433565549E-7 0.9999997615814209)(1.000000238418579 0.9999999403953552 0.9999994039535522 0.0)
(0.2289811372756958 2.0116567611694336E-7 -4.0978193283081055E-8 -0.01911342144012451)(-3.4494567080400884E-4 5.401672353855247E-8 -1.0858641985578288E-7 0.9999999403953552)(1.0000005960464478 0.9999997019767761 0.9999999403953552 0.0)
(0.03525662422180176 -0.18499965965747833 0.005852219648659229 -3.2186508178710938E-6)(0.24782225489616394 -0.6469369530677795 0.6817261576652527 0.23517277836799622)(0.9999996423721313 0.9999999403953552 1.0 0.0)
(0.0 5.960464477539062E-7 0.0 -0.9699976444244385)(0.0 0.7071061730384827 0.0 0.7071073055267334)(0.9999998211860657 0.9999999403953552 0.9999998211860657 0.0)
(0.0 0.0 0.0 -1.9399993419647217)(0.0 8.940698847936801E-8 0.0 1.0)(0.9999998807907104 0.9999998807907104 0.9999998807907104 0.0)
(1.4781122445128858E-5 0.09297889471054077 1.1921142117898853E-7 -2.032978057861328)(0.5008527040481567 0.5004714131355286 0.49914610385894775 0.4995279908180237)(0.9999998807907104 0.9999997019767761 0.9999997615814209 0.0)
(0.08824312686920166 -2.384153958701063E-7 -6.734335329383612E-5 0.09506207704544067)(0.0012430419446900487 -1.6616193533991463E-5 -3.969018052885076E-6 0.9999991655349731)(1.0000003576278687 1.0000001192092896 1.0000003576278687 0.0)
(0.08824539184570312 1.2678037819569E-7 -1.7670518718659878E-4 0.0030153989791870117)(-0.0025665792636573315 -0.007100915536284447 2.2918244212633E-5 0.9999714493751526)(0.999999463558197 1.0 0.9999995231628418 0.0)
(-0.0198361873626709 -2.8836686396971345E-4 -0.15860965847969055 -0.0238226056098938)(0.003198340767994523 0.0058908844366669655 0.47714802622795105 0.8787973523139954)(1.0000001192092896 0.9999996423721313 0.9999998211860657 0.0)
(-0.019836068153381348 0.09706246107816696 -0.1586097925901413 -0.024552524089813232)(-0.7070885300636292 -0.7070885896682739 0.005075222812592983 0.0050757816061377525)(1.0 1.0 1.000000238418579 0.0)
(-0.0198361873626709 -0.09706015884876251 -0.1586095243692398 -0.023096978664398193)(-0.7070885300636292 -0.7070885896682739 0.005075222812592983 0.0050757816061377525)(1.0 1.0 1.000000238418579 0.0)
(0.22450745105743408 -1.5800912933627842E-7 -0.03411300852894783 -0.025649964809417725)(7.398753950838E-5 3.986101073678583E-4 1.5451513172592968E-4 0.9999998807907104)(1.0000001192092896 1.0 0.9999999403953552 0.0)
(0.15122711658477783 0.021774835884571075 -0.03602876514196396 -0.025263845920562744)(-0.7071065902709961 -0.7071067690849304 2.821679809130728E-4 2.809754223562777E-4)(1.000000238418579 0.9999998211860657 1.0 0.0)
(0.1517028659582138 0.004615187644958496 -2.354457974433899E-4 -0.01840841770172119)(-0.022500373423099518 0.007598421070724726 -0.19506095349788666 0.980503499507904)(0.9999997615814209 0.9999998807907104 1.0000001192092896 0.0)
(0.1497916728258133 1.1920928955078125E-7 -3.725290298461914E-9 -0.01843559741973877)(0.010970291681587696 -0.007931319065392017 -0.382723867893219 0.923763632774353)(1.000000238418579 1.0000001192092896 0.9999998807907104 0.0)
(0.2823597192764282 3.5762786865234375E-7 0.0049918703734874725 0.10059946775436401)(-6.007032027355308E-8 0.028380651026964188 -1.1920931797249068E-7 0.9995971918106079)(0.9999993443489075 0.9999988675117493 0.9999999403953552 0.0)
(0.28207600116729736 5.960464477539062E-7 -1.1175870895385742E-8 0.09707248210906982)(-5.308540096393699E-8 0.05673839896917343 -5.960465898624534E-8 0.9983890056610107)(0.9999995827674866 0.9999996423721313 1.0 0.0)
(0.10107529163360596 -4.76837158203125E-7 -1.4901161193847656E-8 -0.2206215262413025)(0.040611632168293 -2.2351748896198842E-8 -1.192093321833454E-7 0.9991750121116638)(0.9999995827674866 0.9999998807907104 1.000000238418579 0.0)
(0.005000472068786621 -1.1920928955078125E-7 9.685754776000977E-8 -0.21599024534225464)(0.020393889397382736 -1.1175874448099421E-8 -1.192093321833454E-7 0.9997919797897339)(0.9999997019767761 0.9999998807907104 1.0 0.0)
(0.23172274231910706 -1.1920928955078125E-7 4.470348358154297E-8 -0.2269192934036255)(0.706383466720581 -0.03198031708598137 0.031980182975530624 0.7063829302787781)(0.9999997615814209 0.9999996423721313 0.9999998211860657 0.0)
(0.018261641263961792 -0.019700229167938232 0.002788543701171875 -0.21448227763175964)(-0.6146956086158752 0.07776301354169846 -0.2999844253063202 0.7253355383872986)(1.0000001192092896 1.0000001192092896 1.0 0.0)
(0.05320483446121216 1.7881393432617188E-7 -5.9604644775390625E-8 -1.0618152618408203)(4.470350489782504E-8 1.4901168299275014E-8 -5.960467319710006E-8 1.0)(1.0 0.9999998807907104 0.9999998807907104 0.0)
(0.03606909513473511 5.9604644775390625E-8 2.9802322387695312E-8 -0.979928195476532)(-2.980233304583635E-8 0.013146941550076008 5.96046660916727E-8 0.9999135136604309)(0.9999999403953552 0.9999997615814209 1.0 0.0)
(0.10058736801147461 -0.0345129519701004 -0.00377655029296875 -0.2922293543815613)(0.02760077826678753 1.2290483573451638E-4 9.633605077397078E-5 0.9996190667152405)(0.9999998211860657 1.000000238418579 1.0000001192092896 0.0)
(0.044240087270736694 -8.940696716308594E-8 0.0 -0.4000392556190491)(5.96046660916727E-8 0.0 -1.4901166522918174E-8 1.0)(0.9999997615814209 0.9999998211860657 0.9999998211860657 0.0)
(0.03024597465991974 2.9802322387695312E-8 2.384185791015625E-7 -0.43798696994781494)(0.0 0.0 1.4901166522918174E-8 1.0)(0.9999999403953552 1.0 0.9999998807907104 0.0)
(0.10080927610397339 -0.010271385312080383 -0.004487276077270508 -0.2841809391975403)(0.027600867673754692 1.2390321353450418E-4 9.681288793217391E-5 0.9996190667152405)(0.9999995827674866 1.0000001192092896 0.9999997019767761 0.0)
(0.04669712483882904 -8.940696716308594E-8 1.1920928955078125E-7 -0.3889474868774414)(0.0 -1.4901166522918174E-8 -2.980233304583635E-8 0.9999999403953552)(1.0 1.0 0.9999998211860657 0.0)
(0.031089022755622864 0.0 -1.1920928955078125E-7 -0.42975372076034546)(-2.980233659855003E-8 0.0 1.4901168299275014E-8 1.0)(1.0 0.9999999403953552 1.0 0.0)
(0.097603440284729 0.013259053230285645 -0.0025795698165893555 -0.27253928780555725)(0.027601340785622597 1.2364987924229354E-4 9.663406672189012E-5 0.9996190071105957)(1.0000003576278687 1.0 1.0000005960464478 0.0)
(0.04489700496196747 -2.9802322387695312E-8 0.0 -0.36790913343429565)(-2.980233304583635E-8 0.0 -1.4901166522918174E-8 1.0)(0.9999999403953552 0.9999999403953552 1.0 0.0)
(0.03146611154079437 0.0 0.0 -0.40874916315078735)(-2.980233304583635E-8 0.0 2.980233304583635E-8 1.0)(0.9999995827674866 0.9999997019767761 0.9999995231628418 0.0)
(0.09500029683113098 0.03574499487876892 -5.257129669189453E-5 -0.26156097650527954)(0.027510059997439384 1.266003237105906E-4 2.1457681214087643E-6 0.999621570110321)(1.0000001192092896 1.0 1.0 0.0)
(0.039303138852119446 2.9802322387695312E-8 0.0 -0.34494131803512573)(5.96046660916727E-8 -1.6391282997574308E-7 -1.4901166522918174E-8 0.9999999403953552)(0.9999998211860657 0.9999998211860657 0.9999997615814209 0.0)
(0.019024088978767395 0.0 1.1920928955078125E-7 -0.3724498748779297)(-2.980233659855003E-8 0.0 -1.4901168299275014E-8 0.9999999403953552)(1.0000003576278687 1.0 0.9999999403953552 0.0)
(0.0899820625782013 0.001641497015953064 0.012756586074829102 -0.26473286747932434)(-6.556513199029723E-7 -0.13052663207054138 2.0861632776814076E-7 0.9914448261260986)(1.0000003576278687 0.9999990463256836 0.9999997615814209 0.0)
(0.0899820625782013 0.001641497015953064 0.012756586074829102 -0.26473286747932434)(-1.0 -2.384186927884002E-7 -2.384186927884002E-7 -9.536747711536009E-7)(0.9999998807907104 0.9999998807907104 0.9999999403953552 0.0)
(0.005000114440917969 5.960464477539062E-7 -3.3527612686157227E-8 0.09933030605316162)(-0.059619080275297165 -1.0244550985305523E-8 2.0861631355728605E-7 0.9982211589813232)(0.9999992847442627 0.9999994039535522 1.0000001192092896 0.0)
(0.13166868686676025 5.960464477539062E-7 -5.21540641784668E-8 0.0982980728149414)(-0.029822934418916702 0.0 -2.980232949312267E-8 0.9995551705360413)(0.9999992847442627 0.9999998807907104 0.9999997615814209 0.0)
(0.13633787631988525 0.020000051707029343 0.07568766176700592 -0.025132596492767334)(-0.6774513721466064 -0.7202507853507996 0.10649914294481277 -0.10467228293418884)(1.0015506744384766 0.9999998807907104 1.0000001192092896 0.0)
(0.06180167198181152 0.0798998698592186 0.06078160181641579 -0.02502363920211792)(-0.7070889472961426 -0.7070890069007874 0.0050207702443003654 0.005022003315389156)(1.000000238418579 0.9999999403953552 1.0000001192092896 0.0)
(0.22450745105743408 -1.5800912933627842E-7 -0.03411300852894783 -0.025649964809417725)(-3.469410330581013E-6 2.773013534351776E-7 6.994621071498841E-5 1.0)(1.0000003576278687 0.9999997615814209 1.0 0.0)
(0.06800031661987305 1.15914735943079E-5 -5.4176896810531616E-5 -5.224943161010742E-4)(3.9931042010721285E-6 0.007499575614929199 -6.986159132793546E-5 0.999971866607666)(0.9999995231628418 1.0 0.9999998211860657 0.0)
(0.15122711658477783 -0.021775124594569206 -0.036028649657964706 -0.024937331676483154)(-0.7071067690849304 0.7071066498756409 2.8026843210682273E-4 -2.828749711625278E-4)(1.0 0.9999995827674866 1.0 0.0)
(0.1517029106616974 -0.004614114761352539 -2.3495405912399292E-4 0.020531415939331055)(0.02250034548342228 0.007598401978611946 0.19506101310253143 0.9805035591125488)(0.9999995827674866 0.9999995827674866 1.0000004768371582 0.0)
(0.14979174733161926 -1.1920928955078125E-7 -1.862645149230957E-8 0.020531415939331055)(-0.010970259085297585 -0.007931292988359928 0.382724404335022 0.9237634539604187)(0.9999997615814209 0.9999997615814209 1.0000001192092896 0.0)
(0.2823590040206909 -2.384185791015625E-7 0.004992775619029999 0.04150569438934326)(-8.10250853078287E-8 0.028380470350384712 -1.7881397695873602E-7 0.9995971918106079)(1.0000007152557373 1.0000005960464478 1.0000005960464478 0.0)
(0.2820759415626526 -2.384185791015625E-7 1.6763806343078613E-8 0.03797346353530884)(3.864989039925604E-8 0.05673839524388313 -4.1723257027115324E-7 0.9983890056610107)(1.0000001192092896 1.0 0.9999997019767761 0.0)
(0.10114264488220215 -1.1920928955078125E-7 1.3187527656555176E-6 0.00645291805267334)(-0.04044368490576744 3.166497464235363E-8 0.0 0.9991818070411682)(1.0000007152557373 1.0000007152557373 1.000000238418579 0.0)
(0.005000054836273193 -2.384185791015625E-7 1.1064112186431885E-6 0.009520351886749268)(-0.02022607810795307 -1.9557779395995567E-8 2.980232949312267E-8 0.9997953772544861)(1.0000009536743164 1.000000238418579 1.0000005960464478 0.0)
(0.231722891330719 -1.1920928955078125E-7 2.9802322387695312E-8 0.002285599708557129)(0.7063834071159363 0.03198035806417465 0.03198026865720749 -0.7063829898834229)(1.0000001192092896 0.9999999403953552 0.9999999403953552 0.0)
(0.018261224031448364 0.01970021426677704 0.0027886629104614258 -0.9029252529144287)(0.6146954894065857 0.07776302099227905 0.29998457431793213 0.7253355383872986)(0.9999997615814209 0.9999999403953552 0.9999997615814209 0.0)
(0.053204894065856934 -1.7881393432617188E-7 2.9802322387695312E-8 0.21487027406692505)(-5.215407838932151E-8 2.2351747119842003E-8 -8.940698847936801E-8 0.9999999403953552)(1.0000001192092896 0.9999998211860657 1.0000001192092896 0.0)
(0.03606909513473511 1.1920928955078125E-7 -5.9604644775390625E-8 0.14948266744613647)(1.4901164746561335E-8 0.013146894983947277 1.1920931797249068E-7 0.9999135136604309)(1.0000001192092896 1.0000001192092896 0.9999998807907104 0.0)
(0.1005869209766388 0.03451305627822876 -0.0037763118743896484 -0.8984594345092773)(-0.027600953355431557 1.2290482118260115E-4 -9.629134001443163E-5 0.9996190667152405)(0.9999993443489075 1.000000238418579 0.9999995827674866 0.0)
(0.04424005746841431 5.9604644775390625E-8 -2.384185791015625E-7 -0.22814559936523438)(-2.980232594040899E-8 0.0 1.4901162970204496E-8 0.9999999403953552)(0.9999999403953552 0.9999999403953552 1.0 0.0)
(0.03024590015411377 -7.450580596923828E-8 0.0 -0.05336880683898926)(-5.96046660916727E-8 0.0 2.980233304583635E-8 1.0)(0.9999997019767761 0.9999997615814209 0.9999997615814209 0.0)
(0.1008090078830719 0.010271534323692322 -0.004487156867980957 -0.8900254964828491)(-0.027600975707173347 1.238584954990074E-4 -9.682778181741014E-5 0.9996190071105957)(0.9999993443489075 1.0000003576278687 0.9999995231628418 0.0)
(0.04669696092605591 -8.940696716308594E-8 -2.384185791015625E-7 -0.2253413200378418)(-2.2351747119842003E-8 1.1920931797249068E-7 4.4703494239684005E-8 0.9999999403953552)(0.9999998807907104 0.9999999403953552 0.9999999403953552 0.0)
(0.031088978052139282 2.086162567138672E-7 3.5762786865234375E-7 -0.052474141120910645)(5.960467319710006E-8 -1.043081780949251E-7 -2.980233659855003E-8 1.0)(0.9999998807907104 0.9999998211860657 0.9999998807907104 0.0)
(0.09760302305221558 -0.01325899362564087 -0.002579212188720703 -0.8814303874969482)(-0.02760154753923416 1.236498646903783E-4 -9.652974404161796E-5 0.9996189475059509)(1.0000001192092896 1.0 1.000000238418579 0.0)
(0.04489696025848389 1.4901161193847656E-8 -1.1920928955078125E-7 -0.22307193279266357)(9.685756907629184E-8 1.4901164746561335E-8 -2.980232949312267E-8 0.9999999403953552)(0.9999999403953552 0.9999999403953552 0.9999999403953552 0.0)
(0.031465888023376465 7.450580596923828E-8 0.0 -0.0518721342086792)(7.450584149637507E-9 0.0 0.0 1.0)(0.9999998211860657 0.9999998807907104 0.9999999403953552 0.0)
(0.09500008821487427 -0.03574506938457489 -5.221366882324219E-5 -0.8729028701782227)(-0.027510175481438637 1.2660030915867537E-4 -2.130866732841241E-6 0.999621570110321)(0.9999999403953552 1.000000238418579 0.9999998211860657 0.0)
(0.039302945137023926 -5.9604644775390625E-8 0.0 -0.22158098220825195)(0.0 2.980232949312267E-8 0.0 0.9999999403953552)(0.9999998807907104 0.9999998807907104 1.0000001192092896 0.0)
(0.01902410387992859 4.470348358154297E-8 0.0 -0.0534520149230957)(5.297364623402245E-6 -2.4288901840918697E-6 2.950431053250213E-6 0.9999999403953552)(1.0000001192092896 0.9999999403953552 0.9999997019767761 0.0)
(0.08998164534568787 -0.0016420930624008179 0.012753963470458984 -0.8813233375549316)(1.4901166878189542E-7 -0.1305263340473175 -1.0430816388407038E-7 0.9914448857307434)(1.0 0.9999999403953552 0.9999998807907104 0.0)
(0.08998188376426697 -0.0016420632600784302 0.012754082679748535 -0.8813232183456421)(1.713633963618122E-7 -1.7881397695873602E-7 -1.6391281576488836E-7 0.9999999403953552)(0.9999999403953552 0.9999999403953552 0.9999997615814209 0.0)
(0.004999935626983643 -3.5762786865234375E-7 7.599592208862305E-7 0.035716116428375244)(0.059619270265102386 -7.078052277620372E-8 0.0 0.9982211589813232)(0.9999997615814209 0.9999998807907104 1.0 0.0)
(0.13199996948242188 -3.5762786865234375E-7 1.1175870895385742E-8 0.03675049543380737)(0.029822908341884613 -3.2596297216969106E-8 2.980232949312267E-8 0.999555230140686)(1.0000001192092896 1.0000003576278687 1.0 0.0)
(0.1363372802734375 -0.02000001259148121 0.0756877064704895 -0.02483266592025757)(0.10320363938808441 0.10845133662223816 -0.7122749090194702 0.6857490539550781)(1.0015547275543213 1.0000003576278687 0.9999998807907104 0.0)
(0.061802029609680176 -0.0798998773097992 0.060781802982091904 -0.023825466632843018)(-0.7070889472961426 -0.7070890069007874 0.0050207702443003654 0.005022003315389156)(1.000000238418579 0.9999999403953552 1.0000001192092896 0.0)
(0.23924338817596436 1.0543494681769516E-6 -3.090009558945894E-4 0.003342926502227783)(-0.0024852673523128033 4.043487206217833E-5 4.730349701276282E-6 0.9999968409538269)(0.9999996423721313 1.0 0.9999998807907104 0.0)
(0.23924338817596436 1.054348103934899E-6 -3.0900142155587673E-4 0.003342926502227783)(-0.0024956935085356236 7.048349652905017E-5 4.5977512854733504E-6 0.9999968409538269)(0.9999991655349731 0.9999996423721313 0.9999997019767761 0.0)</hkparam>
            <hkparam name="referenceFloats" numelements="0"/>
            <hkparam name="floatSlots" numelements="0"/>
            <hkparam name="localFrames" numelements="0"/>
            <hkparam name="partitions" numelements="0"/>
        </hkobject>
    </hksection>
</hkpackfile>


Top
 Profile  
 
 Post subject: Re: Havok binary files
PostPosted: Mon Jun 04, 2018 2:44 am 
Offline
veteran

Joined: Wed Mar 02, 2011 10:38 pm
Posts: 148
Has thanked: 9 times
Have thanks: 52 times
IS anyone still working on this?
And would anyone know where i can still download the Havok animation to or creation tools?


Top
 Profile  
 
 Post subject: Re: Havok binary files
PostPosted: Mon Jun 04, 2018 9:33 am 
Offline
M-M-M-Monster veteran
M-M-M-Monster veteran
User avatar

Joined: Fri Apr 20, 2012 9:24 am
Posts: 2265
Location: Nexus, searching for Jim Kirk
Has thanked: 510 times
Have thanks: 1172 times
not really, but here's the skeleton (as .smd) from the DarkSouls3 hkx the HunterAP uploaded:
Code:
# DarkSouls3.HKX
version 1
nodes
0 "Master" -1
1 "L_Foot_Target2" 0
2 "L_Foot_Target1" 1
3 "L_Foot_Target" 2
4 "R_Foot_Target2" 0
5 "R_Foot_Target1" 4
6 "R_Foot_Target" 5
7 "RootPos" 0
8 "Pelvis" 7
9 "L_Hip" 8
10 "L_Thigh" 8
11 "L_Calf" 10
12 "L_Calf_Skirt" 11
13 "L_CalfTwist" 11
14 "L_CalfTwist1" 11
15 "L_Foot" 11
16 "L_FootTwist" 15
17 "L_Toe0" 15
18 "L_Knee" 10
19 "L_Knee_Skirt" 10
20 "L_Thigh_Skirt" 10
21 "L_ThighTwist" 10
22 "L_ThighTwist1" 10
23 "L_Wepon_Case" 8
24 "R_Hip" 8
25 "R_Thigh" 8
26 "R_Calf" 25
27 "R_Calf_Skirt" 26
28 "R_CalfTwist" 26
29 "R_CalfTwist1" 26
30 "R_Foot" 26
31 "R_FootTwist" 30
32 "R_Toe0" 30
33 "R_Knee" 25
34 "R_Knee_Skirt" 25
35 "R_Thigh_Skirt" 25
36 "R_ThighTwist" 25
37 "R_ThighTwist1" 25
38 "R_Wepon_Case" 8
39 "RootRotY" 7
40 "RootRotXZ" 39
41 "Spine" 40
42 "Spine1" 41
43 "Spine2" 42
44 "B_Wepon_Case" 43
45 "B_Wepon_Case0_L" 43
46 "B_Wepon_Case0_R" 43
47 "Collar" 43
48 "L_Clavicle" 43
49 "L_Shoulder" 48
50 "L_UpperArm" 48
51 "L_Elbow" 50
52 "L_Forearm" 50
53 "L_ForeArmTwist" 52
54 "L_ForeArmTwist1" 52
55 "L_Hand" 52
56 "L_Finger0" 55
57 "L_Finger01" 56
58 "L_Finger02" 57
59 "L_Finger1" 55
60 "L_Finger11" 59
61 "L_Finger12" 60
62 "L_Finger2" 55
63 "L_Finger21" 62
64 "L_Finger22" 63
65 "L_Finger3" 55
66 "L_Finger31" 65
67 "L_Finger32" 66
68 "L_Finger4" 55
69 "L_Finger41" 68
70 "L_Finger42" 69
71 "L_Shield" 55
72 "L_Weapon" 55
73 "L_UpArmTwist" 50
74 "L_UpArmTwist1" 50
75 "L_Pectoral" 43
76 "L_Po" 43
77 "Neck" 43
78 "Head" 77
79 "R_Clavicle" 43
80 "R_Shoulder" 79
81 "R_UpperArm" 79
82 "R_Elbow" 81
83 "R_Forearm" 81
84 "R_ForeArmTwist" 83
85 "R_ForeArmTwist1" 83
86 "R_Hand" 83
87 "R_Finger0" 86
88 "R_Finger01" 87
89 "R_Finger02" 88
90 "R_Finger1" 86
91 "R_Finger11" 90
92 "R_Finger12" 91
93 "R_Finger2" 86
94 "R_Finger21" 93
95 "R_Finger22" 94
96 "R_Finger3" 86
97 "R_Finger31" 96
98 "R_Finger32" 97
99 "R_Finger4" 86
100 "R_Finger41" 99
101 "R_Finger42" 100
102 "R_Shield" 86
103 "R_Weapon" 86
104 "R_UpArmTwist" 81
105 "R_UpArmTwist1" 81
106 "R_Pectoral" 43
107 "R_Po" 43
108 "SpineArmor1" 42
109 "SpineArmor2" 42
end
skeleton
time 0
0 0.000000 0.000000 0.000000 0.000000 1.570308 0.000000
1 -0.062719 0.976180 0.103349 -1.570302 0.000000 -1.570798
2 0.443363 0.000000 0.000001 -0.000000 -0.000002 0.000000
3 0.423298 -0.000000 -0.000001 -0.000494 0.000346 -0.000000
4 -0.062720 0.976180 -0.103349 -1.574862 0.000001 -1.570789
5 0.443363 0.000001 0.000007 -0.000000 -0.000008 -0.000000
6 0.423298 -0.000001 -0.000017 0.004066 0.000362 0.000001
7 0.000000 0.970000 0.000000 0.000000 -1.570308 0.000000
8 0.000000 0.000001 0.000000 3.141588 0.000000 1.570798
9 -0.000000 0.103349 -0.005000 0.000408 -0.009967 -3.141589
10 -0.000000 0.103349 0.000000 -0.000004 -0.019934 -3.141590
11 0.443364 -0.000000 0.000000 0.000001 0.189795 -0.000001
12 0.005001 -0.000001 0.000000 0.000000 0.000000 0.000000
13 0.194732 -0.000000 0.000000 0.001304 0.000000 -0.000000
14 0.005001 -0.000000 0.000000 0.000652 -0.000000 0.000000
15 0.423298 -0.000000 0.000000 -0.000000 -0.169515 0.000000
16 0.110369 -0.000001 0.000037 -0.000593 -1.566216 0.000592
17 0.110322 -0.000000 0.134743 -3.141570 -1.570308 3.141569
18 0.443837 -0.000000 0.004978 0.000002 0.094897 -0.000001
19 0.443363 -0.000000 0.000000 0.000001 0.094897 -0.000001
20 -0.000000 -0.000000 0.000000 -0.000002 0.000000 -0.000000
21 0.005000 -0.000000 -0.000000 0.001376 -0.000000 -0.000000
22 0.229000 -0.000000 0.000000 0.000687 -0.000000 -0.000001
23 0.035256 0.185465 0.005854 -1.623162 -0.697335 -3.141588
24 -0.000102 -0.103345 -0.005000 -0.000415 -0.009967 3.141592
25 0.000000 -0.103349 -0.000000 0.000000 -0.019934 -3.141591
26 0.443363 0.000000 0.000000 -0.000003 0.189798 -0.000001
27 0.005001 -0.000001 0.000000 0.000000 -0.000000 0.000000
28 0.194736 -0.000000 0.000000 -0.001303 -0.000000 0.000000
29 0.005000 -0.000001 0.000000 -0.000652 -0.000000 0.000000
30 0.423298 -0.000000 0.000000 -0.000000 -0.169518 -0.000000
31 0.110369 -0.000000 0.000038 -0.000086 -1.566216 0.000085
32 0.110322 -0.000000 0.134743 -3.141554 -1.570451 3.141554
33 0.443837 0.000000 0.004977 -0.000001 0.094899 -0.000000
34 0.443364 0.000000 -0.000000 -0.000000 0.094899 -0.000000
35 -0.000000 0.000000 0.000000 -0.000008 0.000000 0.000000
36 0.005000 -0.000000 0.000000 -0.001379 0.000000 -0.000000
37 0.228981 0.000000 -0.000000 -0.000690 0.000000 -0.000000
38 0.035257 -0.185000 0.005852 -1.518443 -0.697336 -3.141587
39 0.000000 0.000001 0.000000 0.000000 1.570308 0.000000
40 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
41 0.000015 0.092979 0.000000 1.573446 0.000002 1.570033
42 0.088243 -0.000000 -0.000067 0.002486 -0.000033 -0.000008
43 0.088245 0.000000 -0.000177 -0.005134 -0.014202 0.000082
44 -0.019836 -0.000288 -0.158610 0.011244 0.007302 0.994879
45 -0.019836 0.097062 -0.158610 -3.127237 -0.000001 1.570796
46 -0.019836 -0.097060 -0.158610 -3.127237 -0.000001 1.570796
47 0.224507 -0.000000 -0.034113 0.000148 0.000797 0.000309
48 0.151227 0.021775 -0.036029 -3.140796 0.000002 1.570797
49 0.151703 0.004615 -0.000235 -0.047106 0.006123 -0.392896
50 0.149792 0.000000 -0.000000 0.026342 -0.006256 -0.785644
51 0.282360 0.000000 0.004992 -0.000000 0.056769 -0.000000
52 0.282076 0.000001 -0.000000 -0.000000 0.113538 -0.000000
53 0.101075 -0.000000 -0.000000 0.081246 -0.000000 -0.000000
54 0.005000 -0.000000 0.000000 0.040791 -0.000000 -0.000000
55 0.231723 -0.000000 0.000000 1.570797 -0.090485 -0.000000
56 0.018262 -0.019700 0.002789 -1.328216 -0.258871 -0.581257
57 0.053205 0.000000 -0.000000 0.000000 0.000000 -0.000000
58 0.036069 0.000000 0.000000 -0.000000 0.026295 0.000000
59 0.100587 -0.034513 -0.003777 0.055209 0.000240 0.000199
60 0.044240 -0.000000 0.000000 0.000000 0.000000 -0.000000
61 0.030246 0.000000 0.000000 0.000000 -0.000000 0.000000
62 0.100809 -0.010271 -0.004487 0.055209 0.000242 0.000200
63 0.046697 -0.000000 0.000000 0.000000 -0.000000 -0.000000
64 0.031089 0.000000 -0.000000 -0.000000 0.000000 0.000000
65 0.097603 0.013259 -0.002580 0.055210 0.000242 0.000200
66 0.044897 -0.000000 0.000000 -0.000000 -0.000000 -0.000000
67 0.031466 0.000000 0.000000 -0.000000 0.000000 0.000000
68 0.095000 0.035745 -0.000053 0.055027 0.000253 0.000011
69 0.039303 0.000000 0.000000 0.000000 -0.000000 -0.000000
70 0.019024 0.000000 0.000000 -0.000000 -0.000000 -0.000000
71 0.089982 0.001641 0.012757 -0.000001 -0.261800 0.000001
72 0.089982 0.001641 0.012757 3.141591 -0.000000 0.000000
73 0.005000 0.000001 -0.000000 -0.119309 0.000000 0.000000
74 0.131669 0.000001 -0.000000 -0.059655 -0.000000 -0.000000
75 0.136338 0.020000 0.075688 -3.129461 0.299536 1.633850
76 0.061802 0.079900 0.060782 -3.127390 -0.000002 1.570796
77 0.224507 -0.000000 -0.034113 -0.000007 0.000001 0.000140
78 0.068000 0.000012 -0.000054 0.000007 0.014999 -0.000140
79 0.151227 -0.021775 -0.036029 3.140796 -0.000004 -1.570796
80 0.151703 -0.004614 -0.000235 0.047106 0.006123 0.392896
81 0.149792 -0.000000 -0.000000 -0.026342 -0.006256 0.785645
82 0.282359 -0.000000 0.004993 -0.000000 0.056769 -0.000000
83 0.282076 -0.000000 0.000000 0.000000 0.113538 -0.000001
84 0.101143 -0.000000 0.000001 -0.080909 0.000000 -0.000000
85 0.005000 -0.000000 0.000001 -0.040455 -0.000000 0.000000
86 0.231723 -0.000000 0.000000 -1.570797 -0.090485 0.000000
87 0.018261 0.019700 0.002789 1.328216 -0.258871 0.581258
88 0.053205 -0.000000 0.000000 -0.000000 0.000000 -0.000000
89 0.036069 0.000000 -0.000000 0.000000 0.026295 0.000000
90 0.100587 0.034513 -0.003776 -0.055209 0.000240 -0.000199
91 0.044240 0.000000 -0.000000 -0.000000 0.000000 0.000000
92 0.030246 -0.000000 0.000000 -0.000000 0.000000 0.000000
93 0.100809 0.010272 -0.004487 -0.055209 0.000242 -0.000200
94 0.046697 -0.000000 -0.000000 -0.000000 0.000000 0.000000
95 0.031089 0.000000 0.000000 0.000000 -0.000000 -0.000000
96 0.097603 -0.013259 -0.002579 -0.055210 0.000242 -0.000200
97 0.044897 0.000000 -0.000000 0.000000 0.000000 -0.000000
98 0.031466 0.000000 0.000000 0.000000 -0.000000 0.000000
99 0.095000 -0.035745 -0.000052 -0.055027 0.000253 -0.000011
100 0.039303 -0.000000 0.000000 0.000000 0.000000 0.000000
101 0.019024 0.000000 0.000000 0.000011 -0.000005 0.000006
102 0.089982 -0.001642 0.012754 0.000000 -0.261800 -0.000000
103 0.089982 -0.001642 0.012754 0.000000 -0.000000 -0.000000
104 0.005000 -0.000000 0.000001 0.119309 -0.000000 -0.000000
105 0.132000 -0.000000 0.000000 0.059655 -0.000000 0.000000
106 0.136337 -0.020000 0.075688 -0.013558 0.300251 -1.610790
107 0.061802 -0.079900 0.060782 -3.127390 -0.000002 1.570796
108 0.239243 0.000001 -0.000309 -0.004971 0.000081 0.000009
109 0.239243 0.000001 -0.000309 -0.004991 0.000141 0.000009
end


Attachments:


You do not have the required permissions to view the files attached to this post. Register to gain access.


_________________
"you can't always get things served on a silver tray"
extracting simple models: http://forum.xentax.com/viewtopic.php?f=29&t=10894
Make_H2O-ForzaHor3-jm9.zip

"We are Microsoft. You will be assimilated. Resistance is Futile."


Top
 Profile  
 
 Post subject: Re: Havok binary files
PostPosted: Mon Jun 04, 2018 11:19 am 
Offline
mega-veteran
mega-veteran

Joined: Tue Jul 29, 2014 9:06 am
Posts: 185
Has thanked: 3 times
Have thanks: 8 times
you can help me? with bloodborne the skeleton of monsters has problems when I try to convert it on sfm alchune bones are strangely related. and then there is the problem of the physics of cloaks, hairs etc..i as an editor use 3d studio max would it be possible to create a script?


Top
 Profile  
 
 Post subject: Re: Havok binary files
PostPosted: Mon Jun 04, 2018 11:54 am 
Offline
M-M-M-Monster veteran
M-M-M-Monster veteran
User avatar

Joined: Fri Apr 20, 2012 9:24 am
Posts: 2265
Location: Nexus, searching for Jim Kirk
Has thanked: 510 times
Have thanks: 1172 times
dibe91 wrote:
as an editor use 3d studio max would it be possible to create a script?
I don't have access to 3dsmax since about a year now; so sorry, no.

Also this thread is about hkx files, Havok tools and a C# source from volfin.

Noone did care for a maxscript so far, iirc.
(All I know is that you could use Havok Content Tools with 3dsmax.)

You might upload your bloodborne monster skeleton hkx, though, if any.

_________________
"you can't always get things served on a silver tray"
extracting simple models: http://forum.xentax.com/viewtopic.php?f=29&t=10894
Make_H2O-ForzaHor3-jm9.zip

"We are Microsoft. You will be assimilated. Resistance is Futile."


Top
 Profile  
 
 Post subject: Re: Havok binary files
PostPosted: Mon Jun 04, 2018 5:43 pm 
Offline
mega-veteran
mega-veteran

Joined: Tue Jul 29, 2014 9:06 am
Posts: 185
Has thanked: 3 times
Have thanks: 8 times
so if I understand correctly you want the original skeleton. perfect I can do it but I give you all the skeletons of the monsters because it happens to everyone.


Top
 Profile  
 
 Post subject: Re: Havok binary files
PostPosted: Mon Jun 04, 2018 6:45 pm 
Offline
veteran

Joined: Wed Mar 02, 2011 10:38 pm
Posts: 148
Has thanked: 9 times
Have thanks: 52 times
I need to ask what is the difference between file version 11 and 9 (2013.3.0-r1 and 2011.1.0-r1). It seems like extra padding in places you least expect

AssetCc can convert file type 9 but not type 11
I am trying to write a converter (required a lot of address recalculations and pad removals). I haven't completed this yet but it became obvious that some classes were larger in later representations
has anyone successfully converted a file later than 2012 to an older format?

This is what i ended up with
Code:
//Cheat string
typedef struct
{
    string s<hidden=true>;
}TempStr<read=ReadTemStr, optimize=false>;
string ReadTemStr(TempStr& t)
{
    return t.s;
}

typedef struct
{
    //ubyte[4]  LayoutRules
    ubyte uk;// no.# Flags ?  = 4
    ubyte uk1;
    ubyte Endianness; // 01 = BE 00 = LE  (Bool)
    ubyte Platform; // ?? 01 = PS3 (Couldbe wrong, or swap with one of above flag)
   
}hkHdrFlags; //Header flags

typedef struct
{
    char Magic[8];
   /// This is a user settable tag.
   int32 m_userTag;
      
   /// Binary file version. Currently 9 or 11
   int32 m_fileVersion;
      
   /// The structure layout rules used by this file.
   hkHdrFlags m_layoutRules;
            
   /// Number of packfilesections following this header.
   int32 m_numSections;
      
   /// Where the content's data structure is (section and offset within that section).
   int32 m_contentsSectionIndex;
   int32 m_contentsSectionOffset;

   /// Where the content's class name is (section and offset within that section).
   int32 m_contentsClassNameSectionIndex;
    /// nameSection.AbsAddr + this offset = hkRootLevelContainer
    int32 m_contentsClassNameSectionOffset;
       
    /// Future expansion
   char m_contentsVersion[16];

    if(m_fileVersion == 9)
    {
        int32 misc;
        int pad[1];
    }
    else
    {
        int32 misc;
        short m_maxPredicates;
        short unkn;
   
        int pad[4];
    }
   
}HavokHdr<bgcolor=cLtGray>;


typedef struct(int padSz) //64
{
    ///
   char sectionHdr[19]; //m_sectionTag[19];
    ///
   char m_nullByte;
    /// Absolute file offset of where this sections data begins.
   unsigned int m_absoluteDataStart;
    /// Offset of local fixups from absoluteDataStart.
   unsigned int m_localFixupsOffset;
    /// Offset of global fixups from absoluteDataStart.
   unsigned int m_globalFixupsOffset;
    /// Offset of virtual fixups from absoluteDataStart.
   unsigned int m_virtualFixupsOffset;
    /// Offset of exports from absoluteDataStart.
   unsigned int m_exportsOffset;
    /// Offset of imports from absoluteDataStart.
   unsigned int m_importsOffset;
    /// Offset of the end of section. Also the section size.
   unsigned int m_endOffset;
    char padding[padSz];
}hkxSection <bgcolor=cLtGreen, read=readSecName>;
string readSecName(hkxSection& s)
{
    string ss = StringToWString(s.sectionHdr,CHARSET_ANSI );
    SPrintf(ss, "%s - Abs: %d, (Off: %d)", ss, s.m_absoluteDataStart, s.m_localFixupsOffset);
    return ss;
}


typedef struct
{
    uint signature;
    char nine;
    string name;
}CLASSNAME <read=ReadClassName>;
string ReadClassName( CLASSNAME& cn)
{
    return cn.name;
}

HavokHdr header;
local int padSz = 0;
if (header.m_fileVersion == 11)
    padSz = 16;
hkxSection section(padSz)[header.m_numSections]<optimize=false>;

//Use to identify typese
local int currAdd= 0;
while(FTell() < section[1].m_absoluteDataStart-1 )
{
    CLASSNAME classNames;
}

local int objID = 0;
local string tmpName = "";

//A data position descriptor aimed at the current section
//Direct Address
//Non-empty members linker from DATA (used when the next memebr to read is a direct member)
typedef struct
{
   //The data parent, in the current section.   
   int from;   
   //The data position, in the current section.   
   int to;
} DataInternal; //DirectAddress; __Data__1

//A data position descriptor aimed at a given section.
//External Address (pointers)
//Pointer linker from DATA (used when the next memebr to read is a pointer)
typedef struct
{
   //The data parent, in the current section.
   int from;   
   //The section the data is in.
   int section;   
   //The data position, in the given section.
   int to;
} DataExternal<read=PointerAddr>; //ExternalAddress __Data__2&3
string PointerAddr(DataExternal& d2)
{
   string addr =""; 
   //if(d2.from != -1)
    //    SPrintf( addr, "%d", section[d2.section].m_absoluteDataStart + d2.from );
    return addr;
}

typedef struct
{
    int size;
    byte content[size];
} DataDirectMember<optimize=false>;

typedef struct(int size)
{
    local int sz= size;
    byte a[size];
}DataChunk<optimize=false, read=ReadDataChunk>;
string ReadDataChunk(DataChunk& dc)
{
    string s;
    SPrintf(s, "Addr: %d, Size: %d", FTell(), dc.sz);
    return s;
}


FSeek(section[2].m_absoluteDataStart + section[2].m_localFixupsOffset);
local int data1Size = (section[2].m_globalFixupsOffset - section[2].m_localFixupsOffset);
DataInternal _data_1[data1Size/8]<bgcolor=cLtRed>; //Not objects in the type section? but what?

local int j =0;
local int add2= section[2].m_absoluteDataStart;
for( j =0; j < data1Size/8; j++)
{
    Printf("\nAddr: %d", add2 +  _data_1[j].from);
    FSeek(add2 +  _data_1[j].from);
    Printf("\t[%d]:(%d, %d)", j, _data_1[j].from, _data_1[j].to);
    DataChunk dataChunk(_data_1[j].to - _data_1[j].from)<bgcolor=0x01FF10>;
    if(ReadByte() != '\0' )
        TempStr extraName<bgcolor=0x000000, fgcolor=0xffffff>; //hack   
}


FSeek(section[2].m_absoluteDataStart + section[2].m_globalFixupsOffset);
data1Size = (section[2].m_virtualFixupsOffset - section[2].m_globalFixupsOffset);
//params array pointers
DataExternal params[ (data1Size/12)] <bgcolor=cLtPurple>;


//The actual hkobjects
FSeek(section[2].m_absoluteDataStart + section[2].m_virtualFixupsOffset);
data1Size = (section[2].m_exportsOffset - section[2].m_virtualFixupsOffset);

//How Do we map var to the nodes?
local int nodeCount = (data1Size/12);
DataExternal dataNodes[ nodeCount]<bgcolor=cLtBlue, hidden=false>;
for( j =0; j < nodeCount; j++)
{
    FSeek(section[dataNodes[j].section].m_absoluteDataStart +  dataNodes[j].to);
    TempStr nodeName;

    //IGNORE THIS COMMENT
    //Not all have param Arrays (First one Deosnt? Cos it is a container?)
    if(j > 0)
    {
        FSeek(section[params[j-1].section].m_absoluteDataStart +  params[j-1].to);
        DataChunk ParamArray(4)<bgcolor=0xFFFF00>;
    }

    //FSeek(section[dataNodes[j].section].m_absoluteDataStart +  dataNodes[j].from);
    //Some Data - Class Specific
}


Cannot do any more from within the template as the serialization is far more involved
I looked through 56 .h files and converted xmls to figure out what gets serialized and how. There are some annoying defaults involved
but the whole process seems straight forward from here but very tedious to recreate the classes and write the xml converter. except for the arrays

I did not touch the animation and skinning classes yet only the base hkObjects and HavokBehaviour objects
My plan is to write a converter so the project can be reloaded into havok animation and we can see/modify the blend trees
the behaviour template files are also in xml but seem a bit tedious.


Top
 Profile  
 
 Post subject: Re: Havok binary files
PostPosted: Tue Jun 05, 2018 8:39 am 
Offline
veteran

Joined: Wed Mar 02, 2011 10:38 pm
Posts: 148
Has thanked: 9 times
Have thanks: 52 times
This does not make sense
The data does not align



//According to the xml conversion
Code:
//name="#0005" class="hkClass" signature="0x33d42383"
public class hkRootLevelContainer  //"parent" null
{
   //objectSize 12
   
   //numImplementedInterfaces=0
   //declaredEnums numelements="0"
   //declaredMembers numelements="1"
   hkArray<hkRootLevelContainerNamedVariant> namedVariants; //TYPE_ARRAY:TYPE_STRUCT "offset"=0 class=#0002   

}

//name="#0002" class="hkClass" signature="0x33d42383"
public class hkRootLevelContainerNamedVariant  //"parent" null
{
   //objectSize 12
      
   //numImplementedInterfaces=0
   //declaredEnums numelements="0"
   //declaredMembers numelements="3"
   TYPE_STRINGPTR name; //"offset" 0   
   TYPE_STRINGPTR className; // "offset" 4   
   hkRefPtr<hkReferencedObject> variant; // TYPE_POINTER:TYPE_STRUCT "offset" 8 class=#0003
         
   //"describedVersion" 1
}


Where is there a gap of 12 bytes between the hkArray and the first hkString
The String a vtable and a char*


Attachments:


You do not have the required permissions to view the files attached to this post. Register to gain access.



Last edited by JohnHudeski on Tue Jun 05, 2018 11:27 am, edited 1 time in total.

Top
 Profile  
 
 Post subject: Re: Havok binary files
PostPosted: Tue Jun 05, 2018 10:09 am 
Offline
advanced

Joined: Sun Dec 18, 2016 3:32 am
Posts: 62
Has thanked: 26 times
Have thanks: 4 times
Hi,could somebody help me to get collision meshes from hkx files? I want to extract collision meshes from bloodborne here is example files:
https://mega.nz/#F!V9ciUIoB!zD-1YAEA7iLeKhdtHt-tIQ

I included also nav meshes just in case. Also these files should be in big endian.


Last edited by dropoff on Wed Jun 06, 2018 5:43 pm, edited 1 time in total.

Top
 Profile  
 
 Post subject: Re: Havok binary files
PostPosted: Tue Jun 05, 2018 9:40 pm 
Offline
veteran

Joined: Wed Mar 02, 2011 10:38 pm
Posts: 148
Has thanked: 9 times
Have thanks: 52 times
Turns out I do not have a clue how the direct and external data work.
The mapping of data is a bit confusing (indirections)


Top
 Profile  
 
 Post subject: Re: Havok binary files
PostPosted: Sun Jun 10, 2018 10:36 pm 
Offline
veteran

Joined: Wed Mar 02, 2011 10:38 pm
Posts: 148
Has thanked: 9 times
Have thanks: 52 times
I think I'm just trying to ask how you do you bind the data to class. The offsetting seem a bit odd. There are gaps I did not expect.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 102 posts ]  Go to page Previous  1 ... 3, 4, 5, 6, 7

All times are UTC + 1 hour


Who is online

Users browsing this forum: flarespire, takuanuve and 10 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group