Jump to content

vagonumero13 tools (REDELBE, rdbtool, g1mtools, doa6decsave) Update 17 Aug: REDELBE 3.0


Recommended Posts

Posted

Lol, these smiling faces in the decompiled code.

Thanks for sharing, a3 and a4 seem to be exactly what you think. In the code that v5 would then be the fraction representing how close time is to the next keyframe, seems to be used quite a bit in the formulas.

Posted
10 hours ago, Joschuka said:

Lol, these smiling faces in the decompiled code.

Thanks for sharing, a3 and a4 seem to be exactly what you think. In the code that v5 would then be the fraction representing how close time is to the next keyframe, seems to be used quite a bit in the formulas.

 

Here is manually decompiled code (tested and producing same results). This time without smiley faces ?

 

Spoiler

void get_xyz(float *xyz, uint64_t *in, float f1, float f2)
{
    float f = f1 / f2; // If parameters are correct, this one will be >= 0.0 & < 1.0
    float square_f = f * f;
    float cubic_f = square_f * f;

    uint32_t i_uexp = (uint32_t) ((in[0] >> 37) & 0x7800000); // bits 63-60 << 23
    i_uexp += 0x32000000; // Exponent 100
    float uexp = *(float *)&i_uexp;

    int32_t i_ux = (int32_t)((in[0] >> 28 ) & 0xFFFFF000); // bits 40-59 << 12
    int32_t i_uy = (int32_t)((in[0] >> 8 ) & 0xFFFFF000); // bits 20-39 << 12
    int32_t i_uz = (int32_t)((in[0] << 12) & 0xFFFFF000); // bits 0-19 << 12

    float ux = (float)i_ux * uexp;
    float uy = (float)i_uy * uexp;
    float uz = (float)i_uz * uexp;

    uint32_t i_vexp = (uint32_t) ((in[1] >> 37) & 0x7800000); // bits 63-60 << 23
    i_vexp += 0x32000000; // Exponent 100
    float vexp = *(float *)&i_vexp;

    int32_t i_vx = (int32_t)((in[1] >> 28 ) & 0xFFFFF000); // bits 40-59 << 12
    int32_t i_vy = (int32_t)((in[1] >> 8 ) & 0xFFFFF000); // bits 20-39 << 12
    int32_t i_vz = (int32_t)((in[1] << 12) & 0xFFFFF000); // bits 0-19 << 12

    float vx = (float)i_vx * vexp;
    float vy = (float)i_vy * vexp;
    float vz = (float)i_vz * vexp;

    uint32_t i_wexp = (uint32_t) ((in[2] >> 37) & 0x7800000); // bits 63-60 << 23
    i_wexp += 0x32000000; // Exponent 100
    float wexp = *(float *)&i_wexp;

    int32_t i_wx = (int32_t)((in[2] >> 28 ) & 0xFFFFF000); // bits 40-59 << 12
    int32_t i_wy = (int32_t)((in[2] >> 8 ) & 0xFFFFF000); // bits 20-39 << 12
    int32_t i_wz = (int32_t)((in[2] << 12) & 0xFFFFF000); // bits 0-19 << 12

    float wx = (float)i_wx * wexp;
    float wy = (float)i_wy * wexp;
    float wz = (float)i_wz * wexp;

    uint32_t i_texp = (uint32_t) ((in[3] >> 37) & 0x7800000); // bits 63-60 << 23
    i_texp += 0x32000000; // Exponent 100
    float texp = *(float *)&i_texp;

    int32_t i_tx = (int32_t)((in[3] >> 28 ) & 0xFFFFF000); // bits 40-59 << 12
    int32_t i_ty = (int32_t)((in[3] >> 8 ) & 0xFFFFF000); // bits 20-39 << 12
    int32_t i_tz = (int32_t)((in[3] << 12) & 0xFFFFF000); // bits 0-19 << 12

    float tx = (float)i_tx * texp;
    float ty = (float)i_ty * texp;
    float tz = (float)i_tz * texp;

    xyz[0] = ux + vx*f + wx*square_f + tx*cubic_f;
    xyz[1] = uy + vy*f + wy*square_f + ty*cubic_f;
    xyz[2] = uz + vz*f + wz*square_f + tz*cubic_f;
}

 

 

src.cpp

Posted

Hi, im a new user. trying to get the mod to work. the redelbe says the File "C:/Program Files (x86)/Steam/steamapps/common/Dead or Alive 6/REDELBE/MaterialEditor/MPR_Muscle_Character_KASCOS002_body_kidsalb.g1t" added to virtualization.

Costume mod "KASUMI NUDE C02 (SaafRats)" successfully loaded.

but i cant seem to see the results. i still see the default red/blue costume kasumi wears. any idea what i missed or how do i make it work?

i tried pressing the F key. but it doesnt work. it seems a controller is map to the keyboard with the M key being the A button. L key being the B button. any idea which key should i press to get it to work?

would also like to find out if this works on the free version or i must purchase DOA 6 full version before it works?

Posted
4 hours ago, vagonumero13 said:

 

Here is manually decompiled code (tested and producing same results). This time without smiley faces ?

 

  Reveal hidden contents

