This section describes how to edit the Retry prompt by using the prompt_tilemap.asm file.
If you're here just because you're getting glitched sprite tiles when the Retry prompt shows up, check out the Basic Settings.
| Name | Description |
|---|---|
!prompt_tile_cursor!prompt_tiles_line1!prompt_tiles_line2
|
Sprite tile numbers used by the prompt tiles ($00-$FF = SP1/SP2, $100-$1FF = SP3/SP4). These will be uploaded dynamically during gameplay when needed (and only those that are needed).The default values should be fine in a lot of cases, since they just overwrite some Mario animation tiles that are not needed during death, but you may need to change them if you have some other patch installed that uses dynamic tiles (like 32x32 Mario or Custom Powerups) and you notice some glitchy tiles when the prompt appears.
|
!prompt_pal_letter!prompt_pal_cursor
|
The palette row used by the cursor and the letter tiles. Note that they use sprite palettes. |
| Name | Description |
|---|---|
!prompt_gfx_index_cursor!prompt_gfx_index_line1!prompt_gfx_index_line2
|
These options specify which tiles of the gfx file correspond to the tiles used for the cursor, for the first line and for the second line. The gfx files used for this are gfx/prompt1.bin (used when the black box is enabled) and gfx/prompt2.bin (used when the black box id disabled). The values are indexes to the tiles in the gfx file, starting from 0. So for example, with the default gfx files, the letter R would be index 3 (since it's the fourth tile).
|
!prompt_tile_index_line1!prompt_tile_index_line2
|
These settings is how you specify which tiles are actually drawn in the prompt for the two lines. To find this out, note down the string of all the letters specified by !prompt_gfx_index_line1 and !prompt_gfx_index_line2 (in the same order). Then, in the defines you put the tiles as indexes to this string you constructed.For example, the default settings specify RETY and XI, so the complete string is RETYXI. This means that R = 0, E = 1, T = 2, Y = 3, X = 4, I = 5.So, to draw RETRY on the first line !prompt_tile_index_line1 = 0,1,2,0,3, and to draw EXIT on the second line !prompt_tile_index_line2 = 1,4,5,2.If a line has multiple words, you can use -1 in the list to denote a space, without having to add extra gfx for it (if the box is enabled, the space will be the black square, otherwise it just skips to the next tile).In these lists you can specify any amount of tiles you want, but keep in mind that if the black background is enabled you'll be constrained by the prompt box/bar size (although you can change !prompt_box_text_x_pos/!prompt_bar_text_x_pos in settings_global.asm if you need more space). If it is disabled, you'll be constrained by the screen space.Note that !prompt_tile_index_line2 is unused if the exit option is disabled (!no_exit_option = 1), so you can comment it to save some ROM space (add ; before it).
|
If you want to avoid hex brainrot you can use this simple tool to generate the settings for you, based on the text you want to show on the prompt. Then just copy them and paste them over the corresponding settings in the prompt_tilemap.asm asm file.
Both lines are case sensitive (usually you want everything to be all caps though), and the second line can be left empty if you're not using the "Exit" option (!no_exit_option = 1).
The tool output will be: how many values need to be specified in the prompt tiles lists (you need to choose these values yourself), the contents of the gfx/tile index lists, and a visual of how the prompt1.bin/prompt2.bin gfx file should be layed out (you need to edit the gfx yourself). In the gfx layout, "▶" denotes the cursor tile and "⬜" the "empty" tile (black or transparent square depending on the gfx file).
Note that in some cases some defines might start with ; and it's important that it is kept in the asm file.