Language…
13 users online: Alexis Franco,  AmperSam,  Anorakun, CalHal, Daizo Dee Von, Nitrogen, OrangeBronzeDaisy, ShoopDaWhoop, SMW Magic, StackDino, Suru48,  Telinc1, The Bluenote X - Guests: 81 - Bots: 192
Users: 65,868 (2,182 active)
Latest user: AthleticCoast81

UberASM Retry System (+ Multiple Checkpoints) v0.6.0

PatchUberASM

Update v0.4.1:
  • Moved the lose_lives table in tables.asm after other tables, since it's the least important one.
  • Added disable_room_cp_sfx table in tables.asm to avoid playing the room entrance checkpoint SFX in certain sublevels.
  • Improved SFX echo handling:
    • Now the SFX echo will always work the first time entering a room, even if the echo delay is very high.
    • Now the SFX echo will stay enabled even when changing music in the middle of the level (assuming the new music doesn't disable echo altogether). This is most notable for P-Switch and Starman songs, which will keep the level's echo, and thus also the SFX echo, while (and after) they play.
  • Added the !infinite_lives setting back, to more easily toggle between infinite and finite lives. The lose_lives table can still be used to prevent life loss in some levels when using !infinite_lives = 0.
  • Fixed compilation error introduced in v0.3.3, when using !sram_feature = 1 and the SRAM+/BW-RAM+ patch is installed in the ROM.
  • Moved Retry's SRAM tables to a separate sram_tables.asm file for more simplicity of use and consistency, and made it insert only when using !sram_feature = 1 to save some ROM space.
  • Changed checks for ObjecTool, Lunar Magic v3.0+, Lunar Magic's Sprite 19 Fix, AddmusicK, PIXI and Individual Dragon Coin Save from compile time to run time, so Retry should work fine if those are inserted after it.
  • Changed most values read from ROM from compile time to runtime reads, so Retry will work fine if those are hex edited afterwards.
  • Added rom.asm for label definitions of ROM addresses used by Retry and refactored misc.asm.


Update v0.4.2:
  • Fixed pipe entrance timer being inconsistent when respawning if dying while riding Yoshi (thanks to gui for reporting this).
Update v0.4.3:
  • Fixed Yoshi's tongue being able to extend/retract while the Retry prompt is active, which could also cause unintended side effects, for example revive Mario but keep the prompt active if Yoshi eats a powerup (thanks to gui for reporting this).
  • Now Retry can work properly in Yoshi Wings levels! If setting a Yoshi Wings sublevel to give a checkpoint upon entrance (or if using a custom midway set to the Yoshi Wings level's main entrance), Mario will respawn doing the "shoot up" animation with Blue Yoshi as if he just got the Yoshi Wings (also if saving the game and reloading in the level after a reset). Any other type of checkpoint gotten in the level (vanilla midway, secondary exit checkpoint, etc.) will turn the level back to normal (no Yoshi, no wings animation, pits are deadly again).
  • Fixed some of Bowser's addresses not resetting upon Retry which could cause unintended effects, like him throwing Magikoopas immediately when re-entering the boss fight (thanks to gui for reporting this).
  • Fixed lightning effect still happening while the Retry prompt is active (only when using !prompt_freeze = 2).
  • Moved lx5's Custom Powerups reset code out of extra.asm.
>Moved lx5's Custom Powerups reset code out of extra.asm.

Finally!!!
Also thanks for making this awesome resource, it's impressively superior to the old patch lol.
Originally posted by lx5
Finally!!!

lmao
I have to admit I still haven't tested if the powerups integration actually works in this version of Retry, I kinda ignored its existence until now. I guess I'll just wait for someone to try it out and find out it's broken :D

Originally posted by lx5
Also thanks for making this awesome resource, it's impressively superior to the old patch lol.

Thanks very much!
Update v0.4.4:
  • Fixed bug where dying on the same frame as getting a midway would make the music reset (thanks to  LouisDoucet for reporting this).
  • Fixed Reappearing Boos fading in and out while the Retry prompt is active (only when !prompt_freeze = 2).
  • Fixed game crash that happened when using !prompt_freeze = 0 and dying shortly after hitting a message box.
  • Fixed vanilla autoscrollers still running when dying with !prompt_freeze = 0 (thanks to Mega for reporting this).
  • Fixed compilation error when setting !use_custom_midway_bar = 0 (thanks to  MarioFanGamer for reporting this).
  • Fixed a theoretically possible but very unlikely bug that could cause unintended issues or game crashes if the Retry prompt tiles were to get uploaded on a frame where a lot of other processing was happening.
Update v0.4.5:
  • Fixed integration with lx5's Custom Powerups (thanks to NixKillsMyths for reporting this):
    • Fixed compilation error when using both Retry and the Custom Powerups.
    • Removed redundant code in level_init_3.asm that is already run in the Custom Powerups UberASM.
  • Fixed Sumo Bro's Lightning falling while the Retry prompt is active (only when !prompt_freeze = 2).
  • Added an optional !prompt_cooldown option (set to $10 frames by default) to disable pressing up/down to move the cursor for a given amount of frames after the Retry prompt has opened, to avoid accidental level exits (thanks to  AmperSam for the suggestion).
  • Fixed some mode 7 values not being reset by Retry, and added some small optimizations on level load.
Update v0.4.6:
  • Fixed bug that can happen on level retry when inserting the code using  Fernap's UberASMTool 2.0.
  • Updated custom midways instructions with clearer explanations (HTML provided by  AmperSam).
Update v0.5.0:
  • Small documentation updates.
  • Fixed bonus game 1UPs still moving while the Retry prompt is active (only when !prompt_freeze = 2).
  • Implemented simple sprite status bar that can optionally be enabled with the !sprite_status_bar setting and configured from the settings and the tables in sprite_status_bar_tables.asm. It includes item box, coins, Yoshi Coins and timer that can each be optionally enabled for each level.
Whoa, a sprite status bar?#ab{O_O}

I know it isn’t a sprite replica of the vanilla status bar, but super cool regardless! If I can get on my computer, I will test this feature and see whatever issues I stumble across. Not sure how easy it would be to draw some more tiles for the existing sprite counters (like the vanilla ‘TIME’ text and the ‘X’ in the coin counter) or add support for the remaining vanilla counters, but just a suggestion.
My Mode 0 guide.

My Discord server. It has a lot of archived ASM stuff, so check that out!

Update v0.5.1:
  • Improved speed of Retry prompt drawing.
  • Now the sprite status bar's coin counter and Yoshi Coins display use different tiles (they both look like the standard coin tile by default), so you can edit them independently.
  • Now the sprite status bar's Yoshi Coins counter auto detects how many coins need to be displayed in levels when having collected all of them, even if the amount is hex edited in the ROM or the Per Level Yoshi Coins Amount patch is used. Additionally, the counter will work properly if the amount is more than 5.
  • Updated the ram_map.txt doc to a better readable HTML document.
Hi,  Kevin! It's really nice to see a feature being extremely renewed with lots of features and some optimizations, and that might be why I'm going to make you a suggestion.

How about adding a feature where the Retry message is made of sprites, so as not to bug the Layer 3 backgrounds?
Er, the retry prompt already uses sprite tiles, so there should be no problem.
My Mode 0 guide.

My Discord server. It has a lot of archived ASM stuff, so check that out!

Originally posted by Heitor Porfirio
How about adding a feature where the Retry message is made of sprites, so as not to bug the Layer 3 backgrounds?

As Anas said, it already works like that (and the patch version too unless you use a very old version), so there's no problem with layer 3.
Hi there again! I wanted to come here to say something that is the fault of the retry (patch version).

Some Kaizo hacks that I play, every time I try to delete an empty save file and press Y to exit and try to play normally, the hack simply crashes in an incredible way (but not in a good way). I don't know if this has already been fixed in the UberASM version.
Originally posted by Heitor Porfirio
Hi there again! I wanted to come here to say something that is the fault of the retry (patch version).

Some Kaizo hacks that I play, every time I try to delete an empty save file and press Y to exit and try to play normally, the hack simply crashes in an incredible way (but not in a good way). I don't know if this has already been fixed in the UberASM version.

That was an issue with the old version of the Retry patch, it was fixed in Retry 2.06c and never appeared with this version of Retry.
Hello there! I have some small suggestions for a future update:

1) Would be cool if the coin counter had an option to use an extra 8x8 tile like the 'X' graphic to be more consistent to the vanilla one.

2) Not sure how complicated it would be, but would also be nice if the timer had an option to look more like the vanilla one (especially with the 'TIME' text), perhaps with a separate font for the numbers which could use palette 0x8 so you don't have to remap the timer's palette to a palette row that'll potentially be affected by color math. Otherwise, just make the current timer use separate graphics from the coin counter.

