@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?
@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?
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
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:
and a window with tons of buttons:
THEN start qloaderC3.exe
--This should open DOAO into the "please select a channel" window with confirm/cancel options
select confirm -
--It should say NOW LOADING... with a small "OK"
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.
Now you should see Ayane with the wetsuit costume in a completely black stage if you followed each step.
Go to the window with buttons that opened up when you started the pyserver.
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.
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.
With the character.bin open, hit ctrl+G for the GOTO command, type in 54 and click ok.
Hold shift and press right arrow 4 times. These 4 bytes are a pointer to the animations coding table
Do the GOTO command again (ctrl+G) and enter these 4 bytes, but this time backwards-
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.
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.
(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.
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
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.
(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"
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.
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"
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"
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.
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.
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~
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.
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...
This looks like a variation of "Atsuda" from DOA5LR, but as a string ender. Probably something like PP2P would be the input.
An unused launcher. Looks like it might have two hitboxes, but probably only has the knee hitbox.
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.
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:
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.
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:
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.
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.
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.
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?
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.
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?
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.
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
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.