News:

Don't forget to visit the main site! There's lots of helpful docs, patches, and more!

Main Menu

Old Hacks 'n' Broken Maps?

Started by junkrares, June 02, 2024, 04:52:52 PM

Previous topic - Next topic

junkrares

I have been playing Super Metroid hacks for the better part of two decades, and I have always wondered why there are so many old hacks where the map breaks when you reload your save. Some more popular hacks off the top of my head with this behavior are Legacy, Airy, SKT, etc.

So, what is it about these hacks that broke the maps? Is it easy to fix them -- is the fix the same for every hack, or is it some deeper issue? I really enjoy playing some of the older hacks I grew up with on real hardware -- but losing your visual cues to progress is quite annoying if you're not playing on an emulator.

neen

there are several patches that fix this. kejmap is what was used long ago (might even be built into smile 2.5?), scyzer's save/load is what most people use now (there is a known issue with the asm version of this if you try to assemble it with asar, you should use xkas, not asar or just apply the ips instead).

it should be relatively possible to apply either one to most any hack, but like with most hacking problems it's hard to say for certain that any one patch will work for everything (check freespace usage to avoid conflicts).

junkrares

#2
Quote from: neen on June 02, 2024, 05:03:24 PM
there are several patches that fix this. kejmap is what was used long ago (might even be built into smile 2.5?), scyzer's save/load is what most people use now (there is a known issue with the asm version of this if you try to assemble it with asar, you should use xkas, not asar or just apply the ips instead).

it should be relatively possible to apply either one to most any hack, but like with most hacking problems it's hard to say for certain that any one patch will work for everything (check freespace usage to avoid conflicts).

Interesting. I'll try IPS patching Save/Load to some of them and see what happens. What is the original root cause of this? Just the tools used at the time?

EDIT: That didn't work as expected. Patched my already-patched Airy rom, and got a bunch of glitches. File load screen had e-tanks everywhere, map was full of garbage sprites, and then went black when I tried to load the game. Oh well.  :lol:

H A M

Quote from: junkrares on June 02, 2024, 06:17:34 PM
Quote from: neen on June 02, 2024, 05:03:24 PM
there are several patches that fix this. kejmap is what was used long ago (might even be built into smile 2.5?), scyzer's save/load is what most people use now (there is a known issue with the asm version of this if you try to assemble it with asar, you should use xkas, not asar or just apply the ips instead).

it should be relatively possible to apply either one to most any hack, but like with most hacking problems it's hard to say for certain that any one patch will work for everything (check freespace usage to avoid conflicts).

Interesting. I'll try IPS patching Save/Load to some of them and see what happens. What is the original root cause of this? Just the tools used at the time?

EDIT: That didn't work as expected. Patched my already-patched Airy rom, and got a bunch of glitches. File load screen had e-tanks everywhere, map was full of garbage sprites, and then went black when I tried to load the game. Oh well.  :lol:
start a new save

Ambureon

Quote from: junkrares on June 02, 2024, 06:17:34 PMWhat is the original root cause of this?

from what i remember, vanilla super metroid is only built to "remember" map tiles you've visited if they're actually part of the vanilla map -- so any romhack that changes the map screen ends up breaking in that exact same way upon loading a saved game from the title screen, as the game only remembers cleared map tiles if they correspond to vanilla map coordinates.

nodever2

HAM is right, these patches change the save format of the game and are NOT backwards compatible with existing saves that were created before the patch was applied. So normally you'd have to start a new save file to really test this properly.

However I have an idea for a possible workaround you could try:
-Save an emulator state
-Apply the patch
-Load the state
-Save your game

From there hopefully it would be saved successfully in the new save format. That's just theoretical, though.

junkrares

Quote from: H A M on June 03, 2024, 12:10:08 AM
start a new save

Well now I feel foolish.  :lol:

Quote from: Ambureon on June 03, 2024, 12:21:58 AM
from what i remember, vanilla super metroid is only built to "remember" map tiles you've visited if they're actually part of the vanilla map -- so any romhack that changes the map screen ends up breaking in that exact same way upon loading a saved game from the title screen, as the game only remembers cleared map tiles if they correspond to vanilla map coordinates.

That makes a lot of sense, looking at how the map breaks. The odd chunks and checkering of "visited" rooms in no particular pattern.

Thank you!