diff options
-rwxr-xr-x | data/pokemon/unown_words.asm | 65 | ||||
-rwxr-xr-x | engine/pokedex/unown_dex.asm | 49 | ||||
-rw-r--r-- | main.asm | 6 |
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" @@ -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 |