DoA3 modding

Interestingly, the Korean version of DOA3 uses the 54430001 title ID like NTSC-M and NTSC-J. However, it seems to have the balance fixes/changes/updates as 3.2 (PAL).
Is it North Korean version? Cause I've never heard of it :) Wikipedia knows only about NA, JP and EU versions...

Found in doax code that DOA:XBV loads the DOA 3 save file at startup and reads data from it.
 
Last edited:

Matt Ponton

Founder
Staff member
Administrator
Standard Donor
Sadly, when I load cxbx through command line it doesn't seem to recognize any of my input or video options.
 
Sadly, when I load cxbx through command line it doesn't seem to recognize any of my input or video options.
You can just launch normally then attach to cxbx-ldr. If you need to attach at early stages, then you can put an incompatibly save file to the save folder, and the game will stop to warn you that can't load it. It's right after the fbi warning, and right before the function where the costumes are loading.
 
Here are two mods. First one is pure hex editing, it will swap the Random slot with Tengu. And the second one is an extention of the first mod, and is meant to swap Tengu with a modded charaacter. Open Dead or Alive 3.1 (NTSC-JP) 'Default.xbe' in a hex editor, go to the address and edit the bytes.

MAKE TENGU PLAYABLE:
0x290AAA: FF -> 11 //Swap the Random slot with Tengu. You may want first to use the patch that unlocks Ein and the Random slot and also adds them to the Story Mode. You also can try to swap with 12_Genra or 17_Chen, they are not playable, but you can use them in Watch Mode or in Sparring Mode as addversary. (To make Chen visible open 'loadfile.afs' and swap 'chi.cat' with the fixed one from this post https://www.freestepdodge.com/threads/doa3-modding.8912/post-417921)

Now you can play Tengu(his button input controls are broken and can crash the game, though in watch mode he seems ok). Tengu uses Kasumi's first costume. To add more skins let's unlock the ability to load custom skins from the save folder:
0x076B22: 0C -> CC //Unlock Tengu to load costumes from the save folder.
0x228BA4: 20 20 20 -> 74 6E 67 //Fix the name for the Tengu costumes from ' ' to 'tng'. With this and the costumes unlocked, you can load costmes named like 'tng04.xpr', 'tng04.cat'.

And now the SECOND MOD. The big idea is to swap Tengu with a character that has the moveset modded using UsagiZ tutorials, like a normal doa3 character or Chen/Genra. By swapping Tengu with another character, I mean:
- in the first place to open the 'loadfile.afs' and swap 'tengu.bin' and 'tengu.mot'(and maybe also 'm_tengu.mot' and 'c_tengu.mot') with edited files from another character.
- The second step would be to add costumes for the new character to the save folder, named like 'tng05.xpr' and 'tng05.cat'.
- And the third step would be to swap the skeleton for Tengu with the skeleton for your character, for this you should go in 'Default.xbe' to address 0x2cfdc8, and insert the skeleton data from the skeleton file for your character, from the 'doa3_original_skeletons.zip' attached to this post(don't use here doa3 skeletons from the old archive with a '.doa3' extention, cause in that archive they are converted to the doax-doa2u format of skeletons).

Python:
#-------------------------------------------------------------------------------
# Name: python script, to dump Dead or Alive 3.1(NTSC-Japan) skeletons
#-------------------------------------------------------------------------------
xbepath=r"C:\doa3.2\Default.xbe"
outpath=r"C:\doa3.2\doa3_skeletons"

doa3_characters_lst="""
00 Zac   ZACK
01 Tin   TINA ARMSTRONG
02 Jan   JANN LEE
03 Kte   EIN
04 Ryu   RYU HAYABUSA
05 Kas   KASUMI
06 Gen   GEN FU
07 Hik   HELENA
08 Bay   LEON
09 Bas   BASS ARMSTRONG
0a Hak - HAKKYOKU-KEN (becomes Kokoro)
0b Nin   HAYATE
0c Lei   LEIFANG
0d Aya   AYANE
0e Kor   HITOMI
0f One - K-1 (Lisa)
10 Pro - PRO WRESTLER (becomes Alpha-152)
11 Tng + TENGU
12 BNi + GENRA
13 Sui   BRAD WONG
14 Gok   CHRISTIE
15 Tek - TEKONDO
16 Dem - DEMI HUMAN
17 Chi + CHIN
18 Sam   BAYMAN"""

skel_names = [line.split(' ')[1] for line in doa3_characters_lst.splitlines()[1:]]
doa32_offsets = 0x2DC578
memoffset = doa32_offsets - 0x2d0518

def main():
    with open(xbepath,'rb') as f:
        f.seek(doa32_offsets - memoffset)
        skel_offsets = [int.from_bytes(f.read(4), "little") for i in range(len(skel_names))]
        for i in range(len(skel_names)):
            #find the skeleton size
            skel_end = skel_offsets[i] + 0x10
            while skel_end != doa32_offsets and skel_end not in skel_offsets:
                skel_end += 0x10
            skel_size = skel_end - skel_offsets[i]
            print(skel_names[i], hex(skel_offsets[i] - memoffset), hex(skel_size))

            with open(outpath+'/'+skel_names[i]+'_doa3.skelet', 'wb') as fs:
                f.seek(skel_offsets[i] - memoffset)
                fs.write(f.read(skel_size))

if __name__ == '__main__':
    main()
 

Attachments

  • doa3_original_skeletons.zip
    7.5 KB · Views: 135
Last edited:
Nice to see progress on this front. Also appreciate the splash screen mod.

Wouldn't it be easier to make Genra playable over a proper Tengu? Although if people could actually import models into the game that'd be awesome.
 
Nice to see progress on this front. Also appreciate the splash screen mod.

Wouldn't it be easier to make Genra playable over a proper Tengu? Although if people could actually import models into the game that'd be awesome.
Maybe yes. But directly editing a character, that is already used in the game in some way, could be risky. Like, at some point it could be impossibly to make further changes without breaking the game play. I bet my money on Chen, his involvement in the game is minimal. Tengu in the other hand needs more love, looks like he is fully functional as an opponent(he's performance can be seen in the Watch Mode(I checked again, he is not fully playable, but he's cool and fresh anyway)), I thing he should be added(to doa3++?) to more modes as a non playable character, with a dedcated skin, or maybe Genra's second skin.
 
