diff options
Diffstat (limited to 'asm')
-rw-r--r-- | asm/bike.s | 897 | ||||
-rw-r--r-- | asm/field_player_avatar.s | 5647 | ||||
-rw-r--r-- | asm/overworld.s | 8010 | ||||
-rw-r--r-- | asm/pokemon_summary_screen.s | 12 |
4 files changed, 6 insertions, 14560 deletions
diff --git a/asm/bike.s b/asm/bike.s deleted file mode 100644 index e73e906bc..000000000 --- a/asm/bike.s +++ /dev/null @@ -1,897 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_80BD09C -sub_80BD09C: @ 80BD09C - push {r4,lr} - sub sp, 0x4 - mov r3, sp - strb r0, [r3] - lsls r1, 16 - lsrs r1, 16 - lsls r2, 16 - lsrs r2, 16 - ldr r4, _080BD0D0 @ =gUnknown_83E7CFC - mov r0, sp - bl sub_80BD0D4 - lsls r0, 24 - lsrs r0, 22 - adds r0, r4 - mov r1, sp - ldrb r1, [r1] - ldr r2, [r0] - adds r0, r1, 0 - bl _call_via_r2 - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080BD0D0: .4byte gUnknown_83E7CFC - thumb_func_end sub_80BD09C - - thumb_func_start sub_80BD0D4 -sub_80BD0D4: @ 80BD0D4 - push {r4,lr} - lsls r1, 16 - lsrs r1, 16 - lsls r2, 16 - lsrs r2, 16 - ldr r4, _080BD0F8 @ =gUnknown_83E7D10 - ldr r3, _080BD0FC @ =gPlayerAvatar - ldrb r3, [r3, 0x8] - lsls r3, 2 - adds r3, r4 - ldr r3, [r3] - bl _call_via_r3 - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080BD0F8: .4byte gUnknown_83E7D10 -_080BD0FC: .4byte gPlayerAvatar - thumb_func_end sub_80BD0D4 - - thumb_func_start sub_80BD100 -sub_80BD100: @ 80BD100 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - adds r6, r0, 0 - lsls r1, 16 - lsrs r1, 16 - mov r10, r1 - lsls r2, 16 - lsrs r2, 16 - mov r9, r2 - ldr r5, _080BD15C @ =gPlayerAvatar - ldrb r0, [r5, 0x5] - lsls r4, r0, 3 - adds r4, r0 - lsls r4, 2 - ldr r0, _080BD160 @ =gObjectEvents - adds r4, r0 - bl GetPlayerMovementDirection - lsls r0, 24 - lsrs r7, r0, 24 - movs r0, 0 - mov r8, r0 - mov r0, r8 - strb r0, [r5, 0xA] - ldrb r0, [r4, 0x1E] - bl MetatileBehavior_IsCyclingRoadPullDownTile - cmp r0, 0x1 - bne _080BD176 - ldr r0, _080BD164 @ =gMain - ldrh r1, [r0, 0x2C] - movs r2, 0x2 - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _080BD168 - strb r2, [r5, 0x8] - strb r2, [r5, 0x2] - ldrb r0, [r6] - cmp r0, 0x1 - bhi _080BD172 - movs r0, 0x3 - b _080BD1B6 - .align 2, 0 -_080BD15C: .4byte gPlayerAvatar -_080BD160: .4byte gObjectEvents -_080BD164: .4byte gMain -_080BD168: - ldrb r0, [r6] - cmp r0, 0 - beq _080BD17E - strb r2, [r5, 0x8] - strb r2, [r5, 0x2] -_080BD172: - movs r0, 0x4 - b _080BD1B6 -_080BD176: - ldrb r1, [r6] - adds r0, r1, 0 - cmp r0, 0 - bne _080BD18C -_080BD17E: - strb r7, [r6] - ldr r1, _080BD188 @ =gPlayerAvatar - movs r0, 0 - b _080BD1B4 - .align 2, 0 -_080BD188: .4byte gPlayerAvatar -_080BD18C: - cmp r0, r7 - beq _080BD1B0 - ldrb r0, [r5, 0x2] - cmp r0, 0x2 - beq _080BD1B0 - movs r0, 0x1 - strb r0, [r5, 0x8] - strb r1, [r5, 0x9] - mov r0, r8 - strb r0, [r5, 0x2] - adds r0, r6, 0 - mov r1, r10 - mov r2, r9 - bl sub_80BD0D4 - lsls r0, 24 - lsrs r0, 24 - b _080BD1B6 -_080BD1B0: - ldr r1, _080BD1C4 @ =gPlayerAvatar - movs r0, 0x2 -_080BD1B4: - strb r0, [r1, 0x2] -_080BD1B6: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080BD1C4: .4byte gPlayerAvatar - thumb_func_end sub_80BD100 - - thumb_func_start sub_80BD1C8 -sub_80BD1C8: @ 80BD1C8 - push {lr} - ldr r2, _080BD1E4 @ =gPlayerAvatar - ldrb r1, [r2, 0x9] - strb r1, [r0] - movs r1, 0 - movs r0, 0x1 - strb r0, [r2, 0x2] - strb r1, [r2, 0x8] - bl sub_80BD664 - movs r0, 0x1 - pop {r1} - bx r1 - .align 2, 0 -_080BD1E4: .4byte gPlayerAvatar - thumb_func_end sub_80BD1C8 - - thumb_func_start sub_80BD1E8 -sub_80BD1E8: @ 80BD1E8 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r6, r0, 0 - lsls r1, 16 - lsrs r1, 16 - mov r9, r1 - lsls r2, 16 - lsrs r2, 16 - mov r8, r2 - bl GetPlayerMovementDirection - lsls r0, 24 - lsrs r5, r0, 24 - adds r7, r5, 0 - ldr r4, _080BD240 @ =gPlayerAvatar - ldrb r1, [r4, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _080BD244 @ =gObjectEvents - adds r0, r1 - ldrb r0, [r0, 0x1E] - bl MetatileBehavior_IsCyclingRoadPullDownTile - adds r2, r0, 0 - cmp r2, 0x1 - bne _080BD25A - ldrb r1, [r6] - cmp r1, r5 - beq _080BD248 - movs r0, 0 - strb r2, [r4, 0x8] - strb r1, [r4, 0x9] - strb r0, [r4, 0x2] - adds r0, r6, 0 - mov r1, r9 - mov r2, r8 - bl sub_80BD0D4 - lsls r0, 24 - lsrs r0, 24 - b _080BD270 - .align 2, 0 -_080BD240: .4byte gPlayerAvatar -_080BD244: .4byte gObjectEvents -_080BD248: - movs r0, 0x2 - strb r0, [r4, 0x2] - strb r0, [r4, 0x8] - cmp r5, 0x1 - bhi _080BD256 - movs r0, 0x3 - b _080BD270 -_080BD256: - movs r0, 0x4 - b _080BD270 -_080BD25A: - movs r0, 0 - strb r0, [r4, 0x8] - ldrb r0, [r6] - cmp r0, 0 - beq _080BD26A - movs r0, 0x2 - strb r0, [r4, 0x2] - b _080BD270 -_080BD26A: - strb r7, [r6] - strb r0, [r4, 0x2] - movs r0, 0 -_080BD270: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80BD1E8 - - thumb_func_start sub_80BD27C -sub_80BD27C: @ 80BD27C - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl PlayerFaceDirection - pop {r0} - bx r0 - thumb_func_end sub_80BD27C - - thumb_func_start sub_80BD28C -sub_80BD28C: @ 80BD28C - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _080BD2C0 @ =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _080BD2C4 @ =gObjectEvents - adds r5, r0, r1 - ldrb r1, [r5, 0x1E] - adds r0, r4, 0 - bl sub_80BD4F0 - lsls r0, 24 - cmp r0, 0 - bne _080BD2B2 - ldrb r0, [r5, 0x18] - lsrs r4, r0, 4 -_080BD2B2: - adds r0, r4, 0 - bl PlayerFaceDirection - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080BD2C0: .4byte gPlayerAvatar -_080BD2C4: .4byte gObjectEvents - thumb_func_end sub_80BD28C - - thumb_func_start sub_80BD2C8 -sub_80BD2C8: @ 80BD2C8 - push {r4-r6,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r6, r4, 0 - ldr r0, _080BD2F8 @ =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _080BD2FC @ =gObjectEvents - adds r5, r0, r1 - ldrb r1, [r5, 0x1E] - adds r0, r4, 0 - bl sub_80BD4F0 - lsls r0, 24 - cmp r0, 0 - bne _080BD300 - ldrb r0, [r5, 0x18] - lsrs r0, 4 - bl sub_80BD27C - b _080BD350 - .align 2, 0 -_080BD2F8: .4byte gPlayerAvatar -_080BD2FC: .4byte gObjectEvents -_080BD300: - adds r0, r4, 0 - bl sub_80BD3A0 - lsls r0, 24 - lsrs r1, r0, 24 - movs r2, 0xFF - lsls r2, 24 - adds r0, r2 - lsrs r0, 24 - cmp r0, 0xA - bhi _080BD334 - cmp r1, 0x6 - bne _080BD322 - adds r0, r4, 0 - bl sub_805C23C - b _080BD350 -_080BD322: - subs r0, r1, 0x5 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bls _080BD350 - adds r0, r4, 0 - bl PlayerOnBikeCollide - b _080BD350 -_080BD334: - cmp r1, 0xE - beq _080BD342 - adds r0, r4, 0 - bl sub_805BAAC - cmp r0, 0 - beq _080BD34A -_080BD342: - adds r0, r4, 0 - bl sub_805C11C - b _080BD350 -_080BD34A: - adds r0, r6, 0 - bl sub_805C14C -_080BD350: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80BD2C8 - - thumb_func_start sub_80BD358 -sub_80BD358: @ 80BD358 - push {lr} - movs r0, 0x1 - bl sub_80BD3A0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _080BD370 - movs r0, 0x1 - bl sub_805C164 - b _080BD37A -_080BD370: - cmp r0, 0x6 - bne _080BD37A - movs r0, 0x1 - bl sub_805C23C -_080BD37A: - pop {r0} - bx r0 - thumb_func_end sub_80BD358 - - thumb_func_start sub_80BD380 -sub_80BD380: @ 80BD380 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl sub_80BD3A0 - lsls r0, 24 - cmp r0, 0 - bne _080BD398 - adds r0, r4, 0 - bl sub_805C104 -_080BD398: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80BD380 - - thumb_func_start sub_80BD3A0 -sub_80BD3A0: @ 80BD3A0 - push {r4-r6,lr} - sub sp, 0x8 - adds r6, r0, 0 - lsls r6, 24 - lsrs r6, 24 - ldr r0, _080BD404 @ =gPlayerAvatar - ldrb r0, [r0, 0x5] - lsls r4, r0, 3 - adds r4, r0 - lsls r4, 2 - ldr r0, _080BD408 @ =gObjectEvents - adds r4, r0 - ldrh r1, [r4, 0x10] - add r0, sp, 0x4 - strh r1, [r0] - ldrh r0, [r4, 0x12] - mov r5, sp - adds r5, 0x6 - strh r0, [r5] - adds r0, r6, 0 - add r1, sp, 0x4 - adds r2, r5, 0 - bl MoveCoords - add r0, sp, 0x4 - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r5, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - add r1, sp, 0x4 - movs r3, 0 - ldrsh r1, [r1, r3] - movs r3, 0 - ldrsh r2, [r5, r3] - str r0, [sp] - adds r0, r4, 0 - adds r3, r6, 0 - bl sub_80BD40C - lsls r0, 24 - lsrs r0, 24 - add sp, 0x8 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_080BD404: .4byte gPlayerAvatar -_080BD408: .4byte gObjectEvents - thumb_func_end sub_80BD3A0 - - thumb_func_start sub_80BD40C -sub_80BD40C: @ 80BD40C - push {r4-r6,lr} - sub sp, 0x4 - ldr r4, [sp, 0x14] - lsls r3, 24 - lsrs r3, 24 - lsls r4, 24 - lsrs r5, r4, 24 - adds r6, r5, 0 - lsls r1, 16 - asrs r1, 16 - lsls r2, 16 - asrs r2, 16 - str r5, [sp] - bl sub_805BBA8 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x4 - bhi _080BD456 - adds r0, r5, 0 - bl MetatileBehavior_IsCrackedIce - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080BD444 - movs r0, 0xE - b _080BD458 -_080BD444: - cmp r4, 0 - bne _080BD456 - adds r0, r6, 0 - bl sub_80BD4B8 - lsls r0, 24 - cmp r0, 0 - beq _080BD456 - movs r4, 0x2 -_080BD456: - adds r0, r4, 0 -_080BD458: - add sp, 0x4 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80BD40C - - thumb_func_start sub_80BD460 -sub_80BD460: @ 80BD460 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl sub_80BD4B8 - lsls r0, 24 - cmp r0, 0 - bne _080BD478 - ldr r0, _080BD47C @ =gMapHeader - ldrb r0, [r0, 0x17] - cmp r0, 0x8 - bne _080BD480 -_080BD478: - movs r0, 0x1 - b _080BD482 - .align 2, 0 -_080BD47C: .4byte gMapHeader -_080BD480: - movs r0, 0 -_080BD482: - pop {r1} - bx r1 - thumb_func_end sub_80BD460 - - thumb_func_start sub_80BD488 -sub_80BD488: @ 80BD488 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, _080BD4AC @ =gMapHeader - ldrb r1, [r0, 0x19] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080BD4A8 - adds r0, r2, 0 - bl sub_80BD4B8 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080BD4B0 -_080BD4A8: - movs r0, 0x1 - b _080BD4B2 - .align 2, 0 -_080BD4AC: .4byte gMapHeader -_080BD4B0: - movs r0, 0 -_080BD4B2: - pop {r1} - bx r1 - thumb_func_end sub_80BD488 - - thumb_func_start sub_80BD4B8 -sub_80BD4B8: @ 80BD4B8 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl MetatileBehavior_IsMB0A - lsls r0, 24 - cmp r0, 0 - bne _080BD4E2 - adds r0, r4, 0 - bl MetatileBehavior_ReturnFalse_9 - lsls r0, 24 - cmp r0, 0 - beq _080BD4E6 - bl PlayerGetZCoord - movs r1, 0x1 - ands r1, r0 - cmp r1, 0 - bne _080BD4E6 -_080BD4E2: - movs r0, 0x1 - b _080BD4E8 -_080BD4E6: - movs r0, 0 -_080BD4E8: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80BD4B8 - - thumb_func_start sub_80BD4F0 -sub_80BD4F0: @ 80BD4F0 - push {r4,r5,lr} - lsls r0, 24 - lsls r1, 24 - lsrs r4, r1, 24 - adds r5, r4, 0 - movs r1, 0xFD - lsls r1, 24 - adds r0, r1 - lsrs r0, 24 - cmp r0, 0x1 - bhi _080BD51A - adds r0, r4, 0 - bl MetatileBehavior_ReturnFalse_15 - lsls r0, 24 - cmp r0, 0 - bne _080BD532 - adds r0, r4, 0 - bl MetatileBehavior_ReturnFalse_17 - b _080BD52C -_080BD51A: - adds r0, r5, 0 - bl MetatileBehavior_ReturnFalse_16 - lsls r0, 24 - cmp r0, 0 - bne _080BD532 - adds r0, r5, 0 - bl MetatileBehavior_ReturnFalse_18 -_080BD52C: - lsls r0, 24 - cmp r0, 0 - beq _080BD536 -_080BD532: - movs r0, 0 - b _080BD538 -_080BD536: - movs r0, 0x1 -_080BD538: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80BD4F0 - - thumb_func_start sub_80BD540 -sub_80BD540: @ 80BD540 - push {r4,lr} - sub sp, 0x4 - ldr r0, _080BD57C @ =gPlayerAvatar - ldrb r1, [r0] - movs r0, 0x18 - ands r0, r1 - cmp r0, 0 - bne _080BD580 - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl PlayerGetDestCoords - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r4, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl sub_80BD4B8 - lsls r0, 24 - cmp r0, 0 - bne _080BD580 - movs r0, 0 - b _080BD582 - .align 2, 0 -_080BD57C: .4byte gPlayerAvatar -_080BD580: - movs r0, 0x1 -_080BD582: - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80BD540 - - thumb_func_start player_should_look_direction_be_enforced_upon_movement -player_should_look_direction_be_enforced_upon_movement: @ 80BD58C - push {lr} - movs r0, 0x4 - bl TestPlayerAvatarFlags - lsls r0, 24 - cmp r0, 0 - beq _080BD5C0 - ldr r2, _080BD5B8 @ =gObjectEvents - ldr r0, _080BD5BC @ =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x1E] - bl MetatileBehavior_ReturnFalse_14 - lsls r0, 24 - cmp r0, 0 - beq _080BD5C0 - movs r0, 0 - b _080BD5C2 - .align 2, 0 -_080BD5B8: .4byte gObjectEvents -_080BD5BC: .4byte gPlayerAvatar -_080BD5C0: - movs r0, 0x1 -_080BD5C2: - pop {r1} - bx r1 - thumb_func_end player_should_look_direction_be_enforced_upon_movement - - thumb_func_start StartTransitionToFlipBikeState -StartTransitionToFlipBikeState: @ 80BD5C8 - push {r4,lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r1, _080BD5F0 @ =gUnusedBikeCameraAheadPanback - movs r0, 0 - strb r0, [r1] - ldr r0, _080BD5F4 @ =gPlayerAvatar - ldrb r1, [r0] - movs r0, 0x6 - ands r0, r1 - cmp r0, 0 - beq _080BD5F8 - movs r0, 0x1 - bl SetPlayerAvatarTransitionFlags - bl sav1_reset_battle_music_maybe - bl Overworld_PlaySpecialMapMusic - b _080BD618 - .align 2, 0 -_080BD5F0: .4byte gUnusedBikeCameraAheadPanback -_080BD5F4: .4byte gPlayerAvatar -_080BD5F8: - adds r0, r2, 0 - bl SetPlayerAvatarTransitionFlags - movs r4, 0x8D @ MUS_CYCLING - lsls r4, 1 @ MUS_CYCLING - adds r0, r4, 0 - bl sub_8056124 - cmp r0, 0 - beq _080BD618 - adds r0, r4, 0 - bl Overworld_SetSavedMusic - adds r0, r4, 0 - bl Overworld_ChangeMusicTo -_080BD618: - pop {r4} - pop {r0} - bx r0 - thumb_func_end StartTransitionToFlipBikeState - - thumb_func_start sub_80BD620 -sub_80BD620: @ 80BD620 - push {lr} - ldr r2, _080BD64C @ =gPlayerAvatar - movs r3, 0 - strb r3, [r2, 0x8] - strb r3, [r2, 0x9] - strb r3, [r2, 0xA] - strb r3, [r2, 0xB] - str r0, [r2, 0xC] - str r1, [r2, 0x10] - strh r3, [r2, 0x1C] - movs r1, 0 - adds r2, 0x14 -_080BD638: - adds r0, r1, r2 - strb r3, [r0] - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x7 - bls _080BD638 - pop {r0} - bx r0 - .align 2, 0 -_080BD64C: .4byte gPlayerAvatar - thumb_func_end sub_80BD620 - - thumb_func_start Bike_UpdateBikeCounterSpeed -Bike_UpdateBikeCounterSpeed: @ 80BD650 - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080BD660 @ =gPlayerAvatar - strb r0, [r2, 0xA] - lsrs r1, r0, 1 - adds r0, r1 - strb r0, [r2, 0xB] - bx lr - .align 2, 0 -_080BD660: .4byte gPlayerAvatar - thumb_func_end Bike_UpdateBikeCounterSpeed - - thumb_func_start sub_80BD664 -sub_80BD664: @ 80BD664 - ldr r1, _080BD670 @ =gPlayerAvatar - movs r0, 0 - strb r0, [r1, 0xA] - strb r0, [r1, 0xB] - bx lr - .align 2, 0 -_080BD670: .4byte gPlayerAvatar - thumb_func_end sub_80BD664 - - thumb_func_start GetPlayerSpeed -GetPlayerSpeed: @ 80BD674 - push {lr} - sub sp, 0x8 - ldr r1, _080BD69C @ =gUnknown_83E7D1C - mov r0, sp - movs r2, 0x6 - bl memcpy - ldr r2, _080BD6A0 @ =gPlayerAvatar - ldrb r1, [r2] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080BD6A4 - ldrb r0, [r2, 0xA] - lsls r0, 1 - add r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - b _080BD6BE - .align 2, 0 -_080BD69C: .4byte gUnknown_83E7D1C -_080BD6A0: .4byte gPlayerAvatar -_080BD6A4: - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _080BD6B0 - movs r0, 0x3 - b _080BD6BE -_080BD6B0: - movs r0, 0x88 - ands r0, r1 - cmp r0, 0 - bne _080BD6BC - movs r0, 0x1 - b _080BD6BE -_080BD6BC: - movs r0, 0x2 -_080BD6BE: - add sp, 0x8 - pop {r1} - bx r1 - thumb_func_end GetPlayerSpeed - - thumb_func_start Bike_HandleBumpySlopeJump -Bike_HandleBumpySlopeJump: @ 80BD6C4 - push {r4,r5,lr} - sub sp, 0x4 - ldr r5, _080BD714 @ =gPlayerAvatar - ldrb r1, [r5] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _080BD70C - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl PlayerGetDestCoords - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r4, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl MetatileBehavior_ReturnFalse_14 - lsls r0, 24 - cmp r0, 0 - beq _080BD70C - movs r0, 0x2 - strb r0, [r5, 0x8] - bl GetPlayerMovementDirection - lsls r0, 24 - lsrs r0, 24 - bl nullsub_24 -_080BD70C: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080BD714: .4byte gPlayerAvatar - thumb_func_end Bike_HandleBumpySlopeJump - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/field_player_avatar.s b/asm/field_player_avatar.s deleted file mode 100644 index 31123a703..000000000 --- a/asm/field_player_avatar.s +++ /dev/null @@ -1,5647 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_805B3B8 -sub_805B3B8: @ 805B3B8 - push {lr} - adds r1, r0, 0 - movs r0, 0x2E - ldrsh r2, [r1, r0] - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - ldr r2, _0805B3D4 @ =gObjectEvents - adds r0, r2 - ldr r2, _0805B3D8 @ =sub_805B3DC - bl UpdateObjectEventCurrentMovement - pop {r0} - bx r0 - .align 2, 0 -_0805B3D4: .4byte gObjectEvents -_0805B3D8: .4byte sub_805B3DC - thumb_func_end sub_805B3B8 - - thumb_func_start sub_805B3DC -sub_805B3DC: @ 805B3DC - movs r0, 0 - bx lr - thumb_func_end sub_805B3DC - - thumb_func_start sub_805B3E0 -sub_805B3E0: @ 805B3E0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 16 - lsrs r1, 16 - mov r8, r1 - lsls r2, 16 - lsrs r7, r2, 16 - ldr r4, _0805B454 @ =gPlayerAvatar - ldrb r1, [r4, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _0805B458 @ =gObjectEvents - adds r5, r0, r1 - adds r0, r5, 0 - bl sub_805CC40 - ldrb r0, [r4, 0x6] - cmp r0, 0 - bne _0805B448 - bl sub_805B528 - lsls r0, 24 - cmp r0, 0 - bne _0805B448 - adds r0, r5, 0 - adds r1, r6, 0 - bl sub_805B45C - lsls r0, 24 - cmp r0, 0 - bne _0805B448 - adds r0, r5, 0 - bl npc_clear_strange_bits - bl DoPlayerAvatarTransition - bl sub_805B5A0 - lsls r0, 24 - cmp r0, 0 - bne _0805B448 - adds r0, r6, 0 - mov r1, r8 - adds r2, r7, 0 - bl MovePlayerAvatarUsingKeypadInput - bl PlayerAllowForcedMovementIfMovingSameDirection -_0805B448: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0805B454: .4byte gPlayerAvatar -_0805B458: .4byte gObjectEvents - thumb_func_end sub_805B3E0 - - thumb_func_start sub_805B45C -sub_805B45C: @ 805B45C - push {r4,r5,lr} - adds r4, r0, 0 - lsls r1, 24 - lsrs r5, r1, 24 - bl ObjectEventIsMovementOverridden - lsls r0, 24 - cmp r0, 0 - beq _0805B4A6 - adds r0, r4, 0 - bl ObjectEventClearHeldMovementIfFinished - lsls r0, 24 - cmp r0, 0 - bne _0805B4A6 - adds r0, r4, 0 - bl ObjectEventGetHeldMovementActionId - lsls r0, 24 - movs r1, 0xDF - lsls r1, 24 - adds r0, r1 - lsrs r0, 24 - cmp r0, 0x3 - bhi _0805B4A2 - cmp r5, 0 - beq _0805B4A2 - ldrb r0, [r4, 0x18] - lsrs r0, 4 - cmp r0, r5 - beq _0805B4A2 - adds r0, r4, 0 - bl ObjectEventClearHeldMovement - b _0805B4A6 -_0805B4A2: - movs r0, 0x1 - b _0805B4A8 -_0805B4A6: - movs r0, 0 -_0805B4A8: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_805B45C - - thumb_func_start npc_clear_strange_bits -npc_clear_strange_bits: @ 805B4B0 - ldrb r2, [r0, 0x1] - movs r1, 0x11 - negs r1, r1 - ands r1, r2 - movs r2, 0x5 - negs r2, r2 - ands r1, r2 - adds r2, 0x2 - ands r1, r2 - strb r1, [r0, 0x1] - ldr r2, _0805B4D0 @ =gPlayerAvatar - ldrb r1, [r2] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2] - bx lr - .align 2, 0 -_0805B4D0: .4byte gPlayerAvatar - thumb_func_end npc_clear_strange_bits - - thumb_func_start MovePlayerAvatarUsingKeypadInput -MovePlayerAvatarUsingKeypadInput: @ 805B4D4 - push {r4,lr} - lsls r0, 24 - lsrs r3, r0, 24 - lsls r1, 16 - lsrs r4, r1, 16 - lsls r2, 16 - lsrs r2, 16 - ldr r0, _0805B4F8 @ =gPlayerAvatar - ldrb r1, [r0] - movs r0, 0x6 - ands r0, r1 - cmp r0, 0 - beq _0805B4FC - adds r0, r3, 0 - adds r1, r4, 0 - bl sub_80BD09C - b _0805B504 - .align 2, 0 -_0805B4F8: .4byte gPlayerAvatar -_0805B4FC: - adds r0, r3, 0 - adds r1, r2, 0 - bl MovePlayerNotOnBike -_0805B504: - pop {r4} - pop {r0} - bx r0 - thumb_func_end MovePlayerAvatarUsingKeypadInput - - thumb_func_start PlayerAllowForcedMovementIfMovingSameDirection -PlayerAllowForcedMovementIfMovingSameDirection: @ 805B50C - push {lr} - ldr r2, _0805B524 @ =gPlayerAvatar - ldrb r0, [r2, 0x2] - cmp r0, 0x2 - bne _0805B51E - ldrb r1, [r2] - movs r0, 0xDF - ands r0, r1 - strb r0, [r2] -_0805B51E: - pop {r0} - bx r0 - .align 2, 0 -_0805B524: .4byte gPlayerAvatar - thumb_func_end PlayerAllowForcedMovementIfMovingSameDirection - - thumb_func_start sub_805B528 -sub_805B528: @ 805B528 - push {r4,r5,lr} - ldr r5, _0805B58C @ =gPlayerAvatar - ldrb r1, [r5] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0805B598 - ldrb r0, [r5, 0x1C] - bl MetatileBehavior_IsSpinTile - lsls r0, 24 - cmp r0, 0 - beq _0805B598 - ldr r4, _0805B590 @ =gUnknown_2036E30 - ldrb r1, [r5, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _0805B594 @ =gObjectEvents - adds r1, r0, r1 - str r1, [r4] - ldrb r0, [r1] - lsrs r0, 7 - cmp r0, 0 - beq _0805B586 - ldrb r0, [r1, 0x1E] - bl MetatileBehavior_IsStopSpinning - lsls r0, 24 - cmp r0, 0 - bne _0805B598 - ldr r0, [r4] - ldrb r0, [r0, 0x1E] - bl MetatileBehavior_IsSpinTile - lsls r0, 24 - cmp r0, 0 - beq _0805B57A - ldr r0, [r4] - ldrb r0, [r0, 0x1E] - strh r0, [r5, 0x1C] -_0805B57A: - ldr r0, [r4] - bl ObjectEventClearHeldMovement - ldrb r0, [r5, 0x1C] - bl sub_805C2CC -_0805B586: - movs r0, 0x1 - b _0805B59A - .align 2, 0 -_0805B58C: .4byte gPlayerAvatar -_0805B590: .4byte gUnknown_2036E30 -_0805B594: .4byte gObjectEvents -_0805B598: - movs r0, 0 -_0805B59A: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_805B528 - - thumb_func_start sub_805B5A0 -sub_805B5A0: @ 805B5A0 - push {r4-r7,lr} - sub sp, 0x4 - ldr r3, _0805B5F4 @ =gPlayerAvatar - ldrb r1, [r3] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - bne _0805B610 - ldr r2, _0805B5F8 @ =gObjectEvents - ldrb r1, [r3, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r7, [r0, 0x1E] - movs r6, 0 - ldr r0, _0805B5FC @ =gUnknown_835B764 - ldr r1, [r0] - adds r2, r0, 0 - cmp r1, 0 - beq _0805B628 - movs r5, 0 -_0805B5CC: - adds r4, r5, 0 - adds r0, r4, r2 - ldr r1, [r0] - adds r0, r7, 0 - str r2, [sp] - bl _call_via_r1 - lsls r0, 24 - ldr r2, [sp] - cmp r0, 0 - bne _0805B600 - adds r5, 0x8 - adds r6, 0x1 - adds r0, r5, r2 - ldr r0, [r0] - ldr r2, _0805B5FC @ =gUnknown_835B764 - cmp r0, 0 - bne _0805B5CC - b _0805B628 - .align 2, 0 -_0805B5F4: .4byte gPlayerAvatar -_0805B5F8: .4byte gObjectEvents -_0805B5FC: .4byte gUnknown_835B764 -_0805B600: - ldr r0, _0805B60C @ =gPlayerAvatar - strh r7, [r0, 0x1C] - adds r0, r2, 0x4 - adds r0, r5, r0 - b _0805B62E - .align 2, 0 -_0805B60C: .4byte gPlayerAvatar -_0805B610: - movs r6, 0 - ldr r0, _0805B640 @ =gUnknown_835B764 - ldr r1, [r0] - adds r2, r0, 0 - cmp r1, 0 - beq _0805B628 - adds r1, r2, 0 -_0805B61E: - adds r1, 0x8 - adds r6, 0x1 - ldr r0, [r1] - cmp r0, 0 - bne _0805B61E -_0805B628: - lsls r0, r6, 3 - adds r1, r2, 0x4 - adds r0, r1 -_0805B62E: - ldr r0, [r0] - bl _call_via_r0 - lsls r0, 24 - lsrs r0, 24 - add sp, 0x4 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0805B640: .4byte gUnknown_835B764 - thumb_func_end sub_805B5A0 - - thumb_func_start ForcedMovement_None -ForcedMovement_None: @ 805B644 - push {r4,lr} - ldr r4, _0805B688 @ =gPlayerAvatar - ldrb r1, [r4] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0805B67E - ldrb r1, [r4, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _0805B68C @ =gObjectEvents - adds r0, r1 - ldrb r2, [r0, 0x1] - movs r1, 0x3 - negs r1, r1 - ands r1, r2 - movs r2, 0x8 - orrs r1, r2 - strb r1, [r0, 0x1] - ldrb r1, [r0, 0x18] - lsls r1, 28 - lsrs r1, 28 - bl SetObjectEventDirection - ldrb r1, [r4] - movs r0, 0xBF - ands r0, r1 - strb r0, [r4] -_0805B67E: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0805B688: .4byte gPlayerAvatar -_0805B68C: .4byte gObjectEvents - thumb_func_end ForcedMovement_None - - thumb_func_start DoForcedMovement -DoForcedMovement: @ 805B690 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - mov r9, r1 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r6, _0805B6D0 @ =gPlayerAvatar - adds r0, r5, 0 - bl sub_805BB1C - lsls r0, 24 - lsrs r4, r0, 24 - adds r7, r4, 0 - ldrb r0, [r6] - movs r1, 0x40 - mov r10, r1 - movs r1, 0 - mov r8, r1 - mov r1, r10 - orrs r0, r1 - strb r0, [r6] - cmp r4, 0 - beq _0805B6EC - bl ForcedMovement_None - cmp r4, 0x4 - bhi _0805B6D4 - movs r0, 0 - b _0805B6F8 - .align 2, 0 -_0805B6D0: .4byte gPlayerAvatar -_0805B6D4: - cmp r7, 0x6 - bne _0805B6DE - adds r0, r5, 0 - bl sub_805C23C -_0805B6DE: - ldrb r0, [r6] - mov r1, r10 - orrs r0, r1 - strb r0, [r6] - movs r0, 0x2 - strb r0, [r6, 0x2] - b _0805B6F6 -_0805B6EC: - movs r0, 0x2 - strb r0, [r6, 0x2] - adds r0, r5, 0 - bl _call_via_r9 -_0805B6F6: - movs r0, 0x1 -_0805B6F8: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end DoForcedMovement - - thumb_func_start DoForcedMovementInCurrentDirection -DoForcedMovementInCurrentDirection: @ 805B708 - push {lr} - adds r1, r0, 0 - ldr r0, _0805B734 @ =gPlayerAvatar - ldrb r2, [r0, 0x5] - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - ldr r2, _0805B738 @ =gObjectEvents - adds r0, r2 - ldrb r2, [r0, 0x1] - movs r3, 0x4 - orrs r2, r3 - strb r2, [r0, 0x1] - ldrb r0, [r0, 0x18] - lsrs r0, 4 - bl DoForcedMovement - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .align 2, 0 -_0805B734: .4byte gPlayerAvatar -_0805B738: .4byte gObjectEvents - thumb_func_end DoForcedMovementInCurrentDirection - - thumb_func_start ForcedMovement_Slip -ForcedMovement_Slip: @ 805B73C - push {lr} - ldr r0, _0805B74C @ =sub_805C11C - bl DoForcedMovementInCurrentDirection - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .align 2, 0 -_0805B74C: .4byte sub_805C11C - thumb_func_end ForcedMovement_Slip - - thumb_func_start sub_805B750 -sub_805B750: @ 805B750 - push {lr} - ldr r1, _0805B764 @ =sub_805C104 - movs r0, 0x1 - bl DoForcedMovement - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .align 2, 0 -_0805B764: .4byte sub_805C104 - thumb_func_end sub_805B750 - - thumb_func_start sub_805B768 -sub_805B768: @ 805B768 - push {lr} - ldr r1, _0805B77C @ =sub_805C104 - movs r0, 0x2 - bl DoForcedMovement - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .align 2, 0 -_0805B77C: .4byte sub_805C104 - thumb_func_end sub_805B768 - - thumb_func_start sub_805B780 -sub_805B780: @ 805B780 - push {lr} - ldr r1, _0805B794 @ =sub_805C104 - movs r0, 0x3 - bl DoForcedMovement - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .align 2, 0 -_0805B794: .4byte sub_805C104 - thumb_func_end sub_805B780 - - thumb_func_start sub_805B798 -sub_805B798: @ 805B798 - push {lr} - ldr r1, _0805B7AC @ =sub_805C104 - movs r0, 0x4 - bl DoForcedMovement - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .align 2, 0 -_0805B7AC: .4byte sub_805C104 - thumb_func_end sub_805B798 - - thumb_func_start sub_805B7B0 -sub_805B7B0: @ 805B7B0 - push {lr} - bl sub_805B820 - ldr r1, _0805B7C8 @ =sub_805C2B4 - movs r0, 0x4 - bl DoForcedMovement - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .align 2, 0 -_0805B7C8: .4byte sub_805C2B4 - thumb_func_end sub_805B7B0 - - thumb_func_start sub_805B7CC -sub_805B7CC: @ 805B7CC - push {lr} - bl sub_805B820 - ldr r1, _0805B7E4 @ =sub_805C2B4 - movs r0, 0x3 - bl DoForcedMovement - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .align 2, 0 -_0805B7E4: .4byte sub_805C2B4 - thumb_func_end sub_805B7CC - - thumb_func_start sub_805B7E8 -sub_805B7E8: @ 805B7E8 - push {lr} - bl sub_805B820 - ldr r1, _0805B800 @ =sub_805C2B4 - movs r0, 0x2 - bl DoForcedMovement - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .align 2, 0 -_0805B800: .4byte sub_805C2B4 - thumb_func_end sub_805B7E8 - - thumb_func_start sub_805B804 -sub_805B804: @ 805B804 - push {lr} - bl sub_805B820 - ldr r1, _0805B81C @ =sub_805C2B4 - movs r0, 0x1 - bl DoForcedMovement - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .align 2, 0 -_0805B81C: .4byte sub_805C2B4 - thumb_func_end sub_805B804 - - thumb_func_start sub_805B820 -sub_805B820: @ 805B820 - push {lr} - movs r0, 0x99 - bl PlaySE - pop {r0} - bx r0 - thumb_func_end sub_805B820 - - thumb_func_start sub_805B82C -sub_805B82C: @ 805B82C - push {lr} - ldr r1, _0805B840 @ =sub_805C14C - movs r0, 0x1 - bl DoForcedMovement - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .align 2, 0 -_0805B840: .4byte sub_805C14C - thumb_func_end sub_805B82C - - thumb_func_start sub_805B844 -sub_805B844: @ 805B844 - push {lr} - ldr r1, _0805B858 @ =sub_805C14C - movs r0, 0x2 - bl DoForcedMovement - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .align 2, 0 -_0805B858: .4byte sub_805C14C - thumb_func_end sub_805B844 - - thumb_func_start sub_805B85C -sub_805B85C: @ 805B85C - push {lr} - ldr r1, _0805B870 @ =sub_805C14C - movs r0, 0x3 - bl DoForcedMovement - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .align 2, 0 -_0805B870: .4byte sub_805C14C - thumb_func_end sub_805B85C - - thumb_func_start sub_805B874 -sub_805B874: @ 805B874 - push {lr} - ldr r1, _0805B888 @ =sub_805C14C - movs r0, 0x4 - bl DoForcedMovement - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .align 2, 0 -_0805B888: .4byte sub_805C14C - thumb_func_end sub_805B874 - - thumb_func_start ForcedMovement_Slide -ForcedMovement_Slide: @ 805B88C - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0805B8BC @ =gPlayerAvatar - ldrb r3, [r2, 0x5] - lsls r2, r3, 3 - adds r2, r3 - lsls r2, 2 - ldr r3, _0805B8C0 @ =gObjectEvents - adds r2, r3 - ldrb r3, [r2, 0x1] - movs r4, 0x4 - orrs r3, r4 - movs r4, 0x2 - orrs r3, r4 - strb r3, [r2, 0x1] - bl DoForcedMovement - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0805B8BC: .4byte gPlayerAvatar -_0805B8C0: .4byte gObjectEvents - thumb_func_end ForcedMovement_Slide - - thumb_func_start ForcedMovement_SlideSouth -ForcedMovement_SlideSouth: @ 805B8C4 - push {lr} - ldr r1, _0805B8D8 @ =sub_805C11C - movs r0, 0x1 - bl ForcedMovement_Slide - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .align 2, 0 -_0805B8D8: .4byte sub_805C11C - thumb_func_end ForcedMovement_SlideSouth - - thumb_func_start ForcedMovement_SlideNorth -ForcedMovement_SlideNorth: @ 805B8DC - push {lr} - ldr r1, _0805B8F0 @ =sub_805C11C - movs r0, 0x2 - bl ForcedMovement_Slide - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .align 2, 0 -_0805B8F0: .4byte sub_805C11C - thumb_func_end ForcedMovement_SlideNorth - - thumb_func_start ForcedMovement_SlideWest -ForcedMovement_SlideWest: @ 805B8F4 - push {lr} - ldr r1, _0805B908 @ =sub_805C11C - movs r0, 0x3 - bl ForcedMovement_Slide - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .align 2, 0 -_0805B908: .4byte sub_805C11C - thumb_func_end ForcedMovement_SlideWest - - thumb_func_start ForcedMovement_SlideEast -ForcedMovement_SlideEast: @ 805B90C - push {lr} - ldr r1, _0805B920 @ =sub_805C11C - movs r0, 0x4 - bl ForcedMovement_Slide - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .align 2, 0 -_0805B920: .4byte sub_805C11C - thumb_func_end ForcedMovement_SlideEast - - thumb_func_start sub_805B924 -sub_805B924: @ 805B924 - push {lr} - bl sub_805CE80 - movs r0, 0x1 - pop {r1} - bx r1 - thumb_func_end sub_805B924 - - thumb_func_start sub_805B930 -sub_805B930: @ 805B930 - push {lr} - bl sub_805CF58 - movs r0, 0x1 - pop {r1} - bx r1 - thumb_func_end sub_805B930 - - thumb_func_start MovePlayerNotOnBike -MovePlayerNotOnBike: @ 805B93C - push {r4-r6,lr} - adds r4, r0, 0 - adds r5, r1, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 16 - lsrs r5, 16 - ldr r6, _0805B968 @ =gUnknown_835B814 - adds r0, r4, 0 - bl CheckMovementInputNotOnBike - lsls r0, 24 - lsrs r0, 22 - adds r0, r6 - ldr r2, [r0] - adds r0, r4, 0 - adds r1, r5, 0 - bl _call_via_r2 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0805B968: .4byte gUnknown_835B814 - thumb_func_end MovePlayerNotOnBike - - thumb_func_start CheckMovementInputNotOnBike -CheckMovementInputNotOnBike: @ 805B96C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _0805B984 - ldr r0, _0805B980 @ =gPlayerAvatar - strb r4, [r0, 0x2] - movs r0, 0 - b _0805B9A6 - .align 2, 0 -_0805B980: .4byte gPlayerAvatar -_0805B984: - bl GetPlayerMovementDirection - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - beq _0805B9A0 - ldr r1, _0805B99C @ =gPlayerAvatar - ldrb r0, [r1, 0x2] - cmp r0, 0x2 - beq _0805B9A0 - movs r0, 0x1 - b _0805B9A4 - .align 2, 0 -_0805B99C: .4byte gPlayerAvatar -_0805B9A0: - ldr r1, _0805B9AC @ =gPlayerAvatar - movs r0, 0x2 -_0805B9A4: - strb r0, [r1, 0x2] -_0805B9A6: - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0805B9AC: .4byte gPlayerAvatar - thumb_func_end CheckMovementInputNotOnBike - - thumb_func_start PlayerNotOnBikeNotMoving -PlayerNotOnBikeNotMoving: @ 805B9B0 - push {lr} - bl GetPlayerFacingDirection - lsls r0, 24 - lsrs r0, 24 - bl PlayerFaceDirection - pop {r0} - bx r0 - thumb_func_end PlayerNotOnBikeNotMoving - - thumb_func_start sub_805B9C4 -sub_805B9C4: @ 805B9C4 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl sub_805C224 - pop {r0} - bx r0 - thumb_func_end sub_805B9C4 - - thumb_func_start sub_805B9D4 -sub_805B9D4: @ 805B9D4 - push {r4-r6,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 16 - lsrs r5, r1, 16 - adds r0, r4, 0 - bl sub_805BB1C - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0 - cmp r0, 0 - beq _0805BA18 - cmp r0, 0x6 - bne _0805B9FA - adds r0, r4, 0 - bl sub_805C23C - b _0805BAA4 -_0805B9FA: - cmp r0, 0x8 - bne _0805BA06 - adds r0, r4, 0 - bl PlayerFaceDirection - b _0805BAA4 -_0805BA06: - subs r0, r1, 0x5 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bls _0805BAA4 - adds r0, r4, 0 - bl PlayerNotOnBikeCollide - b _0805BAA4 -_0805BA18: - ldr r6, _0805BA2C @ =gPlayerAvatar - ldrb r1, [r6] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _0805BA30 - adds r0, r4, 0 - bl sub_805C11C - b _0805BAA4 - .align 2, 0 -_0805BA2C: .4byte gPlayerAvatar -_0805BA30: - movs r0, 0x2 - ands r5, r0 - cmp r5, 0 - beq _0805BA8C - ldr r0, _0805BA6C @ =0x0000082f - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _0805BA8C - ldr r2, _0805BA70 @ =gObjectEvents - ldrb r1, [r6, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x1E] - bl sub_80BD488 - cmp r0, 0 - bne _0805BA8C - adds r0, r4, 0 - bl sub_805BAAC - cmp r0, 0 - beq _0805BA74 - adds r0, r4, 0 - bl sub_805C194 - b _0805BA7A - .align 2, 0 -_0805BA6C: .4byte 0x0000082f -_0805BA70: .4byte gObjectEvents -_0805BA74: - adds r0, r4, 0 - bl sub_805C17C -_0805BA7A: - ldr r2, _0805BA88 @ =gPlayerAvatar - ldrb r1, [r2] - movs r0, 0x80 - orrs r0, r1 - strb r0, [r2] - b _0805BAA4 - .align 2, 0 -_0805BA88: .4byte gPlayerAvatar -_0805BA8C: - adds r0, r4, 0 - bl sub_805BAAC - cmp r0, 0 - beq _0805BA9E - adds r0, r4, 0 - bl sub_805C0EC - b _0805BAA4 -_0805BA9E: - adds r0, r4, 0 - bl sub_805C104 -_0805BAA4: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_805B9D4 - - thumb_func_start sub_805BAAC -sub_805BAAC: @ 805BAAC - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r3, r0, 24 - ldr r0, _0805BAE4 @ =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _0805BAE8 @ =gObjectEvents - adds r0, r1 - ldrh r2, [r0, 0x10] - mov r1, sp - strh r2, [r1] - ldrh r1, [r0, 0x12] - mov r4, sp - adds r4, 0x2 - strh r1, [r4] - cmp r3, 0x1 - beq _0805BAEC - cmp r3, 0x2 - bne _0805BB12 - mov r0, sp - movs r2, 0 - ldrsh r0, [r0, r2] - lsls r1, 16 - asrs r1, 16 - b _0805BB00 - .align 2, 0 -_0805BAE4: .4byte gPlayerAvatar -_0805BAE8: .4byte gObjectEvents -_0805BAEC: - movs r0, 0x1 - mov r1, sp - adds r2, r4, 0 - bl MoveCoords - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r4, r2] -_0805BB00: - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl MetatileBehavior_IsRockStairs - lsls r0, 24 - lsrs r0, 24 - b _0805BB14 -_0805BB12: - movs r0, 0 -_0805BB14: - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_805BAAC - - thumb_func_start sub_805BB1C -sub_805BB1C: @ 805BB1C - push {r4-r6,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, _0805BB94 @ =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _0805BB98 @ =gObjectEvents - adds r5, r0, r1 - ldrh r1, [r5, 0x10] - add r0, sp, 0x4 - strh r1, [r0] - ldrh r1, [r5, 0x12] - mov r4, sp - adds r4, 0x6 - strh r1, [r4] - movs r2, 0 - ldrsh r0, [r0, r2] - lsls r1, 16 - asrs r1, 16 - bl MapGridGetMetatileBehaviorAt - lsls r0, 16 - lsrs r0, 16 - adds r1, r6, 0 - bl sub_806DB84 - lsls r0, 24 - cmp r0, 0 - bne _0805BB9C - adds r0, r6, 0 - add r1, sp, 0x4 - adds r2, r4, 0 - bl MoveCoords - add r0, sp, 0x4 - movs r3, 0 - ldrsh r0, [r0, r3] - movs r2, 0 - ldrsh r1, [r4, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - add r1, sp, 0x4 - movs r3, 0 - ldrsh r1, [r1, r3] - movs r3, 0 - ldrsh r2, [r4, r3] - str r0, [sp] - adds r0, r5, 0 - adds r3, r6, 0 - bl sub_805BBA8 - lsls r0, 24 - lsrs r0, 24 - b _0805BB9E - .align 2, 0 -_0805BB94: .4byte gPlayerAvatar -_0805BB98: .4byte gObjectEvents -_0805BB9C: - movs r0, 0x8 -_0805BB9E: - add sp, 0x8 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_805BB1C - - thumb_func_start sub_805BBA8 -sub_805BBA8: @ 805BBA8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - ldr r4, [sp, 0x24] - lsls r1, 16 - lsls r2, 16 - lsls r3, 24 - lsrs r6, r3, 24 - lsls r4, 24 - lsrs r4, 24 - mov r10, r4 - lsrs r7, r1, 16 - asrs r5, r1, 16 - lsrs r1, r2, 16 - mov r9, r1 - asrs r4, r2, 16 - adds r1, r5, 0 - adds r2, r4, 0 - adds r3, r6, 0 - bl GetCollisionAtCoords - lsls r0, 24 - lsrs r0, 24 - mov r1, sp - strb r0, [r1] - cmp r0, 0x3 - bne _0805BBF8 - adds r0, r5, 0 - adds r1, r4, 0 - adds r2, r6, 0 - bl sub_805BC60 - lsls r0, 24 - cmp r0, 0 - beq _0805BBF8 - movs r0, 0x5 - b _0805BC50 -_0805BBF8: - lsls r5, r7, 16 - asrs r0, r5, 16 - mov r8, r0 - mov r1, r9 - lsls r4, r1, 16 - asrs r7, r4, 16 - adds r1, r7, 0 - adds r2, r6, 0 - bl sub_805BCC8 - lsls r0, 24 - cmp r0, 0 - beq _0805BC1C - movs r0, 0x2B - bl IncrementGameStat - movs r0, 0x6 - b _0805BC50 -_0805BC1C: - mov r0, sp - ldrb r0, [r0] - cmp r0, 0x4 - bne _0805BC38 - mov r0, r8 - adds r1, r7, 0 - adds r2, r6, 0 - bl sub_805BCEC - lsls r0, 24 - cmp r0, 0 - beq _0805BC38 - movs r0, 0x7 - b _0805BC50 -_0805BC38: - mov r0, sp - ldrb r0, [r0] - cmp r0, 0 - bne _0805BC4C - asrs r0, r5, 16 - asrs r1, r4, 16 - mov r2, r10 - mov r3, sp - bl check_acro_bike_metatile -_0805BC4C: - mov r0, sp - ldrb r0, [r0] -_0805BC50: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_805BBA8 - - thumb_func_start sub_805BC60 -sub_805BC60: @ 805BC60 - push {r4-r6,lr} - lsls r0, 16 - lsrs r3, r0, 16 - lsls r1, 16 - lsrs r4, r1, 16 - lsls r2, 24 - lsrs r6, r2, 24 - ldr r0, _0805BCB8 @ =gPlayerAvatar - ldrb r1, [r0] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _0805BCC0 - lsls r5, r3, 16 - asrs r0, r5, 16 - lsls r4, 16 - asrs r1, r4, 16 - bl MapGridGetZCoordAt - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bne _0805BCC0 - lsrs r0, r5, 16 - lsrs r1, r4, 16 - movs r2, 0x3 - bl GetObjectEventIdByXYZ - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x10 - bne _0805BCC0 - ldr r0, _0805BCBC @ =gUnknown_835B820 - adds r0, r6, r0 - ldrb r0, [r0] - movs r1, 0x10 - bl sub_811278C - adds r0, r6, 0 - bl sub_805D0F8 - movs r0, 0x1 - b _0805BCC2 - .align 2, 0 -_0805BCB8: .4byte gPlayerAvatar -_0805BCBC: .4byte gUnknown_835B820 -_0805BCC0: - movs r0, 0 -_0805BCC2: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_805BC60 - - thumb_func_start sub_805BCC8 -sub_805BCC8: @ 805BCC8 - push {lr} - lsls r2, 24 - lsrs r2, 24 - lsls r0, 16 - asrs r0, 16 - lsls r1, 16 - asrs r1, 16 - bl GetLedgeJumpDirection - lsls r0, 24 - cmp r0, 0 - bne _0805BCE4 - movs r0, 0 - b _0805BCE6 -_0805BCE4: - movs r0, 0x1 -_0805BCE6: - pop {r1} - bx r1 - thumb_func_end sub_805BCC8 - - thumb_func_start sub_805BCEC -sub_805BCEC: @ 805BCEC - push {r4-r7,lr} - sub sp, 0x4 - mov r3, sp - strh r0, [r3] - mov r5, sp - adds r5, 0x2 - strh r1, [r5] - lsls r2, 24 - lsrs r7, r2, 24 - ldr r0, _0805BD98 @ =0x00000805 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _0805BDA0 - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r5, r2] - bl GetObjectEventIdByXY - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x10 - beq _0805BDA0 - ldr r0, _0805BD9C @ =gObjectEvents - lsls r1, r6, 3 - adds r1, r6 - lsls r1, 2 - adds r4, r1, r0 - ldrb r0, [r4, 0x5] - cmp r0, 0x61 - bne _0805BDA0 - ldrh r1, [r4, 0x10] - mov r0, sp - strh r1, [r0] - ldrh r0, [r4, 0x12] - strh r0, [r5] - adds r0, r7, 0 - mov r1, sp - adds r2, r5, 0 - bl MoveCoords - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r5, r2] - bl MapGridGetMetatileBehaviorAt - cmp r0, 0x66 - beq _0805BD8A - mov r0, sp - movs r2, 0 - ldrsh r1, [r0, r2] - movs r0, 0 - ldrsh r2, [r5, r0] - adds r0, r4, 0 - adds r3, r7, 0 - bl GetCollisionAtCoords - lsls r0, 24 - cmp r0, 0 - bne _0805BDA0 - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r5, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl MetatileBehavior_IsCaveDoor - lsls r0, 24 - cmp r0, 0 - bne _0805BDA0 -_0805BD8A: - adds r0, r6, 0 - adds r1, r7, 0 - bl task_add_bump_boulder - movs r0, 0x1 - b _0805BDA2 - .align 2, 0 -_0805BD98: .4byte 0x00000805 -_0805BD9C: .4byte gObjectEvents -_0805BDA0: - movs r0, 0 -_0805BDA2: - add sp, 0x4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_805BCEC - - thumb_func_start check_acro_bike_metatile -check_acro_bike_metatile: @ 805BDAC - push {r4-r7,lr} - adds r6, r3, 0 - lsls r2, 24 - lsrs r5, r2, 24 - movs r4, 0 - ldr r7, _0805BDD4 @ =gUnknown_835B828 -_0805BDB8: - lsls r0, r4, 2 - adds r0, r7 - ldr r1, [r0] - adds r0, r5, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - beq _0805BDDC - ldr r0, _0805BDD8 @ =gUnknown_835B83C - adds r0, r4, r0 - ldrb r0, [r0] - strb r0, [r6] - b _0805BDE6 - .align 2, 0 -_0805BDD4: .4byte gUnknown_835B828 -_0805BDD8: .4byte gUnknown_835B83C -_0805BDDC: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x4 - bls _0805BDB8 -_0805BDE6: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end check_acro_bike_metatile - - thumb_func_start SetPlayerAvatarTransitionFlags -SetPlayerAvatarTransitionFlags: @ 805BDEC - push {lr} - lsls r0, 16 - lsrs r0, 16 - ldr r2, _0805BE04 @ =gPlayerAvatar - ldrb r1, [r2, 0x1] - orrs r0, r1 - strb r0, [r2, 0x1] - bl DoPlayerAvatarTransition - pop {r0} - bx r0 - .align 2, 0 -_0805BE04: .4byte gPlayerAvatar - thumb_func_end SetPlayerAvatarTransitionFlags - - thumb_func_start DoPlayerAvatarTransition -DoPlayerAvatarTransition: @ 805BE08 - push {r4,r5,lr} - ldr r0, _0805BE50 @ =gPlayerAvatar - ldrb r4, [r0, 0x1] - cmp r4, 0 - beq _0805BE48 - movs r5, 0 -_0805BE14: - movs r0, 0x1 - ands r0, r4 - cmp r0, 0 - beq _0805BE36 - ldr r0, _0805BE54 @ =gUnknown_835B844 - lsls r2, r5, 2 - adds r2, r0 - ldr r0, _0805BE50 @ =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _0805BE58 @ =gObjectEvents - adds r0, r1 - ldr r1, [r2] - bl _call_via_r1 -_0805BE36: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - lsrs r4, 1 - cmp r5, 0x7 - bls _0805BE14 - ldr r1, _0805BE50 @ =gPlayerAvatar - movs r0, 0 - strb r0, [r1, 0x1] -_0805BE48: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0805BE50: .4byte gPlayerAvatar -_0805BE54: .4byte gUnknown_835B844 -_0805BE58: .4byte gObjectEvents - thumb_func_end DoPlayerAvatarTransition - - thumb_func_start nullsub_22 -nullsub_22: @ 805BE5C - bx lr - thumb_func_end nullsub_22 - - thumb_func_start sub_805BE60 -sub_805BE60: @ 805BE60 - push {lr} - movs r0, 0 - bl sub_8150474 - movs r0, 0 - bl sub_8150498 - pop {r0} - bx r0 - thumb_func_end sub_805BE60 - - thumb_func_start sub_805BE74 -sub_805BE74: @ 805BE74 - push {lr} - movs r0, 0x1 - bl sub_8150474 - movs r0, 0x1 - bl sub_8150498 - movs r0, 0 - movs r1, 0 - bl sub_80BD620 - pop {r0} - bx r0 - thumb_func_end sub_805BE74 - - thumb_func_start sub_805BE90 -sub_805BE90: @ 805BE90 - push {lr} - movs r0, 0x3 - bl sub_8150474 - movs r0, 0x3 - bl sub_8150498 - pop {r0} - bx r0 - thumb_func_end sub_805BE90 - - thumb_func_start nullsub_23 -nullsub_23: @ 805BEA4 - bx lr - thumb_func_end nullsub_23 - - thumb_func_start PlayerAvatarTransition_ReturnToField -PlayerAvatarTransition_ReturnToField: @ 805BEA8 - ldr r2, _0805BEB4 @ =gPlayerAvatar - ldrb r1, [r2] - movs r0, 0x20 - orrs r0, r1 - strb r0, [r2] - bx lr - .align 2, 0 -_0805BEB4: .4byte gPlayerAvatar - thumb_func_end PlayerAvatarTransition_ReturnToField - - thumb_func_start sub_805BEB8 -sub_805BEB8: @ 805BEB8 - push {r4,lr} - ldr r4, _0805BEE4 @ =gPlayerAvatar - movs r0, 0 - strb r0, [r4, 0x3] - bl PlayerIsAnimActive - lsls r0, 24 - cmp r0, 0 - beq _0805BEF6 - bl PlayerCheckIfAnimFinishedOrInactive - lsls r0, 24 - cmp r0, 0 - bne _0805BEE8 - bl player_is_anim_in_certain_ranges - lsls r0, 24 - cmp r0, 0 - bne _0805BEF6 - movs r0, 0x1 - b _0805BEF4 - .align 2, 0 -_0805BEE4: .4byte gPlayerAvatar -_0805BEE8: - bl sub_805BF58 - lsls r0, 24 - cmp r0, 0 - bne _0805BEF6 - movs r0, 0x2 -_0805BEF4: - strb r0, [r4, 0x3] -_0805BEF6: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_805BEB8 - - thumb_func_start player_is_anim_in_certain_ranges -player_is_anim_in_certain_ranges: @ 805BEFC - push {lr} - ldr r2, _0805BF48 @ =gObjectEvents - ldr r0, _0805BF4C @ =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0, 0x1C] - cmp r1, 0x7 - bls _0805BF42 - adds r0, r1, 0 - subs r0, 0x18 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bls _0805BF42 - adds r0, r1, 0 - subs r0, 0x21 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xF - bls _0805BF42 - adds r0, r1, 0 - subs r0, 0x70 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xB - bls _0805BF42 - adds r0, r1, 0 - adds r0, 0x78 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bhi _0805BF50 -_0805BF42: - movs r0, 0x1 - b _0805BF52 - .align 2, 0 -_0805BF48: .4byte gObjectEvents -_0805BF4C: .4byte gPlayerAvatar -_0805BF50: - movs r0, 0 -_0805BF52: - pop {r1} - bx r1 - thumb_func_end player_is_anim_in_certain_ranges - - thumb_func_start sub_805BF58 -sub_805BF58: @ 805BF58 - push {lr} - bl player_is_anim_in_certain_ranges - lsls r0, 24 - cmp r0, 0 - beq _0805BF74 - ldr r0, _0805BF70 @ =gPlayerAvatar - ldrb r0, [r0, 0x2] - cmp r0, 0x1 - beq _0805BF74 - movs r0, 0x1 - b _0805BF76 - .align 2, 0 -_0805BF70: .4byte gPlayerAvatar -_0805BF74: - movs r0, 0 -_0805BF76: - pop {r1} - bx r1 - thumb_func_end sub_805BF58 - - thumb_func_start PlayerIsAnimActive -PlayerIsAnimActive: @ 805BF7C - push {lr} - ldr r0, _0805BF98 @ =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _0805BF9C @ =gObjectEvents - adds r0, r1 - bl ObjectEventIsMovementOverridden - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .align 2, 0 -_0805BF98: .4byte gPlayerAvatar -_0805BF9C: .4byte gObjectEvents - thumb_func_end PlayerIsAnimActive - - thumb_func_start PlayerCheckIfAnimFinishedOrInactive -PlayerCheckIfAnimFinishedOrInactive: @ 805BFA0 - push {lr} - ldr r0, _0805BFBC @ =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _0805BFC0 @ =gObjectEvents - adds r0, r1 - bl ObjectEventCheckHeldMovementStatus - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .align 2, 0 -_0805BFBC: .4byte gPlayerAvatar -_0805BFC0: .4byte gObjectEvents - thumb_func_end PlayerCheckIfAnimFinishedOrInactive - - thumb_func_start player_set_x22 -player_set_x22: @ 805BFC4 - ldr r3, _0805BFD8 @ =gObjectEvents - ldr r1, _0805BFDC @ =gPlayerAvatar - ldrb r2, [r1, 0x5] - lsls r1, r2, 3 - adds r1, r2 - lsls r1, 2 - adds r1, r3 - adds r1, 0x22 - strb r0, [r1] - bx lr - .align 2, 0 -_0805BFD8: .4byte gObjectEvents -_0805BFDC: .4byte gPlayerAvatar - thumb_func_end player_set_x22 - - thumb_func_start PlayerGetCopyableMovement -PlayerGetCopyableMovement: @ 805BFE0 - ldr r2, _0805BFF4 @ =gObjectEvents - ldr r0, _0805BFF8 @ =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x22 - ldrb r0, [r0] - bx lr - .align 2, 0 -_0805BFF4: .4byte gObjectEvents -_0805BFF8: .4byte gPlayerAvatar - thumb_func_end PlayerGetCopyableMovement - - thumb_func_start sub_805BFFC -sub_805BFFC: @ 805BFFC - push {lr} - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r0, _0805C01C @ =gPlayerAvatar - ldrb r2, [r0, 0x5] - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - ldr r2, _0805C020 @ =gObjectEvents - adds r0, r2 - bl ObjectEventForceSetHeldMovement - pop {r0} - bx r0 - .align 2, 0 -_0805C01C: .4byte gPlayerAvatar -_0805C020: .4byte gObjectEvents - thumb_func_end sub_805BFFC - - thumb_func_start sub_805C024 -sub_805C024: @ 805C024 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r1, 24 - lsrs r4, r1, 24 - bl PlayerIsAnimActive - lsls r0, 24 - cmp r0, 0 - bne _0805C05E - adds r0, r4, 0 - bl player_set_x22 - ldr r0, _0805C064 @ =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _0805C068 @ =gObjectEvents - adds r0, r1 - adds r1, r5, 0 - bl ObjectEventSetHeldMovement - lsls r0, 24 - cmp r0, 0 - bne _0805C05E - adds r0, r5, 0 - bl sub_8112628 -_0805C05E: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0805C064: .4byte gPlayerAvatar -_0805C068: .4byte gObjectEvents - thumb_func_end sub_805C024 - - thumb_func_start sub_805C06C -sub_805C06C: @ 805C06C - push {r4,lr} - lsls r1, 24 - lsrs r4, r1, 24 - ldr r0, _0805C09C @ =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _0805C0A0 @ =gObjectEvents - adds r0, r1 - adds r1, r4, 0 - bl ObjectEventSetHeldMovement - lsls r0, 24 - cmp r0, 0 - bne _0805C094 - adds r0, r4, 0 - movs r1, 0 - bl sub_81126AC -_0805C094: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0805C09C: .4byte gPlayerAvatar -_0805C0A0: .4byte gObjectEvents - thumb_func_end sub_805C06C - - thumb_func_start sub_805C0A4 -sub_805C0A4: @ 805C0A4 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - lsls r1, 24 - lsrs r5, r1, 24 - adds r1, r5, 0 - bl ObjectEventSetHeldMovement - lsls r0, 24 - cmp r0, 0 - bne _0805C0CA - ldrb r0, [r4, 0x8] - ldrb r1, [r4, 0x9] - ldrb r2, [r4, 0xA] - movs r3, 0x20 - str r3, [sp] - adds r3, r5, 0 - bl sub_8112588 -_0805C0CA: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_805C0A4 - - thumb_func_start sub_805C0D4 -sub_805C0D4: @ 805C0D4 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl sub_8063F2C - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x2 - bl sub_805C024 - pop {r0} - bx r0 - thumb_func_end sub_805C0D4 - - thumb_func_start sub_805C0EC -sub_805C0EC: @ 805C0EC - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl sub_8063F58 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x2 - bl sub_805C024 - pop {r0} - bx r0 - thumb_func_end sub_805C0EC - - thumb_func_start sub_805C104 -sub_805C104: @ 805C104 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl GetWalkNormalMovementAction - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x2 - bl sub_805C024 - pop {r0} - bx r0 - thumb_func_end sub_805C104 - - thumb_func_start sub_805C11C -sub_805C11C: @ 805C11C - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl GetWalkFastMovementAction - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x2 - bl sub_805C024 - pop {r0} - bx r0 - thumb_func_end sub_805C11C - - thumb_func_start sub_805C134 -sub_805C134: @ 805C134 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl sub_8063FDC - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x2 - bl sub_805C024 - pop {r0} - bx r0 - thumb_func_end sub_805C134 - - thumb_func_start sub_805C14C -sub_805C14C: @ 805C14C - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl sub_8064008 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x2 - bl sub_805C024 - pop {r0} - bx r0 - thumb_func_end sub_805C14C - - thumb_func_start sub_805C164 -sub_805C164: @ 805C164 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl GetWalkFastestMovementAction - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x2 - bl sub_805C024 - pop {r0} - bx r0 - thumb_func_end sub_805C164 - - thumb_func_start sub_805C17C -sub_805C17C: @ 805C17C - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl sub_806408C - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x2 - bl sub_805C024 - pop {r0} - bx r0 - thumb_func_end sub_805C17C - - thumb_func_start sub_805C194 -sub_805C194: @ 805C194 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl sub_80640B8 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x2 - bl sub_805C024 - pop {r0} - bx r0 - thumb_func_end sub_805C194 - - thumb_func_start PlayerOnBikeCollide -PlayerOnBikeCollide: @ 805C1AC - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - bl sub_805C438 - adds r0, r4, 0 - bl GetWalkInPlaceNormalMovementAction - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x2 - bl sub_805C024 - pop {r4} - pop {r0} - bx r0 - thumb_func_end PlayerOnBikeCollide - - thumb_func_start PlayerNotOnBikeCollide -PlayerNotOnBikeCollide: @ 805C1D0 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - bl sub_805C438 - adds r0, r4, 0 - bl GetStepInPlaceDelay32AnimId - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x2 - bl sub_805C024 - pop {r4} - pop {r0} - bx r0 - thumb_func_end PlayerNotOnBikeCollide - - thumb_func_start PlayerFaceDirection -PlayerFaceDirection: @ 805C1F4 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl GetFaceDirectionMovementAction - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x1 - bl sub_805C024 - pop {r0} - bx r0 - thumb_func_end PlayerFaceDirection - - thumb_func_start sub_805C20C -sub_805C20C: @ 805C20C - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl GetWalkSlowMovementAction - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x1 - bl sub_805C024 - pop {r0} - bx r0 - thumb_func_end sub_805C20C - - thumb_func_start sub_805C224 -sub_805C224: @ 805C224 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl GetWalkInPlaceSlowMovementAction - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x1 - bl sub_805C024 - pop {r0} - bx r0 - thumb_func_end sub_805C224 - - thumb_func_start sub_805C23C -sub_805C23C: @ 805C23C - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0xA - bl PlaySE - adds r0, r4, 0 - bl GetJump2MovementAction - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x8 - bl sub_805C024 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_805C23C - - thumb_func_start sub_805C260 -sub_805C260: @ 805C260 - push {lr} - movs r0, 0x9F - movs r1, 0 - bl sub_805C024 - pop {r0} - bx r0 - thumb_func_end sub_805C260 - - thumb_func_start sub_805C270 -sub_805C270: @ 805C270 - push {r4,lr} - ldr r4, _0805C2AC @ =gPlayerAvatar - ldrb r0, [r4, 0x3] - cmp r0, 0x2 - beq _0805C27E - cmp r0, 0 - bne _0805C2A6 -_0805C27E: - bl player_should_look_direction_be_enforced_upon_movement - lsls r0, 24 - cmp r0, 0 - beq _0805C2A6 - ldr r2, _0805C2B0 @ =gObjectEvents - ldrb r1, [r4, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl GetFaceDirectionMovementAction - lsls r0, 24 - lsrs r0, 24 - bl sub_805BFFC -_0805C2A6: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0805C2AC: .4byte gPlayerAvatar -_0805C2B0: .4byte gObjectEvents - thumb_func_end sub_805C270 - - thumb_func_start sub_805C2B4 -sub_805C2B4: @ 805C2B4 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl sub_80640E4 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x3 - bl sub_805C024 - pop {r0} - bx r0 - thumb_func_end sub_805C2B4 - - thumb_func_start sub_805C2CC -sub_805C2CC: @ 805C2CC - push {r4-r7,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r1, _0805C308 @ =gUnknown_835B764 - ldr r0, [r1] - cmp r0, 0 - beq _0805C302 - adds r4, r1, 0 - adds r7, r4, 0 - movs r5, 0 -_0805C2E0: - ldr r1, [r4] - adds r0, r6, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - beq _0805C2F8 - adds r0, r7, 0x4 - adds r0, r5, r0 - ldr r0, [r0] - bl _call_via_r0 -_0805C2F8: - adds r4, 0x8 - adds r5, 0x8 - ldr r0, [r4] - cmp r0, 0 - bne _0805C2E0 -_0805C302: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0805C308: .4byte gUnknown_835B764 - thumb_func_end sub_805C2CC - - thumb_func_start sub_805C30C -sub_805C30C: @ 805C30C - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl sub_80642F4 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x1 - bl sub_805C024 - pop {r0} - bx r0 - thumb_func_end sub_805C30C - - thumb_func_start sub_805C324 -sub_805C324: @ 805C324 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl sub_8064320 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x1 - bl sub_805C024 - pop {r0} - bx r0 - thumb_func_end sub_805C324 - - thumb_func_start sub_805C33C -sub_805C33C: @ 805C33C - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl sub_806434C - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x1 - bl sub_805C024 - pop {r0} - bx r0 - thumb_func_end sub_805C33C - - thumb_func_start sub_805C354 -sub_805C354: @ 805C354 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x1C - bl PlaySE - adds r0, r4, 0 - bl sub_8064378 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x1 - bl sub_805C024 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_805C354 - - thumb_func_start sub_805C378 -sub_805C378: @ 805C378 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x1C - bl PlaySE - adds r0, r4, 0 - bl sub_80643A4 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x2 - bl sub_805C024 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_805C378 - - thumb_func_start sub_805C39C -sub_805C39C: @ 805C39C - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x1C - bl PlaySE - adds r0, r4, 0 - bl sub_80643D0 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x8 - bl sub_805C024 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_805C39C - - thumb_func_start sub_805C3C0 -sub_805C3C0: @ 805C3C0 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x1C - bl PlaySE - adds r0, r4, 0 - bl sub_8064168 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x1 - bl sub_805C024 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_805C3C0 - - thumb_func_start sub_805C3E4 -sub_805C3E4: @ 805C3E4 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x7 - bl PlaySE - adds r0, r4, 0 - bl sub_80643FC - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x2 - bl sub_805C024 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_805C3E4 - - thumb_func_start sub_805C408 -sub_805C408: @ 805C408 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl sub_8064428 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x2 - bl sub_805C024 - pop {r0} - bx r0 - thumb_func_end sub_805C408 - - thumb_func_start sub_805C420 -sub_805C420: @ 805C420 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl sub_8064454 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x2 - bl sub_805C024 - pop {r0} - bx r0 - thumb_func_end sub_805C420 - - thumb_func_start sub_805C438 -sub_805C438: @ 805C438 - push {r4-r6,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r5, r0, 24 - adds r6, r5, 0 - ldr r2, _0805C4E8 @ =gObjectEvents - ldr r0, _0805C4EC @ =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r4, [r0, 0x1E] - ldr r1, _0805C4F0 @ =gUnknown_835B864 - subs r0, r5, 0x1 - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - bne _0805C4DE - cmp r5, 0x3 - bne _0805C484 - adds r0, r4, 0 - bl MetatileBehavior_IsUnknownWarp6D - lsls r0, 24 - cmp r0, 0 - bne _0805C4DE - adds r0, r4, 0 - bl MetatileBehavior_IsUnknownWarp6F - lsls r0, 24 - cmp r0, 0 - bne _0805C4DE -_0805C484: - cmp r5, 0x4 - bne _0805C4A0 - adds r0, r4, 0 - bl MetatileBehavior_IsUnknownWarp6C - lsls r0, 24 - cmp r0, 0 - bne _0805C4DE - adds r0, r4, 0 - bl MetatileBehavior_IsUnknownWarp6E - lsls r0, 24 - cmp r0, 0 - bne _0805C4DE -_0805C4A0: - cmp r6, 0x2 - bne _0805C4D8 - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl PlayerGetDestCoords - movs r0, 0x2 - mov r1, sp - adds r2, r4, 0 - bl MoveCoords - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r4, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl MetatileBehavior_IsWarpDoor - lsls r0, 24 - cmp r0, 0 - bne _0805C4DE -_0805C4D8: - movs r0, 0x7 - bl PlaySE -_0805C4DE: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0805C4E8: .4byte gObjectEvents -_0805C4EC: .4byte gPlayerAvatar -_0805C4F0: .4byte gUnknown_835B864 - thumb_func_end sub_805C438 - - thumb_func_start GetXYCoordsOneStepInFrontOfPlayer -GetXYCoordsOneStepInFrontOfPlayer: @ 805C4F4 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldr r3, _0805C530 @ =gObjectEvents - ldr r2, _0805C534 @ =gPlayerAvatar - ldrb r1, [r2, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r0, [r0, 0x10] - strh r0, [r4] - ldrb r1, [r2, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r0, [r0, 0x12] - strh r0, [r5] - bl GetPlayerFacingDirection - lsls r0, 24 - lsrs r0, 24 - adds r1, r4, 0 - adds r2, r5, 0 - bl MoveCoords - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0805C530: .4byte gObjectEvents -_0805C534: .4byte gPlayerAvatar - thumb_func_end GetXYCoordsOneStepInFrontOfPlayer - - thumb_func_start PlayerGetDestCoords -PlayerGetDestCoords: @ 805C538 - push {r4,r5,lr} - ldr r5, _0805C560 @ =gObjectEvents - ldr r4, _0805C564 @ =gPlayerAvatar - ldrb r3, [r4, 0x5] - lsls r2, r3, 3 - adds r2, r3 - lsls r2, 2 - adds r2, r5 - ldrh r2, [r2, 0x10] - strh r2, [r0] - ldrb r2, [r4, 0x5] - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - adds r0, r5 - ldrh r0, [r0, 0x12] - strh r0, [r1] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0805C560: .4byte gObjectEvents -_0805C564: .4byte gPlayerAvatar - thumb_func_end PlayerGetDestCoords - - thumb_func_start player_get_pos_including_state_based_drift -player_get_pos_including_state_based_drift: @ 805C568 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldr r0, _0805C5BC @ =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _0805C5C0 @ =gObjectEvents - adds r3, r0, r1 - ldrb r1, [r3] - movs r0, 0xC0 - ands r0, r1 - cmp r0, 0x40 - beq _0805C588 - b _0805C6B0 -_0805C588: - ldr r2, _0805C5C4 @ =gSprites - ldrb r1, [r3, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0x32 - ldrsh r0, [r0, r1] - cmp r0, 0 - beq _0805C59E - b _0805C6B0 -_0805C59E: - ldrh r0, [r3, 0x10] - strh r0, [r4] - ldrh r0, [r3, 0x12] - strh r0, [r5] - ldrb r0, [r3, 0x1C] - subs r0, 0x10 - cmp r0, 0x30 - bls _0805C5B0 - b _0805C6B0 -_0805C5B0: - lsls r0, 2 - ldr r1, _0805C5C8 @ =_0805C5CC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0805C5BC: .4byte gPlayerAvatar -_0805C5C0: .4byte gObjectEvents -_0805C5C4: .4byte gSprites -_0805C5C8: .4byte _0805C5CC - .align 2, 0 -_0805C5CC: - .4byte _0805C690 - .4byte _0805C696 - .4byte _0805C6A0 - .4byte _0805C6A6 - .4byte _0805C6B0 - .4byte _0805C6B0 - .4byte _0805C6B0 - .4byte _0805C6B0 - .4byte _0805C6B0 - .4byte _0805C6B0 - .4byte _0805C6B0 - .4byte _0805C6B0 - .4byte _0805C6B0 - .4byte _0805C6B0 - .4byte _0805C6B0 - .4byte _0805C6B0 - .4byte _0805C6B0 - .4byte _0805C6B0 - .4byte _0805C6B0 - .4byte _0805C6B0 - .4byte _0805C6B0 - .4byte _0805C6B0 - .4byte _0805C6B0 - .4byte _0805C6B0 - .4byte _0805C6B0 - .4byte _0805C6B0 - .4byte _0805C6B0 - .4byte _0805C6B0 - .4byte _0805C6B0 - .4byte _0805C6B0 - .4byte _0805C6B0 - .4byte _0805C6B0 - .4byte _0805C6B0 - .4byte _0805C6B0 - .4byte _0805C6B0 - .4byte _0805C6B0 - .4byte _0805C6B0 - .4byte _0805C6B0 - .4byte _0805C6B0 - .4byte _0805C6B0 - .4byte _0805C6B0 - .4byte _0805C6B0 - .4byte _0805C6B0 - .4byte _0805C6B0 - .4byte _0805C6B0 - .4byte _0805C690 - .4byte _0805C696 - .4byte _0805C6A0 - .4byte _0805C6A6 -_0805C690: - ldrh r0, [r5] - adds r0, 0x1 - b _0805C69A -_0805C696: - ldrh r0, [r5] - subs r0, 0x1 -_0805C69A: - strh r0, [r5] - movs r0, 0x1 - b _0805C6BC -_0805C6A0: - ldrh r0, [r4] - subs r0, 0x1 - b _0805C6AA -_0805C6A6: - ldrh r0, [r4] - adds r0, 0x1 -_0805C6AA: - strh r0, [r4] - movs r0, 0x1 - b _0805C6BC -_0805C6B0: - movs r1, 0x1 - negs r1, r1 - adds r0, r1, 0 - strh r0, [r4] - strh r0, [r5] - movs r0, 0 -_0805C6BC: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end player_get_pos_including_state_based_drift - - thumb_func_start GetPlayerFacingDirection -GetPlayerFacingDirection: @ 805C6C4 - ldr r2, _0805C6DC @ =gObjectEvents - ldr r0, _0805C6E0 @ =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x18] - lsls r0, 28 - lsrs r0, 28 - bx lr - .align 2, 0 -_0805C6DC: .4byte gObjectEvents -_0805C6E0: .4byte gPlayerAvatar - thumb_func_end GetPlayerFacingDirection - - thumb_func_start GetPlayerMovementDirection -GetPlayerMovementDirection: @ 805C6E4 - ldr r2, _0805C6F8 @ =gObjectEvents - ldr r0, _0805C6FC @ =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x18] - lsrs r0, 4 - bx lr - .align 2, 0 -_0805C6F8: .4byte gObjectEvents -_0805C6FC: .4byte gPlayerAvatar - thumb_func_end GetPlayerMovementDirection - - thumb_func_start PlayerGetZCoord -PlayerGetZCoord: @ 805C700 - ldr r2, _0805C714 @ =gObjectEvents - ldr r0, _0805C718 @ =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0xB] - lsrs r0, 4 - bx lr - .align 2, 0 -_0805C714: .4byte gObjectEvents -_0805C718: .4byte gPlayerAvatar - thumb_func_end PlayerGetZCoord - - thumb_func_start sub_805C71C -sub_805C71C: @ 805C71C - push {lr} - adds r3, r0, 0 - adds r2, r1, 0 - ldr r0, _0805C744 @ =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _0805C748 @ =gObjectEvents - adds r0, r1 - lsls r3, 16 - asrs r3, 16 - lsls r2, 16 - asrs r2, 16 - adds r1, r3, 0 - bl MoveObjectEventToMapCoords - pop {r0} - bx r0 - .align 2, 0 -_0805C744: .4byte gPlayerAvatar -_0805C748: .4byte gObjectEvents - thumb_func_end sub_805C71C - - thumb_func_start TestPlayerAvatarFlags -TestPlayerAvatarFlags: @ 805C74C - ldr r1, _0805C758 @ =gPlayerAvatar - ldrb r1, [r1] - ands r1, r0 - adds r0, r1, 0 - bx lr - .align 2, 0 -_0805C758: .4byte gPlayerAvatar - thumb_func_end TestPlayerAvatarFlags - - thumb_func_start sub_805C75C -sub_805C75C: @ 805C75C - ldr r0, _0805C764 @ =gPlayerAvatar - ldrb r0, [r0] - bx lr - .align 2, 0 -_0805C764: .4byte gPlayerAvatar - thumb_func_end sub_805C75C - - thumb_func_start GetPlayerAvatarObjectId -GetPlayerAvatarObjectId: @ 805C768 - ldr r0, _0805C770 @ =gPlayerAvatar - ldrb r0, [r0, 0x4] - bx lr - .align 2, 0 -_0805C770: .4byte gPlayerAvatar - thumb_func_end GetPlayerAvatarObjectId - - thumb_func_start sub_805C774 -sub_805C774: @ 805C774 - push {lr} - bl ForcedMovement_None - pop {r0} - bx r0 - thumb_func_end sub_805C774 - - thumb_func_start sub_805C780 -sub_805C780: @ 805C780 - push {r4,lr} - ldr r0, _0805C7C0 @ =gPlayerAvatar - ldrb r0, [r0, 0x5] - lsls r4, r0, 3 - adds r4, r0 - lsls r4, 2 - ldr r0, _0805C7C4 @ =gObjectEvents - adds r4, r0 - adds r0, r4, 0 - bl npc_clear_strange_bits - ldrb r1, [r4, 0x18] - lsls r1, 28 - lsrs r1, 28 - adds r0, r4, 0 - bl SetObjectEventDirection - movs r0, 0x6 - bl TestPlayerAvatarFlags - lsls r0, 24 - cmp r0, 0 - beq _0805C7B8 - bl Bike_HandleBumpySlopeJump - movs r0, 0 - bl Bike_UpdateBikeCounterSpeed -_0805C7B8: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0805C7C0: .4byte gPlayerAvatar -_0805C7C4: .4byte gObjectEvents - thumb_func_end sub_805C780 - - thumb_func_start sub_805C7C8 -sub_805C7C8: @ 805C7C8 - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - bl GetPlayerAvatarGraphicsIdByStateIdAndGender - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end sub_805C7C8 - - thumb_func_start GetPlayerAvatarGraphicsIdByStateIdAndGender -GetPlayerAvatarGraphicsIdByStateIdAndGender: @ 805C7E0 - lsls r0, 24 - lsls r1, 24 - lsrs r1, 24 - ldr r2, _0805C7F4 @ =gUnknown_835B874 - lsrs r0, 23 - adds r1, r0 - adds r1, r2 - ldrb r0, [r1] - bx lr - .align 2, 0 -_0805C7F4: .4byte gUnknown_835B874 - thumb_func_end GetPlayerAvatarGraphicsIdByStateIdAndGender - - thumb_func_start GetHoennLinkPartnerGraphicsIdByGender -GetHoennLinkPartnerGraphicsIdByGender: @ 805C7F8 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0805C804 @ =gUnknown_835B880 - adds r0, r1 - ldrb r0, [r0] - bx lr - .align 2, 0 -_0805C804: .4byte gUnknown_835B880 - thumb_func_end GetHoennLinkPartnerGraphicsIdByGender - - thumb_func_start GetPlayerAvatarGraphicsIdByStateId -GetPlayerAvatarGraphicsIdByStateId: @ 805C808 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0805C820 @ =gPlayerAvatar - ldrb r1, [r1, 0x7] - bl GetPlayerAvatarGraphicsIdByStateIdAndGender - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .align 2, 0 -_0805C820: .4byte gPlayerAvatar - thumb_func_end GetPlayerAvatarGraphicsIdByStateId - - thumb_func_start GetPlayerAvatarGenderByGraphicsId -GetPlayerAvatarGenderByGraphicsId: @ 805C824 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xB - bgt _0805C836 - cmp r0, 0x7 - blt _0805C836 - movs r0, 0x1 - b _0805C838 -_0805C836: - movs r0, 0 -_0805C838: - pop {r1} - bx r1 - thumb_func_end GetPlayerAvatarGenderByGraphicsId - - thumb_func_start PartyHasMonWithSurf -PartyHasMonWithSurf: @ 805C83C - push {r4,r5,lr} - movs r0, 0x8 - bl TestPlayerAvatarFlags - lsls r0, 24 - cmp r0, 0 - bne _0805C880 - movs r5, 0 - b _0805C866 -_0805C84E: - adds r0, r4, 0 - movs r1, 0x39 - bl MonKnowsMove - lsls r0, 24 - cmp r0, 0 - beq _0805C860 - movs r0, 0x1 - b _0805C882 -_0805C860: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 -_0805C866: - cmp r5, 0x5 - bhi _0805C880 - movs r0, 0x64 - adds r1, r5, 0 - muls r1, r0 - ldr r0, _0805C888 @ =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - bne _0805C84E -_0805C880: - movs r0, 0 -_0805C882: - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0805C888: .4byte gPlayerParty - thumb_func_end PartyHasMonWithSurf - - thumb_func_start IsPlayerSurfingNorth -IsPlayerSurfingNorth: @ 805C88C - push {lr} - bl GetPlayerMovementDirection - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _0805C8AA - movs r0, 0x8 - bl TestPlayerAvatarFlags - lsls r0, 24 - cmp r0, 0 - beq _0805C8AA - movs r0, 0x1 - b _0805C8AC -_0805C8AA: - movs r0, 0 -_0805C8AC: - pop {r1} - bx r1 - thumb_func_end IsPlayerSurfingNorth - - thumb_func_start IsPlayerFacingSurfableFishableWater -IsPlayerFacingSurfableFishableWater: @ 805C8B0 - push {r4,r5,lr} - sub sp, 0x4 - ldr r0, _0805C924 @ =gPlayerAvatar - ldrb r0, [r0, 0x5] - lsls r4, r0, 3 - adds r4, r0 - lsls r4, 2 - ldr r0, _0805C928 @ =gObjectEvents - adds r4, r0 - ldrh r1, [r4, 0x10] - mov r0, sp - strh r1, [r0] - ldrh r0, [r4, 0x12] - mov r5, sp - adds r5, 0x2 - strh r0, [r5] - ldrb r0, [r4, 0x18] - lsls r0, 28 - lsrs r0, 28 - mov r1, sp - adds r2, r5, 0 - bl MoveCoords - mov r0, sp - movs r2, 0 - ldrsh r1, [r0, r2] - movs r0, 0 - ldrsh r2, [r5, r0] - ldrb r3, [r4, 0x18] - lsls r3, 28 - lsrs r3, 28 - adds r0, r4, 0 - bl GetCollisionAtCoords - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bne _0805C92C - bl PlayerGetZCoord - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bne _0805C92C - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r5, r2] - bl MetatileAtCoordsIsWaterTile - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0805C92C - movs r0, 0x1 - b _0805C92E - .align 2, 0 -_0805C924: .4byte gPlayerAvatar -_0805C928: .4byte gObjectEvents -_0805C92C: - movs r0, 0 -_0805C92E: - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end IsPlayerFacingSurfableFishableWater - - thumb_func_start MetatileAtCoordsIsWaterTile -MetatileAtCoordsIsWaterTile: @ 805C938 - push {lr} - lsls r0, 16 - asrs r0, 16 - lsls r1, 16 - asrs r1, 16 - movs r2, 0x1 - bl MapGridGetMetatileAttributeAt - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x2 - bl TestMetatileAttributeBit - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end MetatileAtCoordsIsWaterTile - - thumb_func_start ClearPlayerAvatarInfo -ClearPlayerAvatarInfo: @ 805C95C - push {lr} - ldr r0, _0805C96C @ =gPlayerAvatar - movs r1, 0 - movs r2, 0x20 - bl memset - pop {r0} - bx r0 - .align 2, 0 -_0805C96C: .4byte gPlayerAvatar - thumb_func_end ClearPlayerAvatarInfo - - thumb_func_start SetPlayerAvatarStateMask -SetPlayerAvatarStateMask: @ 805C970 - lsls r0, 24 - lsrs r0, 24 - ldr r3, _0805C984 @ =gPlayerAvatar - ldrb r2, [r3] - movs r1, 0xE0 - ands r1, r2 - orrs r0, r1 - strb r0, [r3] - bx lr - .align 2, 0 -_0805C984: .4byte gPlayerAvatar - thumb_func_end SetPlayerAvatarStateMask - - thumb_func_start GetPlayerAvatarStateTransitionByGraphicsId -GetPlayerAvatarStateTransitionByGraphicsId: @ 805C988 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r1, 24 - lsrs r1, 24 - movs r2, 0 - ldr r3, _0805C9B0 @ =gUnknown_835B882 - lsls r0, r1, 1 - adds r0, r1 - lsls r4, r0, 1 - adds r6, r3, 0x1 -_0805C99E: - lsls r0, r2, 1 - adds r1, r0, r4 - adds r0, r1, r3 - ldrb r0, [r0] - cmp r0, r5 - bne _0805C9B4 - adds r0, r1, r6 - ldrb r0, [r0] - b _0805C9C0 - .align 2, 0 -_0805C9B0: .4byte gUnknown_835B882 -_0805C9B4: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x2 - bls _0805C99E - movs r0, 0x1 -_0805C9C0: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end GetPlayerAvatarStateTransitionByGraphicsId - - thumb_func_start GetPlayerAvatarGraphicsIdByCurrentState -GetPlayerAvatarGraphicsIdByCurrentState: @ 805C9C8 - push {r4-r6,lr} - ldr r0, _0805C9F0 @ =gPlayerAvatar - ldrb r5, [r0] - movs r2, 0 - ldr r3, _0805C9F4 @ =gUnknown_835B882 - ldrb r1, [r0, 0x7] - lsls r0, r1, 1 - adds r0, r1 - lsls r4, r0, 1 - adds r6, r3, 0x1 -_0805C9DC: - lsls r0, r2, 1 - adds r1, r0, r4 - adds r0, r1, r6 - ldrb r0, [r0] - ands r0, r5 - cmp r0, 0 - beq _0805C9F8 - adds r0, r1, r3 - ldrb r0, [r0] - b _0805CA04 - .align 2, 0 -_0805C9F0: .4byte gPlayerAvatar -_0805C9F4: .4byte gUnknown_835B882 -_0805C9F8: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x2 - bls _0805C9DC - movs r0, 0 -_0805CA04: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end GetPlayerAvatarGraphicsIdByCurrentState - - thumb_func_start SetPlayerAvatarExtraStateTransition -SetPlayerAvatarExtraStateTransition: @ 805CA0C - push {r4,r5,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r0, 24 - lsls r4, 24 - lsrs r4, 24 - ldr r5, _0805CA38 @ =gPlayerAvatar - ldrb r1, [r5, 0x7] - bl GetPlayerAvatarStateTransitionByGraphicsId - lsls r0, 24 - lsrs r0, 24 - orrs r0, r4 - ldrb r1, [r5, 0x1] - orrs r0, r1 - strb r0, [r5, 0x1] - bl DoPlayerAvatarTransition - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0805CA38: .4byte gPlayerAvatar - thumb_func_end SetPlayerAvatarExtraStateTransition - - thumb_func_start InitPlayerAvatar -InitPlayerAvatar: @ 805CA3C - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0x18 - adds r4, r0, 0 - adds r5, r1, 0 - mov r9, r2 - mov r8, r3 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 16 - lsrs r5, 16 - mov r0, r9 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - mov r1, r8 - lsls r1, 24 - lsrs r1, 24 - mov r8, r1 - mov r1, sp - movs r0, 0xFF - strb r0, [r1] - movs r0, 0 - mov r1, r8 - bl GetPlayerAvatarGraphicsIdByStateIdAndGender - mov r1, sp - movs r3, 0 - strb r0, [r1, 0x1] - mov r0, sp - lsls r4, 16 - asrs r4, 16 - subs r4, 0x7 - movs r6, 0 - strh r4, [r0, 0x4] - lsls r5, 16 - asrs r5, 16 - subs r5, 0x7 - strh r5, [r0, 0x6] - strb r6, [r0, 0x8] - movs r0, 0xB - strb r0, [r1, 0x9] - mov r2, sp - ldrb r1, [r2, 0xA] - subs r0, 0x1B - ands r0, r1 - strb r0, [r2, 0xA] - mov r0, sp - strb r6, [r0, 0xA] - strh r3, [r0, 0xC] - strh r3, [r0, 0xE] - str r3, [sp, 0x10] - strh r3, [r0, 0x14] - bl SpawnSpecialObjectEvent - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - lsls r4, r5, 3 - adds r4, r5 - lsls r4, 2 - ldr r0, _0805CAFC @ =gObjectEvents - adds r4, r0 - ldrb r0, [r4, 0x2] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r4, 0x2] - bl CreateWarpArrowSprite - strb r0, [r4, 0x1B] - adds r0, r4, 0 - mov r1, r9 - bl ObjectEventTurn - bl ClearPlayerAvatarInfo - ldr r0, _0805CB00 @ =gPlayerAvatar - strb r6, [r0, 0x2] - strb r6, [r0, 0x3] - strb r5, [r0, 0x5] - ldrb r1, [r4, 0x4] - strb r1, [r0, 0x4] - mov r1, r8 - strb r1, [r0, 0x7] - movs r0, 0x21 - bl SetPlayerAvatarStateMask - add sp, 0x18 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0805CAFC: .4byte gObjectEvents -_0805CB00: .4byte gPlayerAvatar - thumb_func_end InitPlayerAvatar - - thumb_func_start sub_805CB04 -sub_805CB04: @ 805CB04 - push {r4-r6,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r6, _0805CB64 @ =gObjectEvents - ldr r5, _0805CB68 @ =gPlayerAvatar - ldrb r0, [r5, 0x5] - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - movs r0, 0x1 - ands r4, r0 - lsls r3, r4, 5 - ldrb r2, [r1, 0x1] - movs r0, 0x21 - negs r0, r0 - ands r0, r2 - orrs r0, r3 - strb r0, [r1, 0x1] - movs r0, 0x8 - bl TestPlayerAvatarFlags - lsls r0, 24 - cmp r0, 0 - beq _0805CB5C - ldr r2, _0805CB6C @ =gSprites - ldrb r1, [r5, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - ldrb r0, [r0, 0x1A] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - adds r1, 0x3E - lsls r3, r4, 2 - ldrb r2, [r1] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r3 - strb r0, [r1] -_0805CB5C: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0805CB64: .4byte gObjectEvents -_0805CB68: .4byte gPlayerAvatar -_0805CB6C: .4byte gSprites - thumb_func_end sub_805CB04 - - thumb_func_start sub_805CB70 -sub_805CB70: @ 805CB70 - push {r4,r5,lr} - ldr r5, _0805CBAC @ =gPlayerAvatar - ldrb r0, [r5, 0x5] - lsls r4, r0, 3 - adds r4, r0 - lsls r4, 2 - ldr r0, _0805CBB0 @ =gObjectEvents - adds r4, r0 - movs r0, 0x3 - bl GetPlayerAvatarGraphicsIdByStateId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl ObjectEventSetGraphicsId - ldrb r1, [r5, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0805CBB4 @ =gSprites - adds r0, r1 - movs r1, 0 - bl StartSpriteAnim - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0805CBAC: .4byte gPlayerAvatar -_0805CBB0: .4byte gObjectEvents -_0805CBB4: .4byte gSprites - thumb_func_end sub_805CB70 - - thumb_func_start sub_805CBB8 -sub_805CBB8: @ 805CBB8 - push {lr} - ldr r2, _0805CBD4 @ =gPlayerAvatar - ldrb r1, [r2] - movs r0, 0x6 - ands r0, r1 - cmp r0, 0 - bne _0805CBD8 - movs r0, 0x5 - bl GetPlayerAvatarGraphicsIdByStateId - lsls r0, 24 - lsrs r0, 24 - b _0805CBE0 - .align 2, 0 -_0805CBD4: .4byte gPlayerAvatar -_0805CBD8: - ldr r0, _0805CBE4 @ =gUnknown_835B88E - ldrb r1, [r2, 0x7] - adds r1, r0 - ldrb r0, [r1] -_0805CBE0: - pop {r1} - bx r1 - .align 2, 0 -_0805CBE4: .4byte gUnknown_835B88E - thumb_func_end sub_805CBB8 - - thumb_func_start sub_805CBE8 -sub_805CBE8: @ 805CBE8 - push {r4,r5,lr} - ldr r5, _0805CC20 @ =gPlayerAvatar - ldrb r0, [r5, 0x5] - lsls r4, r0, 3 - adds r4, r0 - lsls r4, 2 - ldr r0, _0805CC24 @ =gObjectEvents - adds r4, r0 - bl sub_805CBB8 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl ObjectEventSetGraphicsId - ldrb r1, [r5, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0805CC28 @ =gSprites - adds r0, r1 - movs r1, 0 - bl StartSpriteAnim - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0805CC20: .4byte gPlayerAvatar -_0805CC24: .4byte gObjectEvents -_0805CC28: .4byte gSprites - thumb_func_end sub_805CBE8 - - thumb_func_start sub_805CC2C -sub_805CC2C: @ 805CC2C - push {lr} - movs r0, 0x2 - bl sub_8150498 - pop {r0} - bx r0 - thumb_func_end sub_805CC2C - - thumb_func_start nullsub_24 -nullsub_24: @ 805CC38 - bx lr - thumb_func_end nullsub_24 - - thumb_func_start nullsub_25 -nullsub_25: @ 805CC3C - bx lr - thumb_func_end nullsub_25 - - thumb_func_start sub_805CC40 -sub_805CC40: @ 805CC40 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x4 - adds r5, r0, 0 - ldrb r0, [r5, 0x1E] - mov r8, r0 - movs r1, 0 - mov r0, sp - strh r1, [r0] - movs r6, 0x1 - ldr r1, _0805CCA4 @ =gUnknown_835B890 - mov r9, r1 - mov r4, sp - mov r7, sp - adds r7, 0x2 -_0805CC62: - movs r1, 0 - ldrsh r0, [r4, r1] - lsls r0, 2 - add r0, r9 - ldr r1, [r0] - mov r0, r8 - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - beq _0805CCA8 - ldrb r0, [r5, 0x18] - lsrs r0, 4 - cmp r6, r0 - bne _0805CCA8 - ldrh r0, [r5, 0x10] - strh r0, [r4] - ldrh r0, [r5, 0x12] - strh r0, [r7] - adds r0, r6, 0 - mov r1, sp - adds r2, r7, 0 - bl MoveCoords - ldrb r0, [r5, 0x1B] - movs r1, 0 - ldrsh r2, [r4, r1] - movs r1, 0 - ldrsh r3, [r7, r1] - adds r1, r6, 0 - bl ShowWarpArrowSprite - b _0805CCC2 - .align 2, 0 -_0805CCA4: .4byte gUnknown_835B890 -_0805CCA8: - ldrh r1, [r4] - adds r1, 0x1 - strh r1, [r4] - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 16 - asrs r1, 16 - cmp r1, 0x3 - ble _0805CC62 - ldrb r0, [r5, 0x1B] - bl SetSpriteInvisible -_0805CCC2: - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_805CC40 - - thumb_func_start task_add_bump_boulder -task_add_bump_boulder: @ 805CCD0 - push {r4-r6,lr} - adds r4, r0, 0 - adds r5, r1, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - ldr r6, _0805CD04 @ =taskFF_bump_boulder - adds r0, r6, 0 - movs r1, 0xFF - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0805CD08 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r4, [r1, 0xA] - strh r5, [r1, 0xC] - bl _call_via_r6 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0805CD04: .4byte taskFF_bump_boulder -_0805CD08: .4byte gTasks - thumb_func_end task_add_bump_boulder - - thumb_func_start taskFF_bump_boulder -taskFF_bump_boulder: @ 805CD0C - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r6, _0805CD54 @ =gUnknown_835B8A0 - ldr r2, _0805CD58 @ =gTasks - ldr r5, _0805CD5C @ =gObjectEvents - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_0805CD20: - movs r0, 0x8 - ldrsh r3, [r4, r0] - lsls r3, 2 - adds r3, r6 - ldr r0, _0805CD60 @ =gPlayerAvatar - ldrb r0, [r0, 0x5] - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - movs r2, 0xA - ldrsh r0, [r4, r2] - lsls r2, r0, 3 - adds r2, r0 - lsls r2, 2 - adds r2, r5 - ldr r3, [r3] - adds r0, r4, 0 - bl _call_via_r3 - lsls r0, 24 - cmp r0, 0 - bne _0805CD20 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0805CD54: .4byte gUnknown_835B8A0 -_0805CD58: .4byte gTasks -_0805CD5C: .4byte gObjectEvents -_0805CD60: .4byte gPlayerAvatar - thumb_func_end taskFF_bump_boulder - - thumb_func_start sub_805CD64 -sub_805CD64: @ 805CD64 - push {r4,lr} - adds r4, r0, 0 - bl ScriptContext2_Enable - ldr r1, _0805CD80 @ =gPlayerAvatar - movs r0, 0x1 - strb r0, [r1, 0x6] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0805CD80: .4byte gPlayerAvatar - thumb_func_end sub_805CD64 - - thumb_func_start sub_805CD84 -sub_805CD84: @ 805CD84 - push {r4-r6,lr} - adds r6, r0, 0 - adds r5, r1, 0 - adds r4, r2, 0 - adds r0, r5, 0 - bl ObjectEventIsMovementOverridden - lsls r0, 24 - cmp r0, 0 - bne _0805CE0E - adds r0, r4, 0 - bl ObjectEventIsMovementOverridden - lsls r0, 24 - cmp r0, 0 - bne _0805CE0E - adds r0, r5, 0 - bl ObjectEventClearHeldMovementIfFinished - adds r0, r4, 0 - bl ObjectEventClearHeldMovementIfFinished - ldrb r0, [r6, 0xC] - bl GetWalkInPlaceNormalMovementAction - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - bl sub_805C06C - ldrb r0, [r6, 0xC] - bl sub_8063F2C - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl sub_805C0A4 - ldr r2, _0805CE18 @ =gFieldEffectArguments - movs r1, 0x10 - ldrsh r0, [r4, r1] - str r0, [r2] - movs r1, 0x12 - ldrsh r0, [r4, r1] - str r0, [r2, 0x4] - ldrb r0, [r4, 0xB] - lsrs r0, 4 - str r0, [r2, 0x8] - ldr r3, _0805CE1C @ =gSprites - ldrb r1, [r4, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrb r0, [r0, 0x5] - lsls r0, 28 - lsrs r0, 30 - str r0, [r2, 0xC] - movs r0, 0xA - bl FieldEffectStart - movs r0, 0xCF - bl PlaySE - ldrh r0, [r6, 0x8] - adds r0, 0x1 - strh r0, [r6, 0x8] -_0805CE0E: - movs r0, 0 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0805CE18: .4byte gFieldEffectArguments -_0805CE1C: .4byte gSprites - thumb_func_end sub_805CD84 - - thumb_func_start sub_805CE20 -sub_805CE20: @ 805CE20 - push {r4,r5,lr} - adds r5, r1, 0 - adds r4, r2, 0 - adds r0, r5, 0 - bl ObjectEventCheckHeldMovementStatus - lsls r0, 24 - cmp r0, 0 - beq _0805CE70 - adds r0, r4, 0 - bl ObjectEventCheckHeldMovementStatus - lsls r0, 24 - cmp r0, 0 - beq _0805CE70 - adds r0, r5, 0 - bl ObjectEventClearHeldMovementIfFinished - adds r0, r4, 0 - bl ObjectEventClearHeldMovementIfFinished - adds r0, r4, 0 - bl sub_806DE28 - ldrh r0, [r4, 0x10] - ldrh r1, [r4, 0x12] - bl sub_806DE70 - ldr r1, _0805CE78 @ =gPlayerAvatar - movs r0, 0 - strb r0, [r1, 0x6] - bl ScriptContext2_Disable - ldr r0, _0805CE7C @ =taskFF_bump_boulder - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask -_0805CE70: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0805CE78: .4byte gPlayerAvatar -_0805CE7C: .4byte taskFF_bump_boulder - thumb_func_end sub_805CE20 - - thumb_func_start sub_805CE80 -sub_805CE80: @ 805CE80 - push {r4,lr} - ldr r4, _0805CE9C @ =sub_805CEA0 - adds r0, r4, 0 - movs r1, 0xFF - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - bl _call_via_r4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0805CE9C: .4byte sub_805CEA0 - thumb_func_end sub_805CE80 - - thumb_func_start sub_805CEA0 -sub_805CEA0: @ 805CEA0 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, _0805CEDC @ =gUnknown_835B8AC - ldr r2, _0805CEE0 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_0805CEB2: - movs r0, 0x8 - ldrsh r2, [r4, r0] - lsls r2, 2 - adds r2, r5 - ldr r0, _0805CEE4 @ =gPlayerAvatar - ldrb r0, [r0, 0x5] - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - ldr r0, _0805CEE8 @ =gObjectEvents - adds r1, r0 - ldr r2, [r2] - adds r0, r4, 0 - bl _call_via_r2 - lsls r0, 24 - cmp r0, 0 - bne _0805CEB2 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0805CEDC: .4byte gUnknown_835B8AC -_0805CEE0: .4byte gTasks -_0805CEE4: .4byte gPlayerAvatar -_0805CEE8: .4byte gObjectEvents - thumb_func_end sub_805CEA0 - - thumb_func_start PlayerAvatar_DoSecretBaseMatJump -PlayerAvatar_DoSecretBaseMatJump: @ 805CEEC - push {r4-r6,lr} - adds r6, r0, 0 - adds r4, r1, 0 - ldr r5, _0805CF50 @ =gPlayerAvatar - movs r0, 0x1 - strb r0, [r5, 0x6] - adds r0, r4, 0 - bl ObjectEventClearHeldMovementIfFinished - lsls r0, 24 - cmp r0, 0 - beq _0805CF48 - movs r0, 0xA - bl PlaySE - ldrb r0, [r4, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl GetJumpInPlaceMovementAction - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl sub_805C06C - ldrh r0, [r6, 0xA] - adds r0, 0x1 - strh r0, [r6, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _0805CF48 - movs r0, 0 - strb r0, [r5, 0x6] - ldrb r0, [r5, 0x1] - movs r1, 0x20 - orrs r0, r1 - strb r0, [r5, 0x1] - ldr r0, _0805CF54 @ =sub_805CEA0 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask -_0805CF48: - movs r0, 0 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0805CF50: .4byte gPlayerAvatar -_0805CF54: .4byte sub_805CEA0 - thumb_func_end PlayerAvatar_DoSecretBaseMatJump - - thumb_func_start sub_805CF58 -sub_805CF58: @ 805CF58 - push {r4,lr} - ldr r4, _0805CF74 @ =sub_805CF78 - adds r0, r4, 0 - movs r1, 0xFF - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - bl _call_via_r4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0805CF74: .4byte sub_805CF78 - thumb_func_end sub_805CF58 - - thumb_func_start sub_805CF78 -sub_805CF78: @ 805CF78 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, _0805CFB4 @ =gUnknown_835B8B0 - ldr r2, _0805CFB8 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_0805CF8A: - movs r0, 0x8 - ldrsh r2, [r4, r0] - lsls r2, 2 - adds r2, r5 - ldr r0, _0805CFBC @ =gPlayerAvatar - ldrb r0, [r0, 0x5] - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - ldr r0, _0805CFC0 @ =gObjectEvents - adds r1, r0 - ldr r2, [r2] - adds r0, r4, 0 - bl _call_via_r2 - lsls r0, 24 - cmp r0, 0 - bne _0805CF8A - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0805CFB4: .4byte gUnknown_835B8B0 -_0805CFB8: .4byte gTasks -_0805CFBC: .4byte gPlayerAvatar -_0805CFC0: .4byte gObjectEvents - thumb_func_end sub_805CF78 - - thumb_func_start sub_805CFC4 -sub_805CFC4: @ 805CFC4 - push {lr} - ldrh r2, [r0, 0x8] - adds r2, 0x1 - strh r2, [r0, 0x8] - ldrb r1, [r1, 0x18] - lsrs r1, 4 - strh r1, [r0, 0xA] - ldr r1, _0805CFE8 @ =gPlayerAvatar - movs r0, 0x1 - strb r0, [r1, 0x6] - bl ScriptContext2_Enable - movs r0, 0x27 - bl PlaySE - movs r0, 0x1 - pop {r1} - bx r1 - .align 2, 0 -_0805CFE8: .4byte gPlayerAvatar - thumb_func_end sub_805CFC4 - - thumb_func_start sub_805CFEC -sub_805CFEC: @ 805CFEC - push {r4-r6,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - ldr r1, _0805D060 @ =gUnknown_835B8C0 - mov r0, sp - movs r2, 0x4 - bl memcpy - adds r0, r5, 0 - bl ObjectEventClearHeldMovementIfFinished - lsls r0, 24 - cmp r0, 0 - beq _0805D054 - ldrb r0, [r5, 0x18] - lsrs r0, 4 - subs r0, 0x1 - add r0, sp - ldrb r6, [r0] - adds r0, r6, 0 - bl GetFaceDirectionMovementAction - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - bl sub_805C06C - ldrb r0, [r4, 0xA] - cmp r6, r0 - bne _0805D032 - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] -_0805D032: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r1, 0xC - ldrsh r0, [r4, r1] - cmp r0, 0x3 - ble _0805D054 - ldrb r0, [r4, 0xA] - bl GetOppositeDirection - lsls r0, 24 - lsrs r0, 24 - cmp r6, r0 - bne _0805D054 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_0805D054: - movs r0, 0 - add sp, 0x4 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0805D060: .4byte gUnknown_835B8C0 - thumb_func_end sub_805CFEC - - thumb_func_start sub_805D064 -sub_805D064: @ 805D064 - push {r4,r5,lr} - sub sp, 0x8 - adds r5, r0, 0 - adds r4, r1, 0 - ldr r1, _0805D0A0 @ =gUnknown_835B8C4 - mov r0, sp - movs r2, 0x5 - bl memcpy - adds r0, r4, 0 - bl ObjectEventClearHeldMovementIfFinished - lsls r0, 24 - cmp r0, 0 - beq _0805D094 - movs r1, 0xC - ldrsh r0, [r5, r1] - add r0, sp - ldrb r1, [r0] - adds r0, r4, 0 - bl sub_805C06C - movs r0, 0x1 - strh r0, [r5, 0x8] -_0805D094: - movs r0, 0 - add sp, 0x8 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0805D0A0: .4byte gUnknown_835B8C4 - thumb_func_end sub_805D064 - - thumb_func_start sub_805D0A4 -sub_805D0A4: @ 805D0A4 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r0, r5, 0 - bl ObjectEventClearHeldMovementIfFinished - lsls r0, 24 - cmp r0, 0 - beq _0805D0E8 - ldrb r0, [r4, 0xA] - bl GetOppositeDirection - lsls r0, 24 - lsrs r0, 24 - bl sub_8063F2C - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - bl sub_805C06C - bl ScriptContext2_Disable - ldr r1, _0805D0F0 @ =gPlayerAvatar - movs r0, 0 - strb r0, [r1, 0x6] - ldr r0, _0805D0F4 @ =sub_805CF78 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask -_0805D0E8: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0805D0F0: .4byte gPlayerAvatar -_0805D0F4: .4byte sub_805CF78 - thumb_func_end sub_805D0A4 - - thumb_func_start sub_805D0F8 -sub_805D0F8: @ 805D0F8 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl ScriptContext2_Enable - bl FreezeObjectEvents - bl sav1_reset_battle_music_maybe - bl Overworld_ChangeMusicToDefault - ldr r2, _0805D148 @ =gPlayerAvatar - ldrb r1, [r2] - movs r0, 0xF7 - ands r0, r1 - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2] - movs r0, 0x1 - strb r0, [r2, 0x6] - ldr r5, _0805D14C @ =taskFF_0805D1D4 - adds r0, r5, 0 - movs r1, 0xFF - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0805D150 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r4, [r1, 0x8] - bl _call_via_r5 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0805D148: .4byte gPlayerAvatar -_0805D14C: .4byte taskFF_0805D1D4 -_0805D150: .4byte gTasks - thumb_func_end sub_805D0F8 - - thumb_func_start sub_805D154 -sub_805D154: @ 805D154 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl ScriptContext2_Enable - bl FreezeObjectEvents - ldr r2, _0805D19C @ =gPlayerAvatar - ldrb r1, [r2] - movs r0, 0xF7 - ands r0, r1 - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2] - movs r0, 0x1 - strb r0, [r2, 0x6] - ldr r5, _0805D1A0 @ =taskFF_0805D1D4 - adds r0, r5, 0 - movs r1, 0xFF - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0805D1A4 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r4, [r1, 0x8] - bl _call_via_r5 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0805D19C: .4byte gPlayerAvatar -_0805D1A0: .4byte taskFF_0805D1D4 -_0805D1A4: .4byte gTasks - thumb_func_end sub_805D154 - - thumb_func_start sub_805D1A8 -sub_805D1A8: @ 805D1A8 - push {lr} - ldr r0, _0805D1CC @ =gUnknown_3005E88 - ldrb r0, [r0] - cmp r0, 0x1 - beq _0805D1C6 - cmp r0, 0x3 - beq _0805D1C6 - ldr r0, _0805D1D0 @ =gUnknown_835B820 - ldrb r0, [r0, 0x2] - movs r1, 0x10 - bl sub_811278C - movs r0, 0x2 - bl sub_805D0F8 -_0805D1C6: - pop {r0} - bx r0 - .align 2, 0 -_0805D1CC: .4byte gUnknown_3005E88 -_0805D1D0: .4byte gUnknown_835B820 - thumb_func_end sub_805D1A8 - - thumb_func_start taskFF_0805D1D4 -taskFF_0805D1D4: @ 805D1D4 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, _0805D230 @ =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _0805D234 @ =gObjectEvents - adds r5, r0, r1 - adds r0, r5, 0 - bl ObjectEventIsMovementOverridden - lsls r0, 24 - cmp r0, 0 - beq _0805D200 - adds r0, r5, 0 - bl ObjectEventClearHeldMovementIfFinished - lsls r0, 24 - cmp r0, 0 - beq _0805D228 -_0805D200: - ldrb r0, [r5, 0x1A] - movs r1, 0x2 - bl sub_80DC44C - ldr r0, _0805D238 @ =gTasks - lsls r4, r6, 2 - adds r4, r6 - lsls r4, 3 - adds r4, r0 - ldrb r0, [r4, 0x8] - bl sub_80641EC - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - bl sub_805C06C - ldr r0, _0805D23C @ =sub_805D240 - str r0, [r4] -_0805D228: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0805D230: .4byte gPlayerAvatar -_0805D234: .4byte gObjectEvents -_0805D238: .4byte gTasks -_0805D23C: .4byte sub_805D240 - thumb_func_end taskFF_0805D1D4 - - thumb_func_start sub_805D240 -sub_805D240: @ 805D240 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r6, _0805D2B4 @ =gPlayerAvatar - ldrb r1, [r6, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _0805D2B8 @ =gObjectEvents - adds r4, r0, r1 - adds r0, r4, 0 - bl ObjectEventClearHeldMovementIfFinished - lsls r0, 24 - cmp r0, 0 - beq _0805D2AE - movs r0, 0 - bl GetPlayerAvatarGraphicsIdByStateId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl ObjectEventSetGraphicsId - ldrb r0, [r4, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl GetFaceDirectionMovementAction - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl sub_805C06C - movs r0, 0 - strb r0, [r6, 0x6] - bl ScriptContext2_Disable - bl UnfreezeObjectEvents - ldrb r1, [r4, 0x1A] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0805D2BC @ =gSprites - adds r0, r1 - bl DestroySprite - adds r0, r5, 0 - bl DestroyTask - bl SetHelpContextForMap -_0805D2AE: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0805D2B4: .4byte gPlayerAvatar -_0805D2B8: .4byte gObjectEvents -_0805D2BC: .4byte gSprites - thumb_func_end sub_805D240 - - thumb_func_start sub_805D2C0 -sub_805D2C0: @ 805D2C0 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r5, _0805D2FC @ =sub_805D304 - adds r0, r5, 0 - movs r1, 0xFF - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0805D300 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r4, [r1, 0x26] - bl _call_via_r5 - movs r0, 0x2 - bl sub_8150474 - cmp r0, 0x1 - bne _0805D2F4 - bl sub_8112C9C -_0805D2F4: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0805D2FC: .4byte sub_805D304 -_0805D300: .4byte gTasks - thumb_func_end sub_805D2C0 - - thumb_func_start sub_805D304 -sub_805D304: @ 805D304 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r5, _0805D334 @ =gUnknown_835B8CC - ldr r2, _0805D338 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 -_0805D316: - 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 _0805D316 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0805D334: .4byte gUnknown_835B8CC -_0805D338: .4byte gTasks - thumb_func_end sub_805D304 - - thumb_func_start sub_805D33C -sub_805D33C: @ 805D33C - push {r4,lr} - adds r4, r0, 0 - bl ScriptContext2_Enable - ldr r1, _0805D358 @ =gPlayerAvatar - movs r0, 0x1 - strb r0, [r1, 0x6] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0805D358: .4byte gPlayerAvatar - thumb_func_end sub_805D33C - - thumb_func_start fish1 -fish1: @ 805D35C - push {r4-r6,lr} - sub sp, 0x10 - adds r5, r0, 0 - ldr r1, _0805D3E4 @ =gUnknown_835B90C - mov r0, sp - movs r2, 0x6 - bl memcpy - add r4, sp, 0x8 - ldr r1, _0805D3E8 @ =gUnknown_835B912 - adds r0, r4, 0 - movs r2, 0x6 - bl memcpy - movs r0, 0 - strh r0, [r5, 0x20] - bl Random - movs r2, 0x26 - ldrsh r1, [r5, r2] - lsls r1, 1 - mov r2, sp - adds r6, r2, r1 - lsls r0, 16 - lsrs r0, 16 - adds r4, r1 - movs r2, 0 - ldrsh r1, [r4, r2] - bl __modsi3 - ldrh r1, [r6] - adds r1, r0 - strh r1, [r5, 0x22] - ldr r3, _0805D3EC @ =gObjectEvents - ldr r2, _0805D3F0 @ =gPlayerAvatar - ldrb r1, [r2, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrb r0, [r0, 0x5] - strh r0, [r5, 0x24] - ldrb r0, [r2, 0x5] - lsls r4, r0, 3 - adds r4, r0 - lsls r4, 2 - adds r4, r3 - adds r0, r4, 0 - bl ObjectEventClearHeldMovementIfActive - ldrb r0, [r4, 0x1] - movs r1, 0x8 - orrs r0, r1 - strb r0, [r4, 0x1] - ldrb r0, [r4, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl sub_805CC2C - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - movs r0, 0 - add sp, 0x10 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0805D3E4: .4byte gUnknown_835B90C -_0805D3E8: .4byte gUnknown_835B912 -_0805D3EC: .4byte gObjectEvents -_0805D3F0: .4byte gPlayerAvatar - thumb_func_end fish1 - - thumb_func_start fish2 -fish2: @ 805D3F4 - push {r4,lr} - adds r4, r0, 0 - ldr r0, _0805D428 @ =gPlayerAvatar - ldrb r1, [r0, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0805D42C @ =gSprites - adds r0, r1 - bl sub_805D9C4 - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3B - ble _0805D41E - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_0805D41E: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0805D428: .4byte gPlayerAvatar -_0805D42C: .4byte gSprites - thumb_func_end fish2 - - thumb_func_start sub_805D430 -sub_805D430: @ 805D430 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0 - movs r1, 0x1 - bl sub_80F7768 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - movs r1, 0 - strh r0, [r4, 0x8] - strh r1, [r4, 0xA] - strh r1, [r4, 0xC] - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xA - bl __umodsi3 - adds r1, r0, 0 - adds r0, r1, 0x1 - strh r0, [r4, 0xE] - movs r2, 0x20 - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _0805D468 - adds r0, r1, 0x4 - strh r0, [r4, 0xE] -_0805D468: - movs r1, 0xE - ldrsh r0, [r4, r1] - cmp r0, 0x9 - ble _0805D474 - movs r0, 0xA - strh r0, [r4, 0xE] -_0805D474: - movs r0, 0x1 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_805D430 - - thumb_func_start sub_805D47C -sub_805D47C: @ 805D47C - push {r4,r5,lr} - sub sp, 0xC - adds r4, r0, 0 - ldr r0, _0805D4CC @ =gPlayerAvatar - ldrb r1, [r0, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0805D4D0 @ =gSprites - adds r0, r1 - bl sub_805D9C4 - ldrh r0, [r4, 0xA] - adds r0, 0x1 - movs r5, 0 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x13 - ble _0805D4F8 - strh r5, [r4, 0xA] - movs r0, 0xC - ldrsh r1, [r4, r0] - movs r2, 0xE - ldrsh r0, [r4, r2] - cmp r1, r0 - blt _0805D4D4 - ldrh r0, [r4, 0x8] - adds r1, r0, 0x1 - strh r1, [r4, 0x8] - ldrh r2, [r4, 0x20] - movs r3, 0x20 - ldrsh r0, [r4, r3] - cmp r0, 0 - beq _0805D4C6 - adds r0, r1, 0x1 - strh r0, [r4, 0x8] -_0805D4C6: - adds r0, r2, 0x1 - strh r0, [r4, 0x20] - b _0805D4F8 - .align 2, 0 -_0805D4CC: .4byte gPlayerAvatar -_0805D4D0: .4byte gSprites -_0805D4D4: - ldr r2, _0805D504 @ =gUnknown_835B918 - movs r1, 0xC - ldrsh r0, [r4, r1] - lsls r3, r0, 1 - adds r3, r0 - lsls r3, 26 - lsrs r3, 24 - movs r0, 0x1 - str r0, [sp] - str r5, [sp, 0x4] - str r5, [sp, 0x8] - movs r0, 0 - movs r1, 0x2 - bl AddTextPrinterParameterized - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] -_0805D4F8: - movs r0, 0 - add sp, 0xC - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0805D504: .4byte gUnknown_835B918 - thumb_func_end sub_805D47C - - thumb_func_start sub_805D508 -sub_805D508: @ 805D508 - push {r4-r6,lr} - adds r4, r0, 0 - ldr r6, _0805D540 @ =gPlayerAvatar - ldrb r1, [r6, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r5, _0805D544 @ =gSprites - adds r0, r5 - bl sub_805D9C4 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - bl DoesCurrentMapHaveFishingMons - lsls r0, 24 - cmp r0, 0 - beq _0805D53A - bl Random - movs r1, 0x1 - ands r1, r0 - cmp r1, 0 - beq _0805D548 -_0805D53A: - movs r0, 0xB - strh r0, [r4, 0x8] - b _0805D56A - .align 2, 0 -_0805D540: .4byte gPlayerAvatar -_0805D544: .4byte gSprites -_0805D548: - ldrb r0, [r6, 0x4] - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - adds r4, r5 - bl GetPlayerFacingDirection - lsls r0, 24 - lsrs r0, 24 - bl sub_8063510 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl StartSpriteAnim -_0805D56A: - movs r0, 0x1 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_805D508 - - thumb_func_start sub_805D574 -sub_805D574: @ 805D574 - ldrh r1, [r0, 0x8] - adds r1, 0x3 - strh r1, [r0, 0x8] - movs r0, 0 - bx lr - thumb_func_end sub_805D574 - - thumb_func_start sub_805D580 -sub_805D580: @ 805D580 - push {r4,lr} - sub sp, 0x8 - adds r4, r0, 0 - ldr r1, _0805D5C0 @ =gUnknown_835B91A - mov r0, sp - movs r2, 0x6 - bl memcpy - ldr r0, _0805D5C4 @ =gPlayerAvatar - ldrb r1, [r0, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0805D5C8 @ =gSprites - adds r0, r1 - bl sub_805D9C4 - ldrh r1, [r4, 0xA] - adds r1, 0x1 - strh r1, [r4, 0xA] - movs r2, 0x26 - ldrsh r0, [r4, r2] - lsls r0, 1 - add r0, sp - lsls r1, 16 - asrs r1, 16 - movs r2, 0 - ldrsh r0, [r0, r2] - cmp r1, r0 - blt _0805D5CC - movs r0, 0xC - b _0805D5DC - .align 2, 0 -_0805D5C0: .4byte gUnknown_835B91A -_0805D5C4: .4byte gPlayerAvatar -_0805D5C8: .4byte gSprites -_0805D5CC: - ldr r0, _0805D5E8 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0805D5DE - ldrh r0, [r4, 0x8] - adds r0, 0x1 -_0805D5DC: - strh r0, [r4, 0x8] -_0805D5DE: - movs r0, 0 - add sp, 0x8 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0805D5E8: .4byte gMain - thumb_func_end sub_805D580 - - thumb_func_start sub_805D5EC -sub_805D5EC: @ 805D5EC - push {r4,lr} - sub sp, 0xC - adds r4, r0, 0 - ldr r1, _0805D660 @ =gUnknown_835B920 - mov r0, sp - movs r2, 0xC - bl memcpy - ldr r0, _0805D664 @ =gPlayerAvatar - ldrb r1, [r0, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0805D668 @ =gSprites - adds r0, r1 - bl sub_805D9C4 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0x20 - ldrsh r1, [r4, r0] - movs r2, 0x22 - ldrsh r0, [r4, r2] - cmp r1, r0 - blt _0805D650 - cmp r1, 0x1 - bgt _0805D654 - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x64 - bl __umodsi3 - movs r3, 0x20 - ldrsh r2, [r4, r3] - lsls r2, 1 - movs r3, 0x26 - ldrsh r1, [r4, r3] - lsls r1, 2 - adds r2, r1 - mov r3, sp - adds r1, r3, r2 - movs r2, 0 - ldrsh r1, [r1, r2] - lsls r0, 16 - asrs r0, 16 - cmp r1, r0 - ble _0805D654 -_0805D650: - movs r0, 0x3 - strh r0, [r4, 0x8] -_0805D654: - movs r0, 0 - add sp, 0xC - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0805D660: .4byte gUnknown_835B920 -_0805D664: .4byte gPlayerAvatar -_0805D668: .4byte gSprites - thumb_func_end sub_805D5EC - - thumb_func_start sub_805D66C -sub_805D66C: @ 805D66C - push {r4,r5,lr} - sub sp, 0x10 - adds r4, r0, 0 - ldr r0, _0805D6BC @ =gPlayerAvatar - ldrb r1, [r0, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0805D6C0 @ =gSprites - adds r0, r1 - bl sub_805D9C4 - movs r0, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r2, _0805D6C4 @ =gUnknown_841D14E - movs r5, 0 - str r5, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x2 - movs r3, 0x1 - bl AddTextPrinterParameterized2 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - strh r5, [r4, 0xA] - movs r0, 0 - add sp, 0x10 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0805D6BC: .4byte gPlayerAvatar -_0805D6C0: .4byte gSprites -_0805D6C4: .4byte gUnknown_841D14E - thumb_func_end sub_805D66C - - thumb_func_start sub_805D6C8 -sub_805D6C8: @ 805D6C8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r5, r0, 0 - movs r1, 0xA - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _0805D6EA - ldr r0, _0805D774 @ =gPlayerAvatar - ldrb r1, [r0, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0805D778 @ =gSprites - adds r0, r1 - bl sub_805D9C4 -_0805D6EA: - bl RunTextPrinters - movs r1, 0xA - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _0805D788 - movs r0, 0 - bl IsTextPrinterActive - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0 - bne _0805D780 - ldr r7, _0805D774 @ =gPlayerAvatar - ldrb r0, [r7, 0x5] - lsls r4, r0, 3 - adds r4, r0 - lsls r4, 2 - ldr r0, _0805D77C @ =gObjectEvents - mov r8, r0 - add r4, r8 - ldrh r1, [r5, 0x24] - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl ObjectEventSetGraphicsId - ldrb r1, [r4, 0x18] - lsrs r1, 4 - adds r0, r4, 0 - bl ObjectEventTurn - ldrb r1, [r7] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _0805D748 - ldrb r0, [r7, 0x5] - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - add r1, r8 - ldrb r0, [r1, 0x1A] - movs r1, 0 - movs r2, 0 - bl sub_80DC4A4 -_0805D748: - ldr r2, _0805D778 @ =gSprites - ldrb r1, [r7, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - strh r6, [r0, 0x24] - ldrb r1, [r7, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - strh r6, [r0, 0x26] - movs r0, 0 - movs r1, 0x1 - bl ClearDialogWindowAndFrame - ldrh r0, [r5, 0xA] - adds r0, 0x1 - strh r0, [r5, 0xA] - b _0805D7AA - .align 2, 0 -_0805D774: .4byte gPlayerAvatar -_0805D778: .4byte gSprites -_0805D77C: .4byte gObjectEvents -_0805D780: - movs r1, 0xA - ldrsh r0, [r5, r1] - cmp r0, 0 - beq _0805D7AA -_0805D788: - ldr r1, _0805D7B8 @ =gPlayerAvatar - movs r0, 0 - strb r0, [r1, 0x6] - bl ScriptContext2_Disable - ldrh r0, [r5, 0x26] - lsls r0, 24 - lsrs r0, 24 - bl FishingWildEncounter - ldr r0, _0805D7BC @ =sub_805D304 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask -_0805D7AA: - movs r0, 0 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0805D7B8: .4byte gPlayerAvatar -_0805D7BC: .4byte sub_805D304 - thumb_func_end sub_805D6C8 - - thumb_func_start sub_805D7C0 -sub_805D7C0: @ 805D7C0 - push {r4-r6,lr} - sub sp, 0x10 - adds r6, r0, 0 - ldr r4, _0805D82C @ =gPlayerAvatar - ldrb r1, [r4, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r5, _0805D830 @ =gSprites - adds r0, r5 - bl sub_805D9C4 - ldrb r0, [r4, 0x4] - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - adds r4, r5 - bl GetPlayerFacingDirection - lsls r0, 24 - lsrs r0, 24 - bl GetFishingBiteDirectionAnimNum - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl StartSpriteAnim - movs r0, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r2, _0805D834 @ =gUnknown_841D169 - movs r0, 0 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x2 - movs r3, 0x1 - bl AddTextPrinterParameterized2 - movs r0, 0xD - strh r0, [r6, 0x8] - movs r0, 0x1 - add sp, 0x10 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0805D82C: .4byte gPlayerAvatar -_0805D830: .4byte gSprites -_0805D834: .4byte gUnknown_841D169 - thumb_func_end sub_805D7C0 - - thumb_func_start sub_805D838 -sub_805D838: @ 805D838 - push {r4-r6,lr} - sub sp, 0x10 - adds r6, r0, 0 - ldr r4, _0805D8A0 @ =gPlayerAvatar - ldrb r1, [r4, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r5, _0805D8A4 @ =gSprites - adds r0, r5 - bl sub_805D9C4 - ldrb r0, [r4, 0x4] - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - adds r4, r5 - bl GetPlayerFacingDirection - lsls r0, 24 - lsrs r0, 24 - bl GetFishingBiteDirectionAnimNum - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl StartSpriteAnim - ldr r2, _0805D8A8 @ =gUnknown_841D17E - movs r0, 0 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x2 - movs r3, 0x1 - bl AddTextPrinterParameterized2 - ldrh r0, [r6, 0x8] - adds r0, 0x1 - strh r0, [r6, 0x8] - movs r0, 0x1 - add sp, 0x10 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0805D8A0: .4byte gPlayerAvatar -_0805D8A4: .4byte gSprites -_0805D8A8: .4byte gUnknown_841D17E - thumb_func_end sub_805D838 - - thumb_func_start sub_805D8AC -sub_805D8AC: @ 805D8AC - push {r4,lr} - adds r4, r0, 0 - ldr r0, _0805D8D0 @ =gPlayerAvatar - ldrb r1, [r0, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0805D8D4 @ =gSprites - adds r0, r1 - bl sub_805D9C4 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0805D8D0: .4byte gPlayerAvatar -_0805D8D4: .4byte gSprites - thumb_func_end sub_805D8AC - - thumb_func_start sub_805D8D8 -sub_805D8D8: @ 805D8D8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r6, r0, 0 - ldr r5, _0805D974 @ =gPlayerAvatar - ldrb r1, [r5, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r7, _0805D978 @ =gSprites - adds r0, r7 - bl sub_805D9C4 - ldrb r1, [r5, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - adds r0, 0x3F - ldrb r0, [r0] - lsls r0, 27 - cmp r0, 0 - bge _0805D968 - ldrb r0, [r5, 0x5] - lsls r4, r0, 3 - adds r4, r0 - lsls r4, 2 - ldr r0, _0805D97C @ =gObjectEvents - mov r8, r0 - add r4, r8 - ldrh r1, [r6, 0x24] - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl ObjectEventSetGraphicsId - ldrb r1, [r4, 0x18] - lsrs r1, 4 - adds r0, r4, 0 - bl ObjectEventTurn - ldrb r1, [r5] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _0805D948 - ldrb r0, [r5, 0x5] - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - add r1, r8 - ldrb r0, [r1, 0x1A] - movs r1, 0 - movs r2, 0 - bl sub_80DC4A4 -_0805D948: - ldrb r1, [r5, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - movs r2, 0 - strh r2, [r0, 0x24] - ldrb r1, [r5, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - strh r2, [r0, 0x26] - ldrh r0, [r6, 0x8] - adds r0, 0x1 - strh r0, [r6, 0x8] -_0805D968: - movs r0, 0 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0805D974: .4byte gPlayerAvatar -_0805D978: .4byte gSprites -_0805D97C: .4byte gObjectEvents - thumb_func_end sub_805D8D8 - - thumb_func_start sub_805D980 -sub_805D980: @ 805D980 - push {lr} - bl RunTextPrinters - movs r0, 0 - bl IsTextPrinterActive - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0 - bne _0805D9B6 - ldr r0, _0805D9BC @ =gPlayerAvatar - strb r1, [r0, 0x6] - bl ScriptContext2_Disable - bl UnfreezeObjectEvents - movs r0, 0 - movs r1, 0x1 - bl ClearDialogWindowAndFrame - ldr r0, _0805D9C0 @ =sub_805D304 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask -_0805D9B6: - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_0805D9BC: .4byte gPlayerAvatar -_0805D9C0: .4byte sub_805D304 - thumb_func_end sub_805D980 - - thumb_func_start sub_805D9C4 -sub_805D9C4: @ 805D9C4 - push {r4-r7,lr} - adds r4, r0, 0 - bl AnimateSprite - movs r0, 0 - strh r0, [r4, 0x24] - strh r0, [r4, 0x26] - adds r0, r4, 0 - adds r0, 0x2B - ldrb r5, [r0] - movs r0, 0x2A - adds r0, r4 - mov r12, r0 - ldrb r0, [r0] - ldr r1, [r4, 0x8] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - lsls r6, r5, 2 - adds r0, r6, r0 - movs r1, 0 - ldrsh r0, [r0, r1] - movs r7, 0x1 - negs r7, r7 - cmp r0, r7 - beq _0805DA28 - adds r3, r4, 0 - adds r3, 0x2C - ldrb r2, [r3] - lsls r1, r2, 26 - lsrs r1, 26 - adds r1, 0x1 - movs r0, 0x3F - ands r1, r0 - movs r0, 0x40 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - mov r1, r12 - ldrb r0, [r1] - ldr r1, [r4, 0x8] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - adds r0, r6, r0 - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, r7 - bne _0805DA2E -_0805DA28: - subs r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 -_0805DA2E: - adds r0, r4, 0 - adds r0, 0x2A - ldrb r0, [r0] - ldr r1, [r4, 0x8] - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - lsls r0, r5, 2 - adds r0, r1 - ldrb r5, [r0] - subs r0, r5, 0x1 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bhi _0805DA60 - movs r0, 0x8 - strh r0, [r4, 0x24] - bl GetPlayerFacingDirection - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bne _0805DA60 - ldr r0, _0805DAA4 @ =0x0000fff8 - strh r0, [r4, 0x24] -_0805DA60: - cmp r5, 0x5 - bne _0805DA68 - ldr r0, _0805DAA4 @ =0x0000fff8 - strh r0, [r4, 0x26] -_0805DA68: - adds r0, r5, 0 - subs r0, 0xA - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bhi _0805DA78 - movs r0, 0x8 - strh r0, [r4, 0x26] -_0805DA78: - ldr r3, _0805DAA8 @ =gPlayerAvatar - ldrb r1, [r3] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _0805DA9C - ldr r2, _0805DAAC @ =gObjectEvents - ldrb r1, [r3, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x1A] - movs r1, 0x26 - ldrsh r2, [r4, r1] - movs r1, 0x1 - bl sub_80DC4A4 -_0805DA9C: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0805DAA4: .4byte 0x0000fff8 -_0805DAA8: .4byte gPlayerAvatar -_0805DAAC: .4byte gObjectEvents - thumb_func_end sub_805D9C4 - - thumb_func_start sub_805DAB0 -sub_805DAB0: @ 805DAB0 - push {r4,lr} - ldr r4, _0805DACC @ =sub_805DB04 - adds r0, r4, 0 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - bl _call_via_r4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0805DACC: .4byte sub_805DB04 - thumb_func_end sub_805DAB0 - - thumb_func_start sub_805DAD0 -sub_805DAD0: @ 805DAD0 - push {lr} - ldr r0, _0805DAE0 @ =sub_805DB04 - bl FuncIsActiveTask - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .align 2, 0 -_0805DAE0: .4byte sub_805DB04 - thumb_func_end sub_805DAD0 - - thumb_func_start sub_805DAE4 -sub_805DAE4: @ 805DAE4 - ldr r1, _0805DAEC @ =gUnknown_2036E34 - strb r0, [r1] - bx lr - .align 2, 0 -_0805DAEC: .4byte gUnknown_2036E34 - thumb_func_end sub_805DAE4 - - thumb_func_start sub_805DAF0 -sub_805DAF0: @ 805DAF0 - push {lr} - ldr r1, _0805DB00 @ =gUnknown_2036E34 - ldrb r0, [r1] - cmp r0, 0 - bne _0805DAFC - movs r0, 0x1 -_0805DAFC: - pop {r1} - bx r1 - .align 2, 0 -_0805DB00: .4byte gUnknown_2036E34 - thumb_func_end sub_805DAF0 - - thumb_func_start sub_805DB04 -sub_805DB04: @ 805DB04 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r0, 24 - adds r2, r0, 0 - ldr r0, _0805DB48 @ =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _0805DB4C @ =gObjectEvents - adds r4, r0, r1 - ldrb r1, [r4, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0805DB50 @ =gSprites - adds r7, r0, r1 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - ldr r1, _0805DB54 @ =gTasks+0x8 - adds r5, r0, r1 - movs r0, 0 - ldrsh r6, [r5, r0] - cmp r6, 0x1 - beq _0805DBBA - cmp r6, 0x1 - bgt _0805DB58 - cmp r6, 0 - beq _0805DB5E - b _0805DBFA - .align 2, 0 -_0805DB48: .4byte gPlayerAvatar -_0805DB4C: .4byte gObjectEvents -_0805DB50: .4byte gSprites -_0805DB54: .4byte gTasks+0x8 -_0805DB58: - cmp r6, 0x2 - beq _0805DBF4 - b _0805DBFA -_0805DB5E: - adds r0, r4, 0 - bl ObjectEventClearHeldMovementIfFinished - lsls r0, 24 - cmp r0, 0 - beq _0805DBFA - ldrb r0, [r4, 0x18] - lsls r0, 28 - lsrs r0, 28 - bl sub_805DAE4 - movs r1, 0 - mov r8, r1 - strh r6, [r5, 0x2] - movs r0, 0x1 - strh r0, [r5, 0x4] - ldrh r0, [r7, 0x26] - ldrh r2, [r7, 0x22] - adds r0, r2 - lsls r0, 4 - strh r0, [r5, 0x6] - strh r6, [r7, 0x26] - bl CameraObjectReset2 - ldrb r0, [r4, 0x3] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r4, 0x3] - ldrb r1, [r7, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r1 - strb r0, [r7, 0x5] - adds r0, r7, 0 - adds r0, 0x43 - mov r1, r8 - strb r1, [r0] - adds r2, r7, 0 - adds r2, 0x42 - ldrb r1, [r2] - movs r0, 0x3F - ands r0, r1 - strb r0, [r2] - ldrh r0, [r5] - adds r0, 0x1 - strh r0, [r5] -_0805DBBA: - adds r1, r5, 0x2 - adds r0, r4, 0 - bl sub_805DDC8 - ldrh r0, [r5, 0x6] - ldrh r1, [r5, 0x4] - subs r0, r1 - strh r0, [r5, 0x6] - adds r1, 0x3 - strh r1, [r5, 0x4] - lsls r0, 16 - asrs r0, 20 - strh r0, [r7, 0x22] - movs r2, 0x22 - ldrsh r1, [r7, r2] - ldr r0, _0805DBF0 @ =gTotalCameraPixelOffsetY - movs r2, 0 - ldrsh r0, [r0, r2] - adds r1, r0 - movs r0, 0x20 - negs r0, r0 - cmp r1, r0 - bge _0805DBFA - ldrh r0, [r5] - adds r0, 0x1 - strh r0, [r5] - b _0805DBFA - .align 2, 0 -_0805DBF0: .4byte gTotalCameraPixelOffsetY -_0805DBF4: - adds r0, r2, 0 - bl DestroyTask -_0805DBFA: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_805DB04 - - thumb_func_start sub_805DC04 -sub_805DC04: @ 805DC04 - push {r4,lr} - ldr r4, _0805DC20 @ =sub_805DC38 - adds r0, r4, 0 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - bl _call_via_r4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0805DC20: .4byte sub_805DC38 - thumb_func_end sub_805DC04 - - thumb_func_start sub_805DC24 -sub_805DC24: @ 805DC24 - push {lr} - ldr r0, _0805DC34 @ =sub_805DC38 - bl FuncIsActiveTask - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .align 2, 0 -_0805DC34: .4byte sub_805DC38 - thumb_func_end sub_805DC24 - - thumb_func_start sub_805DC38 -sub_805DC38: @ 805DC38 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r0, _0805DC80 @ =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _0805DC84 @ =gObjectEvents - adds r4, r0, r1 - ldrb r1, [r4, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0805DC88 @ =gSprites - adds r7, r0, r1 - mov r1, r8 - lsls r0, r1, 2 - add r0, r8 - lsls r0, 3 - ldr r1, _0805DC8C @ =gTasks+0x8 - adds r5, r0, r1 - movs r2, 0 - ldrsh r6, [r5, r2] - cmp r6, 0x1 - beq _0805DD1A - cmp r6, 0x1 - bgt _0805DC90 - cmp r6, 0 - beq _0805DC9A - b _0805DDBA - .align 2, 0 -_0805DC80: .4byte gPlayerAvatar -_0805DC84: .4byte gObjectEvents -_0805DC88: .4byte gSprites -_0805DC8C: .4byte gTasks+0x8 -_0805DC90: - cmp r6, 0x2 - beq _0805DD58 - cmp r6, 0x3 - beq _0805DD76 - b _0805DDBA -_0805DC9A: - bl sub_805DAF0 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0xA] - ldr r1, _0805DD54 @ =gUnknown_835B92C - movs r3, 0xA - ldrsh r0, [r5, r3] - adds r0, r1 - ldrb r0, [r0] - bl GetFaceDirectionMovementAction - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl ObjectEventForceSetHeldMovement - movs r0, 0 - mov r9, r0 - strh r6, [r5, 0x2] - movs r0, 0x74 - strh r0, [r5, 0x4] - ldrh r0, [r7, 0x22] - strh r0, [r5, 0x8] - ldrb r0, [r7, 0x5] - lsls r0, 28 - lsrs r0, 30 - strh r0, [r5, 0xC] - movs r1, 0x43 - adds r1, r7 - mov r8, r1 - ldrb r0, [r1] - strh r0, [r5, 0xE] - ldrh r0, [r7, 0x26] - adds r0, 0x20 - negs r0, r0 - lsls r0, 4 - strh r0, [r5, 0x6] - strh r6, [r7, 0x26] - bl CameraObjectReset2 - ldrb r0, [r4, 0x3] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r4, 0x3] - ldrb r1, [r7, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r1 - orrs r0, r2 - strb r0, [r7, 0x5] - mov r3, r9 - mov r2, r8 - strb r3, [r2] - adds r2, r7, 0 - adds r2, 0x42 - ldrb r1, [r2] - movs r0, 0x3F - ands r0, r1 - strb r0, [r2] - ldrh r0, [r5] - adds r0, 0x1 - strh r0, [r5] -_0805DD1A: - adds r1, r5, 0x2 - adds r0, r4, 0 - bl sub_805DDC8 - ldrh r0, [r5, 0x4] - ldrh r2, [r5, 0x6] - adds r1, r0, r2 - strh r1, [r5, 0x6] - subs r0, 0x3 - strh r0, [r5, 0x4] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3 - bgt _0805DD3A - movs r0, 0x4 - strh r0, [r5, 0x4] -_0805DD3A: - ldrh r0, [r5, 0x6] - lsls r0, 16 - asrs r0, 20 - strh r0, [r7, 0x22] - ldrh r2, [r5, 0x8] - movs r3, 0x8 - ldrsh r1, [r5, r3] - cmp r0, r1 - blt _0805DDBA - strh r2, [r7, 0x22] - movs r0, 0 - strh r0, [r5, 0x10] - b _0805DD6E - .align 2, 0 -_0805DD54: .4byte gUnknown_835B92C -_0805DD58: - adds r1, r5, 0x2 - adds r0, r4, 0 - bl sub_805DDC8 - ldrh r0, [r5, 0x10] - adds r0, 0x1 - strh r0, [r5, 0x10] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x8 - ble _0805DDBA -_0805DD6E: - ldrh r0, [r5] - adds r0, 0x1 - strh r0, [r5] - b _0805DDBA -_0805DD76: - movs r0, 0xA - ldrsh r6, [r5, r0] - adds r1, r5, 0x2 - adds r0, r4, 0 - bl sub_805DDC8 - lsls r0, 24 - lsrs r0, 24 - cmp r6, r0 - bne _0805DDBA - ldrb r1, [r4, 0x3] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r4, 0x3] - movs r0, 0x3 - ldrb r1, [r5, 0xC] - ands r1, r0 - lsls r1, 2 - ldrb r2, [r7, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r7, 0x5] - ldrh r1, [r5, 0xE] - adds r0, r7, 0 - adds r0, 0x43 - strb r1, [r0] - bl CameraObjectReset1 - mov r0, r8 - bl DestroyTask -_0805DDBA: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_805DC38 - - thumb_func_start sub_805DDC8 -sub_805DDC8: @ 805DDC8 - push {r4-r6,lr} - adds r5, r0, 0 - adds r6, r1, 0 - ldrh r1, [r6] - movs r2, 0 - ldrsh r0, [r6, r2] - cmp r0, 0x7 - bgt _0805DDE4 - adds r0, r1, 0x1 - strh r0, [r6] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x7 - ble _0805DE20 -_0805DDE4: - adds r0, r5, 0 - bl ObjectEventCheckHeldMovementStatus - lsls r0, 24 - cmp r0, 0 - beq _0805DE20 - ldr r4, _0805DE1C @ =gUnknown_835B92C - ldrb r0, [r5, 0x18] - lsls r0, 28 - lsrs r0, 28 - adds r0, r4 - ldrb r0, [r0] - bl GetFaceDirectionMovementAction - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - bl ObjectEventForceSetHeldMovement - movs r0, 0 - strh r0, [r6] - ldrb r0, [r5, 0x18] - lsls r0, 28 - lsrs r0, 28 - adds r0, r4 - ldrb r0, [r0] - b _0805DE26 - .align 2, 0 -_0805DE1C: .4byte gUnknown_835B92C -_0805DE20: - ldrb r0, [r5, 0x18] - lsls r0, 28 - lsrs r0, 28 -_0805DE26: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_805DDC8 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/overworld.s b/asm/overworld.s deleted file mode 100644 index ba9b03930..000000000 --- a/asm/overworld.s +++ /dev/null @@ -1,8010 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_8054BC8 -sub_8054BC8: @ 8054BC8 - push {r4,lr} - ldr r0, _08054BFC @ =EventScript_ResetEliteFourEnd - bl ScriptContext2_RunNewScript - ldr r0, _08054C00 @ =gSaveBlock1Ptr - ldr r4, [r0] - movs r0, 0xA4 - lsls r0, 2 - adds r4, r0 - bl ComputeWhiteOutMoneyLoss - adds r1, r0, 0 - adds r0, r4, 0 - bl RemoveMoney - bl HealPlayerParty - bl sub_8054DD8 - bl sub_80554BC - bl WarpIntoMap - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08054BFC: .4byte EventScript_ResetEliteFourEnd -_08054C00: .4byte gSaveBlock1Ptr - thumb_func_end sub_8054BC8 - - thumb_func_start ComputeWhiteOutMoneyLoss -ComputeWhiteOutMoneyLoss: @ 8054C04 - push {r4,lr} - bl CountBadgesForOverworldWhiteOutLossCalculation - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl GetPlayerPartyHighestLevel - lsls r0, 24 - lsrs r0, 24 - ldr r1, _08054C40 @ =sWhiteOutMoneyLossMultipliers - adds r4, r1 - ldrb r1, [r4] - lsls r1, 2 - adds r4, r0, 0 - muls r4, r1 - ldr r0, _08054C44 @ =gSaveBlock1Ptr - ldr r0, [r0] - movs r1, 0xA4 - lsls r1, 2 - adds r0, r1 - bl GetMoney - cmp r4, r0 - bls _08054C38 - adds r4, r0, 0 -_08054C38: - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08054C40: .4byte sWhiteOutMoneyLossMultipliers -_08054C44: .4byte gSaveBlock1Ptr - thumb_func_end ComputeWhiteOutMoneyLoss - - thumb_func_start OverworldWhiteOutGetMoneyLoss -OverworldWhiteOutGetMoneyLoss: @ 8054C48 - push {r4,r5,lr} - bl ComputeWhiteOutMoneyLoss - adds r4, r0, 0 - ldr r5, _08054C6C @ =gStringVar1 - bl CountDigits - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - adds r0, r5, 0 - adds r1, r4, 0 - movs r2, 0 - bl ConvertIntToDecimalStringN - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08054C6C: .4byte gStringVar1 - thumb_func_end OverworldWhiteOutGetMoneyLoss - - thumb_func_start CountBadgesForOverworldWhiteOutLossCalculation -CountBadgesForOverworldWhiteOutLossCalculation: @ 8054C70 - push {r4-r6,lr} - movs r6, 0 - movs r5, 0 - ldr r4, _08054C9C @ =sWhiteOutMoneyLossBadgeFlagIDs -_08054C78: - ldrh r0, [r4] - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _08054C8A - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 -_08054C8A: - adds r4, 0x2 - adds r5, 0x1 - cmp r5, 0x7 - bls _08054C78 - adds r0, r6, 0 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_08054C9C: .4byte sWhiteOutMoneyLossBadgeFlagIDs - thumb_func_end CountBadgesForOverworldWhiteOutLossCalculation - - thumb_func_start Overworld_ResetStateAfterFly -Overworld_ResetStateAfterFly: @ 8054CA0 - push {lr} - bl ResetInitialPlayerAvatarState - movs r0, 0x83 - lsls r0, 4 - bl FlagClear - ldr r0, _08054CEC @ =0x0000405e - movs r1, 0 - bl VarSet - ldr r0, _08054CF0 @ =0x00000802 - bl FlagClear - movs r0, 0x80 - lsls r0, 4 - bl FlagClear - ldr r0, _08054CF4 @ =0x0000406e - movs r1, 0 - bl VarSet - ldr r0, _08054CF8 @ =0x00000805 - bl FlagClear - ldr r0, _08054CFC @ =0x00000806 - bl FlagClear - ldr r0, _08054D00 @ =0x00000808 - bl FlagClear - ldr r0, _08054D04 @ =0x0000404d - movs r1, 0 - bl VarSet - pop {r0} - bx r0 - .align 2, 0 -_08054CEC: .4byte 0x0000405e -_08054CF0: .4byte 0x00000802 -_08054CF4: .4byte 0x0000406e -_08054CF8: .4byte 0x00000805 -_08054CFC: .4byte 0x00000806 -_08054D00: .4byte 0x00000808 -_08054D04: .4byte 0x0000404d - thumb_func_end Overworld_ResetStateAfterFly - - thumb_func_start Overworld_ResetStateAfterTeleport -Overworld_ResetStateAfterTeleport: @ 8054D08 - push {lr} - bl ResetInitialPlayerAvatarState - movs r0, 0x83 - lsls r0, 4 - bl FlagClear - ldr r0, _08054D54 @ =0x0000405e - movs r1, 0 - bl VarSet - ldr r0, _08054D58 @ =0x00000802 - bl FlagClear - movs r0, 0x80 - lsls r0, 4 - bl FlagClear - ldr r0, _08054D5C @ =0x0000406e - movs r1, 0 - bl VarSet - ldr r0, _08054D60 @ =0x00000805 - bl FlagClear - ldr r0, _08054D64 @ =0x00000806 - bl FlagClear - ldr r0, _08054D68 @ =0x00000808 - bl FlagClear - ldr r0, _08054D6C @ =0x0000404d - movs r1, 0 - bl VarSet - pop {r0} - bx r0 - .align 2, 0 -_08054D54: .4byte 0x0000405e -_08054D58: .4byte 0x00000802 -_08054D5C: .4byte 0x0000406e -_08054D60: .4byte 0x00000805 -_08054D64: .4byte 0x00000806 -_08054D68: .4byte 0x00000808 -_08054D6C: .4byte 0x0000404d - thumb_func_end Overworld_ResetStateAfterTeleport - - thumb_func_start Overworld_ResetStateAfterDigEscRope -Overworld_ResetStateAfterDigEscRope: @ 8054D70 - push {lr} - bl ResetInitialPlayerAvatarState - movs r0, 0x83 - lsls r0, 4 - bl FlagClear - ldr r0, _08054DBC @ =0x0000405e - movs r1, 0 - bl VarSet - ldr r0, _08054DC0 @ =0x00000802 - bl FlagClear - movs r0, 0x80 - lsls r0, 4 - bl FlagClear - ldr r0, _08054DC4 @ =0x0000406e - movs r1, 0 - bl VarSet - ldr r0, _08054DC8 @ =0x00000805 - bl FlagClear - ldr r0, _08054DCC @ =0x00000806 - bl FlagClear - ldr r0, _08054DD0 @ =0x00000808 - bl FlagClear - ldr r0, _08054DD4 @ =0x0000404d - movs r1, 0 - bl VarSet - pop {r0} - bx r0 - .align 2, 0 -_08054DBC: .4byte 0x0000405e -_08054DC0: .4byte 0x00000802 -_08054DC4: .4byte 0x0000406e -_08054DC8: .4byte 0x00000805 -_08054DCC: .4byte 0x00000806 -_08054DD0: .4byte 0x00000808 -_08054DD4: .4byte 0x0000404d - thumb_func_end Overworld_ResetStateAfterDigEscRope - - thumb_func_start sub_8054DD8 -sub_8054DD8: @ 8054DD8 - push {lr} - bl ResetInitialPlayerAvatarState - movs r0, 0x83 - lsls r0, 4 - bl FlagClear - ldr r0, _08054E24 @ =0x0000405e - movs r1, 0 - bl VarSet - ldr r0, _08054E28 @ =0x00000802 - bl FlagClear - movs r0, 0x80 - lsls r0, 4 - bl FlagClear - ldr r0, _08054E2C @ =0x0000406e - movs r1, 0 - bl VarSet - ldr r0, _08054E30 @ =0x00000805 - bl FlagClear - ldr r0, _08054E34 @ =0x00000806 - bl FlagClear - ldr r0, _08054E38 @ =0x00000808 - bl FlagClear - ldr r0, _08054E3C @ =0x0000404d - movs r1, 0 - bl VarSet - pop {r0} - bx r0 - .align 2, 0 -_08054E24: .4byte 0x0000405e -_08054E28: .4byte 0x00000802 -_08054E2C: .4byte 0x0000406e -_08054E30: .4byte 0x00000805 -_08054E34: .4byte 0x00000806 -_08054E38: .4byte 0x00000808 -_08054E3C: .4byte 0x0000404d - thumb_func_end sub_8054DD8 - - thumb_func_start sub_8054E40 -sub_8054E40: @ 8054E40 - push {lr} - movs r0, 0x80 - lsls r0, 4 - bl FlagClear - ldr r0, _08054E64 @ =0x0000406e - movs r1, 0 - bl VarSet - bl sub_805610C - bl UpdateLocationHistoryForRoamer - bl RoamerMoveToOtherLocationSet - pop {r0} - bx r0 - .align 2, 0 -_08054E64: .4byte 0x0000406e - thumb_func_end sub_8054E40 - - thumb_func_start ResetGameStats -ResetGameStats: @ 8054E68 - push {r4,r5,lr} - movs r2, 0 - ldr r5, _08054E8C @ =gSaveBlock1Ptr - movs r4, 0x90 - lsls r4, 5 - movs r3, 0 -_08054E74: - ldr r0, [r5] - lsls r1, r2, 2 - adds r0, r4 - adds r0, r1 - str r3, [r0] - adds r2, 0x1 - cmp r2, 0x3F - ble _08054E74 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08054E8C: .4byte gSaveBlock1Ptr - thumb_func_end ResetGameStats - - thumb_func_start IncrementGameStat -IncrementGameStat: @ 8054E90 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x33 - bhi _08054EB8 - adds r0, r4, 0 - bl GetGameStat - adds r1, r0, 0 - ldr r0, _08054EAC @ =0x00fffffe - cmp r1, r0 - bhi _08054EB0 - adds r1, 0x1 - b _08054EB2 - .align 2, 0 -_08054EAC: .4byte 0x00fffffe -_08054EB0: - ldr r1, _08054EC0 @ =0x00ffffff -_08054EB2: - adds r0, r4, 0 - bl SetGameStat -_08054EB8: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08054EC0: .4byte 0x00ffffff - thumb_func_end IncrementGameStat - - thumb_func_start GetGameStat -GetGameStat: @ 8054EC4 - push {lr} - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x33 - bhi _08054EF8 - ldr r0, _08054EF0 @ =gSaveBlock1Ptr - ldr r2, [r0] - lsls r0, r1, 2 - movs r1, 0x90 - lsls r1, 5 - adds r2, r1 - adds r2, r0 - ldr r0, _08054EF4 @ =gSaveBlock2Ptr - ldr r1, [r0] - movs r0, 0xF2 - lsls r0, 4 - adds r1, r0 - ldr r0, [r2] - ldr r1, [r1] - eors r0, r1 - b _08054EFA - .align 2, 0 -_08054EF0: .4byte gSaveBlock1Ptr -_08054EF4: .4byte gSaveBlock2Ptr -_08054EF8: - movs r0, 0 -_08054EFA: - pop {r1} - bx r1 - thumb_func_end GetGameStat - - thumb_func_start SetGameStat -SetGameStat: @ 8054F00 - push {lr} - adds r3, r1, 0 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x33 - bhi _08054F2A - ldr r0, _08054F30 @ =gSaveBlock1Ptr - ldr r1, [r0] - lsls r0, r2, 2 - movs r2, 0x90 - lsls r2, 5 - adds r1, r2 - adds r1, r0 - ldr r0, _08054F34 @ =gSaveBlock2Ptr - ldr r0, [r0] - movs r2, 0xF2 - lsls r2, 4 - adds r0, r2 - ldr r0, [r0] - eors r0, r3 - str r0, [r1] -_08054F2A: - pop {r0} - bx r0 - .align 2, 0 -_08054F30: .4byte gSaveBlock1Ptr -_08054F34: .4byte gSaveBlock2Ptr - thumb_func_end SetGameStat - - thumb_func_start sub_8054F38 -sub_8054F38: @ 8054F38 - push {r4-r6,lr} - adds r5, r0, 0 - movs r4, 0 - ldr r6, _08054F64 @ =gSaveBlock1Ptr -_08054F40: - lsls r1, r4, 2 - movs r0, 0x90 - lsls r0, 5 - adds r1, r0 - ldr r0, [r6] - adds r0, r1 - adds r1, r5, 0 - bl ApplyNewEncryptionKeyToWord - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x3F - bls _08054F40 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08054F64: .4byte gSaveBlock1Ptr - thumb_func_end sub_8054F38 - - thumb_func_start sub_8054F68 -sub_8054F68: @ 8054F68 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - movs r0, 0 - mov r9, r0 - mov r8, r0 - ldr r1, _08055040 @ =gMapHeader - ldr r0, [r1, 0x4] - ldrb r0, [r0] - cmp r9, r0 - bcc _08054F86 - b _08055092 -_08054F86: - ldr r2, _08055044 @ =gSaveBlock1Ptr - mov r10, r2 -_08054F8A: - ldr r3, _08055040 @ =gMapHeader - ldr r0, [r3, 0x4] - ldr r1, [r0, 0x4] - mov r4, r9 - lsls r0, r4, 1 - add r0, r9 - lsls r7, r0, 3 - adds r2, r7, r1 - ldrb r0, [r2, 0x2] - cmp r0, 0xFF - bne _08055054 - ldrb r4, [r2, 0x8] - ldrb r5, [r2, 0xC] - str r5, [sp] - ldrb r2, [r2, 0xE] - str r2, [sp, 0x4] - adds r0, r2, 0 - adds r1, r5, 0 - bl Overworld_GetMapHeaderByGroupAndId - mov r6, r10 - ldr r1, [r6] - mov r2, r8 - lsls r3, r2, 1 - add r3, r8 - lsls r3, 3 - adds r1, r3 - ldr r0, [r0, 0x4] - ldr r2, [r0, 0x4] - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 3 - adds r0, r2 - movs r5, 0x8E - lsls r5, 4 - adds r1, r5 - subs r0, 0x18 - ldm r0!, {r2,r5,r6} - stm r1!, {r2,r5,r6} - ldm r0!, {r2,r5,r6} - stm r1!, {r2,r5,r6} - mov r6, r10 - ldr r1, [r6] - adds r1, r3 - ldr r2, _08055040 @ =gMapHeader - ldr r0, [r2, 0x4] - ldr r0, [r0, 0x4] - adds r0, r7, r0 - ldrb r0, [r0] - movs r5, 0x8E - lsls r5, 4 - adds r1, r5 - strb r0, [r1] - ldr r1, [r6] - adds r1, r3 - ldr r0, [r2, 0x4] - ldr r0, [r0, 0x4] - adds r0, r7, r0 - ldrh r2, [r0, 0x4] - ldr r6, _08055048 @ =0x000008e4 - adds r0, r1, r6 - strh r2, [r0] - ldr r2, _08055040 @ =gMapHeader - ldr r0, [r2, 0x4] - ldr r0, [r0, 0x4] - adds r0, r7, r0 - ldrh r2, [r0, 0x6] - adds r5, 0x6 - adds r0, r1, r5 - strh r2, [r0] - adds r6, 0x4 - adds r1, r6 - strb r4, [r1] - mov r1, r10 - ldr r0, [r1] - adds r0, r3 - ldr r2, _0805504C @ =0x000008ec - adds r1, r0, r2 - mov r3, sp - ldrh r3, [r3] - strh r3, [r1] - ldr r4, _08055050 @ =0x000008ee - adds r1, r0, r4 - mov r5, sp - ldrh r5, [r5, 0x4] - strh r5, [r1] - subs r6, 0x6 - adds r0, r6 - movs r1, 0xFF - strb r1, [r0] - b _08055072 - .align 2, 0 -_08055040: .4byte gMapHeader -_08055044: .4byte gSaveBlock1Ptr -_08055048: .4byte 0x000008e4 -_0805504C: .4byte 0x000008ec -_08055050: .4byte 0x000008ee -_08055054: - mov r0, r10 - ldr r1, [r0] - mov r3, r8 - lsls r0, r3, 1 - add r0, r8 - lsls r0, 3 - adds r1, r0 - movs r4, 0x8E - lsls r4, 4 - adds r1, r4 - adds r0, r2, 0 - ldm r0!, {r2,r5,r6} - stm r1!, {r2,r5,r6} - ldm r0!, {r3-r5} - stm r1!, {r3-r5} -_08055072: - mov r0, r8 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - mov r0, r9 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - ldr r6, _080550A4 @ =gMapHeader - ldr r0, [r6, 0x4] - ldrb r0, [r0] - cmp r9, r0 - bcs _08055092 - b _08054F8A -_08055092: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080550A4: .4byte gMapHeader - thumb_func_end sub_8054F68 - - thumb_func_start sub_80550A8 -sub_80550A8: @ 80550A8 - push {lr} - ldr r0, _080550D0 @ =gMapHeader - ldr r1, [r0, 0x4] - ldr r0, _080550D4 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldr r2, [r1, 0x4] - movs r3, 0x8E - lsls r3, 4 - adds r1, r0, r3 - movs r3, 0x3F -_080550BC: - ldr r0, [r2, 0x10] - str r0, [r1, 0x10] - adds r2, 0x18 - adds r1, 0x18 - subs r3, 0x1 - cmp r3, 0 - bge _080550BC - pop {r0} - bx r0 - .align 2, 0 -_080550D0: .4byte gMapHeader -_080550D4: .4byte gSaveBlock1Ptr - thumb_func_end sub_80550A8 - - thumb_func_start Overworld_SetMapObjTemplateCoords -Overworld_SetMapObjTemplateCoords: @ 80550D8 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r1, 16 - lsrs r4, r1, 16 - lsls r2, 16 - lsrs r2, 16 - ldr r0, _08055100 @ =gSaveBlock1Ptr - ldr r0, [r0] - movs r1, 0 - movs r6, 0x8E - lsls r6, 4 - adds r3, r0, r6 -_080550F2: - ldrb r0, [r3] - cmp r0, r5 - bne _08055104 - strh r4, [r3, 0x4] - strh r2, [r3, 0x6] - b _0805510C - .align 2, 0 -_08055100: .4byte gSaveBlock1Ptr -_08055104: - adds r3, 0x18 - adds r1, 0x1 - cmp r1, 0x3F - ble _080550F2 -_0805510C: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end Overworld_SetMapObjTemplateCoords - - thumb_func_start Overworld_SetMapObjTemplateMovementType -Overworld_SetMapObjTemplateMovementType: @ 8055114 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 24 - lsrs r1, 24 - ldr r0, _08055134 @ =gSaveBlock1Ptr - ldr r0, [r0] - movs r3, 0 - movs r5, 0x8E - lsls r5, 4 - adds r2, r0, r5 -_0805512A: - ldrb r0, [r2] - cmp r0, r4 - bne _08055138 - strb r1, [r2, 0x9] - b _08055140 - .align 2, 0 -_08055134: .4byte gSaveBlock1Ptr -_08055138: - adds r2, 0x18 - adds r3, 0x1 - cmp r3, 0x3F - ble _0805512A -_08055140: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end Overworld_SetMapObjTemplateMovementType - - thumb_func_start mapdata_load_assets_to_gpu_and_full_redraw -mapdata_load_assets_to_gpu_and_full_redraw: @ 8055148 - push {r4,lr} - bl move_tilemap_camera_to_upper_left_corner - ldr r4, _0805516C @ =gMapHeader - ldr r0, [r4] - bl copy_map_tileset1_tileset2_to_vram - ldr r0, [r4] - bl apply_map_tileset1_tileset2_palette - bl DrawWholeMapView - bl InitTilesetAnimations - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0805516C: .4byte gMapHeader - thumb_func_end mapdata_load_assets_to_gpu_and_full_redraw - - thumb_func_start get_mapdata_header -get_mapdata_header: @ 8055170 - push {lr} - ldr r0, _08055180 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r1, [r0, 0x32] - cmp r1, 0 - bne _08055184 - movs r0, 0 - b _0805518E - .align 2, 0 -_08055180: .4byte gSaveBlock1Ptr -_08055184: - ldr r0, _08055194 @ =gMapLayouts - subs r1, 0x1 - lsls r1, 2 - adds r1, r0 - ldr r0, [r1] -_0805518E: - pop {r1} - bx r1 - .align 2, 0 -_08055194: .4byte gMapLayouts - thumb_func_end get_mapdata_header - - thumb_func_start warp_shift -warp_shift: @ 8055198 - ldr r3, _080551C4 @ =gUnknown_2031DB4 - ldr r0, _080551C8 @ =gSaveBlock1Ptr - ldr r2, [r0] - ldr r0, [r2, 0x4] - ldr r1, [r2, 0x8] - str r0, [r3] - str r1, [r3, 0x4] - ldr r0, _080551CC @ =gUnknown_2031DBC - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [r2, 0x4] - str r1, [r2, 0x8] - ldr r2, _080551D0 @ =gUnknown_2031DC4 - ldr r0, _080551D4 @ =sDummyWarpData - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [r2] - str r1, [r2, 0x4] - ldr r2, _080551D8 @ =gUnknown_2031DCC - str r0, [r2] - str r1, [r2, 0x4] - bx lr - .align 2, 0 -_080551C4: .4byte gUnknown_2031DB4 -_080551C8: .4byte gSaveBlock1Ptr -_080551CC: .4byte gUnknown_2031DBC -_080551D0: .4byte gUnknown_2031DC4 -_080551D4: .4byte sDummyWarpData -_080551D8: .4byte gUnknown_2031DCC - thumb_func_end warp_shift - - thumb_func_start warp_set -warp_set: @ 80551DC - push {r4,r5,lr} - ldr r4, [sp, 0xC] - ldr r5, [sp, 0x10] - strb r1, [r0] - strb r2, [r0, 0x1] - strb r3, [r0, 0x2] - lsls r4, 24 - asrs r4, 24 - strh r4, [r0, 0x4] - lsls r5, 24 - asrs r5, 24 - strh r5, [r0, 0x6] - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end warp_set - - thumb_func_start warp_data_is_not_neg_1 -warp_data_is_not_neg_1: @ 80551FC - push {lr} - adds r1, r0, 0 - movs r2, 0 - ldrsb r2, [r1, r2] - movs r0, 0x1 - negs r0, r0 - cmp r2, r0 - bne _08055230 - movs r0, 0x1 - ldrsb r0, [r1, r0] - cmp r0, r2 - bne _08055230 - movs r2, 0x2 - ldrsb r2, [r1, r2] - cmp r2, r0 - bne _08055230 - movs r0, 0x4 - ldrsh r3, [r1, r0] - cmp r3, r2 - bne _08055230 - movs r2, 0x6 - ldrsh r0, [r1, r2] - cmp r0, r3 - bne _08055230 - movs r0, 0x1 - b _08055232 -_08055230: - movs r0, 0 -_08055232: - pop {r1} - bx r1 - thumb_func_end warp_data_is_not_neg_1 - - thumb_func_start Overworld_GetMapHeaderByGroupAndId -Overworld_GetMapHeaderByGroupAndId: @ 8055238 - lsls r0, 16 - lsls r1, 16 - ldr r2, _0805524C @ =gMapGroups - lsrs r0, 14 - adds r0, r2 - ldr r0, [r0] - lsrs r1, 14 - adds r1, r0 - ldr r0, [r1] - bx lr - .align 2, 0 -_0805524C: .4byte gMapGroups - thumb_func_end Overworld_GetMapHeaderByGroupAndId - - thumb_func_start warp1_get_mapheader -warp1_get_mapheader: @ 8055250 - push {lr} - ldr r1, _08055270 @ =gUnknown_2031DBC - movs r0, 0 - ldrsb r0, [r1, r0] - lsls r0, 16 - lsrs r0, 16 - ldrb r1, [r1, 0x1] - lsls r1, 24 - asrs r1, 24 - lsls r1, 16 - lsrs r1, 16 - bl Overworld_GetMapHeaderByGroupAndId - pop {r1} - bx r1 - .align 2, 0 -_08055270: .4byte gUnknown_2031DBC - thumb_func_end warp1_get_mapheader - - thumb_func_start set_current_map_header_from_sav1_save_old_name -set_current_map_header_from_sav1_save_old_name: @ 8055274 - push {r4-r6,lr} - ldr r4, _080552B4 @ =gMapHeader - ldr r5, _080552B8 @ =gSaveBlock1Ptr - ldr r1, [r5] - movs r0, 0x4 - ldrsb r0, [r1, r0] - lsls r0, 16 - lsrs r0, 16 - ldrb r1, [r1, 0x5] - lsls r1, 24 - asrs r1, 24 - lsls r1, 16 - lsrs r1, 16 - bl Overworld_GetMapHeaderByGroupAndId - adds r1, r4, 0 - ldm r0!, {r2,r3,r6} - stm r1!, {r2,r3,r6} - ldm r0!, {r2,r3,r6} - stm r1!, {r2,r3,r6} - ldr r0, [r0] - str r0, [r1] - ldr r1, [r5] - ldrh r0, [r4, 0x12] - strh r0, [r1, 0x32] - bl get_mapdata_header - str r0, [r4] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080552B4: .4byte gMapHeader -_080552B8: .4byte gSaveBlock1Ptr - thumb_func_end set_current_map_header_from_sav1_save_old_name - - thumb_func_start set_current_map_header_from_sav1 -set_current_map_header_from_sav1: @ 80552BC - push {r4,r5,lr} - ldr r4, _080552F4 @ =gMapHeader - ldr r0, _080552F8 @ =gSaveBlock1Ptr - ldr r1, [r0] - movs r0, 0x4 - ldrsb r0, [r1, r0] - lsls r0, 16 - lsrs r0, 16 - ldrb r1, [r1, 0x5] - lsls r1, 24 - asrs r1, 24 - lsls r1, 16 - lsrs r1, 16 - bl Overworld_GetMapHeaderByGroupAndId - adds r1, r4, 0 - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldr r0, [r0] - str r0, [r1] - bl get_mapdata_header - str r0, [r4] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080552F4: .4byte gMapHeader -_080552F8: .4byte gSaveBlock1Ptr - thumb_func_end set_current_map_header_from_sav1 - - thumb_func_start update_camera_pos_from_warpid -update_camera_pos_from_warpid: @ 80552FC - push {r4,r5,lr} - ldr r0, _0805532C @ =gSaveBlock1Ptr - ldr r2, [r0] - movs r1, 0x6 - ldrsb r1, [r2, r1] - adds r4, r0, 0 - cmp r1, 0 - blt _08055334 - ldr r3, _08055330 @ =gMapHeader - ldr r0, [r3, 0x4] - ldrb r5, [r0, 0x1] - cmp r1, r5 - bge _08055334 - ldr r0, [r0, 0x8] - lsls r1, 3 - adds r0, r1, r0 - ldrh r0, [r0] - strh r0, [r2] - ldr r0, [r3, 0x4] - ldr r0, [r0, 0x8] - adds r1, r0 - ldrh r0, [r1, 0x2] - strh r0, [r2, 0x2] - b _0805536C - .align 2, 0 -_0805532C: .4byte gSaveBlock1Ptr -_08055330: .4byte gMapHeader -_08055334: - ldr r1, [r4] - ldrh r3, [r1, 0x8] - movs r2, 0x8 - ldrsh r0, [r1, r2] - cmp r0, 0 - blt _08055350 - ldrh r2, [r1, 0xA] - movs r5, 0xA - ldrsh r0, [r1, r5] - cmp r0, 0 - blt _08055350 - strh r3, [r1] - strh r2, [r1, 0x2] - b _0805536C -_08055350: - ldr r3, [r4] - ldr r2, _08055374 @ =gMapHeader - ldr r0, [r2] - ldr r0, [r0] - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - strh r0, [r3] - ldr r0, [r2] - ldr r0, [r0, 0x4] - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - strh r0, [r3, 0x2] -_0805536C: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08055374: .4byte gMapHeader - thumb_func_end update_camera_pos_from_warpid - - thumb_func_start WarpIntoMap -WarpIntoMap: @ 8055378 - push {lr} - bl warp_shift - bl set_current_map_header_from_sav1_save_old_name - bl update_camera_pos_from_warpid - pop {r0} - bx r0 - thumb_func_end WarpIntoMap - - thumb_func_start SetWarpDestination -SetWarpDestination: @ 805538C - push {r4-r6,lr} - sub sp, 0x8 - adds r4, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - ldr r1, [sp, 0x18] - ldr r0, _080553C4 @ =gUnknown_2031DBC - lsls r4, 24 - asrs r4, 24 - lsls r5, 24 - asrs r5, 24 - lsls r6, 24 - asrs r6, 24 - lsls r3, 24 - asrs r3, 24 - str r3, [sp] - lsls r1, 24 - asrs r1, 24 - str r1, [sp, 0x4] - adds r1, r4, 0 - adds r2, r5, 0 - adds r3, r6, 0 - bl warp_set - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080553C4: .4byte gUnknown_2031DBC - thumb_func_end SetWarpDestination - - thumb_func_start SetWarpDestinationToMapWarp -SetWarpDestinationToMapWarp: @ 80553C8 - push {lr} - sub sp, 0x4 - lsls r0, 24 - asrs r0, 24 - lsls r1, 24 - asrs r1, 24 - lsls r2, 24 - asrs r2, 24 - movs r3, 0x1 - negs r3, r3 - str r3, [sp] - bl SetWarpDestination - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end SetWarpDestinationToMapWarp - - thumb_func_start SetDynamicWarp -SetDynamicWarp: @ 80553E8 - push {r4,r5,lr} - sub sp, 0x8 - ldr r0, _08055418 @ =gSaveBlock1Ptr - ldr r5, [r0] - adds r0, r5, 0 - adds r0, 0x14 - lsls r1, 24 - asrs r1, 24 - lsls r2, 24 - asrs r2, 24 - lsls r3, 24 - asrs r3, 24 - movs r4, 0 - ldrsb r4, [r5, r4] - str r4, [sp] - movs r4, 0x2 - ldrsb r4, [r5, r4] - str r4, [sp, 0x4] - bl warp_set - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08055418: .4byte gSaveBlock1Ptr - thumb_func_end SetDynamicWarp - - thumb_func_start SetDynamicWarpWithCoords -SetDynamicWarpWithCoords: @ 805541C - push {r4,r5,lr} - sub sp, 0x8 - ldr r4, [sp, 0x14] - ldr r5, [sp, 0x18] - ldr r0, _08055450 @ =gSaveBlock1Ptr - ldr r0, [r0] - adds r0, 0x14 - lsls r1, 24 - asrs r1, 24 - lsls r2, 24 - asrs r2, 24 - lsls r3, 24 - asrs r3, 24 - lsls r4, 24 - asrs r4, 24 - str r4, [sp] - lsls r5, 24 - asrs r5, 24 - str r5, [sp, 0x4] - bl warp_set - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08055450: .4byte gSaveBlock1Ptr - thumb_func_end SetDynamicWarpWithCoords - - thumb_func_start SetWarpDestinationToDynamicWarp -SetWarpDestinationToDynamicWarp: @ 8055454 - ldr r2, _08055464 @ =gUnknown_2031DBC - ldr r0, _08055468 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, [r0, 0x18] - ldr r0, [r0, 0x14] - str r0, [r2] - str r1, [r2, 0x4] - bx lr - .align 2, 0 -_08055464: .4byte gUnknown_2031DBC -_08055468: .4byte gSaveBlock1Ptr - thumb_func_end SetWarpDestinationToDynamicWarp - - thumb_func_start sub_805546C -sub_805546C: @ 805546C - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - bl GetHealLocationPointer - adds r4, r0, 0 - cmp r4, 0 - beq _0805549A - movs r0, 0 - ldrsb r0, [r4, r0] - movs r1, 0x1 - ldrsb r1, [r4, r1] - movs r2, 0x1 - negs r2, r2 - movs r3, 0x2 - ldrsb r3, [r4, r3] - ldrb r4, [r4, 0x4] - lsls r4, 24 - asrs r4, 24 - str r4, [sp] - bl SetWarpDestination -_0805549A: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_805546C - - thumb_func_start copy_saved_warp3_bank_and_enter_x_to_warp1 -copy_saved_warp3_bank_and_enter_x_to_warp1: @ 80554A4 - ldr r2, _080554B4 @ =gUnknown_2031DBC - ldr r0, _080554B8 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, [r0, 0x20] - ldr r0, [r0, 0x1C] - str r0, [r2] - str r1, [r2, 0x4] - bx lr - .align 2, 0 -_080554B4: .4byte gUnknown_2031DBC -_080554B8: .4byte gSaveBlock1Ptr - thumb_func_end copy_saved_warp3_bank_and_enter_x_to_warp1 - - thumb_func_start sub_80554BC -sub_80554BC: @ 80554BC - push {lr} - ldr r0, _080554C8 @ =gUnknown_2031DBC - bl SetWhiteoutRespawnWarpAndHealerNpc - pop {r0} - bx r0 - .align 2, 0 -_080554C8: .4byte gUnknown_2031DBC - thumb_func_end sub_80554BC - - thumb_func_start SetLastHealLocationWarp -SetLastHealLocationWarp: @ 80554CC - push {r4,r5,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r0, 24 - bl GetHealLocationPointer - adds r5, r0, 0 - cmp r5, 0 - beq _08055500 - ldr r0, _08055508 @ =gSaveBlock1Ptr - ldr r0, [r0] - adds r0, 0x1C - movs r1, 0 - ldrsb r1, [r5, r1] - movs r2, 0x1 - ldrsb r2, [r5, r2] - movs r3, 0x1 - negs r3, r3 - movs r4, 0x2 - ldrsb r4, [r5, r4] - str r4, [sp] - movs r4, 0x4 - ldrsb r4, [r5, r4] - str r4, [sp, 0x4] - bl warp_set -_08055500: - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08055508: .4byte gSaveBlock1Ptr - thumb_func_end SetLastHealLocationWarp - - thumb_func_start UpdateEscapeWarp -UpdateEscapeWarp: @ 805550C - push {r4-r7,lr} - sub sp, 0x4 - lsls r0, 16 - lsrs r6, r0, 16 - lsls r1, 16 - lsrs r7, r1, 16 - bl GetCurrentMapType - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r1, _08055598 @ =gUnknown_2031DBC - movs r0, 0 - ldrsb r0, [r1, r0] - ldrb r1, [r1, 0x1] - lsls r1, 24 - asrs r1, 24 - bl get_map_light_level_by_bank_and_number - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r4, 0 - bl IsMapTypeOutdoors - lsls r0, 24 - cmp r0, 0 - beq _08055590 - adds r0, r5, 0 - bl IsMapTypeOutdoors - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08055590 - ldr r5, _0805559C @ =gSaveBlock1Ptr - ldr r0, [r5] - ldrh r0, [r0, 0x4] - cmp r0, 0x1 - beq _08055590 - bl GetPlayerFacingDirection - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x1 - eors r0, r1 - negs r4, r0 - orrs r4, r0 - ldr r1, [r5] - movs r0, 0x4 - ldrsb r0, [r1, r0] - ldrb r1, [r1, 0x5] - lsls r1, 24 - asrs r1, 24 - movs r2, 0x1 - negs r2, r2 - subs r3, r6, 0x7 - lsls r3, 24 - asrs r3, 24 - lsrs r4, 31 - subs r4, 0x7 - adds r4, r7, r4 - lsls r4, 24 - asrs r4, 24 - str r4, [sp] - bl SetEscapeWarp -_08055590: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08055598: .4byte gUnknown_2031DBC -_0805559C: .4byte gSaveBlock1Ptr - thumb_func_end UpdateEscapeWarp - - thumb_func_start SetEscapeWarp -SetEscapeWarp: @ 80555A0 - push {r4-r6,lr} - sub sp, 0x8 - adds r4, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - ldr r1, [sp, 0x18] - ldr r0, _080555DC @ =gSaveBlock1Ptr - ldr r0, [r0] - adds r0, 0x24 - lsls r4, 24 - asrs r4, 24 - lsls r5, 24 - asrs r5, 24 - lsls r6, 24 - asrs r6, 24 - lsls r3, 24 - asrs r3, 24 - str r3, [sp] - lsls r1, 24 - asrs r1, 24 - str r1, [sp, 0x4] - adds r1, r4, 0 - adds r2, r5, 0 - adds r3, r6, 0 - bl warp_set - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080555DC: .4byte gSaveBlock1Ptr - thumb_func_end SetEscapeWarp - - thumb_func_start sub_80555E0 -sub_80555E0: @ 80555E0 - ldr r2, _080555F0 @ =gUnknown_2031DBC - ldr r0, _080555F4 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, [r0, 0x28] - ldr r0, [r0, 0x24] - str r0, [r2] - str r1, [r2, 0x4] - bx lr - .align 2, 0 -_080555F0: .4byte gUnknown_2031DBC -_080555F4: .4byte gSaveBlock1Ptr - thumb_func_end sub_80555E0 - - thumb_func_start SetFixedDiveWarp -SetFixedDiveWarp: @ 80555F8 - push {r4-r6,lr} - sub sp, 0x8 - adds r4, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - ldr r1, [sp, 0x18] - ldr r0, _08055630 @ =gUnknown_2031DC4 - lsls r4, 24 - asrs r4, 24 - lsls r5, 24 - asrs r5, 24 - lsls r6, 24 - asrs r6, 24 - lsls r3, 24 - asrs r3, 24 - str r3, [sp] - lsls r1, 24 - asrs r1, 24 - str r1, [sp, 0x4] - adds r1, r4, 0 - adds r2, r5, 0 - adds r3, r6, 0 - bl warp_set - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08055630: .4byte gUnknown_2031DC4 - thumb_func_end SetFixedDiveWarp - - thumb_func_start warp1_set_to_warp2 -warp1_set_to_warp2: @ 8055634 - ldr r2, _08055644 @ =gUnknown_2031DBC - ldr r0, _08055648 @ =gUnknown_2031DC4 - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [r2] - str r1, [r2, 0x4] - bx lr - .align 2, 0 -_08055644: .4byte gUnknown_2031DBC -_08055648: .4byte gUnknown_2031DC4 - thumb_func_end warp1_set_to_warp2 - - thumb_func_start SetFixedHoleWarp -SetFixedHoleWarp: @ 805564C - push {r4-r6,lr} - sub sp, 0x8 - adds r4, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - ldr r1, [sp, 0x18] - ldr r0, _08055684 @ =gUnknown_2031DCC - lsls r4, 24 - asrs r4, 24 - lsls r5, 24 - asrs r5, 24 - lsls r6, 24 - asrs r6, 24 - lsls r3, 24 - asrs r3, 24 - str r3, [sp] - lsls r1, 24 - asrs r1, 24 - str r1, [sp, 0x4] - adds r1, r4, 0 - adds r2, r5, 0 - adds r3, r6, 0 - bl warp_set - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08055684: .4byte gUnknown_2031DCC - thumb_func_end SetFixedHoleWarp - - thumb_func_start SetWarpDestinationToFixedHoleWarp -SetWarpDestinationToFixedHoleWarp: @ 8055688 - push {r4-r6,lr} - sub sp, 0x4 - lsls r0, 16 - lsrs r5, r0, 16 - lsls r1, 16 - lsrs r6, r1, 16 - ldr r4, _080556B0 @ =gUnknown_2031DCC - adds r0, r4, 0 - bl warp_data_is_not_neg_1 - cmp r0, 0x1 - bne _080556BC - ldr r2, _080556B4 @ =gUnknown_2031DBC - ldr r0, _080556B8 @ =gUnknown_2031DB4 - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [r2] - str r1, [r2, 0x4] - b _080556D6 - .align 2, 0 -_080556B0: .4byte gUnknown_2031DCC -_080556B4: .4byte gUnknown_2031DBC -_080556B8: .4byte gUnknown_2031DB4 -_080556BC: - movs r0, 0 - ldrsb r0, [r4, r0] - movs r1, 0x1 - ldrsb r1, [r4, r1] - movs r2, 0x1 - negs r2, r2 - lsls r3, r5, 24 - asrs r3, 24 - lsls r4, r6, 24 - asrs r4, 24 - str r4, [sp] - bl SetWarpDestination -_080556D6: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end SetWarpDestinationToFixedHoleWarp - - thumb_func_start warp1_set_to_sav1w -warp1_set_to_sav1w: @ 80556E0 - ldr r2, _080556F0 @ =gUnknown_2031DBC - ldr r0, _080556F4 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, [r0, 0x10] - ldr r0, [r0, 0xC] - str r0, [r2] - str r1, [r2, 0x4] - bx lr - .align 2, 0 -_080556F0: .4byte gUnknown_2031DBC -_080556F4: .4byte gSaveBlock1Ptr - thumb_func_end warp1_set_to_sav1w - - thumb_func_start sub_80556F8 -sub_80556F8: @ 80556F8 - push {r4-r6,lr} - sub sp, 0x8 - adds r4, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - ldr r1, [sp, 0x18] - ldr r0, _08055734 @ =gSaveBlock1Ptr - ldr r0, [r0] - adds r0, 0xC - lsls r4, 24 - asrs r4, 24 - lsls r5, 24 - asrs r5, 24 - lsls r6, 24 - asrs r6, 24 - lsls r3, 24 - asrs r3, 24 - str r3, [sp] - lsls r1, 24 - asrs r1, 24 - str r1, [sp, 0x4] - adds r1, r4, 0 - adds r2, r5, 0 - adds r3, r6, 0 - bl warp_set - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08055734: .4byte gSaveBlock1Ptr - thumb_func_end sub_80556F8 - - thumb_func_start sub_8055738 -sub_8055738: @ 8055738 - push {r4,r5,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r0, 24 - bl GetHealLocationPointer - adds r5, r0, 0 - cmp r5, 0 - beq _0805576C - ldr r0, _08055774 @ =gSaveBlock1Ptr - ldr r0, [r0] - adds r0, 0xC - movs r1, 0 - ldrsb r1, [r5, r1] - movs r2, 0x1 - ldrsb r2, [r5, r2] - movs r3, 0x1 - negs r3, r3 - movs r4, 0x2 - ldrsb r4, [r5, r4] - str r4, [sp] - movs r4, 0x4 - ldrsb r4, [r5, r4] - str r4, [sp, 0x4] - bl warp_set -_0805576C: - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08055774: .4byte gSaveBlock1Ptr - thumb_func_end sub_8055738 - - thumb_func_start sub_8055778 -sub_8055778: @ 8055778 - ldr r0, _08055788 @ =gSaveBlock1Ptr - ldr r2, [r0] - ldr r0, [r2, 0x14] - ldr r1, [r2, 0x18] - str r0, [r2, 0xC] - str r1, [r2, 0x10] - bx lr - .align 2, 0 -_08055788: .4byte gSaveBlock1Ptr - thumb_func_end sub_8055778 - - thumb_func_start GetMapConnection -GetMapConnection: @ 805578C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _080557A0 @ =gMapHeader - ldr r0, [r0, 0xC] - ldr r3, [r0] - ldr r1, [r0, 0x4] - cmp r1, 0 - bne _080557A8 - b _080557BC - .align 2, 0 -_080557A0: .4byte gMapHeader -_080557A4: - adds r0, r1, 0 - b _080557BE -_080557A8: - movs r2, 0 - cmp r2, r3 - bge _080557BC -_080557AE: - ldrb r0, [r1] - cmp r0, r4 - beq _080557A4 - adds r2, 0x1 - adds r1, 0xC - cmp r2, r3 - blt _080557AE -_080557BC: - movs r0, 0 -_080557BE: - pop {r4} - pop {r1} - bx r1 - thumb_func_end GetMapConnection - - thumb_func_start sub_80557C4 -sub_80557C4: @ 80557C4 - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 16 - lsrs r4, r1, 16 - lsls r2, 16 - lsrs r5, r2, 16 - bl GetMapConnection - adds r1, r0, 0 - cmp r1, 0 - beq _080557FC - movs r0, 0x8 - ldrsb r0, [r1, r0] - ldrb r1, [r1, 0x9] - lsls r1, 24 - asrs r1, 24 - movs r2, 0x1 - negs r2, r2 - lsls r3, r4, 24 - asrs r3, 24 - lsls r4, r5, 24 - asrs r4, 24 - str r4, [sp] - bl SetWarpDestination - b _08055818 -_080557FC: - bl mapheader_run_script_with_tag_x6 - ldr r0, _08055810 @ =gUnknown_2031DC4 - bl warp_data_is_not_neg_1 - cmp r0, 0 - beq _08055814 - movs r0, 0 - b _0805581A - .align 2, 0 -_08055810: .4byte gUnknown_2031DC4 -_08055814: - bl warp1_set_to_warp2 -_08055818: - movs r0, 0x1 -_0805581A: - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80557C4 - - thumb_func_start SetDiveWarpEmerge -SetDiveWarpEmerge: @ 8055824 - push {lr} - adds r3, r0, 0 - adds r2, r1, 0 - lsls r3, 16 - lsrs r3, 16 - lsls r2, 16 - lsrs r2, 16 - movs r0, 0x6 - adds r1, r3, 0 - bl sub_80557C4 - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end SetDiveWarpEmerge - - thumb_func_start SetDiveWarpDive -SetDiveWarpDive: @ 8055844 - push {lr} - adds r3, r0, 0 - adds r2, r1, 0 - lsls r3, 16 - lsrs r3, 16 - lsls r2, 16 - lsrs r2, 16 - movs r0, 0x5 - adds r1, r3, 0 - bl sub_80557C4 - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end SetDiveWarpDive - - thumb_func_start sub_8055864 -sub_8055864: @ 8055864 - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsls r1, 24 - lsrs r5, r0, 24 - asrs r0, 24 - lsrs r4, r1, 24 - asrs r1, 24 - movs r3, 0x1 - negs r3, r3 - str r3, [sp] - adds r2, r3, 0 - bl SetWarpDestination - bl sub_8055E94 - bl warp_shift - bl set_current_map_header_from_sav1_save_old_name - bl sub_8054F68 - bl TrySetMapSaveWarpStatus - bl sub_806E110 - bl nullsub_74 - bl RestartWildEncounterImmunitySteps - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_810C578 - bl SetSav1WeatherFromCurrMapHeader - bl sub_805610C - bl sub_8055CB8 - bl sav1_reset_battle_music_maybe - bl mapheader_run_script_with_tag_x3 - bl TryRegenerateRenewableHiddenItems - bl InitMap - ldr r4, _0805591C @ =gMapHeader - ldr r0, [r4] - bl copy_map_tileset2_to_vram_2 - ldr r0, [r4] - bl apply_map_tileset2_palette - movs r4, 0x7 -_080558D4: - lsls r0, r4, 24 - lsrs r0, 24 - bl ApplyWeatherGammaShiftToPal - adds r4, 0x1 - cmp r4, 0xC - ble _080558D4 - bl InitSecondaryTilesetAnimation - bl UpdateLocationHistoryForRoamer - bl RoamerMove - bl sub_8110920 - bl DoCurrentWeather - bl ResetFieldTasksArgs - bl mapheader_run_script_with_tag_x5 - bl GetLastUsedWarpMapSectionId - ldr r1, _0805591C @ =gMapHeader - lsls r0, 24 - lsrs r0, 24 - ldrb r1, [r1, 0x14] - cmp r0, r1 - beq _08055914 - movs r0, 0x1 - bl CreateMapNamePopupIfNotAlreadyRunning -_08055914: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0805591C: .4byte gMapHeader - thumb_func_end sub_8055864 - - thumb_func_start sub_8055920 -sub_8055920: @ 8055920 - push {r4,lr} - bl set_current_map_header_from_sav1_save_old_name - bl sub_8054F68 - ldr r0, _0805599C @ =gMapHeader - ldrb r0, [r0, 0x17] - bl IsMapTypeOutdoors - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl TrySetMapSaveWarpStatus - bl sub_806E110 - bl nullsub_74 - bl RestartWildEncounterImmunitySteps - ldr r0, _080559A0 @ =gSaveBlock1Ptr - ldr r1, [r0] - movs r0, 0x4 - ldrsb r0, [r1, r0] - lsls r0, 16 - lsrs r0, 16 - ldrb r1, [r1, 0x5] - lsls r1, 24 - asrs r1, 24 - lsls r1, 16 - lsrs r1, 16 - bl sub_810C578 - bl SetSav1WeatherFromCurrMapHeader - bl sub_805610C - cmp r4, 0 - beq _08055974 - ldr r0, _080559A4 @ =0x00000806 - bl FlagClear -_08055974: - bl sub_8055CB8 - bl sav1_reset_battle_music_maybe - bl mapheader_run_script_with_tag_x3 - bl TryRegenerateRenewableHiddenItems - bl UpdateLocationHistoryForRoamer - bl RoamerMoveToOtherLocationSet - bl sub_8110920 - bl InitMap - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0805599C: .4byte gMapHeader -_080559A0: .4byte gSaveBlock1Ptr -_080559A4: .4byte 0x00000806 - thumb_func_end sub_8055920 - - thumb_func_start sub_80559A8 -sub_80559A8: @ 80559A8 - push {lr} - bl set_current_map_header_from_sav1_save_old_name - bl sub_8054F68 - ldr r0, _080559E0 @ =gMapHeader - ldrb r0, [r0, 0x17] - bl IsMapTypeOutdoors - bl TrySetMapSaveWarpStatus - bl SetSav1WeatherFromCurrMapHeader - bl sub_805610C - bl sub_8055CB8 - bl sub_8110920 - bl sub_8111708 - bl set_current_map_header_from_sav1 - bl InitMap - pop {r0} - bx r0 - .align 2, 0 -_080559E0: .4byte gMapHeader - thumb_func_end sub_80559A8 - - thumb_func_start ResetInitialPlayerAvatarState -ResetInitialPlayerAvatarState: @ 80559E4 - ldr r0, _080559F4 @ =gUnknown_2031DD4 - movs r2, 0 - movs r1, 0x1 - strb r1, [r0, 0x1] - strb r1, [r0] - strb r2, [r0, 0x2] - bx lr - .align 2, 0 -_080559F4: .4byte gUnknown_2031DD4 - thumb_func_end ResetInitialPlayerAvatarState - - thumb_func_start sub_80559F8 -sub_80559F8: @ 80559F8 - ldr r1, _08055A04 @ =gUnknown_2031DD4 - strb r0, [r1, 0x1] - movs r0, 0x1 - strb r0, [r1] - strb r0, [r1, 0x2] - bx lr - .align 2, 0 -_08055A04: .4byte gUnknown_2031DD4 - thumb_func_end sub_80559F8 - - thumb_func_start StoreInitialPlayerAvatarState -StoreInitialPlayerAvatarState: @ 8055A08 - push {r4,lr} - bl GetPlayerFacingDirection - ldr r4, _08055A24 @ =gUnknown_2031DD4 - strb r0, [r4, 0x1] - movs r0, 0x2 - bl TestPlayerAvatarFlags - lsls r0, 24 - cmp r0, 0 - beq _08055A28 - movs r0, 0x2 - b _08055A5A - .align 2, 0 -_08055A24: .4byte gUnknown_2031DD4 -_08055A28: - movs r0, 0x4 - bl TestPlayerAvatarFlags - lsls r0, 24 - cmp r0, 0 - beq _08055A38 - movs r0, 0x4 - b _08055A5A -_08055A38: - movs r0, 0x8 - bl TestPlayerAvatarFlags - lsls r0, 24 - cmp r0, 0 - beq _08055A48 - movs r0, 0x8 - b _08055A5A -_08055A48: - movs r0, 0x10 - bl TestPlayerAvatarFlags - lsls r0, 24 - cmp r0, 0 - beq _08055A58 - movs r0, 0x10 - b _08055A5A -_08055A58: - movs r0, 0x1 -_08055A5A: - strb r0, [r4] - ldr r1, _08055A68 @ =gUnknown_2031DD4 - movs r0, 0 - strb r0, [r1, 0x2] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08055A68: .4byte gUnknown_2031DD4 - thumb_func_end StoreInitialPlayerAvatarState - - thumb_func_start sub_8055A6C -sub_8055A6C: @ 8055A6C - push {r4-r7,lr} - bl GetCurrentMapType - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - bl sub_8055C74 - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r6, _08055ABC @ =gUnknown_2031DD4 - adds r0, r6, 0 - adds r1, r4, 0 - adds r2, r5, 0 - bl sub_8055ACC - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r0, _08055AC0 @ =0xffffff00 - ands r7, r0 - orrs r7, r1 - adds r0, r6, 0 - adds r2, r4, 0 - adds r3, r5, 0 - bl sub_8055B74 - lsls r0, 24 - lsrs r0, 16 - ldr r1, _08055AC4 @ =0xffff00ff - ands r7, r1 - orrs r7, r0 - ldr r0, _08055AC8 @ =0xff00ffff - ands r7, r0 - str r7, [r6] - adds r0, r6, 0 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08055ABC: .4byte gUnknown_2031DD4 -_08055AC0: .4byte 0xffffff00 -_08055AC4: .4byte 0xffff00ff -_08055AC8: .4byte 0xff00ffff - thumb_func_end sub_8055A6C - - thumb_func_start sub_8055ACC -sub_8055ACC: @ 8055ACC - push {r4-r6,lr} - adds r6, r0, 0 - lsls r1, 16 - lsrs r5, r1, 16 - lsls r2, 24 - lsrs r4, r2, 24 - cmp r4, 0x8 - beq _08055AE8 - ldr r0, _08055AF0 @ =0x00000802 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - bne _08055B30 -_08055AE8: - cmp r4, 0x5 - bne _08055AF4 - movs r0, 0x10 - b _08055B32 - .align 2, 0 -_08055AF0: .4byte 0x00000802 -_08055AF4: - adds r0, r5, 0 - bl sub_8055B38 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08055B30 - lsls r0, r5, 24 - lsrs r0, 24 - bl MetatileBehavior_IsSurfable - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08055B16 - movs r0, 0x8 - b _08055B32 -_08055B16: - bl sub_8055C9C - cmp r0, 0x1 - bne _08055B30 - ldrb r0, [r6] - cmp r0, 0x2 - bne _08055B28 - movs r0, 0x2 - b _08055B32 -_08055B28: - cmp r0, 0x4 - bne _08055B30 - movs r0, 0x4 - b _08055B32 -_08055B30: - movs r0, 0x1 -_08055B32: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8055ACC - - thumb_func_start sub_8055B38 -sub_8055B38: @ 8055B38 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl MetatileBehavior_IsSurfable - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08055B6C - ldr r0, _08055B60 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r1, [r0, 0x4] - ldr r0, _08055B64 @ =0x00005601 - cmp r1, r0 - beq _08055B5C - ldr r0, _08055B68 @ =0x00005701 - cmp r1, r0 - bne _08055B6C -_08055B5C: - movs r0, 0x1 - b _08055B6E - .align 2, 0 -_08055B60: .4byte gSaveBlock1Ptr -_08055B64: .4byte 0x00005601 -_08055B68: .4byte 0x00005701 -_08055B6C: - movs r0, 0 -_08055B6E: - pop {r1} - bx r1 - thumb_func_end sub_8055B38 - - thumb_func_start sub_8055B74 -sub_8055B74: @ 8055B74 - push {r4-r7,lr} - adds r6, r0, 0 - lsls r1, 24 - lsrs r7, r1, 24 - lsls r2, 16 - lsrs r4, r2, 16 - lsls r3, 24 - lsrs r5, r3, 24 - ldr r0, _08055BD4 @ =0x00000802 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _08055B94 - cmp r5, 0x6 - beq _08055C3E -_08055B94: - lsls r4, 24 - lsrs r5, r4, 24 - adds r0, r5, 0 - bl MetatileBehavior_ReturnFalse_2 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08055BD0 - adds r0, r5, 0 - bl MetatileBehavior_IsCaveDoor - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08055C68 - adds r0, r5, 0 - bl MetatileBehavior_IsWarpDoor_2 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08055C68 - adds r0, r5, 0 - bl MetatileBehavior_IsSouthArrowWarp - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08055BD8 -_08055BD0: - movs r0, 0x2 - b _08055C6E - .align 2, 0 -_08055BD4: .4byte 0x00000802 -_08055BD8: - adds r0, r5, 0 - bl MetatileBehavior_IsNorthArrowWarp - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08055C68 - adds r0, r5, 0 - bl MetatileBehavior_IsWestArrowWarp - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08055C3E - adds r0, r5, 0 - bl MetatileBehavior_IsEastArrowWarp - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08055C1E - adds r0, r5, 0 - bl MetatileBehavior_IsUnknownWarp6C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08055C1E - adds r0, r5, 0 - bl MetatileBehavior_IsUnknownWarp6E - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08055C22 -_08055C1E: - movs r0, 0x3 - b _08055C6E -_08055C22: - adds r0, r5, 0 - bl MetatileBehavior_IsUnknownWarp6D - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08055C3E - adds r0, r5, 0 - bl MetatileBehavior_IsUnknownWarp6F - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08055C42 -_08055C3E: - movs r0, 0x4 - b _08055C6E -_08055C42: - ldrb r0, [r6] - cmp r0, 0x10 - bne _08055C4C - cmp r7, 0x8 - beq _08055C6C -_08055C4C: - cmp r0, 0x8 - bne _08055C54 - cmp r7, 0x10 - beq _08055C6C -_08055C54: - lsrs r0, r4, 24 - bl MetatileBehavior_IsLadder - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08055C6C - ldrb r0, [r6, 0x2] - cmp r0, 0 - bne _08055C6C -_08055C68: - movs r0, 0x1 - b _08055C6E -_08055C6C: - ldrb r0, [r6, 0x1] -_08055C6E: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8055B74 - - thumb_func_start sub_8055C74 -sub_8055C74: @ 8055C74 - push {lr} - ldr r0, _08055C98 @ =gSaveBlock1Ptr - ldr r1, [r0] - ldrh r0, [r1] - adds r0, 0x7 - lsls r0, 16 - asrs r0, 16 - ldrh r1, [r1, 0x2] - adds r1, 0x7 - lsls r1, 16 - asrs r1, 16 - bl MapGridGetMetatileBehaviorAt - lsls r0, 16 - lsrs r0, 16 - pop {r1} - bx r1 - .align 2, 0 -_08055C98: .4byte gSaveBlock1Ptr - thumb_func_end sub_8055C74 - - thumb_func_start sub_8055C9C -sub_8055C9C: @ 8055C9C - push {lr} - ldr r0, _08055CAC @ =gMapHeader - ldrb r0, [r0, 0x18] - cmp r0, 0 - beq _08055CB0 - movs r0, 0x1 - b _08055CB2 - .align 2, 0 -_08055CAC: .4byte gMapHeader -_08055CB0: - movs r0, 0 -_08055CB2: - pop {r1} - bx r1 - thumb_func_end sub_8055C9C - - thumb_func_start sub_8055CB8 -sub_8055CB8: @ 8055CB8 - push {lr} - ldr r0, _08055CC8 @ =gMapHeader - ldrb r1, [r0, 0x15] - cmp r1, 0 - bne _08055CD0 - ldr r0, _08055CCC @ =gSaveBlock1Ptr - ldr r0, [r0] - b _08055CF8 - .align 2, 0 -_08055CC8: .4byte gMapHeader -_08055CCC: .4byte gSaveBlock1Ptr -_08055CD0: - ldr r0, _08055CE8 @ =0x00000806 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _08055CF0 - ldr r0, _08055CEC @ =gSaveBlock1Ptr - ldr r0, [r0] - adds r0, 0x30 - movs r1, 0 - b _08055CFA - .align 2, 0 -_08055CE8: .4byte 0x00000806 -_08055CEC: .4byte gSaveBlock1Ptr -_08055CF0: - ldr r0, _08055D00 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, _08055D04 @ =gMaxFlashLevel - ldr r1, [r1] -_08055CF8: - adds r0, 0x30 -_08055CFA: - strb r1, [r0] - pop {r0} - bx r0 - .align 2, 0 -_08055D00: .4byte gSaveBlock1Ptr -_08055D04: .4byte gMaxFlashLevel - thumb_func_end sub_8055CB8 - - thumb_func_start Overworld_SetFlashLevel -Overworld_SetFlashLevel: @ 8055D08 - push {lr} - adds r1, r0, 0 - cmp r1, 0 - blt _08055D18 - ldr r0, _08055D28 @ =gMaxFlashLevel - ldr r0, [r0] - cmp r1, r0 - ble _08055D1A -_08055D18: - movs r1, 0 -_08055D1A: - ldr r0, _08055D2C @ =gSaveBlock1Ptr - ldr r0, [r0] - adds r0, 0x30 - strb r1, [r0] - pop {r0} - bx r0 - .align 2, 0 -_08055D28: .4byte gMaxFlashLevel -_08055D2C: .4byte gSaveBlock1Ptr - thumb_func_end Overworld_SetFlashLevel - - thumb_func_start Overworld_GetFlashLevel -Overworld_GetFlashLevel: @ 8055D30 - ldr r0, _08055D3C @ =gSaveBlock1Ptr - ldr r0, [r0] - adds r0, 0x30 - ldrb r0, [r0] - bx lr - .align 2, 0 -_08055D3C: .4byte gSaveBlock1Ptr - thumb_func_end Overworld_GetFlashLevel - - thumb_func_start SetCurrentMapLayout -SetCurrentMapLayout: @ 8055D40 - push {lr} - ldr r1, _08055D54 @ =gSaveBlock1Ptr - ldr r1, [r1] - strh r0, [r1, 0x32] - bl get_mapdata_header - ldr r1, _08055D58 @ =gMapHeader - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_08055D54: .4byte gSaveBlock1Ptr -_08055D58: .4byte gMapHeader - thumb_func_end SetCurrentMapLayout - - thumb_func_start sub_8055D5C -sub_8055D5C: @ 8055D5C - ldr r2, _08055D68 @ =gUnknown_2031DBC - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [r2] - str r1, [r2, 0x4] - bx lr - .align 2, 0 -_08055D68: .4byte gUnknown_2031DBC - thumb_func_end sub_8055D5C - - thumb_func_start sub_8055D6C -sub_8055D6C: @ 8055D6C - push {lr} - adds r1, r0, 0 - movs r0, 0 - ldrsb r0, [r1, r0] - lsls r0, 16 - lsrs r0, 16 - ldrb r1, [r1, 0x1] - lsls r1, 24 - asrs r1, 24 - lsls r1, 16 - lsrs r1, 16 - bl Overworld_GetMapHeaderByGroupAndId - ldrh r0, [r0, 0x10] - pop {r1} - bx r1 - thumb_func_end sub_8055D6C - - thumb_func_start sub_8055D8C -sub_8055D8C: @ 8055D8C - push {lr} - ldr r0, _08055DA0 @ =gSaveBlock1Ptr - ldr r0, [r0] - adds r0, 0x4 - bl sub_8055D6C - lsls r0, 16 - lsrs r0, 16 - pop {r1} - bx r1 - .align 2, 0 -_08055DA0: .4byte gSaveBlock1Ptr - thumb_func_end sub_8055D8C - - thumb_func_start sub_8055DA4 -sub_8055DA4: @ 8055DA4 - push {lr} - ldr r0, _08055DB4 @ =gUnknown_2031DBC - bl sub_8055D6C - lsls r0, 16 - lsrs r0, 16 - pop {r1} - bx r1 - .align 2, 0 -_08055DB4: .4byte gUnknown_2031DBC - thumb_func_end sub_8055DA4 - - thumb_func_start sub_8055DB8 -sub_8055DB8: @ 8055DB8 - push {lr} - bl ResetMapMusic - pop {r0} - bx r0 - thumb_func_end sub_8055DB8 - - thumb_func_start Overworld_PlaySpecialMapMusic -Overworld_PlaySpecialMapMusic: @ 8055DC4 - push {r4,r5,lr} - sub sp, 0x4 - ldr r0, _08055DD8 @ =gDisableMapMusicChangeOnMapLoad - ldrb r0, [r0] - cmp r0, 0x1 - bne _08055DDC - bl StopMapMusic - b _08055E6C - .align 2, 0 -_08055DD8: .4byte gDisableMapMusicChangeOnMapLoad -_08055DDC: - cmp r0, 0x2 - beq _08055E6C - ldr r0, _08055E14 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r1, [r0, 0x4] - ldr r0, _08055E18 @ =0x00004f01 - cmp r1, r0 - bne _08055E24 - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl PlayerGetDestCoords - movs r1, 0 - ldrsh r0, [r4, r1] - subs r0, 0x7 - cmp r0, 0xA - bgt _08055E24 - ldr r0, _08055E1C @ =gMPlayInfo_BGM - ldr r1, [r0] - ldr r0, _08055E20 @ =mus_win_gym - cmp r1, r0 - bne _08055E24 - movs r0, 0x4 - bl FadeInBGM - b _08055E6C - .align 2, 0 -_08055E14: .4byte gSaveBlock1Ptr -_08055E18: .4byte 0x00004f01 -_08055E1C: .4byte gMPlayInfo_BGM -_08055E20: .4byte mus_win_gym -_08055E24: - bl sub_8055D8C - lsls r0, 16 - lsrs r4, r0, 16 - ldr r0, _08055E3C @ =gSaveBlock1Ptr - ldr r1, [r0] - ldrh r0, [r1, 0x2C] - cmp r0, 0 - beq _08055E40 - adds r4, r0, 0 - b _08055E5A - .align 2, 0 -_08055E3C: .4byte gSaveBlock1Ptr -_08055E40: - movs r0, 0x8 - bl TestPlayerAvatarFlags - lsls r0, 24 - cmp r0, 0 - beq _08055E5A - ldr r5, _08055E74 @ =0x00000131 @ MUS_NAMINORI - adds r0, r5, 0 - bl sub_8056124 - cmp r0, 0 - beq _08055E5A - adds r4, r5, 0 -_08055E5A: - bl GetCurrentMapMusic - lsls r0, 16 - lsrs r0, 16 - cmp r4, r0 - beq _08055E6C - adds r0, r4, 0 - bl PlayNewMapMusic -_08055E6C: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08055E74: .4byte 0x00000131 - thumb_func_end Overworld_PlaySpecialMapMusic - - thumb_func_start Overworld_SetSavedMusic -Overworld_SetSavedMusic: @ 8055E78 - ldr r1, _08055E80 @ =gSaveBlock1Ptr - ldr r1, [r1] - strh r0, [r1, 0x2C] - bx lr - .align 2, 0 -_08055E80: .4byte gSaveBlock1Ptr - thumb_func_end Overworld_SetSavedMusic - - thumb_func_start sav1_reset_battle_music_maybe -sav1_reset_battle_music_maybe: @ 8055E84 - ldr r0, _08055E90 @ =gSaveBlock1Ptr - ldr r1, [r0] - movs r0, 0 - strh r0, [r1, 0x2C] - bx lr - .align 2, 0 -_08055E90: .4byte gSaveBlock1Ptr - thumb_func_end sav1_reset_battle_music_maybe - - thumb_func_start sub_8055E94 -sub_8055E94: @ 8055E94 - push {r4-r6,lr} - ldr r0, _08055EA4 @ =gDisableMapMusicChangeOnMapLoad - ldrb r0, [r0] - cmp r0, 0x1 - bne _08055EA8 - bl StopMapMusic - b _08055F14 - .align 2, 0 -_08055EA4: .4byte gDisableMapMusicChangeOnMapLoad -_08055EA8: - cmp r0, 0x2 - beq _08055F14 - ldr r0, _08055F04 @ =0x00004001 - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08055F14 - bl sub_8055DA4 - lsls r0, 16 - lsrs r4, r0, 16 - bl GetCurrentMapMusic - lsls r0, 16 - lsrs r6, r0, 16 - ldr r5, _08055F08 @ =0x00000131 @ MUS_NAMINORI - cmp r6, r5 - beq _08055F14 - movs r0, 0x8 - bl TestPlayerAvatarFlags - lsls r0, 24 - cmp r0, 0 - beq _08055EE8 - adds r0, r5, 0 - bl sub_8056124 - cmp r0, 0 - beq _08055EE8 - adds r4, r5, 0 -_08055EE8: - cmp r4, r6 - beq _08055F14 - movs r0, 0x6 - bl TestPlayerAvatarFlags - lsls r0, 24 - cmp r0, 0 - beq _08055F0C - adds r0, r4, 0 - movs r1, 0x4 - movs r2, 0x4 - bl FadeOutAndFadeInNewMapMusic - b _08055F14 - .align 2, 0 -_08055F04: .4byte 0x00004001 -_08055F08: .4byte 0x00000131 -_08055F0C: - adds r0, r4, 0 - movs r1, 0x8 - bl FadeOutAndPlayNewMapMusic -_08055F14: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8055E94 - - thumb_func_start Overworld_ChangeMusicToDefault -Overworld_ChangeMusicToDefault: @ 8055F1C - push {r4,lr} - bl GetCurrentMapMusic - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - bl sub_8055D8C - lsls r0, 16 - lsrs r0, 16 - cmp r4, r0 - beq _08055F42 - bl sub_8055D8C - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x8 - bl FadeOutAndPlayNewMapMusic -_08055F42: - pop {r4} - pop {r0} - bx r0 - thumb_func_end Overworld_ChangeMusicToDefault - - thumb_func_start Overworld_ChangeMusicTo -Overworld_ChangeMusicTo: @ 8055F48 - push {r4,lr} - lsls r0, 16 - lsrs r4, r0, 16 - bl GetCurrentMapMusic - lsls r0, 16 - lsrs r0, 16 - cmp r0, r4 - beq _08055F62 - adds r0, r4, 0 - movs r1, 0x8 - bl FadeOutAndPlayNewMapMusic -_08055F62: - pop {r4} - pop {r0} - bx r0 - thumb_func_end Overworld_ChangeMusicTo - - thumb_func_start GetMapMusicFadeoutSpeed -GetMapMusicFadeoutSpeed: @ 8055F68 - push {lr} - bl warp1_get_mapheader - ldrb r0, [r0, 0x17] - bl IsMapTypeIndoors - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08055F80 - movs r0, 0x4 - b _08055F82 -_08055F80: - movs r0, 0x2 -_08055F82: - pop {r1} - bx r1 - thumb_func_end GetMapMusicFadeoutSpeed - - thumb_func_start TryFadeOutOldMapMusic -TryFadeOutOldMapMusic: @ 8055F88 - push {r4,lr} - bl sub_8055DA4 - lsls r0, 16 - lsrs r4, r0, 16 - ldr r0, _08055FC0 @ =0x00004001 - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08055FB8 - bl GetCurrentMapMusic - lsls r0, 16 - lsrs r0, 16 - cmp r4, r0 - beq _08055FB8 - bl GetMapMusicFadeoutSpeed - lsls r0, 24 - lsrs r0, 24 - bl FadeOutMapMusic -_08055FB8: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08055FC0: .4byte 0x00004001 - thumb_func_end TryFadeOutOldMapMusic - - thumb_func_start BGMusicStopped -BGMusicStopped: @ 8055FC4 - push {lr} - bl IsNotWaitingForBGMStop - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end BGMusicStopped - - thumb_func_start Overworld_FadeOutMapMusic -Overworld_FadeOutMapMusic: @ 8055FD4 - push {lr} - movs r0, 0x4 - bl FadeOutMapMusic - pop {r0} - bx r0 - thumb_func_end Overworld_FadeOutMapMusic - - thumb_func_start sub_8055FE0 -sub_8055FE0: @ 8055FE0 - push {r4,lr} - sub sp, 0x4 - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl PlayerGetDestCoords - ldr r0, _0805604C @ =gUnknown_2031DDC - ldrb r0, [r0] - cmp r0, 0x1 - bne _08056014 - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r4, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl MetatileBehavior_IsSurfable - lsls r0, 24 - cmp r0, 0 - beq _0805606A -_08056014: - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x58 - bl __umodsi3 - adds r0, 0xD4 - lsls r0, 24 - lsrs r4, r0, 24 - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x1E - bl __umodsi3 - adds r0, 0x32 - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, _08056050 @ =gDisableMapMusicChangeOnMapLoad - ldrb r0, [r0] - cmp r0, 0x1 - bne _08056054 - bl StopMapMusic - b _0805606A - .align 2, 0 -_0805604C: .4byte gUnknown_2031DDC -_08056050: .4byte gDisableMapMusicChangeOnMapLoad -_08056054: - cmp r0, 0x2 - beq _0805606A - ldr r0, _08056074 @ =gUnknown_2031DDA - ldrh r0, [r0] - lsls r1, r4, 24 - asrs r1, 24 - lsls r2, 24 - asrs r2, 24 - movs r3, 0x1 - bl PlayCry2 -_0805606A: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08056074: .4byte gUnknown_2031DDA - thumb_func_end sub_8055FE0 - - thumb_func_start sub_8056078 -sub_8056078: @ 8056078 - push {r4-r6,lr} - adds r6, r0, 0 - adds r5, r1, 0 - movs r1, 0 - ldrsh r0, [r6, r1] - cmp r0, 0x4 - bhi _08056106 - lsls r0, 2 - ldr r1, _08056090 @ =_08056094 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08056090: .4byte _08056094 - .align 2, 0 -_08056094: - .4byte _080560A8 - .4byte _080560BC - .4byte _080560D8 - .4byte _080560F2 - .4byte _08056106 -_080560A8: - ldr r0, _080560B4 @ =gUnknown_2031DDA - ldrh r0, [r0] - cmp r0, 0 - bne _080560B8 - movs r0, 0x4 - b _08056104 - .align 2, 0 -_080560B4: .4byte gUnknown_2031DDA -_080560B8: - movs r0, 0x1 - b _08056104 -_080560BC: - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x96 - lsls r1, 4 - bl __umodsi3 - movs r1, 0x96 - lsls r1, 3 - adds r0, r1 - strh r0, [r5] - movs r0, 0x3 - b _08056104 -_080560D8: - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r4, 0x96 - lsls r4, 3 - adds r1, r4, 0 - bl __umodsi3 - adds r0, r4 - strh r0, [r5] - movs r0, 0x3 - b _08056104 -_080560F2: - ldrh r0, [r5] - subs r0, 0x1 - strh r0, [r5] - lsls r0, 16 - cmp r0, 0 - bne _08056106 - bl sub_8055FE0 - movs r0, 0x2 -_08056104: - strh r0, [r6] -_08056106: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8056078 - - thumb_func_start sub_805610C -sub_805610C: @ 805610C - push {lr} - ldr r0, _0805611C @ =gUnknown_2031DDC - bl GetLocalWildMon - ldr r1, _08056120 @ =gUnknown_2031DDA - strh r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_0805611C: .4byte gUnknown_2031DDC -_08056120: .4byte gUnknown_2031DDA - thumb_func_end sub_805610C - - thumb_func_start sub_8056124 -sub_8056124: @ 8056124 - push {lr} - lsls r0, 16 - lsrs r1, r0, 16 - movs r0, 0x8D - lsls r0, 1 - cmp r1, r0 - beq _08056138 - adds r0, 0x17 - cmp r1, r0 - bne _08056150 -_08056138: - ldr r0, _0805614C @ =gMapHeader - ldrb r0, [r0, 0x14] - cmp r0, 0x84 - beq _08056148 - cmp r0, 0x7B - beq _08056148 - cmp r0, 0x61 - bne _08056150 -_08056148: - movs r0, 0 - b _08056152 - .align 2, 0 -_0805614C: .4byte gMapHeader -_08056150: - movs r0, 0x1 -_08056152: - pop {r1} - bx r1 - thumb_func_end sub_8056124 - - thumb_func_start get_map_light_level_by_bank_and_number -get_map_light_level_by_bank_and_number: @ 8056158 - push {lr} - lsls r0, 24 - asrs r0, 8 - lsrs r0, 16 - lsls r1, 24 - asrs r1, 8 - lsrs r1, 16 - bl Overworld_GetMapHeaderByGroupAndId - ldrb r0, [r0, 0x17] - pop {r1} - bx r1 - thumb_func_end get_map_light_level_by_bank_and_number - - thumb_func_start get_map_light_level_from_warp -get_map_light_level_from_warp: @ 8056170 - push {lr} - movs r2, 0 - ldrsb r2, [r0, r2] - movs r1, 0x1 - ldrsb r1, [r0, r1] - adds r0, r2, 0 - bl get_map_light_level_by_bank_and_number - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end get_map_light_level_from_warp - - thumb_func_start GetCurrentMapType -GetCurrentMapType: @ 8056188 - push {lr} - ldr r0, _0805619C @ =gSaveBlock1Ptr - ldr r0, [r0] - adds r0, 0x4 - bl get_map_light_level_from_warp - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .align 2, 0 -_0805619C: .4byte gSaveBlock1Ptr - thumb_func_end GetCurrentMapType - - thumb_func_start GetLastUsedWarpMapType -GetLastUsedWarpMapType: @ 80561A0 - push {lr} - ldr r0, _080561B0 @ =gUnknown_2031DB4 - bl get_map_light_level_from_warp - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .align 2, 0 -_080561B0: .4byte gUnknown_2031DB4 - thumb_func_end GetLastUsedWarpMapType - - thumb_func_start GetLastUsedWarpMapSectionId -GetLastUsedWarpMapSectionId: @ 80561B4 - push {lr} - ldr r1, _080561D4 @ =gUnknown_2031DB4 - movs r0, 0 - ldrsb r0, [r1, r0] - lsls r0, 16 - lsrs r0, 16 - ldrb r1, [r1, 0x1] - lsls r1, 24 - asrs r1, 24 - lsls r1, 16 - lsrs r1, 16 - bl Overworld_GetMapHeaderByGroupAndId - ldrb r0, [r0, 0x14] - pop {r1} - bx r1 - .align 2, 0 -_080561D4: .4byte gUnknown_2031DB4 - thumb_func_end GetLastUsedWarpMapSectionId - - thumb_func_start IsMapTypeOutdoors -IsMapTypeOutdoors: @ 80561D8 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - beq _080561F2 - cmp r0, 0x1 - beq _080561F2 - cmp r0, 0x5 - beq _080561F2 - cmp r0, 0x2 - beq _080561F2 - cmp r0, 0x6 - bne _080561F6 -_080561F2: - movs r0, 0x1 - b _080561F8 -_080561F6: - movs r0, 0 -_080561F8: - pop {r1} - bx r1 - thumb_func_end IsMapTypeOutdoors - - thumb_func_start Overworld_MapTypeAllowsTeleportAndFly -Overworld_MapTypeAllowsTeleportAndFly: @ 80561FC - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - beq _08056212 - cmp r0, 0x1 - beq _08056212 - cmp r0, 0x6 - beq _08056212 - cmp r0, 0x2 - bne _08056216 -_08056212: - movs r0, 0x1 - b _08056218 -_08056216: - movs r0, 0 -_08056218: - pop {r1} - bx r1 - thumb_func_end Overworld_MapTypeAllowsTeleportAndFly - - thumb_func_start IsMapTypeIndoors -IsMapTypeIndoors: @ 805621C - push {lr} - lsls r0, 24 - movs r1, 0xF8 - lsls r1, 24 - adds r0, r1 - lsrs r0, 24 - cmp r0, 0x1 - bls _08056230 - movs r0, 0 - b _08056232 -_08056230: - movs r0, 0x1 -_08056232: - pop {r1} - bx r1 - thumb_func_end IsMapTypeIndoors - - thumb_func_start GetSavedWarpRegionMapSectionId -GetSavedWarpRegionMapSectionId: @ 8056238 - push {lr} - ldr r0, _0805625C @ =gSaveBlock1Ptr - ldr r1, [r0] - movs r0, 0x14 - ldrsb r0, [r1, r0] - lsls r0, 16 - lsrs r0, 16 - ldrb r1, [r1, 0x15] - lsls r1, 24 - asrs r1, 24 - lsls r1, 16 - lsrs r1, 16 - bl Overworld_GetMapHeaderByGroupAndId - ldrb r0, [r0, 0x14] - pop {r1} - bx r1 - .align 2, 0 -_0805625C: .4byte gSaveBlock1Ptr - thumb_func_end GetSavedWarpRegionMapSectionId - - thumb_func_start GetCurrentRegionMapSectionId -GetCurrentRegionMapSectionId: @ 8056260 - push {lr} - ldr r0, _08056284 @ =gSaveBlock1Ptr - ldr r1, [r0] - movs r0, 0x4 - ldrsb r0, [r1, r0] - lsls r0, 16 - lsrs r0, 16 - ldrb r1, [r1, 0x5] - lsls r1, 24 - asrs r1, 24 - lsls r1, 16 - lsrs r1, 16 - bl Overworld_GetMapHeaderByGroupAndId - ldrb r0, [r0, 0x14] - pop {r1} - bx r1 - .align 2, 0 -_08056284: .4byte gSaveBlock1Ptr - thumb_func_end GetCurrentRegionMapSectionId - - thumb_func_start GetCurrentMapBattleScene -GetCurrentMapBattleScene: @ 8056288 - push {lr} - ldr r0, _080562AC @ =gSaveBlock1Ptr - ldr r1, [r0] - movs r0, 0x4 - ldrsb r0, [r1, r0] - lsls r0, 16 - lsrs r0, 16 - ldrb r1, [r1, 0x5] - lsls r1, 24 - asrs r1, 24 - lsls r1, 16 - lsrs r1, 16 - bl Overworld_GetMapHeaderByGroupAndId - ldrb r0, [r0, 0x1B] - pop {r1} - bx r1 - .align 2, 0 -_080562AC: .4byte gSaveBlock1Ptr - thumb_func_end GetCurrentMapBattleScene - - thumb_func_start InitOverworldBgs -InitOverworldBgs: @ 80562B0 - push {r4-r6,lr} - mov r6, r8 - push {r6} - bl MoveSaveBlocks_ResetHeap_ - bl sub_8056E80 - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, _08056344 @ =gUnknown_826D320 - movs r0, 0 - movs r2, 0x4 - bl InitBgsFromTemplates - movs r0, 0x1 - movs r1, 0x5 - movs r2, 0x1 - bl SetBgAttribute - movs r0, 0x2 - movs r1, 0x5 - movs r2, 0x1 - bl SetBgAttribute - movs r0, 0x3 - movs r1, 0x5 - movs r2, 0x1 - bl SetBgAttribute - ldr r0, _08056348 @ =gBGTilemapBuffers2 - mov r8, r0 - movs r4, 0x80 - lsls r4, 4 - adds r0, r4, 0 - bl AllocZeroed - mov r1, r8 - str r0, [r1] - ldr r6, _0805634C @ =gBGTilemapBuffers1 - adds r0, r4, 0 - bl AllocZeroed - str r0, [r6] - ldr r5, _08056350 @ =gBGTilemapBuffers3 - adds r0, r4, 0 - bl AllocZeroed - str r0, [r5] - mov r0, r8 - ldr r1, [r0] - movs r0, 0x1 - bl SetBgTilemapBuffer - ldr r1, [r6] - movs r0, 0x2 - bl SetBgTilemapBuffer - ldr r1, [r5] - movs r0, 0x3 - bl SetBgTilemapBuffer - bl InitStandardTextBoxWindows - bl ResetBg0 - bl sub_8069348 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08056344: .4byte gUnknown_826D320 -_08056348: .4byte gBGTilemapBuffers2 -_0805634C: .4byte gBGTilemapBuffers1 -_08056350: .4byte gBGTilemapBuffers3 - thumb_func_end InitOverworldBgs - - thumb_func_start sub_8056354 -sub_8056354: @ 8056354 - push {r4-r6,lr} - mov r6, r8 - push {r6} - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, _080563E0 @ =gUnknown_826D320 - movs r0, 0 - movs r2, 0x4 - bl InitBgsFromTemplates - movs r0, 0x1 - movs r1, 0x5 - movs r2, 0x1 - bl SetBgAttribute - movs r0, 0x2 - movs r1, 0x5 - movs r2, 0x1 - bl SetBgAttribute - movs r0, 0x3 - movs r1, 0x5 - movs r2, 0x1 - bl SetBgAttribute - ldr r0, _080563E4 @ =gBGTilemapBuffers2 - mov r8, r0 - movs r4, 0x80 - lsls r4, 4 - adds r0, r4, 0 - bl AllocZeroed - mov r1, r8 - str r0, [r1] - ldr r6, _080563E8 @ =gBGTilemapBuffers1 - adds r0, r4, 0 - bl AllocZeroed - str r0, [r6] - ldr r5, _080563EC @ =gBGTilemapBuffers3 - adds r0, r4, 0 - bl AllocZeroed - str r0, [r5] - mov r0, r8 - ldr r1, [r0] - movs r0, 0x1 - bl SetBgTilemapBuffer - ldr r1, [r6] - movs r0, 0x2 - bl SetBgTilemapBuffer - ldr r1, [r5] - movs r0, 0x3 - bl SetBgTilemapBuffer - bl InitStandardTextBoxWindows - bl ResetBg0 - bl sub_8069348 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080563E0: .4byte gUnknown_826D320 -_080563E4: .4byte gBGTilemapBuffers2 -_080563E8: .4byte gBGTilemapBuffers1 -_080563EC: .4byte gBGTilemapBuffers3 - thumb_func_end sub_8056354 - - thumb_func_start CleanupOverworldWindowsAndTilemaps -CleanupOverworldWindowsAndTilemaps: @ 80563F0 - push {lr} - bl FreeAllOverworldWindowBuffers - ldr r0, _08056414 @ =gBGTilemapBuffers3 - ldr r0, [r0] - bl Free - ldr r0, _08056418 @ =gBGTilemapBuffers1 - ldr r0, [r0] - bl Free - ldr r0, _0805641C @ =gBGTilemapBuffers2 - ldr r0, [r0] - bl Free - pop {r0} - bx r0 - .align 2, 0 -_08056414: .4byte gBGTilemapBuffers3 -_08056418: .4byte gBGTilemapBuffers1 -_0805641C: .4byte gBGTilemapBuffers2 - thumb_func_end CleanupOverworldWindowsAndTilemaps - - thumb_func_start sub_8056420 -sub_8056420: @ 8056420 - push {lr} - bl ResetSafariZoneFlag - pop {r0} - bx r0 - thumb_func_end sub_8056420 - - thumb_func_start IsUpdateLinkStateCBActive -IsUpdateLinkStateCBActive: @ 805642C - push {lr} - ldr r0, _0805643C @ =gMain - ldr r1, [r0] - ldr r0, _08056440 @ =c1_link_related - cmp r1, r0 - beq _08056444 - movs r0, 0 - b _08056446 - .align 2, 0 -_0805643C: .4byte gMain -_08056440: .4byte c1_link_related -_08056444: - movs r0, 0x1 -_08056446: - pop {r1} - bx r1 - thumb_func_end IsUpdateLinkStateCBActive - - thumb_func_start sub_805644C -sub_805644C: @ 805644C - push {r4-r6,lr} - sub sp, 0x4 - lsls r0, 16 - lsrs r0, 16 - adds r5, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r4, r1, 0 - bl sub_8112B3C - bl sub_805BEB8 - mov r6, sp - mov r0, sp - bl FieldClearPlayerInput - mov r0, sp - adds r1, r5, 0 - adds r2, r4, 0 - bl FieldGetPlayerInput - mov r0, sp - bl FieldInput_HandleCancelSignpost - bl ScriptContext2_IsEnabled - lsls r0, 24 - cmp r0, 0 - bne _080564BA - mov r0, sp - bl ProcessPlayerFieldInput - cmp r0, 0x1 - bne _080564B0 - ldr r0, _080564A8 @ =gUnknown_3005E88 - ldrb r0, [r0] - cmp r0, 0x2 - bne _0805649E - ldr r0, _080564AC @ =gInputToStoreInQuestLogMaybe - bl sub_81127F8 -_0805649E: - bl ScriptContext2_Enable - bl DismissMapNamePopup - b _080564BA - .align 2, 0 -_080564A8: .4byte gUnknown_3005E88 -_080564AC: .4byte gInputToStoreInQuestLogMaybe -_080564B0: - ldrb r0, [r6, 0x2] - adds r1, r5, 0 - adds r2, r4, 0 - bl sub_805B3E0 -_080564BA: - bl RunQuestLogCB - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_805644C - - thumb_func_start sub_80564C8 -sub_80564C8: @ 80564C8 - push {lr} - sub sp, 0x4 - bl sub_8112B3C - bl sub_805BEB8 - bl sub_8111C68 - mov r0, sp - bl FieldClearPlayerInput - ldr r0, _08056508 @ =gUnknown_3005E90 - ldr r0, [r0] - str r0, [sp] - mov r0, sp - bl FieldInput_HandleCancelSignpost - bl ScriptContext2_IsEnabled - lsls r0, 24 - cmp r0, 0 - bne _08056512 - mov r0, sp - bl ProcessPlayerFieldInput - cmp r0, 0x1 - bne _0805650C - bl ScriptContext2_Enable - bl DismissMapNamePopup - b _08056522 - .align 2, 0 -_08056508: .4byte gUnknown_3005E90 -_0805650C: - bl RunQuestLogCB - b _08056522 -_08056512: - bl sub_8111CD0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08056522 - bl RunQuestLogCB -_08056522: - ldr r0, _08056530 @ =gUnknown_3005E90 - bl FieldClearPlayerInput - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_08056530: .4byte gUnknown_3005E90 - thumb_func_end sub_80564C8 - - thumb_func_start CB1_Overworld -CB1_Overworld: @ 8056534 - push {r4,lr} - ldr r4, _0805655C @ =gMain - ldr r1, [r4, 0x4] - ldr r0, _08056560 @ =sub_80565B4 - cmp r1, r0 - bne _08056570 - bl sub_8112CAC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08056554 - ldr r0, _08056564 @ =gQuestLogState - ldrb r0, [r0] - cmp r0, 0x2 - bne _08056568 -_08056554: - bl sub_80564C8 - b _08056570 - .align 2, 0 -_0805655C: .4byte gMain -_08056560: .4byte sub_80565B4 -_08056564: .4byte gQuestLogState -_08056568: - ldrh r0, [r4, 0x2E] - ldrh r1, [r4, 0x2C] - bl sub_805644C -_08056570: - pop {r4} - pop {r0} - bx r0 - thumb_func_end CB1_Overworld - - thumb_func_start sub_8056578 -sub_8056578: @ 8056578 - push {lr} - bl ScriptContext2_RunScript - bl RunTasks - bl AnimateSprites - bl CameraUpdate - bl sub_8115798 - bl UpdateCameraPanning - bl BuildOamBuffer - bl UpdatePaletteFade - bl UpdateTilesetAnimations - bl DoScheduledBgTilemapCopiesToVram - pop {r0} - bx r0 - thumb_func_end sub_8056578 - - thumb_func_start CB2_OverworldBasic -CB2_OverworldBasic: @ 80565A8 - push {lr} - bl sub_8056578 - pop {r0} - bx r0 - thumb_func_end CB2_OverworldBasic - - thumb_func_start sub_80565B4 -sub_80565B4: @ 80565B4 - push {r4,lr} - ldr r0, _080565DC @ =gPaletteFade - ldrb r0, [r0, 0x7] - lsrs r0, 7 - adds r4, r0, 0 - cmp r4, 0 - beq _080565C8 - movs r0, 0 - bl SetVBlankCallback -_080565C8: - bl sub_8056578 - cmp r4, 0 - beq _080565D4 - bl SetFieldVBlankCallback -_080565D4: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080565DC: .4byte gPaletteFade - thumb_func_end sub_80565B4 - - thumb_func_start SetMainCallback1 -SetMainCallback1: @ 80565E0 - ldr r1, _080565E8 @ =gMain - str r0, [r1] - bx lr - .align 2, 0 -_080565E8: .4byte gMain - thumb_func_end SetMainCallback1 - - thumb_func_start map_post_load_hook_exec -map_post_load_hook_exec: @ 80565EC - push {r4,lr} - ldr r4, _08056604 @ =gFieldCallback2 - ldr r0, [r4] - cmp r0, 0 - beq _08056618 - bl _call_via_r0 - lsls r0, 24 - cmp r0, 0 - bne _08056608 - movs r0, 0 - b _08056638 - .align 2, 0 -_08056604: .4byte gFieldCallback2 -_08056608: - movs r1, 0 - str r1, [r4] - ldr r0, _08056614 @ =gFieldCallback - str r1, [r0] - b _08056636 - .align 2, 0 -_08056614: .4byte gFieldCallback -_08056618: - ldr r0, _08056628 @ =gFieldCallback - ldr r0, [r0] - cmp r0, 0 - beq _0805662C - bl _call_via_r0 - b _08056630 - .align 2, 0 -_08056628: .4byte gFieldCallback -_0805662C: - bl sub_807DF64 -_08056630: - ldr r1, _08056640 @ =gFieldCallback - movs r0, 0 - str r0, [r1] -_08056636: - movs r0, 0x1 -_08056638: - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08056640: .4byte gFieldCallback - thumb_func_end map_post_load_hook_exec - - thumb_func_start CB2_NewGame -CB2_NewGame: @ 8056644 - push {lr} - bl FieldClearVBlankHBlankCallbacks - bl StopMapMusic - bl sub_8056420 - bl NewGameInitData - bl ResetInitialPlayerAvatarState - bl PlayTimeCounter_Start - bl ScriptContext1_Init - bl ScriptContext2_Disable - ldr r1, _0805668C @ =gFieldCallback - ldr r0, _08056690 @ =sub_807DF7C - str r0, [r1] - ldr r1, _08056694 @ =gFieldCallback2 - movs r0, 0 - str r0, [r1] - ldr r0, _08056698 @ =gMain + 0x438 - bl do_load_map_stuff_loop - bl SetFieldVBlankCallback - ldr r0, _0805669C @ =CB1_Overworld - bl SetMainCallback1 - ldr r0, _080566A0 @ =sub_80565B4 - bl SetMainCallback2 - pop {r0} - bx r0 - .align 2, 0 -_0805668C: .4byte gFieldCallback -_08056690: .4byte sub_807DF7C -_08056694: .4byte gFieldCallback2 -_08056698: .4byte gMain + 0x438 -_0805669C: .4byte CB1_Overworld -_080566A0: .4byte sub_80565B4 - thumb_func_end CB2_NewGame - - thumb_func_start CB2_WhiteOut -CB2_WhiteOut: @ 80566A4 - push {lr} - sub sp, 0x4 - ldr r1, _08056708 @ =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x77 - bls _08056702 - bl FieldClearVBlankHBlankCallbacks - bl StopMapMusic - bl sub_8056420 - bl sub_8054BC8 - movs r0, 0x2 - bl sub_80559F8 - bl ScriptContext1_Init - bl ScriptContext2_Disable - ldr r1, _0805670C @ =gFieldCallback - ldr r0, _08056710 @ =sub_807F5F0 - str r0, [r1] - mov r1, sp - movs r0, 0 - strb r0, [r1] - mov r0, sp - bl do_load_map_stuff_loop - bl sub_8112364 - bl SetFieldVBlankCallback - ldr r0, _08056714 @ =CB1_Overworld - bl SetMainCallback1 - ldr r0, _08056718 @ =sub_80565B4 - bl SetMainCallback2 -_08056702: - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_08056708: .4byte gMain -_0805670C: .4byte gFieldCallback -_08056710: .4byte sub_807F5F0 -_08056714: .4byte CB1_Overworld -_08056718: .4byte sub_80565B4 - thumb_func_end CB2_WhiteOut - - thumb_func_start CB2_LoadMap -CB2_LoadMap: @ 805671C - push {lr} - bl FieldClearVBlankHBlankCallbacks - bl ScriptContext1_Init - bl ScriptContext2_Disable - movs r0, 0 - bl SetMainCallback1 - ldr r0, _08056740 @ =CB2_DoChangeMap - bl SetMainCallback2 - ldr r1, _08056744 @ =gMain - ldr r0, _08056748 @ =sub_805674C - str r0, [r1, 0x8] - pop {r0} - bx r0 - .align 2, 0 -_08056740: .4byte CB2_DoChangeMap -_08056744: .4byte gMain -_08056748: .4byte sub_805674C - thumb_func_end CB2_LoadMap - - thumb_func_start sub_805674C -sub_805674C: @ 805674C - push {lr} - ldr r0, _08056768 @ =gMain + 0x438 - bl do_load_map_stuff_loop - bl sub_8113748 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0805676C - bl sub_81119C8 - b _0805677C - .align 2, 0 -_08056768: .4byte gMain + 0x438 -_0805676C: - bl SetFieldVBlankCallback - ldr r0, _08056780 @ =CB1_Overworld - bl SetMainCallback1 - ldr r0, _08056784 @ =sub_80565B4 - bl SetMainCallback2 -_0805677C: - pop {r0} - bx r0 - .align 2, 0 -_08056780: .4byte CB1_Overworld -_08056784: .4byte sub_80565B4 - thumb_func_end sub_805674C - - thumb_func_start CB2_ReturnToFieldCableClub -CB2_ReturnToFieldCableClub: @ 8056788 - push {lr} - bl FieldClearVBlankHBlankCallbacks - ldr r0, _080567A0 @ =gFieldCallback - ldr r1, _080567A4 @ =FieldCB_ReturnToFieldWirelessLink - str r1, [r0] - ldr r0, _080567A8 @ =c2_80567AC - bl SetMainCallback2 - pop {r0} - bx r0 - .align 2, 0 -_080567A0: .4byte gFieldCallback -_080567A4: .4byte FieldCB_ReturnToFieldWirelessLink -_080567A8: .4byte c2_80567AC - thumb_func_end CB2_ReturnToFieldCableClub - - thumb_func_start c2_80567AC -c2_80567AC: @ 80567AC - push {lr} - ldr r0, _080567D0 @ =gMain + 0x438 - bl map_loading_iteration_3 - cmp r0, 0 - beq _080567CC - bl SetFieldVBlankCallback - ldr r0, _080567D4 @ =c1_link_related - bl SetMainCallback1 - bl sub_80578D8 - ldr r0, _080567D8 @ =sub_80565B4 - bl SetMainCallback2 -_080567CC: - pop {r0} - bx r0 - .align 2, 0 -_080567D0: .4byte gMain + 0x438 -_080567D4: .4byte c1_link_related -_080567D8: .4byte sub_80565B4 - thumb_func_end c2_80567AC - - thumb_func_start CB2_ReturnToField -CB2_ReturnToField: @ 80567DC - push {lr} - bl IsUpdateLinkStateCBActive - cmp r0, 0x1 - bne _080567F4 - ldr r0, _080567F0 @ =c2_exit_to_overworld_2_link - bl SetMainCallback2 - b _080567FE - .align 2, 0 -_080567F0: .4byte c2_exit_to_overworld_2_link -_080567F4: - bl FieldClearVBlankHBlankCallbacks - ldr r0, _08056804 @ =c2_exit_to_overworld_2_local - bl SetMainCallback2 -_080567FE: - pop {r0} - bx r0 - .align 2, 0 -_08056804: .4byte c2_exit_to_overworld_2_local - thumb_func_end CB2_ReturnToField - - thumb_func_start c2_exit_to_overworld_2_local -c2_exit_to_overworld_2_local: @ 8056808 - push {lr} - ldr r0, _08056824 @ =gMain + 0x438 - bl sub_8056CD8 - cmp r0, 0 - beq _0805681E - bl SetFieldVBlankCallback - ldr r0, _08056828 @ =sub_80565B4 - bl SetMainCallback2 -_0805681E: - pop {r0} - bx r0 - .align 2, 0 -_08056824: .4byte gMain + 0x438 -_08056828: .4byte sub_80565B4 - thumb_func_end c2_exit_to_overworld_2_local - - thumb_func_start c2_exit_to_overworld_2_link -c2_exit_to_overworld_2_link: @ 805682C - push {lr} - bl sub_8058244 - cmp r0, 0 - bne _08056846 - ldr r0, _0805684C @ =gMain + 0x438 - bl map_loading_iteration_2_link - cmp r0, 0 - beq _08056846 - ldr r0, _08056850 @ =sub_80565B4 - bl SetMainCallback2 -_08056846: - pop {r0} - bx r0 - .align 2, 0 -_0805684C: .4byte gMain + 0x438 -_08056850: .4byte sub_80565B4 - thumb_func_end c2_exit_to_overworld_2_link - - thumb_func_start c2_8056854 -c2_8056854: @ 8056854 - push {lr} - bl FieldClearVBlankHBlankCallbacks - bl StopMapMusic - ldr r0, _08056878 @ =c1_link_related - bl SetMainCallback1 - bl sub_80578D8 - ldr r0, _0805687C @ =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0 - beq _08056888 - ldr r1, _08056880 @ =gFieldCallback - ldr r0, _08056884 @ =FieldCB_ReturnToFieldWirelessLink - b _0805688C - .align 2, 0 -_08056878: .4byte c1_link_related -_0805687C: .4byte gWirelessCommType -_08056880: .4byte gFieldCallback -_08056884: .4byte FieldCB_ReturnToFieldWirelessLink -_08056888: - ldr r1, _080568A0 @ =gFieldCallback - ldr r0, _080568A4 @ =FieldCB_ReturnToFieldWiredLink -_0805688C: - str r0, [r1] - bl ScriptContext1_Init - bl ScriptContext2_Disable - bl CB2_ReturnToField - pop {r0} - bx r0 - .align 2, 0 -_080568A0: .4byte gFieldCallback -_080568A4: .4byte FieldCB_ReturnToFieldWiredLink - thumb_func_end c2_8056854 - - thumb_func_start CB2_ReturnToFieldWithOpenMenu -CB2_ReturnToFieldWithOpenMenu: @ 80568A8 - push {lr} - bl FieldClearVBlankHBlankCallbacks - ldr r1, _080568BC @ =gFieldCallback2 - ldr r0, _080568C0 @ =FieldCB2_ReturnToStartMenuInit - str r0, [r1] - bl CB2_ReturnToField - pop {r0} - bx r0 - .align 2, 0 -_080568BC: .4byte gFieldCallback2 -_080568C0: .4byte FieldCB2_ReturnToStartMenuInit - thumb_func_end CB2_ReturnToFieldWithOpenMenu - - thumb_func_start sub_80568C4 -sub_80568C4: @ 80568C4 - push {lr} - bl FieldClearVBlankHBlankCallbacks - ldr r1, _080568D8 @ =gFieldCallback - ldr r0, _080568DC @ =sub_807DD44 - str r0, [r1] - bl CB2_ReturnToField - pop {r0} - bx r0 - .align 2, 0 -_080568D8: .4byte gFieldCallback -_080568DC: .4byte sub_807DD44 - thumb_func_end sub_80568C4 - - thumb_func_start CB2_ReturnToFieldContinueScriptPlayMapMusic -CB2_ReturnToFieldContinueScriptPlayMapMusic: @ 80568E0 - push {lr} - bl FieldClearVBlankHBlankCallbacks - ldr r1, _080568F4 @ =gFieldCallback - ldr r0, _080568F8 @ =FieldCallback_ReturnToEventScript2 - str r0, [r1] - bl CB2_ReturnToField - pop {r0} - bx r0 - .align 2, 0 -_080568F4: .4byte gFieldCallback -_080568F8: .4byte FieldCallback_ReturnToEventScript2 - thumb_func_end CB2_ReturnToFieldContinueScriptPlayMapMusic - - thumb_func_start CB2_Overworld -CB2_Overworld: @ 80568FC - push {lr} - bl FieldClearVBlankHBlankCallbacks - ldr r1, _08056910 @ =gFieldCallback - ldr r0, _08056914 @ =sub_807DF7C - str r0, [r1] - bl CB2_ReturnToField - pop {r0} - bx r0 - .align 2, 0 -_08056910: .4byte gFieldCallback -_08056914: .4byte sub_807DF7C - thumb_func_end CB2_Overworld - - thumb_func_start sub_8056918 -sub_8056918: @ 8056918 - push {lr} - ldr r0, _08056934 @ =gMapHeader - ldrb r1, [r0, 0x19] - movs r0, 0xFC - ands r0, r1 - cmp r0, 0x4 - bne _0805692C - movs r0, 0 - bl CreateMapNamePopupIfNotAlreadyRunning -_0805692C: - bl sub_807DF7C - pop {r0} - bx r0 - .align 2, 0 -_08056934: .4byte gMapHeader - thumb_func_end sub_8056918 - - thumb_func_start CB2_ContinueSavedGame -CB2_ContinueSavedGame: @ 8056938 - push {lr} - bl FieldClearVBlankHBlankCallbacks - bl StopMapMusic - bl sub_8056420 - bl set_current_map_header_from_sav1 - bl sub_80550A8 - bl UnfreezeObjectEvents - bl sub_8054E40 - bl InitMapFromSavedGame - bl PlayTimeCounter_Start - bl ScriptContext1_Init - bl ScriptContext2_Disable - ldr r1, _08056990 @ =gFieldCallback2 - movs r0, 0 - str r0, [r1] - ldr r1, _08056994 @ =gUnknown_2031DE0 - movs r0, 0x1 - strb r0, [r1] - bl sav2_x1_query_bit1 - cmp r0, 0x1 - bne _0805699C - bl sav2_x9_clear_bit1 - bl warp1_set_to_sav1w - bl WarpIntoMap - ldr r0, _08056998 @ =CB2_LoadMap - bl SetMainCallback2 - b _080569AC - .align 2, 0 -_08056990: .4byte gFieldCallback2 -_08056994: .4byte gUnknown_2031DE0 -_08056998: .4byte CB2_LoadMap -_0805699C: - ldr r0, _080569B0 @ =gFieldCallback - ldr r1, _080569B4 @ =sub_8056918 - str r1, [r0] - ldr r0, _080569B8 @ =CB1_Overworld - bl SetMainCallback1 - bl CB2_ReturnToField -_080569AC: - pop {r0} - bx r0 - .align 2, 0 -_080569B0: .4byte gFieldCallback -_080569B4: .4byte sub_8056918 -_080569B8: .4byte CB1_Overworld - thumb_func_end CB2_ContinueSavedGame - - thumb_func_start FieldClearVBlankHBlankCallbacks -FieldClearVBlankHBlankCallbacks: @ 80569BC - push {lr} - bl sub_80CC87C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080569CE - bl CloseLink -_080569CE: - ldr r0, _080569E4 @ =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0 - beq _080569E8 - movs r0, 0xC5 - bl EnableInterrupts - movs r0, 0x2 - bl DisableInterrupts - b _080569F4 - .align 2, 0 -_080569E4: .4byte gWirelessCommType -_080569E8: - movs r0, 0x2 - bl DisableInterrupts - movs r0, 0x1 - bl EnableInterrupts -_080569F4: - movs r0, 0 - bl SetVBlankCallback - movs r0, 0 - bl SetHBlankCallback - pop {r0} - bx r0 - thumb_func_end FieldClearVBlankHBlankCallbacks - - thumb_func_start SetFieldVBlankCallback -SetFieldVBlankCallback: @ 8056A04 - push {lr} - ldr r0, _08056A10 @ =VBlankCB_Field - bl SetVBlankCallback - pop {r0} - bx r0 - .align 2, 0 -_08056A10: .4byte VBlankCB_Field - thumb_func_end SetFieldVBlankCallback - - thumb_func_start VBlankCB_Field -VBlankCB_Field: @ 8056A14 - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl ScanlineEffect_InitHBlankDmaTransfer - bl FieldUpdateBgTilemapScroll - bl TransferPlttBuffer - bl TransferTilesetAnimsBuffer - pop {r0} - bx r0 - thumb_func_end VBlankCB_Field - - thumb_func_start InitCurrentFlashLevelScanlineEffect -InitCurrentFlashLevelScanlineEffect: @ 8056A34 - push {lr} - bl Overworld_GetFlashLevel - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _08056A52 - bl WriteFlashScanlineEffectBuffer - ldr r2, _08056A58 @ =gFlashEffectParams - ldr r0, [r2] - ldr r1, [r2, 0x4] - ldr r2, [r2, 0x8] - bl ScanlineEffect_SetParams -_08056A52: - pop {r0} - bx r0 - .align 2, 0 -_08056A58: .4byte gFlashEffectParams - thumb_func_end InitCurrentFlashLevelScanlineEffect - - thumb_func_start map_loading_iteration_3 -map_loading_iteration_3: @ 8056A5C - push {r4,lr} - adds r4, r0, 0 - ldrb r0, [r4] - cmp r0, 0xD - bls _08056A68 - b _08056B6E -_08056A68: - lsls r0, 2 - ldr r1, _08056A74 @ =_08056A78 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08056A74: .4byte _08056A78 - .align 2, 0 -_08056A78: - .4byte _08056AB0 - .4byte _08056ABE - .4byte _08056AC6 - .4byte _08056ACE - .4byte _08056AE4 - .4byte _08056AEE - .4byte _08056AF4 - .4byte _08056B04 - .4byte _08056B14 - .4byte _08056B30 - .4byte _08056B36 - .4byte _08056B3C - .4byte _08056B58 - .4byte _08056B6A -_08056AB0: - bl InitOverworldBgs - bl ScriptContext1_Init - bl ScriptContext2_Disable - b _08056B62 -_08056ABE: - movs r0, 0x1 - bl sub_8055920 - b _08056B62 -_08056AC6: - movs r0, 0x1 - bl sub_8057024 - b _08056B62 -_08056ACE: - bl sub_8057178 - bl sub_8057074 - bl sub_80571A8 - bl sub_8057140 - bl SetHelpContextForMap - b _08056B62 -_08056AE4: - bl InitCurrentFlashLevelScanlineEffect - bl sub_8056F1C - b _08056B62 -_08056AEE: - bl move_tilemap_camera_to_upper_left_corner - b _08056B62 -_08056AF4: - ldr r0, _08056B00 @ =gMapHeader - ldr r0, [r0] - bl copy_map_tileset1_to_vram - b _08056B62 - .align 2, 0 -_08056B00: .4byte gMapHeader -_08056B04: - ldr r0, _08056B10 @ =gMapHeader - ldr r0, [r0] - bl copy_map_tileset2_to_vram - b _08056B62 - .align 2, 0 -_08056B10: .4byte gMapHeader -_08056B14: - bl FreeTempTileDataBuffersIfPossible - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08056B6E - ldr r0, _08056B2C @ =gMapHeader - ldr r0, [r0] - bl apply_map_tileset1_tileset2_palette - b _08056B62 - .align 2, 0 -_08056B2C: .4byte gMapHeader -_08056B30: - bl DrawWholeMapView - b _08056B62 -_08056B36: - bl InitTilesetAnimations - b _08056B62 -_08056B3C: - ldr r0, _08056B54 @ =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0 - beq _08056B62 - bl LoadWirelessStatusIndicatorSpriteGfx - movs r0, 0 - movs r1, 0 - bl CreateWirelessStatusIndicatorSprite - b _08056B62 - .align 2, 0 -_08056B54: .4byte gWirelessCommType -_08056B58: - bl map_post_load_hook_exec - lsls r0, 24 - cmp r0, 0 - beq _08056B6E -_08056B62: - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - b _08056B6E -_08056B6A: - movs r0, 0x1 - b _08056B70 -_08056B6E: - movs r0, 0 -_08056B70: - pop {r4} - pop {r1} - bx r1 - thumb_func_end map_loading_iteration_3 - - thumb_func_start sub_8056B78 -sub_8056B78: @ 8056B78 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r0, [r4] - cmp r0, 0xE - bls _08056B86 - b _08056CD0 -_08056B86: - lsls r0, 2 - ldr r1, _08056B90 @ =_08056B94 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08056B90: .4byte _08056B94 - .align 2, 0 -_08056B94: - .4byte _08056BD0 - .4byte _08056BE0 - .4byte _08056BE6 - .4byte _08056BEE - .4byte _08056BFE - .4byte _08056C20 - .4byte _08056C2A - .4byte _08056C30 - .4byte _08056C40 - .4byte _08056C50 - .4byte _08056C6C - .4byte _08056C72 - .4byte _08056C78 - .4byte _08056CC0 - .4byte _08056BFA -_08056BD0: - bl InitOverworldBgs - bl FieldClearVBlankHBlankCallbacks - adds r0, r5, 0 - bl sub_8055920 - b _08056CCA -_08056BE0: - bl sub_8111F14 - b _08056CCA -_08056BE6: - adds r0, r5, 0 - bl sub_8057024 - b _08056CCA -_08056BEE: - bl sub_8113748 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08056CCA -_08056BFA: - movs r0, 0x1 - b _08056CD2 -_08056BFE: - bl mli4_mapscripts_and_other - bl sub_8057114 - ldr r0, _08056C1C @ =gQuestLogState - ldrb r0, [r0] - cmp r0, 0x2 - beq _08056C16 - bl sub_80CC534 - bl sub_80CC59C -_08056C16: - bl SetHelpContextForMap - b _08056CCA - .align 2, 0 -_08056C1C: .4byte gQuestLogState -_08056C20: - bl InitCurrentFlashLevelScanlineEffect - bl sub_8056F1C - b _08056CCA -_08056C2A: - bl move_tilemap_camera_to_upper_left_corner - b _08056CCA -_08056C30: - ldr r0, _08056C3C @ =gMapHeader - ldr r0, [r0] - bl copy_map_tileset1_to_vram - b _08056CCA - .align 2, 0 -_08056C3C: .4byte gMapHeader -_08056C40: - ldr r0, _08056C4C @ =gMapHeader - ldr r0, [r0] - bl copy_map_tileset2_to_vram - b _08056CCA - .align 2, 0 -_08056C4C: .4byte gMapHeader -_08056C50: - bl FreeTempTileDataBuffersIfPossible - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08056CD0 - ldr r0, _08056C68 @ =gMapHeader - ldr r0, [r0] - bl apply_map_tileset1_tileset2_palette - b _08056CCA - .align 2, 0 -_08056C68: .4byte gMapHeader -_08056C6C: - bl DrawWholeMapView - b _08056CCA -_08056C72: - bl InitTilesetAnimations - b _08056CCA -_08056C78: - bl GetLastUsedWarpMapSectionId - ldr r5, _08056CA4 @ =gMapHeader - lsls r0, 24 - lsrs r0, 24 - ldrb r1, [r5, 0x14] - cmp r0, r1 - beq _08056CA8 - ldrb r0, [r5, 0x14] - movs r1, 0x1 - bl MapHasPreviewScreen_HandleQLState2 - cmp r0, 0x1 - bne _08056CA8 - ldrb r0, [r5, 0x14] - bl MapPreview_LoadGfx - ldrb r0, [r5, 0x14] - bl MapPreview_StartForestTransition - b _08056CCA - .align 2, 0 -_08056CA4: .4byte gMapHeader -_08056CA8: - ldr r0, _08056CBC @ =gMapHeader - ldrb r1, [r0, 0x19] - movs r0, 0xFC - ands r0, r1 - cmp r0, 0x4 - bne _08056CCA - movs r0, 0 - bl CreateMapNamePopupIfNotAlreadyRunning - b _08056CCA - .align 2, 0 -_08056CBC: .4byte gMapHeader -_08056CC0: - bl map_post_load_hook_exec - lsls r0, 24 - cmp r0, 0 - beq _08056CD0 -_08056CCA: - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] -_08056CD0: - movs r0, 0 -_08056CD2: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8056B78 - - thumb_func_start sub_8056CD8 -sub_8056CD8: @ 8056CD8 - push {r4,lr} - adds r4, r0, 0 - ldrb r0, [r4] - cmp r0, 0x4 - bhi _08056D3C - lsls r0, 2 - ldr r1, _08056CEC @ =_08056CF0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08056CEC: .4byte _08056CF0 - .align 2, 0 -_08056CF0: - .4byte _08056D04 - .4byte _08056D30 - .4byte _08056D1C - .4byte _08056D26 - .4byte _08056D38 -_08056D04: - bl InitOverworldBgs - bl sub_8111F14 - movs r0, 0 - bl sub_8057024 - bl sub_8057100 - bl sub_8057114 - b _08056D30 -_08056D1C: - bl sub_8056F08 - bl SetHelpContextForMap - b _08056D30 -_08056D26: - bl map_post_load_hook_exec - lsls r0, 24 - cmp r0, 0 - beq _08056D3C -_08056D30: - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - b _08056D3C -_08056D38: - movs r0, 0x1 - b _08056D3E -_08056D3C: - movs r0, 0 -_08056D3E: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8056CD8 - - thumb_func_start map_loading_iteration_2_link -map_loading_iteration_2_link: @ 8056D44 - push {r4,lr} - adds r4, r0, 0 - ldrb r0, [r4] - cmp r0, 0xD - bls _08056D50 - b _08056E54 -_08056D50: - lsls r0, 2 - ldr r1, _08056D5C @ =_08056D60 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08056D5C: .4byte _08056D60 - .align 2, 0 -_08056D60: - .4byte _08056D98 - .4byte _08056DA2 - .4byte _08056DAE - .4byte _08056DC0 - .4byte _08056DCA - .4byte _08056DD0 - .4byte _08056DE0 - .4byte _08056DF0 - .4byte _08056E0C - .4byte _08056E12 - .4byte _08056E3E - .4byte _08056E18 - .4byte _08056E34 - .4byte _08056E46 -_08056D98: - bl InitOverworldBgs - bl FieldClearVBlankHBlankCallbacks - b _08056E3E -_08056DA2: - bl sub_8111F14 - movs r0, 0x1 - bl sub_8057024 - b _08056E3E -_08056DAE: - bl sub_8057230 - bl sub_8057100 - bl sub_805715C - bl SetHelpContextForMap - b _08056E3E -_08056DC0: - bl InitCurrentFlashLevelScanlineEffect - bl sub_8056F1C - b _08056E3E -_08056DCA: - bl move_tilemap_camera_to_upper_left_corner - b _08056E3E -_08056DD0: - ldr r0, _08056DDC @ =gMapHeader - ldr r0, [r0] - bl copy_map_tileset1_to_vram - b _08056E3E - .align 2, 0 -_08056DDC: .4byte gMapHeader -_08056DE0: - ldr r0, _08056DEC @ =gMapHeader - ldr r0, [r0] - bl copy_map_tileset2_to_vram - b _08056E3E - .align 2, 0 -_08056DEC: .4byte gMapHeader -_08056DF0: - bl FreeTempTileDataBuffersIfPossible - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08056E54 - ldr r0, _08056E08 @ =gMapHeader - ldr r0, [r0] - bl apply_map_tileset1_tileset2_palette - b _08056E3E - .align 2, 0 -_08056E08: .4byte gMapHeader -_08056E0C: - bl DrawWholeMapView - b _08056E3E -_08056E12: - bl InitTilesetAnimations - b _08056E3E -_08056E18: - ldr r0, _08056E30 @ =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0 - beq _08056E3E - bl LoadWirelessStatusIndicatorSpriteGfx - movs r0, 0 - movs r1, 0 - bl CreateWirelessStatusIndicatorSprite - b _08056E3E - .align 2, 0 -_08056E30: .4byte gWirelessCommType -_08056E34: - bl map_post_load_hook_exec - lsls r0, 24 - cmp r0, 0 - beq _08056E54 -_08056E3E: - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - b _08056E54 -_08056E46: - bl SetFieldVBlankCallback - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - movs r0, 0x1 - b _08056E56 -_08056E54: - movs r0, 0 -_08056E56: - pop {r4} - pop {r1} - bx r1 - thumb_func_end map_loading_iteration_2_link - - thumb_func_start do_load_map_stuff_loop -do_load_map_stuff_loop: @ 8056E5C - push {r4,lr} - adds r4, r0, 0 -_08056E60: - adds r0, r4, 0 - movs r1, 0 - bl sub_8056B78 - cmp r0, 0 - beq _08056E60 - pop {r4} - pop {r0} - bx r0 - thumb_func_end do_load_map_stuff_loop - - thumb_func_start MoveSaveBlocks_ResetHeap_ -MoveSaveBlocks_ResetHeap_: @ 8056E74 - push {lr} - bl MoveSaveBlocks_ResetHeap - pop {r0} - bx r0 - thumb_func_end MoveSaveBlocks_ResetHeap_ - - thumb_func_start sub_8056E80 -sub_8056E80: @ 8056E80 - push {r4-r7,lr} - sub sp, 0x4 - movs r0, 0 - movs r1, 0 - bl SetGpuReg - bl ScanlineEffect_Stop - ldr r2, _08056EF8 @ =0x05000002 - mov r1, sp - movs r0, 0 - strh r0, [r1] - ldr r1, _08056EFC @ =0x040000d4 - mov r0, sp - str r0, [r1] - str r2, [r1, 0x4] - ldr r0, _08056F00 @ =0x810001ff - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - movs r2, 0xC0 - lsls r2, 19 - movs r3, 0xC0 - lsls r3, 9 - mov r4, sp - movs r6, 0 - movs r5, 0x80 - lsls r5, 5 - ldr r7, _08056F04 @ =0x81000800 - movs r0, 0x81 - lsls r0, 24 - mov r12, r0 -_08056EBE: - strh r6, [r4] - mov r0, sp - str r0, [r1] - str r2, [r1, 0x4] - str r7, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r2, r5 - subs r3, r5 - cmp r3, r5 - bhi _08056EBE - strh r6, [r4] - mov r0, sp - str r0, [r1] - str r2, [r1, 0x4] - lsrs r0, r3, 1 - mov r2, r12 - orrs r0, r2 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - movs r0, 0 - movs r1, 0x80 - bl ResetOamRange - bl LoadOam - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08056EF8: .4byte 0x05000002 -_08056EFC: .4byte 0x040000d4 -_08056F00: .4byte 0x810001ff -_08056F04: .4byte 0x81000800 - thumb_func_end sub_8056E80 - - thumb_func_start sub_8056F08 -sub_8056F08: @ 8056F08 - push {lr} - bl InitCurrentFlashLevelScanlineEffect - bl sub_8056F1C - bl mapdata_load_assets_to_gpu_and_full_redraw - pop {r0} - bx r0 - thumb_func_end sub_8056F08 - - thumb_func_start sub_8056F1C -sub_8056F1C: @ 8056F1C - push {r4,lr} - bl ClearScheduledBgCopiesToVram - bl ResetTempTileDataBuffers - movs r0, 0x4C - movs r1, 0 - bl SetGpuReg - ldr r1, _0805700C @ =0x00001f1f - movs r0, 0x48 - bl SetGpuReg - ldr r1, _08057010 @ =0x00000101 - movs r0, 0x4A - bl SetGpuReg - movs r0, 0x40 - movs r1, 0xFF - bl SetGpuReg - movs r0, 0x44 - movs r1, 0xFF - bl SetGpuReg - ldr r4, _08057014 @ =0x0000ffff - movs r0, 0x42 - adds r1, r4, 0 - bl SetGpuReg - movs r0, 0x46 - adds r1, r4, 0 - bl SetGpuReg - ldr r0, _08057018 @ =gBLDCNTTarget2BGFlags - ldrh r1, [r0, 0x2] - ldrh r2, [r0, 0x4] - orrs r1, r2 - ldrh r0, [r0, 0x6] - orrs r1, r0 - movs r2, 0x82 - lsls r2, 5 - adds r0, r2, 0 - orrs r1, r0 - movs r0, 0x50 - bl SetGpuReg - ldr r1, _0805701C @ =0x0000070d - movs r0, 0x52 - bl SetGpuReg - movs r0, 0x1 - bl ScheduleBgCopyTilemapToVram - movs r0, 0x2 - bl ScheduleBgCopyTilemapToVram - movs r0, 0x3 - bl ScheduleBgCopyTilemapToVram - ldr r1, _08057020 @ =0x00007060 - movs r0, 0 - bl SetGpuReg - movs r0, 0 - bl ShowBg - movs r0, 0x1 - bl ShowBg - movs r0, 0x2 - bl ShowBg - movs r0, 0x3 - bl ShowBg - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0805700C: .4byte 0x00001f1f -_08057010: .4byte 0x00000101 -_08057014: .4byte 0x0000ffff -_08057018: .4byte gBLDCNTTarget2BGFlags -_0805701C: .4byte 0x0000070d -_08057020: .4byte 0x00007060 - thumb_func_end sub_8056F1C - - thumb_func_start sub_8057024 -sub_8057024: @ 8057024 - push {r4,lr} - adds r4, r0, 0 - bl ResetTasks - bl ResetSpriteData - bl ResetPaletteFade - bl ScanlineEffect_Clear - bl ResetAllPicSprites - bl ResetCameraUpdateInfo - bl InstallCameraPanAheadCallback - cmp r4, 0 - bne _08057050 - movs r0, 0 - bl InitObjectEventPalettes - b _08057056 -_08057050: - movs r0, 0x1 - bl InitObjectEventPalettes -_08057056: - bl FieldEffectActiveListClear - bl StartWeather - bl ResumePausedWeather - cmp r4, 0 - bne _0805706A - bl SetUpFieldTasks -_0805706A: - bl mapheader_run_script_with_tag_x5 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8057024 - - thumb_func_start sub_8057074 -sub_8057074: @ 8057074 - push {lr} - ldr r0, _08057094 @ =gTotalCameraPixelOffsetX - movs r1, 0 - strh r1, [r0] - ldr r0, _08057098 @ =gTotalCameraPixelOffsetY - strh r1, [r0] - bl ResetObjectEvents - movs r0, 0 - movs r1, 0 - bl TrySpawnObjectEvents - bl mapheader_run_first_tag4_script_list_match - pop {r0} - bx r0 - .align 2, 0 -_08057094: .4byte gTotalCameraPixelOffsetX -_08057098: .4byte gTotalCameraPixelOffsetY - thumb_func_end sub_8057074 - - thumb_func_start mli4_mapscripts_and_other -mli4_mapscripts_and_other: @ 805709C - push {r4,r5,lr} - sub sp, 0x4 - ldr r0, _080570F4 @ =gTotalCameraPixelOffsetX - movs r1, 0 - strh r1, [r0] - ldr r0, _080570F8 @ =gTotalCameraPixelOffsetY - strh r1, [r0] - bl ResetObjectEvents - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl GetCameraFocusCoords - bl sub_8055A6C - adds r5, r0, 0 - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r4, r2] - ldrb r2, [r5, 0x1] - ldr r3, _080570FC @ =gSaveBlock2Ptr - ldr r3, [r3] - ldrb r3, [r3, 0x8] - bl InitPlayerAvatar - ldrb r0, [r5] - bl SetPlayerAvatarTransitionFlags - bl ResetInitialPlayerAvatarState - movs r0, 0 - movs r1, 0 - bl TrySpawnObjectEvents - bl mapheader_run_first_tag4_script_list_match - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080570F4: .4byte gTotalCameraPixelOffsetX -_080570F8: .4byte gTotalCameraPixelOffsetY -_080570FC: .4byte gSaveBlock2Ptr - thumb_func_end mli4_mapscripts_and_other - - thumb_func_start sub_8057100 -sub_8057100: @ 8057100 - push {lr} - movs r0, 0 - movs r1, 0 - bl sub_805EDF0 - bl mapheader_run_script_with_tag_x7 - pop {r0} - bx r0 - thumb_func_end sub_8057100 - - thumb_func_start sub_8057114 -sub_8057114: @ 8057114 - push {lr} - ldr r2, _08057138 @ =gObjectEvents - ldr r3, _0805713C @ =gPlayerAvatar - ldrb r1, [r3, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0, 0x1] - movs r2, 0x80 - orrs r1, r2 - strb r1, [r0, 0x1] - ldrb r0, [r3, 0x4] - bl InitCameraUpdateCallback - pop {r0} - bx r0 - .align 2, 0 -_08057138: .4byte gObjectEvents -_0805713C: .4byte gPlayerAvatar - thumb_func_end sub_8057114 - - thumb_func_start sub_8057140 -sub_8057140: @ 8057140 - push {lr} - ldr r0, _08057158 @ =gLocalLinkPlayerId - ldrb r0, [r0] - bl sub_8058504 - lsls r0, 24 - lsrs r0, 24 - bl InitCameraUpdateCallback - pop {r0} - bx r0 - .align 2, 0 -_08057158: .4byte gLocalLinkPlayerId - thumb_func_end sub_8057140 - - thumb_func_start sub_805715C -sub_805715C: @ 805715C - push {lr} - ldr r0, _08057174 @ =gLocalLinkPlayerId - ldrb r0, [r0] - bl sub_8058504 - lsls r0, 24 - lsrs r0, 24 - bl InitCameraUpdateCallback - pop {r0} - bx r0 - .align 2, 0 -_08057174: .4byte gLocalLinkPlayerId - thumb_func_end sub_805715C - - thumb_func_start sub_8057178 -sub_8057178: @ 8057178 - push {r4,lr} - sub sp, 0x4 - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl GetCameraFocusCoords - mov r2, sp - ldr r0, _080571A4 @ =gLocalLinkPlayerId - ldrb r1, [r0] - ldrh r0, [r2] - adds r0, r1 - lsls r0, 16 - lsrs r0, 16 - ldrh r1, [r4] - bl SetCameraFocusCoords - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080571A4: .4byte gLocalLinkPlayerId - thumb_func_end sub_8057178 - - thumb_func_start sub_80571A8 -sub_80571A8: @ 80571A8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl GetCameraFocusCoords - mov r3, sp - mov r2, sp - ldr r0, _08057224 @ =gLocalLinkPlayerId - ldrb r1, [r0] - ldrh r0, [r2] - subs r0, r1 - strh r0, [r3] - movs r6, 0 - ldr r0, _08057228 @ =gFieldLinkPlayerCount - mov r8, r4 - ldrb r0, [r0] - cmp r6, r0 - bcs _08057212 - ldr r7, _0805722C @ =gLinkPlayers -_080571D8: - lsls r5, r6, 24 - lsrs r5, 24 - mov r0, sp - ldrh r1, [r0] - adds r1, r6, r1 - lsls r1, 16 - asrs r1, 16 - mov r0, r8 - movs r3, 0 - ldrsh r2, [r0, r3] - lsls r4, r6, 3 - subs r4, r6 - lsls r4, 2 - adds r4, r7 - ldrb r3, [r4, 0x13] - adds r0, r5, 0 - bl SpawnLinkPlayerObjectEvent - ldrb r1, [r4] - adds r0, r5, 0 - bl sub_8058878 - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - ldr r0, _08057228 @ =gFieldLinkPlayerCount - ldrb r0, [r0] - cmp r6, r0 - bcc _080571D8 -_08057212: - bl sub_80578EC - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08057224: .4byte gLocalLinkPlayerId -_08057228: .4byte gFieldLinkPlayerCount -_0805722C: .4byte gLinkPlayers - thumb_func_end sub_80571A8 - - thumb_func_start sub_8057230 -sub_8057230: @ 8057230 - push {r4,r5,lr} - movs r4, 0 - ldr r0, _08057264 @ =gFieldLinkPlayerCount - ldrb r0, [r0] - cmp r4, r0 - bcs _0805725E - ldr r5, _08057268 @ =gLinkPlayers -_0805723E: - lsls r0, r4, 24 - lsrs r0, 24 - lsls r1, r4, 3 - subs r1, r4 - lsls r1, 2 - adds r1, r5 - ldrb r1, [r1] - bl sub_8058878 - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - ldr r0, _08057264 @ =gFieldLinkPlayerCount - ldrb r0, [r0] - cmp r4, r0 - bcc _0805723E -_0805725E: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08057264: .4byte gFieldLinkPlayerCount -_08057268: .4byte gLinkPlayers - thumb_func_end sub_8057230 - - thumb_func_start sub_805726C -sub_805726C: @ 805726C - push {lr} - bl FieldClearVBlankHBlankCallbacks - ldr r1, _08057298 @ =gUnknown_2036E28 - movs r0, 0x1 - strb r0, [r1] - bl ScriptContext1_Init - bl ScriptContext2_Disable - movs r0, 0 - bl SetMainCallback1 - ldr r0, _0805729C @ =CB2_DoChangeMap - bl SetMainCallback2 - ldr r1, _080572A0 @ =gMain - ldr r0, _080572A4 @ =sub_80572D8 - str r0, [r1, 0x8] - pop {r0} - bx r0 - .align 2, 0 -_08057298: .4byte gUnknown_2036E28 -_0805729C: .4byte CB2_DoChangeMap -_080572A0: .4byte gMain -_080572A4: .4byte sub_80572D8 - thumb_func_end sub_805726C - - thumb_func_start sub_80572A8 -sub_80572A8: @ 80572A8 - push {lr} - bl FieldClearVBlankHBlankCallbacks - ldr r0, _080572D0 @ =gUnknown_2036E28 - movs r1, 0x1 - strb r1, [r0] - bl set_current_map_header_from_sav1 - bl ScriptContext1_Init - bl ScriptContext2_Disable - movs r0, 0 - bl SetMainCallback1 - ldr r0, _080572D4 @ =sub_80572D8 - bl SetMainCallback2 - pop {r0} - bx r0 - .align 2, 0 -_080572D0: .4byte gUnknown_2036E28 -_080572D4: .4byte sub_80572D8 - thumb_func_end sub_80572A8 - - thumb_func_start sub_80572D8 -sub_80572D8: @ 80572D8 - push {lr} - ldr r0, _080572F4 @ =gMain + 0x438 - bl sub_8057300 - bl SetFieldVBlankCallback - ldr r0, _080572F8 @ =CB1_Overworld - bl SetMainCallback1 - ldr r0, _080572FC @ =sub_80565B4 - bl SetMainCallback2 - pop {r0} - bx r0 - .align 2, 0 -_080572F4: .4byte gMain + 0x438 -_080572F8: .4byte CB1_Overworld -_080572FC: .4byte sub_80565B4 - thumb_func_end sub_80572D8 - - thumb_func_start sub_8057300 -sub_8057300: @ 8057300 - push {r4,lr} - adds r4, r0, 0 -_08057304: - adds r0, r4, 0 - bl sub_8057314 - cmp r0, 0 - beq _08057304 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8057300 - - thumb_func_start sub_8057314 -sub_8057314: @ 8057314 - push {r4,lr} - adds r4, r0, 0 - ldrb r0, [r4] - cmp r0, 0xA - bls _08057320 - b _0805741A -_08057320: - lsls r0, 2 - ldr r1, _0805732C @ =_08057330 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0805732C: .4byte _08057330 - .align 2, 0 -_08057330: - .4byte _0805735C - .4byte _080573A0 - .4byte _080573A6 - .4byte _080573AE - .4byte _080573B8 - .4byte _080573C2 - .4byte _080573C8 - .4byte _080573D8 - .4byte _080573E8 - .4byte _08057404 - .4byte _0805740A -_0805735C: - bl InitOverworldBgs - bl FieldClearVBlankHBlankCallbacks - bl sub_8111F14 - bl sub_81113E4 - bl sub_8111438 - bl sub_8110AC8 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _08057390 - ldr r1, _0805738C @ =gUnknown_2031DE0 - movs r0, 0 - strb r0, [r1] - movs r0, 0 - bl sub_8055920 - b _08057412 - .align 2, 0 -_0805738C: .4byte gUnknown_2031DE0 -_08057390: - ldr r1, _0805739C @ =gUnknown_2031DE0 - movs r0, 0x1 - strb r0, [r1] - bl sub_80559A8 - b _08057412 - .align 2, 0 -_0805739C: .4byte gUnknown_2031DE0 -_080573A0: - bl sub_8110FCC - b _08057412 -_080573A6: - movs r0, 0 - bl sub_8057024 - b _08057412 -_080573AE: - bl sub_8057100 - bl sub_8057114 - b _08057412 -_080573B8: - bl InitCurrentFlashLevelScanlineEffect - bl sub_8056F1C - b _08057412 -_080573C2: - bl move_tilemap_camera_to_upper_left_corner - b _08057412 -_080573C8: - ldr r0, _080573D4 @ =gMapHeader - ldr r0, [r0] - bl copy_map_tileset1_to_vram - b _08057412 - .align 2, 0 -_080573D4: .4byte gMapHeader -_080573D8: - ldr r0, _080573E4 @ =gMapHeader - ldr r0, [r0] - bl copy_map_tileset2_to_vram - b _08057412 - .align 2, 0 -_080573E4: .4byte gMapHeader -_080573E8: - bl FreeTempTileDataBuffersIfPossible - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08057428 - ldr r0, _08057400 @ =gMapHeader - ldr r0, [r0] - bl apply_map_tileset1_tileset2_palette - b _08057412 - .align 2, 0 -_08057400: .4byte gMapHeader -_08057404: - bl DrawWholeMapView - b _08057412 -_0805740A: - bl InitTilesetAnimations - bl sub_815A540 -_08057412: - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - b _08057428 -_0805741A: - bl map_post_load_hook_exec - lsls r0, 24 - cmp r0, 0 - beq _08057428 - movs r0, 0x1 - b _0805742A -_08057428: - movs r0, 0 -_0805742A: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8057314 - - thumb_func_start sub_8057430 -sub_8057430: @ 8057430 - push {lr} - bl FieldClearVBlankHBlankCallbacks - bl StopMapMusic - ldr r1, _08057484 @ =gUnknown_2036E28 - movs r0, 0x3 - strb r0, [r1] - bl sub_8056420 - bl set_current_map_header_from_sav1 - bl sub_80550A8 - bl UnfreezeObjectEvents - bl sub_8054E40 - bl InitMapFromSavedGame - bl PlayTimeCounter_Start - bl ScriptContext1_Init - ldr r1, _08057488 @ =gUnknown_2031DE0 - movs r0, 0x1 - strb r0, [r1] - bl sav2_x1_query_bit1 - cmp r0, 0x1 - bne _08057490 - bl sav2_x9_clear_bit1 - bl warp1_set_to_sav1w - bl WarpIntoMap - ldr r0, _0805748C @ =CB2_LoadMap - bl SetMainCallback2 - b _0805749A - .align 2, 0 -_08057484: .4byte gUnknown_2036E28 -_08057488: .4byte gUnknown_2031DE0 -_0805748C: .4byte CB2_LoadMap -_08057490: - ldr r0, _080574A0 @ =CB1_Overworld - bl SetMainCallback1 - bl CB2_ReturnToField -_0805749A: - pop {r0} - bx r0 - .align 2, 0 -_080574A0: .4byte CB1_Overworld - thumb_func_end sub_8057430 - - thumb_func_start Overworld_CreditsMainCB -Overworld_CreditsMainCB: @ 80574A4 - push {r4,lr} - ldr r0, _080574E8 @ =gPaletteFade - ldrb r0, [r0, 0x7] - lsrs r0, 7 - adds r4, r0, 0 - cmp r4, 0 - beq _080574B8 - movs r0, 0 - bl SetVBlankCallback -_080574B8: - bl RunTasks - bl AnimateSprites - bl sub_805ACF0 - bl UpdateCameraPanning - bl BuildOamBuffer - bl UpdatePaletteFade - bl UpdateTilesetAnimations - bl DoScheduledBgTilemapCopiesToVram - cmp r4, 0 - beq _080574E0 - bl SetFieldVBlankCallback -_080574E0: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080574E8: .4byte gPaletteFade - thumb_func_end Overworld_CreditsMainCB - - thumb_func_start sub_80574EC -sub_80574EC: @ 80574EC - push {lr} - ldr r0, _08057500 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08057504 - movs r0, 0 - b _08057506 - .align 2, 0 -_08057500: .4byte gPaletteFade -_08057504: - movs r0, 0x1 -_08057506: - pop {r1} - bx r1 - thumb_func_end sub_80574EC - - thumb_func_start Overworld_DoScrollSceneForCredits -Overworld_DoScrollSceneForCredits: @ 805750C - push {lr} - ldr r3, _08057520 @ =gUnknown_2031DE4 - str r1, [r3] - ldr r1, _08057524 @ =gUnknown_2036E28 - strb r2, [r1] - movs r1, 0 - bl sub_8057528 - pop {r1} - bx r1 - .align 2, 0 -_08057520: .4byte gUnknown_2031DE4 -_08057524: .4byte gUnknown_2036E28 - thumb_func_end Overworld_DoScrollSceneForCredits - - thumb_func_start sub_8057528 -sub_8057528: @ 8057528 - push {r4-r7,lr} - adds r7, r0, 0 - ldrb r1, [r7] - cmp r1, 0x1 - beq _08057560 - cmp r1, 0x1 - bgt _0805753C - cmp r1, 0 - beq _08057546 - b _08057648 -_0805753C: - cmp r1, 0x2 - beq _08057620 - cmp r1, 0x3 - beq _0805762C - b _08057648 -_08057546: - ldr r0, _08057558 @ =gUnknown_2031DEA - strh r1, [r0] - ldr r0, _0805755C @ =gUnknown_2031DE8 - strh r1, [r0] -_0805754E: - ldrb r0, [r7] - adds r0, 0x1 - strb r0, [r7] - b _08057648 - .align 2, 0 -_08057558: .4byte gUnknown_2031DEA -_0805755C: .4byte gUnknown_2031DE8 -_08057560: - ldr r3, _080575F0 @ =gUnknown_2031DEA - movs r0, 0 - ldrsh r1, [r3, r0] - ldr r0, _080575F4 @ =gUnknown_2031DE4 - ldr r4, [r0] - lsls r1, 3 - adds r1, r4 - ldrb r2, [r1, 0x2] - ldr r0, _080575F8 @ =0xffffff00 - ands r0, r5 - orrs r0, r2 - ldrb r1, [r1, 0x4] - lsls r1, 8 - ldr r2, _080575FC @ =0xffff00ff - ands r0, r2 - adds r5, r0, 0 - orrs r5, r1 - movs r0, 0xFF - lsls r0, 16 - orrs r5, r0 - ldrh r0, [r3] - adds r0, 0x1 - strh r0, [r3] - movs r2, 0 - ldrsh r1, [r3, r2] - lsls r1, 3 - adds r1, r4 - ldrh r2, [r1] - ldr r0, _08057600 @ =0xffff0000 - ands r0, r6 - orrs r0, r2 - ldrh r1, [r1, 0x2] - lsls r1, 16 - ldr r2, _08057604 @ =0x0000ffff - ands r0, r2 - adds r6, r0, 0 - orrs r6, r1 - ldr r0, _08057608 @ =gUnknown_2031DBC - str r5, [r0] - str r6, [r0, 0x4] - ldr r1, _0805760C @ =gUnknown_2031DE8 - movs r2, 0 - ldrsh r0, [r3, r2] - lsls r0, 3 - adds r0, r4 - ldrh r0, [r0, 0x4] - strh r0, [r1] - bl WarpIntoMap - ldr r2, _08057610 @ =gPaletteFade - ldrb r0, [r2, 0x8] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2, 0x8] - bl ScriptContext1_Init - bl ScriptContext2_Disable - movs r0, 0 - bl SetMainCallback1 - ldr r1, _08057614 @ =gFieldCallback2 - ldr r0, _08057618 @ =sub_80574EC - str r0, [r1] - ldr r0, _0805761C @ =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 - movs r1, 0 - strb r1, [r0] - b _0805754E - .align 2, 0 -_080575F0: .4byte gUnknown_2031DEA -_080575F4: .4byte gUnknown_2031DE4 -_080575F8: .4byte 0xffffff00 -_080575FC: .4byte 0xffff00ff -_08057600: .4byte 0xffff0000 -_08057604: .4byte 0x0000ffff -_08057608: .4byte gUnknown_2031DBC -_0805760C: .4byte gUnknown_2031DE8 -_08057610: .4byte gPaletteFade -_08057614: .4byte gFieldCallback2 -_08057618: .4byte sub_80574EC -_0805761C: .4byte gMain -_08057620: - bl sub_8057650 - lsls r0, 24 - cmp r0, 0 - beq _08057648 - b _0805754E -_0805762C: - ldr r0, _08057640 @ =gFieldCamera - ldr r1, _08057644 @ =sub_8057748 - str r1, [r0] - bl SetFieldVBlankCallback - movs r0, 0 - strb r0, [r7] - movs r0, 0x1 - b _0805764A - .align 2, 0 -_08057640: .4byte gFieldCamera -_08057644: .4byte sub_8057748 -_08057648: - movs r0, 0 -_0805764A: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8057528 - - thumb_func_start sub_8057650 -sub_8057650: @ 8057650 - push {r4,lr} - ldr r4, _08057664 @ =gMain + 0x438 - ldrb r0, [r4] - cmp r0, 0x8 - bhi _0805773C - lsls r0, 2 - ldr r1, _08057668 @ =_0805766C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08057664: .4byte gMain + 0x438 -_08057668: .4byte _0805766C - .align 2, 0 -_0805766C: - .4byte _08057690 - .4byte _0805769C - .4byte _080576C2 - .4byte _080576CC - .4byte _080576D2 - .4byte _080576E0 - .4byte _080576F0 - .4byte _0805770C - .4byte _08057712 -_08057690: - bl sub_8056354 - movs r0, 0 - bl sub_8055920 - b _0805772A -_0805769C: - bl ScanlineEffect_Clear - bl ResetAllPicSprites - bl ResetCameraUpdateInfo - bl InstallCameraPanAheadCallback - bl FieldEffectActiveListClear - bl StartWeather - bl ResumePausedWeather - bl SetUpFieldTasks - bl mapheader_run_script_with_tag_x5 - b _0805772A -_080576C2: - bl InitCurrentFlashLevelScanlineEffect - bl sub_8056F1C - b _0805772A -_080576CC: - bl move_tilemap_camera_to_upper_left_corner - b _0805772A -_080576D2: - ldr r0, _080576DC @ =gMapHeader - ldr r0, [r0] - bl copy_map_tileset1_to_vram - b _0805772A - .align 2, 0 -_080576DC: .4byte gMapHeader -_080576E0: - ldr r0, _080576EC @ =gMapHeader - ldr r0, [r0] - bl copy_map_tileset2_to_vram - b _0805772A - .align 2, 0 -_080576EC: .4byte gMapHeader -_080576F0: - bl FreeTempTileDataBuffersIfPossible - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08057740 - ldr r0, _08057708 @ =gMapHeader - ldr r0, [r0] - bl apply_map_tileset1_tileset2_palette - b _0805772A - .align 2, 0 -_08057708: .4byte gMapHeader -_0805770C: - bl DrawWholeMapView - b _0805772A -_08057712: - bl InitTilesetAnimations - ldr r2, _08057734 @ =gPaletteFade - ldrb r1, [r2, 0x8] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2, 0x8] - ldr r2, _08057738 @ =0x3fffffff - movs r0, 0 - movs r1, 0 - bl FadeSelectedPals -_0805772A: - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - b _08057740 - .align 2, 0 -_08057734: .4byte gPaletteFade -_08057738: .4byte 0x3fffffff -_0805773C: - movs r0, 0x1 - b _08057742 -_08057740: - movs r0, 0 -_08057742: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8057650 - - thumb_func_start sub_8057748 -sub_8057748: @ 8057748 - push {r4-r6,lr} - adds r2, r0, 0 - ldr r0, _08057784 @ =gUnknown_2031DE8 - movs r3, 0 - ldrsh r1, [r0, r3] - adds r5, r0, 0 - ldr r4, _08057788 @ =gUnknown_2031DEA - ldr r6, _0805778C @ =gUnknown_2031DE4 - cmp r1, 0 - bne _080577F4 - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - movs r1, 0 - ldrsh r0, [r4, r1] - ldr r1, [r6] - lsls r0, 3 - adds r3, r0, r1 - ldrh r0, [r3] - subs r0, 0xFB - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4 - bhi _080577D4 - lsls r0, 2 - ldr r1, _08057790 @ =_08057794 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08057784: .4byte gUnknown_2031DE8 -_08057788: .4byte gUnknown_2031DEA -_0805778C: .4byte gUnknown_2031DE4 -_08057790: .4byte _08057794 - .align 2, 0 -_08057794: - .4byte _080577C0 - .4byte _08057814 - .4byte _080577CA - .4byte _08057814 - .4byte _080577A8 -_080577A8: - movs r0, 0 - str r0, [r2, 0x8] - str r0, [r2, 0xC] - str r0, [r2] - ldr r0, _080577BC @ =sub_805781C - movs r1, 0 - bl CreateTask - b _08057814 - .align 2, 0 -_080577BC: .4byte sub_805781C -_080577C0: - movs r0, 0 - str r0, [r2, 0x8] - str r0, [r2, 0xC] - str r0, [r2] - b _080577F4 -_080577CA: - movs r0, 0 - str r0, [r2, 0x8] - str r0, [r2, 0xC] - str r0, [r2] - b _08057814 -_080577D4: - ldrh r0, [r3, 0x4] - strh r0, [r5] - movs r3, 0 - ldrsh r0, [r4, r3] - lsls r0, 3 - adds r0, r1 - movs r3, 0 - ldrsh r0, [r0, r3] - str r0, [r2, 0x8] - movs r3, 0 - ldrsh r0, [r4, r3] - lsls r0, 3 - adds r0, r1 - movs r1, 0x2 - ldrsh r0, [r0, r1] - str r0, [r2, 0xC] -_080577F4: - movs r3, 0 - ldrsh r0, [r4, r3] - ldr r1, [r6] - lsls r0, 3 - adds r0, r1 - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0xFF - bne _0805780E - movs r0, 0 - str r0, [r2, 0x8] - str r0, [r2, 0xC] - b _08057814 -_0805780E: - ldrh r0, [r5] - subs r0, 0x1 - strh r0, [r5] -_08057814: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8057748 - - thumb_func_start sub_805781C -sub_805781C: @ 805781C - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, _0805784C @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _08057850 @ =sub_8057854 - str r1, [r0] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0805784C: .4byte gTasks -_08057850: .4byte sub_8057854 - thumb_func_end sub_805781C - - thumb_func_start sub_8057854 -sub_8057854: @ 8057854 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _0805787C @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08057876 - bl CleanupOverworldWindowsAndTilemaps - ldr r0, _08057880 @ =CB2_LoadMap - bl SetMainCallback2 - adds r0, r4, 0 - bl DestroyTask -_08057876: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0805787C: .4byte gPaletteFade -_08057880: .4byte CB2_LoadMap - thumb_func_end sub_8057854 - - thumb_func_start c1_link_related -c1_link_related: @ 8057884 - push {r4,lr} - ldr r0, _080578C8 @ =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0 - beq _0805789E - bl IsRfuRecvQueueEmpty - cmp r0, 0 - beq _0805789E - bl IsSendingKeysToLink - cmp r0, 0 - bne _080578C0 -_0805789E: - ldr r0, _080578CC @ =gLocalLinkPlayerId - ldrb r4, [r0] - ldr r0, _080578D0 @ =gLinkPartnersHeldKeys - adds r1, r4, 0 - bl sub_8057BE4 - ldr r0, _080578D4 @ =gUnknown_3000E84 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 16 - lsrs r0, 16 - bl sub_8057C4C - bl sub_80578EC -_080578C0: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080578C8: .4byte gWirelessCommType -_080578CC: .4byte gLocalLinkPlayerId -_080578D0: .4byte gLinkPartnersHeldKeys -_080578D4: .4byte gUnknown_3000E84 - thumb_func_end c1_link_related - - thumb_func_start sub_80578D8 -sub_80578D8: @ 80578D8 - push {lr} - bl sub_805793C - ldr r0, _080578E8 @ =sub_8057D5C - bl c1_link_related_func_set - pop {r0} - bx r0 - .align 2, 0 -_080578E8: .4byte sub_8057D5C - thumb_func_end sub_80578D8 - - thumb_func_start sub_80578EC -sub_80578EC: @ 80578EC - push {lr} - ldr r0, _080578F8 @ =gLinkPartnersHeldKeys - bl sub_8057D48 - pop {r0} - bx r0 - .align 2, 0 -_080578F8: .4byte gLinkPartnersHeldKeys - thumb_func_end sub_80578EC - - thumb_func_start c1_link_related_func_set -c1_link_related_func_set: @ 80578FC - ldr r2, _08057908 @ =gUnknown_3000E89 - movs r1, 0 - strb r1, [r2] - ldr r1, _0805790C @ =gUnknown_3000E84 - str r0, [r1] - bx lr - .align 2, 0 -_08057908: .4byte gUnknown_3000E89 -_0805790C: .4byte gUnknown_3000E84 - thumb_func_end c1_link_related_func_set - - thumb_func_start sub_8057910 -sub_8057910: @ 8057910 - push {lr} - ldr r0, _08057934 @ =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0 - beq _0805792E - ldr r1, _08057938 @ =gUnknown_3000E89 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3C - bls _0805792E - bl LinkRfu_FatalError -_0805792E: - pop {r0} - bx r0 - .align 2, 0 -_08057934: .4byte gWirelessCommType -_08057938: .4byte gUnknown_3000E89 - thumb_func_end sub_8057910 - - thumb_func_start sub_805793C -sub_805793C: @ 805793C - push {lr} - ldr r1, _08057950 @ =gUnknown_3000E80 - movs r2, 0x80 - adds r0, r1, 0x3 -_08057944: - strb r2, [r0] - subs r0, 0x1 - cmp r0, r1 - bge _08057944 - pop {r0} - bx r0 - .align 2, 0 -_08057950: .4byte gUnknown_3000E80 - thumb_func_end sub_805793C - - thumb_func_start sub_8057954 -sub_8057954: @ 8057954 - push {r4,lr} - lsls r0, 16 - lsrs r3, r0, 16 - ldr r0, _08057974 @ =gFieldLinkPlayerCount - ldrb r2, [r0] - movs r1, 0 - cmp r1, r2 - bge _08057982 - ldr r4, _08057978 @ =gUnknown_3000E80 -_08057966: - adds r0, r1, r4 - ldrb r0, [r0] - cmp r0, r3 - beq _0805797C - movs r0, 0 - b _08057984 - .align 2, 0 -_08057974: .4byte gFieldLinkPlayerCount -_08057978: .4byte gUnknown_3000E80 -_0805797C: - adds r1, 0x1 - cmp r1, r2 - blt _08057966 -_08057982: - movs r0, 0x1 -_08057984: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8057954 - - thumb_func_start sub_805798C -sub_805798C: @ 805798C - push {r4,lr} - lsls r0, 16 - lsrs r3, r0, 16 - ldr r0, _080579AC @ =gFieldLinkPlayerCount - ldrb r2, [r0] - movs r1, 0 - cmp r1, r2 - bge _080579BA - ldr r4, _080579B0 @ =gUnknown_3000E80 -_0805799E: - adds r0, r1, r4 - ldrb r0, [r0] - cmp r0, r3 - bne _080579B4 - movs r0, 0x1 - b _080579BC - .align 2, 0 -_080579AC: .4byte gFieldLinkPlayerCount -_080579B0: .4byte gUnknown_3000E80 -_080579B4: - adds r1, 0x1 - cmp r1, r2 - blt _0805799E -_080579BA: - movs r0, 0 -_080579BC: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_805798C - - thumb_func_start sub_80579C4 -sub_80579C4: @ 80579C4 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r7, r0, 0 - adds r6, r2, 0 - mov r9, r3 - lsls r1, 16 - lsrs r1, 16 - mov r8, r1 - ldr r0, _08057A14 @ =gUnknown_3000E80 - adds r5, r7, r0 - ldrb r0, [r5] - cmp r0, 0x80 - beq _080579E4 - b _08057B5E -_080579E4: - adds r0, r6, 0 - bl sub_805801C - adds r4, r0, 0 - cmp r4, 0 - beq _08057A1C - bl sub_805812C - mov r1, r9 - strh r0, [r1] - movs r0, 0x81 - strb r0, [r5] - ldrb r0, [r6, 0x1] - cmp r0, 0 - bne _08057A04 - b _08057BD2 -_08057A04: - ldr r0, _08057A18 @ =sub_8057DA4 - bl c1_link_related_func_set - adds r0, r4, 0 - bl sub_80581DC - b _08057BD2 - .align 2, 0 -_08057A14: .4byte gUnknown_3000E80 -_08057A18: .4byte sub_8057DA4 -_08057A1C: - movs r0, 0x83 - bl sub_805798C - cmp r0, 0x1 - bne _08057A44 - movs r0, 0x81 - strb r0, [r5] - ldrb r0, [r6, 0x1] - cmp r0, 0 - bne _08057A32 - b _08057BD2 -_08057A32: - ldr r0, _08057A40 @ =sub_8057DA4 - bl c1_link_related_func_set - bl sub_8058230 - b _08057BD2 - .align 2, 0 -_08057A40: .4byte sub_8057DA4 -_08057A44: - mov r0, r8 - subs r0, 0x12 - cmp r0, 0xA - bls _08057A4E - b _08057B5E -_08057A4E: - lsls r0, 2 - ldr r1, _08057A58 @ =_08057A5C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08057A58: .4byte _08057A5C - .align 2, 0 -_08057A5C: - .4byte _08057AB4 - .4byte _08057B5E - .4byte _08057B5E - .4byte _08057B5E - .4byte _08057B5E - .4byte _08057B5E - .4byte _08057A88 - .4byte _08057AE0 - .4byte _08057B5E - .4byte _08057B10 - .4byte _08057B3C -_08057A88: - adds r0, r6, 0 - bl sub_8058004 - cmp r0, 0 - beq _08057B5E - ldr r0, _08057AAC @ =gUnknown_3000E80 - adds r0, r7, r0 - movs r1, 0x81 - strb r1, [r0] - ldrb r0, [r6, 0x1] - cmp r0, 0 - beq _08057B5E - ldr r0, _08057AB0 @ =sub_8057DA4 - bl c1_link_related_func_set - bl sub_80581C8 - b _08057B5E - .align 2, 0 -_08057AAC: .4byte gUnknown_3000E80 -_08057AB0: .4byte sub_8057DA4 -_08057AB4: - adds r0, r6, 0 - bl sub_8058034 - cmp r0, 0x1 - bne _08057B5E - ldr r0, _08057AD8 @ =gUnknown_3000E80 - adds r0, r7, r0 - movs r1, 0x81 - strb r1, [r0] - ldrb r0, [r6, 0x1] - cmp r0, 0 - beq _08057B5E - ldr r0, _08057ADC @ =sub_8057DA4 - bl c1_link_related_func_set - bl sub_80581F8 - b _08057B5E - .align 2, 0 -_08057AD8: .4byte gUnknown_3000E80 -_08057ADC: .4byte sub_8057DA4 -_08057AE0: - adds r0, r6, 0 - bl sub_8058060 - adds r4, r0, 0 - cmp r4, 0 - beq _08057B5E - ldr r0, _08057B08 @ =gUnknown_3000E80 - adds r0, r7, r0 - movs r1, 0x81 - strb r1, [r0] - ldrb r0, [r6, 0x1] - cmp r0, 0 - beq _08057B5E - ldr r0, _08057B0C @ =sub_8057DA4 - bl c1_link_related_func_set - adds r0, r4, 0 - bl sub_8058214 - b _08057B5E - .align 2, 0 -_08057B08: .4byte gUnknown_3000E80 -_08057B0C: .4byte sub_8057DA4 -_08057B10: - adds r0, r6, 0 - bl sub_8057FEC - cmp r0, 0 - beq _08057B5E - ldr r0, _08057B34 @ =gUnknown_3000E80 - adds r0, r7, r0 - movs r1, 0x81 - strb r1, [r0] - ldrb r0, [r6, 0x1] - cmp r0, 0 - beq _08057B5E - ldr r0, _08057B38 @ =sub_8057DC8 - bl c1_link_related_func_set - bl sub_80581BC - b _08057B5E - .align 2, 0 -_08057B34: .4byte gUnknown_3000E80 -_08057B38: .4byte sub_8057DC8 -_08057B3C: - adds r0, r6, 0 - bl sub_8057FEC - cmp r0, 0 - beq _08057B5E - ldr r0, _08057B70 @ =gUnknown_3000E80 - adds r0, r7, r0 - movs r1, 0x81 - strb r1, [r0] - ldrb r0, [r6, 0x1] - cmp r0, 0 - beq _08057B5E - ldr r0, _08057B74 @ =sub_8057DEC - bl c1_link_related_func_set - bl sub_80581BC -_08057B5E: - mov r0, r8 - cmp r0, 0x17 - beq _08057B84 - cmp r0, 0x17 - bgt _08057B78 - cmp r0, 0x16 - beq _08057B94 - b _08057BD2 - .align 2, 0 -_08057B70: .4byte gUnknown_3000E80 -_08057B74: .4byte sub_8057DEC -_08057B78: - mov r1, r8 - cmp r1, 0x1A - beq _08057BA4 - cmp r1, 0x1D - beq _08057BC4 - b _08057BD2 -_08057B84: - ldr r0, _08057B90 @ =gUnknown_3000E80 - adds r0, r7, r0 - movs r1, 0x83 - strb r1, [r0] - b _08057BD2 - .align 2, 0 -_08057B90: .4byte gUnknown_3000E80 -_08057B94: - ldr r0, _08057BA0 @ =gUnknown_3000E80 - adds r0, r7, r0 - movs r1, 0x82 - strb r1, [r0] - b _08057BD2 - .align 2, 0 -_08057BA0: .4byte gUnknown_3000E80 -_08057BA4: - ldr r0, _08057BBC @ =gUnknown_3000E80 - adds r0, r7, r0 - movs r1, 0x80 - strb r1, [r0] - ldrb r0, [r6, 0x1] - cmp r0, 0 - beq _08057BD2 - ldr r0, _08057BC0 @ =sub_8057D5C - bl c1_link_related_func_set - b _08057BD2 - .align 2, 0 -_08057BBC: .4byte gUnknown_3000E80 -_08057BC0: .4byte sub_8057D5C -_08057BC4: - ldr r0, _08057BE0 @ =gUnknown_3000E80 - adds r1, r7, r0 - ldrb r0, [r1] - cmp r0, 0x82 - bne _08057BD2 - movs r0, 0x81 - strb r0, [r1] -_08057BD2: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08057BE0: .4byte gUnknown_3000E80 - thumb_func_end sub_80579C4 - - thumb_func_start sub_8057BE4 -sub_8057BE4: @ 8057BE4 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x14 - mov r8, r1 - movs r6, 0 - add r5, sp, 0x10 - mov r9, r5 - adds r7, r0, 0 -_08057BF8: - ldrb r4, [r7] - movs r0, 0 - strh r0, [r5] - adds r0, r6, 0 - mov r1, r8 - mov r2, sp - bl sub_8057F84 - adds r0, r6, 0 - adds r1, r4, 0 - mov r2, sp - adds r3, r5, 0 - bl sub_80579C4 - ldr r0, _08057C48 @ =gUnknown_3000E80 - adds r0, r6, r0 - ldrb r0, [r0] - cmp r0, 0x80 - bne _08057C28 - adds r0, r4, 0 - bl sub_8057D14 - mov r1, r9 - strh r0, [r1] -_08057C28: - lsls r0, r6, 24 - lsrs r0, 24 - ldrb r1, [r5] - bl sub_8058618 - adds r7, 0x2 - adds r6, 0x1 - cmp r6, 0x3 - ble _08057BF8 - add sp, 0x14 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08057C48: .4byte gUnknown_3000E80 - thumb_func_end sub_8057BE4 - - thumb_func_start sub_8057C4C -sub_8057C4C: @ 8057C4C - push {r4,lr} - lsls r0, 16 - lsrs r4, r0, 16 - ldr r1, _08057C64 @ =0xffef0000 - adds r0, r1 - lsrs r0, 16 - cmp r0, 0xC - bhi _08057C6C - ldr r0, _08057C68 @ =gHeldKeyCodeToSend - strh r4, [r0] - b _08057C72 - .align 2, 0 -_08057C64: .4byte 0xffef0000 -_08057C68: .4byte gHeldKeyCodeToSend -_08057C6C: - ldr r1, _08057CB0 @ =gHeldKeyCodeToSend - movs r0, 0x11 - strh r0, [r1] -_08057C72: - ldr r0, _08057CB4 @ =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0 - beq _08057CA8 - bl sub_805833C - cmp r0, 0x1 - bls _08057CA8 - bl IsUpdateLinkStateCBActive - cmp r0, 0x1 - bne _08057CA8 - bl IsSendingKeysToLink - cmp r0, 0x1 - bne _08057CA8 - cmp r4, 0x11 - blt _08057CA8 - cmp r4, 0x15 - ble _08057CA2 - cmp r4, 0x19 - bgt _08057CA8 - cmp r4, 0x18 - blt _08057CA8 -_08057CA2: - ldr r1, _08057CB0 @ =gHeldKeyCodeToSend - movs r0, 0 - strh r0, [r1] -_08057CA8: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08057CB0: .4byte gHeldKeyCodeToSend -_08057CB4: .4byte gWirelessCommType - thumb_func_end sub_8057C4C - - thumb_func_start sub_8057CB8 -sub_8057CB8: @ 8057CB8 - push {lr} - ldr r2, _08057CCC @ =gMain - ldrh r1, [r2, 0x2C] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _08057CD0 - movs r0, 0x13 - b _08057D10 - .align 2, 0 -_08057CCC: .4byte gMain -_08057CD0: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08057CDC - movs r0, 0x12 - b _08057D10 -_08057CDC: - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _08057CE8 - movs r0, 0x14 - b _08057D10 -_08057CE8: - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _08057CF4 - movs r0, 0x15 - b _08057D10 -_08057CF4: - ldrh r1, [r2, 0x2E] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _08057D02 - movs r0, 0x18 - b _08057D10 -_08057D02: - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _08057D0E - movs r0, 0x11 - b _08057D10 -_08057D0E: - movs r0, 0x19 -_08057D10: - pop {r1} - bx r1 - thumb_func_end sub_8057CB8 - - thumb_func_start sub_8057D14 -sub_8057D14: @ 8057D14 - push {lr} - lsls r0, 16 - lsrs r0, 16 - adds r1, r0, 0 - cmp r0, 0x13 - beq _08057D3A - cmp r0, 0x13 - bgt _08057D2A - cmp r0, 0x12 - beq _08057D3E - b _08057D42 -_08057D2A: - cmp r1, 0x14 - beq _08057D36 - cmp r1, 0x15 - bne _08057D42 - movs r0, 0x4 - b _08057D44 -_08057D36: - movs r0, 0x3 - b _08057D44 -_08057D3A: - movs r0, 0x1 - b _08057D44 -_08057D3E: - movs r0, 0x2 - b _08057D44 -_08057D42: - movs r0, 0 -_08057D44: - pop {r1} - bx r1 - thumb_func_end sub_8057D14 - - thumb_func_start sub_8057D48 -sub_8057D48: @ 8057D48 - push {lr} - movs r2, 0x11 - adds r1, r0, 0x6 -_08057D4E: - strh r2, [r1] - subs r1, 0x2 - cmp r1, r0 - bge _08057D4E - pop {r0} - bx r0 - thumb_func_end sub_8057D48 - - thumb_func_start sub_8057D5C -sub_8057D5C: @ 8057D5C - push {r4,lr} - adds r4, r0, 0 - bl ScriptContext2_IsEnabled - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08057D70 - movs r0, 0x11 - b _08057D92 -_08057D70: - bl GetLinkRecvQueueLength - cmp r0, 0x4 - bls _08057D7C - movs r0, 0x1B - b _08057D92 -_08057D7C: - bl sub_805833C - cmp r0, 0x4 - bls _08057D88 - movs r0, 0x1C - b _08057D92 -_08057D88: - adds r0, r4, 0 - bl sub_8057CB8 - lsls r0, 16 - lsrs r0, 16 -_08057D92: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8057D5C - - thumb_func_start sub_8057D98 -sub_8057D98: @ 8057D98 - push {lr} - bl sub_8057910 - movs r0, 0x11 - pop {r1} - bx r1 - thumb_func_end sub_8057D98 - - thumb_func_start sub_8057DA4 -sub_8057DA4: @ 8057DA4 - push {r4,lr} - bl ScriptContext2_IsEnabled - lsls r0, 24 - lsrs r0, 24 - movs r4, 0x11 - cmp r0, 0x1 - beq _08057DBC - movs r4, 0x1A - ldr r0, _08057DC4 @ =sub_8057D98 - bl c1_link_related_func_set -_08057DBC: - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08057DC4: .4byte sub_8057D98 - thumb_func_end sub_8057DA4 - - thumb_func_start sub_8057DC8 -sub_8057DC8: @ 8057DC8 - push {r4,lr} - bl GetLinkRecvQueueLength - movs r4, 0x11 - cmp r0, 0x2 - bhi _08057DE0 - movs r4, 0x1A - bl ScriptContext2_Disable - ldr r0, _08057DE8 @ =sub_8057D98 - bl c1_link_related_func_set -_08057DE0: - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08057DE8: .4byte sub_8057D98 - thumb_func_end sub_8057DC8 - - thumb_func_start sub_8057DEC -sub_8057DEC: @ 8057DEC - push {r4,lr} - bl sub_805833C - movs r4, 0x11 - cmp r0, 0x2 - bhi _08057E04 - movs r4, 0x1A - bl ScriptContext2_Disable - ldr r0, _08057E0C @ =sub_8057D98 - bl c1_link_related_func_set -_08057E04: - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08057E0C: .4byte sub_8057D98 - thumb_func_end sub_8057DEC - - thumb_func_start sub_8057E10 -sub_8057E10: @ 8057E10 - push {lr} - bl sub_8057910 - movs r0, 0x11 - pop {r1} - bx r1 - thumb_func_end sub_8057E10 - - thumb_func_start sub_8057E1C -sub_8057E1C: @ 8057E1C - push {lr} - ldr r1, _08057E40 @ =gUnknown_3000E80 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x82 - bne _08057E4C - ldr r0, _08057E44 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08057E50 - ldr r0, _08057E48 @ =sub_8057E10 - bl c1_link_related_func_set - movs r0, 0x1D - b _08057E52 - .align 2, 0 -_08057E40: .4byte gUnknown_3000E80 -_08057E44: .4byte gMain -_08057E48: .4byte sub_8057E10 -_08057E4C: - bl sub_8057910 -_08057E50: - movs r0, 0x11 -_08057E52: - pop {r1} - bx r1 - thumb_func_end sub_8057E1C - - thumb_func_start sub_8057E58 -sub_8057E58: @ 8057E58 - push {lr} - ldr r0, _08057E68 @ =sub_8057E1C - bl c1_link_related_func_set - movs r0, 0x16 - pop {r1} - bx r1 - .align 2, 0 -_08057E68: .4byte sub_8057E1C - thumb_func_end sub_8057E58 - - thumb_func_start sub_8057E6C -sub_8057E6C: @ 8057E6C - movs r0, 0x11 - bx lr - thumb_func_end sub_8057E6C - - thumb_func_start sub_8057E70 -sub_8057E70: @ 8057E70 - push {lr} - ldr r1, _08057E9C @ =gUnknown_3000E80 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x83 - beq _08057E80 - bl sub_8057910 -_08057E80: - movs r0, 0x83 - bl sub_8057954 - cmp r0, 0x1 - bne _08057E96 - ldr r0, _08057EA0 @ =CableClub_EventScript_DoLinkRoomExit - bl ScriptContext1_SetupScript - ldr r0, _08057EA4 @ =sub_8057E6C - bl c1_link_related_func_set -_08057E96: - movs r0, 0x11 - pop {r1} - bx r1 - .align 2, 0 -_08057E9C: .4byte gUnknown_3000E80 -_08057EA0: .4byte CableClub_EventScript_DoLinkRoomExit -_08057EA4: .4byte sub_8057E6C - thumb_func_end sub_8057E70 - - thumb_func_start sub_8057EA8 -sub_8057EA8: @ 8057EA8 - push {lr} - ldr r0, _08057EB8 @ =sub_8057E70 - bl c1_link_related_func_set - movs r0, 0x17 - pop {r1} - bx r1 - .align 2, 0 -_08057EB8: .4byte sub_8057E70 - thumb_func_end sub_8057EA8 - - thumb_func_start sub_8057EBC -sub_8057EBC: @ 8057EBC - movs r0, 0x11 - bx lr - thumb_func_end sub_8057EBC - - thumb_func_start sub_8057EC0 -sub_8057EC0: @ 8057EC0 - push {lr} - movs r0, 0x83 - bl sub_805798C - cmp r0, 0x1 - beq _08057EFC - ldr r0, _08057F00 @ =gUnknown_3000E84 - ldr r2, [r0] - ldr r1, _08057F04 @ =sub_8057E1C - adds r3, r0, 0 - cmp r2, r1 - bne _08057EE6 - ldr r1, _08057F08 @ =gUnknown_3000E80 - ldr r0, _08057F0C @ =gLocalLinkPlayerId - ldrb r0, [r0] - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x82 - bne _08057F1E -_08057EE6: - ldr r1, [r3] - ldr r0, _08057F10 @ =sub_8057E10 - cmp r1, r0 - bne _08057F14 - ldr r1, _08057F08 @ =gUnknown_3000E80 - ldr r0, _08057F0C @ =gLocalLinkPlayerId - ldrb r0, [r0] - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x81 - bne _08057F14 -_08057EFC: - movs r0, 0x2 - b _08057F24 - .align 2, 0 -_08057F00: .4byte gUnknown_3000E84 -_08057F04: .4byte sub_8057E1C -_08057F08: .4byte gUnknown_3000E80 -_08057F0C: .4byte gLocalLinkPlayerId -_08057F10: .4byte sub_8057E10 -_08057F14: - movs r0, 0x82 - bl sub_8057954 - cmp r0, 0 - bne _08057F22 -_08057F1E: - movs r0, 0 - b _08057F24 -_08057F22: - movs r0, 0x1 -_08057F24: - pop {r1} - bx r1 - thumb_func_end sub_8057EC0 - - thumb_func_start sub_8057F28 -sub_8057F28: @ 8057F28 - push {lr} - movs r0, 0x83 - bl sub_805798C - pop {r1} - bx r1 - thumb_func_end sub_8057F28 - - thumb_func_start sub_8057F34 -sub_8057F34: @ 8057F34 - push {lr} - ldr r0, _08057F44 @ =sub_8057E58 - bl c1_link_related_func_set - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_08057F44: .4byte sub_8057E58 - thumb_func_end sub_8057F34 - - thumb_func_start sub_8057F48 -sub_8057F48: @ 8057F48 - push {lr} - ldr r0, _08057F58 @ =sub_8057DA4 - bl c1_link_related_func_set - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_08057F58: .4byte sub_8057DA4 - thumb_func_end sub_8057F48 - - thumb_func_start sub_8057F5C -sub_8057F5C: @ 8057F5C - push {lr} - ldr r0, _08057F6C @ =sub_8057EA8 - bl c1_link_related_func_set - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_08057F6C: .4byte sub_8057EA8 - thumb_func_end sub_8057F5C - - thumb_func_start sub_8057F70 -sub_8057F70: @ 8057F70 - push {lr} - ldr r0, _08057F80 @ =sub_8057EBC - bl c1_link_related_func_set - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_08057F80: .4byte sub_8057EBC - thumb_func_end sub_8057F70 - - thumb_func_start sub_8057F84 -sub_8057F84: @ 8057F84 - push {r4-r6,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r6, r2, 0 - strb r4, [r6] - movs r0, 0 - cmp r4, r1 - bne _08057F96 - movs r0, 0x1 -_08057F96: - strb r0, [r6, 0x1] - ldr r1, _08057FE8 @ =gLinkPlayerObjectEvents - lsls r0, r4, 2 - adds r0, r1 - ldrb r0, [r0, 0x3] - strb r0, [r6, 0x2] - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - bl sub_805854C - strb r0, [r6, 0x3] - mov r5, sp - adds r5, 0x2 - adds r0, r4, 0 - mov r1, sp - adds r2, r5, 0 - bl sub_8058524 - mov r0, sp - ldrh r0, [r0] - strh r0, [r6, 0x4] - ldrh r0, [r5] - strh r0, [r6, 0x6] - adds r0, r4, 0 - bl sub_805856C - strb r0, [r6, 0x8] - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r5, r2] - bl MapGridGetMetatileBehaviorAt - strh r0, [r6, 0xC] - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08057FE8: .4byte gLinkPlayerObjectEvents - thumb_func_end sub_8057F84 - - thumb_func_start sub_8057FEC -sub_8057FEC: @ 8057FEC - push {lr} - ldrb r0, [r0, 0x2] - cmp r0, 0x2 - beq _08057FF8 - cmp r0, 0 - bne _08057FFC -_08057FF8: - movs r0, 0x1 - b _08057FFE -_08057FFC: - movs r0, 0 -_08057FFE: - pop {r1} - bx r1 - thumb_func_end sub_8057FEC - - thumb_func_start sub_8058004 -sub_8058004: @ 8058004 - push {lr} - ldrb r0, [r0, 0x2] - cmp r0, 0x2 - beq _08058010 - cmp r0, 0 - bne _08058014 -_08058010: - movs r0, 0x1 - b _08058016 -_08058014: - movs r0, 0 -_08058016: - pop {r1} - bx r1 - thumb_func_end sub_8058004 - - thumb_func_start sub_805801C -sub_805801C: @ 805801C - push {lr} - adds r1, r0, 0 - ldrb r0, [r1, 0x2] - cmp r0, 0x2 - bne _0805802E - adds r0, r1, 0x4 - bl GetCoordEventScriptAtMapPosition - b _08058030 -_0805802E: - movs r0, 0 -_08058030: - pop {r1} - bx r1 - thumb_func_end sub_805801C - - thumb_func_start sub_8058034 -sub_8058034: @ 8058034 - push {r4,lr} - adds r4, r0, 0 - ldrb r0, [r4, 0x2] - cmp r0, 0x2 - beq _08058042 - cmp r0, 0 - bne _08058058 -_08058042: - ldrb r0, [r4, 0xC] - bl MetatileBehavior_IsSouthArrowWarp - lsls r0, 24 - cmp r0, 0 - beq _08058058 - ldrb r0, [r4, 0x3] - cmp r0, 0x1 - bne _08058058 - movs r0, 0x1 - b _0805805A -_08058058: - movs r0, 0 -_0805805A: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8058034 - - thumb_func_start sub_8058060 -sub_8058060: @ 8058060 - push {r4,lr} - sub sp, 0x8 - adds r4, r0, 0 - ldrb r0, [r4, 0x2] - cmp r0, 0 - beq _08058074 - cmp r0, 0x2 - beq _08058074 - movs r0, 0 - b _08058122 -_08058074: - ldr r0, [r4, 0x4] - ldr r1, [r4, 0x8] - str r0, [sp] - str r1, [sp, 0x4] - ldr r3, _080580E4 @ =gDirectionToVectors - ldrb r0, [r4, 0x3] - lsls r0, 3 - adds r0, r3 - ldr r0, [r0] - mov r1, sp - ldrh r1, [r1] - adds r0, r1 - lsls r0, 16 - lsrs r0, 16 - ldr r1, _080580E8 @ =0xffff0000 - ldr r2, [sp] - ands r2, r1 - orrs r2, r0 - str r2, [sp] - asrs r1, r2, 16 - ldrb r0, [r4, 0x3] - lsls r0, 3 - adds r3, 0x4 - adds r0, r3 - ldr r0, [r0] - adds r0, r1 - lsls r0, 16 - ldr r1, _080580EC @ =0x0000ffff - ands r1, r2 - orrs r1, r0 - str r1, [sp] - ldr r2, _080580F0 @ =0xffffff00 - ldr r0, [sp, 0x4] - ands r0, r2 - str r0, [sp, 0x4] - mov r0, sp - movs r2, 0 - ldrsh r0, [r0, r2] - asrs r1, 16 - bl GetLinkPlayerIdAt - lsls r0, 24 - lsrs r1, r0, 24 - adds r2, r1, 0 - cmp r1, 0x4 - beq _08058118 - ldrb r0, [r4, 0x1] - cmp r0, 0 - beq _080580E0 - ldr r0, _080580F4 @ =gUnknown_3000E80 - adds r0, r1, r0 - ldrb r0, [r0] - cmp r0, 0x80 - beq _080580FC -_080580E0: - ldr r0, _080580F8 @ =CableClub_EventScript_TooBusyToNotice - b _08058122 - .align 2, 0 -_080580E4: .4byte gDirectionToVectors -_080580E8: .4byte 0xffff0000 -_080580EC: .4byte 0x0000ffff -_080580F0: .4byte 0xffffff00 -_080580F4: .4byte gUnknown_3000E80 -_080580F8: .4byte CableClub_EventScript_TooBusyToNotice -_080580FC: - adds r0, r2, 0 - bl GetSeeingLinkPlayerCardMsg - cmp r0, 0 - bne _08058110 - ldr r0, _0805810C @ =CableClub_EventScript_ReadTrainerCard - b _08058122 - .align 2, 0 -_0805810C: .4byte CableClub_EventScript_ReadTrainerCard -_08058110: - ldr r0, _08058114 @ =CableClub_EventScript_ReadTrainerCardColored - b _08058122 - .align 2, 0 -_08058114: .4byte CableClub_EventScript_ReadTrainerCardColored -_08058118: - ldrb r1, [r4, 0xC] - ldrb r2, [r4, 0x3] - mov r0, sp - bl GetInteractedLinkPlayerScript -_08058122: - add sp, 0x8 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8058060 - - thumb_func_start sub_805812C -sub_805812C: @ 805812C - push {lr} - adds r1, r0, 0 - ldr r0, _08058178 @ =BattleColosseum_4P_EventScript_PlayerSpot0 - cmp r1, r0 - beq _08058172 - ldr r0, _0805817C @ =BattleColosseum_4P_EventScript_PlayerSpot1 - cmp r1, r0 - beq _080581B4 - ldr r0, _08058180 @ =BattleColosseum_4P_EventScript_PlayerSpot2 - cmp r1, r0 - beq _08058172 - ldr r0, _08058184 @ =BattleColosseum_4P_EventScript_PlayerSpot3 - cmp r1, r0 - beq _080581B4 - ldr r0, _08058188 @ =RecordCenter_EventScript_Spot - cmp r1, r0 - beq _08058172 - ldr r0, _0805818C @ =RecordCenter_EventScript_Spot - cmp r1, r0 - beq _080581B4 - ldr r0, _08058190 @ =RecordCenter_EventScript_Spot - cmp r1, r0 - beq _08058172 - ldr r0, _08058194 @ =RecordCenter_EventScript_Spot - cmp r1, r0 - beq _080581B4 - ldr r0, _08058198 @ =BattleColosseum_2P_EventScript_PlayerSpot0 - cmp r1, r0 - beq _08058172 - ldr r0, _0805819C @ =BattleColosseum_2P_EventScript_PlayerSpot1 - cmp r1, r0 - beq _080581B4 - ldr r0, _080581A0 @ =TradeCenter_EventScript_Chair0 - cmp r1, r0 - bne _080581A4 -_08058172: - movs r0, 0xA - b _080581B6 - .align 2, 0 -_08058178: .4byte BattleColosseum_4P_EventScript_PlayerSpot0 -_0805817C: .4byte BattleColosseum_4P_EventScript_PlayerSpot1 -_08058180: .4byte BattleColosseum_4P_EventScript_PlayerSpot2 -_08058184: .4byte BattleColosseum_4P_EventScript_PlayerSpot3 -_08058188: .4byte RecordCenter_EventScript_Spot -_0805818C: .4byte RecordCenter_EventScript_Spot -_08058190: .4byte RecordCenter_EventScript_Spot -_08058194: .4byte RecordCenter_EventScript_Spot -_08058198: .4byte BattleColosseum_2P_EventScript_PlayerSpot0 -_0805819C: .4byte BattleColosseum_2P_EventScript_PlayerSpot1 -_080581A0: .4byte TradeCenter_EventScript_Chair0 -_080581A4: - ldr r0, _080581B0 @ =TradeCenter_EventScript_Chair1 - cmp r1, r0 - beq _080581B4 - movs r0, 0 - b _080581B6 - .align 2, 0 -_080581B0: .4byte TradeCenter_EventScript_Chair1 -_080581B4: - movs r0, 0x9 -_080581B6: - pop {r1} - bx r1 - thumb_func_end sub_805812C - - thumb_func_start sub_80581BC -sub_80581BC: @ 80581BC - push {lr} - bl ScriptContext2_Enable - pop {r0} - bx r0 - thumb_func_end sub_80581BC - - thumb_func_start sub_80581C8 -sub_80581C8: @ 80581C8 - push {lr} - movs r0, 0x6 - bl PlaySE - bl ShowStartMenu - bl ScriptContext2_Enable - pop {r0} - bx r0 - thumb_func_end sub_80581C8 - - thumb_func_start sub_80581DC -sub_80581DC: @ 80581DC - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x5 - bl PlaySE - adds r0, r4, 0 - bl ScriptContext1_SetupScript - bl ScriptContext2_Enable - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80581DC - - thumb_func_start sub_80581F8 -sub_80581F8: @ 80581F8 - push {lr} - movs r0, 0x6 - bl PlaySE - ldr r0, _08058210 @ =TradeCenter_ConfirmLeaveRoom - bl ScriptContext1_SetupScript - bl ScriptContext2_Enable - pop {r0} - bx r0 - .align 2, 0 -_08058210: .4byte TradeCenter_ConfirmLeaveRoom - thumb_func_end sub_80581F8 - - thumb_func_start sub_8058214 -sub_8058214: @ 8058214 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x5 - bl PlaySE - adds r0, r4, 0 - bl ScriptContext1_SetupScript - bl ScriptContext2_Enable - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8058214 - - thumb_func_start sub_8058230 -sub_8058230: @ 8058230 - push {lr} - ldr r0, _08058240 @ =TradeCenter_TerminateLink - bl ScriptContext1_SetupScript - bl ScriptContext2_Enable - pop {r0} - bx r0 - .align 2, 0 -_08058240: .4byte TradeCenter_TerminateLink - thumb_func_end sub_8058230 - - thumb_func_start sub_8058244 -sub_8058244: @ 8058244 - push {lr} - bl IsUpdateLinkStateCBActive - cmp r0, 0 - bne _08058252 - movs r0, 0 - b _0805826C -_08058252: - bl GetLinkRecvQueueLength - cmp r0, 0x2 - bls _08058264 - ldr r1, _08058260 @ =gUnknown_3000E88 - movs r0, 0x1 - b _08058268 - .align 2, 0 -_08058260: .4byte gUnknown_3000E88 -_08058264: - ldr r1, _08058270 @ =gUnknown_3000E88 - movs r0, 0 -_08058268: - strb r0, [r1] - ldrb r0, [r1] -_0805826C: - pop {r1} - bx r1 - .align 2, 0 -_08058270: .4byte gUnknown_3000E88 - thumb_func_end sub_8058244 - - thumb_func_start sub_8058274 -sub_8058274: @ 8058274 - push {lr} - bl GetLinkRecvQueueLength - cmp r0, 0x1 - bls _080582D8 - bl IsUpdateLinkStateCBActive - cmp r0, 0x1 - bne _080582D8 - bl IsSendingKeysToLink - cmp r0, 0x1 - bne _080582D8 - ldr r0, _080582C4 @ =gUnknown_3000E84 - ldr r1, [r0] - ldr r0, _080582C8 @ =sub_8057DC8 - cmp r1, r0 - beq _080582C0 - ldr r0, _080582CC @ =sub_8057DA4 - cmp r1, r0 - bne _080582D8 - ldr r0, _080582D0 @ =gUnknown_3000E88 - ldrb r2, [r0] - movs r1, 0 - strb r1, [r0] - cmp r2, 0x1 - beq _080582C0 - ldr r2, _080582D4 @ =gPaletteFade - ldrb r1, [r2, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080582D8 - ldrb r1, [r2, 0xA] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080582D8 -_080582C0: - movs r0, 0x1 - b _080582DA - .align 2, 0 -_080582C4: .4byte gUnknown_3000E84 -_080582C8: .4byte sub_8057DC8 -_080582CC: .4byte sub_8057DA4 -_080582D0: .4byte gUnknown_3000E88 -_080582D4: .4byte gPaletteFade -_080582D8: - movs r0, 0 -_080582DA: - pop {r1} - bx r1 - thumb_func_end sub_8058274 - - thumb_func_start sub_80582E0 -sub_80582E0: @ 80582E0 - push {lr} - bl sub_805833C - cmp r0, 0x1 - bls _08058304 - bl IsUpdateLinkStateCBActive - cmp r0, 0x1 - bne _08058304 - bl IsSendingKeysToLink - cmp r0, 0x1 - bne _08058304 - ldr r0, _08058308 @ =gUnknown_3000E84 - ldr r1, [r0] - ldr r0, _0805830C @ =sub_8057DEC - cmp r1, r0 - beq _08058310 -_08058304: - movs r0, 0 - b _08058312 - .align 2, 0 -_08058308: .4byte gUnknown_3000E84 -_0805830C: .4byte sub_8057DEC -_08058310: - movs r0, 0x1 -_08058312: - pop {r1} - bx r1 - thumb_func_end sub_80582E0 - - thumb_func_start sub_8058318 -sub_8058318: @ 8058318 - push {lr} - ldr r0, _08058330 @ =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0 - bne _08058334 - bl IsSendingKeysToLink - cmp r0, 0 - beq _08058334 - movs r0, 0x1 - b _08058336 - .align 2, 0 -_08058330: .4byte gWirelessCommType -_08058334: - movs r0, 0 -_08058336: - pop {r1} - bx r1 - thumb_func_end sub_8058318 - - thumb_func_start sub_805833C -sub_805833C: @ 805833C - push {lr} - ldr r0, _08058350 @ =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0 - bne _0805835C - ldr r0, _08058354 @ =gLink - ldr r1, _08058358 @ =0x00000339 - adds r0, r1 - ldrb r0, [r0] - b _08058364 - .align 2, 0 -_08058350: .4byte gWirelessCommType -_08058354: .4byte gLink -_08058358: .4byte 0x00000339 -_0805835C: - ldr r0, _08058368 @ =Rfu - ldr r1, _0805836C @ =0x000008d2 - adds r0, r1 - ldrb r0, [r0] -_08058364: - pop {r1} - bx r1 - .align 2, 0 -_08058368: .4byte Rfu -_0805836C: .4byte 0x000008d2 - thumb_func_end sub_805833C - - thumb_func_start ZeroLinkPlayerObjectEvent -ZeroLinkPlayerObjectEvent: @ 8058370 - movs r1, 0 - str r1, [r0] - bx lr - thumb_func_end ZeroLinkPlayerObjectEvent - - thumb_func_start ClearLinkPlayerObjectEvents -ClearLinkPlayerObjectEvents: @ 8058378 - push {lr} - ldr r0, _08058388 @ =gLinkPlayerObjectEvents - movs r1, 0 - movs r2, 0x10 - bl memset - pop {r0} - bx r0 - .align 2, 0 -_08058388: .4byte gLinkPlayerObjectEvents - thumb_func_end ClearLinkPlayerObjectEvents - - thumb_func_start ZeroObjectEvent -ZeroObjectEvent: @ 805838C - push {lr} - movs r1, 0 - movs r2, 0x24 - bl memset - pop {r0} - bx r0 - thumb_func_end ZeroObjectEvent - - thumb_func_start SpawnLinkPlayerObjectEvent -SpawnLinkPlayerObjectEvent: @ 805839C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - mov r9, r1 - mov r10, r2 - mov r8, r3 - lsls r0, 24 - lsrs r7, r0, 24 - mov r0, r9 - lsls r0, 16 - lsrs r0, 16 - mov r9, r0 - mov r1, r10 - lsls r1, 16 - lsrs r1, 16 - mov r10, r1 - mov r2, r8 - lsls r2, 24 - lsrs r2, 24 - mov r8, r2 - bl GetFirstInactiveObjectEventId - adds r6, r0, 0 - lsls r6, 24 - lsrs r6, 24 - lsls r4, r7, 2 - ldr r0, _08058440 @ =gLinkPlayerObjectEvents - adds r4, r0 - lsls r5, r6, 3 - adds r5, r6 - lsls r5, 2 - ldr r0, _08058444 @ =gObjectEvents - adds r5, r0 - adds r0, r4, 0 - bl ZeroLinkPlayerObjectEvent - adds r0, r5, 0 - bl ZeroObjectEvent - movs r2, 0 - movs r1, 0x1 - movs r0, 0x1 - strb r0, [r4] - strb r7, [r4, 0x1] - strb r6, [r4, 0x2] - strb r2, [r4, 0x3] - ldrb r0, [r5] - orrs r0, r1 - mov r2, r8 - ands r2, r1 - lsls r2, 1 - movs r1, 0x3 - negs r1, r1 - ands r0, r1 - orrs r0, r2 - strb r0, [r5] - movs r0, 0x2 - strb r0, [r5, 0x19] - movs r0, 0x40 - strb r0, [r5, 0x4] - mov r0, r9 - lsls r0, 16 - asrs r0, 16 - mov r9, r0 - mov r1, r10 - lsls r1, 16 - asrs r1, 16 - mov r10, r1 - adds r0, r5, 0 - mov r1, r9 - mov r2, r10 - bl InitLinkPlayerObjectEventPos - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08058440: .4byte gLinkPlayerObjectEvents -_08058444: .4byte gObjectEvents - thumb_func_end SpawnLinkPlayerObjectEvent - - thumb_func_start InitLinkPlayerObjectEventPos -InitLinkPlayerObjectEventPos: @ 8058448 - push {r4,lr} - adds r4, r0, 0 - adds r0, r1, 0 - adds r1, r2, 0 - lsls r0, 16 - lsrs r0, 16 - lsls r1, 16 - lsrs r1, 16 - strh r0, [r4, 0x10] - strh r1, [r4, 0x12] - strh r0, [r4, 0x14] - strh r1, [r4, 0x16] - lsls r0, 16 - asrs r0, 16 - lsls r1, 16 - asrs r1, 16 - adds r2, r4, 0 - adds r2, 0xC - adds r3, r4, 0 - adds r3, 0xE - bl SetSpritePosToMapCoords - ldrh r0, [r4, 0xC] - adds r0, 0x8 - strh r0, [r4, 0xC] - adds r0, r4, 0 - bl ObjectEventUpdateZCoord - pop {r4} - pop {r0} - bx r0 - thumb_func_end InitLinkPlayerObjectEventPos - - thumb_func_start sub_8058488 -sub_8058488: @ 8058488 - push {lr} - lsls r0, 24 - lsls r1, 24 - lsrs r2, r1, 24 - ldr r1, _080584B0 @ =gLinkPlayerObjectEvents - lsrs r0, 22 - adds r1, r0, r1 - ldrb r0, [r1] - cmp r0, 0 - beq _080584AA - ldrb r0, [r1, 0x2] - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - ldr r0, _080584B4 @ =gObjectEvents - adds r1, r0 - strb r2, [r1, 0x19] -_080584AA: - pop {r0} - bx r0 - .align 2, 0 -_080584B0: .4byte gLinkPlayerObjectEvents -_080584B4: .4byte gObjectEvents - thumb_func_end sub_8058488 - - thumb_func_start sub_80584B8 -sub_80584B8: @ 80584B8 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 22 - ldr r1, _080584F8 @ =gLinkPlayerObjectEvents - adds r5, r0, r1 - ldrb r1, [r5, 0x2] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _080584FC @ =gObjectEvents - adds r4, r0, r1 - ldrb r0, [r4, 0x4] - cmp r0, 0x40 - beq _080584E4 - adds r1, r0, 0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _08058500 @ =gSprites - adds r0, r1 - bl DestroySprite -_080584E4: - movs r0, 0 - strb r0, [r5] - ldrb r1, [r4] - subs r0, 0x2 - ands r0, r1 - strb r0, [r4] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080584F8: .4byte gLinkPlayerObjectEvents -_080584FC: .4byte gObjectEvents -_08058500: .4byte gSprites - thumb_func_end sub_80584B8 - - thumb_func_start sub_8058504 -sub_8058504: @ 8058504 - lsls r0, 24 - ldr r1, _0805851C @ =gLinkPlayerObjectEvents - lsrs r0, 22 - adds r0, r1 - ldrb r1, [r0, 0x2] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _08058520 @ =gObjectEvents - adds r0, r1 - ldrb r0, [r0, 0x4] - bx lr - .align 2, 0 -_0805851C: .4byte gLinkPlayerObjectEvents -_08058520: .4byte gObjectEvents - thumb_func_end sub_8058504 - - thumb_func_start sub_8058524 -sub_8058524: @ 8058524 - lsls r0, 24 - ldr r3, _08058544 @ =gLinkPlayerObjectEvents - lsrs r0, 22 - adds r0, r3 - ldrb r3, [r0, 0x2] - lsls r0, r3, 3 - adds r0, r3 - lsls r0, 2 - ldr r3, _08058548 @ =gObjectEvents - adds r0, r3 - ldrh r3, [r0, 0x10] - strh r3, [r1] - ldrh r0, [r0, 0x12] - strh r0, [r2] - bx lr - .align 2, 0 -_08058544: .4byte gLinkPlayerObjectEvents -_08058548: .4byte gObjectEvents - thumb_func_end sub_8058524 - - thumb_func_start sub_805854C -sub_805854C: @ 805854C - lsls r0, 24 - ldr r1, _08058564 @ =gLinkPlayerObjectEvents - lsrs r0, 22 - adds r0, r1 - ldrb r1, [r0, 0x2] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _08058568 @ =gObjectEvents - adds r0, r1 - ldrb r0, [r0, 0x19] - bx lr - .align 2, 0 -_08058564: .4byte gLinkPlayerObjectEvents -_08058568: .4byte gObjectEvents - thumb_func_end sub_805854C - - thumb_func_start sub_805856C -sub_805856C: @ 805856C - lsls r0, 24 - ldr r1, _08058588 @ =gLinkPlayerObjectEvents - lsrs r0, 22 - adds r0, r1 - ldrb r1, [r0, 0x2] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _0805858C @ =gObjectEvents - adds r0, r1 - ldrb r0, [r0, 0xB] - lsls r0, 28 - lsrs r0, 28 - bx lr - .align 2, 0 -_08058588: .4byte gLinkPlayerObjectEvents -_0805858C: .4byte gObjectEvents - thumb_func_end sub_805856C - - thumb_func_start sub_8058590 -sub_8058590: @ 8058590 - lsls r0, 24 - ldr r1, _080585B0 @ =gLinkPlayerObjectEvents - lsrs r0, 22 - adds r0, r1 - ldrb r1, [r0, 0x2] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _080585B4 @ =gObjectEvents - adds r0, r1 - adds r0, 0x21 - movs r1, 0 - ldrsb r1, [r0, r1] - movs r0, 0x10 - subs r0, r1 - bx lr - .align 2, 0 -_080585B0: .4byte gLinkPlayerObjectEvents -_080585B4: .4byte gObjectEvents - thumb_func_end sub_8058590 - - thumb_func_start GetLinkPlayerIdAt -GetLinkPlayerIdAt: @ 80585B8 - push {r4-r6,lr} - movs r2, 0 - ldr r5, _080585FC @ =gLinkPlayerObjectEvents - lsls r0, 16 - asrs r4, r0, 16 - lsls r1, 16 - asrs r3, r1, 16 -_080585C6: - lsls r0, r2, 2 - adds r1, r0, r5 - ldrb r0, [r1] - cmp r0, 0 - beq _08058604 - ldrb r0, [r1, 0x3] - cmp r0, 0 - beq _080585DA - cmp r0, 0x2 - bne _08058604 -_080585DA: - ldrb r1, [r1, 0x2] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _08058600 @ =gObjectEvents - adds r1, r0, r1 - movs r6, 0x10 - ldrsh r0, [r1, r6] - cmp r0, r4 - bne _08058604 - movs r6, 0x12 - ldrsh r0, [r1, r6] - cmp r0, r3 - bne _08058604 - adds r0, r2, 0 - b _08058610 - .align 2, 0 -_080585FC: .4byte gLinkPlayerObjectEvents -_08058600: .4byte gObjectEvents -_08058604: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x3 - bls _080585C6 - movs r0, 0x4 -_08058610: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end GetLinkPlayerIdAt - - thumb_func_start sub_8058618 -sub_8058618: @ 8058618 - push {r4-r6,lr} - lsls r0, 24 - lsls r1, 24 - lsrs r3, r1, 24 - adds r2, r3, 0 - lsrs r0, 22 - ldr r1, _08058648 @ =gLinkPlayerObjectEvents - adds r5, r0, r1 - ldrb r1, [r5, 0x2] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _0805864C @ =gObjectEvents - adds r6, r0, r1 - ldrb r0, [r5] - cmp r0, 0 - beq _08058674 - cmp r3, 0xA - bls _08058650 - ldrb r0, [r6] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r6] - b _08058674 - .align 2, 0 -_08058648: .4byte gLinkPlayerObjectEvents -_0805864C: .4byte gObjectEvents -_08058650: - ldr r4, _0805867C @ =gUnknown_826D374 - ldr r1, _08058680 @ =gUnknown_826D33C - ldrb r0, [r5, 0x3] - lsls r0, 2 - adds r0, r1 - ldr r3, [r0] - adds r0, r5, 0 - adds r1, r6, 0 - bl _call_via_r3 - lsls r0, 24 - lsrs r0, 22 - adds r0, r4 - ldr r2, [r0] - adds r0, r5, 0 - adds r1, r6, 0 - bl _call_via_r2 -_08058674: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0805867C: .4byte gUnknown_826D374 -_08058680: .4byte gUnknown_826D33C - thumb_func_end sub_8058618 - - thumb_func_start sub_8058684 -sub_8058684: @ 8058684 - push {r4,lr} - lsls r2, 24 - lsrs r2, 24 - ldr r4, _080586A0 @ =gUnknown_826D348 - lsls r3, r2, 2 - adds r3, r4 - ldr r3, [r3] - bl _call_via_r3 - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080586A0: .4byte gUnknown_826D348 - thumb_func_end sub_8058684 - - thumb_func_start sub_80586A4 -sub_80586A4: @ 80586A4 - movs r0, 0x1 - bx lr - thumb_func_end sub_80586A4 - - thumb_func_start sub_80586A8 -sub_80586A8: @ 80586A8 - push {r4,lr} - lsls r2, 24 - lsrs r2, 24 - ldr r4, _080586C4 @ =gUnknown_826D348 - lsls r3, r2, 2 - adds r3, r4 - ldr r3, [r3] - bl _call_via_r3 - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080586C4: .4byte gUnknown_826D348 - thumb_func_end sub_80586A8 - - thumb_func_start sub_80586C8 -sub_80586C8: @ 80586C8 - movs r0, 0 - bx lr - thumb_func_end sub_80586C8 - - thumb_func_start sub_80586CC -sub_80586CC: @ 80586CC - push {r4-r6,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - lsls r0, r2, 24 - lsrs r0, 24 - ldrb r1, [r5, 0x19] - bl npc_something3 - strb r0, [r5, 0x19] - ldrb r1, [r5, 0x19] - mov r6, sp - adds r6, 0x2 - adds r0, r5, 0 - mov r2, sp - adds r3, r6, 0 - bl ObjectEventMoveDestCoords - ldrb r0, [r4, 0x2] - ldrb r1, [r5, 0x19] - mov r2, sp - movs r3, 0 - ldrsh r2, [r2, r3] - movs r4, 0 - ldrsh r3, [r6, r4] - bl npc_080587EC - lsls r0, 24 - cmp r0, 0 - bne _0805872A - adds r1, r5, 0 - adds r1, 0x21 - movs r0, 0x10 - strb r0, [r1] - mov r0, sp - movs r2, 0 - ldrsh r1, [r0, r2] - movs r3, 0 - ldrsh r2, [r6, r3] - adds r0, r5, 0 - bl ShiftObjectEventCoords - adds r0, r5, 0 - bl ObjectEventUpdateZCoord - movs r0, 0x1 - b _0805872C -_0805872A: - movs r0, 0 -_0805872C: - add sp, 0x4 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80586CC - - thumb_func_start sub_8058734 -sub_8058734: @ 8058734 - push {r4,lr} - adds r4, r1, 0 - lsls r0, r2, 24 - lsrs r0, 24 - ldrb r1, [r4, 0x19] - bl npc_something3 - strb r0, [r4, 0x19] - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8058734 - - thumb_func_start sub_805874C -sub_805874C: @ 805874C - movs r1, 0 - strb r1, [r0, 0x3] - bx lr - thumb_func_end sub_805874C - - thumb_func_start sub_8058754 -sub_8058754: @ 8058754 - push {r4-r6,lr} - adds r6, r0, 0 - adds r4, r1, 0 - adds r5, r4, 0 - adds r5, 0x21 - ldrb r0, [r5] - subs r0, 0x1 - strb r0, [r5] - movs r0, 0x1 - strb r0, [r6, 0x3] - ldrb r0, [r4, 0x19] - adds r1, 0xC - adds r2, r4, 0 - adds r2, 0xE - bl MoveCoords - ldrb r0, [r5] - cmp r0, 0 - bne _08058784 - adds r0, r4, 0 - bl ShiftStillObjectEventCoords - movs r0, 0x2 - strb r0, [r6, 0x3] -_08058784: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8058754 - - thumb_func_start npc_something3 -npc_something3: @ 805878C - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r2, r1, 24 - subs r0, 0x1 - cmp r0, 0x9 - bhi _080587E4 - lsls r0, 2 - ldr r1, _080587A8 @ =_080587AC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080587A8: .4byte _080587AC - .align 2, 0 -_080587AC: - .4byte _080587D4 - .4byte _080587D8 - .4byte _080587DC - .4byte _080587E0 - .4byte _080587E4 - .4byte _080587E4 - .4byte _080587D4 - .4byte _080587D8 - .4byte _080587DC - .4byte _080587E0 -_080587D4: - movs r0, 0x2 - b _080587E6 -_080587D8: - movs r0, 0x1 - b _080587E6 -_080587DC: - movs r0, 0x3 - b _080587E6 -_080587E0: - movs r0, 0x4 - b _080587E6 -_080587E4: - adds r0, r2, 0 -_080587E6: - pop {r1} - bx r1 - thumb_func_end npc_something3 - - thumb_func_start npc_080587EC -npc_080587EC: @ 80587EC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r2, 16 - lsrs r2, 16 - mov r12, r2 - lsls r3, 16 - movs r4, 0 - ldr r0, _08058850 @ =gObjectEvents - mov r9, r0 - lsrs r2, r3, 16 - mov r10, r2 - asrs r6, r3, 16 -_08058810: - mov r7, r12 - lsls r3, r7, 16 - mov r0, r10 - lsls r5, r0, 16 - cmp r4, r8 - beq _08058854 - lsls r0, r4, 3 - adds r0, r4 - lsls r0, 2 - mov r2, r9 - adds r1, r0, r2 - movs r7, 0x10 - ldrsh r0, [r1, r7] - asrs r2, r3, 16 - cmp r0, r2 - bne _08058838 - movs r7, 0x12 - ldrsh r0, [r1, r7] - cmp r0, r6 - beq _0805884A -_08058838: - movs r7, 0x14 - ldrsh r0, [r1, r7] - cmp r0, r2 - bne _08058854 - movs r0, 0x16 - ldrsh r1, [r1, r0] - asrs r0, r5, 16 - cmp r1, r0 - bne _08058854 -_0805884A: - movs r0, 0x1 - b _0805886A - .align 2, 0 -_08058850: .4byte gObjectEvents -_08058854: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xF - bls _08058810 - asrs r0, r3, 16 - asrs r1, r5, 16 - bl MapGridIsImpassableAt - lsls r0, 24 - lsrs r0, 24 -_0805886A: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end npc_080587EC - - thumb_func_start sub_8058878 -sub_8058878: @ 8058878 - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r1, 24 - lsrs r3, r1, 24 - lsls r2, r5, 2 - ldr r0, _080588B4 @ =gLinkPlayerObjectEvents - adds r2, r0 - ldrb r1, [r2, 0x2] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _080588B8 @ =gObjectEvents - adds r4, r0, r1 - ldrb r0, [r2] - cmp r0, 0 - beq _080588FC - subs r0, r3, 0x4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bhi _080588BC - ldrb r1, [r4] - lsls r1, 30 - lsrs r1, 31 - movs r0, 0 - bl sub_805C7C8 - b _080588C6 - .align 2, 0 -_080588B4: .4byte gLinkPlayerObjectEvents -_080588B8: .4byte gObjectEvents -_080588BC: - ldrb r0, [r4] - lsls r0, 30 - lsrs r0, 31 - bl GetHoennLinkPartnerGraphicsIdByGender -_080588C6: - lsls r0, 24 - lsrs r0, 24 - ldr r1, _08058904 @ =SpriteCB_LinkPlayer - movs r2, 0 - str r2, [sp] - movs r3, 0 - bl AddPseudoObjectEvent - strb r0, [r4, 0x4] - ldrb r1, [r4, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _08058908 @ =gSprites - adds r0, r1 - adds r3, r0, 0 - adds r3, 0x3E - ldrb r1, [r3] - movs r2, 0x2 - orrs r1, r2 - strb r1, [r3] - strh r5, [r0, 0x2E] - ldrb r1, [r4] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r4] -_080588FC: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08058904: .4byte SpriteCB_LinkPlayer -_08058908: .4byte gSprites - thumb_func_end sub_8058878 - - thumb_func_start SpriteCB_LinkPlayer -SpriteCB_LinkPlayer: @ 805890C - push {r4-r6,lr} - adds r5, r0, 0 - movs r0, 0x2E - ldrsh r4, [r5, r0] - lsls r4, 2 - ldr r0, _08058970 @ =gLinkPlayerObjectEvents - adds r4, r0 - ldrb r1, [r4, 0x2] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _08058974 @ =gObjectEvents - adds r6, r0, r1 - ldrh r0, [r6, 0xC] - strh r0, [r5, 0x20] - ldrh r0, [r6, 0xE] - strh r0, [r5, 0x22] - ldrb r0, [r6, 0xB] - lsrs r0, 4 - adds r1, r5, 0 - movs r2, 0x1 - bl SetObjectSubpriorityByZCoord - ldrb r0, [r6, 0xB] - lsrs r0, 4 - bl ZCoordToPriority - movs r1, 0x3 - ands r1, r0 - lsls r1, 2 - ldrb r2, [r5, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r5, 0x5] - ldrb r0, [r4, 0x3] - cmp r0, 0 - bne _08058978 - ldrb r0, [r6, 0x19] - bl GetFaceDirectionAnimNum - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - bl StartSpriteAnim - b _0805898A - .align 2, 0 -_08058970: .4byte gLinkPlayerObjectEvents -_08058974: .4byte gObjectEvents -_08058978: - ldrb r0, [r6, 0x19] - bl GetMoveDirectionAnimNum - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - bl StartSpriteAnimIfDifferent -_0805898A: - adds r0, r5, 0 - movs r1, 0 - bl UpdateObjectEventSpriteVisibility - ldrb r0, [r6] - lsls r0, 29 - cmp r0, 0 - bge _080589BC - ldrh r0, [r5, 0x3C] - movs r1, 0x4 - ands r1, r0 - lsls r1, 16 - adds r3, r5, 0 - adds r3, 0x3E - lsrs r1, 18 - lsls r1, 2 - ldrb r2, [r3] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - ldrh r0, [r5, 0x3C] - adds r0, 0x1 - strh r0, [r5, 0x3C] -_080589BC: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end SpriteCB_LinkPlayer - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/pokemon_summary_screen.s b/asm/pokemon_summary_screen.s index bcb9fa04b..1013bd8fd 100644 --- a/asm/pokemon_summary_screen.s +++ b/asm/pokemon_summary_screen.s @@ -490,7 +490,7 @@ _081348D6: .align 2, 0 _081348E0: .4byte 0x00003270 _081348E4: - bl sub_80BF72C + bl MenuHelpers_CallLinkSomething lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -786,7 +786,7 @@ _08134B38: _08134B58: .4byte gUnknown_203B140 _08134B5C: .4byte 0x00003270 _08134B60: - bl sub_8058244 + bl Overworld_LinkRecvQueueLengthMoreThan2 cmp r0, 0x1 beq _08134B9A bl sub_800B270 @@ -8687,7 +8687,7 @@ _08138D0A: _08138D10: b _08139094 _08138D12: - bl sub_80BF72C + bl MenuHelpers_CallLinkSomething lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -9080,7 +9080,7 @@ _08139024: .align 2, 0 _08139030: .4byte gUnknown_203B16D _08139034: - bl sub_80BF72C + bl MenuHelpers_CallLinkSomething lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -9800,7 +9800,7 @@ _08139604: _08139620: .4byte gUnknown_203B140 _08139624: .4byte 0x00003288 _08139628: - bl sub_80BF72C + bl MenuHelpers_CallLinkSomething lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -13905,7 +13905,7 @@ _0813B700: .4byte 0x00003003 _0813B704: .4byte 0x00003004 _0813B708: .4byte 0x0000328c _0813B70C: - bl sub_8058244 + bl Overworld_LinkRecvQueueLengthMoreThan2 cmp r0, 0 bne _0813B746 bl sub_800B270 |