Global settings are those Retry options that are used project-wide, these options must be in the retry_config/settings_global.asm file. To override any of these settings you can change the Local Settings.
Options reset the corresponding counters/items when the player dies and/or when going to the Overworld. Useful for
Kaizo and collab hacks.
| Name |
Description |
!fast_transitions |
If 1, level transitions will be much faster than usual. |
!initial_facing_fix |
If 1, it fixes the issue where some sprites don't face Mario when entering a level for the first time. It's suggested to enable the fix to make sprite behavior consistent between the first and all the next level reloads.
|
!time_up_fix |
If 1, it fixes the issue where dying in a level with the timer set to 0 shows the "TIME UP!" message when exiting the level. |
!item_box_fix |
If 1, it fixes the issue where you can drop the reserve item in the item box by pressing Select while Mario is dying or while the Retry prompt is shown. |
!no_yoshi_intro_fix |
If 1, it fixes the weird behavior where levels 12E-13B always use the "No Yoshi Sign 2" intro regardless of the tileset / custom "No Yoshi Intro" patches. |
!disable_hurry_up |
If 1, it removes the "Hurry up!" SFX and tempo hike effect that happens when reaching 100 seconds on the timer. If not disabled, the death song will be played when dying during the tempo hike effect (regardless of the settings), to reset the tempo of the song after respawning. |
!pipe_entrance_freeze |
This controls whether to freeze sprites during a level's pipe entrance (it doesn't affect other entrance types).
- 0 = don't freeze
- 1 = freeze (recommended)
- 2 = vanilla: freeze only if sprites were frozen when exiting the previous room (e.g. if you entered a pipe, but not if you entered a door). This can be inconsistent if exiting and re-entering the level.
|
!always_start_select |
If 1, Start+Select out of a level is always possible. Otherwise, it's only possible with the instant Retry option, or with the Retry prompt with the "Exit" option disabled, or if the level is already beaten like vanilla. |
!death_camera_lock |
If 1, the camera won't scroll vertically during Mario's death animation. |
!reset_dsx |
If 1, DSX (dynamic) sprites status is reset on level load. |
!reset_boo_rings |
This determines what happens when you die on the title screen.
- 0 = vanilla (Boo Rings will retain the previous positions, not recommended for Kaizo).
- 1 = reset Boo Rings positions on death.
- 2 = reset Boo Rings positions on death and on level load.
|
!title_death_behavior |
This determines what happens when you die on the title screen.
- 0 = vanilla (after dying a glitched version of the title screen will load, causing a softlock. Use this if you either don't care or want to do something custom with it.)
- 1 = play vanilla death animation and reload title screen (note: death music only works with AddmusicK!).
- 2 = instantly reload the title screen.
- 3 = instantly reload the title screen and play the death music (title screen music will restart).
|
| Name |
Description |
!death_sfx
!death_sfx_addr
|
SFX to play when dying (!death_sfx = $00 → no SFX). Only played if the death song is skipped (for example, it's not played if the level uses vanilla death, but it is played when Retry is enabled).
You can find a suitable death sfx inside resources/amk/sfx (see AddmusicK Resources for details).
|
!death_jingle_alt |
The alternative death jingle which will be played after the !death_sfx when "Exit" is chosen in the prompt (only available when you're using AddmusicK). $01-$FE: custom song number, $FF = do not use this feature.
You can find a suitable alt death jingle inside resources/amk/music (to be paired with the custom sfx: see AddmusicK Resources for details).
|
!option_sfx
!option_sfx_addr
|
SFX to play when selecting an option in the prompt (!option_sfx = $00 → no SFX). |
!cursor_sfx
!cursor_sfx_addr
|
SFX to play when the prompt cursor moves (!cursor_sfx = $00 → no SFX). |
!room_cp_sfx
!room_cp_sfx_addr
|
SFX to play when getting a checkpoint through a room transition (!room_cp_sfx = $00 → no SFX). This is meant as a way to inform the player that they just got a room checkpoint.
If enabled, you can disable it in specific sublevels: see Local Settings - %no_room_cp_sfx.
|
!enter_level_sfx
!enter_level_sfx_addr
!enter_level_delay
|
SFX to play when entering a level from the Overworld (!enter_level_sfx = $00 → no SFX) similarly to what SMB3 does. If the SFX gets cut out, increase !enter_level_delay. |
!default_sfx_echo |
This controls the default SFX echo option for all levels and what the Local Settings - %sfx_echo option does.
- 0 = sfx echo is disabled in every sublevel by default, and using %sfx_echo will enable the sfx echo for the specific sublevel.
- 1 = sfx echo is enabled in every sublevel by default, and using %sfx_echo will disable the sfx echo for the specific sublevel.
Note: this is irrelevant if not using AddmusicK.
Note: !default_sfx_echo = 1 has no effect if !use_legacy_tables = 1 (see Misc settings).
|
| Name |
Description |
!sram_feature |
If 1, a custom SRAM expansion patch will be inserted as well. By default, it will save the custom checkpoint status and death counter to SRAM. To make your own stuff saved as well, check out the SRAM Tables.
Note that this is incompatible with the SRAM+ or BW-RAM+ patches: if they are detected, it will be disabled automatically. Check out SRAM & BW-RAM Info for details.
|
!save_on_checkpoint |
If 1, the game will automatically save everytime a new checkpoint is obtained (when touching a midway or getting a cp on a room transition). If using this, make sure there's no softlocks (for example, a level is unbeatable from one of the checkpoints). |
!save_after_game_over |
If 1, the game will automatically save after getting a game over. This can be useful when paired with the option of not reloading some data from SRAM after a game over (see SRAM Tables for info), if you want some things to retain even if the player got a game over before saving them (for example, the death counter). This ensures that they will be saved to SRAM when this happens. |
| Name |
Description |
!fast_prompt |
If 1, the prompt will show up immediately after dying. Otherwise, it will show up halfway through (or right after, depending on !retry_death_animation) the death animation, but pressing A/B during it will skip the animation. |
!retry_death_animation |
- 0 = don't play the death animation when using instant Retry or prompt Note: for Retry prompt, part of the death animation still plays if not using !fast_prompt
- 1 = play the full death animation before showing the Retry prompt (note: make sure
!fast_prompt = 0)
- 2 = play the full death animation before reloading the level with instant Retry
- 3 = play the full death animation in both cases (effects 1 and 2)
|
!prompt_show_delay |
How many frames after dying the prompt shows up when using !fast_prompt = 0 and !retry_death_animation = 0. |
!prompt_speed |
How fast the prompt expands/shrinks. It must be a factor of 72. |
!prompt_freeze |
- 0 = sprites and animations won't freeze when the prompt is shown.
- 1 = sprites and most animations will freeze, but some animations will still play (for example, Magikoopa Magic's flashing).
- 2 = sprites and all animations will freeze.
|
!prompt_cooldown |
Cooldown (max $7F) for disabling up/down when the prompt shows up, which prevents selecting the "Exit" option for a few frames. Can be useful to prevent accidentally pressing "Exit" when dying while pressing up/down.
Set to $00 to disable this.
|
!exit_animation |
This controls what happens when hitting "Exit" on the Retry prompt. Note: when dying before going to Game Over, the vanilla animation will be always played regardless.
- 0 = exit the level immediately and don't play the death music (except when the level music is sped up).
- 1 = exit the level immediately and play the death music (note that the vanilla song will be cut short).
- 2 = play the death animation and music, then exit the level.
|
!no_exit_option |
Set to 1 if you don't want the "Exit" option in the prompt. This will also allow the player to Start+Select when having the prompt.
Note: you can also change this on the fly (see RAM Info page for details).
|
!no_prompt_box |
Set to 1 to remove the black box, but leave the options on screen.
Note: you can also change this on the fly (see RAM Info page for details).
|
!dim_screen |
Set to 1 to dim the screen while the prompt is shown. |
!brightness |
Only used if !dim_screen = 1. Can go from 0 to 15: 15 = max brightness, 0 = black. |
!exit_button
!exit_button_address
|
This defines a button that will count as hitting "Exit" on the menu while the prompt is shown. It could be handy if you disabled the exit option, but still want a quick way of exiting the level. By default it's "Select".
Set !exit_button = $00 to disable this.
For more information on these values, see $7E0016 on the SMWCentral RAM Map.
|
!no_prompt_draw |
If 1, the Retry prompt won't be drawn to the screen (but still function normally). Use this for a minimalistic Retry, without having to use the instant option. You should also use !no_prompt_box = 1 or the black box will still appear (also you probably want !no_exit_option = 1). Note that this renders all the prompt options below useless (and no sprite GFX space needs to be reserved). |
!text_x_pos
!text_y_pos
|
X/Y position of the first tile in the prompt (the cursor on the first line). Changing this only works if the black box is disabled (if enabled, default values will be used instead).
Note: you can also change these on the fly (see RAM Info page for details).
|
!cursor_setting |
- 0 = the cursor is static
- 1 = the cursor blinks like in vanilla menus
- 2 = the cursor oscillates slowly right and left
|
!cursor_oscillate_speed |
How fast the cursor oscillates (only used when !cursor_setting = 2) Higher = slower. Possible values: 0 to 5. |
!prompt_wave
!prompt_wave_speed
|
If !prompt_wave = 1, the letters in the option selected on the Retry prompt will wave up and down. The speed is determined by !prompt_wave_speed. Possible values: 0 to 5 (0 = fastest, 5 = slowest).
Note: this is incompatible with the black box (use !no_prompt_box = 1).
|
!letter_palette
!cursor_palette
|
Palette row used by the letters and cursor (note: they use sprite palettes). |
!no_score_sprites_on_death |
If 1, score sprites (points, 1-Up) will be removed when dying, if Retry prompt is enabled in the level. This can be used to replace their graphics ($29, $38-$39, $44-$47, $54-$57) with the Retry prompt tiles instead of having to reserve sprite tiles for the prompt. |
Sprite tile number for the tiles used by the prompt ($00-$FF = SP1/SP2, $100-$1FF = SP3/SP4). These will be overwritten dynamically when the prompt needs to show up. The default values should be fine in most cases, unless you're using some other patch that reserves tiles in SP1, for example: Sprite Status Bar, 32x32 Player Tilemap, lx5's Custom Powerups, lx5's Dynamic Spriteset System. In this case you may need to change some of them to avoid other tiles being overwritten. You can see the tile number in LM's 8x8 Tile Editor, by taking the value you see in the bottom left - $400 (e.g., "Tile 0x442" → $42, "Tile 0x542" → $142). These aren't used if you don't use the Retry prompt or if !no_prompt_draw = 1.
| Name |
Description |
!tile_curs |
Sprite tile used for the cursor (note: if the prompt box is enabled, this uses two adjacent 8x8 tiles) |
!tile_blk |
Sprite tile used for the black background (note: if the prompt box is enabled, this uses two adjacent 8x8 tiles) |
!tile_r |
Sprite tile used for the "R" letter |
!tile_e |
Sprite tile used for the "E" letter |
!tile_t |
Sprite tile used for the "T" letter |
!tile_y |
Sprite tile used for the "Y" letter |
!tile_x |
Sprite tile used for the "X" letter (note: if the "Exit" option is disabled, this won't be used) |
!tile_i |
Sprite tile used for the "Y" letter (note: if the "Exit" option is disabled, this won't be used) |
Settings for the sprite status bar that comes with the Retry system.
| Name |
Description |
!sprite_status_bar |
If 1, a sprite status bar will be installed allowing you to display the item box, coin/Yoshi coin counter and timer in levels with sprites, which keeps layer 3 working properly. The sprites use dynamic tiles, meaning you'll need to reserve some GFX space in your SP slots for them. Item box, coins and timer use one 16x16 tile each, but they only need to be reserved when actually using them, and you can choose which tiles to use for each level (or to just disable any or all of them in specific levels) calling the API routine "configure_sprite_status_bar" in your level/gamemode UberASM (see API documentation). |
!remove_vanilla_status_bar |
If 1, it disables the original game's status bar (including the IRQ) which prevents layer 3 from messing up. Differently than the normal remove status bar patch, this keeps the status bar functions (lives, coins, bonus stars, score, timer, reserve item) running in the background. Suggested to use if you're using !sprite_status_bar = 1. Don't use this if you're using similar patches such as "RAM Toggled Status Bar". |
Default sprite tile and palette to use for each element in the status bar. These settings can be overridden per-level by using the configure_sprite_status_bar API routine (see API Information). If both !default_xxx_tile and !default_xxx_palette are $00, the item will be hidden by default.
| Name |
Description |
!default_item_box_tile |
Sprite tile number used by the item box by default |
!default_item_box_palette |
Palette used by the item box by default |
!default_timer_tile |
Sprite tile number used by the timer by default |
!default_timer_palette |
Palette used by the timer by default |
!default_coin_counter_tile |
Sprite tile number used by the coin counter by default |
!default_coin_counter_palette |
Palette used by the coin counter by default |
!default_lives_counter_tile |
Sprite tile number used by the lives counter by default (disabled by default). |
!default_lives_counter_palette |
Palette used by the lives counter by default (the included GFX is tailored for vanilla palette 9, using the berry colors) |
!default_bonus_stars_tile |
Sprite tile number used by the bonus stars counter by default (disabled by default) |
!default_bonus_stars_palette |
Palette used by the bonus stars counter by default (the included GFX is tailored for vanilla palette 9, using the berry colors) |
Settings to change the position of all the sprite status bar elements on the screen.
| Name |
Description |
!item_box_x_pos |
X position on the screen to draw the Item Box |
!item_box_y_pos |
Y position on the screen to draw the Item Box |
!timer_x_pos |
X position on the screen to draw the timer |
!timer_y_pos |
Y position on the screen to draw the timer |
!coin_counter_x_pos |
X position on the screen to draw the normal coin counter |
!coin_counter_y_pos |
Y position on the screen to draw the normal coin counter |
!dc_counter_x_pos |
X position on the screen to draw the Dragon/Yoshi coin counter |
!dc_counter_y_pos |
Y position on the screen to draw the Dragon/Yoshi coin counter |
!lives_counter_x_pos |
X position on the screen to draw the lives counter |
!lives_counter_y_pos |
Y position on the screen to draw the lives counter |
!bonus_stars_x_pos |
X position on the screen to draw the bonus stars counter |
!bonus_stars_y_pos |
Y position on the screen to draw the bonus stars counter |
| Name |
Description |
!always_draw_box |
If 1, the item box will always be drawn (if set to be drawn for the specific level). Otherwise, it will only be drawn when having an item in reserve. |
!8x8_item_box_tile |
If 1, the item box will use an 8x8 tile instead of a 16x16 tile. |
!draw_all_dc_collected |
If 1, when collecting all DCs in a level they'll be displayed in the status bar. If 0, they won't be displayed (like in vanilla). |
!default_coin_counter_behavior |
Changes which of the coin counter elements are drawn by default (assuming !default_coin_counter_tile and !default_coin_counter_palette enable these counters to be drawn):
- 0 = draw both coins and dragon coins by default
- 1 = don't draw coins by default (only dragon coins)
- 2 = don't draw dragon coins by default (only coins)
|
| Name |
Description |
!status_death_counter |
If 1, a death counter will replace the lives on the (vanilla) status bar. |
!status_death_word |
If 1, the "DEATHS" word will replace Mario's name on the status bar. If you want to customize the text or its palette, look in retry_config/code/hijacks/death_counter.asm. |
!ow_death_counter |
If 1, a death counter will be written to the Overworld border. Note: this only handles the counter, if you want other stuff like "DEATHS" appear, use LM's layer 3 editor. |
!ow_death_counter_x_pos |
Tile X position of the death counter on the Overworld. |
!ow_death_counter_y_pos |
Tile Y position of the death counter on the Overworld. |
!ow_death_counter_props |
YXPCCCTT properties of the death counter on the Overworld, configured as l3_prop(6,1). The first digit is the palette number, the second is the GFX page number (0 or 1). |