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 Super Mario World hacking: labmaster | 3 guests
Acmlm's Board - I2 Archive - Super Mario World hacking - Expanding the Overworld | |
Pages: 1 2Add to favorites | "RSS" Feed | Next newer thread | Next older thread
User Post
SoNotNormal

Fuzzy
Level: 34

Posts: 97/793
EXP: 248340
For next: 5311

Since: 07-01-05
From: Canada, eh?

Since last post: 6 hours
Last activity: 6 hours
Posted on 07-22-05 06:42 PM Link | Quote
Is there anyway to add more to the overworld? Like add another submap? SInce it only starts you with 6 and the main one up top, I need one more submap. Is it possible?
Rainbow Yoshi

Level: 30

Posts: 410/496
EXP: 159486
For next: 6383

Since: 04-08-05

Since last post: 14 hours
Last activity: 4 hours
Posted on 07-22-05 06:57 PM Link | Quote
I am sure its possible with ASM, I am not sure, but if you do the sub-map wont show up in Lunar Magic.
beneficii

Lakitu
Level: 36

Posts: 303/567
EXP: 299656
For next: 8454

Since: 06-27-04
From: Cordova, TN, USA

Since last post: 14 hours
Last activity: 6 hours
Posted on 07-22-05 07:03 PM Link | Quote
Originally posted by SoNotNormal
Is there anyway to add more to the overworld? Like add another submap? SInce it only starts you with 6 and the main one up top, I need one more submap. Is it possible?


Find out how the game loads worlds, make a little sub routine that has an exception for your map (if the index of the map to load is within the normal range, it should go to the tables; if not, then it should go to your map), expand the ROM and you could get it in a jiffy. Of course, Lunar Magic probably wouldn't support editing it, so you'd have to do it by hand (i.e. by hex).
SoNotNormal

Fuzzy
Level: 34

Posts: 98/793
EXP: 248340
For next: 5311

Since: 07-01-05
From: Canada, eh?

Since last post: 6 hours
Last activity: 6 hours
Posted on 07-22-05 07:30 PM Link | Quote
Ouch . . yeah, maybe I'll just stick with 6 . . LOL thanks not really good at hex editing unless I know what exact code to enter
Lordlazer

Paragoomba
Level: 14

Posts: 50/66
EXP: 13046
For next: 25

Since: 03-20-04

Since last post: 19 days
Last activity: 8 days
Posted on 07-22-05 07:43 PM Link | Quote
I had an idea that you could make the sub-world in Lunar Magic and then move it to a new space, so in effect you are making a new sub-world but duplicating it (I believe you'd have to reroute or change their values (however you want to look at it) to accommodate the mario paths, level entrances, events, etc). By doing it this way you are making it in Lunar Magic and then transferring it with a new identity. I plan on doing this if I ever get the time...though to do what I'd want to do...well I don't know how big the rom would have to be or do you not have to worry about expanding it first (because you're expanding it manually, adding code?)?
FuSoYa
Defender of Relm
Level: 26

Posts: 213/255
EXP: 99529
For next: 2746

Since: 03-15-04
From: Moon

Since last post: 7 days
Last activity: 7 hours
Posted on 07-22-05 10:11 PM Link | Quote
Originally posted by beneficii

Find out how the game loads worlds, make a little sub routine that has an exception for your map (if the index of the map to load is within the normal range, it should go to the tables; if not, then it should go to your map), expand the ROM and you could get it in a jiffy.


The game doesn't actually load individual worlds. The entire overworld map is decompressed to RAM once, at the start of the game.

This affects how the rest of the overworld is handled. For example, map event modifications do not specify a submap destination, just an offset for RAM.
Sukasa

Boomboom
Error 349857348734534: The system experienced an error.
Level: 57

Posts: 1373/1981
EXP: 1446921
For next: 39007

Since: 02-06-05
From: *Shrug*

Since last post: 6 days
Last activity: 1 day
Posted on 07-22-05 10:15 PM Link | Quote
OK, if that is so, then does that mean that "starting a game" includes loading a saved game from SMW, or loading a savestate? For me, if I have edited the OW, and load a savestate in yoshi's island, the main OW changes show up immediately.
FuSoYa
Defender of Relm
Level: 26

Posts: 214/255
EXP: 99529
For next: 2746

Since: 03-15-04
From: Moon

Since last post: 7 days
Last activity: 7 hours
Posted on 07-22-05 10:56 PM Link | Quote
"At the start of the game" means when you've selected a game slot and number of players on the title screen. So yes, that includes loading a saved SRAM game, but not a savestate made after the title screen.

New event map changes might still take effect using a savestate, but the old ones already applied won't be reversed (as the game isn't reloading the overworld map to get rid of them).
HyperLamer
<||bass> and this was the soloution i thought of that was guarinteed to piss off the greatest amount of people

Sesshomaru
Tamaranian

Level: 118

Posts: 5973/8210
EXP: 18171887
For next: 211027

