diff options
Diffstat (limited to 'main.asm')
-rw-r--r-- | main.asm | 1212 |
1 files changed, 31 insertions, 1181 deletions
@@ -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 |