summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xdata/pokemon/unown_words.asm65
-rwxr-xr-xengine/pokedex/unown_dex.asm49
-rw-r--r--main.asm6
3 files changed, 115 insertions, 5 deletions
diff --git a/data/pokemon/unown_words.asm b/data/pokemon/unown_words.asm
new file mode 100755
index 00000000..6ddd0f46
--- /dev/null
+++ b/data/pokemon/unown_words.asm
@@ -0,0 +1,65 @@
+unownword: MACRO
+x = 1
+rept STRLEN(\1)
+ db STRSUB(\1, x, 1) - "A" + FIRST_UNOWN_CHAR
+x = x + 1
+endr
+ db -1
+ENDM
+
+UnownWords:
+; entries correspond to UNOWN_* form constants
+ dw UnownWordA
+ dw UnownWordA
+ dw UnownWordB
+ dw UnownWordC
+ dw UnownWordD
+ dw UnownWordE
+ dw UnownWordF
+ dw UnownWordG
+ dw UnownWordH
+ dw UnownWordI
+ dw UnownWordJ
+ dw UnownWordK
+ dw UnownWordL
+ dw UnownWordM
+ dw UnownWordN
+ dw UnownWordO
+ dw UnownWordP
+ dw UnownWordQ
+ dw UnownWordR
+ dw UnownWordS
+ dw UnownWordT
+ dw UnownWordU
+ dw UnownWordV
+ dw UnownWordW
+ dw UnownWordX
+ dw UnownWordY
+ dw UnownWordZ
+
+UnownWordA: unownword "ANGRY"
+UnownWordB: unownword "BEAR"
+UnownWordC: unownword "CHASE"
+UnownWordD: unownword "DIRECT"
+UnownWordE: unownword "ENGAGE"
+UnownWordF: unownword "FIND"
+UnownWordG: unownword "GIVE"
+UnownWordH: unownword "HELP"
+UnownWordI: unownword "INCREASE"
+UnownWordJ: unownword "JOIN"
+UnownWordK: unownword "KEEP"
+UnownWordL: unownword "LAUGH"
+UnownWordM: unownword "MAKE"
+UnownWordN: unownword "NUZZLE"
+UnownWordO: unownword "OBSERVE"
+UnownWordP: unownword "PERFORM"
+UnownWordQ: unownword "QUICKEN"
+UnownWordR: unownword "REASSURE"
+UnownWordS: unownword "SEARCH"
+UnownWordT: unownword "TELL"
+UnownWordU: unownword "UNDO"
+UnownWordV: unownword "VANISH"
+UnownWordW: unownword "WANT"
+UnownWordX: unownword "XXXXX"
+UnownWordY: unownword "YIELD"
+UnownWordZ: unownword "ZOOM"
diff --git a/engine/pokedex/unown_dex.asm b/engine/pokedex/unown_dex.asm
new file mode 100755
index 00000000..1b66a4ac
--- /dev/null
+++ b/engine/pokedex/unown_dex.asm
@@ -0,0 +1,49 @@
+UpdateUnownDex:
+ ld a, [wUnownLetter]
+ ld c, a
+ ld b, NUM_UNOWN
+ ld hl, wUnownDex
+.loop
+ ld a, [hli]
+ and a
+ jr z, .done
+ cp c
+ ret z
+ dec b
+ jr nz, .loop
+ ret
+
+.done
+ dec hl
+ ld [hl], c
+ ret
+
+PrintUnownWord:
+ hlcoord 4, 15
+ ld bc, 12
+ ld a, " "
+ call ByteFill
+ ld a, [wDexCurUnownIndex]
+ ld e, a
+ ld d, 0
+ ld hl, wUnownDex
+ add hl, de
+ ld a, [hl]
+ ld e, a
+ ld d, 0
+ ld hl, UnownWords
+ add hl, de
+ add hl, de
+ ld a, [hli]
+ ld e, a
+ ld d, [hl]
+ hlcoord 4, 15
+.loop
+ ld a, [de]
+ cp -1
+ ret z
+ inc de
+ ld [hli], a
+ jr .loop
+
+INCLUDE "data/pokemon/unown_words.asm"
diff --git a/main.asm b/main.asm
index 6a723da0..c54602ea 100644
--- a/main.asm
+++ b/main.asm
@@ -379,11 +379,7 @@ INCLUDE "engine/events/name_rater.asm"
INCLUDE "engine/events/play_slow_cry.asm"
INCLUDE "engine/pokedex/new_pokedex_entry.asm"
INCLUDE "engine/link/time_capsule_2.asm"
-
-UpdateUnownDex::
- dr $fbb22, $fbb38
-PrintUnownWord::
- dr $fbb38, $fbc3c
+INCLUDE "engine/pokedex/unown_dex.asm"
CheckMagikarpLength::
dr $fbc3c, $fbd00