Points of Required Attention™
Smaghetti, a new Super Mario Advance 4 editor, is currently in development! Check out the thread HERE!

Please chime in on a proposed restructuring of the ROM hacking sections.
Views: 88,315,408
Main | FAQ | Uploader | IRC chat | Radio | Memberlist | Active users | Latest posts | Calendar | Stats | Online users | Search 03-29-24 06:09 AM
Guest: Register | Login

0 users currently in ROM Hacking | 2 guests | 1 bot

Main - ROM Hacking - Mega Man (1) respawn points... New thread | New reply


PSlugworth
Posted on 09-23-07 09:37 PM Link | Quote | ID: 66230


Cheep-cheep
Level: 32

Posts: 35/189
EXP: 205376
Next: 1066

Since: 02-19-07
From: Brooklyn, NY

Last post: 5005 days
Last view: 2632 days
Are there any experienced Mega Man hackers that could take a look at my hack and tell me what I'm doing wrong with the respawn/activation points?

I've been hacking with Rock and Roll, which is a good editor and all, but it was a major pain in the ass trying to figure out how to get the boss/level end to work--and I still think I just happened to get it by some chance work-around, not the way it's supposed to be done--but I can't for the life of me figure out why it glitches up when Mega Man dies. I can't quite explain the effect, because it seems to be different depending on where and how you die, but normally Mega Man respawns in the correct are visually, but the data for where he can and cannot stand, where ladders are, etc. comes from a different screen in the level. Other times, he just respawns in some area made up of garbled data and graphics.

So does anyone have any ideas? Here is my hack-in-progress: http://www.andrewsylvester.com/mm.ips. The area in question is the Cut Man level, as that's all I've worked on thus far.

Any help would be appreciated!

____________________
andrew sylvester dot com | retrogaming @ robot vaudeville

Dan
Posted on 09-23-07 10:08 PM Link | Quote | ID: 66231


Goomba
Level: 14

Posts: 14/28
EXP: 11710
Next: 1361

Since: 02-20-07

Last post: 5525 days
Last view: 4469 days
A few things. From the other levels, it looks like in the room order editor, you need to have the checkpoint activate and checkpoint respawn on the same room.

Your enemy checkpoints also aren't set correctly (in advanced enemy management), but you haven't mentioned that. Those were a real pain in the ass to set up as I recall.

It looks like your scroll isn't correctly aligned with the room order checkpoint values (which may be causing the weird effect of seeing a different room than the one you're on).

My advice would be to look at existing scroll settings/room order settings in other levels, work out from those how to correctly set the scroll points.

PSlugworth
Posted on 09-23-07 10:30 PM Link | Quote | ID: 66233


Cheep-cheep
Level: 32

Posts: 36/189
EXP: 205376
Next: 1066

Since: 02-19-07
From: Brooklyn, NY

Last post: 5005 days
Last view: 2632 days
Ooh, advice from "the man" himself! Thanks for the suggestions--great editor, by the way.

I forgot to add that I originally did have the checkpoints and respawn points in the same room. They're in different rooms in the IPS file because I accidentally made it from a test version after I had been screwing around a bit; it wasn't working with both points on the same screen, so I desperately tried switching them around to anywhere to see if it would work itself out--it more or less had the exact same effect.

I hadn't screwed around much with the advanced enemy editor because I got frustrated trying to fix the level data... but thanks for reminding me!

I'm trying to see what I'm doing differently from the original levels, but coming up a bit short...

____________________
andrew sylvester dot com | retrogaming @ robot vaudeville

NetSplit
Posted on 09-23-07 10:39 PM Link | Quote | ID: 66234


Level: 32

Posts: 47/178
EXP: 187608
Next: 18834

Since: 02-26-07

Last post: 2189 days
Last view: 2114 days
From my notes (all addresses headered):

$153B0 - Checkpoint scroll byte numbers
$153DF - Table of values defining the slot number of the last enemy on the midpoint page (second checkpoint)
$1540A - A table containing the first screen ID in the scroll byte selected for the checkpoint
$15422 - A table containing the last screen ID in the scroll byte selected for the checkpoint?
$1C2E4 - Screen numbers which activate the checkpoint
$1C2FB - Where Mega Man respawns after dying
$1C52A - Checkpoint y coordinates

"Checkpoint scroll byte numbers" tells the game which scroll byte to use when you start at that checkpoint. If the screen you're starting on is in the second scroll byte, you'd put 01.

The "slot number of the last enemy on the midpoint page" is calculated by just counting the sprites in the stage from the first sprite to the last sprite on the page where the checkpoint is (the first sprite in the stage is in slot 00). This tells the game how far into the sprite data to look for sprites that are 'active' when you beam in.

Everything else should be pretty self-explanatory. I think there's also something related to special objects, but it's not in my notes (but there is something about changing $150F7 to 4CF690 that might have to do with special objects)... Anyway, with this data, you should be able to get your checkpoints working just fine using a hex editor. The only thing I feel I need to add is that you must start Mega Man off at the beginning of a scroll area; if you start him off in the middle or end of a corridor, the game won't know to load any of the graphics for the prior screen, so scrolling backward will cause background graphic problems (you'd have to add a special case to the background loading routine or rewrite it entirely (depending on what you're trying to do) in order to make that work).

If you've any further questions, just ask.

Main - ROM Hacking - Mega Man (1) respawn points... New thread | New reply

Acmlmboard 2.1+4δ (2023-01-15)
© 2005-2023 Acmlm, blackhole89, Xkeeper et al.

Page rendered in 0.019 seconds. (340KB of memory used)
MySQL - queries: 47, rows: 71/71, time: 0.015 seconds.