summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorColton G. Rushton <colton51919@gmail.com>2020-01-19 17:06:53 -0400
committerColton G. Rushton <colton51919@gmail.com>2020-01-19 17:06:53 -0400
commit8d4513d2ee706913b4fab27ddca8931bec13f659 (patch)
tree94aa21c51d96355b7127046f947145d41cc72791
parent320b70b601356e1ac0fbd5090a8d3b9ed6746d91 (diff)
Added in a new wiki page explaining how to restore the move grammar to how it was in Japanese Crystal, just in a localized state now.
-rw-r--r--Restore-and-localize-the-Japanese-move-grammar.md165
1 files changed, 165 insertions, 0 deletions
diff --git a/Restore-and-localize-the-Japanese-move-grammar.md b/Restore-and-localize-the-Japanese-move-grammar.md
new file mode 100644
index 0000000..8647209
--- /dev/null
+++ b/Restore-and-localize-the-Japanese-move-grammar.md
@@ -0,0 +1,165 @@
+In Japanese, there are five ways to say "*POKéMON* used *MOVE*!":
+
+- "*POKéMON*の *MOVE* つかった!" ("*POKéMON* used *MOVE*!")
+- "*POKéMON*の *MOVE*した!" ("*POKéMON* did *MOVE*!")
+- "*POKéMON*の *MOVE* した!" ("*POKéMON* did *MOVE*!" for long move names)
+- "*POKéMON*の *MOVE* こうげき!" ("*POKéMON*'s *MOVE* attack!")
+- "*POKéMON*の *MOVE*!" ("*POKéMON*'s *MOVE*!")
+
+This tutorial will showcase how to localize and restore the grammar table that once held the code responsible for showing these five ways. This tutorial will also fix grammatical issues with some of the move text.
+
+
+## Contents
+
+1. [Add in new, translated move text and fix other text](#1-add-in-new-translated-move-text-and-fix-other-text)
+2. [Make the move text show properly ingame](#2-make-the-move-text-show-properly-ingame)
+
+## 1. Add in new, translated move text and fix other text
+
+Edit [data/text/common_2.asm](../blob/master/data/text/common_2.asm):
+
+```diff
+ _ActorNameText::
+ text "<USER>@"
+ text_end
+
+_UsedMove1Text::
+- text_start
++ text " used"
+- line "used @"
++ line "@"
+ text_end
+
+_UsedMove2Text::
++_UsedMove3Text::
+- text_start
++ text " did"
+- line "used @"
++ line "@"
+ text_end
++
++_UsedMove4Text::
++_UsedMove5Text::
++ text "'s"
++ line "@"
++ text_end
++
+_UsedInsteadText::
+- text "instead,"
++ text " instead used"
+- cont "@"
++ line "@"
+ text_end
+
+_MoveNameText::
+ text_ram wStringBuffer2
+ text_end
+-
+- text_end ; unused
+
+_EndUsedMove1Text::
++_EndUsedMove2Text::
++_EndUsedMove3Text::
++_EndUsedMove5Text::
+ text "!"
+ done
+
+-_EndUsedMove2Text::
+- text "!"
+- done
+-
+-_EndUsedMove3Text::
+- text "!"
+- done
+-
+_EndUsedMove4Text::
+- text "!"
++ text " attack!"
+ done
+-
+-_EndUsedMove5Text::
+- text "!"
+- done
+```
+
+## 2. Make the move text show properly ingame
+
+Edit [engine/battle/used_move_text.asm](../blob/master/engine/battle/used_move_text.asm):
+
+```diff
+ push hl
+ farcall CheckUserIsCharging
+ pop hl
+ jr nz, .grammar
+
+ ; update last move
+ ld a, [wMoveGrammar]
+ ld [hl], a
+ ld [de], a
+
+.grammar
+ call GetMoveGrammar ; convert move id to grammar index
+-
+-; everything except 'instead' made redundant in localization
+
+ ; check obedience
+ ld a, [wAlreadyDisobeyed]
+ and a
+- ld hl, UsedMove2Text
+ ret nz
+
+ ; check move grammar
+ ld a, [wMoveGrammar]
+- cp $3
++ and a
+- ld hl, UsedMove2Text
++ ld hl, UsedMove1Text
+- ret c
++ ret z
++ dec a
+- ld hl, UsedMove1Text
++ ld hl, UsedMove2Text
++ ret z
++ dec a
++ ld hl, UsedMove3Text
++ ret z
++ dec a
++ ld hl, UsedMove4Text
++ ret z
++ ld hl, UsedMove5Text
+ ret
+
+UsedMove1Text:
+ text_far _UsedMove1Text
+ text_asm
+ jr UsedMoveText_CheckObedience
+
+UsedMove2Text:
+ text_far _UsedMove2Text
+ text_asm
++ jr UsedMoveText_CheckObedience
++
++UsedMove3Text:
++ text_far _UsedMove3Text
++ text_asm
++ jr UsedMoveText_CheckObedience
++
++UsedMove4Text:
++ text_far _UsedMove4Text
++ text_asm
++ jr UsedMoveText_CheckObedience
++
+-UsedMove2Text:
++UsedMove5Text:
+ text_far _UsedMove2Text
+ text_asm
+UsedMoveText_CheckObedience:
+; check obedience
+ ld a, [wAlreadyDisobeyed]
+ and a
+ jr z, .GetMoveNameText
+-; print "instead,"
++; print "instead used"
+ ld hl, .UsedInsteadText
+ ret
+``` \ No newline at end of file