Jump to content

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


Recommended Posts

On 5/10/2019 at 3:48 PM, Aurora Rain said:

Oh boy, if we could get a way to convert those to FBX or COLLADA and injected back, then I could fix all the strange facial animations (I'm an animator irl)

Maybe someday. A quick look at g1a files reveal that they don't seem too complex.

 

It looks like that g1a are organized in 3 sections. The first section has what seem like time stamps (miliseconds, i guess) interleaved with some other value that for whatever reason is increased by 16 each time. That seem consistent between files.

The second section is organized in groups of 12 bytes, it contains references to indexes of the third sections. I guess they may also indicate the bones in which the matrix is applied and the keyframe, but I'm just assuming that because it is the logical thing.

The third section is a bunch of 16 bits floats organized in groups of 32 bytes. 32 bytes happen to be the size of a transformation matrix when using 16 bits floats, so again, let's assume that.

Link to comment

@vagonumero13 The time stamps, my guess is that those are something similar to "animation notifies".  Which are basically flags that tell the game "something should happen here", like footstep sounds in a walk cycle, triggers for particle effects, or even more gameplay specific stuff like start-up frames section, active frames section, recovery frames section, hold window, throw immunity window, all these things are some possibilities for what those time stamps might be.

My guess is that we would have to make sure those are never changed, otherwise that would break online play.

Similar, anyone modding animations would have to make sure that animation length and frame count is something else that would have to be maintained, to the exact frame count, to prevent breakage.

Link to comment
5 hours ago, Aurora Rain said:

@vagonumero13 The time stamps, my guess is that those are something similar to "animation notifies".  Which are basically flags that tell the game "something should happen here", like footstep sounds in a walk cycle, triggers for particle effects, or even more gameplay specific stuff like start-up frames section, active frames section, recovery frames section, hold window, throw immunity window, all these things are some possibilities for what those time stamps might be.

My guess is that we would have to make sure those are never changed, otherwise that would break online play.

Similar, anyone modding animations would have to make sure that animation length and frame count is something else that would have to be maintained, to the exact frame count, to prevent breakage.

 

The timestamps are the starts of the different frames... I guess. I don't know how the game would handle the external things like effects and sounds, if they have their own files with similar timestamps or no. They may be in 1/100 seconds instead of milisecs. The last frame of Nico win pose is at 1739. Obviously, Nico pose doesn't last 1.7 seconds, not sure if it lasts as much as 17.4 seconds... maybe it is other unit. I wouldn't discard the possibility they were in "6.0 * milisecs", where 6.0 is a value in the header.

 

The header has 5 values. I know what 2 of them are, but I don't know about other two. Additionally, the first thing in the header (after the common chunk thing between most binary files of this game) is a float number that is "6.0" in all files I have seen, except camera.

Camera animations use a differentr version of the g1a format (2400) as opposed to the ones used by characters/faces (0300).

Link to comment
20 minutes ago, gatto tom said:

@vagonumero13 sorry for disturbing, but do you know where are located the prendered story videos?

I only found files like these


SE1_Common_MV_LIS_001A.SRSA
SE1_Common_MV_LIS_001A.SRST
SE1_Common_MV_LIS_001B.SRST
SE1_Common_MV_LIS_001B.SRSA

 

They should be in RRPreview too, things like MV_NYO_003A_Monitor_c1.mov

They are actually mp4-avc without sound that can be played on almost any media player.

 

Although... there is quite lot less .mov files than srst files...

Link to comment
3 hours ago, vagonumero13 said:

They should be in RRPreview too, things like MV_NYO_003A_Monitor_c1.mov

They are actually mp4-avc without sound that can be played on almost any media player.

 

Although... there is quite lot less .mov files than srst files...

Most of the .mov files are monitor videos. Swapping .srsa and srst files don't work, you still get the same video but without audio. There are files from some scenes that aren't included in the story and i wanted to check them ?

Btw do you think that .srsa is audio format and srst is text format for subs?

Link to comment
40 minutes ago, gatto tom said:

Most of the .mov files are monitor videos. Swapping .srsa and srst files don't work, you still get the same video but without audio. There are files from some scenes that aren't included in the story and i wanted to check them ?

Btw do you think that .srsa is audio format and srst is text format for subs?

 

The srst is the sound. I think they may contain multiple audio files, the audio codec is ogg vorbis, but the container may be a Koei thing.

I don't know what the srsa is, it doesn't contain any text, i think the text of subtitles may be in the encrypted files of the numeric folders.

 

Activating the log options of redelbe and seeing what the game acceses in story mode may be a good way to know what the game loads.

However, the movies may be in 03/03.bin (I haven't checked, but it is the only numeric file big enough to have several movies), which is something outside the RDB filesystem, and it is encrypted.

 

Although REDELBE has an option to dump everything that gets decrypted, this would be useless with something like a movie, because I assume they decrypt it at chunks, and not at once, as that would waste a lot of ram.

Link to comment
29 minutes ago, vagonumero13 said:

 

The srst is the sound. I think they may contain multiple audio files, the audio codec is ogg vorbis, but the container may be a Koei thing.

I don't know what the srsa is, it doesn't contain any text, i think the text of subtitles may be in the encrypted files of the numeric folders.

 

Activating the log options of redelbe and seeing what the game acceses in story mode may be a good way to know what the game loads.

However, the movies may be in 03/03.bin (I haven't checked, but it is the only numeric file big enough to have several movies), which is something outside the RDB filesystem, and it is encrypted.

 

Although REDELBE has an option to dump everything that gets decrypted, this would be useless with something like a movie, because I assume they decrypt it at chunks, and not at once, as that would waste a lot of ram.

You may be right because folder 03 is the one that is untouched since release. Btw i activated the log and this is the result:

Open external SE1_Common_MV_001.srst
Open internal SE1_Common_MV_001.srsa
Open external SE1_Common_MV_002.srst
Open internal SE1_Common_MV_002.srsa
Open external SE1_Common_MV_004a.srst
Open internal SE1_Common_MV_004a.srsa
Open external SE1_Common_MV_004b.srst
Open internal SE1_Common_MV_004b.srsa
Open external SE1_Common_MV_003.srst
Open internal SE1_Common_MV_003.srsa

The sound is external while the .srsa is internal.

 

I need to test a thing because the only video that i would like to check is MV_HEL_003 and maybe this could be "secret" ending showed at the end

EDIT: I just checked and my supposition was right

Link to comment

REDELBE updated to version 0.6

 

Changelog:

- Layer2: added support for the pirates of the sea costumes dlc vol 2
- REDELBE can now support the file names of the pirates of the sea costumes and some other file names (matching rdbtool 0.5)
- Fixed a bug in which after reloading a battle, if a layer2 mod was active, in the reloaded battle the costume would go back to the vanilla costume of that slot.
- Added a feature to allow the game to select random hairs when selecting random characters. This feature is disabled by default.
  To enable it, look in the [Random] section of the .ini file. Further options can be configured in [RandomHair]

 

--------

 

rdbtool updated version 0.5

Changelog:

 

- Added support for more filenames in CharacterEditor, MaterialEditor, RRPreview and KIDSSystemResource

- Added a gui tool "qrdbtool".

 

----------

 

I didn't add insert ability to qrdbtool since the usual method to put files is REDELBE. But if someone wants the insert ability for whatever reason, the command line rdbtool is still there.

 

qrdbtool list of files behaves like other list of other windows programs regarding to multiselection: you can multiselect with Ctrl, and select a range with Shift.

For example, if you wanted to extract all .g1m files of a rdb, you would first click on the Type column to sort by type.

Then select the first .g1m normally, then Shift+select the last .g1m, then click "Extract selection".

 

--------

 

@gatto tomThere is a new Nico win .g1a in 1.05.

Link to comment
13 minutes ago, HyperBob said:

:mrgreen:

 

I think you add this at the last time before upload the file ;)

 

I will explain why we need to check "Hide DS4 Controller", if you don't, Windows will see 2 controller for your DS4, this is not a problem in most of games cause only x360 controller are visible, it's not the case with DOA6 which will see Two controller with basically the same input, that's why some control won't work proprely and you can even be locked at the point of choosing Player.

 

To be honest, I didn't even know until yesterday that they changed the traditional "Select" button with that "Share" one, since I stopped buying consoles with the PS3.

Anyway, maybe in future version I may allow some other alternative button. Only that one and  Ltrigger,  R-stick and L-stick (L2, L3 and R3 on ps) would be available, all others are in use by the game at character selection, and I really hate the stick ones, so maybe I will add the possibility of using LTrigger/L2.

Link to comment
41 minutes ago, vagonumero13 said:

 

To be honest, I didn't even know until yesterday that they changed the traditional "Select" button with that "Share" one, since I stopped buying consoles with the PS3.

Anyway, maybe in future version I may allow some other alternative button. Only that one and  Ltrigger,  R-stick and L-stick (L2, L3 and R3 on ps) would be available, all others are in use by the game at character selection, and I really hate the stick ones, so maybe I will add the possibility of using LTrigger/L2.

That would be great, DS4Windows can be a pain in the ass sometimes.

Link to comment

@vagonumero13 Thanks for updating REDELBE and thanks for that leak. May i know which from the 9 new files do i need? 

These are my suppositions:

0xa64c8cb= Camera_WIN?
0x877ce62 = Facial ****?
0x837e7502 = Facial ****?
0x7f8003e = Facial ****?
0x3edc95c = NIC07***_WIN?

Did you find any clues about MAI or 2nd KOF Character? I searched in characters ' name list and select characters icons but they weren't updated ?

Link to comment
3 hours ago, gatto tom said:

@vagonumero13 Thanks for updating REDELBE and thanks for that leak. May i know which from the 9 new files do i need? 

These are my suppositions:


0xa64c8cb= Camera_WIN?
0x877ce62 = Facial ****?
0x837e7502 = Facial ****?
0x7f8003e = Facial ****?
0x3edc95c = NIC07***_WIN?

Did you find any clues about MAI or 2nd KOF Character? I searched in characters ' name list and select characters icons but they weren't updated ?

 

These are all the .g1a files that were added in 1.05:

 

0x9d88d9c1,CMN03780_CMN.g1a
0xee32b7c2,CMN03781_CMN.g1a
0x3edc95c3,CMN03782_CMN.g1a
0x0a2b8f51,NIC07120_WIN.g1a
0xa64c8cbc,NIC_CAMERA_7120_WIN.g1a
0x877ce623,NIC_FACIAL_7120_WIN.g1a
0x837e7502,NIC_FACIAL_7121_WIN.g1a
0x7f8003e1,NIC_FACIAL_7122_WIN.g1a

 

I haven't looked yet at the exe or the decrypted scripts. Since the signatures patches of 1.04 worked in 1.05, I haven't bothered yet to open the new exe with ida pro, but I'll do it when I begin researching new things.

Link to comment
2 hours ago, HyperBob said:

If it's possible, maybe you could add a filter option, so we can filter what we want, for exemple the filter AYA_COS_*.g1m could make extraction easier.

At this time I extracted all and use windows filter to do that, but it could make me save some space in my HDD.

 

You could have ordered the files with the type column. This would have made all AYA_COS_*.g1m adjacent, and then just range select them:

 

 

Link to comment

The second KOF character may be "Kula Diamond" (I don't know much about KOF characters).

 

RRPreview:0x1ab03868.epfl:

 

Spoiler

<?xml version="1.0" encoding="utf-8"?>
<EffectParameterLinkDocument Version="0012">
    <FileInfo EffRelativeFilePath="Plugins\CharacterEditor\effect\EFF_snk_diamond_breath.eff" />
    <EffectRoot>
        <EffectContainer Name="Container" Index="0" EffIndex="0">
            <Effect Name="パーティクル" Index="0" EffIndex="0">
                <ContainerParticle Name="コンテナ-00" AgentID="106" Index="0">
                    <RotSpriteParticle Name="steam_0" AgentID="5" Index="0" />
                    <MeshParticle Name="cross" AgentID="4" Index="1" />
                </ContainerParticle>
                <RectParticle Name="steam_GPU_yoko" AgentID="107" Index="1" />
                <RectParticle Name="steam_GPU_front" AgentID="108" Index="2" />
                <RotSpriteParticle Name="particle" AgentID="245" Index="3" />
                <RotSpriteParticle Name="particle_01" AgentID="246" Index="4" />
            </Effect>
        </EffectContainer>
    </EffectRoot>
</EffectParameterLinkDocument>

 

 

Other epfl (0x3f025086.epfl):

 

Spoiler

<?xml version="1.0" encoding="utf-8"?>
<EffectParameterLinkDocument Version="0012">
    <FileInfo EffRelativeFilePath="Plugins\CharacterEditor\effect\EFF_snk_BB_glacier_form.eff" />
    <EffectRoot>
        <EffectContainer Name="Container" Index="0" EffIndex="0">
            <Effect Name="パーティクル" Index="0" EffIndex="0">
                <ContainerParticle Name="コンテナ-00" AgentID="0" Index="0">
                    <RotSpriteParticle Name="smoke" AgentID="0" Index="0" />
                    <ContainerParticle Name="hand_ice" AgentID="31" Index="1">
                        <MeshParticle Name="M_ice_main" AgentID="29" Index="0" />
                        <MeshParticle Name="M_ice_dis_back" AgentID="32" Index="1" />
                        <MeshParticle Name="M_ice_dis_front" AgentID="30" Index="2" />
                        <MeshParticle Name="M_ice_caustics" AgentID="31" Index="3" />
                    </ContainerParticle>
                    <ContainerParticle Name="hand_ice_nolimit" AgentID="52" Index="2">
                        <MeshParticle Name="M_ice_main" AgentID="29" Index="0" />
                        <MeshParticle Name="M_ice_dis_back" AgentID="32" Index="1" />
                        <MeshParticle Name="M_ice_dis_front" AgentID="30" Index="2" />
                        <MeshParticle Name="M_ice_caustics" AgentID="31" Index="3" />
                    </ContainerParticle>
                    <RotSpriteParticle Name="R_dust_start" AgentID="28" Index="3" />
                    <RotSpriteParticle Name="R_smoke_start" AgentID="51" Index="4" />
                </ContainerParticle>
                <RectParticle Name="steam_GPU_yoko" AgentID="107" Index="1" />
                <SpriteParticle Name="particle" AgentID="1" Index="2" />
            </Effect>
        </EffectContainer>
    </EffectRoot>
</EffectParameterLinkDocument>

 

 

 

This one is for her ray spin attack: (0x1ece533e.efpl)

 

Spoiler

<?xml version="1.0" encoding="utf-8"?>
<EffectParameterLinkDocument Version="0012">
    <FileInfo EffRelativeFilePath="Plugins\CharacterEditor\effect\EFF_snk_ice_rayspin_r.eff" />
    <EffectRoot>
        <EffectContainer Name="Container" Index="0" EffIndex="0">
            <Effect Name="パーティクル" Index="0" EffIndex="0">
                <ContainerParticle Name="コンテナ-00" AgentID="0" Index="0">
                    <ContainerParticle Name="ice_rayspin" AgentID="31" Index="0">
                        <ContainerParticle Name="main_ice" AgentID="246" Index="0">
                            <MeshParticle Name="M_ice_main" AgentID="29" Index="0" />
                            <MeshParticle Name="M_ice_dis_front" AgentID="31" Index="1" />
                        </ContainerParticle>
                        <ContainerParticle Name="ice_002" AgentID="40" Index="1">
                            <MeshParticle Name="M_ice_main" AgentID="29" Index="0" />
                            <MeshParticle Name="M_ice_dis_back" AgentID="32" Index="1" />
                            <MeshParticle Name="M_ice_dis_front" AgentID="30" Index="2" />
                            <MeshParticle Name="M_ice_caustics" AgentID="31" Index="3" />
                        </ContainerParticle>
                        <RotSpriteParticle Name="smoke" AgentID="0" Index="2" />
                        <RotSpriteParticle Name="particle" AgentID="245" Index="3" />
                    </ContainerParticle>
                </ContainerParticle>
            </Effect>
        </EffectContainer>
    </EffectRoot>
</EffectParameterLinkDocument>

 

 

A quick search at one attack ended in... "Kula Diamond" (I didn't even know who she was until now xD)

 

Link to comment

And the results of the .efpl file names cracking, which reveal attacks of both Mai and Kula:

 

Spoiler

0xa6c435e0,CE1_EFF_mai_BB_shinobibachi.efpl
0x5ad1923c,CE1_EFF_mai_BB_shinobibachi_tip.efpl
0xc5e2d427,CE1_EFF_mai_BB_shinobibachi_trail.efpl
0xb84fcbac,CE1_EFF_mai_botan.efpl
0xc478051e,CE1_EFF_mai_chidori.efpl
0xaf89f019,CE1_EFF_mai_kacho_bullet_drop.efpl
0xbd37649e,CE1_EFF_mai_kacho_bullet_l.efpl
0x76b2b6d8,CE1_EFF_mai_kacho_bullet_r.efpl
0xb0435132,CE1_EFF_mai_kacho_hit_drop.efpl
0xf4b1725c,CE1_EFF_mai_kagerou.efpl
0x0f274aea,CE1_EFF_mai_musasabi_shock.efpl
0x4aa5d588,CE1_EFF_mai_ryuuenbu_l.efpl
0x7bc754c2,CE1_EFF_mai_ryuuenbu_r.efpl
0x5d00f977,CE1_EFF_mai_ryuuenjin.efpl
0xb625a543,CE1_EFF_snk_BB_glacier_break.efpl
0x3f025086,CE1_EFF_snk_BB_glacier_form.efpl
0x1ab03868,CE1_EFF_snk_diamond_breath.efpl
0x460528f5,CE1_EFF_snk_ice_attack_before.efpl
0x53c0a0bd,CE1_EFF_snk_ice_back_kick.efpl
0xabebef29,CE1_EFF_snk_ice_bullet_hit.efpl
0x45cd7c1a,CE1_EFF_snk_ice_cartwheel.efpl
0xe329b85b,CE1_EFF_snk_ice_clawbites.efpl
0x5e9f3a8e,CE1_EFF_snk_ice_coffin_break.efpl
0xe77be5d1,CE1_EFF_snk_ice_coffin_form.efpl
0xe53dbf37,CE1_EFF_snk_ice_diamond_edge.efpl
0xab65de86,CE1_EFF_snk_ice_frozenarena.efpl
0x255af544,CE1_EFF_snk_ice_guard.efpl
0x6f2af781,CE1_EFF_snk_ice_guard_loop.efpl
0xb9c6840b,CE1_EFF_snk_ice_mass_break.efpl
0x114b240e,CE1_EFF_snk_ice_mass_form.efpl
0x8bc8394d,CE1_EFF_snk_ice_punch.efpl
0xb5b9d4b8,CE1_EFF_snk_ice_rayspin_l.efpl
0x1ece533e,CE1_EFF_snk_ice_rayspin_r.efpl
0xdd72d46a,CE1_EFF_snk_ice_rayspin_sit.efpl
0xe5d4ecc1,CE1_EFF_snk_ice_rayspin_stand_bullet.efpl
0x28d7371a,CE1_EFF_snk_neutral.efpl
0xf5a6723c,CE1_EFF_snk_round_kick.efpl
0x63571b27,CE1_EFF_snk_shoes_appear.efpl
0x2a0ae3f5,FE4_Field_Common_EFF_isl_shoreline_001.efpl
0x97bea7ac,FE4_Field_Common_EFF_test_ice_diffuse.efpl
0xc25eb350,FE4_Field_Common_EFF_test_ice_pixel.efpl
0xcaed1df1,FE4_Field_Common_EFF_test_ice_tex.efpl

 

Link to comment

@vagonumero13 I forgot to mention to you, that after our discussion, i remembered that there were new effects textures in RRPrewiew  with update 1.04a (that i didn't check because i focused with poses) and some of them were named ice, dust, aura etc; so i figured that the 2nd kof character was Kula.

Looking at what you posted they did also her main attacks, so both are almost complete ?

No traces of costumes right?

Link to comment

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

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more information, see our Privacy Policy & Terms of Use