I worked over the 3S hitbox script of c_cube, which had in turn been modified from the script mz made from LennethEX's custom MAME build. It's completely functional now. Get it from the SVN repo.
Here are the noticeable changes:
- Now showing pushboxes.
- Now showing throw and throwability boxes.
- Now showing the center axis of individual boxes.
- The usual hotkey functions are working.
- The usual customization settings are at the top.
- The vulnerability boxes that come out when the character is extending a limb during an attack are now the same blue as the regular vulnboxes, since the user has no reason to distinguish them. (Unless hitting them gives a counterhit bonus or something?) You can make the colors different if desired by editing the "ext. vulnerability" value.
- Removed all the debug stuff, such as infinite super and the membrowser drawn on screen.
It works great with mz's test build of FBA-rr 0.0.6. And, FBA comes with built-in background removal in Video > Graphics layers. By the way, you can put multiple versions of FBA in the same folder as long as the EXEs have different names. They'll use different INIs but share everything else.
Please report any wrong behavior or annoyances. There are some improvements to be made:
- Add the rest of the CPS3 games.
- Implement camera zooming during certain superfreezes, e.g., Elena's SA3.
- Crush the Car is not working.
- Ryu's bag lacks a hitbox.
The old sfiii3-hitboxes.lua
has been removed, but this is SVN so nothing ever really gets deleted. You can still get it here.
Reading SH-2 dasm is more complicated than m68k and I'm less experienced with it, so that's been a speed bump. I was able to find documentation at eidolons-inn, which has been a big help. But as it turns out, most of the new stuff was found by following the pointers near the pointers for the already known boxes.
Great stuff, I have been looking forward to this for some time now. You would expect that extended limbs have some influence on the game... I guess I'll look into that someday.
Just as a random sidenote, I tried running the Garou hitbox script in the new FBA-RR. It doesn't work, but it does render vulnerability and attack boxes (unlike the previous version), they're just waaaaay too big.
Posted by: PhoeniX | 10/19/2011 at 03:21 AM
O, another thing. I believe there is such a thing as a 'super-vulnerable box'.
If you look at, for instance Ken's HP SRK, it beats out normal meaties, although, the hitboxes suggest it would trade. Thus, that hitbox is invulnerable to normals.
But, if you do a meatie super, HP SRK loses/trades
I thought this was similar to Akuma's teleport. You can super his teleport if he tries to get away, thouh he is invincible to all other things... but in the hitbox script this shows up as completely invincible.
So I'm not exactly sure what's going on here, maybe there's something true like priority involved?
Posted by: PhoeniX | 10/19/2011 at 06:19 AM
Nice!
Damn, i searched for those throw hitboxes and never found it. Good job!
I'm glad i've been lazy lately with my 3s frames data / hitboxes site! Now i have to add all those new data, which means going back to zero :d
I guess new fba finally fixes ram access issue with active hitboxes?
Posted by: ESN | 10/19/2011 at 07:19 AM
Phoenix > i don't think super-vuln hitboxes exists.
http://ensabahnur.free.fr/BastonNew/hitboxesDisplay.php?iChar=11&sMoveType=fd_specials&sAction=w&iMove=43
You can see 3 full invincibility frames, then vuln hitboxes come back with active frames, making it quite hard to meaty. But you can theorically hit Ken with a low move going under the active boxes, you just have to delay it a bit against a reversal srk to make your normal hit at the 4th frame.
Posted by: ESN | 10/19/2011 at 07:31 AM
Sorry for the spam, but i half answered on my last comment :p
So, when dealing with a 'meaty' super (like Ken's SA1), nothing should happen til the 4th frame (both srk and super are totally invincible). On the 4th frame, srk is no more invincible and will be hit by super (still invicible for 4 more frames). I didn't check but srk should never trade.
Gouki's teleport doesn't involve any hitboxes mechanism iirc, it just stops if a super is launched after its startup (invincible but not moving).
Posted by: ESN | 10/19/2011 at 09:02 AM
My bad. I checked Ken's SRK vs Ken's SA1, srk lose at first frame.
So i guess it's just a matter of priority of super over other things.
Posted by: ESN | 10/19/2011 at 12:26 PM
I am getting a "Lua load error: unexpected symbol near <" when I try to use the script
Posted by: CWheezy | 10/19/2011 at 03:47 PM
ESN, I wouldn't say it if I wasn't 100% sure.
I took a screenshot:
http://members.home.nl/marijnvanputten/HPdp1.png
Here we see a meaty cr.MK of ryu overlapping with Ken's vulnerable box, while Ken's dp+HP is overlapping with Ryu's vulnerable box.
In any other fighting game, this would mean a trade would occur.
But in 3s this happens:
http://members.home.nl/marijnvanputten/HPdp2.png
dp+HP flat out wins.
Posted by: PhoeniX | 10/19/2011 at 05:01 PM
You're right, I couldn't test when i wrote those comments, my bad.
I guess some kind of priority is also involved for special vs normal.
normal < throw < special < super
Posted by: ESN | 10/19/2011 at 05:44 PM
Xenozip did a thorough examination of this problem and came to the same conclusion.
I wonder if there's anything I should do to make things clearer to the user?
CWheezy: Are you sure you got the file intact and everything? Does it give a line number for the error?
PhoeniX: Missing boxes as well as wrong size/shape are a sign that the bank isn't getting set properly. The reason for the difference might be because of different characters or stages.
Posted by: dammit | 10/19/2011 at 10:46 PM
it's really easy to show, just try trading a light punch with a fierce, can't be done
Posted by: error1 | 10/19/2011 at 11:18 PM
Problem is that odd things happens from time to time which should never happen, like being able to jab or even grab Hugo 720 that i never be able to reproduce myself on emulator.
So, either there are more rules that we don't know about (yet) or those can just be considered as glitches (but that's not really satisfying).
Posted by: ESN | 10/20/2011 at 02:17 AM
I fixed it thanks dammit
Posted by: CWheezy | 10/20/2011 at 04:36 AM
Dammit> "I wonder if there's anything I should do to make things clearer to the user?"
Maybe multiple settable colors for different attack priorities?
Posted by: PhoeniX | 10/20/2011 at 06:30 AM
unrelated, but is there anyway to use cheats when recording a movie? You could in older versions of fba but it seems to have been removed for some reason
Posted by: error1 | 10/20/2011 at 01:48 PM
nevermind, apparently the test codes are known
http://strategywiki.org/wiki/Street_Fighter_Alpha/Secrets#Street_Fighter_Alpha_3
Posted by: error1 | 10/20/2011 at 11:59 PM
Checking in to say 2I and NG have been added. =)
Probably every attack state or attack box has a priority value, and the priorities ensure that weak can't trade with strong. Maybe they did this so poke xx super couldn't be beaten by parry xx press buttons so easily.
I might try to find the values and display them in the OSD script. It doesn't appear to be a matter of hitboxes.
error1: I don't think it's a problem with the new FBA. I recorded an FBM from savestate with cheats on and it worked. The mode unlock cheats mess with NVRAM, which requires resetting or something so it's failure prone. (I also ended up using the op menu codes instead.)
Posted by: dammit | 10/21/2011 at 12:08 AM
>>>>the vulnerability boxes that come out when the character is extending a limb during an attack are now the same blue as the regular vulnboxes, since the user has no reason to distinguish them. (Unless hitting them gives a counterhit bonus or something?) You can make the colors different if desired by editing the "ext. vulnerability" value.
Those vulnerability boxes behave differently than standard ones, as they're associated with a priority system that goes like Like (lowest to highest) L - M - H/Sp - Su -Th. Those special vulenaribilty boxes are immune to any "lower" ranked move, so the different matters and you should keep them with a different color. Thanks
Posted by: Fugo | 10/21/2011 at 09:07 AM
Sounds like that solves two mysteries at once, Fugo. I'll look into it.
Posted by: dammit | 10/21/2011 at 11:28 PM
Hey, dammit, I've added memory.getregister, memory.setregister, memory.registerwrite, memory.registerread and memory.registerexec to FBA (which can be used like breakpoints in some ways): http://code.google.com/p/fbarr/wiki/LuaScriptingFunctions#memory.getregister_(cpuregistername)
You can find them in fba-rr-v007.7z.
I've only added 68000 and z80 for now, because I wasn't very sure that this would be useful to you. Also, I haven't tested them very much, since I didn't feel like getting into these ASM languages again; so if you try them, please let me know if they work, and what other CPUs would be useful to add. If they don't work, please make a script so I can test them (or see what you want to do with these functions).
Posted by: mz | 10/27/2011 at 12:20 AM
Sounds good, and good work on getting a release out. Next thing I'll do is check this out.
Posted by: dammit | 10/28/2011 at 12:39 AM
mz: Seems to be working well so far. But the register functions get forgotten and stop working if you click "Restart". You have to click "Stop" then "Run" to properly restart. This is potentially misleading/confusing for the user. I tried a variety of in-script tricks to get it to dynamically fix itself but couldn't get it. It would be better to just make Restart equivalent to Stop+Run.
Try this simple example in sfa2, which prints some in-game timer on screen, to see what I mean:
emu.message("")
local address = 0xFF80B2
memory.registerwrite(address, 2, function()
emu.message(memory.readword(address))
end)
Posted by: dammit | 10/29/2011 at 01:30 PM
Thank you for finding that.
I've made the laziest fix for it: http://code.google.com/p/fbarr/source/detail?r=213
Here's a build with that fix, if you want to help me find any side-effects before I release another version who knows when: http://www.mediafire.com/?a1yqi2o1y51kcas
Posted by: mz | 10/30/2011 at 06:33 AM
Thanks, that did the trick. Right now I'm applying this to the hitbox scripts.
... then they released 0.2.97.13 right after you released 0.0.7, orz.
(Anybody want to TAS the Samurai Shodown RPG?)
Posted by: dammit | 10/30/2011 at 06:39 PM
they got neogeo cd working? man, if I could read jappenese better and like tases of rpgs...
Posted by: error1 | 10/31/2011 at 04:24 PM
Never played SSRPG myself.
I've heard it's the only worthwhile NeoCD game, and it's famous for the translation hack that never came out.
Posted by: dammit | 10/31/2011 at 09:50 PM