Register | Login
Views: 19364387
Main | Memberlist | Active users | ACS | Commons | Calendar | Online users
Ranks | FAQ | Color Chart | Photo album | IRC Chat
11-02-05 12:59 PM
1 user currently in Rom Hacking: hukka | 2 guests
Acmlm's Board - I2 Archive - Rom Hacking - megaman 6 editor? | |
Pages: 1 2Add to favorites | "RSS" Feed | Next newer thread | Next older thread
User Post
NetSplit

Koopa
Level: 19

Posts: 42/117
EXP: 30378
For next: 5399

Since: 04-05-04

Since last post: 1 day
Last activity: 1 hour
Posted on 05-27-05 01:01 AM Link | Quote
Well, it probably was set up without using the list of pointers for where each screen is located; in Cut/Wily 1, those pointers are out of order, so ignoring the list means room order editing wouldn't work properly. They're probably out of order in Guts/ending, too, but I'm not sure about that. As for checkpoints, there should only be 2 sets of values you need (each set having 36 values for all 3 checkpoints in al 12 stage IDs, if I recall correctly) for scroll byte and enemy number to start at, and another set which is optional depending on some other data which controls special objects. This is, of course, in addition to which screen to start on at each checkpoint and the Y coordinate to beam down to.

Speaking of special objects, did you ever figure out what those special objects underneath fire pillars in Wily 1 and Fire Man's stages are for? I haven't a clue. Everything seems to work the same regardless of whether those special objects are there or not. Any ideas?
dan

Snap Dragon
Level: 43

Posts: 594/782
EXP: 534516
For next: 30530

Since: 03-15-04

Since last post: 20 hours
Last activity: 14 hours
Posted on 05-27-05 04:52 PM Link | Quote
Yeah, Rock and Roll uses the room pointers. I figured Visine did, but I guess that would explain the lack of editing for the room order on those stages. There are the two bytes you mentioned for the checkpoint, one for the scroll byte to start at, and the enemy data to start at.

There are also another two at least, one of those is for the room order data to start at, and one is to set which room activates the checkpoint. (I believe, I don't have the data in front of me at the moment)

There's also one for which room you appear in after you die, but I think that is supported by Visine. (It's either that one, or the checkpoint activation byte) I don't know about a byte for the special object data, so I should really look into it sometime.

I don't know about the special objects in Fire and Wily 1 stage are for. (I never even noticed them to tell the truth, I only thought there were a few special objects - left/right door, g-block) That'll be another thing to look into, as I think Rock and Roll's special object editing may be too rigid to support unknown values. (I knew that would bite me in the ass )

Edit - I know now why I didn't see them before, the dimensions of the objects are really tiny. They have zero height. Not sure what that is all about really. They also seem have the ID of right-sided doors. Bizarre.


(edited by dan on 05-27-05 03:20 AM)
NetSplit

Koopa
Level: 19

Posts: 45/117
EXP: 30378
For next: 5399

Since: 04-05-04

Since last post: 1 day
Last activity: 1 hour
Posted on 05-28-05 06:15 AM Link | Quote
Right, they have a thickness of 0. They show up in Visine, though, probably due to the way Fx3 has it draw them. Those special objects are pretty unique; you can't use them for anything but what they're currently being used for because there's some code that prevents it. It's pretty strange. They're also similar to the popping block special objects, which can't be used for anything but popping blocks because of the way popping blocks work. Weird stuff.

And as for checkpoints, well yeah, there's the stuff that tells it where the checkpoint actually is, but I thought that was a given. I wasn't aware that it had a list for which room order byte to start at; are you sure that's not the same byte as the location of the checkpoint in the level (making it only need 3 lists of values instead of 4)?
Fx3

Shyguy
Level: 13

Posts: 19/80
EXP: 10252
For next: 15

Since: 04-11-05
From: Brazil

Since last post: 98 days
Last activity: 34 days
Posted on 05-28-05 08:06 PM Link | Quote
You were completly off-topic!

Well, Megaman1 is weird, due to its ROM size (go figure), hence it's very compacted. On other side, Capcom opened the eyes for Megaman2 - much easier to understand its structure and... uncrunched. I'd say it's a lot easier to support MM2 than MM1 in a _same_ romhacking tool.
dan