void get_xyz(float *xyz, uint64_t *in, float f1, float f2)
{
    float f = f1 / f2; // If parameters are correct, this one will be >= 0.0 & < 1.0
    float square_f = f * f;
    float cubic_f = square_f * f;

    uint32_t i_uexp = (uint32_t) ((in[0] >> 37) & 0x7800000); // bits 63-60 << 23
    i_uexp += 0x32000000; // Exponent 100
    float uexp = *(float *)&i_uexp;

    int32_t i_ux = (int32_t)((in[0] >> 28 ) & 0xFFFFF000); // bits 40-59 << 12
    int32_t i_uy = (int32_t)((in[0] >> 8 ) & 0xFFFFF000); // bits 20-39 << 12
    int32_t i_uz = (int32_t)((in[0] << 12) & 0xFFFFF000); // bits 0-19 << 12

    float ux = (float)i_ux * uexp;
    float uy = (float)i_uy * uexp;
    float uz = (float)i_uz * uexp;

    uint32_t i_vexp = (uint32_t) ((in[1] >> 37) & 0x7800000); // bits 63-60 << 23
    i_vexp += 0x32000000; // Exponent 100
    float vexp = *(float *)&i_vexp;

    int32_t i_vx = (int32_t)((in[1] >> 28 ) & 0xFFFFF000); // bits 40-59 << 12
    int32_t i_vy = (int32_t)((in[1] >> 8 ) & 0xFFFFF000); // bits 20-39 << 12
    int32_t i_vz = (int32_t)((in[1] << 12) & 0xFFFFF000); // bits 0-19 << 12

    float vx = (float)i_vx * vexp;
    float vy = (float)i_vy * vexp;
    float vz = (float)i_vz * vexp;

    uint32_t i_wexp = (uint32_t) ((in[2] >> 37) & 0x7800000); // bits 63-60 << 23
    i_wexp += 0x32000000; // Exponent 100
    float wexp = *(float *)&i_wexp;

    int32_t i_wx = (int32_t)((in[2] >> 28 ) & 0xFFFFF000); // bits 40-59 << 12
    int32_t i_wy = (int32_t)((in[2] >> 8 ) & 0xFFFFF000); // bits 20-39 << 12
    int32_t i_wz = (int32_t)((in[2] << 12) & 0xFFFFF000); // bits 0-19 << 12

    float wx = (float)i_wx * wexp;
    float wy = (float)i_wy * wexp;
    float wz = (float)i_wz * wexp;

    uint32_t i_texp = (uint32_t) ((in[3] >> 37) & 0x7800000); // bits 63-60 << 23
    i_texp += 0x32000000; // Exponent 100
    float texp = *(float *)&i_texp;

    int32_t i_tx = (int32_t)((in[3] >> 28 ) & 0xFFFFF000); // bits 40-59 << 12
    int32_t i_ty = (int32_t)((in[3] >> 8 ) & 0xFFFFF000); // bits 20-39 << 12
    int32_t i_tz = (int32_t)((in[3] << 12) & 0xFFFFF000); // bits 0-19 << 12

    float tx = (float)i_tx * texp;
    float ty = (float)i_ty * texp;
    float tz = (float)i_tz * texp;

    xyz[0] = ux + vx*f + wx*square_f + tx*cubic_f;
    xyz[1] = uy + vy*f + wy*square_f + ty*cubic_f;
    xyz[2] = uz + vz*f + wz*square_f + tz*cubic_f;
}

 

 

src.cpp 2.36 kB · 2 downloads

Interesting, this function works on FETH data.

Posted

Awesome, we only miss the last function then. HealingBrew above thinks it's a simple Euler to Quaternion function, like that one https://github.com/erich666/GraphicsGems/blob/master/gemsiv/euler_angle/EulerAngles.c#L27-L37 , we'll just need to confirm that and we'll be done.

I'll start adding animation support to my WIP Noesis script so we can begin testing. I should have some time for that on Saturday, should be ready by the end of the week

Posted
1 hour ago, Joschuka said:

Awesome, we only miss the last function then. HealingBrew above thinks it's a simple Euler to Quaternion function, like that one https://github.com/erich666/GraphicsGems/blob/master/gemsiv/euler_angle/EulerAngles.c#L27-L37 , we'll just need to confirm that and we'll be done.

I'll start adding animation support to my WIP Noesis script so we can begin testing. I should have some time for that on Saturday, should be ready by the end of the week

 

The function I saw in DOA6 wasn't euler to quaternion, but axis to quaternion. The function produces the same quaternion result that if you choose "axis with angle magnitude" in this page: https://www.andre-gaschler.com/rotationconverter/

 

An approximate (and untested) decompiled pseudocode of the function is:

 

Spoiler

void AxisToQuaternion(Quaternion &q, const Vector3 &v)

{
    float length = sqrtf(v.x*v.x + v.y*v.y + v.z*v.z);
    float s = sinf(length*0.5f);
    float c = cosf(length*0.5f);
    
    if (length > 0.000011920929f)
    {
        q.x = v.x * (s / length);
        q.y = v.y * (s / length);
        q.z = v.z * (s / length);
    }
    else
    {
        q.x = v.x * 0.5f;
        q.y = v.y * 0.5f;
        q.z = v.z * 0.5f;
    }
    
    q.w = c;
}

 

Here are some test cases logged from the game that can be used to verify result:

 

Spoiler

0.000000 0.000000 0.000000 -> 0.000000 0.000000 0.000000 1.000000
-0.794708 -0.918640 1.150604 -> -0.352601 -0.407587 0.510507 0.670011
0.226929 0.030090 -2.841736 -> 0.078759 0.010443 -0.986264 0.144815
-0.014801 0.155029 -2.963165 -> -0.004969 0.052048 -0.994831 0.087059
0.000000 -0.000031 0.179749 -> 0.000000 -0.000015 0.089753 0.995964
0.000000 -0.000031 0.489746 -> 0.000000 -0.000015 0.242433 0.970169
-0.320984 -0.400085 -1.798187 -> -0.138111 -0.172146 -0.773712 0.593862
0.226166 0.387573 -1.867828 -> 0.096480 0.165335 -0.796798 0.573127
-0.013550 -0.054230 0.027435 -> -0.006774 -0.027110 0.013715 0.999516
0.013794 -0.013702 -0.011871 -> 0.006897 -0.006851 -0.005936 0.999935
0.169556 -0.068298 0.254669 -> 0.084431 -0.034010 0.126814 0.987741
0.644684 -0.439148 1.654633 -> 0.279241 -0.190214 0.716695 0.610085
-0.173340 -1.591705 0.211914 -> -0.077552 -0.712128 0.094810 0.691273
0.089355 1.690063 0.121674 -> 0.039508 0.747243 0.053797 0.661180
0.098541 -1.061462 0.398499 -> 0.046655 -0.502553 0.188670 0.842421
-0.607574 1.016174 0.399017 -> -0.284414 0.475686 0.186786 0.811141
0.000031 -0.000031 1.549896 -> 0.000014 -0.000014 0.699674 0.714454
-0.000031 -0.000031 1.134918 -> -0.000014 -0.000014 0.537495 0.843270
-0.285248 -0.911957 0.683258 -> -0.134565 -0.430214 0.322326 0.832416
-0.240570 0.583954 0.350311 -> -0.117688 0.285673 0.171374 0.935506
-1.386963 -0.553558 0.841248 -> -0.611656 -0.244121 0.370993 0.654701
0.000000 -2.221466 -2.221466 -> 0.000000 -0.707107 -0.707107 -0.000017

 

