summaryrefslogtreecommitdiff
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
parent88d1fe6c26ed4da7720d129962d507a26c1f9b17 (diff)
Add time_capsule_2.asm and new_pokedex_entry.asm
-rwxr-xr-xdata/pokemon/gen1_order.asm254
-rwxr-xr-xengine/link/time_capsule_2.asm39
-rwxr-xr-xengine/pokedex/new_pokedex_entry.asm50
-rw-r--r--main.asm10
4 files changed, 345 insertions, 8 deletions
diff --git a/data/pokemon/gen1_order.asm b/data/pokemon/gen1_order.asm
new file mode 100755
index 00000000..45efcafa
--- /dev/null
+++ b/data/pokemon/gen1_order.asm
@@ -0,0 +1,254 @@
+Pokered_MonIndices:
+ db RHYDON
+ db KANGASKHAN
+ db NIDORAN_M
+ db CLEFAIRY
+ db SPEAROW
+ db VOLTORB
+ db NIDOKING
+ db SLOWBRO
+ db IVYSAUR
+ db EXEGGUTOR
+ db LICKITUNG
+ db EXEGGCUTE
+ db GRIMER
+ db GENGAR
+ db NIDORAN_F
+ db NIDOQUEEN
+ db CUBONE
+ db RHYHORN
+ db LAPRAS
+ db ARCANINE
+ db MEW
+ db GYARADOS
+ db SHELLDER
+ db TENTACOOL
+ db GASTLY
+ db SCYTHER
+ db STARYU
+ db BLASTOISE
+ db PINSIR
+ db TANGELA
+ db SCIZOR ; MISSINGNO.
+ db SHUCKLE ; MISSINGNO.
+ db GROWLITHE
+ db ONIX
+ db FEAROW
+ db PIDGEY
+ db SLOWPOKE
+ db KADABRA
+ db GRAVELER
+ db CHANSEY
+ db MACHOKE
+ db MR__MIME
+ db HITMONLEE
+ db HITMONCHAN
+ db ARBOK
+ db PARASECT
+ db PSYDUCK
+ db DROWZEE
+ db GOLEM
+ db HERACROSS ; MISSINGNO.
+ db MAGMAR
+ db HO_OH ; MISSINGNO.
+ db ELECTABUZZ
+ db MAGNETON
+ db KOFFING
+ db SNEASEL ; MISSINGNO.
+ db MANKEY
+ db SEEL
+ db DIGLETT
+ db TAUROS
+ db TEDDIURSA ; MISSINGNO.
+ db URSARING ; MISSINGNO.
+ db SLUGMA ; MISSINGNO.
+ db FARFETCH_D
+ db VENONAT
+ db DRAGONITE
+ db MAGCARGO ; MISSINGNO.
+ db SWINUB ; MISSINGNO.
+ db PILOSWINE ; MISSINGNO.
+ db DODUO
+ db POLIWAG
+ db JYNX
+ db MOLTRES
+ db ARTICUNO
+ db ZAPDOS
+ db DITTO
+ db MEOWTH
+ db KRABBY
+ db CORSOLA ; MISSINGNO.
+ db REMORAID ; MISSINGNO.
+ db OCTILLERY ; MISSINGNO.
+ db VULPIX
+ db NINETALES
+ db PIKACHU
+ db RAICHU
+ db DELIBIRD ; MISSINGNO.
+ db MANTINE ; MISSINGNO.
+ db DRATINI
+ db DRAGONAIR
+ db KABUTO
+ db KABUTOPS
+ db HORSEA
+ db SEADRA
+ db SKARMORY ; MISSINGNO.
+ db HOUNDOUR ; MISSINGNO.
+ db SANDSHREW
+ db SANDSLASH
+ db OMANYTE
+ db OMASTAR
+ db JIGGLYPUFF
+ db WIGGLYTUFF
+ db EEVEE
+ db FLAREON
+ db JOLTEON
+ db VAPOREON
+ db MACHOP
+ db ZUBAT
+ db EKANS
+ db PARAS
+ db POLIWHIRL
+ db POLIWRATH
+ db WEEDLE
+ db KAKUNA
+ db BEEDRILL
+ db HOUNDOOM ; MISSINGNO.
+ db DODRIO
+ db PRIMEAPE
+ db DUGTRIO
+ db VENOMOTH
+ db DEWGONG
+ db KINGDRA ; MISSINGNO.
+ db PHANPY ; MISSINGNO.
+ db CATERPIE
+ db METAPOD
+ db BUTTERFREE
+ db MACHAMP
+ db DONPHAN ; MISSINGNO.
+ db GOLDUCK
+ db HYPNO
+ db GOLBAT
+ db MEWTWO
+ db SNORLAX
+ db MAGIKARP
+ db PORYGON2 ; MISSINGNO.
+ db STANTLER ; MISSINGNO.
+ db MUK
+ db SMEARGLE ; MISSINGNO.
+ db KINGLER
+ db CLOYSTER
+ db TYROGUE ; MISSINGNO.
+ db ELECTRODE
+ db CLEFABLE
+ db WEEZING
+ db PERSIAN
+ db MAROWAK
+ db HITMONTOP ; MISSINGNO.
+ db HAUNTER
+ db ABRA
+ db ALAKAZAM
+ db PIDGEOTTO
+ db PIDGEOT
+ db STARMIE
+ db BULBASAUR
+ db VENUSAUR
+ db TENTACRUEL
+ db SMOOCHUM ; MISSINGNO.
+ db GOLDEEN
+ db SEAKING
+ db ELEKID ; MISSINGNO.
+ db MAGBY ; MISSINGNO.
+ db MILTANK ; MISSINGNO.
+ db BLISSEY ; MISSINGNO.
+ db PONYTA
+ db RAPIDASH
+ db RATTATA
+ db RATICATE
+ db NIDORINO
+ db NIDORINA
+ db GEODUDE
+ db PORYGON
+ db AERODACTYL
+ db RAIKOU ; MISSINGNO.
+ db MAGNEMITE
+ db ENTEI ; MISSINGNO.
+ db SUICUNE ; MISSINGNO.
+ db CHARMANDER
+ db SQUIRTLE
+ db CHARMELEON
+ db WARTORTLE
+ db CHARIZARD
+ db LARVITAR ; MISSINGNO.
+ db PUPITAR ; MISSINGNO. KABUTOPS FOSSIL
+ db TYRANITAR ; MISSINGNO. AERODACTYL FOSSIL
+ db LUGIA ; MISSINGNO. GHOST
+ db ODDISH
+ db GLOOM
+ db VILEPLUME
+ db BELLSPROUT
+ db WEEPINBELL
+ db VICTREEBEL
+
+ db CHIKORITA
+ db BAYLEEF
+ db MEGANIUM
+ db CYNDAQUIL
+ db QUILAVA
+ db TYPHLOSION
+ db TOTODILE
+ db CROCONAW
+ db FERALIGATR
+ db SENTRET
+ db FURRET
+ db HOOTHOOT
+ db NOCTOWL
+ db LEDYBA
+ db LEDIAN
+ db SPINARAK
+ db ARIADOS
+ db CROBAT
+ db CHINCHOU
+ db LANTURN
+ db PICHU
+ db CLEFFA
+ db IGGLYBUFF
+ db TOGEPI
+ db TOGETIC
+ db NATU
+ db XATU
+ db MAREEP
+ db FLAAFFY
+ db AMPHAROS
+ db BELLOSSOM
+ db MARILL
+ db AZUMARILL
+ db SUDOWOODO
+ db POLITOED
+ db HOPPIP
+ db SKIPLOOM
+ db JUMPLUFF
+ db AIPOM
+ db SUNKERN
+ db SUNFLORA
+ db YANMA
+ db WOOPER
+ db QUAGSIRE
+ db ESPEON
+ db UMBREON
+ db MURKROW
+ db SLOWKING
+ db MISDREAVUS
+ db UNOWN
+ db WOBBUFFET
+ db GIRAFARIG
+ db PINECO
+ db FORRETRESS
+ db DUNSPARCE
+ db GLIGAR
+ db STEELIX
+ db SNUBBULL
+ db GRANBULL
+ db QWILFISH
+ db WOBBUFFET
+ db WOBBUFFET
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
diff --git a/main.asm b/main.asm
index 088df56b..6a723da0 100644
--- a/main.asm
+++ b/main.asm
@@ -377,14 +377,8 @@ INCBIN "gfx/new_game/shrink2.2bpp.lz"
INCLUDE "engine/link/time_capsule.asm"
INCLUDE "engine/events/name_rater.asm"
INCLUDE "engine/events/play_slow_cry.asm"
-
-NewPokedexEntry::
- dr $fb981, $fb9fb
-
-ConvertMon_2to1::
- dr $fb9fb, $fba12
-ConvertMon_1to2::
- dr $fba12, $fbb22
+INCLUDE "engine/pokedex/new_pokedex_entry.asm"
+INCLUDE "engine/link/time_capsule_2.asm"
UpdateUnownDex::
dr $fbb22, $fbb38