diff options
Diffstat (limited to 'main.asm')
-rw-r--r-- | main.asm | 1895 |
1 files changed, 5 insertions, 1890 deletions
@@ -17,35 +17,6 @@ INCLUDE "engine/pinball_game/stage_init/init_stages.asm" INCLUDE "engine/pinball_game/ball_init/ball_init.asm" INCLUDE "engine/pinball_game/load_stage_data/load_stage_data.asm" INCLUDE "engine/pinball_game/draw_sprites/draw_sprites.asm" - -Func_84fd: -; unused? - ld a, [hGameBoyColorFlag] - and a - jr z, .not_cgb - ld a, $1 - ld [rVBK], a - xor a - call .FillAttrsOrBGMap - xor a - ld [rVBK], a -.not_cgb - ld a, $81 - call .FillAttrsOrBGMap - ld de, wBottomMessageBuffer + $47 - call Func_8524 - ret - -.FillAttrsOrBGMap: ; 8519 (2:4519) - hlCoord 0, 0, vBGWin - ld b, $20 -.loop - ld [hli], a - ld [hli], a - dec b - jr nz, .loop - ret - INCLUDE "engine/pinball_game/score.asm" INCLUDE "engine/pinball_game/timer.asm" INCLUDE "engine/pinball_game/menu.asm" @@ -113,61 +84,8 @@ INCLUDE "engine/pinball_game.asm" INCLUDE "engine/pinball_game/ball_saver/ball_saver_20.asm" INCLUDE "engine/pinball_game/ball_saver/ball_saver_catchem_mode.asm" INCLUDE "engine/pinball_game/ball_loss/ball_loss.asm" - -Func_dc6d: ; 0xdc6d - push de - call FillBottomMessageBufferWithBlackTile - call Func_30db - ld hl, wScrollingText3 - pop de - call LoadScrollingText - ret - -Func_dc7c: ; 0xdc7c - ld hl, wBottomMessageBuffer + $40 - ld a, $83 - ld [hli], a - ld a, $81 - ld [hli], a - ld a, $81 - ld [hl], a - ld a, [wNumPartyMons] - call ConvertHexByteToDecWord - ld hl, wBottomMessageBuffer + $41 - ld c, $1 - ld a, d - call .asm_dca0 - ld a, e - swap a - call .asm_dca0 - ld a, e - ld c, $0 -.asm_dca0 - and $f - jr nz, .asm_dca7 - ld a, c - and a - ret nz -.asm_dca7 - ld c, $0 - add $86 - ld [hli], a - ret - -Data_dcad: -; BCD powers of 2 - db $01, $02, $04, $08, $16, $32, $64 - -Func_dcb4: ; 0xdcb4 - ld a, [wPikachuSaverCharge] - cp MAX_PIKACHU_SAVER_CHARGE - ld a, $81 - jr nz, .asm_dcbf - ld a, $84 -.asm_dcbf - ld [wBottomMessageBuffer + $46], a - ret - +INCLUDE "engine/pinball_game/draw_num_party_mons_icon.asm" +INCLUDE "engine/pinball_game/draw_pikachu_saver_icon.asm" INCLUDE "engine/pinball_game/ball_gfx.asm" INCLUDE "engine/pinball_game/ball_loss/ball_loss_red_field.asm" INCLUDE "engine/pinball_game/ball_loss/ball_loss_blue_field.asm" @@ -211,923 +129,7 @@ CallTable_10027: ; 0x10027 padded_dab Func_202bc ; STAGE_BLUE_FIELD_BOTTOM INCLUDE "engine/pinball_game/catchem_mode.asm" - -Func_10a95: ; 0x19a95 - ld a, [wCurrentStage] - call CallInFollowingTable -PointerTable_10a9b: ; 0x10a9b - padded_dab Func_20581 ; STAGE_RED_FIELD_TOP - padded_dab Func_20581 ; STAGE_RED_FIELD_BOTTOM - padded_dab Func_20581 - padded_dab Func_20581 - padded_dab Func_20bae ; STAGE_BLUE_FIELD_TOP - padded_dab Func_20bae ; STAGE_BLUE_FIELD_BOTTOM - -StartEvolutionMode: ; 0x10ab3 - ld a, [wInSpecialMode] - and a - ret nz - ld a, [wCurrentStage] - rst JumpTable ; calls JumpToFuncInTable -StartEvolutionMode_CallTable: ; 0x10abc - dw StartEvolutionMode_RedField ; STAGE_RED_FIELD_TOP - dw StartEvolutionMode_RedField ; STAGE_RED_FIELD_BOTTOM - dw StartEvolutionMode_UnusedField - dw StartEvolutionMode_UnusedField - dw StartEvolutionMode_BlueField ; STAGE_BLUE_FIELD_TOP - dw StartEvolutionMode_BlueField ; STAGE_BLUE_FIELD_BOTTOM - -ConcludeEvolutionMode: ; 0x10ac8 - xor a - ld [wd5ca], a - call FillBottomMessageBufferWithBlackTile - xor a - ld [wInSpecialMode], a - ld [wWildMonIsHittable], a - ld [wd5b6], a - ld [wNumMonHits], a - ld [wd551], a - ld [wd554], a - call ClearWildMonCollisionMask - callba StopTimer - ld a, [wCurrentStage] - rst JumpTable ; calls JumpToFuncInTable -ConcludeEvolutionMode_CallTable: ; 0x10af3 - dw ConcludeEvolutionMode_RedField ; STAGE_RED_FIELD_TOP - dw ConcludeEvolutionMode_RedField ; STAGE_RED_FIELD_BOTTOM - dw DoNothing_11060 - dw DoNothing_11060 - dw ConcludeEvolutionMode_BlueField ; STAGE_BLUE_FIELD_TOP - dw ConcludeEvolutionMode_BlueField ; STAGE_BLUE_FIELD_TOP - -Func_10aff: ; 0x10aff - ld a, [wCurrentStage] - res 0, a - ld c, a - ld b, $0 - srl c - sla a - sla a - sla a - sub c - ld c, a - ld hl, VideoData_10b2a - add hl, bc - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - ld a, [hli] - push af - push bc - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - pop hl - pop af - call LoadVRAMData - ret - -VideoData_10b2a: ; 0x10b2a - dab StageRedFieldTopGfx3 - dw $8900 - dw $E0 - dab StageRedFieldTopGfx3 - dw $8900 - dw $E0 - dab StageRedFieldTopGfx3 - dw $8900 - dw $E0 - -Func_10b3f: ; 0x10b3f - call FillBottomMessageBufferWithBlackTile - call Func_30db - ld hl, wScrollingText1 - ld a, [wCurrentEvolutionType] - cp EVO_EXPERIENCE - ld de, StartTrainingText - jr z, .asm_10b55 - ld de, FindItemsText -.asm_10b55 - call LoadScrollingText - ret - -InitEvolutionSelectionMenu: ; 0x10b59 -; Initializes the list menu, which the player uses to select which pokemon to evolve. - xor a - ld [wDrawBottomMessageBox], a - ld hl, wBottomMessageText - ld a, $81 - ld b, $30 -.clearLoop - ld [hli], a ; load spaces into bottom text. repeat 192 times - ld [hli], a - ld [hli], a - ld [hli], a - dec b - jr nz, .clearLoop - ld hl, wPartyMons - call LoadMonNamesIntoEvolutionSelectionList - ld a, BANK(InGameMenuSymbolsGfx) - ld hl, InGameMenuSymbolsGfx + $50 - ld de, vTilesSH tile $08 - ld bc, $0030 - call LoadVRAMData - ld a, $0 - ld hl, wBottomMessageText - deCoord 0, 0, vBGWin - ld bc, $00c0 - call LoadVRAMData - ret - -LoadMonNamesIntoEvolutionSelectionList: ; 0x10b8e -; Loads 6 pokemon names into the list that allows the player to select which pokemon to evolve. -; Input: hl = pointer to a list of pokemon ids. (an offset of wPartyMons) - ld a, [wNumPartyMons] - ld c, $0 - ld b, a -.loop - ld a, [hli] - call LoadMonNameIntoEvolutionSelectionList - inc c - ld a, c - cp $6 - jr z, .done - dec b - jr nz, .loop -.done - ret - -LoadMonNameIntoEvolutionSelectionList: ; 0x10ba2 -; Loads a single pokemon name into the list of pokemon to evolve. -; Input: c = index of the list -; a = pokemon id - push bc - push hl - swap c ;c* 32, does wird things if c starts >15 - sla c - ld b, $0 - ld hl, wBottomMessageText - add hl, bc ;goes down text as many times as new c - ld d, h - ld e, l - ld c, a ;c now equals paerty mon, HL stored in de - ld b, $0 - sla c - rl b - sla c - rl b - sla c - rl b - sla c - rl b ;multiplies party mon by 16, then jumps to correct name in the table - ld hl, PokemonNames ;names are 16 chars long - add hl, bc - ld a, $81 - ld [de], a - inc de - ld a, $81 - ld [de], a - inc de - ld a, $81 - ld [de], a - inc de - ld a, $81 - ld [de], a ; loaded 4 spaces into de - inc de - call LoadMonNameIntoBottomMessageBufferList -.loadBlankCharacterLoop - ld a, e - and $1f - cp $14 - jr nc, .done - ld a, $81 - ld [de], a - inc de - jr .loadBlankCharacterLoop - -.done - pop hl - pop bc - ret - -SelectPokemonToEvolveMenu: ; 0x10bea -; Drivers the menu that allows the player to select a pokemon to evolve. - xor a - ld [wCurSelectedPartyMon], a - ld [wCurSelectedPartyMonScrollOffset], a - ld [wPartySelectionCursorCounter], a -.loop - call MoveEvolutionSelectionCursor - call ClearPersistentJoypadStates - call UpdateEvolutionSelectionList - rst AdvanceFrame - ld a, [wNewlyPressedButtonsPersistent] - bit BIT_A_BUTTON, a - jr z, .loop - lb de, $00, $01 - call PlaySoundEffect - ret - -MoveEvolutionSelectionCursor: ; 0x10c0c - ld a, [wPressedButtonsPersistent] - ld b, a - ld a, [wNumPartyMons] - ld c, a - ld a, [wCurSelectedPartyMon] - bit BIT_D_UP, b - jr z, .didntPressUp - and a - ret z - ; move the cursor up - dec a - ld [wCurSelectedPartyMon], a - lb de, $00, $03 - call PlaySoundEffect - ret - -.didntPressUp - bit BIT_D_DOWN, b - ret z - inc a - cp c - ret z - ; move the cursor down - ld [wCurSelectedPartyMon], a - lb de, $00, $03 - call PlaySoundEffect - ret - -UpdateEvolutionSelectionList: ; 0x10c38 - ld a, [wCurSelectedPartyMon] - ld hl, wCurSelectedPartyMonScrollOffset - sub [hl] - jr nc, .asm_10c45 - dec [hl] - xor a - jr .asm_10c4c - -.asm_10c45 - cp $6 - jr c, .asm_10c4c - inc [hl] - ld a, $5 -.asm_10c4c - ld c, a - push bc - ld a, [hl] - ld c, a - ld b, $0 - ld hl, wPartyMons - add hl, bc - call LoadMonNamesIntoEvolutionSelectionList - ld a, [hJoypadState] - and a - ld a, [wPartySelectionCursorCounter] - jr z, .asm_10c62 - xor a -.asm_10c62 - inc a - ld [wPartySelectionCursorCounter], a - bit 3, a - pop bc - jr nz, .asm_10c78 - swap c - sla c - ld b, $0 - ld hl, wBottomMessageText + $03 - add hl, bc - ld a, $88 - ld [hl], a -.asm_10c78 - ld a, [wCurSelectedPartyMonScrollOffset] - and a - jr z, .asm_10c83 - ld a, $8a - ld [wBottomMessageText + $11], a -.asm_10c83 - ld a, [wCurSelectedPartyMonScrollOffset] - add $7 - jr z, .asm_10c96 - ld c, a - ld a, [wNumPartyMons] - cp c - jr c, .asm_10c96 - ld a, $89 - ld [wBottomMessageText + $b1], a -.asm_10c96 - ld a, $0 - ld hl, wBottomMessageText - deCoord 0, 0, vBGWin - ld bc, $00c0 - call LoadVRAMData - ret - -PlaceEvolutionInParty: ; 0x10ca5 - ld a, [wCurSelectedPartyMon] - ld c, a - ld b, $0 - ld hl, wPartyMons - add hl, bc - ld a, [wCurrentEvolutionMon] - cp $ff - ret z - ld [hl], a - ret - -SelectPokemonToEvolve: ; 0x10cb7 - call FillBottomMessageBufferWithBlackTile - call InitEvolutionSelectionMenu - ld a, $60 - ld [hWY], a - dec a - ld [hLYC], a - ld a, $fd - ld [hLCDCMask], a - call SelectPokemonToEvolveMenu - ld a, $86 - ld [hWY], a - ld a, $83 - ld [hLYC], a - ld [hLastLYC], a - ld a, $ff - ld [hLCDCMask], a - ld a, [hGameBoyColorFlag] - and a - jr nz, .gameboyColor - ld a, BANK(StageRedFieldTopStatusBarSymbolsGfx_GameBoy) - ld hl, StageRedFieldTopStatusBarSymbolsGfx_GameBoy + $80 - ld de, vTilesSH tile $08 - ld bc, $0030 - call LoadVRAMData - jr .asm_10cfc - -.gameboyColor - ld a, BANK(StageRedFieldTopStatusBarSymbolsGfx_GameBoyColor) - ld hl, StageRedFieldTopStatusBarSymbolsGfx_GameBoyColor + $80 - ld de, vTilesSH tile $08 - ld bc, $0030 - call LoadVRAMData -.asm_10cfc - call FillBottomMessageBufferWithBlackTile - ld a, SPECIAL_MODE_CATCHEM - ld [wDrawBottomMessageBox], a - ld [wInSpecialMode], a - ld [wSpecialMode], a - xor a - ld [wd54d], a - ld a, [wCurSelectedPartyMon] - ld c, a - ld b, $0 - ld hl, wPartyMons - add hl, bc - ld a, [hl] - ld [wCurrentCatchEmMon], a - ret - -InitEvolutionModeForMon: ; 0x10d1d - ld hl, wd586 - ld b, $18 -.asm_10d22 - ld a, $1 - ld [hli], a - xor a - ld [hli], a - dec b - jr nz, .asm_10d22 - ld a, [wCurrentCatchEmMon] - ld c, a - ld b, $0 - ld hl, Data_1298b - add hl, bc - ld a, [hl] - add $2 - ld [wd555], a - xor a - ld hl, wd566 - ld b, $13 -.asm_10d40 - ld [hli], a - dec b - jr nz, .asm_10d40 - ld a, [wCurrentCatchEmMon] - ld c, a - ld b, $0 - sla c - rl b - ld hl, CatchEmTimerData - add hl, bc - ld a, [hli] - ld c, a - ld a, [hl] - ld b, a - callba StartTimer - ld a, [wCurrentCatchEmMon] - ld c, a - ld b, $0 - sla c ; multiply mon id by 6 - rl b - add c - ld c, a - jr nc, .noCarry - inc b -.noCarry - sla c - rl b - ld hl, MonEvolutions - add hl, bc - push hl - ld bc, $03ff -.countMonEvolutionsLoop - ld a, [hli] - and a - jr z, .noEvolution - inc c -.noEvolution - inc hl - dec b - jr nz, .countMonEvolutionsLoop - ld a, c - cp $ff - jr nz, .asm_10d8a - xor a -.asm_10d8a - call Func_a21 - sla a - ld c, a - pop hl - add hl, bc ; hl points to one of three entries in mon's evolution data - ld a, [hli] ; a = mon id of evolution - dec a - ld [wCurrentEvolutionMon], a - ld a, [hl] ; a = evoluion type id - ld [wCurrentEvolutionType], a - xor a - ld [wd554], a - ld [wd556], a - ld [wd557], a - ld hl, wd55c - ld a, $1 - ld b, $3 -.asm_10dac - ld [hli], a - dec b - jr nz, .asm_10dac - xor a - ld b, $7 -.asm_10db3 - ld [hli], a - dec b - jr nz, .asm_10db3 - ld de, wd55c - ld a, [wd555] - ld c, a - inc a - ld b, a -.asm_10dc0 - push bc - ld a, c - call Func_a21 - ld c, a - ld b, $0 - ld hl, wd55c - add hl, bc - ld c, [hl] - ld a, [de] - ld [hl], a - ld a, c - ld [de], a - pop bc - inc de - dec b - jr nz, .asm_10dc0 - callba InitBallSaverForCatchEmMode - call Func_10b3f - call Func_3579 - ld a, [wCurrentStage] - bit 0, a - jr z, .asm_10e09 - ld a, BANK(StageRedFieldBottomBaseGameBoyColorGfx) - ld hl, StageRedFieldBottomBaseGameBoyColorGfx + $300 - ld de, vTilesSH tile $2e - ld bc, $0020 - call LoadOrCopyVRAMData - ld a, $0 - ld hl, CatchBarTiles - deCoord 6, 8, vBGMap - ld bc, (CatchBarTilesEnd - CatchBarTiles) - call LoadOrCopyVRAMData -.asm_10e09 - ret - -Func_10e0a: ; 0x10e0a - ld a, [wCurrentEvolutionMon] - cp $ff - jp z, Func_10e8b - ld c, a - ld b, $0 - sla c - rl b - sla c - rl b - sla c - rl b - sla c - rl b - ld hl, PokemonNames + 1 - add hl, bc - ld de, ItEvolvedIntoAnText ; "It evolved into an" - ld bc, Data_2b34 - ld a, [hl] - ; check if mon's name starts with a vowel, so it can print "an", instead of "a" - cp "A" - jr z, .nameStartsWithVowel - cp "I" - jr z, .nameStartsWithVowel - cp "U" - jr z, .nameStartsWithVowel - cp "E" - jr z, .nameStartsWithVowel - cp "O" - jr z, .nameStartsWithVowel - ld de, ItEvolvedIntoAText ; "It evolved into a" - ld bc, Data_2b1c -.nameStartsWithVowel - push hl - push bc - push de - call FillBottomMessageBufferWithBlackTile - call Func_30db - ld hl, wScrollingText1 - pop de - call LoadScrollingText - ld hl, wScrollingText2 - pop de - call LoadScrollingText - pop hl - ld de, wBottomMessageText + $20 - ld b, $0 -.asm_10e67 - ld a, [hli] - and a - jr z, .asm_10e70 - ld [de], a - inc de - inc b - jr .asm_10e67 - -.asm_10e70 - ld a, $20 - ld [de], a - inc de - xor a - ld [de], a - ld a, [wScrollingText2ScrollStepsRemaining] - add b - ld [wScrollingText2ScrollStepsRemaining], a - ld a, $14 - sub b - srl a - ld b, a - ld a, [wScrollingText2StopOffset] - add b - ld [wScrollingText2StopOffset], a - ret - -Func_10e8b: ; 0x10e8b - ld bc, OneMillionPoints - callba AddBigBCD6FromQueue - ld bc, $0100 - ld de, $0000 - push bc - push de - call FillBottomMessageBufferWithBlackTile - call Func_30db - ld hl, wScrollingText2 - ld de, Data_2b6b - call Func_32cc - pop de - pop bc - ld hl, wScrollingText1 - ld de, EvolutionSpecialBonusText - call LoadScrollingText - ret - -StartEvolutionMode_RedField: ; 0x10ebb - ld a, [wNumPartyMons] - and a - ret z - call SelectPokemonToEvolve - call InitEvolutionModeForMon - ld a, [wd555] - sub $2 - ld c, a - sla c - ld hl, IndicatorStatesPointerTable_10f3b - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - ld de, wIndicatorStates - ld b, $13 -.loop - ld a, [hli] - ld [de], a - inc de - dec b - jr nz, .loop - xor a - ld [wLeftAlleyCount], a - call Func_107b0 - ld a, $2 - ld [wd7ad], a - ld de, $0002 - call PlaySong - call SetPokemonSeenFlag - ld a, [wCurrentStage] - bit 0, a - jr nz, .asm_10f0b - ld a, BANK(EvolutionTrinketsGfx) - ld hl, EvolutionTrinketsGfx - ld de, vTilesSH tile $10 - ld bc, $00e0 - call LoadOrCopyVRAMData - ret - -.asm_10f0b - ld a, BANK(EvolutionTrinketsGfx) - ld hl, EvolutionTrinketsGfx - ld de, vTilesOB tile $20 - ld bc, $00e0 - call LoadOrCopyVRAMData - callba Func_14135 - callba Func_10184 - ld a, [hGameBoyColorFlag] - and a - callba nz, Func_102bc - ret - -IndicatorStatesPointerTable_10f3b: ; 0x10f3b - dw IndicatorStates_10f4b - dw IndicatorStates_10f5e - dw IndicatorStates_10f71 - dw IndicatorStates_10f84 - dw IndicatorStates_10f97 - dw IndicatorStates_10faa - dw IndicatorStates_10fbd - dw IndicatorStates_10fd0 - -IndicatorStates_10f4b: ; 0x10f4b - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $01, $01, $00, $00, $00, $00 - -IndicatorStates_10f5e: ; 0x10f5e - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $01, $00, $01, $01, $00, $00, $00, $00 - -IndicatorStates_10f71: ; 0x10f71 - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $01, $01, $01, $01, $00, $00, $00, $00 - -IndicatorStates_10f84: ; 0x10f84 - db $00, $00, $00, $00, $00, $00, $00, $00, $01, $01, $00, $01, $01, $01, $01, $00, $00, $00, $00 - -IndicatorStates_10f97: ; 0x10f97 - db $00, $00, $00, $80, $00, $00, $00, $00, $01, $01, $01, $01, $01, $01, $01, $00, $00, $00, $00 - -IndicatorStates_10faa: ; 0x10faa - db $00, $00, $80, $80, $00, $00, $00, $00, $01, $01, $01, $01, $01, $01, $01, $00, $00, $00, $00 - -IndicatorStates_10fbd: ; 0x10fbd - db $00, $00, $80, $80, $00, $00, $00, $01, $01, $01, $01, $01, $01, $01, $01, $00, $00, $00, $00 - -IndicatorStates_10fd0: ; 0x10fd0 - db $00, $00, $80, $80, $00, $00, $01, $01, $01, $01, $01, $01, $01, $01, $01, $00, $00, $00, $00 - -ConcludeEvolutionMode_RedField: ; 0x10fe3 - call ResetIndicatorStates - call Func_107c2 - call SetLeftAndRightAlleyArrowIndicatorStates_RedField - call Func_107e9 - ld a, [wCurrentStage] - bit 0, a - jp z, Func_10aff - callba Func_14135 - callba LoadSlotCaveCoverGraphics_RedField - callba LoadMapBillboardTileData - ld a, BANK(StageSharedBonusSlotGlowGfx) - ld hl, StageSharedBonusSlotGlowGfx + $60 - ld de, vTilesOB tile $20 - ld bc, $00e0 - call LoadVRAMData - ld a, [hGameBoyColorFlag] - and a - jr z, .asm_11036 - ld a, BANK(StageRedFieldBottomOBJPalette7) - ld hl, StageRedFieldBottomOBJPalette7 - ld de, $0078 - ld bc, $0008 - call Func_7dc -.asm_11036 - ld hl, BlankSaverSpaceTileDataRedField - ld a, BANK(BlankSaverSpaceTileDataRedField) - call Func_10aa - ld a, [wPreviousNumPokeballs] - callba LoadPokeballsGraphics_RedField - ld hl, CaughtPokeballTileDataPointers - ld a, BANK(CaughtPokeballTileDataPointers) - call Func_10aa - ret - -StartEvolutionMode_UnusedField: ; 0x11054 - ld a, [wNumPartyMons] - and a - ret z - call SelectPokemonToEvolve - call InitEvolutionModeForMon - ret - -DoNothing_11060: ; 0x11060 - ret - -StartEvolutionMode_BlueField: ; 0x11061 - ld a, [wNumPartyMons] - and a - ret z - call SelectPokemonToEvolve - call InitEvolutionModeForMon - ld a, $1 - ld [wd643], a - ld a, [wd555] - sub $2 - ld c, a - sla c - ld hl, IndicatorStatesPointerTable_110ed - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - ld de, wIndicatorStates - ld b, $13 -.asm_11085 - ld a, [hli] - ld [de], a - inc de - dec b - jr nz, .asm_11085 - xor a - ld [wLeftAlleyCount], a - callba CloseSlotCave - ld a, $2 - ld [wd7ad], a - ld de, $0002 - call PlaySong - call SetPokemonSeenFlag - ld a, [wCurrentStage] - bit 0, a - jr nz, .asm_110bd - ld a, BANK(EvolutionTrinketsGfx) - ld hl, EvolutionTrinketsGfx - ld de, vTilesOB tile $60 - ld bc, $00e0 - call LoadOrCopyVRAMData - ret - -.asm_110bd - ld a, BANK(EvolutionTrinketsGfx) - ld hl, EvolutionTrinketsGfx - ld de, vTilesOB tile $20 - ld bc, $00e0 - call LoadOrCopyVRAMData - callba Func_1c2cb - callba Func_10184 - ld a, [hGameBoyColorFlag] - and a - callba nz, Func_102bc - ret - -IndicatorStatesPointerTable_110ed: ; 0x110ed - dw IndicatorStates_110fd - dw IndicatorStates_11110 - dw IndicatorStates_11123 - dw IndicatorStates_11136 - dw IndicatorStates_11149 - dw IndicatorStates_1115c - dw IndicatorStates_1116f - dw IndicatorStates_11182 - -IndicatorStates_110fd: ; 0x110fd - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $01, $01, $00, $00, $00, $00 - -IndicatorStates_11110: ; 0x11110 - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $01, $00, $01, $01, $00, $00, $00, $00 - -IndicatorStates_11123: ; 0x11123 - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $01, $01, $01, $01, $00, $00, $00, $00 - -IndicatorStates_11136: ; 0x11136 - db $00, $00, $80, $00, $00, $00, $00, $00, $01, $01, $00, $01, $01, $01, $01, $00, $00, $00, $00 - -IndicatorStates_11149: ; 0x11149 - db $00, $00, $80, $80, $00, $00, $00, $00, $01, $01, $01, $01, $01, $01, $01, $00, $00, $00, $00 - -IndicatorStates_1115c: ; 0x1115c - db $00, $00, $80, $80, $00, $00, $00, $00, $01, $01, $01, $01, $01, $01, $01, $00, $00, $00, $00 - -IndicatorStates_1116f: ; 0x1116f - db $80, $00, $80, $80, $00, $00, $00, $01, $01, $01, $01, $01, $01, $01, $01, $00, $00, $00, $00 - -IndicatorStates_11182: ; 0x11182 - db $80, $00, $80, $80, $00, $00, $01, $01, $01, $01, $01, $01, $01, $01, $01, $00, $00, $00, $00 - -ConcludeEvolutionMode_BlueField: ; 0x11195 - xor a - ld [wd643], a - call ResetIndicatorStates - call Func_107c2 - callba SetLeftAndRightAlleyArrowIndicatorStates_BlueField - ld a, [wCurrentStage] - bit 0, a - jp z, Func_1120e - callba Func_1c2cb - callba LoadSlotCaveCoverGraphics_BlueField - callba LoadMapBillboardTileData - ld a, Bank(StageSharedBonusSlotGlowGfx) - ld hl, StageSharedBonusSlotGlowGfx + $60 - ld de, vTilesOB tile $20 - ld bc, $00e0 - call LoadVRAMData - ld a, [hGameBoyColorFlag] - and a - jr z, .asm_111f0 - ld a, BANK(StageBlueFieldBottomOBJPalette7) - ld hl, StageBlueFieldBottomOBJPalette7 - ld de, $0078 - ld bc, $0008 - call Func_7dc -.asm_111f0 - ld hl, BlankSaverSpaceTileDataBlueField - ld a, BANK(BlankSaverSpaceTileDataBlueField) - call Func_10aa - ld a, [wPreviousNumPokeballs] - callba LoadPokeballsGraphics_RedField - ld hl, Data_10a88 - ld a, BANK(Data_10a88) - call Func_10aa - ret - -Func_1120e: ; 0x1120e - ld a, [wCurrentStage] - sub $4 - res 0, a - ld c, a - ld b, $0 - srl c - sla a - sla a - sla a - sub c - ld c, a - ld hl, VRAMData_1123b - add hl, bc - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - ld a, [hli] - push af - push bc - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - pop hl - pop af - call LoadVRAMData - ret - -VRAMData_1123b: ; 0x1123b - dab StageBlueFieldTopGfx3 - dw $8600, $E0 - dab StageBlueFieldTopGfx3 - dw $8600, $E0 - dab StageBlueFieldTopGfx3 - dw $8600, $E0 - dab StageBlueFieldTopGfx3 - dw $8600, $E0 - dab StageBlueFieldTopGfx3 - dw $8600, $E0 - dab StageBlueFieldTopGfx3 - dw $8600, $E0 - dab StageBlueFieldTopGfx3 - dw $8600, $E0 - +INCLUDE "engine/pinball_game/evolution_mode.asm" INCLUDE "data/wild_mons.asm" INCLUDE "data/evolution_line_starts.asm" INCLUDE "data/evolution_lines.asm" @@ -1457,736 +459,7 @@ INCLUDE "engine/pinball_game/stage_init/init_red_field.asm" INCLUDE "engine/pinball_game/ball_init/ball_init_red_field.asm" INCLUDE "engine/pinball_game/bonus_multiplier.asm" INCLUDE "engine/pinball_game/extra_ball.asm" - -Func_301ce: ; 0x301ce - ld a, [wCurrentStage] - call CallInFollowingTable -PointerTable_301d4: ; 0x301d4 - padded_dab Func_314ae ; STAGE_RED_FIELD_TOP - padded_dab Func_314ae ; STAGE_RED_FIELD_BOTTOM - padded_dab Func_314ae - padded_dab Func_314ae - padded_dab Func_3161b ; STAGE_BLUE_FIELD_TOP - padded_dab Func_3161b ; STAGE_BLUE_FIELD_BOTTOM - -StartMapMoveMode: ; 0x301ec - ld a, [wInSpecialMode] - and a - ret nz - ld a, $1 - ld [wInSpecialMode], a - ld a, SPECIAL_MODE_MAP_MOVE - ld [wSpecialMode], a - xor a - ld [wd54d], a - ld bc, $0030 ; 30 seconds - callba StartTimer - ld a, [wCurrentStage] - bit 0, a - jr z, .asm_3021b - ld a, [wMapMoveDirection] - add $12 - call LoadBillboardTileData -.asm_3021b - ld a, [wCurrentStage] - rst JumpTable ; calls JumpToFuncInTable -CallTable_3021f: ; 0x3021f - dw Func_311b4 ; STAGE_RED_FIELD_TOP - dw Func_311b4 ; STAGE_RED_FIELD_BOTTOM - dw DoNothing_31324 - dw DoNothing_31324 - dw Func_31326 ; STAGE_BLUE_FIELD_TOP - dw Func_31326 ; STAGE_BLUE_FIELD_BOTTOM - -Func_3022b: ; 0x3022b - xor a - ld [wd5ca], a ;turn text off - call FillBottomMessageBufferWithBlackTile ;clear text - xor a - ld [wInSpecialMode], a - ld [wSpecialMode], a ;no longer in special modes - callba StopTimer - ld a, [wCurrentStage] - rst JumpTable ; calls JumpToFuncInTable -CallTable_30247: ; 0x30247 - dw Func_31234 ; STAGE_RED_FIELD_TOP - dw Func_31234 ; STAGE_RED_FIELD_BOTTOM - dw DoNothing_31325 - dw DoNothing_31325 - dw Func_313c3 ; STAGE_BLUE_FIELD_TOP - dw Func_313c3 ; STAGE_BLUE_FIELD_TOP - -INCLUDE "engine/pinball_game/billboard_tiledata.asm" - -LoadScrollingMapNameText: ; 0x3118f -; Loads the scrolling message that displays the current map's name. -; Input: bc = pointer to prefix scrolling text - push bc - call FillBottomMessageBufferWithBlackTile - call Func_30db - ld a, [wCurrentMap] - sla a - ld c, a - ld b, $0 - ld hl, MapNames - add hl, bc - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld hl, wScrollingText2 - call LoadScrollingText - pop de - ld hl, wScrollingText1 - call LoadScrollingText - ret - -Func_311b4: ; 0x311b4 - ld a, [wMapMoveDirection] - and a - jr nz, .asm_311ce - ld a, $80 - ld [wIndicatorStates], a - ld [wIndicatorStates + 2], a - xor a - ld [wIndicatorStates + 1], a - ld [wIndicatorStates + 3], a - ld [wIndicatorStates + 4], a - jr .asm_311e2 - -.asm_311ce - ld a, $80 - ld [wIndicatorStates + 1], a - ld [wIndicatorStates + 3], a - xor a - ld [wIndicatorStates], a - ld [wIndicatorStates + 2], a - ld [wIndicatorStates + 4], a - jr .asm_311e2 - -.asm_311e2 - ld a, $2 - callba LoadDiglettGraphics - ld a, $5 - callba LoadDiglettGraphics - ld a, $6a - ld [wStageCollisionMap + $f0], a - ld a, $6b - ld [wStageCollisionMap + $110], a - ld a, $66 - ld [wStageCollisionMap + $e3], a - ld a, $67 - ld [wStageCollisionMap + $103], a - callba Func_107b0 - ld a, $4 - ld [wd7ad], a - ld de, $0003 - call PlaySong - ld a, [wCurrentStage] - bit 0, a - ret z - callba Func_14135 - ret - -Func_31234: ; 0x31234 - callba ResetIndicatorStates - callba Func_107c2 - callba SetLeftAndRightAlleyArrowIndicatorStates_RedField - callba Func_107e9 - ld a, [wCurrentStage] - bit 0, a - ret z - callba Func_14135 - callba LoadSlotCaveCoverGraphics_RedField - callba LoadMapBillboardTileData - ret - -ChooseNextMap_RedField: ; 0x31282 -; Picks the next map to perform a map move. -; Also records which maps have been visited. - ld a, [wNumMapMoves] - inc a - cp $6 - jr c, .dontReset - ld a, $ff - ld [wVisitedMaps], a - ld [wVisitedMaps + 1], a - ld [wVisitedMaps + 2], a - ld [wVisitedMaps + 3], a - ld [wVisitedMaps + 4], a - ld [wVisitedMaps + 5], a - xor a -.dontReset - ld [wNumMapMoves], a - cp $3 - jr c, .chooseMapFromArea1 - cp $5 - jr c, .chooseMapFromArea2 - ld a, INDIGO_PLATEAU - ld [wCurrentMap], a - ld [wVisitedMaps + 5], a - ret - -.chooseMapFromArea1 - call GenRandom - and $7 - cp $7 - jr nc, .chooseMapFromArea1 - ld c, a - ld b, $0 - ld hl, FirstMapMoveSet_RedField - add hl, bc - ld c, [hl] - ld hl, wVisitedMaps - ld a, [wNumMapMoves] - and a - jr z, .asm_312d4 - ld b, a -.asm_312cd - ld a, [hli] - cp c - jr z, .chooseMapFromArea1 - dec b - jr nz, .asm_312cd -.asm_312d4 - ld a, c - ld [wCurrentMap], a - ld a, [wNumMapMoves] - ld c, a - ld b, $0 - ld hl, wVisitedMaps - add hl, bc - ld a, [wCurrentMap] - ld [hl], a - ret - -.chooseMapFromArea2 - call GenRandom - and $3 - ld c, a - ld b, $0 - ld hl, SecondMapMoveSet_RedField - add hl, bc - ld c, [hl] - ld hl, wVisitedMaps + 3 - ld a, [wNumMapMoves] - sub $3 - jr z, .asm_31306 - ld b, a -.asm_312ff - ld a, [hli] - cp c - jr z, .chooseMapFromArea2 - dec b - jr nz, .asm_312ff -.asm_31306 - ld a, c - ld [wCurrentMap], a - ld a, [wNumMapMoves] - ld c, a - ld b, $0 - ld hl, wVisitedMaps - add hl, bc - ld a, [wCurrentMap] - ld [hl], a - ret - -FirstMapMoveSet_RedField: - db PALLET_TOWN - db VIRIDIAN_FOREST - db PEWTER_CITY - db CERULEAN_CITY - db VERMILION_SEASIDE - db ROCK_MOUNTAIN - db LAVENDER_TOWN - -SecondMapMoveSet_RedField: - db CYCLING_ROAD - db SAFARI_ZONE - db SEAFOAM_ISLANDS - db CINNABAR_ISLAND - -DoNothing_31324: ; 0x31324 - ret - -DoNothing_31325: ; 0x31325 - ret - -Func_31326: ; 0x31326 - ld a, [wMapMoveDirection] - and a - jr nz, .asm_3134c - ld a, $80 - ld [wIndicatorStates], a - ld [wIndicatorStates + 2], a - xor a - ld [wIndicatorStates + 1], a - ld [wIndicatorStates + 3], a - ld [wIndicatorStates + 4], a - ld a, $3 - callba LoadPsyduckOrPoliwagGraphics - jr .asm_31382 - -.asm_3134c - ld a, $80 - ld [wIndicatorStates + 1], a - ld [wIndicatorStates + 3], a - xor a - ld [wIndicatorStates], a - ld [wIndicatorStates + 2], a - ld [wIndicatorStates + 4], a - ld a, $1 - callba LoadPsyduckOrPoliwagGraphics - ld a, $6 - callba LoadPsyduckOrPoliwagGraphics - ld a, $7 - callba LoadPsyduckOrPoliwagNumberGraphics -.asm_31382 - ld a, [wCurrentStage] - bit 0, a - jr z, .asm_3139d - ld a, $54 - ld [wStageCollisionMap + $e3], a - ld a, $55 - ld [wStageCollisionMap + $103], a - ld a, $52 - ld [wStageCollisionMap + $f0], a - ld a, $53 - ld [wStageCollisionMap + $110], a -.asm_3139d - ld a, $1 - ld [wd644], a - callba CloseSlotCave - ld de, $0003 - call PlaySong - ld a, [wCurrentStage] - bit 0, a - ret z - callba Func_1c2cb - ret - -Func_313c3: ; 0x313c3 - callba ResetIndicatorStates - callba Func_107c2 - callba SetLeftAndRightAlleyArrowIndicatorStates_BlueField - ld a, $0 - ld [wd644], a - ld a, [wCurrentStage] - bit 0, a - ret z - callba Func_1c2cb - callba LoadSlotCaveCoverGraphics_BlueField - callba LoadMapBillboardTileData - ret - -ChooseNextMap_BlueField: ; 0x3140b -; Picks the next map to perform a map move. -; Also records which maps have been visited. - ld a, [wNumMapMoves] - inc a - cp $6 - jr c, .dontReset - ld a, $ff - ld [wVisitedMaps], a - ld [wVisitedMaps + 1], a - ld [wVisitedMaps + 2], a - ld [wVisitedMaps + 3], a - ld [wVisitedMaps + 4], a - ld [wVisitedMaps + 5], a - xor a -.dontReset - ld [wNumMapMoves], a - cp $3 - jr c, .chooseMapFromArea1 - cp $5 - jr c, .chooseMapFromArea2 - ld a, INDIGO_PLATEAU - ld [wCurrentMap], a - ld [wVisitedMaps + 5], a - ret - -.chooseMapFromArea1 - call GenRandom - and $7 - cp $7 - jr nc, .chooseMapFromArea1 - ld c, a - ld b, $0 - ld hl, FirstMapMoveSet_BlueField - add hl, bc - ld c, [hl] - ld hl, wVisitedMaps - ld a, [wNumMapMoves] - and a - jr z, .asm_3145e - ld b, a -.asm_31457 - ld a, [hli] - cp c - jr z, .chooseMapFromArea1 - dec b - jr nz, .asm_31457 -.asm_3145e - ld a, c - ld [wCurrentMap], a - ld a, [wNumMapMoves] - ld c, a - ld b, $0 - ld hl, wVisitedMaps - add hl, bc - ld a, [wCurrentMap] - ld [hl], a - ret - -.chooseMapFromArea2 - call GenRandom - and $3 - ld c, a - ld b, $0 - ld hl, SecondMapMoveSet_BlueField - add hl, bc - ld c, [hl] - ld hl, wVisitedMaps + 3 - ld a, [wNumMapMoves] - sub $3 - jr z, .asm_31490 - ld b, a -.asm_31489 - ld a, [hli] - cp c - jr z, .chooseMapFromArea2 - dec b - jr nz, .asm_31489 -.asm_31490 - ld a, c - ld [wCurrentMap], a - ld a, [wNumMapMoves] - ld c, a - ld b, $0 - ld hl, wVisitedMaps - add hl, bc - ld a, [wCurrentMap] - ld [hl], a - ret - -FirstMapMoveSet_BlueField: - db VIRIDIAN_CITY - db VIRIDIAN_FOREST - db MT_MOON - db CERULEAN_CITY - db VERMILION_STREETS - db ROCK_MOUNTAIN - db CELADON_CITY - -SecondMapMoveSet_BlueField: - db FUCHSIA_CITY - db SAFARI_ZONE - db SAFFRON_CITY - db CINNABAR_ISLAND - -Func_314ae: ; 0x314ae - ld a, [wTimerActive] - and a - ld a, [wd54c] - jr z, .asm_314d0 - cp $1 - jp z, Func_31591 - cp $3 - jp z, Func_31591 - cp $2 - jp z, Func_315b3 - cp $5 - jp z, Func_315b3 - cp $d - jp z, Func_315d5 -.asm_314d0 - cp $0 - jr z, .asm_314d6 - scf - ret - -.asm_314d6 - call Func_3151f - ld a, [wd54d] - call CallInFollowingTable -PointerTable_314df: ; 0xd13df - padded_dab Func_314ef - padded_dab Func_314f1 - padded_dab Func_314f3 - padded_dab Func_31505 - -Func_314ef: ; 0x314ef - scf - ret - -Func_314f1: ; 0x314f1 - scf - ret - -Func_314f3: ; 0x314f3 - callba Func_3022b - ld de, $0001 - call PlaySong - scf - ret - -Func_31505: ; 0x31505 - ld a, [wd5ca] - and a - ret nz - call FillBottomMessageBufferWithBlackTile - callba Func_3022b - ld de, $0001 - call PlaySong - scf - ret - -Func_3151f: ; 0x3151f - ld a, $50 - ld [wd4ef], a - ld [wd4f1], a - callba Func_107f8 - ld a, [wd57e] - and a - ret z - xor a - ld [wd57e], a - ld a, $3 - ld [wd54d], a - xor a - ld [wSlotIsOpen], a - ld [wIndicatorStates], a - ld [wIndicatorStates + 1], a - ld [wIndicatorStates + 2], a - ld [wIndicatorStates + 3], a - ld [wIndicatorStates + 4], a - ld a, [wCurrentStage] - bit 0, a - jr z, .asm_31577 - callba Func_14135 - callba LoadSlotCaveCoverGraphics_RedField - callba LoadMapBillboardTileData -.asm_31577 - callba StopTimer - call FillBottomMessageBufferWithBlackTile - call Func_30db - ld hl, wScrollingText1 - ld de, MapMoveFailedText - call LoadScrollingText - ret - -Func_31591: ; 0x31591 - ld a, [wMapMoveDirection] - and a - jr nz, .asm_315b1 - ld a, [wIndicatorStates] - and a - jr z, .asm_315b1 - xor a - ld [wIndicatorStates], a - ld [wIndicatorStates + 2], a - ld a, $80 - ld [wIndicatorStates + 4], a - ld a, $1 - ld [wSlotIsOpen], a - ld [wd54d], a -.asm_315b1 - scf - ret - -Func_315b3: ; 0x315b3 - ld a, [wMapMoveDirection] - and a - jr z, .asm_315d3 - ld a, [wIndicatorStates + 1] - and a - jr z, .asm_315d3 - xor a - ld [wIndicatorStates + 1], a - ld [wIndicatorStates + 3], a - ld a, $80 - ld [wIndicatorStates + 4], a - ld a, $1 - ld [wSlotIsOpen], a - ld [wd54d], a -.asm_315d3 - scf - ret - -Func_315d5: ; 0x315d5 - ld de, $0000 - call PlaySong - rst AdvanceFrame - callba ChooseNextMap_RedField - callba LoadMapBillboardTileData - lb de, $25, $25 - call PlaySoundEffect - ld bc, ArrivedAtMapText - callba LoadScrollingMapNameText -.asm_31603 - callba Func_33e3 - rst AdvanceFrame - ld a, [wd5ca] - and a - jr nz, .asm_31603 - ld a, $2 - ld [wd54d], a - scf - ret - -Func_3161b: ; 0x3161b - ld a, [wTimerActive] - and a - ld a, [wd54c] - jr z, .asm_3163d - cp $1 - jp z, Func_31708 - cp $f - jp z, Func_31708 - cp $2 - jp z, Func_3172a - cp $e - jp z, Func_3172a - cp $d - jp z, Func_3174c -.asm_3163d - cp $0 - jr z, .asm_31643 - scf - ret - -.asm_31643 - call Func_3168c - ld a, [wd54d] - call CallInFollowingTable -PointerTable_3164c: ; 0x3164c - padded_dab Func_3165c - padded_dab Func_3165e - padded_dab Func_31660 - padded_dab Func_31672 - -Func_3165c: ; 0x3165c - scf - ret - -Func_3165e: ; 0x3165e - scf - ret - -Func_31660: ; 0x31660 - callba Func_3022b - ld de, $0001 - call PlaySong - scf - ret - -Func_31672: ; 0x31672 - ld a, [wd5ca] ;if text is off - and a - ret nz - call FillBottomMessageBufferWithBlackTile - callba Func_3022b - ld de, $0001 - call PlaySong - scf - ret - -Func_3168c: ; 0x3168c - ld a, $50 - ld [wLeftMapMoveDiglettAnimationCounter], a - ld [wRightMapMoveDiglettFrame], a - ld a, $3 - ld [wd645], a - ld a, $1 - ld [wd646], a - callba Func_107f8 - ld a, [wd57e] - and a - ret z - xor a - ld [wd57e], a - ld a, $3 - ld [wd54d], a - xor a - ld [wSlotIsOpen], a - ld [wIndicatorStates], a - ld [wIndicatorStates + 1], a - ld [wIndicatorStates + 2], a - ld [wIndicatorStates + 3], a - ld [wIndicatorStates + 4], a - ld a, [wCurrentStage] - bit 0, a - jr z, .asm_316ee - callba Func_1c2cb - callba LoadSlotCaveCoverGraphics_BlueField - callba LoadMapBillboardTileData -.asm_316ee - callba StopTimer - call FillBottomMessageBufferWithBlackTile - call Func_30db - ld hl, wScrollingText1 - ld de, MapMoveFailedText - call LoadScrollingText - ret - -Func_31708: ; 0x31708 - ld a, [wMapMoveDirection] - and a - jr nz, .asm_31728 - ld a, [wIndicatorStates] - and a - jr z, .asm_31728 - xor a - ld [wIndicatorStates], a - ld [wIndicatorStates + 2], a - ld a, $80 - ld [wIndicatorStates + 4], a - ld a, $1 - ld [wSlotIsOpen], a - ld [wd54d], a -.asm_31728 - scf - ret - -Func_3172a: ; 0x3172a - ld a, [wMapMoveDirection] - and a - jr z, .asm_3174a - ld a, [wIndicatorStates + 1] - and a - jr z, .asm_3174a - xor a - ld [wIndicatorStates + 1], a - ld [wIndicatorStates + 3], a - ld a, $80 - ld [wIndicatorStates + 4], a - ld a, $1 - ld [wSlotIsOpen], a - ld [wd54d], a -.asm_3174a - scf - ret - -Func_3174c: ; 0x3174c - ld de, $0000 - call PlaySong - rst AdvanceFrame - callba ChooseNextMap_BlueField - callba LoadMapBillboardTileData - lb de, $25, $25 - call PlaySoundEffect - ld bc, ArrivedAtMapText - callba LoadScrollingMapNameText -.asm_3177a - callba Func_33e3 - rst AdvanceFrame - ld a, [wd5ca] - and a - jr nz, .asm_3177a - ld a, $2 - ld [wd54d], a - scf - ret +INCLUDE "engine/pinball_game/map_move.asm" SECTION "bankd", ROMX @@ -2201,166 +474,8 @@ StageSeelBonusCollisionMasks: ; 0x37f00 INCBIN "data/collision/masks/seel_bonus.masks" SECTION "banke", ROMX -Data_38000: - db $89, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 - -Data_38010: - db $89, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 - -Data_38020: - db $51, $10, $00, $10, $00, $10, $00, $10, $00, $80, $00, $00, $00, $00, $00, $00 - -Data_38030: - db $a9, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 - - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 - -Data_3809a: - db $00, $00, $00 - db $40, $40, $40 - db $90, $90, $90 - db $e4, $e4, $e4 - -Data_380a6: - db $59, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 - - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - - RGB 30, 31, 29 - RGB 28, 28, 25 - RGB 27, 26, 24 - RGB 24, 24, 24 - - RGB 23, 23, 23 - RGB 23, 23, 23 - RGB 23, 23, 23 - RGB 23, 23, 23 - - RGB 23, 23, 23 - RGB 23, 23, 23 - RGB 23, 23, 23 - RGB 23, 23, 23 - - RGB 23, 23, 23 - RGB 23, 23, 23 - RGB 23, 23, 23 - RGB 23, 23, 23 - - RGB 30, 31, 27 - RGB 25, 26, 20 - RGB 23, 21, 18 - RGB 17, 17, 17 - - RGB 15, 15, 15 - RGB 15, 15, 15 - RGB 15, 15, 15 - RGB 15, 15, 15 - - RGB 15, 15, 15 - RGB 15, 15, 15 - RGB 15, 15, 15 - RGB 15, 15, 15 - - RGB 15, 15, 15 - RGB 15, 15, 15 - RGB 15, 15, 15 - RGB 15, 15, 15 - - RGB 29, 31, 25 - RGB 22, 24, 15 - RGB 19, 16, 12 - RGB 10, 10, 10 - - RGB 7, 7, 7 - RGB 7, 7, 7 - RGB 7, 7, 7 - RGB 7, 7, 7 - - RGB 7, 7, 7 - RGB 7, 7, 7 - RGB 7, 7, 7 - RGB 7, 7, 7 - - RGB 7, 7, 7 - RGB 7, 7, 7 - RGB 7, 7, 7 - RGB 7, 7, 7 - - RGB 29, 31, 23 - RGB 20, 22, 10 - RGB 15, 12, 6 - RGB 3, 3, 4 - - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 -Data_38156: - db $99, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 - INCBIN "gfx/sgb_border.interleave.2bpp" - -Data_39166: - db $99, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 - INCBIN "gfx/sgb_border_blank.2bpp" - -Data_3a176: - db $a1, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 - INCBIN "gfx/tilemaps/sgb_border.map" - -Data_3a9e6: - db $79, $5d, $08, $00, $0b, $8c, $d0, $f4, $60, $00, $00, $00, $00, $00, $00, $00 -Data_3a9f6: - db $79, $52, $08, $00, $0b, $a9, $e7, $9f, $01, $c0, $7e, $e8, $e8, $e8, $e8, $e0 -Data_3aa06: - db $79, $47, $08, $00, $0b, $c4, $d0, $16, $a5, $cb, $c9, $05, $d0, $10, $a2, $28 -Data_3aa16: - db $79, $3c, $08, $00, $0b, $f0, $12, $a5, $c9, $c9, $c8, $d0, $1c, $a5, $ca, $c9 -Data_3aa26: - db $79, $31, $08, $00, $0b, $0c, $a5, $ca, $c9, $7e, $d0, $06, $a5, $cb, $c9, $7e -Data_3aa36: - db $79, $26, $08, $00, $0b, $39, $cd, $48, $0c, $d0, $34, $a5, $c9, $c9, $80, $d0 -Data_3aa46: - db $79, $1b, $08, $00, $0b, $ea, $ea, $ea, $ea, $ea, $a9, $01, $cd, $4f, $0c, $d0 -Data_3aa56: - db $79, $10, $08, $00, $0b, $4c, $20, $08, $ea, $ea, $ea, $ea, $ea, $60, $ea, $ea -Data_3aa66: - db $b9, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 -Data_3aa76: - db $b9, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 +INCLUDE "data/sgb.asm" SECTION "bankf", ROMX |