summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcus Huderle <huderlem@gmail.com>2017-09-07 19:59:58 -0700
committerMarcus Huderle <huderlem@gmail.com>2017-09-07 20:49:20 -0700
commit023bacc23fa0e400ca7ae5b7c9e507f6a6b87c8b (patch)
tree493162a4bdadd9e47a35cbf84a13f846d8aee188
parent6e9c8b1e7c0e938d4c477e0c5237a2ac0b009924 (diff)
Move data and code out of main.asm
-rwxr-xr-xdata/evolution_mode_indicator_sets.asm153
-rwxr-xr-xdata/mon_animation_durations.asm81
-rwxr-xr-xdata/unknown/unused_9800.asm19
-rw-r--r--engine/pinball_game/catchem_mode.asm26
-rw-r--r--engine/pokedex/variable_width_font_character.asm25
-rw-r--r--home.asm28
-rw-r--r--main.asm343
7 files changed, 344 insertions, 331 deletions
diff --git a/data/evolution_mode_indicator_sets.asm b/data/evolution_mode_indicator_sets.asm
new file mode 100755
index 0000000..1b03648
--- /dev/null
+++ b/data/evolution_mode_indicator_sets.asm
@@ -0,0 +1,153 @@
+Data_1298b: ; 0x1298b
+; This has to do with which indicators will need to be hit to evolve the pokemon.
+ db $01 ; BULBASAUR
+ db $02 ; IVYSAUR
+ db $03 ; VENUSAUR
+ db $01 ; CHARMANDER
+ db $02 ; CHARMELEON
+ db $03 ; CHARIZARD
+ db $01 ; SQUIRTLE
+ db $02 ; WARTORTLE
+ db $03 ; BLASTOISE
+ db $01 ; CATERPIE
+ db $02 ; METAPOD
+ db $03 ; BUTTERFREE
+ db $01 ; WEEDLE
+ db $02 ; KAKUNA
+ db $03 ; BEEDRILL
+ db $01 ; PIDGEY
+ db $02 ; PIDGEOTTO
+ db $03 ; PIDGEOT
+ db $01 ; RATTATA
+ db $03 ; RATICATE
+ db $01 ; SPEAROW
+ db $03 ; FEAROW
+ db $01 ; EKANS
+ db $03 ; ARBOK
+ db $01 ; PIKACHU
+ db $03 ; RAICHU
+ db $01 ; SANDSHREW
+ db $03 ; SANDSLASH
+ db $01 ; NIDORAN_F
+ db $02 ; NIDORINA
+ db $04 ; NIDOQUEEN
+ db $01 ; NIDORAN_M
+ db $02 ; NIDORINO
+ db $04 ; NIDOKING
+ db $02 ; CLEFAIRY
+ db $03 ; CLEFABLE
+ db $02 ; VULPIX
+ db $03 ; NINETALES
+ db $02 ; JIGGLYPUFF
+ db $03 ; WIGGLYTUFF
+ db $02 ; ZUBAT
+ db $03 ; GOLBAT
+ db $01 ; ODDISH
+ db $02 ; GLOOM
+ db $04 ; VILEPLUME
+ db $02 ; PARAS
+ db $03 ; PARASECT
+ db $02 ; VENONAT
+ db $03 ; VENOMOTH
+ db $02 ; DIGLETT
+ db $03 ; DUGTRIO
+ db $02 ; MEOWTH
+ db $03 ; PERSIAN
+ db $02 ; PSYDUCK
+ db $03 ; GOLDUCK
+ db $02 ; MANKEY
+ db $03 ; PRIMEAPE
+ db $02 ; GROWLITHE
+ db $03 ; ARCANINE
+ db $01 ; POLIWAG
+ db $02 ; POLIWHIRL
+ db $04 ; POLIWRATH
+ db $01 ; ABRA
+ db $02 ; KADABRA
+ db $04 ; ALAKAZAM
+ db $01 ; MACHOP
+ db $02 ; MACHOKE
+ db $04 ; MACHAMP
+ db $01 ; BELLSPROUT
+ db $02 ; WEEPINBELL
+ db $04 ; VICTREEBEL
+ db $02 ; TENTACOOL
+ db $03 ; TENTACRUEL
+ db $01 ; GEODUDE
+ db $02 ; GRAVELER
+ db $04 ; GOLEM
+ db $02 ; PONYTA
+ db $03 ; RAPIDASH
+ db $02 ; SLOWPOKE
+ db $03 ; SLOWBRO
+ db $02 ; MAGNEMITE
+ db $03 ; MAGNETON
+ db $04 ; FARFETCH_D
+ db $02 ; DODUO
+ db $03 ; DODRIO
+ db $02 ; SEEL
+ db $03 ; DEWGONG
+ db $02 ; GRIMER
+ db $03 ; MUK
+ db $02 ; SHELLDER
+ db $03 ; CLOYSTER
+ db $01 ; GASTLY
+ db $02 ; HAUNTER
+ db $04 ; GENGAR
+ db $04 ; ONIX
+ db $02 ; DROWZEE
+ db $03 ; HYPNO
+ db $02 ; KRABBY
+ db $03 ; KINGLER
+ db $02 ; VOLTORB
+ db $03 ; ELECTRODE
+ db $02 ; EXEGGCUTE
+ db $03 ; EXEGGUTOR
+ db $02 ; CUBONE
+ db $03 ; MAROWAK
+ db $04 ; HITMONLEE
+ db $04 ; HITMONCHAN
+ db $04 ; LICKITUNG
+ db $02 ; KOFFING
+ db $03 ; WEEZING
+ db $02 ; RHYHORN
+ db $03 ; RHYDON
+ db $04 ; CHANSEY
+ db $04 ; TANGELA
+ db $04 ; KANGASKHAN
+ db $04 ; HORSEA
+ db $04 ; SEADRA
+ db $02 ; GOLDEEN
+ db $03 ; SEAKING
+ db $02 ; STARYU
+ db $03 ; STARMIE
+ db $04 ; MR_MIME
+ db $04 ; SCYTHER
+ db $04 ; JYNX
+ db $04 ; ELECTABUZZ
+ db $04 ; MAGMAR
+ db $04 ; PINSIR
+ db $04 ; TAUROS
+ db $02 ; MAGIKARP
+ db $03 ; GYARADOS
+ db $04 ; LAPRAS
+ db $04 ; DITTO
+ db $02 ; EEVEE
+ db $03 ; VAPOREON
+ db $03 ; JOLTEON
+ db $03 ; FLAREON
+ db $04 ; PORYGON
+ db $02 ; OMANYTE
+ db $03 ; OMASTAR
+ db $02 ; KABUTO
+ db $03 ; KABUTOPS
+ db $04 ; AERODACTYL
+ db $04 ; SNORLAX
+ db $04 ; ARTICUNO
+ db $04 ; ZAPDOS
+ db $04 ; MOLTRES
+ db $01 ; DRATINI
+ db $02 ; DRAGONAIR
+ db $04 ; DRAGONITE
+ db $04 ; MEWTWO
+ db $06 ; MEW
diff --git a/data/mon_animation_durations.asm b/data/mon_animation_durations.asm
new file mode 100755
index 0000000..ded8e73
--- /dev/null
+++ b/data/mon_animation_durations.asm
@@ -0,0 +1,81 @@
+CatchSpriteFrameDurations: ; 0x13685
+; Controls how the duration of each of the 3 animation frames in a mon's mini catch sprite animation.
+ db $12, $12, $10 ; EVOLINE_BULBASAUR
+ db $10, $10, $10 ; EVOLINE_CHARMANDER
+ db $12, $12, $0E ; EVOLINE_SQUIRTLE
+ db $14, $14, $12 ; EVOLINE_CATERPIE
+ db $14, $14, $10 ; EVOLINE_WEEDLE
+ db $0A, $0A, $0E ; EVOLINE_PIDGEY
+ db $11, $13, $10 ; EVOLINE_RATTATA
+ db $0B, $0B, $10 ; EVOLINE_SPEAROW
+ db $12, $12, $0E ; EVOLINE_EKANS
+ db $12, $14, $0E ; EVOLINE_PIKACHU
+ db $10, $12, $10 ; EVOLINE_SANDSHREW
+ db $11, $12, $0E ; EVOLINE_NIDORAN_F
+ db $11, $12, $0E ; EVOLINE_NIDORAN_M
+ db $12, $13, $10 ; EVOLINE_CLEFAIRY
+ db $11, $11, $10 ; EVOLINE_VULPIX
+ db $12, $12, $10 ; EVOLINE_JIGGLYPUFF
+ db $08, $08, $10 ; EVOLINE_ZUBAT
+ db $10, $10, $10 ; EVOLINE_ODDISH
+ db $10, $10, $10 ; EVOLINE_PARAS
+ db $11, $11, $0E ; EVOLINE_VENONAT
+ db $10, $10, $0E ; EVOLINE_DIGLETT
+ db $14, $14, $0E ; EVOLINE_MEOWTH
+ db $30, $30, $10 ; EVOLINE_PSYDUCK
+ db $12, $12, $10 ; EVOLINE_MANKEY
+ db $12, $12, $10 ; EVOLINE_GROWLITHE
+ db $10, $10, $10 ; EVOLINE_POLIWAG
+ db $10, $10, $10 ; EVOLINE_ABRA
+ db $12, $14, $10 ; EVOLINE_MACHOP
+ db $10, $12, $10 ; EVOLINE_BELLSPROUT
+ db $0C, $0C, $12 ; EVOLINE_TENTACOOL
+ db $12, $14, $0C ; EVOLINE_GEODUDE
+ db $12, $14, $0E ; EVOLINE_PONYTA
+ db $30, $30, $10 ; EVOLINE_SLOWPOKE
+ db $14, $14, $10 ; EVOLINE_MAGNEMITE
+ db $12, $12, $0E ; EVOLINE_FARFETCH_D
+ db $12, $12, $0E ; EVOLINE_DODUO
+ db $14, $14, $0E ; EVOLINE_SEEL
+ db $12, $12, $10 ; EVOLINE_GRIMER
+ db $14, $14, $0E ; EVOLINE_SHELLDER
+ db $10, $10, $0E ; EVOLINE_GASTLY
+ db $12, $12, $10 ; EVOLINE_ONIX
+ db $14, $14, $10 ; EVOLINE_DROWZEE
+ db $14, $12, $10 ; EVOLINE_KRABBY
+ db $02, $02, $10 ; EVOLINE_VOLTORB
+ db $12, $12, $10 ; EVOLINE_EXEGGCUTE
+ db $12, $12, $10 ; EVOLINE_CUBONE
+ db $14, $10, $10 ; EVOLINE_HITMONLEE
+ db $14, $10, $10 ; EVOLINE_HITMONCHAN
+ db $14, $12, $10 ; EVOLINE_LICKITUNG
+ db $11, $11, $10 ; EVOLINE_KOFFING
+ db $14, $14, $10 ; EVOLINE_RHYHORN
+ db $12, $12, $10 ; EVOLINE_CHANSEY
+ db $10, $10, $10 ; EVOLINE_TANGELA
+ db $12, $12, $10 ; EVOLINE_KANGASKHAN
+ db $0F, $0F, $0E ; EVOLINE_HORSEA
+ db $12, $12, $0E ; EVOLINE_GOLDEEN
+ db $23, $23, $10 ; EVOLINE_STARYU
+ db $13, $13, $10 ; EVOLINE_MR_MIME
+ db $13, $13, $10 ; EVOLINE_SCYTHER
+ db $12, $12, $10 ; EVOLINE_JYNX
+ db $12, $14, $10 ; EVOLINE_ELECTABUZZ
+ db $14, $14, $0E ; EVOLINE_MAGMAR
+ db $12, $12, $0E ; EVOLINE_PINSIR
+ db $12, $14, $10 ; EVOLINE_TAUROS
+ db $18, $18, $0C ; EVOLINE_MAGIKARP
+ db $16, $16, $0C ; EVOLINE_LAPRAS
+ db $14, $14, $10 ; EVOLINE_DITTO
+ db $12, $12, $10 ; EVOLINE_EEVEE
+ db $10, $10, $0E ; EVOLINE_PORYGON
+ db $12, $12, $0E ; EVOLINE_OMANYTE
+ db $12, $12, $0E ; EVOLINE_KABUTO
+ db $0C, $0C, $12 ; EVOLINE_AERODACTYL
+ db $26, $36, $12 ; EVOLINE_SNORLAX
+ db $13, $13, $10 ; EVOLINE_ARTICUNO
+ db $13, $13, $10 ; EVOLINE_ZAPDOS
+ db $13, $13, $10 ; EVOLINE_MOLTRES
+ db $12, $12, $0E ; EVOLINE_DRATINI
+ db $14, $14, $0E ; EVOLINE_MEWTWO
+ db $14, $14, $0E ; EVOLINE_MEW
diff --git a/data/unknown/unused_9800.asm b/data/unknown/unused_9800.asm
new file mode 100755
index 0000000..f87722a
--- /dev/null
+++ b/data/unknown/unused_9800.asm
@@ -0,0 +1,19 @@
+macro_9800: MACRO
+x = 0
+rept \1
+y = 0
+rept $100 / \1
+ db (x + y) & $ff
+y = y + \1
+endr
+x = x + 1
+endr
+endm
+
+Data_9800:
+
+w = $100
+rept 8
+ macro_9800 w
+w = w >> 1
+endr
diff --git a/engine/pinball_game/catchem_mode.asm b/engine/pinball_game/catchem_mode.asm
index 09192f6..fc5194b 100644
--- a/engine/pinball_game/catchem_mode.asm
+++ b/engine/pinball_game/catchem_mode.asm
@@ -1,3 +1,29 @@
+CheckSpecialModeColision: ; 0x10000
+ ld c, a
+ ld a, [wInSpecialMode] ;special mode in c
+ and a
+ ret z ;if mot in special mode, ret
+ ld a, c
+ ld [wSpecialModeCollisionID], a
+ ld a, [wSpecialMode]
+ cp SPECIAL_MODE_EVOLUTION ;branch based on mode
+ jp z, HandleEvoModeCollision ;call evo mode logic
+ cp SPECIAL_MODE_MAP_MOVE
+ jr nz, .CatchMode ;call catch mode logic
+ callba HandleMapModeCollision ;call map move logic
+ ret
+
+.CatchMode
+ ld a, [wCurrentStage]
+ call CallInFollowingTable
+HandleCatchEmCollisionCallTable: ; 0x10027
+ padded_dab HandleRedCatchEmCollision ; STAGE_RED_FIELD_TOP
+ padded_dab HandleRedCatchEmCollision ; STAGE_RED_FIELD_BOTTOM
+ padded_dab HandleRedCatchEmCollision
+ padded_dab HandleRedCatchEmCollision
+ padded_dab HandleBlueCatchEmCollision ; STAGE_BLUE_FIELD_TOP
+ padded_dab HandleBlueCatchEmCollision ; STAGE_BLUE_FIELD_BOTTOM
+
StartCatchEmMode: ; 0x1003f
ld a, [wInSpecialMode] ; current game mode?
and a
diff --git a/engine/pokedex/variable_width_font_character.asm b/engine/pokedex/variable_width_font_character.asm
index 9dba2d8..e85b234 100644
--- a/engine/pokedex/variable_width_font_character.asm
+++ b/engine/pokedex/variable_width_font_character.asm
@@ -319,3 +319,28 @@ Func_8ed6: ; 0x8ed6
Data_8ed8: ; 0x8ed8
db $FF, $7F, $3F, $1F, $0F, $07, $03, $01
+
+Func_8ee0: ; 0x8ee0
+ ld a, [$ff8d]
+ ld [$ff90], a
+ ld a, [$ff8e]
+ ld [$ff91], a
+ ld a, [$ff8d]
+ ld c, a
+ ld a, [$ff8e]
+ ld b, a
+ ld a, [$ff8c]
+ ld l, a
+ ld h, $0
+ add hl, bc
+ ld a, l
+ ld [$ff8d], a
+ ld a, h
+ ld [$ff8e], a
+ srl h
+ rr l
+ srl h
+ rr l
+ ld a, [$ff8f]
+ cp l
+ ret
diff --git a/home.asm b/home.asm
index 933cbcd..95131f9 100644
--- a/home.asm
+++ b/home.asm
@@ -1862,7 +1862,8 @@ Func_1bd3: ; 0x1bd3
INCLUDE "home/ir.asm"
-Func_1ed9:
+Unused_Func_1ed9:
+; unused
push bc
push de
push hl
@@ -1872,13 +1873,14 @@ Func_1ed9:
rl d
ld a, [hLoadedROMBank]
push af
- ld a, BANK(Data_8f06)
+ ld a, $2
ld [hLoadedROMBank], a
ld [MBC5RomBank], a
- ld hl, Data_8f06
+ ld hl, $4f06
jr asm_1f3b
-Func_1ef2:
+Unused_Func_1ef2:
+; unused
push bc
push de
push hl
@@ -1888,10 +1890,10 @@ Func_1ef2:
rl d
ld a, [hLoadedROMBank]
push af
- ld a, BANK(Data_8f06)
+ ld a, $2
ld [hLoadedROMBank], a
ld [MBC5RomBank], a
- ld hl, Data_8f06
+ ld hl, $4f06
jr asm_1f3b
LoadOAMData2: ; 0x1f0b
@@ -1967,7 +1969,8 @@ asm_1f3b: ; 0x1f3b
pop bc
ret
-Func_1f68:
+Unused_Func_1f68:
+; unused
push bc
push de
push hl
@@ -1977,13 +1980,14 @@ Func_1f68:
rl d
ld a, [hLoadedROMBank]
push af
- ld a, BANK(Data_8f06)
+ ld a, $2
ld [hLoadedROMBank], a
ld [MBC5RomBank], a
- ld hl, Data_8f06 ; all 0s
+ ld hl, $4f06
jr asm_1fca
-Func_1f81:
+Unused_Func_1f81:
+; unused
push bc
push de
push hl
@@ -1993,10 +1997,10 @@ Func_1f81:
rl d
ld a, [hLoadedROMBank]
push af
- ld a, BANK(Data_8f06)
+ ld a, $2
ld [hLoadedROMBank], a
ld [MBC5RomBank], a
- ld hl, Data_8f06 ; all 0s
+ ld hl, $4f06
jr asm_1fca
Func_1f9a:
diff --git a/main.asm b/main.asm
index 6ef2791..88bb9d7 100644
--- a/main.asm
+++ b/main.asm
@@ -23,53 +23,9 @@ INCLUDE "engine/pinball_game/menu.asm"
INCLUDE "data/collision/collision_deltas.asm"
INCLUDE "engine/pokedex/variable_width_font_character.asm"
-Func_8ee0: ; 0x8ee0
- ld a, [$ff8d]
- ld [$ff90], a
- ld a, [$ff8e]
- ld [$ff91], a
- ld a, [$ff8d]
- ld c, a
- ld a, [$ff8e]
- ld b, a
- ld a, [$ff8c]
- ld l, a
- ld h, $0
- add hl, bc
- ld a, l
- ld [$ff8d], a
- ld a, h
- ld [$ff8e], a
- srl h
- rr l
- srl h
- rr l
- ld a, [$ff8f]
- cp l
- ret
-
-Data_8f06:
-
SECTION "bank2.2", ROMX
-Data_9800:
-
-macro_9800: MACRO
-x = 0
-rept \1
-y = 0
-rept $100 / \1
- db (x + y) & $ff
-y = y + \1
-endr
-x = x + 1
-endr
-endm
-
-w = $100
-rept 8
- macro_9800 w
-w = w >> 1
-endr
+
+INCLUDE "data/unknown/unused_9800.asm"
PokedexCharactersGfx: ; 0xa000
INCBIN "gfx/pokedex/characters.interleave.2bpp"
@@ -102,32 +58,6 @@ INCLUDE "engine/pinball_game/end_of_ball_bonus.asm"
SECTION "bank4", ROMX
-CheckSpecialModeColision: ; 0x10000
- ld c, a
- ld a, [wInSpecialMode] ;special mode in c
- and a
- ret z ;if mot in special mode, ret
- ld a, c
- ld [wSpecialModeCollisionID], a
- ld a, [wSpecialMode]
- cp SPECIAL_MODE_EVOLUTION ;branch based on mode
- jp z, HandleEvoModeCollision ;call evo mode logic
- cp SPECIAL_MODE_MAP_MOVE
- jr nz, .CatchMode ;call catch mode logic
- callba HandleMapModeCollision ;call map move logic
- ret
-
-.CatchMode
- ld a, [wCurrentStage]
- call CallInFollowingTable
-HandleCatchEmCollisionCallTable: ; 0x10027
- padded_dab HandleRedCatchEmCollision ; STAGE_RED_FIELD_TOP
- padded_dab HandleRedCatchEmCollision ; STAGE_RED_FIELD_BOTTOM
- padded_dab HandleRedCatchEmCollision
- padded_dab HandleRedCatchEmCollision
- padded_dab HandleBlueCatchEmCollision ; STAGE_BLUE_FIELD_TOP
- padded_dab HandleBlueCatchEmCollision ; STAGE_BLUE_FIELD_BOTTOM
-
INCLUDE "engine/pinball_game/catchem_mode.asm"
INCLUDE "engine/pinball_game/evolution_mode.asm"
INCLUDE "data/wild_mons.asm"
@@ -136,247 +66,12 @@ INCLUDE "data/evolution_lines.asm"
INCLUDE "data/evolution_methods.asm"
INCLUDE "data/mon_names.asm"
INCLUDE "data/mon_initial_indicator_states.asm"
-
-Data_1298b: ; 0x1298b
-; This has to do with which indicators will need to be hit to evolve the pokemon.
- db $01 ; BULBASAUR
- db $02 ; IVYSAUR
- db $03 ; VENUSAUR
- db $01 ; CHARMANDER
- db $02 ; CHARMELEON
- db $03 ; CHARIZARD
- db $01 ; SQUIRTLE
- db $02 ; WARTORTLE
- db $03 ; BLASTOISE
- db $01 ; CATERPIE
- db $02 ; METAPOD
- db $03 ; BUTTERFREE
- db $01 ; WEEDLE
- db $02 ; KAKUNA
- db $03 ; BEEDRILL
- db $01 ; PIDGEY
- db $02 ; PIDGEOTTO
- db $03 ; PIDGEOT
- db $01 ; RATTATA
- db $03 ; RATICATE
- db $01 ; SPEAROW
- db $03 ; FEAROW
- db $01 ; EKANS
- db $03 ; ARBOK
- db $01 ; PIKACHU
- db $03 ; RAICHU
- db $01 ; SANDSHREW
- db $03 ; SANDSLASH
- db $01 ; NIDORAN_F
- db $02 ; NIDORINA
- db $04 ; NIDOQUEEN
- db $01 ; NIDORAN_M
- db $02 ; NIDORINO
- db $04 ; NIDOKING
- db $02 ; CLEFAIRY
- db $03 ; CLEFABLE
- db $02 ; VULPIX
- db $03 ; NINETALES
- db $02 ; JIGGLYPUFF
- db $03 ; WIGGLYTUFF
- db $02 ; ZUBAT
- db $03 ; GOLBAT
- db $01 ; ODDISH
- db $02 ; GLOOM
- db $04 ; VILEPLUME
- db $02 ; PARAS
- db $03 ; PARASECT
- db $02 ; VENONAT
- db $03 ; VENOMOTH
- db $02 ; DIGLETT
- db $03 ; DUGTRIO
- db $02 ; MEOWTH
- db $03 ; PERSIAN
- db $02 ; PSYDUCK
- db $03 ; GOLDUCK
- db $02 ; MANKEY
- db $03 ; PRIMEAPE
- db $02 ; GROWLITHE
- db $03 ; ARCANINE
- db $01 ; POLIWAG
- db $02 ; POLIWHIRL
- db $04 ; POLIWRATH
- db $01 ; ABRA
- db $02 ; KADABRA
- db $04 ; ALAKAZAM
- db $01 ; MACHOP
- db $02 ; MACHOKE
- db $04 ; MACHAMP
- db $01 ; BELLSPROUT
- db $02 ; WEEPINBELL
- db $04 ; VICTREEBEL
- db $02 ; TENTACOOL
- db $03 ; TENTACRUEL
- db $01 ; GEODUDE
- db $02 ; GRAVELER
- db $04 ; GOLEM
- db $02 ; PONYTA
- db $03 ; RAPIDASH
- db $02 ; SLOWPOKE
- db $03 ; SLOWBRO
- db $02 ; MAGNEMITE
- db $03 ; MAGNETON
- db $04 ; FARFETCH_D
- db $02 ; DODUO
- db $03 ; DODRIO
- db $02 ; SEEL
- db $03 ; DEWGONG
- db $02 ; GRIMER
- db $03 ; MUK
- db $02 ; SHELLDER
- db $03 ; CLOYSTER
- db $01 ; GASTLY
- db $02 ; HAUNTER
- db $04 ; GENGAR
- db $04 ; ONIX
- db $02 ; DROWZEE
- db $03 ; HYPNO
- db $02 ; KRABBY
- db $03 ; KINGLER
- db $02 ; VOLTORB
- db $03 ; ELECTRODE
- db $02 ; EXEGGCUTE
- db $03 ; EXEGGUTOR
- db $02 ; CUBONE
- db $03 ; MAROWAK
- db $04 ; HITMONLEE
- db $04 ; HITMONCHAN
- db $04 ; LICKITUNG
- db $02 ; KOFFING
- db $03 ; WEEZING
- db $02 ; RHYHORN
- db $03 ; RHYDON
- db $04 ; CHANSEY
- db $04 ; TANGELA
- db $04 ; KANGASKHAN
- db $04 ; HORSEA
- db $04 ; SEADRA
- db $02 ; GOLDEEN
- db $03 ; SEAKING
- db $02 ; STARYU
- db $03 ; STARMIE
- db $04 ; MR_MIME
- db $04 ; SCYTHER
- db $04 ; JYNX
- db $04 ; ELECTABUZZ
- db $04 ; MAGMAR
- db $04 ; PINSIR
- db $04 ; TAUROS
- db $02 ; MAGIKARP
- db $03 ; GYARADOS
- db $04 ; LAPRAS
- db $04 ; DITTO
- db $02 ; EEVEE
- db $03 ; VAPOREON
- db $03 ; JOLTEON
- db $03 ; FLAREON
- db $04 ; PORYGON
- db $02 ; OMANYTE
- db $03 ; OMASTAR
- db $02 ; KABUTO
- db $03 ; KABUTOPS
- db $04 ; AERODACTYL
- db $04 ; SNORLAX
- db $04 ; ARTICUNO
- db $04 ; ZAPDOS
- db $04 ; MOLTRES
- db $01 ; DRATINI
- db $02 ; DRAGONAIR
- db $04 ; DRAGONITE
- db $04 ; MEWTWO
- db $06 ; MEW
-
+INCLUDE "data/evolution_mode_indicator_sets.asm"
INCLUDE "data/catchem_timer_values.asm"
INCLUDE "data/mon_gfx/mon_gfx_pointers.asm"
INCLUDE "data/mon_animated_sprite_types.asm"
INCLUDE "data/collision/mon_collision_mask_pointers.asm"
-
-CatchSpriteFrameDurations: ; 0x13685
-; Each 3-byte entry is related to an evolution line. Don't know what this is for, yet.
- db $12, $12, $10 ; EVOLINE_BULBASAUR
- db $10, $10, $10 ; EVOLINE_CHARMANDER
- db $12, $12, $0E ; EVOLINE_SQUIRTLE
- db $14, $14, $12 ; EVOLINE_CATERPIE
- db $14, $14, $10 ; EVOLINE_WEEDLE
- db $0A, $0A, $0E ; EVOLINE_PIDGEY
- db $11, $13, $10 ; EVOLINE_RATTATA
- db $0B, $0B, $10 ; EVOLINE_SPEAROW
- db $12, $12, $0E ; EVOLINE_EKANS
- db $12, $14, $0E ; EVOLINE_PIKACHU
- db $10, $12, $10 ; EVOLINE_SANDSHREW
- db $11, $12, $0E ; EVOLINE_NIDORAN_F
- db $11, $12, $0E ; EVOLINE_NIDORAN_M
- db $12, $13, $10 ; EVOLINE_CLEFAIRY
- db $11, $11, $10 ; EVOLINE_VULPIX
- db $12, $12, $10 ; EVOLINE_JIGGLYPUFF
- db $08, $08, $10 ; EVOLINE_ZUBAT
- db $10, $10, $10 ; EVOLINE_ODDISH
- db $10, $10, $10 ; EVOLINE_PARAS
- db $11, $11, $0E ; EVOLINE_VENONAT
- db $10, $10, $0E ; EVOLINE_DIGLETT
- db $14, $14, $0E ; EVOLINE_MEOWTH
- db $30, $30, $10 ; EVOLINE_PSYDUCK
- db $12, $12, $10 ; EVOLINE_MANKEY
- db $12, $12, $10 ; EVOLINE_GROWLITHE
- db $10, $10, $10 ; EVOLINE_POLIWAG
- db $10, $10, $10 ; EVOLINE_ABRA
- db $12, $14, $10 ; EVOLINE_MACHOP
- db $10, $12, $10 ; EVOLINE_BELLSPROUT
- db $0C, $0C, $12 ; EVOLINE_TENTACOOL
- db $12, $14, $0C ; EVOLINE_GEODUDE
- db $12, $14, $0E ; EVOLINE_PONYTA
- db $30, $30, $10 ; EVOLINE_SLOWPOKE
- db $14, $14, $10 ; EVOLINE_MAGNEMITE
- db $12, $12, $0E ; EVOLINE_FARFETCH_D
- db $12, $12, $0E ; EVOLINE_DODUO
- db $14, $14, $0E ; EVOLINE_SEEL
- db $12, $12, $10 ; EVOLINE_GRIMER
- db $14, $14, $0E ; EVOLINE_SHELLDER
- db $10, $10, $0E ; EVOLINE_GASTLY
- db $12, $12, $10 ; EVOLINE_ONIX
- db $14, $14, $10 ; EVOLINE_DROWZEE
- db $14, $12, $10 ; EVOLINE_KRABBY
- db $02, $02, $10 ; EVOLINE_VOLTORB
- db $12, $12, $10 ; EVOLINE_EXEGGCUTE
- db $12, $12, $10 ; EVOLINE_CUBONE
- db $14, $10, $10 ; EVOLINE_HITMONLEE
- db $14, $10, $10 ; EVOLINE_HITMONCHAN
- db $14, $12, $10 ; EVOLINE_LICKITUNG
- db $11, $11, $10 ; EVOLINE_KOFFING
- db $14, $14, $10 ; EVOLINE_RHYHORN
- db $12, $12, $10 ; EVOLINE_CHANSEY
- db $10, $10, $10 ; EVOLINE_TANGELA
- db $12, $12, $10 ; EVOLINE_KANGASKHAN
- db $0F, $0F, $0E ; EVOLINE_HORSEA
- db $12, $12, $0E ; EVOLINE_GOLDEEN
- db $23, $23, $10 ; EVOLINE_STARYU
- db $13, $13, $10 ; EVOLINE_MR_MIME
- db $13, $13, $10 ; EVOLINE_SCYTHER
- db $12, $12, $10 ; EVOLINE_JYNX
- db $12, $14, $10 ; EVOLINE_ELECTABUZZ
- db $14, $14, $0E ; EVOLINE_MAGMAR
- db $12, $12, $0E ; EVOLINE_PINSIR
- db $12, $14, $10 ; EVOLINE_TAUROS
- db $18, $18, $0C ; EVOLINE_MAGIKARP
- db $16, $16, $0C ; EVOLINE_LAPRAS
- db $14, $14, $10 ; EVOLINE_DITTO
- db $12, $12, $10 ; EVOLINE_EEVEE
- db $10, $10, $0E ; EVOLINE_PORYGON
- db $12, $12, $0E ; EVOLINE_OMANYTE
- db $12, $12, $0E ; EVOLINE_KABUTO
- db $0C, $0C, $12 ; EVOLINE_AERODACTYL
- db $26, $36, $12 ; EVOLINE_SNORLAX
- db $13, $13, $10 ; EVOLINE_ARTICUNO
- db $13, $13, $10 ; EVOLINE_ZAPDOS
- db $13, $13, $10 ; EVOLINE_MOLTRES
- db $12, $12, $0E ; EVOLINE_DRATINI
- db $14, $14, $0E ; EVOLINE_MEWTWO
- db $14, $14, $0E ; EVOLINE_MEW
+INCLUDE "data/mon_animation_durations.asm"
SECTION "bank5", ROMX
@@ -1198,22 +893,32 @@ SeelBonusTilemap2_GameBoyColor: ; 0xd5c00
Alphabet1Gfx: ; 0xd6000
INCBIN "gfx/stage/alphabet_1.2bpp"
-Exclamation_Point_CharacterGfx: INCBIN "gfx/stage/exclamation_point_mono.2bpp" ;DMG excalamation point
-Period_CharacterGfx: INCBIN "gfx/stage/period_mono.2bpp" ;DMG period
-E_Acute_CharacterGfx: INCBIN "gfx/stage/e_acute_mono.2bpp"
-Apostrophe_CharacterGfx: INCBIN "gfx/stage/apostrophe_mono.2bpp" ;DMG apostrophe
-Colon_CharacterGfx: INCBIN "gfx/stage/colon_mono.2bpp" ;DMG colon
+Exclamation_Point_CharacterGfx:
+ INCBIN "gfx/stage/exclamation_point_mono.2bpp" ;DMG excalamation point
+Period_CharacterGfx:
+ INCBIN "gfx/stage/period_mono.2bpp" ;DMG period
+E_Acute_CharacterGfx:
+ INCBIN "gfx/stage/e_acute_mono.2bpp"
+Apostrophe_CharacterGfx:
+ INCBIN "gfx/stage/apostrophe_mono.2bpp" ;DMG apostrophe
+Colon_CharacterGfx:
+ INCBIN "gfx/stage/colon_mono.2bpp" ;DMG colon
SECTION "bank35.5", ROMX
Alphabet2Gfx: ; 0xd6200
INCBIN "gfx/stage/alphabet_2.2bpp"
-Exclamation_Point_CharacterGfx_GameboyColor: INCBIN "gfx/stage/exclamation_point_color.2bpp";gbc excalamation point
-Period_CharacterGfx_GameboyColor: INCBIN "gfx/stage/period_color.2bpp" ;gbc period
-E_Acute_CharacterGfx_GameboyColor: INCBIN "gfx/stage/e_acute_color.2bpp"
-Apostrophe_CharacterGfx_GameboyColor: INCBIN "gfx/stage/apostrophe_color.2bpp" ;GBC apostrophe
-Colon_CharacterGfx_GameboyColor: INCBIN "gfx/stage/colon_color.2bpp" ;gbc colon
+Exclamation_Point_CharacterGfx_GameboyColor:
+ INCBIN "gfx/stage/exclamation_point_color.2bpp" ; gbc excalamation point
+Period_CharacterGfx_GameboyColor:
+ INCBIN "gfx/stage/period_color.2bpp" ; gbc period
+E_Acute_CharacterGfx_GameboyColor:
+ INCBIN "gfx/stage/e_acute_color.2bpp"
+Apostrophe_CharacterGfx_GameboyColor:
+ INCBIN "gfx/stage/apostrophe_color.2bpp" ; GBC apostrophe
+Colon_CharacterGfx_GameboyColor:
+ INCBIN "gfx/stage/colon_color.2bpp" ; gbc colon
SECTION "bank35.6", ROMX