Posted
9 hours ago, xghostxprotocolx said:

Hi, im a new user. trying to get the mod to work. the redelbe says the File "C:/Program Files (x86)/Steam/steamapps/common/Dead or Alive 6/REDELBE/MaterialEditor/MPR_Muscle_Character_KASCOS002_body_kidsalb.g1t" added to virtualization.

Costume mod "KASUMI NUDE C02 (SaafRats)" successfully loaded.

but i cant seem to see the results. i still see the default red/blue costume kasumi wears. any idea what i missed or how do i make it work?

i tried pressing the F key. but it doesnt work. it seems a controller is map to the keyboard with the M key being the A button. L key being the B button. any idea which key should i press to get it to work?

would also like to find out if this works on the free version or i must purchase DOA 6 full version before it works?

Post the whole log.

Posted
2 hours ago, vagonumero13 said:

 

The function I saw in DOA6 wasn't euler to quaternion, but axis to quaternion. The function produces the same quaternion result that if you choose "axis with angle magnitude" in this page: https://www.andre-gaschler.com/rotationconverter/

 

An approximate (and untested) decompiled pseudocode of the function is:

 

  Reveal hidden contents

void AxisToQuaternion(Quaternion &q, const Vector3 &v)

{
    float length = sqrtf(v.x*v.x + v.y*v.y + v.z*v.z);
    float s = sinf(length*0.5f);
    float c = cosf(length*0.5f);
    
    if (length > 0.000011920929f)
    {
        q.x = v.x * (s / length);
        q.y = v.y * (s / length);
        q.z = v.z * (s / length);
    }
    else
    {
        q.x = v.x * 0.5f;
        q.y = v.y * 0.5f;
        q.z = v.z * 0.5f;
    }
    
    q.w = c;
}

 

Here are some test cases logged from the game that can be used to verify result:

 

  Hide contents

0.000000 0.000000 0.000000 -> 0.000000 0.000000 0.000000 1.000000
-0.794708 -0.918640 1.150604 -> -0.352601 -0.407587 0.510507 0.670011
0.226929 0.030090 -2.841736 -> 0.078759 0.010443 -0.986264 0.144815
-0.014801 0.155029 -2.963165 -> -0.004969 0.052048 -0.994831 0.087059
0.000000 -0.000031 0.179749 -> 0.000000 -0.000015 0.089753 0.995964
0.000000 -0.000031 0.489746 -> 0.000000 -0.000015 0.242433 0.970169
-0.320984 -0.400085 -1.798187 -> -0.138111 -0.172146 -0.773712 0.593862
0.226166 0.387573 -1.867828 -> 0.096480 0.165335 -0.796798 0.573127
-0.013550 -0.054230 0.027435 -> -0.006774 -0.027110 0.013715 0.999516
0.013794 -0.013702 -0.011871 -> 0.006897 -0.006851 -0.005936 0.999935
0.169556 -0.068298 0.254669 -> 0.084431 -0.034010 0.126814 0.987741
0.644684 -0.439148 1.654633 -> 0.279241 -0.190214 0.716695 0.610085
-0.173340 -1.591705 0.211914 -> -0.077552 -0.712128 0.094810 0.691273
0.089355 1.690063 0.121674 -> 0.039508 0.747243 0.053797 0.661180
0.098541 -1.061462 0.398499 -> 0.046655 -0.502553 0.188670 0.842421
-0.607574 1.016174 0.399017 -> -0.284414 0.475686 0.186786 0.811141
0.000031 -0.000031 1.549896 -> 0.000014 -0.000014 0.699674 0.714454
-0.000031 -0.000031 1.134918 -> -0.000014 -0.000014 0.537495 0.843270
-0.285248 -0.911957 0.683258 -> -0.134565 -0.430214 0.322326 0.832416
-0.240570 0.583954 0.350311 -> -0.117688 0.285673 0.171374 0.935506
-1.386963 -0.553558 0.841248 -> -0.611656 -0.244121 0.370993 0.654701
0.000000 -2.221466 -2.221466 -> 0.000000 -0.707107 -0.707107 -0.000017

 

Ah nice catch, I forgot that you could store the angle information as the length of the vector, I assumed the angle was needed as a separate variable.

Your decompiled code seem to work perfectly fine, here's the output from a quick python script based on it :

[0.0, 0.0, 0.0, 1.0]
[-0.3526018110730552, -0.4075888599638502, 0.5105083303904097, 0.6700183047226148]
[0.07875886530222335, 0.010443152955082429, -0.9862639982041915, 0.14481473522727345]
[-0.004969173638117415, 0.05204824133124145, -0.9948301738661031, 0.08705867592157929]
[0.0, -1.5479141742025332e-05, 0.08975355641894552, 0.9959640048066734]
[0.0, -1.5345559896081812e-05, 0.2424331153827898, 0.9701681216832002]
[-0.13811077417274167, -0.1721458050398193, -0.7737114581329905, 0.5938533618818035]
[0.09648042743311387, 0.16533523474586917, -0.7967990052065219, 0.5731205218588401]
[-0.006773905558956236, -0.02711061981270824, 0.013715284059775965, 0.9995153923177015]
[0.006896850870619066, -0.006850851865247386, -0.0059353716605131885, 0.9999351332161704]
[0.08443129503046415, -0.03400934551411121, 0.1268137575438986, 0.9877413587244274]
[0.2792413176386669, -0.19021453325720084, 0.7166951547245166, 0.6100743996067756]
[-0.07755254802443083, -0.712130947578324, 0.09481060725769722, 0.6912785723191075]
[0.03950748568478265, 0.7472457028580474, 0.05379703221095903, 0.6611874903991624]
[0.04665422704374189, -0.5025490825778544, 0.18866931351116895, 0.8424201403327986]
[-0.2844105291492426, 0.47567964568546783, 0.1867832331691997, 0.8111421265083303]
[1.3994517475947447e-05, -1.3994517475947447e-05, 0.6996789244484207, 0.7144574181090207]
[-1.4681432661630837e-05, -1.4681432661630837e-05, 0.5374910384991208, 0.8432694605534151]
[-0.13456415490682916, -0.4302106343124832, 0.3223231551258213, 0.8324176127451878]
[-0.11768782742338875, 0.28567268393896805, 0.17137357323238447, 0.9355061685125511]
[-0.6116571632365561, -0.24412166436083838, 0.3709942985201669, 0.6547086055006703]

