summaryrefslogtreecommitdiff
path: root/main.asm
diff options
context:
space:
mode:
Diffstat (limited to 'main.asm')
-rw-r--r--main.asm1212
1 files changed, 31 insertions, 1181 deletions
diff --git a/main.asm b/main.asm
index 0c2625399..a185662ab 100644
--- a/main.asm
+++ b/main.asm
@@ -20233,11 +20233,11 @@ CheckPartyFullAfterContest: ; 4d9e5
xor a
ld [CurPartyMon], a
ld hl, wContestMon
- ld de, wd018
+ ld de, wd018_Mon
ld bc, BOXMON_STRUCT_LENGTH
call CopyBytes
ld hl, PlayerName
- ld de, wd00d
+ ld de, wd00d_MonOT
ld bc, NAME_LENGTH
call CopyBytes
callab Function51322
@@ -20249,9 +20249,9 @@ CheckPartyFullAfterContest: ; 4d9e5
jr c, .Box_SkipNickname
ld a, BOXMON
ld [MonType], a
- ld de, wd050
+ ld de, wd050_MonNick
callab InitNickname
- ld hl, wd050
+ ld hl, wd050_MonNick
.Box_SkipNickname
ld a, BANK(sBoxMonNicknames)
@@ -20538,1157 +20538,7 @@ RetroactivelyIgnoreEggs: ; 4dc67
; 4dc7b
-Function4dc7b: ; 4dc7b (13:5c7b)
- ld a, [wLinkMode]
- cp LINK_MOBILE
- jr nz, StatsScreenInit
-
- ld a, [wBattleMode] ; wd22d (aliases: EnemyMonEnd)
- and a
- jr z, StatsScreenInit
- jr Function4dc8f
-
-StatsScreenInit: ; 4dc8a
- ld hl, StatsScreenMain
- jr StatsScreenInit_gotaddress
-
-Function4dc8f: ; 4dc8f
- ld hl, StatsScreenBattle
- jr StatsScreenInit_gotaddress
-
-StatsScreenInit_gotaddress: ; 4dc94
- ld a, [hMapAnims]
- push af
- xor a
- ld [hMapAnims], a ; disable overworld tile animations
- ld a, [wc2c6] ; whether sprite is to be mirrorred
- push af
- ld a, [wJumptableIndex]
- ld b, a
- ld a, [wcf64]
- ld c, a
-
- push bc
- push hl
- call ClearBGPalettes
- call ClearTileMap
- call UpdateSprites
- callba Functionfb53e
- pop hl
- call _hl_
- call ClearBGPalettes
- call ClearTileMap
- pop bc
-
- ; restore old values
- ld a, b
- ld [wJumptableIndex], a
- ld a, c
- ld [wcf64], a
- pop af
- ld [wc2c6], a
- pop af
- ld [hMapAnims], a
- ret
-; 0x4dcd2
-
-StatsScreenMain: ; 0x4dcd2
- xor a
- ld [wJumptableIndex], a
- ; stupid interns
- ld [wcf64], a
- ld a, [wcf64]
- and $fc
- or $1
- ld [wcf64], a
-.loop ; 4dce3
- ld a, [wJumptableIndex]
- and $7f
- ld hl, StatsScreenPointerTable
- rst JumpTable
- call Function4dd3a ; check for keys?
- ld a, [wJumptableIndex]
- bit 7, a
- jr z, .loop
- ret
-; 0x4dcf7
-
-StatsScreenBattle: ; 4dcf7
- xor a
- ld [wJumptableIndex], a
- ; stupid interns
- ld [wcf64], a
- ld a, [wcf64]
- and $fc
- or $1
- ld [wcf64], a
-.loop
- callba Function100dd2
- ld a, [wJumptableIndex]
- and $7f
- ld hl, StatsScreenPointerTable
- rst JumpTable
- call Function4dd3a
- callba Function100dfd
- jr c, .exit
- ld a, [wJumptableIndex]
- bit 7, a
- jr z, .loop
-
-.exit
- ret
-; 4dd2a
-
-StatsScreenPointerTable: ; 4dd2a
- dw MonStatsInit ; regular pokémon
- dw EggStatsInit ; egg
- dw StatsScreenWaitCry
- dw Function4ddac
- dw Function4ddc6
- dw StatsScreenWaitCry
- dw Function4ddd6
- dw Function4dd6c
-; 4dd3a
-
-
-Function4dd3a: ; 4dd3a (13:5d3a)
- ld hl, wcf64
- bit 6, [hl]
- jr nz, .asm_4dd49
- bit 5, [hl]
- jr nz, .asm_4dd56
- call DelayFrame
- ret
-.asm_4dd49
- callba Functiond00b4
- jr nc, .asm_4dd56
- ld hl, wcf64
- res 6, [hl]
-.asm_4dd56
- ld hl, wcf64
- res 5, [hl]
- callba Function10402d
- ret
-
-Function4dd62: ; 4dd62 (13:5d62)
- ld a, [wJumptableIndex]
- and $80
- or h
- ld [wJumptableIndex], a
- ret
-
-Function4dd6c: ; 4dd6c (13:5d6c)
- ld hl, wJumptableIndex
- set 7, [hl]
- ret
-
-MonStatsInit: ; 4dd72 (13:5d72)
- ld hl, wcf64
- res 6, [hl]
- call ClearBGPalettes
- call ClearTileMap
- callba Function10402d
- call Function4ddf2
- ld a, [CurPartySpecies]
- cp EGG
- jr z, .asm_4dd9b
- call Function4deea
- ld hl, wcf64
- set 4, [hl]
- ld h, $4
- call Function4dd62
- ret
-.asm_4dd9b
- ld h, $1
- call Function4dd62
- ret
-
-EggStatsInit: ; 4dda1
- call EggStatsScreen
- ld a, [wJumptableIndex]
- inc a
- ld [wJumptableIndex], a
- ret
-; 0x4ddac
-
-
-Function4ddac: ; 4ddac (13:5dac)
- call Function4de2c
- jr nc, .asm_4ddb7
- ld h, $0
- call Function4dd62
- ret
-.asm_4ddb7
- bit 0, a
- jr nz, .asm_4ddc0
- and $c3
- jp Function4de54
-.asm_4ddc0
- ld h, $7
- call Function4dd62
- ret
-
-Function4ddc6: ; 4ddc6 (13:5dc6)
- call Function4dfb6
- ld hl, wcf64
- res 4, [hl]
- ld a, [wJumptableIndex]
- inc a
- ld [wJumptableIndex], a
- ret
-
-Function4ddd6: ; 4ddd6 (13:5dd6)
- call Function4de2c
- jr nc, .asm_4dde1
- ld h, $0
- call Function4dd62
- ret
-
-.asm_4dde1
- and $f3
- jp Function4de54
-
-StatsScreenWaitCry: ; 4dde6 (13:5de6)
- call IsSFXPlaying
- ret nc
- ld a, [wJumptableIndex]
- inc a
- ld [wJumptableIndex], a
- ret
-
-Function4ddf2: ; 4ddf2 (13:5df2)
- ld a, [MonType]
- cp BREEDMON
- jr nz, .asm_4de10
- ld a, [wd018]
- ld [CurSpecies], a
- call GetBaseData
- ld hl, wd018
- ld de, TempMon
- ld bc, PARTYMON_STRUCT_LENGTH
- call CopyBytes
- jr .asm_4de2a
-.asm_4de10
- callba CopyPkmnToTempMon
- ld a, [CurPartySpecies]
- cp EGG
- jr z, .asm_4de2a
- ld a, [MonType]
- cp BOXMON
- jr c, .asm_4de2a
- callba Function50890
-.asm_4de2a
- and a
- ret
-
-Function4de2c: ; 4de2c (13:5e2c)
- call GetJoypad
- ld a, [MonType]
- cp BREEDMON
- jr nz, .notbreedmon
- push hl
- push de
- push bc
- callba Functione2f95
- pop bc
- pop de
- pop hl
- ld a, [wcf73]
- and $c0
- jr nz, .set_carry
- ld a, [wcf73]
- jr .clear_flags
-
-.notbreedmon
- ld a, [hJoyPressed]
-.clear_flags
- and a
- ret
-
-.set_carry
- scf
- ret
-
-Function4de54: ; 4de54 (13:5e54)
- push af
- ld a, [wcf64]
- and $3
- ld c, a
- pop af
- bit 1, a
- jp nz, Function4dee4
- bit 5, a
- jr nz, .asm_4dec7
- bit 4, a
- jr nz, .asm_4debd
- bit 0, a
- jr nz, .asm_4deb8
- bit 6, a
- jr nz, .asm_4dea0
- bit 7, a
- jr nz, .asm_4de77
- jr .asm_4dece
-.asm_4de77
- ld a, [MonType]
- cp BOXMON
- jr nc, .asm_4dece
- and a
- ld a, [PartyCount]
- jr z, .asm_4de87
- ld a, [OTPartyCount]
-.asm_4de87
- ld b, a
- ld a, [CurPartyMon]
- inc a
- cp b
- jr z, .asm_4dece
- ld [CurPartyMon], a
- ld b, a
- ld a, [MonType]
- and a
- jr nz, .asm_4dede
- ld a, b
- inc a
- ld [wd0d8], a
- jr .asm_4dede
-.asm_4dea0
- ld a, [CurPartyMon]
- and a
- jr z, .asm_4dece
- dec a
- ld [CurPartyMon], a
- ld b, a
- ld a, [MonType]
- and a
- jr nz, .asm_4dede
- ld a, b
- inc a
- ld [wd0d8], a
- jr .asm_4dede
-.asm_4deb8
- ld a, c
- cp $3
- jr z, Function4dee4
-.asm_4debd
- inc c
- ld a, $3
- cp c
- jr nc, .asm_4decf
- ld c, $1
- jr .asm_4decf
-.asm_4dec7
- dec c
- jr nz, .asm_4decf
- ld c, $3
- jr .asm_4decf
-.asm_4dece
- ret
-.asm_4decf
- ld a, [wcf64]
- and $fc
- or c
- ld [wcf64], a
- ld h, $4
- call Function4dd62
- ret
-.asm_4dede
- ld h, $0
- call Function4dd62
- ret
-
-Function4dee4: ; 4dee4 (13:5ee4)
- ld h, $7
- call Function4dd62
- ret
-
-Function4deea: ; 4deea (13:5eea)
- call Function4df45
- xor a
- ld [hBGMapMode], a
- ld a, [CurBaseData] ; wd236 (aliases: BaseDexNo)
- ld [wd265], a
- ld [CurSpecies], a
- hlcoord 8, 0
- ld [hl], "№"
- inc hl
- ld [hl], "."
- inc hl
- hlcoord 10, 0
- lb bc, PRINTNUM_LEADINGZEROS | 1, 3
- ld de, wd265
- call PrintNum
- hlcoord 14, 0
- call PrintLevel
- ld hl, Unknown_4df77
- call Function4e528
- call Function4e505
- hlcoord 8, 2
- call PlaceString
- hlcoord 18, 0
- call Function4df66
- hlcoord 9, 4
- ld a, "/"
- ld [hli], a
- ld a, [CurBaseData] ; wd236 (aliases: BaseDexNo)
- ld [wd265], a
- call GetPokemonName
- call PlaceString
- call Function4df8f
- call Function4df9b
- call Function4dfa6
- ret
-
-Function4df45: ; 4df45 (13:5f45)
- ld hl, TempMonHP
- ld a, [hli]
- ld b, a
- ld c, [hl]
- ld hl, TempMonMaxHP
- ld a, [hli]
- ld d, a
- ld e, [hl]
- callba DrawPartyMenuHPBar
- ld hl, wcda1
- call SetHPPal
- ld b, SCGB_03
- call GetSGBLayout
- call DelayFrame
- ret
-
-Function4df66: ; 4df66 (13:5f66)
- push hl
- callba GetGender
- pop hl
- ret c
- ld a, "♂"
- jr nz, .got_gender
- ld a, "♀"
-.got_gender
- ld [hl], a
- ret
-; 4df77 (13:5f77)
-
-Unknown_4df77: ; 4df77
- dw PartyMonNicknames
- dw OTPartyMonNicknames
- dw sBoxMonNicknames
- dw wd002
-; 4df7f
-
-Function4df7f: ; 4df7f
- hlcoord 7, 0
- ld bc, SCREEN_WIDTH
- ld d, SCREEN_HEIGHT
-.loop
- ld a, $31
- ld [hl], a
- add hl, bc
- dec d
- jr nz, .loop
- ret
-; 4df8f
-
-Function4df8f: ; 4df8f (13:5f8f)
- hlcoord 0, 7
- ld b, SCREEN_WIDTH
- ld a, "_"
-.loop
- ld [hli], a
- dec b
- jr nz, .loop
- ret
-
-Function4df9b: ; 4df9b (13:5f9b)
- hlcoord 12, 6
- ld [hl], "◀"
- hlcoord 19, 6
- ld [hl], "▶"
- ret
-
-Function4dfa6: ; 4dfa6 (13:5fa6)
- ld bc, TempMonDVs
- callba CheckShininess
- ret nc
- hlcoord 19, 0
- ld [hl], "<SHINY>"
- ret
-
-Function4dfb6: ; 4dfb6 (13:5fb6)
- ld a, [CurBaseData] ; wd236 (aliases: BaseDexNo)
- ld [wd265], a
- ld [CurSpecies], a
- xor a
- ld [hBGMapMode], a
- call Function4dfda
- call Function4e002
- call Function4dfed
- ld hl, wcf64
- bit 4, [hl]
- jr nz, .asm_4dfd6
- call SetPalettes
- ret
-
-.asm_4dfd6
- call Function4e226
- ret
-
-Function4dfda: ; 4dfda (13:5fda)
- ld a, [wcf64]
- and $3
- ld c, a
- call Function4e4cd
- hlcoord 0, 8
- lb bc, 10, 20
- call ClearBox
- ret
-
-Function4dfed: ; 4dfed (13:5fed)
- ld a, [wcf64]
- and $3
- ld c, a
- callba Function8c8a
- call DelayFrame
- ld hl, wcf64
- set 5, [hl]
- ret
-
-Function4e002: ; 4e002 (13:6002)
- ld a, [wcf64]
- and $3
- dec a
- ld hl, Jumptable_4e00d
- rst JumpTable
- ret
-
-Jumptable_4e00d: ; 4e00d (13:600d)
- dw Function4e013
- dw Function4e147
- dw Function4e1ae
-
-
-Function4e013: ; 4e013 (13:6013)
- hlcoord 0, 9
- ld b, $0
- predef DrawPlayerHP
- hlcoord 8, 9
- ld [hl], $41
- ld de, String_4e119
- hlcoord 0, 12
- call PlaceString
- ld a, [TempMonPokerusStatus]
- ld b, a
- and $f
- jr nz, .asm_4e055
- ld a, b
- and $f0
- jr z, .asm_4e03d
- hlcoord 8, 8
- ld [hl], $e8
-.asm_4e03d
- ld a, [MonType]
- cp $2
- jr z, .asm_4e060
- hlcoord 6, 13
- push hl
- ld de, TempMonStatus
- predef PlaceStatusString
- pop hl
- jr nz, .asm_4e066
- jr .asm_4e060
-.asm_4e055
- ld de, String_4e142
- hlcoord 1, 13
- call PlaceString
- jr .asm_4e066
-.asm_4e060
- ld de, String_4e127
- call PlaceString
-.asm_4e066
- hlcoord 1, 15
- predef PrintMonTypes
- hlcoord 9, 8
- ld de, $14
- ld b, $a
- ld a, $31
-.asm_4e078
- ld [hl], a
- add hl, de
- dec b
- jr nz, .asm_4e078
- ld de, String_4e12b
- hlcoord 10, 9
- call PlaceString
- hlcoord 17, 14
- call Function4e0d3
- hlcoord 13, 10
- lb bc, 3, 7
- ld de, TempMonExp
- call PrintNum
- call Function4e0e7
- hlcoord 13, 13
- lb bc, 3, 7
- ld de, Buffer1 ; wd1ea (aliases: MagikarpLength)
- call PrintNum
- ld de, String_4e136
- hlcoord 10, 12
- call PlaceString
- ld de, String_4e13f
- hlcoord 14, 14
- call PlaceString
- hlcoord 11, 16
- ld a, [TempMonLevel]
- ld b, a
- ld de, TempMonExp + 2
- predef FillInExpBar
- hlcoord 10, 16
- ld [hl], $40
- hlcoord 19, 16
- ld [hl], $41
- ret
-
-Function4e0d3: ; 4e0d3 (13:60d3)
- ld a, [TempMonLevel]
- push af
- cp MAX_LEVEL
- jr z, .asm_4e0df
- inc a
- ld [TempMonLevel], a
-.asm_4e0df
- call PrintLevel
- pop af
- ld [TempMonLevel], a
- ret
-
-Function4e0e7: ; 4e0e7 (13:60e7)
- ld a, [TempMonLevel]
- cp MAX_LEVEL
- jr z, .asm_4e111
- inc a
- ld d, a
- callba CalcExpAtLevel
-rept 2
- ld hl, TempMonExp + 2
-endr
- ld a, [$ffb6]
- sub [hl]
- dec hl
- ld [wd1ec], a
- ld a, [$ffb5]
- sbc [hl]
- dec hl
- ld [Buffer2], a ; wd1eb (aliases: MovementType)
- ld a, [hQuotient]
- sbc [hl]
- ld [Buffer1], a ; wd1ea (aliases: MagikarpLength)
- ret
-.asm_4e111
- ld hl, Buffer1 ; wd1ea (aliases: MagikarpLength)
- xor a
-rept 2
- ld [hli], a
-endr
- ld [hl], a
- ret
-; 4e119 (13:6119)
-
-String_4e119: ; 4e119
- db "STATUS/"
- next "TYPE/@"
-; 4e127
-
-String_4e127: ; 4e127
- db "OK @"
-; 4e12b
-
-String_4e12b: ; 4e12b
- db "EXP POINTS@"
-; 4e136
-
-String_4e136: ; 4e136
- db "LEVEL UP@"
-; 4e13f
-
-String_4e13f: ; 4e13f
- db "TO@"
-; 4e142
-
-String_4e142: ; 4e142
- db "#RUS@"
-; 4e147
-
-Function4e147: ; 4e147 (13:6147)
- ld de, String_4e1a0
- hlcoord 0, 8
- call PlaceString
- call Function4e189
- hlcoord 8, 8
- call PlaceString
- ld de, String_4e1a9
- hlcoord 0, 10
- call PlaceString
- ld hl, TempMonMoves
- ld de, wListMoves_MoveIndicesBuffer
- ld bc, NUM_MOVES
- call CopyBytes
- hlcoord 8, 10
- ld a, SCREEN_WIDTH * 2
- ld [Buffer1], a
- predef ListMoves
- hlcoord 12, 11
- ld a, $28
- ld [Buffer1], a
- predef Function50c50
- ret
-
-Function4e189: ; 4e189 (13:6189)
- ld de, String_4e1a5
- ld a, [TempMonItem]
- and a
- ret z
- ld b, a
- callba Function28771
- ld a, b
- ld [wd265], a
- call GetItemName
- ret
-; 4e1a0 (13:61a0)
-
-String_4e1a0: ; 4e1a0
- db "ITEM@"
-; 4e1a5
-
-String_4e1a5: ; 4e1a5
- db "---@"
-; 4e1a9
-
-String_4e1a9: ; 4e1a9
- db "MOVE@"
-; 4e1ae
-
-Function4e1ae: ; 4e1ae (13:61ae)
- call Function4e1cc
- hlcoord 10, 8
- ld de, $14
- ld b, $a
- ld a, $31
-.asm_4e1bb
- ld [hl], a
- add hl, de
- dec b
- jr nz, .asm_4e1bb
- hlcoord 11, 8
- ld bc, $6
- predef PrintTempMonStats
- ret
-
-Function4e1cc: ; 4e1cc (13:61cc)
- ld de, IDNoString
- hlcoord 0, 9
- call PlaceString
- ld de, OTString
- hlcoord 0, 12
- call PlaceString
- hlcoord 2, 10
- lb bc, PRINTNUM_LEADINGZEROS | 2, 5
- ld de, TempMonID
- call PrintNum
- ld hl, Unknown_4e216
- call Function4e528
- call Function4e505
- callba CheckNickErrors
- hlcoord 2, 13
- call PlaceString
- ld a, [TempMonCaughtGender]
- and a
- jr z, .asm_4e215
- cp $7f
- jr z, .asm_4e215
- and $80
- ld a, "♂"
- jr z, .asm_4e211
- ld a, "♀"
-.asm_4e211
- hlcoord 9, 13
- ld [hl], a
-.asm_4e215
- ret
-; 4e216 (13:6216)
-
-Unknown_4e216: ; 4e216
- dw PartyMonOT
- dw OTPartyMonOT
- dw sBoxMonOT
- dw wd00d
-; 4e21e
-
-IDNoString: ; 4e21e
- db $73, "№.@"
-
-OTString: ; 4e222
- db "OT/@"
-; 4e226
-
-
-Function4e226: ; 4e226 (13:6226)
- ld hl, TempMonDVs
- predef GetUnownLetter
- call Function4e2ad
- jr c, .asm_4e238
- and a
- jr z, .asm_4e23f
- jr .asm_4e246
-.asm_4e238
- call Function4e271
- call SetPalettes
- ret
-.asm_4e23f
- call Function4e253
- call SetPalettes
- ret
-.asm_4e246
- call SetPalettes
- call Function4e253
- ld a, [CurPartySpecies]
- call PlayCry2
- ret
-
-Function4e253: ; 4e253 (13:6253)
- ld hl, wcf64
- set 5, [hl]
- ld a, [CurPartySpecies]
- cp UNOWN
- jr z, .asm_4e266
- hlcoord 0, 0
- call PrepMonFrontpic
- ret
-.asm_4e266
- xor a
- ld [wc2c6], a
- hlcoord 0, 0
- call _PrepMonFrontpic
- ret
-
-Function4e271: ; 4e271 (13:6271)
- ld a, [CurPartySpecies]
- cp UNOWN
- jr z, .asm_4e281
- ld a, $1
- ld [wc2c6], a
- call Function4e289
- ret
-.asm_4e281
- xor a
- ld [wc2c6], a
- call Function4e289
- ret
-
-Function4e289: ; 4e289 (13:6289)
- ld a, [CurPartySpecies]
- call IsAPokemon
- ret c
- call Function4e307
- ld de, VTiles2 tile $00
- predef Function5108b
- hlcoord 0, 0
- ld d, $0
- ld e, $2
- predef LoadMonAnimation
- ld hl, wcf64
- set 6, [hl]
- ret
-
-Function4e2ad: ; 4e2ad (13:62ad)
- ld a, [MonType]
- ld hl, Jumptable_4e2b5
- rst JumpTable
- ret
-
-Jumptable_4e2b5: ; 4e2b5 (13:62b5)
- dw Function4e2bf
- dw Function4e2cf
- dw Function4e2d1
- dw Function4e2ed
- dw Function4e301
-
-
-Function4e2bf: ; 4e2bf (13:62bf)
- ld a, [CurPartyMon]
- ld hl, PartyMons ; wdcdf (aliases: PartyMon1, PartyMon1Species)
- ld bc, PARTYMON_STRUCT_LENGTH
- call AddNTimes
- ld b, h
- ld c, l
- jr Function4e2f2
-
-Function4e2cf: ; 4e2cf (13:62cf)
- xor a
- ret
-
-Function4e2d1: ; 4e2d1 (13:62d1)
- ld hl, sBoxMons
- ld bc, $30
- ld a, [CurPartyMon]
- call AddNTimes
- ld b, h
- ld c, l
- ld a, $1
- call GetSRAMBank
- call Function4e2f2
- push af
- call CloseSRAM
- pop af
- ret
-
-Function4e2ed: ; 4e2ed (13:62ed)
- ld bc, TempMonSpecies ; wd10e (aliases: TempMon)
- jr Function4e2f2
-
-Function4e2f2: ; 4e2f2 (13:62f2)
- ld a, [CurPartySpecies]
- cp EGG
- jr z, .asm_4e2fe
- call CheckFaintedFrzSlp
- jr c, Function4e305
-.asm_4e2fe
- xor a
- scf
- ret
-
-Function4e301: ; 4e301 (13:6301)
- ld a, $1
- and a
- ret
-Function4e305: ; 4e305 (13:6305)
- xor a
- ret
-
-Function4e307: ; 4e307 (13:6307)
- nop
- push hl
- push de
- push bc
- push af
- call DelayFrame
- ld a, [rVBK]
- push af
- ld a, $1
- ld [rVBK], a
- ld de, TextBoxSpaceGFX
- lb bc, BANK(TextBoxSpaceGFX), 1
- ld hl, VTiles2 tile $7f
- call Get2bpp
- pop af
- ld [rVBK], a
- pop af
- pop bc
- pop de
- pop hl
- ret
-; 4e32a (13:632a)
-
-Unknown_4e32a: ; 4e32a
-; A blank tile?
- ds 16
-; 4e33a
-
-EggStatsScreen: ; 4e33a
- xor a
- ld [hBGMapMode], a
- ld hl, wcda1
- call SetHPPal
- ld b, SCGB_03
- call GetSGBLayout
- call Function4df8f
- ld de, EggString
- hlcoord 8, 1
- call PlaceString
- ld de, IDNoString
- hlcoord 8, 3
- call PlaceString
- ld de, OTString
- hlcoord 8, 5
- call PlaceString
- ld de, FiveQMarkString
- hlcoord 11, 3
- call PlaceString
- ld de, FiveQMarkString
- hlcoord 11, 5
- call PlaceString
- ld a, [TempMonHappiness] ; egg status
- ld de, EggSoonString
- cp $6
- jr c, .picked
- ld de, EggCloseString
- cp $b
- jr c, .picked
- ld de, EggMoreTimeString
- cp $29
- jr c, .picked
- ld de, EggALotMoreTimeString
-.picked
- hlcoord 1, 9
- call PlaceString
- ld hl, wcf64
- set 5, [hl]
- call SetPalettes ; pals
- call DelayFrame
- hlcoord 0, 0
- call PrepMonFrontpic
- callba Function10402d
- call Function4e497
-
- ld a, [TempMonHappiness]
- cp 6
- ret nc
- ld de, SFX_2_BOOPS
- call PlaySFX
- ret
-; 0x4e3c0
-
-EggString: ; 4e3c0
- db "EGG@"
-
-FiveQMarkString: ; 4e3c4
- db "?????@"
-
-EggSoonString: ; 0x4e3ca
- db "It's making sounds"
- next "inside. It's going"
- next "to hatch soon!@"
-
-EggCloseString: ; 0x4e3fd
- db "It moves around"
- next "inside sometimes."
- next "It must be close"
- next "to hatching.@"
-
-EggMoreTimeString: ; 0x4e43d
- db "Wonder what's"
- next "inside? It needs"
- next "more time, though.@"
-
-EggALotMoreTimeString: ; 0x4e46e
- db "This EGG needs a"
- next "lot more time to"
- next "hatch.@"
-; 0x4e497
-
-
-Function4e497: ; 4e497 (13:6497)
- call Function4e2ad
- ret nc
- ld a, [TempMonHappiness]
- ld e, $7
- cp $6
- jr c, .asm_4e4ab
- ld e, $8
- cp $b
- jr c, .asm_4e4ab
- ret
-.asm_4e4ab
- push de
- ld a, $1
- ld [wc2c6], a
- call Function4e307
- ld de, VTiles2 tile $00
- predef Function5108b
- pop de
- hlcoord 0, 0
- ld d, $0
- predef LoadMonAnimation
- ld hl, wcf64
- set 6, [hl]
- ret
-
-Function4e4cd: ; 4e4cd (13:64cd)
- hlcoord 13, 5
- ld a, $36
- call Function4e4f7
- hlcoord 15, 5
- ld a, $36
- call Function4e4f7
- hlcoord 17, 5
- ld a, $36
- call Function4e4f7
- ld a, c
- cp $2
- ld a, $3a
- hlcoord 13, 5
- jr c, Function4e4f7
- hlcoord 15, 5
- jr z, Function4e4f7
- hlcoord 17, 5
-
-Function4e4f7: ; 4e4f7 (13:64f7)
- push bc
- ld [hli], a
- inc a
- ld [hld], a
- ld bc, $14
- add hl, bc
- inc a
- ld [hli], a
- inc a
- ld [hl], a
- pop bc
- ret
-
-Function4e505: ; 4e505 (13:6505)
- ld de, StringBuffer1
- ld bc, $b
- jr .asm_4e50d
-.asm_4e50d
- ld a, [MonType]
- cp BOXMON
- jr nz, .asm_4e522
- ld a, BANK(sBoxMonNicknames)
- call GetSRAMBank
- push de
- call CopyBytes
- pop de
- call CloseSRAM
- ret
-.asm_4e522
- push de
- call CopyBytes
- pop de
- ret
-
-Function4e528: ; 4e528 (13:6528)
- ld a, [MonType]
- add a
- ld c, a
- ld b, 0
- add hl, bc
- ld a, [hli]
- ld h, [hl]
- ld l, a
- ld a, [MonType]
- cp $3
- ret z
- ld a, [CurPartyMon]
- jp SkipNames
-
-
-CheckFaintedFrzSlp: ; 4e53f
- ld hl, MON_HP
- add hl, bc
- ld a, [hli]
- or [hl]
- jr z, .fainted_frz_slp
- ld hl, MON_STATUS
- add hl, bc
- ld a, [hl]
- and (1 << FRZ) | SLP
- jr nz, .fainted_frz_slp
- and a
- ret
-
-.fainted_frz_slp
- scf
- ret
-; 4e554
-
+INCLUDE "engine/stats_screen.asm"
CatchTutorial:: ; 4e554
ld a, [BattleType]
@@ -22010,7 +20860,7 @@ CopyPkmnToTempMon: ; 5084a
Function5088b: ; 5088b
- ld bc, wd018
+ ld bc, wd018_Mon
jr Function50893
; 50890
@@ -22976,7 +21826,7 @@ _SwitchPartyMons:
ld [Buffer2], a ; wd1eb (aliases: MovementType)
cp b
jr z, .skip
- call .SwapPartymonViaSRAM
+ call .SwapMonAndMail
ld a, [wd1ec]
call .ClearSprite
ld a, [Buffer2] ; wd1eb (aliases: MovementType)
@@ -23007,7 +21857,7 @@ _SwitchPartyMons:
call WaitPlaySFX
ret
-.SwapPartymonViaSRAM: ; 50f62 (14:4f62)
+.SwapMonAndMail: ; 50f62 (14:4f62)
push hl
push de
push bc
@@ -23261,7 +22111,7 @@ Function51103: ; 51103
ld b, a
call Get2bpp
pop hl
- ld de, 7 * 7 * $10
+ ld de, 7 * 7 tiles
add hl, de
push hl
ld a, $1
@@ -23269,17 +22119,17 @@ Function51103: ; 51103
call GetFarWRAMByte
pop hl
and $f
- ld de, w6_d000 + $800 + 5 * 5 * $10
+ ld de, w6_d800 + 5 * 5 tiles
ld c, 5 * 5
cp 5
- jr z, .asm_5113b
- ld de, w6_d000 + $800 + 6 * 6 * $10
+ jr z, .got_dims
+ ld de, w6_d800 + 6 * 6 tiles
ld c, 6 * 6
cp 6
- jr z, .asm_5113b
- ld de, w6_d000 + $800 + 7 * 7 * $10
+ jr z, .got_dims
+ ld de, w6_d800 + 7 * 7 tiles
ld c, 7 * 7
-.asm_5113b
+.got_dims
push hl
push bc
@@ -23376,10 +22226,10 @@ FixPicBank: ; 511c5
; This is a thing for some reason.
push hl
push bc
- sub PICS_1 - $36
+ sub PICS_1 - PICS_FIX
ld c, a
ld b, 0
- ld hl, Unknown_511d4
+ ld hl, .PicsBanks
add hl, bc
ld a, [hl]
pop bc
@@ -23387,7 +22237,7 @@ FixPicBank: ; 511c5
ret
; 511d4
-Unknown_511d4: ; 511d4
+.PicsBanks: ; 511d4
db PICS_1
db PICS_2
db PICS_3
@@ -23513,28 +22363,28 @@ Function5127c: ; 5127c
jr z, .asm_512a8
ld a, c
cp 7 * 7
- ld de, 7 * 7 * $10
- jr z, .asm_51296
+ ld de, 7 * 7 tiles
+ jr z, .got_dims
cp 6 * 6
- ld de, 6 * 6 * $10
- jr z, .asm_51296
- ld de, 5 * 5 * $10
+ ld de, 6 * 6 tiles
+ jr z, .got_dims
+ ld de, 5 * 5 tiles
-.asm_51296
+.got_dims
ld a, [hl]
ld b, $0
ld c, $8
-.asm_5129b
+.loop
rra
rl b
dec c
- jr nz, .asm_5129b
+ jr nz, .loop
ld a, b
ld [hli], a
dec de
ld a, e
or d
- jr nz, .asm_51296
+ jr nz, .got_dims
.asm_512a8
pop bc
@@ -23648,13 +22498,13 @@ Function51322: ; 51322
ld [wd265], a
ld hl, sBoxMons
ld bc, BOXMON_STRUCT_LENGTH
- ld de, wd018
+ ld de, wd018_Mon
call Function513e0
- ld hl, wd01a
+ ld hl, wd018_MonMoves
ld de, TempMonMoves
ld bc, NUM_MOVES
call CopyBytes
- ld hl, wd02f
+ ld hl, wd018_MonPP
ld de, TempMonPP
ld bc, NUM_MOVES
call CopyBytes
@@ -23686,7 +22536,7 @@ Function5138b: ; 5138b
ld [wd265], a
ld hl, PartyMons
ld bc, PARTYMON_STRUCT_LENGTH
- ld de, wd018
+ ld de, wd018_Mon
call Function513e0
ret
; 513cb