summaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
Diffstat (limited to 'asm')
-rw-r--r--asm/battle_bg.s4
-rw-r--r--asm/berry_crush.s8
-rw-r--r--asm/berry_crush_2.s34
-rw-r--r--asm/berry_crush_3.s30
-rw-r--r--asm/cable_club.s34
-rw-r--r--asm/dodrio_berry_picking.s16
-rw-r--r--asm/dodrio_berry_picking_2.s6
-rw-r--r--asm/easy_chat_2.s6
-rw-r--r--asm/event_object_80688E4.s1503
-rw-r--r--asm/event_object_movement.s10
-rw-r--r--asm/field_control_avatar.s4
-rw-r--r--asm/field_effect_helpers.s26
-rw-r--r--asm/field_screen_effect.s306
-rw-r--r--asm/librfu_intr.s697
-rw-r--r--asm/macros.inc1
-rw-r--r--asm/macros/event.inc8
-rw-r--r--asm/macros/trainer_tower.inc133
-rw-r--r--asm/overworld.s148
-rw-r--r--asm/pokedex_screen.s2
-rw-r--r--asm/pokemon_jump.s2
-rw-r--r--asm/pokemon_jump_2.s37
-rw-r--r--asm/pokemon_summary_screen.s2
-rw-r--r--asm/smokescreen.s225
-rw-r--r--asm/union_room_chat.s5973
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.