I'll probably wait for healingBrew's confirmation that the code is the same in Fire Emblem too though, the snipset they showed me didn't look like this.

Posted

redelbe_log.txt

here is the whole log. 

Myself path = C:/Program Files (x86)/Steam/steamapps/common/Dead or Alive 6/
original DLL path: C:\WINDOWS\system32\dinput8.dll   base=00007FFBDA540000
REDELBE. Exe base = 00007FF6F0690000. My Dll base = 0000000064800000. My dll name: dinput8.dll
Patch "Branding" located at address 00007FF6F1739D05. Relative: 0x10a9d05.
Patch "PatchMRCWI" located at address 00007FF6F18642D0. Relative: 0x11d42d0.
Patch "PatchBGC" located at address 00007FF6F1ECC246. Relative: 0x183c246.
Patch "PatchBGF" located at address 00007FF6F1ECC278. Relative: 0x183c278.
Patch "PatchBGH" located at address 00007FF6F1ECC2AA. Relative: 0x183c2aa.
Patch "PatchGRCF" located at address 00007FF6F1ECC372. Relative: 0x183c372.
Patch "PatchBGS" located at address 00007FF6F1ECC415. Relative: 0x183c415.
Patch "PatchLPA" located at address 00007FF6F172D9E1. Relative: 0x109d9e1.
Patch "LocateMO" located at address 00007FF6F1EDA907. Relative: 0x184a907.
Patch "PatchICM" located at address 00007FF6F1862FB0. Relative: 0x11d2fb0.
Patch "PatchICF" located at address 00007FF6F1862F90. Relative: 0x11d2f90.
Patch "LocateGDS" located at address 00007FF6F07D8033. Relative: 0x148033.
Patch "PatchBI" located at address 00007FF6F1ED7BF0. Relative: 0x1847bf0.
Patch "PatchBF" located at address 00007FF6F183C1A0. Relative: 0x11ac1a0.
Patch "PatchBNM" located at address 00007FF6F19F0D20. Relative: 0x1360d20.
Patch "PatchBRM" located at address 00007FF6F19F0D90. Relative: 0x1360d90.
Patch "PatchSRARTA" located at address 00007FF6F1F34002. Relative: 0x18a4002.
Patch "PatchSRSV" located at address 00007FF6F1F367EF. Relative: 0x18a67ef.
Patch "PatchSRVS" located at address 00007FF6F1F471B7. Relative: 0x18b71b7.
Patch "PatchSRSARTA" located at address 00007FF6F1F33B84. Relative: 0x18a3b84.
Patch "PatchSRSVS" located at address 00007FF6F1F46D84. Relative: 0x18b6d84.
Patch "LocateCO" located at address 00007FF6F17B9AF8. Relative: 0x1129af8.
Patch "LocateCISL" located at address 00007FF6F188F240. Relative: 0x11ff240.
Patch "LocateCRDSL" located at address 00007FF6F188E030. Relative: 0x11fe030.
Patch "LocateCGDHLIH_NNN" located at address 00007FF6F188F510. Relative: 0x11ff510.
Patch "LocateCGDHLS_NNN" located at address 00007FF6F188F690. Relative: 0x11ff690.
Patch "LocateOGCRFC" located at address 00007FF6F1EE9B60. Relative: 0x1859b60.
Patch "LocateCGDFM" located at address 00007FF6F1EE1D50. Relative: 0x1851d50.
Patch "LocateLSPTU" located at address 00007FF6F1730730. Relative: 0x10a0730.
Patch "LocateLO" located at address 00007FF6F18876C0. Relative: 0x11f76c0.
Patch "PatchLSPTII" located at address 00007FF6F1ECABC0. Relative: 0x183abc0.
Patch "SpecialStages" located at address 00007FF6F1F6DE30. Relative: 0x18dde30.
Patch "Workaround115_1" located at address 00007FF6F18678B0. Relative: 0x11d78b0.
Patch "Workaround115_2" located at address 00007FF6F1867BCB. Relative: 0x11d7bcb.
Patch "Workaround115_3" located at address 00007FF6F1866CDD. Relative: 0x11d6cdd.
File "C:/Program Files (x86)/Steam/steamapps/common/Dead or Alive 6/REDELBE/CharacterEditor/AYA_COS_002.g1m" added to virtualization.
File "C:/Program Files (x86)/Steam/steamapps/common/Dead or Alive 6/REDELBE/CharacterEditor/AYA_COS_003.g1m" added to virtualization.
File "C:/Program Files (x86)/Steam/steamapps/common/Dead or Alive 6/REDELBE/CharacterEditor/CRI_COS_001.g1m" added to virtualization.
File "C:/Program Files (x86)/Steam/steamapps/common/Dead or Alive 6/REDELBE/CharacterEditor/CRI_COS_002.g1m" added to virtualization.
File "C:/Program Files (x86)/Steam/steamapps/common/Dead or Alive 6/REDELBE/CharacterEditor/HEL_COS_001.g1m" added to virtualization.
File "C:/Program Files (x86)/Steam/steamapps/common/Dead or Alive 6/REDELBE/CharacterEditor/HEL_COS_002.g1m" added to virtualization.
File "C:/Program Files (x86)/Steam/steamapps/common/Dead or Alive 6/REDELBE/CharacterEditor/HON_COS_002.g1m" added to virtualization.
File "C:/Program Files (x86)/Steam/steamapps/common/Dead or Alive 6/REDELBE/CharacterEditor/HON_COS_003.g1m" added to virtualization.
File "C:/Program Files (x86)/Steam/steamapps/common/Dead or Alive 6/REDELBE/CharacterEditor/HTM_COS_002.g1m" added to virtualization.
File "C:/Program Files (x86)/Steam/steamapps/common/Dead or Alive 6/REDELBE/CharacterEditor/HTM_COS_004.g1m" added to virtualization.
File "C:/Program Files (x86)/Steam/steamapps/common/Dead or Alive 6/REDELBE/CharacterEditor/KAS_COS_002.g1m" added to virtualization.
File "C:/Program Files (x86)/Steam/steamapps/common/Dead or Alive 6/REDELBE/CharacterEditor/KAS_COS_005.g1m" added to virtualization.
File "C:/Program Files (x86)/Steam/steamapps/common/Dead or Alive 6/REDELBE/CharacterEditor/KOK_COS_001.g1m" added to virtualization.
File "C:/Program Files (x86)/Steam/steamapps/common/Dead or Alive 6/REDELBE/CharacterEditor/KOK_COS_002.g1m" added to virtualization.
File "C:/Program Files (x86)/Steam/steamapps/common/Dead or Alive 6/REDELBE/CharacterEditor/LEI_COS_001.g1m" added to virtualization.
File "C:/Program Files (x86)/Steam/steamapps/common/Dead or Alive 6/REDELBE/CharacterEditor/LEI_COS_002.g1m" added to virtualization.
File "C:/Program Files (x86)/Steam/steamapps/common/Dead or Alive 6/REDELBE/CharacterEditor/LIS_COS_001.g1m" added to virtualization.
File "C:/Program Files (x86)/Steam/steamapps/common/Dead or Alive 6/REDELBE/CharacterEditor/LIS_COS_002.g1m" added to virtualization.
File "C:/Program Files (x86)/Steam/steamapps/common/Dead or Alive 6/REDELBE/CharacterEditor/MAI_COS_004.g1m" added to virtualization.
File "C:/Program Files (x86)/Steam/steamapps/common/Dead or Alive 6/REDELBE/CharacterEditor/MAI_COS_014.g1m" added to virtualization.
File "C:/Program Files (x86)/Steam/steamapps/common/Dead or Alive 6/REDELBE/CharacterEditor/MAR_COS_001.g1m" added to virtualization.
File "C:/Program Files (x86)/Steam/steamapps/common/Dead or Alive 6/REDELBE/CharacterEditor/MAR_COS_007.g1m" added to virtualization.
File "C:/Program Files (x86)/Steam/steamapps/common/Dead or Alive 6/REDELBE/CharacterEditor/MIL_COS_001.g1m" added to virtualization.
File "C:/Program Files (x86)/Steam/steamapps/common/Dead or Alive 6/REDELBE/CharacterEditor/MIL_COS_002.g1m" added to virtualization.
File "C:/Program Files (x86)/Steam/steamapps/common/Dead or Alive 6/REDELBE/CharacterEditor/NIC_COS_004.g1m" added to virtualization.
File "C:/Program Files (x86)/Steam/steamapps/common/Dead or Alive 6/REDELBE/CharacterEditor/NIC_COS_010.g1m" added to virtualization.
File "C:/Program Files (x86)/Steam/steamapps/common/Dead or Alive 6/REDELBE/CharacterEditor/NYO_COS_004.g1m" added to virtualization.
File "C:/Program Files (x86)/Steam/steamapps/common/Dead or Alive 6/REDELBE/CharacterEditor/NYO_COS_005.g1m" added to virtualization.
File "C:/Program Files (x86)/Steam/steamapps/common/Dead or Alive 6/REDELBE/CharacterEditor/PHF_COS_007.g1m" added to virtualization.
File "C:/Program Files (x86)/Steam/steamapps/common/Dead or Alive 6/REDELBE/CharacterEditor/SNK_COS_010.g1m" added to virtualization.
File "C:/Program Files (x86)/Steam/steamapps/common/Dead or Alive 6/REDELBE/CharacterEditor/SNK_COS_013.g1m" added to virtualization.
File "C:/Program Files (x86)/Steam/steamapps/common/Dead or Alive 6/REDELBE/CharacterEditor/TIN_COS_001.g1m" added to virtualization.
File "C:/Program Files (x86)/Steam/steamapps/common/Dead or Alive 6/REDELBE/CharacterEditor/TIN_COS_002.g1m" added to virtualization.
File "C:/Program Files (x86)/Steam/steamapps/common/Dead or Alive 6/REDELBE/MaterialEditor/MPR_Muscle_Character_AYACOS002_body_kidsalb.g1t" added to virtualization.
File "C:/Program Files (x86)/Steam/steamapps/common/Dead or Alive 6/REDELBE/MaterialEditor/MPR_Muscle_Character_AYACOS003_body_kidsalb.g1t" added to virtualization.
File "C:/Program Files (x86)/Steam/steamapps/common/Dead or Alive 6/REDELBE/MaterialEditor/MPR_Muscle_Character_CRICOS001_body_kidsalb.g1t" added to virtualization.
File "C:/Program Files (x86)/Steam/steamapps/common/Dead or Alive 6/REDELBE/MaterialEditor/MPR_Muscle_Character_CRICOS002_body_kidsalb.g1t" added to virtualization.
File "C:/Program Files (x86)/Steam/steamapps/common/Dead or Alive 6/REDELBE/MaterialEditor/MPR_Muscle_Character_HELCOS001_body_kidsalb.g1t" added to virtualization.
File "C:/Program Files (x86)/Steam/steamapps/common/Dead or Alive 6/REDELBE/MaterialEditor/MPR_Muscle_Character_HELCOS002_body_kidsalb.g1t" added to virtualization.
File "C:/Program Files (x86)/Steam/steamapps/common/Dead or Alive 6/REDELBE/MaterialEditor/MPR_Muscle_Character_HONCOS002_body_kidsalb.g1t" added to virtualization.
File "C:/Program Files (x86)/Steam/steamapps/common/Dead or Alive 6/REDELBE/MaterialEditor/MPR_Muscle_Character_HONCOS003_body_kidsalb.g1t" added to virtualization.
File "C:/Program Files (x86)/Steam/steamapps/common/Dead or Alive 6/REDELBE/MaterialEditor/MPR_Muscle_Character_HTMCOS002_body_kidsalb.g1t" added to virtualization.
File "C:/Program Files (x86)/Steam/steamapps/common/Dead or Alive 6/REDELBE/MaterialEditor/MPR_Muscle_Character_HTMCOS004_body_kidsalb.g1t" added to virtualization.
File "C:/Program Files (x86)/Steam/steamapps/common/Dead or Alive 6/REDELBE/MaterialEditor/MPR_Muscle_Character_KASCOS002_body_kidsalb.g1t" added to virtualization.
File "C:/Program Files (x86)/Steam/steamapps/common/Dead or Alive 6/REDELBE/MaterialEditor/MPR_Muscle_Character_KASCOS005_body_kidsalb.g1t" added to virtualization.
File "C:/Program Files (x86)/Steam/steamapps/common/Dead or Alive 6/REDELBE/MaterialEditor/MPR_Muscle_Character_KOKCOS001_body_kidsalb.g1t" added to virtualization.
File "C:/Program Files (x86)/Steam/steamapps/common/Dead or Alive 6/REDELBE/MaterialEditor/MPR_Muscle_Character_KOKCOS002_body_kidsalb.g1t" added to virtualization.
File "C:/Program Files (x86)/Steam/steamapps/common/Dead or Alive 6/REDELBE/MaterialEditor/MPR_Muscle_Character_LEICOS001_body_kidsalb.g1t" added to virtualization.
File "C:/Program Files (x86)/Steam/steamapps/common/Dead or Alive 6/REDELBE/MaterialEditor/MPR_Muscle_Character_LEICOS002_body_kidsalb.g1t" added to virtualization.
File "C:/Program Files (x86)/Steam/steamapps/common/Dead or Alive 6/REDELBE/MaterialEditor/MPR_Muscle_Character_LISCOS001_body_kidsalb.g1t" added to virtualization.
File "C:/Program Files (x86)/Steam/steamapps/common/Dead or Alive 6/REDELBE/MaterialEditor/MPR_Muscle_Character_LISCOS002_body_kidsalb.g1t" added to virtualization.
File "C:/Program Files (x86)/Steam/steamapps/common/Dead or Alive 6/REDELBE/MaterialEditor/MPR_Muscle_Character_MAICOS004_body_kidsalb.g1t" added to virtualization.
File "C:/Program Files (x86)/Steam/steamapps/common/Dead or Alive 6/REDELBE/MaterialEditor/MPR_Muscle_Character_MAICOS014_body_kidsalb.g1t" added to virtualization.
File "C:/Program Files (x86)/Steam/steamapps/common/Dead or Alive 6/REDELBE/MaterialEditor/MPR_Muscle_Character_MARCOS001_body_kidsalb.g1t" added to virtualization.
File "C:/Program Files (x86)/Steam/steamapps/common/Dead or Alive 6/REDELBE/MaterialEditor/MPR_Muscle_Character_MARCOS007_body_kidsalb.g1t" added to virtualization.
File "C:/Program Files (x86)/Steam/steamapps/common/Dead or Alive 6/REDELBE/MaterialEditor/MPR_Muscle_Character_MILCOS001_body_kidsalb.g1t" added to virtualization.
File "C:/Program Files (x86)/Steam/steamapps/common/Dead or Alive 6/REDELBE/MaterialEditor/MPR_Muscle_Character_MILCOS002_body_kidsalb.g1t" added to virtualization.
File "C:/Program Files (x86)/Steam/steamapps/common/Dead or Alive 6/REDELBE/MaterialEditor/MPR_Muscle_Character_NICCOS004_body_kidsalb.g1t" added to virtualization.
File "C:/Program Files (x86)/Steam/steamapps/common/Dead or Alive 6/REDELBE/MaterialEditor/MPR_Muscle_Character_NICCOS010_body_kidsalb.g1t" added to virtualization.
File "C:/Program Files (x86)/Steam/steamapps/common/Dead or Alive 6/REDELBE/MaterialEditor/MPR_Muscle_Character_NYOCOS004_body_kidsalb.g1t" added to virtualization.
File "C:/Program Files (x86)/Steam/steamapps/common/Dead or Alive 6/REDELBE/MaterialEditor/MPR_Muscle_Character_NYOCOS005_body_kidsalb.g1t" added to virtualization.
File "C:/Program Files (x86)/Steam/steamapps/common/Dead or Alive 6/REDELBE/MaterialEditor/MPR_Muscle_Character_PHFCOS007_body_kidsalb.g1t" added to virtualization.
File "C:/Program Files (x86)/Steam/steamapps/common/Dead or Alive 6/REDELBE/MaterialEditor/MPR_Muscle_Character_SNKCOS010_body_kidsalb.g1t" added to virtualization.
File "C:/Program Files (x86)/Steam/steamapps/common/Dead or Alive 6/REDELBE/MaterialEditor/MPR_Muscle_Character_SNKCOS013_body_kidsalb.g1t" added to virtualization.
File "C:/Program Files (x86)/Steam/steamapps/common/Dead or Alive 6/REDELBE/MaterialEditor/MPR_Muscle_Character_TINCOS001_body_kidsalb.g1t" added to virtualization.
File "C:/Program Files (x86)/Steam/steamapps/common/Dead or Alive 6/REDELBE/MaterialEditor/MPR_Muscle_Character_TINCOS002_body_kidsalb.g1t" added to virtualization.
Costume mod "MAI NUDE C14 (SaafRats)" successfully loaded.
Costume mod "PHASE4 NUDE C07 (SaafRats)" successfully loaded.
Costume mod "MAI NUDE C04 (SaafRats)" successfully loaded.
Costume mod "LISA NUDE C02 (SaafRats)" successfully loaded.
Costume mod "LEIFANG NUDE C01 (SaafRats)" successfully loaded.
Costume mod "KULA NUDE C10 (SaafRats)" successfully loaded.
Costume mod "AYANE NUDE C03 (SaafRats)" successfully loaded.
Costume mod "NICO NUDE C04 (SaafRats)" successfully loaded.
Costume mod "KOKORO NUDE C02 (SaafRats)" successfully loaded.
Costume mod "KOKORO NUDE C01 (SaafRats)" successfully loaded.
Costume mod "LISA NUDE C01 (SaafRats)" successfully loaded.
Costume mod "TINA NUDE C01 (SaafRats)" successfully loaded.
Costume mod "HONOKA NUDE C03 (SaafRats)" successfully loaded.
Costume mod "NYOTENGU NUDE C05 (SaafRats)" successfully loaded.
Costume mod "TINA NUDE C02 (SaafRats)" successfully loaded.
Costume mod "NYOTENGU NUDE C04 (SaafRats)" successfully loaded.
Costume mod "MILA NUDE C01 (SaafRats)" successfully loaded.
Costume mod "NICO NUDE C10 (SaafRats)" successfully loaded.
Costume mod "AYANE NUDE C02 (SaafRats)" successfully loaded.
Costume mod "MILA NUDE C02 (SaafRats)" successfully loaded.
Costume mod "CHRISTIE NUDE C02 (SaafRats)" successfully loaded.
Costume mod "HELENA NUDE C01 (SaafRats)" successfully loaded.
Costume mod "LEIFANG NUDE C02 (SaafRats)" successfully loaded.
Costume mod "MARIE NUDE C01 (SaafRats)" successfully loaded.
Costume mod "KULA NUDE C13 (SaafRats)" successfully loaded.
Costume mod "HELENA NUDE C02 (SaafRats)" successfully loaded.
Costume mod "HITOMI NUDE C02 (SaafRats)" successfully loaded.
Costume mod "HITOMI NUDE C04 (SaafRats)" successfully loaded.
Costume mod "HONOKA NUDE C02 (SaafRats)" successfully loaded.
Costume mod "KASUMI NUDE C02 (SaafRats)" successfully loaded.
Costume mod "KASUMI NUDE C05 (SaafRats)" successfully loaded.
Costume mod "CHRISTIE NUDE C01 (SaafRats)" successfully loaded.
Costume mod "MARIE NUDE C07 (SaafRats)" successfully loaded.
 

