Only works with mame-rr/mame, not sure how to do ROM address hacks in FBA.

Install:

DO NOT UNZIP THE CHEAT.ZIP, LEAVE IT ZIPPED

DO NOT UNZIP THE CHEAT.ZIP, LEAVE IT ZIPPED

DO NOT UNZIP THE CHEAT.ZIP, LEAVE IT ZIPPED

Place the cheat.zip in the same directory as mame.exe

You have two options to run mame with cheats, either run mame from the command line like this: mame.exe -cheat.

The 2nd option is to open mame-rr.ini and edit the line under 'Core Misc Options' that says 'cheat 0' and change it to 'cheat 1'. This is the better option because once you save this file you won't ever have to edit it again and mame will always run with the cheat option enabled.

Press tab during the game to bring up the mame menu, go to cheats and turn it on or off.

Stun does not work during the training mode cheat, unfortunately I haven't fixed that yet. Throws also still do damage in training mode, but this shouldn't be a problem, just hit the dummy again to refill it's life. Throw hit stun is also messed up.

<Pasky> so you can go extra fast by just holding it?
<bookah> turbo handjob
<baklakiller> sure if had a penis
<baklakiller> im a beginner gief

This would certainly help me when getting the damage from normals. What I have done, so far, is to compare the different attacks to others and what YBH says, so as to provide the data the original book does not.

If someone can fix the fba/mame infinite health cheat with proper hit stun animation then it would be awesome to use with this HUD script.

eltrouble "I doubt that ST will be on the main stream ever again."
OhNuki: Real men play ST!!
James Chen: there is something special about playing ST on a cab. It just feels so goooooood.
Super Turbo Hitbox & safe jump guide http://www.strevival.com/hitbox/

Added a special cancel indictator. It'll tell you if the normal is cancellable into a special/super when displaying "Ready", however, it does get displayed during aerial normals, and since ryu and ken both have aerial cancels, I didn't remove that. So just ignore it if you're using aerial normals. It works great for getting kara cancel timings down when frame advancing.

Also got rid of projectile indicator being displayed for non-fireball chars.

If someone wants to get the throw ranges for each character (Use the distance indicator at the top) I'll add them to the HUD, but I'm not gonna do it for chars I don't use, I may be awesome, but I'm awesomely lazy, I also have other games I'm having fun with.

If I have time this week I'll add Gief and Hawk's SPD/super range indicators.

EDIT:

Updated again. Added a hotkey function to move your character's X values by 1 left or right. The reason is because when a character normally moves, the value increases by 3 at a time, so if you want precise throw ranges you'll need a way to increment/decrement by values of '1'. Make sure you set the lua hot keys, in mame-rr it's under Input -> General -> User Interface. In FBA-rr its Input -> Configure Hot keys. (will remove these when throw ranges are figured out). So:

Hawk also has special cancellable aerial normals and a special to cancel into. It is mostly useless, though.

I know their specials do more damage, but most stuff they do also does. I thought it was just amplified. The Japanese version does not seem to have that much better damage. As for blocking, the CPU probably uses a MK controller, lol.

If you simply change a memory value, can one switch chars instantly? If so, this might be used to select WW bosses in AE or maybe just WW.

I will donate you money through paypal if you can show the perfect damage and stun range, together with the selected value.

Did you not read the posts? It's for frame advancing, figuring out exactly when a move is charged/ready. Figuring out exact throw distances for each character, when a move can truly be cancelled. This isn't a stupid training mode, this is for people who frame advance the game and want to figure out exact mechanics.....

EPIC face palm bro!

<Pasky> so you can go extra fast by just holding it?
<bookah> turbo handjob
<baklakiller> sure if had a penis
<baklakiller> im a beginner gief

What you normally saw as a stun meter....was only half of it. What that half is.......is a counter. While that number is positive, the stun won't decrease.

