summaryrefslogtreecommitdiff
path: root/engine
diff options
context:
space:
mode:
authorlibjet <libj3t@gmail.com>2020-06-06 02:15:06 +0100
committerlibjet <libj3t@gmail.com>2020-06-06 02:15:06 +0100
commit3edaf4635e372fc255b41e1a05e48f25d9cd6f7b (patch)
tree4ef6c908003168658625473f3469ca55c3562af2 /engine
parent88d1fe6c26ed4da7720d129962d507a26c1f9b17 (diff)
Add time_capsule_2.asm and new_pokedex_entry.asm
Diffstat (limited to 'engine')
-rwxr-xr-xengine/link/time_capsule_2.asm39
-rwxr-xr-xengine/pokedex/new_pokedex_entry.asm50
2 files changed, 89 insertions, 0 deletions
diff --git a/engine/link/time_capsule_2.asm b/engine/link/time_capsule_2.asm
new file mode 100755
index 00000000..6640f6b0
--- /dev/null
+++ b/engine/link/time_capsule_2.asm
@@ -0,0 +1,39 @@
+ConvertMon_2to1:
+; Takes the Gen 2 Pokemon number stored in wTempSpecies,
+; finds it in the Pokered_MonIndices table,
+; and returns its index in wTempSpecies.
+ push bc
+ push hl
+ ld a, [wTempSpecies]
+ ld b, a
+ ld c, 0
+ ld hl, Pokered_MonIndices
+.loop
+ inc c
+ ld a, [hli]
+ cp b
+ jr nz, .loop
+ ld a, c
+ ld [wTempSpecies], a
+ pop hl
+ pop bc
+ ret
+
+ConvertMon_1to2:
+; Takes the Gen 1 Pokemon number stored in wTempSpecies
+; and returns the corresponding value from Pokered_MonIndices in wTempSpecies.
+ push bc
+ push hl
+ ld a, [wTempSpecies]
+ dec a
+ ld hl, Pokered_MonIndices
+ ld b, 0
+ ld c, a
+ add hl, bc
+ ld a, [hl]
+ ld [wTempSpecies], a
+ pop hl
+ pop bc
+ ret
+
+INCLUDE "data/pokemon/gen1_order.asm"
diff --git a/engine/pokedex/new_pokedex_entry.asm b/engine/pokedex/new_pokedex_entry.asm
new file mode 100755
index 00000000..844253c5
--- /dev/null
+++ b/engine/pokedex/new_pokedex_entry.asm
@@ -0,0 +1,50 @@
+NewPokedexEntry:
+ ldh a, [hMapAnims]
+ push af
+ xor a
+ ldh [hMapAnims], a
+ call LowVolume
+ call ClearBGPalettes
+ call ClearTilemap
+ call UpdateSprites
+ call ClearSprites
+ ld a, [wPokedexStatus]
+ push af
+ ldh a, [hSCX]
+ add POKEDEX_SCX
+ ldh [hSCX], a
+ xor a
+ ld [wPokedexStatus], a
+ farcall _NewPokedexEntry
+ call WaitPressAorB_BlinkCursor
+ ld a, 1 ; page 2
+ ld [wPokedexStatus], a
+ farcall DisplayDexEntry
+ call WaitPressAorB_BlinkCursor
+ pop af
+ ld [wPokedexStatus], a
+ call MaxVolume
+ call RotateThreePalettesRight
+ ldh a, [hSCX]
+ add -POKEDEX_SCX
+ ldh [hSCX], a
+ call .ReturnFromDexRegistration
+ pop af
+ ldh [hMapAnims], a
+ ret
+
+.ReturnFromDexRegistration:
+ call ClearTilemap
+ call LoadFontsExtra
+ call LoadStandardFont
+ farcall Pokedex_PlaceFrontpicTopLeftCorner
+ call WaitBGMap2
+ farcall GetEnemyMonDVs
+ ld a, [hli]
+ ld [wTempMonDVs], a
+ ld a, [hl]
+ ld [wTempMonDVs + 1], a
+ ld b, SCGB_TRAINER_OR_MON_FRONTPIC_PALS
+ call GetSGBLayout
+ call SetPalettes
+ ret