Working steadily, I've added xmvsf, xmcota, msh, and mvsc to the Marvel hitbox script, so now it covers the whole CPS-2 series.
As with mshvsf, they are all quirky about handling the camera position. I gave up on the previous method, where one pair of addresses was read and then offset by an amount that depends on the stage, because there is no one pair that really works. Instead I just made the addresses depend on the stage. With only about a dozen stages per game it's not so big a deal.
But I would like to know what the official names of the MvC1 stages are, if such names exist.
stage_camera = {
[0x0] = 0xFF426C, --Bath house
[0x1] = 0xFF426C, --Rapter stage
[0x2] = 0xFF426C, --Strider mosque
[0x3] = 0xFF42EC, --Dr. Wily
[0x4] = 0xFF42EC, --Marvel stuff
[0x5] = 0xFF426C, --Avengers HQ
[0x6] = 0xFF426C, --Moon base
[0x7] = 0xFF41EC, --Daily Bugle
[0x8] = 0xFF41EC, --Mountain
[0x9] = 0xFF436C, --Onslaught
},
Instead of relying on a dedicated ID byte, the pushboxes are handled in a kind of resourceful way: For a given game, the hitbox table starts at the same address for everyone, and that is offset by the character ID times 4, plus the stance ID times 2. There seems to only be three possible pushboxes per character (standing, crouching and air), which is about in line with what I've seen in other games. Still haven't figured out how to hide them during Captain America's cartwheel, Akuma's teleport, Hulk's forward dash, etc.
The thing that was initially marked as the pushbox turned out to be the throw vulnerability box, as I suspected. And the attack box that shows up when the byte before the attack ID is 0x80 is the throw range. When the throw range box (yellow) overlaps the opponent's throwability box (white), you can perform a ground or air throw. Otherwise a normal attack comes out. (Like most Capcom games, normal throws in Marvel are one-button and come out instantly.) It shows the range of special throws as well.
I've never seen the same ID used for two functions before, and I had to change some code around to let the box color adapt to the situation. In practice it's not so good to show all the time, particularly in msh where the yellow boxes needlessly cover your whole character. So they are hidden by default, and Lua hotkey 5 toggles them. But it's kind of remarkable that I discovered throwboxes both here and in Slam Masters basically on accident.
I also developed a simple cheat code to disable the ugly background during mshvsf supers:
<cheat desc="No super background">
<script state="run">
<action>[email protected]=0000</action>
<action>[email protected]=0000</action>
</script>
</cheat>
Or in FBA form:
cheat "No super background"
default 0
0 "Default"
1 "Disable", 0, 0xFF4C14, 0x00, 0, 0xFF4C15, 0x00, 0, 0xFF4C28, 0x00, 0, 0xFF4C29, 0x00
Supers that leave afterimages (shoryu reppa, maximum spider, etc.) will have them in the wrong palette, but otherwise it does what it's supposed to, makes it easier to get good screenshots.
Still nothing on fixing the phantom projectiles. That and the phantom pushboxes are looking to be very hard.
I thought that might be a throw box, check this out
http://www.filefront.com/17382865/mshvsfu1throw.mp4
hulk's forward dash has a screwed up throw hitbox
no idea about the names
Posted by: error1 | 10/12/2010 at 11:41 PM
Oh shit that's cool. I noticed it myself but didn't think you could exploit it because grounded opponents and air throws don't mix.
Posted by: dammit | 10/13/2010 at 12:30 AM
No stage names listed in the games, as far as i know. Usually sleuthy people find these things in sound test menus, obscure console versions, foreign instruction manuals, promotional materials, etc.
Then they post their findings on a dedicated fighting game forum populated by 8 people, which disappears forever when geocities closes down.
Posted by: Maj | 10/14/2010 at 07:54 PM
Erf.
Posted by: dammit | 10/15/2010 at 12:11 AM