| |||
Views: 88,478,490 |
Main | FAQ | Uploader | IRC chat | Radio | Memberlist | Active users | Latest posts | Calendar | Stats | Online users | Search | 04-24-24 06:14 PM |
|
Guest: Register | Login |
0 users currently in ROM Hacking | 2 guests | 1 bot |
Main - ROM Hacking - Rockman 2 Wily 1 question | New thread | New reply |
32x1000 |
| ||
Koopa Level: 24 Posts: 92/116 EXP: 76727 Next: 1398 Since: 12-27-13 From: Florida Last post: 2037 days Last view: 1482 days |
I'm having problems with rockman 2. When I get to wily stage one it looks like it's suppose to (in my hack anyway )
If i go to the right the stage proceeds as normal, but if I take one step to the left, this happens. Or this... If I shoot the megaman it shows the dragon boss exploding, and then I move on to the next stage as normal. I have absolutely no clue what's going on, or how to fix it. If anybody has a clue please let me know, thanks |
NetSplit |
| ||
Level: 32 Posts: 174/178 EXP: 188006 Next: 18436 Since: 02-26-07 Last post: 2215 days Last view: 2140 days |
I don't know all that much about Mega Man 2, but it's heavily based on Mega Man 1 and the checkpoints have a lot in common. In Mega Man 1, there is a table of which enemy index to start on for a given checkpoint. The way enemies are loaded is that they keep an index of the next enemy slot on the right and the left and check only those enemy slots when you scroll right and left. When an enemy enters or leaves the screen, it adjusts the indices accordingly. This is why if you put enemies out of order (a lower index enemy to the right of a higher index enemy), the higher index enemy doesn't load until the lower index one has come onscreen.
When you start at any checkpoint (start/mid/end), the game sets the indices based on a value in a table. If this value is wrong, then as soon as you move, the game will load everything between the current index and where the index should be. I think the problem in your hack is caused by this value being too high; as soon as you move left, it loads every sprite from the end of the stage to the start. I haven't looked in an editor, but I assume the dragon boss is a sprite, which is why the boss loads as though you're at the end of the stage. I dug around and found that the byte you're looking for is at $3B1F in the US ROM. I haven't tested it, but the data looks identical in the Japanese ROM, so it should work there, too. This byte is part of a table that actually starts at $3B1C. Each level bank contains one of these tables at the same offset, and I assume there are 8 (one for each of the first 8 stages). The index is the checkpoint number, so the first 3 bytes are the start, mid, and endpoints of that stage (the first byte should always be #$00). The next 2 bytes are for the Wily stage checkpoints. Because data is shared between the stages, the starting index for the Wily stage enemy data is not #$00. You'll need to adjust it to the appropriate value, whatever it is. That will depend on your hack. You might be able to figure it out by counting the sprites in the corresponding stage, or you could look in the enemy data table if you know where it is and see at what index the first Wily 1 enemy is. Hopefully that helps. If you'd find it useful, I'm happy to post how I figured this out. |
32x1000 |
| ||
Koopa Level: 24 Posts: 93/116 EXP: 76727 Next: 1398 Since: 12-27-13 From: Florida Last post: 2037 days Last view: 1482 days |
Thanks that fixed it! I really appreciate this, I though no one would reply |
Main - ROM Hacking - Rockman 2 Wily 1 question | New thread | New reply |
© 2005-2023 Acmlm, blackhole89, Xkeeper et al. |
MySQL - queries: 42, rows: 65/65, time: 0.015 seconds. |