Posted
On 12/31/2019 at 10:02 AM, vagonumero13 said:

 

Latest REDELBE only supports 1.17 and 1.16. You have a very old game version (1.08, from what I can tell from those .rdb.bin in the screenshot).

Hi @vagonumero13!

 

First of all, Thank you for the great app! It was amazing!

I am using the past tense, because It won't start anymore. I have the same problem as the guy above... (Failed to apply patch "Layer2:PatchMRCWI")

I have updated the game to 1.17 and I use the version 2.01 of REDELBE (the latest one at this moment).

 

I believe I did something wrong during the Update (of REDELBE or the Game) because I see that you said something about the .rdb.bin files.
I have them as well, even though I updated the game to latest version.

 

Should I delete them? Could you help me with this, please?

Posted
21 minutes ago, supermanstuff said:

Hi @vagonumero13!

 

First of all, Thank you for the great app! It was amazing!

I am using the past tense, because It won't start anymore. I have the same problem as the guy above... (Failed to apply patch "Layer2:PatchMRCWI")

I have updated the game to 1.17 and I use the version 2.01 of REDELBE (the latest one at this moment).

 

I believe I did something wrong during the Update (of REDELBE or the Game) because I see that you said something about the .rdb.bin files.
I have them as well, even though I updated the game to latest version.

 

