diff options
author | Marcus Huderle <huderlem@gmail.com> | 2017-11-19 19:51:37 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-11-19 19:51:37 -0800 |
commit | 0f42ef11742cfc141b720846777e43d96a64ffc3 (patch) | |
tree | aae4004235e52acb73289336d37e09b4a8677dbf /asm | |
parent | 4a365e9230962daf875a0444d51d76639c07c827 (diff) | |
parent | 71ab629e9e4f29fc502411d41b0fd53064d94e02 (diff) |
Merge pull request #463 from sceptillion/master
decompile fldeff_recordmixing
Diffstat (limited to 'asm')
-rwxr-xr-x | asm/fldeff_berrytree.s | 164 | ||||
-rwxr-xr-x | asm/fldeff_decoration.s | 907 | ||||
-rwxr-xr-x | asm/fldeff_pc.s | 190 | ||||
-rwxr-xr-x | asm/fldeff_poison.s | 99 | ||||
-rwxr-xr-x | asm/fldeff_recordmixing.s | 94 | ||||
-rwxr-xr-x | asm/fldeff_secretpower.s | 640 |
6 files changed, 0 insertions, 2094 deletions
diff --git a/asm/fldeff_berrytree.s b/asm/fldeff_berrytree.s deleted file mode 100755 index a36ba0519..000000000 --- a/asm/fldeff_berrytree.s +++ /dev/null @@ -1,164 +0,0 @@ - .include "constants/gba_constants.inc" - .include "constants/species_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start Task_WateringBerryTreeAnim_0 -Task_WateringBerryTreeAnim_0: @ 80C70A0 - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080C70B4 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r0, _080C70B8 @ =Task_WateringBerryTreeAnim_1 - str r0, [r1] - bx lr - .align 2, 0 -_080C70B4: .4byte gTasks -_080C70B8: .4byte Task_WateringBerryTreeAnim_1 - thumb_func_end Task_WateringBerryTreeAnim_0 - - thumb_func_start Task_WateringBerryTreeAnim_1 -Task_WateringBerryTreeAnim_1: @ 80C70BC - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, _080C7120 @ =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _080C7124 @ =gMapObjects - adds r4, r0, r1 - adds r0, r4, 0 - bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive - lsls r0, 24 - cmp r0, 0 - beq _080C70E8 - adds r0, r4, 0 - bl FieldObjectClearAnimIfSpecialAnimFinished - lsls r0, 24 - cmp r0, 0 - beq _080C711A -_080C70E8: - bl player_get_direction_lower_nybble - lsls r0, 24 - lsrs r0, 24 - bl sub_8059D08 - bl player_get_direction_lower_nybble - lsls r0, 24 - lsrs r0, 24 - bl GetStepInPlaceDelay16AnimId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl FieldObjectSetSpecialAnim - ldr r1, _080C7128 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, _080C712C @ =Task_WateringBerryTreeAnim_2 - str r1, [r0] -_080C711A: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080C7120: .4byte gPlayerAvatar -_080C7124: .4byte gMapObjects -_080C7128: .4byte gTasks -_080C712C: .4byte Task_WateringBerryTreeAnim_2 - thumb_func_end Task_WateringBerryTreeAnim_1 - - thumb_func_start Task_WateringBerryTreeAnim_2 -Task_WateringBerryTreeAnim_2: @ 80C7130 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _080C7184 @ =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _080C7188 @ =gMapObjects - adds r5, r0, r1 - adds r0, r5, 0 - bl FieldObjectClearAnimIfSpecialAnimFinished - lsls r0, 24 - cmp r0, 0 - beq _080C7194 - ldr r1, _080C718C @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r2, r0, r1 - ldrh r0, [r2, 0xA] - adds r1, r0, 0x1 - strh r1, [r2, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x9 - bgt _080C7190 - bl player_get_direction_lower_nybble - lsls r0, 24 - lsrs r0, 24 - bl GetStepInPlaceDelay16AnimId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - bl FieldObjectSetSpecialAnim - b _080C7194 - .align 2, 0 -_080C7184: .4byte gPlayerAvatar -_080C7188: .4byte gMapObjects -_080C718C: .4byte gTasks -_080C7190: - ldr r0, _080C719C @ =Task_WateringBerryTreeAnim_3 - str r0, [r2] -_080C7194: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080C719C: .4byte Task_WateringBerryTreeAnim_3 - thumb_func_end Task_WateringBerryTreeAnim_2 - - thumb_func_start Task_WateringBerryTreeAnim_3 -Task_WateringBerryTreeAnim_3: @ 80C71A0 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_80597D0 - lsls r0, 24 - lsrs r0, 24 - bl SetPlayerAvatarTransitionFlags - adds r0, r4, 0 - bl DestroyTask - bl EnableBothScriptContexts - pop {r4} - pop {r0} - bx r0 - thumb_func_end Task_WateringBerryTreeAnim_3 - - thumb_func_start DoWateringBerryTreeAnim -DoWateringBerryTreeAnim: @ 80C71C4 - push {lr} - ldr r0, _080C71D4 @ =Task_WateringBerryTreeAnim_0 - movs r1, 0x50 - bl CreateTask - pop {r0} - bx r0 - .align 2, 0 -_080C71D4: .4byte Task_WateringBerryTreeAnim_0 - thumb_func_end DoWateringBerryTreeAnim - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/fldeff_decoration.s b/asm/fldeff_decoration.s deleted file mode 100755 index 38c5a6e61..000000000 --- a/asm/fldeff_decoration.s +++ /dev/null @@ -1,907 +0,0 @@ - .include "constants/gba_constants.inc" - .include "constants/species_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start sub_80C68A4 -sub_80C68A4: @ 80C68A4 - push {r4-r6,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 16 - lsrs r5, 16 - lsls r6, 16 - lsrs r6, 16 - ldr r0, _080C68E4 @ =sub_80C68EC - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080C68E8 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r0, 0 - strh r4, [r1, 0x8] - strh r5, [r1, 0xA] - strh r6, [r1, 0xC] - strh r0, [r1, 0xE] - movs r0, 0x1 - strh r0, [r1, 0x10] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080C68E4: .4byte sub_80C68EC -_080C68E8: .4byte gTasks - thumb_func_end sub_80C68A4 - - thumb_func_start sub_80C68EC -sub_80C68EC: @ 80C68EC - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _080C690C @ =gTasks + 0x8 - adds r4, r0, r1 - ldrh r1, [r4, 0x6] - movs r2, 0x6 - ldrsh r0, [r4, r2] - cmp r0, 0x6 - bne _080C6910 - movs r0, 0 - b _080C6912 - .align 2, 0 -_080C690C: .4byte gTasks + 0x8 -_080C6910: - adds r0, r1, 0x1 -_080C6912: - strh r0, [r4, 0x6] - movs r3, 0x6 - ldrsh r0, [r4, r3] - cmp r0, 0 - bne _080C6964 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x2 - bne _080C692C - movs r2, 0 - ldrsh r0, [r4, r2] - bl DoBalloonSoundEffect -_080C692C: - movs r3, 0x2 - ldrsh r0, [r4, r3] - movs r2, 0x4 - ldrsh r1, [r4, r2] - ldrh r2, [r4, 0x8] - ldrh r3, [r4] - adds r2, r3 - lsls r2, 16 - lsrs r2, 16 - bl MapGridSetMetatileIdAt - movs r1, 0x2 - ldrsh r0, [r4, r1] - movs r2, 0x4 - ldrsh r1, [r4, r2] - bl CurrentMapDrawMetatileAt - ldrh r1, [r4, 0x8] - movs r3, 0x8 - ldrsh r0, [r4, r3] - cmp r0, 0x3 - bne _080C6960 - adds r0, r5, 0 - bl DestroyTask - b _080C6964 -_080C6960: - adds r0, r1, 0x1 - strh r0, [r4, 0x8] -_080C6964: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80C68EC - - thumb_func_start DoBalloonSoundEffect -DoBalloonSoundEffect: @ 80C696C - push {lr} - lsls r0, 16 - asrs r1, r0, 16 - movs r0, 0xCE - lsls r0, 2 - cmp r1, r0 - beq _080C6998 - cmp r1, r0 - bgt _080C6988 - movs r0, 0x8A - lsls r0, 2 - cmp r1, r0 - beq _080C69B0 - b _080C69B6 -_080C6988: - movs r0, 0xCF - lsls r0, 2 - cmp r1, r0 - beq _080C69A0 - adds r0, 0x4 - cmp r1, r0 - beq _080C69A8 - b _080C69B6 -_080C6998: - movs r0, 0x4A - bl PlaySE - b _080C69B6 -_080C69A0: - movs r0, 0x4B - bl PlaySE - b _080C69B6 -_080C69A8: - movs r0, 0x4C - bl PlaySE - b _080C69B6 -_080C69B0: - movs r0, 0x4E - bl PlaySE -_080C69B6: - pop {r0} - bx r0 - thumb_func_end DoBalloonSoundEffect - - thumb_func_start FldEff_Nop47 -FldEff_Nop47: @ 80C69BC - movs r0, 0 - bx lr - thumb_func_end FldEff_Nop47 - - thumb_func_start FldEff_Nop48 -FldEff_Nop48: @ 80C69C0 - movs r0, 0 - bx lr - thumb_func_end FldEff_Nop48 - - thumb_func_start sub_80C69C4 -sub_80C69C4: @ 80C69C4 - push {r4-r6,lr} - adds r5, r0, 0 - adds r4, r1, 0 - lsls r5, 16 - lsrs r5, 16 - lsls r4, 16 - lsrs r4, 16 - movs r0, 0x4D - bl PlaySE - lsls r5, 16 - asrs r5, 16 - lsls r4, 16 - asrs r4, 16 - ldr r2, _080C6A0C @ =0x00000276 - adds r0, r5, 0 - adds r1, r4, 0 - bl MapGridSetMetatileIdAt - subs r6, r4, 0x1 - ldr r2, _080C6A10 @ =0x0000026e - adds r0, r5, 0 - adds r1, r6, 0 - bl MapGridSetMetatileIdAt - adds r0, r5, 0 - adds r1, r4, 0 - bl CurrentMapDrawMetatileAt - adds r0, r5, 0 - adds r1, r6, 0 - bl CurrentMapDrawMetatileAt - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080C6A0C: .4byte 0x00000276 -_080C6A10: .4byte 0x0000026e - thumb_func_end sub_80C69C4 - - thumb_func_start sub_80C6A14 -sub_80C6A14: @ 80C6A14 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, _080C6A44 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r1, r0, r1 - ldrh r2, [r1, 0x8] - movs r3, 0x8 - ldrsh r0, [r1, r3] - cmp r0, 0x7 - bne _080C6A48 - movs r2, 0xA - ldrsh r0, [r1, r2] - movs r3, 0xC - ldrsh r1, [r1, r3] - bl sub_80C69C4 - adds r0, r4, 0 - bl DestroyTask - b _080C6A4C - .align 2, 0 -_080C6A44: .4byte gTasks -_080C6A48: - adds r0, r2, 0x1 - strh r0, [r1, 0x8] -_080C6A4C: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80C6A14 - - thumb_func_start sub_80C6A54 -sub_80C6A54: @ 80C6A54 - push {r4-r7,lr} - lsls r0, 16 - lsrs r5, r0, 16 - adds r7, r5, 0 - lsls r1, 16 - lsrs r4, r1, 16 - adds r6, r4, 0 - bl player_get_direction_lower_nybble - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080C6A7C - lsls r0, r5, 16 - asrs r0, 16 - lsls r1, r4, 16 - asrs r1, 16 - bl sub_80C69C4 - b _080C6A9E -_080C6A7C: - cmp r0, 0x2 - bne _080C6A9E - ldr r0, _080C6AA4 @ =sub_80C6A14 - movs r1, 0x5 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080C6AA8 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r0, 0 - strh r0, [r1, 0x8] - strh r7, [r1, 0xA] - strh r6, [r1, 0xC] -_080C6A9E: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C6AA4: .4byte sub_80C6A14 -_080C6AA8: .4byte gTasks - thumb_func_end sub_80C6A54 - - thumb_func_start Task_DecorationSoundEffect -Task_DecorationSoundEffect: @ 80C6AAC - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, _080C6AE4 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r1, r0, r1 - ldrh r2, [r1, 0xA] - movs r3, 0xA - ldrsh r0, [r1, r3] - cmp r0, 0x7 - beq _080C6AC8 - b _080C6C26 -_080C6AC8: - ldr r2, _080C6AE8 @ =0xfffffd88 - adds r0, r2, 0 - ldrh r1, [r1, 0x8] - adds r0, r1 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3B - bls _080C6ADA - b _080C6C1E -_080C6ADA: - lsls r0, 2 - ldr r1, _080C6AEC @ =_080C6AF0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080C6AE4: .4byte gTasks -_080C6AE8: .4byte 0xfffffd88 -_080C6AEC: .4byte _080C6AF0 - .align 2, 0 -_080C6AF0: - .4byte _080C6BE0 - .4byte _080C6BE8 - .4byte _080C6BF0 - .4byte _080C6BF8 - .4byte _080C6C00 - .4byte _080C6C08 - .4byte _080C6C10 - .4byte _080C6C1E - .4byte _080C6C1E - .4byte _080C6C1E - .4byte _080C6C1E - .4byte _080C6C1E - .4byte _080C6C1E - .4byte _080C6C1E - .4byte _080C6C1E - .4byte _080C6C1E - .4byte _080C6C1E - .4byte _080C6C1E - .4byte _080C6C1E - .4byte _080C6C1E - .4byte _080C6C1E - .4byte _080C6C1E - .4byte _080C6C1E - .4byte _080C6C1E - .4byte _080C6C1E - .4byte _080C6C1E - .4byte _080C6C1E - .4byte _080C6C1E - .4byte _080C6C1E - .4byte _080C6C1E - .4byte _080C6C1E - .4byte _080C6C1E - .4byte _080C6C1E - .4byte _080C6C1E - .4byte _080C6C1E - .4byte _080C6C1E - .4byte _080C6C1E - .4byte _080C6C1E - .4byte _080C6C1E - .4byte _080C6C1E - .4byte _080C6C1E - .4byte _080C6C1E - .4byte _080C6C1E - .4byte _080C6C1E - .4byte _080C6C1E - .4byte _080C6C1E - .4byte _080C6C1E - .4byte _080C6C1E - .4byte _080C6C1E - .4byte _080C6C1E - .4byte _080C6C1E - .4byte _080C6C1E - .4byte _080C6C1E - .4byte _080C6C1E - .4byte _080C6C1E - .4byte _080C6C1E - .4byte _080C6C1E - .4byte _080C6C1E - .4byte _080C6C1E - .4byte _080C6C18 -_080C6BE0: - movs r0, 0x3E - bl PlaySE - b _080C6C1E -_080C6BE8: - movs r0, 0x3F - bl PlaySE - b _080C6C1E -_080C6BF0: - movs r0, 0x40 - bl PlaySE - b _080C6C1E -_080C6BF8: - movs r0, 0x41 - bl PlaySE - b _080C6C1E -_080C6C00: - movs r0, 0x42 - bl PlaySE - b _080C6C1E -_080C6C08: - movs r0, 0x43 - bl PlaySE - b _080C6C1E -_080C6C10: - movs r0, 0x44 - bl PlaySE - b _080C6C1E -_080C6C18: - movs r0, 0x45 - bl PlaySE -_080C6C1E: - adds r0, r4, 0 - bl DestroyTask - b _080C6C2A -_080C6C26: - adds r0, r2, 0x1 - strh r0, [r1, 0xA] -_080C6C2A: - pop {r4} - pop {r0} - bx r0 - thumb_func_end Task_DecorationSoundEffect - - thumb_func_start DoDecorationSoundEffect -DoDecorationSoundEffect: @ 80C6C30 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r0, _080C6C5C @ =Task_DecorationSoundEffect - movs r1, 0x5 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080C6C60 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r0, 0 - strh r4, [r1, 0x8] - strh r0, [r1, 0xA] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080C6C5C: .4byte Task_DecorationSoundEffect -_080C6C60: .4byte gTasks - thumb_func_end DoDecorationSoundEffect - - thumb_func_start SpriteCB_YellowCave4Sparkle -SpriteCB_YellowCave4Sparkle: @ 80C6C64 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x8 - bne _080C6C7C - movs r0, 0xC3 - bl PlaySE -_080C6C7C: - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0x1F - ble _080C6C8A - adds r0, r4, 0 - bl DestroySprite -_080C6C8A: - pop {r4} - pop {r0} - bx r0 - thumb_func_end SpriteCB_YellowCave4Sparkle - - thumb_func_start DoYellowCave4Sparkle -DoYellowCave4Sparkle: @ 80C6C90 - push {r4,lr} - sub sp, 0x4 - ldr r3, _080C6D28 @ =gMapObjects - ldr r2, _080C6D2C @ =gPlayerAvatar - ldrb r1, [r2, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r1, [r0, 0x10] - mov r0, sp - strh r1, [r0] - ldrb r1, [r2, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r0, [r0, 0x12] - mov r4, sp - adds r4, 0x2 - strh r0, [r4] - mov r0, sp - adds r1, r4, 0 - movs r2, 0x8 - movs r3, 0x4 - bl sub_8060470 - ldr r0, _080C6D30 @ =gFieldEffectObjectTemplatePointers - ldr r0, [r0, 0x58] - mov r1, sp - movs r2, 0 - ldrsh r1, [r1, r2] - movs r3, 0 - ldrsh r2, [r4, r3] - movs r3, 0 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _080C6D1E - ldr r3, _080C6D34 @ =gSprites - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r4, r2, r3 - movs r0, 0x3E - adds r0, r4 - mov r12, r0 - ldrb r0, [r0] - movs r1, 0x2 - orrs r0, r1 - mov r1, r12 - strb r0, [r1] - ldrb r1, [r4, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r1 - movs r1, 0x4 - orrs r0, r1 - movs r1, 0xF - ands r0, r1 - movs r1, 0x50 - orrs r0, r1 - strb r0, [r4, 0x5] - adds r3, 0x1C - adds r2, r3 - ldr r0, _080C6D38 @ =SpriteCB_YellowCave4Sparkle - str r0, [r2] - movs r0, 0 - strh r0, [r4, 0x2E] -_080C6D1E: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080C6D28: .4byte gMapObjects -_080C6D2C: .4byte gPlayerAvatar -_080C6D30: .4byte gFieldEffectObjectTemplatePointers -_080C6D34: .4byte gSprites -_080C6D38: .4byte SpriteCB_YellowCave4Sparkle - thumb_func_end DoYellowCave4Sparkle - - thumb_func_start FldEff_SandPillar -FldEff_SandPillar: @ 80C6D3C - push {r4,lr} - sub sp, 0x4 - bl ScriptContext2_Enable - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl GetXYCoordsOneStepInFrontOfPlayer - ldr r1, _080C6D78 @ =gFieldEffectArguments - mov r0, sp - movs r2, 0 - ldrsh r0, [r0, r2] - str r0, [r1, 0x14] - movs r3, 0 - ldrsh r0, [r4, r3] - str r0, [r1, 0x18] - bl player_get_direction_lower_nybble - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - beq _080C6DBC - cmp r0, 0x2 - bgt _080C6D7C - cmp r0, 0x1 - beq _080C6D86 - b _080C6E4C - .align 2, 0 -_080C6D78: .4byte gFieldEffectArguments -_080C6D7C: - cmp r0, 0x3 - beq _080C6DEC - cmp r0, 0x4 - beq _080C6E24 - b _080C6E4C -_080C6D86: - ldr r0, _080C6DB0 @ =gSpriteTemplate_83D26A0 - ldr r3, _080C6DB4 @ =gSprites - ldr r1, _080C6DB8 @ =gPlayerAvatar - ldrb r1, [r1, 0x4] - lsls r2, r1, 4 - adds r2, r1 - lsls r2, 2 - adds r2, r3 - ldrh r1, [r2, 0x2] - lsls r1, 23 - lsrs r1, 7 - movs r3, 0x80 - lsls r3, 12 - adds r1, r3 - asrs r1, 16 - ldrb r2, [r2] - adds r2, 0x20 - movs r3, 0 - bl CreateSprite - b _080C6E4C - .align 2, 0 -_080C6DB0: .4byte gSpriteTemplate_83D26A0 -_080C6DB4: .4byte gSprites -_080C6DB8: .4byte gPlayerAvatar -_080C6DBC: - ldr r0, _080C6DE0 @ =gSpriteTemplate_83D26A0 - ldr r3, _080C6DE4 @ =gSprites - ldr r1, _080C6DE8 @ =gPlayerAvatar - ldrb r1, [r1, 0x4] - lsls r2, r1, 4 - adds r2, r1 - lsls r2, 2 - adds r2, r3 - ldrh r1, [r2, 0x2] - lsls r1, 23 - lsrs r1, 7 - movs r3, 0x80 - lsls r3, 12 - adds r1, r3 - asrs r1, 16 - ldrb r2, [r2] - b _080C6E0C - .align 2, 0 -_080C6DE0: .4byte gSpriteTemplate_83D26A0 -_080C6DE4: .4byte gSprites -_080C6DE8: .4byte gPlayerAvatar -_080C6DEC: - ldr r0, _080C6E14 @ =gSpriteTemplate_83D26A0 - ldr r3, _080C6E18 @ =gSprites - ldr r1, _080C6E1C @ =gPlayerAvatar - ldrb r1, [r1, 0x4] - lsls r2, r1, 4 - adds r2, r1 - lsls r2, 2 - adds r2, r3 - ldrh r1, [r2, 0x2] - lsls r1, 23 - lsrs r1, 7 - ldr r3, _080C6E20 @ =0xfff80000 - adds r1, r3 - asrs r1, 16 - ldrb r2, [r2] - adds r2, 0x10 -_080C6E0C: - movs r3, 0x94 - bl CreateSprite - b _080C6E4C - .align 2, 0 -_080C6E14: .4byte gSpriteTemplate_83D26A0 -_080C6E18: .4byte gSprites -_080C6E1C: .4byte gPlayerAvatar -_080C6E20: .4byte 0xfff80000 -_080C6E24: - ldr r0, _080C6E58 @ =gSpriteTemplate_83D26A0 - ldr r3, _080C6E5C @ =gSprites - ldr r1, _080C6E60 @ =gPlayerAvatar - ldrb r1, [r1, 0x4] - lsls r2, r1, 4 - adds r2, r1 - lsls r2, 2 - adds r2, r3 - ldrh r1, [r2, 0x2] - lsls r1, 23 - lsrs r1, 7 - movs r3, 0xC0 - lsls r3, 13 - adds r1, r3 - asrs r1, 16 - ldrb r2, [r2] - adds r2, 0x10 - movs r3, 0x94 - bl CreateSprite -_080C6E4C: - movs r0, 0 - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080C6E58: .4byte gSpriteTemplate_83D26A0 -_080C6E5C: .4byte gSprites -_080C6E60: .4byte gPlayerAvatar - thumb_func_end FldEff_SandPillar - - thumb_func_start SpriteCB_SandPillar_0 -SpriteCB_SandPillar_0: @ 80C6E64 - push {r4,r5,lr} - adds r5, r0, 0 - movs r0, 0x83 - bl PlaySE - ldr r4, _080C6E90 @ =gFieldEffectArguments - ldr r0, [r4, 0x14] - ldr r1, [r4, 0x18] - subs r1, 0x1 - bl MapGridGetMetatileIdAt - ldr r1, _080C6E94 @ =0x00000286 - cmp r0, r1 - bne _080C6E9C - ldr r0, [r4, 0x14] - ldr r1, [r4, 0x18] - subs r1, 0x1 - ldr r2, _080C6E98 @ =0x00000e02 - bl MapGridSetMetatileIdAt - b _080C6EAA - .align 2, 0 -_080C6E90: .4byte gFieldEffectArguments -_080C6E94: .4byte 0x00000286 -_080C6E98: .4byte 0x00000e02 -_080C6E9C: - ldr r0, [r4, 0x14] - ldr r1, [r4, 0x18] - subs r1, 0x1 - movs r2, 0xA1 - lsls r2, 2 - bl MapGridSetMetatileIdAt -_080C6EAA: - ldr r4, _080C6ED8 @ =gFieldEffectArguments - ldr r0, [r4, 0x14] - ldr r1, [r4, 0x18] - ldr r2, _080C6EDC @ =0x0000020a - bl MapGridSetMetatileIdAt - ldr r0, [r4, 0x14] - ldr r1, [r4, 0x18] - subs r1, 0x1 - bl CurrentMapDrawMetatileAt - ldr r0, [r4, 0x14] - ldr r1, [r4, 0x18] - bl CurrentMapDrawMetatileAt - movs r0, 0 - strh r0, [r5, 0x2E] - ldr r0, _080C6EE0 @ =SpriteCB_SandPillar_1 - str r0, [r5, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080C6ED8: .4byte gFieldEffectArguments -_080C6EDC: .4byte 0x0000020a -_080C6EE0: .4byte SpriteCB_SandPillar_1 - thumb_func_end SpriteCB_SandPillar_0 - - thumb_func_start SpriteCB_SandPillar_1 -SpriteCB_SandPillar_1: @ 80C6EE4 - push {r4,r5,lr} - adds r5, r0, 0 - ldrh r1, [r5, 0x2E] - movs r2, 0x2E - ldrsh r0, [r5, r2] - cmp r0, 0x11 - bgt _080C6EF8 - adds r0, r1, 0x1 - strh r0, [r5, 0x2E] - b _080C6F14 -_080C6EF8: - ldr r4, _080C6F1C @ =gFieldEffectArguments - ldr r0, [r4, 0x14] - ldr r1, [r4, 0x18] - ldr r2, _080C6F20 @ =0x00000e8c - bl MapGridSetMetatileIdAt - ldr r0, [r4, 0x14] - ldr r1, [r4, 0x18] - bl CurrentMapDrawMetatileAt - movs r0, 0 - strh r0, [r5, 0x2E] - ldr r0, _080C6F24 @ =SpriteCB_SandPillar_2 - str r0, [r5, 0x1C] -_080C6F14: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080C6F1C: .4byte gFieldEffectArguments -_080C6F20: .4byte 0x00000e8c -_080C6F24: .4byte SpriteCB_SandPillar_2 - thumb_func_end SpriteCB_SandPillar_1 - - thumb_func_start SpriteCB_SandPillar_2 -SpriteCB_SandPillar_2: @ 80C6F28 - push {lr} - movs r1, 0x34 - bl FieldEffectStop - bl EnableBothScriptContexts - pop {r0} - bx r0 - thumb_func_end SpriteCB_SandPillar_2 - - thumb_func_start GetShieldToyTVDecorationInfo -GetShieldToyTVDecorationInfo: @ 80C6F38 - push {r4,lr} - sub sp, 0x4 - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl GetXYCoordsOneStepInFrontOfPlayer - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r4, r2] - bl MapGridGetMetatileIdAt - adds r1, r0, 0 - ldr r0, _080C6F70 @ =0x000002f5 - cmp r1, r0 - beq _080C6FE8 - cmp r1, r0 - bgt _080C6F74 - subs r0, 0x17 - cmp r1, r0 - beq _080C6FB0 - adds r0, 0x16 - cmp r1, r0 - beq _080C6FDC - b _080C6FFA - .align 2, 0 -_080C6F70: .4byte 0x000002f5 -_080C6F74: - ldr r0, _080C6F9C @ =0x000002f6 - cmp r1, r0 - beq _080C6FF4 - adds r0, 0x40 - cmp r1, r0 - bne _080C6FFA - ldr r0, _080C6FA0 @ =gStringVar1 - movs r1, 0x64 - movs r2, 0 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - ldr r0, _080C6FA4 @ =gStringVar2 - ldr r1, _080C6FA8 @ =gSecretBaseText_GoldRank - bl StringCopy - ldr r1, _080C6FAC @ =gScriptResult - movs r0, 0 - b _080C6FF8 - .align 2, 0 -_080C6F9C: .4byte 0x000002f6 -_080C6FA0: .4byte gStringVar1 -_080C6FA4: .4byte gStringVar2 -_080C6FA8: .4byte gSecretBaseText_GoldRank -_080C6FAC: .4byte gScriptResult -_080C6FB0: - ldr r0, _080C6FCC @ =gStringVar1 - movs r1, 0x32 - movs r2, 0 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - ldr r0, _080C6FD0 @ =gStringVar2 - ldr r1, _080C6FD4 @ =gSecretBaseText_SilverRank - bl StringCopy - ldr r1, _080C6FD8 @ =gScriptResult - movs r0, 0 - b _080C6FF8 - .align 2, 0 -_080C6FCC: .4byte gStringVar1 -_080C6FD0: .4byte gStringVar2 -_080C6FD4: .4byte gSecretBaseText_SilverRank -_080C6FD8: .4byte gScriptResult -_080C6FDC: - ldr r1, _080C6FE4 @ =gScriptResult - movs r0, 0x1 - b _080C6FF8 - .align 2, 0 -_080C6FE4: .4byte gScriptResult -_080C6FE8: - ldr r1, _080C6FF0 @ =gScriptResult - movs r0, 0x2 - b _080C6FF8 - .align 2, 0 -_080C6FF0: .4byte gScriptResult -_080C6FF4: - ldr r1, _080C7004 @ =gScriptResult - movs r0, 0x3 -_080C6FF8: - strh r0, [r1] -_080C6FFA: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080C7004: .4byte gScriptResult - thumb_func_end GetShieldToyTVDecorationInfo - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/fldeff_pc.s b/asm/fldeff_pc.s deleted file mode 100755 index 32afe2050..000000000 --- a/asm/fldeff_pc.s +++ /dev/null @@ -1,190 +0,0 @@ - .include "constants/gba_constants.inc" - .include "constants/species_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start FldEff_PCTurnOn -FldEff_PCTurnOn: @ 80C6718 - push {r4,lr} - sub sp, 0x4 - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl GetXYCoordsOneStepInFrontOfPlayer - ldr r0, _080C6758 @ =sub_80C6760 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080C675C @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - mov r0, sp - ldrh r0, [r0] - movs r2, 0 - strh r0, [r1, 0x8] - ldrh r0, [r4] - strh r0, [r1, 0xA] - strh r2, [r1, 0xC] - movs r0, 0 - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080C6758: .4byte sub_80C6760 -_080C675C: .4byte gTasks - thumb_func_end FldEff_PCTurnOn - - thumb_func_start sub_80C6760 -sub_80C6760: @ 80C6760 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _080C6788 @ =gTasks + 0x8 - adds r4, r0, r1 - ldrh r0, [r4, 0x4] - subs r0, 0x4 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x10 - bhi _080C682E - lsls r0, 2 - ldr r1, _080C678C @ =_080C6790 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080C6788: .4byte gTasks + 0x8 -_080C678C: .4byte _080C6790 - .align 2, 0 -_080C6790: - .4byte _080C67D4 - .4byte _080C682E - .4byte _080C682E - .4byte _080C682E - .4byte _080C67E2 - .4byte _080C682E - .4byte _080C682E - .4byte _080C682E - .4byte _080C67D4 - .4byte _080C682E - .4byte _080C682E - .4byte _080C682E - .4byte _080C67E2 - .4byte _080C682E - .4byte _080C682E - .4byte _080C682E - .4byte _080C6800 -_080C67D4: - movs r1, 0 - ldrsh r0, [r4, r1] - movs r2, 0x2 - ldrsh r1, [r4, r2] - movs r2, 0x89 - lsls r2, 2 - b _080C67EE -_080C67E2: - movs r1, 0 - ldrsh r0, [r4, r1] - movs r2, 0x2 - ldrsh r1, [r4, r2] - movs r2, 0x88 - lsls r2, 2 -_080C67EE: - bl MapGridSetMetatileIdAt - movs r1, 0 - ldrsh r0, [r4, r1] - movs r2, 0x2 - ldrsh r1, [r4, r2] - bl CurrentMapDrawMetatileAt - b _080C682E -_080C6800: - movs r1, 0 - ldrsh r0, [r4, r1] - movs r2, 0x2 - ldrsh r1, [r4, r2] - movs r2, 0x89 - lsls r2, 2 - bl MapGridSetMetatileIdAt - movs r1, 0 - ldrsh r0, [r4, r1] - movs r2, 0x2 - ldrsh r1, [r4, r2] - bl CurrentMapDrawMetatileAt - movs r0, 0x3D - bl FieldEffectActiveListRemove - bl EnableBothScriptContexts - adds r0, r5, 0 - bl DestroyTask - b _080C6834 -_080C682E: - ldrh r0, [r4, 0x4] - adds r0, 0x1 - strh r0, [r4, 0x4] -_080C6834: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80C6760 - - thumb_func_start sub_80C683C -sub_80C683C: @ 80C683C - push {r4,lr} - sub sp, 0x4 - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl GetXYCoordsOneStepInFrontOfPlayer - movs r0, 0x3 - bl PlaySE - ldr r0, _080C6874 @ =0x00004054 - bl VarGet - lsls r0, 16 - cmp r0, 0 - bne _080C6878 - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r4, r2] - movs r2, 0xE2 - lsls r2, 4 - bl MapGridSetMetatileIdAt - b _080C6888 - .align 2, 0 -_080C6874: .4byte 0x00004054 -_080C6878: - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r4, r2] - ldr r2, _080C68A0 @ =0x00000e21 - bl MapGridSetMetatileIdAt -_080C6888: - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r4, r2] - bl CurrentMapDrawMetatileAt - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080C68A0: .4byte 0x00000e21 - thumb_func_end sub_80C683C - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/fldeff_poison.s b/asm/fldeff_poison.s deleted file mode 100755 index e76ccba05..000000000 --- a/asm/fldeff_poison.s +++ /dev/null @@ -1,99 +0,0 @@ - .include "constants/gba_constants.inc" - .include "constants/species_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start Task_FieldPoisonEffect -Task_FieldPoisonEffect: @ 80C7008 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - ldr r1, _080C702C @ =gTasks + 0x8 - adds r1, r0, r1 - movs r3, 0 - ldrsh r0, [r1, r3] - cmp r0, 0x1 - beq _080C7046 - cmp r0, 0x1 - bgt _080C7030 - cmp r0, 0 - beq _080C7036 - b _080C7062 - .align 2, 0 -_080C702C: .4byte gTasks + 0x8 -_080C7030: - cmp r0, 0x2 - beq _080C705A - b _080C7062 -_080C7036: - ldrh r0, [r1, 0x2] - adds r0, 0x2 - strh r0, [r1, 0x2] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x8 - ble _080C7062 - b _080C7052 -_080C7046: - ldrh r0, [r1, 0x2] - subs r0, 0x2 - strh r0, [r1, 0x2] - lsls r0, 16 - cmp r0, 0 - bne _080C7062 -_080C7052: - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _080C7062 -_080C705A: - adds r0, r2, 0 - bl DestroyTask - b _080C706C -_080C7062: - ldr r2, _080C7070 @ =REG_MOSAIC - ldrh r1, [r1, 0x2] - lsls r0, r1, 4 - orrs r0, r1 - strh r0, [r2] -_080C706C: - pop {r0} - bx r0 - .align 2, 0 -_080C7070: .4byte REG_MOSAIC - thumb_func_end Task_FieldPoisonEffect - - thumb_func_start DoFieldPoisonEffect -DoFieldPoisonEffect: @ 80C7074 - push {lr} - movs r0, 0x4F - bl PlaySE - ldr r0, _080C7088 @ =Task_FieldPoisonEffect - movs r1, 0x50 - bl CreateTask - pop {r0} - bx r0 - .align 2, 0 -_080C7088: .4byte Task_FieldPoisonEffect - thumb_func_end DoFieldPoisonEffect - - thumb_func_start FieldPoisonEffectIsRunning -FieldPoisonEffectIsRunning: @ 80C708C - push {lr} - ldr r0, _080C709C @ =Task_FieldPoisonEffect - bl FuncIsActiveTask - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .align 2, 0 -_080C709C: .4byte Task_FieldPoisonEffect - thumb_func_end FieldPoisonEffectIsRunning - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/fldeff_recordmixing.s b/asm/fldeff_recordmixing.s deleted file mode 100755 index 8c79cdef8..000000000 --- a/asm/fldeff_recordmixing.s +++ /dev/null @@ -1,94 +0,0 @@ - .include "constants/gba_constants.inc" - .include "constants/species_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start CreateRecordMixingSprite -CreateRecordMixingSprite: @ 80C71D8 - push {r4,r5,lr} - ldr r0, _080C722C @ =gUnknown_083D2878 - bl LoadSpritePalette - ldr r0, _080C7230 @ =gSpriteTemplate_83D2894 - movs r1, 0 - movs r2, 0 - movs r3, 0x52 - bl CreateSprite - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x40 - beq _080C7238 - lsls r0, r5, 4 - adds r0, r5 - lsls r0, 2 - ldr r1, _080C7234 @ =gSprites - adds r4, r0, r1 - adds r2, r4, 0 - adds r2, 0x20 - adds r3, r4, 0 - adds r3, 0x22 - movs r0, 0x10 - movs r1, 0xD - bl sub_8060388 - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r2] - ldrh r0, [r4, 0x20] - adds r0, 0x10 - strh r0, [r4, 0x20] - ldrh r0, [r4, 0x22] - adds r0, 0x2 - strh r0, [r4, 0x22] - adds r0, r5, 0 - b _080C723A - .align 2, 0 -_080C722C: .4byte gUnknown_083D2878 -_080C7230: .4byte gSpriteTemplate_83D2894 -_080C7234: .4byte gSprites -_080C7238: - movs r0, 0x40 -_080C723A: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end CreateRecordMixingSprite - - thumb_func_start DestroyRecordMixingSprite -DestroyRecordMixingSprite: @ 80C7240 - push {r4-r7,lr} - ldr r4, _080C7274 @ =gSprites - adds r7, r4, 0 - movs r6, 0 - movs r5, 0x3F -_080C724A: - adds r0, r7, 0 - adds r0, 0x14 - adds r0, r6, r0 - ldr r1, [r0] - ldr r0, _080C7278 @ =gSpriteTemplate_83D2894 - cmp r1, r0 - bne _080C7264 - adds r0, r4, 0 - bl FreeSpritePalette - adds r0, r4, 0 - bl DestroySprite -_080C7264: - adds r4, 0x44 - adds r6, 0x44 - subs r5, 0x1 - cmp r5, 0 - bge _080C724A - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C7274: .4byte gSprites -_080C7278: .4byte gSpriteTemplate_83D2894 - thumb_func_end DestroyRecordMixingSprite - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/fldeff_secretpower.s b/asm/fldeff_secretpower.s deleted file mode 100755 index a8e9b5883..000000000 --- a/asm/fldeff_secretpower.s +++ /dev/null @@ -1,640 +0,0 @@ - .include "constants/gba_constants.inc" - .include "constants/species_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start sub_80C6264 -sub_80C6264: @ 80C6264 - push {lr} - ldr r0, _080C6278 @ =gUnknown_0203923C - ldr r1, _080C627C @ =gMapHeader - ldr r1, [r1, 0x4] - bl sub_80BBFD8 - bl sub_80BB5E4 - pop {r0} - bx r0 - .align 2, 0 -_080C6278: .4byte gUnknown_0203923C -_080C627C: .4byte gMapHeader - thumb_func_end sub_80C6264 - - thumb_func_start sub_80C6280 -sub_80C6280: @ 80C6280 - push {lr} - ldr r1, _080C6294 @ =gFieldEffectArguments - ldr r0, [r1, 0x4] - cmp r0, 0x2 - beq _080C62AA - cmp r0, 0x2 - bgt _080C6298 - cmp r0, 0x1 - beq _080C62A2 - b _080C62BE - .align 2, 0 -_080C6294: .4byte gFieldEffectArguments -_080C6298: - cmp r0, 0x3 - beq _080C62AE - cmp r0, 0x4 - beq _080C62B8 - b _080C62BE -_080C62A2: - movs r0, 0x8 - str r0, [r1, 0x14] - movs r0, 0x28 - b _080C62BC -_080C62AA: - movs r0, 0x8 - b _080C62BA -_080C62AE: - movs r0, 0x8 - negs r0, r0 - str r0, [r1, 0x14] - movs r0, 0x18 - b _080C62BC -_080C62B8: - movs r0, 0x18 -_080C62BA: - str r0, [r1, 0x14] -_080C62BC: - str r0, [r1, 0x18] -_080C62BE: - pop {r0} - bx r0 - thumb_func_end sub_80C6280 - - thumb_func_start SetUpFieldMove_SecretPower -SetUpFieldMove_SecretPower: @ 80C62C4 - push {r4,lr} - bl sub_80BB63C - ldr r0, _080C6318 @ =gScriptResult - ldrh r0, [r0] - cmp r0, 0x1 - beq _080C636E - bl player_get_direction_lower_nybble - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _080C636E - ldr r4, _080C631C @ =gUnknown_0203923C - adds r1, r4, 0x2 - adds r0, r4, 0 - bl GetXYCoordsOneStepInFrontOfPlayer - movs r1, 0 - ldrsh r0, [r4, r1] - movs r2, 0x2 - ldrsh r1, [r4, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl MetatileBehavior_IsSecretBaseCave - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080C6330 - bl sub_80C6264 - ldr r1, _080C6320 @ =gFieldCallback - ldr r0, _080C6324 @ =FieldCallback_Teleport - str r0, [r1] - ldr r1, _080C6328 @ =gUnknown_03005CE4 - ldr r0, _080C632C @ =sub_80C639C - b _080C6380 - .align 2, 0 -_080C6318: .4byte gScriptResult -_080C631C: .4byte gUnknown_0203923C -_080C6320: .4byte gFieldCallback -_080C6324: .4byte FieldCallback_Teleport -_080C6328: .4byte gUnknown_03005CE4 -_080C632C: .4byte sub_80C639C -_080C6330: - adds r0, r4, 0 - bl MetatileBehavior_IsSecretBaseTree - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080C6360 - bl sub_80C6264 - ldr r1, _080C6350 @ =gFieldCallback - ldr r0, _080C6354 @ =FieldCallback_Teleport - str r0, [r1] - ldr r1, _080C6358 @ =gUnknown_03005CE4 - ldr r0, _080C635C @ =sub_80C64A8 - b _080C6380 - .align 2, 0 -_080C6350: .4byte gFieldCallback -_080C6354: .4byte FieldCallback_Teleport -_080C6358: .4byte gUnknown_03005CE4 -_080C635C: .4byte sub_80C64A8 -_080C6360: - adds r0, r4, 0 - bl MetatileBehavior_IsSecretBaseShrub - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080C6372 -_080C636E: - movs r0, 0 - b _080C6384 -_080C6372: - bl sub_80C6264 - ldr r1, _080C638C @ =gFieldCallback - ldr r0, _080C6390 @ =FieldCallback_Teleport - str r0, [r1] - ldr r1, _080C6394 @ =gUnknown_03005CE4 - ldr r0, _080C6398 @ =sub_80C660C -_080C6380: - str r0, [r1] - movs r0, 0x1 -_080C6384: - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080C638C: .4byte gFieldCallback -_080C6390: .4byte FieldCallback_Teleport -_080C6394: .4byte gUnknown_03005CE4 -_080C6398: .4byte sub_80C660C - thumb_func_end SetUpFieldMove_SecretPower - - thumb_func_start sub_80C639C -sub_80C639C: @ 80C639C - push {lr} - ldr r1, _080C63B0 @ =gFieldEffectArguments - ldr r0, _080C63B4 @ =gLastFieldPokeMenuOpened - ldrb r0, [r0] - str r0, [r1] - ldr r0, _080C63B8 @ =gUnknown_081A2CE6 - bl ScriptContext1_SetupScript - pop {r0} - bx r0 - .align 2, 0 -_080C63B0: .4byte gFieldEffectArguments -_080C63B4: .4byte gLastFieldPokeMenuOpened -_080C63B8: .4byte gUnknown_081A2CE6 - thumb_func_end sub_80C639C - - thumb_func_start FldEff_UseSecretPowerCave -FldEff_UseSecretPowerCave: @ 80C63BC - push {lr} - bl oei_task_add - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080C63E0 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r2, _080C63E4 @ =sub_80C63E8 - lsrs r0, r2, 16 - strh r0, [r1, 0x18] - strh r2, [r1, 0x1A] - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_080C63E0: .4byte gTasks -_080C63E4: .4byte sub_80C63E8 - thumb_func_end FldEff_UseSecretPowerCave - - thumb_func_start sub_80C63E8 -sub_80C63E8: @ 80C63E8 - push {lr} - movs r0, 0xB - bl FieldEffectActiveListRemove - movs r0, 0x37 - bl FieldEffectStart - pop {r0} - bx r0 - thumb_func_end sub_80C63E8 - - thumb_func_start FldEff_SecretPowerCave -FldEff_SecretPowerCave: @ 80C63FC - push {r4,lr} - bl sub_80C6280 - ldr r0, _080C643C @ =gSpriteTemplate_83D2614 - ldr r3, _080C6440 @ =gSprites - ldr r1, _080C6444 @ =gPlayerAvatar - ldrb r1, [r1, 0x4] - lsls r2, r1, 4 - adds r2, r1 - lsls r2, 2 - adds r2, r3 - ldrh r1, [r2, 0x2] - lsls r1, 23 - lsrs r1, 23 - ldr r4, _080C6448 @ =gFieldEffectArguments - ldr r3, [r4, 0x14] - adds r1, r3 - lsls r1, 16 - asrs r1, 16 - ldrb r2, [r2] - ldr r3, [r4, 0x18] - adds r2, r3 - lsls r2, 16 - asrs r2, 16 - movs r3, 0x94 - bl CreateSprite - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080C643C: .4byte gSpriteTemplate_83D2614 -_080C6440: .4byte gSprites -_080C6444: .4byte gPlayerAvatar -_080C6448: .4byte gFieldEffectArguments - thumb_func_end FldEff_SecretPowerCave - - thumb_func_start sub_80C644C -sub_80C644C: @ 80C644C - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x83 - bl PlaySE - movs r0, 0 - strh r0, [r4, 0x2E] - ldr r0, _080C6464 @ =sub_80C6468 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080C6464: .4byte sub_80C6468 - thumb_func_end sub_80C644C - - thumb_func_start sub_80C6468 -sub_80C6468: @ 80C6468 - push {lr} - adds r1, r0, 0 - ldrh r2, [r1, 0x2E] - movs r3, 0x2E - ldrsh r0, [r1, r3] - cmp r0, 0x27 - bgt _080C6488 - adds r0, r2, 0x1 - strh r0, [r1, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x14 - bne _080C6490 - bl sub_80BB800 - b _080C6490 -_080C6488: - movs r0, 0 - strh r0, [r1, 0x2E] - ldr r0, _080C6494 @ =sub_80C6498 - str r0, [r1, 0x1C] -_080C6490: - pop {r0} - bx r0 - .align 2, 0 -_080C6494: .4byte sub_80C6498 - thumb_func_end sub_80C6468 - - thumb_func_start sub_80C6498 -sub_80C6498: @ 80C6498 - push {lr} - movs r1, 0x37 - bl FieldEffectStop - bl EnableBothScriptContexts - pop {r0} - bx r0 - thumb_func_end sub_80C6498 - - thumb_func_start sub_80C64A8 -sub_80C64A8: @ 80C64A8 - push {lr} - ldr r1, _080C64BC @ =gFieldEffectArguments - ldr r0, _080C64C0 @ =gLastFieldPokeMenuOpened - ldrb r0, [r0] - str r0, [r1] - ldr r0, _080C64C4 @ =gUnknown_081A2D3E - bl ScriptContext1_SetupScript - pop {r0} - bx r0 - .align 2, 0 -_080C64BC: .4byte gFieldEffectArguments -_080C64C0: .4byte gLastFieldPokeMenuOpened -_080C64C4: .4byte gUnknown_081A2D3E - thumb_func_end sub_80C64A8 - - thumb_func_start FldEff_UseSecretPowerTree -FldEff_UseSecretPowerTree: @ 80C64C8 - push {lr} - bl oei_task_add - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080C64EC @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r2, _080C64F0 @ =sub_80C64F4 - lsrs r0, r2, 16 - strh r0, [r1, 0x18] - strh r2, [r1, 0x1A] - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_080C64EC: .4byte gTasks -_080C64F0: .4byte sub_80C64F4 - thumb_func_end FldEff_UseSecretPowerTree - - thumb_func_start sub_80C64F4 -sub_80C64F4: @ 80C64F4 - push {lr} - movs r0, 0x1A - bl FieldEffectActiveListRemove - movs r0, 0x38 - bl FieldEffectStart - pop {r0} - bx r0 - thumb_func_end sub_80C64F4 - - thumb_func_start FldEff_SecretPowerTree -FldEff_SecretPowerTree: @ 80C6508 - push {r4,lr} - ldr r1, _080C6580 @ =gUnknown_0203923C - movs r2, 0 - ldrsh r0, [r1, r2] - movs r2, 0x2 - ldrsh r1, [r1, r2] - bl MapGridGetMetatileBehaviorAt - adds r2, r0, 0 - ldr r1, _080C6584 @ =0x00000fff - adds r0, r1, 0 - ands r2, r0 - cmp r2, 0x96 - bne _080C652A - ldr r1, _080C6588 @ =gFieldEffectArguments - movs r0, 0 - str r0, [r1, 0x1C] -_080C652A: - cmp r2, 0x9C - bne _080C6534 - ldr r1, _080C6588 @ =gFieldEffectArguments - movs r0, 0x2 - str r0, [r1, 0x1C] -_080C6534: - bl sub_80C6280 - ldr r0, _080C658C @ =gSpriteTemplate_83D262C - ldr r3, _080C6590 @ =gSprites - ldr r1, _080C6594 @ =gPlayerAvatar - ldrb r1, [r1, 0x4] - lsls r2, r1, 4 - adds r2, r1 - lsls r2, 2 - adds r2, r3 - ldrh r1, [r2, 0x2] - lsls r1, 23 - lsrs r1, 23 - ldr r4, _080C6588 @ =gFieldEffectArguments - ldr r3, [r4, 0x14] - adds r1, r3 - lsls r1, 16 - asrs r1, 16 - ldrb r2, [r2] - ldr r3, [r4, 0x18] - adds r2, r3 - lsls r2, 16 - asrs r2, 16 - movs r3, 0x94 - bl CreateSprite - ldr r0, [r4, 0x1C] - cmp r0, 0x1 - beq _080C6572 - cmp r0, 0x3 - bne _080C6576 -_080C6572: - bl sub_80BB800 -_080C6576: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080C6580: .4byte gUnknown_0203923C -_080C6584: .4byte 0x00000fff -_080C6588: .4byte gFieldEffectArguments -_080C658C: .4byte gSpriteTemplate_83D262C -_080C6590: .4byte gSprites -_080C6594: .4byte gPlayerAvatar - thumb_func_end FldEff_SecretPowerTree - - thumb_func_start sub_80C6598 -sub_80C6598: @ 80C6598 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x9B - bl PlaySE - ldr r0, _080C65BC @ =gFieldEffectArguments - ldr r1, [r0, 0x1C] - adds r2, r4, 0 - adds r2, 0x2A - movs r0, 0 - strb r1, [r2] - strh r0, [r4, 0x2E] - ldr r0, _080C65C0 @ =sub_80C65C4 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080C65BC: .4byte gFieldEffectArguments -_080C65C0: .4byte sub_80C65C4 - thumb_func_end sub_80C6598 - - thumb_func_start sub_80C65C4 -sub_80C65C4: @ 80C65C4 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x27 - ble _080C65EE - ldr r0, _080C65F4 @ =gFieldEffectArguments - ldr r0, [r0, 0x1C] - cmp r0, 0 - beq _080C65E2 - cmp r0, 0x2 - bne _080C65E6 -_080C65E2: - bl sub_80BB800 -_080C65E6: - movs r0, 0 - strh r0, [r4, 0x2E] - ldr r0, _080C65F8 @ =sub_80C65FC - str r0, [r4, 0x1C] -_080C65EE: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080C65F4: .4byte gFieldEffectArguments -_080C65F8: .4byte sub_80C65FC - thumb_func_end sub_80C65C4 - - thumb_func_start sub_80C65FC -sub_80C65FC: @ 80C65FC - push {lr} - movs r1, 0x38 - bl FieldEffectStop - bl EnableBothScriptContexts - pop {r0} - bx r0 - thumb_func_end sub_80C65FC - - thumb_func_start sub_80C660C -sub_80C660C: @ 80C660C - push {lr} - ldr r1, _080C6620 @ =gFieldEffectArguments - ldr r0, _080C6624 @ =gLastFieldPokeMenuOpened - ldrb r0, [r0] - str r0, [r1] - ldr r0, _080C6628 @ =gUnknown_081A2D96 - bl ScriptContext1_SetupScript - pop {r0} - bx r0 - .align 2, 0 -_080C6620: .4byte gFieldEffectArguments -_080C6624: .4byte gLastFieldPokeMenuOpened -_080C6628: .4byte gUnknown_081A2D96 - thumb_func_end sub_80C660C - - thumb_func_start FldEff_UseSecretPowerShrub -FldEff_UseSecretPowerShrub: @ 80C662C - push {lr} - bl oei_task_add - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080C6650 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r2, _080C6654 @ =sub_80C6658 - lsrs r0, r2, 16 - strh r0, [r1, 0x18] - strh r2, [r1, 0x1A] - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_080C6650: .4byte gTasks -_080C6654: .4byte sub_80C6658 - thumb_func_end FldEff_UseSecretPowerShrub - - thumb_func_start sub_80C6658 -sub_80C6658: @ 80C6658 - push {lr} - movs r0, 0x1B - bl FieldEffectActiveListRemove - movs r0, 0x39 - bl FieldEffectStart - pop {r0} - bx r0 - thumb_func_end sub_80C6658 - - thumb_func_start FldEff_SecretPowerShrub -FldEff_SecretPowerShrub: @ 80C666C - push {r4,lr} - bl sub_80C6280 - ldr r0, _080C66AC @ =gSpriteTemplate_83D2644 - ldr r3, _080C66B0 @ =gSprites - ldr r1, _080C66B4 @ =gPlayerAvatar - ldrb r1, [r1, 0x4] - lsls r2, r1, 4 - adds r2, r1 - lsls r2, 2 - adds r2, r3 - ldrh r1, [r2, 0x2] - lsls r1, 23 - lsrs r1, 23 - ldr r4, _080C66B8 @ =gFieldEffectArguments - ldr r3, [r4, 0x14] - adds r1, r3 - lsls r1, 16 - asrs r1, 16 - ldrb r2, [r2] - ldr r3, [r4, 0x18] - adds r2, r3 - lsls r2, 16 - asrs r2, 16 - movs r3, 0x94 - bl CreateSprite - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080C66AC: .4byte gSpriteTemplate_83D2644 -_080C66B0: .4byte gSprites -_080C66B4: .4byte gPlayerAvatar -_080C66B8: .4byte gFieldEffectArguments - thumb_func_end FldEff_SecretPowerShrub - - thumb_func_start sub_80C66BC -sub_80C66BC: @ 80C66BC - push {r4,lr} - adds r4, r0, 0 - movs r0, 0xA9 - bl PlaySE - movs r0, 0 - strh r0, [r4, 0x2E] - ldr r0, _080C66D4 @ =sub_80C66D8 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080C66D4: .4byte sub_80C66D8 - thumb_func_end sub_80C66BC - - thumb_func_start sub_80C66D8 -sub_80C66D8: @ 80C66D8 - push {lr} - adds r1, r0, 0 - ldrh r2, [r1, 0x2E] - movs r3, 0x2E - ldrsh r0, [r1, r3] - cmp r0, 0x27 - bgt _080C66F8 - adds r0, r2, 0x1 - strh r0, [r1, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x14 - bne _080C6700 - bl sub_80BB800 - b _080C6700 -_080C66F8: - movs r0, 0 - strh r0, [r1, 0x2E] - ldr r0, _080C6704 @ =sub_80C6708 - str r0, [r1, 0x1C] -_080C6700: - pop {r0} - bx r0 - .align 2, 0 -_080C6704: .4byte sub_80C6708 - thumb_func_end sub_80C66D8 - - thumb_func_start sub_80C6708 -sub_80C6708: @ 80C6708 - push {lr} - movs r1, 0x39 - bl FieldEffectStop - bl EnableBothScriptContexts - pop {r0} - bx r0 - thumb_func_end sub_80C6708 - - .align 2, 0 @ Don't pad with nop. |