summaryrefslogtreecommitdiff
path: root/engine
diff options
context:
space:
mode:
authorRemy Oukaour <remy.oukaour@gmail.com>2017-12-11 22:59:30 -0500
committerRemy Oukaour <remy.oukaour@gmail.com>2017-12-11 22:59:30 -0500
commit213dcc70d77ade7cf587d57016cc5bb405494fe8 (patch)
treee2a91b6700c87dbad04dcf918054c4ae26871776 /engine
parentf1f84743f7759a0f808f935add82439ba6637d2b (diff)
More consistent data tables
Diffstat (limited to 'engine')
-rw-r--r--engine/events_2.asm4
-rwxr-xr-xengine/link.asm6
-rwxr-xr-xengine/mysterygift2.asm7
-rw-r--r--engine/pokedex.asm4
-rw-r--r--engine/pokedex_2.asm286
-rwxr-xr-xengine/time_capsule/conversion.asm6
-rwxr-xr-xengine/wildmons.asm15
7 files changed, 298 insertions, 30 deletions
diff --git a/engine/events_2.asm b/engine/events_2.asm
index 5a89f5e68..e141b6638 100644
--- a/engine/events_2.asm
+++ b/engine/events_2.asm
@@ -253,9 +253,9 @@ TryWildEncounter_BugContest: ; 97d64
ret
; 97d87
-ContestMons: ; 97d87
+
INCLUDE "data/wild/bug_contest_mons.asm"
-; 97db3
+
DoBikeStep:: ; 97db3
nop
diff --git a/engine/link.asm b/engine/link.asm
index b57e49e1e..7bca8b891 100755
--- a/engine/link.asm
+++ b/engine/link.asm
@@ -1112,7 +1112,7 @@ TimeCapsule_ReplaceTeruSama: ; 28771
and a
ret z
push hl
- ld hl, .TimeCapsuleAlt
+ ld hl, TimeCapsule_CatchRateItems
.loop
ld a, [hli]
and a
@@ -1129,9 +1129,9 @@ TimeCapsule_ReplaceTeruSama: ; 28771
pop hl
ret
-.TimeCapsuleAlt: ; 28785
+
INCLUDE "data/time_capsule/catch_rate_items.asm"
-; 2879e
+
Link_CopyOTData: ; 2879e
.loop
diff --git a/engine/mysterygift2.asm b/engine/mysterygift2.asm
index e2ed30f3d..dc0baf39c 100755
--- a/engine/mysterygift2.asm
+++ b/engine/mysterygift2.asm
@@ -146,12 +146,7 @@ MysteryGiftFallbackItem: ; 2c722 (b:4722)
ret
; 2c725 (b:4725)
-MysteryGiftItems: ; 2c725
+
INCLUDE "data/mystery_gift/items.asm"
-MysteryGiftItemsEnd
-; 2c74a
-MysteryGiftDecos: ; 2c74a
INCLUDE "data/mystery_gift/decos.asm"
-MysteryGiftDecosEnd
-; 2c76f
diff --git a/engine/pokedex.asm b/engine/pokedex.asm
index 282b9ca91..c60396a40 100644
--- a/engine/pokedex.asm
+++ b/engine/pokedex.asm
@@ -1708,12 +1708,12 @@ Pokedex_ABCMode: ; 40c30
.doneabc
ret
-AlphabeticalPokedexOrder: ; 0x40c65
+
INCLUDE "data/pokedex/order_alpha.asm"
-NewPokedexOrder: ; 0x40d60
INCLUDE "data/pokedex/order_new.asm"
+
Pokedex_DisplayModeDescription: ; 40e5b
xor a
ld [hBGMapMode], a
diff --git a/engine/pokedex_2.asm b/engine/pokedex_2.asm
new file mode 100644
index 000000000..83b366017
--- /dev/null
+++ b/engine/pokedex_2.asm
@@ -0,0 +1,286 @@
+AnimateDexSearchSlowpoke: ; 441cf
+ ld hl, .FrameIDs
+ ld b, 25
+.loop
+ ld a, [hli]
+
+ ; Wrap around
+ cp $fe
+ jr nz, .ok
+ ld hl, .FrameIDs
+ ld a, [hli]
+.ok
+
+ ld [wDexSearchSlowpokeFrame], a
+ ld a, [hli]
+ ld c, a
+ push bc
+ push hl
+ call DoDexSearchSlowpokeFrame
+ pop hl
+ pop bc
+ call DelayFrames
+ dec b
+ jr nz, .loop
+ xor a
+ ld [wDexSearchSlowpokeFrame], a
+ call DoDexSearchSlowpokeFrame
+ ld c, 32
+ call DelayFrames
+ ret
+
+.FrameIDs: ; 441fc
+ ; frame ID, duration
+ db 0, 7
+ db 1, 7
+ db 2, 7
+ db 3, 7
+ db 4, 7
+ db -2
+
+DoDexSearchSlowpokeFrame: ; 44207
+ ld a, [wDexSearchSlowpokeFrame]
+ ld hl, .SpriteData
+ ld de, Sprites
+.loop
+ ld a, [hli]
+ cp -1
+ ret z
+ ld [de], a
+ inc de
+ ld a, [hli]
+ ld [de], a
+ inc de
+ ld a, [wDexSearchSlowpokeFrame]
+ ld b, a
+ add a
+ add b
+ add [hl]
+ inc hl
+ ld [de], a
+ inc de
+ ld a, [hli]
+ ld [de], a
+ inc de
+ jr .loop
+
+.SpriteData: ; 44228
+ dsprite 11, 0, 9, 0, $00, $00
+ dsprite 11, 0, 10, 0, $01, $00
+ dsprite 11, 0, 11, 0, $02, $00
+ dsprite 12, 0, 9, 0, $10, $00
+ dsprite 12, 0, 10, 0, $11, $00
+ dsprite 12, 0, 11, 0, $12, $00
+ dsprite 13, 0, 9, 0, $20, $00
+ dsprite 13, 0, 10, 0, $21, $00
+ dsprite 13, 0, 11, 0, $22, $00
+ db -1
+
+DisplayDexEntry: ; 4424d
+ call GetPokemonName
+ hlcoord 9, 3
+ call PlaceString ; mon species
+ ld a, [wd265]
+ ld b, a
+ call GetDexEntryPointer
+ ld a, b
+ push af
+ hlcoord 9, 5
+ call FarString ; dex species
+ ld h, b
+ ld l, c
+ push de
+; Print dex number
+ hlcoord 2, 8
+ ld a, $5c ; No
+ ld [hli], a
+ ld a, $5d ; .
+ ld [hli], a
+ ld de, wd265
+ lb bc, PRINTNUM_LEADINGZEROS | 1, 3
+ call PrintNum
+; Check to see if we caught it. Get out of here if we haven't.
+ ld a, [wd265]
+ dec a
+ call CheckCaughtMon
+ pop hl
+ pop bc
+ ret z
+; Get the height of the Pokemon.
+ ld a, [CurPartySpecies]
+ ld [CurSpecies], a
+ inc hl
+ ld a, b
+ push af
+ push hl
+ call GetFarHalfword
+ ld d, l
+ ld e, h
+ pop hl
+ inc hl
+ inc hl
+ ld a, d
+ or e
+ jr z, .skip_height
+ push hl
+ push de
+ ld hl, sp+$0
+ ld d, h
+ ld e, l
+ hlcoord 12, 7
+ lb bc, 2, PRINTNUM_MONEY | 4
+ call PrintNum
+ hlcoord 14, 7
+ ld [hl], $5e ; ft symbol
+ pop af
+ pop hl
+
+.skip_height
+ pop af
+ push af
+ inc hl
+ push hl
+ dec hl
+ call GetFarHalfword
+ ld d, l
+ ld e, h
+ ld a, e
+ or d
+ jr z, .skip_weight
+ push de
+ ld hl, sp+$0
+ ld d, h
+ ld e, l
+ hlcoord 11, 9
+ lb bc, 2, PRINTNUM_RIGHTALIGN | 5
+ call PrintNum
+ pop de
+
+.skip_weight
+; Page 1
+ lb bc, 5, SCREEN_WIDTH - 2
+ hlcoord 2, 11
+ call ClearBox
+ hlcoord 1, 10
+ ld bc, SCREEN_WIDTH - 1
+ ld a, $61 ; horizontal divider
+ call ByteFill
+ ; page number
+ hlcoord 1, 9
+ ld [hl], $55
+ inc hl
+ ld [hl], $55
+ hlcoord 1, 10
+ ld [hl], $56 ; P.
+ inc hl
+ ld [hl], $57 ; 1
+ pop de
+ inc de
+ pop af
+ hlcoord 2, 11
+ push af
+ call FarString
+ pop bc
+ ld a, [wPokedexStatus]
+ or a
+ ret z
+
+; Page 2
+ push bc
+ push de
+ lb bc, 5, SCREEN_WIDTH - 2
+ hlcoord 2, 11
+ call ClearBox
+ hlcoord 1, 10
+ ld bc, SCREEN_WIDTH - 1
+ ld a, $61
+ call ByteFill
+ ; page number
+ hlcoord 1, 9
+ ld [hl], $55
+ inc hl
+ ld [hl], $55
+ hlcoord 1, 10
+ ld [hl], $56 ; P.
+ inc hl
+ ld [hl], $58 ; 2
+ pop de
+ inc de
+ pop af
+ hlcoord 2, 11
+ call FarString
+ ret
+
+String_44331: ; 44331
+ db "#@"
+
+GetDexEntryPointer: ; 44333
+; return dex entry pointer b:de
+ push hl
+ ld hl, PokedexDataPointerTable
+ ld a, b
+ dec a
+ ld d, 0
+ ld e, a
+ add hl, de
+ add hl, de
+ ld e, [hl]
+ inc hl
+ ld d, [hl]
+ push de
+ rlca
+ rlca
+ and $3
+ ld hl, .PokedexEntryBanks
+ ld d, 0
+ ld e, a
+ add hl, de
+ ld b, [hl]
+ pop de
+ pop hl
+ ret
+
+.PokedexEntryBanks: ; 44351
+
+GLOBAL PokedexEntries1
+GLOBAL PokedexEntries2
+GLOBAL PokedexEntries3
+GLOBAL PokedexEntries4
+
+ db BANK(PokedexEntries1)
+ db BANK(PokedexEntries2)
+ db BANK(PokedexEntries3)
+ db BANK(PokedexEntries4)
+
+GetDexEntryPagePointer: ; 44355
+ call GetDexEntryPointer ; b:de
+ push hl
+ ld h, d
+ ld l, e
+; skip species name
+.loop1
+ ld a, b
+ call GetFarByte
+ inc hl
+ cp "@"
+ jr nz, .loop1
+; skip height and weight
+rept 4
+ inc hl
+endr
+; if c != 1: skip entry
+ dec c
+ jr z, .done
+; skip entry
+.loop2
+ ld a, b
+ call GetFarByte
+ inc hl
+ cp "@"
+ jr nz, .loop2
+
+.done
+ ld d, h
+ ld e, l
+ pop hl
+ ret
diff --git a/engine/time_capsule/conversion.asm b/engine/time_capsule/conversion.asm
index 6f17398fd..eb8896355 100755
--- a/engine/time_capsule/conversion.asm
+++ b/engine/time_capsule/conversion.asm
@@ -144,9 +144,8 @@ PlaceTradePartnerNamesAndParty: ; fb60d
jr .loop
; fb656
-KantoMonSpecials: ; fb656
+
INCLUDE "data/time_capsule/special_stats.asm"
-; fb6ed
INCLUDE "event/name_rater.asm"
@@ -274,6 +273,5 @@ ConvertMon_1to2: ; fb908
ret
; fb91c
-Pokered_MonIndices: ; fb91c
+
INCLUDE "data/time_capsule/mon_order.asm"
-; fba18
diff --git a/engine/wildmons.asm b/engine/wildmons.asm
index 8fab382b7..1f6bb4065 100755
--- a/engine/wildmons.asm
+++ b/engine/wildmons.asm
@@ -784,9 +784,9 @@ _BackUpMapIndices: ; 2a3f6
ret
; 2a40f
-RoamMaps: ; 2a40f
+
INCLUDE "data/wild/roammon_maps.asm"
-; 2a4a0
+
ValidateTempWildMonSpecies: ; 2a4a0
; Due to a development oversight, this function is called with the wild Pokemon's level, not its species, in a.
@@ -1000,20 +1000,9 @@ RandomPhoneMon: ; 2a567
; 2a5e9
-JohtoGrassWildMons: ; 0x2a5e9
INCLUDE "data/wild/johto_grass.asm"
-
-JohtoWaterWildMons: ; 0x2b11d
INCLUDE "data/wild/johto_water.asm"
-
-KantoGrassWildMons: ; 0x2b274
INCLUDE "data/wild/kanto_grass.asm"
-
-KantoWaterWildMons: ; 0x2b7f7
INCLUDE "data/wild/kanto_water.asm"
-
-SwarmGrassWildMons: ; 0x2b8d0
INCLUDE "data/wild/swarm_grass.asm"
-
-SwarmWaterWildMons: ; 0x2b92f
INCLUDE "data/wild/swarm_water.asm"