diff options
Diffstat (limited to 'asm')
-rw-r--r-- | asm/battle_transition.s | 1689 |
1 files changed, 0 insertions, 1689 deletions
diff --git a/asm/battle_transition.s b/asm/battle_transition.s index b6b365db4..64b5686db 100644 --- a/asm/battle_transition.s +++ b/asm/battle_transition.s @@ -5,1695 +5,6 @@ .text - thumb_func_start BT_Phase2BigPokeball_CircleEffect -BT_Phase2BigPokeball_CircleEffect: @ 80D1220 - push {r4,lr} - adds r4, r0, 0 - ldr r0, _080D12C4 @ =sTransitionStructPtr - ldr r0, [r0] - ldrb r1, [r0] - movs r3, 0 - strb r3, [r0] - ldrh r2, [r4, 0xC] - movs r0, 0xC - ldrsh r1, [r4, r0] - ldr r0, _080D12C8 @ =0x000007ff - cmp r1, r0 - bgt _080D1242 - movs r1, 0x80 - lsls r1, 1 - adds r0, r2, r1 - strh r0, [r4, 0xC] -_080D1242: - ldrh r1, [r4, 0xA] - movs r2, 0xA - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _080D125E - ldrh r0, [r4, 0xC] - lsls r0, 16 - asrs r0, 24 - subs r0, r1, r0 - strh r0, [r4, 0xA] - lsls r0, 16 - cmp r0, 0 - bge _080D125E - strh r3, [r4, 0xA] -_080D125E: - ldr r0, _080D12CC @ =gScanlineEffectRegBuffers - movs r1, 0xA - ldrsh r3, [r4, r1] - movs r1, 0x78 - movs r2, 0x50 - bl BT_GenerateCircle - movs r2, 0xA - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _080D129A - ldr r1, _080D12D0 @ =0x040000b0 - ldrh r2, [r1, 0xA] - ldr r0, _080D12D4 @ =0x0000c5ff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r2, [r1, 0xA] - ldr r0, _080D12D8 @ =0x00007fff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r0, [r1, 0xA] - bl BT_BlendPalettesToBlack - ldr r0, _080D12DC @ =BT_Phase2BigPokeball - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask -_080D129A: - ldrh r1, [r4, 0xE] - movs r2, 0xE - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _080D12AE - adds r0, r1, 0x1 - strh r0, [r4, 0xE] - ldr r0, _080D12E0 @ =VBCB_BT_Phase2BigPokeball2 - bl SetVBlankCallback -_080D12AE: - ldr r0, _080D12C4 @ =sTransitionStructPtr - ldr r1, [r0] - ldrb r0, [r1] - adds r0, 0x1 - ldrb r2, [r1] - strb r0, [r1] - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080D12C4: .4byte sTransitionStructPtr -_080D12C8: .4byte 0x000007ff -_080D12CC: .4byte gScanlineEffectRegBuffers -_080D12D0: .4byte 0x040000b0 -_080D12D4: .4byte 0x0000c5ff -_080D12D8: .4byte 0x00007fff -_080D12DC: .4byte BT_Phase2BigPokeball -_080D12E0: .4byte VBCB_BT_Phase2BigPokeball2 - thumb_func_end BT_Phase2BigPokeball_CircleEffect - - thumb_func_start BT_VBStopDma0SyncSrcBufferSetLcdRegs -BT_VBStopDma0SyncSrcBufferSetLcdRegs: @ 80D12E4 - push {r4,lr} - ldr r1, _080D1354 @ =0x040000b0 - ldrh r2, [r1, 0xA] - ldr r0, _080D1358 @ =0x0000c5ff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r2, [r1, 0xA] - ldr r0, _080D135C @ =0x00007fff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r0, [r1, 0xA] - bl BT_VBSyncOamAndPltt - ldr r4, _080D1360 @ =sTransitionStructPtr - ldr r0, [r4] - ldrb r0, [r0] - cmp r0, 0 - beq _080D131C - ldr r1, _080D1364 @ =0x040000d4 - ldr r0, _080D1368 @ =gScanlineEffectRegBuffers - str r0, [r1] - movs r2, 0xF0 - lsls r2, 3 - adds r0, r2 - str r0, [r1, 0x4] - ldr r0, _080D136C @ =0x800000a0 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] -_080D131C: - ldr r0, [r4] - ldrh r1, [r0, 0x2] - movs r0, 0x48 - bl SetGpuReg - ldr r0, [r4] - ldrh r1, [r0, 0x4] - movs r0, 0x4A - bl SetGpuReg - ldr r0, [r4] - ldrh r1, [r0, 0x8] - movs r0, 0x44 - bl SetGpuReg - ldr r0, [r4] - ldrh r1, [r0, 0xE] - movs r0, 0x50 - bl SetGpuReg - ldr r0, [r4] - ldrh r1, [r0, 0x10] - movs r0, 0x52 - bl SetGpuReg - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080D1354: .4byte 0x040000b0 -_080D1358: .4byte 0x0000c5ff -_080D135C: .4byte 0x00007fff -_080D1360: .4byte sTransitionStructPtr -_080D1364: .4byte 0x040000d4 -_080D1368: .4byte gScanlineEffectRegBuffers -_080D136C: .4byte 0x800000a0 - thumb_func_end BT_VBStopDma0SyncSrcBufferSetLcdRegs - - thumb_func_start VBCB_BT_Phase2BigPokeball1 -VBCB_BT_Phase2BigPokeball1: @ 80D1370 - push {lr} - bl BT_VBStopDma0SyncSrcBufferSetLcdRegs - ldr r1, _080D138C @ =0x040000b0 - ldr r0, _080D1390 @ =gScanlineEffectRegBuffers + 0x780 - str r0, [r1] - ldr r0, _080D1394 @ =0x04000010 - str r0, [r1, 0x4] - ldr r0, _080D1398 @ =0xa2400001 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - pop {r0} - bx r0 - .align 2, 0 -_080D138C: .4byte 0x040000b0 -_080D1390: .4byte gScanlineEffectRegBuffers + 0x780 -_080D1394: .4byte 0x04000010 -_080D1398: .4byte 0xa2400001 - thumb_func_end VBCB_BT_Phase2BigPokeball1 - - thumb_func_start VBCB_BT_Phase2BigPokeball2 -VBCB_BT_Phase2BigPokeball2: @ 80D139C - push {lr} - bl BT_VBStopDma0SyncSrcBufferSetLcdRegs - ldr r1, _080D13B8 @ =0x040000b0 - ldr r0, _080D13BC @ =gScanlineEffectRegBuffers + 0x780 - str r0, [r1] - ldr r0, _080D13C0 @ =0x04000040 - str r0, [r1, 0x4] - ldr r0, _080D13C4 @ =0xa2400001 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - pop {r0} - bx r0 - .align 2, 0 -_080D13B8: .4byte 0x040000b0 -_080D13BC: .4byte gScanlineEffectRegBuffers + 0x780 -_080D13C0: .4byte 0x04000040 -_080D13C4: .4byte 0xa2400001 - thumb_func_end VBCB_BT_Phase2BigPokeball2 - - thumb_func_start BT_Phase2SlidingPokeballs -BT_Phase2SlidingPokeballs: @ 80D13C8 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, _080D13F8 @ =sBT_Phase2SlidingPokeballsFuncs - ldr r2, _080D13FC @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_080D13DA: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _080D13DA - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080D13F8: .4byte sBT_Phase2SlidingPokeballsFuncs -_080D13FC: .4byte gTasks - thumb_func_end BT_Phase2SlidingPokeballs - - thumb_func_start BT_Phase2SlidingPokeballs_LoadBgGfx -BT_Phase2SlidingPokeballs_LoadBgGfx: @ 80D1400 - push {r4,lr} - sub sp, 0xC - adds r4, r0, 0 - add r0, sp, 0x4 - add r1, sp, 0x8 - bl BT_GetBg0TilemapAndTilesetBase - ldr r0, _080D1440 @ =sSlidingPokeballTilemap - ldr r1, [sp, 0x8] - movs r2, 0x20 - bl CpuSet - movs r0, 0 - str r0, [sp] - ldr r1, [sp, 0x4] - ldr r2, _080D1444 @ =0x05000200 - mov r0, sp - bl CpuSet - ldr r0, _080D1448 @ =sSlidingPokeballBigPokeballPalette - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0 - add sp, 0xC - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080D1440: .4byte sSlidingPokeballTilemap -_080D1444: .4byte 0x05000200 -_080D1448: .4byte sSlidingPokeballBigPokeballPalette - thumb_func_end BT_Phase2SlidingPokeballs_LoadBgGfx - - thumb_func_start BT_Phase2SlidingPokeballs_SetupFldeffArgs -BT_Phase2SlidingPokeballs_SetupFldeffArgs: @ 80D144C - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x10 - adds r7, r0, 0 - ldr r1, _080D14CC @ =gUnknown_83FA400 - mov r0, sp - movs r2, 0x4 - bl memcpy - add r4, sp, 0x4 - ldr r1, _080D14D0 @ =gUnknown_83FA404 - adds r0, r4, 0 - movs r2, 0xA - bl memcpy - bl Random - movs r5, 0x1 - ands r5, r0 - movs r1, 0 - mov r8, r4 - ldr r6, _080D14D4 @ =gFieldEffectArguments -_080D147A: - lsls r5, 16 - asrs r5, 16 - lsls r0, r5, 1 - add r0, sp - movs r2, 0 - ldrsh r0, [r0, r2] - str r0, [r6] - lsls r4, r1, 16 - asrs r4, 16 - lsls r0, r4, 5 - adds r0, 0x10 - str r0, [r6, 0x4] - str r5, [r6, 0x8] - lsls r0, r4, 1 - add r0, r8 - movs r1, 0 - ldrsh r0, [r0, r1] - str r0, [r6, 0xC] - movs r0, 0x2D - bl FieldEffectStart - adds r4, 0x1 - lsls r4, 16 - movs r0, 0x1 - eors r5, r0 - lsls r5, 16 - lsrs r5, 16 - lsrs r1, r4, 16 - asrs r4, 16 - cmp r4, 0x4 - ble _080D147A - ldrh r0, [r7, 0x8] - adds r0, 0x1 - strh r0, [r7, 0x8] - movs r0, 0 - add sp, 0x10 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080D14CC: .4byte gUnknown_83FA400 -_080D14D0: .4byte gUnknown_83FA404 -_080D14D4: .4byte gFieldEffectArguments - thumb_func_end BT_Phase2SlidingPokeballs_SetupFldeffArgs - - thumb_func_start BT_Phase2SlidingPokeballs_IsDone -BT_Phase2SlidingPokeballs_IsDone: @ 80D14D8 - push {lr} - movs r0, 0x2D - bl FieldEffectActiveListContains - lsls r0, 24 - cmp r0, 0 - bne _080D14F8 - bl BT_BlendPalettesToBlack - ldr r0, _080D1500 @ =BT_Phase2SlidingPokeballs - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask -_080D14F8: - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_080D1500: .4byte BT_Phase2SlidingPokeballs - thumb_func_end BT_Phase2SlidingPokeballs_IsDone - - thumb_func_start FldEff_Pokeball -FldEff_Pokeball: @ 80D1504 - push {r4,r5,lr} - ldr r0, _080D1560 @ =sSpriteTemplate_SlidingPokeball - ldr r5, _080D1564 @ =gFieldEffectArguments - movs r2, 0 - ldrsh r1, [r5, r2] - movs r3, 0x4 - ldrsh r2, [r5, r3] - movs r3, 0 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r0, 24 - ldr r1, _080D1568 @ =gSprites - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - adds r4, r1 - ldrb r1, [r4, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r1 - strb r0, [r4, 0x5] - ldrb r1, [r4, 0x1] - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - movs r1, 0x1 - orrs r0, r1 - strb r0, [r4, 0x1] - ldr r0, [r5, 0x8] - strh r0, [r4, 0x2E] - ldr r0, [r5, 0xC] - strh r0, [r4, 0x30] - ldr r0, _080D156C @ =0x0000ffff - strh r0, [r4, 0x32] - adds r0, r4, 0 - bl InitSpriteAffineAnim - ldrb r1, [r5, 0x8] - adds r0, r4, 0 - bl StartSpriteAffineAnim - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080D1560: .4byte sSpriteTemplate_SlidingPokeball -_080D1564: .4byte gFieldEffectArguments -_080D1568: .4byte gSprites -_080D156C: .4byte 0x0000ffff - thumb_func_end FldEff_Pokeball - - thumb_func_start SpriteCB_BT_Phase2SlidingPokeballs -SpriteCB_BT_Phase2SlidingPokeballs: @ 80D1570 - push {r4-r6,lr} - sub sp, 0x4 - adds r4, r0, 0 - ldr r1, _080D1590 @ =gUnknown_83FA40E - mov r0, sp - movs r2, 0x4 - bl memcpy - ldrh r1, [r4, 0x30] - movs r2, 0x30 - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _080D1594 - subs r0, r1, 0x1 - strh r0, [r4, 0x30] - b _080D162A - .align 2, 0 -_080D1590: .4byte gUnknown_83FA40E -_080D1594: - ldrh r0, [r4, 0x20] - lsls r1, r0, 16 - lsrs r0, r1, 16 - cmp r0, 0xF0 - bhi _080D1606 - asrs r0, r1, 19 - lsls r0, 16 - ldrh r1, [r4, 0x22] - lsls r1, 16 - asrs r1, 19 - lsls r1, 16 - lsrs r6, r1, 16 - lsrs r1, r0, 16 - asrs r5, r0, 16 - movs r2, 0x32 - ldrsh r0, [r4, r2] - cmp r5, r0 - beq _080D1606 - strh r1, [r4, 0x32] - movs r0, 0x8 - bl GetGpuReg - lsls r0, 16 - lsrs r0, 24 - movs r1, 0x1F - ands r0, r1 - lsls r0, 11 - movs r1, 0xC0 - lsls r1, 19 - adds r0, r1 - lsls r2, r6, 16 - asrs r2, 16 - subs r1, r2, 0x2 - lsls r1, 5 - adds r1, r5 - lsls r1, 1 - adds r1, r0 - ldr r6, _080D1634 @ =0x0000f001 - adds r3, r6, 0 - strh r3, [r1] - subs r1, r2, 0x1 - lsls r1, 5 - adds r1, r5 - lsls r1, 1 - adds r1, r0 - strh r3, [r1] - lsls r1, r2, 5 - adds r1, r5 - lsls r1, 1 - adds r1, r0 - strh r3, [r1] - adds r2, 0x1 - lsls r2, 5 - adds r2, r5 - lsls r2, 1 - adds r2, r0 - strh r3, [r2] -_080D1606: - movs r1, 0x2E - ldrsh r0, [r4, r1] - lsls r0, 1 - add r0, sp - ldrh r0, [r0] - ldrh r2, [r4, 0x20] - adds r0, r2 - strh r0, [r4, 0x20] - adds r0, 0xF - lsls r0, 16 - movs r1, 0x87 - lsls r1, 17 - cmp r0, r1 - bls _080D162A - adds r0, r4, 0 - movs r1, 0x2D - bl FieldEffectStop -_080D162A: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080D1634: .4byte 0x0000f001 - thumb_func_end SpriteCB_BT_Phase2SlidingPokeballs - - thumb_func_start BT_Phase2ClockwiseBlackFade -BT_Phase2ClockwiseBlackFade: @ 80D1638 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, _080D1668 @ =sBT_Phase2ClockwiseBlackFadeFuncs - ldr r2, _080D166C @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_080D164A: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _080D164A - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080D1668: .4byte sBT_Phase2ClockwiseBlackFadeFuncs -_080D166C: .4byte gTasks - thumb_func_end BT_Phase2ClockwiseBlackFade - - thumb_func_start BT_Phase2ClockwiseBlackFade_Init -BT_Phase2ClockwiseBlackFade_Init: @ 80D1670 - push {r4,lr} - adds r4, r0, 0 - bl BT_InitCtrlBlk - bl ScanlineEffect_Clear - ldr r0, _080D16C4 @ =sTransitionStructPtr - ldr r1, [r0] - movs r0, 0 - strh r0, [r1, 0x2] - movs r0, 0x3F - strh r0, [r1, 0x4] - ldr r0, _080D16C8 @ =0x0000f0f1 - strh r0, [r1, 0x6] - movs r0, 0xA0 - strh r0, [r1, 0x8] - movs r1, 0 - ldr r3, _080D16CC @ =gScanlineEffectRegBuffers + 0x780 - ldr r2, _080D16D0 @ =0x0000f3f4 -_080D1696: - lsls r0, r1, 1 - adds r0, r3 - strh r2, [r0] - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0x9F - bls _080D1696 - ldr r0, _080D16D4 @ =VBCB_BT_Phase2ClockwiseBlackFade - bl SetVBlankCallback - ldr r0, _080D16C4 @ =sTransitionStructPtr - ldr r1, [r0] - movs r0, 0x78 - strh r0, [r1, 0x2C] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0x1 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080D16C4: .4byte sTransitionStructPtr -_080D16C8: .4byte 0x0000f0f1 -_080D16CC: .4byte gScanlineEffectRegBuffers + 0x780 -_080D16D0: .4byte 0x0000f3f4 -_080D16D4: .4byte VBCB_BT_Phase2ClockwiseBlackFade - thumb_func_end BT_Phase2ClockwiseBlackFade_Init - - thumb_func_start BT_Phase2ClockwiseBlackFade_Step1 -BT_Phase2ClockwiseBlackFade_Step1: @ 80D16D8 - push {r4-r7,lr} - sub sp, 0xC - adds r6, r0, 0 - ldr r2, _080D1760 @ =sTransitionStructPtr - ldr r1, [r2] - ldrb r0, [r1] - movs r0, 0 - strb r0, [r1] - ldr r1, [r2] - adds r0, r1, 0 - adds r0, 0x24 - movs r2, 0x2C - ldrsh r3, [r1, r2] - movs r1, 0x1 - negs r1, r1 - str r1, [sp] - movs r1, 0x1 - str r1, [sp, 0x4] - str r1, [sp, 0x8] - movs r1, 0x78 - movs r2, 0x50 - bl BT_DiagonalSegment_InitParams - ldr r5, _080D1764 @ =gScanlineEffectRegBuffers -_080D1708: - ldr r4, _080D1760 @ =sTransitionStructPtr - ldr r0, [r4] - movs r7, 0x2A - ldrsh r3, [r0, r7] - lsls r3, 1 - adds r3, r5 - ldrh r1, [r0, 0x28] - adds r1, 0x1 - movs r7, 0xF0 - lsls r7, 7 - adds r2, r7, 0 - orrs r1, r2 - strh r1, [r3] - adds r0, 0x24 - movs r1, 0x1 - movs r2, 0x1 - bl BT_DiagonalSegment_ComputePointOnSegment - lsls r0, 24 - cmp r0, 0 - beq _080D1708 - ldr r1, [r4] - ldrh r0, [r1, 0x2C] - adds r0, 0x20 - strh r0, [r1, 0x2C] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xEF - ble _080D174C - movs r0, 0 - strh r0, [r1, 0x2E] - ldrh r0, [r6, 0x8] - adds r0, 0x1 - strh r0, [r6, 0x8] -_080D174C: - ldr r0, [r4] - ldrb r1, [r0] - adds r1, 0x1 - ldrb r2, [r0] - strb r1, [r0] - movs r0, 0 - add sp, 0xC - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080D1760: .4byte sTransitionStructPtr -_080D1764: .4byte gScanlineEffectRegBuffers - thumb_func_end BT_Phase2ClockwiseBlackFade_Step1 - - thumb_func_start BT_Phase2ClockwiseBlackFade_Step2 -BT_Phase2ClockwiseBlackFade_Step2: @ 80D1768 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x10 - mov r8, r0 - add r1, sp, 0xC - movs r0, 0 - strb r0, [r1] - ldr r4, _080D17EC @ =sTransitionStructPtr - ldr r1, [r4] - ldrb r0, [r1] - movs r0, 0 - strb r0, [r1] - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0x24 - movs r2, 0x2E - ldrsh r1, [r1, r2] - str r1, [sp] - movs r1, 0x1 - str r1, [sp, 0x4] - str r1, [sp, 0x8] - movs r1, 0x78 - movs r2, 0x50 - movs r3, 0xF0 - bl BT_DiagonalSegment_InitParams - mov r9, r4 - mov r7, r9 - add r5, sp, 0xC -_080D17A6: - movs r1, 0x78 - ldr r3, [r7] - ldrh r0, [r3, 0x28] - adds r0, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - movs r2, 0x2E - ldrsh r0, [r3, r2] - cmp r0, 0x4F - ble _080D17BE - ldrh r1, [r3, 0x28] - movs r4, 0xF0 -_080D17BE: - ldr r6, _080D17F0 @ =gScanlineEffectRegBuffers - movs r0, 0x2A - ldrsh r2, [r3, r0] - lsls r2, 1 - adds r2, r6 - lsls r1, 16 - asrs r1, 8 - lsls r0, r4, 16 - asrs r4, r0, 16 - orrs r4, r1 - strh r4, [r2] - ldrb r0, [r5] - cmp r0, 0 - bne _080D17F4 - adds r0, r3, 0 - adds r0, 0x24 - movs r1, 0x1 - movs r2, 0x1 - bl BT_DiagonalSegment_ComputePointOnSegment - strb r0, [r5] - b _080D17A6 - .align 2, 0 -_080D17EC: .4byte sTransitionStructPtr -_080D17F0: .4byte gScanlineEffectRegBuffers -_080D17F4: - ldr r1, [r7] - ldrh r0, [r1, 0x2E] - adds r0, 0x10 - strh r0, [r1, 0x2E] - lsls r0, 16 - asrs r2, r0, 16 - cmp r2, 0x9F - ble _080D1812 - movs r0, 0xF0 - strh r0, [r1, 0x2C] - mov r1, r8 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _080D183A -_080D1812: - movs r3, 0x2A - ldrsh r0, [r1, r3] - cmp r0, r2 - bge _080D183A - adds r3, r4, 0 - ldr r5, _080D1858 @ =sTransitionStructPtr -_080D181E: - ldr r2, [r5] - ldrh r0, [r2, 0x2A] - adds r0, 0x1 - strh r0, [r2, 0x2A] - lsls r0, 16 - asrs r0, 15 - adds r0, r6 - strh r3, [r0] - movs r4, 0x2A - ldrsh r1, [r2, r4] - movs r4, 0x2E - ldrsh r0, [r2, r4] - cmp r1, r0 - blt _080D181E -_080D183A: - mov r1, r9 - ldr r0, [r1] - ldrb r1, [r0] - adds r1, 0x1 - ldrb r2, [r0] - strb r1, [r0] - movs r0, 0 - add sp, 0x10 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080D1858: .4byte sTransitionStructPtr - thumb_func_end BT_Phase2ClockwiseBlackFade_Step2 - - thumb_func_start BT_Phase2ClockwiseBlackFade_Step3 -BT_Phase2ClockwiseBlackFade_Step3: @ 80D185C - push {r4-r6,lr} - sub sp, 0xC - adds r6, r0, 0 - ldr r2, _080D18DC @ =sTransitionStructPtr - ldr r1, [r2] - ldrb r0, [r1] - movs r0, 0 - strb r0, [r1] - ldr r1, [r2] - adds r0, r1, 0 - adds r0, 0x24 - movs r2, 0x2C - ldrsh r3, [r1, r2] - movs r1, 0xA0 - str r1, [sp] - movs r1, 0x1 - str r1, [sp, 0x4] - str r1, [sp, 0x8] - movs r1, 0x78 - movs r2, 0x50 - bl BT_DiagonalSegment_InitParams - ldr r5, _080D18E0 @ =gScanlineEffectRegBuffers -_080D188A: - ldr r4, _080D18DC @ =sTransitionStructPtr - ldr r0, [r4] - movs r1, 0x2A - ldrsh r3, [r0, r1] - lsls r3, 1 - adds r3, r5 - ldrh r1, [r0, 0x28] - lsls r1, 8 - movs r2, 0xF0 - orrs r1, r2 - strh r1, [r3] - adds r0, 0x24 - movs r1, 0x1 - movs r2, 0x1 - bl BT_DiagonalSegment_ComputePointOnSegment - lsls r0, 24 - cmp r0, 0 - beq _080D188A - ldr r1, [r4] - ldrh r0, [r1, 0x2C] - subs r0, 0x20 - strh r0, [r1, 0x2C] - lsls r0, 16 - cmp r0, 0 - bgt _080D18C8 - movs r0, 0xA0 - strh r0, [r1, 0x2E] - ldrh r0, [r6, 0x8] - adds r0, 0x1 - strh r0, [r6, 0x8] -_080D18C8: - ldr r0, [r4] - ldrb r1, [r0] - adds r1, 0x1 - ldrb r2, [r0] - strb r1, [r0] - movs r0, 0 - add sp, 0xC - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_080D18DC: .4byte sTransitionStructPtr -_080D18E0: .4byte gScanlineEffectRegBuffers - thumb_func_end BT_Phase2ClockwiseBlackFade_Step3 - - thumb_func_start BT_Phase2ClockwiseBlackFade_Step4 -BT_Phase2ClockwiseBlackFade_Step4: @ 80D18E4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - mov r9, r0 - add r1, sp, 0xC - movs r0, 0 - strb r0, [r1] - ldr r4, _080D196C @ =sTransitionStructPtr - ldr r1, [r4] - ldrb r0, [r1] - movs r0, 0 - strb r0, [r1] - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0x24 - movs r2, 0x2E - ldrsh r1, [r1, r2] - str r1, [sp] - movs r1, 0x1 - str r1, [sp, 0x4] - str r1, [sp, 0x8] - movs r1, 0x78 - movs r2, 0x50 - movs r3, 0 - bl BT_DiagonalSegment_InitParams - ldr r7, _080D1970 @ =gScanlineEffectRegBuffers - mov r10, r7 - ldr r0, _080D196C @ =sTransitionStructPtr - mov r8, r0 - add r6, sp, 0xC -_080D1928: - mov r1, r8 - ldr r4, [r1] - movs r2, 0x2A - ldrsh r0, [r4, r2] - lsls r0, 1 - mov r7, r10 - adds r5, r0, r7 - ldrb r1, [r5] - ldrh r2, [r4, 0x28] - adds r3, r2, 0 - movs r7, 0x2E - ldrsh r0, [r4, r7] - cmp r0, 0x50 - bgt _080D1948 - movs r2, 0x78 - adds r1, r3, 0 -_080D1948: - lsls r0, r2, 16 - asrs r0, 8 - lsls r1, 16 - asrs r1, 16 - orrs r1, r0 - movs r7, 0 - strh r1, [r5] - ldrb r0, [r6] - cmp r0, 0 - bne _080D1974 - adds r0, r4, 0 - adds r0, 0x24 - movs r1, 0x1 - movs r2, 0x1 - bl BT_DiagonalSegment_ComputePointOnSegment - strb r0, [r6] - b _080D1928 - .align 2, 0 -_080D196C: .4byte sTransitionStructPtr -_080D1970: .4byte gScanlineEffectRegBuffers -_080D1974: - mov r0, r8 - ldr r2, [r0] - ldrh r0, [r2, 0x2E] - subs r0, 0x10 - strh r0, [r2, 0x2E] - lsls r0, 16 - asrs r3, r0, 16 - cmp r3, 0 - bgt _080D1992 - strh r7, [r2, 0x2C] - mov r1, r9 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _080D19BC -_080D1992: - movs r4, 0x2A - ldrsh r0, [r2, r4] - cmp r0, r3 - ble _080D19BC - ldr r6, _080D19DC @ =gScanlineEffectRegBuffers - adds r3, r1, 0 - ldr r5, _080D19E0 @ =sTransitionStructPtr -_080D19A0: - ldr r2, [r5] - ldrh r0, [r2, 0x2A] - subs r0, 0x1 - strh r0, [r2, 0x2A] - lsls r0, 16 - asrs r0, 15 - adds r0, r6 - strh r3, [r0] - movs r7, 0x2A - ldrsh r1, [r2, r7] - movs r4, 0x2E - ldrsh r0, [r2, r4] - cmp r1, r0 - bgt _080D19A0 -_080D19BC: - ldr r7, _080D19E0 @ =sTransitionStructPtr - ldr r0, [r7] - ldrb r1, [r0] - adds r1, 0x1 - ldrb r2, [r0] - strb r1, [r0] - movs r0, 0 - add sp, 0x10 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080D19DC: .4byte gScanlineEffectRegBuffers -_080D19E0: .4byte sTransitionStructPtr - thumb_func_end BT_Phase2ClockwiseBlackFade_Step4 - - thumb_func_start BT_Phase2ClockwiseBlackFade_Step5 -BT_Phase2ClockwiseBlackFade_Step5: @ 80D19E4 - push {r4-r7,lr} - sub sp, 0xC - adds r7, r0, 0 - ldr r1, _080D1A74 @ =sTransitionStructPtr - ldr r0, [r1] - ldrb r2, [r0] - movs r2, 0 - strb r2, [r0] - ldr r1, [r1] - adds r0, r1, 0 - adds r0, 0x24 - movs r4, 0x2C - ldrsh r3, [r1, r4] - str r2, [sp] - movs r1, 0x1 - str r1, [sp, 0x4] - str r1, [sp, 0x8] - movs r1, 0x78 - movs r2, 0x50 - bl BT_DiagonalSegment_InitParams - ldr r6, _080D1A78 @ =gScanlineEffectRegBuffers -_080D1A10: - movs r2, 0x78 - ldr r5, _080D1A74 @ =sTransitionStructPtr - ldr r3, [r5] - ldrh r4, [r3, 0x28] - movs r1, 0x28 - ldrsh r0, [r3, r1] - cmp r0, 0x77 - ble _080D1A24 - movs r2, 0 - movs r4, 0xF0 -_080D1A24: - movs r0, 0x2A - ldrsh r1, [r3, r0] - lsls r1, 1 - adds r1, r6 - lsls r2, 8 - lsls r0, r4, 16 - asrs r0, 16 - orrs r0, r2 - strh r0, [r1] - adds r0, r3, 0 - adds r0, 0x24 - movs r1, 0x1 - movs r2, 0x1 - bl BT_DiagonalSegment_ComputePointOnSegment - lsls r0, 24 - cmp r0, 0 - beq _080D1A10 - ldr r0, [r5] - ldrh r1, [r0, 0x2C] - adds r1, 0x20 - strh r1, [r0, 0x2C] - movs r1, 0x28 - ldrsh r0, [r0, r1] - cmp r0, 0x78 - ble _080D1A5E - ldrh r0, [r7, 0x8] - adds r0, 0x1 - strh r0, [r7, 0x8] -_080D1A5E: - ldr r0, [r5] - ldrb r1, [r0] - adds r1, 0x1 - ldrb r2, [r0] - strb r1, [r0] - movs r0, 0 - add sp, 0xC - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080D1A74: .4byte sTransitionStructPtr -_080D1A78: .4byte gScanlineEffectRegBuffers - thumb_func_end BT_Phase2ClockwiseBlackFade_Step5 - - thumb_func_start BT_Phase2ClockwiseBlackFade_End -BT_Phase2ClockwiseBlackFade_End: @ 80D1A7C - push {lr} - ldr r1, _080D1AAC @ =0x040000b0 - ldrh r2, [r1, 0xA] - ldr r0, _080D1AB0 @ =0x0000c5ff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r2, [r1, 0xA] - ldr r0, _080D1AB4 @ =0x00007fff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r0, [r1, 0xA] - bl BT_BlendPalettesToBlack - ldr r0, _080D1AB8 @ =BT_Phase2ClockwiseBlackFade - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_080D1AAC: .4byte 0x040000b0 -_080D1AB0: .4byte 0x0000c5ff -_080D1AB4: .4byte 0x00007fff -_080D1AB8: .4byte BT_Phase2ClockwiseBlackFade - thumb_func_end BT_Phase2ClockwiseBlackFade_End - - thumb_func_start VBCB_BT_Phase2ClockwiseBlackFade -VBCB_BT_Phase2ClockwiseBlackFade: @ 80D1ABC - push {r4,r5,lr} - ldr r5, _080D1B34 @ =0x040000b0 - ldrh r1, [r5, 0xA] - ldr r0, _080D1B38 @ =0x0000c5ff - ands r0, r1 - strh r0, [r5, 0xA] - ldrh r1, [r5, 0xA] - ldr r0, _080D1B3C @ =0x00007fff - ands r0, r1 - strh r0, [r5, 0xA] - ldrh r0, [r5, 0xA] - bl BT_VBSyncOamAndPltt - ldr r4, _080D1B40 @ =sTransitionStructPtr - ldr r0, [r4] - ldrb r0, [r0] - cmp r0, 0 - beq _080D1AF4 - ldr r1, _080D1B44 @ =0x040000d4 - ldr r0, _080D1B48 @ =gScanlineEffectRegBuffers - str r0, [r1] - movs r2, 0xF0 - lsls r2, 3 - adds r0, r2 - str r0, [r1, 0x4] - ldr r0, _080D1B4C @ =0x800000a0 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] -_080D1AF4: - ldr r0, [r4] - ldrh r1, [r0, 0x2] - movs r0, 0x48 - bl SetGpuReg - ldr r0, [r4] - ldrh r1, [r0, 0x4] - movs r0, 0x4A - bl SetGpuReg - ldr r0, [r4] - ldrh r1, [r0, 0x8] - movs r0, 0x44 - bl SetGpuReg - ldr r4, _080D1B48 @ =gScanlineEffectRegBuffers - movs r0, 0xF0 - lsls r0, 3 - adds r4, r0 - ldrh r1, [r4] - movs r0, 0x40 - bl SetGpuReg - str r4, [r5] - ldr r0, _080D1B50 @ =0x04000040 - str r0, [r5, 0x4] - ldr r0, _080D1B54 @ =0xa2400001 - str r0, [r5, 0x8] - ldr r0, [r5, 0x8] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080D1B34: .4byte 0x040000b0 -_080D1B38: .4byte 0x0000c5ff -_080D1B3C: .4byte 0x00007fff -_080D1B40: .4byte sTransitionStructPtr -_080D1B44: .4byte 0x040000d4 -_080D1B48: .4byte gScanlineEffectRegBuffers -_080D1B4C: .4byte 0x800000a0 -_080D1B50: .4byte 0x04000040 -_080D1B54: .4byte 0xa2400001 - thumb_func_end VBCB_BT_Phase2ClockwiseBlackFade - - thumb_func_start BT_Phase2FullScreenWave -BT_Phase2FullScreenWave: @ 80D1B58 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, _080D1B88 @ =sBT_Phase2FullScreenWaveFuncs - ldr r2, _080D1B8C @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_080D1B6A: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _080D1B6A - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080D1B88: .4byte sBT_Phase2FullScreenWaveFuncs -_080D1B8C: .4byte gTasks - thumb_func_end BT_Phase2FullScreenWave - - thumb_func_start BT_Phase2FullScreenWave_Init -BT_Phase2FullScreenWave_Init: @ 80D1B90 - push {r4,r5,lr} - adds r5, r0, 0 - bl BT_InitCtrlBlk - bl ScanlineEffect_Clear - movs r2, 0 - ldr r4, _080D1BD8 @ =gScanlineEffectRegBuffers + 0x780 - ldr r3, _080D1BDC @ =sTransitionStructPtr -_080D1BA2: - lsls r1, r2, 1 - adds r1, r4 - ldr r0, [r3] - ldrh r0, [r0, 0x16] - strh r0, [r1] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x9F - bls _080D1BA2 - ldr r0, _080D1BE0 @ =VBCB_BT_Phase2FullScreenWave - bl SetVBlankCallback - ldr r0, _080D1BE4 @ =HBCB_BT_Phase2FullScreenWave - bl SetHBlankCallback - movs r0, 0x2 - bl EnableInterrupts - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - movs r0, 0x1 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080D1BD8: .4byte gScanlineEffectRegBuffers + 0x780 -_080D1BDC: .4byte sTransitionStructPtr -_080D1BE0: .4byte VBCB_BT_Phase2FullScreenWave -_080D1BE4: .4byte HBCB_BT_Phase2FullScreenWave - thumb_func_end BT_Phase2FullScreenWave_Init - - thumb_func_start BT_Phase2FullScreenWave_UpdateWave -BT_Phase2FullScreenWave_UpdateWave: @ 80D1BE8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - adds r6, r0, 0 - ldr r0, _080D1CB4 @ =sTransitionStructPtr - ldr r1, [r0] - ldrb r0, [r1] - movs r0, 0 - strb r0, [r1] - ldrh r2, [r6, 0xC] - lsls r1, r2, 16 - asrs r0, r1, 24 - lsls r0, 16 - lsrs r3, r0, 16 - ldrh r4, [r6, 0xA] - movs r0, 0xC0 - lsls r0, 1 - mov r8, r0 - movs r5, 0x80 - lsls r5, 3 - adds r0, r4, r5 - strh r0, [r6, 0xA] - ldr r0, _080D1CB8 @ =0x1fff0000 - cmp r1, r0 - bgt _080D1C24 - movs r1, 0xC0 - lsls r1, 1 - adds r0, r2, r1 - strh r0, [r6, 0xC] -_080D1C24: - movs r5, 0 - lsls r7, r3, 16 -_080D1C28: - lsrs r0, r4, 8 - asrs r1, r7, 16 - bl Sin - ldr r1, _080D1CBC @ =gScanlineEffectRegBuffers - lsls r2, r5, 1 - adds r2, r1 - ldr r1, _080D1CB4 @ =sTransitionStructPtr - ldr r1, [r1] - ldrh r1, [r1, 0x16] - adds r0, r1 - strh r0, [r2] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - mov r1, r8 - adds r0, r4, r1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r5, 0x9F - bls _080D1C28 - ldrh r0, [r6, 0xE] - adds r0, 0x1 - strh r0, [r6, 0xE] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x29 - bne _080D1C78 - ldrh r0, [r6, 0x10] - adds r0, 0x1 - strh r0, [r6, 0x10] - movs r0, 0x1 - negs r0, r0 - movs r1, 0x8 - negs r1, r1 - movs r2, 0 - str r2, [sp] - movs r3, 0x10 - bl BeginNormalPaletteFade -_080D1C78: - movs r5, 0x10 - ldrsh r0, [r6, r5] - cmp r0, 0 - beq _080D1C9A - ldr r0, _080D1CC0 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080D1C9A - ldr r0, _080D1CC4 @ =BT_Phase2FullScreenWave - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask -_080D1C9A: - ldr r0, _080D1CB4 @ =sTransitionStructPtr - ldr r1, [r0] - ldrb r0, [r1] - adds r0, 0x1 - ldrb r2, [r1] - strb r0, [r1] - movs r0, 0 - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080D1CB4: .4byte sTransitionStructPtr -_080D1CB8: .4byte 0x1fff0000 -_080D1CBC: .4byte gScanlineEffectRegBuffers -_080D1CC0: .4byte gPaletteFade -_080D1CC4: .4byte BT_Phase2FullScreenWave - thumb_func_end BT_Phase2FullScreenWave_UpdateWave - - thumb_func_start VBCB_BT_Phase2FullScreenWave -VBCB_BT_Phase2FullScreenWave: @ 80D1CC8 - push {lr} - bl BT_VBSyncOamAndPltt - ldr r0, _080D1CF0 @ =sTransitionStructPtr - ldr r0, [r0] - ldrb r0, [r0] - cmp r0, 0 - beq _080D1CEC - ldr r1, _080D1CF4 @ =0x040000d4 - ldr r0, _080D1CF8 @ =gScanlineEffectRegBuffers - str r0, [r1] - movs r2, 0xF0 - lsls r2, 3 - adds r0, r2 - str r0, [r1, 0x4] - ldr r0, _080D1CFC @ =0x800000a0 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] -_080D1CEC: - pop {r0} - bx r0 - .align 2, 0 -_080D1CF0: .4byte sTransitionStructPtr -_080D1CF4: .4byte 0x040000d4 -_080D1CF8: .4byte gScanlineEffectRegBuffers -_080D1CFC: .4byte 0x800000a0 - thumb_func_end VBCB_BT_Phase2FullScreenWave - - thumb_func_start HBCB_BT_Phase2FullScreenWave -HBCB_BT_Phase2FullScreenWave: @ 80D1D00 - ldr r1, _080D1D20 @ =gScanlineEffectRegBuffers - ldr r0, _080D1D24 @ =0x04000006 - ldrh r0, [r0] - lsls r0, 1 - movs r2, 0xF0 - lsls r2, 3 - adds r1, r2 - adds r0, r1 - ldrh r1, [r0] - ldr r0, _080D1D28 @ =0x04000016 - strh r1, [r0] - adds r0, 0x4 - strh r1, [r0] - adds r0, 0x4 - strh r1, [r0] - bx lr - .align 2, 0 -_080D1D20: .4byte gScanlineEffectRegBuffers -_080D1D24: .4byte 0x04000006 -_080D1D28: .4byte 0x04000016 - thumb_func_end HBCB_BT_Phase2FullScreenWave - - thumb_func_start BT_Phase2BlackWaveToRight -BT_Phase2BlackWaveToRight: @ 80D1D2C - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, _080D1D5C @ =sBT_Phase2BlackWaveToRightFuncs - ldr r2, _080D1D60 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_080D1D3E: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _080D1D3E - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080D1D5C: .4byte sBT_Phase2BlackWaveToRightFuncs -_080D1D60: .4byte gTasks - thumb_func_end BT_Phase2BlackWaveToRight - - thumb_func_start BT_Phase2BlackWaveToRight_Init -BT_Phase2BlackWaveToRight_Init: @ 80D1D64 - push {r4,lr} - adds r4, r0, 0 - bl BT_InitCtrlBlk - bl ScanlineEffect_Clear - ldr r0, _080D1DB0 @ =sTransitionStructPtr - ldr r1, [r0] - movs r2, 0 - movs r0, 0x3F - strh r0, [r1, 0x2] - strh r2, [r1, 0x4] - movs r0, 0xF0 - strh r0, [r1, 0x6] - movs r0, 0xA0 - strh r0, [r1, 0x8] - movs r1, 0 - ldr r3, _080D1DB4 @ =gScanlineEffectRegBuffers + 0x780 - movs r2, 0xF2 -_080D1D8A: - lsls r0, r1, 1 - adds r0, r3 - strh r2, [r0] - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x9F - bls _080D1D8A - ldr r0, _080D1DB8 @ =VBCB_BT_Phase2BlackWaveToRight - bl SetVBlankCallback - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0x1 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080D1DB0: .4byte sTransitionStructPtr -_080D1DB4: .4byte gScanlineEffectRegBuffers + 0x780 -_080D1DB8: .4byte VBCB_BT_Phase2BlackWaveToRight - thumb_func_end BT_Phase2BlackWaveToRight_Init - - thumb_func_start BT_Phase2BlackWaveToRight_UpdateWave -BT_Phase2BlackWaveToRight_UpdateWave: @ 80D1DBC - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r4, r0, 0 - ldr r0, _080D1E50 @ =sTransitionStructPtr - ldr r1, [r0] - ldrb r0, [r1] - movs r0, 0 - strb r0, [r1] - ldr r7, _080D1E54 @ =gScanlineEffectRegBuffers - ldrh r0, [r4, 0xC] - ldrb r5, [r4, 0xC] - adds r0, 0x10 - strh r0, [r4, 0xC] - ldrh r0, [r4, 0xA] - adds r0, 0x8 - strh r0, [r4, 0xA] - movs r6, 0 - movs r0, 0x1 - mov r8, r0 -_080D1DE4: - adds r0, r5, 0 - movs r1, 0x28 - bl Sin - ldrh r1, [r4, 0xA] - adds r0, r1 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r0, 0 - bge _080D1DFA - movs r1, 0 -_080D1DFA: - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, 0xF0 - ble _080D1E04 - movs r1, 0xF0 -_080D1E04: - lsls r0, r1, 16 - asrs r0, 16 - lsls r1, r0, 8 - movs r2, 0xF1 - orrs r1, r2 - strh r1, [r7] - cmp r0, 0xEF - bgt _080D1E18 - movs r0, 0 - mov r8, r0 -_080D1E18: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - adds r0, r5, 0x4 - lsls r0, 24 - lsrs r5, r0, 24 - adds r7, 0x2 - cmp r6, 0x9F - bls _080D1DE4 - mov r1, r8 - cmp r1, 0 - beq _080D1E36 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_080D1E36: - ldr r0, _080D1E50 @ =sTransitionStructPtr - ldr r1, [r0] - ldrb r0, [r1] - adds r0, 0x1 - ldrb r2, [r1] - strb r0, [r1] - movs r0, 0 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080D1E50: .4byte sTransitionStructPtr -_080D1E54: .4byte gScanlineEffectRegBuffers - thumb_func_end BT_Phase2BlackWaveToRight_UpdateWave - - thumb_func_start BT_Phase2BlackWaveToRight_End -BT_Phase2BlackWaveToRight_End: @ 80D1E58 - push {lr} - ldr r1, _080D1E88 @ =0x040000b0 - ldrh r2, [r1, 0xA] - ldr r0, _080D1E8C @ =0x0000c5ff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r2, [r1, 0xA] - ldr r0, _080D1E90 @ =0x00007fff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r0, [r1, 0xA] - bl BT_BlendPalettesToBlack - ldr r0, _080D1E94 @ =BT_Phase2BlackWaveToRight - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_080D1E88: .4byte 0x040000b0 -_080D1E8C: .4byte 0x0000c5ff -_080D1E90: .4byte 0x00007fff -_080D1E94: .4byte BT_Phase2BlackWaveToRight - thumb_func_end BT_Phase2BlackWaveToRight_End - - thumb_func_start VBCB_BT_Phase2BlackWaveToRight -VBCB_BT_Phase2BlackWaveToRight: @ 80D1E98 - push {r4,r5,lr} - ldr r4, _080D1F04 @ =0x040000b0 - ldrh r1, [r4, 0xA] - ldr r0, _080D1F08 @ =0x0000c5ff - ands r0, r1 - strh r0, [r4, 0xA] - ldrh r1, [r4, 0xA] - ldr r0, _080D1F0C @ =0x00007fff - ands r0, r1 - strh r0, [r4, 0xA] - ldrh r0, [r4, 0xA] - bl BT_VBSyncOamAndPltt - ldr r5, _080D1F10 @ =sTransitionStructPtr - ldr r0, [r5] - ldrb r0, [r0] - cmp r0, 0 - beq _080D1ED0 - ldr r1, _080D1F14 @ =0x040000d4 - ldr r0, _080D1F18 @ =gScanlineEffectRegBuffers - str r0, [r1] - movs r2, 0xF0 - lsls r2, 3 - adds r0, r2 - str r0, [r1, 0x4] - ldr r0, _080D1F1C @ =0x800000a0 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] -_080D1ED0: - ldr r0, [r5] - ldrh r1, [r0, 0x2] - movs r0, 0x48 - bl SetGpuReg - ldr r0, [r5] - ldrh r1, [r0, 0x4] - movs r0, 0x4A - bl SetGpuReg - ldr r0, [r5] - ldrh r1, [r0, 0x8] - movs r0, 0x44 - bl SetGpuReg - ldr r0, _080D1F20 @ =gScanlineEffectRegBuffers + 0x780 - str r0, [r4] - ldr r0, _080D1F24 @ =0x04000040 - str r0, [r4, 0x4] - ldr r0, _080D1F28 @ =0xa2400001 - str r0, [r4, 0x8] - ldr r0, [r4, 0x8] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080D1F04: .4byte 0x040000b0 -_080D1F08: .4byte 0x0000c5ff -_080D1F0C: .4byte 0x00007fff -_080D1F10: .4byte sTransitionStructPtr -_080D1F14: .4byte 0x040000d4 -_080D1F18: .4byte gScanlineEffectRegBuffers -_080D1F1C: .4byte 0x800000a0 -_080D1F20: .4byte gScanlineEffectRegBuffers + 0x780 -_080D1F24: .4byte 0x04000040 -_080D1F28: .4byte 0xa2400001 - thumb_func_end VBCB_BT_Phase2BlackWaveToRight - - thumb_func_start BT_Phase2AntiClockwiseSpiral -BT_Phase2AntiClockwiseSpiral: @ 80D1F2C - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, _080D1F5C @ =sBT_Phase2AntiClockwiseSpiralFuncs - ldr r2, _080D1F60 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_080D1F3E: - movs r1, 0x8 - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r5 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _080D1F3E - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080D1F5C: .4byte sBT_Phase2AntiClockwiseSpiralFuncs -_080D1F60: .4byte gTasks - thumb_func_end BT_Phase2AntiClockwiseSpiral - thumb_func_start sub_80D1F64 sub_80D1F64: @ 80D1F64 push {r4-r7,lr} |