『DOA Online』『DOA2 Ultimate』Costume Mods

CoYoTe

Active Member
So I need you to help me a little with this:
1 Create a skin without any accessories, and with 'Nud' costume.
2 Import the costume you created in step one, as kas00.
3 Load the doax skin using the original DOA2.xbe. Start story mode and try if it works in battle.
4 Load the doax skin using the patched DOA2.xbe. And check if it crashes.

I need you to go through all steps, because one time the game started crushing for me on both patched xbes, but it wasn't because of the patch, the original xbe was crashing too. I created a new skin with a naked girl, and it worked.
of course it works with a nude model,maybe the problem is the file size limit in the xbe i guess :here is a post that can help you with this https://www.freestepdodge.com/threads/doa2-moveset-editing-project.3700/post-417155
 

CoYoTe

Active Member
The patch only fixes the look of the doax models that are already working. It doesn't fix any crashes. And the costumes that didn't crash de game before the patch are still working with the patch. So, you have to try for yourself and see what's working.
Can you send me some screenshots?
Btw I used the converter and ticked export xpr and no dlg boxes,maybe it's the problem I guess?
 

CoYoTe

Active Member
As I understand this situation, you don't believe me that this patch works, but also you are absolutely ignoring my words. And my words are that all this patch does, is making the doax models look right. The screenshot, that was posted by you some time ago, is depicting a skin that is not crashing the emulator, and with the patch it will look as good as in doao. The patch doesn't make the skins crash more or crash less, it just changes the look. So a screenshot of a doax skin in doau is a screenshot of a working skin in the patch.
I believe you that this patch works but if isn't the patch that crashes the game maybe it's the emulator?
 
I believe you that this patch works but if isn't the patch that crashes the game maybe it's the emulator?
The files have a maximum size limit. For xpr files it's 2mb, and for cat it's 768kb(or 750kb?). If your costume has the xpr/cat sizes around these numbers than the game would crash, because the end of the file will be overlapped by another file. You can select the girl with the smallest cat, which is leifang with a ponytail, and give her costumes that don't have many things on them, like leotards or something, and check if the exported cat file is smaller than 750 kb.

Also the xpr is usually doesn't exceed the maximum size, and the cat is the trouble. At the end of the cat file is situated the 'joints' block. You can the game stop from crashing by disabling the 'joints' block in a costume. For that you open a cat file in a hex editor and go to the adress 0000010h and make first 4 bytes zero, like that: 00000010h: 00 00 00 00 ?? ?? ...

But this is irrelevant, I think soon I'll fix the file limits.
 
Last edited:

CoYoTe

Active Member
The files have a maximum size limit. For cat files it's 2mb, and for cat it's 768kb(or 750kb?). If your costume has the xpr/cat sizes around these numbers than the game would crash, because the end of the file will be overlapped by another file. You can select the girl with the smallest cat, which is leifang with a ponytail, and give her costumes that don't have many things on them, like leotards or something, and check if the exported cat file is smaller than 750 kb.

Also the xpr is usually doesn't exceed the maximum size, and the cat is the trouble. At the end of the cat file is situated the 'joints' block. You can the game stop from crashing by disabling the 'joints' block in a costume. For that you open a cat file in a hex editor and go to the adress 0000010h and make first 4 bytes zero, like that: 00000010h: 00 00 00 00 ?? ?? ...

But this is irrelevant, I think soon I'll fix the file limits.
For example if I want to use kasumi with a doax costume the cat file must be under 750kb?
 
Last edited:
Hey guys. Here comes the patch for the file size limits. I made the limits for xpr- 2.3mb and for cat 960kb. With this I expanded the memory with 2mb = (300kb+200kb)*4
The game after that started to crash in a different way. Seems like the emulator doesn't like this kind of tricks, I'm tired of this shit. So I created a python script that will let anyone change the file size limits. Never go bellow the default values. Try maybe patching only the size for the cat file. Don't forget to backup.
Python:
#-------------------------------------------------------------------------------
# Name:        doa2u en/jp maximum limits extender of xpr/bin/cat/mot
#-------------------------------------------------------------------------------
#defaults: xpr=0x200000(~2mb), bin=0x18000(~95kb), cat=0xc0000(~750kb), mot=0x168000(~1.5mb)
#set sizes in bytes; (1kbb = 1024bytes)
xpr_size=0x200000
cat_size=0xc0000

