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. | 