The REAL stun meter only increments up to 30, if it is equal to or greater than 30, the character goes dizzy and both counters reset. So as long as the first value stays positive(The counter), the 2nd value (The stun meter)will not decrease.

<Pasky> so you can go extra fast by just holding it?
<bookah> turbo handjob
<baklakiller> sure if had a penis
<baklakiller> im a beginner gief

I was being flippant in how tersely I phrased my question, but my question could be better phrased as: to what practical uses can this be put? So for example, if you give this to Mattsun or Taira, how will it help them? It seems to me that knowing the 'exact mechanics' (as you put it) does not have much practical application. Pixel differences or microsecond differences are changes at the margin.

But I am happy to be proven wrong... we'll see.

Just one example of ST fundamentalism on dontblowthis.com: "HDR is just another game with no relation to the Street Fighter II series" - riz0ne

I was being flippant in how tersely I phrased my question, but my question could be better phrased as: to what practical uses can this be put? So for example, if you give this to Mattsun or Taira, how will it help them? It seems to me that knowing the 'exact mechanics' (as you put it) does not have much practical application. Pixel differences or microsecond differences are changes at the margin.

But I am happy to be proven wrong... we'll see.

Knowing exact values gives you comparisons and benchmarks when performing moves, if you know giefs max throw range, you can then compare against it when ticking normals during push back to discover maximum length blockstrings with different normals before he can spd for instance. Knowing how many steps it takes to get back in range after an spd. If you can see the difference in number, you can see how far that distance is visually.

Also, this is nowhere near microseconds, well I guess its 16667 microseconds, but if you can't time 1 frame links, I don't think you'll get places in fighting games anyways. Why is frame data useful? Well this is the same shit, except its showing you the frames for charges and execution moves and how long they remain, by the frame...not by the microsecond.

Do you how know charges are handled when you cross someone up? You can find out now. You can also see if the charge is maintained if the charge character switches directions as the opponent goes to the other side.

It's like saying "Whats the point in knowing the exact hitbox for a move? I know how far I gotta be to hit them."

I wasn't trolling; believe it or not. I hope that people publish their findings to this thread which they have identified using this tool. Until then, I remain skeptical as to the practical application.

Edit to add: to repeat my earlier point, pixel and microsecond differences only matter at the margin.

Just one example of ST fundamentalism on dontblowthis.com: "HDR is just another game with no relation to the Street Fighter II series" - riz0ne

This can be useful for more easily finding a setup to be the exact range to be slightly outside someone else's throw range.
T.akiba has already compiled the throw ranges, and someone messing with the setups should use it as a reference.

It's interesting to note that you get pushed farther from your opponent if you land a jump-in attack really deep rather than if you land it slightly higher.

If you wanted to improve this tool pasky, you could try adding another hud display for "throw range" which would be the distance between the nearest sides of the collision/push box between the two characters. Right now, the range just calculates the distance between the center of the pushbox.

I prefer the center of the of the characters axis in the middle of the hitbox (pushbox). It makes no difference if the calculation is done between the two characters hitboxes, because the distance is just a number, it would only change the number but the two dummy distances would still remain the same, as long as the calculations all use the same method to get that number....what difference would it make?

Also, I've come close to finding the base values for damage on, or at least how damage is calculated. I set a breakpoint when the dummies life is written to, and the value is gained 2 or 3 lines above the sub.w ASM (it subtracts the value in register D6 from the value at the address of the dummies life) and is stored in register D6.

However, I can't backtrack any further due to limitations of the MAME debugger and any addresses above that address are not executed when damage is taken so setting breakpoints above it does no good since it's probably a branch jumping to it. I'd have to disassemble the ROM and I don't know how to disassemble an encrypted cps2 rom, but I'd be willing to take a look if someone has a decrypted SSFT2 ROM.

I have however been able to view further back using cheat engine, however 68000 is a big endian cpu so the addresses are backwards in cheat engine and x86 doesnt translate well from 68000 so i can't debug it through cheat engine.

