Language…
18 users online: bradcomp, cletus_deletus, DanMario24YT, Domokun007, Green Jerry, GRIMMKIN, hhuxy, iRhyiku, JezJitzu, lo fang 123, Maw, Nayfal, Nemesis1407, sinseiga, SMW Magic,  Tahixham, TheXander, Torchkas - Guests: 293 - Bots: 381
Users: 64,795 (2,374 active)
Latest user: mathew

More overworld levels and events

  • Pages:
  • 1
  • 2
More Overworld Tiles (Github)

Fully implements Lunar Magic's "more levels and overworld events" feature. This increases the amount of translevels on the overworld to 256 (up from 96) and the amount of overworld events to 255 (up from 128).

Note that this patch requires some form of SRAM expansion to hold the data from the added translevels and events. If you're not comfortable with coding ASM, I recommend you to use my More SRAM (Github) patch, which will work with the More Overworld Tiles patch seamlessly.
Huh, I had no idea SMW kept backup saves, even though there's no real need since it saves in like 1 flop; I doubt that's why Nintendo chose to not save lives or powerups to the save file, though...

Probably the one thing in the newest LM I'd actually use... If antivirus programs weren't considering it some ransomware (someone scan the new LM in Trend Micro and see what ransomware name it spits out)
Let's milk Sunny Milk. Then she'll have enough money to fund Sunny Milk Real Estate.
Everypony's digging with a shovel
Not working, when I patch it, LM says it's not a SMW ROM, HxD shows a bunch of random differences and says the files are different sizes, it works fine in SNES9X both with and without the patch other than a bad checksum on the patched version. Not sure if it's on LM's end or what, it probably is. Where exactly does LM read the addresses? As in, the part that tells the game to load 3822D for Level 104's layer 1?

EDIT: According to HxD the changes are at PC Addresses 20D, 18D3, and more. The patch expands the ROM from 1025KB to 3420KB for some reason. The patch RATS tag is at PC 86F13, but I don't know if that matters any...
Let's milk Sunny Milk. Then she'll have enough money to fund Sunny Milk Real Estate.
Everypony's digging with a shovel
You realize we have this for a SRAM improvement patch, right?
This is specifically to make use of the new translevels and events the newest Lunar Magic adds in via a keyboard shortcut. That patch doesn't mention the new levels, just a quick compatibility update. Though I'm not so sure...
Let's milk Sunny Milk. Then she'll have enough money to fund Sunny Milk Real Estate.
Everypony's digging with a shovel
Originally posted by Wiimeiser
Not working, when I patch it, LM says it's not a SMW ROM (...)

Can't reproduce. Ensure that the relevant Lunar Magic hijacks are installed prior to patching, as this patch needs to remap the contents of those hijacks. There's instructions to this included in the patch -- I'll add some Asar warnings in the next version to prevent faulty patching.

Originally posted by Hamtaro126
You realize we have this for a SRAM improvement patch, right?

The patch you link does not, by itself, enable the extra translevels and events as this patch does.
Here's what I did this time:
Open the ROM
Go to level 1C5
Insert Sprite 19
Save, ignoring the message
Open the OW Editor
Go to Level 140
Load the Boss Test Room, copy the background from Forest Fortress, and save
Go to event 0x29 (Red Switch Palace) at random
Place event tile 8E (Donut Secret 1 Tease) at the bottom of Vanilla Fortress waterfall
Place another below the Koopa Kid near Chocolate Island 1
Save
Place two Yoshi's House tiles near said Koopa Kid, on the tiny outcrops
Save
Change the Left Yoshi's House to Level 139, Event 77, Right on Normal Exit, "Enable Down" and "Save Prompt", and reveal on Event 28
Change Top Secret Area Message 1 to "In Heaven's stead, we smite clothing."
Change the name of level 112 to "Puppysmiles"
Connect levels 112 and 113 with path tile 23
Set level 139 as the teleport destination for the middle Koopa Kid
Save
Exit LM
Make a manual backup
Reopen LM and the ROM
Replace level 139 with Chocolate Island 2 secret exit
Open the OW editor
Copy the island near Top Secret Area into the area below the Layer 1 Tilemaps
Copy the left half of the shipwreck tile into the top right of the Special World
Copy the Main OW into the bottom right of the Event Tiles
Save
Install the new LM hack
Change Yoshi's House to Level 140 and event F9
Change the name of level 140 to "Scotch Tape"
Change level 1DB message 2 to "Super Mario Bros. 4 Yellow Illusion" with the special characters for all but the last two letters
Change the previously unset Yoshi's House to level 192, event CD, and to have the Midway Point be obtained
Set level 192 as the teleport destination for the first Koopa Kid
Save
Change Level 192 to have the boss activate the secret exit
Disable the path fade effect
Save
Open level 192
Open address 306F5
Move the entrance to the top of the slope
Save
Test the ROM and attempt to enter a few levels
Everything works fine, but I can't move off level 140 even though directions are enabled.
Duplicate level 140 and restore te original 104
Make a shortcut pipe to Vanilla Dome 1
Save and test again
Basic code works perfectly fine as far as I can tell, no issues here.
The flags have issues, 192's 3up flag was set to 1 and the game ignores the starting settings, but that's about it. The directions even save properly, even though they can't be enabled from the beginning