Should I delete them? Could you help me with this, please?

Reinstall REDELBE. Don't forget to also copy the REDELBE directory. And check DOA6.exe, right click, properties, details tab, and check that it says 1.0.17.0 in version.

Posted
35 minutes ago, vagonumero13 said:

Reinstall REDELBE. Don't forget to also copy the REDELBE directory. And check DOA6.exe, right click, properties, details tab, and check that it says 1.0.17.0 in version.

Thank you for the quick response!
 

This is awkward... I thought that the dinput8.dll is the only one that matters, so I replaced only that file, but now I realized there is a system folder inside the REDELBE directory. That sounds important... Thank you! It works now!

Posted
2 hours ago, supermanstuff said:

Thank you for the quick response!
 

This is awkward... I thought that the dinput8.dll is the only one that matters, so I replaced only that file, but now I realized there is a system folder inside the REDELBE directory. That sounds important... Thank you! It works now!

Well, it is the REDELBE/Patches directory which is important, it contains the signatures of the patches.

Posted

Hi, im still kinda lost. ive check that my game version is 1.0.17.0. so ill tell you what i did from start to end. would that help diagnose my problem?
Basically i cut dinput8.dll and pasted this to where the DOA6.exe is and then moved the redelbe folder into that folder with DOA6.exe. next i move saafrats mod into the redelbe folder. I assume this is suppose to be the way based on the instruction. i guess im mistaken somewhere.

