News:

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

Main Menu

[SM] Rooms erasing from map on reload; Crateria sky glitch.

Started by dewhi100, May 02, 2017, 08:23:44 PM

Previous topic - Next topic

dewhi100

More issues with the map. I connected the landing site to a room in Brinstar; when I come back, some bands in the sky have random garbage textures instead of the clouds. One other thing, too. Some map squares go black and have to be re-explored before they show on the map/mini-map. What causes issues like this?

I did notice that the dark squares are where there originally were no rooms; is this part of the issue?

PHOSPHOTiDYL

JAM's scrolling sky fix v.2 for the clouds.

Kejmap 2.0 might work for the map.
Maybe try JAM's map data cleaner before anything else.

Scyzer's save/load patch tends to fix most map issues.
However, it does some sram checksum magic rendering save states useless.

Backup your rom & test just to see if it works.

JAM's supermap patch is based on the save/load patch.
It changes ram addresses & item indexes though, so it's even more work setting up.

I haven't done much with maps yet, this is from personal experience breaking roms.


benox50

1) Enter 40 on door bitflag setting in door editor.

=>That for doors connecting to other submaps, this tell the game a new submap map must be loaded


2) Use patch save/load (smile RF apply it auto Iv heard anyway)

3) Use one of the many sky scroll glitch fix patch (I didnt test them yet myself but they sound useful)


dewhi100

Thanks for the recommendations and the tip with the door bitflags.

Scyzer's patch works like a charm, but I can't find JAM's sky fix. Where does that live?

Edit: I immediately found it after looking one last time. But still, it would be helpful if it was under the resources/hacks section of the site. I suppose that's up to JAM to decide, though...

Scyzer

Quote from: PHOSPHOTiDYL on May 03, 2017, 03:59:59 AM
Scyzer's save/load patch tends to fix most map issues.
However, it does some sram checksum magic rendering save states useless.

That patch doesn't do anything with save states. Dunno where you got that idea?

Quote from: benox50 on May 03, 2017, 09:40:56 AM
2) Use patch save/load (smile RF apply it auto Iv heard anyway)

Nope. RF never has and never will auto apply any patches or changes to the ROM outside of whatever data the user is directly editing.
I did it this way to avoid any situations in which data could automatically be written to a location that another patch might commonly use.

As for your problems @dewhi100, the map issue happens because the original SM only saves map data for the tiles that are used within each in the original. Any map data placed outside of the original map won't be saved and thus will be blank when loading a game. My save/load map patch makes it so all tiles are saved, which fixes this problem.
The background scrolling issue happens because you changed a door which leads into the landing site. The BG in scrolling sky rooms is adjusted by the BG_Data pointer when loading, and it reads the door pointer leading into these rooms to know which section of the sky to load by matching it to a list.
When you changed the room leading into the Landing Site, you also changed the door. The new door is not in the BG_Data list, which means no sky is loaded and it continues to use whatever data is stuck in the VRAM for BG1/Layer 2.
Keep in mind that ALL scrolling sky rooms have a Layer 2 within the room's Level Data, but this Layer 2 is not used (it's literally just wasted space and can be deleted).


dewhi100

New Saga of the Scrolling Sky: JAM's patch + unchecking what I believe is the "stay grey" FX option (it's labeled "unknown") results in garbage being drawn to the sky when I load into the room. Reentering the room from a door works. Only reloading breaks it. I can just use the neighboring rooms and not have to use JAM's patch, but raising the issue is better than not raising it I guess. Meanwhile I suppose I'll have to create an IPS that undoes the first one so I can get on with my life hack.