Snap Dragon
Level: 43

Posts: 597/782
EXP: 534516
For next: 30530

Since: 03-15-04

Since last post: 20 hours
Last activity: 14 hours
Posted on 05-30-05 03:24 PM Link | Quote
Ok. Here's how it goes:

At $1C308 you have the table for the first checkpoint. This table controls which screen Mega Man respawns on, after he dies.

At $1C2E5 you have the table for the screen numbers which activate the checkpoint.

At $153BD you have a table which contains the scroll byte to start at.

At $1540B you have a table which contains the first screen ID in the scroll byte selected for the checkpoint.

At $15423 you have a table which contains a value that is the screen ID (as used in the table at $1540B), plus the amount of screens in the scroll byte selected for the checkpoint.

Some of this information may be slightly inaccurate, as it's been a while since I worked with this data.


(edited by dan on 05-30-05 12:22 AM)
Fx3

Shyguy
Level: 13

Posts: 22/80
EXP: 10252
For next: 15

Since: 04-11-05
From: Brazil

Since last post: 98 days
Last activity: 34 days
Posted on 05-30-05 05:28 PM Link | Quote
Yes, once the user touches the stage scroll info, b00m... :| It's a _must_fix_ issue.
NetSplit

Koopa
Level: 19

Posts: 48/117
EXP: 30378
For next: 5399

Since: 04-05-04

Since last post: 1 day
Last activity: 1 hour
Posted on 05-31-05 12:32 AM Link | Quote

At $1C308 you have the table for the first checkpoint. This table controls which screen Mega Man respawns on, after he dies.

This table actually starts at $1C2FB, since the starting point in the level is a checkpoint; it's important to keep this in mind because if you move the Wily stages, this data needs to be changed.


At $1C2E5 you have the table for the screen numbers which activate the checkpoint.

This table actually starts at $1C2E4. I wasn't aware what it did, only that it was pretty much a copy of most of the table at $1C2FB and that it needed to be kept the same for things to work properly.


At $153BD you have a table which contains the scroll byte to start at.

This table actually starts at $153B0.


At $1540B you have a table which contains the first screen ID in the scroll byte selected for the checkpoint.

This one starts at $1540A. It's another one that's pretty much duplicate data, so I've just been using values identical to the table at $1C2FB.


At $15423 you have a table which contains a value that is the screen ID (as used in the table at $1540B), plus the amount of screens in the scroll byte selected for the checkpoint.

I didn't know about this table at all since I didn't know what the duplicate tables did and thus didn't even know this table was necessary. If I had to venture a guess, I'd say it actually starts at $15422.


Some of this information may be slightly inaccurate, as it's been a while since I worked with this data.

Where's the table at $153D3 in your list? It tells the game where the enemies start at for the checkpoint; these values should be set to the slot number of the last enemy on the checkpoint page. That way, it knows where to start when you go to the next screen as well as what enemies to place on the checkpoint screen when you beam in. FF means no enemies are before or on the checkpoint stage.

Heh, all of your tables were slightly off. I think it's kinda odd you kept missing that first byte, since it's the byte for Cut Man. It's not so odd that you missed the earlier values (where the table was off by more than 1), though, since they're not AS important. I think my data is all correct; if not, then it's probably off by 12 decimal, but this shouldn't be the case. Thanks for letting me know what those 2 tables did and about that third table. Oh, also, some of the tables overlap because the last 2 bytes are pretty useless. I'm pretty sure the game doesn't use any of this data for stages 0A or 0B.
dan

Snap Dragon
Level: 43

Posts: 600/782
EXP: 534516
For next: 30530

Since: 03-15-04

Since last post: 20 hours
Last activity: 14 hours
Posted on 05-31-05 06:05 PM Link | Quote
Yes, the values are slightly off, because I may have been looking at Ice Man's data instead. I thought you already knew about the enemy table, so I never included it.
Pages: 1 2Add to favorites | "RSS" Feed | Next newer thread | Next older thread
Acmlm's Board - I2 Archive - Rom Hacking - megaman 6 editor? | |


ABII


AcmlmBoard vl.ol (11-01-05)
© 2000-2005 Acmlm, Emuz, et al



Page rendered in 0.018 seconds.