i reread the read me it says copy. so is there suppose to be two dinput8.dll one inside redelbe folder, one outside the folder? i also checked the system folder in redelbe directory but it is empty. Am i suppose to move all the relevant files from my DOA6 folder  into the relevant directories in redelbe folder? i need a clearer step by step instruction and/or sample(picture) of the working doa6 folder.

I appreciate the help.

Yours Sincerely,
Slow dumb guy

Posted
31 minutes ago, xghostxprotocolx said:

Hi, im still kinda lost. ive check that my game version is 1.0.17.0. so ill tell you what i did from start to end. would that help diagnose my problem?
Basically i cut dinput8.dll and pasted this to where the DOA6.exe is and then moved the redelbe folder into that folder with DOA6.exe. next i move saafrats mod into the redelbe folder. I assume this is suppose to be the way based on the instruction. i guess im mistaken somewhere.

i reread the read me it says copy. so is there suppose to be two dinput8.dll one inside redelbe folder, one outside the folder? i also checked the system folder in redelbe directory but it is empty. Am i suppose to move all the relevant files from my DOA6 folder  into the relevant directories in redelbe folder? i need a clearer step by step instruction and/or sample(picture) of the working doa6 folder.

I appreciate the help.

Yours Sincerely,
Slow dumb guy

 

You have to copy the "REDELBE" folder in saafrats mod (inside Option 2 folder), to the game folder, merging it with the existing REDELBE folder.

Posted
56 minutes ago, vagonumero13 said:

 

