diff options
Diffstat (limited to 'main.asm')
-rwxr-xr-x | main.asm | 1190 |
1 files changed, 1 insertions, 1189 deletions
@@ -33942,1195 +33942,7 @@ INCLUDE "engine/pinball_game/draw_sprites/draw_seel_bonus_sprites.asm" SECTION "banka", ROMX, BANK[$a] -HandlePokedexScreen: ; 0x28000 - ld a, [wScreenState] - rst JumpTable ; calls JumpToFuncInTable -PointerTable_28004: ; 0x28004 - dw LoadPokedexScreen - dw MainPokedexScreen - dw MonInfoPokedexScreen - dw Func_282e9 ; not sure if this is used ever... - dw ExitPokedexScreen - -LoadPokedexScreen: ; 0x2800e - ld a, $23 - ld [hLCDC], a - ld a, $e4 - ld [wBGP], a - ld a, $93 - ld [wOBP0], a - ld a, $e4 - ld [wOBP1], a - xor a - ld [hSCX], a - ld a, $8 - ld [hSCY], a - ld a, $7 - ld [hWX], a - ld a, $8c - ld [hWY], a - ld a, $3b - ld [hLYC], a - ld [hLastLYC], a - ld [hNextLYCSub], a - ld [hLYCSub], a - ld hl, hSTAT - set 6, [hl] - ld hl, rIE - set 1, [hl] - ld a, $2 - ld [hHBlankRoutine], a - ld hl, PointerTable_280a2 - ld a, [hGameBoyColorFlag] - call LoadVideoData - xor a - ld [wCurPokedexIndex], a - ld [wPokedexOffset], a - ld [wd95b], a - ld [wd95c], a - ld [wd960], a - ld [wd961], a - ld [wd95e], a - ld a, $1 - ld [wd862], a - call ClearOAMBuffer - call Func_285db - call Func_28931 - call Func_289c8 - call Func_28a15 - call Func_28972 - call Func_28a8a - call Func_28ad1 - call Func_28add - call CountNumSeenOwnedMons - call Func_b66 - ld a, $f - call SetSongBank - ld de, $0004 - call PlaySong - call Func_588 - call Func_bbe - ld hl, wScreenState - inc [hl] - ret - -PointerTable_280a2: ; 0x280a2 - dw Data_280a6 - dw Data_280c4 - -Data_280a6: ; 0x280a6 - dab PokedexInitialGfx - dw vTilesOB - dw $6000 - dab PokedexTilemap2 - dw $9800 - dw $1000 - dab PokedexTilemap - dw vBGWin - dw $800 - dab PokedexTilemap - dw $9e00 - dw $800 - dw $FFFF ; terminators - -Data_280c4: ; 0x280c4 - dab PokedexInitialGfx - dw vTilesOB - dw $6000 - dab PokedexTilemap2 - dw $9800 - dw $1000 - dab PokedexBGAttributes2 - dw $9800 - dw $1002 - dab PokedexTilemap - dw vBGWin - dw $800 - dab PokedexTilemap - dw $9e00 - dw $800 - dab PokedexBGAttributes - dw vBGWin - dw $802 - dab PokedexBGAttributes - dw $9e00 - dw $802 - dab PokedexPalettes - dw $0000 - dw $101 - dw $FFFF ; terminators - -MainPokedexScreen: ; 0x280fe - call Func_28513 - ld a, [hNewlyPressedButtons] - bit BIT_A_BUTTON, a - jr z, .asm_28142 - ld a, [wd95f] - and a - jp nz, .asm_28174 - ld a, [wCurPokedexIndex] - ld c, a - ld b, $0 - ld hl, wPokedexFlags - add hl, bc - ld a, [hl] - and a - jp z, .asm_28174 - push hl - ld a, [wCurPokedexIndex] - inc a - ld e, a - ld d, $0 - call PlayCry - pop hl - bit 1, [hl] - jp z, .asm_28174 - call Func_288c6 - call Func_2885c - call CleanOAMBuffer - call Func_2887c - call Func_2885c - ld hl, wScreenState - inc [hl] - ret - -.asm_28142 - bit BIT_B_BUTTON, a - jr z, .asm_2814f - call Func_285db - ld a, $4 - ld [wScreenState], a - ret - -.asm_2814f - ld a, [hGameBoyColorFlag] - and a - jr z, .asm_28174 - ld a, [hJoypadState] - bit BIT_START, a - jr z, .asm_28168 - ld a, [wd960] - and a - ld a, $ff - ld [wd960], a - call z, Func_28add - jr .asm_28174 - -.asm_28168 - ld a, [wd960] - and a - ld a, $0 - ld [wd960], a - call nz, Func_28add -.asm_28174 - call Func_285db - ret - -MonInfoPokedexScreen: ; 0x28178 - ld a, [wd956] - bit 0, a - jr z, .asm_28190 - ld a, [hNewlyPressedButtons] - bit BIT_A_BUTTON, a - jr z, .asm_2818a - call Func_28912 - jr .asm_281a2 - -.asm_2818a - bit 1, a - jr z, .asm_281a2 - jr .asm_28196 - -.asm_28190 - ld a, [hNewlyPressedButtons] - and $3 - jr z, .asm_281a2 -.asm_28196 - call Func_288a2 - call Func_285db - ld a, $1 - ld [wScreenState], a - ret - -.asm_281a2 - ld a, [hGameBoyColorFlag] - and a - jr z, .asm_281c7 - ld a, [hJoypadState] - bit BIT_START, a - jr z, .asm_281bb - ld a, [wd960] - and a - ld a, $ff - ld [wd960], a - call z, Func_28add - jr .asm_281c7 - -.asm_281bb - ld a, [wd960] - and a - ld a, $0 - ld [wd960], a - call nz, Func_28add -.asm_281c7 - call Func_2885c - ret - -Func_281cb: - ld a, [wCurPokedexIndex] - ld c, a - ld b, $0 - sla c - rl b - add c - ld c, a - jr nc, .asm_281da - inc b -.asm_281da - ld a, [wd960] - and a - jr nz, .asm_281fb - ld hl, MonBillboardPalettePointers - add hl, bc - ld a, BANK(MonBillboardPalettePointers) - call ReadByteFromBank - inc hl - ld e, a - ld a, BANK(MonBillboardPalettePointers) - call ReadByteFromBank - inc hl - ld d, a - ld a, BANK(MonBillboardPalettePointers) - call ReadByteFromBank - ld [$ff8c], a - jr .asm_28214 - -.asm_281fb - ld hl, MonAnimatedPalettePointers - add hl, bc - ld a, BANK(MonAnimatedPalettePointers) - call ReadByteFromBank - inc hl - ld e, a - ld a, BANK(MonAnimatedPalettePointers) - call ReadByteFromBank - inc hl - ld d, a - ld a, BANK(MonAnimatedPalettePointers) - call ReadByteFromBank - ld [$ff8c], a -.asm_28214 - ld h, d - ld l, e - ld de, wda8a - ld b, $8 -.asm_2821b - push bc - ld a, [$ff8c] - call ReadByteFromBank - inc hl - ld c, a - ld a, [$ff8c] - call ReadByteFromBank - inc hl - ld b, a - ld a, c - and $1f - ld [de], a - inc de - srl b - rr c - srl b - rr c - srl b - rr c - srl b - rr c - srl b - rr c - ld a, c - and $1f - ld [de], a - inc de - srl b - rr c - srl b - rr c - srl b - rr c - srl b - rr c - srl b - rr c - ld a, c - and $1f - ld [de], a - inc de - pop bc - dec b - jr nz, .asm_2821b - ld hl, VRAMAddresses_28289 - ld de, wda8a - ld b, $18 -.asm_2826d - push hl - ld a, [hli] - ld h, [hl] - ld l, a - ld a, [de] - inc de - push af - swap a - and $f - call PutTileInVRAM - inc hl - pop af - and $f - call PutTileInVRAM - pop hl - inc hl - inc hl - dec b - jr nz, .asm_2826d - ret - -VRAMAddresses_28289: - dw vBGWin + $26 - dw vBGWin + $2B - dw vBGWin + $30 - dw vBGWin + $46 - dw vBGWin + $4B - dw vBGWin + $50 - dw vBGWin + $66 - dw vBGWin + $6B - dw vBGWin + $70 - dw vBGWin + $86 - dw vBGWin + $8B - dw vBGWin + $90 - dw vBGWin + $C6 - dw vBGWin + $CB - dw vBGWin + $D0 - dw vBGWin + $E6 - dw vBGWin + $EB - dw vBGWin + $F0 - dw vBGWin + $106 - dw vBGWin + $10B - dw vBGWin + $110 - dw vBGWin + $126 - dw vBGWin + $12B - dw vBGWin + $130 - -OAMOffsetsTable_282b9: -; y, x coordinates - db $40, $18 - db $40, $40 - db $40, $68 - db $48, $18 - db $48, $40 - db $48, $68 - db $50, $18 - db $50, $40 - db $50, $68 - db $58, $18 - db $58, $40 - db $58, $68 - db $68, $18 - db $68, $40 - db $68, $68 - db $70, $18 - db $70, $40 - db $70, $68 - db $78, $18 - db $78, $40 - db $78, $68 - db $80, $18 - db $80, $40 - db $80, $68 - -Func_282e9: ; 0x282e9 - ld a, [wd960] - and a - jr z, .asm_28318 - ld a, [wCurPokedexIndex] - ld c, a - ld b, $0 - ld hl, MonAnimatedSpriteTypes - add hl, bc - ld a, Bank(MonAnimatedSpriteTypes) - call ReadByteFromBank - ld c, a - ld a, [hNumFramesDropped] - swap a - and $7 - cp $7 - jr z, .asm_2830d - and $1 - jr .asm_2830f - -.asm_2830d - ld a, $2 -.asm_2830f - add c - add $a5 - ld bc, $2030 - call LoadOAMData -.asm_28318 - ld a, [wdaa2] - sla a - ld c, a - ld b, $0 - ld hl, OAMOffsetsTable_282b9 - add hl, bc - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - ld a, $63 - call LoadOAMData - call Func_28368 - ld a, [hNewlyPressedButtons] - and $6 - jr z, .asm_28367 - ld a, BANK(PokedexTilemap) - ld hl, PokedexTilemap - ld de, vBGWin - ld bc, $0200 - call LoadVRAMData - ld a, $1 - ld [rVBK], a - ld a, BANK(PokedexBGAttributes) - ld hl, PokedexBGAttributes - ld de, vBGWin - ld bc, $0200 - call LoadVRAMData - xor a - ld [rVBK], a - call Func_28972 - call Func_28a8a - call Func_28ad1 - ld a, $1 - ld [wScreenState], a -.asm_28367 - ret - -Func_28368: ; 0x28368 - ld a, [hJoypadState] - bit BIT_A_BUTTON, a - jr nz, .asm_28371 - jp Func_284bc - -.asm_28371 - ld a, [hPressedButtons] - ld b, a - ld a, [wdaa2] - ld e, a - ld d, $0 - ld hl, wda8a - add hl, de - ld a, [hl] - bit 5, b - jr z, .asm_28386 - dec a - jr .asm_2838a - -.asm_28386 - bit 4, b - ret z - inc a -.asm_2838a - and $1f - ld [hl], a - push af - sla e - rl d - ld hl, VRAMAddresses_28289 - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - pop af - push af - swap a - and $f - call PutTileInVRAM - inc hl - pop af - and $f - call PutTileInVRAM - ld hl, Data_2842c - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - ld a, [hld] - ld c, a - ld b, $0 - sla c - rl b - sla c - rl b - sla c - rl b - sla c - rl b - sla c - rl b - ld a, [hld] - or c - ld c, a - sla c - rl b - sla c - rl b - sla c - rl b - sla c - rl b - sla c - rl b - ld a, [hl] - or c - ld c, a - ld a, [wd960] - and a - jr nz, .asm_283ff - ld hl, BGPaletteIndices_2845c - add hl, de - ld a, [hl] - ld hl, rBGPI - call PutTileInVRAM - ld hl, rBGPD - ld a, c - call PutTileInVRAM - ld a, b - call PutTileInVRAM - ret - -.asm_283ff - ld hl, BGPaletteIndices_2845c - add hl, de - ld a, [hl] - ld hl, rBGPI - call PutTileInVRAM - ld hl, rBGPD - ld a, c - call PutTileInVRAM - ld a, b - call PutTileInVRAM - ld hl, SpritePaletteIndices_2848c - add hl, de - ld a, [hl] - ld hl, rOBPI - call PutTileInVRAM - ld hl, rOBPD - ld a, c - call PutTileInVRAM - ld a, b - call PutTileInVRAM - ret - -Data_2842c: - dw wda8c - dw wda8c - dw wda8c - dw wda8f - dw wda8f - dw wda8f - dw wda92 - dw wda92 - dw wda92 - dw wda95 - dw wda95 - dw wda95 - dw wda98 - dw wda98 - dw wda98 - dw wda9b - dw wda9b - dw wda9b - dw wda9e - dw wda9e - dw wda9e - dw wdaa1 - dw wdaa1 - dw wdaa1 - -BGPaletteIndices_2845c: -; second byte is unused - db $30 | $80, $00 - db $30 | $80, $00 - db $30 | $80, $00 - db $32 | $80, $00 - db $32 | $80, $00 - db $32 | $80, $00 - db $34 | $80, $00 - db $34 | $80, $00 - db $34 | $80, $00 - db $36 | $80, $00 - db $36 | $80, $00 - db $36 | $80, $00 - db $38 | $80, $00 - db $38 | $80, $00 - db $38 | $80, $00 - db $3A | $80, $00 - db $3A | $80, $00 - db $3A | $80, $00 - db $3C | $80, $00 - db $3C | $80, $00 - db $3C | $80, $00 - db $3E | $80, $00 - db $3E | $80, $00 - db $3E | $80, $00 - -SpritePaletteIndices_2848c: - db $D8, $00 - db $D8, $00 - db $D8, $00 - db $DA, $00 - db $DA, $00 - db $DA, $00 - db $DC, $00 - db $DC, $00 - db $DC, $00 - db $DE, $00 - db $DE, $00 - db $DE, $00 - db $E8, $00 - db $E8, $00 - db $E8, $00 - db $EA, $00 - db $EA, $00 - db $EA, $00 - db $EC, $00 - db $EC, $00 - db $EC, $00 - db $EE, $00 - db $EE, $00 - db $EE, $00 - -Func_284bc: ; 0x284bc - ld a, [hPressedButtons] - ld b, a - ld a, [wdaa2] - bit 5, b - jr z, .asm_284cd - dec a - bit 7, a - jr nz, .asm_284ef - jr .asm_284f5 - -.asm_284cd - bit 4, b - jr z, .asm_284d8 - inc a - cp $18 - jr nc, .asm_284f3 - jr .asm_284f5 - -.asm_284d8 - bit 6, b - jr z, .asm_284e4 - sub $3 - bit 7, a - jr nz, .asm_284ef - jr .asm_284f5 - -.asm_284e4 - bit 7, b - ret z - add $3 - cp $18 - jr nc, .asm_284f3 - jr .asm_284f5 - -.asm_284ef - add $18 - jr .asm_284f5 - -.asm_284f3 - sub $18 -.asm_284f5 - ld [wdaa2], a - ret - -ExitPokedexScreen: ; 0x284f9 - call Func_cb5 - call Func_576 - ld hl, hSTAT - res 6, [hl] - ld hl, rIE - res 1, [hl] - ld a, SCREEN_TITLESCREEN - ld [wCurrentScreen], a - xor a - ld [wScreenState], a - ret - -Func_28513: ; 0x28513 - ld a, [hPressedButtons] - ld hl, wd95e - or [hl] - ld [hl], a - ld a, [wd95c] - and a - ret nz - ld a, [wd95e] - ld b, a - ld a, [wd9f8] - and a - ld a, NUM_POKEMON - 1 - jr z, .asm_2852d - ld a, NUM_POKEMON -.asm_2852d - ld d, a - ld a, [wCurPokedexIndex] - bit 6, b - jr z, .asm_28548 - and a - jr z, .asm_285a9 - dec a - ld [wCurPokedexIndex], a - ld a, $4 - ld [wd95c], a - ld a, $1 - ld [wd95f], a - jr .asm_285a9 - -.asm_28548 - bit 7, b - jr z, .asm_2855f - inc a - cp d - jr z, .asm_285a9 - ld [wCurPokedexIndex], a - ld a, $4 - ld [wd95c], a - ld a, $1 - ld [wd95f], a - jr .asm_285a9 - -.asm_2855f - ld a, d - sub $9 - ld d, a - ld a, [wPokedexOffset] - ld c, $5 - bit 5, b - jr z, .asm_28586 - cp $5 - jr nc, .asm_28571 - ld c, a -.asm_28571 - sub c - ld [wPokedexOffset], a - ld a, [wCurPokedexIndex] - sub c - ld [wCurPokedexIndex], a - ld a, $1 - ld [wd95f], a - call Func_285ca - jr .asm_285aa - -.asm_28586 - bit 4, b - jr z, .asm_285ae - cp d - jr c, .asm_28594 - push af - cpl - add d - add $5 - ld c, a - pop af -.asm_28594 - add c - ld [wPokedexOffset], a - ld a, [wCurPokedexIndex] - add c - ld [wCurPokedexIndex], a - ld a, $1 - ld [wd95f], a - call Func_285ca - jr .asm_285aa - -.asm_285a9 - xor a -.asm_285aa - ld [wd95e], a - ret - -.asm_285ae - ld a, [wd95f] - and a - ret z - lb de, $00, $03 - call PlaySoundEffect - call Func_28931 - call Func_289c8 - call Func_28a15 - call Func_28add - xor a - ld [wd95f], a - ret - -Func_285ca: ; 0x285ca - xor a - ld [wd80a], a - call Func_28972 - call Func_28a8a - call Func_28ad1 - ld a, [wd80a] - ret - -Func_285db: ; 0x285db - ld a, [wCurPokedexIndex] - ld c, a - ld b, $0 - ld hl, wPokedexFlags - add hl, bc - bit 1, [hl] ; has pokemon been seen or captured? - call nz, Func_287e7 - ld bc, $8c38 - ld a, $64 - call LoadOAMData - ld bc, vTilesSH tile $04 - ld a, $65 - call LoadOAMData - ld bc, $8888 - ld a, $66 - call LoadOAMData - call DrawCornerInfoPokedexScreen - ld a, [wCurPokedexIndex] - ld c, a - ld b, $0 - ld hl, DexScrollBarOffsets - add hl, bc - ld a, [hl] - add $49 - ld c, a - ld b, $90 - ld a, [wd95b] - srl a - srl a - and $3 - ld e, a - ld d, $0 - ld hl, DexScrollBarOAMIds - add hl, de - ld a, [hl] - call LoadOAMData - ld a, [wCurPokedexIndex] - ld hl, wPokedexOffset - sub [hl] - jr nc, .asm_2863b - dec [hl] - ld a, $1 - ld [wd95d], a - xor a - jr .asm_28647 - -.asm_2863b - cp $5 - jr c, .asm_28647 - ld a, $1 - ld [wd95d], a - inc [hl] - ld a, $4 -.asm_28647 - ld c, a - push bc - ld a, [hJoypadState] - and a - ld a, [wd95b] - jr z, .asm_28652 - xor a -.asm_28652 - inc a - ld [wd95b], a - bit 3, a - jr nz, .asm_28667 - swap c - ld a, c - add $40 - ld c, a - ld b, $10 - ld a, $63 - call LoadOAMData -.asm_28667 - pop bc - ld a, [wd95c] - and a - ret z - dec a - ld [wd95c], a - sla a - ld e, a - ld d, $0 - push hl - ld hl, PointerTable_2867f - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - jp [hl] - -PointerTable_2867f: ; 0x2867f - dw Func_286dd - dw Func_28721 - dw Func_286dd - dw Func_28765 - -DexScrollBarOAMIds: - db $67, $68, $69, $68 - -DrawCornerInfoPokedexScreen: ; 0x2868b -; If player is holding SELECT button, it draws the seen/own count in the top-right corner. -; Otherwise, it draws the word "POKeDEX". - ld a, [hJoypadState] - bit BIT_SELECT, a - jr z, .asm_286c8 - ld bc, $6d03 - ld a, [wNumPokemonSeen + 1] - call LoadSeenOwnDigitOAM - ld a, [wNumPokemonSeen] - swap a - call LoadSeenOwnDigitOAM - ld a, [wNumPokemonSeen] - call LoadSeenOwnDigitOAM - ld bc, $8202 - ld a, $76 - call LoadOAMData ; draws the "/" between the seen/owned numbers - ld bc, $8703 - ld a, [wNumPokemonOwned + 1] - call LoadSeenOwnDigitOAM - ld a, [wNumPokemonOwned] - swap a - call LoadSeenOwnDigitOAM - ld a, [wNumPokemonOwned] - call LoadSeenOwnDigitOAM - ret - -.asm_286c8 - ld bc, $6800 - ld a, $6a - call LoadOAMData - ret - -LoadSeenOwnDigitOAM: ; 0x286d1 - and $f - add $6c - call LoadOAMData - ld a, b - add $7 ; adds 7 pixels to the next digit's x position on screen - ld b, a - ret - -Func_286dd: ; 0x286dd - pop hl - ld a, [wd862] - and a - jr nz, .asm_286ff - push bc - push hl - ld a, [wd863] - ld e, a - ld a, [wd864] - ld d, a - ld hl, wc010 - xor a - ld bc, $00a0 - call LoadOrCopyVRAMData - ld a, $1 - ld [wd862], a - pop hl - pop bc -.asm_286ff - ld a, [wd95d] - and a - ret z - ld a, [wd95c] - and a - jr nz, .asm_2870d - ld [wd95d], a -.asm_2870d - ld a, c - and a - jr nz, .asm_28719 - ld hl, hNextFrameHBlankSCX - dec [hl] - dec [hl] - dec [hl] - dec [hl] - ret - -.asm_28719 - ld hl, hNextFrameHBlankSCX - inc [hl] - inc [hl] - inc [hl] - inc [hl] - ret - -Func_28721: ; 0x28721 - pop hl - ld a, [wd95d] - and a - ret z - ld a, c - and a - jr nz, .asm_28747 - ld a, [hl] - push af - sla a - and $1e - ld c, a - ld b, $0 - ld hl, BGMapLocations_287c7 - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - pop af - call Func_28aaa - ld hl, hNextFrameHBlankSCX - dec [hl] - dec [hl] - dec [hl] - dec [hl] - ret - -.asm_28747 - ld a, [hl] - add $5 - push af - sla a - and $1e - ld c, a - ld b, $0 - ld hl, BGMapLocations_287c7 - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - pop af - call Func_28aaa - ld hl, hNextFrameHBlankSCX - inc [hl] - inc [hl] - inc [hl] - inc [hl] - ret - -Func_28765: ; 0x28765 - pop hl - ld a, [wd95d] - and a - ret z - ld a, c - and a - jr nz, .asm_28791 - push hl - ld a, [hl] - sla a - and $e - ld c, a - ld b, $0 - ld hl, TileLocations_287b7 - add hl, bc - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld hl, hNextFrameHBlankSCX - dec [hl] - dec [hl] - dec [hl] - dec [hl] - pop hl - xor a - ld [wd862], a - ld a, [hl] - call Func_28993 - ret - -.asm_28791 - push hl - ld a, [hl] - add $5 - sla a - and $e - ld c, a - ld b, $0 - ld hl, TileLocations_287b7 - add hl, bc - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld hl, hNextFrameHBlankSCX - inc [hl] - inc [hl] - inc [hl] - inc [hl] - pop hl - xor a - ld [wd862], a - ld a, [hl] - add $5 - call Func_28993 - ret - -TileLocations_287b7: - dw vTilesOB tile $0 - dw vTilesOB tile $A - dw vTilesOB tile $14 - dw vTilesOB tile $1E - dw vTilesOB tile $28 - dw vTilesOB tile $32 - dw vTilesOB tile $3C - dw vTilesOB tile $46 - -BGMapLocations_287c7: - dw vBGWin + $7 - dw vBGWin + $47 - dw vBGWin + $87 - dw vBGWin + $C7 - dw vBGWin + $107 - dw vBGWin + $147 - dw vBGWin + $187 - dw vBGWin + $1C7 - dw vBGWin + $207 - dw vBGWin + $247 - dw vBGWin + $287 - dw vBGWin + $2C7 - dw vBGWin + $307 - dw vBGWin + $347 - dw vBGWin + $387 - dw vBGWin + $3C7 - -Func_287e7: ; 0x287e7 - ld a, [wd960] - and a - ret z - ld a, [wd95f] - and a - ret nz - ld a, [wCurPokedexIndex] - ld c, a - ld b, $0 - ld hl, MonAnimatedSpriteTypes - add hl, bc - ld a, Bank(MonAnimatedSpriteTypes) - call ReadByteFromBank - bit 7, a - ret nz - ld [wd5bc], a - call Func_28815 - ld a, [wd5bd] - add $a5 - ld bc, $2030 - call LoadOAMData - ret +INCLUDE "engine/pokedex.asm" Func_28815: ; 0x28815 ld a, [wd5be] |