Since: 03-15-04
From: Canada, w00t!
LOL FAD

Since last post: 2 hours
Last activity: 2 hours
Posted on 07-23-05 12:37 AM Link | Quote
So does that mean, if you could figure out how the game determines the main OW's size, you could shrink it and put new submaps in the leftover space?
beneficii

Lakitu
Level: 36

Posts: 311/567
EXP: 299656
For next: 8454

Since: 06-27-04
From: Cordova, TN, USA

Since last post: 14 hours
Last activity: 6 hours
Posted on 07-23-05 01:28 AM Link | Quote
Originally posted by FuSoYa
Originally posted by beneficii

Find out how the game loads worlds, make a little sub routine that has an exception for your map (if the index of the map to load is within the normal range, it should go to the tables; if not, then it should go to your map), expand the ROM and you could get it in a jiffy.


The game doesn't actually load individual worlds. The entire overworld map is decompressed to RAM once, at the start of the game.

This affects how the rest of the overworld is handled. For example, map event modifications do not specify a submap destination, just an offset for RAM.



Dur! I remember learning this months ago, when somebody was warning about hacking and save states. In that case, perhaps you can have the game load a new map at a point, and find some way to store the changed data of the old one (like cleared tiles, new routes opened up, new landmasses, etc.). How feasible is that, FuSoYa?
HyperLamer
<||bass> and this was the soloution i thought of that was guarinteed to piss off the greatest amount of people

Sesshomaru
Tamaranian

Level: 118

Posts: 5978/8210
EXP: 18171887
For next: 211027

Since: 03-15-04
From: Canada, w00t!
LOL FAD

Since last post: 2 hours
Last activity: 2 hours
Posted on 07-23-05 01:47 AM Link | Quote
AFAIK loading the map is a slow process, which is why it only does it once during that 'Peach got kidnapped again ono' screen and decompresses it into SRAM.
KawaiiImoto-e

Hammer Brother
Level: 49

Posts: 915/1068
EXP: 852917
For next: 30966

Since: 03-15-04
From: In my own little complicated dreamworld

Since last post: 16 days
Last activity: 4 days
Posted on 07-23-05 02:56 AM Link | Quote
you may split the main overworld into different parts, you just have to cope with the same OW music, graphics and palette.

It may be possible to split the overworldmap in several pieces of submaps (6) and even load different musics for it. may even similar to the Super Bypasses for the levels.

I did quite some things on the overworld, but changing it to more, than just graphics, as it'll be loaded, I think it requires a lot of knowledge and ASM for SMW.
FuSoYa
Defender of Relm
Level: 26

Posts: 217/255
EXP: 99529
For next: 2746

Since: 03-15-04
From: Moon

Since last post: 7 days
Last activity: 7 hours
Posted on 07-23-05 03:30 AM Link | Quote
Originally posted by beneficii
In that case, perhaps you can have the game load a new map at a point, and find some way to store the changed data of the old one (like cleared tiles, new routes opened up, new landmasses, etc.). How feasible is that, FuSoYa?


I suppose it'd be possible, but there'd be some work involved. You'd need to load a new tile map for layer 2, a new layer 1 layout, and another level/directional info map. The game already has code to re-apply all tile map modifications based on passed events (for restoring from an SRAM save), but it'd have to be changed to account for which overworld is actually loaded. I'm not sure how noticeable of a delay in the game you'd get from switching overworlds like that...

The amount of work may also partly depend on whether you're going to try and increase the number of levels or events available, in which case you'd have to expand some tables (a couple of which are in RAM and SRAM IIRC).

HH's idea of partitioning the main overworld into submaps might be easier, even though you wouldn't get any extra area to work with. Might be a few tables to expand. One would have to look at the code to see how that'd work out.


Just don't ask me for help with any of this. I'd really rather not have to remember how the various bits of the overworld functions again.
beneficii

Lakitu
Level: 36

Posts: 315/567
EXP: 299656
For next: 8454

Since: 06-27-04
From: Cordova, TN, USA

Since last post: 14 hours
Last activity: 6 hours
Posted on 07-24-05 05:35 PM Link | Quote
Originally posted by FuSoYa
Originally posted by beneficii
In that case, perhaps you can have the game load a new map at a point, and find some way to store the changed data of the old one (like cleared tiles, new routes opened up, new landmasses, etc.). How feasible is that, FuSoYa?


I suppose it'd be possible, but there'd be some work involved. You'd need to load a new tile map for layer 2, a new layer 1 layout, and another level/directional info map. The game already has code to re-apply all tile map modifications based on passed events (for restoring from an SRAM save), but it'd have to be changed to account for which overworld is actually loaded. I'm not sure how noticeable of a delay in the game you'd get from switching overworlds like that...

The amount of work may also partly depend on whether you're going to try and increase the number of levels or events available, in which case you'd have to expand some tables (a couple of which are in RAM and SRAM IIRC).