But the cheat engine inside mame is limited and has no access to the decrypted CPU instruction memory and its a pain in the ass accessing the mame decrypted cpu memory section using cheat engine and inputting everything backwards to test.

EDIT:

Ah cool nevermind, I can run trace to log the cpu functions and just backtrack the log (which is essentially the ROM decrypted and being executed).

<Pasky> so you can go extra fast by just holding it?
<bookah> turbo handjob
<baklakiller> sure if had a penis
<baklakiller> im a beginner gief

Also, messing around, I found out exactly why sometimes I would not get moves even though I swore I input it correctly.

As can obviously be seen by using pasky's hud display, ST's input system works by just incrementing a counter for a certain move every time you input the next expected direction for that move. You have to input the next direction within a variable timeframe. The first input needs to be input within probably around 7-15 frames. The other input windows after the first seem to be ~6 and more. Each type of special move keeps track of its own window separately. Super input windows are much larger. However, if you don't input the move within the time frame, the counter will reset to 0 for a frame and will wait for the first directional input again.

This has repercussions. If you input the second part of a move exactly on the frame it gets reset to 0, it will not count towards inputting that current move! For example, if you hold toward, then input down then down-toward on the frame that the counter resets to 0, you will not get a dp input. With ryu you will just get a normal attack. If we assume a uniform distribution of the variable input window for the first directional input of a move to be between 7-15f, then there's an ~8.8% chance your move will just not come out if you've been holding down that direction. This applies to every single special move in the game.

If you try to do a walk-up spd and you hold toward for longer than 7f, there's just a random chance you won't get it. If you're holding down to punish an enemy's recovery in anticipation of just easily closing out the match with rekkas, your rekkas will just randomly not come out. If you're holding back OR down-back for a while and then input cammy hooligan or fei chicken wing, it will just randomly not come out. If you're holding back with fei to block a jump-in attack and then input reverse dp, the game will just randomly not recognize that you even input the correct directions in the first place.

The only way to avoid this situation is to make sure that the countdown for your move is completely timed out which can be accomplished by just holding any other direction than the first or neutral for at least 15f. If the countdown timer hasn't reset to 0, then you are still susceptible to your move just randomly not coming out. In fact, for a dp, if you tap toward, neutral, then toward within 6f you have a much higher chance of your dp not coming out.

This system explains why you can't easily do qcfx3 to input super moves. It explains why if you do a 360/720 input with the correct timing but had input a few directions beforehand, you won't get the 360/720. ST uses a counter system per move and it doesn't actually keep track of a buffer of past input moves. If st just looked at a string of inputs, inputs like those should easily work.

Note that for 360s/720s, the counter starts counting down for a possible 360 whenever you input or hold either 2468. This means if you're doing a tick setup, DO NOT HOLD one of those directions at the start or you will randomly not get your spd. Also, if you input something like 8426+p (needed by gief in the corner) off of crouching jabs while holding down-back, brushing "down" or "back" on your way to "up" will start the countdown and drastically narrow your input window for spd.

Pasky, characters have different sized collision/push boxes. This means that while a throw range will be the same distance between the nearest sides of two push boxes regardless of the characters, the distance between centers of these boxes will be different for different characters.

Pasky, characters have different sized collision/push boxes. This means that while a throw range will be the same distance between the nearest sides of two push boxes regardless of the characters, the distance between centers of these boxes will be different for different characters.

I see, in that case I'll add it when I get some time.

EDIT:

So wait....so you've confirmed throws go by pushboxes and not character position? Did you check against their hitbox (blue)?

<Pasky> so you can go extra fast by just holding it?
<bookah> turbo handjob
<baklakiller> sure if had a penis
<baklakiller> im a beginner gief

Distance between center when ryu & ken push against each other: 32
Max distance between center for ryu to throw ken: 77
Throw distance and distance between sides of pushbox: 77-32=45

Distance between center when ryu & sim push against each other: 38
Max distance between center for ryu to throw sim: 83
Throw distance and distance between sides of pushbox: 83-38=45

