summaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
Diffstat (limited to 'asm')
-rw-r--r--asm/clear_save_data_screen.s6
-rw-r--r--asm/slot_machine.s4794
-rw-r--r--asm/title_screen.s2310
3 files changed, 3 insertions, 7107 deletions
diff --git a/asm/clear_save_data_screen.s b/asm/clear_save_data_screen.s
index f6cd11410..5d9d2ac03 100644
--- a/asm/clear_save_data_screen.s
+++ b/asm/clear_save_data_screen.s
@@ -26,8 +26,8 @@ sub_80F558C: @ 80F558C
bx r0
thumb_func_end sub_80F558C
- thumb_func_start sub_80F55A0
-sub_80F55A0: @ 80F55A0
+ thumb_func_start CB2_SaveClearScreen_Init
+CB2_SaveClearScreen_Init: @ 80F55A0
push {r4,lr}
ldr r4, _080F55D0 @ =gUnknown_203AB54
movs r0, 0x4
@@ -52,7 +52,7 @@ sub_80F55A0: @ 80F55A0
_080F55D0: .4byte gUnknown_203AB54
_080F55D4: .4byte sub_80F55DC
_080F55D8: .4byte sub_80F5574
- thumb_func_end sub_80F55A0
+ thumb_func_end CB2_SaveClearScreen_Init
thumb_func_start sub_80F55DC
sub_80F55DC: @ 80F55DC
diff --git a/asm/slot_machine.s b/asm/slot_machine.s
deleted file mode 100644
index c5f6d2b72..000000000
--- a/asm/slot_machine.s
+++ /dev/null
@@ -1,4794 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start PlaySlotMachine
-PlaySlotMachine: @ 813F804
- push {r4-r6,lr}
- adds r6, r1, 0
- lsls r0, 16
- lsrs r5, r0, 16
- bl ResetTasks
- ldr r4, _0813F828 @ =gUnknown_203F3A0
- movs r0, 0x54
- bl Alloc
- str r0, [r4]
- cmp r0, 0
- bne _0813F82C
- adds r0, r6, 0
- bl SetMainCallback2
- b _0813F840
- .align 2, 0
-_0813F828: .4byte gUnknown_203F3A0
-_0813F82C:
- cmp r5, 0x5
- bls _0813F832
- movs r5, 0
-_0813F832:
- strh r5, [r0, 0x4]
- str r6, [r0]
- bl sub_813F84C
- ldr r0, _0813F848 @ =sub_813F898
- bl SetMainCallback2
-_0813F840:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0813F848: .4byte sub_813F898
- thumb_func_end PlaySlotMachine
-
- thumb_func_start sub_813F84C
-sub_813F84C: @ 813F84C
- push {r4-r6,lr}
- movs r1, 0
- strh r1, [r0, 0x6]
- strh r1, [r0, 0xE]
- adds r0, 0x50
- strh r1, [r0]
- movs r3, 0
- ldr r6, _0813F894 @ =gUnknown_203F3A0
- movs r4, 0
- movs r5, 0x15
-_0813F860:
- ldr r2, [r6]
- lsls r1, r3, 2
- adds r0, r2, 0
- adds r0, 0x14
- adds r0, r1
- str r4, [r0]
- lsls r1, r3, 1
- adds r0, r2, 0
- adds r0, 0x20
- adds r0, r1
- strh r4, [r0]
- adds r0, r2, 0
- adds r0, 0x26
- adds r0, r1
- strh r4, [r0]
- adds r0, r2, 0
- adds r0, 0x2C
- adds r0, r1
- strh r5, [r0]
- adds r3, 0x1
- cmp r3, 0x2
- ble _0813F860
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0813F894: .4byte gUnknown_203F3A0
- thumb_func_end sub_813F84C
-
- thumb_func_start sub_813F898
-sub_813F898: @ 813F898
- push {r4,lr}
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- ldr r0, _0813F8BC @ =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r4, r0, r1
- ldrb r0, [r4]
- cmp r0, 0
- beq _0813F8C0
- cmp r0, 0x1
- beq _0813F8EC
- b _0813F916
- .align 2, 0
-_0813F8BC: .4byte gMain
-_0813F8C0:
- bl sub_814104C
- cmp r0, 0
- beq _0813F8DC
- ldr r0, _0813F8D8 @ =gUnknown_203F3A0
- ldr r0, [r0]
- ldr r0, [r0]
- bl SetMainCallback2
- bl sub_813F92C
- b _0813F916
- .align 2, 0
-_0813F8D8: .4byte gUnknown_203F3A0
-_0813F8DC:
- movs r0, 0
- movs r1, 0
- bl sub_8141148
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- b _0813F916
-_0813F8EC:
- movs r0, 0
- bl sub_8141180
- cmp r0, 0
- bne _0813F916
- ldr r0, _0813F91C @ =sub_813F964
- movs r1, 0
- bl CreateTask
- ldr r4, _0813F920 @ =gUnknown_203F3A0
- ldr r1, [r4]
- strb r0, [r1, 0x10]
- ldr r0, _0813F924 @ =sub_8140060
- movs r1, 0x1
- bl CreateTask
- ldr r1, [r4]
- strb r0, [r1, 0x11]
- ldr r0, _0813F928 @ =sub_813F94C
- bl SetMainCallback2
-_0813F916:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0813F91C: .4byte sub_813F964
-_0813F920: .4byte gUnknown_203F3A0
-_0813F924: .4byte sub_8140060
-_0813F928: .4byte sub_813F94C
- thumb_func_end sub_813F898
-
- thumb_func_start sub_813F92C
-sub_813F92C: @ 813F92C
- push {r4,lr}
- bl sub_8141094
- ldr r4, _0813F948 @ =gUnknown_203F3A0
- ldr r0, [r4]
- cmp r0, 0
- beq _0813F942
- bl Free
- movs r0, 0
- str r0, [r4]
-_0813F942:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0813F948: .4byte gUnknown_203F3A0
- thumb_func_end sub_813F92C
-
- thumb_func_start sub_813F94C
-sub_813F94C: @ 813F94C
- push {lr}
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- pop {r0}
- bx r0
- thumb_func_end sub_813F94C
-
- thumb_func_start sub_813F964
-sub_813F964: @ 813F964
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _0813F988 @ =gTasks+0x8
- adds r6, r1, r0
- movs r1, 0
- ldrsh r0, [r6, r1]
- cmp r0, 0x4
- bls _0813F97E
- b _0813FBB8
-_0813F97E:
- lsls r0, 2
- ldr r1, _0813F98C @ =_0813F990
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0813F988: .4byte gTasks+0x8
-_0813F98C: .4byte _0813F990
- .align 2, 0
-_0813F990:
- .4byte _0813F9A4
- .4byte _0813FAA8
- .4byte _0813FAE4
- .4byte _0813FB08
- .4byte _0813FB48
-_0813F9A4:
- bl GetCoins
- lsls r0, 16
- cmp r0, 0
- bne _0813F9BC
- ldr r0, _0813F9B8 @ =sub_813FBC0
- bl sub_8140030
- b _0813FBB8
- .align 2, 0
-_0813F9B8: .4byte sub_813FBC0
-_0813F9BC:
- ldr r1, _0813F9F4 @ =gMain
- ldrh r2, [r1, 0x2E]
- movs r0, 0x80
- ands r0, r2
- cmp r0, 0
- beq _0813F9FC
- ldr r0, _0813F9F8 @ =gUnknown_203F3A0
- ldr r1, [r0]
- ldrh r0, [r1, 0xE]
- adds r0, 0x1
- strh r0, [r1, 0xE]
- movs r0, 0x1
- bl TakeCoins
- movs r0, 0x58
- bl PlaySE
- movs r0, 0x8
- movs r1, 0
- bl sub_8141148
- movs r0, 0x2
- movs r1, 0x1
- bl sub_8141148
- movs r0, 0x1
- b _0813FBB6
- .align 2, 0
-_0813F9F4: .4byte gMain
-_0813F9F8: .4byte gUnknown_203F3A0
-_0813F9FC:
- movs r0, 0x80
- lsls r0, 1
- ands r0, r2
- cmp r0, 0
- beq _0813FA5C
- ldr r5, _0813FA2C @ =gUnknown_203F3A0
- ldr r0, [r5]
- ldrh r0, [r0, 0xE]
- movs r7, 0x3
- subs r4, r7, r0
- bl GetCoins
- lsls r0, 16
- lsrs r0, 16
- cmp r0, r4
- blt _0813FA30
- ldr r0, [r5]
- strh r7, [r0, 0xE]
- lsls r0, r4, 16
- lsrs r0, 16
- bl TakeCoins
- b _0813FA42
- .align 2, 0
-_0813FA2C: .4byte gUnknown_203F3A0
-_0813FA30:
- bl GetCoins
- ldr r1, [r5]
- ldrh r2, [r1, 0xE]
- adds r0, r2
- strh r0, [r1, 0xE]
- movs r0, 0
- bl SetCoins
-_0813FA42:
- movs r0, 0x58
- bl PlaySE
- movs r0, 0x8
- movs r1, 0
- bl sub_8141148
- movs r0, 0x2
- movs r1, 0x1
- bl sub_8141148
- movs r0, 0x1
- b _0813FBB6
-_0813FA5C:
- movs r0, 0x1
- ands r0, r2
- cmp r0, 0
- beq _0813FA78
- ldr r0, _0813FA74 @ =gUnknown_203F3A0
- ldr r0, [r0]
- ldrh r0, [r0, 0xE]
- cmp r0, 0
- beq _0813FA78
- movs r0, 0x2
- b _0813FBB6
- .align 2, 0
-_0813FA74: .4byte gUnknown_203F3A0
-_0813FA78:
- ldrh r1, [r1, 0x2E]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0813FA90
- ldr r0, _0813FA8C @ =sub_813FCAC
- bl sub_8140030
- b _0813FBB8
- .align 2, 0
-_0813FA8C: .4byte sub_813FCAC
-_0813FA90:
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- bne _0813FA9A
- b _0813FBB8
-_0813FA9A:
- ldr r0, _0813FAA4 @ =sub_813FC2C
- bl sub_8140030
- b _0813FBB8
- .align 2, 0
-_0813FAA4: .4byte sub_813FC2C
-_0813FAA8:
- movs r0, 0
- bl sub_8141180
- cmp r0, 0
- beq _0813FAB4
- b _0813FBB8
-_0813FAB4:
- movs r0, 0x1
- bl sub_8141180
- adds r4, r0, 0
- cmp r4, 0
- beq _0813FAC2
- b _0813FBB8
-_0813FAC2:
- ldr r0, _0813FADC @ =gUnknown_203F3A0
- ldr r0, [r0]
- ldrh r0, [r0, 0xE]
- cmp r0, 0x3
- beq _0813FAD6
- bl GetCoins
- lsls r0, 16
- cmp r0, 0
- bne _0813FAE0
-_0813FAD6:
- movs r0, 0x2
- b _0813FBB6
- .align 2, 0
-_0813FADC: .4byte gUnknown_203F3A0
-_0813FAE0:
- strh r4, [r6]
- b _0813FBB8
-_0813FAE4:
- bl sub_811539C
- bl sub_81409B4
- bl sub_8140148
- ldr r0, _0813FB04 @ =gUnknown_203F3A0
- ldr r1, [r0]
- movs r0, 0
- strh r0, [r1, 0x6]
- movs r0, 0x3
- movs r1, 0
- bl sub_8141148
- b _0813FBB4
- .align 2, 0
-_0813FB04: .4byte gUnknown_203F3A0
-_0813FB08:
- movs r0, 0
- bl sub_8141180
- cmp r0, 0
- bne _0813FBB8
- ldr r0, _0813FB40 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0813FBB8
- movs r0, 0x18
- bl PlaySE
- ldr r4, _0813FB44 @ =gUnknown_203F3A0
- ldr r0, [r4]
- ldrh r1, [r0, 0x6]
- adds r0, r1, 0
- bl sub_814016C
- ldr r0, [r4]
- ldrb r0, [r0, 0x6]
- movs r1, 0
- bl sub_8141C30
- movs r0, 0x4
- b _0813FBB6
- .align 2, 0
-_0813FB40: .4byte gMain
-_0813FB44: .4byte gUnknown_203F3A0
-_0813FB48:
- ldr r5, _0813FB90 @ =gUnknown_203F3A0
- ldr r0, [r5]
- ldrh r0, [r0, 0x6]
- bl sub_81401A0
- cmp r0, 0
- bne _0813FBB8
- movs r0, 0
- bl sub_8141180
- adds r4, r0, 0
- cmp r4, 0
- bne _0813FBB8
- ldr r1, [r5]
- ldrh r0, [r1, 0x6]
- adds r0, 0x1
- strh r0, [r1, 0x6]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x2
- bls _0813FBB4
- bl sub_8140A80
- ldr r1, [r5]
- strh r0, [r1, 0xA]
- strh r4, [r1, 0xE]
- strh r4, [r1, 0x6]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0
- bne _0813FB98
- ldr r0, _0813FB94 @ =sub_813FD84
- bl sub_8140030
- b _0813FBB8
- .align 2, 0
-_0813FB90: .4byte gUnknown_203F3A0
-_0813FB94: .4byte sub_813FD84
-_0813FB98:
- cmp r0, 0x6
- bne _0813FBA2
- movs r0, 0x1C
- bl IncrementGameStat
-_0813FBA2:
- bl sub_8140A70
- ldr r0, _0813FBB0 @ =sub_813FE1C
- bl sub_8140030
- b _0813FBB8
- .align 2, 0
-_0813FBB0: .4byte sub_813FE1C
-_0813FBB4:
- movs r0, 0x3
-_0813FBB6:
- strh r0, [r6]
-_0813FBB8:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_813F964
-
- thumb_func_start sub_813FBC0
-sub_813FBC0: @ 813FBC0
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _0813FBE4 @ =gTasks+0x8
- adds r4, r1, r0
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _0813FBF8
- cmp r0, 0x1
- bgt _0813FBE8
- cmp r0, 0
- beq _0813FBEE
- b _0813FC1C
- .align 2, 0
-_0813FBE4: .4byte gTasks+0x8
-_0813FBE8:
- cmp r0, 0x2
- beq _0813FC0A
- b _0813FC1C
-_0813FBEE:
- movs r0, 0x9
- movs r1, 0
- bl sub_8141148
- b _0813FC02
-_0813FBF8:
- movs r0, 0
- bl sub_8141180
- cmp r0, 0
- bne _0813FC1C
-_0813FC02:
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- b _0813FC1C
-_0813FC0A:
- ldr r0, _0813FC24 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0xF3
- ands r0, r1
- cmp r0, 0
- beq _0813FC1C
- ldr r0, _0813FC28 @ =sub_813FFD8
- bl sub_8140030
-_0813FC1C:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0813FC24: .4byte gMain
-_0813FC28: .4byte sub_813FFD8
- thumb_func_end sub_813FBC0
-
- thumb_func_start sub_813FC2C
-sub_813FC2C: @ 813FC2C
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _0813FC50 @ =gTasks+0x8
- adds r4, r1, r0
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _0813FC62
- cmp r0, 0x1
- bgt _0813FC54
- cmp r0, 0
- beq _0813FC5E
- b _0813FCA0
- .align 2, 0
-_0813FC50: .4byte gTasks+0x8
-_0813FC54:
- cmp r0, 0x2
- beq _0813FC6E
- cmp r0, 0x3
- beq _0813FC90
- b _0813FCA0
-_0813FC5E:
- movs r0, 0xE
- b _0813FC7C
-_0813FC62:
- movs r0, 0
- bl sub_8141180
- cmp r0, 0
- bne _0813FCA0
- b _0813FC82
-_0813FC6E:
- ldr r0, _0813FC8C @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _0813FCA0
- movs r0, 0xF
-_0813FC7C:
- movs r1, 0
- bl sub_8141148
-_0813FC82:
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- b _0813FCA0
- .align 2, 0
-_0813FC8C: .4byte gMain
-_0813FC90:
- movs r0, 0
- bl sub_8141180
- cmp r0, 0
- bne _0813FCA0
- ldr r0, _0813FCA8 @ =sub_813F964
- bl sub_8140030
-_0813FCA0:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0813FCA8: .4byte sub_813F964
- thumb_func_end sub_813FC2C
-
- thumb_func_start sub_813FCAC
-sub_813FCAC: @ 813FCAC
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _0813FCD0 @ =gTasks+0x8
- adds r4, r1, r0
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, 0x4
- bhi _0813FD78
- lsls r0, 2
- ldr r1, _0813FCD4 @ =_0813FCD8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0813FCD0: .4byte gTasks+0x8
-_0813FCD4: .4byte _0813FCD8
- .align 2, 0
-_0813FCD8:
- .4byte _0813FCEC
- .4byte _0813FCF6
- .4byte _0813FD08
- .4byte _0813FD52
- .4byte _0813FD68
-_0813FCEC:
- movs r0, 0xA
- movs r1, 0
- bl sub_8141148
- b _0813FD00
-_0813FCF6:
- movs r0, 0
- bl sub_8141180
- cmp r0, 0
- bne _0813FD78
-_0813FD00:
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- b _0813FD78
-_0813FD08:
- bl Menu_ProcessInputNoWrapClearOnChoose
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _0813FD28
- cmp r1, 0
- bgt _0813FD22
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _0813FD44
- b _0813FD78
-_0813FD22:
- cmp r1, 0x1
- beq _0813FD44
- b _0813FD78
-_0813FD28:
- ldr r0, _0813FD40 @ =gUnknown_203F3A0
- ldr r0, [r0]
- ldrh r0, [r0, 0xE]
- bl GiveCoins
- movs r0, 0x8
- movs r1, 0
- bl sub_8141148
- movs r0, 0x3
- strh r0, [r4]
- b _0813FD78
- .align 2, 0
-_0813FD40: .4byte gUnknown_203F3A0
-_0813FD44:
- movs r0, 0xB
- movs r1, 0
- bl sub_8141148
- movs r0, 0x4
- strh r0, [r4]
- b _0813FD78
-_0813FD52:
- movs r0, 0
- bl sub_8141180
- cmp r0, 0
- bne _0813FD78
- ldr r0, _0813FD64 @ =sub_813FFD8
- bl sub_8140030
- b _0813FD78
- .align 2, 0
-_0813FD64: .4byte sub_813FFD8
-_0813FD68:
- movs r0, 0
- bl sub_8141180
- cmp r0, 0
- bne _0813FD78
- ldr r0, _0813FD80 @ =sub_813F964
- bl sub_8140030
-_0813FD78:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0813FD80: .4byte sub_813F964
- thumb_func_end sub_813FCAC
-
- thumb_func_start sub_813FD84
-sub_813FD84: @ 813FD84
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _0813FDA8 @ =gTasks+0x8
- adds r5, r1, r0
- movs r0, 0
- ldrsh r4, [r5, r0]
- cmp r4, 0x1
- beq _0813FDBE
- cmp r4, 0x1
- bgt _0813FDAC
- cmp r4, 0
- beq _0813FDB2
- b _0813FE10
- .align 2, 0
-_0813FDA8: .4byte gTasks+0x8
-_0813FDAC:
- cmp r4, 0x2
- beq _0813FDEC
- b _0813FE10
-_0813FDB2:
- movs r0, 0x6
- movs r1, 0
- bl sub_8141148
- strh r4, [r5, 0x2]
- b _0813FDE4
-_0813FDBE:
- ldrh r0, [r5, 0x2]
- adds r0, 0x1
- strh r0, [r5, 0x2]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3C
- ble _0813FE10
- movs r0, 0x7
- movs r1, 0
- bl sub_8141148
- movs r0, 0x2
- movs r1, 0x1
- bl sub_8141148
- movs r0, 0xD
- movs r1, 0x2
- bl sub_8141148
-_0813FDE4:
- ldrh r0, [r5]
- adds r0, 0x1
- strh r0, [r5]
- b _0813FE10
-_0813FDEC:
- movs r0, 0
- bl sub_8141180
- cmp r0, 0
- bne _0813FE10
- movs r0, 0x1
- bl sub_8141180
- cmp r0, 0
- bne _0813FE10
- movs r0, 0x2
- bl sub_8141180
- cmp r0, 0
- bne _0813FE10
- ldr r0, _0813FE18 @ =sub_813F964
- bl sub_8140030
-_0813FE10:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0813FE18: .4byte sub_813F964
- thumb_func_end sub_813FD84
-
- thumb_func_start sub_813FE1C
-sub_813FE1C: @ 813FE1C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _0813FE40 @ =gTasks+0x8
- adds r5, r1, r0
- movs r1, 0
- ldrsh r0, [r5, r1]
- cmp r0, 0x5
- bls _0813FE36
- b _0813FFCE
-_0813FE36:
- lsls r0, 2
- ldr r1, _0813FE44 @ =_0813FE48
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0813FE40: .4byte gTasks+0x8
-_0813FE44: .4byte _0813FE48
- .align 2, 0
-_0813FE48:
- .4byte _0813FE60
- .4byte _0813FEA0
- .4byte _0813FECC
- .4byte _0813FF78
- .4byte _0813FF92
- .4byte _0813FFB4
-_0813FE60:
- ldr r0, _0813FE7C @ =gUnknown_203F3A0
- ldr r0, [r0]
- ldrh r0, [r0, 0xA]
- subs r0, 0x5
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bhi _0813FE80
- movs r0, 0x86
- lsls r0, 1
- bl PlayFanfare
- b _0813FE86
- .align 2, 0
-_0813FE7C: .4byte gUnknown_203F3A0
-_0813FE80:
- ldr r0, _0813FE9C @ =0x0000010d
- bl PlayFanfare
-_0813FE86:
- movs r0, 0x8
- movs r1, 0
- bl sub_8141148
- movs r0, 0x4
- movs r1, 0x1
- bl sub_8141148
- movs r0, 0x8
- strh r0, [r5, 0x2]
- b _0813FFAC
- .align 2, 0
-_0813FE9C: .4byte 0x0000010d
-_0813FEA0:
- ldrh r0, [r5, 0x2]
- adds r0, 0x1
- strh r0, [r5, 0x2]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x78
- bgt _0813FEB0
- b _0813FFCE
-_0813FEB0:
- movs r0, 0x8
- strh r0, [r5, 0x2]
- ldr r0, _0813FEC8 @ =gMain
- ldrh r1, [r0, 0x2C]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0813FFAC
- movs r0, 0x2
- strh r0, [r5, 0x2]
- b _0813FFAC
- .align 2, 0
-_0813FEC8: .4byte gMain
-_0813FECC:
- movs r0, 0
- bl sub_8141180
- adds r6, r0, 0
- cmp r6, 0
- bne _0813FFCE
- bl IsFanfareTaskInactive
- lsls r0, 24
- cmp r0, 0
- beq _0813FF0C
- ldr r0, _0813FF04 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _0813FF0C
- ldr r4, _0813FF08 @ =gUnknown_203F3A0
- ldr r0, [r4]
- adds r0, 0x50
- ldrh r0, [r0]
- bl GiveCoins
- ldr r0, [r4]
- adds r0, 0x50
- strh r6, [r0]
- b _0813FF58
- .align 2, 0
-_0813FF04: .4byte gMain
-_0813FF08: .4byte gUnknown_203F3A0
-_0813FF0C:
- ldrh r0, [r5, 0x2]
- subs r0, 0x1
- strh r0, [r5, 0x2]
- lsls r0, 16
- cmp r0, 0
- bne _0813FF58
- bl IsFanfareTaskInactive
- lsls r0, 24
- cmp r0, 0
- beq _0813FF28
- movs r0, 0x15
- bl PlaySE
-_0813FF28:
- ldr r4, _0813FF70 @ =gUnknown_203F3A0
- ldr r0, [r4]
- adds r0, 0x50
- ldrh r0, [r0]
- cmp r0, 0
- beq _0813FF44
- movs r0, 0x1
- bl GiveCoins
- ldr r1, [r4]
- adds r1, 0x50
- ldrh r0, [r1]
- subs r0, 0x1
- strh r0, [r1]
-_0813FF44:
- movs r0, 0x8
- strh r0, [r5, 0x2]
- ldr r0, _0813FF74 @ =gMain
- ldrh r1, [r0, 0x2C]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0813FF58
- movs r0, 0x2
- strh r0, [r5, 0x2]
-_0813FF58:
- movs r0, 0x8
- movs r1, 0
- bl sub_8141148
- ldr r0, _0813FF70 @ =gUnknown_203F3A0
- ldr r0, [r0]
- adds r0, 0x50
- ldrh r0, [r0]
- cmp r0, 0
- bne _0813FFCE
- b _0813FFAC
- .align 2, 0
-_0813FF70: .4byte gUnknown_203F3A0
-_0813FF74: .4byte gMain
-_0813FF78:
- bl IsFanfareTaskInactive
- lsls r0, 24
- cmp r0, 0
- beq _0813FFCE
- movs r0, 0
- bl sub_8141180
- cmp r0, 0
- bne _0813FFCE
- movs r0, 0x5
- movs r1, 0
- b _0813FFA8
-_0813FF92:
- movs r0, 0
- bl sub_8141180
- cmp r0, 0
- bne _0813FFCE
- movs r0, 0x2
- movs r1, 0
- bl sub_8141148
- movs r0, 0xD
- movs r1, 0x1
-_0813FFA8:
- bl sub_8141148
-_0813FFAC:
- ldrh r0, [r5]
- adds r0, 0x1
- strh r0, [r5]
- b _0813FFCE
-_0813FFB4:
- movs r0, 0
- bl sub_8141180
- cmp r0, 0
- bne _0813FFCE
- movs r0, 0x1
- bl sub_8141180
- cmp r0, 0
- bne _0813FFCE
- ldr r0, _0813FFD4 @ =sub_813F964
- bl sub_8140030
-_0813FFCE:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0813FFD4: .4byte sub_813F964
- thumb_func_end sub_813FE1C
-
- thumb_func_start sub_813FFD8
-sub_813FFD8: @ 813FFD8
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _0813FFF8 @ =gTasks+0x8
- adds r4, r1, r0
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _0813FFFC
- cmp r0, 0x1
- beq _0814000C
- b _08140024
- .align 2, 0
-_0813FFF8: .4byte gTasks+0x8
-_0813FFFC:
- movs r0, 0x1
- movs r1, 0
- bl sub_8141148
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- b _08140024
-_0814000C:
- movs r0, 0
- bl sub_8141180
- cmp r0, 0
- bne _08140024
- ldr r0, _0814002C @ =gUnknown_203F3A0
- ldr r0, [r0]
- ldr r0, [r0]
- bl SetMainCallback2
- bl sub_813F92C
-_08140024:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0814002C: .4byte gUnknown_203F3A0
- thumb_func_end sub_813FFD8
-
- thumb_func_start sub_8140030
-sub_8140030: @ 8140030
- push {r4,lr}
- ldr r4, _08140058 @ =gTasks
- ldr r1, _0814005C @ =gUnknown_203F3A0
- ldr r3, [r1]
- ldrb r2, [r3, 0x10]
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r4
- str r0, [r1]
- ldrb r1, [r3, 0x10]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r4
- movs r1, 0
- strh r1, [r0, 0x8]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08140058: .4byte gTasks
-_0814005C: .4byte gUnknown_203F3A0
- thumb_func_end sub_8140030
-
- thumb_func_start sub_8140060
-sub_8140060: @ 8140060
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- movs r0, 0
- mov r12, r0
- ldr r1, _08140144 @ =gUnknown_203F3A0
- mov r10, r1
- mov r8, r10
- mov r9, r0
- movs r6, 0
- movs r7, 0
-_0814007A:
- mov r2, r8
- ldr r3, [r2]
- adds r0, r3, 0
- adds r0, 0x14
- adds r0, r7
- ldr r0, [r0]
- mov r1, r12
- lsls r4, r1, 1
- cmp r0, 0
- bne _0814009C
- adds r0, r3, 0
- adds r0, 0x26
- adds r0, r6
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r0, 0
- beq _0814011A
-_0814009C:
- adds r0, r3, 0
- adds r0, 0x26
- adds r2, r0, r6
- ldrh r5, [r2]
- movs r1, 0
- ldrsh r0, [r2, r1]
- cmp r0, 0
- bne _081400C4
- adds r1, r3, 0
- adds r1, 0x20
- adds r1, r4
- adds r0, r3, 0
- adds r0, 0x2C
- adds r0, r4
- movs r4, 0
- ldrsh r1, [r1, r4]
- movs r4, 0
- ldrsh r0, [r0, r4]
- cmp r1, r0
- beq _08140104
-_081400C4:
- adds r0, r5, 0x1
- movs r1, 0
- strh r0, [r2]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x2
- ble _081400EA
- strh r1, [r2]
- adds r0, r3, 0
- adds r0, 0x20
- adds r1, r0, r6
- ldrh r0, [r1]
- subs r0, 0x1
- strh r0, [r1]
- lsls r0, 16
- cmp r0, 0
- bge _081400EA
- movs r0, 0x14
- strh r0, [r1]
-_081400EA:
- mov r1, r8
- ldr r0, [r1]
- adds r1, r0, 0
- adds r1, 0x20
- adds r1, r6
- adds r0, 0x2C
- adds r0, r6
- movs r2, 0
- ldrsh r1, [r1, r2]
- movs r4, 0
- ldrsh r0, [r0, r4]
- cmp r1, r0
- bne _0814011A
-_08140104:
- mov r1, r8
- ldr r0, [r1]
- adds r1, r0, 0
- adds r1, 0x2C
- adds r1, r6
- movs r2, 0x15
- strh r2, [r1]
- adds r0, 0x14
- adds r0, r7
- mov r2, r9
- str r2, [r0]
-_0814011A:
- adds r6, 0x2
- adds r7, 0x4
- movs r4, 0x1
- add r12, r4
- mov r0, r12
- cmp r0, 0x2
- ble _0814007A
- mov r2, r10
- ldr r1, [r2]
- adds r0, r1, 0
- adds r0, 0x20
- adds r1, 0x26
- bl sub_8140D7C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08140144: .4byte gUnknown_203F3A0
- thumb_func_end sub_8140060
-
- thumb_func_start sub_8140148
-sub_8140148: @ 8140148
- push {r4,lr}
- movs r2, 0
- ldr r4, _08140168 @ =gUnknown_203F3A0
- movs r3, 0x1
-_08140150:
- ldr r0, [r4]
- lsls r1, r2, 2
- adds r0, 0x14
- adds r0, r1
- str r3, [r0]
- adds r2, 0x1
- cmp r2, 0x2
- ble _08140150
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08140168: .4byte gUnknown_203F3A0
- thumb_func_end sub_8140148
-
- thumb_func_start sub_814016C
-sub_814016C: @ 814016C
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- lsls r1, 16
- lsrs r1, 16
- adds r2, r1, 0
- cmp r1, 0x1
- beq _08140192
- cmp r1, 0x1
- bgt _08140186
- cmp r1, 0
- beq _0814018C
- b _0814019C
-_08140186:
- cmp r2, 0x2
- beq _08140198
- b _0814019C
-_0814018C:
- bl sub_81401F0
- b _0814019C
-_08140192:
- bl sub_81403BC
- b _0814019C
-_08140198:
- bl sub_81404B8
-_0814019C:
- pop {r0}
- bx r0
- thumb_func_end sub_814016C
-
- thumb_func_start sub_81401A0
-sub_81401A0: @ 81401A0
- lsls r0, 16
- ldr r1, _081401B0 @ =gUnknown_203F3A0
- ldr r1, [r1]
- lsrs r0, 14
- adds r1, 0x14
- adds r1, r0
- ldr r0, [r1]
- bx lr
- .align 2, 0
-_081401B0: .4byte gUnknown_203F3A0
- thumb_func_end sub_81401A0
-
- thumb_func_start sub_81401B4
-sub_81401B4: @ 81401B4
- push {lr}
- lsls r0, 16
- ldr r1, _081401E8 @ =gUnknown_203F3A0
- ldr r2, [r1]
- lsrs r0, 15
- adds r1, r2, 0
- adds r1, 0x20
- adds r1, r0
- ldrh r1, [r1]
- adds r2, 0x26
- adds r2, r0
- movs r3, 0
- ldrsh r0, [r2, r3]
- cmp r0, 0
- beq _081401E0
- lsls r0, r1, 16
- ldr r1, _081401EC @ =0xffff0000
- adds r0, r1
- lsrs r1, r0, 16
- cmp r0, 0
- bge _081401E0
- movs r1, 0x14
-_081401E0:
- lsls r0, r1, 16
- asrs r0, 16
- pop {r1}
- bx r1
- .align 2, 0
-_081401E8: .4byte gUnknown_203F3A0
-_081401EC: .4byte 0xffff0000
- thumb_func_end sub_81401B4
-
- thumb_func_start sub_81401F0
-sub_81401F0: @ 81401F0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- bl sub_81401B4
- lsls r0, 16
- lsrs r1, r0, 16
- movs r0, 0
- mov r8, r0
- ldr r0, _0814023C @ =gUnknown_203F3A0
- ldr r0, [r0]
- ldrh r0, [r0, 0x8]
- cmp r0, 0
- bne _08140294
- mov r2, r9
- cmp r2, 0
- bne _08140294
- movs r7, 0
- lsls r1, 16
- str r1, [sp, 0xC]
- movs r0, 0
- str r0, [sp, 0x8]
- mov r10, r0
-_0814022A:
- movs r6, 0
- ldr r1, [sp, 0xC]
- asrs r0, r1, 16
- subs r0, r7
- adds r0, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- adds r5, r7, 0x1
- b _08140248
- .align 2, 0
-_0814023C: .4byte gUnknown_203F3A0
-_08140240:
- adds r6, 0x1
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
-_08140248:
- cmp r6, 0x2
- bgt _0814026E
- lsls r0, r2, 16
- asrs r0, 16
- cmp r0, 0x14
- ble _08140256
- movs r2, 0
-_08140256:
- lsls r0, r2, 16
- asrs r4, r0, 16
- mov r2, r10
- adds r0, r4, r2
- ldr r1, _08140284 @ =gUnknown_8464926
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x1
- bl sub_81408F4
- cmp r0, 0
- beq _08140240
-_0814026E:
- cmp r6, 0x3
- bne _0814027C
- mov r0, sp
- add r0, r8
- strb r7, [r0]
- movs r2, 0x1
- add r8, r2
-_0814027C:
- adds r7, r5, 0
- cmp r7, 0x4
- ble _0814022A
- b _08140348
- .align 2, 0
-_08140284: .4byte gUnknown_8464926
-_08140288:
- mov r1, sp
- movs r0, 0
- strb r0, [r1]
- movs r0, 0x1
- mov r8, r0
- b _081402FE
-_08140294:
- ldr r0, _08140364 @ =gUnknown_203F3A0
- ldr r0, [r0]
- ldrh r0, [r0, 0x8]
- cmp r0, 0x1
- bne _081402AE
- lsls r2, r1, 16
- str r2, [sp, 0xC]
- mov r0, r9
- lsls r0, 1
- str r0, [sp, 0x8]
- mov r2, r9
- cmp r2, 0
- bne _08140348
-_081402AE:
- movs r7, 0
- lsls r1, 16
- movs r2, 0x80
- lsls r2, 9
- adds r0, r1, r2
- lsrs r2, r0, 16
- str r1, [sp, 0xC]
- mov r0, r9
- lsls r6, r0, 2
- lsls r0, 1
- str r0, [sp, 0x8]
- ldr r1, _08140368 @ =gUnknown_8464926
- mov r10, r1
- mov r1, r9
- adds r0, r6, r1
- lsls r0, 2
- adds r5, r0, r1
-_081402D0:
- lsls r0, r2, 16
- asrs r0, 16
- cmp r0, 0x14
- ble _081402DA
- movs r2, 0
-_081402DA:
- ldr r0, _08140364 @ =gUnknown_203F3A0
- ldr r0, [r0]
- ldrh r0, [r0, 0x8]
- lsls r1, r2, 16
- asrs r4, r1, 16
- adds r1, r4, r5
- add r1, r10
- ldrb r1, [r1]
- bl sub_81408F4
- cmp r0, 0
- bne _08140288
- adds r7, 0x1
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r7, 0x2
- ble _081402D0
-_081402FE:
- movs r7, 0
- ldr r0, [sp, 0xC]
- lsrs r2, r0, 16
- ldr r1, _08140368 @ =gUnknown_8464926
- mov r10, r1
- mov r1, r9
- adds r0, r6, r1
- lsls r0, 2
- adds r6, r0, r1
-_08140310:
- lsls r0, r2, 16
- cmp r0, 0
- bge _08140318
- movs r2, 0x14
-_08140318:
- ldr r0, _08140364 @ =gUnknown_203F3A0
- ldr r0, [r0]
- ldrh r0, [r0, 0x8]
- lsls r1, r2, 16
- asrs r4, r1, 16
- adds r1, r4, r6
- add r1, r10
- ldrb r1, [r1]
- bl sub_81408F4
- adds r5, r7, 0x1
- cmp r0, 0
- beq _0814033C
- mov r0, sp
- add r0, r8
- strb r5, [r0]
- movs r2, 0x1
- add r8, r2
-_0814033C:
- adds r7, r5, 0
- subs r0, r4, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r7, 0x3
- ble _08140310
-_08140348:
- mov r0, r8
- cmp r0, 0
- bne _0814036C
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x5
- bl __umodsi3
- lsls r0, 16
- lsrs r2, r0, 16
- b _0814037E
- .align 2, 0
-_08140364: .4byte gUnknown_203F3A0
-_08140368: .4byte gUnknown_8464926
-_0814036C:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- mov r1, r8
- bl __modsi3
- add r0, sp
- ldrb r2, [r0]
-_0814037E:
- ldr r0, [sp, 0xC]
- asrs r1, r0, 16
- lsls r0, r2, 16
- asrs r0, 16
- subs r1, r0
- lsls r1, 16
- lsrs r2, r1, 16
- asrs r0, r1, 16
- cmp r0, 0
- bge _08140398
- adds r0, 0x15
- lsls r0, 16
- lsrs r2, r0, 16
-_08140398:
- ldr r0, _081403B8 @ =gUnknown_203F3A0
- ldr r0, [r0]
- mov r1, r9
- strh r1, [r0, 0x32]
- adds r0, 0x2C
- ldr r1, [sp, 0x8]
- adds r0, r1
- strh r2, [r0]
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_081403B8: .4byte gUnknown_203F3A0
- thumb_func_end sub_81401F0
-
- thumb_func_start sub_81403BC
-sub_81403BC: @ 81403BC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- ldr r0, _08140470 @ =gUnknown_203F3A0
- ldr r0, [r0]
- ldrh r1, [r0, 0x32]
- lsls r7, r1, 16
- asrs r1, r7, 15
- adds r0, 0x20
- adds r0, r1
- ldrh r0, [r0]
- adds r0, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- asrs r0, 16
- cmp r0, 0x14
- ble _081403EC
- movs r4, 0
-_081403EC:
- mov r0, r8
- bl sub_81401B4
- lsls r1, r0, 16
- movs r2, 0x80
- lsls r2, 9
- adds r0, r1, r2
- lsrs r2, r0, 16
- asrs r0, 16
- cmp r0, 0x14
- ble _08140404
- movs r2, 0
-_08140404:
- movs r6, 0
- movs r5, 0
- mov r10, r7
- lsls r4, 16
- mov r9, r4
- str r1, [sp, 0x10]
- mov r0, r8
- lsls r0, 1
- str r0, [sp, 0xC]
-_08140416:
- lsls r0, r2, 16
- asrs r4, r0, 16
- ldr r7, _08140470 @ =gUnknown_203F3A0
- ldr r0, [r7]
- ldrh r0, [r0, 0x8]
- str r0, [sp]
- mov r1, r10
- asrs r0, r1, 16
- mov r2, r9
- asrs r1, r2, 16
- mov r2, r8
- adds r3, r4, 0
- bl sub_814054C
- cmp r0, 0
- beq _08140440
- mov r0, sp
- adds r0, r6
- adds r0, 0x4
- strb r5, [r0]
- adds r6, 0x1
-_08140440:
- subs r0, r4, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r0, 0
- bge _0814044C
- movs r2, 0x14
-_0814044C:
- adds r5, 0x1
- cmp r5, 0x4
- ble _08140416
- cmp r6, 0
- bne _08140474
- ldr r0, [r7]
- str r6, [r0, 0x38]
- ldrh r0, [r0, 0x8]
- subs r0, 0x5
- lsls r0, 16
- lsrs r0, 16
- movs r2, 0
- adds r3, r7, 0
- cmp r0, 0x1
- bhi _08140480
- movs r2, 0x4
- b _08140480
- .align 2, 0
-_08140470: .4byte gUnknown_203F3A0
-_08140474:
- ldr r0, [r7]
- movs r1, 0x1
- str r1, [r0, 0x38]
- add r0, sp, 0x4
- ldrb r2, [r0]
- adds r3, r7, 0
-_08140480:
- ldr r0, [sp, 0x10]
- asrs r1, r0, 16
- lsls r0, r2, 16
- asrs r0, 16
- subs r1, r0
- lsls r1, 16
- lsrs r2, r1, 16
- asrs r0, r1, 16
- cmp r0, 0
- bge _0814049A
- adds r0, 0x15
- lsls r0, 16
- lsrs r2, r0, 16
-_0814049A:
- ldr r0, [r3]
- mov r1, r8
- strh r1, [r0, 0x34]
- adds r0, 0x2C
- ldr r1, [sp, 0xC]
- adds r0, r1
- strh r2, [r0]
- add sp, 0x14
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81403BC
-
- thumb_func_start sub_81404B8
-sub_81404B8: @ 81404B8
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x8
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- bl sub_81401B4
- lsls r0, 16
- asrs r0, 16
- mov r9, r0
- mov r4, r9
- movs r6, 0
- movs r5, 0
-_081404D8:
- ldr r7, _0814051C @ =gUnknown_203F3A0
- ldr r0, [r7]
- ldrh r2, [r0, 0x8]
- mov r0, r8
- adds r1, r4, 0
- bl sub_81406E8
- cmp r0, 0
- beq _081404F2
- mov r1, sp
- adds r0, r1, r6
- strb r5, [r0]
- adds r6, 0x1
-_081404F2:
- subs r4, 0x1
- cmp r4, 0
- bge _081404FA
- movs r4, 0x14
-_081404FA:
- adds r5, 0x1
- cmp r5, 0x4
- ble _081404D8
- cmp r6, 0
- bne _08140520
- ldr r0, [r7]
- ldrh r0, [r0, 0x8]
- subs r0, 0x5
- lsls r0, 16
- lsrs r0, 16
- movs r2, 0
- adds r1, r7, 0
- cmp r0, 0x1
- bhi _08140526
- movs r2, 0x4
- b _08140526
- .align 2, 0
-_0814051C: .4byte gUnknown_203F3A0
-_08140520:
- mov r0, sp
- ldrb r2, [r0]
- adds r1, r7, 0
-_08140526:
- mov r3, r9
- subs r2, r3, r2
- cmp r2, 0
- bge _08140530
- adds r2, 0x15
-_08140530:
- ldr r0, [r1]
- mov r3, r8
- lsls r1, r3, 1
- adds r0, 0x2C
- adds r0, r1
- strh r2, [r0]
- add sp, 0x8
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81404B8
-
- thumb_func_start sub_814054C
-sub_814054C: @ 814054C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- adds r7, r0, 0
- adds r6, r1, 0
- mov r8, r2
- adds r5, r3, 0
- ldr r0, [sp, 0x34]
- mov r9, r0
- mov r0, sp
- movs r1, 0
- movs r2, 0x9
- bl memset
- movs r1, 0x7
- add r0, sp, 0x8
-_08140572:
- strb r1, [r0]
- subs r0, 0x1
- cmp r0, sp
- bge _08140572
- movs r4, 0
- lsls r2, r7, 1
- lsls r0, r7, 2
- mov r1, r8
- lsls r1, 1
- str r1, [sp, 0x10]
- mov r3, r8
- lsls r1, r3, 2
- ldr r3, _081405E8 @ =gUnknown_8464926
- mov r12, r3
- adds r0, r7
- lsls r0, 2
- adds r0, r7
- mov r10, r0
- adds r2, r7
- add r2, sp
- ldr r3, [sp, 0x10]
- add r3, r8
- add r1, r8
- lsls r1, 2
- add r1, r8
- str r1, [sp, 0xC]
- add r3, sp
-_081405A8:
- mov r1, r10
- adds r0, r6, r1
- add r0, r12
- ldrb r0, [r0]
- strb r0, [r2]
- ldr r1, [sp, 0xC]
- adds r0, r5, r1
- add r0, r12
- ldrb r0, [r0]
- strb r0, [r3]
- adds r6, 0x1
- cmp r6, 0x14
- ble _081405C4
- movs r6, 0
-_081405C4:
- adds r5, 0x1
- cmp r5, 0x14
- ble _081405CC
- movs r5, 0
-_081405CC:
- adds r2, 0x1
- adds r3, 0x1
- adds r4, 0x1
- cmp r4, 0x2
- ble _081405A8
- mov r3, r9
- cmp r3, 0x1
- beq _08140630
- cmp r3, 0x1
- bgt _081405EC
- cmp r3, 0
- beq _081405F4
- b _081406A8
- .align 2, 0
-_081405E8: .4byte gUnknown_8464926
-_081405EC:
- mov r5, r9
- cmp r5, 0x2
- beq _08140680
- b _081406A8
-_081405F4:
- movs r4, 0
-_081405F6:
- mov r1, sp
- adds r0, r1, r4
- ldrb r1, [r0]
- movs r0, 0x1
- bl sub_81408F4
- cmp r0, 0
- bne _081406D2
- adds r4, 0x1
- cmp r4, 0x2
- ble _081405F6
- movs r4, 0
- ldr r3, _0814062C @ =gUnknown_8464890
-_08140610:
- ldrb r0, [r3]
- mov r5, sp
- adds r2, r5, r0
- ldrb r0, [r3, 0x1]
- adds r1, r5, r0
- ldrb r0, [r2]
- ldrb r1, [r1]
- cmp r0, r1
- beq _081406A4
- adds r3, 0x2
- adds r4, 0x1
- cmp r4, 0xE
- ble _08140610
- b _081406D2
- .align 2, 0
-_0814062C: .4byte gUnknown_8464890
-_08140630:
- cmp r7, 0
- beq _0814063A
- mov r0, r8
- cmp r0, 0
- bne _081406A4
-_0814063A:
- cmp r7, 0x1
- beq _08140644
- mov r1, r8
- cmp r1, 0x1
- bne _08140662
-_08140644:
- movs r4, 0
- ldr r3, _0814067C @ =gUnknown_8464890
-_08140648:
- ldrb r0, [r3]
- mov r5, sp
- adds r2, r5, r0
- ldrb r0, [r3, 0x1]
- adds r1, r5, r0
- ldrb r0, [r2]
- ldrb r1, [r1]
- cmp r0, r1
- beq _081406D2
- adds r3, 0x6
- adds r4, 0x3
- cmp r4, 0xE
- ble _08140648
-_08140662:
- movs r4, 0
-_08140664:
- mov r1, sp
- adds r0, r1, r4
- ldrb r1, [r0]
- mov r0, r9
- bl sub_81408F4
- cmp r0, 0
- bne _081406A4
- adds r4, 0x1
- cmp r4, 0x2
- ble _08140664
- b _081406D2
- .align 2, 0
-_0814067C: .4byte gUnknown_8464890
-_08140680:
- cmp r7, 0x2
- beq _0814068A
- mov r3, r8
- cmp r3, 0x2
- bne _081406A8
-_0814068A:
- movs r4, 0
-_0814068C:
- mov r5, sp
- adds r0, r5, r4
- ldrb r1, [r0]
- mov r0, r9
- bl sub_81408F4
- cmp r0, 0
- bne _081406A4
- adds r4, 0x1
- cmp r4, 0x8
- ble _0814068C
- b _081406D2
-_081406A4:
- movs r0, 0x1
- b _081406D4
-_081406A8:
- movs r4, 0
- ldr r5, _081406E4 @ =gUnknown_8464890
-_081406AC:
- ldrb r0, [r5]
- mov r1, sp
- adds r2, r1, r0
- ldrb r0, [r5, 0x1]
- adds r1, r0
- ldrb r0, [r2]
- ldrb r1, [r1]
- cmp r0, r1
- bne _081406CA
- adds r1, r0, 0
- mov r0, r9
- bl sub_81408F4
- cmp r0, 0
- bne _081406A4
-_081406CA:
- adds r5, 0x2
- adds r4, 0x1
- cmp r4, 0xE
- ble _081406AC
-_081406D2:
- movs r0, 0
-_081406D4:
- add sp, 0x14
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_081406E4: .4byte gUnknown_8464890
- thumb_func_end sub_814054C
-
- thumb_func_start sub_81406E8
-sub_81406E8: @ 81406E8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- adds r7, r0, 0
- adds r5, r1, 0
- mov r8, r2
- ldr r0, _081407C8 @ =gUnknown_203F3A0
- ldr r2, [r0]
- movs r1, 0x32
- ldrsh r0, [r2, r1]
- lsls r0, 1
- adds r1, r2, 0
- adds r1, 0x20
- adds r0, r1, r0
- movs r3, 0
- ldrsh r0, [r0, r3]
- adds r6, r0, 0x1
- movs r3, 0x34
- ldrsh r0, [r2, r3]
- lsls r0, 1
- adds r1, r0
- movs r3, 0
- ldrsh r0, [r1, r3]
- adds r3, r0, 0x1
- adds r5, 0x1
- cmp r6, 0x14
- ble _08140726
- movs r6, 0
-_08140726:
- cmp r3, 0x14
- ble _0814072C
- movs r3, 0
-_0814072C:
- cmp r5, 0x14
- ble _08140732
- movs r5, 0
-_08140732:
- movs r4, 0
- lsls r1, r7, 1
- lsls r0, r7, 2
- mov r9, r2
- ldr r2, _081407CC @ =gUnknown_8464926
- mov r10, r2
- adds r1, r7
- add r1, sp
- mov r12, r1
- adds r0, r7
- lsls r0, 2
- adds r0, r7
- str r0, [sp, 0xC]
-_0814074C:
- mov r7, r9
- movs r0, 0x32
- ldrsh r1, [r7, r0]
- lsls r0, r1, 1
- adds r0, r1
- adds r0, r4
- mov r7, sp
- adds r2, r7, r0
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- adds r0, r1
- adds r0, r6, r0
- add r0, r10
- ldrb r0, [r0]
- strb r0, [r2]
- mov r0, r9
- movs r2, 0x34
- ldrsh r1, [r0, r2]
- lsls r0, r1, 1
- adds r0, r1
- adds r0, r4
- adds r2, r7, r0
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- adds r0, r1
- adds r0, r3, r0
- add r0, r10
- ldrb r0, [r0]
- strb r0, [r2]
- ldr r7, [sp, 0xC]
- adds r0, r5, r7
- add r0, r10
- ldrb r0, [r0]
- mov r1, r12
- strb r0, [r1]
- adds r6, 0x1
- cmp r6, 0x14
- ble _0814079E
- movs r6, 0
-_0814079E:
- adds r3, 0x1
- cmp r3, 0x14
- ble _081407A6
- movs r3, 0
-_081407A6:
- adds r5, 0x1
- cmp r5, 0x14
- ble _081407AE
- movs r5, 0
-_081407AE:
- movs r2, 0x1
- add r12, r2
- adds r4, 0x1
- cmp r4, 0x2
- ble _0814074C
- mov r3, r8
- cmp r3, 0x1
- beq _08140828
- cmp r3, 0x1
- bgt _081407D0
- cmp r3, 0
- beq _081407D8
- b _081408A0
- .align 2, 0
-_081407C8: .4byte gUnknown_203F3A0
-_081407CC: .4byte gUnknown_8464926
-_081407D0:
- mov r6, r8
- cmp r6, 0x2
- beq _08140870
- b _081408A0
-_081407D8:
- movs r4, 0
-_081407DA:
- mov r7, sp
- adds r0, r7, r4
- ldrb r1, [r0]
- movs r0, 0x1
- bl sub_81408F4
- cmp r0, 0
- bne _081408DC
- adds r4, 0x1
- cmp r4, 0x2
- ble _081407DA
- movs r4, 0
- ldr r2, _08140824 @ =gUnknown_84648AE
- movs r3, 0
- adds r5, r2, 0x2
-_081407F8:
- ldrb r0, [r2]
- mov r6, sp
- adds r1, r6, r0
- ldrb r0, [r2, 0x1]
- add r0, sp
- ldrb r1, [r1]
- ldrb r0, [r0]
- cmp r1, r0
- bne _08140816
- adds r0, r3, r5
- ldrb r0, [r0]
- add r0, sp
- ldrb r0, [r0]
- cmp r1, r0
- beq _081408DC
-_08140816:
- adds r2, 0x3
- adds r3, 0x3
- adds r4, 0x1
- cmp r4, 0x4
- ble _081407F8
-_08140820:
- movs r0, 0x1
- b _081408DE
- .align 2, 0
-_08140824: .4byte gUnknown_84648AE
-_08140828:
- movs r4, 0
- ldr r5, _0814086C @ =gUnknown_84648AE
-_0814082C:
- ldrb r0, [r5]
- mov r7, sp
- adds r2, r7, r0
- ldrb r0, [r5, 0x1]
- adds r1, r7, r0
- ldrb r0, [r2]
- ldrb r1, [r1]
- cmp r0, r1
- bne _0814084A
- adds r1, r0, 0
- mov r0, r8
- bl sub_81408F4
- cmp r0, 0
- bne _081408DC
-_0814084A:
- adds r5, 0x3
- adds r4, 0x1
- cmp r4, 0x4
- ble _0814082C
- movs r4, 0
-_08140854:
- mov r1, sp
- adds r0, r1, r4
- ldrb r1, [r0]
- mov r0, r8
- bl sub_81408F4
- cmp r0, 0
- bne _08140820
- adds r4, 0x1
- cmp r4, 0x2
- ble _08140854
- b _081408DC
- .align 2, 0
-_0814086C: .4byte gUnknown_84648AE
-_08140870:
- movs r4, 0
- ldr r5, _0814089C @ =gUnknown_84648AE
-_08140874:
- ldrb r0, [r5]
- mov r3, sp
- adds r2, r3, r0
- ldrb r0, [r5, 0x1]
- adds r1, r3, r0
- ldrb r0, [r2]
- ldrb r1, [r1]
- cmp r0, r1
- bne _08140892
- adds r1, r0, 0
- mov r0, r8
- bl sub_81408F4
- cmp r0, 0
- bne _08140820
-_08140892:
- adds r5, 0x3
- adds r4, 0x1
- cmp r4, 0x4
- ble _08140874
- b _081408DC
- .align 2, 0
-_0814089C: .4byte gUnknown_84648AE
-_081408A0:
- movs r4, 0
- ldr r5, _081408F0 @ =gUnknown_84648AE
- adds r7, r5, 0
- movs r6, 0
-_081408A8:
- ldrb r0, [r5]
- mov r1, sp
- adds r2, r1, r0
- adds r0, r7, 0x1
- adds r0, r6, r0
- ldrb r0, [r0]
- add r0, sp
- ldrb r1, [r2]
- ldrb r0, [r0]
- cmp r1, r0
- bne _081408D2
- ldrb r0, [r5, 0x2]
- add r0, sp
- ldrb r0, [r0]
- cmp r1, r0
- bne _081408D2
- mov r0, r8
- bl sub_81408F4
- cmp r0, 0
- bne _08140820
-_081408D2:
- adds r5, 0x3
- adds r6, 0x3
- adds r4, 0x1
- cmp r4, 0x4
- ble _081408A8
-_081408DC:
- movs r0, 0
-_081408DE:
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_081408F0: .4byte gUnknown_84648AE
- thumb_func_end sub_81406E8
-
- thumb_func_start sub_81408F4
-sub_81408F4: @ 81408F4
- push {lr}
- adds r2, r1, 0
- cmp r0, 0x6
- bhi _08140966
- lsls r0, 2
- ldr r1, _08140908 @ =_0814090C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08140908: .4byte _0814090C
- .align 2, 0
-_0814090C:
- .4byte _08140928
- .4byte _08140934
- .4byte _08140934
- .4byte _0814093E
- .4byte _08140944
- .4byte _08140952
- .4byte _0814095C
-_08140928:
- movs r1, 0x4
- eors r1, r2
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
- b _08140968
-_08140934:
- movs r0, 0
- cmp r2, 0x4
- bne _08140968
- movs r0, 0x1
- b _08140968
-_0814093E:
- movs r1, 0
- subs r0, r2, 0x5
- b _08140948
-_08140944:
- movs r1, 0
- subs r0, r2, 0x2
-_08140948:
- cmp r0, 0x1
- bhi _0814094E
- movs r1, 0x1
-_0814094E:
- adds r0, r1, 0
- b _08140968
-_08140952:
- movs r0, 0
- cmp r2, 0x1
- bne _08140968
- movs r0, 0x1
- b _08140968
-_0814095C:
- movs r0, 0
- cmp r2, 0
- bne _08140968
- movs r0, 0x1
- b _08140968
-_08140966:
- movs r0, 0
-_08140968:
- pop {r1}
- bx r1
- thumb_func_end sub_81408F4
-
- thumb_func_start sub_814096C
-sub_814096C: @ 814096C
- push {lr}
- cmp r0, 0x6
- bhi _0814099C
- lsls r0, 2
- ldr r1, _0814097C @ =_08140980
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0814097C: .4byte _08140980
- .align 2, 0
-_08140980:
- .4byte _081409AC
- .4byte _081409A8
- .4byte _081409A4
- .4byte _081409A4
- .4byte _0814099C
- .4byte _081409A0
- .4byte _081409A0
-_0814099C:
- movs r0, 0x1
- b _081409AE
-_081409A0:
- movs r0, 0x3
- b _081409AE
-_081409A4:
- movs r0, 0x4
- b _081409AE
-_081409A8:
- movs r0, 0x5
- b _081409AE
-_081409AC:
- movs r0, 0x6
-_081409AE:
- pop {r1}
- bx r1
- thumb_func_end sub_814096C
-
- thumb_func_start sub_81409B4
-sub_81409B4: @ 81409B4
- push {r4-r6,lr}
- bl Random
- lsls r0, 16
- lsrs r2, r0, 18
- ldr r0, _08140A60 @ =gUnknown_203F3A0
- ldr r0, [r0]
- ldrh r1, [r0, 0x4]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 1
- ldr r1, _08140A64 @ =gUnknown_84648D2
- adds r4, r0, r1
- movs r5, 0
- ldrh r0, [r4]
- cmp r2, r0
- bcc _081409E6
- adds r0, r4, 0
-_081409D8:
- adds r0, 0x2
- adds r5, 0x1
- cmp r5, 0x5
- bgt _081409E6
- ldrh r1, [r0]
- cmp r2, r1
- bcs _081409D8
-_081409E6:
- ldr r6, _08140A60 @ =gUnknown_203F3A0
- ldr r1, [r6]
- ldrh r0, [r1, 0x8]
- cmp r0, 0x4
- bhi _08140A5A
- ldrh r0, [r1, 0xC]
- cmp r0, 0
- bne _08140A22
- bl Random
- ldr r1, _08140A68 @ =0x00003fff
- ands r1, r0
- ldrh r4, [r4, 0xC]
- cmp r1, r4
- bcs _08140A18
- ldr r4, [r6]
- bl Random
- movs r1, 0x1
- ands r1, r0
- movs r0, 0x3C
- cmp r1, 0
- beq _08140A16
- movs r0, 0x5
-_08140A16:
- strh r0, [r4, 0xC]
-_08140A18:
- ldr r0, _08140A60 @ =gUnknown_203F3A0
- ldr r1, [r0]
- ldrh r1, [r1, 0xC]
- cmp r1, 0
- beq _08140A56
-_08140A22:
- cmp r5, 0
- bne _08140A4A
- bl Random
- ldr r1, _08140A68 @ =0x00003fff
- ands r1, r0
- ldr r0, _08140A6C @ =0x00002ccb
- cmp r1, r0
- bhi _08140A4A
- ldr r0, _08140A60 @ =gUnknown_203F3A0
- ldr r4, [r0]
- bl Random
- movs r1, 0x1
- ands r1, r0
- movs r0, 0x3C
- cmp r1, 0
- beq _08140A48
- movs r0, 0x5
-_08140A48:
- strh r0, [r4, 0xC]
-_08140A4A:
- ldr r2, _08140A60 @ =gUnknown_203F3A0
- ldr r1, [r2]
- ldrh r0, [r1, 0xC]
- subs r0, 0x1
- strh r0, [r1, 0xC]
- adds r0, r2, 0
-_08140A56:
- ldr r0, [r0]
- strh r5, [r0, 0x8]
-_08140A5A:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08140A60: .4byte gUnknown_203F3A0
-_08140A64: .4byte gUnknown_84648D2
-_08140A68: .4byte 0x00003fff
-_08140A6C: .4byte 0x00002ccb
- thumb_func_end sub_81409B4
-
- thumb_func_start sub_8140A70
-sub_8140A70: @ 8140A70
- ldr r0, _08140A7C @ =gUnknown_203F3A0
- ldr r1, [r0]
- movs r0, 0
- strh r0, [r1, 0x8]
- bx lr
- .align 2, 0
-_08140A7C: .4byte gUnknown_203F3A0
- thumb_func_end sub_8140A70
-
- thumb_func_start sub_8140A80
-sub_8140A80: @ 8140A80
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0xC
- mov r0, sp
- movs r1, 0
- movs r2, 0x9
- bl memset
- movs r5, 0
- ldr r2, _08140B58 @ =gUnknown_203F3A0
- movs r3, 0
- adds r4, r2, 0
-_08140A9C:
- ldr r0, [r2]
- lsls r1, r5, 2
- adds r0, 0x3C
- adds r0, r1
- str r3, [r0]
- adds r5, 0x1
- cmp r5, 0x4
- ble _08140A9C
- movs r0, 0
- mov r9, r0
- ldr r0, [r4]
- movs r1, 0x20
- ldrsh r4, [r0, r1]
- movs r7, 0x22
- ldrsh r3, [r0, r7]
- movs r1, 0x24
- ldrsh r2, [r0, r1]
- ldr r6, _08140B5C @ =gUnknown_8464926
- movs r7, 0x2A
- adds r7, r6
- mov r8, r7
- mov r1, sp
- movs r0, 0x15
- adds r0, r6
- mov r12, r0
- movs r5, 0x2
-_08140AD0:
- adds r4, 0x1
- cmp r4, 0x14
- ble _08140AD8
- movs r4, 0
-_08140AD8:
- adds r3, 0x1
- cmp r3, 0x14
- ble _08140AE0
- movs r3, 0
-_08140AE0:
- adds r2, 0x1
- cmp r2, 0x14
- ble _08140AE8
- movs r2, 0
-_08140AE8:
- adds r0, r4, r6
- ldrb r0, [r0]
- strb r0, [r1]
- mov r7, r12
- adds r0, r3, r7
- ldrb r0, [r0]
- strb r0, [r1, 0x3]
- mov r7, r8
- adds r0, r2, r7
- ldrb r0, [r0]
- strb r0, [r1, 0x6]
- adds r1, 0x1
- subs r5, 0x1
- cmp r5, 0
- bge _08140AD0
- ldr r0, _08140B58 @ =gUnknown_203F3A0
- ldr r0, [r0]
- adds r0, 0x50
- movs r1, 0
- strh r1, [r0]
- ldr r7, _08140B60 @ =gUnknown_84648BD
- mov r8, r7
- movs r6, 0
- movs r5, 0x4
-_08140B18:
- ldr r0, _08140B58 @ =gUnknown_203F3A0
- ldr r1, [r0]
- mov r0, r8
- adds r0, 0x3
- adds r0, r6, r0
- ldrh r1, [r1, 0xE]
- ldrb r0, [r0]
- cmp r1, r0
- bcc _08140BB6
- ldrb r0, [r7]
- mov r1, sp
- adds r4, r1, r0
- ldrb r1, [r4]
- movs r0, 0x1
- bl sub_81408F4
- cmp r0, 0
- beq _08140B64
- mov r0, r8
- adds r0, 0x1
- adds r0, r6, r0
- ldrb r0, [r0]
- add r0, sp
- ldrb r1, [r0]
- movs r0, 0x2
- bl sub_81408F4
- movs r3, 0x1
- cmp r0, 0
- beq _08140B8E
- movs r3, 0x2
- b _08140B92
- .align 2, 0
-_08140B58: .4byte gUnknown_203F3A0
-_08140B5C: .4byte gUnknown_8464926
-_08140B60: .4byte gUnknown_84648BD
-_08140B64:
- mov r0, r8
- adds r0, 0x1
- adds r0, r6, r0
- ldrb r0, [r0]
- add r0, sp
- ldrb r1, [r4]
- ldrb r0, [r0]
- cmp r1, r0
- bne _08140B8C
- ldrb r0, [r7, 0x2]
- add r0, sp
- ldrb r0, [r0]
- cmp r1, r0
- bne _08140B8C
- adds r0, r1, 0
- bl sub_814096C
- lsls r0, 24
- lsrs r3, r0, 24
- b _08140B8E
-_08140B8C:
- movs r3, 0
-_08140B8E:
- cmp r3, 0
- beq _08140BB0
-_08140B92:
- ldr r0, _08140BD4 @ =gUnknown_203F3A0
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x3C
- adds r0, r6
- movs r1, 0x1
- str r1, [r0]
- adds r2, 0x50
- ldr r1, _08140BD8 @ =gUnknown_8464966
- lsls r0, r3, 1
- adds r0, r1
- ldrh r0, [r0]
- ldrh r1, [r2]
- adds r0, r1
- strh r0, [r2]
-_08140BB0:
- cmp r3, r9
- ble _08140BB6
- mov r9, r3
-_08140BB6:
- adds r7, 0x4
- adds r6, 0x4
- subs r5, 0x1
- cmp r5, 0
- bge _08140B18
- mov r7, r9
- lsls r0, r7, 16
- lsrs r0, 16
- add sp, 0xC
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08140BD4: .4byte gUnknown_203F3A0
-_08140BD8: .4byte gUnknown_8464966
- thumb_func_end sub_8140A80
-
- thumb_func_start sub_8140BDC
-sub_8140BDC: @ 8140BDC
- ldr r0, _08140BE8 @ =gUnknown_203F3A0
- ldr r0, [r0]
- adds r0, 0x50
- ldrh r0, [r0]
- bx lr
- .align 2, 0
-_08140BE8: .4byte gUnknown_203F3A0
- thumb_func_end sub_8140BDC
-
- thumb_func_start sub_8140BEC
-sub_8140BEC: @ 8140BEC
- ldr r0, _08140BF4 @ =gUnknown_203F3A0
- ldr r0, [r0]
- ldrb r0, [r0, 0xE]
- bx lr
- .align 2, 0
-_08140BF4: .4byte gUnknown_203F3A0
- thumb_func_end sub_8140BEC
-
- thumb_func_start sub_8140BF8
-sub_8140BF8: @ 8140BF8
- ldr r1, _08140C08 @ =gUnknown_203F3A0
- ldr r1, [r1]
- lsls r0, 2
- adds r1, 0x3C
- adds r1, r0
- ldr r0, [r1]
- bx lr
- .align 2, 0
-_08140C08: .4byte gUnknown_203F3A0
- thumb_func_end sub_8140BF8
-
- thumb_func_start sub_8140C0C
-sub_8140C0C: @ 8140C0C
- push {r4,r5,lr}
- movs r5, 0
- ldr r4, _08140C3C @ =gUnknown_84655B0
-_08140C12:
- adds r0, r4, 0
- bl LoadCompressedSpriteSheet
- adds r4, 0x8
- adds r5, 0x1
- cmp r5, 0x2
- bls _08140C12
- ldr r0, _08140C40 @ =gUnknown_84655C8
- bl LoadSpritePalettes
- ldr r4, _08140C44 @ =gUnknown_203F3A4
- movs r0, 0x74
- bl Alloc
- str r0, [r4]
- cmp r0, 0
- beq _08140C48
- bl sub_8140C6C
- movs r0, 0x1
- b _08140C4A
- .align 2, 0
-_08140C3C: .4byte gUnknown_84655B0
-_08140C40: .4byte gUnknown_84655C8
-_08140C44: .4byte gUnknown_203F3A4
-_08140C48:
- movs r0, 0
-_08140C4A:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8140C0C
-
- thumb_func_start sub_8140C50
-sub_8140C50: @ 8140C50
- push {r4,lr}
- ldr r4, _08140C68 @ =gUnknown_203F3A4
- ldr r0, [r4]
- cmp r0, 0
- beq _08140C62
- bl Free
- movs r0, 0
- str r0, [r4]
-_08140C62:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08140C68: .4byte gUnknown_203F3A4
- thumb_func_end sub_8140C50
-
- thumb_func_start sub_8140C6C
-sub_8140C6C: @ 8140C6C
- push {r4-r6,lr}
- adds r4, r0, 0
- movs r2, 0
- movs r5, 0
- adds r6, r4, 0
- adds r6, 0xC
-_08140C78:
- lsls r0, r2, 2
- adds r1, r4, r0
- str r5, [r1]
- adds r3, r2, 0x1
- adds r0, r2
- lsls r0, 2
- movs r1, 0x4
- adds r0, r6
- adds r0, 0x10
-_08140C8A:
- str r5, [r0]
- subs r0, 0x4
- subs r1, 0x1
- cmp r1, 0
- bge _08140C8A
- adds r2, r3, 0
- cmp r2, 0x2
- ble _08140C78
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8140C6C
-
- thumb_func_start sub_8140CA0
-sub_8140CA0: @ 8140CA0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- movs r7, 0
-_08140CAE:
- movs r6, 0
- lsls r0, r7, 2
- adds r1, r7, 0x1
- str r1, [sp]
- adds r0, r7
- mov r10, r0
- mov r2, r10
- lsls r2, 2
- mov r8, r2
- movs r3, 0xB0
- lsls r3, 14
- mov r9, r3
-_08140CC6:
- mov r0, r10
- lsls r1, r0, 19
- movs r2, 0xA0
- lsls r2, 15
- adds r1, r2
- mov r3, r9
- asrs r2, r3, 16
- ldr r0, _08140D64 @ =gUnknown_84657E4
- asrs r1, 16
- movs r3, 0x2
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _08140D68 @ =gUnknown_8464926
- mov r3, r8
- adds r1, r3, r7
- adds r1, r6, r1
- adds r1, r2
- ldrb r4, [r1]
- lsls r5, r0, 4
- adds r5, r0
- lsls r5, 2
- ldr r0, _08140D6C @ =gSprites
- adds r5, r0
- adds r0, r5, 0
- adds r1, r4, 0
- bl StartSpriteAnim
- ldr r0, _08140D70 @ =gUnknown_8465608
- lsls r4, 1
- adds r4, r0
- ldrh r0, [r4]
- bl IndexOfSpritePaletteTag
- lsls r0, 4
- ldrb r2, [r5, 0x5]
- movs r1, 0xF
- ands r1, r2
- orrs r1, r0
- strb r1, [r5, 0x5]
- movs r0, 0
- strh r7, [r5, 0x2E]
- strh r6, [r5, 0x30]
- strh r6, [r5, 0x32]
- strh r0, [r5, 0x34]
- ldrb r0, [r5, 0x3]
- movs r2, 0x3F
- negs r2, r2
- adds r1, r2, 0
- ands r0, r1
- strb r0, [r5, 0x3]
- ldr r0, _08140D74 @ =gUnknown_203F3A4
- ldr r2, [r0]
- lsls r1, r6, 2
- add r1, r8
- adds r0, r2, 0
- adds r0, 0xC
- adds r0, r1
- str r5, [r0]
- ldr r0, _08140D78 @ =0x07000006
- str r0, [r2, 0x70]
- movs r3, 0xC0
- lsls r3, 13
- add r9, r3
- adds r6, 0x1
- cmp r6, 0x4
- ble _08140CC6
- ldr r7, [sp]
- cmp r7, 0x2
- ble _08140CAE
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08140D64: .4byte gUnknown_84657E4
-_08140D68: .4byte gUnknown_8464926
-_08140D6C: .4byte gSprites
-_08140D70: .4byte gUnknown_8465608
-_08140D74: .4byte gUnknown_203F3A4
-_08140D78: .4byte 0x07000006
- thumb_func_end sub_8140CA0
-
- thumb_func_start sub_8140D7C
-sub_8140D7C: @ 8140D7C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- adds r3, r0, 0
- movs r2, 0
- ldr r0, _08140E34 @ =gUnknown_203F3A4
- mov r8, r0
-_08140D90:
- movs r4, 0
- ldrsh r6, [r3, r4]
- movs r4, 0
- ldrsh r0, [r1, r4]
- lsls r0, 3
- mov r10, r0
- lsls r0, r2, 2
- adds r3, 0x2
- str r3, [sp]
- adds r1, 0x2
- str r1, [sp, 0x4]
- adds r1, r2, 0x1
- str r1, [sp, 0x8]
- adds r0, r2
- lsls r0, 2
- adds r2, r0
- mov r9, r2
- adds r5, r0, 0
- movs r7, 0x4
-_08140DB6:
- mov r2, r8
- ldr r1, [r2]
- adds r1, 0xC
- adds r1, r5
- ldr r0, [r1]
- mov r3, r10
- strh r3, [r0, 0x26]
- ldr r2, _08140E38 @ =gUnknown_8464926
- mov r4, r9
- adds r0, r6, r4
- adds r0, r2
- ldrb r4, [r0]
- ldr r0, [r1]
- adds r1, r4, 0
- bl StartSpriteAnim
- mov r1, r8
- ldr r0, [r1]
- adds r0, 0xC
- adds r0, r5
- ldr r0, [r0]
- adds r1, r4, 0
- bl StartSpriteAnim
- ldr r0, _08140E3C @ =gUnknown_8465608
- lsls r4, 1
- adds r4, r0
- ldrh r0, [r4]
- bl IndexOfSpritePaletteTag
- mov r2, r8
- ldr r1, [r2]
- adds r1, 0xC
- adds r1, r5
- ldr r3, [r1]
- lsls r0, 4
- ldrb r2, [r3, 0x5]
- movs r1, 0xF
- ands r1, r2
- orrs r1, r0
- strb r1, [r3, 0x5]
- adds r6, 0x1
- cmp r6, 0x14
- ble _08140E10
- movs r6, 0
-_08140E10:
- adds r5, 0x4
- subs r7, 0x1
- cmp r7, 0
- bge _08140DB6
- ldr r3, [sp]
- ldr r1, [sp, 0x4]
- ldr r2, [sp, 0x8]
- cmp r2, 0x2
- ble _08140D90
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08140E34: .4byte gUnknown_203F3A4
-_08140E38: .4byte gUnknown_8464926
-_08140E3C: .4byte gUnknown_8465608
- thumb_func_end sub_8140D7C
-
- thumb_func_start sub_8140E40
-sub_8140E40: @ 8140E40
- push {lr}
- ldr r0, _08140E68 @ =0x04000006
- ldrh r0, [r0]
- adds r3, r0, 0
- subs r3, 0x2B
- cmp r3, 0x53
- bhi _08140E7C
- ldr r0, _08140E6C @ =gUnknown_203F3A4
- ldr r0, [r0]
- ldr r2, [r0, 0x70]
- ldr r1, _08140E70 @ =gUnknown_8465616
- lsls r0, r3, 1
- adds r0, r1
- ldrh r0, [r0]
- strh r0, [r2]
- ldr r1, _08140E74 @ =0x04000054
- ldr r0, _08140E78 @ =gUnknown_84656D6
- adds r0, r3, r0
- ldrb r0, [r0]
- b _08140E8E
- .align 2, 0
-_08140E68: .4byte 0x04000006
-_08140E6C: .4byte gUnknown_203F3A4
-_08140E70: .4byte gUnknown_8465616
-_08140E74: .4byte 0x04000054
-_08140E78: .4byte gUnknown_84656D6
-_08140E7C:
- ldr r0, _08140E94 @ =gUnknown_203F3A4
- ldr r0, [r0]
- ldr r1, [r0, 0x70]
- movs r2, 0x80
- lsls r2, 1
- adds r0, r2, 0
- strh r0, [r1]
- ldr r1, _08140E98 @ =0x04000054
- movs r0, 0
-_08140E8E:
- strh r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_08140E94: .4byte gUnknown_203F3A4
-_08140E98: .4byte 0x04000054
- thumb_func_end sub_8140E40
-
- thumb_func_start sub_8140E9C
-sub_8140E9C: @ 8140E9C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- movs r5, 0
- ldr r0, _08140F20 @ =gUnknown_846587C
- mov r10, r0
- ldr r0, _08140F24 @ =gUnknown_203F3A4
- mov r9, r0
- ldr r0, _08140F28 @ =gSprites
- mov r8, r0
- movs r7, 0x85
- lsls r7, 16
- movs r6, 0xAA
- lsls r6, 15
-_08140EBC:
- asrs r1, r6, 16
- mov r0, r10
- movs r2, 0x1E
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r2, r0, 24
- mov r0, r9
- ldr r1, [r0]
- lsls r4, r5, 2
- adds r1, 0x48
- adds r1, r4
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- add r0, r8
- str r0, [r1]
- asrs r1, r7, 16
- mov r0, r10
- movs r2, 0x1E
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r2, r0, 24
- mov r0, r9
- ldr r1, [r0]
- adds r1, 0x58
- adds r1, r4
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- add r0, r8
- str r0, [r1]
- movs r0, 0xE0
- lsls r0, 11
- adds r7, r0
- adds r6, r0
- adds r5, 0x1
- cmp r5, 0x3
- ble _08140EBC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08140F20: .4byte gUnknown_846587C
-_08140F24: .4byte gUnknown_203F3A4
-_08140F28: .4byte gSprites
- thumb_func_end sub_8140E9C
-
- thumb_func_start sub_8140F2C
-sub_8140F2C: @ 8140F2C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- bl GetCoins
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- bl sub_8140BDC
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- movs r6, 0xFA
- lsls r6, 2
- movs r7, 0
- ldr r0, _08140FC0 @ =gUnknown_203F3A4
- mov r10, r0
-_08140F54:
- mov r0, r9
- adds r1, r6, 0
- bl __divsi3
- adds r4, r0, 0
- mov r1, r10
- ldr r0, [r1]
- lsls r5, r7, 2
- adds r0, 0x48
- adds r0, r5
- ldr r0, [r0]
- lsls r1, r4, 24
- lsrs r1, 24
- bl StartSpriteAnim
- adds r0, r4, 0
- muls r0, r6
- mov r1, r9
- subs r1, r0
- mov r9, r1
- mov r0, r8
- adds r1, r6, 0
- bl __divsi3
- adds r4, r0, 0
- mov r1, r10
- ldr r0, [r1]
- adds r0, 0x58
- adds r0, r5
- ldr r0, [r0]
- lsls r1, r4, 24
- lsrs r1, 24
- bl StartSpriteAnim
- adds r0, r4, 0
- muls r0, r6
- mov r1, r8
- subs r1, r0
- mov r8, r1
- adds r0, r6, 0
- movs r1, 0xA
- bl __divsi3
- adds r6, r0, 0
- adds r7, 0x1
- cmp r7, 0x3
- ble _08140F54
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08140FC0: .4byte gUnknown_203F3A4
- thumb_func_end sub_8140F2C
-
- thumb_func_start sub_8140FC4
-sub_8140FC4: @ 8140FC4
- push {r4-r6,lr}
- ldr r6, _08141014 @ =gUnknown_84658D8
- adds r0, r6, 0
- movs r1, 0x10
- movs r2, 0x88
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r5, _08141018 @ =gUnknown_203F3A4
- ldr r1, [r5]
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- ldr r4, _0814101C @ =gSprites
- adds r0, r4
- str r0, [r1, 0x68]
- adds r0, r6, 0
- movs r1, 0xE0
- movs r2, 0x88
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r1, [r5]
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r4
- str r0, [r1, 0x6C]
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r2, 0x1
- orrs r1, r2
- strb r1, [r0]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08141014: .4byte gUnknown_84658D8
-_08141018: .4byte gUnknown_203F3A4
-_0814101C: .4byte gSprites
- thumb_func_end sub_8140FC4
-
- thumb_func_start sub_8141020
-sub_8141020: @ 8141020
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r4, 0
- ldr r6, _08141048 @ =gUnknown_203F3A4
-_0814102A:
- ldr r0, [r6]
- lsls r1, r4, 2
- adds r0, 0x68
- adds r0, r1
- ldr r0, [r0]
- adds r1, r5, 0
- bl StartSpriteAnim
- adds r4, 0x1
- cmp r4, 0x1
- ble _0814102A
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08141048: .4byte gUnknown_203F3A4
- thumb_func_end sub_8141020
-
- thumb_func_start sub_814104C
-sub_814104C: @ 814104C
- push {r4,lr}
- ldr r0, _0814108C @ =0x0000285c
- bl Alloc
- adds r4, r0, 0
- cmp r4, 0
- beq _08141082
- ldr r2, _08141090 @ =sub_81410CC
- movs r1, 0
- adds r0, r4, 0
- adds r0, 0x1C
-_08141062:
- strb r1, [r0, 0x3]
- subs r0, 0x4
- cmp r0, r4
- bge _08141062
- movs r0, 0
- str r0, [r4, 0x28]
- adds r0, r2, 0
- movs r1, 0x2
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- adds r2, r4, 0
- bl SetWordTaskArg
-_08141082:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0814108C: .4byte 0x0000285c
-_08141090: .4byte sub_81410CC
- thumb_func_end sub_814104C
-
- thumb_func_start sub_8141094
-sub_8141094: @ 8141094
- push {r4,lr}
- ldr r4, _081410C8 @ =sub_81410CC
- adds r0, r4, 0
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- beq _081410BA
- bl sub_814112C
- bl Free
- adds r0, r4, 0
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
-_081410BA:
- bl sub_8140C50
- bl FreeAllWindowBuffers
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_081410C8: .4byte sub_81410CC
- thumb_func_end sub_8141094
-
- thumb_func_start sub_81410CC
-sub_81410CC: @ 81410CC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- bl GetWordTaskArg
- adds r6, r0, 0
- ldr r0, _08141114 @ =gUnknown_84658F0
- mov r8, r0
- adds r4, r6, 0x2
- adds r5, r6, 0
- movs r7, 0x7
-_081410E8:
- ldrb r0, [r4, 0x1]
- cmp r0, 0
- beq _08141100
- ldrh r0, [r5]
- lsls r0, 2
- add r0, r8
- ldr r2, [r0]
- adds r0, r4, 0
- adds r1, r6, 0
- bl _call_via_r2
- strb r0, [r4, 0x1]
-_08141100:
- adds r4, 0x4
- adds r5, 0x4
- subs r7, 0x1
- cmp r7, 0
- bge _081410E8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08141114: .4byte gUnknown_84658F0
- thumb_func_end sub_81410CC
-
- thumb_func_start sub_8141118
-sub_8141118: @ 8141118
- push {lr}
- bl TransferPlttBuffer
- bl LoadOam
- bl ProcessSpriteCopyRequests
- pop {r0}
- bx r0
- thumb_func_end sub_8141118
-
- thumb_func_start sub_814112C
-sub_814112C: @ 814112C
- push {lr}
- ldr r0, _08141144 @ =sub_81410CC
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- bl GetWordTaskArg
- pop {r1}
- bx r1
- .align 2, 0
-_08141144: .4byte sub_81410CC
- thumb_func_end sub_814112C
-
- thumb_func_start sub_8141148
-sub_8141148: @ 8141148
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 24
- lsrs r5, 24
- bl sub_814112C
- adds r1, r0, 0
- lsls r5, 2
- adds r5, r1, r5
- movs r0, 0
- strh r4, [r5]
- strb r0, [r5, 0x2]
- ldr r0, _0814117C @ =gUnknown_84658F0
- lsls r4, 2
- adds r4, r0
- adds r0, r5, 0x2
- ldr r2, [r4]
- bl _call_via_r2
- strb r0, [r5, 0x3]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0814117C: .4byte gUnknown_84658F0
- thumb_func_end sub_8141148
-
- thumb_func_start sub_8141180
-sub_8141180: @ 8141180
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_814112C
- lsls r4, 2
- adds r0, r4
- ldrb r0, [r0, 0x3]
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8141180
-
- thumb_func_start sub_8141198
-sub_8141198: @ 8141198
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x14
- adds r7, r0, 0
- mov r8, r1
- ldrb r6, [r7]
- cmp r6, 0x1
- beq _081411D0
- cmp r6, 0x1
- bgt _081411B4
- cmp r6, 0
- beq _081411C2
- b _08141450
-_081411B4:
- cmp r6, 0x2
- bne _081411BA
- b _081413E4
-_081411BA:
- cmp r6, 0x3
- bne _081411C0
- b _08141436
-_081411C0:
- b _08141450
-_081411C2:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0x10
- movs r2, 0
- bl BlendPalettes
- b _0814142E
-_081411D0:
- movs r0, 0
- bl SetVBlankCallback
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- movs r1, 0xE0
- lsls r1, 19
- movs r2, 0x80
- lsls r2, 3
- movs r0, 0
- movs r3, 0x1
- bl RequestDma3Fill
- movs r1, 0xC0
- lsls r1, 19
- movs r0, 0
- movs r2, 0x20
- movs r3, 0x1
- bl RequestDma3Fill
- ldr r1, _0814139C @ =0x0600c000
- movs r0, 0
- movs r2, 0x20
- movs r3, 0x1
- bl RequestDma3Fill
- movs r0, 0
- movs r1, 0
- bl SetGpuReg
- bl ResetBgPositions
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r1, _081413A0 @ =gUnknown_8466B10
- movs r0, 0
- movs r2, 0x4
- bl InitBgsFromTemplates
- ldr r0, _081413A4 @ =gUnknown_8466B20
- bl InitWindows
- ldr r1, _081413A8 @ =0x0000205c
- add r1, r8
- movs r0, 0x3
- bl SetBgTilemapBuffer
- movs r4, 0x20
- str r4, [sp]
- str r4, [sp, 0x4]
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
- bl ResetTempTileDataBuffers
- ldr r1, _081413AC @ =gUnknown_84659D0
- movs r5, 0
- str r5, [sp]
- movs r0, 0x2
- movs r2, 0
- movs r3, 0
- bl DecompressAndCopyTileDataToVram
- ldr r1, _081413B0 @ =gUnknown_846653C
- str r5, [sp]
- movs r0, 0x2
- movs r2, 0
- movs r3, 0xC0
- bl DecompressAndCopyTileDataToVram
- ldr r1, _081413B4 @ =0x0000185c
- add r1, r8
- movs r0, 0x2
- bl SetBgTilemapBuffer
- ldr r1, _081413B8 @ =gUnknown_84661D4
- movs r0, 0x2
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBuffer
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- ldr r0, _081413BC @ =gUnknown_8465930
- movs r1, 0
- movs r2, 0xA0
- bl LoadPalette
- ldr r0, _081413C0 @ =gUnknown_84664BC
- movs r1, 0x50
- movs r2, 0x20
- bl LoadPalette
- ldr r0, _081413C4 @ =gUnknown_84665C0
- movs r1, 0x70
- movs r2, 0x60
- bl LoadPalette
- ldr r1, _081413C8 @ =0x00007fde
- add r0, sp, 0xC
- strh r1, [r0]
- movs r1, 0
- movs r2, 0x2
- bl LoadPalette
- movs r0, 0
- movs r1, 0xA
- movs r2, 0xD0
- bl LoadUserWindowBorderGfx
- movs r0, 0
- movs r1, 0x1
- movs r2, 0xF0
- bl sub_814FDA0
- ldr r1, _081413CC @ =0x0000085c
- add r1, r8
- movs r0, 0
- bl SetBgTilemapBuffer
- str r4, [sp]
- movs r0, 0x1E
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0x2
- bl FillBgTilemapBufferRect_Palette0
- ldr r1, _081413D0 @ =gUnknown_8466620
- str r5, [sp]
- movs r0, 0x1
- movs r2, 0
- movs r3, 0
- bl DecompressAndCopyTileDataToVram
- ldr r1, _081413D4 @ =gUnknown_8466998
- str r6, [sp]
- movs r0, 0x1
- movs r2, 0
- movs r3, 0
- bl DecompressAndCopyTileDataToVram
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- movs r0, 0x2
- bl stdpal_get
- movs r1, 0xE0
- movs r2, 0x20
- bl LoadPalette
- movs r0, 0x1
- movs r1, 0xFF
- bl FillWindowPixelBuffer
- movs r0, 0x1
- bl PutWindowTilemap
- ldr r4, _081413D8 @ =gUnknown_841B779
- movs r0, 0
- adds r1, r4, 0
- movs r2, 0
- bl GetStringWidth
- movs r2, 0xEC
- subs r2, r0
- add r1, sp, 0x10
- movs r0, 0xF
- strb r0, [r1]
- strb r6, [r1, 0x1]
- movs r0, 0x2
- strb r0, [r1, 0x2]
- lsls r2, 24
- lsrs r2, 24
- str r1, [sp]
- str r5, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0
- movs r3, 0
- bl AddTextPrinterParameterized3
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- movs r1, 0x83
- lsls r1, 5
- movs r0, 0
- bl SetGpuRegBits
- movs r0, 0x50
- movs r1, 0xF8
- bl SetGpuReg
- bl sub_8140C0C
- bl sub_8140CA0
- bl sub_8140E9C
- bl sub_8140FC4
- bl sub_8140F2C
- movs r0, 0x1
- negs r0, r0
- movs r1, 0x10
- movs r2, 0
- bl BlendPalettes
- ldr r0, _081413DC @ =sub_8141118
- bl SetVBlankCallback
- ldr r0, _081413E0 @ =sub_8140E40
- bl SetHBlankCallback
- b _0814142E
- .align 2, 0
-_0814139C: .4byte 0x0600c000
-_081413A0: .4byte gUnknown_8466B10
-_081413A4: .4byte gUnknown_8466B20
-_081413A8: .4byte 0x0000205c
-_081413AC: .4byte gUnknown_84659D0
-_081413B0: .4byte gUnknown_846653C
-_081413B4: .4byte 0x0000185c
-_081413B8: .4byte gUnknown_84661D4
-_081413BC: .4byte gUnknown_8465930
-_081413C0: .4byte gUnknown_84664BC
-_081413C4: .4byte gUnknown_84665C0
-_081413C8: .4byte 0x00007fde
-_081413CC: .4byte 0x0000085c
-_081413D0: .4byte gUnknown_8466620
-_081413D4: .4byte gUnknown_8466998
-_081413D8: .4byte gUnknown_841B779
-_081413DC: .4byte sub_8141118
-_081413E0: .4byte sub_8140E40
-_081413E4:
- bl FreeTempTileDataBuffersIfPossible
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- bne _08141450
- movs r0, 0
- bl ShowBg
- movs r0, 0x3
- bl ShowBg
- movs r0, 0x2
- bl ShowBg
- movs r0, 0x1
- bl HideBg
- bl sub_8141B34
- 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
- movs r0, 0x3
- bl EnableInterrupts
-_0814142E:
- ldrb r0, [r7]
- adds r0, 0x1
- strb r0, [r7]
- b _08141450
-_08141436:
- bl UpdatePaletteFade
- ldr r0, _0814144C @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08141450
- movs r0, 0
- b _08141452
- .align 2, 0
-_0814144C: .4byte gPaletteFade
-_08141450:
- movs r0, 0x1
-_08141452:
- add sp, 0x14
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8141198
-
- thumb_func_start sub_8141460
-sub_8141460: @ 8141460
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- ldrb r0, [r4]
- cmp r0, 0
- beq _08141472
- cmp r0, 0x1
- beq _0814148A
- b _081414A0
-_08141472:
- movs r1, 0x1
- negs r1, r1
- str r0, [sp]
- adds r0, r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- b _081414A0
-_0814148A:
- ldr r0, _0814149C @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _081414A0
- movs r0, 0
- b _081414A2
- .align 2, 0
-_0814149C: .4byte gPaletteFade
-_081414A0:
- movs r0, 0x1
-_081414A2:
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8141460
-
- thumb_func_start sub_81414AC
-sub_81414AC: @ 81414AC
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4]
- cmp r0, 0
- beq _081414BC
- cmp r0, 0x1
- beq _081414D4
- b _081414E2
-_081414BC:
- movs r0, 0x2
- bl GetBgTilemapBuffer
- bl sub_8141834
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- b _081414E2
-_081414D4:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _081414E2
- movs r0, 0
- b _081414E4
-_081414E2:
- movs r0, 0x1
-_081414E4:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81414AC
-
- thumb_func_start sub_81414EC
-sub_81414EC: @ 81414EC
- push {lr}
- movs r0, 0x1
- bl sub_8141020
- movs r0, 0
- pop {r1}
- bx r1
- thumb_func_end sub_81414EC
-
- thumb_func_start sub_81414FC
-sub_81414FC: @ 81414FC
- push {lr}
- movs r0, 0x2
- bl sub_8141020
- ldr r0, _08141514 @ =sub_814191C
- movs r1, 0x3
- bl CreateTask
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_08141514: .4byte sub_814191C
- thumb_func_end sub_81414FC
-
- thumb_func_start sub_8141518
-sub_8141518: @ 8141518
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4]
- cmp r0, 0
- beq _08141528
- cmp r0, 0x1
- beq _08141534
- b _08141550
-_08141528:
- bl sub_8141AB0
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- b _08141550
-_08141534:
- ldr r0, _0814154C @ =sub_814191C
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- bne _08141550
- movs r0, 0
- bl sub_8141020
- movs r0, 0
- b _08141552
- .align 2, 0
-_0814154C: .4byte sub_814191C
-_08141550:
- movs r0, 0x1
-_08141552:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8141518
-
- thumb_func_start sub_8141558
-sub_8141558: @ 8141558
- push {lr}
- movs r0, 0x3
- bl sub_8141020
- movs r0, 0
- pop {r1}
- bx r1
- thumb_func_end sub_8141558
-
- thumb_func_start sub_8141568
-sub_8141568: @ 8141568
- push {lr}
- movs r0, 0
- bl sub_8141020
- movs r0, 0
- pop {r1}
- bx r1
- thumb_func_end sub_8141568
-
- thumb_func_start sub_8141578
-sub_8141578: @ 8141578
- push {lr}
- bl sub_8140F2C
- movs r0, 0
- pop {r1}
- bx r1
- thumb_func_end sub_8141578
-
- thumb_func_start sub_8141584
-sub_8141584: @ 8141584
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4]
- cmp r0, 0
- beq _08141594
- cmp r0, 0x1
- beq _081415B0
- b _081415BE
-_08141594:
- ldr r0, _081415AC @ =gUnknown_841B747
- bl sub_81417E4
- movs r0, 0
- movs r1, 0x3
- bl CopyWindowToVram
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- b _081415BE
- .align 2, 0
-_081415AC: .4byte gUnknown_841B747
-_081415B0:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _081415BE
- movs r0, 0
- b _081415C0
-_081415BE:
- movs r0, 0x1
-_081415C0:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8141584
-
- thumb_func_start sub_81415C8
-sub_81415C8: @ 81415C8
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4]
- cmp r0, 0
- beq _081415D8
- cmp r0, 0x1
- beq _081415F8
- b _08141606
-_081415D8:
- ldr r0, _081415F4 @ =gUnknown_841B76B
- bl sub_81417E4
- movs r0, 0
- bl sub_8141AD8
- movs r0, 0
- movs r1, 0x3
- bl CopyWindowToVram
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- b _08141606
- .align 2, 0
-_081415F4: .4byte gUnknown_841B76B
-_081415F8:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _08141606
- movs r0, 0
- b _08141608
-_08141606:
- movs r0, 0x1
-_08141608:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81415C8
-
- thumb_func_start sub_8141610
-sub_8141610: @ 8141610
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4]
- cmp r0, 0
- beq _08141620
- cmp r0, 0x1
- beq _08141638
- b _08141646
-_08141620:
- bl sub_8141828
- bl sub_8141B18
- movs r0, 0
- movs r1, 0x3
- bl CopyWindowToVram
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- b _08141646
-_08141638:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _08141646
- movs r0, 0
- b _08141648
-_08141646:
- movs r0, 0x1
-_08141648:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8141610
-
- thumb_func_start sub_8141650
-sub_8141650: @ 8141650
- push {r4,lr}
- adds r4, r0, 0
- ldrb r2, [r4]
- cmp r2, 0
- beq _08141660
- cmp r2, 0x1
- beq _08141678
- b _08141686
-_08141660:
- adds r0, r1, 0
- adds r0, 0x20
- ldrb r0, [r0]
- bl sub_8141BA0
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- b _08141686
-_08141678:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _08141686
- movs r0, 0
- b _08141688
-_08141686:
- movs r0, 0x1
-_08141688:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8141650
-
- thumb_func_start sub_8141690
-sub_8141690: @ 8141690
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4]
- cmp r0, 0
- beq _081416A0
- cmp r0, 0x1
- beq _081416B2
- b _081416C0
-_081416A0:
- bl sub_8141BE4
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- b _081416C0
-_081416B2:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _081416C0
- movs r0, 0
- b _081416C2
-_081416C0:
- movs r0, 0x1
-_081416C2:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8141690
-
- thumb_func_start sub_81416C8
-sub_81416C8: @ 81416C8
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r5, r1, 0
- ldrb r4, [r6]
- cmp r4, 0x1
- beq _08141724
- cmp r4, 0x1
- bgt _081416DE
- cmp r4, 0
- beq _081416E4
- b _0814175A
-_081416DE:
- cmp r4, 0x2
- beq _08141756
- b _0814175A
-_081416E4:
- movs r1, 0x80
- lsls r1, 6
- movs r0, 0
- bl SetGpuRegBits
- movs r0, 0x48
- movs r1, 0x3F
- bl SetGpuReg
- movs r0, 0x4A
- movs r1, 0x3D
- bl SetGpuReg
- movs r0, 0x40
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x42
- movs r1, 0xA0
- bl SetGpuReg
- movs r0, 0x1
- bl ShowBg
- movs r0, 0x6
- bl PlaySE
- str r4, [r5, 0x24]
- ldrb r0, [r6]
- adds r0, 0x1
- strb r0, [r6]
- b _0814175A
-_08141724:
- ldr r0, [r5, 0x24]
- adds r0, 0x10
- str r0, [r5, 0x24]
- cmp r0, 0xFF
- ble _0814173A
- movs r0, 0x80
- lsls r0, 1
- str r0, [r5, 0x24]
- ldrb r0, [r6]
- adds r0, 0x1
- strb r0, [r6]
-_0814173A:
- ldr r0, [r5, 0x24]
- movs r1, 0x80
- lsls r1, 1
- subs r1, r0
- lsls r1, 8
- movs r0, 0x1
- movs r2, 0
- bl ChangeBgX
- ldrh r1, [r5, 0x24]
- movs r0, 0x40
- bl SetGpuReg
- b _0814175A
-_08141756:
- movs r0, 0
- b _0814175C
-_0814175A:
- movs r0, 0x1
-_0814175C:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_81416C8
-
- thumb_func_start sub_8141764
-sub_8141764: @ 8141764
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4]
- cmp r0, 0x1
- beq _08141790
- cmp r0, 0x1
- bgt _0814177A
- cmp r0, 0
- beq _08141784
- b _081417DC
-_0814177A:
- cmp r0, 0x2
- beq _081417C0
- cmp r0, 0x3
- beq _081417D8
- b _081417DC
-_08141784:
- movs r0, 0x6
- bl PlaySE
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
-_08141790:
- ldr r0, [r5, 0x24]
- subs r0, 0x10
- str r0, [r5, 0x24]
- cmp r0, 0
- bgt _081417A4
- movs r0, 0
- str r0, [r5, 0x24]
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
-_081417A4:
- ldr r0, [r5, 0x24]
- movs r1, 0x80
- lsls r1, 1
- subs r1, r0
- lsls r1, 8
- movs r0, 0x1
- movs r2, 0
- bl ChangeBgX
- ldrh r1, [r5, 0x24]
- movs r0, 0x40
- bl SetGpuReg
- b _081417DC
-_081417C0:
- movs r0, 0x1
- bl HideBg
- movs r1, 0x80
- lsls r1, 6
- movs r0, 0
- bl ClearGpuRegBits
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- b _081417DC
-_081417D8:
- movs r0, 0
- b _081417DE
-_081417DC:
- movs r0, 0x1
-_081417DE:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8141764
-
- thumb_func_start sub_81417E4
-sub_81417E4: @ 81417E4
- push {r4,lr}
- sub sp, 0x14
- adds r4, r0, 0
- movs r0, 0
- movs r1, 0x11
- bl FillWindowPixelBuffer
- movs r0, 0
- bl PutWindowTilemap
- movs r0, 0
- movs r1, 0x1
- movs r2, 0xF
- bl DrawTextBorderOuter
- movs r1, 0x2
- str r1, [sp]
- movs r0, 0xFF
- str r0, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0x8]
- movs r0, 0x1
- str r0, [sp, 0xC]
- str r1, [sp, 0x10]
- movs r0, 0
- adds r2, r4, 0
- movs r3, 0x1
- bl AddTextPrinterParameterized5
- add sp, 0x14
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81417E4
-
- thumb_func_start sub_8141828
-sub_8141828: @ 8141828
- push {lr}
- movs r0, 0
- bl rbox_fill_rectangle
- pop {r0}
- bx r0
- thumb_func_end sub_8141828
-
- thumb_func_start sub_8141834
-sub_8141834: @ 8141834
- push {r4,lr}
- adds r4, r0, 0
- bl sub_8140BEC
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081418B4
- cmp r0, 0x1
- bgt _0814184E
- cmp r0, 0
- beq _08141858
- b _081418BE
-_0814184E:
- cmp r0, 0x2
- beq _081418A0
- cmp r0, 0x3
- beq _0814188C
- b _081418BE
-_08141858:
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x4
- bl sub_81418C4
- adds r0, r4, 0
- movs r1, 0x1
- movs r2, 0x4
- bl sub_81418C4
- adds r0, r4, 0
- movs r1, 0x2
- movs r2, 0x4
- bl sub_81418C4
- adds r0, r4, 0
- movs r1, 0x3
- movs r2, 0x4
- bl sub_81418C4
- adds r0, r4, 0
- movs r1, 0x4
- movs r2, 0x4
- bl sub_81418C4
- b _081418BE
-_0814188C:
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x5
- bl sub_81418C4
- adds r0, r4, 0
- movs r1, 0x4
- movs r2, 0x5
- bl sub_81418C4
-_081418A0:
- adds r0, r4, 0
- movs r1, 0x1
- movs r2, 0x5
- bl sub_81418C4
- adds r0, r4, 0
- movs r1, 0x3
- movs r2, 0x5
- bl sub_81418C4
-_081418B4:
- adds r0, r4, 0
- movs r1, 0x2
- movs r2, 0x5
- bl sub_81418C4
-_081418BE:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8141834
-
- thumb_func_start sub_81418C4
-sub_81418C4: @ 81418C4
- push {r4-r7,lr}
- adds r6, r0, 0
- lsls r1, 16
- ldr r3, _08141914 @ =gUnknown_8466C0C
- lsrs r1, 13
- adds r0, r1, r3
- ldr r4, [r0]
- lsls r2, 28
- lsrs r7, r2, 16
- movs r5, 0
- adds r3, 0x4
- adds r1, r3
- ldr r1, [r1]
- cmp r5, r1
- bcs _0814190C
- ldr r0, _08141918 @ =0x00000fff
- mov r12, r0
- adds r3, r1, 0
-_081418E8:
- ldrh r1, [r4]
- lsls r1, 1
- adds r1, r6
- ldrh r2, [r1]
- mov r0, r12
- ands r0, r2
- strh r0, [r1]
- ldrh r1, [r4]
- lsls r1, 1
- adds r1, r6
- ldrh r2, [r1]
- adds r0, r7, 0
- orrs r0, r2
- strh r0, [r1]
- adds r4, 0x2
- adds r5, 0x1
- cmp r5, r3
- bcc _081418E8
-_0814190C:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08141914: .4byte gUnknown_8466C0C
-_08141918: .4byte 0x00000fff
- thumb_func_end sub_81418C4
-
- thumb_func_start sub_814191C
-sub_814191C: @ 814191C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, _08141940 @ =gTasks+0x8
- adds r5, r0, r1
- movs r1, 0
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- beq _08141984
- cmp r0, 0x1
- bgt _08141944
- cmp r0, 0
- beq _08141952
- b _08141AA8
- .align 2, 0
-_08141940: .4byte gTasks+0x8
-_08141944:
- cmp r0, 0x2
- bne _0814194A
- b _08141A58
-_0814194A:
- cmp r0, 0x3
- bne _08141950
- b _08141A98
-_08141950:
- b _08141AA8
-_08141952:
- ldr r0, _08141980 @ =gUnknown_84664BC
- movs r1, 0x60
- movs r2, 0x20
- bl LoadPalette
- movs r4, 0
-_0814195E:
- adds r0, r4, 0
- bl sub_8140BF8
- cmp r0, 0
- beq _08141978
- movs r0, 0x2
- bl GetBgTilemapBuffer
- lsls r1, r4, 16
- lsrs r1, 16
- movs r2, 0x6
- bl sub_81418C4
-_08141978:
- adds r4, 0x1
- cmp r4, 0x4
- ble _0814195E
- b _08141A84
- .align 2, 0
-_08141980: .4byte gUnknown_84664BC
-_08141984:
- ldrh r1, [r5, 0x2]
- movs r2, 0x2
- ldrsh r0, [r5, r2]
- cmp r0, 0
- bne _081419C4
- ldr r1, _081419BC @ =gSineTable
- movs r2, 0x4
- ldrsh r0, [r5, r2]
- lsls r0, 1
- adds r0, r1
- ldrh r0, [r0]
- lsls r0, 16
- asrs r0, 23
- lsls r0, 16
- lsrs r0, 11
- ldr r1, _081419C0 @ =gUnknown_84664DC
- adds r0, r1
- movs r1, 0x10
- movs r2, 0x20
- bl LoadPalette
- ldrh r0, [r5, 0x4]
- adds r0, 0x20
- movs r1, 0x7F
- ands r0, r1
- strh r0, [r5, 0x4]
- movs r0, 0x8
- b _081419C6
- .align 2, 0
-_081419BC: .4byte gSineTable
-_081419C0: .4byte gUnknown_84664DC
-_081419C4:
- subs r0, r1, 0x1
-_081419C6:
- strh r0, [r5, 0x2]
- movs r1, 0x6
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _08141A00
- ldrh r0, [r5, 0x8]
- adds r0, 0x8
- movs r1, 0x7F
- ands r0, r1
- strh r0, [r5, 0x8]
- ldr r1, _081419FC @ =gSineTable
- movs r2, 0x8
- ldrsh r0, [r5, r2]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- lsls r1, 16
- asrs r1, 21
- strh r1, [r5, 0xA]
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0x40
- movs r2, 0
- bl BlendPalettes
- b _08141A2C
- .align 2, 0
-_081419FC: .4byte gSineTable
-_08141A00:
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _08141A2C
- movs r0, 0
- strh r0, [r5, 0x8]
- ldrh r0, [r5, 0xA]
- adds r0, 0x1
- movs r1, 0x1
- ands r0, r1
- strh r0, [r5, 0xA]
- movs r0, 0xA
- ldrsh r1, [r5, r0]
- lsls r1, 27
- lsrs r1, 24
- movs r0, 0x40
- movs r2, 0
- bl BlendPalettes
-_08141A2C:
- movs r4, 0
- ldr r5, _08141A4C @ =gPlttBufferFaded
- ldr r3, _08141A50 @ =gUnknown_8466C34
- ldr r2, _08141A54 @ =gPlttBufferUnfaded
-_08141A34:
- adds r0, r4, r3
- ldrb r0, [r0]
- adds r0, 0x60
- lsls r0, 1
- adds r1, r0, r5
- adds r0, r2
- ldrh r0, [r0]
- strh r0, [r1]
- adds r4, 0x1
- cmp r4, 0x1
- bls _08141A34
- b _08141AA8
- .align 2, 0
-_08141A4C: .4byte gPlttBufferFaded
-_08141A50: .4byte gUnknown_8466C34
-_08141A54: .4byte gPlttBufferUnfaded
-_08141A58:
- movs r4, 0
-_08141A5A:
- adds r0, r4, 0
- bl sub_8140BF8
- cmp r0, 0
- beq _08141A74
- movs r0, 0x2
- bl GetBgTilemapBuffer
- lsls r1, r4, 16
- lsrs r1, 16
- movs r2, 0x4
- bl sub_81418C4
-_08141A74:
- adds r4, 0x1
- cmp r4, 0x4
- ble _08141A5A
- ldr r0, _08141A94 @ =gUnknown_8465950
- movs r1, 0x10
- movs r2, 0x20
- bl LoadPalette
-_08141A84:
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- ldrh r0, [r5]
- adds r0, 0x1
- strh r0, [r5]
- b _08141AA8
- .align 2, 0
-_08141A94: .4byte gUnknown_8465950
-_08141A98:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _08141AA8
- adds r0, r4, 0
- bl DestroyTask
-_08141AA8:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_814191C
-
- thumb_func_start sub_8141AB0
-sub_8141AB0: @ 8141AB0
- push {lr}
- ldr r0, _08141AD0 @ =sub_814191C
- bl FindTaskIdByFunc
- ldr r2, _08141AD4 @ =gTasks
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r0, 0x2
- strh r0, [r1, 0x8]
- pop {r0}
- bx r0
- .align 2, 0
-_08141AD0: .4byte sub_814191C
-_08141AD4: .4byte gTasks
- thumb_func_end sub_8141AB0
-
- thumb_func_start sub_8141AD8
-sub_8141AD8: @ 8141AD8
- push {r4,lr}
- sub sp, 0xC
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _08141B14 @ =gUnknown_8466C38
- movs r1, 0xA
- str r1, [sp]
- movs r1, 0xD
- str r1, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r1, 0x2
- movs r2, 0
- movs r3, 0x2
- bl CreateYesNoMenu
- lsls r4, 24
- asrs r4, 24
- adds r0, r4, 0
- bl Menu_MoveCursorNoWrapAround
- bl sub_814112C
- movs r1, 0x1
- str r1, [r0, 0x28]
- add sp, 0xC
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08141B14: .4byte gUnknown_8466C38
- thumb_func_end sub_8141AD8
-
- thumb_func_start sub_8141B18
-sub_8141B18: @ 8141B18
- push {r4,lr}
- bl sub_814112C
- adds r4, r0, 0
- ldr r0, [r4, 0x28]
- cmp r0, 0
- beq _08141B2E
- bl DestroyYesNoMenu
- movs r0, 0
- str r0, [r4, 0x28]
-_08141B2E:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8141B18
-
- thumb_func_start sub_8141B34
-sub_8141B34: @ 8141B34
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- bl sub_814112C
- adds r4, r0, 0
- movs r0, 0x2
- bl GetBgTilemapBuffer
- mov r12, r0
- movs r1, 0
- movs r0, 0x44
- adds r0, r4
- mov r8, r0
- adds r7, r4, 0
- adds r7, 0x2C
- ldr r0, _08141B9C @ =gUnknown_8466C40
- mov r9, r0
-_08141B5A:
- movs r5, 0
- lsls r0, r1, 3
- adds r6, r1, 0x1
- mov r1, r8
- adds r4, r0, r1
- mov r1, r9
- adds r3, r0, r1
- adds r2, r0, 0
-_08141B6A:
- ldrh r0, [r3]
- lsls r0, 1
- add r0, r12
- ldrh r0, [r0]
- strh r0, [r4]
- adds r1, r7, r2
- adds r0, r5, 0
- adds r0, 0xC0
- strh r0, [r1]
- adds r4, 0x2
- adds r3, 0x2
- adds r2, 0x2
- adds r5, 0x1
- cmp r5, 0x3
- ble _08141B6A
- adds r1, r6, 0
- cmp r1, 0x2
- ble _08141B5A
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08141B9C: .4byte gUnknown_8466C40
- thumb_func_end sub_8141B34
-
- thumb_func_start sub_8141BA0
-sub_8141BA0: @ 8141BA0
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x2
- bhi _08141BD8
- bl sub_814112C
- adds r4, r0, 0
- movs r0, 0x2
- bl GetBgTilemapBuffer
- adds r6, r0, 0
- lsls r0, r5, 3
- ldr r1, _08141BE0 @ =gUnknown_8466C40
- adds r4, 0x2C
- adds r3, r0, r4
- adds r2, r0, r1
- movs r4, 0x3
-_08141BC4:
- ldrh r0, [r2]
- lsls r0, 1
- adds r0, r6
- ldrh r1, [r3]
- strh r1, [r0]
- adds r3, 0x2
- adds r2, 0x2
- subs r4, 0x1
- cmp r4, 0
- bge _08141BC4
-_08141BD8:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08141BE0: .4byte gUnknown_8466C40
- thumb_func_end sub_8141BA0
-
- thumb_func_start sub_8141BE4
-sub_8141BE4: @ 8141BE4
- push {r4-r7,lr}
- bl sub_814112C
- adds r4, r0, 0
- movs r0, 0x2
- bl GetBgTilemapBuffer
- adds r6, r0, 0
- movs r1, 0
- adds r7, r4, 0
- adds r7, 0x44
- ldr r0, _08141C2C @ =gUnknown_8466C40
- mov r12, r0
-_08141BFE:
- lsls r0, r1, 3
- adds r5, r1, 0x1
- adds r3, r0, r7
- mov r1, r12
- adds r2, r0, r1
- movs r4, 0x3
-_08141C0A:
- ldrh r0, [r2]
- lsls r0, 1
- adds r0, r6
- ldrh r1, [r3]
- strh r1, [r0]
- adds r3, 0x2
- adds r2, 0x2
- subs r4, 0x1
- cmp r4, 0
- bge _08141C0A
- adds r1, r5, 0
- cmp r1, 0x2
- ble _08141BFE
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08141C2C: .4byte gUnknown_8466C40
- thumb_func_end sub_8141BE4
-
- thumb_func_start sub_8141C30
-sub_8141C30: @ 8141C30
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- bl sub_814112C
- adds r0, 0x20
- strb r4, [r0]
- movs r0, 0xC
- adds r1, r5, 0
- bl sub_8141148
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8141C30
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/title_screen.s b/asm/title_screen.s
deleted file mode 100644
index e62cc9a9f..000000000
--- a/asm/title_screen.s
+++ /dev/null
@@ -1,2310 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start CB2_InitTitleScreen
-CB2_InitTitleScreen: @ 8078914
- push {r4-r6,lr}
- sub sp, 0xC
- ldr r0, _08078930 @ =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r0, r1
- ldrb r6, [r0]
- cmp r6, 0x1
- beq _080789F0
- cmp r6, 0x1
- bgt _08078934
- cmp r6, 0
- beq _08078946
- b _0807893A
- .align 2, 0
-_08078930: .4byte gMain
-_08078934:
- cmp r6, 0x2
- bne _0807893A
- b _08078AC0
-_0807893A:
- ldr r0, _080789D0 @ =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
-_08078946:
- movs r0, 0
- bl SetVBlankCallback
- bl StartTimer1
- ldr r0, _080789D4 @ =gHeap
- movs r1, 0xE0
- lsls r1, 9
- bl InitHeap
- bl ResetTasks
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- bl ResetPaletteFade
- bl sub_8078B34
- add r1, sp, 0x4
- movs r0, 0
- strh r0, [r1]
- ldr r1, _080789D8 @ =0x040000d4
- add r0, sp, 0x4
- str r0, [r1]
- movs r0, 0xC0
- lsls r0, 19
- str r0, [r1, 0x4]
- ldr r0, _080789DC @ =0x8100c000
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- movs r2, 0
- str r2, [sp, 0x8]
- add r0, sp, 0x8
- str r0, [r1]
- movs r0, 0xE0
- lsls r0, 19
- str r0, [r1, 0x4]
- ldr r0, _080789E0 @ =0x85000100
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- add r0, sp, 0x4
- strh r2, [r0]
- str r0, [r1]
- movs r0, 0xA0
- lsls r0, 19
- str r0, [r1, 0x4]
- ldr r0, _080789E4 @ =0x81000200
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r1, _080789E8 @ =gUnknown_83BFB74
- movs r0, 0
- movs r2, 0x4
- bl InitBgsFromTemplates
- movs r1, 0x82
- lsls r1, 5
- movs r0, 0
- bl SetGpuRegBits
- ldr r1, _080789EC @ =gUnknown_2037F30
- movs r0, 0xFF
- strb r0, [r1]
- b _08078B18
- .align 2, 0
-_080789D0: .4byte gMain
-_080789D4: .4byte gHeap
-_080789D8: .4byte 0x040000d4
-_080789DC: .4byte 0x8100c000
-_080789E0: .4byte 0x85000100
-_080789E4: .4byte 0x81000200
-_080789E8: .4byte gUnknown_83BFB74
-_080789EC: .4byte gUnknown_2037F30
-_080789F0:
- ldr r0, _08078A94 @ =gUnknown_8EAB6C4
- movs r2, 0xD0
- lsls r2, 1
- movs r1, 0
- bl LoadPalette
- ldr r1, _08078A98 @ =gUnknown_8EAB8C4
- movs r4, 0
- str r4, [sp]
- movs r0, 0
- movs r2, 0
- movs r3, 0
- bl DecompressAndCopyTileDataToVram
- ldr r1, _08078A9C @ =gUnknown_8EAD390
- str r6, [sp]
- movs r0, 0
- movs r2, 0
- movs r3, 0
- bl DecompressAndCopyTileDataToVram
- ldr r0, _08078AA0 @ =gUnknown_8EAD5E8
- movs r1, 0xD0
- movs r2, 0x20
- bl LoadPalette
- ldr r1, _08078AA4 @ =gUnknown_8EAD608
- str r4, [sp]
- movs r0, 0x1
- movs r2, 0
- movs r3, 0
- bl DecompressAndCopyTileDataToVram
- ldr r1, _08078AA8 @ =gUnknown_8EADEE4
- str r6, [sp]
- movs r0, 0x1
- movs r2, 0
- movs r3, 0
- bl DecompressAndCopyTileDataToVram
- ldr r5, _08078AAC @ =gUnknown_8EAE094
- adds r0, r5, 0
- movs r1, 0xF0
- movs r2, 0x20
- bl LoadPalette
- ldr r1, _08078AB0 @ =gUnknown_8EAE0B4
- str r4, [sp]
- movs r0, 0x2
- movs r2, 0
- movs r3, 0
- bl DecompressAndCopyTileDataToVram
- ldr r1, _08078AB4 @ =gUnknown_8EAE374
- str r6, [sp]
- movs r0, 0x2
- movs r2, 0
- movs r3, 0
- bl DecompressAndCopyTileDataToVram
- adds r0, r5, 0
- movs r1, 0xE0
- movs r2, 0x20
- bl LoadPalette
- ldr r1, _08078AB8 @ =gUnknown_83BF58C
- str r4, [sp]
- movs r0, 0x3
- movs r2, 0
- movs r3, 0
- bl DecompressAndCopyTileDataToVram
- ldr r1, _08078ABC @ =gUnknown_83BF5A8
- str r6, [sp]
- movs r0, 0x3
- movs r2, 0
- movs r3, 0
- bl DecompressAndCopyTileDataToVram
- bl sub_8079708
- b _08078B18
- .align 2, 0
-_08078A94: .4byte gUnknown_8EAB6C4
-_08078A98: .4byte gUnknown_8EAB8C4
-_08078A9C: .4byte gUnknown_8EAD390
-_08078AA0: .4byte gUnknown_8EAD5E8
-_08078AA4: .4byte gUnknown_8EAD608
-_08078AA8: .4byte gUnknown_8EADEE4
-_08078AAC: .4byte gUnknown_8EAE094
-_08078AB0: .4byte gUnknown_8EAE0B4
-_08078AB4: .4byte gUnknown_8EAE374
-_08078AB8: .4byte gUnknown_83BF58C
-_08078ABC: .4byte gUnknown_83BF5A8
-_08078AC0:
- bl FreeTempTileDataBuffersIfPossible
- lsls r0, 24
- cmp r0, 0
- bne _08078B26
- ldr r0, _08078B00 @ =0x0000ffff
- movs r1, 0x10
- movs r2, 0
- bl BlendPalettes
- ldr r0, _08078B04 @ =sub_8078C24
- movs r1, 0x4
- bl CreateTask
- ldr r0, _08078B08 @ =sub_8078BEC
- movs r1, 0x2
- bl CreateTask
- ldr r1, _08078B0C @ =gUnknown_2037F30
- strb r0, [r1]
- ldr r0, _08078B10 @ =sub_8078BB4
- bl SetVBlankCallback
- ldr r0, _08078B14 @ =sub_8078B9C
- bl SetMainCallback2
- movs r0, 0x8B
- lsls r0, 1
- bl m4aSongNumStart
- b _08078B26
- .align 2, 0
-_08078B00: .4byte 0x0000ffff
-_08078B04: .4byte sub_8078C24
-_08078B08: .4byte sub_8078BEC
-_08078B0C: .4byte gUnknown_2037F30
-_08078B10: .4byte sub_8078BB4
-_08078B14: .4byte sub_8078B9C
-_08078B18:
- ldr r1, _08078B30 @ =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_08078B26:
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08078B30: .4byte gMain
- thumb_func_end CB2_InitTitleScreen
-
- thumb_func_start sub_8078B34
-sub_8078B34: @ 8078B34
- push {lr}
- movs r0, 0
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x10
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x12
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x14
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x16
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x18
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1A
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1C
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1E
- movs r1, 0
- bl SetGpuReg
- pop {r0}
- bx r0
- thumb_func_end sub_8078B34
-
- thumb_func_start sub_8078B9C
-sub_8078B9C: @ 8078B9C
- push {lr}
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- pop {r0}
- bx r0
- thumb_func_end sub_8078B9C
-
- thumb_func_start sub_8078BB4
-sub_8078BB4: @ 8078BB4
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- bl ScanlineEffect_InitHBlankDmaTransfer
- ldr r1, _08078BE4 @ =gUnknown_2037F30
- ldrb r0, [r1]
- cmp r0, 0xFF
- beq _08078BE0
- ldr r2, _08078BE8 @ =gTasks
- adds r1, r0, 0
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldrh r1, [r0, 0x8]
- adds r1, 0x1
- strh r1, [r0, 0x8]
-_08078BE0:
- pop {r0}
- bx r0
- .align 2, 0
-_08078BE4: .4byte gUnknown_2037F30
-_08078BE8: .4byte gTasks
- thumb_func_end sub_8078BB4
-
- thumb_func_start sub_8078BEC
-sub_8078BEC: @ 8078BEC
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r1, _08078C18 @ =gTasks+0x8
- adds r0, r1
- movs r3, 0
- ldrsh r1, [r0, r3]
- ldr r0, _08078C1C @ =0x00000a8b
- cmp r1, r0
- ble _08078C12
- ldr r1, _08078C20 @ =gUnknown_2037F30
- movs r0, 0xFF
- strb r0, [r1]
- adds r0, r2, 0
- bl DestroyTask
-_08078C12:
- pop {r0}
- bx r0
- .align 2, 0
-_08078C18: .4byte gTasks+0x8
-_08078C1C: .4byte 0x00000a8b
-_08078C20: .4byte gUnknown_2037F30
- thumb_func_end sub_8078BEC
-
- thumb_func_start sub_8078C24
-sub_8078C24: @ 8078C24
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _08078C6C @ =gTasks+0x8
- adds r4, r1, r0
- ldr r0, _08078C70 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0xB
- ands r0, r1
- cmp r0, 0
- beq _08078C74
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, 0x3
- beq _08078C74
- cmp r0, 0x4
- beq _08078C74
- cmp r0, 0x5
- beq _08078C74
- bl sub_8079620
- bl sub_8079648
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- bl sub_8079A10
- adds r0, r4, 0
- movs r1, 0x3
- bl sub_8078C90
- b _08078C86
- .align 2, 0
-_08078C6C: .4byte gTasks+0x8
-_08078C70: .4byte gMain
-_08078C74:
- ldr r0, _08078C8C @ =gUnknown_83BFB84
- movs r2, 0
- ldrsh r1, [r4, r2]
- lsls r1, 2
- adds r1, r0
- ldr r1, [r1]
- adds r0, r4, 0
- bl _call_via_r1
-_08078C86:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08078C8C: .4byte gUnknown_83BFB84
- thumb_func_end sub_8078C24
-
- thumb_func_start sub_8078C90
-sub_8078C90: @ 8078C90
- lsls r1, 24
- lsrs r1, 24
- movs r2, 0
- strh r2, [r0, 0x2]
- strh r1, [r0]
- bx lr
- thumb_func_end sub_8078C90
-
- thumb_func_start sub_8078C9C
-sub_8078C9C: @ 8078C9C
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x10
- mov r8, r0
- movs r0, 0
- bl HideBg
- movs r0, 0x1
- bl ShowBg
- movs r0, 0x2
- bl ShowBg
- movs r0, 0x3
- bl ShowBg
- ldr r0, _08078D14 @ =0x04000054
- str r0, [sp]
- ldr r0, _08078D18 @ =0xa2600001
- str r0, [sp, 0x4]
- mov r1, sp
- movs r5, 0
- movs r0, 0x1
- strb r0, [r1, 0x8]
- mov r0, sp
- strb r5, [r0, 0x9]
- add r0, sp, 0xC
- strh r5, [r0]
- ldr r4, _08078D1C @ =gScanlineEffectRegBuffers
- ldr r6, _08078D20 @ =0x010000a0
- adds r1, r4, 0
- adds r2, r6, 0
- bl CpuSet
- mov r0, sp
- adds r0, 0xE
- strh r5, [r0]
- movs r1, 0xF0
- lsls r1, 3
- adds r4, r1
- adds r1, r4, 0
- adds r2, r6, 0
- bl CpuSet
- ldr r0, [sp]
- ldr r1, [sp, 0x4]
- ldr r2, [sp, 0x8]
- bl ScanlineEffect_SetParams
- mov r0, r8
- movs r1, 0x1
- bl sub_8078C90
- add sp, 0x10
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08078D14: .4byte 0x04000054
-_08078D18: .4byte 0xa2600001
-_08078D1C: .4byte gScanlineEffectRegBuffers
-_08078D20: .4byte 0x010000a0
- thumb_func_end sub_8078C9C
-
- thumb_func_start sub_8078D24
-sub_8078D24: @ 8078D24
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x2
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _08078D5C
- cmp r0, 0x1
- bgt _08078D3A
- cmp r0, 0
- beq _08078D40
- b _08078D9C
-_08078D3A:
- cmp r0, 0x2
- beq _08078D84
- b _08078D9C
-_08078D40:
- movs r0, 0x50
- movs r1, 0x82
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x80
- strh r0, [r4, 0x4]
- movs r0, 0x80
- bl sub_8079550
- b _08078D78
-_08078D5C:
- ldrh r0, [r4, 0x4]
- subs r0, 0x4
- strh r0, [r4, 0x4]
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- bl sub_8079550
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bge _08078D9C
- ldr r1, _08078D80 @ =gScanlineEffect
- movs r0, 0x3
- strb r0, [r1, 0x15]
-_08078D78:
- ldrh r0, [r4, 0x2]
- adds r0, 0x1
- strh r0, [r4, 0x2]
- b _08078D9C
- .align 2, 0
-_08078D80: .4byte gScanlineEffect
-_08078D84:
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0
- bl SetGpuReg
- adds r0, r4, 0
- movs r1, 0x2
- bl sub_8078C90
-_08078D9C:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8078D24
-
- thumb_func_start sub_8078DA4
-sub_8078DA4: @ 8078DA4
- push {r4-r7,lr}
- sub sp, 0xC
- adds r6, r0, 0
- movs r1, 0x2
- ldrsh r0, [r6, r1]
- cmp r0, 0x9
- bls _08078DB4
- b _08078FB6
-_08078DB4:
- lsls r0, 2
- ldr r1, _08078DC0 @ =_08078DC4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08078DC0: .4byte _08078DC4
- .align 2, 0
-_08078DC4:
- .4byte _08078DEC
- .4byte _08078DF2
- .4byte _08078E24
- .4byte _08078E40
- .4byte _08078E80
- .4byte _08078EA4
- .4byte _08078ED4
- .4byte _08078EF8
- .4byte _08078F24
- .4byte _08078F98
-_08078DEC:
- movs r0, 0
- strh r0, [r6, 0x4]
- b _08078F80
-_08078DF2:
- ldrh r0, [r6, 0x4]
- adds r0, 0x1
- strh r0, [r6, 0x4]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xA
- bgt _08078E02
- b _08078FB6
-_08078E02:
- ldr r0, _08078E20 @ =gPlttBufferUnfaded + 0x1A0
- movs r1, 0x10
- bl TintPalette_GrayScale2
- movs r0, 0x80
- lsls r0, 6
- movs r1, 0
- str r1, [sp]
- movs r1, 0x9
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- b _08078F80
- .align 2, 0
-_08078E20: .4byte gPlttBufferUnfaded + 0x1A0
-_08078E24:
- ldr r0, _08078E3C @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _08078E36
- b _08078FB6
-_08078E36:
- strh r0, [r6, 0x4]
- b _08078F80
- .align 2, 0
-_08078E3C: .4byte gPaletteFade
-_08078E40:
- ldrh r0, [r6, 0x4]
- adds r0, 0x1
- strh r0, [r6, 0x4]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x24
- bgt _08078E50
- b _08078FB6
-_08078E50:
- ldr r0, _08078E78 @ =sub_80792C8
- movs r1, 0x3
- bl CreateTask
- movs r0, 0x80
- lsls r0, 6
- movs r1, 0x4
- negs r1, r1
- ldr r2, _08078E7C @ =0x00007fde
- str r2, [sp]
- movs r4, 0
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r2, 0x1
- movs r3, 0x10
- bl sub_80717A8
- strh r4, [r6, 0x4]
- b _08078F80
- .align 2, 0
-_08078E78: .4byte sub_80792C8
-_08078E7C: .4byte 0x00007fde
-_08078E80:
- movs r0, 0
- bl sub_807185C
- adds r3, r0, 0
- cmp r3, 0
- beq _08078E8E
- b _08078FB6
-_08078E8E:
- movs r0, 0x80
- lsls r0, 6
- movs r1, 0x4
- negs r1, r1
- ldr r2, _08078EA0 @ =0x00007fde
- str r2, [sp]
- str r3, [sp, 0x4]
- str r3, [sp, 0x8]
- b _08078F78
- .align 2, 0
-_08078EA0: .4byte 0x00007fde
-_08078EA4:
- ldrh r0, [r6, 0x4]
- adds r0, 0x1
- strh r0, [r6, 0x4]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x14
- bgt _08078EB4
- b _08078FB6
-_08078EB4:
- movs r0, 0
- strh r0, [r6, 0x4]
- movs r0, 0x80
- lsls r0, 6
- movs r1, 0x4
- negs r1, r1
- ldr r2, _08078ED0 @ =0x00007fde
- str r2, [sp]
- movs r2, 0
- str r2, [sp, 0x4]
- str r2, [sp, 0x8]
- movs r2, 0x1
- movs r3, 0x10
- b _08078F7C
- .align 2, 0
-_08078ED0: .4byte 0x00007fde
-_08078ED4:
- movs r0, 0
- bl sub_807185C
- adds r3, r0, 0
- cmp r3, 0
- bne _08078FB6
- movs r0, 0x80
- lsls r0, 6
- movs r1, 0x4
- negs r1, r1
- ldr r2, _08078EF4 @ =0x00007fde
- str r2, [sp]
- str r3, [sp, 0x4]
- str r3, [sp, 0x8]
- b _08078F78
- .align 2, 0
-_08078EF4: .4byte 0x00007fde
-_08078EF8:
- ldrh r0, [r6, 0x4]
- adds r0, 0x1
- strh r0, [r6, 0x4]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x14
- ble _08078FB6
- movs r0, 0
- strh r0, [r6, 0x4]
- movs r0, 0x80
- lsls r0, 6
- movs r1, 0x3
- negs r1, r1
- ldr r2, _08078F20 @ =0x00007fde
- str r2, [sp]
- movs r2, 0
- str r2, [sp, 0x4]
- str r2, [sp, 0x8]
- movs r3, 0x10
- b _08078F7C
- .align 2, 0
-_08078F20: .4byte 0x00007fde
-_08078F24:
- movs r0, 0
- bl sub_807185C
- adds r7, r0, 0
- cmp r7, 0
- bne _08078FB6
- movs r0, 0x1
- strh r0, [r6, 0xA]
- bl sub_80799F0
- movs r4, 0x80
- lsls r4, 9
- lsls r4, r0
- ldr r0, _08078F88 @ =0x00001fff
- orrs r4, r0
- ldr r5, _08078F8C @ =0x00007fde
- adds r0, r4, 0
- movs r1, 0x10
- adds r2, r5, 0
- bl BlendPalettes
- str r5, [sp]
- adds r0, r4, 0
- movs r1, 0x1
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- movs r0, 0
- bl ShowBg
- ldr r0, _08078F90 @ =gUnknown_8EAD5E8
- ldr r1, _08078F94 @ =gPlttBufferUnfaded + 0x1A0
- movs r2, 0x10
- bl CpuSet
- movs r0, 0x80
- lsls r0, 6
- str r5, [sp]
- str r7, [sp, 0x4]
- str r7, [sp, 0x8]
- movs r1, 0x1
-_08078F78:
- movs r2, 0xF
- movs r3, 0
-_08078F7C:
- bl sub_80717A8
-_08078F80:
- ldrh r0, [r6, 0x2]
- adds r0, 0x1
- strh r0, [r6, 0x2]
- b _08078FB6
- .align 2, 0
-_08078F88: .4byte 0x00001fff
-_08078F8C: .4byte 0x00007fde
-_08078F90: .4byte gUnknown_8EAD5E8
-_08078F94: .4byte gPlttBufferUnfaded + 0x1A0
-_08078F98:
- movs r0, 0
- bl sub_807185C
- cmp r0, 0
- bne _08078FB6
- ldr r0, _08078FC0 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08078FB6
- adds r0, r6, 0
- movs r1, 0x3
- bl sub_8078C90
-_08078FB6:
- add sp, 0xC
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08078FC0: .4byte gPaletteFade
- thumb_func_end sub_8078DA4
-
- thumb_func_start sub_8078FC4
-sub_8078FC4: @ 8078FC4
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x2
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _08078FD6
- cmp r0, 0x1
- beq _08079004
- b _08079094
-_08078FD6:
- movs r0, 0x1
- bl HelpSystem_SetSomeVariable2
- ldr r0, _0807902C @ =sub_807941C
- movs r1, 0
- bl CreateTask
- ldr r0, _08079030 @ =sub_8079840
- movs r1, 0x5
- bl CreateTask
- bl sub_80790A0
- bl sub_8079A40
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0xC]
- bl sub_812B484
- ldrh r0, [r4, 0x2]
- adds r0, 0x1
- strh r0, [r4, 0x2]
-_08079004:
- ldr r2, _08079034 @ =gMain
- ldrh r1, [r2, 0x2C]
- movs r0, 0x46
- ands r0, r1
- cmp r0, 0x46
- bne _08079040
- ldrb r0, [r4, 0xC]
- bl sub_8079A88
- ldr r0, _08079038 @ =sub_8078C24
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
- ldr r0, _0807903C @ =sub_80796CC
- bl SetMainCallback2
- b _08079094
- .align 2, 0
-_0807902C: .4byte sub_807941C
-_08079030: .4byte sub_8079840
-_08079034: .4byte gMain
-_08079038: .4byte sub_8078C24
-_0807903C: .4byte sub_80796CC
-_08079040:
- movs r0, 0x6
- ands r0, r1
- cmp r0, 0x6
- bne _0807906C
- ldrb r0, [r4, 0xC]
- bl sub_8079A88
- ldr r0, _08079064 @ =sub_8078C24
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
- ldr r0, _08079068 @ =sub_80796E8
- bl SetMainCallback2
- b _08079094
- .align 2, 0
-_08079064: .4byte sub_8078C24
-_08079068: .4byte sub_80796E8
-_0807906C:
- ldrh r1, [r2, 0x2E]
- movs r0, 0x9
- ands r0, r1
- cmp r0, 0
- beq _08079080
- adds r0, r4, 0
- movs r1, 0x5
- bl sub_8078C90
- b _08079094
-_08079080:
- ldr r0, _0807909C @ =sub_8078BEC
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- bne _08079094
- adds r0, r4, 0
- movs r1, 0x4
- bl sub_8078C90
-_08079094:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0807909C: .4byte sub_8078BEC
- thumb_func_end sub_8078FC4
-
- thumb_func_start sub_80790A0
-sub_80790A0: @ 80790A0
- push {lr}
- movs r1, 0x80
- lsls r1, 8
- movs r0, 0
- bl SetGpuRegBits
- ldr r1, _080790C8 @ =0x00003f1f
- movs r0, 0x4A
- bl SetGpuReg
- movs r0, 0x50
- movs r1, 0x81
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0xD
- bl SetGpuReg
- pop {r0}
- bx r0
- .align 2, 0
-_080790C8: .4byte 0x00003f1f
- thumb_func_end sub_80790A0
-
- thumb_func_start sub_80790CC
-sub_80790CC: @ 80790CC
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- movs r1, 0x2
- ldrsh r0, [r4, r1]
- cmp r0, 0x4
- bhi _080791B0
- lsls r0, 2
- ldr r1, _080790E4 @ =_080790E8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080790E4: .4byte _080790E8
- .align 2, 0
-_080790E8:
- .4byte _080790FC
- .4byte _08079104
- .4byte _0807913C
- .4byte _08079170
- .4byte _08079198
-_080790FC:
- ldrb r0, [r4, 0xC]
- bl sub_8079A88
- b _0807918C
-_08079104:
- ldr r0, _08079138 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080791B0
- ldrb r0, [r4, 0xC]
- bl sub_8079AA8
- adds r5, r0, 0
- cmp r5, 0
- bne _080791B0
- movs r0, 0xA
- bl FadeOutMapMusic
- movs r0, 0x1
- negs r0, r0
- str r5, [sp]
- movs r1, 0x3
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- bl sub_8079528
- b _0807918C
- .align 2, 0
-_08079138: .4byte gPaletteFade
-_0807913C:
- bl IsNotWaitingForBGMStop
- lsls r0, 24
- cmp r0, 0
- beq _080791B0
- ldr r0, _08079168 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- bne _080791B0
- ldr r0, _0807916C @ =sub_807941C
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
- strh r5, [r4, 0x4]
- b _0807918C
- .align 2, 0
-_08079168: .4byte gPaletteFade
-_0807916C: .4byte sub_807941C
-_08079170:
- ldrh r0, [r4, 0x4]
- adds r0, 0x1
- strh r0, [r4, 0x4]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x13
- ble _080791B0
- ldr r0, _08079194 @ =sub_807941C
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
-_0807918C:
- ldrh r0, [r4, 0x2]
- adds r0, 0x1
- strh r0, [r4, 0x2]
- b _080791B0
- .align 2, 0
-_08079194: .4byte sub_807941C
-_08079198:
- bl sub_812B478
- ldr r0, _080791B8 @ =sub_8078C24
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
- ldr r0, _080791BC @ =sub_80EC864
- bl SetMainCallback2
-_080791B0:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080791B8: .4byte sub_8078C24
-_080791BC: .4byte sub_80EC864
- thumb_func_end sub_80790CC
-
- thumb_func_start sub_80791C0
-sub_80791C0: @ 80791C0
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- movs r1, 0x2
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _08079204
- cmp r0, 0x1
- bgt _080791D8
- cmp r0, 0
- beq _080791DE
- b _080792A6
-_080791D8:
- cmp r0, 0x2
- beq _08079248
- b _080792A6
-_080791DE:
- ldr r0, _08079200 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- bne _080792A6
- .ifdef FIRERED
- movs r0, 0x6 @ CHARIZARD
- .else
- movs r0, 0x3 @ VENUSAUR
- .endif
- movs r1, 0
- bl PlayCry1
- ldrb r0, [r4, 0xC]
- bl sub_8079A88
- strh r5, [r4, 0x4]
- b _08079238
- .align 2, 0
-_08079200: .4byte gPaletteFade
-_08079204:
- ldrh r1, [r4, 0x4]
- movs r2, 0x4
- ldrsh r0, [r4, r2]
- cmp r0, 0x59
- bgt _08079214
- adds r0, r1, 0x1
- strh r0, [r4, 0x4]
- b _080792A6
-_08079214:
- ldrb r0, [r4, 0xC]
- bl sub_8079AA8
- cmp r0, 0
- bne _080792A6
- ldr r0, _08079240 @ =0x0fffffff
- ldr r1, _08079244 @ =0x00007fff
- str r1, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- bl sub_8079528
- movs r0, 0x4
- bl FadeOutBGM
-_08079238:
- ldrh r0, [r4, 0x2]
- adds r0, 0x1
- strh r0, [r4, 0x2]
- b _080792A6
- .align 2, 0
-_08079240: .4byte 0x0fffffff
-_08079244: .4byte 0x00007fff
-_08079248:
- ldr r0, _080792B0 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080792A6
- bl SeedRngAndSetTrainerId
- bl SetSaveBlocksPointers
- bl ResetMenuAndMonGlobals
- bl Save_ResetSaveCounters
- movs r0, 0
- bl Save_LoadGameData
- ldr r0, _080792B4 @ =gSaveFileStatus
- ldrh r0, [r0]
- cmp r0, 0
- beq _08079276
- cmp r0, 0x2
- bne _0807927A
-_08079276:
- bl Sav2_ClearSetDefault
-_0807927A:
- ldr r0, _080792B8 @ =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x15]
- lsls r0, 31
- lsrs r0, 31
- bl SetPokemonCryStereo
- ldr r0, _080792BC @ =gHeap
- movs r1, 0xE0
- lsls r1, 9
- bl InitHeap
- ldr r0, _080792C0 @ =sub_800C300
- bl SetMainCallback2
- ldr r0, _080792C4 @ =sub_8078C24
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
-_080792A6:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080792B0: .4byte gPaletteFade
-_080792B4: .4byte gSaveFileStatus
-_080792B8: .4byte gSaveBlock2Ptr
-_080792BC: .4byte gHeap
-_080792C0: .4byte sub_800C300
-_080792C4: .4byte sub_8078C24
- thumb_func_end sub_80791C0
-
- thumb_func_start sub_80792C8
-sub_80792C8: @ 80792C8
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, _080792EC @ =gTasks+0x8
- adds r4, r0, r1
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, 0x5
- bls _080792E2
- b _08079414
-_080792E2:
- lsls r0, 2
- ldr r1, _080792F0 @ =_080792F4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080792EC: .4byte gTasks+0x8
-_080792F0: .4byte _080792F4
- .align 2, 0
-_080792F4:
- .4byte _0807930C
- .4byte _08079344
- .4byte _08079368
- .4byte _0807937C
- .4byte _080793BC
- .4byte _08079404
-_0807930C:
- movs r1, 0x80
- lsls r1, 6
- movs r0, 0
- bl SetGpuRegBits
- movs r0, 0x48
- movs r1, 0x3F
- bl SetGpuReg
- movs r0, 0x4A
- movs r1, 0x37
- bl SetGpuReg
- movs r0, 0x44
- movs r1, 0xA0
- bl SetGpuReg
- movs r0, 0x40
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x80
- lsls r0, 7
- movs r1, 0
- movs r2, 0
- bl BlendPalettes
- b _080793AA
-_08079344:
- movs r1, 0xC0
- lsls r1, 1
- adds r0, r1, 0
- ldrh r1, [r4, 0x2]
- adds r0, r1
- strh r0, [r4, 0x2]
- lsls r0, 16
- asrs r0, 20
- strh r0, [r4, 0x4]
- cmp r0, 0xEF
- ble _08079364
- movs r0, 0xF0
- strh r0, [r4, 0x4]
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
-_08079364:
- ldrh r1, [r4, 0x4]
- b _080793F6
-_08079368:
- ldrh r0, [r4, 0x6]
- adds r0, 0x1
- strh r0, [r4, 0x6]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x9
- ble _08079414
- movs r0, 0
- strh r0, [r4, 0x6]
- b _080793AA
-_0807937C:
- movs r0, 0x4A
- movs r1, 0x3B
- bl SetGpuReg
- ldr r1, _080793B4 @ =0x0000f0f0
- movs r0, 0x40
- bl SetGpuReg
- ldr r1, _080793B8 @ =0xffff1000
- movs r0, 0x2
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x80
- lsls r0, 8
- movs r1, 0
- movs r2, 0
- bl BlendPalettes
- movs r1, 0xF0
- lsls r1, 4
- adds r0, r1, 0
- strh r0, [r4, 0x2]
-_080793AA:
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- b _08079414
- .align 2, 0
-_080793B4: .4byte 0x0000f0f0
-_080793B8: .4byte 0xffff1000
-_080793BC:
- ldr r1, _08079400 @ =0xfffffe80
- adds r0, r1, 0
- ldrh r1, [r4, 0x2]
- adds r0, r1
- strh r0, [r4, 0x2]
- lsls r0, 16
- asrs r0, 20
- strh r0, [r4, 0x4]
- cmp r0, 0
- bgt _080793DA
- movs r0, 0
- strh r0, [r4, 0x4]
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
-_080793DA:
- movs r0, 0x4
- ldrsh r1, [r4, r0]
- negs r1, r1
- lsls r1, 8
- movs r0, 0x2
- movs r2, 0
- bl ChangeBgX
- ldrh r1, [r4, 0x4]
- lsls r1, 8
- movs r0, 0xF0
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
-_080793F6:
- movs r0, 0x40
- bl SetGpuReg
- b _08079414
- .align 2, 0
-_08079400: .4byte 0xfffffe80
-_08079404:
- movs r1, 0x80
- lsls r1, 6
- movs r0, 0
- bl ClearGpuRegBits
- adds r0, r5, 0
- bl DestroyTask
-_08079414:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80792C8
-
- thumb_func_start sub_807941C
-sub_807941C: @ 807941C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r1, _08079460 @ =gTasks+0x8
- adds r5, r0, r1
- movs r1, 0x1E
- ldrsh r0, [r5, r1]
- cmp r0, 0
- beq _08079444
- ldr r0, _08079464 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08079444
- movs r0, 0x1
- strh r0, [r5, 0x1C]
-_08079444:
- movs r3, 0x1C
- ldrsh r0, [r5, r3]
- cmp r0, 0
- beq _08079468
- ldr r0, _08079464 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08079468
- adds r0, r2, 0
- bl DestroyTask
- b _08079510
- .align 2, 0
-_08079460: .4byte gTasks+0x8
-_08079464: .4byte gPaletteFade
-_08079468:
- movs r1, 0x2
- ldrsh r0, [r5, r1]
- ldrh r2, [r5, 0x2]
- cmp r0, 0
- bne _08079476
- movs r0, 0x3C
- b _08079478
-_08079476:
- movs r0, 0x1E
-_08079478:
- strh r0, [r5, 0x4]
- ldrh r0, [r5]
- adds r0, 0x1
- strh r0, [r5]
- lsls r0, 16
- asrs r0, 16
- movs r3, 0x4
- ldrsh r1, [r5, r3]
- cmp r0, r1
- blt _08079510
- movs r0, 0
- strh r0, [r5]
- movs r0, 0x1
- eors r0, r2
- strh r0, [r5, 0x2]
- lsls r0, 16
- cmp r0, 0
- beq _080794CC
- ldr r2, _080794C0 @ =gPlttBufferUnfaded
- ldr r4, _080794C4 @ =gUnknown_8EAE094
- ldr r1, _080794C8 @ =gPlttBufferFaded
- movs r0, 0xF1
- lsls r0, 1
- adds r1, r0
- adds r2, r0
- movs r3, 0x4
-_080794AC:
- ldrh r0, [r4, 0xC]
- strh r0, [r2]
- ldrh r0, [r4, 0xC]
- strh r0, [r1]
- adds r1, 0x2
- adds r2, 0x2
- subs r3, 0x1
- cmp r3, 0
- bge _080794AC
- b _080794F2
- .align 2, 0
-_080794C0: .4byte gPlttBufferUnfaded
-_080794C4: .4byte gUnknown_8EAE094
-_080794C8: .4byte gPlttBufferFaded
-_080794CC:
- movs r3, 0
- ldr r2, _08079518 @ =gPlttBufferUnfaded
- ldr r0, _0807951C @ =gUnknown_8EAE094
- ldr r1, _08079520 @ =gPlttBufferFaded
- adds r4, r0, 0x2
- movs r0, 0xF1
- lsls r0, 1
- adds r1, r0
- adds r2, r0
-_080794DE:
- ldrh r0, [r4]
- strh r0, [r2]
- ldrh r0, [r4]
- strh r0, [r1]
- adds r4, 0x2
- adds r1, 0x2
- adds r2, 0x2
- adds r3, 0x1
- cmp r3, 0x4
- ble _080794DE
-_080794F2:
- movs r1, 0x1C
- ldrsh r0, [r5, r1]
- cmp r0, 0
- beq _08079510
- movs r0, 0x80
- lsls r0, 8
- ldr r2, _08079524 @ =gPaletteFade
- ldrh r1, [r2, 0x4]
- lsls r1, 21
- lsrs r1, 27
- ldrh r2, [r2, 0x6]
- lsls r2, 17
- lsrs r2, 17
- bl BlendPalettes
-_08079510:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08079518: .4byte gPlttBufferUnfaded
-_0807951C: .4byte gUnknown_8EAE094
-_08079520: .4byte gPlttBufferFaded
-_08079524: .4byte gPaletteFade
- thumb_func_end sub_807941C
-
- thumb_func_start sub_8079528
-sub_8079528: @ 8079528
- push {lr}
- ldr r0, _08079548 @ =sub_807941C
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0807954C @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r0, 0x1
- strh r0, [r1, 0x26]
- pop {r0}
- bx r0
- .align 2, 0
-_08079548: .4byte sub_807941C
-_0807954C: .4byte gTasks
- thumb_func_end sub_8079528
-
- thumb_func_start sub_8079550
-sub_8079550: @ 8079550
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r5, r0, 16
- asrs r4, r5, 16
- cmp r4, 0
- blt _08079574
- ldr r3, _08079618 @ =gScanlineEffectRegBuffers
- lsls r2, r4, 1
- ldr r0, _0807961C @ =gScanlineEffect
- ldrb r1, [r0, 0x14]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 7
- adds r2, r0
- adds r2, r3
- movs r0, 0x10
- strh r0, [r2]
-_08079574:
- movs r3, 0
- mov r8, r5
- adds r6, r4, 0
- ldr r0, _08079618 @ =gScanlineEffectRegBuffers
- mov r12, r0
- ldr r7, _0807961C @ =gScanlineEffect
- movs r5, 0xF
- lsls r2, r6, 1
- adds r4, r2, 0
-_08079586:
- adds r0, r6, r3
- cmp r0, 0
- blt _0807959A
- ldrb r1, [r7, 0x14]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 7
- adds r0, r4, r0
- add r0, r12
- strh r5, [r0]
-_0807959A:
- subs r0, r6, r3
- cmp r0, 0
- blt _080795AE
- ldrb r1, [r7, 0x14]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 7
- adds r0, r2, r0
- add r0, r12
- strh r5, [r0]
-_080795AE:
- subs r5, 0x1
- subs r2, 0x2
- adds r4, 0x2
- adds r3, 0x1
- cmp r3, 0xF
- ble _08079586
- mov r1, r8
- asrs r0, r1, 16
- adds r3, r0, 0
- adds r3, 0x10
- cmp r3, 0x9F
- bgt _080795E6
- ldr r6, _08079618 @ =gScanlineEffectRegBuffers
- ldr r5, _0807961C @ =gScanlineEffect
- movs r4, 0
-_080795CC:
- cmp r3, 0
- blt _080795E0
- lsls r2, r3, 1
- ldrb r1, [r5, 0x14]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 7
- adds r2, r0
- adds r2, r6
- strh r4, [r2]
-_080795E0:
- adds r3, 0x1
- cmp r3, 0x9F
- ble _080795CC
-_080795E6:
- mov r1, r8
- asrs r0, r1, 16
- adds r3, r0, 0
- subs r3, 0x10
- cmp r3, 0
- blt _0807960E
- ldr r6, _08079618 @ =gScanlineEffectRegBuffers
- ldr r5, _0807961C @ =gScanlineEffect
- movs r4, 0
-_080795F8:
- lsls r2, r3, 1
- ldrb r1, [r5, 0x14]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 7
- adds r2, r0
- adds r2, r6
- strh r4, [r2]
- subs r3, 0x1
- cmp r3, 0
- bge _080795F8
-_0807960E:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08079618: .4byte gScanlineEffectRegBuffers
-_0807961C: .4byte gScanlineEffect
- thumb_func_end sub_8079550
-
- thumb_func_start sub_8079620
-sub_8079620: @ 8079620
- push {lr}
- ldr r1, _08079644 @ =gScanlineEffect
- ldrb r0, [r1, 0x15]
- cmp r0, 0
- beq _0807962E
- movs r0, 0x3
- strb r0, [r1, 0x15]
-_0807962E:
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0
- bl SetGpuReg
- pop {r0}
- bx r0
- .align 2, 0
-_08079644: .4byte gScanlineEffect
- thumb_func_end sub_8079620
-
- thumb_func_start sub_8079648
-sub_8079648: @ 8079648
- push {r4,lr}
- ldr r0, _080796BC @ =sub_80792C8
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- beq _0807965C
- bl DestroyTask
-_0807965C:
- bl sub_8071898
- bl ResetPaletteFadeControl
- ldr r0, _080796C0 @ =gUnknown_8EAB6C4
- movs r2, 0xD0
- lsls r2, 1
- movs r1, 0
- bl LoadPalette
- ldr r0, _080796C4 @ =gUnknown_8EAD5E8
- movs r1, 0xD0
- movs r2, 0x20
- bl LoadPalette
- ldr r4, _080796C8 @ =gUnknown_8EAE094
- adds r0, r4, 0
- movs r1, 0xF0
- movs r2, 0x20
- bl LoadPalette
- adds r0, r4, 0
- movs r1, 0xE0
- movs r2, 0x20
- bl LoadPalette
- bl ResetBgPositions
- movs r1, 0xE0
- lsls r1, 8
- movs r0, 0
- bl ClearGpuRegBits
- movs r0, 0x1
- bl ShowBg
- movs r0, 0x2
- bl ShowBg
- movs r0, 0
- bl ShowBg
- movs r0, 0x3
- bl ShowBg
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080796BC: .4byte sub_80792C8
-_080796C0: .4byte gUnknown_8EAB6C4
-_080796C4: .4byte gUnknown_8EAD5E8
-_080796C8: .4byte gUnknown_8EAE094
- thumb_func_end sub_8079648
-
- thumb_func_start sub_80796CC
-sub_80796CC: @ 80796CC
- push {lr}
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- bne _080796DE
- ldr r0, _080796E4 @ =sub_80F55A0
- bl SetMainCallback2
-_080796DE:
- pop {r0}
- bx r0
- .align 2, 0
-_080796E4: .4byte sub_80F55A0
- thumb_func_end sub_80796CC
-
- thumb_func_start sub_80796E8
-sub_80796E8: @ 80796E8
- push {lr}
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- bne _080796FE
- bl m4aMPlayAllStop
- ldr r0, _08079704 @ =mb_berry_fix_serve
- bl SetMainCallback2
-_080796FE:
- pop {r0}
- bx r0
- .align 2, 0
-_08079704: .4byte mb_berry_fix_serve
- thumb_func_end sub_80796E8
-
- thumb_func_start sub_8079708
-sub_8079708: @ 8079708
- push {r4,r5,lr}
- movs r5, 0
- ldr r4, _08079728 @ =gUnknown_83BFB9C
-_0807970E:
- adds r0, r4, 0
- bl LoadCompressedSpriteSheet
- adds r4, 0x8
- adds r5, 0x1
- cmp r5, 0x3
- bls _0807970E
- ldr r0, _0807972C @ =gUnknown_83BFBBC
- bl LoadSpritePalettes
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08079728: .4byte gUnknown_83BFB9C
-_0807972C: .4byte gUnknown_83BFBBC
- thumb_func_end sub_8079708
-
- thumb_func_start sub_8079730
-sub_8079730: @ 8079730
- push {r4,lr}
- adds r4, r0, 0
- adds r2, r4, 0
- adds r2, 0x2E
- ldrh r0, [r4, 0x2E]
- ldrh r1, [r2, 0x2]
- subs r0, r1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 20
- strh r0, [r4, 0x20]
- movs r1, 0x8
- negs r1, r1
- cmp r0, r1
- blt _08079774
- ldrh r0, [r2, 0x6]
- ldrh r1, [r2, 0x4]
- adds r0, r1
- strh r0, [r2, 0x4]
- lsls r0, 16
- asrs r0, 20
- strh r0, [r4, 0x22]
- subs r0, 0x10
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xB8
- bhi _08079774
- adds r0, r4, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _0807977C
-_08079774:
- adds r0, r4, 0
- bl DestroySprite
- b _080797A6
-_0807977C:
- ldrh r1, [r2, 0xE]
- movs r3, 0xE
- ldrsh r0, [r2, r3]
- cmp r0, 0
- beq _080797A6
- subs r0, r1, 0x1
- strh r0, [r2, 0xE]
- lsls r0, 16
- cmp r0, 0
- bne _080797A6
- adds r0, r4, 0
- movs r1, 0
- bl StartSpriteAnim
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
-_080797A6:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8079730
-
- thumb_func_start sub_80797AC
-sub_80797AC: @ 80797AC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r4, r0, 0
- adds r5, r1, 0
- mov r8, r2
- adds r7, r3, 0
- ldr r0, [sp, 0x18]
- cmp r0, 0
- beq _080797C8
- ldr r0, _080797C4 @ =gUnknown_83BFB04
- b _080797CA
- .align 2, 0
-_080797C4: .4byte gUnknown_83BFB04
-_080797C8:
- ldr r0, _08079828 @ =gUnknown_83BFB1C
-_080797CA:
- lsls r1, r4, 16
- asrs r1, 16
- lsls r2, r5, 16
- asrs r2, 16
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- beq _08079834
- ldr r0, _0807982C @ =gSprites
- mov r12, r0
- lsls r0, r1, 4
- adds r0, r1
- lsls r6, r0, 2
- mov r1, r12
- adds r2, r6, r1
- lsls r0, r4, 4
- movs r1, 0
- strh r0, [r2, 0x2E]
- mov r0, r8
- strh r0, [r2, 0x30]
- lsls r0, r5, 4
- strh r0, [r2, 0x32]
- strh r7, [r2, 0x34]
- strh r1, [r2, 0x36]
- mov r3, r8
- muls r3, r7
- adds r0, r3, 0
- cmp r3, 0
- bge _0807980C
- adds r0, 0xF
-_0807980C:
- asrs r0, 4
- lsls r0, 4
- subs r0, r3, r0
- strh r0, [r2, 0x38]
- mov r1, sp
- ldrh r1, [r1, 0x18]
- strh r1, [r2, 0x3A]
- mov r0, r12
- adds r0, 0x1C
- adds r0, r6, r0
- ldr r1, _08079830 @ =sub_8079730
- str r1, [r0]
- movs r0, 0x1
- b _08079836
- .align 2, 0
-_08079828: .4byte gUnknown_83BFB1C
-_0807982C: .4byte gSprites
-_08079830: .4byte sub_8079730
-_08079834:
- movs r0, 0
-_08079836:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80797AC
-
- thumb_func_start sub_8079840
-sub_8079840: @ 8079840
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, _08079868 @ =gTasks+0x8
- adds r6, r0, r1
- movs r1, 0
- ldrsh r0, [r6, r1]
- cmp r0, 0
- beq _0807986C
- cmp r0, 0x1
- beq _08079884
- b _0807998A
- .align 2, 0
-_08079868: .4byte gTasks+0x8
-_0807986C:
- ldr r2, _08079880 @ =0x00007878
- adds r0, r5, 0
- movs r1, 0x3
- bl sub_807999C
- ldrh r0, [r6]
- adds r0, 0x1
- strh r0, [r6]
- b _0807998A
- .align 2, 0
-_08079880: .4byte 0x00007878
-_08079884:
- ldrh r0, [r6, 0x2]
- adds r0, 0x1
- strh r0, [r6, 0x2]
- lsls r0, 16
- asrs r0, 16
- movs r2, 0x4
- ldrsh r1, [r6, r2]
- cmp r0, r1
- blt _0807998A
- movs r0, 0
- strh r0, [r6, 0x2]
- adds r0, r5, 0
- movs r1, 0x3
- bl sub_80799B4
- movs r0, 0x12
- strh r0, [r6, 0x4]
- adds r0, r5, 0
- movs r1, 0x3
- bl sub_80799B4
- lsls r0, 16
- movs r1, 0xC0
- lsls r1, 10
- ands r1, r0
- lsrs r1, 16
- subs r1, 0x2
- mov r8, r1
- adds r0, r5, 0
- movs r1, 0x3
- bl sub_80799B4
- lsls r0, 16
- movs r1, 0xE0
- lsls r1, 11
- ands r1, r0
- lsrs r1, 16
- adds r7, r1, 0
- subs r7, 0x10
- adds r0, r5, 0
- movs r1, 0x3
- bl sub_80799B4
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x3
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- adds r0, 0x74
- mov r9, r0
- adds r0, r5, 0
- movs r1, 0x3
- bl sub_80799B4
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xF0
- bl __umodsi3
- lsls r0, 16
- lsrs r4, r0, 16
- adds r0, r5, 0
- movs r1, 0x3
- bl sub_80799B4
- movs r2, 0
- lsls r0, 16
- movs r1, 0xF0
- lsls r1, 12
- ands r1, r0
- lsrs r1, 16
- cmp r1, 0x7
- bls _0807991C
- movs r2, 0x1
-_0807991C:
- str r2, [sp]
- adds r0, r4, 0
- mov r1, r9
- mov r2, r8
- adds r3, r7, 0
- bl sub_80797AC
- movs r4, 0
-_0807992C:
- ldr r1, _08079998 @ =gUnknown_83BFBD4
- adds r1, r4, r1
- movs r2, 0xA
- ldrsh r0, [r6, r2]
- ldrb r1, [r1]
- adds r0, r1
- movs r1, 0x1
- str r1, [sp]
- mov r1, r9
- mov r2, r8
- adds r3, r7, 0
- bl sub_80797AC
- adds r0, r5, 0
- movs r1, 0x3
- bl sub_80799B4
- lsls r0, 16
- movs r1, 0xC0
- lsls r1, 10
- ands r1, r0
- lsrs r1, 16
- subs r1, 0x2
- mov r8, r1
- adds r0, r5, 0
- movs r1, 0x3
- bl sub_80799B4
- lsls r0, 16
- movs r1, 0xE0
- lsls r1, 11
- ands r1, r0
- lsrs r1, 16
- adds r7, r1, 0
- subs r7, 0x10
- adds r4, 0x1
- cmp r4, 0xE
- ble _0807992C
- ldrh r0, [r6, 0xA]
- adds r0, 0x1
- strh r0, [r6, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3
- ble _0807998A
- movs r0, 0
- strh r0, [r6, 0xA]
-_0807998A:
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08079998: .4byte gUnknown_83BFBD4
- thumb_func_end sub_8079840
-
- thumb_func_start sub_807999C
-sub_807999C: @ 807999C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 16
- lsrs r2, 16
- bl SetWordTaskArg
- pop {r0}
- bx r0
- thumb_func_end sub_807999C
-
- thumb_func_start sub_80799B4
-sub_80799B4: @ 80799B4
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetWordTaskArg
- adds r6, r0, 0
- ldr r0, _080799E8 @ =0x41c64e6d
- muls r0, r6
- ldr r1, _080799EC @ =0x00006073
- adds r6, r0, r1
- adds r0, r4, 0
- adds r1, r5, 0
- adds r2, r6, 0
- bl SetWordTaskArg
- lsrs r0, r6, 16
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_080799E8: .4byte 0x41c64e6d
-_080799EC: .4byte 0x00006073
- thumb_func_end sub_80799B4
-
- thumb_func_start sub_80799F0
-sub_80799F0: @ 80799F0
- push {lr}
- ldr r0, _08079A0C @ =gUnknown_83BFB3C
- movs r1, 0x18
- movs r2, 0x90
- movs r3, 0
- bl CreateSprite
- movs r0, 0x2
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .align 2, 0
-_08079A0C: .4byte gUnknown_83BFB3C
- thumb_func_end sub_80799F0
-
- thumb_func_start sub_8079A10
-sub_8079A10: @ 8079A10
- push {lr}
- cmp r0, 0
- beq _08079A38
- movs r0, 0x2
- bl IndexOfSpritePaletteTag
- adds r1, r0, 0
- lsls r1, 24
- ldr r0, _08079A34 @ =gUnknown_8EAE488
- lsrs r1, 4
- movs r2, 0x80
- lsls r2, 17
- adds r1, r2
- lsrs r1, 16
- movs r2, 0x20
- bl LoadPalette
- b _08079A3C
- .align 2, 0
-_08079A34: .4byte gUnknown_8EAE488
-_08079A38:
- bl sub_80799F0
-_08079A3C:
- pop {r0}
- bx r0
- thumb_func_end sub_8079A10
-
- thumb_func_start sub_8079A40
-sub_8079A40: @ 8079A40
- push {r4,lr}
- ldr r0, _08079A7C @ =gUnknown_83BFB5C
- movs r1, 0x20
- negs r1, r1
- movs r2, 0x1B
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- adds r4, r1, 0
- cmp r1, 0x40
- beq _08079A74
- ldr r3, _08079A80 @ =gSprites
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r3, 0
- adds r1, 0x1C
- adds r1, r0, r1
- ldr r2, _08079A84 @ =sub_8079AD8
- str r2, [r1]
- adds r0, r3
- movs r1, 0x87
- lsls r1, 2
- strh r1, [r0, 0x30]
-_08079A74:
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08079A7C: .4byte gUnknown_83BFB5C
-_08079A80: .4byte gSprites
-_08079A84: .4byte sub_8079AD8
- thumb_func_end sub_8079A40
-
- thumb_func_start sub_8079A88
-sub_8079A88: @ 8079A88
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x40
- beq _08079AA0
- ldr r0, _08079AA4 @ =gSprites
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r0
- movs r0, 0x1
- strh r0, [r1, 0x32]
-_08079AA0:
- pop {r0}
- bx r0
- .align 2, 0
-_08079AA4: .4byte gSprites
- thumb_func_end sub_8079A88
-
- thumb_func_start sub_8079AA8
-sub_8079AA8: @ 8079AA8
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x40
- bne _08079AB6
- movs r0, 0
- b _08079ACE
-_08079AB6:
- ldr r1, _08079AD4 @ =gSprites
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- movs r2, 0x2E
- ldrsh r1, [r0, r2]
- movs r0, 0x2
- eors r1, r0
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
-_08079ACE:
- pop {r1}
- bx r1
- .align 2, 0
-_08079AD4: .4byte gSprites
- thumb_func_end sub_8079AA8
-
- thumb_func_start sub_8079AD8
-sub_8079AD8: @ 8079AD8
- push {lr}
- adds r2, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r2, r1]
- cmp r0, 0x1
- beq _08079B24
- cmp r0, 0x1
- bgt _08079B74
- cmp r0, 0
- bne _08079B74
- movs r1, 0x32
- ldrsh r0, [r2, r1]
- cmp r0, 0
- beq _08079B04
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r0, [r3]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r3]
- movs r0, 0x2
- strh r0, [r2, 0x2E]
-_08079B04:
- ldrh r0, [r2, 0x30]
- subs r0, 0x1
- strh r0, [r2, 0x30]
- lsls r0, 16
- cmp r0, 0
- bne _08079B74
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r0, [r3]
- movs r1, 0x5
- negs r1, r1
- ands r1, r0
- strb r1, [r3]
- movs r0, 0x1
- strh r0, [r2, 0x2E]
- b _08079B74
-_08079B24:
- ldrh r0, [r2, 0x20]
- adds r0, 0x9
- strh r0, [r2, 0x20]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x43
- bne _08079B38
- ldrh r0, [r2, 0x22]
- subs r0, 0x7
- strh r0, [r2, 0x22]
-_08079B38:
- movs r0, 0x20
- ldrsh r1, [r2, r0]
- cmp r1, 0x94
- bne _08079B46
- ldrh r0, [r2, 0x22]
- adds r0, 0x7
- strh r0, [r2, 0x22]
-_08079B46:
- movs r0, 0x88
- lsls r0, 1
- cmp r1, r0
- ble _08079B74
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r0, [r3]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r3]
- movs r0, 0x32
- ldrsh r1, [r2, r0]
- cmp r1, 0
- beq _08079B68
- movs r0, 0x2
- strh r0, [r2, 0x2E]
- b _08079B74
-_08079B68:
- ldr r0, _08079B78 @ =0x0000ffe0
- strh r0, [r2, 0x20]
- movs r0, 0x87
- lsls r0, 2
- strh r0, [r2, 0x30]
- strh r1, [r2, 0x2E]
-_08079B74:
- pop {r0}
- bx r0
- .align 2, 0
-_08079B78: .4byte 0x0000ffe0
- thumb_func_end sub_8079AD8
-
- .align 2, 0 @ Don't pad with nop.