diff options
| author | Rangi <remy.oukaour+rangi42@gmail.com> | 2020-11-04 15:16:20 -0500 |
|---|---|---|
| committer | Rangi <remy.oukaour+rangi42@gmail.com> | 2020-11-04 19:44:31 -0500 |
| commit | aae999f72bd81a3156c7e00da4ebf499f52da5a6 (patch) | |
| tree | 32fef70a31af3a0b5ad2b0d34042c312574fb42d /engine/surfing_minigame.asm | |
| parent | Merge branch 'master' of https://github.com/pret/pokered (diff) | |
| download | pokeyellow-aae999f72bd81a3156c7e00da4ebf499f52da5a6.tar.gz pokeyellow-aae999f72bd81a3156c7e00da4ebf499f52da5a6.tar.xz pokeyellow-aae999f72bd81a3156c7e00da4ebf499f52da5a6.zip | |
Start reorganizing pokeyellow
Diffstat (limited to 'engine/surfing_minigame.asm')
| -rwxr-xr-x | engine/surfing_minigame.asm | 2862 |
1 files changed, 0 insertions, 2862 deletions
diff --git a/engine/surfing_minigame.asm b/engine/surfing_minigame.asm deleted file mode 100755 index 578e6b1e..00000000 --- a/engine/surfing_minigame.asm +++ /dev/null @@ -1,2862 +0,0 @@ -SurfingPikachuMinigame: - call SurfingPikachuMinigame_BlankPals - call DelayFrame - call DelayFrame - call DelayFrame - ldh a, [hTilesetType] - push af - xor a - ldh [hTilesetType], a - ld a, [wUpdateSpritesEnabled] - push af - ld a, $ff - ld [wUpdateSpritesEnabled], a - ldh a, [rIE] - push af - xor a - ldh [rIF], a - ld a, $f - ldh [rIE], a - ld a, $8 - ldh [rSTAT], a - ldh a, [hAutoBGTransferDest + 1] - push af - ld a, $98 - ldh [hAutoBGTransferDest + 1], a - call SurfingPikachuMinigameIntro - call SurfingPikachuLoop - xor a - ldh [rBGP], a - ldh [rOBP0], a - ldh [rOBP1], a - call UpdateGBCPal_BGP - call UpdateGBCPal_OBP0 - call UpdateGBCPal_OBP1 - call ClearObjectAnimationBuffers - call ClearSprites - xor a - ldh [hLCDCPointer], a - ldh [hSCX], a - ldh [hSCY], a - ld a, $90 - ldh [hWY], a - call DelayFrame - pop af - ldh [hAutoBGTransferDest + 1], a - xor a - ldh [rIF], a - pop af - ldh [rIE], a - xor a - ldh [rSTAT], a - call RunDefaultPaletteCommand - call ReloadMapAfterSurfingMinigame - call PlayDefaultMusic - call GBPalNormal - pop af - ld [wUpdateSpritesEnabled], a - pop af - ldh [hTilesetType], a - ret - -SurfingPikachuLoop: - call SurfingPikachuMinigame_LoadGFXAndLayout - call DelayFrame - ld b, $e - call RunPaletteCommand -.loop - ld a, [wSurfingMinigameRoutineNumber] - bit 7, a - ret nz - call SurfingPikachu_GetJoypad_3FrameBuffer - call SurfingPikachu_CheckPressedSelect - ret nz - call RunSurfingMinigameRoutine - ld a, $3c - ld [wCurrentAnimatedObjectOAMBufferOffset], a - call RunObjectAnimations - call SurfingMinigame_MoveClouds - call .DelayFrame - call SurfingMinigame_UpdateMusicTempo - jr .loop - -.DelayFrame: - call DelayFrame - ret - -SurfingPikachu_CheckPressedSelect: - ld hl, wd492 - bit 1, [hl] - ret z - ldh a, [hJoyPressed] - and SELECT - ret - -Func_f80b7: - ldh a, [hJoyPressed] - and START - ret z - ld hl, wc5e2 - ld a, [hl] - xor $1 - ld [hl], a - ret - -SurfingMinigame_UpdateMusicTempo: - ld a, [wc634] - and a - ret z - - ; check that all channels are on their last frame of note delay - ld hl, wChannelNoteDelayCounters - ld a, $1 - cp [hl] - ret nz - inc hl - cp [hl] - ret nz - inc hl - cp [hl] - ret nz - - ; de = ([wSurfingMinigamePikachuSpeed] & 0x3f) * 2 - ld a, [wSurfingMinigamePikachuSpeed] - ld e, a - ld a, [wSurfingMinigamePikachuSpeed + 1] - and $3 - ld d, a - sla e - rl d - ld e, d - ld d, $0 - ld hl, .Tempos - add hl, de - add hl, de - ld a, [hli] - ld [wMusicTempo + 1], a - ld a, [hl] - ld [wMusicTempo], a - ret - -.Tempos: - dw 117 - dw 109 - dw 101 - dw 93 - dw 85 - -SurfingMinigame_ResetMusicTempo: - ld hl, wChannelNoteDelayCounters - ld a, $1 - cp [hl] - ret nz - inc hl - cp [hl] - ret nz - inc hl - cp [hl] - ret nz - ld a, 117 - ld [wMusicTempo + 1], a - xor a - ld [wMusicTempo], a - ret - -SurfingPikachuMinigame_LoadGFXAndLayout: - call SurfingPikachu_ClearTileMap - call ClearSprites - call DisableLCD - ld hl, wSurfingMinigameData - ld bc, wSurfingMinigameDataEnd - wSurfingMinigameData - xor a - call FillMemory - ld hl, wLYOverrides - ld bc, wLYOverridesBufferEnd - wLYOverrides - xor a - call FillMemory - xor a - ldh [hAutoBGTransferEnabled], a - call ClearObjectAnimationBuffers - - ld hl, SurfingPikachu1Graphics1 - ld de, $9000 - ld bc, $500 - ld a, BANK(SurfingPikachu1Graphics1) - call FarCopyData - - ld hl, SurfingPikachu1Graphics2 - ld de, $8000 - ld bc, $1000 - ld a, BANK(SurfingPikachu1Graphics2) - call FarCopyData - - ld a, SurfingPikachuSpawnStateDataPointer % $100 - ld [wAnimatedObjectSpawnStateDataPointer], a - ld a, SurfingPikachuSpawnStateDataPointer / $100 - ld [wAnimatedObjectSpawnStateDataPointer + 1], a - - ld a, SurfingPikachuObjectJumptable % $100 - ld [wAnimatedObjectJumptablePointer], a - ld a, SurfingPikachuObjectJumptable / $100 - ld [wAnimatedObjectJumptablePointer + 1], a - - ld a, SurfingPikachuOAMData % $100 - ld [wAnimatedObjectOAMDataPointer], a - ld a, SurfingPikachuOAMData / $100 - ld [wAnimatedObjectOAMDataPointer + 1], a - - ld a, SurfingPikachuFrames % $100 - ld [wAnimatedObjectFramesDataPointer], a - ld a, SurfingPikachuFrames / $100 - ld [wAnimatedObjectFramesDataPointer + 1], a - - ld hl, vBGMap0 - ld bc, $800 - ld a, $0 - call FillMemory - - ld hl, $98c0 - ld bc, $180 - ld a, $b - call FillMemory - - ld a, $1 - lb de, $74, $58 - call SpawnAnimatedObject - - ld a, $74 - ld [wSurfingMinigamePikachuObjectHeight], a - - call SurfingMinigame_InitScanlineOverrides - - xor a - ldh [hSCX], a - ldh [hSCY], a - ld a, $7e - ldh [hWY], a - ld a, rSCY - $ff00 - ldh [hLCDCPointer], a - ld a, $40 - ld [wSurfingMinigamePikachuSpeed], a - xor a - ld [wSurfingMinigamePikachuSpeed + 1], a - xor a - ld [wSurfingMinigamePikachuHP], a - ld a, $60 - ld [wSurfingMinigamePikachuHP + 1], a - ld hl, wSurfingMinigameWaveHeight - ld bc, $14 - ld a, $74 - call FillMemory - call Func_f81ff - call Func_f8256 - ld a, $e3 - ldh [rLCDC], a - call SurfingPikachuMinigame_SetBGPals - ld a, $e4 - ldh [rOBP0], a - ld a, $e0 - ldh [rOBP1], a - call UpdateGBCPal_OBP0 - call UpdateGBCPal_OBP1 - ret - -SurfingPikachuMinigame_SetBGPals: - ld a, [wOnSGB] - and a - jr nz, .sgb - ld a, $d0 - ldh [rBGP], a - call UpdateGBCPal_BGP - ret - -.sgb - ld a, $e4 - ldh [rBGP], a - call UpdateGBCPal_BGP - ret - -Func_f81ff: - ld hl, wSpriteDataEnd - ld de, Unkn_f8249 - ld b, $97 - ld c, $80 - ld a, $4 - call Func_f8233 - ld de, Unkn_f8248 - ld b, $96 - ld c, $50 - ld a, $1 - call Func_f8233 - ld de, Unkn_f824d - ld b, $14 - ld c, $20 - ld a, $5 - call Func_f8233 - ld de, Unkn_f8252 - ld b, $20 - ld c, $80 - ld a, $4 - call Func_f8233 - ret - -Func_f8233: -.asm_f8233 - push af - ld [hl], b - inc hl - ld [hl], c - inc hl - ld a, [de] - ld [hl], a - inc hl - ld [hl], $0 - inc hl - ld a, c - add $8 - ld c, a - inc de - pop af - dec a - jr nz, .asm_f8233 - ret - -Unkn_f8248: - db $fe - -Unkn_f8249: - db $d0 - db $d0 - db $d0 - db $d0 - -Unkn_f824d: - db $ec - db $ed - db $ed - db $ee - db $ef - -Unkn_f8252: - db $ec - db $ed - db $ee - db $ef - -Func_f8256: - ld de, $9c21 - ld hl, Unkn_f8279 - ld c, $9 -.asm_f825e - ld a, [hli] - ld [de], a - inc de - dec c - jr nz, .asm_f825e - ld hl, $9c01 - ld [hl], $15 - ld hl, $9c02 - ld [hl], $16 - ld hl, $9c2c - ld [hl], $1b - ld hl, $9c2d - ld [hl], $1c - ret - -Unkn_f8279: - db $17 - db $18 - db $19 - db $19 - db $19 - db $19 - db $19 - db $19 - db $19 - -RunSurfingMinigameRoutine: - ld a, [wSurfingMinigameRoutineNumber] - ld e, a - ld d, $0 - ld hl, .Jumptable - add hl, de - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - jp hl - -.Jumptable: - dw SurfingMinigameRoutine_SpawnPikachu ; 0 - dw SurfingMinigame_RunGame ; 1 - dw Func_f8324 ; 2 - dw Func_f835c ; 3 - dw SurfingMinigame_DrawResultsScreenAndWait ; 4 - dw SurfingMinigame_WriteHPLeftAndWait ; 5 - dw SurfingMinigame_WriteRadnessAndWait ; 6 - dw SurfingMinigame_WriteTotalAndWait ; 7 - dw SurfingMinigame_AddRemainingHPToTotalAndWait ; 8 - dw SurfingMinigame_AddRadnessToTotalAndWait ; 9 - dw SurfingMinigame_WaitLast ; a - dw SurfingMinigame_ExitOnPressA ; b - dw SurfingMinigame_GameOver ; c - -SurfingMinigameRoutine_SpawnPikachu: - ld a, $2 - lb de, $48, $e0 - call SpawnAnimatedObject - ld hl, wSurfingMinigameRoutineNumber - inc [hl] - ld a, $1 - ld [wc634], a - ret - -SurfingMinigame_RunGame: - ld a, [wc5e5] - cp $18 - jr nc, .asm_f82e8 - ld hl, wSurfingMinigamePikachuHP - ld a, [hli] - or [hl] - and a - jr z, .dead - call Random - ld [wc5d5], a - call SurfingMinigame_UpdateLYOverrides - call SurfingMinigame_SetPikachuHeight - call SurfingMinigame_ReadBGMapBuffer - call SurfingMinigame_ScrollAndGenerateBGMap - call SurfingMinigame_UpdatePikachuDistance - call SurfingMinigame_Deduct1HP - call SurfingMinigame_DrawHP - ret - -.asm_f82e8 - ld hl, wSurfingMinigameRoutineNumber - inc [hl] - xor a - ld [wc634], a - ld a, 192 - ld [wSurfingMinigameRoutineDelay], a - ret - -.dead - ld a, $1 - ld [wc630], a - ld a, $c - ld [wSurfingMinigameRoutineNumber], a - ld a, $80 - ld [wc631], a - ld a, $b - lb de, $88, $58 - call SpawnAnimatedObject - ld hl, ANIM_OBJ_Y_OFFSET - add hl, bc - ld [hl], $80 - ld hl, ANIM_OBJ_FIELD_B - add hl, bc - ld [hl], $80 - ld hl, ANIM_OBJ_FIELD_C - add hl, bc - ld [hl], $30 - xor a - ld [wc634], a - ret - -Func_f8324: - call SurfingMinigame_RunDelayTimer - jr c, .done_delay - xor a - ld [wc5d5], a - call SurfingMinigame_UpdateLYOverrides - call SurfingMinigame_SetPikachuHeight - call SurfingMinigame_ReadBGMapBuffer - call Func_f8c97 - call SurfingMinigame_ResetMusicTempo - ret - -.done_delay - ld hl, wSurfingMinigameRoutineNumber - inc [hl] - ld a, $90 - ldh [hSCX], a - ld a, $72 - ld [wSurfingMinigameWaveFunctionNumber], a - ld a, $4 - ld [wc5d2], a - xor a - ldh [hLCDCPointer], a - ld [wSurfingMinigameSCX], a - ld [wSurfingMinigameSCX + 1], a - ld [wSurfingMinigameSCX + 2], a - ret - -Func_f835c: - ldh a, [hSCX] - and a - jr z, .asm_f837b - call SurfingMinigame_UpdateLYOverrides - call SurfingMinigame_SetPikachuHeight - call SurfingMinigame_ReadBGMapBuffer - ldh a, [hSCX] - dec a - dec a - dec a - dec a - ldh [hSCX], a - ld a, $e0 - ld [wSurfingMinigameXOffset], a - call SurfingMinigame_GenerateBGMap - ret - -.asm_f837b - xor a - ld [wSurfingMinigamePikachuSpeed], a - ld [wSurfingMinigamePikachuSpeed + 1], a - ld hl, wSurfingMinigameRoutineNumber - inc [hl] - ld a, $5 - ld [wc5d2], a - ret - -SurfingMinigame_DrawResultsScreenAndWait: - call SurfingMinigame_DrawResultsScreen - ld a, 32 - ld [wSurfingMinigameRoutineDelay], a - ld hl, wSurfingMinigameRoutineNumber - inc [hl] - ret - -SurfingMinigame_WriteHPLeftAndWait: - call SurfingMinigame_RunDelayTimer - ret nc - call SurfingMinigame_WriteHPLeft - ld a, 64 - ld [wSurfingMinigameRoutineDelay], a - ld hl, wSurfingMinigameRoutineNumber - inc [hl] - ret - -SurfingMinigame_WriteRadnessAndWait: - call SurfingMinigame_RunDelayTimer - ret nc - call SurfingMinigame_WriteRadness - ld a, 64 - ld [wSurfingMinigameRoutineDelay], a - ld hl, wSurfingMinigameRoutineNumber - inc [hl] - ret - -SurfingMinigame_WriteTotalAndWait: - call SurfingMinigame_RunDelayTimer - ret nc - call SurfingMinigame_WriteTotal - ld a, 64 - ld [wSurfingMinigameRoutineDelay], a - ld hl, wSurfingMinigameRoutineNumber - inc [hl] - ret - -SurfingMinigame_AddRemainingHPToTotalAndWait: - call SurfingMinigame_RunDelayTimer - ret nc - call SurfingMinigame_AddRemainingHPToTotal - push af - call SurfingMinigame_BCDPrintTotalScore - pop af - ret nc - ld a, 64 - ld [wSurfingMinigameRoutineDelay], a - ld hl, wSurfingMinigameRoutineNumber - inc [hl] - ret - -SurfingMinigame_AddRadnessToTotalAndWait: - call SurfingMinigame_RunDelayTimer - ret nc - call SurfingMinigame_AddRadnessToTotal - push af - call SurfingMinigame_BCDPrintTotalScore - pop af - ret nc - ld a, 128 - ld [wSurfingMinigameRoutineDelay], a - ld hl, wSurfingMinigameRoutineNumber - inc [hl] - call DidPlayerGetAHighScore - ret nc - call SurfingMinigame_PrintTextHiScore - ld a, $6 - ld [wc5d2], a - ret - -SurfingMinigame_WaitLast: - call SurfingMinigame_RunDelayTimer - ret nc - ld hl, wSurfingMinigameRoutineNumber - inc [hl] - ret - -SurfingMinigame_ExitOnPressA: - call SurfingMinigame_UpdateLYOverrides - ldh a, [hJoyPressed] - and A_BUTTON - ret z - ld hl, wSurfingMinigameRoutineNumber - set 7, [hl] - ret - -SurfingMinigame_GameOver: - call SurfingMinigame_UpdateLYOverrides - call SurfingMinigame_SetPikachuHeight - call SurfingMinigame_ReadBGMapBuffer - call SurfingMinigame_ScrollAndGenerateBGMap - call SurfingMinigame_ResetMusicTempo - ld hl, wc631 - ld a, [hl] - and a - jr z, .wait_press_a - dec [hl] - ret - -.wait_press_a - ldh a, [hJoyPressed] - and A_BUTTON - ret z - ld hl, wSurfingMinigameRoutineNumber - set 7, [hl] - ret - -SurfingMinigame_RunDelayTimer: - ld hl, wSurfingMinigameRoutineDelay - ld a, [hl] - and a - jr z, .set_carry - dec [hl] - and a - ret - -.set_carry - scf - ret - -SurfingMinigame_UpdatePikachuDistance: - ld a, [wc5e5 + 1] - ld h, a - ld a, [wc5e5 + 2] - ld l, a - ld a, [wSurfingMinigamePikachuSpeed] - ld e, a - ld a, [wSurfingMinigamePikachuSpeed + 1] - ld d, a - add hl, de - ld a, h - ld [wc5e5 + 1], a - ld a, l - ld [wc5e5 + 2], a - ret nc - ld hl, wc5e5 - inc [hl] - ld hl, wOAMBuffer + 4 * 4 + 1 - dec [hl] - dec [hl] - ret - -SurfingMinigameAnimatedObjectFn_Pikachu: - ld a, [wc5d2] - ld e, a - ld d, $0 - ld hl, Jumptable_f847f - add hl, de - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - jp hl - -Jumptable_f847f: - dw Func_f848d - dw SurfingMinigame_ScoreCurrentWave - dw Func_f8516 - dw Func_f8545 - dw Func_f8561 - dw Func_f856d - dw Func_f8579 - -Func_f848d: - ld a, [wc630] - and a - jr nz, .asm_f84d2 - call Func_f87b5 - ld a, [wSurfingMinigamePikachuObjectHeight] - ld hl, ANIM_OBJ_Y_COORD - add hl, bc - ld [hl], a - call Func_f871e - jr c, .splash - call Func_f8742 - call SurfingMinigame_SpeedUpPikachu - ret - -.splash - call Func_f8742 - ld a, $1 ; on a wave - ld [wc5d2], a - xor a - ld hl, ANIM_OBJ_FIELD_C - add hl, bc - ld [hl], a - ld hl, ANIM_OBJ_FIELD_D - add hl, bc - ld [hl], a - ld hl, ANIM_OBJ_FIELD_E - add hl, bc - ld [hl], a - ld [wSurfingMinigameRadnessMeter], a - ld [wSurfingMinigameTrickFlags], a - xor a - ld [wChannelSoundIDs + Ch8], a - ld a, SFX_SURFING_JUMP - call PlaySound - ret - -.asm_f84d2 - xor a - ld [wSurfingMinigamePikachuSpeed], a - ld [wSurfingMinigamePikachuSpeed + 1], a - ld a, $4 - ld [wc5d2], a - call Func_f8742 - ret - -SurfingMinigame_ScoreCurrentWave: - call SurfingMinigame_DPadAction - call SurfingMinigame_UpdatePikachuHeight - ret nc - call SurfingMinigame_TileInteraction - jr c, .splash - call SurfingMinigame_CalculateAndAddRadnessFromStunt - ld hl, ANIM_OBJ_FIELD_C - add hl, bc - ld [hl], $0 - ld a, $2 - ld [wc5d2], a - ret - -.splash - ld a, $3 - ld [wc5d2], a - ld a, $60 - ld [wc5e1], a - ld a, $10 - call SetCurrentAnimatedObjectCallbackAndResetFrameStateRegisters - xor a - ld [wChannelSoundIDs + Ch8], a - ld a, SFX_SURFING_CRASH - call PlaySound - ret - -Func_f8516: - ld hl, ANIM_OBJ_FIELD_C - add hl, bc - ld a, [hl] - cp $20 - jr nc, .asm_f8539 - inc [hl] - inc [hl] - inc [hl] - inc [hl] - ld d, $4 - call SurfingPikachu_Sine - ld hl, ANIM_OBJ_Y_OFFSET - add hl, bc - ld [hl], a - call Func_f87b5 - ld a, [wSurfingMinigamePikachuObjectHeight] - ld hl, ANIM_OBJ_Y_COORD - add hl, bc - ld [hl], a - ret - -.asm_f8539 - ld hl, ANIM_OBJ_Y_OFFSET - add hl, bc - ld [hl], $0 - ld a, $0 - ld [wc5d2], a - ret - -Func_f8545: - ld hl, wc5e1 - ld a, [hl] - and a - jr z, .asm_f8556 - dec [hl] - ld a, [wSurfingMinigamePikachuObjectHeight] - ld hl, ANIM_OBJ_Y_COORD - add hl, bc - ld [hl], a - ret - -.asm_f8556 - ld a, $0 - ld [wc5d2], a - ld a, $4 - call SetCurrentAnimatedObjectCallbackAndResetFrameStateRegisters - ret - -Func_f8561: - ld a, [wSurfingMinigamePikachuObjectHeight] - ld hl, ANIM_OBJ_Y_COORD - add hl, bc - ld [hl], a - call Func_f8742 - ret - -Func_f856d: - ld a, $f - call SetCurrentAnimatedObjectCallbackAndResetFrameStateRegisters - ld hl, ANIM_OBJ_FIELD_C - add hl, bc - ld [hl], $0 - ret - -Func_f8579: - ld hl, ANIM_OBJ_FIELD_C - add hl, bc - ld a, [hl] - inc [hl] - inc [hl] - and $3f - cp $20 - jr c, .asm_f8591 - ld d, $10 - call SurfingPikachu_Sine - ld hl, ANIM_OBJ_Y_OFFSET - add hl, bc - ld [hl], a - ret - -.asm_f8591 - ld hl, ANIM_OBJ_Y_OFFSET - add hl, bc - ld [hl], $0 - ret - -SurfingMinigame_DPadAction: - ld de, hJoy5 - ld a, [de] - and D_LEFT - jr nz, .d_left - ld a, [de] - and D_RIGHT - jr nz, .d_right - ret - -.d_left - ld hl, ANIM_OBJ_FIELD_E - add hl, bc - ld [hl], $0 - ld hl, ANIM_OBJ_FIELD_D - add hl, bc - ld a, [hl] - inc [hl] - cp $b - jr c, .d_left_skip - call .StartTrick - ld hl, wSurfingMinigameTrickFlags - set 0, [hl] -.d_left_skip - ld hl, ANIM_OBJ_FRAME_SET - add hl, bc - ld a, [hl] - cp $e - jr nc, .d_left_reset - inc [hl] - ret - -.d_left_reset - ld [hl], $1 - ret - -.d_right - ld hl, ANIM_OBJ_FIELD_D - add hl, bc - ld [hl], $0 - ld hl, ANIM_OBJ_FIELD_E - add hl, bc - ld a, [hl] - inc [hl] - cp $d - jr c, .d_right_skip - call .StartTrick - ld hl, wSurfingMinigameTrickFlags - set 1, [hl] -.d_right_skip - ld hl, ANIM_OBJ_FRAME_SET - add hl, bc - ld a, [hl] - cp $1 - jr z, .d_right_reset - dec [hl] - ret - -.d_right_reset - ld [hl], $e - ret - -.StartTrick: - call SurfingMinigame_IncreaseRadnessMeter - xor a - ld hl, ANIM_OBJ_FIELD_D - add hl, bc - ld [hl], a - ld hl, ANIM_OBJ_FIELD_E - add hl, bc - ld [hl], a - ld a, SFX_SURFING_FLIP - call PlaySound - ret - -SurfingMinigame_TileInteraction: - ld hl, ANIM_OBJ_FRAME_SET - add hl, bc - ld a, [wSurfingMinigameBGMapReadBuffer] - cp $6 - jr z, .tile_06 - cp $14 - jr z, .tile_14 - cp $12 - jr z, .tile_12 - cp $7 - jr z, .tile_07 - ld a, [hl] - cp $1 - jp z, .action_0 - cp $2 - jr z, .action_1 - cp $3 - jr z, .action_2 - cp $4 - jr z, .action_3 - cp $5 - jr z, .action_2 - cp $6 - jr z, .action_1 - cp $7 - jr z, .action_0 - jr .action_0 - -.tile_06 - ld a, [hl] - cp $1 - jr z, .action_0 - cp $2 - jr z, .action_0 - cp $3 - jr z, .action_0 - cp $4 - jr z, .action_1 - cp $5 - jr z, .action_2 - cp $6 - jr z, .action_3 - cp $7 - jr z, .action_2 - jr .action_0 - -.tile_07 - ld a, [hl] - cp $1 - jr z, .action_2 - cp $2 - jr z, .action_3 - cp $3 - jr z, .action_2 - cp $4 - jr z, .action_1 - cp $5 - jr z, .action_0 - cp $6 - jr z, .action_0 - cp $7 - jr z, .action_0 - jr .action_0 - -.tile_12 -.tile_14 - ld a, [hl] - cp $1 - jr z, .action_0 - cp $2 - jr z, .action_1 - cp $3 - jr z, .action_2 - cp $4 - jr z, .action_3 - cp $5 - jr z, .action_3 - cp $6 - jr z, .action_2 - cp $7 - jr z, .action_1 - jr .action_0 - -.action_1 - call SufingMinigame_ReduceSpeedBy128 - jr .action_3 - -.action_2 - call SufingMinigame_ReduceSpeedBy64 -.action_3 - xor a - ld [wChannelSoundIDs + Ch8], a - ld a, SFX_SURFING_LAND - call PlaySound - and a - ret - -.action_0 - ld a, $40 - ld [wSurfingMinigamePikachuSpeed], a - xor a - ld [wSurfingMinigamePikachuSpeed + 1], a - scf - ret - -SurfingMinigame_SpeedUpPikachu: - ld a, [wSurfingMinigamePikachuSpeed + 1] - cp $2 - ret nc - ld h, a - ld a, [wSurfingMinigamePikachuSpeed] - ld l, a - ld de, $2 - add hl, de - ld a, h - ld [wSurfingMinigamePikachuSpeed + 1], a - ld a, l - ld [wSurfingMinigamePikachuSpeed], a - ret - -SufingMinigame_ReduceSpeedBy64: - ld a, [wSurfingMinigamePikachuSpeed + 1] - and a - jr nz, .go - ld a, [wSurfingMinigamePikachuSpeed] - cp $40 - jr nc, .go - xor a - ld [wSurfingMinigamePikachuSpeed], a - ret - -.go - ld a, [wSurfingMinigamePikachuSpeed + 1] - ld h, a - ld a, [wSurfingMinigamePikachuSpeed] - ld l, a - ld de, -$40 - add hl, de - ld a, h - ld [wSurfingMinigamePikachuSpeed + 1], a - ld a, l - ld [wSurfingMinigamePikachuSpeed], a - ret - -SufingMinigame_ReduceSpeedBy128: - ld a, [wSurfingMinigamePikachuSpeed + 1] - and a - jr nz, .go - ld a, [wSurfingMinigamePikachuSpeed] - cp $80 - jr nc, .go - xor a - ld [wSurfingMinigamePikachuSpeed], a - ret - -.go - ld a, [wSurfingMinigamePikachuSpeed + 1] - ld h, a - ld a, [wSurfingMinigamePikachuSpeed] - ld l, a - ld de, -$80 - add hl, de - ld a, h - ld [wSurfingMinigamePikachuSpeed + 1], a - ld a, l - ld [wSurfingMinigamePikachuSpeed], a - ret - -Func_f871e: - ldh a, [hSCX] - and $7 - cp $3 - jr c, .asm_f8740 - cp $5 - jr nc, .asm_f8740 - ld a, [wSurfingMinigameBGMapReadBuffer] - cp $14 - jr nz, .asm_f8740 - call SufingMinigame_GetSpeedDividedBy32 - cp $a - jr c, .asm_f8740 - ld [wc5ec], a - call Func_f9284 - scf - ret - -.asm_f8740 - and a - ret - -Func_f8742: - ldh a, [hSCX] - and $7 - cp $3 - ret c - cp $5 - ret nc - ld a, [wSurfingMinigameBGMapReadBuffer] - cp $6 - jr z, .asm_f8766 - cp $14 - jr z, .asm_f8766 - cp $7 - jr z, .asm_f876a - call Func_f8778 - ld a, $4 - ld hl, ANIM_OBJ_FRAME_SET - add hl, bc - ld [hl], a - ret - -.asm_f8766 - ld a, $6 - jr .asm_f876c - -.asm_f876a - ld a, $2 -.asm_f876c - ld e, a - ld a, [wc5de] - dec a - add e - ld hl, ANIM_OBJ_FRAME_SET - add hl, bc - ld [hl], a - ret - -Func_f8778: - ld hl, wc5e0 - ld a, [hl] - inc [hl] - and $7 - ret nz - ld a, [wc5df] - and a - jr z, .asm_f8796 - ld a, [wc5de] - and a - jr z, .asm_f8791 - dec a - ld [wc5de], a - ret - -.asm_f8791 - xor a - ld [wc5df], a - ret - -.asm_f8796 - ld a, [wc5de] - cp $2 - jr z, .asm_f87a2 - inc a - ld [wc5de], a - ret - -.asm_f87a2 - ld a, $1 - ld [wc5df], a - ret - -SufingMinigame_GetSpeedDividedBy32: - ld a, [wSurfingMinigamePikachuSpeed] - ld l, a - ld a, [wSurfingMinigamePikachuSpeed + 1] - ld h, a - add hl, hl - add hl, hl - add hl, hl - ld a, h - ret - -Func_f87b5: - ld hl, wc5eb - ld a, [hl] - inc [hl] - and $3 - ret nz - call .GetYCoord - ld d, a - ld hl, ANIM_OBJ_X_COORD - add hl, bc - ld e, [hl] - ld a, $a - push bc - call SpawnAnimatedObject - pop bc - ret - -.GetYCoord: - ldh a, [hSCX] - and $8 - jr nz, .get_height_plus_9 - ld hl, wSurfingMinigameWaveHeight + 8 - jr .got_hl - -.get_height_plus_9 - ld hl, wSurfingMinigameWaveHeight + 9 -.got_hl - ld a, [wSurfingMinigameBGMapReadBuffer + 1] - cp $6 - jr z, .six_or_twenty - cp $14 - jr z, .six_or_twenty - cp $7 - jr z, .seven - ld a, [hl] - ret - -.six_or_twenty - ldh a, [hSCX] - and $7 - ld e, a - ld a, [hl] - sub e - ret - -.seven - ldh a, [hSCX] - and $7 - add [hl] - ret - -Func_f87fb: - ld hl, ANIM_OBJ_X_COORD - add hl, bc - ld a, [hl] - cp $58 - ret z - add $4 - ld [hl], a - ret - -Func_f8807: ; unreferenced - call MaskCurrentAnimatedObjectStruct - ret - -SurfingMinigameAnimatedObjectFn_FlippingPika: - ld hl, ANIM_OBJ_FIELD_B - add hl, bc - ld a, [hl] - and a - ret z - dec [hl] - dec [hl] - ld d, a - ld hl, ANIM_OBJ_FIELD_C - add hl, bc - ld a, [hl] - inc [hl] - call SurfingPikachu_Sine - cp $80 - jr nc, .positive - xor $ff - inc a -.positive - ld hl, ANIM_OBJ_Y_OFFSET - add hl, bc - ld [hl], a - ret - -SurfingMinigameAnimatedObjectFn_IntroAnimationPikachu: - ld hl, ANIM_OBJ_FIELD_B - add hl, bc - ld a, [hl] - inc [hl] - and $1 - ret z - ld hl, ANIM_OBJ_X_COORD - add hl, bc - ld a, [hl] - cp $c0 - jr z, .done - inc [hl] - ret - -.done - ld a, $1 - ld [wSurfingMinigameIntroAnimationFinished], a - call MaskCurrentAnimatedObjectStruct - ret - -SurfingMinigame_MoveClouds: - ld a, [wc635] - ld e, a - ld d, $0 - ld a, [wSurfingMinigamePikachuSpeed] - ld l, a - ld a, [wSurfingMinigamePikachuSpeed + 1] - ld h, a - add hl, de - ld a, l - ld [wc635], a - ld d, h - ld hl, wOAMBuffer + 5 * 4 + 1 - ld e, $9 -.loop - ld a, [hl] - add d - ld [hli], a - inc hl - inc hl - inc hl - dec e - jr nz, .loop - ret - -SurfingMinigame_ReadBGMapBuffer: - ld a, [wSurfingMinigameBGMapReadBuffer] ; ??? - ldh a, [hSCX] - add $48 - ld e, a - srl e - srl e - srl e - ld d, $0 - ld hl, vBGMap0 - add hl, de - ld a, [wSurfingMinigamePikachuObjectHeight] - srl a - srl a - srl a - ld c, a -.loop - ld a, c - and a - jr z, .copy - dec c - ld de, $20 - add hl, de - ld a, h - and $3 - or $98 - ld h, a - jr .loop - -.copy - ld de, wSurfingMinigameBGMapReadBuffer - ld a, e - ldh [hVBlankCopyDest], a - ld a, d - ldh [hVBlankCopyDest + 1], a - ld a, l - ldh [hVBlankCopySource], a - ld a, h - ldh [hVBlankCopySource + 1], a - ld a, 16 / $10 - ldh [hVBlankCopySize], a - ret - -SurfingMinigame_SetPikachuHeight: - ldh a, [hSCX] - and $8 - jr nz, .asm_f88b9 - ld hl, wSurfingMinigameWaveHeight + 7 - jr .asm_f88bc - -.asm_f88b9 - ld hl, wSurfingMinigameWaveHeight + 8 -.asm_f88bc - ld a, [wSurfingMinigameBGMapReadBuffer] - cp $6 - jr z, .asm_f88d0 - cp $14 - jr z, .asm_f88d0 - cp $7 - jr z, .asm_f88db - ld a, [hl] - ld [wSurfingMinigamePikachuObjectHeight], a - ret - -.asm_f88d0 - ldh a, [hSCX] - and $7 - ld e, a - ld a, [hl] - sub e - ld [wSurfingMinigamePikachuObjectHeight], a - ret - -.asm_f88db - ldh a, [hSCX] - and $7 - add [hl] - ld [wSurfingMinigamePikachuObjectHeight], a - ret - -SurfingMinigame_Deduct1HP: - ld hl, wSurfingMinigamePikachuHP - ld e, $99 - call .BCD_Deduct - ret nc - inc hl - ld e, $99 -.BCD_Deduct: - ld a, [hl] - and a - jr z, .roll_over - sub $1 - daa - ld [hl], a - and a - ret - -.roll_over - ld [hl], e - scf - ret - -SurfingMinigame_DrawHP: - ld de, wSurfingMinigamePikachuHP + 1 - ld hl, wOAMBuffer + 0 * 4 + 2 - ld a, [de] - call .PlaceBCDNumber - ld hl, wOAMBuffer + 2 * 4 + 2 - ld a, [de] -.PlaceBCDNumber: - ld c, a - swap a - and $f - add $d0 - ld [hli], a - inc hl - inc hl - inc hl - ld a, c - and $f - add $d0 - ld [hl], a - dec de - ret - -SurfingMinigame_DrawResultsScreen: - ld hl, wTileMap - ld bc, SCREEN_WIDTH * SCREEN_HEIGHT - xor a - call FillMemory - ld hl, .BeachTilemap - decoord 0, 6 - ld bc, .BeachTilemapEnd - .BeachTilemap - call CopyData - call .PlaceTextbox - ld hl, wOAMBuffer + 5 * 4 + 1 - ld bc, 9 * 4 - xor a - call FillMemory - ld a, $1 - ldh [hAutoBGTransferEnabled], a - ret - -.BeachTilemap: -INCBIN "gfx/unknown_f8946.map" -.BeachTilemapEnd: - -.PlaceTextbox: - hlcoord 1, 1 - lb de, $3b, $3c - ld a, $40 - call .place_row - hlcoord 1, 2 - lb de, $3f, $3f - ld a, $ff - call .place_row - hlcoord 1, 3 - lb de, $3f, $3f - ld a, $ff - call .place_row - hlcoord 1, 4 - lb de, $3f, $3f - ld a, $ff - call .place_row - hlcoord 1, 5 - lb de, $3f, $3f - ld a, $ff - call .place_row - hlcoord 1, 6 - lb de, $3f, $3f - ld a, $ff - call .place_row - hlcoord 1, 7 - lb de, $3f, $3f - ld a, $ff - call .place_row - hlcoord 1, 8 - lb de, $3f, $3f - ld a, $ff - call .place_row - hlcoord 1, 9 - lb de, $3d, $3e - ld a, $40 - call .place_row - ret - -.place_row: - ld [hl], d - inc hl - ld c, $10 -.loop - ld [hli], a - dec c - jr nz, .loop - ld [hl], e - ret - -SurfingMinigame_PrintTextHiScore: - ld hl, .Hi_Score - decoord 6, 8 - ld bc, $9 - call CopyData - ret - -.Hi_Score: - db $20,$2e,$2f,$30,$31,$2c,$32,$23,$33 ; Hi-Score!! - -SurfingMinigame_WriteHPLeft: - ld hl, .HP_Left - decoord 2, 2 - ld bc, $7 - call CopyData - call SurfingMinigame_BCDPrintHPLeft - ret - -.HP_Left: - db $20,$21,$ff,$22,$23,$24,$25 ; HP Left - -SurfingMinigame_AddRemainingHPToTotal: - ld c, 99 -.loop - push bc - ld hl, wSurfingMinigamePikachuHP - ld a, [hli] - or [hl] - and a - jr z, .dead - call SurfingMinigame_Deduct1HP - ld e, $1 - call SurfingMinigame_AddPointsToTotal - pop bc - dec c - jr nz, .loop - ld a, SFX_PRESS_AB - call PlaySound - and a - ret - -.dead - pop bc - scf - ret - -SurfingMinigame_BCDPrintHPLeft: - hlcoord 10, 2 - ld de, wSurfingMinigamePikachuHP + 1 - ld a, [de] - call SurfingPikachu_PlaceBCDNumber - inc hl - ld a, [de] - call SurfingPikachu_PlaceBCDNumber - inc hl - inc hl - ld [hl], $21 ; P - inc hl - ld [hl], $25 ; t - inc hl - ld [hl], $26 ; s - ret - -SurfingMinigame_WriteRadness: - ld hl, .Radness - decoord 2, 4 - ld bc, $7 - call CopyData - call SurfingMinigame_BCDPrintRadness - ret - -.Radness: - db $27,$28,$29,$2a,$23,$26,$26 ; Radness - -SurfingMinigame_AddRadnessToTotal: - ld c, 99 -.loop - push bc - ld hl, wSurfingMinigameRadnessScore - ld a, [hli] - ld e, a - or [hl] - jr z, .done - ld d, [hl] - ld a, e - sub $1 - daa - ld e, a - ld a, d - sbc $0 - daa - ld [hld], a - ld [hl], e - ld e, $1 - call SurfingMinigame_AddPointsToTotal - pop bc - dec c - jr nz, .loop - ld a, SFX_PRESS_AB - call PlaySound - and a - ret - -.done - pop bc - scf - ret - -SurfingMinigame_BCDPrintRadness: - ld a, [wSurfingMinigameRadnessScore + 1] - hlcoord 10, 4 - call SurfingPikachu_PlaceBCDNumber - ld a, [wSurfingMinigameRadnessScore] - hlcoord 12, 4 - call SurfingPikachu_PlaceBCDNumber - inc hl - inc hl - ld [hl], $21 ; P - inc hl - ld [hl], $25 ; t - inc hl - ld [hl], $26 ; s - ret - -SurfingMinigame_AddPointsToTotal: - ld a, [wSurfingMinigameTotalScore] - add e - daa - ld [wSurfingMinigameTotalScore], a - ld a, [wSurfingMinigameTotalScore + 1] - adc $0 - daa - ld [wSurfingMinigameTotalScore + 1], a - ret nc - ld a, $99 - ld [wSurfingMinigameTotalScore], a - ld [wSurfingMinigameTotalScore + 1], a - ret - -SurfingMinigame_BCDPrintTotalScore: - ld a, [wSurfingMinigameTotalScore + 1] - hlcoord 10, 6 - call SurfingPikachu_PlaceBCDNumber - ld a, [wSurfingMinigameTotalScore] - hlcoord 12, 6 - call SurfingPikachu_PlaceBCDNumber - inc hl - inc hl - ld [hl], $21 ; P - inc hl - ld [hl], $25 ; t - inc hl - ld [hl], $26 ; s - ret - -SurfingMinigame_WriteTotal: - ld hl, .Total - decoord 2, 6 - ld bc, $5 - call CopyData - call SurfingMinigame_BCDPrintRadness - call SurfingMinigame_BCDPrintTotalScore - ret - -.Total: - db $2b,$2c,$25,$28,$2d ; Total - -DidPlayerGetAHighScore: - ld hl, wSurfingMinigameHiScore + 1 - ld a, [wSurfingMinigameTotalScore + 1] - cp [hl] - jr c, .not_high_score - jr nz, .high_score - dec hl - ld a, [wSurfingMinigameTotalScore] - cp [hl] - jr c, .not_high_score - jr nz, .high_score -.not_high_score - call WaitForSoundToFinish - ldpikacry e, PikachuCry28 - call SurfingMinigame_PlayPikaCryIfSurfingPikaInParty - and a - ret - -.high_score - ld a, [wSurfingMinigameTotalScore] - ld [wSurfingMinigameHiScore], a - ld a, [wSurfingMinigameTotalScore + 1] - ld [wSurfingMinigameHiScore + 1], a - call WaitForSoundToFinish - ldpikacry e, PikachuCry34 - call SurfingMinigame_PlayPikaCryIfSurfingPikaInParty - ld a, SFX_GET_ITEM2_4_2 - call PlaySound - scf - ret - -SurfingMinigame_PlayPikaCryIfSurfingPikaInParty: - push de - callfar IsSurfingPikachuInThePlayersParty - pop de - ret nc - callfar PlayPikachuSoundClip - ret - -SurfingMinigame_IncreaseRadnessMeter: - ld a, [wSurfingMinigameRadnessMeter] - inc a - cp $4 - jr c, .cap - ld a, $3 -.cap - ld [wSurfingMinigameRadnessMeter], a - ret - -SurfingMinigame_CalculateAndAddRadnessFromStunt: - ; Compute the amount of radness points from the - ; current trick based on the number of - ; consecutive flips - ; Single flip: +0050 - ; 2 of the same flip: +0150 - ; 3 or more of the same flip: +0350 - ; 2 different flips: +0180 - ; 3 or more different flips: +0500 - ld a, [wSurfingMinigameRadnessMeter] - and a - ret z - ld a, [wSurfingMinigameTrickFlags] - and $3 - cp $3 ; did a combination of front and back flips - jr z, .mixed_chain - ld a, [wSurfingMinigameRadnessMeter] - ld d, a - ld e, $1 - ld a, $0 -.get_amount_of_radness - add e - sla e - dec d - jr nz, .get_amount_of_radness -.add_radness_50_at_a_time - push af - ld e, $50 - call SurfingMinigame_AddRadness - pop af - dec a - jr nz, .add_radness_50_at_a_time - ld hl, ANIM_OBJ_Y_COORD - add hl, bc - ld a, [hl] - sub $10 - ld d, a - ld hl, ANIM_OBJ_X_COORD - add hl, bc - ld e, [hl] - ld a, [wSurfingMinigameRadnessMeter] - add $3 - push bc - call SpawnAnimatedObject - pop bc - ret - -.mixed_chain - ld a, [wSurfingMinigameRadnessMeter] - cp $3 - jr c, .add_180_radness_points - ld a, 10 -.add_500_radness_50_at_a_time - push af - ld e, $50 - call SurfingMinigame_AddRadness - pop af - dec a - jr nz, .add_500_radness_50_at_a_time - ld hl, ANIM_OBJ_Y_COORD - add hl, bc - ld a, [hl] - sub $10 - ld d, a - ld hl, ANIM_OBJ_X_COORD - add hl, bc - ld e, [hl] - ld a, $9 - push bc - call SpawnAnimatedObject - pop bc - ret - -.add_180_radness_points - ld e, $50 - call SurfingMinigame_AddRadness - ld e, $50 - call SurfingMinigame_AddRadness - ld e, $50 - call SurfingMinigame_AddRadness - ld e, $30 - call SurfingMinigame_AddRadness - ld hl, ANIM_OBJ_Y_COORD - add hl, bc - ld a, [hl] - sub $10 - ld d, a - ld hl, ANIM_OBJ_X_COORD - add hl, bc - ld e, [hl] - ld a, $8 - push bc - call SpawnAnimatedObject - pop bc - ret - -SurfingMinigame_AddRadness: - ld a, [wSurfingMinigameRadnessScore] - add e - daa - ld [wSurfingMinigameRadnessScore], a - ld a, [wSurfingMinigameRadnessScore + 1] - adc $0 - daa - ld [wSurfingMinigameRadnessScore + 1], a - ret nc - ld a, $99 - ld [wSurfingMinigameRadnessScore], a - ld [wSurfingMinigameRadnessScore + 1], a - ret - -Func_f8c97: - ld a, $a0 - ld [wSurfingMinigameXOffset], a - ldh a, [hSCX] - ld h, a - ld a, [wSurfingMinigameSCX] - ld l, a - ld de, $900 - add hl, de - ld a, l - ld [wSurfingMinigameSCX], a - ld a, h - ldh [hSCX], a - jr SurfingMinigame_GenerateBGMap - -SurfingMinigame_ScrollAndGenerateBGMap: - ld a, $a0 - ld [wSurfingMinigameXOffset], a - ldh a, [hSCX] - ld h, a - ld a, [wSurfingMinigameSCX] - ld l, a - ld de, $180 - add hl, de - ld a, l - ld [wSurfingMinigameSCX], a - ld a, h - ldh [hSCX], a -SurfingMinigame_GenerateBGMap: - ld hl, wSurfingMinigameSCX + 1 - ldh a, [hSCX] - cp [hl] - ret z - ld [hl], a - and $f0 - ld hl, wSurfingMinigameSCX + 2 - cp [hl] - ret z - ld [hl], a - call SurfingMinigame_GetWaveDataPointers - ; b and c contain the height of the next wave to appear - ; on screen, in number of pixels from the top of the screen - ld a, b - ld [wSurfingMinigameWaveHeightBuffer], a - ld a, c - ld [wSurfingMinigameWaveHeightBuffer + 1], a - push de - ld hl, wSurfingMinigameWaveHeight - ld de, wSurfingMinigameWaveHeight + 2 - ld c, SCREEN_WIDTH - 2 -.copy_loop - ld a, [de] - inc de - ld [hli], a - dec c - jr nz, .copy_loop - ld a, [wSurfingMinigameWaveHeightBuffer] - ld [hli], a - ld a, [wSurfingMinigameWaveHeightBuffer + 1] - ld [hl], a - pop de - ld hl, wRedrawRowOrColumnSrcTiles - ld c, $8 -.loop - ld a, [de] - call .CopyRedrawSrcTiles - inc de - dec c - jr nz, .loop - ld a, [wSurfingMinigameXOffset] - ld e, a - ldh a, [hSCX] - add e - and $f0 - srl a - srl a - srl a - ld e, a - ld d, $0 - ld hl, vBGMap0 - add hl, de - ld a, l - ldh [hRedrawRowOrColumnDest], a - ld a, h - ldh [hRedrawRowOrColumnDest + 1], a - ld a, $1 - ldh [hRedrawRowOrColumnMode], a - ret - -.CopyRedrawSrcTiles: - push de - push hl - ld l, a - ld h, $0 - ld de, Unkn_f96e5 - add hl, hl - add hl, hl - add hl, de - ld e, l - ld d, h - pop hl - ld a, [de] - inc de - ld [hli], a - ld a, [de] - inc de - ld [hli], a - ld a, [de] - inc de - ld [hli], a - ld a, [de] - inc de - ld [hli], a - pop de - ret - -SurfingMinigame_GetWaveDataPointers: - ld a, [wSurfingMinigameWaveFunctionNumber] - ld e, a - ld d, $0 - ld hl, Jumptable_f8d53 - add hl, de - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - jp hl - -Jumptable_f8d53: - dw SurfingMinigameWaveFunction_NoWave ; 00 - - dw Func_f8f28 ; 01 - dw Func_f8f31 ; 02 - dw Func_f8f3a ; 03 - dw Func_f8f43 ; 04 - dw Func_f8e7d ; 05 - dw Func_f8f4c ; 06 - dw Func_f8f55 ; 07 - dw Func_f8f5e ; 08 - dw Func_f8e7d ; 09 - dw Func_f8e7d ; 0a - dw Func_f8e7d ; 0b - dw Func_f8e7d ; 0c - dw Func_f8f94 ; 0d - - dw Func_f8ec5 ; 0e - dw Func_f8ece ; 0f - dw Func_f8ed7 ; 10 - dw Func_f8ee0 ; 11 - dw Func_f8ee9 ; 12 - dw Func_f8ef2 ; 13 - dw Func_f8e7d ; 14 - dw Func_f8e7d ; 15 - dw Func_f8e7d ; 16 - dw Func_f8e7d ; 17 - dw Func_f8e7d ; 18 - dw Func_f8f94 ; 19 - - dw Func_f8efb ; 1a - dw Func_f8f04 ; 1b - dw Func_f8f0d ; 1c - dw Func_f8f16 ; 1d - dw Func_f8f1f ; 1e - dw Func_f8efb ; 1f - dw Func_f8f04 ; 20 - dw Func_f8f0d ; 21 - dw Func_f8f16 ; 22 - dw Func_f8f1f ; 23 - dw Func_f8e7d ; 24 - dw Func_f8e7d ; 25 - dw Func_f8e7d ; 26 - dw Func_f8e7d ; 27 - dw Func_f8f94 ; 28 - - dw Func_f8f28 ; 29 - dw Func_f8f31 ; 2a - dw Func_f8f3a ; 2b - dw Func_f8f43 ; 2c - dw Func_f8e7d ; 2d - dw Func_f8e7d ; 2e - dw Func_f8e7d ; 2f - dw Func_f8e7d ; 30 - dw Func_f8f94 ; 31 - - dw Func_f8f4c ; 32 - dw Func_f8f55 ; 33 - dw Func_f8f5e ; 34 - dw Func_f8f4c ; 35 - dw Func_f8f55 ; 36 - dw Func_f8f5e ; 37 - dw Func_f8f4c ; 38 - dw Func_f8f55 ; 39 - dw Func_f8f5e ; 3a - dw Func_f8e7d ; 3b - dw Func_f8e7d ; 3c - dw Func_f8e7d ; 3d - dw Func_f8e7d ; 3e - dw Func_f8f94 ; 3f - - dw Func_f8f67 ; 40 - dw Func_f8f70 ; 41 - dw Func_f8efb ; 42 - dw Func_f8f04 ; 43 - dw Func_f8f0d ; 44 - dw Func_f8f16 ; 45 - dw Func_f8f1f ; 46 - dw Func_f8f67 ; 47 - dw Func_f8f70 ; 48 - dw Func_f8e7d ; 49 - dw Func_f8e7d ; 4a - dw Func_f8e7d ; 4b - dw Func_f8f94 ; 4c - - dw Func_f8ec5 ; 4d - dw Func_f8ece ; 4e - dw Func_f8ed7 ; 4f - dw Func_f8ee0 ; 50 - dw Func_f8ee9 ; 51 - dw Func_f8ef2 ; 52 - dw Func_f8e7d ; 53 - dw Func_f8f67 ; 54 - dw Func_f8f70 ; 55 - dw Func_f8f67 ; 56 - dw Func_f8f70 ; 57 - dw Func_f8e7d ; 58 - dw Func_f8e7d ; 59 - dw Func_f8e7d ; 5a - dw Func_f8f94 ; 5b - - dw Func_f8efb ; 5c - dw Func_f8f04 ; 5d - dw Func_f8f0d ; 5e - dw Func_f8f16 ; 5f - dw Func_f8f1f ; 60 - dw Func_f8f28 ; 61 - dw Func_f8f31 ; 62 - dw Func_f8f3a ; 63 - dw Func_f8f43 ; 64 - dw Func_f8e7d ; 65 - dw Func_f8e7d ; 66 - dw Func_f8e7d ; 67 - dw Func_f8e7d ; 68 - dw Func_f8f94 ; 69 - - dw Func_f8e86 ; 6a - dw Func_f8e8f ; 6b - dw Func_f8e98 ; 6c - dw Func_f8ea1 ; 6d - dw Func_f8eaa ; 6e - dw Func_f8eb3 ; 6f - dw Func_f8ebc ; 70 - dw Func_f8f9d ; 71 - - dw Func_f8e7d ; 72 - dw Func_f8f79 ; 73 - dw Func_f8f82 ; 74 - dw Func_f8f82 ; 75 - dw Func_f8f82 ; 76 - dw Func_f8f82 ; 77 - dw Func_f8f82 ; 78 - dw Func_f8f82 ; 79 - dw Func_f8f82 ; 7a - dw Func_f8f8b ; 7b - -SurfingMinigameWaveFunction_NoWave: - ld a, [wc5e5] - cp $16 - jr c, .check_param - jr z, .big_kahuna - jr nc, .got_wave -.big_kahuna - ld a, $6a - jr .got_next_fn - -.check_param - ld a, [wc5d5] - and a - jr z, .got_wave - dec a - and $7 - ld e, a - ld d, $0 - ld hl, Unkn_f8e75 - add hl, de - ld a, [hl] -.got_next_fn - ld [wSurfingMinigameWaveFunctionNumber], a -.got_wave - lb bc, $74, $74 - ld de, Unkn_f973d - ret - -Unkn_f8e75: - db $01,$0e,$1a,$29,$32,$40,$4d,$5c - -Func_f8e7d: - lb bc, $74, $74 - ld de, Unkn_f973d - jp SurfingMinigameWaveFunction_GoToNextWaveFunction - -Func_f8e86: - lb bc, $74, $6c - ld de, Unkn_f9745 - jp SurfingMinigameWaveFunction_GoToNextWaveFunction - -Func_f8e8f: - lb bc, $64, $5c - ld de, Unkn_f974d - jp SurfingMinigameWaveFunction_GoToNextWaveFunction - -Func_f8e98: - lb bc, $54, $4c - ld de, Unkn_f9755 - jp SurfingMinigameWaveFunction_GoToNextWaveFunction - -Func_f8ea1: - lb bc, $44, $44 - ld de, Unkn_f975d - jp SurfingMinigameWaveFunction_GoToNextWaveFunction - -Func_f8eaa: - lb bc, $44, $4c - ld de, Unkn_f9765 - jp SurfingMinigameWaveFunction_GoToNextWaveFunction - -Func_f8eb3: - lb bc, $54, $5c - ld de, Unkn_f976d - jp SurfingMinigameWaveFunction_GoToNextWaveFunction - -Func_f8ebc: - lb bc, $64, $6c - ld de, Unkn_f9775 - jp SurfingMinigameWaveFunction_GoToNextWaveFunction - -Func_f8ec5: - lb bc, $74, $6c - ld de, Unkn_f977d - jp SurfingMinigameWaveFunction_GoToNextWaveFunction - -Func_f8ece: - lb bc, $64, $5c - ld de, Unkn_f9785 - jp SurfingMinigameWaveFunction_GoToNextWaveFunction - -Func_f8ed7: - lb bc, $54, $4c - ld de, Unkn_f978d - jp SurfingMinigameWaveFunction_GoToNextWaveFunction - -Func_f8ee0: - lb bc, $4c, $4c - ld de, Unkn_f9795 - jp SurfingMinigameWaveFunction_GoToNextWaveFunction - -Func_f8ee9: - lb bc, $54, $5c - ld de, Unkn_f979d - jp SurfingMinigameWaveFunction_GoToNextWaveFunction - -Func_f8ef2: - lb bc, $64, $6c - ld de, Unkn_f97a5 - jp SurfingMinigameWaveFunction_GoToNextWaveFunction - -Func_f8efb: - lb bc, $74, $6c - ld de, Unkn_f97ad - jp SurfingMinigameWaveFunction_GoToNextWaveFunction - -Func_f8f04: - lb bc, $64, $5c - ld de, Unkn_f97b5 - jp SurfingMinigameWaveFunction_GoToNextWaveFunction - -Func_f8f0d: - lb bc, $54, $54 - ld de, Unkn_f97bd - jp SurfingMinigameWaveFunction_GoToNextWaveFunction - -Func_f8f16: - lb bc, $54, $5c - ld de, Unkn_f97c5 - jp SurfingMinigameWaveFunction_GoToNextWaveFunction - -Func_f8f1f: - lb bc, $64, $6c - ld de, Unkn_f97cd - jp SurfingMinigameWaveFunction_GoToNextWaveFunction - -Func_f8f28: - lb bc, $74, $6c - ld de, Unkn_f97d5 - jp SurfingMinigameWaveFunction_GoToNextWaveFunction - -Func_f8f31: - lb bc, $64, $5c - ld de, Unkn_f97dd - jp SurfingMinigameWaveFunction_GoToNextWaveFunction - -Func_f8f3a: - lb bc, $5c, $5c - ld de, Unkn_f97e5 - jp SurfingMinigameWaveFunction_GoToNextWaveFunction - -Func_f8f43: - lb bc, $64, $6c - ld de, Unkn_f97ed - jp SurfingMinigameWaveFunction_GoToNextWaveFunction - -Func_f8f4c: - lb bc, $74, $6c - ld de, Unkn_f97f5 - jp SurfingMinigameWaveFunction_GoToNextWaveFunction - -Func_f8f55: - lb bc, $64, $64 - ld de, Unkn_f97fd - jp SurfingMinigameWaveFunction_GoToNextWaveFunction - -Func_f8f5e: - lb bc, $64, $6c - ld de, Unkn_f9805 - jp SurfingMinigameWaveFunction_GoToNextWaveFunction - -Func_f8f67: - lb bc, $74, $6c - ld de, Unkn_f980d - jp SurfingMinigameWaveFunction_GoToNextWaveFunction - -Func_f8f70: - lb bc, $6c, $6c - ld de, Unkn_f9815 - jp SurfingMinigameWaveFunction_GoToNextWaveFunction - -Func_f8f79: - lb bc, $74, $74 - ld de, Unkn_f981d - jp SurfingMinigameWaveFunction_GoToNextWaveFunction - -Func_f8f82: - lb bc, $74, $74 - ld de, Unkn_f9825 - jp SurfingMinigameWaveFunction_GoToNextWaveFunction - -Func_f8f8b: - lb bc, $74, $74 - ld de, Unkn_f9825 - jp SurfingMinigameWaveFunction_ResetWaveFunction - -Func_f8f94: - lb bc, $74, $74 - ld de, Unkn_f973d - jp SurfingMinigameWaveFunction_ResetWaveFunction - -Func_f8f9d: - lb bc, $74, $74 - ld de, Unkn_f973d - ret - -Func_f8fa4: ; unused - inc a - ld [wSurfingMinigameWaveFunctionNumber], a - ret - -SurfingMinigameWaveFunction_GoToNextWaveFunction: - ld hl, wSurfingMinigameWaveFunctionNumber - inc [hl] - ret - -SurfingMinigameWaveFunction_ResetWaveFunction: - xor a - ld [wSurfingMinigameWaveFunctionNumber], a - ret - -SurfingPikachuMinigameIntro: - call SurfingPikachu_ClearTileMap - call ClearSprites - call DisableLCD - xor a - ldh [hAutoBGTransferEnabled], a - call ClearObjectAnimationBuffers - ld hl, SurfingPikachu1Graphics3 - ld de, $8800 - ld bc, $900 - ld a, BANK(SurfingPikachu1Graphics3) - call FarCopyData - ld a, SurfingPikachuSpawnStateDataPointer % $100 - ld [wAnimatedObjectSpawnStateDataPointer], a - ld a, SurfingPikachuSpawnStateDataPointer / $100 - ld [wAnimatedObjectSpawnStateDataPointer + 1], a - ld a, SurfingPikachuObjectJumptable % $100 - ld [wAnimatedObjectJumptablePointer], a - ld a, SurfingPikachuObjectJumptable / $100 - ld [wAnimatedObjectJumptablePointer + 1], a - ld a, SurfingPikachuOAMData % $100 - ld [wAnimatedObjectOAMDataPointer], a - ld a, SurfingPikachuOAMData / $100 - ld [wAnimatedObjectOAMDataPointer + 1], a - ld a, SurfingPikachuFrames % $100 - ld [wAnimatedObjectFramesDataPointer], a - ld a, SurfingPikachuFrames / $100 - ld [wAnimatedObjectFramesDataPointer + 1], a - ld a, $c - lb de, $74, $58 - call SpawnAnimatedObject - call DrawSurfingPikachuMinigameIntroBackground - xor a - ldh [hSCX], a - ldh [hSCY], a - ld a, $90 - ldh [hWY], a - ld b, $f - call RunPaletteCommand - ld a, $e3 - ldh [rLCDC], a - ld a, $1 - ldh [hAutoBGTransferEnabled], a - call DelayFrame - call DelayFrame - call DelayFrame - call SurfingPikachuMinigame_SetBGPals - ld a, $e4 - ldh [rOBP0], a - ld a, $e0 - ldh [rOBP1], a - call UpdateGBCPal_OBP0 - call UpdateGBCPal_OBP1 - call DelayFrame - ld a, MUSIC_SURFING_PIKACHU - ld c, BANK(Music_SurfingPikachu) - call PlayMusic - xor a - ld [wSurfingMinigameIntroAnimationFinished], a -.loop - ld a, [wSurfingMinigameIntroAnimationFinished] - and a - ret nz - ld a, $0 - ld [wCurrentAnimatedObjectOAMBufferOffset], a - call RunObjectAnimations - call DelayFrame - jr .loop - -DrawSurfingPikachuMinigameIntroBackground: - ld hl, wTileMap - ld bc, SCREEN_WIDTH * SCREEN_HEIGHT - ld a, $ff - call FillMemory - ld hl, Tilemap_f90bc - decoord 0, 6 - ld bc, 12 * SCREEN_WIDTH - call CopyData - ld de, Tilemap_f91c8 - hlcoord 4, 0 - lb bc, 6, 12 - call .CopyBox - hlcoord 3, 7 - lb bc, 3, 15 - call .FillBoxWithFF - ld hl, Tilemap_f91ac - decoord 3, 7 - ld bc, 15 - call CopyData - ld hl, Tilemap_f91bb - decoord 4, 9 - ld bc, 13 - call CopyData - ret - -.CopyBox: -.copy_row - push bc - push hl -.copy_col - ld a, [de] - inc de - ld [hli], a - dec c - jr nz, .copy_col - ld bc, SCREEN_WIDTH - pop hl - add hl, bc - pop bc - dec b - jr nz, .copy_row - ret - -.FillBoxWithFF: -.fill_row - push bc - push hl -.fill_col - ld [hl], $ff - inc hl - dec c - jr nz, .fill_col - pop hl - ld bc, SCREEN_WIDTH - add hl, bc - pop bc - dec b - jr nz, .fill_row - ret - -Tilemap_f90bc: INCBIN "gfx/unknown_f90bc.map" -Tilemap_f91ac: INCBIN "gfx/unknown_f91ac.map" -Tilemap_f91bb: INCBIN "gfx/unknown_f91bb.map" -Tilemap_f91c8: INCBIN "gfx/unknown_f91c8.map" - -SurfingMinigame_UpdateLYOverrides: - ld hl, wLYOverrides + $10 - ld de, wLYOverrides + $11 - ld c, $80 - ld a, [hl] - push af -.loop - ld a, [de] - inc de - ld [hli], a - dec c - jr nz, .loop - pop af - ld [hl], a - ret - -SurfingMinigame_InitScanlineOverrides: - ld hl, wLYOverrides - ld bc, wLYOverridesEnd - wLYOverrides - ld de, $0 -.loop - ld a, e - and $1f - ld e, a - push hl - ld hl, SurfingMinigame_LYOverridesInitialSineWave - add hl, de - ld a, [hl] - pop hl - ld [hli], a - inc e - dec bc - ld a, c - or b - jr nz, .loop - ret - -SurfingPikachu_GetJoypad_3FrameBuffer: - call Joypad - ldh a, [hFrameCounter] - and a - jr nz, .delayed - ldh a, [hJoyHeld] - ldh [hJoy5], a - ld a, $2 - ldh [hFrameCounter], a - ret - -.delayed - xor a - ldh [hJoy5], a - ret - -SurfingPikachuMinigame_BlankPals: - xor a - ldh [rBGP], a - ldh [rOBP0], a - ldh [rOBP1], a - call UpdateGBCPal_BGP - call UpdateGBCPal_OBP0 - call UpdateGBCPal_OBP1 - ret - -SurfingPikachuMinigame_NormalPals: - ld a, $e4 - ldh [rBGP], a - ldh [rOBP0], a - ld a, $e0 - ldh [rOBP1], a - call UpdateGBCPal_BGP - call UpdateGBCPal_OBP0 - call UpdateGBCPal_OBP1 - ret - -SurfingPikachu_ClearTileMap: - ld hl, wTileMap - ld bc, SCREEN_WIDTH * SCREEN_HEIGHT - xor a - call FillMemory - ret - -Func_f9284: - xor a - ld [wc5ed], a - ld [wc5ee], a - ret - -SurfingMinigame_UpdatePikachuHeight: - ld a, [wc5ed] - and a - jr nz, .positive - ld a, [wc5ec] - ld d, a - ld a, [wc5ee] - or d - jr z, .done - ld a, [wc5ee] - ld e, a - ld hl, -$80 - add hl, de - ld a, l - ld [wc5ee], a - ld a, h - ld [wc5ec], a - - ; -(4 * a ** 2) - ld e, a - ld d, $0 - call SurfingMinigame_NTimesDE - ld e, l - ld d, h - ld a, $4 - call SurfingMinigame_NTimesDE - ld a, l - xor $ff - inc a - ld l, a - ld a, h - xor $ff - ld h, a - - push hl - ld hl, ANIM_OBJ_Y_COORD - add hl, bc - ld d, [hl] - ld hl, ANIM_OBJ_FIELD_C - add hl, bc - ld e, [hl] - pop hl - - add hl, de - ld e, l - ld d, h - - ld hl, ANIM_OBJ_Y_COORD - add hl, bc - ld [hl], d - ld hl, ANIM_OBJ_FIELD_C - add hl, bc - ld [hl], e - and a - ret - -.done - ld a, $1 - ld [wc5ed], a - and a - ret - -.positive - ld a, [wSurfingMinigamePikachuObjectHeight] - ld e, a - ld hl, ANIM_OBJ_Y_COORD - add hl, bc - ld a, [hl] - cp $90 - jr nc, .okay - cp e - jr nc, .reset -.okay - ld a, [wc5ec] - ld d, a - ld a, [wc5ee] - ld e, a - ld hl, $80 - add hl, de - ld a, l - ld [wc5ee], a - ld a, h - ld [wc5ec], a - - ; 4 * a ** 2 - ld e, a - ld d, $0 - call SurfingMinigame_NTimesDE - ld e, l - ld d, h - ld a, $4 - call SurfingMinigame_NTimesDE - - push hl - ld hl, ANIM_OBJ_Y_COORD - add hl, bc - ld d, [hl] - ld hl, ANIM_OBJ_FIELD_C - add hl, bc - ld e, [hl] - pop hl - - add hl, de - ld e, l - ld d, h - - ld hl, ANIM_OBJ_Y_COORD - add hl, bc - ld [hl], d - ld hl, ANIM_OBJ_FIELD_C - add hl, bc - ld [hl], e - and a - ret - -.reset - ld hl, ANIM_OBJ_Y_COORD - add hl, bc - ld a, [wSurfingMinigamePikachuObjectHeight] - ld [hl], a - ld hl, ANIM_OBJ_FIELD_C - add hl, bc - ld [hl], $0 - scf - ret - -SurfingMinigame_NTimesDE: - ld hl, $0 -.loop - srl a - jr nc, .no_add - add hl, de -.no_add - sla e - rl d - and a - jr nz, .loop - ret - -SurfingPikachu_PlaceBCDNumber: - ld c, a - swap a - and $f - add $d0 - ld [hli], a - ld a, c - and $f - add $d0 - ld [hl], a - dec de - ret - -SurfingPikachu_Cosine: ; cosine - add $10 -SurfingPikachu_Sine: ; sine - and $3f - cp $20 - jr nc, .positive - call .GetSine - ld a, h - ret - -.positive - and $1f - call .GetSine - ld a, h - xor $ff - inc a - ret - -.GetSine: - ld e, a - ld a, d - ld d, $0 - ld hl, .SineWave - add hl, de - add hl, de - ld e, [hl] - inc hl - ld d, [hl] - ld hl, $0 -.loop - srl a - jr nc, .no_add - add hl, de -.no_add - sla e - rl d - and a - jr nz, .loop - ret - -.SineWave: - sine_wave $100 - -SurfingPikachuSpawnStateDataPointer: - db $00, $00, $00 ; 0 - db $04, $01, $00 ; 1 - db $11, $02, $00 ; 2 - db $12, $02, $00 ; 3 - db $15, $00, $00 ; 4 - db $16, $00, $00 ; 5 - db $17, $00, $00 ; 6 - db $18, $00, $00 ; 7 - db $19, $00, $00 ; 8 - db $1a, $00, $00 ; 9 - db $14, $00, $00 ; a - db $13, $03, $00 ; b - db $1b, $04, $00 ; c - -SurfingPikachuObjectJumptable: - dw SurfingMinigameAnimatedObjectFn_nop ; 0 - dw SurfingMinigameAnimatedObjectFn_Pikachu ; 1 - dw Func_f87fb ; 2 - dw SurfingMinigameAnimatedObjectFn_FlippingPika ; 3 - dw SurfingMinigameAnimatedObjectFn_IntroAnimationPikachu ; 4 - -SurfingMinigameAnimatedObjectFn_nop: - ret - -INCLUDE "data/animated_objects_3e_1.asm" - -SurfingMinigame_LYOverridesInitialSineWave: -; a sine wave with amplitude 2 - db 0, 0, 0, 1, 1, 1, 1, 2 - db 2, 2, 1, 1, 1, 1, 0, 0 - db 0, 0, 0, -1, -1, -1, -1, -2 - db -2, -2, -1, -1, -1, -1, 0, 0 - -Unkn_f96e5: - db $00, $00, $00, $00 ; 00 - db $0b, $0b, $0b, $0b ; 01 - db $0b, $02, $02, $06 ; 02 - db $03, $0b, $07, $03 ; 03 - db $06, $06, $06, $06 ; 04 - db $07, $07, $07, $07 ; 05 - db $06, $04, $04, $08 ; 06 - db $05, $07, $08, $05 ; 07 - db $0b, $0b, $11, $12 ; 08 - db $0b, $0b, $13, $03 ; 09 - db $14, $12, $04, $08 ; 0a - db $13, $07, $08, $05 ; 0b - db $06, $14, $06, $14 ; 0c - db $13, $07, $13, $07 ; 0d - db $08, $08, $08, $08 ; 0e - db $14, $12, $14, $12 ; 0f - db $0b, $11, $02, $14 ; 10 - db $06, $14, $06, $14 ; 11 - db $0c, $0c, $0d, $0d ; 12 - db $0d, $0d, $0d, $0d ; 13 - db $0e, $0f, $10, $0b ; 14 - db $12, $13, $12, $13 ; 15 - -Unkn_f973d: - db $00, $00, $00, $01, $01, $01, $01, $01 -Unkn_f9745: - db $00, $00, $00, $01, $01, $02, $04, $06 -Unkn_f974d: - db $00, $00, $00, $01, $02, $04, $06, $0e -Unkn_f9755: - db $00, $00, $00, $10, $11, $06, $0e, $0e -Unkn_f975d: - db $00, $00, $00, $15, $15, $0e, $0e, $0e -Unkn_f9765: - db $00, $00, $00, $03, $05, $07, $0e, $0e -Unkn_f976d: - db $00, $00, $00, $01, $03, $05, $07, $0e -Unkn_f9775: - db $00, $00, $00, $01, $01, $03, $05, $07 -Unkn_f977d: - db $00, $00, $00, $01, $01, $02, $04, $06 -Unkn_f9785: - db $00, $00, $00, $01, $02, $04, $06, $0e -Unkn_f978d: - db $00, $00, $00, $08, $0f, $0a, $0e, $0e -Unkn_f9795: - db $00, $00, $00, $09, $0d, $0b, $0e, $0e -Unkn_f979d: - db $00, $00, $00, $01, $03, $05, $07, $0e -Unkn_f97a5: - db $00, $00, $00, $01, $01, $03, $05, $07 -Unkn_f97ad: - db $00, $00, $00, $01, $01, $02, $04, $06 -Unkn_f97b5: - db $00, $00, $00, $01, $10, $11, $06, $0e -Unkn_f97bd: - db $00, $00, $00, $01, $15, $15, $0e, $0e -Unkn_f97c5: - db $00, $00, $00, $01, $03, $05, $07, $0e -Unkn_f97cd: - db $00, $00, $00, $01, $01, $03, $05, $07 -Unkn_f97d5: - db $00, $00, $00, $01, $01, $02, $04, $06 -Unkn_f97dd: - db $00, $00, $00, $01, $08, $0f, $0a, $0e -Unkn_f97e5: - db $00, $00, $00, $01, $09, $0d, $0b, $0e -Unkn_f97ed: - db $00, $00, $00, $01, $01, $03, $05, $07 -Unkn_f97f5: - db $00, $00, $00, $01, $01, $10, $11, $06 -Unkn_f97fd: - db $00, $00, $00, $01, $01, $15, $15, $0e -Unkn_f9805: - db $00, $00, $00, $01, $01, $03, $05, $07 -Unkn_f980d: - db $00, $00, $00, $01, $01, $08, $0f, $0a -Unkn_f9815: - db $00, $00, $00, $01, $01, $09, $0d, $0b -Unkn_f981d: - db $00, $00, $00, $14, $14, $14, $14, $14 -Unkn_f9825: - db $00, $00, $00, $12, $13, $13, $13, $13 |