3) I noticed that the sprite dragon coin counter shows the fifth dragon coin collected, which is fine, but there could be another option to just make the whole counter disappear when you collect the fifth DC.

4) A simple lives counter would be cool for levels where you'll lose lives. Otherwise, the player might lose track of their lives. Even cooler if it shows the vanilla 'MARIO/LUIGI' text, but if you can't, then maybe a simple 8x8 tile.

5) There should be a checkpoint option (preferably without the custom checkpoint option) where if you enter a level from the main entrance's level and you die there, then the second level's entrance will count as the main entrance. This would be useful for custom no-Yoshi intros and if you don't want the second level's secondary entrances to count as separate CPs.

6) Bonus star and score counters would be nice too, but not necessary.

7) Lastly, there is a bug where if retry is enabled in the intro level and you die there, you'll go back to the title screen but when you get past it, the overworld might be glitched. If this is feasible to fix, go ahead, otherwise I can work around it.

That's all! Aside from these issues, this retry is great and I didn't find any other major issues so far!
My Mode 0 guide.

My Discord server. It has a lot of archived ASM stuff, so check that out!

I also have a suggestion! It would be cool if there was an define that would reset the ON/OFF state every time Mario dies and restart the level.

This would be very useful for levels that use a lot of ON/OFF shenanigans to not have cheeses. If possible, this can be applied globally or on a per-level basis.