bin_size=0x18000
mot_size=0x168000

doa2_xbe_path="C:\doa_folder\doa2.xbe"

test_only = False# will read and print the values, without patching

##------------------------------------------------------------------------------

xpr_offsets=[0xC8524,0xC855A,0xC8598,0xC85AE]
bin_offsets=[0xC8530,0xC8566,0xC85A2,0xC85C4]
cat_offsets=[0xC853C,0xC8572,0xC85B8,0xC85DF]
sum_offsets=[0xC854e,0xC8589,0xC858e,0xC8517]#mots are calculated in here

import os,struct
def main():
    with open(doa2_xbe_path, 'r+b') as f:
        for i in range(4):
            patch(xpr_offsets[i], xpr_size, f)
            patch(bin_offsets[i], bin_size, f)
            patch(cat_offsets[i], cat_size, f)
            patch(sum_offsets[i], (i+1)*(xpr_size+bin_size+cat_size+mot_size), f)

def patch(poffset, psize, pf):
    pf.seek(poffset)
    oldval = struct.unpack("<L", pf.read(4))[0]
    print(hex(poffset),'\t0x%6x\t'%oldval, hex(psize), '!!!!!!' if oldval!=psize else '')
    if not test_only:
        pf.seek(poffset)
        pf.write(struct.pack('<L', psize))

if __name__ == '__main__':
    main()
If you find some good values, when the costumes work and the game doesn't crash, tell me and I'll add these values to the xbe patch. Go hacking...
 

CoYoTe

Active Member
Hey guys. Here comes the patch for the file size limits. I made the limits for xpr- 2.3mb and for cat 960kb. With this I expanded the memory with 2mb = (300kb+200kb)*4
The game after that started to crash in a different way. Seems like the emulator doesn't like this kind of tricks, I'm tired of this shit. So I created a python script that will let anyone change the file size limits. Never go bellow the default values. Try maybe patching only the size for the cat file. Don't forget to backup.
Python:
#-------------------------------------------------------------------------------
# Name:        doa2u en/jp maximum limits extender of xpr/bin/cat/mot
#-------------------------------------------------------------------------------
#defaults: xpr=0x200000(~2mb), bin=0x18000(~95kb), cat=0xc0000(~750kb), mot=0x168000(~1.5mb)
#set sizes in bytes; (1kbb = 1024bytes)
xpr_size=0x200000
cat_size=0xc0000

bin_size=0x18000
mot_size=0x168000

doa2_xbe_path="C:\doa_folder\doa2.xbe"

test_only = False# will read and print the values, without patching

##------------------------------------------------------------------------------

xpr_offsets=[0xC8524,0xC855A,0xC8598,0xC85AE]
bin_offsets=[0xC8530,0xC8566,0xC85A2,0xC85C4]
cat_offsets=[0xC853C,0xC8572,0xC85B8,0xC85DF]
sum_offsets=[0xC854e,0xC8589,0xC858e,0xC8517]#mots are calculated in here

import os,struct
def main():
    with open(doa2_xbe_path, 'r+b') as f:
        for i in range(4):
            patch(xpr_offsets[i], xpr_size, f)
            patch(bin_offsets[i], bin_size, f)
            patch(cat_offsets[i], cat_size, f)
            patch(sum_offsets[i], (i+1)*(xpr_size+bin_size+cat_size+mot_size), f)

def patch(poffset, psize, pf):
    pf.seek(poffset)
    oldval = struct.unpack("<L", pf.read(4))[0]
    print(hex(poffset),'\t0x%6x\t'%oldval, hex(psize), '!!!!!!' if oldval!=psize else '')
    if not test_only:
        pf.seek(poffset)
        pf.write(struct.pack('<L', psize))

if __name__ == '__main__':
    main()
If you find some good values, when the costumes work and the game doesn't crash, tell me and I'll add these values to the xbe patch. Go hacking...
Based B0ny
Guess i will create a python script for the first time.
 