You have to copy the "REDELBE" folder in saafrats mod (inside Option 2 folder), to the game folder, merging it with the existing REDELBE folder.

i did that and also did option 1. so that log was the result. 

but it still doesnt work. would be nice if you could screenshot your folder as sample 

i only downloaded version 2.01 of REDELBE. (the latest) is that why? am i suppose to download all the previous version of it and merge toget the working final ?


yours sincerely,
Still lost & confused guy.

Posted
On 1/2/2020 at 10:28 PM, Joschuka said:

Ah nice catch, I forgot that you could store the angle information as the length of the vector, I assumed the angle was needed as a separate variable.

Your decompiled code seem to work perfectly fine, here's the output from a quick python script based on it :


[0.0, 0.0, 0.0, 1.0]
[-0.3526018110730552, -0.4075888599638502, 0.5105083303904097, 0.6700183047226148]
[0.07875886530222335, 0.010443152955082429, -0.9862639982041915, 0.14481473522727345]
[-0.004969173638117415, 0.05204824133124145, -0.9948301738661031, 0.08705867592157929]
[0.0, -1.5479141742025332e-05, 0.08975355641894552, 0.9959640048066734]
[0.0, -1.5345559896081812e-05, 0.2424331153827898, 0.9701681216832002]
[-0.13811077417274167, -0.1721458050398193, -0.7737114581329905, 0.5938533618818035]
[0.09648042743311387, 0.16533523474586917, -0.7967990052065219, 0.5731205218588401]
[-0.006773905558956236, -0.02711061981270824, 0.013715284059775965, 0.9995153923177015]
[0.006896850870619066, -0.006850851865247386, -0.0059353716605131885, 0.9999351332161704]
[0.08443129503046415, -0.03400934551411121, 0.1268137575438986, 0.9877413587244274]
[0.2792413176386669, -0.19021453325720084, 0.7166951547245166, 0.6100743996067756]
[-0.07755254802443083, -0.712130947578324, 0.09481060725769722, 0.6912785723191075]
[0.03950748568478265, 0.7472457028580474, 0.05379703221095903, 0.6611874903991624]
[0.04665422704374189, -0.5025490825778544, 0.18866931351116895, 0.8424201403327986]
[-0.2844105291492426, 0.47567964568546783, 0.1867832331691997, 0.8111421265083303]
[1.3994517475947447e-05, -1.3994517475947447e-05, 0.6996789244484207, 0.7144574181090207]
[-1.4681432661630837e-05, -1.4681432661630837e-05, 0.5374910384991208, 0.8432694605534151]
[-0.13456415490682916, -0.4302106343124832, 0.3223231551258213, 0.8324176127451878]
[-0.11768782742338875, 0.28567268393896805, 0.17137357323238447, 0.9355061685125511]
[-0.6116571632365561, -0.24412166436083838, 0.3709942985201669, 0.6547086055006703]

I'll probably wait for healingBrew's confirmation that the code is the same in Fire Emblem too though, the snipset they showed me didn't look like this.

 

I got a better parser now, also with writing capabilities (and able to handle the 0300/0500 differences). I have attached it.

And a sample animation, a .g1a file generated from scratch by code (by method G1aFile::DebugCreateSampleAnimation)

 

Here is how it looks in game:

Spoiler

 

It is an animation with linear interpolation, which can be simulated by using only vectors u and v, and setting w and t to 0.

The weirdness of boobs at scale may be related with the softbody or with me using SK_Skeleton instead of root, but well. at least the sample confirmed everything we were finding out these days.

 

g1a_src.rar

Posted
16 hours ago, xghostxprotocolx said:

i did that and also did option 1. so that log was the result. 

but it still doesnt work. would be nice if you could screenshot your folder as sample 

i only downloaded version 2.01 of REDELBE. (the latest) is that why? am i suppose to download all the previous version of it and merge toget the working final ?


yours sincerely,
Still lost & confused guy.

 

2.01 is the only version needed. While you are browsing the costumes, do you see a text in the lower right corner like "Slot: MAR_COS_001 Mod (vanilla)"

Posted
9 hours ago, vagonumero13 said:

 

2.01 is the only version needed. While you are browsing the costumes, do you see a text in the lower right corner like "Slot: MAR_COS_001 Mod (vanilla)"

Nope. nothing like that. at least nothing i noticed.

Posted
15 minutes ago, xghostxprotocolx said:

Nope. nothing like that. at least nothing i noticed.

 

In the .ini file, check if slot_info_in_css is set to true. If it is false, set it to true.

Posted

Success (more or less) in exporting a game g1a file to fbx.

 

The weirdness is probably problem of the g1m to fbx part of the code rather than the g1a itself, my g1m to fbx code must be buggy as hell.

Anyway, I will release later a preliminar g1a2fbx.

HON07120_WIN.fbx

Posted

g1mtools updated to version 0.9.

 

Changelog:

- Added preliminar version of g1a2fbx.

 

---------

 

You need both a g1m and a g1a file for g1a2fbx.

If you start the program without dragging any file, it will ask you to drag each of them.

Otherwise if you drag one of them at startup, it will only ask you for the other file.

 

The fbx will be saved with same file name as the g1a, but with .fbx extension.

The program is still buggy. Besides of the problems of the g1m part, there is some problem somewhere in the animations conversion. Maybe some problem in the rotation conversion to the format required by fbxsdk (euler, degrees), or maybe due to the interpolation parameters not being adequate. Whatever it is, you may some time see a leg or something else doing weird things : )

 

Due to the interpolation not getting the proper parameters, the animation in fbx may differ from the one in game (I mean, besides the bug above).

Hopefully I will improve  the program with time, and with time there will be a fbx2g1a too.

 

The program has only been tested with body animations. Camera animations won't work at all, and face animations... who knows what can happen there.

Posted
1 hour ago, vagonumero13 said:

 

In the .ini file, check if slot_info_in_css is set to true. If it is false, set it to true.

ok. ive check and it says true. also ive just noticed it in the fight mode. earlier i didnt notice it cause i thought you were referring to wardrobe area. it shows slot: KAS_COS_004 Mod: Vanilla. but it still isnt nude.

Also i haven't unlock the other characters only the few default basic characters are there.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...