[DOA2++] Moveset Editing Project

usagiZ

Well-Known Member
@WAZAAAAA Thanks for the info~ Hmm, so it was an issue in vanilla 2U then - or maybe only DOAO? It's a relief to know I didn't somehow cause that issue lol. Still, it's pretty weird - I never noticed until I started adding a bunch of garbage to the character.bin's - so I assumed it was bc of that.
I knew 214T had long recovery, but never knew it was actually punishable :/ That was probably fixed in later games, I'm guessing?
 
Last edited:

WAZAAAAA

Well-Known Member
@WAZAAAAA Thanks for the info~ Hmm, so it was an issue in vanilla 2U then - or maybe only DOAO? It's a relief to know I didn't somehow cause that issue lol. Still, it's pretty weird - I never noticed until I started adding a bunch of garbage to the character.bin's - so I assumed it was bc of that.
I knew 214T had long recovery, but never knew it was actually punishable :/ That was probably fixed in later games, I'm guessing?
DOA2U issue (consequently also DOAO).
They fixed it in DOA3 by making it an hard knockdown for the opponent who can't quick recover from it.
 
Last edited:

Gultigargar

Well-Known Member
It's also present in DOA3 with Brad's :4::F+P: I believe. (Or was it :2::F+P:?) I guess they forgot to check how the throws play out if you tech them.
 
Last edited:

usagiZ

Well-Known Member
DOA2U issue (consequently also DOAO).
They fixed it in DOA3 by making it an hard knockdown for the opponent who can't quick recover from it.
Ah ok, that's an easy fix then. There's a flag that allows teching in the anim-def of an animation, just have to change the values.

The flag that allows teching is also the only way to allow the opponent to be ground thrown/down attacked, which seems like a bad way to code the ground state. There might be some other way, but I haven't found it yet.

"1F 00 01 00" allows teching/can be ground thrown/can be down attacked
 
Last edited:

usagiZ

Well-Known Member
For anyone looking to find unused animations in the character.mot files, here's how to do it:

----------------Mot Viewing Tutorial------------------
Before we start, you'll need a few things:

Python (3.3.5 or newer, the newest version should work) - to run the pyserver

