summaryrefslogtreecommitdiff
path: root/main.asm
diff options
context:
space:
mode:
Diffstat (limited to 'main.asm')
-rw-r--r--main.asm343
1 files changed, 24 insertions, 319 deletions
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