diff --git a/constants/wram_constants.asm b/constants/wram_constants.asm index 86cf4c3..1f4ff68 100644 --- a/constants/wram_constants.asm +++ b/constants/wram_constants.asm @@ -37,6 +37,7 @@ DEF TEXT_DELAY_MASK EQU %111 const BATTLE_SHIFT ; 6 const BATTLE_SCENE ; 7 +DEF TEXT_DELAY_NONE EQU %000 ; 0 DEF TEXT_DELAY_FAST EQU %001 ; 1 DEF TEXT_DELAY_MED EQU %011 ; 3 DEF TEXT_DELAY_SLOW EQU %101 ; 5 diff --git a/engine/menus/options_menu.asm b/engine/menus/options_menu.asm index a25638c..3d83a97 100644 --- a/engine/menus/options_menu.asm +++ b/engine/menus/options_menu.asm @@ -109,6 +109,7 @@ GetOptionPointer: const OPT_TEXT_SPEED_FAST ; 0 const OPT_TEXT_SPEED_MED ; 1 const OPT_TEXT_SPEED_SLOW ; 2 + const OPT_TEXT_SPEED_NONE ; 3 Options_TextSpeed: call GetTextSpeed @@ -118,7 +119,7 @@ Options_TextSpeed: bit D_RIGHT_F, a jr z, .NonePressed ld a, c ; right pressed - cp OPT_TEXT_SPEED_SLOW + cp OPT_TEXT_SPEED_NONE jr c, .Increase ld c, OPT_TEXT_SPEED_FAST - 1 @@ -131,7 +132,7 @@ Options_TextSpeed: ld a, c and a jr nz, .Decrease - ld c, OPT_TEXT_SPEED_SLOW + 1 + ld c, OPT_TEXT_SPEED_NONE + 1 .Decrease: dec c @@ -162,10 +163,12 @@ Options_TextSpeed: dw .Fast dw .Mid dw .Slow + dw .Instant -.Fast: db "FAST@" -.Mid: db "MID @" -.Slow: db "SLOW@" +.Fast: db "FAST @" +.Mid: db "MID @" +.Slow: db "SLOW @" +.Instant: db "INSTANT@" GetTextSpeed: ; converts TEXT_DELAY_* value in a to OPT_TEXT_SPEED_* value in c, @@ -176,6 +179,8 @@ GetTextSpeed: jr z, .slow cp TEXT_DELAY_FAST jr z, .fast + cp TEXT_DELAY_NONE + jr z, .none ; none of the above ld c, OPT_TEXT_SPEED_MED lb de, TEXT_DELAY_FAST, TEXT_DELAY_SLOW @@ -183,13 +188,18 @@ GetTextSpeed: .slow ld c, OPT_TEXT_SPEED_SLOW - lb de, TEXT_DELAY_MED, TEXT_DELAY_FAST + lb de, TEXT_DELAY_MED, TEXT_DELAY_NONE ret .fast ld c, OPT_TEXT_SPEED_FAST - lb de, TEXT_DELAY_SLOW, TEXT_DELAY_MED + lb de, TEXT_DELAY_NONE, TEXT_DELAY_MED ret + +.none + ld c, OPT_TEXT_SPEED_NONE + lb de, TEXT_DELAY_SLOW, TEXT_DELAY_FAST + ret Options_BattleScene: ld hl, wOptions diff --git a/gfx/tilesets/roofs.pal b/gfx/tilesets/roofs.pal index fd000bc..1c32cdd 100644 --- a/gfx/tilesets/roofs.pal +++ b/gfx/tilesets/roofs.pal @@ -11,8 +11,8 @@ RGB 06,09,07, 04,05,06 ; nite ; group 3 (dungeons) - RGB 21,21,21, 11,11,11 ; morn/day - RGB 21,21,21, 17,08,07 ; nite + RGB 19,19,31, 11,11,25 ; morn/day + RGB 11,10,24, 08,07,13 ; nite ; group 4 (Ecruteak) RGB 31,19,00, 27,10,05 ; morn/day @@ -107,5 +107,5 @@ RGB 14,07,17, 13,00,08 ; nite ; group 27 (Silent Hills) - RGB 20,31,14, 11,23,05 ; morn/day - RGB 09,13,08, 06,09,04 ; nite + RGB 09,31,23, 10,22,22 ; morn/day + RGB 03,15,17, 02,10,15 ; nite diff --git a/home/print_text.asm b/home/print_text.asm index 48a445a..56ad3f1 100644 --- a/home/print_text.asm +++ b/home/print_text.asm @@ -30,6 +30,7 @@ PrintLetterDelay:: ; text speed ld a, [wOptions] and %111 + jr z, .end jr .updatedelay .fast diff --git a/home/text.asm b/home/text.asm index 2d8c9f7..82849a4 100644 --- a/home/text.asm +++ b/home/text.asm @@ -483,9 +483,16 @@ _ContText:: ld a, [wLinkMode] or a call z, UnloadBlinkingCursor - ; fallthrough + jr _ContTextNoPause.not_instant _ContTextNoPause:: + ld a, [wOptions] + and TEXT_DELAY_MASK + cp TEXT_DELAY_FAST + jr nz, .not_instant + ld c, 15 + call DelayFrames +.not_instant push de call TextScroll call TextScroll