diff options
Diffstat (limited to 'asm')
-rw-r--r-- | asm/battle_bg.s | 4 | ||||
-rw-r--r-- | asm/berry_crush.s | 8 | ||||
-rw-r--r-- | asm/berry_crush_2.s | 34 | ||||
-rw-r--r-- | asm/berry_crush_3.s | 30 | ||||
-rw-r--r-- | asm/cable_club.s | 34 | ||||
-rw-r--r-- | asm/dodrio_berry_picking.s | 16 | ||||
-rw-r--r-- | asm/dodrio_berry_picking_2.s | 6 | ||||
-rw-r--r-- | asm/easy_chat_2.s | 6 | ||||
-rw-r--r-- | asm/event_object_80688E4.s | 1503 | ||||
-rw-r--r-- | asm/event_object_movement.s | 10 | ||||
-rw-r--r-- | asm/field_control_avatar.s | 4 | ||||
-rw-r--r-- | asm/field_effect_helpers.s | 26 | ||||
-rw-r--r-- | asm/field_screen_effect.s | 306 | ||||
-rw-r--r-- | asm/librfu_intr.s | 697 | ||||
-rw-r--r-- | asm/macros.inc | 1 | ||||
-rw-r--r-- | asm/macros/event.inc | 8 | ||||
-rw-r--r-- | asm/macros/trainer_tower.inc | 133 | ||||
-rw-r--r-- | asm/overworld.s | 148 | ||||
-rw-r--r-- | asm/pokedex_screen.s | 2 | ||||
-rw-r--r-- | asm/pokemon_jump.s | 2 | ||||
-rw-r--r-- | asm/pokemon_jump_2.s | 37 | ||||
-rw-r--r-- | asm/pokemon_summary_screen.s | 2 | ||||
-rw-r--r-- | asm/smokescreen.s | 225 | ||||
-rw-r--r-- | asm/union_room_chat.s | 5973 |
24 files changed, 325 insertions, 8890 deletions
diff --git a/asm/battle_bg.s b/asm/battle_bg.s index 96f33cb3c..e21617e70 100644 --- a/asm/battle_bg.s +++ b/asm/battle_bg.s @@ -1270,7 +1270,7 @@ _0800FBF8: _0800FC00: .4byte gTrainers _0800FC04: .4byte gTrainerBattleOpponent_A _0800FC08: - bl sav1_map_get_battletype + bl GetCurrentMapBattleScene lsls r0, 24 cmp r0, 0 bne _0800FC20 @@ -1341,7 +1341,7 @@ _0800FC88: movs r0, 0x13 b _0800FCAA _0800FC90: - bl sav1_map_get_battletype + bl GetCurrentMapBattleScene lsls r0, 24 lsrs r0, 24 cmp r0, 0 diff --git a/asm/berry_crush.s b/asm/berry_crush.s index 6502fc916..728e87128 100644 --- a/asm/berry_crush.s +++ b/asm/berry_crush.s @@ -45,7 +45,7 @@ _0814B716: ldr r0, _0814B74C @ =0x0000012f bl PlayNewMapMusic ldr r0, _0814B750 @ =sub_8056534 - bl sub_80565E0 + bl SetMainCallback1 _0814B73E: movs r0, 0 _0814B740: @@ -58,8 +58,8 @@ _0814B74C: .4byte 0x0000012f _0814B750: .4byte sub_8056534 thumb_func_end sub_814B6FC - thumb_func_start sub_814B754 -sub_814B754: @ 814B754 + thumb_func_start StartBerryCrush +StartBerryCrush: @ 814B754 push {r4-r7,lr} mov r7, r8 push {r7} @@ -183,7 +183,7 @@ _0814B84C: .align 2, 0 _0814B858: .4byte sub_814BA80 _0814B85C: .4byte sub_814BA98 - thumb_func_end sub_814B754 + thumb_func_end StartBerryCrush thumb_func_start sub_814B860 sub_814B860: @ 814B860 diff --git a/asm/berry_crush_2.s b/asm/berry_crush_2.s index 7495c8519..e5079a5a9 100644 --- a/asm/berry_crush_2.s +++ b/asm/berry_crush_2.s @@ -143,7 +143,7 @@ _0814BC30: movs r0, 0x3 b _0814BC6A _0814BC44: - bl sub_80FA42C + bl LinkRfu_SetRfuFuncToSend6600 b _0814BC66 _0814BC4A: bl IsLinkTaskFinished @@ -359,7 +359,7 @@ sub_814BDBC: @ 814BDBC beq _0814BDD2 b _0814BDFC _0814BDCC: - bl sub_80FA42C + bl LinkRfu_SetRfuFuncToSend6600 b _0814BDFC _0814BDD2: bl IsLinkTaskFinished @@ -494,7 +494,7 @@ _0814BEB4: bl sub_814BB4C b _0814BFC6 _0814BED4: - bl sub_80FA42C + bl LinkRfu_SetRfuFuncToSend6600 b _0814BFC0 _0814BEDA: bl IsLinkTaskFinished @@ -650,7 +650,7 @@ _0814C008: adds r1, r4, r0 adds r0, r4, 0 bl sub_814DA24 - bl sub_80FA42C + bl LinkRfu_SetRfuFuncToSend6600 b _0814C108 _0814C01A: bl IsLinkTaskFinished @@ -720,7 +720,7 @@ _0814C080: ldrb r0, [r2] adds r0, 0x1 strb r0, [r2] - bl sub_80FA42C + bl LinkRfu_SetRfuFuncToSend6600 b _0814C108 .align 2, 0 _0814C0AC: .4byte sub_814DB84 @@ -748,7 +748,7 @@ _0814C0D2: adds r1, r4, r3 adds r0, r4, 0 bl sub_814DC24 - bl sub_80FA42C + bl LinkRfu_SetRfuFuncToSend6600 b _0814C108 _0814C0E4: bl IsLinkTaskFinished @@ -904,7 +904,7 @@ _0814C1FC: movs r0, 0x1E movs r1, 0 bl SetGpuReg - bl sub_80FA42C + bl LinkRfu_SetRfuFuncToSend6600 b _0814C23C _0814C21E: bl IsLinkTaskFinished @@ -962,14 +962,14 @@ _0814C26C: adds r0, r1, 0 movs r2, 0x78 movs r3, 0x50 - bl sub_815F138 + bl StartMinigameCountdown b _0814C2EC _0814C28A: - bl sub_815F198 + bl IsMinigameCountdownRunning cmp r0, 0 bne _0814C2F2 _0814C292: - bl sub_80FA42C + bl LinkRfu_SetRfuFuncToSend6600 b _0814C2EC _0814C298: bl IsLinkTaskFinished @@ -1655,7 +1655,7 @@ _0814C77A: movs r2, 0xC bl memcpy adds r0, r4, 0 - bl sub_80F9E2C + bl RfuPrepareSend0x2f00 _0814C7AC: pop {r3} mov r8, r3 @@ -2065,7 +2065,7 @@ _0814CADA: bl sub_814DE50 cmp r0, 0 beq _0814CB18 - bl sub_80FA42C + bl LinkRfu_SetRfuFuncToSend6600 movs r0, 0 strh r0, [r4, 0x10] b _0814CB12 @@ -2158,7 +2158,7 @@ _0814CB8A: bl sub_814DE50 cmp r0, 0 beq _0814CC02 - bl sub_80FA42C + bl LinkRfu_SetRfuFuncToSend6600 movs r0, 0 strh r0, [r5, 0x10] movs r0, 0x12 @@ -2846,7 +2846,7 @@ _0814D0D6: .align 2, 0 _0814D0FC: .4byte 0x00008c9f _0814D100: - bl sub_80FA42C + bl LinkRfu_SetRfuFuncToSend6600 b _0814D178 _0814D106: bl IsLinkTaskFinished @@ -3028,7 +3028,7 @@ _0814D256: beq _0814D296 b _0814D30C _0814D260: - bl sub_80FA42C + bl LinkRfu_SetRfuFuncToSend6600 b _0814D30C _0814D266: bl IsLinkTaskFinished @@ -3316,14 +3316,14 @@ _0814D47C: beq _0814D498 b _0814D4B8 _0814D482: - bl sub_80FA42C + bl LinkRfu_SetRfuFuncToSend6600 b _0814D4B8 _0814D488: bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _0814D4BE - bl sub_800AAC0 + bl Link_TryStartSend5FFF b _0814D4B8 _0814D498: ldr r0, _0814D4B4 @ =gReceivedRemoteLinkPlayers diff --git a/asm/berry_crush_3.s b/asm/berry_crush_3.s index 9e3334a7f..dfed93396 100644 --- a/asm/berry_crush_3.s +++ b/asm/berry_crush_3.s @@ -63,7 +63,7 @@ _0814D63A: ldr r0, _0814D65C @ =gReservedSpritePaletteCount strb r4, [r0] movs r0, 0x3 - bl sub_815C980 + bl DigitObjUtil_Init b _0814D878 .align 2, 0 _0814D658: .4byte 0x01000200 @@ -338,7 +338,7 @@ _0814D8B4: .4byte _0814D9A2 .4byte _0814D9B2 _0814D8D4: - bl sub_80FA42C + bl LinkRfu_SetRfuFuncToSend6600 b _0814D9BA _0814D8DA: bl IsLinkTaskFinished @@ -427,7 +427,7 @@ _0814D9A2: bl DestroyWirelessStatusIndicatorSprite adds r0, r5, 0 bl sub_814EF10 - bl sub_815C9F4 + bl DigitObjUtil_Teardown b _0814D9BA _0814D9B2: movs r0, 0 @@ -2578,15 +2578,15 @@ sub_814EAD4: @ 814EAD4 movs r0, 0x4 ldrsh r1, [r4, r0] movs r0, 0 - bl sub_815CD70 + bl DigitObjUtil_PrintNumOn movs r0, 0x6 ldrsh r1, [r4, r0] movs r0, 0x1 - bl sub_815CD70 + bl DigitObjUtil_PrintNumOn movs r0, 0x8 ldrsh r1, [r4, r0] movs r0, 0x2 - bl sub_815CD70 + bl DigitObjUtil_PrintNumOn pop {r4} pop {r0} bx r0 @@ -2608,13 +2608,13 @@ sub_814EB04: @ 814EB04 strb r0, [r1] movs r0, 0x2 movs r1, 0x1 - bl sub_815D1A8 + bl DigitObjUtil_HideOrShow movs r0, 0x1 movs r1, 0x1 - bl sub_815D1A8 + bl DigitObjUtil_HideOrShow movs r0, 0 movs r1, 0x1 - bl sub_815D1A8 + bl DigitObjUtil_HideOrShow pop {r0} bx r0 thumb_func_end sub_814EB04 @@ -3060,17 +3060,17 @@ _0814EE3E: movs r0, 0 movs r1, 0 adds r2, r4, 0 - bl sub_815CA40 + bl DigitObjUtil_CreatePrinter adds r2, r4, 0 adds r2, 0x10 movs r0, 0x1 movs r1, 0 - bl sub_815CA40 + bl DigitObjUtil_CreatePrinter adds r4, 0x20 movs r0, 0x2 movs r1, 0 adds r2, r4, 0 - bl sub_815CA40 + bl DigitObjUtil_CreatePrinter ldrh r0, [r6, 0x12] cmp r0, 0x1 bne _0814EED8 @@ -3130,11 +3130,11 @@ _0814EF46: cmp r4, 0x1 bls _0814EF46 movs r0, 0x2 - bl sub_815D108 + bl DigitObjUtil_DeletePrinter movs r0, 0x1 - bl sub_815D108 + bl DigitObjUtil_DeletePrinter movs r0, 0 - bl sub_815D108 + bl DigitObjUtil_DeletePrinter movs r4, 0 movs r1, 0xC2 lsls r1, 1 diff --git a/asm/cable_club.s b/asm/cable_club.s index 27a3d93f4..92f14461a 100644 --- a/asm/cable_club.s +++ b/asm/cable_club.s @@ -751,7 +751,7 @@ sub_8080CDC: @ 8080CDC lsrs r0, 16 cmp r0, 0x1 bhi _08080D3C - bl sub_800AAC0 + bl Link_TryStartSend5FFF bl HideFieldMessageBox ldr r0, _08080D38 @ =sub_8080F78 b _08080D72 @@ -845,14 +845,14 @@ sub_8080DC0: @ 8080DC0 bl sub_8080D8C cmp r0, 0x1 beq _08080DFE - bl sub_800AAC0 + bl Link_TryStartSend5FFF b _08080E02 .align 2, 0 _08080DE8: .4byte gSpecialVar_Result _08080DEC: cmp r0, 0x3 bne _08080DF6 - bl sub_800AAC0 + bl Link_TryStartSend5FFF b _08080E02 _08080DF6: cmp r0, 0x7 @@ -1010,7 +1010,7 @@ _08080F48: .4byte gLinkType _08080F4C: .4byte 0x00004411 _08080F50: .4byte gTasks _08080F54: - bl sub_800AAC0 + bl Link_TryStartSend5FFF ldr r0, _08080F70 @ =gTasks mov r2, r8 adds r1, r2, r7 @@ -1564,7 +1564,7 @@ _0808138C: ble _0808143A b _080813AA _0808139C: - bl sub_800AAC0 + bl Link_TryStartSend5FFF b _080813AA _080813A2: ldr r0, _080813B4 @ =gReceivedRemoteLinkPlayers @@ -1756,7 +1756,7 @@ _08081510: ldr r1, [r1] str r1, [r0] adds r0, r5, 0 - bl sub_800B284 + bl IntlConvertLinkPlayerName lsls r0, r4, 24 lsrs r0, 24 bl ResetBlockReceivedFlag @@ -1785,7 +1785,7 @@ _0808154C: strh r0, [r6] b _0808160A _08081560: - bl sub_800AB9C + bl PrepareSendLinkCmd2FFE_or_RfuCmd6600 movs r0, 0x6 strh r0, [r6] b _0808160A @@ -1895,7 +1895,7 @@ sub_8081624: @ 8081624 .align 2, 0 _0808163C: .4byte gMain _08081640: - bl sub_800AAC0 + bl Link_TryStartSend5FFF ldrb r0, [r4] adds r0, 0x1 strb r0, [r4] @@ -1942,9 +1942,9 @@ sub_8081668: @ 8081668 beq _0808170A ldr r0, _080816C4 @ =gBattleOutcome ldrb r0, [r0] - cmp r0, 0x1 + cmp r0, 0x1 @ B_OUTCOME_WON beq _080816C8 - cmp r0, 0x2 + cmp r0, 0x2 @ B_OUTCOME_LOST beq _080816EC b _0808170A .align 2, 0 @@ -1955,6 +1955,7 @@ _080816BC: .4byte gLocalLinkPlayerId _080816C0: .4byte gWirelessCommType _080816C4: .4byte gBattleOutcome _080816C8: + @ MEvent_RecordIdOfWonderCardSenderByEventType(0, gLinkPlayers[GetMultiplayerId() ^ 1].trainerId); ldr r4, _080816E8 @ =gLinkPlayers bl GetMultiplayerId eors r0, r5 @@ -1967,11 +1968,12 @@ _080816C8: adds r1, r4 ldr r1, [r1] movs r0, 0 - bl sub_8144714 + bl MEvent_RecordIdOfWonderCardSenderByEventType b _0808170A .align 2, 0 _080816E8: .4byte gLinkPlayers _080816EC: + @ MEvent_RecordIdOfWonderCardSenderByEventType(1, gLinkPlayers[GetMultiplayerId() ^ 1].trainerId); ldr r4, _08081718 @ =gLinkPlayers bl GetMultiplayerId eors r0, r5 @@ -1984,7 +1986,7 @@ _080816EC: adds r1, r4 ldr r1, [r1] movs r0, 0x1 - bl sub_8144714 + bl MEvent_RecordIdOfWonderCardSenderByEventType _0808170A: bl InUnionRoom cmp r0, 0x1 @@ -2198,7 +2200,7 @@ _080818A8: strb r0, [r1] strb r0, [r1, 0x1] bl m4aMPlayAllStop - bl sub_800AAC0 + bl Link_TryStartSend5FFF _080818B8: ldrh r0, [r4, 0x8] adds r0, 0x1 @@ -2274,7 +2276,7 @@ _08081940: strb r0, [r1] strb r0, [r1, 0x1] bl m4aMPlayAllStop - bl sub_800AB9C + bl PrepareSendLinkCmd2FFE_or_RfuCmd6600 _08081950: ldrh r0, [r4] adds r0, 0x1 @@ -2287,7 +2289,7 @@ _0808195C: lsls r0, 24 cmp r0, 0 beq _08081970 - bl sub_8117118 + bl UnionRoom_CreateTask_CallBC2ReturnFromLinkTrade adds r0, r5, 0 bl DestroyTask _08081970: @@ -2507,7 +2509,7 @@ sub_8081B08: @ 8081B08 adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - bl sub_800AAC0 + bl Link_TryStartSend5FFF ldr r1, _08081B28 @ =gTasks lsls r0, r4, 2 adds r0, r4 diff --git a/asm/dodrio_berry_picking.s b/asm/dodrio_berry_picking.s index 3e9c18491..eca27fd8d 100644 --- a/asm/dodrio_berry_picking.s +++ b/asm/dodrio_berry_picking.s @@ -5,8 +5,8 @@ .text - thumb_func_start sub_81507FC -sub_81507FC: @ 81507FC + thumb_func_start StartDodrioBerryPicking +StartDodrioBerryPicking: @ 81507FC push {r4-r6,lr} adds r5, r1, 0 lsls r0, 16 @@ -97,7 +97,7 @@ _081508D2: pop {r4-r6} pop {r0} bx r0 - thumb_func_end sub_81507FC + thumb_func_end StartDodrioBerryPicking thumb_func_start sub_81508D8 sub_81508D8: @ 81508D8 @@ -382,7 +382,7 @@ _08150B08: bl sub_8155E68 cmp r0, 0 bne _08150BFC - bl sub_80FA42C + bl LinkRfu_SetRfuFuncToSend6600 b _08150BDC _08150B16: bl IsLinkTaskFinished @@ -649,7 +649,7 @@ _08150D28: movs r1, 0x8 movs r2, 0x78 movs r3, 0x50 - bl sub_815F138 + bl StartMinigameCountdown b _08150D52 _08150D3A: bl IsLinkTaskFinished @@ -658,11 +658,11 @@ _08150D3A: beq _08150D74 b _08150D52 _08150D46: - bl sub_815F198 + bl IsMinigameCountdownRunning cmp r0, 0 bne _08150D74 _08150D4E: - bl sub_80FA42C + bl LinkRfu_SetRfuFuncToSend6600 _08150D52: ldr r0, _08150D60 @ =gUnknown_203F3E0 ldr r1, [r0] @@ -1611,7 +1611,7 @@ _081514A4: beq _081514C0 b _081514D6 _081514AA: - bl sub_800AAC0 + bl Link_TryStartSend5FFF movs r0, 0x7 bl sub_81549D4 b _081514CC diff --git a/asm/dodrio_berry_picking_2.s b/asm/dodrio_berry_picking_2.s index 792dc4b0f..91594c7a8 100644 --- a/asm/dodrio_berry_picking_2.s +++ b/asm/dodrio_berry_picking_2.s @@ -407,7 +407,7 @@ sub_815A61C: @ 815A61C ands r5, r7 orrs r5, r4 strb r5, [r0, 0xB] - bl sub_80F9E2C + bl RfuPrepareSend0x2f00 add sp, 0x20 pop {r3-r5} mov r8, r3 @@ -637,7 +637,7 @@ sub_815AAD8: @ 815AAD8 orrs r1, r0 str r1, [sp, 0x4] mov r0, sp - bl sub_80F9E2C + bl RfuPrepareSend0x2f00 add sp, 0x8 pop {r0} bx r0 @@ -692,7 +692,7 @@ sub_815AB3C: @ 815AB3C str r1, [sp] str r0, [sp, 0x4] mov r0, sp - bl sub_80F9E2C + bl RfuPrepareSend0x2f00 add sp, 0x8 pop {r0} bx r0 diff --git a/asm/easy_chat_2.s b/asm/easy_chat_2.s index c88c5deeb..40b0eeb1f 100644 --- a/asm/easy_chat_2.s +++ b/asm/easy_chat_2.s @@ -334,8 +334,8 @@ sub_80FEE24: @ 80FEE24 bx r0 thumb_func_end sub_80FEE24 - thumb_func_start sub_80FEE44 -sub_80FEE44: @ 80FEE44 + thumb_func_start ShowEasyChatScreen +ShowEasyChatScreen: @ 80FEE44 push {lr} ldr r0, _080FEE58 @ =gSpecialVar_0x8004 ldrh r0, [r0] @@ -431,7 +431,7 @@ _080FEF1C: .4byte gSpecialVar_0x8005 _080FEF20: .4byte 0x00002cd0 _080FEF24: .4byte gSpecialVar_0x8004 _080FEF28: .4byte sub_80568C4 - thumb_func_end sub_80FEE44 + thumb_func_end ShowEasyChatScreen thumb_func_start sub_80FEF2C sub_80FEF2C: @ 80FEF2C diff --git a/asm/event_object_80688E4.s b/asm/event_object_80688E4.s deleted file mode 100644 index 93309a80d..000000000 --- a/asm/event_object_80688E4.s +++ /dev/null @@ -1,1503 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start FreezeObjectEvent -FreezeObjectEvent: @ 80688E4 - push {r4,r5,lr} - adds r5, r0, 0 - ldrh r1, [r5] - movs r0, 0xA0 - lsls r0, 1 - ands r0, r1 - cmp r0, 0 - bne _0806896C - ldrb r0, [r5, 0x1] - movs r4, 0x1 - orrs r0, r4 - strb r0, [r5, 0x1] - ldr r3, _08068968 @ =gSprites - ldrb r1, [r5, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x2C - ldrb r1, [r0] - lsls r1, 25 - lsrs r1, 31 - lsls r1, 7 - ldrb r2, [r5, 0x2] - movs r0, 0x7F - ands r0, r2 - orrs r0, r1 - strb r0, [r5, 0x2] - ldrb r1, [r5, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x2C - ldrb r1, [r0] - lsrs r1, 7 - ands r1, r4 - ldrb r2, [r5, 0x3] - movs r0, 0x2 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r5, 0x3] - ldrb r1, [r5, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x2C - ldrb r1, [r0] - movs r2, 0x40 - orrs r1, r2 - strb r1, [r0] - ldrb r1, [r5, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x2C - ldrb r1, [r0] - movs r2, 0x80 - orrs r1, r2 - strb r1, [r0] - movs r0, 0 - b _0806896E - .align 2, 0 -_08068968: .4byte gSprites -_0806896C: - movs r0, 0x1 -_0806896E: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end FreezeObjectEvent - - thumb_func_start FreezeObjectEvents -FreezeObjectEvents: @ 8068974 - push {r4,r5,lr} - movs r4, 0 - ldr r5, _080689A8 @ =gObjectEvents -_0806897A: - lsls r0, r4, 3 - adds r0, r4 - lsls r0, 2 - adds r1, r0, r5 - ldrb r0, [r1] - lsls r0, 31 - cmp r0, 0 - beq _08068998 - ldr r0, _080689AC @ =gPlayerAvatar - ldrb r0, [r0, 0x5] - cmp r4, r0 - beq _08068998 - adds r0, r1, 0 - bl FreezeObjectEvent -_08068998: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xF - bls _0806897A - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080689A8: .4byte gObjectEvents -_080689AC: .4byte gPlayerAvatar - thumb_func_end FreezeObjectEvents - - thumb_func_start FreezeObjectEventsExceptOne -FreezeObjectEventsExceptOne: @ 80689B0 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0 - ldr r6, _080689EC @ =gObjectEvents -_080689BA: - cmp r4, r5 - beq _080689DC - lsls r0, r4, 3 - adds r0, r4 - lsls r0, 2 - adds r1, r0, r6 - ldrb r0, [r1] - lsls r0, 31 - cmp r0, 0 - beq _080689DC - ldr r0, _080689F0 @ =gPlayerAvatar - ldrb r0, [r0, 0x5] - cmp r4, r0 - beq _080689DC - adds r0, r1, 0 - bl FreezeObjectEvent -_080689DC: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xF - bls _080689BA - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080689EC: .4byte gObjectEvents -_080689F0: .4byte gPlayerAvatar - thumb_func_end FreezeObjectEventsExceptOne - - thumb_func_start UnfreezeObjectEvent -UnfreezeObjectEvent: @ 80689F4 - push {r4,r5,lr} - adds r5, r0, 0 - ldrh r2, [r5] - ldr r1, _08068A54 @ =0x00000101 - adds r0, r1, 0 - ands r0, r2 - cmp r0, r1 - bne _08068A4C - ldrb r1, [r5, 0x1] - movs r0, 0x2 - negs r0, r0 - ands r0, r1 - strb r0, [r5, 0x1] - ldr r4, _08068A58 @ =gSprites - ldrb r0, [r5, 0x4] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldrb r2, [r5, 0x2] - adds r1, 0x2C - lsrs r2, 7 - lsls r2, 6 - ldrb r3, [r1] - movs r0, 0x41 - negs r0, r0 - ands r0, r3 - orrs r0, r2 - strb r0, [r1] - ldrb r0, [r5, 0x4] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r4 - ldrb r1, [r5, 0x3] - lsls r1, 31 - lsrs r1, 31 - adds r2, 0x2C - lsls r1, 7 - ldrb r3, [r2] - movs r0, 0x7F - ands r0, r3 - orrs r0, r1 - strb r0, [r2] -_08068A4C: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08068A54: .4byte 0x00000101 -_08068A58: .4byte gSprites - thumb_func_end UnfreezeObjectEvent - - thumb_func_start UnfreezeObjectEvents -UnfreezeObjectEvents: @ 8068A5C - push {r4,r5,lr} - movs r4, 0 - ldr r5, _08068A88 @ =gObjectEvents -_08068A62: - lsls r0, r4, 3 - adds r0, r4 - lsls r0, 2 - adds r1, r0, r5 - ldrb r0, [r1] - lsls r0, 31 - cmp r0, 0 - beq _08068A78 - adds r0, r1, 0 - bl UnfreezeObjectEvent -_08068A78: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xF - bls _08068A62 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08068A88: .4byte gObjectEvents - thumb_func_end UnfreezeObjectEvents - - thumb_func_start little_step -little_step: @ 8068A8C - lsls r1, 24 - ldr r2, _08068AA8 @ =gUnknown_83A64C8 - lsrs r1, 22 - adds r1, r2 - ldrh r2, [r1] - ldrh r3, [r0, 0x20] - adds r2, r3 - strh r2, [r0, 0x20] - ldrh r1, [r1, 0x2] - ldrh r2, [r0, 0x22] - adds r1, r2 - strh r1, [r0, 0x22] - bx lr - .align 2, 0 -_08068AA8: .4byte gUnknown_83A64C8 - thumb_func_end little_step - - thumb_func_start double_little_steps -double_little_steps: @ 8068AAC - lsls r1, 24 - ldr r2, _08068ACC @ =gUnknown_83A64C8 - lsrs r1, 22 - adds r1, r2 - ldrh r2, [r1] - lsls r2, 1 - ldrh r3, [r0, 0x20] - adds r2, r3 - strh r2, [r0, 0x20] - ldrh r1, [r1, 0x2] - lsls r1, 1 - ldrh r2, [r0, 0x22] - adds r1, r2 - strh r1, [r0, 0x22] - bx lr - .align 2, 0 -_08068ACC: .4byte gUnknown_83A64C8 - thumb_func_end double_little_steps - - thumb_func_start triple_little_steps -triple_little_steps: @ 8068AD0 - lsls r1, 24 - ldr r2, _08068AF4 @ =gUnknown_83A64C8 - lsrs r1, 22 - adds r1, r2 - ldrh r2, [r1] - lsls r3, r2, 1 - adds r2, r3 - ldrh r3, [r0, 0x20] - adds r2, r3 - strh r2, [r0, 0x20] - ldrh r1, [r1, 0x2] - lsls r2, r1, 1 - adds r1, r2 - ldrh r2, [r0, 0x22] - adds r1, r2 - strh r1, [r0, 0x22] - bx lr - .align 2, 0 -_08068AF4: .4byte gUnknown_83A64C8 - thumb_func_end triple_little_steps - - thumb_func_start quad_little_steps -quad_little_steps: @ 8068AF8 - lsls r1, 24 - ldr r2, _08068B18 @ =gUnknown_83A64C8 - lsrs r1, 22 - adds r1, r2 - ldrh r2, [r1] - lsls r2, 2 - ldrh r3, [r0, 0x20] - adds r2, r3 - strh r2, [r0, 0x20] - ldrh r1, [r1, 0x2] - lsls r1, 2 - ldrh r2, [r0, 0x22] - adds r1, r2 - strh r1, [r0, 0x22] - bx lr - .align 2, 0 -_08068B18: .4byte gUnknown_83A64C8 - thumb_func_end quad_little_steps - - thumb_func_start oct_little_steps -oct_little_steps: @ 8068B1C - lsls r1, 24 - ldr r2, _08068B3C @ =gUnknown_83A64C8 - lsrs r1, 22 - adds r1, r2 - ldrh r2, [r1] - lsls r2, 3 - ldrh r3, [r0, 0x20] - adds r2, r3 - strh r2, [r0, 0x20] - ldrh r1, [r1, 0x2] - lsls r1, 3 - ldrh r2, [r0, 0x22] - adds r1, r2 - strh r1, [r0, 0x22] - bx lr - .align 2, 0 -_08068B3C: .4byte gUnknown_83A64C8 - thumb_func_end oct_little_steps - - thumb_func_start oamt_npc_ministep_reset -oamt_npc_ministep_reset: @ 8068B40 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - movs r3, 0 - strh r1, [r0, 0x34] - strh r2, [r0, 0x36] - strh r3, [r0, 0x38] - bx lr - thumb_func_end oamt_npc_ministep_reset - - thumb_func_start obj_npc_ministep -obj_npc_ministep: @ 8068B54 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r5, _08068BAC @ =gUnknown_83A71B0 - movs r0, 0x36 - ldrsh r2, [r4, r0] - lsls r0, r2, 1 - adds r0, r5 - movs r3, 0x38 - ldrsh r1, [r4, r3] - movs r3, 0 - ldrsh r0, [r0, r3] - cmp r1, r0 - bge _08068BB4 - ldr r1, _08068BB0 @ =gUnknown_83A719C - lsls r0, r2, 2 - adds r0, r1 - movs r1, 0x38 - ldrsh r2, [r4, r1] - ldr r0, [r0] - lsls r2, 2 - adds r2, r0 - ldrh r1, [r4, 0x34] - lsls r1, 24 - lsrs r1, 24 - ldr r2, [r2] - adds r0, r4, 0 - bl _call_via_r2 - ldrh r0, [r4, 0x38] - adds r0, 0x1 - strh r0, [r4, 0x38] - movs r2, 0x36 - ldrsh r1, [r4, r2] - lsls r1, 1 - adds r1, r5 - lsls r0, 16 - asrs r0, 16 - movs r3, 0 - ldrsh r1, [r1, r3] - cmp r0, r1 - blt _08068BB4 - movs r0, 0x1 - b _08068BB6 - .align 2, 0 -_08068BAC: .4byte gUnknown_83A71B0 -_08068BB0: .4byte gUnknown_83A719C -_08068BB4: - movs r0, 0 -_08068BB6: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end obj_npc_ministep - - thumb_func_start sub_8068BBC -sub_8068BBC: @ 8068BBC - lsls r1, 24 - lsrs r1, 24 - movs r2, 0 - strh r1, [r0, 0x34] - strh r2, [r0, 0x36] - strh r2, [r0, 0x38] - bx lr - thumb_func_end sub_8068BBC - - thumb_func_start sub_8068BCC -sub_8068BCC: @ 8068BCC - push {r4,lr} - adds r4, r0, 0 - ldrh r1, [r4, 0x36] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _08068BEC - ldrh r1, [r4, 0x34] - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl little_step - ldrh r0, [r4, 0x38] - adds r0, 0x1 - strh r0, [r4, 0x38] -_08068BEC: - ldrh r0, [r4, 0x36] - adds r0, 0x1 - strh r0, [r4, 0x36] - movs r1, 0x38 - ldrsh r0, [r4, r1] - cmp r0, 0xF - bgt _08068BFE - movs r0, 0 - b _08068C00 -_08068BFE: - movs r0, 0x1 -_08068C00: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8068BCC - - thumb_func_start sub_8068C08 -sub_8068C08: @ 8068C08 - lsls r1, 24 - lsrs r1, 24 - movs r2, 0 - strh r1, [r0, 0x34] - strh r2, [r0, 0x36] - strh r2, [r0, 0x38] - bx lr - thumb_func_end sub_8068C08 - - thumb_func_start sub_8068C18 -sub_8068C18: @ 8068C18 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x36] - adds r0, 0x1 - strh r0, [r4, 0x36] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x2 - bgt _08068C3E - ldrh r1, [r4, 0x34] - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl little_step - ldrh r0, [r4, 0x38] - adds r0, 0x1 - strh r0, [r4, 0x38] - b _08068C42 -_08068C3E: - movs r0, 0 - strh r0, [r4, 0x36] -_08068C42: - movs r1, 0x38 - ldrsh r0, [r4, r1] - cmp r0, 0xF - bgt _08068C4E - movs r0, 0 - b _08068C50 -_08068C4E: - movs r0, 0x1 -_08068C50: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8068C18 - - thumb_func_start sub_8068C58 -sub_8068C58: @ 8068C58 - lsls r1, 24 - lsrs r1, 24 - movs r2, 0 - strh r1, [r0, 0x34] - strh r2, [r0, 0x36] - strh r2, [r0, 0x38] - bx lr - thumb_func_end sub_8068C58 - - thumb_func_start sub_8068C68 -sub_8068C68: @ 8068C68 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x36] - adds r0, 0x1 - strh r0, [r4, 0x36] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x9 - ble _08068C90 - movs r0, 0 - strh r0, [r4, 0x36] - ldrh r1, [r4, 0x34] - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl little_step - ldrh r0, [r4, 0x38] - adds r0, 0x1 - strh r0, [r4, 0x38] -_08068C90: - movs r1, 0x38 - ldrsh r0, [r4, r1] - cmp r0, 0xF - bgt _08068C9C - movs r0, 0 - b _08068C9E -_08068C9C: - movs r0, 0x1 -_08068C9E: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8068C68 - - thumb_func_start sub_8068CA4 -sub_8068CA4: @ 8068CA4 - lsls r1, 24 - lsrs r1, 24 - movs r2, 0 - strh r1, [r0, 0x34] - strh r2, [r0, 0x36] - strh r2, [r0, 0x38] - bx lr - thumb_func_end sub_8068CA4 - - thumb_func_start sub_8068CB4 -sub_8068CB4: @ 8068CB4 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x36] - adds r0, 0x1 - strh r0, [r4, 0x36] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08068CD8 - ldrh r1, [r4, 0x34] - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl little_step - ldrh r0, [r4, 0x38] - adds r0, 0x1 - b _08068CE8 -_08068CD8: - ldrh r1, [r4, 0x34] - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl double_little_steps - ldrh r0, [r4, 0x38] - adds r0, 0x2 -_08068CE8: - strh r0, [r4, 0x38] - movs r1, 0x38 - ldrsh r0, [r4, r1] - cmp r0, 0xF - bgt _08068CF6 - movs r0, 0 - b _08068CF8 -_08068CF6: - movs r0, 0x1 -_08068CF8: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8068CB4 - - thumb_func_start sub_8068D00 -sub_8068D00: @ 8068D00 - lsls r1, 24 - ldr r2, _08068D18 @ =gUnknown_83A71EC - lsrs r1, 22 - adds r1, r2 - lsls r0, 16 - asrs r0, 16 - ldr r1, [r1] - adds r1, r0 - movs r0, 0 - ldrsb r0, [r1, r0] - bx lr - .align 2, 0 -_08068D18: .4byte gUnknown_83A71EC - thumb_func_end sub_8068D00 - - thumb_func_start sub_8068D1C -sub_8068D1C: @ 8068D1C - push {r4,lr} - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - lsls r3, 24 - lsrs r3, 24 - movs r4, 0 - strh r1, [r0, 0x34] - strh r2, [r0, 0x36] - strh r3, [r0, 0x38] - strh r4, [r0, 0x3A] - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8068D1C - - thumb_func_start sub_8068D3C -sub_8068D3C: @ 8068D3C - push {r4-r6,lr} - sub sp, 0xC - adds r4, r0, 0 - ldr r1, _08068DBC @ =gUnknown_83A71F8 - mov r0, sp - movs r2, 0x6 - bl memcpy - add r5, sp, 0x8 - ldr r1, _08068DC0 @ =gUnknown_83A71FE - adds r0, r5, 0 - movs r2, 0x3 - bl memcpy - movs r6, 0 - movs r1, 0x36 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _08068D6E - ldrh r1, [r4, 0x34] - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl little_step -_08068D6E: - movs r2, 0x3A - ldrsh r0, [r4, r2] - movs r2, 0x36 - ldrsh r1, [r4, r2] - adds r1, r5, r1 - ldrb r1, [r1] - asrs r0, r1 - ldrh r1, [r4, 0x38] - lsls r1, 24 - lsrs r1, 24 - bl sub_8068D00 - strh r0, [r4, 0x26] - ldrh r1, [r4, 0x3A] - adds r1, 0x1 - strh r1, [r4, 0x3A] - movs r2, 0x36 - ldrsh r0, [r4, r2] - lsls r0, 1 - add r0, sp - ldrh r0, [r0] - lsls r0, 16 - asrs r2, r0, 16 - lsls r1, 16 - asrs r1, 16 - asrs r0, 17 - cmp r1, r0 - bne _08068DA8 - movs r6, 0x1 -_08068DA8: - cmp r1, r2 - blt _08068DB2 - movs r0, 0 - strh r0, [r4, 0x26] - movs r6, 0xFF -_08068DB2: - adds r0, r6, 0 - add sp, 0xC - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_08068DBC: .4byte gUnknown_83A71F8 -_08068DC0: .4byte gUnknown_83A71FE - thumb_func_end sub_8068D3C - - thumb_func_start sub_8068DC4 -sub_8068DC4: @ 8068DC4 - push {r4-r6,lr} - sub sp, 0xC - adds r5, r0, 0 - ldr r1, _08068E50 @ =gUnknown_83A7202 - mov r0, sp - movs r2, 0x6 - bl memcpy - add r4, sp, 0x8 - ldr r1, _08068E54 @ =gUnknown_83A7208 - adds r0, r4, 0 - movs r2, 0x3 - bl memcpy - movs r6, 0 - movs r1, 0x36 - ldrsh r0, [r5, r1] - cmp r0, 0 - beq _08068E00 - ldrh r1, [r5, 0x3A] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _08068E00 - ldrh r1, [r5, 0x34] - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - bl little_step -_08068E00: - movs r2, 0x3A - ldrsh r0, [r5, r2] - movs r2, 0x36 - ldrsh r1, [r5, r2] - adds r1, r4, r1 - ldrb r1, [r1] - asrs r0, r1 - ldrh r1, [r5, 0x38] - lsls r1, 24 - lsrs r1, 24 - bl sub_8068D00 - strh r0, [r5, 0x26] - ldrh r1, [r5, 0x3A] - adds r1, 0x1 - strh r1, [r5, 0x3A] - movs r2, 0x36 - ldrsh r0, [r5, r2] - lsls r0, 1 - add r0, sp - ldrh r0, [r0] - lsls r0, 16 - asrs r2, r0, 16 - lsls r1, 16 - asrs r1, 16 - asrs r0, 17 - cmp r1, r0 - bne _08068E3A - movs r6, 0x1 -_08068E3A: - cmp r1, r2 - blt _08068E44 - movs r0, 0 - strh r0, [r5, 0x26] - movs r6, 0xFF -_08068E44: - adds r0, r6, 0 - add sp, 0xC - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_08068E50: .4byte gUnknown_83A7202 -_08068E54: .4byte gUnknown_83A7208 - thumb_func_end sub_8068DC4 - - thumb_func_start SetObjectEventStepTimer -SetObjectEventStepTimer: @ 8068E58 - strh r1, [r0, 0x34] - bx lr - thumb_func_end SetObjectEventStepTimer - - thumb_func_start RunObjectEventStepTimer -RunObjectEventStepTimer: @ 8068E5C - push {lr} - ldrh r1, [r0, 0x34] - subs r1, 0x1 - strh r1, [r0, 0x34] - lsls r1, 16 - cmp r1, 0 - beq _08068E6E - movs r0, 0 - b _08068E70 -_08068E6E: - movs r0, 0x1 -_08068E70: - pop {r1} - bx r1 - thumb_func_end RunObjectEventStepTimer - - thumb_func_start obj_anim_image_set_and_seek -obj_anim_image_set_and_seek: @ 8068E74 - push {r4,lr} - lsls r2, 24 - lsrs r2, 24 - adds r3, r0, 0 - adds r3, 0x2A - strb r1, [r3] - adds r4, r0, 0 - adds r4, 0x2C - ldrb r3, [r4] - movs r1, 0x41 - negs r1, r1 - ands r1, r3 - strb r1, [r4] - adds r1, r2, 0 - bl SeekSpriteAnim - pop {r4} - pop {r0} - bx r0 - thumb_func_end obj_anim_image_set_and_seek - - thumb_func_start sub_8068E9C -sub_8068E9C: @ 8068E9C - push {lr} - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - bne _08068EAE - movs r0, 0 - b _08068EB0 -_08068EAE: - movs r0, 0x1 -_08068EB0: - pop {r1} - bx r1 - thumb_func_end sub_8068E9C - - thumb_func_start sub_8068EB4 -sub_8068EB4: @ 8068EB4 - push {r4-r6,lr} - mov r12, r0 - lsls r1, 24 - lsrs r1, 24 - mov r3, r12 - adds r3, 0x3E - movs r0, 0x1 - ands r1, r0 - lsls r1, 2 - ldrb r2, [r3] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - movs r1, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08068F1C - mov r0, r12 - ldrh r1, [r0, 0x24] - ldrh r2, [r0, 0x20] - adds r1, r2 - mov r4, r12 - adds r4, 0x28 - movs r0, 0 - ldrsb r0, [r4, r0] - ldr r2, _08068F14 @ =gSpriteCoordOffsetX - adds r0, r1 - ldrh r2, [r2] - adds r0, r2 - lsls r0, 16 - lsrs r6, r0, 16 - mov r0, r12 - ldrh r1, [r0, 0x26] - ldrh r2, [r0, 0x22] - adds r1, r2 - subs r3, 0x15 - movs r0, 0 - ldrsb r0, [r3, r0] - ldr r2, _08068F18 @ =gSpriteCoordOffsetY - adds r0, r1 - ldrh r2, [r2] - adds r0, r2 - lsls r0, 16 - lsrs r5, r0, 16 - adds r2, r3, 0 - b _08068F4A - .align 2, 0 -_08068F14: .4byte gSpriteCoordOffsetX -_08068F18: .4byte gSpriteCoordOffsetY -_08068F1C: - mov r0, r12 - ldrh r1, [r0, 0x24] - ldrh r2, [r0, 0x20] - adds r1, r2 - mov r3, r12 - adds r3, 0x28 - movs r0, 0 - ldrsb r0, [r3, r0] - adds r0, r1 - lsls r0, 16 - lsrs r6, r0, 16 - mov r0, r12 - ldrh r1, [r0, 0x26] - ldrh r2, [r0, 0x22] - adds r1, r2 - mov r2, r12 - adds r2, 0x29 - movs r0, 0 - ldrsb r0, [r2, r0] - adds r0, r1 - lsls r0, 16 - lsrs r5, r0, 16 - adds r4, r3, 0 -_08068F4A: - ldrb r0, [r4] - lsls r0, 24 - asrs r0, 25 - subs r0, r6, r0 - lsls r0, 16 - lsrs r3, r0, 16 - ldrb r0, [r2] - lsls r0, 24 - asrs r0, 25 - subs r0, r5, r0 - lsls r0, 16 - lsrs r2, r0, 16 - lsls r0, r6, 16 - asrs r0, 16 - cmp r0, 0xFF - bgt _08068F76 - lsls r0, r3, 16 - asrs r0, 16 - movs r1, 0x10 - negs r1, r1 - cmp r0, r1 - bge _08068F82 -_08068F76: - mov r4, r12 - adds r4, 0x3E - ldrb r0, [r4] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r4] -_08068F82: - lsls r0, r5, 16 - asrs r0, 16 - cmp r0, 0xAF - bgt _08068F96 - lsls r0, r2, 16 - asrs r0, 16 - movs r1, 0x10 - negs r1, r1 - cmp r0, r1 - bge _08068FA2 -_08068F96: - mov r0, r12 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] -_08068FA2: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8068EB4 - - thumb_func_start sub_8068FA8 -sub_8068FA8: @ 8068FA8 - push {r4,lr} - adds r4, r0, 0 - bl sub_8069248 - ldrh r0, [r4, 0x30] - lsls r0, 24 - lsrs r0, 24 - adds r1, r4, 0 - movs r2, 0x1 - bl SetObjectSubpriorityByZCoord - ldrh r1, [r4, 0x32] - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl sub_8068EB4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8068FA8 - - thumb_func_start sub_8068FD0 -sub_8068FD0: @ 8068FD0 - push {r4,r5,lr} - movs r5, 0 - movs r4, 0x3F -_08068FD6: - ldr r0, _08069004 @ =gSprites - adds r2, r5, r0 - adds r0, r2, 0 - adds r0, 0x3E - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08068FF6 - ldr r1, [r2, 0x1C] - ldr r0, _08069008 @ =sub_8068FA8 - cmp r1, r0 - bne _08068FF6 - adds r0, r2, 0 - bl DestroySprite -_08068FF6: - adds r5, 0x44 - subs r4, 0x1 - cmp r4, 0 - bge _08068FD6 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08069004: .4byte gSprites -_08069008: .4byte sub_8068FA8 - thumb_func_end sub_8068FD0 - - thumb_func_start sub_806900C -sub_806900C: @ 806900C - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - movs r3, 0 - ldr r6, _08069040 @ =gSprites - movs r4, 0 -_08069018: - adds r2, r4, r6 - adds r0, r2, 0 - adds r0, 0x3E - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08069048 - ldr r1, [r2, 0x1C] - ldr r0, _08069044 @ =sub_8068FA8 - cmp r1, r0 - bne _08069048 - ldrh r0, [r2, 0x2E] - lsls r0, 24 - lsrs r0, 24 - cmp r0, r5 - bne _08069048 - adds r0, r3, 0 - b _08069052 - .align 2, 0 -_08069040: .4byte gSprites -_08069044: .4byte sub_8068FA8 -_08069048: - adds r4, 0x44 - adds r3, 0x1 - cmp r3, 0x3F - ble _08069018 - movs r0, 0x40 -_08069052: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_806900C - - thumb_func_start sub_8069058 -sub_8069058: @ 8069058 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r5, r1, 24 - bl sub_806900C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _0806908A - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - ldr r0, _08069090 @ =gSprites - adds r4, r0 - adds r0, r5, 0 - bl ObjectEventDirectionToImageAnimId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl StartSpriteAnim -_0806908A: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08069090: .4byte gSprites - thumb_func_end sub_8069058 - - thumb_func_start sub_8069094 -sub_8069094: @ 8069094 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r5, r1, 24 - bl sub_806900C - adds r1, r0, 0 - cmp r1, 0x40 - beq _0806911E - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _080690F8 @ =gSprites - adds r4, r0, r1 - adds r0, r5, 0 - bl GetObjectEventGraphicsInfo - ldrh r3, [r4, 0x4] - lsls r3, 22 - ldr r1, [r0, 0x10] - ldr r2, [r1, 0x4] - ldr r1, [r1] - str r1, [r4] - str r2, [r4, 0x4] - lsrs r3, 22 - ldrh r2, [r4, 0x4] - ldr r1, _080690FC @ =0xfffffc00 - ands r1, r2 - orrs r1, r3 - strh r1, [r4, 0x4] - ldrb r2, [r0, 0xC] - lsls r2, 28 - lsrs r2, 24 - ldrb r3, [r4, 0x5] - movs r1, 0xF - ands r1, r3 - orrs r1, r2 - strb r1, [r4, 0x5] - ldr r1, [r0, 0x1C] - str r1, [r4, 0xC] - ldr r1, [r0, 0x14] - cmp r1, 0 - bne _08069100 - str r1, [r4, 0x18] - adds r0, r4, 0 - adds r0, 0x42 - strb r1, [r0] - b _08069116 - .align 2, 0 -_080690F8: .4byte gSprites -_080690FC: .4byte 0xfffffc00 -_08069100: - adds r0, r4, 0 - bl SetSubspriteTables - adds r2, r4, 0 - adds r2, 0x42 - ldrb r0, [r2] - movs r1, 0x3F - ands r1, r0 - movs r0, 0x80 - orrs r1, r0 - strb r1, [r2] -_08069116: - adds r0, r4, 0 - movs r1, 0 - bl StartSpriteAnim -_0806911E: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8069094 - - thumb_func_start sub_8069124 -sub_8069124: @ 8069124 - push {r4,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r0, 24 - bl sub_806900C - lsls r0, 24 - lsrs r2, r0, 24 - adds r3, r2, 0 - cmp r2, 0x40 - beq _08069160 - cmp r4, 0 - beq _08069154 - ldr r0, _08069150 @ =gSprites - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r0 - movs r0, 0x1 - strh r0, [r1, 0x32] - b _08069160 - .align 2, 0 -_08069150: .4byte gSprites -_08069154: - ldr r1, _08069168 @ =gSprites - lsls r0, r3, 4 - adds r0, r3 - lsls r0, 2 - adds r0, r1 - strh r4, [r0, 0x32] -_08069160: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08069168: .4byte gSprites - thumb_func_end sub_8069124 - - thumb_func_start sub_806916C -sub_806916C: @ 806916C - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl sub_806900C - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x40 - bne _08069182 - movs r0, 0 - b _0806919A -_08069182: - movs r3, 0 - ldr r0, _080691A0 @ =gSprites - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r0 - movs r2, 0x32 - ldrsh r0, [r1, r2] - cmp r0, 0x1 - bne _08069198 - movs r3, 0x1 -_08069198: - adds r0, r3, 0 -_0806919A: - pop {r1} - bx r1 - .align 2, 0 -_080691A0: .4byte gSprites - thumb_func_end sub_806916C - - thumb_func_start sub_80691A4 -sub_80691A4: @ 80691A4 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r4, r1, 24 - bl sub_806900C - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x40 - beq _080691CA - ldr r0, _080691D0 @ =gSprites - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r0 - movs r0, 0 - strh r4, [r1, 0x34] - strh r0, [r1, 0x36] -_080691CA: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080691D0: .4byte gSprites - thumb_func_end sub_80691A4 - - thumb_func_start sub_80691D4 -sub_80691D4: @ 80691D4 - push {lr} - adds r2, r0, 0 - movs r1, 0x36 - ldrsh r0, [r2, r1] - cmp r0, 0 - beq _080691E6 - cmp r0, 0x1 - beq _080691EE - b _0806920C -_080691E6: - strh r0, [r2, 0x26] - ldrh r0, [r2, 0x36] - adds r0, 0x1 - strh r0, [r2, 0x36] -_080691EE: - ldrh r0, [r2, 0x26] - subs r0, 0x8 - movs r3, 0 - strh r0, [r2, 0x26] - lsls r0, 16 - asrs r0, 16 - movs r1, 0xA0 - negs r1, r1 - cmp r0, r1 - bne _0806920C - strh r3, [r2, 0x26] - movs r0, 0x1 - strh r0, [r2, 0x32] - strh r3, [r2, 0x34] - strh r3, [r2, 0x36] -_0806920C: - pop {r0} - bx r0 - thumb_func_end sub_80691D4 - - thumb_func_start sub_8069210 -sub_8069210: @ 8069210 - push {lr} - adds r1, r0, 0 - movs r2, 0x36 - ldrsh r0, [r1, r2] - cmp r0, 0 - beq _08069222 - cmp r0, 0x1 - beq _0806922C - b _0806923E -_08069222: - ldr r0, _08069244 @ =0x0000ff60 - strh r0, [r1, 0x26] - ldrh r0, [r1, 0x36] - adds r0, 0x1 - strh r0, [r1, 0x36] -_0806922C: - ldrh r0, [r1, 0x26] - adds r0, 0x8 - strh r0, [r1, 0x26] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - bne _0806923E - strh r0, [r1, 0x34] - strh r0, [r1, 0x36] -_0806923E: - pop {r0} - bx r0 - .align 2, 0 -_08069244: .4byte 0x0000ff60 - thumb_func_end sub_8069210 - - thumb_func_start sub_8069248 -sub_8069248: @ 8069248 - push {lr} - adds r1, r0, 0 - movs r2, 0x34 - ldrsh r0, [r1, r2] - cmp r0, 0x1 - beq _08069264 - cmp r0, 0x1 - bgt _0806925E - cmp r0, 0 - beq _08069284 - b _08069274 -_0806925E: - cmp r0, 0x2 - beq _0806926C - b _08069274 -_08069264: - adds r0, r1, 0 - bl sub_8069210 - b _08069284 -_0806926C: - adds r0, r1, 0 - bl sub_80691D4 - b _08069284 -_08069274: - movs r0, 0 - strh r0, [r1, 0x34] - ldr r0, _08069288 @ =gUnknown_83A720C "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/evobjmv.c" - ldr r1, _0806928C @ =0x00003413 - ldr r2, _08069290 @ =gUnknown_83A7240 "0" - movs r3, 0x1 - bl AGBAssert -_08069284: - pop {r0} - bx r0 - .align 2, 0 -_08069288: .4byte gUnknown_83A720C -_0806928C: .4byte 0x00003413 -_08069290: .4byte gUnknown_83A7240 - thumb_func_end sub_8069248 - - thumb_func_start sub_8069294 -sub_8069294: @ 8069294 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl sub_806900C - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x40 - beq _080692B8 - ldr r0, _080692BC @ =gSprites - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r0 - movs r2, 0x34 - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _080692C0 -_080692B8: - movs r0, 0 - b _080692C2 - .align 2, 0 -_080692BC: .4byte gSprites -_080692C0: - movs r0, 0x1 -_080692C2: - pop {r1} - bx r1 - thumb_func_end sub_8069294 - - thumb_func_start oe_exec_and_other_stuff -oe_exec_and_other_stuff: @ 80692C8 - push {r4,lr} - adds r4, r0, 0 - adds r0, r1, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r1, _080692EC @ =gFieldEffectArguments - adds r2, r1, 0x4 - adds r3, r1, 0 - adds r3, 0x8 - bl ObjectEventGetLocalIdAndMap - adds r0, r4, 0 - bl FieldEffectStart - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080692EC: .4byte gFieldEffectArguments - thumb_func_end oe_exec_and_other_stuff - - thumb_func_start DoShadowFieldEffect -DoShadowFieldEffect: @ 80692F0 - push {lr} - adds r1, r0, 0 - ldrb r2, [r1, 0x2] - lsls r0, r2, 25 - cmp r0, 0 - blt _08069308 - movs r0, 0x40 - orrs r0, r2 - strb r0, [r1, 0x2] - movs r0, 0x3 - bl oe_exec_and_other_stuff -_08069308: - pop {r0} - bx r0 - thumb_func_end DoShadowFieldEffect - - thumb_func_start DoRippleFieldEffect -DoRippleFieldEffect: @ 806930C - push {r4,lr} - adds r4, r1, 0 - ldrb r0, [r0, 0x5] - bl GetObjectEventGraphicsInfo - ldr r2, _08069344 @ =gFieldEffectArguments - movs r3, 0x20 - ldrsh r1, [r4, r3] - str r1, [r2] - movs r3, 0x22 - ldrsh r1, [r4, r3] - ldrh r0, [r0, 0xA] - lsls r0, 16 - asrs r0, 17 - adds r1, r0 - subs r1, 0x2 - str r1, [r2, 0x4] - movs r0, 0x97 - str r0, [r2, 0x8] - movs r0, 0x3 - str r0, [r2, 0xC] - movs r0, 0x5 - bl FieldEffectStart - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08069344: .4byte gFieldEffectArguments - thumb_func_end DoRippleFieldEffect - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/event_object_movement.s b/asm/event_object_movement.s index 30af8949b..f585a60bc 100644 --- a/asm/event_object_movement.s +++ b/asm/event_object_movement.s @@ -1645,7 +1645,7 @@ sprite_new: @ 805E9F8 adds r0, r5, 0 bl GetObjectEventGraphicsInfo adds r4, r0, 0 - ldr r1, _0805EB38 @ =sub_8068FA8 + ldr r1, _0805EB38 @ =UpdateObjectEventSpriteSubpriorityAndVisibility add r3, sp, 0x1C adds r0, r5, 0 mov r2, sp @@ -1769,7 +1769,7 @@ _0805EB24: pop {r1} bx r1 .align 2, 0 -_0805EB38: .4byte sub_8068FA8 +_0805EB38: .4byte UpdateObjectEventSpriteSubpriorityAndVisibility _0805EB3C: .4byte 0x0000ffff _0805EB40: .4byte gSprites thumb_func_end sprite_new @@ -18285,7 +18285,7 @@ sub_8066108: @ 8066108 push {r4,lr} adds r4, r1, 0 adds r0, r4, 0 - bl sub_8068E9C + bl SpriteAnimEnded lsls r0, 24 cmp r0, 0 bne _0806611C @@ -19637,7 +19637,7 @@ sub_8066A54: @ 8066A54 push {r4,lr} adds r4, r1, 0 adds r0, r4, 0 - bl sub_8068E9C + bl SpriteAnimEnded lsls r0, 24 cmp r0, 0 beq _08066A70 @@ -19707,7 +19707,7 @@ sub_8066AD0: @ 8066AD0 push {r4,lr} adds r4, r1, 0 adds r0, r4, 0 - bl sub_8068E9C + bl SpriteAnimEnded lsls r0, 24 cmp r0, 0 beq _08066AEC diff --git a/asm/field_control_avatar.s b/asm/field_control_avatar.s index 83f9a5700..b74e60d1f 100644 --- a/asm/field_control_avatar.s +++ b/asm/field_control_avatar.s @@ -1330,10 +1330,10 @@ _0806D2F0: lsrs r0, 24 cmp r0, 0x1 bne _0806D308 - ldr r0, _0806D304 @ =EventScript_1C549C + ldr r0, _0806D304 @ =TrainerTower_EventScript_ShowTime b _0806D53E .align 2, 0 -_0806D304: .4byte EventScript_1C549C +_0806D304: .4byte TrainerTower_EventScript_ShowTime _0806D308: adds r0, r4, 0 adds r1, r5, 0 diff --git a/asm/field_effect_helpers.s b/asm/field_effect_helpers.s index 2797accf4..db64b77db 100644 --- a/asm/field_effect_helpers.s +++ b/asm/field_effect_helpers.s @@ -951,7 +951,7 @@ _080DB4C0: _080DB4CE: adds r0, r5, 0 movs r1, 0 - bl sub_8068EB4 + bl UpdateObjectEventSpriteVisibility ldrh r1, [r5, 0x2E] lsls r1, 24 lsrs r1, 24 @@ -1294,7 +1294,7 @@ _080DB750: _080DB770: adds r0, r5, 0 movs r1, 0 - bl sub_8068EB4 + bl UpdateObjectEventSpriteVisibility ldrh r1, [r5, 0x2E] lsls r1, 24 lsrs r1, 24 @@ -1564,7 +1564,7 @@ _080DB94E: lsls r1, 29 lsrs r1, 31 adds r0, r4, 0 - bl sub_8068EB4 + bl UpdateObjectEventSpriteVisibility _080DB98E: add sp, 0x4 pop {r3} @@ -1781,7 +1781,7 @@ sub_80DBB18: @ 80DBB18 _080DBB2E: adds r0, r1, 0 movs r1, 0 - bl sub_8068EB4 + bl UpdateObjectEventSpriteVisibility pop {r0} bx r0 thumb_func_end sub_80DBB18 @@ -1810,7 +1810,7 @@ sub_80DBB3C: @ 80DBB3C lsls r1, 29 lsrs r1, 31 adds r0, r4, 0 - bl sub_8068EB4 + bl UpdateObjectEventSpriteVisibility movs r1, 0x30 ldrsh r0, [r4, r1] cmp r0, 0x38 @@ -1966,7 +1966,7 @@ _080DBC66: strh r0, [r4, 0x22] adds r0, r4, 0 movs r1, 0 - bl sub_8068EB4 + bl UpdateObjectEventSpriteVisibility _080DBCA6: add sp, 0x4 pop {r4} @@ -2233,7 +2233,7 @@ _080DBE98: strb r0, [r1] adds r0, r4, 0 movs r1, 0 - bl sub_8068EB4 + bl UpdateObjectEventSpriteVisibility ldr r1, [r5, 0x10] ldr r0, [r4, 0x34] cmp r1, r0 @@ -2461,7 +2461,7 @@ _080DC03C: strb r0, [r1] adds r0, r4, 0 movs r1, 0 - bl sub_8068EB4 + bl UpdateObjectEventSpriteVisibility _080DC080: add sp, 0x4 pop {r4,r5} @@ -2889,7 +2889,7 @@ sub_80DC3A8: @ 80DC3A8 push {r4,lr} adds r4, r0, 0 movs r1, 0 - bl sub_8068EB4 + bl UpdateObjectEventSpriteVisibility adds r0, r4, 0 adds r0, 0x3F ldrb r1, [r0] @@ -3627,7 +3627,7 @@ _080DC8F6: strb r0, [r1] adds r0, r4, 0 movs r1, 0 - bl sub_8068EB4 + bl UpdateObjectEventSpriteVisibility _080DC926: add sp, 0x4 pop {r4-r6} @@ -3706,7 +3706,7 @@ sub_80DC99C: @ 80DC99C strh r1, [r4, 0x22] adds r0, r4, 0 movs r1, 0 - bl sub_8068EB4 + bl UpdateObjectEventSpriteVisibility ldrh r1, [r4, 0x3E] ldr r0, _080DC9D8 @ =0x00001004 ands r0, r1 @@ -4163,7 +4163,7 @@ sub_80DCCE0: @ 80DCCE0 _080DCCFE: adds r0, r4, 0 movs r1, 0 - bl sub_8068EB4 + bl UpdateObjectEventSpriteVisibility ldrh r0, [r4, 0x2E] lsls r0, 24 lsrs r0, 24 @@ -4195,7 +4195,7 @@ sub_80DCD1C: @ 80DCD1C _080DCD3A: adds r0, r2, 0 movs r1, 0 - bl sub_8068EB4 + bl UpdateObjectEventSpriteVisibility _080DCD42: pop {r0} bx r0 diff --git a/asm/field_screen_effect.s b/asm/field_screen_effect.s deleted file mode 100644 index f0ca0f77e..000000000 --- a/asm/field_screen_effect.s +++ /dev/null @@ -1,306 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_807F3A4 -sub_807F3A4: @ 807F3A4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - mov r8, r1 - lsls r0, 24 - lsrs r0, 24 - lsls r2, 24 - lsrs r2, 24 - mov r10, r2 - lsls r3, 24 - lsrs r3, 24 - mov r9, r3 - ldr r2, _0807F3DC @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 - ldrb r7, [r4, 0xA] - movs r0, 0xC - ldrsh r6, [r4, r0] - cmp r6, 0 - beq _0807F3E0 - cmp r6, 0x1 - beq _0807F430 - b _0807F448 - .align 2, 0 -_0807F3DC: .4byte gTasks -_0807F3E0: - adds r0, r7, 0 - movs r1, 0 - bl FillWindowPixelBuffer - ldr r5, _0807F424 @ =gStringVar4 - adds r0, r5, 0 - mov r1, r8 - bl StringExpandPlaceholders - movs r0, 0x1 - mov r8, r0 - str r0, [sp] - str r6, [sp, 0x4] - ldr r0, _0807F428 @ =gUnknown_83C68EC - str r0, [sp, 0x8] - mov r0, r8 - str r0, [sp, 0xC] - str r5, [sp, 0x10] - adds r0, r7, 0 - movs r1, 0x2 - mov r2, r10 - mov r3, r9 - bl AddTextPrinterParameterized4 - ldr r2, _0807F42C @ =gTextFlags - ldrb r1, [r2] - movs r0, 0x2 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - mov r0, r8 - strh r0, [r4, 0xC] - b _0807F448 - .align 2, 0 -_0807F424: .4byte gStringVar4 -_0807F428: .4byte gUnknown_83C68EC -_0807F42C: .4byte gTextFlags -_0807F430: - bl RunTextPrinters - adds r0, r7, 0 - bl IsTextPrinterActive - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0 - bne _0807F448 - strh r0, [r4, 0xC] - movs r0, 0x1 - b _0807F44A -_0807F448: - movs r0, 0 -_0807F44A: - add sp, 0x14 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_807F3A4 - - thumb_func_start sub_807F45C -sub_807F45C: @ 807F45C - push {r4-r7,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r1, _0807F484 @ =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - movs r2, 0x8 - ldrsh r0, [r0, r2] - adds r2, r1, 0 - cmp r0, 0x6 - bls _0807F478 - b _0807F5E4 -_0807F478: - lsls r0, 2 - ldr r1, _0807F488 @ =_0807F48C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0807F484: .4byte gTasks -_0807F488: .4byte _0807F48C - .align 2, 0 -_0807F48C: - .4byte _0807F4A8 - .4byte _0807F538 - .4byte _0807F588 - .4byte _0807F5B6 - .4byte _0807F540 - .4byte _0807F588 - .4byte _0807F5D0 -_0807F4A8: - ldr r0, _0807F518 @ =gUnknown_83C68E4 - bl AddWindow - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, _0807F51C @ =gTasks - lsls r4, r6, 2 - adds r0, r4, r6 - lsls r0, 3 - adds r7, r0, r1 - strh r5, [r7, 0xA] - movs r0, 0xF0 - bl Menu_LoadStdPalAt - adds r0, r5, 0 - movs r1, 0 - bl FillWindowPixelBuffer - adds r0, r5, 0 - bl PutWindowTilemap - adds r0, r5, 0 - movs r1, 0x3 - bl CopyWindowToVram - movs r0, 0x1 - bl GetHealLocationPointer - adds r3, r0, 0 - ldr r0, _0807F520 @ =gSaveBlock1Ptr - ldr r2, [r0] - ldrh r0, [r2, 0x1C] - ldrh r5, [r3] - cmp r0, r5 - bne _0807F524 - movs r1, 0x1E - ldrsb r1, [r2, r1] - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - bne _0807F524 - movs r0, 0x20 - ldrsh r1, [r2, r0] - movs r5, 0x2 - ldrsh r0, [r3, r5] - cmp r1, r0 - bne _0807F524 - movs r0, 0x22 - ldrsh r1, [r2, r0] - movs r2, 0x4 - ldrsh r0, [r3, r2] - cmp r1, r0 - bne _0807F524 - movs r0, 0x4 - strh r0, [r7, 0x8] - b _0807F5E4 - .align 2, 0 -_0807F518: .4byte gUnknown_83C68E4 -_0807F51C: .4byte gTasks -_0807F520: .4byte gSaveBlock1Ptr -_0807F524: - ldr r0, _0807F534 @ =gTasks - adds r1, r4, r6 - lsls r1, 3 - adds r1, r0 - movs r0, 0x1 - strh r0, [r1, 0x8] - b _0807F5E4 - .align 2, 0 -_0807F534: .4byte gTasks -_0807F538: - ldr r1, _0807F53C @ =gUnknown_841B554 - b _0807F542 - .align 2, 0 -_0807F53C: .4byte gUnknown_841B554 -_0807F540: - ldr r1, _0807F578 @ =gUnknown_841B5B6 -_0807F542: - adds r0, r6, 0 - movs r2, 0x2 - movs r3, 0x8 - bl sub_807F3A4 - lsls r0, 24 - cmp r0, 0 - beq _0807F5E4 - ldr r0, _0807F57C @ =gPlayerAvatar - ldrb r1, [r0, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _0807F580 @ =gObjectEvents - adds r0, r1 - movs r1, 0x2 - bl ObjectEventTurn - ldr r1, _0807F584 @ =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - ldrh r1, [r0, 0x8] - adds r1, 0x1 - strh r1, [r0, 0x8] - b _0807F5E4 - .align 2, 0 -_0807F578: .4byte gUnknown_841B5B6 -_0807F57C: .4byte gPlayerAvatar -_0807F580: .4byte gObjectEvents -_0807F584: .4byte gTasks -_0807F588: - lsls r4, r6, 2 - adds r4, r6 - lsls r4, 3 - adds r4, r2 - ldrb r5, [r4, 0xA] - adds r0, r5, 0 - bl ClearWindowTilemap - adds r0, r5, 0 - movs r1, 0x1 - bl CopyWindowToVram - adds r0, r5, 0 - bl RemoveWindow - bl palette_bg_faded_fill_black - bl sub_807DC00 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _0807F5E4 -_0807F5B6: - bl sub_807E418 - cmp r0, 0x1 - bne _0807F5E4 - adds r0, r6, 0 - bl DestroyTask - ldr r0, _0807F5CC @ =EventScript_AfterWhiteOutHeal - bl ScriptContext1_SetupScript - b _0807F5E4 - .align 2, 0 -_0807F5CC: .4byte EventScript_AfterWhiteOutHeal -_0807F5D0: - bl sub_807E418 - cmp r0, 0x1 - bne _0807F5E4 - adds r0, r6, 0 - bl DestroyTask - ldr r0, _0807F5EC @ =EventScript_MomHeal - bl ScriptContext1_SetupScript -_0807F5E4: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0807F5EC: .4byte EventScript_MomHeal - thumb_func_end sub_807F45C - - thumb_func_start sub_807F5F0 -sub_807F5F0: @ 807F5F0 - push {lr} - bl ScriptContext2_Enable - bl palette_bg_faded_fill_black - ldr r0, _0807F618 @ =sub_807F45C - movs r1, 0xA - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0807F61C @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r0, 0 - strh r0, [r1, 0x8] - pop {r0} - bx r0 - .align 2, 0 -_0807F618: .4byte sub_807F45C -_0807F61C: .4byte gTasks - thumb_func_end sub_807F5F0 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/librfu_intr.s b/asm/librfu_intr.s deleted file mode 100644 index 2cc761554..000000000 --- a/asm/librfu_intr.s +++ /dev/null @@ -1,697 +0,0 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - arm_func_start IntrSIO32 -IntrSIO32: @ 81DFC50 - mov r12, sp - stmdb sp!, {r11,r12,lr,pc} - ldr r3, _081DFCB0 @ =gSTWIStatus - ldr r0, [r3] - ldr r2, [r0] - sub r11, r12, 0x4 - cmp r2, 0xA - bne _081DFC8C - ldr r0, [r0, 0x20] - cmp r0, 0 - ldmdbeq r11, {r11,sp,lr} - bxeq lr - bl Callback_Dummy_ID - ldmdb r11, {r11,sp,lr} - bx lr -_081DFC8C: - ldrb r3, [r0, 0x14] - cmp r3, 0x1 - bne _081DFCA4 - bl sio32intr_clock_master - ldmdb r11, {r11,sp,lr} - bx lr -_081DFCA4: - bl sio32intr_clock_slave - ldmdb r11, {r11,sp,lr} - bx lr - .align 2, 0 -_081DFCB0: .4byte gSTWIStatus - arm_func_end IntrSIO32 - - arm_func_start sio32intr_clock_master -sio32intr_clock_master: @ 81DFCB4 - mov r12, sp - stmdb sp!, {r4-r6,r11,r12,lr,pc} - mov r0, 0x50 - sub r11, r12, 0x4 - bl STWI_set_timer_in_RAM - mov r4, 0x120 - ldr r2, _081DFF28 @ =gSTWIStatus - add r4, r4, 0x4000000 - ldr lr, [r4] - ldr r12, [r2] - ldr r3, [r12] - mov r6, r2 - cmp r3, 0 - bne _081DFD34 - cmp lr, 0x80000000 - bne _081DFDB4 - ldrb r2, [r12, 0x5] - ldrb r3, [r12, 0x4] - cmp r2, r3 - bhi _081DFD24 - ldr r3, [r12, 0x24] - mov r1, r2 - ldr r2, [r3, r1, lsl 2] - str r2, [r4] - ldrb r3, [r12, 0x5] - add r3, r3, 0x1 - strb r3, [r12, 0x5] - b _081DFE10 -_081DFD24: - mov r3, 0x1 - str r3, [r12] - str lr, [r4] - b _081DFE10 -_081DFD34: - ldr r3, [r12] - cmp r3, 0x1 - bne _081DFDC4 - mov r3, 0x99000000 - add r3, r3, 0x660000 - mov r5, 0x80000000 - and r2, lr, r5, asr 15 - cmp r2, r3 - bne _081DFDB4 - mov r3, 0 - strb r3, [r12, 0x8] - ldr r1, [r6] - ldrb r0, [r1, 0x8] - ldr r2, [r1, 0x28] - str lr, [r2, r0, lsl 2] - ldrb r3, [r1, 0x8] - add r3, r3, 0x1 - strb r3, [r1, 0x8] - ldr r2, [r6] - strb lr, [r2, 0x9] - ldr r3, [r6] - mov r2, lr, lsr 8 - strb r2, [r3, 0x7] - ldr r1, [r6] - ldrb r2, [r1, 0x7] - ldrb r3, [r1, 0x8] - cmp r2, r3 - bcc _081DFDFC - mov r3, 0x2 - str r3, [r1] - str r5, [r4] - b _081DFE10 -_081DFDB4: - bl STWI_stop_timer_in_RAM - mov r0, 0x82 - bl STWI_set_timer_in_RAM - b _081DFF3C -_081DFDC4: - ldr r3, [r12] - cmp r3, 0x2 - bne _081DFE10 - ldrb r1, [r12, 0x8] - ldr r2, [r12, 0x28] - str lr, [r2, r1, lsl 2] - ldrb r3, [r12, 0x8] - add r3, r3, 0x1 - strb r3, [r12, 0x8] - ldr r1, [r6] - ldrb r2, [r1, 0x7] - ldrb r3, [r1, 0x8] - cmp r2, r3 - bcs _081DFE08 -_081DFDFC: - mov r3, 0x3 - str r3, [r1] - b _081DFE10 -_081DFE08: - mov r3, 0x80000000 - str r3, [r4] -_081DFE10: - mov r0, 0x1 - bl handshake_wait - mov r0, r0, lsl 16 - cmp r0, 0x10000 - beq _081DFF3C - mov r4, 0x128 - add r4, r4, 0x4000000 - mov r5, 0x5000 - add r3, r5, 0xB - strh r3, [r4] - mov r0, 0 - bl handshake_wait - mov r0, r0, lsl 16 - cmp r0, 0x10000 - beq _081DFF3C - bl STWI_stop_timer_in_RAM - ldr r1, [r6] - ldr r0, [r1] - cmp r0, 0x3 - bne _081DFF2C - ldrb r3, [r1, 0x9] - cmp r3, 0xA5 - cmpne r3, 0xA7 - beq _081DFE84 - and r3, r3, 0xFF - cmp r3, 0xB5 - beq _081DFE84 - cmp r3, 0xB7 - bne _081DFECC -_081DFE84: - mov r1, 0x120 - add r1, r1, 0x4000000 - mov r12, 0x128 - add r12, r12, 0x4000000 - ldr r0, [r6] - mov r3, 0 - strb r3, [r0, 0x14] - mov r2, 0x80000000 - str r2, [r1] - add r3, r3, 0x5000 - add r2, r3, 0x2 - strh r2, [r12] - add r3, r3, 0x82 - strh r3, [r12] - ldr r2, [r6] - mov r3, 0x5 - str r3, [r2] - b _081DFEFC -_081DFECC: - cmp r3, 0xEE - bne _081DFEEC - add r3, r5, 0x3 - strh r3, [r4] - mov r2, 0x4 - str r2, [r1] - strh r0, [r1, 0x12] - b _081DFEFC -_081DFEEC: - add r3, r5, 0x3 - strh r3, [r4] - mov r2, 0x4 - str r2, [r1] -_081DFEFC: - ldr r2, [r6] - mov r3, 0 - strb r3, [r2, 0x2C] - ldr r0, [r6] - ldr r2, [r0, 0x18] - cmp r2, r3 - beq _081DFF3C - ldrh r1, [r0, 0x12] - ldrb r0, [r0, 0x6] - bl Callback_Dummy_M - b _081DFF3C - .align 2, 0 -_081DFF28: .4byte gSTWIStatus -_081DFF2C: - add r3, r5, 0x3 - strh r3, [r4] - add r2, r5, 0x83 - strh r2, [r4] -_081DFF3C: - ldmdb r11, {r4-r6,r11,sp,lr} - bx lr - arm_func_end sio32intr_clock_master - - arm_func_start sio32intr_clock_slave -sio32intr_clock_slave: @ 81DFF44 - mov r12, sp - stmdb sp!, {r4-r6,r11,r12,lr,pc} - ldr r4, _081E02F0 @ =gSTWIStatus - mov r0, 0x64 - ldr r3, [r4] - mov r6, 0 - strb r6, [r3, 0x10] - sub r11, r12, 0x4 - bl STWI_set_timer_in_RAM - mov r0, r6 - bl handshake_wait - mov r0, r0, lsl 16 - cmp r0, 0x10000 - mov r5, r4 - beq _081E0348 - mov r3, 0x128 - add r3, r3, 0x4000000 - mov r2, 0x5000 - add r2, r2, 0xA - strh r2, [r3] - mov lr, 0x120 - ldr r0, [r5] - add lr, lr, 0x4000000 - ldr r12, [lr] - ldr r3, [r0] - cmp r3, 0x5 - bne _081E0074 - ldr r3, [r0, 0x28] - mov r4, 0x1 - mov r0, 0x99000000 - str r12, [r3] - add r0, r0, 0x660000 - ldr r2, [r5] - mov r3, r0, lsr 16 - strb r4, [r2, 0x5] - cmp r3, r12, lsr 16 - bne _081E01C0 - ldr r3, [r5] - mov r2, r12, lsr 8 - strb r2, [r3, 0x4] - ldr r2, [r5] - strb r12, [r2, 0x6] - ldr r1, [r5] - ldrb r3, [r1, 0x4] - cmp r3, r6 - bne _081E0058 - ldrb r2, [r1, 0x6] - sub r3, r2, 0x27 - cmp r2, 0x36 - cmpne r3, 0x2 - bhi _081E002C - add r3, r2, 0x80 - strb r3, [r1, 0x9] - ldr r2, [r5] - ldrb r3, [r2, 0x9] - ldr r1, [r2, 0x24] - add r3, r3, r0 - b _081E00DC -_081E002C: - ldr r2, [r1, 0x24] - ldr r3, _081E02F4 @ =0x996601ee - str r3, [r2] - ldr r2, [r5] - ldrb r3, [r2, 0x6] - sub r3, r3, 0x10 - cmp r3, 0x2D - bhi _081E0114 - ldr r3, [r2, 0x24] - str r4, [r3, 0x4] - b _081E0120 -_081E0058: - mov r3, 0x80000000 - str r3, [lr] - strb r4, [r1, 0x5] - ldr r2, [r5] - add r3, r3, 0x80000006 - str r3, [r2] - b _081E01D0 -_081E0074: - ldr r3, [r0] - cmp r3, 0x6 - bne _081E0174 - ldrb r1, [r0, 0x5] - ldr r2, [r0, 0x28] - str r12, [r2, r1, lsl 2] - ldrb r3, [r0, 0x5] - add r3, r3, 0x1 - strb r3, [r0, 0x5] - ldr r1, [r5] - ldrb r2, [r1, 0x4] - ldrb r3, [r1, 0x5] - cmp r2, r3 - bcs _081E0168 - ldrb r2, [r1, 0x6] - sub r3, r2, 0x28 - cmp r2, 0x36 - cmpne r3, 0x1 - bhi _081E00EC - add r3, r2, 0x80 - strb r3, [r1, 0x9] - ldr r2, [r5] - ldrb r3, [r2, 0x9] - ldr r1, [r2, 0x24] - orr r3, r3, 0x99000000 - orr r3, r3, 0x660000 -_081E00DC: - str r3, [r1] - ldr r2, [r5] - strb r6, [r2, 0x7] - b _081E0138 -_081E00EC: - ldr r2, [r1, 0x24] - ldr r3, _081E02F4 @ =0x996601ee - str r3, [r2] - ldr r2, [r5] - ldrb r3, [r2, 0x6] - sub r3, r3, 0x10 - cmp r3, 0x2D - ldrls r2, [r2, 0x24] - movls r3, 0x1 - bls _081E011C -_081E0114: - ldr r2, [r2, 0x24] - mov r3, 0x2 -_081E011C: - str r3, [r2, 0x4] -_081E0120: - ldr r2, [r5] - mov r3, 0x1 - strb r3, [r2, 0x7] - ldr r1, [r5] - add r3, r3, 0x2 - strh r3, [r1, 0x12] -_081E0138: - ldr r0, [r5] - ldr r2, [r0, 0x24] - mov r3, 0x120 - ldr r1, [r2] - add r3, r3, 0x4000000 - str r1, [r3] - mov r2, 0x1 - strb r2, [r0, 0x8] - ldr r1, [r5] - mov r3, 0x7 - str r3, [r1] - b _081E01D0 -_081E0168: - mov r3, 0x80000000 - str r3, [lr] - b _081E01D0 -_081E0174: - ldr r3, [r0] - cmp r3, 0x7 - bne _081E01D0 - cmp r12, 0x80000000 - bne _081E01C0 - ldrb r2, [r0, 0x7] - ldrb r3, [r0, 0x8] - cmp r2, r3 - movcc r3, 0x8 - strcc r3, [r0] - bcc _081E01D0 - ldrb r1, [r0, 0x8] - ldr r3, [r0, 0x24] - ldr r2, [r3, r1, lsl 2] - str r2, [lr] - ldrb r3, [r0, 0x8] - add r3, r3, 0x1 - strb r3, [r0, 0x8] - b _081E01D0 -_081E01C0: - bl STWI_stop_timer_in_RAM - mov r0, 0x64 - bl STWI_set_timer_in_RAM - b _081E0348 -_081E01D0: - mov r0, 0x1 - bl handshake_wait - mov r0, r0, lsl 16 - cmp r0, 0x10000 - beq _081E0348 - mov r6, r5 - ldr r3, [r6] - ldr r2, [r3] - cmp r2, 0x8 - bne _081E0298 - mov r4, 0x128 - add r4, r4, 0x4000000 - mov r3, 0x5000 - add r3, r3, 0x2 - strh r3, [r4] - bl STWI_stop_timer_in_RAM - ldr r0, [r6] - ldrh r3, [r0, 0x12] - cmp r3, 0x3 - bne _081E0244 - bl STWI_init_slave - ldr r3, [r6] - ldr r1, [r3, 0x1C] - cmp r1, 0 - beq _081E0348 - mov r0, 0x1EC - add r0, r0, 0x2 - bl Callback_Dummy_S - b _081E0348 -_081E0244: - mov r3, 0x120 - add r3, r3, 0x4000000 - mov r1, 0 - str r1, [r3] - mov r2, 0x5000 - strh r1, [r4] - add r2, r2, 0x3 - strh r2, [r4] - mov r3, 0x1 - strb r3, [r0, 0x14] - ldr r0, [r5] - ldr r2, [r0, 0x1C] - str r1, [r0] - cmp r2, r1 - beq _081E0348 - ldrb r3, [r0, 0x4] - ldrb r0, [r0, 0x6] - mov r1, r2 - orr r0, r0, r3, lsl 8 - bl Callback_Dummy_S - b _081E0348 -_081E0298: - mov r3, 0x208 - add r3, r3, 0x4000000 - mov r2, 0 - strh r2, [r3] - mov r1, 0x100 - add r2, r1, 0x4000002 - ldrh r3, [r2] - tst r3, 0x80 - beq _081E031C - ldrh r3, [r2] - tst r3, 0x3 - bne _081E02F8 - mov r2, 0xFF00 - add r1, r1, 0x4000000 - ldrh r3, [r1] - add r2, r2, 0x9B - cmp r3, r2 - bls _081E031C -_081E02E0: - ldrh r3, [r1] - cmp r3, r2 - bhi _081E02E0 - b _081E031C - .align 2, 0 -_081E02F0: .4byte gSTWIStatus -_081E02F4: .4byte 0x996601ee -_081E02F8: - mov r2, 0xFF00 - add r1, r1, 0x4000000 - ldrh r3, [r1] - add r2, r2, 0xFE - cmp r3, r2 - bls _081E031C -_081E0310: - ldrh r3, [r1] - cmp r3, r2 - bhi _081E0310 -_081E031C: - mov r1, 0x128 - add r1, r1, 0x4000000 - mov r0, 0x208 - add r0, r0, 0x4000000 - mov r3, 0x5000 - add r2, r3, 0x2 - strh r2, [r1] - add r3, r3, 0x82 - strh r3, [r1] - mov r2, 0x1 - strh r2, [r0] -_081E0348: - ldmdb r11, {r4-r6,r11,sp,lr} - bx lr - arm_func_end sio32intr_clock_slave - - arm_func_start handshake_wait -handshake_wait: @ 81E0350 - mov r12, sp - stmdb sp!, {r11,r12,lr,pc} - mov r1, 0x128 - add r1, r1, 0x4000000 - mov r0, r0, lsl 16 - ldr r2, _081E03B4 @ =gSTWIStatus - sub r11, r12, 0x4 - mov lr, r0, lsr 14 - ldr r12, [r2] -_081E0374: - ldrb r3, [r12, 0x10] - and r0, r3, 0xFF - cmp r0, 0x1 - beq _081E03A0 - ldrh r3, [r1] - and r3, r3, 0x4 - cmp r3, lr - bne _081E0374 - mov r0, 0 - ldmdb r11, {r11,sp,lr} - bx lr -_081E03A0: - ldr r2, [r2] - mov r3, 0 - strb r3, [r2, 0x10] - ldmdb r11, {r11,sp,lr} - bx lr - .align 2, 0 -_081E03B4: .4byte gSTWIStatus - arm_func_end handshake_wait - - arm_func_start STWI_set_timer_in_RAM -STWI_set_timer_in_RAM: @ 81E03B8 - mov r12, sp - stmdb sp!, {r4,r5,r11,r12,lr,pc} - mov r1, 0x208 - add r1, r1, 0x4000000 - mov r3, 0 - sub r11, r12, 0x4 - ldr r12, _081E0470 @ =gSTWIStatus - and lr, r0, 0xFF - ldr r2, [r12] - cmp lr, 0x50 - ldrb r0, [r2, 0xA] - mov r4, r12 - mov r2, lr - strh r3, [r1] - mov r0, r0, lsl 2 - add r3, r3, 0x100 - add r1, r3, 0x4000000 - add r3, r3, 0x4000002 - add r5, r0, r3 - beq _081E0440 - bgt _081E0418 - cmp lr, 0x32 - beq _081E042C - b _081E048C -_081E0418: - cmp r2, 0x64 - beq _081E0458 - cmp r2, 0x82 - beq _081E0474 - b _081E048C -_081E042C: - mvn r3, 0x334 - strh r3, [r0, r1] - ldr r2, [r4] - mov r3, 0x1 - b _081E0488 -_081E0440: - mov r3, 0xAE000000 - mov r3, r3, asr 20 - strh r3, [r0, r1] - ldr r2, [r4] - mov r3, 0x2 - b _081E0488 -_081E0458: - mvn r3, 0x660 - sub r3, r3, 0x9 - strh r3, [r0, r1] - ldr r2, [r4] - mov r3, 0x3 - b _081E0488 - .align 2, 0 -_081E0470: .4byte gSTWIStatus -_081E0474: - mvn r3, 0x850 - sub r3, r3, 0x2 - strh r3, [r0, r1] - ldr r2, [r4] - mov r3, 0x4 -_081E0488: - str r3, [r2, 0xC] -_081E048C: - mov r12, 0x200 - add r12, r12, 0x4000002 - mov r3, 0xC3 - strh r3, [r5] - mov r1, 0x208 - ldr r2, [r4] - add r1, r1, 0x4000000 - ldrb r0, [r2, 0xA] - sub r3, r3, 0xBB - mov r3, r3, lsl r0 - strh r3, [r12] - mov r2, 0x1 - strh r2, [r1] - ldmdb r11, {r4,r5,r11,sp,lr} - bx lr - arm_func_end STWI_set_timer_in_RAM - - arm_func_start STWI_stop_timer_in_RAM -STWI_stop_timer_in_RAM: @ 81E04C8 - mov r12, sp - stmdb sp!, {r11,r12,lr,pc} - mov r1, 0x100 - ldr lr, _081E0514 @ =gSTWIStatus - add r0, r1, 0x4000000 - ldr r2, [lr] - sub r11, r12, 0x4 - ldrb r3, [r2, 0xA] - mov r12, 0 - str r12, [r2, 0xC] - mov r3, r3, lsl 2 - strh r12, [r3, r0] - ldr r2, [lr] - ldrb r3, [r2, 0xA] - add r1, r1, 0x4000002 - mov r3, r3, lsl 2 - strh r12, [r3, r1] - ldmdb r11, {r11,sp,lr} - bx lr - .align 2, 0 -_081E0514: .4byte gSTWIStatus - arm_func_end STWI_stop_timer_in_RAM - - arm_func_start STWI_init_slave -STWI_init_slave: @ 81E0518 - mov r12, sp - stmdb sp!, {r11,r12,lr,pc} - ldr r0, _081E05A0 @ =gSTWIStatus - ldr r2, [r0] - mov r3, 0x5 - str r3, [r2] - mov r1, 0 - strb r1, [r2, 0x14] - ldr r3, [r0] - strb r1, [r3, 0x4] - ldr r2, [r0] - strb r1, [r2, 0x5] - ldr r3, [r0] - strb r1, [r3, 0x6] - ldr r2, [r0] - strb r1, [r2, 0x7] - ldr r3, [r0] - strb r1, [r3, 0x8] - ldr r2, [r0] - strb r1, [r2, 0x9] - ldr r3, [r0] - str r1, [r3, 0xC] - sub r11, r12, 0x4 - strb r1, [r3, 0x10] - mov r2, 0x128 - ldr r12, [r0] - add r2, r2, 0x4000000 - strh r1, [r12, 0x12] - mov r3, 0x5000 - strb r1, [r12, 0x15] - add r3, r3, 0x82 - strh r3, [r2] - ldmdb r11, {r11,sp,lr} - bx lr - .align 2, 0 -_081E05A0: .4byte gSTWIStatus - arm_func_end STWI_init_slave - - arm_func_start Callback_Dummy_M -Callback_Dummy_M: @ 81E05A4 - bx r2 - arm_func_end Callback_Dummy_M - - arm_func_start Callback_Dummy_S -Callback_Dummy_S: @ 81E05A8 - bx r1 - arm_func_end Callback_Dummy_S - - arm_func_start Callback_Dummy_ID -Callback_Dummy_ID: @ 81E05AC - bx r0 - arm_func_end Callback_Dummy_ID diff --git a/asm/macros.inc b/asm/macros.inc index ffbe3db29..0e53dc2a2 100644 --- a/asm/macros.inc +++ b/asm/macros.inc @@ -5,6 +5,7 @@ .include "asm/macros/ec.inc" .include "asm/macros/map.inc" .include "asm/macros/m4a.inc" + .include "asm/macros/trainer_tower.inc" .macro region_map_location x, y, width, height, name .byte \x diff --git a/asm/macros/event.inc b/asm/macros/event.inc index 7e95af9f4..51f8e7330 100644 --- a/asm/macros/event.inc +++ b/asm/macros/event.inc @@ -652,7 +652,7 @@ .4byte \pointer2 @ text .4byte \pointer3 @ text .4byte \pointer4 @ event script - .elseif \type == TRAINER_BATTLE_TUTORIAL + .elseif \type == TRAINER_BATTLE_EARLY_RIVAL .4byte \pointer1 @ text .4byte \pointer2 @ text .endif @@ -699,9 +699,9 @@ trainerbattle TRAINER_BATTLE_SINGLE_NO_INTRO_TEXT, \trainer, 0, \lose_text .endm - @ - .macro trainerbattle_tutorial trainer:req, unk:req, intro_text:req, lose_text:req - trainerbattle TRAINER_BATTLE_TUTORIAL, \trainer, \unk, \intro_text, \lose_text + @ Starts a trainer battle with victory text if the player loses. If flags is nonzero, the player will be healed after battle (and its assumed to be the tutorial battle) + .macro trainerbattle_earlyrival trainer:req, flags:req, defeat_text:req, victory_text:req + trainerbattle TRAINER_BATTLE_EARLY_RIVAL, \trainer, \flags, \defeat_text, \victory_text .endm @ Starts a trainer battle using the battle information stored in RAM (usually by trainerbattle, which actually calls this command behind-the-scenes), and blocks script execution until the battle finishes. diff --git a/asm/macros/trainer_tower.inc b/asm/macros/trainer_tower.inc new file mode 100644 index 000000000..8e5f606ee --- /dev/null +++ b/asm/macros/trainer_tower.inc @@ -0,0 +1,133 @@ + @ Sets NPC gfx and the floor layout depending on current challenge and floor + .macro ttower_initfloor + setvar VAR_0x8004, TRAINER_TOWER_FUNC_INIT_FLOOR + special CallTrainerTowerFunc + .endm + + @ Buffers the opponents battle speech to gStringVar4. speech is any TRAINER_TOWER_TEXT_*. + .macro ttower_getspeech speech:req, trainer=0xFF + setvar VAR_0x8004, TRAINER_TOWER_FUNC_GET_SPEECH + setvar VAR_0x8005, \speech + .if \trainer >= VARS_START && \trainer != 0xFF + copyvar VAR_0x8006, \trainer + .elseif \trainer != 0xFF + setvar VAR_0x8006, \trainer + .endif + special CallTrainerTowerFunc + .endm + + @ Starts a trainer tower battle. VAR_0x8005 is unused + .macro ttower_dobattle + setvar VAR_0x8004, TRAINER_TOWER_FUNC_DO_BATTLE + setvar VAR_0x8005, 0 + special CallTrainerTowerFunc + .endm + + @ Returns the current challenge type (CHALLENGE_TYPE_*). Mixed challenges use different types for each floor. If VAR_0x8005 is != FALSE, does nothing + .macro ttower_getchallengetype + setvar VAR_0x8004, TRAINER_TOWER_FUNC_GET_CHALLENGE_TYPE + setvar VAR_0x8005, FALSE + special CallTrainerTowerFunc + .endm + + @ Adds 1 to the number of floors cleared (all trainers on floor defeated) + .macro ttower_clearedfloor + setvar VAR_0x8004, TRAINER_TOWER_FUNC_CLEARED_FLOOR + special CallTrainerTowerFunc + .endm + + @ TRUE if the trainers on this floor were already beaten, FALSE otherwise + .macro ttower_isfloorcleared + setvar VAR_0x8004, TRAINER_TOWER_FUNC_GET_FLOOR_CLEARED + special CallTrainerTowerFunc + .endm + + @ Initializes the Trainer Tower challenge and starts the timer + .macro ttower_startchallenge + setvar VAR_0x8004, TRAINER_TOWER_FUNC_START_CHALLENGE + special CallTrainerTowerFunc + .endm + + @ 0 if not spoken to yet, 1 if spoken to but not received prize, 2 if received prize + .macro ttower_getownerstate + setvar VAR_0x8004, TRAINER_TOWER_FUNC_GET_OWNER_STATE + special CallTrainerTowerFunc + .endm + + @ Tries to give prize. 0 if given successfully, 1 if no room for prize, 2 if giving prize should be skipped + .macro ttower_giveprize + setvar VAR_0x8004, TRAINER_TOWER_FUNC_GIVE_PRIZE + special CallTrainerTowerFunc + .endm + + @ Checks the final challenge time. 0 if new record, 1 if not, 2 if time has already been checked + .macro ttower_checkfinaltime + setvar VAR_0x8004, TRAINER_TOWER_FUNC_CHECK_FINAL_TIME + special CallTrainerTowerFunc + .endm + + @ Resumes the challenge timer (or starts, if the timer is 0) + .macro ttower_resumetimer + setvar VAR_0x8004, TRAINER_TOWER_FUNC_RESUME_TIMER + special CallTrainerTowerFunc + .endm + + @ Sets that the player lost the challenge + .macro ttower_setlost + setvar VAR_0x8004, TRAINER_TOWER_FUNC_SET_LOST + special CallTrainerTowerFunc + .endm + + @ Returns the status of the current Trainer Tower challenge (CHALLENGE_STATUS_*) + .macro ttower_getchallengestatus + setvar VAR_0x8004, TRAINER_TOWER_FUNC_GET_CHALLENGE_STATUS + special CallTrainerTowerFunc + .endm + + @ Buffers the current challenge time (min in gStringVar1, sec in gStringVar2, fraction sec in gStringVar3) + .macro ttower_gettime + setvar VAR_0x8004, TRAINER_TOWER_FUNC_GET_TIME + special CallTrainerTowerFunc + .endm + + @ Unused. Displays Trainer Tower results. Handled by Special_BattleRecords instead + .macro ttower_showresults + setvar VAR_0x8004, TRAINER_TOWER_FUNC_SHOW_RESULTS + special CallTrainerTowerFunc + .endm + + @ Unused. See above + .macro ttower_closeresults + setvar VAR_0x8004, TRAINER_TOWER_FUNC_CLOSE_RESULTS + special CallTrainerTowerFunc + .endm + + @ Returns the eligibility of the players party for a double battle (using GetMonsStateToDoubles) + .macro ttower_checkdoubles + setvar VAR_0x8004, TRAINER_TOWER_FUNC_CHECK_DOUBLES + special CallTrainerTowerFunc + .endm + + @ For the unused E-Reader challenges, gets the number of floors used. Otherwise returns FALSE (all floors used) + .macro ttower_getnumfloors + setvar VAR_0x8004, TRAINER_TOWER_FUNC_GET_NUM_FLOORS + special CallTrainerTowerFunc + .endm + + @ Dummied, always returns FALSE + .macro ttower_shouldexit + setvar VAR_0x8004, TRAINER_TOWER_FUNC_SHOULD_WARP_TO_COUNTER + special CallTrainerTowerFunc + .endm + + @ Plays the encounter music for the trainer number in VAR_TEMP_1 + .macro ttower_encountermusic + setvar VAR_0x8004, TRAINER_TOWER_FUNC_ENCOUNTER_MUSIC + special CallTrainerTowerFunc + .endm + + @ TRUE if the player reached the Battle Tower owner, FALSE otherwise + .macro ttower_getbeatchallenge + setvar VAR_0x8004, TRAINER_TOWER_FUNC_GET_BEAT_CHALLENGE + special CallTrainerTowerFunc + .endm diff --git a/asm/overworld.s b/asm/overworld.s index 92ffbd038..5b3c01652 100644 --- a/asm/overworld.s +++ b/asm/overworld.s @@ -1718,7 +1718,7 @@ sub_8055864: @ 8055864 bl sav1_reset_battle_music_maybe bl mapheader_run_script_with_tag_x3 bl TryRegenerateRenewableHiddenItems - bl not_trainer_hill_battle_pyramid + bl InitMap ldr r4, _0805591C @ =gMapHeader ldr r0, [r4] bl copy_map_tileset2_to_vram_2 @@ -1798,7 +1798,7 @@ _08055974: bl UpdateLocationHistoryForRoamer bl RoamerMoveToOtherLocationSet bl sub_8110920 - bl not_trainer_hill_battle_pyramid + bl InitMap pop {r4} pop {r0} bx r0 @@ -1823,7 +1823,7 @@ sub_80559A8: @ 80559A8 bl sub_8110920 bl sub_8111708 bl set_current_map_header_from_sav1 - bl not_trainer_hill_battle_pyramid + bl InitMap pop {r0} bx r0 .align 2, 0 @@ -2247,7 +2247,7 @@ _08055CEC: .4byte gSaveBlock1Ptr _08055CF0: ldr r0, _08055D00 @ =gSaveBlock1Ptr ldr r0, [r0] - ldr r1, _08055D04 @ =gUnknown_83C68E0 + ldr r1, _08055D04 @ =gMaxFlashLevel ldr r1, [r1] _08055CF8: adds r0, 0x30 @@ -2257,7 +2257,7 @@ _08055CFA: bx r0 .align 2, 0 _08055D00: .4byte gSaveBlock1Ptr -_08055D04: .4byte gUnknown_83C68E0 +_08055D04: .4byte gMaxFlashLevel thumb_func_end sub_8055CB8 thumb_func_start Overworld_SetFlashLevel @@ -2266,7 +2266,7 @@ Overworld_SetFlashLevel: @ 8055D08 adds r1, r0, 0 cmp r1, 0 blt _08055D18 - ldr r0, _08055D28 @ =gUnknown_83C68E0 + ldr r0, _08055D28 @ =gMaxFlashLevel ldr r0, [r0] cmp r1, r0 ble _08055D1A @@ -2280,7 +2280,7 @@ _08055D1A: pop {r0} bx r0 .align 2, 0 -_08055D28: .4byte gUnknown_83C68E0 +_08055D28: .4byte gMaxFlashLevel _08055D2C: .4byte gSaveBlock1Ptr thumb_func_end Overworld_SetFlashLevel @@ -2597,7 +2597,7 @@ GetMapMusicFadeoutSpeed: @ 8055F68 push {lr} bl warp1_get_mapheader ldrb r0, [r0, 0x17] - bl is_light_level_8_or_9 + bl IsMapTypeIndoors lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -2981,8 +2981,8 @@ _08056218: bx r1 thumb_func_end Overworld_MapTypeAllowsTeleportAndFly - thumb_func_start is_light_level_8_or_9 -is_light_level_8_or_9: @ 805621C + thumb_func_start IsMapTypeIndoors +IsMapTypeIndoors: @ 805621C push {lr} lsls r0, 24 movs r1, 0xF8 @@ -2998,10 +2998,10 @@ _08056230: _08056232: pop {r1} bx r1 - thumb_func_end is_light_level_8_or_9 + thumb_func_end IsMapTypeIndoors - thumb_func_start sav1_saved_warp2_map_get_name -sav1_saved_warp2_map_get_name: @ 8056238 + thumb_func_start GetSavedWarpRegionMapSectionId +GetSavedWarpRegionMapSectionId: @ 8056238 push {lr} ldr r0, _0805625C @ =gSaveBlock1Ptr ldr r1, [r0] @@ -3020,7 +3020,7 @@ sav1_saved_warp2_map_get_name: @ 8056238 bx r1 .align 2, 0 _0805625C: .4byte gSaveBlock1Ptr - thumb_func_end sav1_saved_warp2_map_get_name + thumb_func_end GetSavedWarpRegionMapSectionId thumb_func_start GetCurrentRegionMapSectionId GetCurrentRegionMapSectionId: @ 8056260 @@ -3044,8 +3044,8 @@ GetCurrentRegionMapSectionId: @ 8056260 _08056284: .4byte gSaveBlock1Ptr thumb_func_end GetCurrentRegionMapSectionId - thumb_func_start sav1_map_get_battletype -sav1_map_get_battletype: @ 8056288 + thumb_func_start GetCurrentMapBattleScene +GetCurrentMapBattleScene: @ 8056288 push {lr} ldr r0, _080562AC @ =gSaveBlock1Ptr ldr r1, [r0] @@ -3064,10 +3064,10 @@ sav1_map_get_battletype: @ 8056288 bx r1 .align 2, 0 _080562AC: .4byte gSaveBlock1Ptr - thumb_func_end sav1_map_get_battletype + thumb_func_end GetCurrentMapBattleScene - thumb_func_start sub_80562B0 -sub_80562B0: @ 80562B0 + thumb_func_start InitOverworldBgs +InitOverworldBgs: @ 80562B0 push {r4-r6,lr} mov r6, r8 push {r6} @@ -3130,7 +3130,7 @@ _08056344: .4byte gUnknown_826D320 _08056348: .4byte gUnknown_3005018 _0805634C: .4byte gUnknown_3005014 _08056350: .4byte gUnknown_300501C - thumb_func_end sub_80562B0 + thumb_func_end InitOverworldBgs thumb_func_start sub_8056354 sub_8056354: @ 8056354 @@ -3430,14 +3430,14 @@ _080565D4: _080565DC: .4byte gPaletteFade thumb_func_end sub_80565B4 - thumb_func_start sub_80565E0 -sub_80565E0: @ 80565E0 + thumb_func_start SetMainCallback1 +SetMainCallback1: @ 80565E0 ldr r1, _080565E8 @ =gMain str r0, [r1] bx lr .align 2, 0 _080565E8: .4byte gMain - thumb_func_end sub_80565E0 + thumb_func_end SetMainCallback1 thumb_func_start map_post_load_hook_exec map_post_load_hook_exec: @ 80565EC @@ -3490,7 +3490,7 @@ _08056640: .4byte gFieldCallback thumb_func_start CB2_NewGame CB2_NewGame: @ 8056644 push {lr} - bl sub_80569BC + bl FieldClearVBlankHBlankCallbacks bl StopMapMusic bl sub_8056420 bl NewGameInitData @@ -3508,7 +3508,7 @@ CB2_NewGame: @ 8056644 bl do_load_map_stuff_loop bl SetFieldVBlankCallback ldr r0, _0805669C @ =sub_8056534 - bl sub_80565E0 + bl SetMainCallback1 ldr r0, _080566A0 @ =sub_80565B4 bl SetMainCallback2 pop {r0} @@ -3537,7 +3537,7 @@ CB2_WhiteOut: @ 80566A4 lsrs r0, 24 cmp r0, 0x77 bls _08056702 - bl sub_80569BC + bl FieldClearVBlankHBlankCallbacks bl StopMapMusic bl sub_8056420 bl sub_8054BC8 @@ -3556,7 +3556,7 @@ CB2_WhiteOut: @ 80566A4 bl sub_8112364 bl SetFieldVBlankCallback ldr r0, _08056714 @ =sub_8056534 - bl sub_80565E0 + bl SetMainCallback1 ldr r0, _08056718 @ =sub_80565B4 bl SetMainCallback2 _08056702: @@ -3574,11 +3574,11 @@ _08056718: .4byte sub_80565B4 thumb_func_start CB2_LoadMap CB2_LoadMap: @ 805671C push {lr} - bl sub_80569BC + bl FieldClearVBlankHBlankCallbacks bl ScriptContext1_Init bl ScriptContext2_Disable movs r0, 0 - bl sub_80565E0 + bl SetMainCallback1 ldr r0, _08056740 @ =sub_80C9BFC bl SetMainCallback2 ldr r1, _08056744 @ =gMain @@ -3609,7 +3609,7 @@ _08056768: .4byte gMain + 0x438 _0805676C: bl SetFieldVBlankCallback ldr r0, _08056780 @ =sub_8056534 - bl sub_80565E0 + bl SetMainCallback1 ldr r0, _08056784 @ =sub_80565B4 bl SetMainCallback2 _0805677C: @@ -3620,12 +3620,12 @@ _08056780: .4byte sub_8056534 _08056784: .4byte sub_80565B4 thumb_func_end sub_805674C - thumb_func_start sub_8056788 -sub_8056788: @ 8056788 + thumb_func_start CB2_ReturnToFieldCableClub +CB2_ReturnToFieldCableClub: @ 8056788 push {lr} - bl sub_80569BC + bl FieldClearVBlankHBlankCallbacks ldr r0, _080567A0 @ =gFieldCallback - ldr r1, _080567A4 @ =sub_807DE58 + ldr r1, _080567A4 @ =FieldCB_ReturnToFieldWirelessLink str r1, [r0] ldr r0, _080567A8 @ =c2_80567AC bl SetMainCallback2 @@ -3633,20 +3633,20 @@ sub_8056788: @ 8056788 bx r0 .align 2, 0 _080567A0: .4byte gFieldCallback -_080567A4: .4byte sub_807DE58 +_080567A4: .4byte FieldCB_ReturnToFieldWirelessLink _080567A8: .4byte c2_80567AC - thumb_func_end sub_8056788 + thumb_func_end CB2_ReturnToFieldCableClub thumb_func_start c2_80567AC c2_80567AC: @ 80567AC push {lr} ldr r0, _080567D0 @ =gMain + 0x438 - bl sub_8056A5C + bl map_loading_iteration_3 cmp r0, 0 beq _080567CC bl SetFieldVBlankCallback ldr r0, _080567D4 @ =c1_link_related - bl sub_80565E0 + bl SetMainCallback1 bl sub_80578D8 ldr r0, _080567D8 @ =sub_80565B4 bl SetMainCallback2 @@ -3671,7 +3671,7 @@ CB2_ReturnToField: @ 80567DC .align 2, 0 _080567F0: .4byte c2_exit_to_overworld_2_link _080567F4: - bl sub_80569BC + bl FieldClearVBlankHBlankCallbacks ldr r0, _08056804 @ =c2_exit_to_overworld_2_local bl SetMainCallback2 _080567FE: @@ -3722,23 +3722,23 @@ _08056850: .4byte sub_80565B4 thumb_func_start c2_8056854 c2_8056854: @ 8056854 push {lr} - bl sub_80569BC + bl FieldClearVBlankHBlankCallbacks bl StopMapMusic ldr r0, _08056878 @ =c1_link_related - bl sub_80565E0 + bl SetMainCallback1 bl sub_80578D8 ldr r0, _0805687C @ =gWirelessCommType ldrb r0, [r0] cmp r0, 0 beq _08056888 ldr r1, _08056880 @ =gFieldCallback - ldr r0, _08056884 @ =sub_807DE58 + ldr r0, _08056884 @ =FieldCB_ReturnToFieldWirelessLink b _0805688C .align 2, 0 _08056878: .4byte c1_link_related _0805687C: .4byte gWirelessCommType _08056880: .4byte gFieldCallback -_08056884: .4byte sub_807DE58 +_08056884: .4byte FieldCB_ReturnToFieldWirelessLink _08056888: ldr r1, _080568A0 @ =gFieldCallback ldr r0, _080568A4 @ =sub_807DDD0 @@ -3757,7 +3757,7 @@ _080568A4: .4byte sub_807DDD0 thumb_func_start CB2_ReturnToFieldWithOpenMenu CB2_ReturnToFieldWithOpenMenu: @ 80568A8 push {lr} - bl sub_80569BC + bl FieldClearVBlankHBlankCallbacks ldr r1, _080568BC @ =gFieldCallback2 ldr r0, _080568C0 @ =FieldCB2_ReturnToStartMenuInit str r0, [r1] @@ -3772,7 +3772,7 @@ _080568C0: .4byte FieldCB2_ReturnToStartMenuInit thumb_func_start sub_80568C4 sub_80568C4: @ 80568C4 push {lr} - bl sub_80569BC + bl FieldClearVBlankHBlankCallbacks ldr r1, _080568D8 @ =gFieldCallback ldr r0, _080568DC @ =sub_807DD44 str r0, [r1] @@ -3787,7 +3787,7 @@ _080568DC: .4byte sub_807DD44 thumb_func_start CB2_ReturnToFieldContinueScriptPlayMapMusic CB2_ReturnToFieldContinueScriptPlayMapMusic: @ 80568E0 push {lr} - bl sub_80569BC + bl FieldClearVBlankHBlankCallbacks ldr r1, _080568F4 @ =gFieldCallback ldr r0, _080568F8 @ =FieldCallback_ReturnToEventScript2 str r0, [r1] @@ -3802,7 +3802,7 @@ _080568F8: .4byte FieldCallback_ReturnToEventScript2 thumb_func_start CB2_Overworld CB2_Overworld: @ 80568FC push {lr} - bl sub_80569BC + bl FieldClearVBlankHBlankCallbacks ldr r1, _08056910 @ =gFieldCallback ldr r0, _08056914 @ =sub_807DF7C str r0, [r1] @@ -3836,14 +3836,14 @@ _08056934: .4byte gMapHeader thumb_func_start CB2_ContinueSavedGame CB2_ContinueSavedGame: @ 8056938 push {lr} - bl sub_80569BC + bl FieldClearVBlankHBlankCallbacks bl StopMapMusic bl sub_8056420 bl set_current_map_header_from_sav1 bl sub_80550A8 bl UnfreezeObjectEvents bl sub_8054E40 - bl sub_80589E8 + bl InitMapFromSavedGame bl PlayTimeCounter_Start bl ScriptContext1_Init bl ScriptContext2_Disable @@ -3871,7 +3871,7 @@ _0805699C: ldr r1, _080569B4 @ =sub_8056918 str r1, [r0] ldr r0, _080569B8 @ =sub_8056534 - bl sub_80565E0 + bl SetMainCallback1 bl CB2_ReturnToField _080569AC: pop {r0} @@ -3882,8 +3882,8 @@ _080569B4: .4byte sub_8056918 _080569B8: .4byte sub_8056534 thumb_func_end CB2_ContinueSavedGame - thumb_func_start sub_80569BC -sub_80569BC: @ 80569BC + thumb_func_start FieldClearVBlankHBlankCallbacks +FieldClearVBlankHBlankCallbacks: @ 80569BC push {lr} bl sub_80CC87C lsls r0, 24 @@ -3915,7 +3915,7 @@ _080569F4: bl SetHBlankCallback pop {r0} bx r0 - thumb_func_end sub_80569BC + thumb_func_end FieldClearVBlankHBlankCallbacks thumb_func_start SetFieldVBlankCallback SetFieldVBlankCallback: @ 8056A04 @@ -3962,8 +3962,8 @@ _08056A52: _08056A58: .4byte gFlashEffectParams thumb_func_end InitCurrentFlashLevelScanlineEffect - thumb_func_start sub_8056A5C -sub_8056A5C: @ 8056A5C + thumb_func_start map_loading_iteration_3 +map_loading_iteration_3: @ 8056A5C push {r4,lr} adds r4, r0, 0 ldrb r0, [r4] @@ -3995,7 +3995,7 @@ _08056A78: .4byte _08056B58 .4byte _08056B6A _08056AB0: - bl sub_80562B0 + bl InitOverworldBgs bl ScriptContext1_Init bl ScriptContext2_Disable b _08056B62 @@ -4084,7 +4084,7 @@ _08056B70: pop {r4} pop {r1} bx r1 - thumb_func_end sub_8056A5C + thumb_func_end map_loading_iteration_3 thumb_func_start sub_8056B78 sub_8056B78: @ 8056B78 @@ -4121,8 +4121,8 @@ _08056B94: .4byte _08056CC0 .4byte _08056BFA _08056BD0: - bl sub_80562B0 - bl sub_80569BC + bl InitOverworldBgs + bl FieldClearVBlankHBlankCallbacks adds r0, r5, 0 bl sub_8055920 b _08056CCA @@ -4266,7 +4266,7 @@ _08056CF0: .4byte _08056D26 .4byte _08056D38 _08056D04: - bl sub_80562B0 + bl InitOverworldBgs bl sub_8111F14 movs r0, 0 bl sub_8057024 @@ -4331,8 +4331,8 @@ _08056D60: .4byte _08056E34 .4byte _08056E46 _08056D98: - bl sub_80562B0 - bl sub_80569BC + bl InitOverworldBgs + bl FieldClearVBlankHBlankCallbacks b _08056E3E _08056DA2: bl sub_8111F14 @@ -4914,14 +4914,14 @@ _08057268: .4byte gLinkPlayers thumb_func_start sub_805726C sub_805726C: @ 805726C push {lr} - bl sub_80569BC + bl FieldClearVBlankHBlankCallbacks ldr r1, _08057298 @ =gUnknown_2036E28 movs r0, 0x1 strb r0, [r1] bl ScriptContext1_Init bl ScriptContext2_Disable movs r0, 0 - bl sub_80565E0 + bl SetMainCallback1 ldr r0, _0805729C @ =sub_80C9BFC bl SetMainCallback2 ldr r1, _080572A0 @ =gMain @@ -4939,7 +4939,7 @@ _080572A4: .4byte sub_80572D8 thumb_func_start sub_80572A8 sub_80572A8: @ 80572A8 push {lr} - bl sub_80569BC + bl FieldClearVBlankHBlankCallbacks ldr r0, _080572D0 @ =gUnknown_2036E28 movs r1, 0x1 strb r1, [r0] @@ -4947,7 +4947,7 @@ sub_80572A8: @ 80572A8 bl ScriptContext1_Init bl ScriptContext2_Disable movs r0, 0 - bl sub_80565E0 + bl SetMainCallback1 ldr r0, _080572D4 @ =sub_80572D8 bl SetMainCallback2 pop {r0} @@ -4964,7 +4964,7 @@ sub_80572D8: @ 80572D8 bl sub_8057300 bl SetFieldVBlankCallback ldr r0, _080572F8 @ =sub_8056534 - bl sub_80565E0 + bl SetMainCallback1 ldr r0, _080572FC @ =sub_80565B4 bl SetMainCallback2 pop {r0} @@ -5019,8 +5019,8 @@ _08057330: .4byte _08057404 .4byte _0805740A _0805735C: - bl sub_80562B0 - bl sub_80569BC + bl InitOverworldBgs + bl FieldClearVBlankHBlankCallbacks bl sub_8111F14 bl sub_81113E4 bl sub_8111438 @@ -5118,7 +5118,7 @@ _0805742A: thumb_func_start sub_8057430 sub_8057430: @ 8057430 push {lr} - bl sub_80569BC + bl FieldClearVBlankHBlankCallbacks bl StopMapMusic ldr r1, _08057484 @ =gUnknown_2036E28 movs r0, 0x3 @@ -5128,7 +5128,7 @@ sub_8057430: @ 8057430 bl sub_80550A8 bl UnfreezeObjectEvents bl sub_8054E40 - bl sub_80589E8 + bl InitMapFromSavedGame bl PlayTimeCounter_Start bl ScriptContext1_Init ldr r1, _08057488 @ =gUnknown_2031DE0 @@ -5149,7 +5149,7 @@ _08057488: .4byte gUnknown_2031DE0 _0805748C: .4byte CB2_LoadMap _08057490: ldr r0, _080574A0 @ =sub_8056534 - bl sub_80565E0 + bl SetMainCallback1 bl CB2_ReturnToField _0805749A: pop {r0} @@ -5313,7 +5313,7 @@ _08057560: bl ScriptContext1_Init bl ScriptContext2_Disable movs r0, 0 - bl sub_80565E0 + bl SetMainCallback1 ldr r1, _08057614 @ =gFieldCallback2 ldr r0, _08057618 @ =sub_80574EC str r0, [r1] @@ -7979,7 +7979,7 @@ _08058978: _0805898A: adds r0, r5, 0 movs r1, 0 - bl sub_8068EB4 + bl UpdateObjectEventSpriteVisibility ldrb r0, [r6] lsls r0, 29 cmp r0, 0 diff --git a/asm/pokedex_screen.s b/asm/pokedex_screen.s index 345f3c83c..9dbbabd6f 100644 --- a/asm/pokedex_screen.s +++ b/asm/pokedex_screen.s @@ -1839,7 +1839,7 @@ _08106478: bl FillWindowPixelBuffer movs r0, 0xB0 movs r1, 0x1 - bl sub_8107D38 + bl ListMenuLoadStdPalAt mov r0, r10 cmp r0, 0 beq _08106504 diff --git a/asm/pokemon_jump.s b/asm/pokemon_jump.s index d94a5c8db..1644bb3d8 100644 --- a/asm/pokemon_jump.s +++ b/asm/pokemon_jump.s @@ -621,7 +621,7 @@ _08147A5C: ldrh r0, [r4, 0x18] strh r0, [r1, 0x2] mov r0, sp - bl sub_80F9E2C + bl RfuPrepareSend0x2f00 b _08147A9E .align 2, 0 _08147A88: .4byte gTasks+0x8 diff --git a/asm/pokemon_jump_2.s b/asm/pokemon_jump_2.s index 5e6327c81..ff6757630 100644 --- a/asm/pokemon_jump_2.s +++ b/asm/pokemon_jump_2.s @@ -5,8 +5,8 @@ .text - thumb_func_start sub_8147AA8 -sub_8147AA8: @ 8147AA8 + thumb_func_start StartPokemonJump +StartPokemonJump: @ 8147AA8 push {r4-r7,lr} adds r6, r1, 0 lsls r0, 16 @@ -73,7 +73,7 @@ _08147B42: pop {r4-r7} pop {r0} bx r0 - thumb_func_end sub_8147AA8 + thumb_func_end StartPokemonJump thumb_func_start sub_8147B48 sub_8147B48: @ 8147B48 @@ -2535,7 +2535,7 @@ _08148DEA: ands r0, r1 cmp r0, 0 bne _08148E20 - bl sub_800AAC0 + bl Link_TryStartSend5FFF _08148DFA: ldr r0, _08148E0C @ =gUnknown_203F3D4 ldr r1, [r0] @@ -4302,7 +4302,7 @@ sub_8149A6C: @ 8149A6C ldr r0, [r0, 0x8] str r0, [sp, 0x4] mov r0, sp - bl sub_80F9E2C + bl RfuPrepareSend0x2f00 add sp, 0xC pop {r0} bx r0 @@ -4363,7 +4363,7 @@ sub_8149AE0: @ 8149AE0 strb r1, [r2] str r0, [sp, 0x4] mov r0, sp - bl sub_80F9E2C + bl RfuPrepareSend0x2f00 add sp, 0xC pop {r0} bx r0 @@ -4425,7 +4425,7 @@ sub_8149AF8: @ 8149AF8 ldrh r0, [r0, 0xE] strh r0, [r1, 0x4] mov r0, sp - bl sub_80F9E2C + bl RfuPrepareSend0x2f00 add sp, 0xC pop {r3} mov r8, r3 @@ -4520,7 +4520,7 @@ sub_8149BF4: @ 8149BF4 mov r0, sp strb r1, [r0, 0x6] strh r2, [r0, 0x8] - bl sub_80F9E2C + bl RfuPrepareSend0x2f00 add sp, 0xC pop {r4} pop {r0} @@ -4665,7 +4665,7 @@ _08149D20: .4byte sub_8149DC8 sub_8149D24: @ 8149D24 push {lr} bl FreeAllWindowBuffers - bl sub_815C9F4 + bl DigitObjUtil_Teardown pop {r0} bx r0 thumb_func_end sub_8149D24 @@ -6284,7 +6284,10 @@ sub_814A9C8: @ 814A9C8 push {r4,lr} sub sp, 0x10 mov r1, sp - movs r0, 0x40 + movs r0, 0x40 @ strConvMode = 0 + @ shape = SPRITE_SHAPE(8x8) + @ size = SPRITE_SIZE(8x8) + @ priority = 1 strb r0, [r1] movs r0, 0x5 strb r0, [r1, 0x1] @@ -6299,11 +6302,11 @@ sub_814A9C8: @ 814A9C8 ldr r0, _0814AA20 @ =gUnknown_846D968 str r0, [sp, 0xC] movs r0, 0x2 - bl sub_815C980 + bl DigitObjUtil_Init movs r0, 0 movs r1, 0 mov r2, sp - bl sub_815CA40 + bl DigitObjUtil_CreatePrinter mov r1, sp movs r0, 0x4 strb r0, [r1, 0x1] @@ -6314,7 +6317,7 @@ sub_814A9C8: @ 814A9C8 movs r0, 0x1 movs r1, 0 mov r2, sp - bl sub_815CA40 + bl DigitObjUtil_CreatePrinter add sp, 0x10 pop {r4} pop {r0} @@ -6329,7 +6332,7 @@ sub_814AA24: @ 814AA24 push {lr} adds r1, r0, 0 movs r0, 0 - bl sub_815CD70 + bl DigitObjUtil_PrintNumOn pop {r0} bx r0 thumb_func_end sub_814AA24 @@ -6341,7 +6344,7 @@ sub_814AA34: @ 814AA34 lsls r1, 16 lsrs r1, 16 movs r0, 0x1 - bl sub_815CD70 + bl DigitObjUtil_PrintNumOn pop {r0} bx r0 thumb_func_end sub_814AA34 @@ -7699,7 +7702,7 @@ sub_814B43C: @ 814B43C movs r1, 0x7 movs r2, 0x78 movs r3, 0x50 - bl sub_815F138 + bl StartMinigameCountdown adds r0, r4, 0 bl sub_814B134 add sp, 0x4 @@ -7711,7 +7714,7 @@ sub_814B43C: @ 814B43C thumb_func_start sub_814B460 sub_814B460: @ 814B460 push {lr} - bl sub_815F198 + bl IsMinigameCountdownRunning pop {r1} bx r1 thumb_func_end sub_814B460 diff --git a/asm/pokemon_summary_screen.s b/asm/pokemon_summary_screen.s index d6c3f548f..19b838f47 100644 --- a/asm/pokemon_summary_screen.s +++ b/asm/pokemon_summary_screen.s @@ -3187,7 +3187,7 @@ _08135FC8: .4byte gUnknown_8E9B310 _08135FCC: movs r0, 0x60 movs r1, 0x1 - bl sub_8107D38 + bl ListMenuLoadStdPalAt ldr r0, _08135FE0 @ =gUnknown_84636C0 movs r1, 0x70 _08135FD8: diff --git a/asm/smokescreen.s b/asm/smokescreen.s deleted file mode 100644 index e0d137767..000000000 --- a/asm/smokescreen.s +++ /dev/null @@ -1,225 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start SmokescreenImpact -SmokescreenImpact: @ 804A76C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 16 - lsrs r6, r0, 16 - lsls r1, 16 - lsrs r7, r1, 16 - lsls r2, 24 - lsrs r4, r2, 24 - ldr r5, _0804A8A4 @ =gUnknown_825098C - ldrh r0, [r5, 0x6] - bl GetSpriteTileStartByTag - lsls r0, 16 - ldr r1, _0804A8A8 @ =0xffff0000 - cmp r0, r1 - bne _0804A79E - adds r0, r5, 0 - bl LoadCompressedSpriteSheetUsingHeap - ldr r0, _0804A8AC @ =gUnknown_8250994 - bl LoadCompressedSpritePaletteUsingHeap -_0804A79E: - ldr r0, _0804A8B0 @ =sub_804A8C0 - bl CreateInvisibleSpriteWithCallback - mov r8, r0 - mov r0, r8 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r5, r0, 4 - add r5, r8 - lsls r5, 2 - ldr r0, _0804A8B4 @ =gSprites - adds r5, r0 - strh r4, [r5, 0x30] - ldr r0, _0804A8B8 @ =gUnknown_82509F4 - mov r9, r0 - lsls r6, 16 - asrs r0, r6, 16 - mov r10, r0 - ldr r0, _0804A8BC @ =0xfff00000 - adds r6, r0 - asrs r6, 16 - lsls r4, r7, 16 - asrs r7, r4, 16 - adds r4, r0 - asrs r4, 16 - mov r0, r9 - adds r1, r6, 0 - adds r2, r4, 0 - movs r3, 0x2 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, _0804A8B4 @ =gSprites - adds r1, r0 - mov r0, r8 - strh r0, [r1, 0x2E] - ldrh r0, [r5, 0x2E] - adds r0, 0x1 - strh r0, [r5, 0x2E] - adds r0, r1, 0 - bl AnimateSprite - mov r0, r9 - mov r1, r10 - adds r2, r4, 0 - movs r3, 0x2 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - ldr r0, _0804A8B4 @ =gSprites - adds r4, r0 - mov r0, r8 - strh r0, [r4, 0x2E] - ldrh r0, [r5, 0x2E] - adds r0, 0x1 - strh r0, [r5, 0x2E] - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAnim - adds r0, r4, 0 - bl AnimateSprite - mov r0, r9 - adds r1, r6, 0 - adds r2, r7, 0 - movs r3, 0x2 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - ldr r0, _0804A8B4 @ =gSprites - adds r4, r0 - mov r0, r8 - strh r0, [r4, 0x2E] - ldrh r0, [r5, 0x2E] - adds r0, 0x1 - strh r0, [r5, 0x2E] - adds r0, r4, 0 - movs r1, 0x2 - bl StartSpriteAnim - adds r0, r4, 0 - bl AnimateSprite - mov r0, r9 - mov r1, r10 - adds r2, r7, 0 - movs r3, 0x2 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - ldr r0, _0804A8B4 @ =gSprites - adds r4, r0 - mov r0, r8 - strh r0, [r4, 0x2E] - ldrh r0, [r5, 0x2E] - adds r0, 0x1 - strh r0, [r5, 0x2E] - adds r0, r4, 0 - movs r1, 0x3 - bl StartSpriteAnim - adds r0, r4, 0 - bl AnimateSprite - mov r0, r8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0804A8A4: .4byte gUnknown_825098C -_0804A8A8: .4byte 0xffff0000 -_0804A8AC: .4byte gUnknown_8250994 -_0804A8B0: .4byte sub_804A8C0 -_0804A8B4: .4byte gSprites -_0804A8B8: .4byte gUnknown_82509F4 -_0804A8BC: .4byte 0xfff00000 - thumb_func_end SmokescreenImpact - - thumb_func_start sub_804A8C0 -sub_804A8C0: @ 804A8C0 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0804A8F8 - ldr r0, _0804A8EC @ =gUnknown_825098C - ldrh r0, [r0, 0x6] - bl FreeSpriteTilesByTag - ldr r0, _0804A8F0 @ =gUnknown_8250994 - ldrh r0, [r0, 0x4] - bl FreeSpritePaletteByTag - movs r1, 0x30 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0804A8F4 - adds r0, r4, 0 - bl DestroySprite - b _0804A8F8 - .align 2, 0 -_0804A8EC: .4byte gUnknown_825098C -_0804A8F0: .4byte gUnknown_8250994 -_0804A8F4: - ldr r0, _0804A900 @ =SpriteCallbackDummy - str r0, [r4, 0x1C] -_0804A8F8: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0804A900: .4byte SpriteCallbackDummy - thumb_func_end sub_804A8C0 - - thumb_func_start sub_804A904 -sub_804A904: @ 804A904 - push {lr} - adds r3, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _0804A92E - ldr r2, _0804A934 @ =gSprites - movs r0, 0x2E - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x2E] - subs r1, 0x1 - strh r1, [r0, 0x2E] - adds r0, r3, 0 - bl DestroySprite -_0804A92E: - pop {r0} - bx r0 - .align 2, 0 -_0804A934: .4byte gSprites - thumb_func_end sub_804A904 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/union_room_chat.s b/asm/union_room_chat.s deleted file mode 100644 index adfd66b5d..000000000 --- a/asm/union_room_chat.s +++ /dev/null @@ -1,5973 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_8128420 -sub_8128420: @ 8128420 - push {r4,lr} - ldr r4, _08128450 @ =gUnknown_203B0E0 - movs r0, 0xDC - lsls r0, 1 - bl Alloc - str r0, [r4] - bl sub_812845C - ldr r1, _08128454 @ =gKeyRepeatStartDelay - movs r0, 0x14 - strh r0, [r1] - bl sub_812B4AC - movs r0, 0 - bl SetVBlankCallback - ldr r0, _08128458 @ =c2_081284E0 - bl SetMainCallback2 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08128450: .4byte gUnknown_203B0E0 -_08128454: .4byte gKeyRepeatStartDelay -_08128458: .4byte c2_081284E0 - thumb_func_end sub_8128420 - - thumb_func_start sub_812845C -sub_812845C: @ 812845C - push {r4-r7,lr} - adds r4, r0, 0 - movs r5, 0 - movs r0, 0 - strh r0, [r4, 0x4] - strh r0, [r4, 0x6] - strb r5, [r4, 0x10] - strb r5, [r4, 0x11] - strb r5, [r4, 0x12] - strb r5, [r4, 0x14] - strb r5, [r4, 0x15] - strb r5, [r4, 0x16] - movs r0, 0xFF - strb r0, [r4, 0x1A] - bl GetLinkPlayerCount - strb r0, [r4, 0xD] - bl GetMultiplayerId - strb r0, [r4, 0x13] - strb r5, [r4, 0x17] - strb r5, [r4, 0x18] - movs r1, 0xC8 - lsls r1, 1 - adds r0, r4, r1 - bl sub_8129560 - ldr r7, _081284B4 @ =gSaveBlock1Ptr - ldr r6, _081284B8 @ =0x00003ad4 - adds r4, 0xB9 - movs r5, 0x9 -_0812849A: - ldr r1, [r7] - adds r1, r6 - adds r0, r4, 0 - bl StringCopy - adds r6, 0x15 - adds r4, 0x15 - subs r5, 0x1 - cmp r5, 0 - bge _0812849A - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_081284B4: .4byte gSaveBlock1Ptr -_081284B8: .4byte 0x00003ad4 - thumb_func_end sub_812845C - - thumb_func_start sub_81284BC -sub_81284BC: @ 81284BC - push {r4,lr} - ldr r4, _081284DC @ =gUnknown_203B0E0 - ldr r0, [r4] - ldrb r0, [r0, 0xE] - bl DestroyTask - ldr r0, [r4] - ldrb r0, [r0, 0xF] - bl DestroyTask - ldr r0, [r4] - bl Free - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081284DC: .4byte gUnknown_203B0E0 - thumb_func_end sub_81284BC - - thumb_func_start c2_081284E0 -c2_081284E0: @ 81284E0 - push {r4-r6,lr} - sub sp, 0x4 - ldr r0, _081284FC @ =gMain - movs r1, 0x87 - lsls r1, 3 - adds r6, r0, r1 - ldrb r0, [r6] - cmp r0, 0x1 - beq _08128518 - cmp r0, 0x1 - bgt _08128500 - cmp r0, 0 - beq _08128506 - b _08128598 - .align 2, 0 -_081284FC: .4byte gMain -_08128500: - cmp r0, 0x2 - beq _08128554 - b _08128598 -_08128506: - bl ResetTasks - bl ResetSpriteData - bl FreeAllSpritePalettes - bl sub_8129B14 - b _08128548 -_08128518: - bl sub_8129BFC - bl sub_8129B78 - adds r5, r0, 0 - cmp r5, 0 - bne _08128598 - movs r4, 0x1 - negs r4, r4 - adds r0, r4, 0 - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - str r5, [sp] - adds r0, r4, 0 - adds r1, r4, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r0, _08128550 @ =sub_81285B4 - bl SetVBlankCallback -_08128548: - ldrb r0, [r6] - adds r0, 0x1 - strb r0, [r6] - b _08128598 - .align 2, 0 -_08128550: .4byte sub_81285B4 -_08128554: - bl UpdatePaletteFade - ldr r0, _081285A0 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08128598 - ldr r0, _081285A4 @ =sub_81285CC - bl SetMainCallback2 - movs r0, 0x11 - movs r1, 0 - bl SetQuestLogEvent - ldr r0, _081285A8 @ =sub_81285E8 - movs r1, 0x8 - bl CreateTask - ldr r4, _081285AC @ =gUnknown_203B0E0 - ldr r1, [r4] - strb r0, [r1, 0xE] - ldr r0, _081285B0 @ =sub_81298F8 - movs r1, 0x7 - bl CreateTask - ldr r1, [r4] - strb r0, [r1, 0xF] - bl LoadWirelessStatusIndicatorSpriteGfx - movs r0, 0xE8 - movs r1, 0x96 - bl CreateWirelessStatusIndicatorSprite -_08128598: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_081285A0: .4byte gPaletteFade -_081285A4: .4byte sub_81285CC -_081285A8: .4byte sub_81285E8 -_081285AC: .4byte gUnknown_203B0E0 -_081285B0: .4byte sub_81298F8 - thumb_func_end c2_081284E0 - - thumb_func_start sub_81285B4 -sub_81285B4: @ 81285B4 - push {lr} - bl TransferPlttBuffer - bl LoadOam - bl ProcessSpriteCopyRequests - bl ScanlineEffect_InitHBlankDmaTransfer - pop {r0} - bx r0 - thumb_func_end sub_81285B4 - - thumb_func_start sub_81285CC -sub_81285CC: @ 81285CC - push {lr} - bl RunTasks - bl sub_8129BFC - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_81285CC - - thumb_func_start sub_81285E8 -sub_81285E8: @ 81285E8 - push {r4,lr} - ldr r4, _08128600 @ =gUnknown_203B0E0 - ldr r0, [r4] - ldrb r0, [r0, 0x17] - cmp r0, 0x2 - beq _0812860E - cmp r0, 0x2 - bgt _08128604 - cmp r0, 0x1 - beq _0812860A - b _0812861E - .align 2, 0 -_08128600: .4byte gUnknown_203B0E0 -_08128604: - cmp r0, 0x3 - beq _08128612 - b _0812861E -_0812860A: - movs r0, 0x6 - b _08128614 -_0812860E: - movs r0, 0x7 - b _08128614 -_08128612: - movs r0, 0x8 -_08128614: - bl sub_8129218 - ldr r1, [r4] - movs r0, 0 - strb r0, [r1, 0x17] -_0812861E: - ldr r1, _08128638 @ =gUnknown_845A880 - ldr r0, _0812863C @ =gUnknown_203B0E0 - ldr r0, [r0] - ldrh r0, [r0, 0x4] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - bl _call_via_r0 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08128638: .4byte gUnknown_845A880 -_0812863C: .4byte gUnknown_203B0E0 - thumb_func_end sub_81285E8 - - thumb_func_start sub_8128640 -sub_8128640: @ 8128640 - push {r4,lr} - ldr r4, _08128658 @ =gUnknown_203B0E0 - ldr r0, [r4] - ldrh r1, [r0, 0x6] - cmp r1, 0x1 - beq _08128674 - cmp r1, 0x1 - bgt _0812865C - cmp r1, 0 - beq _08128662 - b _081286BC - .align 2, 0 -_08128658: .4byte gUnknown_203B0E0 -_0812865C: - cmp r1, 0x2 - beq _081286AC - b _081286BC -_08128662: - movs r1, 0xC8 - lsls r1, 1 - adds r0, r1 - bl sub_8129568 - ldr r1, [r4] - ldrh r0, [r1, 0x6] - adds r0, 0x1 - strh r0, [r1, 0x6] -_08128674: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _081286BC - bl sub_80FBA1C - cmp r0, 0 - bne _081286BC - ldr r4, _081286A8 @ =gUnknown_203B0E0 - ldr r1, [r4] - movs r0, 0xC8 - lsls r0, 1 - adds r1, r0 - movs r0, 0 - movs r2, 0x28 - bl SendBlock - lsls r0, 24 - cmp r0, 0 - beq _081286BC - ldr r1, [r4] - ldrh r0, [r1, 0x6] - adds r0, 0x1 - strh r0, [r1, 0x6] - b _081286BC - .align 2, 0 -_081286A8: .4byte gUnknown_203B0E0 -_081286AC: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _081286BC - movs r0, 0x1 - bl sub_8129218 -_081286BC: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8128640 - - thumb_func_start sub_81286C4 -sub_81286C4: @ 81286C4 - push {r4,r5,lr} - ldr r5, _081286D8 @ =gUnknown_203B0E0 - ldr r3, [r5] - ldrh r0, [r3, 0x6] - cmp r0, 0 - beq _081286DC - cmp r0, 0x1 - beq _0812878A - b _081287AC - .align 2, 0 -_081286D8: .4byte gUnknown_203B0E0 -_081286DC: - ldr r1, _081286F8 @ =gMain - ldrh r2, [r1, 0x2E] - movs r0, 0x8 - ands r0, r2 - cmp r0, 0 - beq _081286FC - ldrb r0, [r3, 0x15] - cmp r0, 0 - beq _081287AC - movs r0, 0x4 - bl sub_8129218 - b _081287AC - .align 2, 0 -_081286F8: .4byte gMain -_081286FC: - movs r0, 0x4 - ands r0, r2 - cmp r0, 0 - beq _0812870C - movs r0, 0x2 - bl sub_8129218 - b _081287AC -_0812870C: - ldrh r1, [r1, 0x30] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08128738 - ldrb r0, [r3, 0x15] - cmp r0, 0 - beq _08128730 - bl sub_81293AC - movs r0, 0x8 - movs r1, 0 - bl sub_8129C34 - ldr r1, [r5] - movs r0, 0x1 - strh r0, [r1, 0x6] - b _081287AC -_08128730: - movs r0, 0x3 - bl sub_8129218 - b _081287AC -_08128738: - movs r4, 0x1 - adds r0, r4, 0 - ands r0, r2 - cmp r0, 0 - beq _08128754 - bl sub_81292D8 - movs r0, 0x8 - movs r1, 0 - bl sub_8129C34 - movs r0, 0x2 - movs r1, 0x1 - b _08128780 -_08128754: - movs r0, 0x80 - lsls r0, 1 - ands r0, r2 - cmp r0, 0 - beq _08128774 - ldrb r0, [r3, 0x10] - cmp r0, 0x3 - beq _0812876C - bl sub_81293D8 - movs r0, 0x8 - b _0812877E -_0812876C: - movs r0, 0x5 - bl sub_8129218 - b _081287AC -_08128774: - bl sub_8129228 - cmp r0, 0 - beq _081287AC - movs r0, 0x1 -_0812877E: - movs r1, 0 -_08128780: - bl sub_8129C34 - ldr r0, [r5] - strh r4, [r0, 0x6] - b _081287AC -_0812878A: - movs r0, 0 - bl sub_8129C8C - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x1 - bl sub_8129C8C - lsls r0, 24 - lsrs r1, r0, 24 - cmp r4, 0 - bne _081287AC - cmp r1, 0 - bne _081287AC - ldr r0, [r5] - strh r1, [r0, 0x6] -_081287AC: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81286C4 - - thumb_func_start sub_81287B4 -sub_81287B4: @ 81287B4 - push {r4-r6,lr} - ldr r0, _081287CC @ =gUnknown_203B0E0 - ldr r0, [r0] - ldrh r0, [r0, 0x6] - cmp r0, 0x4 - bls _081287C2 - b _081288CE -_081287C2: - lsls r0, 2 - ldr r1, _081287D0 @ =_081287D4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_081287CC: .4byte gUnknown_203B0E0 -_081287D0: .4byte _081287D4 - .align 2, 0 -_081287D4: - .4byte _081287E8 - .4byte _081287F2 - .4byte _08128810 - .4byte _0812889C - .4byte _081288B0 -_081287E8: - movs r0, 0x3 - movs r1, 0 - bl sub_8129C34 - b _081287FE -_081287F2: - movs r0, 0 - bl sub_8129C8C - lsls r0, 24 - cmp r0, 0 - bne _081288CE -_081287FE: - ldr r0, _0812880C @ =gUnknown_203B0E0 - ldr r1, [r0] - ldrh r0, [r1, 0x6] - adds r0, 0x1 - strh r0, [r1, 0x6] - b _081288CE - .align 2, 0 -_0812880C: .4byte gUnknown_203B0E0 -_08128810: - bl Menu_ProcessInput - lsls r0, 24 - asrs r0, 8 - lsrs r6, r0, 16 - asrs r4, r0, 16 - movs r0, 0x2 - negs r0, r0 - cmp r4, r0 - beq _08128848 - adds r0, 0x1 - cmp r4, r0 - beq _08128868 - movs r0, 0x4 - movs r1, 0 - bl sub_8129C34 - ldr r5, _08128844 @ =gUnknown_203B0E0 - ldr r2, [r5] - ldrb r0, [r2, 0x10] - cmp r0, r4 - beq _08128870 - cmp r4, 0x3 - ble _08128880 - b _08128870 - .align 2, 0 -_08128844: .4byte gUnknown_203B0E0 -_08128848: - ldr r0, _08128864 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _081288CE - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - bl Menu_MoveCursor - b _081288CE - .align 2, 0 -_08128864: .4byte gMain -_08128868: - movs r0, 0x4 - movs r1, 0 - bl sub_8129C34 -_08128870: - ldr r0, _0812887C @ =gUnknown_203B0E0 - ldr r1, [r0] - movs r0, 0x3 - strh r0, [r1, 0x6] - b _081288CE - .align 2, 0 -_0812887C: .4byte gUnknown_203B0E0 -_08128880: - movs r1, 0 - strb r1, [r2, 0x11] - ldr r0, [r5] - strb r1, [r0, 0x12] - movs r0, 0x5 - movs r1, 0x1 - bl sub_8129C34 - ldr r0, [r5] - strb r6, [r0, 0x10] - ldr r1, [r5] - movs r0, 0x4 - strh r0, [r1, 0x6] - b _081288CE -_0812889C: - movs r0, 0 - bl sub_8129C8C - lsls r0, 24 - cmp r0, 0 - bne _081288CE - movs r0, 0x1 - bl sub_8129218 - b _081288CE -_081288B0: - movs r0, 0 - bl sub_8129C8C - lsls r0, 24 - cmp r0, 0 - bne _081288CE - movs r0, 0x1 - bl sub_8129C8C - lsls r0, 24 - cmp r0, 0 - bne _081288CE - movs r0, 0x1 - bl sub_8129218 -_081288CE: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_81287B4 - - thumb_func_start sub_81288D4 -sub_81288D4: @ 81288D4 - push {r4,lr} - ldr r0, _081288EC @ =gUnknown_203B0E0 - ldr r0, [r0] - ldrh r0, [r0, 0x6] - cmp r0, 0xA - bls _081288E2 - b _08128A94 -_081288E2: - lsls r0, 2 - ldr r1, _081288F0 @ =_081288F4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_081288EC: .4byte gUnknown_203B0E0 -_081288F0: .4byte _081288F4 - .align 2, 0 -_081288F4: - .4byte _08128920 - .4byte _08128938 - .4byte _08128954 - .4byte _0812899C - .4byte _08128A44 - .4byte _08128A86 - .4byte _08128A94 - .4byte _08128A94 - .4byte _081289F0 - .4byte _081289B0 - .4byte _081289D4 -_08128920: - movs r0, 0x6 - movs r1, 0 - bl sub_8129C34 - ldr r0, _08128934 @ =gUnknown_203B0E0 - ldr r1, [r0] - movs r0, 0x1 - strh r0, [r1, 0x6] - b _08128A94 - .align 2, 0 -_08128934: .4byte gUnknown_203B0E0 -_08128938: - movs r0, 0 - bl sub_8129C8C - lsls r0, 24 - cmp r0, 0 - beq _08128946 - b _08128A94 -_08128946: - ldr r0, _08128950 @ =gUnknown_203B0E0 - ldr r1, [r0] - movs r0, 0x2 - strh r0, [r1, 0x6] - b _08128A94 - .align 2, 0 -_08128950: .4byte gUnknown_203B0E0 -_08128954: - bl sub_812A568 - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - beq _08128966 - cmp r1, 0 - ble _08128A00 - b _08128A0A -_08128966: - ldr r4, _0812898C @ =gUnknown_203B0E0 - ldr r1, [r4] - ldrb r0, [r1, 0x13] - cmp r0, 0 - bne _08128990 - movs r2, 0xC8 - lsls r2, 1 - adds r0, r1, r2 - bl sub_8129614 - movs r0, 0x7 - movs r1, 0 - bl sub_8129C34 - ldr r1, [r4] - movs r0, 0x9 - strh r0, [r1, 0x6] - b _08128A94 - .align 2, 0 -_0812898C: .4byte gUnknown_203B0E0 -_08128990: - movs r2, 0xC8 - lsls r2, 1 - adds r0, r1, r2 - bl sub_81295C0 - b _08128A36 -_0812899C: - movs r0, 0 - bl sub_8129C8C - lsls r0, 24 - cmp r0, 0 - bne _08128A94 - movs r0, 0x1 - bl sub_8129218 - b _08128A94 -_081289B0: - movs r0, 0 - bl sub_8129C8C - lsls r0, 24 - cmp r0, 0 - bne _08128A94 - movs r0, 0x14 - movs r1, 0 - bl sub_8129C34 - ldr r0, _081289D0 @ =gUnknown_203B0E0 - ldr r1, [r0] - movs r0, 0xA - strh r0, [r1, 0x6] - b _08128A94 - .align 2, 0 -_081289D0: .4byte gUnknown_203B0E0 -_081289D4: - movs r0, 0 - bl sub_8129C8C - lsls r0, 24 - cmp r0, 0 - bne _08128A94 - ldr r0, _081289EC @ =gUnknown_203B0E0 - ldr r1, [r0] - movs r0, 0x8 - strh r0, [r1, 0x6] - b _08128A94 - .align 2, 0 -_081289EC: .4byte gUnknown_203B0E0 -_081289F0: - bl sub_812A568 - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - beq _08128A24 - cmp r1, 0 - bgt _08128A0A -_08128A00: - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _08128A0E - b _08128A94 -_08128A0A: - cmp r1, 0x1 - bne _08128A94 -_08128A0E: - movs r0, 0x7 - movs r1, 0 - bl sub_8129C34 - ldr r0, _08128A20 @ =gUnknown_203B0E0 - ldr r1, [r0] - movs r0, 0x3 - strh r0, [r1, 0x6] - b _08128A94 - .align 2, 0 -_08128A20: .4byte gUnknown_203B0E0 -_08128A24: - bl sub_80FA4A8 - ldr r4, _08128A40 @ =gUnknown_203B0E0 - ldr r0, [r4] - movs r1, 0xC8 - lsls r1, 1 - adds r0, r1 - bl sub_8129614 -_08128A36: - ldr r1, [r4] - movs r0, 0x4 - strh r0, [r1, 0x6] - b _08128A94 - .align 2, 0 -_08128A40: .4byte gUnknown_203B0E0 -_08128A44: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _08128A94 - bl sub_80FBA1C - cmp r0, 0 - bne _08128A94 - ldr r4, _08128A7C @ =gUnknown_203B0E0 - ldr r1, [r4] - movs r2, 0xC8 - lsls r2, 1 - adds r1, r2 - movs r0, 0 - movs r2, 0x28 - bl SendBlock - lsls r0, 24 - cmp r0, 0 - beq _08128A94 - ldr r1, [r4] - ldrb r0, [r1, 0x13] - cmp r0, 0 - bne _08128A80 - movs r0, 0x6 - strh r0, [r1, 0x6] - b _08128A94 - .align 2, 0 -_08128A7C: .4byte gUnknown_203B0E0 -_08128A80: - movs r0, 0x5 - strh r0, [r1, 0x6] - b _08128A94 -_08128A86: - ldr r0, _08128A9C @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _08128A94 - movs r0, 0x9 - bl sub_8129218 -_08128A94: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08128A9C: .4byte gReceivedRemoteLinkPlayers - thumb_func_end sub_81288D4 - - thumb_func_start sub_8128AA0 -sub_8128AA0: @ 8128AA0 - push {r4,lr} - ldr r1, _08128ABC @ =gUnknown_203B0E0 - ldr r0, [r1] - ldrh r0, [r0, 0x6] - adds r2, r1, 0 - cmp r0, 0x7 - bls _08128AB0 - b _08128BFC -_08128AB0: - lsls r0, 2 - ldr r1, _08128AC0 @ =_08128AC4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08128ABC: .4byte gUnknown_203B0E0 -_08128AC0: .4byte _08128AC4 - .align 2, 0 -_08128AC4: - .4byte _08128AE4 - .4byte _08128B08 - .4byte _08128B28 - .4byte _08128B4C - .4byte _08128B80 - .4byte _08128BA0 - .4byte _08128BC4 - .4byte _08128BE8 -_08128AE4: - ldr r0, _08128B00 @ =sub_81298F8 - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - beq _08128AF2 - b _08128BFC -_08128AF2: - movs r0, 0x7 - movs r1, 0 - bl sub_8129C34 - ldr r0, _08128B04 @ =gUnknown_203B0E0 - ldr r1, [r0] - b _08128BDA - .align 2, 0 -_08128B00: .4byte sub_81298F8 -_08128B04: .4byte gUnknown_203B0E0 -_08128B08: - movs r0, 0 - bl sub_8129C8C - lsls r0, 24 - cmp r0, 0 - bne _08128BFC - movs r0, 0x12 - movs r1, 0 - bl sub_8129C34 - ldr r0, _08128B24 @ =gUnknown_203B0E0 - ldr r1, [r0] - b _08128BDA - .align 2, 0 -_08128B24: .4byte gUnknown_203B0E0 -_08128B28: - movs r0, 0 - bl sub_8129C8C - lsls r0, 24 - cmp r0, 0 - bne _08128BFC - ldr r4, _08128B48 @ =gUnknown_203B0E0 - ldr r0, [r4] - movs r1, 0xC8 - lsls r1, 1 - adds r0, r1 - bl sub_81295EC - ldr r1, [r4] - b _08128BDA - .align 2, 0 -_08128B48: .4byte gUnknown_203B0E0 -_08128B4C: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _08128BFC - bl sub_80FBA1C - cmp r0, 0 - bne _08128BFC - ldr r4, _08128B7C @ =gUnknown_203B0E0 - ldr r1, [r4] - movs r0, 0xC8 - lsls r0, 1 - adds r1, r0 - movs r0, 0 - movs r2, 0x28 - bl SendBlock - lsls r0, 24 - cmp r0, 0 - beq _08128BFC - ldr r1, [r4] - b _08128BDA - .align 2, 0 -_08128B7C: .4byte gUnknown_203B0E0 -_08128B80: - bl GetBlockReceivedStatus - movs r1, 0x1 - ands r1, r0 - cmp r1, 0 - beq _08128BFC - bl sub_80FBA1C - cmp r0, 0 - bne _08128BFC - ldr r0, _08128B9C @ =gUnknown_203B0E0 - ldr r1, [r0] - b _08128BDA - .align 2, 0 -_08128B9C: .4byte gUnknown_203B0E0 -_08128BA0: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _08128BFC - bl sub_80FBA1C - adds r4, r0, 0 - cmp r4, 0 - bne _08128BFC - bl sub_800AAC0 - ldr r0, _08128BC0 @ =gUnknown_203B0E0 - ldr r1, [r0] - strh r4, [r1, 0xA] - b _08128BDA - .align 2, 0 -_08128BC0: .4byte gUnknown_203B0E0 -_08128BC4: - ldr r1, [r2] - ldrh r0, [r1, 0xA] - cmp r0, 0x95 - bhi _08128BD0 - adds r0, 0x1 - strh r0, [r1, 0xA] -_08128BD0: - ldr r0, _08128BE4 @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _08128BFC - ldr r1, [r2] -_08128BDA: - ldrh r0, [r1, 0x6] - adds r0, 0x1 - strh r0, [r1, 0x6] - b _08128BFC - .align 2, 0 -_08128BE4: .4byte gReceivedRemoteLinkPlayers -_08128BE8: - ldr r1, [r2] - ldrh r0, [r1, 0xA] - cmp r0, 0x95 - bls _08128BF8 - movs r0, 0x9 - bl sub_8129218 - b _08128BFC -_08128BF8: - adds r0, 0x1 - strh r0, [r1, 0xA] -_08128BFC: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8128AA0 - - thumb_func_start sub_8128C04 -sub_8128C04: @ 8128C04 - push {r4,r5,lr} - ldr r5, _08128C1C @ =gUnknown_203B0E0 - ldr r1, [r5] - ldrh r0, [r1, 0x6] - cmp r0, 0x1 - beq _08128C44 - cmp r0, 0x1 - bgt _08128C20 - cmp r0, 0 - beq _08128C2A - b _08128CA2 - .align 2, 0 -_08128C1C: .4byte gUnknown_203B0E0 -_08128C20: - cmp r0, 0x2 - beq _08128C6E - cmp r0, 0x3 - beq _08128C90 - b _08128CA2 -_08128C2A: - ldr r0, _08128C40 @ =sub_81298F8 - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - bne _08128CA2 - movs r0, 0x7 - movs r1, 0 - bl sub_8129C34 - b _08128C80 - .align 2, 0 -_08128C40: .4byte sub_81298F8 -_08128C44: - movs r0, 0 - bl sub_8129C8C - lsls r0, 24 - cmp r0, 0 - bne _08128CA2 - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _08128CA2 - bl sub_80FBA1C - adds r4, r0, 0 - cmp r4, 0 - bne _08128CA2 - bl sub_800AAC0 - ldr r1, [r5] - strh r4, [r1, 0xA] - b _08128C82 -_08128C6E: - ldrh r0, [r1, 0xA] - cmp r0, 0x95 - bhi _08128C78 - adds r0, 0x1 - strh r0, [r1, 0xA] -_08128C78: - ldr r0, _08128C8C @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _08128CA2 -_08128C80: - ldr r1, [r5] -_08128C82: - ldrh r0, [r1, 0x6] - adds r0, 0x1 - strh r0, [r1, 0x6] - b _08128CA2 - .align 2, 0 -_08128C8C: .4byte gReceivedRemoteLinkPlayers -_08128C90: - ldrh r0, [r1, 0xA] - cmp r0, 0x95 - bls _08128C9E - movs r0, 0x9 - bl sub_8129218 - b _08128CA2 -_08128C9E: - adds r0, 0x1 - strh r0, [r1, 0xA] -_08128CA2: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8128C04 - - thumb_func_start sub_8128CA8 -sub_8128CA8: @ 8128CA8 - push {r4,lr} - ldr r1, _08128CC0 @ =gUnknown_203B0E0 - ldr r0, [r1] - ldrh r0, [r0, 0x6] - adds r2, r1, 0 - cmp r0, 0x4 - bhi _08128D9C - lsls r0, 2 - ldr r1, _08128CC4 @ =_08128CC8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08128CC0: .4byte gUnknown_203B0E0 -_08128CC4: .4byte _08128CC8 - .align 2, 0 -_08128CC8: - .4byte _08128CDC - .4byte _08128D08 - .4byte _08128D30 - .4byte _08128D64 - .4byte _08128D88 -_08128CDC: - ldr r0, _08128D00 @ =sub_81298F8 - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - bne _08128D9C - ldr r4, _08128D04 @ =gUnknown_203B0E0 - ldr r0, [r4] - ldrb r0, [r0, 0x13] - cmp r0, 0 - beq _08128CFA - movs r0, 0x7 - movs r1, 0 - bl sub_8129C34 -_08128CFA: - ldr r1, [r4] - b _08128D7A - .align 2, 0 -_08128D00: .4byte sub_81298F8 -_08128D04: .4byte gUnknown_203B0E0 -_08128D08: - movs r0, 0 - bl sub_8129C8C - lsls r0, 24 - cmp r0, 0 - bne _08128D9C - ldr r4, _08128D2C @ =gUnknown_203B0E0 - ldr r0, [r4] - ldrb r0, [r0, 0x13] - cmp r0, 0 - beq _08128D26 - movs r0, 0x13 - movs r1, 0 - bl sub_8129C34 -_08128D26: - ldr r1, [r4] - b _08128D7A - .align 2, 0 -_08128D2C: .4byte gUnknown_203B0E0 -_08128D30: - movs r0, 0 - bl sub_8129C8C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08128D9C - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _08128D9C - bl sub_80FBA1C - adds r4, r0, 0 - cmp r4, 0 - bne _08128D9C - bl sub_800AAC0 - ldr r0, _08128D60 @ =gUnknown_203B0E0 - ldr r1, [r0] - strh r4, [r1, 0xA] - b _08128D7A - .align 2, 0 -_08128D60: .4byte gUnknown_203B0E0 -_08128D64: - ldr r1, [r2] - ldrh r0, [r1, 0xA] - cmp r0, 0x95 - bhi _08128D70 - adds r0, 0x1 - strh r0, [r1, 0xA] -_08128D70: - ldr r0, _08128D84 @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _08128D9C - ldr r1, [r2] -_08128D7A: - ldrh r0, [r1, 0x6] - adds r0, 0x1 - strh r0, [r1, 0x6] - b _08128D9C - .align 2, 0 -_08128D84: .4byte gReceivedRemoteLinkPlayers -_08128D88: - ldr r1, [r2] - ldrh r0, [r1, 0xA] - cmp r0, 0x95 - bls _08128D98 - movs r0, 0x9 - bl sub_8129218 - b _08128D9C -_08128D98: - adds r0, 0x1 - strh r0, [r1, 0xA] -_08128D9C: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8128CA8 - - thumb_func_start sub_8128DA4 -sub_8128DA4: @ 8128DA4 - push {r4,lr} - ldr r1, _08128DBC @ =gUnknown_203B0E0 - ldr r0, [r1] - ldrh r0, [r0, 0x6] - adds r4, r1, 0 - cmp r0, 0x4 - bhi _08128E70 - lsls r0, 2 - ldr r1, _08128DC0 @ =_08128DC4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08128DBC: .4byte gUnknown_203B0E0 -_08128DC0: .4byte _08128DC4 - .align 2, 0 -_08128DC4: - .4byte _08128DD8 - .4byte _08128E00 - .4byte _08128E34 - .4byte _08128E42 - .4byte _08128E60 -_08128DD8: - ldr r0, _08128DE8 @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _08128DEC - movs r0, 0x1 - bl sub_8129218 - b _08128E70 - .align 2, 0 -_08128DE8: .4byte gReceivedRemoteLinkPlayers -_08128DEC: - ldr r0, [r4] - movs r1, 0xC8 - lsls r1, 1 - adds r0, r1 - bl sub_8129590 - ldr r1, [r4] - ldrh r0, [r1, 0x6] - adds r0, 0x1 - strh r0, [r1, 0x6] -_08128E00: - bl IsLinkTaskFinished - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08128E70 - bl sub_80FBA1C - cmp r0, 0 - bne _08128E70 - ldr r4, _08128E30 @ =gUnknown_203B0E0 - ldr r1, [r4] - movs r0, 0xC8 - lsls r0, 1 - adds r1, r0 - movs r0, 0 - movs r2, 0x28 - bl SendBlock - lsls r0, 24 - cmp r0, 0 - beq _08128E70 - ldr r1, [r4] - b _08128E52 - .align 2, 0 -_08128E30: .4byte gUnknown_203B0E0 -_08128E34: - bl sub_8129454 - movs r0, 0x8 - movs r1, 0 - bl sub_8129C34 - b _08128E4E -_08128E42: - movs r0, 0 - bl sub_8129C8C - lsls r0, 24 - cmp r0, 0 - bne _08128E70 -_08128E4E: - ldr r0, _08128E5C @ =gUnknown_203B0E0 - ldr r1, [r0] -_08128E52: - ldrh r0, [r1, 0x6] - adds r0, 0x1 - strh r0, [r1, 0x6] - b _08128E70 - .align 2, 0 -_08128E5C: .4byte gUnknown_203B0E0 -_08128E60: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _08128E70 - movs r0, 0x1 - bl sub_8129218 -_08128E70: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8128DA4 - - thumb_func_start sub_8128E78 -sub_8128E78: @ 8128E78 - push {r4,lr} - ldr r0, _08128E90 @ =gUnknown_203B0E0 - ldr r0, [r0] - ldrh r0, [r0, 0x6] - cmp r0, 0x6 - bls _08128E86 - b _08128FA8 -_08128E86: - lsls r0, 2 - ldr r1, _08128E94 @ =_08128E98 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08128E90: .4byte gUnknown_203B0E0 -_08128E94: .4byte _08128E98 - .align 2, 0 -_08128E98: - .4byte _08128EB4 - .4byte _08128EE4 - .4byte _08128F38 - .4byte _08128F50 - .4byte _08128F60 - .4byte _08128F74 - .4byte _08128F8C -_08128EB4: - bl sub_8129408 - cmp r0, 0 - beq _08128ED0 - movs r0, 0x9 - movs r1, 0 - bl sub_8129C34 - ldr r0, _08128ECC @ =gUnknown_203B0E0 - ldr r1, [r0] - movs r0, 0x2 - b _08128FA6 - .align 2, 0 -_08128ECC: .4byte gUnknown_203B0E0 -_08128ED0: - movs r0, 0xD - movs r1, 0 - bl sub_8129C34 - ldr r0, _08128EE0 @ =gUnknown_203B0E0 - ldr r1, [r0] - movs r0, 0x5 - b _08128FA6 - .align 2, 0 -_08128EE0: .4byte gUnknown_203B0E0 -_08128EE4: - ldr r0, _08128F04 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08128F0C - bl sub_8129424 - movs r0, 0xB - movs r1, 0 - bl sub_8129C34 - ldr r0, _08128F08 @ =gUnknown_203B0E0 - ldr r1, [r0] - movs r0, 0x3 - b _08128FA6 - .align 2, 0 -_08128F04: .4byte gMain -_08128F08: .4byte gUnknown_203B0E0 -_08128F0C: - movs r4, 0x2 - adds r0, r4, 0 - ands r0, r1 - cmp r0, 0 - beq _08128F1A - movs r0, 0xA - b _08128F9A -_08128F1A: - bl sub_8129228 - cmp r0, 0 - beq _08128FA8 - movs r0, 0x1 - movs r1, 0 - bl sub_8129C34 - ldr r0, _08128F34 @ =gUnknown_203B0E0 - ldr r0, [r0] - strh r4, [r0, 0x6] - b _08128FA8 - .align 2, 0 -_08128F34: .4byte gUnknown_203B0E0 -_08128F38: - movs r0, 0 - bl sub_8129C8C - lsls r0, 24 - cmp r0, 0 - bne _08128FA8 - ldr r0, _08128F4C @ =gUnknown_203B0E0 - ldr r1, [r0] - movs r0, 0x1 - b _08128FA6 - .align 2, 0 -_08128F4C: .4byte gUnknown_203B0E0 -_08128F50: - movs r0, 0 - bl sub_8129C8C - lsls r0, 24 - cmp r0, 0 - bne _08128FA8 - movs r0, 0xA - b _08128F9A -_08128F60: - movs r0, 0 - bl sub_8129C8C - lsls r0, 24 - cmp r0, 0 - bne _08128FA8 - movs r0, 0x1 - bl sub_8129218 - b _08128FA8 -_08128F74: - movs r0, 0 - bl sub_8129C8C - lsls r0, 24 - cmp r0, 0 - bne _08128FA8 - ldr r0, _08128F88 @ =gUnknown_203B0E0 - ldr r1, [r0] - movs r0, 0x6 - b _08128FA6 - .align 2, 0 -_08128F88: .4byte gUnknown_203B0E0 -_08128F8C: - ldr r0, _08128FB0 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - beq _08128FA8 - movs r0, 0x7 -_08128F9A: - movs r1, 0 - bl sub_8129C34 - ldr r0, _08128FB4 @ =gUnknown_203B0E0 - ldr r1, [r0] - movs r0, 0x4 -_08128FA6: - strh r0, [r1, 0x6] -_08128FA8: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08128FB0: .4byte gMain -_08128FB4: .4byte gUnknown_203B0E0 - thumb_func_end sub_8128E78 - - thumb_func_start sub_8128FB8 -sub_8128FB8: @ 8128FB8 - push {r4,lr} - sub sp, 0x4 - ldr r1, _08128FD4 @ =gUnknown_203B0E0 - ldr r0, [r1] - ldrh r0, [r0, 0x6] - adds r4, r1, 0 - cmp r0, 0xD - bls _08128FCA - b _08129206 -_08128FCA: - lsls r0, 2 - ldr r1, _08128FD8 @ =_08128FDC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08128FD4: .4byte gUnknown_203B0E0 -_08128FD8: .4byte _08128FDC - .align 2, 0 -_08128FDC: - .4byte _08129014 - .4byte _0812902E - .4byte _08129054 - .4byte _08129098 - .4byte _081290BC - .4byte _081290D8 - .4byte _0812911C - .4byte _08129144 - .4byte _08129168 - .4byte _08129180 - .4byte _081291A4 - .4byte _081291B2 - .4byte _081291C8 - .4byte _081291E8 -_08129014: - ldr r1, [r4] - ldrb r0, [r1, 0x18] - cmp r0, 0 - bne _0812901E - b _081291C2 -_0812901E: - movs r0, 0x7 - movs r1, 0 - bl sub_8129C34 - ldr r1, [r4] - movs r0, 0x1 - strh r0, [r1, 0x6] - b _08129206 -_0812902E: - movs r0, 0 - bl sub_8129C8C - lsls r0, 24 - cmp r0, 0 - beq _0812903C - b _08129206 -_0812903C: - movs r0, 0xE - movs r1, 0 - bl sub_8129C34 - ldr r0, _08129050 @ =gUnknown_203B0E0 - ldr r1, [r0] - movs r0, 0x2 - strh r0, [r1, 0x6] - b _08129206 - .align 2, 0 -_08129050: .4byte gUnknown_203B0E0 -_08129054: - bl sub_812A568 - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - beq _08129080 - cmp r1, 0 - bgt _0812906E - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _08129074 - b _08129206 -_0812906E: - cmp r1, 0x1 - beq _08129074 - b _08129206 -_08129074: - ldr r0, _0812907C @ =gUnknown_203B0E0 - ldr r1, [r0] - b _081291C2 - .align 2, 0 -_0812907C: .4byte gUnknown_203B0E0 -_08129080: - movs r0, 0x7 - movs r1, 0 - bl sub_8129C34 - ldr r0, _08129094 @ =gUnknown_203B0E0 - ldr r1, [r0] - movs r0, 0x3 - strh r0, [r1, 0x6] - b _08129206 - .align 2, 0 -_08129094: .4byte gUnknown_203B0E0 -_08129098: - movs r0, 0 - bl sub_8129C8C - lsls r0, 24 - cmp r0, 0 - beq _081290A6 - b _08129206 -_081290A6: - movs r0, 0xF - movs r1, 0 - bl sub_8129C34 - ldr r0, _081290B8 @ =gUnknown_203B0E0 - ldr r1, [r0] - movs r0, 0x4 - strh r0, [r1, 0x6] - b _08129206 - .align 2, 0 -_081290B8: .4byte gUnknown_203B0E0 -_081290BC: - movs r0, 0 - bl sub_8129C8C - lsls r0, 24 - cmp r0, 0 - beq _081290CA - b _08129206 -_081290CA: - ldr r0, _081290D4 @ =gUnknown_203B0E0 - ldr r1, [r0] - movs r0, 0x5 - strh r0, [r1, 0x6] - b _08129206 - .align 2, 0 -_081290D4: .4byte gUnknown_203B0E0 -_081290D8: - bl sub_812A568 - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - beq _08129104 - cmp r1, 0 - bgt _081290F2 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _081290F8 - b _08129206 -_081290F2: - cmp r1, 0x1 - beq _081290F8 - b _08129206 -_081290F8: - ldr r0, _08129100 @ =gUnknown_203B0E0 - ldr r1, [r0] - b _081291C2 - .align 2, 0 -_08129100: .4byte gUnknown_203B0E0 -_08129104: - movs r0, 0x7 - movs r1, 0 - bl sub_8129C34 - ldr r0, _08129118 @ =gUnknown_203B0E0 - ldr r1, [r0] - movs r0, 0x6 - strh r0, [r1, 0x6] - b _08129206 - .align 2, 0 -_08129118: .4byte gUnknown_203B0E0 -_0812911C: - movs r0, 0 - bl sub_8129C8C - lsls r0, 24 - cmp r0, 0 - bne _08129206 - movs r0, 0x10 - movs r1, 0 - bl sub_8129C34 - bl sub_8129470 - ldr r0, _08129140 @ =gUnknown_203B0E0 - ldr r1, [r0] - movs r0, 0x7 - strh r0, [r1, 0x6] - b _08129206 - .align 2, 0 -_08129140: .4byte gUnknown_203B0E0 -_08129144: - movs r0, 0 - bl sub_8129C8C - lsls r0, 24 - cmp r0, 0 - bne _08129206 - bl SetContinueGameWarpStatusToDynamicWarp - movs r0, 0 - bl TrySavingData - ldr r0, _08129164 @ =gUnknown_203B0E0 - ldr r1, [r0] - movs r0, 0x8 - strh r0, [r1, 0x6] - b _08129206 - .align 2, 0 -_08129164: .4byte gUnknown_203B0E0 -_08129168: - movs r0, 0x11 - movs r1, 0 - bl sub_8129C34 - ldr r0, _0812917C @ =gUnknown_203B0E0 - ldr r1, [r0] - movs r0, 0x9 - strh r0, [r1, 0x6] - b _08129206 - .align 2, 0 -_0812917C: .4byte gUnknown_203B0E0 -_08129180: - movs r0, 0 - bl sub_8129C8C - lsls r0, 24 - cmp r0, 0 - bne _08129206 - movs r0, 0x30 - bl PlaySE - bl ClearContinueGameWarpStatus2 - ldr r0, _081291A0 @ =gUnknown_203B0E0 - ldr r1, [r0] - movs r0, 0xA - strh r0, [r1, 0x6] - b _08129206 - .align 2, 0 -_081291A0: .4byte gUnknown_203B0E0 -_081291A4: - ldr r1, [r4] - movs r0, 0 - strb r0, [r1, 0x19] - ldr r1, [r4] - movs r0, 0xB - strh r0, [r1, 0x6] - b _08129206 -_081291B2: - ldr r0, [r4] - ldrb r1, [r0, 0x19] - adds r1, 0x1 - strb r1, [r0, 0x19] - ldr r1, [r4] - ldrb r0, [r1, 0x19] - cmp r0, 0x78 - bls _08129206 -_081291C2: - movs r0, 0xC - strh r0, [r1, 0x6] - b _08129206 -_081291C8: - movs r1, 0x1 - negs r1, r1 - movs r0, 0 - str r0, [sp] - adds r0, r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, _081291E4 @ =gUnknown_203B0E0 - ldr r1, [r0] - movs r0, 0xD - strh r0, [r1, 0x6] - b _08129206 - .align 2, 0 -_081291E4: .4byte gUnknown_203B0E0 -_081291E8: - ldr r0, _08129210 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08129206 - bl sub_812B4B8 - bl sub_8129B88 - bl sub_81284BC - ldr r0, _08129214 @ =CB2_ReturnToField - bl SetMainCallback2 -_08129206: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08129210: .4byte gPaletteFade -_08129214: .4byte CB2_ReturnToField - thumb_func_end sub_8128FB8 - - thumb_func_start sub_8129218 -sub_8129218: @ 8129218 - ldr r1, _08129224 @ =gUnknown_203B0E0 - ldr r1, [r1] - movs r2, 0 - strh r0, [r1, 0x4] - strh r2, [r1, 0x6] - bx lr - .align 2, 0 -_08129224: .4byte gUnknown_203B0E0 - thumb_func_end sub_8129218 - - thumb_func_start sub_8129228 -sub_8129228: @ 8129228 - push {lr} - ldr r0, _08129258 @ =gMain - ldrh r2, [r0, 0x30] - movs r0, 0x40 - ands r0, r2 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0 - bne _081292B2 - movs r0, 0x80 - ands r0, r2 - cmp r0, 0 - beq _08129268 - ldr r0, _0812925C @ =gUnknown_203B0E0 - ldr r2, [r0] - ldr r1, _08129260 @ =gUnknown_845A8A8 - ldrb r0, [r2, 0x10] - adds r0, r1 - ldrb r1, [r2, 0x12] - ldrb r0, [r0] - cmp r1, r0 - bcs _08129264 - adds r0, r1, 0x1 - b _081292CC - .align 2, 0 -_08129258: .4byte gMain -_0812925C: .4byte gUnknown_203B0E0 -_08129260: .4byte gUnknown_845A8A8 -_08129264: - strb r3, [r2, 0x12] - b _081292CE -_08129268: - ldr r0, _0812928C @ =gUnknown_203B0E0 - ldr r1, [r0] - ldrb r0, [r1, 0x10] - cmp r0, 0x3 - beq _081292AE - movs r0, 0x20 - ands r0, r2 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0 - beq _08129296 - ldrb r0, [r1, 0x11] - cmp r0, 0 - beq _08129290 - subs r0, 0x1 - strb r0, [r1, 0x11] - b _081292CE - .align 2, 0 -_0812928C: .4byte gUnknown_203B0E0 -_08129290: - movs r0, 0x4 - strb r0, [r1, 0x11] - b _081292CE -_08129296: - movs r0, 0x10 - ands r0, r2 - cmp r0, 0 - beq _081292AE - ldrb r0, [r1, 0x11] - cmp r0, 0x3 - bhi _081292AA - adds r0, 0x1 - strb r0, [r1, 0x11] - b _081292CE -_081292AA: - strb r3, [r1, 0x11] - b _081292CE -_081292AE: - movs r0, 0 - b _081292D0 -_081292B2: - ldr r0, _081292C0 @ =gUnknown_203B0E0 - ldr r2, [r0] - ldrb r0, [r2, 0x12] - cmp r0, 0 - beq _081292C4 - subs r0, 0x1 - b _081292CC - .align 2, 0 -_081292C0: .4byte gUnknown_203B0E0 -_081292C4: - ldr r0, _081292D4 @ =gUnknown_845A8A8 - ldrb r1, [r2, 0x10] - adds r1, r0 - ldrb r0, [r1] -_081292CC: - strb r0, [r2, 0x12] -_081292CE: - movs r0, 0x1 -_081292D0: - pop {r1} - bx r1 - .align 2, 0 -_081292D4: .4byte gUnknown_845A8A8 - thumb_func_end sub_8129228 - - thumb_func_start sub_81292D8 -sub_81292D8: @ 81292D8 - push {r4-r6,lr} - sub sp, 0x18 - ldr r0, _08129318 @ =gUnknown_203B0E0 - ldr r5, [r0] - ldrb r0, [r5, 0x10] - cmp r0, 0x3 - beq _08129320 - ldr r3, _0812931C @ =gUnknown_845A9AC - ldrb r1, [r5, 0x12] - lsls r1, 2 - adds r2, r0, 0 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r1, r0 - adds r1, r3 - ldr r4, [r1] - ldrb r0, [r5, 0x11] - cmp r0, 0 - beq _08129312 - adds r1, r0, 0 -_08129302: - ldrb r0, [r4] - cmp r0, 0xF9 - bne _0812930A - adds r4, 0x1 -_0812930A: - adds r4, 0x1 - subs r1, 0x1 - cmp r1, 0 - bne _08129302 -_08129312: - movs r5, 0x1 - b _08129346 - .align 2, 0 -_08129318: .4byte gUnknown_203B0E0 -_0812931C: .4byte gUnknown_845A9AC -_08129320: - ldrb r0, [r5, 0x12] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 2 - adds r1, r0 - adds r1, 0xB9 - adds r1, r5, r1 - mov r0, sp - bl StringCopy - movs r1, 0 - strb r1, [r0] - movs r1, 0xFF - strb r1, [r0, 0x1] - mov r4, sp - mov r0, sp - bl StringLength_Multibyte - adds r5, r0, 0 -_08129346: - ldr r6, _081293A8 @ =gUnknown_203B0E0 - ldr r1, [r6] - ldrb r0, [r1, 0x15] - strb r0, [r1, 0x14] - cmp r4, 0 - beq _0812939E - bl sub_81294C8 - adds r2, r0, 0 - subs r5, 0x1 - movs r0, 0x1 - negs r0, r0 - cmp r5, r0 - beq _0812939A - ldr r0, [r6] - ldrb r0, [r0, 0x15] - cmp r0, 0xE - bhi _0812939A - adds r3, r6, 0 -_0812936C: - ldrb r0, [r4] - cmp r0, 0xF9 - bne _08129378 - strb r0, [r2] - adds r4, 0x1 - adds r2, 0x1 -_08129378: - ldrb r0, [r4] - strb r0, [r2] - adds r4, 0x1 - adds r2, 0x1 - ldr r1, [r3] - ldrb r0, [r1, 0x15] - adds r0, 0x1 - strb r0, [r1, 0x15] - subs r5, 0x1 - movs r0, 0x1 - negs r0, r0 - cmp r5, r0 - beq _0812939A - ldr r0, [r3] - ldrb r0, [r0, 0x15] - cmp r0, 0xE - bls _0812936C -_0812939A: - movs r0, 0xFF - strb r0, [r2] -_0812939E: - add sp, 0x18 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_081293A8: .4byte gUnknown_203B0E0 - thumb_func_end sub_81292D8 - - thumb_func_start sub_81293AC -sub_81293AC: @ 81293AC - push {r4,lr} - ldr r4, _081293D4 @ =gUnknown_203B0E0 - ldr r1, [r4] - ldrb r0, [r1, 0x15] - strb r0, [r1, 0x14] - ldr r0, [r4] - ldrb r0, [r0, 0x15] - cmp r0, 0 - beq _081293CE - bl sub_81294EC - movs r1, 0xFF - strb r1, [r0] - ldr r1, [r4] - ldrb r0, [r1, 0x15] - subs r0, 0x1 - strb r0, [r1, 0x15] -_081293CE: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081293D4: .4byte gUnknown_203B0E0 - thumb_func_end sub_81293AC - - thumb_func_start sub_81293D8 -sub_81293D8: @ 81293D8 - push {lr} - ldr r0, _08129400 @ =gUnknown_203B0E0 - ldr r1, [r0] - ldrb r0, [r1, 0x15] - subs r0, 0x1 - strb r0, [r1, 0x14] - bl sub_81294EC - adds r2, r0, 0 - ldrb r0, [r2] - cmp r0, 0xF9 - beq _081293FC - ldr r1, _08129404 @ =gUnknown_845A8AC - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _081293FC - strb r0, [r2] -_081293FC: - pop {r0} - bx r0 - .align 2, 0 -_08129400: .4byte gUnknown_203B0E0 -_08129404: .4byte gUnknown_845A8AC - thumb_func_end sub_81293D8 - - thumb_func_start sub_8129408 -sub_8129408: @ 8129408 - push {lr} - ldr r0, _08129418 @ =gUnknown_203B0E0 - ldr r0, [r0] - ldrb r0, [r0, 0x15] - cmp r0, 0 - bne _0812941C - movs r0, 0 - b _0812941E - .align 2, 0 -_08129418: .4byte gUnknown_203B0E0 -_0812941C: - movs r0, 0x1 -_0812941E: - pop {r1} - bx r1 - thumb_func_end sub_8129408 - - thumb_func_start sub_8129424 -sub_8129424: @ 8129424 - push {r4,lr} - bl sub_8129758 - adds r1, r0, 0 - ldr r4, _08129450 @ =gUnknown_203B0E0 - ldr r0, [r4] - ldrb r3, [r0, 0x12] - lsls r2, r3, 2 - adds r2, r3 - lsls r2, 2 - adds r2, r3 - adds r2, 0xB9 - adds r0, r2 - bl StringCopy - ldr r1, [r4] - movs r0, 0x1 - strb r0, [r1, 0x18] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08129450: .4byte gUnknown_203B0E0 - thumb_func_end sub_8129424 - - thumb_func_start sub_8129454 -sub_8129454: @ 8129454 - ldr r1, _0812946C @ =gUnknown_203B0E0 - ldr r2, [r1] - movs r0, 0xFF - strb r0, [r2, 0x1A] - ldr r2, [r1] - movs r3, 0 - movs r0, 0xF - strb r0, [r2, 0x14] - ldr r0, [r1] - strb r3, [r0, 0x15] - bx lr - .align 2, 0 -_0812946C: .4byte gUnknown_203B0E0 - thumb_func_end sub_8129454 - - thumb_func_start sub_8129470 -sub_8129470: @ 8129470 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r0, _081294A4 @ =gSaveBlock1Ptr - mov r8, r0 - ldr r7, _081294A8 @ =gUnknown_203B0E0 - movs r6, 0xB9 - ldr r5, _081294AC @ =0x00003ad4 - movs r4, 0x9 -_08129482: - mov r1, r8 - ldr r0, [r1] - adds r0, r5 - ldr r1, [r7] - adds r1, r6 - bl StringCopy - adds r6, 0x15 - adds r5, 0x15 - subs r4, 0x1 - cmp r4, 0 - bge _08129482 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_081294A4: .4byte gSaveBlock1Ptr -_081294A8: .4byte gUnknown_203B0E0 -_081294AC: .4byte 0x00003ad4 - thumb_func_end sub_8129470 - - thumb_func_start sub_81294B0 -sub_81294B0: @ 81294B0 - ldr r2, _081294C4 @ =gUnknown_203B0E0 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 2 - adds r1, r0 - adds r1, 0xB9 - ldr r0, [r2] - adds r0, r1 - bx lr - .align 2, 0 -_081294C4: .4byte gUnknown_203B0E0 - thumb_func_end sub_81294B0 - - thumb_func_start sub_81294C8 -sub_81294C8: @ 81294C8 - push {lr} - ldr r0, _081294E8 @ =gUnknown_203B0E0 - ldr r0, [r0] - adds r1, r0, 0 - adds r1, 0x1A - ldrb r0, [r0, 0x1A] - cmp r0, 0xFF - beq _081294E0 -_081294D8: - adds r1, 0x1 - ldrb r0, [r1] - cmp r0, 0xFF - bne _081294D8 -_081294E0: - adds r0, r1, 0 - pop {r1} - bx r1 - .align 2, 0 -_081294E8: .4byte gUnknown_203B0E0 - thumb_func_end sub_81294C8 - - thumb_func_start sub_81294EC -sub_81294EC: @ 81294EC - push {lr} - ldr r0, _08129518 @ =gUnknown_203B0E0 - ldr r0, [r0] - adds r2, r0, 0 - adds r2, 0x1A - adds r1, r2, 0 - ldrb r0, [r0, 0x1A] - cmp r0, 0xFF - beq _08129510 -_081294FE: - adds r2, r1, 0 - ldrb r0, [r2] - cmp r0, 0xF9 - bne _08129508 - adds r1, r2, 0x1 -_08129508: - adds r1, 0x1 - ldrb r0, [r1] - cmp r0, 0xFF - bne _081294FE -_08129510: - adds r0, r2, 0 - pop {r1} - bx r1 - .align 2, 0 -_08129518: .4byte gUnknown_203B0E0 - thumb_func_end sub_81294EC - - thumb_func_start sub_812951C -sub_812951C: @ 812951C - push {r4,lr} - ldr r4, _0812955C @ =gUnknown_203B0E0 - ldr r0, [r4] - adds r0, 0x1A - bl StringLength_Multibyte - adds r2, r0, 0 - ldr r0, [r4] - adds r1, r0, 0 - adds r1, 0x1A - movs r4, 0 - cmp r2, 0xA - bls _08129550 - subs r2, 0xA - movs r3, 0 - cmp r4, r2 - bcs _08129550 -_0812953E: - ldrb r0, [r1] - cmp r0, 0xF9 - bne _08129546 - adds r1, 0x1 -_08129546: - adds r1, 0x1 - adds r4, 0x1 - adds r3, 0x1 - cmp r3, r2 - bcc _0812953E -_08129550: - lsls r0, r4, 16 - lsrs r0, 16 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0812955C: .4byte gUnknown_203B0E0 - thumb_func_end sub_812951C - - thumb_func_start sub_8129560 -sub_8129560: @ 8129560 - movs r1, 0 - strb r1, [r0] - bx lr - thumb_func_end sub_8129560 - - thumb_func_start sub_8129568 -sub_8129568: @ 8129568 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x2 - strb r0, [r4] - adds r0, r4, 0x1 - ldr r1, _08129588 @ =gSaveBlock2Ptr - ldr r1, [r1] - bl StringCopy - ldr r0, _0812958C @ =gUnknown_203B0E0 - ldr r0, [r0] - ldrb r0, [r0, 0x13] - strb r0, [r4, 0x9] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08129588: .4byte gSaveBlock2Ptr -_0812958C: .4byte gUnknown_203B0E0 - thumb_func_end sub_8129568 - - thumb_func_start sub_8129590 -sub_8129590: @ 8129590 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x1 - strb r0, [r4] - adds r0, r4, 0x1 - ldr r1, _081295B8 @ =gSaveBlock2Ptr - ldr r1, [r1] - bl StringCopy - adds r4, 0x9 - ldr r0, _081295BC @ =gUnknown_203B0E0 - ldr r1, [r0] - adds r1, 0x1A - adds r0, r4, 0 - bl StringCopy - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081295B8: .4byte gSaveBlock2Ptr -_081295BC: .4byte gUnknown_203B0E0 - thumb_func_end sub_8129590 - - thumb_func_start sub_81295C0 -sub_81295C0: @ 81295C0 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x3 - strb r0, [r4] - adds r0, r4, 0x1 - ldr r1, _081295E4 @ =gSaveBlock2Ptr - ldr r1, [r1] - bl StringCopy - ldr r0, _081295E8 @ =gUnknown_203B0E0 - ldr r0, [r0] - ldrb r0, [r0, 0x13] - strb r0, [r4, 0x9] - bl sub_80FB9D0 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081295E4: .4byte gSaveBlock2Ptr -_081295E8: .4byte gUnknown_203B0E0 - thumb_func_end sub_81295C0 - - thumb_func_start sub_81295EC -sub_81295EC: @ 81295EC - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x4 - strb r0, [r4] - adds r0, r4, 0x1 - ldr r1, _0812960C @ =gSaveBlock2Ptr - ldr r1, [r1] - bl StringCopy - ldr r0, _08129610 @ =gUnknown_203B0E0 - ldr r0, [r0] - ldrb r0, [r0, 0x13] - strb r0, [r4, 0x9] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0812960C: .4byte gSaveBlock2Ptr -_08129610: .4byte gUnknown_203B0E0 - thumb_func_end sub_81295EC - - thumb_func_start sub_8129614 -sub_8129614: @ 8129614 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x5 - strb r0, [r4] - adds r0, r4, 0x1 - ldr r1, _08129634 @ =gSaveBlock2Ptr - ldr r1, [r1] - bl StringCopy - ldr r0, _08129638 @ =gUnknown_203B0E0 - ldr r0, [r0] - ldrb r0, [r0, 0x13] - strb r0, [r4, 0x9] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08129634: .4byte gSaveBlock2Ptr -_08129638: .4byte gUnknown_203B0E0 - thumb_func_end sub_8129614 - - thumb_func_start sub_812963C -sub_812963C: @ 812963C - push {r4-r6,lr} - adds r6, r0, 0 - adds r5, r1, 0 - ldrb r0, [r5] - adds r1, r0, 0 - adds r4, r5, 0x1 - adds r5, r4, 0 - adds r5, 0x8 - cmp r0, 0x2 - beq _08129664 - cmp r0, 0x2 - bgt _0812965A - cmp r0, 0x1 - beq _08129688 - b _081296EC -_0812965A: - cmp r1, 0x3 - beq _081296BE - cmp r1, 0x5 - beq _081296B2 - b _081296EC -_08129664: - ldr r0, _08129680 @ =gUnknown_203B0E0 - ldr r0, [r0] - ldrb r0, [r0, 0x13] - ldrb r1, [r4, 0x8] - cmp r0, r1 - beq _081296EC - bl DynamicPlaceholderTextUtil_Reset - movs r0, 0 - adds r1, r4, 0 - bl DynamicPlaceholderTextUtil_SetPlaceholderPtr - ldr r1, _08129684 @ =gUnknown_841B3AA - b _081296D8 - .align 2, 0 -_08129680: .4byte gUnknown_203B0E0 -_08129684: .4byte gUnknown_841B3AA -_08129688: - adds r0, r6, 0 - adds r1, r4, 0 - bl StringCopy - movs r1, 0xFC - strb r1, [r0] - adds r0, 0x1 - movs r1, 0x13 - strb r1, [r0] - adds r0, 0x1 - movs r1, 0x2A - strb r1, [r0] - adds r0, 0x1 - movs r1, 0xF0 - strb r1, [r0] - adds r0, 0x1 - adds r1, r5, 0 - bl StringCopy - movs r0, 0x1 - b _081296EE -_081296B2: - ldr r0, _081296E4 @ =gUnknown_203B0E0 - ldr r0, [r0] - adds r0, 0x79 - adds r1, r4, 0 - bl StringCopy -_081296BE: - ldr r0, _081296E4 @ =gUnknown_203B0E0 - ldr r0, [r0] - ldrb r0, [r0, 0x13] - ldrb r5, [r5] - cmp r0, r5 - beq _081296EC - bl DynamicPlaceholderTextUtil_Reset - movs r0, 0 - adds r1, r4, 0 - bl DynamicPlaceholderTextUtil_SetPlaceholderPtr - ldr r1, _081296E8 @ =gUnknown_841B3BE -_081296D8: - adds r0, r6, 0 - bl DynamicPlaceholderTextUtil_ExpandPlaceholders - movs r0, 0x1 - b _081296EE - .align 2, 0 -_081296E4: .4byte gUnknown_203B0E0 -_081296E8: .4byte gUnknown_841B3BE -_081296EC: - movs r0, 0 -_081296EE: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_812963C - - thumb_func_start sub_81296F4 -sub_81296F4: @ 81296F4 - ldr r0, _081296FC @ =gUnknown_203B0E0 - ldr r0, [r0] - ldrb r0, [r0, 0x10] - bx lr - .align 2, 0 -_081296FC: .4byte gUnknown_203B0E0 - thumb_func_end sub_81296F4 - - thumb_func_start sub_8129700 -sub_8129700: @ 8129700 - ldr r2, _08129710 @ =gUnknown_203B0E0 - ldr r3, [r2] - ldrb r2, [r3, 0x11] - strb r2, [r0] - ldrb r0, [r3, 0x12] - strb r0, [r1] - bx lr - .align 2, 0 -_08129710: .4byte gUnknown_203B0E0 - thumb_func_end sub_8129700 - - thumb_func_start sub_8129714 -sub_8129714: @ 8129714 - ldr r0, _0812971C @ =gUnknown_203B0E0 - ldr r0, [r0] - adds r0, 0x1A - bx lr - .align 2, 0 -_0812971C: .4byte gUnknown_203B0E0 - thumb_func_end sub_8129714 - - thumb_func_start sub_8129720 -sub_8129720: @ 8129720 - push {lr} - bl sub_8129714 - bl StringLength_Multibyte - pop {r1} - bx r1 - thumb_func_end sub_8129720 - - thumb_func_start sub_8129730 -sub_8129730: @ 8129730 - push {r4,lr} - adds r4, r0, 0 - ldr r0, _08129748 @ =gUnknown_203B0E0 - ldr r0, [r0] - ldrb r3, [r0, 0x15] - ldrb r2, [r0, 0x14] - subs r0, r3, r2 - cmp r0, 0 - bge _0812974C - negs r0, r0 - str r3, [r4] - b _0812974E - .align 2, 0 -_08129748: .4byte gUnknown_203B0E0 -_0812974C: - str r2, [r4] -_0812974E: - str r0, [r1] - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8129730 - - thumb_func_start sub_8129758 -sub_8129758: @ 8129758 - push {lr} - bl sub_812951C - lsls r0, 16 - lsrs r2, r0, 16 - ldr r0, _08129784 @ =gUnknown_203B0E0 - ldr r0, [r0] - adds r1, r0, 0 - adds r1, 0x1A - cmp r2, 0 - beq _0812977E -_0812976E: - ldrb r0, [r1] - cmp r0, 0xF9 - bne _08129776 - adds r1, 0x1 -_08129776: - adds r1, 0x1 - subs r2, 0x1 - cmp r2, 0 - bne _0812976E -_0812977E: - adds r0, r1, 0 - pop {r1} - bx r1 - .align 2, 0 -_08129784: .4byte gUnknown_203B0E0 - thumb_func_end sub_8129758 - - thumb_func_start sub_8129788 -sub_8129788: @ 8129788 - push {r4,lr} - bl sub_812951C - lsls r0, 16 - lsrs r4, r0, 16 - ldr r0, _081297C0 @ =gUnknown_203B0E0 - ldr r0, [r0] - adds r1, r0, 0 - adds r1, 0x1A - movs r2, 0 - movs r3, 0 - cmp r2, r4 - bcs _081297B8 -_081297A2: - ldrb r0, [r1] - cmp r0, 0xF9 - bne _081297AA - adds r1, 0x1 -_081297AA: - adds r1, 0x1 - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - adds r3, 0x1 - cmp r3, r4 - bcc _081297A2 -_081297B8: - adds r0, r2, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_081297C0: .4byte gUnknown_203B0E0 - thumb_func_end sub_8129788 - - thumb_func_start sub_81297C4 -sub_81297C4: @ 81297C4 - ldr r0, _081297CC @ =gUnknown_203B0E0 - ldr r0, [r0] - adds r0, 0x39 - bx lr - .align 2, 0 -_081297CC: .4byte gUnknown_203B0E0 - thumb_func_end sub_81297C4 - - thumb_func_start sub_81297D0 -sub_81297D0: @ 81297D0 - ldr r0, _081297D8 @ =gUnknown_203B0E0 - ldr r0, [r0] - ldrb r0, [r0, 0x16] - bx lr - .align 2, 0 -_081297D8: .4byte gUnknown_203B0E0 - thumb_func_end sub_81297D0 - - thumb_func_start sub_81297DC -sub_81297DC: @ 81297DC - ldr r0, _081297E4 @ =gUnknown_203B0E0 - ldr r0, [r0] - ldrb r0, [r0, 0x15] - bx lr - .align 2, 0 -_081297E4: .4byte gUnknown_203B0E0 - thumb_func_end sub_81297DC - - thumb_func_start sub_81297E8 -sub_81297E8: @ 81297E8 - push {lr} - bl sub_81294EC - ldrb r1, [r0] - cmp r1, 0xFF - bhi _08129802 - ldr r0, _08129808 @ =gUnknown_845A8AC - adds r0, r1, r0 - ldrb r0, [r0] - cmp r0, r1 - beq _08129802 - cmp r0, 0 - bne _0812980C -_08129802: - movs r0, 0x3 - b _0812980E - .align 2, 0 -_08129808: .4byte gUnknown_845A8AC -_0812980C: - movs r0, 0 -_0812980E: - pop {r1} - bx r1 - thumb_func_end sub_81297E8 - - thumb_func_start sub_8129814 -sub_8129814: @ 8129814 - ldr r0, _0812981C @ =gUnknown_203B0E0 - ldr r0, [r0] - adds r0, 0x79 - bx lr - .align 2, 0 -_0812981C: .4byte gUnknown_203B0E0 - thumb_func_end sub_8129814 - - thumb_func_start copy_strings_to_sav1 -copy_strings_to_sav1: @ 8129820 - push {r4,lr} - ldr r4, _081298A4 @ =gSaveBlock1Ptr - ldr r0, [r4] - ldr r1, _081298A8 @ =0x00003ad4 - adds r0, r1 - ldr r1, _081298AC @ =gUnknown_841B510 - bl StringCopy - ldr r0, [r4] - ldr r1, _081298B0 @ =0x00003ae9 - adds r0, r1 - ldr r1, _081298B4 @ =gUnknown_841B516 - bl StringCopy - ldr r0, [r4] - ldr r1, _081298B8 @ =0x00003afe - adds r0, r1 - ldr r1, _081298BC @ =gUnknown_841B51E - bl StringCopy - ldr r0, [r4] - ldr r1, _081298C0 @ =0x00003b13 - adds r0, r1 - ldr r1, _081298C4 @ =gUnknown_841B524 - bl StringCopy - ldr r0, [r4] - ldr r1, _081298C8 @ =0x00003b28 - adds r0, r1 - ldr r1, _081298CC @ =gUnknown_841B52B - bl StringCopy - ldr r0, [r4] - ldr r1, _081298D0 @ =0x00003b3d - adds r0, r1 - ldr r1, _081298D4 @ =gUnknown_841B531 - bl StringCopy - ldr r0, [r4] - ldr r1, _081298D8 @ =0x00003b52 - adds r0, r1 - ldr r1, _081298DC @ =gUnknown_841B535 - bl StringCopy - ldr r0, [r4] - ldr r1, _081298E0 @ =0x00003b67 - adds r0, r1 - ldr r1, _081298E4 @ =gUnknown_841B53B - bl StringCopy - ldr r0, [r4] - ldr r1, _081298E8 @ =0x00003b7c - adds r0, r1 - ldr r1, _081298EC @ =gUnknown_841B541 - bl StringCopy - ldr r0, [r4] - ldr r1, _081298F0 @ =0x00003b91 - adds r0, r1 - ldr r1, _081298F4 @ =gUnknown_841B54B - bl StringCopy - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081298A4: .4byte gSaveBlock1Ptr -_081298A8: .4byte 0x00003ad4 -_081298AC: .4byte gUnknown_841B510 -_081298B0: .4byte 0x00003ae9 -_081298B4: .4byte gUnknown_841B516 -_081298B8: .4byte 0x00003afe -_081298BC: .4byte gUnknown_841B51E -_081298C0: .4byte 0x00003b13 -_081298C4: .4byte gUnknown_841B524 -_081298C8: .4byte 0x00003b28 -_081298CC: .4byte gUnknown_841B52B -_081298D0: .4byte 0x00003b3d -_081298D4: .4byte gUnknown_841B531 -_081298D8: .4byte 0x00003b52 -_081298DC: .4byte gUnknown_841B535 -_081298E0: .4byte 0x00003b67 -_081298E4: .4byte gUnknown_841B53B -_081298E8: .4byte 0x00003b7c -_081298EC: .4byte gUnknown_841B541 -_081298F0: .4byte 0x00003b91 -_081298F4: .4byte gUnknown_841B54B - thumb_func_end copy_strings_to_sav1 - - thumb_func_start sub_81298F8 -sub_81298F8: @ 81298F8 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _0812991C @ =gTasks+0x8 - adds r4, r0, r1 - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r0, 0x7 - bls _08129912 - b _08129B08 -_08129912: - lsls r0, 2 - ldr r1, _08129920 @ =_08129924 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0812991C: .4byte gTasks+0x8 -_08129920: .4byte _08129924 - .align 2, 0 -_08129924: - .4byte _08129944 - .4byte _08129952 - .4byte _08129AEC - .4byte _081299A0 - .4byte _08129A8C - .4byte _08129AC4 - .4byte _08129AD8 - .4byte _08129A7C -_08129944: - ldr r0, _08129978 @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _0812994E - b _08129AE0 -_0812994E: - movs r0, 0x1 - strh r0, [r4] -_08129952: - bl GetLinkPlayerCount - lsls r0, 24 - lsrs r0, 24 - adds r2, r0, 0 - strh r0, [r4, 0x8] - ldr r3, _0812997C @ =gUnknown_203B0E0 - ldr r0, [r3] - ldrb r1, [r0, 0xD] - movs r5, 0x8 - ldrsh r0, [r4, r5] - cmp r1, r0 - beq _08129980 - movs r0, 0x2 - strh r0, [r4] - ldr r0, [r3] - strb r2, [r0, 0xD] - b _08129B08 - .align 2, 0 -_08129978: .4byte gReceivedRemoteLinkPlayers -_0812997C: .4byte gUnknown_203B0E0 -_08129980: - bl GetBlockReceivedStatus - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x6] - cmp r0, 0 - bne _08129998 - bl sub_80FBA1C - cmp r0, 0 - beq _08129998 - b _08129B08 -_08129998: - movs r0, 0 - strh r0, [r4, 0x2] - movs r0, 0x3 - strh r0, [r4] -_081299A0: - movs r1, 0x2 - ldrsh r0, [r4, r1] - cmp r0, 0x4 - bgt _081299DA - movs r2, 0x6 - ldrsh r0, [r4, r2] - movs r3, 0x2 - ldrsh r1, [r4, r3] - asrs r0, r1 - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - bne _081299DA - movs r2, 0x1 -_081299BC: - ldrh r0, [r4, 0x2] - adds r0, 0x1 - strh r0, [r4, 0x2] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4 - bgt _081299DA - movs r5, 0x6 - ldrsh r0, [r4, r5] - movs r3, 0x2 - ldrsh r1, [r4, r3] - asrs r0, r1 - ands r0, r2 - cmp r0, 0 - beq _081299BC -_081299DA: - ldrh r1, [r4, 0x2] - movs r5, 0x2 - ldrsh r0, [r4, r5] - cmp r0, 0x5 - bne _081299E6 - b _08129B04 -_081299E6: - strh r1, [r4, 0x4] - lsls r0, r1, 24 - lsrs r0, 24 - bl ResetBlockReceivedFlag - movs r1, 0x2 - ldrsh r0, [r4, r1] - lsls r0, 8 - ldr r1, _08129A0C @ =gBlockRecvBuffer - adds r0, r1 - ldrb r0, [r0] - subs r0, 0x1 - cmp r0, 0x4 - bhi _08129A28 - lsls r0, 2 - ldr r1, _08129A10 @ =_08129A14 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08129A0C: .4byte gBlockRecvBuffer -_08129A10: .4byte _08129A14 - .align 2, 0 -_08129A14: - .4byte _08129A28 - .4byte _08129A2C - .4byte _08129A30 - .4byte _08129A34 - .4byte _08129A38 -_08129A28: - movs r0, 0x3 - b _08129A3A -_08129A2C: - movs r0, 0x3 - b _08129A3A -_08129A30: - movs r0, 0x4 - b _08129A3A -_08129A34: - movs r0, 0x5 - b _08129A3A -_08129A38: - movs r0, 0x6 -_08129A3A: - strh r0, [r4, 0xA] - ldr r5, _08129A68 @ =gUnknown_203B0E0 - ldr r0, [r5] - adds r0, 0x39 - movs r2, 0x2 - ldrsh r1, [r4, r2] - lsls r1, 8 - ldr r2, _08129A6C @ =gBlockRecvBuffer - adds r1, r2 - bl sub_812963C - cmp r0, 0 - beq _08129A70 - ldr r0, [r5] - ldrh r1, [r4, 0x2] - strb r1, [r0, 0x16] - movs r0, 0xC - movs r1, 0x2 - bl sub_8129C34 - movs r0, 0x7 - b _08129A72 - .align 2, 0 -_08129A68: .4byte gUnknown_203B0E0 -_08129A6C: .4byte gBlockRecvBuffer -_08129A70: - ldrh r0, [r4, 0xA] -_08129A72: - strh r0, [r4] - ldrh r0, [r4, 0x2] - adds r0, 0x1 - strh r0, [r4, 0x2] - b _08129B08 -_08129A7C: - movs r0, 0x2 - bl sub_8129C8C - lsls r0, 24 - cmp r0, 0 - bne _08129B08 - ldrh r0, [r4, 0xA] - b _08129B06 -_08129A8C: - ldr r6, _08129AB4 @ =gUnknown_203B0E0 - ldr r0, [r6] - ldrb r0, [r0, 0x13] - cmp r0, 0 - bne _08129AC0 - movs r3, 0x4 - ldrsh r0, [r4, r3] - cmp r0, 0 - beq _08129AC0 - bl GetLinkPlayerCount - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _08129AB8 - bl sub_80FA4A8 - ldr r1, [r6] - movs r0, 0x1 - b _08129ADE - .align 2, 0 -_08129AB4: .4byte gUnknown_203B0E0 -_08129AB8: - movs r5, 0x4 - ldrsh r0, [r4, r5] - bl sub_80FBD6C -_08129AC0: - movs r0, 0x3 - b _08129B06 -_08129AC4: - ldr r0, _08129AD4 @ =gUnknown_203B0E0 - ldr r1, [r0] - ldrb r0, [r1, 0x13] - cmp r0, 0 - beq _08129AE0 - movs r0, 0x2 - b _08129ADE - .align 2, 0 -_08129AD4: .4byte gUnknown_203B0E0 -_08129AD8: - ldr r0, _08129AE8 @ =gUnknown_203B0E0 - ldr r1, [r0] - movs r0, 0x3 -_08129ADE: - strb r0, [r1, 0x17] -_08129AE0: - adds r0, r5, 0 - bl DestroyTask - b _08129B08 - .align 2, 0 -_08129AE8: .4byte gUnknown_203B0E0 -_08129AEC: - bl sub_80FBA1C - cmp r0, 0 - bne _08129B08 - ldr r0, _08129B10 @ =gUnknown_203B0E0 - ldr r1, [r0] - ldrb r0, [r1, 0x13] - cmp r0, 0 - bne _08129B04 - ldrb r0, [r1, 0xD] - bl sub_80FB030 -_08129B04: - movs r0, 0x1 -_08129B06: - strh r0, [r4] -_08129B08: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08129B10: .4byte gUnknown_203B0E0 - thumb_func_end sub_81298F8 - - thumb_func_start sub_8129B14 -sub_8129B14: @ 8129B14 - push {r4,lr} - ldr r4, _08129B60 @ =gUnknown_203B0E4 - ldr r0, _08129B64 @ =0x00002168 - bl Alloc - str r0, [r4] - cmp r0, 0 - beq _08129B70 - bl sub_812AE70 - cmp r0, 0 - beq _08129B70 - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, _08129B68 @ =gUnknown_845AA84 - movs r0, 0 - movs r2, 0x4 - bl InitBgsFromTemplates - ldr r0, _08129B6C @ =gUnknown_845AA94 - bl InitWindows - bl ResetTempTileDataBuffers - bl sub_812AD50 - ldr r0, [r4] - bl sub_8129BB8 - bl sub_8129BC4 - movs r0, 0 - movs r1, 0 - bl sub_8129C34 - movs r0, 0x1 - b _08129B72 - .align 2, 0 -_08129B60: .4byte gUnknown_203B0E4 -_08129B64: .4byte 0x00002168 -_08129B68: .4byte gUnknown_845AA84 -_08129B6C: .4byte gUnknown_845AA94 -_08129B70: - movs r0, 0 -_08129B72: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8129B14 - - thumb_func_start sub_8129B78 -sub_8129B78: @ 8129B78 - push {lr} - movs r0, 0 - bl sub_8129C8C - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end sub_8129B78 - - thumb_func_start sub_8129B88 -sub_8129B88: @ 8129B88 - push {r4,lr} - bl sub_812AEB0 - ldr r4, _08129BB0 @ =gUnknown_203B0E4 - ldr r0, [r4] - cmp r0, 0 - beq _08129B9E - bl Free - movs r0, 0 - str r0, [r4] -_08129B9E: - bl FreeAllWindowBuffers - ldr r1, _08129BB4 @ =gScanlineEffect - movs r0, 0x3 - strb r0, [r1, 0x15] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08129BB0: .4byte gUnknown_203B0E4 -_08129BB4: .4byte gScanlineEffect - thumb_func_end sub_8129B88 - - thumb_func_start sub_8129BB8 -sub_8129BB8: @ 8129BB8 - movs r2, 0 - movs r1, 0xFF - strh r1, [r0, 0x18] - strh r1, [r0, 0x1E] - strh r2, [r0, 0x1A] - bx lr - thumb_func_end sub_8129BB8 - - thumb_func_start sub_8129BC4 -sub_8129BC4: @ 8129BC4 - push {r4,r5,lr} - ldr r1, _08129BF4 @ =gUnknown_203B0E4 - ldr r0, [r1] - cmp r0, 0 - beq _08129BEC - movs r2, 0 - adds r4, r1, 0 - ldr r5, _08129BF8 @ =sub_812A420 - movs r3, 0 -_08129BD6: - ldr r0, [r4] - lsls r1, r2, 3 - adds r0, r1 - str r5, [r0] - strb r3, [r0, 0x4] - ldr r0, [r4] - adds r0, r1 - strb r3, [r0, 0x5] - adds r2, 0x1 - cmp r2, 0x2 - ble _08129BD6 -_08129BEC: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08129BF4: .4byte gUnknown_203B0E4 -_08129BF8: .4byte sub_812A420 - thumb_func_end sub_8129BC4 - - thumb_func_start sub_8129BFC -sub_8129BFC: @ 8129BFC - push {r4-r6,lr} - ldr r1, _08129C30 @ =gUnknown_203B0E4 - ldr r0, [r1] - cmp r0, 0 - beq _08129C2A - movs r5, 0 - adds r6, r1, 0 -_08129C0A: - ldr r0, [r6] - lsls r4, r5, 3 - adds r1, r0, r4 - ldrb r0, [r1, 0x4] - cmp r0, 0 - beq _08129C24 - adds r0, r1, 0x5 - ldr r1, [r1] - bl _call_via_r1 - ldr r1, [r6] - adds r1, r4 - strb r0, [r1, 0x4] -_08129C24: - adds r5, 0x1 - cmp r5, 0x2 - ble _08129C0A -_08129C2A: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08129C30: .4byte gUnknown_203B0E4 - thumb_func_end sub_8129BFC - - thumb_func_start sub_8129C34 -sub_8129C34: @ 8129C34 - push {r4-r7,lr} - lsls r0, 16 - lsrs r6, r0, 16 - lsls r1, 24 - ldr r3, _08129C70 @ =gUnknown_203B0E4 - ldr r0, [r3] - lsrs r1, 21 - adds r0, r1 - ldr r2, _08129C74 @ =sub_812A420 - str r2, [r0] - movs r4, 0 - adds r5, r3, 0 - adds r3, r1, 0 - mov r12, r4 - ldr r1, _08129C78 @ =gUnknown_845AABC - movs r7, 0x1 - adds r2, r1, 0x4 -_08129C56: - ldrh r0, [r1] - cmp r0, r6 - bne _08129C7C - ldr r1, [r5] - adds r1, r3 - ldr r0, [r2] - str r0, [r1] - strb r7, [r1, 0x4] - ldr r0, [r5] - adds r0, r3 - mov r1, r12 - strb r1, [r0, 0x5] - b _08129C86 - .align 2, 0 -_08129C70: .4byte gUnknown_203B0E4 -_08129C74: .4byte sub_812A420 -_08129C78: .4byte gUnknown_845AABC -_08129C7C: - adds r1, 0x8 - adds r2, 0x8 - adds r4, 0x1 - cmp r4, 0x14 - bls _08129C56 -_08129C86: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8129C34 - - thumb_func_start sub_8129C8C -sub_8129C8C: @ 8129C8C - lsls r0, 24 - ldr r1, _08129C9C @ =gUnknown_203B0E4 - ldr r1, [r1] - lsrs r0, 21 - adds r1, r0 - ldrb r0, [r1, 0x4] - bx lr - .align 2, 0 -_08129C9C: .4byte gUnknown_203B0E4 - thumb_func_end sub_8129C8C - - thumb_func_start sub_8129CA0 -sub_8129CA0: @ 8129CA0 - push {r4,lr} - adds r4, r0, 0 - bl FreeTempTileDataBuffersIfPossible - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08129D36 - ldrb r0, [r4] - cmp r0, 0x6 - bhi _08129D2C - lsls r0, 2 - ldr r1, _08129CC0 @ =_08129CC4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08129CC0: .4byte _08129CC4 - .align 2, 0 -_08129CC4: - .4byte _08129CE0 - .4byte _08129CEA - .4byte _08129CF0 - .4byte _08129CF6 - .4byte _08129CFC - .4byte _08129D02 - .4byte _08129D14 -_08129CE0: - bl sub_812AAD4 - bl sub_812AB8C - b _08129D30 -_08129CEA: - bl sub_812ABD8 - b _08129D30 -_08129CF0: - bl sub_812AC08 - b _08129D30 -_08129CF6: - bl sub_812AC58 - b _08129D30 -_08129CFC: - bl sub_812AC9C - b _08129D30 -_08129D02: - bl sub_812ACC0 - bl sub_812ACEC - bl sub_812AD20 - bl sub_812AD04 - b _08129D30 -_08129D14: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _08129D30 - bl sub_812AEC8 - bl sub_812B048 - bl sub_812B100 - b _08129D30 -_08129D2C: - movs r0, 0 - b _08129D38 -_08129D30: - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] -_08129D36: - movs r0, 0x1 -_08129D38: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8129CA0 - - thumb_func_start sub_8129D40 -sub_8129D40: @ 8129D40 - push {r4,lr} - adds r4, r0, 0 - ldrb r0, [r4] - cmp r0, 0 - beq _08129D50 - cmp r0, 0x1 - beq _08129D5E - b _08129D68 -_08129D50: - bl sub_812AA10 - movs r0, 0x3 - movs r1, 0x3 - bl CopyWindowToVram - b _08129D68 -_08129D5E: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - lsrs r0, 24 - b _08129D70 -_08129D68: - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - movs r0, 0x1 -_08129D70: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8129D40 - - thumb_func_start sub_8129D78 -sub_8129D78: @ 8129D78 - push {r4,lr} - adds r4, r0, 0 - ldrb r0, [r4] - cmp r0, 0 - beq _08129D88 - cmp r0, 0x1 - beq _08129D96 - b _08129DA0 -_08129D88: - bl sub_812AA64 - movs r0, 0x3 - movs r1, 0x3 - bl CopyWindowToVram - b _08129DA0 -_08129D96: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - lsrs r0, 24 - b _08129DA8 -_08129DA0: - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - movs r0, 0x1 -_08129DA8: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8129D78 - - thumb_func_start sub_8129DB0 -sub_8129DB0: @ 8129DB0 - push {r4,lr} - adds r4, r0, 0 - ldrb r0, [r4] - cmp r0, 0x1 - beq _08129DE6 - cmp r0, 0x1 - bgt _08129DC4 - cmp r0, 0 - beq _08129DCA - b _08129E0C -_08129DC4: - cmp r0, 0x2 - beq _08129DF2 - b _08129E0C -_08129DCA: - movs r0, 0x1 - bl sub_812AEFC - bl sub_812A980 - cmp r0, 0 - bne _08129E12 - bl sub_812A804 - movs r0, 0x2 - movs r1, 0x2 - bl CopyWindowToVram - b _08129E0C -_08129DE6: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - beq _08129E0C - b _08129E12 -_08129DF2: - bl sub_812A9C8 - cmp r0, 0 - bne _08129E12 - bl sub_812AF1C - movs r0, 0 - bl sub_812AEFC - bl sub_812B160 - movs r0, 0 - b _08129E14 -_08129E0C: - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] -_08129E12: - movs r0, 0x1 -_08129E14: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8129DB0 - - thumb_func_start sub_8129E1C -sub_8129E1C: @ 8129E1C - push {lr} - bl sub_812AF1C - movs r0, 0 - pop {r1} - bx r1 - thumb_func_end sub_8129E1C - - thumb_func_start sub_8129E28 -sub_8129E28: @ 8129E28 - push {r4,lr} - adds r4, r0, 0 - ldrb r0, [r4] - cmp r0, 0 - beq _08129E38 - cmp r0, 0x1 - beq _08129E5C - b _08129E66 -_08129E38: - movs r0, 0 - movs r1, 0 - bl sub_812A578 - movs r0, 0x17 - movs r1, 0xB - movs r2, 0x1 - bl sub_812A424 - ldr r0, _08129E58 @ =gUnknown_203B0E4 - ldr r0, [r0] - ldrb r0, [r0, 0x1E] - movs r1, 0x3 - bl CopyWindowToVram - b _08129E66 - .align 2, 0 -_08129E58: .4byte gUnknown_203B0E4 -_08129E5C: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - lsrs r0, 24 - b _08129E6E -_08129E66: - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - movs r0, 0x1 -_08129E6E: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8129E28 - - thumb_func_start sub_8129E74 -sub_8129E74: @ 8129E74 - push {r4,lr} - adds r4, r0, 0 - ldrb r0, [r4] - cmp r0, 0 - beq _08129E84 - cmp r0, 0x1 - beq _08129E94 - b _08129EAA -_08129E84: - bl sub_812A6F4 - bl sub_812A51C - movs r0, 0 - bl CopyBgTilemapBufferToVram - b _08129EAA -_08129E94: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _08129EB0 - bl sub_812A728 - bl sub_812A544 - movs r0, 0 - b _08129EB2 -_08129EAA: - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] -_08129EB0: - movs r0, 0x1 -_08129EB2: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8129E74 - - thumb_func_start sub_8129EB8 -sub_8129EB8: @ 8129EB8 - push {r4,lr} - sub sp, 0xC - adds r4, r0, 0 - ldrb r0, [r4] - cmp r0, 0 - beq _08129ECA - cmp r0, 0x1 - beq _08129F02 - b _08129F14 -_08129ECA: - add r1, sp, 0x8 - add r0, sp, 0x4 - bl sub_8129730 - ldr r0, [sp, 0x4] - lsls r0, 16 - lsrs r0, 16 - ldr r1, [sp, 0x8] - lsls r1, 16 - lsrs r1, 16 - movs r2, 0 - bl sub_812A74C - bl sub_8129714 - adds r1, r0, 0 - movs r0, 0x2 - str r0, [sp] - movs r0, 0 - movs r2, 0x3 - movs r3, 0x1 - bl sub_812A778 - movs r0, 0x1 - movs r1, 0x2 - bl CopyWindowToVram - b _08129F14 -_08129F02: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _08129F1A - bl sub_812B160 - movs r0, 0 - b _08129F1C -_08129F14: - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] -_08129F1A: - movs r0, 0x1 -_08129F1C: - add sp, 0xC - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8129EB8 - - thumb_func_start sub_8129F24 -sub_8129F24: @ 8129F24 - push {r4-r6,lr} - sub sp, 0x4 - adds r6, r0, 0 - ldrb r0, [r6] - cmp r0, 0x1 - beq _08129F80 - cmp r0, 0x1 - bgt _08129F3A - cmp r0, 0 - beq _08129F44 - b _08129FBA -_08129F3A: - cmp r0, 0x2 - beq _08129FA4 - cmp r0, 0x3 - beq _08129FB6 - b _08129FBA -_08129F44: - bl sub_8129788 - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - bl sub_8129758 - adds r5, r0, 0 - bl StringLength_Multibyte - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - movs r2, 0x66 - bl sub_812A74C - movs r0, 0x5 - str r0, [sp] - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0 - movs r3, 0x4 - bl sub_812A778 - movs r0, 0x1 - movs r1, 0x2 - bl CopyWindowToVram - b _08129FBA -_08129F80: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _08129FC0 - movs r0, 0x1 - movs r1, 0x10 - bl sub_812A578 - ldr r0, _08129FA0 @ =gUnknown_203B0E4 - ldr r0, [r0] - ldrb r0, [r0, 0x1E] - movs r1, 0x3 - bl CopyWindowToVram - b _08129FBA - .align 2, 0 -_08129FA0: .4byte gUnknown_203B0E4 -_08129FA4: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _08129FC0 - movs r0, 0x1 - bl sub_812AF8C - b _08129FBA -_08129FB6: - movs r0, 0 - b _08129FC2 -_08129FBA: - ldrb r0, [r6] - adds r0, 0x1 - strb r0, [r6] -_08129FC0: - movs r0, 0x1 -_08129FC2: - add sp, 0x4 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8129F24 - - thumb_func_start sub_8129FCC -sub_8129FCC: @ 8129FCC - push {r4-r6,lr} - sub sp, 0x4 - adds r6, r0, 0 - ldrb r0, [r6] - cmp r0, 0x1 - beq _0812A028 - cmp r0, 0x1 - bgt _08129FE2 - cmp r0, 0 - beq _08129FEC - b _0812A062 -_08129FE2: - cmp r0, 0x2 - beq _0812A048 - cmp r0, 0x3 - beq _0812A05E - b _0812A062 -_08129FEC: - bl sub_8129788 - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - bl sub_8129758 - adds r5, r0, 0 - bl StringLength_Multibyte - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - movs r2, 0 - bl sub_812A74C - movs r0, 0x2 - str r0, [sp] - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0x3 - movs r3, 0x1 - bl sub_812A778 - movs r0, 0x1 - movs r1, 0x2 - bl CopyWindowToVram - b _0812A062 -_0812A028: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _0812A068 - bl sub_812A6F4 - ldr r0, _0812A044 @ =gUnknown_203B0E4 - ldr r0, [r0] - ldrb r0, [r0, 0x1E] - movs r1, 0x3 - bl CopyWindowToVram - b _0812A062 - .align 2, 0 -_0812A044: .4byte gUnknown_203B0E4 -_0812A048: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _0812A068 - movs r0, 0 - bl sub_812AF8C - bl sub_812A728 - b _0812A062 -_0812A05E: - movs r0, 0 - b _0812A06A -_0812A062: - ldrb r0, [r6] - adds r0, 0x1 - strb r0, [r6] -_0812A068: - movs r0, 0x1 -_0812A06A: - add sp, 0x4 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8129FCC - - thumb_func_start sub_812A074 -sub_812A074: @ 812A074 - push {r4,lr} - adds r4, r0, 0 - ldrb r0, [r4] - cmp r0, 0 - beq _0812A084 - cmp r0, 0x1 - beq _0812A098 - b _0812A0A6 -_0812A084: - bl sub_812A804 - movs r0, 0x2 - movs r1, 0x2 - bl CopyWindowToVram - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - b _0812A0A6 -_0812A098: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _0812A0A6 - movs r0, 0 - b _0812A0A8 -_0812A0A6: - movs r0, 0x1 -_0812A0A8: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_812A074 - - thumb_func_start sub_812A0B0 -sub_812A0B0: @ 812A0B0 - push {r4-r6,lr} - adds r6, r0, 0 - ldrb r0, [r6] - cmp r0, 0x4 - bhi _0812A182 - lsls r0, 2 - ldr r1, _0812A0C4 @ =_0812A0C8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0812A0C4: .4byte _0812A0C8 - .align 2, 0 -_0812A0C8: - .4byte _0812A0DC - .4byte _0812A108 - .4byte _0812A138 - .4byte _0812A15C - .4byte _0812A126 -_0812A0DC: - ldr r0, _0812A104 @ =gUnknown_203B0E4 - ldr r0, [r0] - ldrh r5, [r0, 0x1A] - bl sub_81297C4 - adds r4, r0, 0 - bl sub_81297D0 - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_812AA78 - movs r0, 0 - movs r1, 0x2 - bl CopyWindowToVram - b _0812A17C - .align 2, 0 -_0812A104: .4byte gUnknown_203B0E4 -_0812A108: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - bne _0812A182 - ldr r0, _0812A12C @ =gUnknown_203B0E4 - ldr r1, [r0] - ldrh r0, [r1, 0x1A] - cmp r0, 0x8 - bhi _0812A130 - adds r0, 0x1 - strh r0, [r1, 0x1A] - movs r0, 0x4 - strb r0, [r6] -_0812A126: - movs r0, 0 - b _0812A184 - .align 2, 0 -_0812A12C: .4byte gUnknown_203B0E4 -_0812A130: - strh r2, [r1, 0x1C] - ldrb r0, [r6] - adds r0, 0x1 - strb r0, [r6] -_0812A138: - movs r0, 0 - movs r1, 0 - movs r2, 0x5 - movs r3, 0x11 - bl ScrollWindow - movs r0, 0 - movs r1, 0x2 - bl CopyWindowToVram - ldr r0, _0812A178 @ =gUnknown_203B0E4 - ldr r1, [r0] - ldrh r0, [r1, 0x1C] - adds r0, 0x1 - strh r0, [r1, 0x1C] - ldrb r0, [r6] - adds r0, 0x1 - strb r0, [r6] -_0812A15C: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - cmp r0, 0 - bne _0812A182 - ldr r0, _0812A178 @ =gUnknown_203B0E4 - ldr r0, [r0] - ldrh r0, [r0, 0x1C] - cmp r0, 0x2 - bhi _0812A17C - ldrb r0, [r6] - subs r0, 0x1 - b _0812A180 - .align 2, 0 -_0812A178: .4byte gUnknown_203B0E4 -_0812A17C: - ldrb r0, [r6] - adds r0, 0x1 -_0812A180: - strb r0, [r6] -_0812A182: - movs r0, 0x1 -_0812A184: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_812A0B0 - - thumb_func_start sub_812A18C -sub_812A18C: @ 812A18C - push {r4,lr} - adds r4, r0, 0 - ldrb r0, [r4] - cmp r0, 0 - beq _0812A19C - cmp r0, 0x1 - beq _0812A1A8 - b _0812A1AE -_0812A19C: - bl sub_812AFC0 - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - b _0812A1AE -_0812A1A8: - bl sub_812AFFC - b _0812A1B0 -_0812A1AE: - movs r0, 0x1 -_0812A1B0: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_812A18C - - thumb_func_start sub_812A1B8 -sub_812A1B8: @ 812A1B8 - push {r4,lr} - adds r4, r0, 0 - ldrb r0, [r4] - cmp r0, 0 - beq _0812A1C8 - cmp r0, 0x1 - beq _0812A1E8 - b _0812A1F2 -_0812A1C8: - movs r0, 0x3 - movs r1, 0x10 - bl sub_812A578 - ldr r0, _0812A1E4 @ =gUnknown_203B0E4 - ldr r0, [r0] - ldrb r0, [r0, 0x1E] - movs r1, 0x3 - bl CopyWindowToVram - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - b _0812A1F2 - .align 2, 0 -_0812A1E4: .4byte gUnknown_203B0E4 -_0812A1E8: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - lsrs r0, 24 - b _0812A1F4 -_0812A1F2: - movs r0, 0x1 -_0812A1F4: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_812A1B8 - - thumb_func_start sub_812A1FC -sub_812A1FC: @ 812A1FC - push {r4,lr} - adds r4, r0, 0 - ldrb r0, [r4] - cmp r0, 0 - beq _0812A20C - cmp r0, 0x1 - beq _0812A22C - b _0812A236 -_0812A20C: - movs r0, 0x4 - movs r1, 0 - bl sub_812A578 - ldr r0, _0812A228 @ =gUnknown_203B0E4 - ldr r0, [r0] - ldrb r0, [r0, 0x1E] - movs r1, 0x3 - bl CopyWindowToVram - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - b _0812A236 - .align 2, 0 -_0812A228: .4byte gUnknown_203B0E4 -_0812A22C: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - lsrs r0, 24 - b _0812A238 -_0812A236: - movs r0, 0x1 -_0812A238: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_812A1FC - - thumb_func_start sub_812A240 -sub_812A240: @ 812A240 - push {r4,lr} - adds r4, r0, 0 - ldrb r0, [r4] - cmp r0, 0 - beq _0812A250 - cmp r0, 0x1 - beq _0812A280 - b _0812A28A -_0812A250: - bl DynamicPlaceholderTextUtil_Reset - bl sub_8129814 - adds r1, r0, 0 - movs r0, 0 - bl DynamicPlaceholderTextUtil_SetPlaceholderPtr - movs r0, 0x5 - movs r1, 0 - bl sub_812A578 - ldr r0, _0812A27C @ =gUnknown_203B0E4 - ldr r0, [r0] - ldrb r0, [r0, 0x1E] - movs r1, 0x3 - bl CopyWindowToVram - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - b _0812A28A - .align 2, 0 -_0812A27C: .4byte gUnknown_203B0E4 -_0812A280: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - lsrs r0, 24 - b _0812A28C -_0812A28A: - movs r0, 0x1 -_0812A28C: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_812A240 - - thumb_func_start sub_812A294 -sub_812A294: @ 812A294 - push {r4,lr} - adds r4, r0, 0 - ldrb r0, [r4] - cmp r0, 0 - beq _0812A2A4 - cmp r0, 0x1 - beq _0812A2D0 - b _0812A2DA -_0812A2A4: - movs r0, 0x6 - movs r1, 0 - bl sub_812A578 - movs r0, 0x17 - movs r1, 0xA - movs r2, 0x1 - bl sub_812A424 - ldr r0, _0812A2CC @ =gUnknown_203B0E4 - ldr r0, [r0] - ldrb r0, [r0, 0x1E] - movs r1, 0x3 - bl CopyWindowToVram - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - b _0812A2DA - .align 2, 0 -_0812A2CC: .4byte gUnknown_203B0E4 -_0812A2D0: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - lsrs r0, 24 - b _0812A2DC -_0812A2DA: - movs r0, 0x1 -_0812A2DC: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_812A294 - - thumb_func_start sub_812A2E4 -sub_812A2E4: @ 812A2E4 - push {r4,lr} - adds r4, r0, 0 - ldrb r0, [r4] - cmp r0, 0 - beq _0812A2F4 - cmp r0, 0x1 - beq _0812A320 - b _0812A32A -_0812A2F4: - movs r0, 0x7 - movs r1, 0 - bl sub_812A578 - movs r0, 0x17 - movs r1, 0xA - movs r2, 0x1 - bl sub_812A424 - ldr r0, _0812A31C @ =gUnknown_203B0E4 - ldr r0, [r0] - ldrb r0, [r0, 0x1E] - movs r1, 0x3 - bl CopyWindowToVram - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - b _0812A32A - .align 2, 0 -_0812A31C: .4byte gUnknown_203B0E4 -_0812A320: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - lsrs r0, 24 - b _0812A32C -_0812A32A: - movs r0, 0x1 -_0812A32C: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_812A2E4 - - thumb_func_start sub_812A334 -sub_812A334: @ 812A334 - push {r4,lr} - adds r4, r0, 0 - ldrb r0, [r4] - cmp r0, 0 - beq _0812A344 - cmp r0, 0x1 - beq _0812A364 - b _0812A36E -_0812A344: - movs r0, 0x8 - movs r1, 0 - bl sub_812A578 - ldr r0, _0812A360 @ =gUnknown_203B0E4 - ldr r0, [r0] - ldrb r0, [r0, 0x1E] - movs r1, 0x3 - bl CopyWindowToVram - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - b _0812A36E - .align 2, 0 -_0812A360: .4byte gUnknown_203B0E4 -_0812A364: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - lsrs r0, 24 - b _0812A370 -_0812A36E: - movs r0, 0x1 -_0812A370: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_812A334 - - thumb_func_start sub_812A378 -sub_812A378: @ 812A378 - push {r4,lr} - adds r4, r0, 0 - ldrb r0, [r4] - cmp r0, 0 - beq _0812A388 - cmp r0, 0x1 - beq _0812A3BC - b _0812A3C6 -_0812A388: - bl DynamicPlaceholderTextUtil_Reset - ldr r0, _0812A3B4 @ =gSaveBlock2Ptr - ldr r1, [r0] - movs r0, 0 - bl DynamicPlaceholderTextUtil_SetPlaceholderPtr - movs r0, 0x9 - movs r1, 0 - bl sub_812A578 - ldr r0, _0812A3B8 @ =gUnknown_203B0E4 - ldr r0, [r0] - ldrb r0, [r0, 0x1E] - movs r1, 0x3 - bl CopyWindowToVram - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - b _0812A3C6 - .align 2, 0 -_0812A3B4: .4byte gSaveBlock2Ptr -_0812A3B8: .4byte gUnknown_203B0E4 -_0812A3BC: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - lsrs r0, 24 - b _0812A3C8 -_0812A3C6: - movs r0, 0x1 -_0812A3C8: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_812A378 - - thumb_func_start sub_812A3D0 -sub_812A3D0: @ 812A3D0 - push {r4,lr} - adds r4, r0, 0 - ldrb r0, [r4] - cmp r0, 0 - beq _0812A3E0 - cmp r0, 0x1 - beq _0812A40C - b _0812A416 -_0812A3E0: - movs r0, 0xA - movs r1, 0 - bl sub_812A578 - movs r0, 0x17 - movs r1, 0xA - movs r2, 0x1 - bl sub_812A424 - ldr r0, _0812A408 @ =gUnknown_203B0E4 - ldr r0, [r0] - ldrb r0, [r0, 0x1E] - movs r1, 0x3 - bl CopyWindowToVram - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - b _0812A416 - .align 2, 0 -_0812A408: .4byte gUnknown_203B0E4 -_0812A40C: - bl IsDma3ManagerBusyWithBgCopy - lsls r0, 24 - lsrs r0, 24 - b _0812A418 -_0812A416: - movs r0, 0x1 -_0812A418: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_812A3D0 - - thumb_func_start sub_812A420 -sub_812A420: @ 812A420 - movs r0, 0 - bx lr - thumb_func_end sub_812A420 - - thumb_func_start sub_812A424 -sub_812A424: @ 812A424 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x14 - lsls r0, 24 - lsls r1, 24 - lsls r2, 24 - lsrs r2, 24 - mov r8, r2 - ldr r4, _0812A4FC @ =0xffffff00 - ldr r2, [sp, 0xC] - ands r2, r4 - lsrs r0, 16 - ldr r3, _0812A500 @ =0xffff00ff - ands r2, r3 - orrs r2, r0 - lsrs r1, 8 - ldr r0, _0812A504 @ =0xff00ffff - ands r2, r0 - orrs r2, r1 - ldr r0, _0812A508 @ =0x00ffffff - ands r2, r0 - movs r0, 0xC0 - lsls r0, 19 - orrs r2, r0 - str r2, [sp, 0xC] - ldr r0, [sp, 0x10] - ands r0, r4 - movs r1, 0x4 - orrs r0, r1 - ands r0, r3 - movs r1, 0xE0 - lsls r1, 4 - orrs r0, r1 - ldr r1, _0812A50C @ =0x0000ffff - ands r0, r1 - movs r1, 0xA4 - lsls r1, 15 - orrs r0, r1 - str r0, [sp, 0x10] - add r0, sp, 0xC - bl AddWindow - adds r1, r0, 0 - ldr r6, _0812A510 @ =gUnknown_203B0E4 - ldr r0, [r6] - movs r7, 0 - strh r1, [r0, 0x18] - lsls r0, r1, 16 - lsrs r0, 16 - cmp r0, 0xFF - beq _0812A4F0 - lsls r0, r1, 24 - lsrs r0, 24 - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r0, [r6] - ldrb r0, [r0, 0x18] - bl PutWindowTilemap - ldr r0, [r6] - ldrb r0, [r0, 0x18] - ldr r2, _0812A514 @ =gText_Yes - movs r5, 0x2 - str r5, [sp] - movs r4, 0xFF - str r4, [sp, 0x4] - str r7, [sp, 0x8] - movs r1, 0x2 - movs r3, 0x8 - bl AddTextPrinterParameterized - ldr r0, [r6] - ldrb r0, [r0, 0x18] - ldr r2, _0812A518 @ =gText_No - movs r1, 0x10 - str r1, [sp] - str r4, [sp, 0x4] - str r7, [sp, 0x8] - movs r1, 0x2 - movs r3, 0x8 - bl AddTextPrinterParameterized - ldr r0, [r6] - ldrb r0, [r0, 0x18] - movs r1, 0x1 - movs r2, 0xD - bl DrawTextBorderOuter - ldr r0, [r6] - ldrb r0, [r0, 0x18] - movs r1, 0xE - str r1, [sp] - str r5, [sp, 0x4] - mov r1, r8 - str r1, [sp, 0x8] - movs r1, 0x2 - movs r2, 0 - movs r3, 0x2 - bl Menu_InitCursor -_0812A4F0: - add sp, 0x14 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0812A4FC: .4byte 0xffffff00 -_0812A500: .4byte 0xffff00ff -_0812A504: .4byte 0xff00ffff -_0812A508: .4byte 0x00ffffff -_0812A50C: .4byte 0x0000ffff -_0812A510: .4byte gUnknown_203B0E4 -_0812A514: .4byte gText_Yes -_0812A518: .4byte gText_No - thumb_func_end sub_812A424 - - thumb_func_start sub_812A51C -sub_812A51C: @ 812A51C - push {r4,lr} - ldr r4, _0812A540 @ =gUnknown_203B0E4 - ldr r0, [r4] - ldrh r0, [r0, 0x18] - cmp r0, 0xFF - beq _0812A53A - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl ClearStdWindowAndFrameToTransparent - ldr r0, [r4] - ldrb r0, [r0, 0x18] - bl ClearWindowTilemap -_0812A53A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0812A540: .4byte gUnknown_203B0E4 - thumb_func_end sub_812A51C - - thumb_func_start sub_812A544 -sub_812A544: @ 812A544 - push {r4,lr} - ldr r4, _0812A564 @ =gUnknown_203B0E4 - ldr r0, [r4] - ldrh r0, [r0, 0x18] - cmp r0, 0xFF - beq _0812A55E - lsls r0, 24 - lsrs r0, 24 - bl RemoveWindow - ldr r1, [r4] - movs r0, 0xFF - strh r0, [r1, 0x18] -_0812A55E: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0812A564: .4byte gUnknown_203B0E4 - thumb_func_end sub_812A544 - - thumb_func_start sub_812A568 -sub_812A568: @ 812A568 - push {lr} - bl Menu_ProcessInput - lsls r0, 24 - asrs r0, 24 - pop {r1} - bx r1 - thumb_func_end sub_812A568 - - thumb_func_start sub_812A578 -sub_812A578: @ 812A578 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x1C - adds r7, r0, 0 - lsls r1, 16 - lsrs r1, 16 - mov r9, r1 - ldr r1, _0812A624 @ =0xffffff00 - ldr r3, [sp, 0x14] - ands r3, r1 - ldr r2, _0812A628 @ =0xffff00ff - ands r3, r2 - movs r0, 0x80 - lsls r0, 4 - orrs r3, r0 - ldr r0, _0812A62C @ =0xff00ffff - ands r3, r0 - movs r0, 0x80 - lsls r0, 13 - orrs r3, r0 - ldr r5, _0812A630 @ =0x00ffffff - ands r3, r5 - movs r0, 0xA8 - lsls r0, 21 - orrs r3, r0 - str r3, [sp, 0x14] - ldr r0, [sp, 0x18] - ands r0, r1 - movs r1, 0x4 - orrs r0, r1 - ands r0, r2 - movs r1, 0xE0 - lsls r1, 4 - orrs r0, r1 - ldr r1, _0812A634 @ =0x0000ffff - ands r0, r1 - movs r1, 0xD4 - lsls r1, 15 - orrs r0, r1 - str r0, [sp, 0x18] - ldr r1, _0812A638 @ =gUnknown_845AB64 - lsls r0, r7, 1 - adds r0, r7 - lsls r0, 2 - adds r4, r0, r1 - ldrb r0, [r4, 0xA] - cmp r0, 0 - beq _0812A5F8 - lsls r0, r3, 16 - movs r1, 0xF9 - lsls r1, 24 - adds r0, r1 - lsrs r0, 16 - ands r2, r3 - orrs r2, r0 - lsrs r1, r2, 24 - adds r1, 0x7 - lsls r1, 24 - adds r0, r5, 0 - ands r0, r2 - orrs r0, r1 - str r0, [sp, 0x14] -_0812A5F8: - add r0, sp, 0x14 - bl AddWindow - ldr r5, _0812A63C @ =gUnknown_203B0E4 - ldr r1, [r5] - strh r0, [r1, 0x1E] - ldrh r0, [r1, 0x1E] - mov r8, r0 - cmp r0, 0xFF - beq _0812A6E2 - ldrb r0, [r4, 0x9] - cmp r0, 0 - beq _0812A640 - adds r0, r1, 0 - adds r0, 0x22 - ldr r1, [r4] - bl DynamicPlaceholderTextUtil_ExpandPlaceholders - ldr r0, [r5] - adds r6, r0, 0 - adds r6, 0x22 - b _0812A642 - .align 2, 0 -_0812A624: .4byte 0xffffff00 -_0812A628: .4byte 0xffff00ff -_0812A62C: .4byte 0xff00ffff -_0812A630: .4byte 0x00ffffff -_0812A634: .4byte 0x0000ffff -_0812A638: .4byte gUnknown_845AB64 -_0812A63C: .4byte gUnknown_203B0E4 -_0812A640: - ldr r6, [r4] -_0812A642: - mov r0, r9 - lsls r1, r0, 8 - movs r0, 0 - movs r2, 0 - bl ChangeBgY - mov r1, r8 - lsls r0, r1, 24 - lsrs r5, r0, 24 - adds r0, r5, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - adds r0, r5, 0 - bl PutWindowTilemap - ldr r1, _0812A6AC @ =gUnknown_845AB64 - lsls r0, r7, 1 - adds r0, r7 - lsls r0, 2 - adds r4, r0, r1 - ldrb r0, [r4, 0x4] - cmp r0, 0x1 - bne _0812A6B0 - adds r0, r5, 0 - movs r1, 0xA - movs r2, 0x2 - bl DrawTextBorderInner - ldrb r3, [r4, 0x5] - adds r3, 0x8 - lsls r3, 24 - lsrs r3, 24 - ldrb r0, [r4, 0x6] - adds r0, 0x8 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp] - movs r0, 0xFF - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - ldrb r0, [r4, 0x7] - str r0, [sp, 0xC] - ldrb r0, [r4, 0x8] - str r0, [sp, 0x10] - adds r0, r5, 0 - movs r1, 0x2 - adds r2, r6, 0 - bl AddTextPrinterParameterized5 - b _0812A6DA - .align 2, 0 -_0812A6AC: .4byte gUnknown_845AB64 -_0812A6B0: - adds r0, r5, 0 - movs r1, 0xA - movs r2, 0x2 - bl DrawTextBorderOuter - ldrb r3, [r4, 0x5] - ldrb r0, [r4, 0x6] - str r0, [sp] - movs r0, 0xFF - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - ldrb r0, [r4, 0x7] - str r0, [sp, 0xC] - ldrb r0, [r4, 0x8] - str r0, [sp, 0x10] - adds r0, r5, 0 - movs r1, 0x2 - adds r2, r6, 0 - bl AddTextPrinterParameterized5 -_0812A6DA: - ldr r0, _0812A6F0 @ =gUnknown_203B0E4 - ldr r0, [r0] - mov r1, r8 - strh r1, [r0, 0x1E] -_0812A6E2: - add sp, 0x1C - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0812A6F0: .4byte gUnknown_203B0E4 - thumb_func_end sub_812A578 - - thumb_func_start sub_812A6F4 -sub_812A6F4: @ 812A6F4 - push {r4,lr} - ldr r4, _0812A724 @ =gUnknown_203B0E4 - ldr r0, [r4] - ldrh r0, [r0, 0x1E] - cmp r0, 0xFF - beq _0812A712 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl ClearStdWindowAndFrameToTransparent - ldr r0, [r4] - ldrb r0, [r0, 0x1E] - bl ClearWindowTilemap -_0812A712: - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0812A724: .4byte gUnknown_203B0E4 - thumb_func_end sub_812A6F4 - - thumb_func_start sub_812A728 -sub_812A728: @ 812A728 - push {r4,lr} - ldr r4, _0812A748 @ =gUnknown_203B0E4 - ldr r0, [r4] - ldrh r0, [r0, 0x1E] - cmp r0, 0xFF - beq _0812A742 - lsls r0, 24 - lsrs r0, 24 - bl RemoveWindow - ldr r1, [r4] - movs r0, 0xFF - strh r0, [r1, 0x1E] -_0812A742: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0812A748: .4byte gUnknown_203B0E4 - thumb_func_end sub_812A728 - - thumb_func_start sub_812A74C -sub_812A74C: @ 812A74C - push {lr} - sub sp, 0x8 - adds r3, r0, 0 - lsls r2, 24 - lsrs r2, 24 - lsls r3, 19 - lsrs r3, 16 - lsls r1, 19 - lsrs r1, 16 - str r1, [sp] - movs r0, 0xE - str r0, [sp, 0x4] - movs r0, 0x1 - adds r1, r2, 0 - adds r2, r3, 0 - movs r3, 0x1 - bl FillWindowPixelRect - add sp, 0x8 - pop {r0} - bx r0 - thumb_func_end sub_812A74C - - thumb_func_start sub_812A778 -sub_812A778: @ 812A778 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x34 - mov r10, r1 - ldr r1, [sp, 0x54] - lsls r0, 16 - lsrs r5, r0, 16 - mov r9, r5 - lsls r2, 24 - lsrs r4, r2, 24 - mov r8, r4 - lsls r3, 24 - lsrs r7, r3, 24 - lsls r1, 24 - lsrs r6, r1, 24 - cmp r4, 0 - beq _0812A7B4 - bl sub_81297DC - adds r1, r0, 0 - subs r1, r5 - lsls r1, 16 - lsrs r1, 16 - adds r0, r5, 0 - adds r2, r4, 0 - bl sub_812A74C -_0812A7B4: - add r0, sp, 0xC - mov r1, r8 - strb r1, [r0] - strb r7, [r0, 0x1] - strb r6, [r0, 0x2] - add r4, sp, 0x10 - movs r0, 0xFC - strb r0, [r4] - movs r0, 0x14 - strb r0, [r4, 0x1] - movs r0, 0x8 - strb r0, [r4, 0x2] - mov r0, sp - adds r0, 0x13 - mov r1, r10 - bl StringCopy - mov r0, r9 - lsls r2, r0, 27 - lsrs r2, 24 - add r1, sp, 0xC - str r1, [sp] - movs r0, 0x1 - negs r0, r0 - str r0, [sp, 0x4] - str r4, [sp, 0x8] - movs r0, 0x1 - movs r1, 0x2 - movs r3, 0x1 - bl AddTextPrinterParameterized3 - add sp, 0x34 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_812A778 - - thumb_func_start sub_812A804 -sub_812A804: @ 812A804 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4C - movs r0, 0x2 - movs r1, 0xFF - bl FillWindowPixelBuffer - bl sub_81296F4 - lsls r0, 24 - lsrs r2, r0, 24 - add r1, sp, 0xC - movs r0, 0 - strb r0, [r1] - movs r0, 0xE - strb r0, [r1, 0x1] - movs r0, 0xD - strb r0, [r1, 0x2] - cmp r2, 0x3 - beq _0812A8A0 - add r1, sp, 0x10 - movs r0, 0xFC - strb r0, [r1] - movs r0, 0x14 - strb r0, [r1, 0x1] - movs r0, 0x8 - strb r0, [r1, 0x2] - str r0, [sp, 0x40] - str r1, [sp, 0x44] - cmp r2, 0x2 - bne _0812A84C - movs r1, 0x6 - str r1, [sp, 0x40] -_0812A84C: - movs r7, 0 - movs r6, 0 - lsls r0, r2, 2 - ldr r1, _0812A89C @ =gUnknown_845A9AC - adds r0, r2 - lsls r0, 3 - adds r4, r0, r1 - ldr r0, [sp, 0x40] - lsls r5, r0, 24 -_0812A85E: - ldr r1, [r4] - cmp r1, 0 - bne _0812A866 - b _0812A96C -_0812A866: - mov r0, sp - adds r0, 0x13 - bl StringCopy - lsls r3, r6, 24 - lsrs r3, 24 - add r1, sp, 0xC - str r1, [sp] - movs r0, 0x1 - negs r0, r0 - str r0, [sp, 0x4] - ldr r0, [sp, 0x44] - str r0, [sp, 0x8] - movs r0, 0x2 - movs r1, 0 - lsrs r2, r5, 24 - bl AddTextPrinterParameterized3 - adds r4, 0x4 - adds r7, 0x1 - adds r0, r6, 0 - adds r0, 0xC - lsls r0, 16 - lsrs r6, r0, 16 - cmp r7, 0x9 - ble _0812A85E - b _0812A96C - .align 2, 0 -_0812A89C: .4byte gUnknown_845A9AC -_0812A8A0: - movs r1, 0x4 - str r1, [sp, 0x40] - movs r7, 0 - movs r6, 0 -_0812A8A8: - adds r0, r7, 0 - bl sub_81294B0 - adds r5, r0, 0 - movs r0, 0 - adds r1, r5, 0 - movs r2, 0 - bl GetStringWidth - cmp r0, 0x28 - bgt _0812A8E6 - lsls r3, r6, 24 - lsrs r3, 24 - add r4, sp, 0xC - str r4, [sp] - movs r0, 0x1 - negs r0, r0 - str r0, [sp, 0x4] - str r5, [sp, 0x8] - movs r0, 0x2 - movs r1, 0 - movs r4, 0x80 - lsls r4, 19 - lsrs r2, r4, 24 - bl AddTextPrinterParameterized3 - adds r0, r7, 0x1 - str r0, [sp, 0x48] - adds r6, 0xC - mov r10, r6 - b _0812A960 -_0812A8E6: - adds r0, r5, 0 - bl StringLength_Multibyte - adds r4, r0, 0 - mov r1, sp - adds r1, 0x10 - str r1, [sp, 0x44] - ldr r0, [sp, 0x40] - lsls r0, 24 - mov r8, r0 - lsls r1, r6, 24 - mov r9, r1 - adds r0, r7, 0x1 - str r0, [sp, 0x48] - adds r6, 0xC - mov r10, r6 - ldr r7, [sp, 0x40] - adds r7, 0x23 - ldr r6, [sp, 0x44] -_0812A90C: - subs r4, 0x1 - adds r0, r6, 0 - adds r1, r5, 0 - adds r2, r4, 0 - bl StringCopyN_Multibyte - movs r0, 0 - adds r1, r6, 0 - movs r2, 0 - bl GetStringWidth - cmp r0, 0x23 - bgt _0812A90C - mov r1, r8 - lsrs r2, r1, 24 - mov r0, r9 - lsrs r4, r0, 24 - add r1, sp, 0xC - str r1, [sp] - movs r0, 0x1 - negs r0, r0 - str r0, [sp, 0x4] - ldr r1, [sp, 0x44] - str r1, [sp, 0x8] - movs r0, 0x2 - movs r1, 0 - adds r3, r4, 0 - bl AddTextPrinterParameterized3 - adds r2, r7, 0 - add r0, sp, 0xC - str r0, [sp] - movs r1, 0x1 - negs r1, r1 - str r1, [sp, 0x4] - ldr r0, _0812A97C @ =gUnknown_845ABE8 - str r0, [sp, 0x8] - movs r0, 0x2 - movs r1, 0 - adds r3, r4, 0 - bl AddTextPrinterParameterized3 -_0812A960: - ldr r7, [sp, 0x48] - mov r4, r10 - lsls r0, r4, 16 - lsrs r6, r0, 16 - cmp r7, 0x9 - ble _0812A8A8 -_0812A96C: - add sp, 0x4C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0812A97C: .4byte gUnknown_845ABE8 - thumb_func_end sub_812A804 - - thumb_func_start sub_812A980 -sub_812A980: @ 812A980 - push {r4,lr} - ldr r1, _0812A9A4 @ =gUnknown_203B0E4 - ldr r2, [r1] - ldrh r3, [r2, 0x20] - movs r4, 0x20 - ldrsh r0, [r2, r4] - cmp r0, 0x37 - bgt _0812A9B4 - adds r0, r3, 0 - adds r0, 0xC - strh r0, [r2, 0x20] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x37 - ble _0812A9A8 - movs r0, 0x38 - strh r0, [r2, 0x20] - b _0812A9B4 - .align 2, 0 -_0812A9A4: .4byte gUnknown_203B0E4 -_0812A9A8: - movs r1, 0x20 - ldrsh r0, [r2, r1] - bl sub_812ADA0 - movs r0, 0x1 - b _0812A9C0 -_0812A9B4: - ldr r0, [r1] - movs r4, 0x20 - ldrsh r0, [r0, r4] - bl sub_812ADF8 - movs r0, 0 -_0812A9C0: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_812A980 - - thumb_func_start sub_812A9C8 -sub_812A9C8: @ 812A9C8 - push {r4,lr} - ldr r1, _0812A9EC @ =gUnknown_203B0E4 - ldr r2, [r1] - ldrh r3, [r2, 0x20] - movs r4, 0x20 - ldrsh r0, [r2, r4] - cmp r0, 0 - ble _0812A9FC - adds r0, r3, 0 - subs r0, 0xC - strh r0, [r2, 0x20] - lsls r0, 16 - cmp r0, 0 - bgt _0812A9F0 - movs r0, 0 - strh r0, [r2, 0x20] - b _0812A9FC - .align 2, 0 -_0812A9EC: .4byte gUnknown_203B0E4 -_0812A9F0: - movs r1, 0x20 - ldrsh r0, [r2, r1] - bl sub_812ADA0 - movs r0, 0x1 - b _0812AA08 -_0812A9FC: - ldr r0, [r1] - movs r4, 0x20 - ldrsh r0, [r0, r4] - bl sub_812ADF8 - movs r0, 0 -_0812AA08: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_812A9C8 - - thumb_func_start sub_812AA10 -sub_812AA10: @ 812AA10 - push {lr} - sub sp, 0xC - movs r0, 0x3 - movs r1, 0x11 - bl FillWindowPixelBuffer - movs r0, 0x3 - movs r1, 0x1 - movs r2, 0xD - bl DrawTextBorderOuter - ldr r0, _0812AA60 @ =gUnknown_845ABEC - str r0, [sp] - movs r0, 0x3 - movs r1, 0x2 - movs r2, 0xE - movs r3, 0x5 - bl UnionRoomAndTradeMenuPrintOptions - bl sub_81296F4 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0xE - str r1, [sp] - movs r1, 0x5 - str r1, [sp, 0x4] - str r0, [sp, 0x8] - movs r0, 0x3 - movs r1, 0x2 - movs r2, 0 - movs r3, 0 - bl Menu_InitCursor - movs r0, 0x3 - bl PutWindowTilemap - add sp, 0xC - pop {r0} - bx r0 - .align 2, 0 -_0812AA60: .4byte gUnknown_845ABEC - thumb_func_end sub_812AA10 - - thumb_func_start sub_812AA64 -sub_812AA64: @ 812AA64 - push {lr} - movs r0, 0x3 - movs r1, 0 - bl ClearStdWindowAndFrameToTransparent - movs r0, 0x3 - bl ClearWindowTilemap - pop {r0} - bx r0 - thumb_func_end sub_812AA64 - - thumb_func_start sub_812AA78 -sub_812AA78: @ 812AA78 - push {r4,r5,lr} - sub sp, 0x10 - adds r5, r1, 0 - lsls r0, 16 - lsrs r0, 16 - lsls r2, 24 - add r3, sp, 0xC - movs r1, 0x1 - strb r1, [r3] - lsrs r2, 23 - adds r1, r2, 0x2 - strb r1, [r3, 0x1] - adds r1, r3, 0 - adds r2, 0x3 - strb r2, [r1, 0x2] - lsls r4, r0, 4 - subs r4, r0 - lsls r3, r4, 16 - lsrs r3, 16 - movs r0, 0xA8 - str r0, [sp] - movs r0, 0xF - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0x11 - movs r2, 0 - bl FillWindowPixelRect - lsls r4, 24 - lsrs r4, 24 - add r0, sp, 0xC - str r0, [sp] - movs r0, 0x1 - negs r0, r0 - str r0, [sp, 0x4] - str r5, [sp, 0x8] - movs r0, 0 - movs r1, 0x2 - movs r2, 0 - adds r3, r4, 0 - bl AddTextPrinterParameterized3 - add sp, 0x10 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_812AA78 - - thumb_func_start sub_812AAD4 -sub_812AAD4: @ 812AAD4 - push {lr} - 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 - movs r0, 0 - bl ShowBg - movs r0, 0x1 - bl ShowBg - movs r0, 0x2 - bl ShowBg - movs r0, 0x3 - bl ShowBg - movs r1, 0x82 - lsls r1, 5 - movs r0, 0 - bl SetGpuRegBits - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r1, 0xE0 - lsls r1, 8 - movs r0, 0 - bl ClearGpuRegBits - movs r1, 0x80 - lsls r1, 6 - movs r0, 0 - bl SetGpuRegBits - ldr r1, _0812AB88 @ =0x000040f0 - movs r0, 0x40 - bl SetGpuReg - movs r0, 0x44 - movs r1, 0x90 - bl SetGpuReg - movs r0, 0x48 - movs r1, 0x3D - bl SetGpuReg - movs r0, 0x4A - movs r1, 0x3F - bl SetGpuReg - pop {r0} - bx r0 - .align 2, 0 -_0812AB88: .4byte 0x000040f0 - thumb_func_end sub_812AAD4 - - thumb_func_start sub_812AB8C -sub_812AB8C: @ 812AB8C - push {r4,lr} - ldr r4, _0812ABC8 @ =gUnknown_203B0E4 - ldr r1, [r4] - movs r0, 0x94 - lsls r0, 1 - adds r1, r0 - movs r0, 0 - bl SetBgTilemapBuffer - ldr r1, [r4] - ldr r0, _0812ABCC @ =0x00000928 - adds r1, r0 - movs r0, 0x1 - bl SetBgTilemapBuffer - ldr r1, [r4] - ldr r0, _0812ABD0 @ =0x00001128 - adds r1, r0 - movs r0, 0x3 - bl SetBgTilemapBuffer - ldr r1, [r4] - ldr r0, _0812ABD4 @ =0x00001928 - adds r1, r0 - movs r0, 0x2 - bl SetBgTilemapBuffer - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0812ABC8: .4byte gUnknown_203B0E4 -_0812ABCC: .4byte 0x00000928 -_0812ABD0: .4byte 0x00001128 -_0812ABD4: .4byte 0x00001928 - thumb_func_end sub_812AB8C - - thumb_func_start sub_812ABD8 -sub_812ABD8: @ 812ABD8 - push {lr} - sub sp, 0x8 - movs r1, 0xC0 - lsls r1, 19 - movs r0, 0 - movs r2, 0x20 - movs r3, 0x1 - bl RequestDma3Fill - movs r0, 0x20 - str r0, [sp] - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - movs r0, 0 - bl CopyBgTilemapBufferToVram - add sp, 0x8 - pop {r0} - bx r0 - thumb_func_end sub_812ABD8 - - thumb_func_start sub_812AC08 -sub_812AC08: @ 812AC08 - push {lr} - sub sp, 0x4 - ldr r0, _0812AC48 @ =gUnknown_8EAA9F0 - movs r1, 0x70 - movs r2, 0x20 - bl LoadPalette - ldr r0, _0812AC4C @ =gUnknown_845AA24 - movs r1, 0xC0 - movs r2, 0x20 - bl LoadPalette - ldr r1, _0812AC50 @ =gUnknown_8EAAA10 - movs r0, 0 - str r0, [sp] - movs r0, 0x1 - movs r2, 0 - movs r3, 0 - bl DecompressAndCopyTileDataToVram - ldr r1, _0812AC54 @ =gUnknown_8EAAA6C - movs r0, 0x1 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBuffer - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_0812AC48: .4byte gUnknown_8EAA9F0 -_0812AC4C: .4byte gUnknown_845AA24 -_0812AC50: .4byte gUnknown_8EAAA10 -_0812AC54: .4byte gUnknown_8EAAA6C - thumb_func_end sub_812AC08 - - thumb_func_start sub_812AC58 -sub_812AC58: @ 812AC58 - push {lr} - sub sp, 0x4 - ldr r0, _0812AC90 @ =gUnknown_8EA1700 - movs r1, 0 - movs r2, 0x20 - bl LoadPalette - ldr r1, _0812AC94 @ =gUnknown_8EA1720 - movs r0, 0 - str r0, [sp] - movs r0, 0x2 - movs r2, 0 - movs r3, 0 - bl DecompressAndCopyTileDataToVram - ldr r1, _0812AC98 @ =gUnknown_8EA1958 - movs r0, 0x2 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBuffer - movs r0, 0x2 - bl CopyBgTilemapBufferToVram - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_0812AC90: .4byte gUnknown_8EA1700 -_0812AC94: .4byte gUnknown_8EA1720 -_0812AC98: .4byte gUnknown_8EA1958 - thumb_func_end sub_812AC58 - - thumb_func_start sub_812AC9C -sub_812AC9C: @ 812AC9C - push {lr} - ldr r0, _0812ACB8 @ =gUnknown_845AA44 - movs r1, 0x80 - movs r2, 0x20 - bl LoadPalette - ldr r1, _0812ACBC @ =0x06004020 - movs r0, 0 - movs r2, 0x20 - movs r3, 0x1 - bl RequestDma3Fill - pop {r0} - bx r0 - .align 2, 0 -_0812ACB8: .4byte gUnknown_845AA44 -_0812ACBC: .4byte 0x06004020 - thumb_func_end sub_812AC9C - - thumb_func_start sub_812ACC0 -sub_812ACC0: @ 812ACC0 - push {lr} - ldr r0, _0812ACE8 @ =gUnknown_845AA64 - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette - movs r0, 0 - bl PutWindowTilemap - movs r0, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - pop {r0} - bx r0 - .align 2, 0 -_0812ACE8: .4byte gUnknown_845AA64 - thumb_func_end sub_812ACC0 - - thumb_func_start sub_812ACEC -sub_812ACEC: @ 812ACEC - push {lr} - movs r0, 0x2 - bl PutWindowTilemap - bl sub_812A804 - movs r0, 0x2 - movs r1, 0x3 - bl CopyWindowToVram - pop {r0} - bx r0 - thumb_func_end sub_812ACEC - - thumb_func_start sub_812AD04 -sub_812AD04: @ 812AD04 - push {lr} - movs r0, 0x1 - movs r1, 0 - bl FillWindowPixelBuffer - movs r0, 0x1 - bl PutWindowTilemap - movs r0, 0x1 - movs r1, 0x3 - bl CopyWindowToVram - pop {r0} - bx r0 - thumb_func_end sub_812AD04 - - thumb_func_start sub_812AD20 -sub_812AD20: @ 812AD20 - push {lr} - movs r0, 0x3 - movs r1, 0x11 - bl FillWindowPixelBuffer - movs r0, 0x3 - movs r1, 0x1 - movs r2, 0xD0 - bl TextWindow_SetUserSelectedFrame - movs r0, 0x3 - movs r1, 0xA - movs r2, 0x20 - bl TextWindow_SetStdFrame0_WithPal - ldr r0, _0812AD4C @ =gTMCaseMainWindowPalette - movs r1, 0xE0 - movs r2, 0x20 - bl LoadPalette - pop {r0} - bx r0 - .align 2, 0 -_0812AD4C: .4byte gTMCaseMainWindowPalette - thumb_func_end sub_812AD20 - - thumb_func_start sub_812AD50 -sub_812AD50: @ 812AD50 - push {lr} - sub sp, 0x10 - ldr r0, _0812AD8C @ =0xa2600001 - str r0, [sp, 0x4] - ldr r0, _0812AD90 @ =0x04000014 - str r0, [sp] - mov r2, sp - movs r1, 0 - movs r0, 0x1 - strb r0, [r2, 0x8] - mov r0, sp - strb r1, [r0, 0x9] - ldr r0, _0812AD94 @ =gUnknown_203B0E4 - ldr r0, [r0] - strh r1, [r0, 0x20] - str r1, [sp, 0xC] - add r0, sp, 0xC - ldr r1, _0812AD98 @ =gScanlineEffectRegBuffers - ldr r2, _0812AD9C @ =0x010003c0 - bl CpuFastSet - ldr r0, [sp] - ldr r1, [sp, 0x4] - ldr r2, [sp, 0x8] - bl ScanlineEffect_SetParams - add sp, 0x10 - pop {r0} - bx r0 - .align 2, 0 -_0812AD8C: .4byte 0xa2600001 -_0812AD90: .4byte 0x04000014 -_0812AD94: .4byte gUnknown_203B0E4 -_0812AD98: .4byte gScanlineEffectRegBuffers -_0812AD9C: .4byte 0x010003c0 - thumb_func_end sub_812AD50 - - thumb_func_start sub_812ADA0 -sub_812ADA0: @ 812ADA0 - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 16 - lsrs r0, 16 - mov r1, sp - strh r0, [r1] - ldr r5, _0812ADE8 @ =gScanlineEffect - ldrb r0, [r5, 0x14] - lsls r1, r0, 4 - subs r1, r0 - lsls r1, 7 - ldr r4, _0812ADEC @ =gScanlineEffectRegBuffers - adds r1, r4 - ldr r2, _0812ADF0 @ =0x01000090 - mov r0, sp - bl CpuSet - mov r0, sp - adds r0, 0x2 - movs r1, 0 - strh r1, [r0] - ldrb r2, [r5, 0x14] - lsls r1, r2, 4 - subs r1, r2 - lsls r1, 7 - movs r2, 0x90 - lsls r2, 1 - adds r4, r2 - adds r1, r4 - ldr r2, _0812ADF4 @ =0x01000010 - bl CpuSet - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0812ADE8: .4byte gScanlineEffect -_0812ADEC: .4byte gScanlineEffectRegBuffers -_0812ADF0: .4byte 0x01000090 -_0812ADF4: .4byte 0x01000010 - thumb_func_end sub_812ADA0 - - thumb_func_start sub_812ADF8 -sub_812ADF8: @ 812ADF8 - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0x8 - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - mov r0, sp - strh r4, [r0] - ldr r5, _0812AE64 @ =gScanlineEffectRegBuffers - ldr r0, _0812AE68 @ =0x01000090 - mov r9, r0 - mov r0, sp - adds r1, r5, 0 - mov r2, r9 - bl CpuSet - mov r0, sp - adds r0, 0x2 - movs r6, 0 - strh r6, [r0] - movs r2, 0x90 - lsls r2, 1 - adds r1, r5, r2 - ldr r2, _0812AE6C @ =0x01000010 - mov r8, r2 - bl CpuSet - add r0, sp, 0x4 - strh r4, [r0] - movs r2, 0xF0 - lsls r2, 3 - adds r1, r5, r2 - mov r2, r9 - bl CpuSet - mov r0, sp - adds r0, 0x6 - strh r6, [r0] - movs r1, 0x8A - lsls r1, 4 - adds r5, r1 - adds r1, r5, 0 - mov r2, r8 - bl CpuSet - add sp, 0x8 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0812AE64: .4byte gScanlineEffectRegBuffers -_0812AE68: .4byte 0x01000090 -_0812AE6C: .4byte 0x01000010 - thumb_func_end sub_812ADF8 - - thumb_func_start sub_812AE70 -sub_812AE70: @ 812AE70 - push {r4,r5,lr} - movs r5, 0 - ldr r4, _0812AE9C @ =gUnknown_845AF58 -_0812AE76: - adds r0, r4, 0 - bl LoadCompressedSpriteSheet - adds r4, 0x8 - adds r5, 0x1 - cmp r5, 0x4 - bls _0812AE76 - ldr r0, _0812AEA0 @ =gUnknown_845AF80 - bl LoadSpritePalette - ldr r4, _0812AEA4 @ =gUnknown_203B0E8 - movs r0, 0x18 - bl Alloc - str r0, [r4] - cmp r0, 0 - beq _0812AEA8 - movs r0, 0x1 - b _0812AEAA - .align 2, 0 -_0812AE9C: .4byte gUnknown_845AF58 -_0812AEA0: .4byte gUnknown_845AF80 -_0812AEA4: .4byte gUnknown_203B0E8 -_0812AEA8: - movs r0, 0 -_0812AEAA: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_812AE70 - - thumb_func_start sub_812AEB0 -sub_812AEB0: @ 812AEB0 - push {lr} - ldr r0, _0812AEC4 @ =gUnknown_203B0E8 - ldr r0, [r0] - cmp r0, 0 - beq _0812AEBE - bl Free -_0812AEBE: - pop {r0} - bx r0 - .align 2, 0 -_0812AEC4: .4byte gUnknown_203B0E8 - thumb_func_end sub_812AEB0 - - thumb_func_start sub_812AEC8 -sub_812AEC8: @ 812AEC8 - push {lr} - ldr r0, _0812AEF0 @ =gUnknown_845AFC0 - movs r1, 0xA - movs r2, 0x18 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0812AEF4 @ =gUnknown_203B0E8 - ldr r2, [r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, _0812AEF8 @ =gSprites - adds r1, r0 - str r1, [r2] - pop {r0} - bx r0 - .align 2, 0 -_0812AEF0: .4byte gUnknown_845AFC0 -_0812AEF4: .4byte gUnknown_203B0E8 -_0812AEF8: .4byte gSprites - thumb_func_end sub_812AEC8 - - thumb_func_start sub_812AEFC -sub_812AEFC: @ 812AEFC - ldr r1, _0812AF18 @ =gUnknown_203B0E8 - ldr r1, [r1] - ldr r2, [r1] - adds r2, 0x3E - movs r1, 0x1 - ands r0, r1 - lsls r0, 2 - ldrb r3, [r2] - movs r1, 0x5 - negs r1, r1 - ands r1, r3 - orrs r1, r0 - strb r1, [r2] - bx lr - .align 2, 0 -_0812AF18: .4byte gUnknown_203B0E8 - thumb_func_end sub_812AEFC - - thumb_func_start sub_812AF1C -sub_812AF1C: @ 812AF1C - push {r4,r5,lr} - sub sp, 0x4 - bl sub_81296F4 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - mov r5, sp - adds r5, 0x1 - mov r0, sp - adds r1, r5, 0 - bl sub_8129700 - cmp r4, 0x3 - beq _0812AF5C - ldr r4, _0812AF58 @ =gUnknown_203B0E8 - ldr r0, [r4] - ldr r0, [r0] - movs r1, 0 - bl StartSpriteAnim - ldr r1, [r4] - ldr r2, [r1] - mov r0, sp - ldrb r0, [r0] - lsls r0, 3 - adds r0, 0xA - strh r0, [r2, 0x20] - ldr r2, [r1] - b _0812AF72 - .align 2, 0 -_0812AF58: .4byte gUnknown_203B0E8 -_0812AF5C: - ldr r4, _0812AF88 @ =gUnknown_203B0E8 - ldr r0, [r4] - ldr r0, [r0] - movs r1, 0x2 - bl StartSpriteAnim - ldr r2, [r4] - ldr r1, [r2] - movs r0, 0x18 - strh r0, [r1, 0x20] - ldr r2, [r2] -_0812AF72: - ldrb r1, [r5] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, 0x18 - strh r0, [r2, 0x22] - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0812AF88: .4byte gUnknown_203B0E8 - thumb_func_end sub_812AF1C - - thumb_func_start sub_812AF8C -sub_812AF8C: @ 812AF8C - push {r4,lr} - adds r4, r0, 0 - lsls r4, 2 - ldr r0, _0812AFB8 @ =gUnknown_845AC14 + 2 - adds r4, r0 - movs r0, 0 - bl IndexOfSpritePaletteTag - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 4 - ldr r0, _0812AFBC @ =0x01010000 - adds r1, r0 - lsrs r1, 16 - adds r0, r4, 0 - movs r2, 0x4 - bl LoadPalette - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0812AFB8: .4byte gUnknown_845AC14 + 2 -_0812AFBC: .4byte 0x01010000 - thumb_func_end sub_812AF8C - - thumb_func_start sub_812AFC0 -sub_812AFC0: @ 812AFC0 - push {lr} - bl sub_81296F4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - beq _0812AFE0 - ldr r0, _0812AFDC @ =gUnknown_203B0E8 - ldr r0, [r0] - ldr r0, [r0] - movs r1, 0x1 - bl StartSpriteAnim - b _0812AFEC - .align 2, 0 -_0812AFDC: .4byte gUnknown_203B0E8 -_0812AFE0: - ldr r0, _0812AFF8 @ =gUnknown_203B0E8 - ldr r0, [r0] - ldr r0, [r0] - movs r1, 0x3 - bl StartSpriteAnim -_0812AFEC: - ldr r0, _0812AFF8 @ =gUnknown_203B0E8 - ldr r1, [r0] - movs r0, 0 - strh r0, [r1, 0x14] - pop {r0} - bx r0 - .align 2, 0 -_0812AFF8: .4byte gUnknown_203B0E8 - thumb_func_end sub_812AFC0 - - thumb_func_start sub_812AFFC -sub_812AFFC: @ 812AFFC - push {r4,lr} - ldr r4, _0812B00C @ =gUnknown_203B0E8 - ldr r1, [r4] - ldrh r0, [r1, 0x14] - cmp r0, 0x3 - bls _0812B010 -_0812B008: - movs r0, 0 - b _0812B042 - .align 2, 0 -_0812B00C: .4byte gUnknown_203B0E8 -_0812B010: - adds r0, 0x1 - strh r0, [r1, 0x14] - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x3 - bls _0812B040 - bl sub_81296F4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - beq _0812B034 - ldr r0, [r4] - ldr r0, [r0] - movs r1, 0 - bl StartSpriteAnim - b _0812B008 -_0812B034: - ldr r0, [r4] - ldr r0, [r0] - movs r1, 0x2 - bl StartSpriteAnim - b _0812B008 -_0812B040: - movs r0, 0x1 -_0812B042: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_812AFFC - - thumb_func_start sub_812B048 -sub_812B048: @ 812B048 - push {r4,r5,lr} - ldr r0, _0812B08C @ =gUnknown_845AFE0 - movs r1, 0x4C - movs r2, 0x98 - movs r3, 0x2 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r5, _0812B090 @ =gUnknown_203B0E8 - ldr r2, [r5] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r4, _0812B094 @ =gSprites - adds r1, r4 - str r1, [r2, 0x8] - ldr r0, _0812B098 @ =gUnknown_845AFF8 - movs r1, 0x40 - movs r2, 0x98 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r2, [r5] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - str r1, [r2, 0x4] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0812B08C: .4byte gUnknown_845AFE0 -_0812B090: .4byte gUnknown_203B0E8 -_0812B094: .4byte gSprites -_0812B098: .4byte gUnknown_845AFF8 - thumb_func_end sub_812B048 - - thumb_func_start sub_812B09C -sub_812B09C: @ 812B09C - push {r4,lr} - adds r4, r0, 0 - bl sub_81297DC - adds r3, r0, 0 - cmp r3, 0xF - bne _0812B0B8 - adds r0, r4, 0 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - b _0812B0CC -_0812B0B8: - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x5 - negs r1, r1 - ands r1, r0 - strb r1, [r2] - lsls r0, r3, 3 - adds r0, 0x4C - strh r0, [r4, 0x20] -_0812B0CC: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_812B09C - - thumb_func_start sub_812B0D4 -sub_812B0D4: @ 812B0D4 - push {lr} - adds r1, r0, 0 - ldrh r0, [r1, 0x2E] - adds r0, 0x1 - movs r2, 0 - strh r0, [r1, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4 - ble _0812B0FA - strh r2, [r1, 0x2E] - ldrh r0, [r1, 0x24] - adds r0, 0x1 - strh r0, [r1, 0x24] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4 - ble _0812B0FA - strh r2, [r1, 0x24] -_0812B0FA: - pop {r0} - bx r0 - thumb_func_end sub_812B0D4 - - thumb_func_start sub_812B100 -sub_812B100: @ 812B100 - push {r4,r5,lr} - ldr r0, _0812B150 @ =gUnknown_845B050 - movs r1, 0x8 - movs r2, 0x98 - movs r3, 0x3 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r5, _0812B154 @ =gUnknown_203B0E8 - ldr r2, [r5] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r4, _0812B158 @ =gSprites - adds r1, r4 - str r1, [r2, 0xC] - ldr r0, _0812B15C @ =gUnknown_845B068 - movs r1, 0x20 - movs r2, 0x98 - movs r3, 0x4 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r2, [r5] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - str r1, [r2, 0x10] - adds r1, 0x3E - ldrb r0, [r1] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r1] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0812B150: .4byte gUnknown_845B050 -_0812B154: .4byte gUnknown_203B0E8 -_0812B158: .4byte gSprites -_0812B15C: .4byte gUnknown_845B068 - thumb_func_end sub_812B100 - - thumb_func_start sub_812B160 -sub_812B160: @ 812B160 - push {r4,lr} - bl sub_81296F4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bne _0812B198 - bl sub_8129720 - cmp r0, 0 - beq _0812B1A2 - ldr r3, _0812B194 @ =gUnknown_203B0E8 - ldr r0, [r3] - ldr r1, [r0, 0x10] - adds r1, 0x3E - ldrb r2, [r1] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - ldr r0, [r3] - ldr r0, [r0, 0x10] - movs r1, 0x3 - bl StartSpriteAnim - b _0812B1D6 - .align 2, 0 -_0812B194: .4byte gUnknown_203B0E8 -_0812B198: - bl sub_81297E8 - adds r4, r0, 0 - cmp r4, 0x3 - bne _0812B1B8 -_0812B1A2: - ldr r0, _0812B1B4 @ =gUnknown_203B0E8 - ldr r0, [r0] - ldr r1, [r0, 0x10] - adds r1, 0x3E - ldrb r0, [r1] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r1] - b _0812B1D6 - .align 2, 0 -_0812B1B4: .4byte gUnknown_203B0E8 -_0812B1B8: - ldr r3, _0812B1DC @ =gUnknown_203B0E8 - ldr r0, [r3] - ldr r1, [r0, 0x10] - adds r1, 0x3E - ldrb r2, [r1] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - ldr r0, [r3] - ldr r0, [r0, 0x10] - lsls r1, r4, 24 - lsrs r1, 24 - bl StartSpriteAnim -_0812B1D6: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0812B1DC: .4byte gUnknown_203B0E8 - thumb_func_end sub_812B160 - - .align 2, 0 @ Don't pad with nop. |