diff options
author | PikalaxALT <PikalaxALT@users.noreply.github.com> | 2020-01-06 13:35:48 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-01-06 13:35:48 -0500 |
commit | 26f7ba482384ad4f63063797a527b7fb33572aa1 (patch) | |
tree | df807e701efce9007c5ae8cb7583c0375a3c6f14 /asm | |
parent | ab4fa0e76e4478804266cddf6604308a77cdcb3b (diff) | |
parent | da2ff948a68548a44a0e0d48f869f2217ce06e2d (diff) |
Merge pull request #204 from mrgriffin/field-screen-effect
Decompile field_screen_effect
Diffstat (limited to 'asm')
-rw-r--r-- | asm/field_effect.s | 10 | ||||
-rw-r--r-- | asm/field_screen_effect.s | 623 | ||||
-rw-r--r-- | asm/overworld.s | 28 |
3 files changed, 19 insertions, 642 deletions
diff --git a/asm/field_effect.s b/asm/field_effect.s index bc2a2fceb..2f1aa5e61 100644 --- a/asm/field_effect.s +++ b/asm/field_effect.s @@ -2854,7 +2854,7 @@ sub_80849A0: @ 80849A0 ands r0, r1 cmp r0, 0 bne _080849DC - bl sub_8055FC4 + bl BGMusicStopped lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -3878,7 +3878,7 @@ sub_8085168: @ 8085168 ands r0, r1 cmp r0, 0 bne _080851A0 - bl sub_8055FC4 + bl BGMusicStopped lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -4383,7 +4383,7 @@ sub_808554C: @ 808554C ands r0, r1 cmp r0, 0 bne _08085584 - bl sub_8055FC4 + bl BGMusicStopped lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -4601,7 +4601,7 @@ _08085702: ands r0, r1 cmp r0, 0 bne _08085750 - bl sub_8055FC4 + bl BGMusicStopped lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -5400,7 +5400,7 @@ sub_8085D34: @ 8085D34 ands r0, r1 cmp r0, 0 bne _08085D70 - bl sub_8055FC4 + bl BGMusicStopped lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 diff --git a/asm/field_screen_effect.s b/asm/field_screen_effect.s index 6e5a0dc5f..f0ca0f77e 100644 --- a/asm/field_screen_effect.s +++ b/asm/field_screen_effect.s @@ -5,629 +5,6 @@ .text - thumb_func_start UpdateFlashLevelEffect -UpdateFlashLevelEffect: @ 807EEB8 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _0807EEDC @ =gTasks+0x8 - adds r4, r0, r1 - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _0807EF14 - cmp r0, 0x1 - bgt _0807EEE0 - cmp r0, 0 - beq _0807EEE6 - b _0807EF76 - .align 2, 0 -_0807EEDC: .4byte gTasks+0x8 -_0807EEE0: - cmp r0, 0x2 - beq _0807EF6C - b _0807EF76 -_0807EEE6: - ldr r0, _0807EF0C @ =gScanlineEffect - ldrb r1, [r0, 0x14] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 7 - ldr r1, _0807EF10 @ =gScanlineEffectRegBuffers - adds r0, r1 - movs r2, 0x2 - ldrsh r1, [r4, r2] - movs r3, 0x4 - ldrsh r2, [r4, r3] - movs r5, 0x6 - ldrsh r3, [r4, r5] - bl SetFlashScanlineEffectWindowBoundaries - movs r0, 0x1 - strh r0, [r4] - b _0807EF76 - .align 2, 0 -_0807EF0C: .4byte gScanlineEffect -_0807EF10: .4byte gScanlineEffectRegBuffers -_0807EF14: - ldr r0, _0807EF5C @ =gScanlineEffect - ldrb r1, [r0, 0x14] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 7 - ldr r1, _0807EF60 @ =gScanlineEffectRegBuffers - adds r0, r1 - movs r6, 0x2 - ldrsh r1, [r4, r6] - movs r3, 0x4 - ldrsh r2, [r4, r3] - movs r6, 0x6 - ldrsh r3, [r4, r6] - bl SetFlashScanlineEffectWindowBoundaries - movs r0, 0 - strh r0, [r4] - ldrh r0, [r4, 0xA] - ldrh r1, [r4, 0x6] - adds r0, r1 - strh r0, [r4, 0x6] - lsls r0, 16 - asrs r0, 16 - movs r2, 0x8 - ldrsh r1, [r4, r2] - cmp r0, r1 - ble _0807EF76 - movs r3, 0xC - ldrsh r0, [r4, r3] - cmp r0, 0x1 - bne _0807EF64 - bl ScanlineEffect_Stop - movs r0, 0x2 - strh r0, [r4] - b _0807EF76 - .align 2, 0 -_0807EF5C: .4byte gScanlineEffect -_0807EF60: .4byte gScanlineEffectRegBuffers -_0807EF64: - adds r0, r5, 0 - bl DestroyTask - b _0807EF76 -_0807EF6C: - bl ScanlineEffect_Clear - adds r0, r5, 0 - bl DestroyTask -_0807EF76: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end UpdateFlashLevelEffect - - thumb_func_start sub_807EF7C -sub_807EF7C: @ 807EF7C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _0807EFA0 @ =UpdateFlashLevelEffect - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - bne _0807EF98 - bl EnableBothScriptContexts - adds r0, r4, 0 - bl DestroyTask -_0807EF98: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0807EFA0: .4byte UpdateFlashLevelEffect - thumb_func_end sub_807EF7C - - thumb_func_start sub_807EFA4 -sub_807EFA4: @ 807EFA4 - push {r4,lr} - ldr r4, _0807EFC4 @ =sub_807EF7C - adds r0, r4, 0 - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - bne _0807EFBC - adds r0, r4, 0 - movs r1, 0x50 - bl CreateTask -_0807EFBC: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0807EFC4: .4byte sub_807EF7C - thumb_func_end sub_807EFA4 - - thumb_func_start sub_807EFC8 -sub_807EFC8: @ 807EFC8 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - mov r8, r0 - mov r9, r1 - adds r5, r2, 0 - adds r4, r3, 0 - ldr r6, [sp, 0x1C] - ldr r0, [sp, 0x20] - lsls r0, 24 - lsrs r7, r0, 24 - ldr r0, _0807F00C @ =UpdateFlashLevelEffect - movs r1, 0x50 - bl CreateTask - lsls r0, 24 - lsrs r2, r0, 24 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - ldr r1, _0807F010 @ =gTasks+0x8 - adds r1, r0, r1 - strh r5, [r1, 0x6] - strh r4, [r1, 0x8] - mov r0, r8 - strh r0, [r1, 0x2] - mov r0, r9 - strh r0, [r1, 0x4] - strh r6, [r1, 0xC] - cmp r5, r4 - bge _0807F014 - strh r7, [r1, 0xA] - b _0807F018 - .align 2, 0 -_0807F00C: .4byte UpdateFlashLevelEffect -_0807F010: .4byte gTasks+0x8 -_0807F014: - negs r0, r7 - strh r0, [r1, 0xA] -_0807F018: - adds r0, r2, 0 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_807EFC8 - - thumb_func_start sub_807F028 -sub_807F028: @ 807F028 - push {r4,r5,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r0, 24 - adds r4, r0, 0 - bl Overworld_GetFlashLevel - lsls r0, 24 - lsrs r0, 24 - movs r5, 0 - cmp r4, 0 - bne _0807F042 - movs r5, 0x1 -_0807F042: - ldr r1, _0807F070 @ =sFlashLevelPixelRadii - lsls r0, 1 - adds r0, r1 - ldrh r2, [r0] - lsls r0, r4, 1 - adds r0, r1 - ldrh r3, [r0] - str r5, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x78 - movs r1, 0x50 - bl sub_807EFC8 - bl sub_807EFA4 - bl ScriptContext2_Enable - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0807F070: .4byte sFlashLevelPixelRadii - thumb_func_end sub_807F028 - - thumb_func_start WriteFlashScanlineEffectBuffer -WriteFlashScanlineEffectBuffer: @ 807F074 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _0807F0A2 - ldr r4, _0807F0A8 @ =gScanlineEffectRegBuffers - ldr r1, _0807F0AC @ =sFlashLevelPixelRadii - lsls r0, 1 - adds r0, r1 - ldrh r3, [r0] - adds r0, r4, 0 - movs r1, 0x78 - movs r2, 0x50 - bl SetFlashScanlineEffectWindowBoundaries - movs r0, 0xF0 - lsls r0, 3 - adds r1, r4, r0 - movs r2, 0xF0 - lsls r2, 1 - adds r0, r4, 0 - bl CpuFastSet -_0807F0A2: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0807F0A8: .4byte gScanlineEffectRegBuffers -_0807F0AC: .4byte sFlashLevelPixelRadii - thumb_func_end WriteFlashScanlineEffectBuffer - - thumb_func_start sub_807F0B0 -sub_807F0B0: @ 807F0B0 - push {lr} - bl Overworld_FadeOutMapMusic - ldr r0, _0807F0C4 @ =task50_0807F0C8 - movs r1, 0x50 - bl CreateTask - pop {r0} - bx r0 - .align 2, 0 -_0807F0C4: .4byte task50_0807F0C8 - thumb_func_end sub_807F0B0 - - thumb_func_start task50_0807F0C8 -task50_0807F0C8: @ 807F0C8 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_8055FC4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0807F0E4 - adds r0, r4, 0 - bl DestroyTask - bl EnableBothScriptContexts -_0807F0E4: - pop {r4} - pop {r0} - bx r0 - thumb_func_end task50_0807F0C8 - - thumb_func_start sub_807F0EC -sub_807F0EC: @ 807F0EC - push {lr} - ldr r0, _0807F10C @ =sub_807F204 - movs r1, 0x50 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0807F110 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r0, 0 - strh r0, [r1, 0x1C] - pop {r0} - bx r0 - .align 2, 0 -_0807F10C: .4byte sub_807F204 -_0807F110: .4byte gTasks - thumb_func_end sub_807F0EC - - thumb_func_start sub_807F114 -sub_807F114: @ 807F114 - push {lr} - ldr r0, _0807F134 @ =sub_807F204 - movs r1, 0x50 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0807F138 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r0, 0x1 - strh r0, [r1, 0x1C] - pop {r0} - bx r0 - .align 2, 0 -_0807F134: .4byte sub_807F204 -_0807F138: .4byte gTasks - thumb_func_end sub_807F114 - - thumb_func_start sub_807F13C -sub_807F13C: @ 807F13C - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r0, _0807F19C @ =gTasks+0x8 - adds r4, r0 - movs r0, 0 - bl GetGpuReg - strh r0, [r4] - movs r0, 0x48 - bl GetGpuReg - strh r0, [r4, 0x2] - movs r0, 0x4A - bl GetGpuReg - strh r0, [r4, 0x4] - movs r0, 0x50 - bl GetGpuReg - strh r0, [r4, 0x6] - movs r0, 0x52 - bl GetGpuReg - strh r0, [r4, 0x8] - movs r0, 0x40 - bl GetGpuReg - strh r0, [r4, 0xA] - movs r0, 0x44 - bl GetGpuReg - strh r0, [r4, 0xC] - movs r0, 0x42 - bl GetGpuReg - strh r0, [r4, 0xE] - movs r0, 0x46 - bl GetGpuReg - strh r0, [r4, 0x10] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0807F19C: .4byte gTasks+0x8 - thumb_func_end sub_807F13C - - thumb_func_start sub_807F1A0 -sub_807F1A0: @ 807F1A0 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r0, _0807F200 @ =gTasks+0x8 - adds r4, r0 - ldrh r1, [r4] - movs r0, 0 - bl SetGpuReg - ldrh r1, [r4, 0x2] - movs r0, 0x48 - bl SetGpuReg - ldrh r1, [r4, 0x4] - movs r0, 0x4A - bl SetGpuReg - ldrh r1, [r4, 0x6] - movs r0, 0x50 - bl SetGpuReg - ldrh r1, [r4, 0x8] - movs r0, 0x52 - bl SetGpuReg - ldrh r1, [r4, 0xA] - movs r0, 0x40 - bl SetGpuReg - ldrh r1, [r4, 0xC] - movs r0, 0x44 - bl SetGpuReg - ldrh r1, [r4, 0xE] - movs r0, 0x42 - bl SetGpuReg - ldrh r1, [r4, 0x10] - movs r0, 0x46 - bl SetGpuReg - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0807F200: .4byte gTasks+0x8 - thumb_func_end sub_807F1A0 - - thumb_func_start sub_807F204 -sub_807F204: @ 807F204 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, _0807F228 @ =gTasks+0x8 - adds r5, r0, r1 - movs r1, 0x12 - ldrsh r0, [r5, r1] - cmp r0, 0x1 - beq _0807F2BC - cmp r0, 0x1 - bgt _0807F22C - cmp r0, 0 - beq _0807F236 - b _0807F2F4 - .align 2, 0 -_0807F228: .4byte gTasks+0x8 -_0807F22C: - cmp r0, 0x2 - beq _0807F2D0 - cmp r0, 0x3 - beq _0807F2E8 - b _0807F2F4 -_0807F236: - adds r0, r4, 0 - bl sub_807F13C - movs r1, 0x80 - lsls r1, 6 - movs r0, 0 - bl SetGpuRegBits - movs r1, 0x80 - lsls r1, 7 - movs r0, 0 - bl SetGpuRegBits - movs r1, 0x14 - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _0807F280 - movs r0, 0x40 - movs r1, 0 - bl SetGpuReg - ldr r1, _0807F27C @ =0x0000f0ff - movs r0, 0x42 - bl SetGpuReg - movs r0, 0x44 - movs r1, 0xFF - bl SetGpuReg - movs r0, 0x46 - movs r1, 0xFF - bl SetGpuReg - b _0807F2A0 - .align 2, 0 -_0807F27C: .4byte 0x0000f0ff -_0807F280: - movs r0, 0x40 - movs r1, 0x78 - bl SetGpuReg - movs r0, 0x44 - movs r1, 0xFF - bl SetGpuReg - ldr r1, _0807F2B8 @ =0x000078ff - movs r0, 0x42 - bl SetGpuReg - movs r0, 0x46 - movs r1, 0xFF - bl SetGpuReg -_0807F2A0: - movs r0, 0x48 - movs r1, 0 - bl SetGpuReg - movs r0, 0x4A - movs r1, 0x3F - bl SetGpuReg - movs r0, 0x1 - strh r0, [r5, 0x12] - b _0807F2F4 - .align 2, 0 -_0807F2B8: .4byte 0x000078ff -_0807F2BC: - ldr r0, _0807F2CC @ =sub_807F2FC - movs r1, 0x50 - bl CreateTask - movs r0, 0x2 - strh r0, [r5, 0x12] - b _0807F2F4 - .align 2, 0 -_0807F2CC: .4byte sub_807F2FC -_0807F2D0: - ldr r0, _0807F2E4 @ =sub_807F2FC - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - bne _0807F2F4 - movs r0, 0x3 - strh r0, [r5, 0x12] - b _0807F2F4 - .align 2, 0 -_0807F2E4: .4byte sub_807F2FC -_0807F2E8: - adds r0, r4, 0 - bl sub_807F1A0 - adds r0, r4, 0 - bl DestroyTask -_0807F2F4: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_807F204 - - thumb_func_start sub_807F2FC -sub_807F2FC: @ 807F2FC - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r5, r0, 24 - mov r8, r5 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r4, _0807F348 @ =gTasks+0x8 - adds r6, r0, r4 - ldr r0, _0807F34C @ =sub_807F204 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1 - movs r1, 0x14 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0807F350 - ldrh r4, [r6] - movs r0, 0xF0 - subs r0, r4 - lsls r0, 16 - lsrs r7, r0, 16 - lsls r0, r4, 16 - asrs r0, 16 - cmp r0, 0x78 - ble _0807F36C - adds r0, r5, 0 - bl DestroyTask - b _0807F39A - .align 2, 0 -_0807F348: .4byte gTasks+0x8 -_0807F34C: .4byte sub_807F204 -_0807F350: - ldrh r0, [r6] - movs r1, 0x78 - subs r1, r0 - lsls r1, 16 - adds r0, 0x78 - lsls r0, 16 - lsrs r7, r0, 16 - lsrs r4, r1, 16 - cmp r1, 0 - bge _0807F36C - mov r0, r8 - bl DestroyTask - b _0807F39A -_0807F36C: - lsls r4, 16 - lsrs r1, r4, 16 - movs r0, 0x40 - bl SetGpuReg - lsls r1, r7, 16 - asrs r1, 8 - movs r0, 0xF0 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x42 - bl SetGpuReg - asrs r4, 16 - cmp r4, 0x59 - bgt _0807F394 - ldrh r0, [r6] - adds r0, 0x4 - b _0807F398 -_0807F394: - ldrh r0, [r6] - adds r0, 0x2 -_0807F398: - strh r0, [r6] -_0807F39A: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_807F2FC - thumb_func_start sub_807F3A4 sub_807F3A4: @ 807F3A4 push {r4-r7,lr} diff --git a/asm/overworld.s b/asm/overworld.s index 3fab3a71d..4fbe39153 100644 --- a/asm/overworld.s +++ b/asm/overworld.s @@ -2640,15 +2640,15 @@ _08055FB8: _08055FC0: .4byte 0x00004001 thumb_func_end sub_8055F88 - thumb_func_start sub_8055FC4 -sub_8055FC4: @ 8055FC4 + thumb_func_start BGMusicStopped +BGMusicStopped: @ 8055FC4 push {lr} bl IsNotWaitingForBGMStop lsls r0, 24 lsrs r0, 24 pop {r1} bx r1 - thumb_func_end sub_8055FC4 + thumb_func_end BGMusicStopped thumb_func_start Overworld_FadeOutMapMusic Overworld_FadeOutMapMusic: @ 8055FD4 @@ -3941,8 +3941,8 @@ VBlankCB_Field: @ 8056A14 bx r0 thumb_func_end VBlankCB_Field - thumb_func_start sub_8056A34 -sub_8056A34: @ 8056A34 + thumb_func_start InitCurrentFlashLevelScanlineEffect +InitCurrentFlashLevelScanlineEffect: @ 8056A34 push {lr} bl Overworld_GetFlashLevel lsls r0, 24 @@ -3950,7 +3950,7 @@ sub_8056A34: @ 8056A34 cmp r0, 0 beq _08056A52 bl WriteFlashScanlineEffectBuffer - ldr r2, _08056A58 @ =gUnknown_826D330 + ldr r2, _08056A58 @ =gFlashEffectParams ldr r0, [r2] ldr r1, [r2, 0x4] ldr r2, [r2, 0x8] @@ -3959,8 +3959,8 @@ _08056A52: pop {r0} bx r0 .align 2, 0 -_08056A58: .4byte gUnknown_826D330 - thumb_func_end sub_8056A34 +_08056A58: .4byte gFlashEffectParams + thumb_func_end InitCurrentFlashLevelScanlineEffect thumb_func_start sub_8056A5C sub_8056A5C: @ 8056A5C @@ -4015,7 +4015,7 @@ _08056ACE: bl sub_812B35C b _08056B62 _08056AE4: - bl sub_8056A34 + bl InitCurrentFlashLevelScanlineEffect bl sub_8056F1C b _08056B62 _08056AEE: @@ -4157,7 +4157,7 @@ _08056C16: .align 2, 0 _08056C1C: .4byte gUnknown_203ADFA _08056C20: - bl sub_8056A34 + bl InitCurrentFlashLevelScanlineEffect bl sub_8056F1C b _08056CCA _08056C2A: @@ -4346,7 +4346,7 @@ _08056DAE: bl sub_812B35C b _08056E3E _08056DC0: - bl sub_8056A34 + bl InitCurrentFlashLevelScanlineEffect bl sub_8056F1C b _08056E3E _08056DCA: @@ -4513,7 +4513,7 @@ _08056F04: .4byte 0x81000800 thumb_func_start sub_8056F08 sub_8056F08: @ 8056F08 push {lr} - bl sub_8056A34 + bl InitCurrentFlashLevelScanlineEffect bl sub_8056F1C bl mapdata_load_assets_to_gpu_and_full_redraw pop {r0} @@ -5057,7 +5057,7 @@ _080573AE: bl sub_8057114 b _08057412 _080573B8: - bl sub_8056A34 + bl InitCurrentFlashLevelScanlineEffect bl sub_8056F1C b _08057412 _080573C2: @@ -5406,7 +5406,7 @@ _0805769C: bl mapheader_run_script_with_tag_x5 b _0805772A _080576C2: - bl sub_8056A34 + bl InitCurrentFlashLevelScanlineEffect bl sub_8056F1C b _0805772A _080576CC: |