diff options
author | 7Soul <5599828+7Soul@users.noreply.github.com> | 2020-10-02 17:40:11 -0300 |
---|---|---|
committer | 7Soul <5599828+7Soul@users.noreply.github.com> | 2020-10-02 17:40:11 -0300 |
commit | 7744981f35f3270d90421b13af1de633811059c0 (patch) | |
tree | a84095922f98428e8e717209c452a808051ff003 | |
parent | c1a8d3474259cf712ef00b29a24316cd90794a80 (diff) |
Fixed a glitch caused by this tutorial
-rw-r--r-- | Add-a-new-text-scrolling-speed.md | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/Add-a-new-text-scrolling-speed.md b/Add-a-new-text-scrolling-speed.md index bce5b11..b69d657 100644 --- a/Add-a-new-text-scrolling-speed.md +++ b/Add-a-new-text-scrolling-speed.md @@ -6,6 +6,7 @@ This tutorial details how to add an additional text speed option to the options 1. [Define wram constant](#1-define-wram-constant) 2. [Add instant text to options](#2-add-instant-text-to-options) 3. [Fix text speed while holding A or B](#3-fix-text-speed-while-holding-a-or-b) +4. [Fix `<SCROLL>` command](#4-fix-scroll-command) ## 1. Define wram constant @@ -120,7 +121,7 @@ Note how `lb de, <previous>, <next>` correspond to the order defined with the `O ## 3. Fix text speed while holding A or B -There is one last quirk that needs fixing. When you hold the A or B buttons while text is scrolling it does so at `TEXT_DELAY_FAST`. Since our custom text speed is faster than that we need to make sure this doesn't happen. +There are a few extra quirks to fix. When you hold the A or B buttons while text is scrolling it does so at `TEXT_DELAY_FAST`. Since our custom text speed is faster than that we need to make sure this doesn't happen. Edit [home/print_text.asm](../blob/master/home/print_text.asm): @@ -135,4 +136,30 @@ Edit [home/print_text.asm](../blob/master/home/print_text.asm): jr .updatedelay ``` +## 4. Fix `<SCROLL>` command + +Lastly, the `<SCROLL>` command, which is used when a stat is sharply raised or lowered (among a couple other cases), will cause the line to skip instantly, giving you no time to read it. We'll force a delay into it. + +`_ContText` fallsthrough into `_ContTextNoPause` but it doesn't need the delay, so we'll replace the fallthrough with a jump + +Edit [home/text.asm](../blob/master/home/text.asm): + +```diff +_ContText:: + ... + 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 +``` + And there you go.
\ No newline at end of file |