summaryrefslogtreecommitdiff
path: root/engine
diff options
context:
space:
mode:
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