HH's idea of partitioning the main overworld into submaps might be easier, even though you wouldn't get any extra area to work with. Might be a few tables to expand. One would have to look at the code to see how that'd work out.


Just don't ask me for help with any of this. I'd really rather not have to remember how the various bits of the overworld functions again.



Well, if we learned how it was done, surely then you would implement it?
FuSoYa
Defender of Relm
Level: 26

Posts: 219/255
EXP: 99529
For next: 2746

Since: 03-15-04
From: Moon

Since last post: 7 days
Last activity: 7 hours
Posted on 07-25-05 02:02 AM Link | Quote
If you mean add support to LM for whatever changes and/or code someone else creates to do this, all I can say is maybe. I can't really promise anything, as I'd prefer to maintain LM's bug fix only status. And I have other things to work on these days.
blackhole89

LOLSEALS
Moderator of ROM hacking
EmuNET IRC network admin
Head GM of TwilightRO
Level: 47

Posts: 816/971
EXP: 739208
For next: 26995

Since: 03-15-04
From: Dresden/Germany

Since last post: 14 hours
Last activity: 12 hours
Posted on 07-25-05 02:22 AM Link | Quote
There might be another way, considering you have some programming knowledge in both a high level PC language and 65c816 (SNES) assembler. (I actually got the SNES part of it done somewhen, but can't access it now due to being on holidays)
As the overworld data is stored decompressed in RAM and SRAM once you have started a game, you can easily write your own map change routine which loads the map from somewhere in the ROM. The PC programming part of the whole thing is about writing a map editor for whatever format you use to store your own maps in ROM. (You might as well figure out SMW's native compression method and hack LM to edit the maps at the location of your choice. Might be a little too much work for that though)
Keikonium
Banned
Level: NAN

Posts: 1957/-2459
EXP: NAN
For next: 0

Since: 04-02-04

Since last post: 63 days
Last activity: 9 hours
Posted on 07-25-05 10:02 AM Link | Quote
Since we are on the topic of overworld editing, how easy would it be for someone to create a patch that reloads the graphics of a submap/main map upon entry? I exit YI submap, and enter an ExGFX filled Star Road, only to see all the ExGFX messed up. I don't use a pipe or star to enter the new map.

Can this be fixed so the new graphics are loaded upon entry to a new map, just like the pipes/stars do?

I have tried, and the hex giberish is confusing.

EDIT:

Also, I remember that my very first question on this board was about expanding the overworld so it had more maps.


(edited by Keikonium on 07-25-05 01:03 AM)
XPeter

Fuzz Ball
Level: 42

Posts: 619/963
EXP: 501695
For next: 19667

Since: 01-24-05
From: South Ireland

Since last post: 1 hour
Last activity: 26 min.
Posted on 07-26-05 07:12 PM Link | Quote
The easiest solution here can be done with LM alone. Lets say you have worlds 1, 2, and 3. have one of the level events in world 2 completely overwrite layers 1 and 2 on world 1 with everything you want to appear on world 3. Then simply connect the end of world 2 to the start of world 1 to appear on world 3. But there are four disadvantages: 1. world 1 will use the same music as world 3. 2. Same palette too. 3. You can't revisit world 1 after activating the event to create world 3 in its place. 4. And i think the pipes, stars and exit tile destinations could clash too. Good idea though, no?
Red_Oxygen

Red Paragoomba
Level: 10

Posts: 4/53
EXP: 3830
For next: 584

Since: 07-27-05

Since last post: 95 days
Last activity: 93 days
Posted on 07-27-05 01:24 AM Link | Quote
how about this...

1)Have several save states of the overworld
a)Original game OW(unhacked)
b)Current Hacked OW
c)New Hacked OW

2) have the current OW be erased but player data saved

3)load original unhacked OW

4)apply savestate

5)patch player data on New OW

6)repeat
beneficii

Lakitu
Level: 36

Posts: 346/567
EXP: 299656
For next: 8454

Since: 06-27-04
From: Cordova, TN, USA

Since last post: 14 hours
Last activity: 6 hours
Posted on 07-27-05 01:32 AM Link | Quote
Originally posted by Red_Oxygen
how about this...

1)Have several save states of the overworld
a)Original game OW(unhacked)
b)Current Hacked OW
c)New Hacked OW

2) have the current OW be erased but player data saved

3)load original unhacked OW

4)apply savestate

5)patch player data on New OW

6)repeat


What exactly are you trying ot accomplish? I think that the user shouldn't have to do anything but simply play the game to have an expanded overworld.

Hmm, perhaps we can create an overworld level, like the way Kirby's Adventure does on the NES? You know, the overworld is just like a normal level?
Pages: 1 2Add to favorites | "RSS" Feed | Next newer thread | Next older thread
Acmlm's Board - I2 Archive - Super Mario World hacking - Expanding the Overworld | |


ABII


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



Page rendered in 0.014 seconds.