diff options
Diffstat (limited to 'asm')
-rw-r--r-- | asm/overworld.s | 3343 |
1 files changed, 24 insertions, 3319 deletions
diff --git a/asm/overworld.s b/asm/overworld.s index f840e590a..f17e829e7 100644 --- a/asm/overworld.s +++ b/asm/overworld.s @@ -5,3301 +5,6 @@ .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} @@ -3492,7 +197,7 @@ CB2_NewGame: @ 8056644 push {lr} bl FieldClearVBlankHBlankCallbacks bl StopMapMusic - bl sub_8056420 + bl ResetSafariZoneFlag_ bl NewGameInitData bl ResetInitialPlayerAvatarState bl PlayTimeCounter_Start @@ -3539,7 +244,7 @@ CB2_WhiteOut: @ 80566A4 bls _08056702 bl FieldClearVBlankHBlankCallbacks bl StopMapMusic - bl sub_8056420 + bl ResetSafariZoneFlag_ bl sub_8054BC8 movs r0, 0x2 bl sub_80559F8 @@ -3645,7 +350,7 @@ c2_80567AC: @ 80567AC cmp r0, 0 beq _080567CC bl SetFieldVBlankCallback - ldr r0, _080567D4 @ =c1_link_related + ldr r0, _080567D4 @ =CB1_UpdateLinkState bl SetMainCallback1 bl sub_80578D8 ldr r0, _080567D8 @ =sub_80565B4 @@ -3655,7 +360,7 @@ _080567CC: bx r0 .align 2, 0 _080567D0: .4byte gMain + 0x438 -_080567D4: .4byte c1_link_related +_080567D4: .4byte CB1_UpdateLinkState _080567D8: .4byte sub_80565B4 thumb_func_end c2_80567AC @@ -3724,7 +429,7 @@ c2_8056854: @ 8056854 push {lr} bl FieldClearVBlankHBlankCallbacks bl StopMapMusic - ldr r0, _08056878 @ =c1_link_related + ldr r0, _08056878 @ =CB1_UpdateLinkState bl SetMainCallback1 bl sub_80578D8 ldr r0, _0805687C @ =gWirelessCommType @@ -3735,7 +440,7 @@ c2_8056854: @ 8056854 ldr r0, _08056884 @ =FieldCB_ReturnToFieldWirelessLink b _0805688C .align 2, 0 -_08056878: .4byte c1_link_related +_08056878: .4byte CB1_UpdateLinkState _0805687C: .4byte gWirelessCommType _08056880: .4byte gFieldCallback _08056884: .4byte FieldCB_ReturnToFieldWirelessLink @@ -3838,8 +543,8 @@ CB2_ContinueSavedGame: @ 8056938 push {lr} bl FieldClearVBlankHBlankCallbacks bl StopMapMusic - bl sub_8056420 - bl set_current_map_header_from_sav1 + bl ResetSafariZoneFlag_ + bl LoadSaveblockMapHeader bl sub_80550A8 bl UnfreezeObjectEvents bl sub_8054E40 @@ -3857,7 +562,7 @@ CB2_ContinueSavedGame: @ 8056938 cmp r0, 0x1 bne _0805699C bl sav2_x9_clear_bit1 - bl warp1_set_to_sav1w + bl SetWarpDestinationToContinueGameWarp bl WarpIntoMap ldr r0, _08056998 @ =CB2_LoadMap bl SetMainCallback2 @@ -4001,7 +706,7 @@ _08056AB0: b _08056B62 _08056ABE: movs r0, 0x1 - bl sub_8055920 + bl mli0_load_map b _08056B62 _08056AC6: movs r0, 0x1 @@ -4124,7 +829,7 @@ _08056BD0: bl InitOverworldBgs bl FieldClearVBlankHBlankCallbacks adds r0, r5, 0 - bl sub_8055920 + bl mli0_load_map b _08056CCA _08056BE0: bl sub_8111F14 @@ -4691,7 +1396,7 @@ mli4_mapscripts_and_other: @ 805709C mov r0, sp adds r1, r4, 0 bl GetCameraFocusCoords - bl sub_8055A6C + bl GetInitialPlayerAvatarState adds r5, r0, 0 mov r0, sp movs r1, 0 @@ -4943,7 +1648,7 @@ sub_80572A8: @ 80572A8 ldr r0, _080572D0 @ =gUnknown_2036E28 movs r1, 0x1 strb r1, [r0] - bl set_current_map_header_from_sav1 + bl LoadSaveblockMapHeader bl ScriptContext1_Init bl ScriptContext2_Disable movs r0, 0 @@ -5033,7 +1738,7 @@ _0805735C: movs r0, 0 strb r0, [r1] movs r0, 0 - bl sub_8055920 + bl mli0_load_map b _08057412 .align 2, 0 _0805738C: .4byte gUnknown_2031DE0 @@ -5123,8 +1828,8 @@ sub_8057430: @ 8057430 ldr r1, _08057484 @ =gUnknown_2036E28 movs r0, 0x3 strb r0, [r1] - bl sub_8056420 - bl set_current_map_header_from_sav1 + bl ResetSafariZoneFlag_ + bl LoadSaveblockMapHeader bl sub_80550A8 bl UnfreezeObjectEvents bl sub_8054E40 @@ -5138,7 +1843,7 @@ sub_8057430: @ 8057430 cmp r0, 0x1 bne _08057490 bl sav2_x9_clear_bit1 - bl warp1_set_to_sav1w + bl SetWarpDestinationToContinueGameWarp bl WarpIntoMap ldr r0, _0805748C @ =CB2_LoadMap bl SetMainCallback2 @@ -5294,7 +1999,7 @@ _08057560: ands r0, r2 adds r6, r0, 0 orrs r6, r1 - ldr r0, _08057608 @ =gUnknown_2031DBC + ldr r0, _08057608 @ =sWarpDestination str r5, [r0] str r6, [r0, 0x4] ldr r1, _0805760C @ =gUnknown_2031DE8 @@ -5331,7 +2036,7 @@ _080575F8: .4byte 0xffffff00 _080575FC: .4byte 0xffff00ff _08057600: .4byte 0xffff0000 _08057604: .4byte 0x0000ffff -_08057608: .4byte gUnknown_2031DBC +_08057608: .4byte sWarpDestination _0805760C: .4byte gUnknown_2031DE8 _08057610: .4byte gPaletteFade _08057614: .4byte gFieldCallback2 @@ -5390,9 +2095,9 @@ _0805766C: .4byte _0805770C .4byte _08057712 _08057690: - bl sub_8056354 + bl InitOverworldBgs_NoResetHeap movs r0, 0 - bl sub_8055920 + bl mli0_load_map b _0805772A _0805769C: bl ScanlineEffect_Clear @@ -5633,8 +2338,8 @@ _0805787C: .4byte gPaletteFade _08057880: .4byte CB2_LoadMap thumb_func_end sub_8057854 - thumb_func_start c1_link_related -c1_link_related: @ 8057884 + thumb_func_start CB1_UpdateLinkState +CB1_UpdateLinkState: @ 8057884 push {r4,lr} ldr r0, _080578C8 @ =gWirelessCommType ldrb r0, [r0] @@ -5669,7 +2374,7 @@ _080578C8: .4byte gWirelessCommType _080578CC: .4byte gLocalLinkPlayerId _080578D0: .4byte gLinkPartnersHeldKeys _080578D4: .4byte gUnknown_3000E84 - thumb_func_end c1_link_related + thumb_func_end CB1_UpdateLinkState thumb_func_start sub_80578D8 sub_80578D8: @ 80578D8 |