Last edited:
I support that, Tengu's always been my favorite. Is there a particular reason no one's been able to import models though? I've seen some impressive texture mods but no model swaps in all these years.
 

Matt Ponton

Founder
Staff member
Administrator
Standard Donor
If we're able to figure out how to add character slots to the character select, the idea was always to bring in newer characters (Kokoro, Lisa, etc.) into 3++. Not a small undertaking, but the only reason we haven't done so is due to lack of ability to add a new character without (1) having a place for them to be selected on the select screen, and (2) file size limit/restrictions.
 
Patch for DoA 3.1 ntsc-japan Default.xbe

---------------This will bring the hidden test and cinematic costumes to the Character Selection screen.(ok, cinematic costumes are not working right now, you can use only the test costumes)
Additional requirements:
-Remove the save file and apply the patch that unlocks all costumes in a new game.
-Swap in loadfile.afs kas10.cat and kor07.cat with their fixed(by Gultigargar) versions from the attached archive.
-Later, you'll may want to swap Hitomi's test costumes(kor00,kor01,kor03,kor06) with modded costumes of your liking.

Unlock Hitomi Diver(to COS.9) and 4 Test costumes (COS.5=kor00, COS.6=kor01, COS.7=kor03, COS.8=kor06)
0x2906BA: 04 -> 09 add 5 more costume slots for Hitomi (Set to 08 to hide Hitomi Diver because Hitomi Diver may crash your game)
0x2117D0: 00 00 00 00 -> 01 01 01 01 set the costume count per slot for 4 new costume slots to 1 instead of 0
0x290692: 00 07 00 01 02 03 04 00 00 00 -> 00 01 03 06 07 00 01 02 03 04 Move Brad Wong's costumes to make room, and add Hitomi's costumes.
0x290714: F4 -> F7 fix Brad Wong's pointer to the new place

Unlock Kasumi Alpha costume. (unusable right now because selecting this costume will crash the game after you choose a stage, maybe this will be fixed later)
0x2906B1: 05 -> 06 add a new costume slot for Kasumi
0x290653: 00 -> 0A add Kasumi Alpha costume to the new slot

-----------------
Strange thing, at some point, when I was putting all of this together, Hitomi's diver costume was working, and then it wasn't.
 

Attachments

  • fixed_cats.zip
    249.3 KB · Views: 161
Last edited:

Matt Ponton

Founder
Staff member
Administrator
Standard Donor
0x2906BA: 04 -> 09 add 5 more costume slots for Hitomi (Set to 08 to hide Hitomi Diver because Hitomi Diver may crash your game)
0x2117D0: 00 00 00 00 -> 01 01 01 01 set the costume count per slot for 4 new costume slots to 1 instead of 0

Is there any way to use this info to trick the game into thinking the costumes in the TDATA folder are official, to include them into Random filter, and to potentially set them to have 4 selectable slots (A, X, Y, and LT+A) like Leifang's cos 1?

I see that if we set the values from 0x002906AC -> 0x002906BA to 09 it will ignore all of the TDATA costumes.
 
if we set the values from 0x002906AC -> 0x002906BA to 09 it will ignore all of the TDATA costumes.
The game is cutting all the costumes above 9. You need the hex patch to use all 7 costumes per character from TDATA.

Is there any way to use this info to trick the game into thinking the costumes in the TDATA folder are official, to include them into Random filter, and to
potentially set them to have 4 selectable slots (A, X, Y, and LT+A) like Leifang's cos 1?
No. I don't think this is possible.

I kind of saw a possibility to load from TDATA, 14 costumes instead of 7. But it requires rewriting some shitty, Japanese style codded functions, 14 is not much more than 7, total number of costumes is still 128, and without proper testing this could turn to another buggy shit. So maybe another time.

Also by reversing all the functions related to a certain subject, like everything costumes related, could lead to really great mods. But again, this game is old, and we have doa 5 and 6 with tons of content. I don't think doa3 is worth a big effort, small hex fixes is all it deserves.
 

kasumichansuki

New Member
Sorry to post this here,but I didn´t know where to post it.

I download some costume mods from the downloader app where you have a lot of things you can download it.

I didn´t like them at all.

Does someone knows which folders I need to delete in the udata folder to delete costume mods?
 

Gultigargar

Well-Known Member
DOA3 costumes are stored in the TDATA folder, not UDATA. For the Japanese version of DOA3 it would be located at "Partition1\TDATA\54430001"
Each costume consists of two files, a .cat file and a .xpr file. Make sure to delete both.
 

grap3fruitman

Well-Known Member
Standard Donor
If we're able to figure out how to add character slots to the character select, the idea was always to bring in newer characters (Kokoro, Lisa, etc.) into 3++. Not a small undertaking, but the only reason we haven't done so is due to lack of ability to add a new character without (1) having a place for them to be selected on the select screen, and (2) file size limit/restrictions.
Am I reading this right? Are there are slots for seven more characters' win quotes after Bayman? There might be space already.

gCYAc1d.png
 
ALL DOA6 DOA5 DOA4 DOA3 DOA2U DOAD
Top