Actually wait I guess you're right it might not be pushbox distance and there's some other factor.
Distance between center when ryu & honda push against each other: 46
Max distance between center for ryu to throw honda: 76
Throw distance and distance between sides of pushbox: 76-46=30

ComedyBlissOption, pasky & all, you guys combined are even better than NKI at his prime

I'm still digesting your post regarding input counter reset to 0.
I understand the 8.8% chance your move won't come out if you hold the first direction down.

This sucks cause I do walking dp all the time and now I know I have a chance of screwing up even I input the motion perfectly.

But why would it still fails if I go back to neutral and input the dp immediately?

Also, now that I think about it, this doesn't seem to be "fair" to all charge characters. So you always have a 8.8% chance of failing sonic boom if you hold back?

That's strange how Honda is closer hitbox wise yet that is still max throw distance.

That's exactly what t akiba found too. That's why the "average" throw range I calculated on my website doesn't make sense to Born2SPD. It's all relative. (i.e. ehonda has the best normal throw range against the rest of the cast, yet his "average" throw range is not the largest)

BTW, ComedyBlissOption, don't know if it's too much to ask, it would be awesome if we can have image captures of each character max throw distances.

That could be a lot (at least 16x16, plus some characters have more than one throws with different ranges, plus command throws and gief/hawk super), but that would be really helpful to get familiar with all those distances for your main.

eltrouble "I doubt that ST will be on the main stream ever again."
OhNuki: Real men play ST!!
James Chen: there is something special about playing ST on a cab. It just feels so goooooood.
Super Turbo Hitbox & safe jump guide http://www.strevival.com/hitbox/

0

djfrijolesFirst ST player to ever moon a live stream baby !Joined: August 2007Posts: 2,054

Born2SPD has identified patterns in the max throw distances so that one could obtain them from the distances in relation to Ryu and certain values which are character-dependent. You can not get the values against Ryu and think they apply to different characters. He tried to explain, but failed miserably. Anyway, T. Akiba does have a table for all throws, all characters and all SF2 versions.

CBO can you post up images of max range 360/720\'s for Hawk and Gief please ?

Such selfish request!

ComedyBlissOption, if you were to do them, do gief/hawk last!

Anyway, T. Akiba does have a table for all throws, all characters and all SF2 versions.

The table is good for determining who beats who. But it's useless to learning the actual distance for your main.

An image capture of the max distance OTOH is very useful.

You can not get the values against Ryu and think they apply to different characters.

Exactly, that's why I said it will be a matrix of at least 16x16.

Edit: looking at the pictures, I think the throw distance is calculated from ass to ass. ehonda certainly has the largest range.

eltrouble "I doubt that ST will be on the main stream ever again."
OhNuki: Real men play ST!!
James Chen: there is something special about playing ST on a cab. It just feels so goooooood.
Super Turbo Hitbox & safe jump guide http://www.strevival.com/hitbox/

0

djfrijolesFirst ST player to ever moon a live stream baby !Joined: August 2007Posts: 2,054

Try it. Hold toward for > 6f or just hold it for a couple seconds. Then finish the dp input quickly. You will randomly and bizarrely not get the dp input. You can test this in frame advance where the dp will simply not come out if you've been walking forward and you move to down on the frame the counter gets reset to 0. If you finish a quick dp input on any other frame, you will get the dp.

You can test this easily with a paused save state. Frame advance to see how many frames before the counter gets reset to 0. Then reload the state paused and frame advance so that you input down when the counter hits 0. Account for input delay. Finish the dp and you won't get it.

But why would it still fails if I go back to neutral and input the dp immediately?

The counter window is still going on even after you go back to neutral. The counter needs to be reset to 0 before you will get the dp 100% of the time. If you go back to toward after neutral but before the counter resets to 0, there's a chance when you go to down you will go down exactly when the counter hits 0 which will prevent you from being able to dp.