Guess i will create a python script for the first time.
A quick guide:
1 Install python (https://www.python.org/downloads/)
2 Save the text of the script to a file ("doau_sizes.py")
4 Go to the location of your patched doa2.xbe, and copy the path from the address bar of the folder.
3 In the text of the script, paste the copied path to the doa2_xbe_path string (doa2_xbe_path="D:\game\doa2ulitmate\doa2.xbe")
4 Build a skin with the doaXskins_for_doao_converter, right click on the cat file of the created skin, and choose 'Properties'
5 Look for the 'Size' line: Size 784 KB (802 816 bytes)
6 In the text of the script write for the size of the cat file, the Size in bytes: (cat_size=802816) (write the number without any spaces)
7 Save the script and run it. If anything is done right, the script should patch the xbe with the new size.
8 Import the created skin to the datahdd2.afs, run the game and see what happens.
9 If you want to import another skin that has a bigger cat file, then you need to patch the xbe for the new size again.
10 The idea is to find the biggest size for the 'cat_size', that will not crash the game. If you find the size, after which the game starts crashing, than tell me this number, that would be a great finding.

------
Fixed an error in this guide: (step 5/6) the size of the cat file is not the 'Size on disk', it's just size.
 
Last edited:

CoYoTe

Active Member
A quick guide:
1 Install python (https://www.python.org/downloads/)
2 Save the text of the script to a file ("doau_sizes.py")
4 Go to the location of your patched doa2.xbe, and copy the path from the address bar of the folder.
3 In the text of the script, paste the copied path to the doa2_xbe_path string (doa2_xbe_path="D:\game\doa2ulitmate\doa2.xbe")
4 Build a skin with the doaXskins_for_doao_converter, right click on the cat file of the created skin, and choose 'Properties'
5 Look for the 'Size on disk' line: Size on disk 784 KB (802 816 bytes)
6 In the text of the script write for the size of the cat file, the size on disc in bytes: (cat_size=802816) (write the number without any spaces)
7 Save the script and run it. If anything is done right, the script should patch the xbe with the new size.
8 Import the created skin to the datahdd2.afs, run the game and see what happens.
9 If you want to import another skin that has a bigger cat file, then you need to patch the xbe for the new size again.
10 The idea is to find the biggest size for the 'cat_size', that will not crash the game. If you find the size, after which the game starts crashing, than tell me this number, that would be a great finding.
B0ny,you are a God
You saved my life(especially the lives of this forum)man
 

CoYoTe

Active Member
b0ny i tried your script and it works perfectly,however there's a black screen
btw i tried another option insetad of patching the xbe file over and over again:filesizer
i reduced the size of the cat file and it worked(sort of)
cxbx.exe Screenshot 2021.06.19 - 02.13.31.67.png

but it crashes at the second stage of kasumi's story mode
 

Attachments

  • FileSize.rar
    8.1 KB · Views: 119
There are 3 hidden levels in doa2u. Simply press X instead of A on these specific levels:
- The Great Opera: The Opera House will not be on fire.
- The White Storm: There will be a snow storm.
- The Aerial Gardens: You will fight at night

But I want to add more levels:
I'd like some suggestions on what levels to add to the 'X' button select. You can't access in the game 3 variations of the miyama stage, some test stages and some cut scene stages, remind me if i forgot something., but only 18 more stages, in total can be added.

So, suggestions....
 

CoYoTe

Active Member
There are 3 hidden levels in doa2u. Simply press X instead of A on these specific levels:
- The Great Opera: The Opera House will not be on fire.
- The White Storm: There will be a snow storm.
- The Aerial Gardens: You will fight at night

But I want to add more levels:
I'd like some suggestions on what levels to add to the 'X' button select. You can't access in the game 3 variations of the miyama stage, some test stages and some cut scene stages, remind me if i forgot something., but only 18 more stages, in total can be added.

So, suggestions....
UsagiZ has created 2 more staged:Leon's desert scene and bass's highway scene
 

DoA2U EnJp xbe patch v3.


Fixes in this patch:
- Added possibility to select hidden stages by using the 'X' button instead of 'A' button, for all stages.
- Added a fix to skip the federal warning(copied from the xbe that Coyote gave me)
- Fixed an annoying bug(?). When you run the game in emulator, the game starts to copy datadvd/datahdd/datahdd2/voice.afs to the folder 'partition5'. Every time you start the emulation, the game will delete all the files inside the 'partition5' folder and will start to copy them again.
- The doax->doau project turned out to be a disaster. For now I wont make any patches for it. You can use the python script to rise the file size limit for the cat format, just take a look at the tutorial. And doax costumes won't work in story mode, many cut-scenes will crash on doax costumes.
Doax script - https://www.freestepdodge.com/threads/『doa-online』『doa2-ultimate』costume-mods.8809/post-417603
Doax tutorial - https://www.freestepdodge.com/threads/『doa-online』『doa2-ultimate』costume-mods.8809/post-417610
 

dominater01

New Member

DoA2U EnJp xbe patch v3.


Fixes in this patch:
- Added possibility to select hidden stages by using the 'X' button instead of 'A' button, for all stages.
- Added a fix to skip the federal warning(copied from the xbe that Coyote gave me)
- Fixed an annoying bug(?). When you run the game in emulator, the game starts to copy datadvd/datahdd/datahdd2/voice.afs to the folder 'partition5'. Every time you start the emulation, the game will delete all the files inside the 'partition5' folder and will start to copy them again.
- The doax->doau project turned out to be a disaster. For now I wont make any patches for it. You can use the python script to rise the file size limit for the cat format, just take a look at the tutorial. And doax costumes won't work in story mode, many cut-scenes will crash on doax costumes.
Doax script - https://www.freestepdodge.com/threads/『doa-online』『doa2-ultimate』costume-mods.8809/post-417603
Doax tutorial - https://www.freestepdodge.com/threads/『doa-online』『doa2-ultimate』costume-mods.8809/post-417610
hey man this is an amazing patch i was looking for this but now im wondering if it isnt too much trouble can you do a pal version for me?
 
Last edited:
hey man this is an amazing patch i was looking for this but now im wondering if it isnt too much trouble can you do a pal version for me?
I'll have a look into it.
Here is pal patch 2 with a fix for installation to 'partition5'(no hidden stages patch, no python script to extend file size limits for better doax costumes support).

Why wouldn't you use the ntsc version? Is it the save file, or is it the game language?
 

dominater01

New Member
I'll have a look into it.
Here is pal patch 2 with a fix for installation to 'partition5'(no hidden stages patch, no python script to extend file size limits for better doax costumes support).

Why wouldn't you use the ntsc version? Is it the save file, or is it the game language?
well i cant use game saves so i noticed the pal version has a trainer to unlock all the costumes etc so i switch to pal

thanks for the xbe its working great, i was also wondering tho is there a skip warning xbe or hex edit tut for doa3 or xbv? i'd love to skip all those warning screens as its annoying to sit through everytime i test skins etc
 
well i cant use game saves so i noticed the pal version has a trainer to unlock all the costumes etc so i switch to pal

thanks for the xbe its working great, i was also wondering tho is there a skip warning xbe or hex edit tut for doa3 or xbv? i'd love to skip all those warning screens as its annoying to sit through everytime i test skins etc
Can you share the trainer? The pal version of doa3 doesn't give me the fbi warning, i also use a patch to skip all the video.
 

dominater01

New Member
Can you share the trainer? The pal version of doa3 doesn't give me the fbi warning, i also use a patch to skip all the video.
here you go

well for doa3 i have ntsc which is what my skin pack is based on atm but maybe later i'll switch to pal as i heard that one is better

btw how did you know where the warning screen is? is there a tool or something that helps find what the game is loading or something i'd love to be able to do this myself instead of requesting all the time just the warning screen, i know you use a hex editor but its all just numbers to me nothing really stands out so its hard to learn
 

Attachments

  • Dead Or Alive Ultimate (PAL) - 22.zip
    1.4 KB · Views: 120
ALL DOA6 DOA5 DOA4 DOA3 DOA2U DOAD
Top