Assembling gives no problem, however, I can no longer use pipes, which I was perfectly capable of doing before I inserted the patch. If anyone wants to try to figure this one out, feel free. Looks like not installing the patch is the way to go, though...
Let's milk Sunny Milk. Then she'll have enough money to fund Sunny Milk Real Estate.
Everypony's digging with a shovel
Originally posted by Wiimeiser
This is specifically to make use of the new translevels and events the newest Lunar Magic adds in via a keyboard shortcut. That patch doesn't mention the new levels, just a quick compatibility update. Though I'm not so sure...


Originally posted by Ragey
The patch you link does not, by itself, enable the extra translevels and events as this patch does.


I'm certain someone can make that version of the patch with all this stuff, along with the original versions as seperate directories (like how the SRAM and BW-RAM versions are seperated), to the patch section.
Originally posted by Wiimeiser
I can no longer use pipes

Confirmed and fixed for the next version, I missed a LM hijack.


Originally posted by Wiimeiser
The flags have issues, 192's 3up flag was set to 1

I can't reproduce this, neither by myself or using the patch you provided. Entering the stage spawns the moon properly until it is collected.


Originally posted by Wiimeiser
the game ignores the starting settings

I also can't reproduce this; which level ID(s) are giving you this issue?
Originally posted by Ragey

Originally posted by Wiimeiser
The flags have issues, 192's 3up flag was set to 1

I can't reproduce this, neither by myself or using the patch you provided. Entering the stage spawns the moon properly until it is collected.
Originally posted by Wiimeiser
the game ignores the starting settings

I also can't reproduce this; which level ID(s) are giving you this issue?

These two actually happened before I inserted your patch, as I was just testing to see what would happen without it to compare and contrast. That's when I did the duplicate of 140 and restoring 104. Since they didn't happen on your end the patch appears to have fixed them.
Let's milk Sunny Milk. Then she'll have enough money to fund Sunny Milk Real Estate.
Everypony's digging with a shovel
Updated (link in first post)

This version fixes the pipe glitch mentioned by Wiimeiser as well as a "tile revealed" animation glitch that could occur for events 80+. Additionally, I added SA-1 and FastROM support.
Quote
Code
if read($009F19) != $22 || read($01E762) != $22 || read($048509) != $22 || read($04DCA5) != $22 
  print "At least one Lunar Magic hijack is missing; aborting. Read the instructions, kupo."
  !valid = 0
endif

Why not just assert?
Code
assert read($009F19) == $22 || read($01E762) == $22 || read($048509) == $22 || read($04DCA5) == $22,
"At least one Lunar Magic hijack is missing; aborting. Read the instructions, kupo."  

(linebreak added because tables)

I'll try this later and report back with results; seems like you have issues figured out so it's cool.
Originally posted by Erik
Why not just assert?

That makes the error message huge.

Though 'assert 0, "At least one Lunar Magic hijack is missing; aborting. Read the instructions, kupo."' would be a better idea than !valid = 0.
<blm> zsnes users are the flatearthers of emulation
Why not directly use the error command at that point? ("assert 0" seems like just a hacky way of achieving "error")
Feel free to visit my website/blog - it's updated rarely, but it looks pretty cool!
I'm not sure if it exists, and even if it does, I'm not sure if it emits a fatal error. I know assert does, but unknown commands don't.

If error is fatal, then yes, it's a better idea than assert 0.
<blm> zsnes users are the flatearthers of emulation
error exists and does the same thing as assert 0 except that error raises the error on pass 1 instead of pass 2.
AFAIK, both
Code
error "blah"

and
Code
warn "blah"

exist and throw errors/warnings respectively. I think you actually added them yourself (I'm pretty sure they existed before I started messing around with Asar), though I don't think they were ever documented in manual.txt and they aren't too widely used, so forgetting about their existence isn't too surprsing. They are documented in the new WIP manual, though.
Feel free to visit my website/blog - it's updated rarely, but it looks pretty cool!
The reason I implemented the "error" like that is because I couldn't get Asar to print a nice message otherwise. For example, using the `error` keyword actually prints the error twice and then attempts to process another pass, ignoring the error, leading to a big mess in the terminal.

That said, I'll leave it up to the patch moderators to change this to be consistent with how other patches handle this, as it isn't relevant for how the patch works, anyway.
I finished the remapping work and added the SRAM backup feature back. Link. Note that this expands the SRAM to 4KB. It's probably incompatible with SRAM/BWRAM Plus, and I didn't test with SA-1.
Note that the hijack check is huge now, and it's very possible I missed some. So yeah I'd appreciate more testing; the more LM hijacks the better.
Updated!

- Uses proper Asar assertions;
- Fixed SA1 and FastROM addressing;
- Fixed a small issue regarding file backups;
- Removed the SRAM expansion; everything fits snugly inside SMW's default SRAM.

Download link

This patch is still in beta - bug reports are welcome!
  • Pages:
  • 1
  • 2