diff options
Diffstat (limited to 'asm')
-rw-r--r-- | asm/bike.s | 897 | ||||
-rw-r--r-- | asm/overworld.s | 8010 |
2 files changed, 0 insertions, 8907 deletions
diff --git a/asm/bike.s b/asm/bike.s deleted file mode 100644 index c8f65a03b..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 MovePlayerOnBike -MovePlayerOnBike: @ 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 MovePlayerOnBike - - 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 PlayerJumpLedge - 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 PlayerIsMovingOnRockStairs - cmp r0, 0 - beq _080BD34A -_080BD342: - adds r0, r4, 0 - bl PlayerGoSpeed2 - b _080BD350 -_080BD34A: - adds r0, r6, 0 - bl PlayerRideWaterCurrent -_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 PlayerJumpLedge -_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 PlayerGoSpeed1 -_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 CheckForObjectEventCollision - 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 IsRunningDisallowed -IsRunningDisallowed: @ 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 IsRunningDisallowed - - 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_IsIsolatedVerticalRail - lsls r0, 24 - cmp r0, 0 - bne _080BD532 - adds r0, r4, 0 - bl MetatileBehavior_IsVerticalRail - b _080BD52C -_080BD51A: - adds r0, r5, 0 - bl MetatileBehavior_IsIsolatedHorizontalRail - lsls r0, 24 - cmp r0, 0 - bne _080BD532 - adds r0, r5, 0 - bl MetatileBehavior_IsHorizontalRail -_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_IsBumpySlope - 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 Overworld_ClearSavedMusic - 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_IsBumpySlope - 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/overworld.s b/asm/overworld.s deleted file mode 100644 index f840e590a..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 Overworld_ClearSavedMusic - 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 Overworld_ClearSavedMusic - 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_IsNonAnimDoor - 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 Overworld_ClearSavedMusic -Overworld_ClearSavedMusic: @ 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 Overworld_ClearSavedMusic - - 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 player_step -_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 FieldCB_UnionRoomWarp -_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 GetRivalAvatarGraphicsIdByStateIdAndGender - 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. |