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 - Only Still Preliminary, But Current Data Is Quite Convincing: SMB3 Airship Retreat Points
  
User name:
Password:
Reply:
 

UserPost
beneficii
Posts: 120/567
Originally posted by Acmlm
I thought it just picked a random level pointer on the map (since it'd have to be on a valid spot you can access) and moved there ... but this would be a problem in World 2 for example if the airship goes into the secret area, so I guess this explains why it uses separate data

And good job on finding it too


Now find where the starting position in X is stored (shouldn't be hard, I found the table for Y long ago but X is constant), and make it like Y so you can really start anywhere on the map, and that'll make world maps even more customizable


Perhaps, now that I'm mostly done with the pipes.

EDIT: BTW, hadn't you ever noticed that in a hack, sometimes the airship will retreat to somewhere inaccessible?

EDIT 2: I found the x starting position. It's at 16258, but it's hardcoded in, and so changing it for one world will change it for all. Perhaps I can pull off an ASM hack somehow. That could work out.
Acmlm
Posts: 1125/1173
I thought it just picked a random level pointer on the map (since it'd have to be on a valid spot you can access) and moved there ... but this would be a problem in World 2 for example if the airship goes into the secret area, so I guess this explains why it uses separate data

And good job on finding it too


Now find where the starting position in X is stored (shouldn't be hard, I found the table for Y long ago but X is constant), and make it like Y so you can really start anywhere on the map, and that'll make world maps even more customizable
beneficii
Posts: 118/567
Originally posted by DurfarC
They're not helpful; they're very helpful. If I get this to work, among with moving the lock blocks, I can design my world maps to look more different from the original ones. Two of the biggest mysteries in SMB3 seem to be solved. Thanks again!


Thanks! I'm glad to hear that my work is appreciated! I'm going to work on pipes next!

DurfarC
Posts: 404/483
They're not helpful; they're very helpful. If I get this to work, among with moving the lock blocks, I can design my world maps to look more different from the original ones. Two of the biggest mysteries in SMB3 seem to be solved. Thanks again!
beneficii
Posts: 117/567
EDIT: BTW, the same position is often repeated many times throughout the level data. It's very redundant.

NOTE: All numbers in hexadecimal unless otherwise mentioned!

First thing, the airship start-off point is always at the castle and it's always sprite #2 in each world, even if that sprite is set to something other than the ship start-off point.

Now, it seems quite random where the airship retreats to, and it is. But I think I found two sets of points right here:

1700E:
Choice of y positions. There are 12 per world, and so this lasts 7E bytes (7 worlds each have an airship, not 8--remember). It's written like this:

yyyy 0000
y = y position in Discombobulator or Workshop + 2

1709E:
Choice x positions. Again, there are 12 per world, and so this lasts 7E bytes too. Here:

xxxx ssss
x = x position
s = screen number

I'm not sure if anybody had found this before, but here you go. Here are some of my thoughts on this:

The two x and y positions always link up, for example if it chooses byte #5 in the y set, then it will choose byte #5 in the x set. If it reads 1701A in the y set, then it will read 170AA in the x set, etc.

The aircraft will only retreat thrice, after which it holds its ground. When it picks, say byte #A, then byte #B will be its next choice, ending with byte #C. If it starts with byte #12, then it will probably go back around to byte #1 (i.e. the very first byte) next, then end at byte #2.

Alright, tell me what you guys think. I hope this and the lock data are helpful.
Acmlm's Board - I2 Archive - Rom Hacking - Only Still Preliminary, But Current Data Is Quite Convincing: SMB3 Airship Retreat Points


ABII


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



Page rendered in 0.003 seconds.