summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author7Soul <5599828+7Soul@users.noreply.github.com>2020-10-02 17:40:11 -0300
committer7Soul <5599828+7Soul@users.noreply.github.com>2020-10-02 17:40:11 -0300
commit7744981f35f3270d90421b13af1de633811059c0 (patch)
treea84095922f98428e8e717209c452a808051ff003
parentc1a8d3474259cf712ef00b29a24316cd90794a80 (diff)
Fixed a glitch caused by this tutorial
-rw-r--r--Add-a-new-text-scrolling-speed.md29
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