HxD - hex editor with RAM editing feature (we'll be using that)

Tutorial Bundle - has the files we need, also has doa4 mot files converted to work with DOAO
To begin, we need to extract the Tutorial Bundle.
(The README.txt in this directory has the tutorial inside, as well.)

Open the doao_pyserver folder.
--You should see 4 files:

blablabla.txt
blah.txt
doao_pyserver.py
qLoaderC3.exe
--------------------------------------------

blablabla.txt is a readme written by the coder of the pyserver (NOT ME!)
I left that in here because it contains some instructions, but I'll write them here too.
blah.txt is a blank file - you can ignore it

doao_pyserver.py is the animation viewing server, written in python -- I didn't make this.
You'll need the latest version of python to be able to use it.

qLoaderC3.exe is a quick loader for DOAO - put this file in (DOAO install folder)/FINAL
The same directory that "client3.exe" is located.
FIRST start/open doao_pyserver.py
--This'll open up two windows, A command prompt-looking window:
k4JgT9R.png
and a window with tons of buttons:
YRpvtaw.png

THEN start qloaderC3.exe
--This should open DOAO into the "please select a channel" window with confirm/cancel options
lIZq5LZ.png

select confirm -
--It should say NOW LOADING... with a small "OK"
kFyC3nN.png

If it doesn't say OK, restart and make sure to start the pyserver before starting the qloader

There'll be an avatar and a window saying "please choose the characters"
double click on the thing with kasumi OR click confirm at the bottom of the window - either's fine.
7ZRuZbH.png

Now you should see Ayane with the wetsuit costume in a completely black stage if you followed each step.
1LCJF7X.png

Go to the window with buttons that opened up when you started the pyserver.
YRpvtaw.png

You can select any character you want at this point.
Click "apply" to see any changes to character or stage.
I used Bass for the tutorial.

You can click a- or a+ (or press scroll lock/pause break) to scroll through all of the characters' in-game moves.
You can also use this to see hit-reactions, which start at 1024
Some characters have cutscene animation stuff at around 900


^ This animation viewer only shows their in-game moves, but we want to see ALL the animations in the file, including unused animations.
To do that, we'll need to use HxD.

For now, type 00 into the space next to "animation1:" and hit enter.
7YZIPif.png
The character should now be doing their fight stance on endless loop in the game window, and we're ready to move on to the next part.
With DOAO and the pyserver still open, Open HxD.

Click the folder icon and open the character.bin of the character you chose.
iSZwjdj.png
With the character.bin open, hit ctrl+G for the GOTO command, type in 54 and click ok.
eJGiggs.png

Hold shift and press right arrow 4 times. These 4 bytes are a pointer to the animations coding table
tsavhfb.png
Do the GOTO command again (ctrl+G) and enter these 4 bytes, but this time backwards-
51b5rHb.png
If it said AA BB CC DD
You type DD CC BB AA

Click OK.
--------
We need to do that one more time to get to the Fight Stance animation, so-

Hold shift and press right arrow 4 times. These 4 bytes are a pointer to the fight stance.
v9DQJOG.png

GOTO (ctrl+G) and enter these 4 bytes backwards

(If it said AA BB CC DD)
(You type DD CC BB AA)

Click OK
---------
Now we're at the fight stance animation coding.
6xaWbXH.png

(image is from later part of tutorial, but the highlighted bit should be exactly the same)
The stance coding is 0xE bytes.

We're going to highlight a big chunk of data, so hold shift and hit down arrow a bunch, like 16 times
-doesn't need to be exactly 16, just highlight a bunch going down.
Ov46s5d.png

Ctrl+C to copy the data we just highlighted.
----------------------------------------------------

With the highlighted data in our clipboard,
Click the grey chip next to the save icon (or hit Shift+Ctrl+R) - This is the RAM editor
kJDzfqQ.png

It should open a window and give you a list of open programs.

We're looking for "client3.exe" with a blue D symbol - this is DOA Online.
SNY54cn.png

(the image shows "client3m.exe" because this is my backup copy of the program)
(yours should say "client3.exe")

once you find "client3.exe" select it and hit ok to open it in the RAM editor.

once that's opened, hit ctrl+f to use the find command. A small window will open with "Search for:" and "datatype:" etc.
Change datatype to "Hex-values" and set "search direction" to "Forward"
nmsVQ3Y.png

In "Search for:" ctrl+v to paste the data we highlighted earlier and hit OK.

It should find the same data, but this time the data is in the game's RAM.
----------------------------------------------------

At the start of the highlighted section, it should read "00 00 00 00 01 00 02 00 0A 00 07 00 FF FF"
This is the fight stance coding. It's the same for all characters, as far as I know.
6xaWbXH.png

The third and fourth bytes of that coding are for animation references.
"00 00 [00 00] 01 00 02 00 0A 00 07 00 FF FF"
RxZFI9Q.png

The fight stance is always 00 00.

Change those two bytes to 01 00 so it reads:
"00 00 [01 00] 01 00 02 00 0A 00 07 00 FF FF"
OZzmMrv.png

The byte you changed should be highlighted in red now, which means the program notices a change, but you haven't saved it.
The save icon should now be blue instead of greyed-out.
EdAltil.png

Make sure that was the only change you made, then Click the save icon or hit ctrl+S.

A Warning will pop up and tell you that changes cannot be undone, and ask if you want to save anyway.
xDtYdt4.png

Click Yes.
-----------------------------------------------------
Back at the game window the character should now be doing their crouching idle animation on endless loop instead of their stance.


============================================================

If you got to this point, congrats, that's basically it. lol

That's how to view all the animations, even the hidden ones, just keep increasing the value and saving to see the change in game.

Keep in mind, it's all in hex, so once you get to [09 00] the next animation is [0A 00] and NOT [10 00]

00-09 then 0A-0F then 10-19 then 1A-1F then 20-29 then 2A-2F -- that's the pattern.

Once you get to [FF 00] the next animation is [00 01] and the left byte starts again at 00-09 until [FF 01], then it becomes [00 02].
Keep changing the value, saving, then checking in the game window.


generally, 28 00 is the DOA1 match start/entrance animation
around 30 00 is usually basic attacks like P, 3P, 2P, etc.
around 90 01 is usually where the holds/throws are

Try out 22 01 and 23 01. These are test animations that are in every character's mot file

Good Luck finding beta animations~
bsyAZKb.gif
Clicking "Give spectators" takes you to training mode. This is basically "Exit spectator mode"
Some character files are missing, like young tina, and some other cutscene characters
If you have DOA2U, you can grab their files from there and put them in the "bin" folder to get them to work again
There should be a working ytina.bin in the "misc" folder

Some stages are missing, too - so that will crash the game if you try to load them.

In spectator mode, when you view an animation, the character stays in the same spot, even if the animation has x-axis movement.

To view DOA4's animations, backup your character.mot, then replace it with the character.mot from the "converted_doa4_mots" folder.
Then follow the instructions above as normal.

The "animation1:" field in the button window uses decimal, not hex

There's going to be large stretches where there aren't any animations when you increse the animation value
--in the "00 00 [00 00] 01 00 02 00 0A 00 07 00 FF FF" portion.
That's just how the mots were organized. Similar moves were loosely grouped in similar locations,
--and new moves were just added to any empty space as the development of the game progressed, I assume.
 
Last edited:

WAZAAAAA

Well-Known Member
Thanks for the guide and for backing up the MOT + pyserver tools. Those dumb ruski fucks over the DOAO forum kept uploading their good shit on goddamn "rghost.ru", a horrible file host which by now must have deleted every single fucking file from that forum for inactivity...
 
Last edited:

grap3fruitman

Well-Known Member
Standard Donor
This is amazing and deserves its own thread. Thank you for sharing. I hope I can get off my ass and go through some of these when I'm feeling better.
 

usagiZ

Well-Known Member
Do you have unused animations for Helena or other characters ? I'm curious to see them. Always loved those kind of stuff.
*whispering* Here's a few from DOA4 Helena:

qBpaFB2.gif

This looks like it maybe should go after BT PP
5GCZrUT.gif

I think this is an unused ender for PP
fOqrqEB.gif

This looks like a variation of "Atsuda" from DOA5LR, but as a string ender. Probably something like PP2P would be the input.
PFmZkPi.gif

An unused launcher. Looks like it might have two hitboxes, but probably only has the knee hitbox.
Nm1KvUB.gif

Looks like a wind up version of her BT K. This kick was also in her DOA2 data.
She didn't have an F+K in DOA2, so I'm guessing this might have been a contender.
PrzbRak.gif

Probably my favorite find. This unused charge attack looks pretty cool.
There was a huge section where nothing was happening, but I kept going and eventually started seeing some really weird animations:

KVwKdwm.gif

Helena...are you ok?
"Helena, will DOA6 happen any time soon?"
NtDrWzN.gif

That was probably a little mean lol
*
*
*
Anyway, that's all for now~
 
Last edited:

KwonJigglypuff

Well-Known Member
Amazing, thank you really! I would take the third one anytime, it would look cool after PP.
The charging move is interesting but it would certainly fit another character more.
The first one is interesting and could work as a sabaki. But not necessary.
 

usagiZ

Well-Known Member
A Quick Update:

I found where stage values are in the hardcoding - now we can have stages like The Miyama in the randomizer for time attack.
I'm still looking for level select, though. The goal is to enable The Miyama (and maybe other stages) for stage select during versus/training/other modes because it has its own unused stage select icon in the files.

During testing, I tried out stages that had the least errors, making them good candidates for actual stages:

jZ2eDcS.gif

Looks good, but missing collisions and the skybox doesn't cover everything, leaving visible holes in the geometry from too many angles.
I might be able to stretch the skybox down to cover the gaps in the geometry.
hFpBYSX.gif

Also looks pretty nice. The truck is missing from the scene when loaded as a level. Missing collisions on walls, can walk out of bounds, more viable than Leon's Desert.
Could be interesting as a stage with more invisible walls than The Island or something.
The scale of everything makes the characters look really small in comparison.
XcJUHOb.gif

The Miyama and all variations work as they should -- however, something in the game randomizes the miyama stages even when you put the value of a specific one. This wouldn't be a problem, but the randomizer includes a stage that is completely blank, so adding the miyama to the stage randomizer makes it a possibility that you'll end up in a blank stage.
The rest of the stages are small cutscene levels with no collision+improper sky boxes -- so basically unusable. If I learn how to edit collisions, I might be able to fix Leon's Desert and Bass' Truck Scene to be complete stages.

I'm not sure what's causing the randomizer issue with The Miyama, but I'll keep looking into it, of course.
vPxSHGm.png
YDov0Pe.png
 
Last edited:

WAZAAAAA

Well-Known Member
Can you mod backdashes in a way that getting hit while doing one (+ if holding Back) will actually block the hit? Or at least deal Normal Hit instead of Counter Hit?
 
Last edited:

usagiZ

Well-Known Member
Can you mod backdashes in a way that getting hit while doing one (+ if holding Back) will actually block the hit? Or at least deal Normal Hit instead of Counter Hit?
This is something I'd like to try, along with some other minor edits like giving the standing-to-crouching animation the crouching state or maybe speeding up the animaiton.
Is this still the way it works in 5LR? (I can't remember off the top of my head - guess I'll test it later)

The counter hit during backdash seems like a way to discourage spacing :/
It'll probably be something in the hardcoding. I'll look into it.
 

Matt Ponton

Founder
Staff member
Administrator
Standard Donor
just tried on DOAO, holy shit you're right backdash really gives Hi Counter

Yeah, I was the one who got them to bring it down to Counter hit. I tried to get them to bring it down to normal hit but they basically refused as they feel if it's not on some form of punishment for being hit while back dashing then the players will just backdash non-stop. just like when they had it so you could crouch dash cancel side steps like VF all players would do would sidestep crouch dash cancel side step and they didn't like that in play testing.
 

WAZAAAAA

Well-Known Member
Yeah, I was the one who got them to bring it down to Counter hit. I tried to get them to bring it down to normal hit
Based Mr. Wah, the admin we need and deserve.

Well they're probably not wrong that people would want to backdash non-stop just like Tekken where backdashes are super strong, but I'm not convinced that it would be a bad thing until I try it
 
Last edited:

Matt Ponton

Founder
Staff member
Administrator
Standard Donor
I agree, but in the end it's up to them to make the game they want. Good or bad, sadly.
 

Rikuto

P-P-P-P-P-P-POWER!
Main issue I have with counterhits on backdash is the massive attack range disparity that exists for some matchups. So the characters that benefit in head to head jousts also benefit more in defensive ranged play. Not a great thing in a game where simply stopping and blocking to get in patiently is equally high risk because no throw breaks plus stage hazards.
 
ALL DOA6 DOA5 DOA4 DOA3 DOA2U DOAD
Top