Keep up the great work with the patch! #smrpg{y}
Originally posted by Heitor Porfirio
I also have a suggestion! It would be cool if there was an define that would reset the ON/OFF state every time Mario dies and restart the level.

This would be very useful for levels that use a lot of ON/OFF shenanigans to not have cheeses. If possible, this can be applied globally or on a per-level basis.

That's already how it works, ON/OFF is reset on death. If you don't want that for some level it's possible with some external asm but I don't see much value in adding it to Retry. Anyway, you keep posting suggestions for stuff that's already implemented, how about using the patch before doing so?

Originally posted by Anas
Hello there! I have some small suggestions for a future update:

1) Would be cool if the coin counter had an option to use an extra 8x8 tile like the 'X' graphic to be more consistent to the vanilla one.

2) Not sure how complicated it would be, but would also be nice if the timer had an option to look more like the vanilla one (especially with the 'TIME' text), perhaps with a separate font for the numbers which could use palette 0x8 so you don't have to remap the timer's palette to a palette row that'll potentially be affected by color math. Otherwise, just make the current timer use separate graphics from the coin counter.

4) A simple lives counter would be cool for levels where you'll lose lives. Otherwise, the player might lose track of their lives. Even cooler if it shows the vanilla 'MARIO/LUIGI' text, but if you can't, then maybe a simple 8x8 tile.

6) Bonus star and score counters would be nice too, but not necessary.

I'm likely not adding more features to the status bar, it's only meant to be a simple replacement to the vanilla one without replicating it 1:1, with just the things that could be most useful in general. I had implemented it for a personal project so I figured I could just port it here, but I don't really want to overcomplicate it. I'm sure there's better alternatives if you want more counters displayed.

Originally posted by Anas

3) I noticed that the sprite dragon coin counter shows the fifth dragon coin collected, which is fine, but there could be another option to just make the whole counter disappear when you collect the fifth DC.

I can add a define to decide if to display them or not.

Originally posted by Anas

5) There should be a checkpoint option (preferably without the custom checkpoint option) where if you enter a level from the main entrance's level and you die there, then the second level's entrance will count as the main entrance. This would be useful for custom no-Yoshi intros and if you don't want the second level's secondary entrances to count as separate CPs.

This seems like a very niche feature that wouldn't add much, besides you can already achieve this with like an invisible midway block or something that sets the midway flag.

Originally posted by Anas

7) Lastly, there is a bug where if retry is enabled in the intro level and you die there, you'll go back to the title screen but when you get past it, the overworld might be glitched. If this is feasible to fix, go ahead, otherwise I can work around it.

In theory dying in the intro should bring you back there, not the title screen, so it's weird that it would happen. Unless maybe you got a game over? I'm not sure how that'd work, but setting infinite lives for the intro level should fix that.
Originally posted by Kevin
Originally posted by Heitor Porfirio
I also have a suggestion! It would be cool if there was an define that would reset the ON/OFF state every time Mario dies and restart the level.

This would be very useful for levels that use a lot of ON/OFF shenanigans to not have cheeses. If possible, this can be applied globally or on a per-level basis.

That's already how it works, ON/OFF is reset on death. If you don't want that for some level it's possible with some external asm but I don't see much value in adding it to Retry. Anyway, you keep posting suggestions for stuff that's already implemented, how about using the patch before doing so?

Oh, sorry. When I use the patch, I take a closer look before making any suggestions.
I understand if you wanna keep the status bar simple. Also, as for the main entrance checkpoint thingy, what I meant is that it would useful if you make a custom no-Yoshi intro with this block and the next level after the intro already uses a checkpoint but for some reason you don’t want to use the extra checkpoint option. Finally, as for the intro level bug, at least that’s how I remember it when I last tested it, and I already worked around the glitched lives counter issue by putting a 1-up in the player’s position.
My Mode 0 guide.

My Discord server. It has a lot of archived ASM stuff, so check that out!

PatchUberASM