summaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
Diffstat (limited to 'asm')
-rw-r--r--asm/field_weather.s3024
-rw-r--r--asm/field_weather_effects.s5240
-rw-r--r--asm/overworld.s12
-rw-r--r--asm/pokemon_storage_system.s23034
-rw-r--r--asm/pokemon_summary_screen.s2
5 files changed, 7 insertions, 31305 deletions
diff --git a/asm/field_weather.s b/asm/field_weather.s
deleted file mode 100644
index c5204def2..000000000
--- a/asm/field_weather.s
+++ /dev/null
@@ -1,3024 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_8079C08
-sub_8079C08: @ 8079C08
- push {r4-r6,lr}
- ldr r0, _08079CCC @ =Task_WeatherMain
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0
- bne _08079CC4
- movs r0, 0x90
- lsls r0, 5
- bl AllocSpritePalette
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r0, _08079CD0 @ =gUnknown_83C2CE0
- lsls r1, r5, 5
- ldr r2, _08079CD4 @ =gPlttBufferUnfaded + 0x200
- adds r1, r2
- ldr r2, _08079CD8 @ =0x04000008
- bl CpuSet
- adds r0, r5, 0
- bl sub_8083598
- bl sub_8079EE8
- ldr r4, _08079CDC @ =gUnknown_2037F34
- ldr r1, _08079CE0 @ =0x000006d5
- adds r0, r4, r1
- strb r5, [r0]
- subs r1, 0x1
- adds r0, r4, r1
- strb r5, [r0]
- adds r1, 0x6
- adds r0, r4, r1
- strb r6, [r0]
- subs r1, 0x2
- adds r0, r4, r1
- strb r6, [r0]
- adds r1, 0x6
- adds r0, r4, r1
- strb r6, [r0]
- adds r1, 0x6
- adds r0, r4, r1
- strb r6, [r0]
- adds r1, 0x1C
- adds r0, r4, r1
- strb r6, [r0]
- subs r1, 0x5
- adds r0, r4, r1
- strb r6, [r0]
- adds r1, 0x29
- adds r0, r4, r1
- strb r6, [r0]
- subs r1, 0xE
- adds r0, r4, r1
- strb r6, [r0]
- adds r1, 0x1
- adds r0, r4, r1
- strb r6, [r0]
- adds r1, 0x17
- adds r0, r4, r1
- strb r6, [r0]
- subs r1, 0x34
- adds r0, r4, r1
- strb r6, [r0]
- movs r0, 0x10
- movs r1, 0
- bl Weather_SetBlendCoeffs
- movs r1, 0xDA
- lsls r1, 3
- adds r0, r4, r1
- strb r6, [r0]
- ldr r0, _08079CE4 @ =0x000006c6
- adds r1, r4, r0
- movs r0, 0x3
- strb r0, [r1]
- movs r1, 0xD9
- lsls r1, 3
- adds r0, r4, r1
- strb r6, [r0]
- ldr r0, _08079CE8 @ =0x000006d3
- adds r1, r4, r0
- movs r0, 0x1
- strb r0, [r1]
- ldr r0, _08079CEC @ =Task_WeatherInit
- movs r1, 0x50
- bl CreateTask
- ldr r1, _08079CF0 @ =0x000006c9
- adds r4, r1
- strb r0, [r4]
-_08079CC4:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08079CCC: .4byte Task_WeatherMain
-_08079CD0: .4byte gUnknown_83C2CE0
-_08079CD4: .4byte gPlttBufferUnfaded + 0x200
-_08079CD8: .4byte 0x04000008
-_08079CDC: .4byte gUnknown_2037F34
-_08079CE0: .4byte 0x000006d5
-_08079CE4: .4byte 0x000006c6
-_08079CE8: .4byte 0x000006d3
-_08079CEC: .4byte Task_WeatherInit
-_08079CF0: .4byte 0x000006c9
- thumb_func_end sub_8079C08
-
- thumb_func_start weather_set
-weather_set: @ 8079CF4
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- beq _08079D0A
- cmp r4, 0x5
- beq _08079D0A
- cmp r4, 0xD
- beq _08079D0A
- bl PlayRainStoppingSoundEffect
-_08079D0A:
- ldr r1, _08079D4C @ =gUnknown_2037F34
- ldr r2, _08079D50 @ =0x000006d1
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, r4
- beq _08079D2E
- movs r3, 0xDA
- lsls r3, 3
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, r4
- bne _08079D2E
- ldr r0, _08079D54 @ =gUnknown_83C2BC0
- lsls r1, r4, 4
- adds r1, r0
- ldr r0, [r1]
- bl _call_via_r0
-_08079D2E:
- ldr r1, _08079D4C @ =gUnknown_2037F34
- ldr r2, _08079D58 @ =0x000006d3
- adds r0, r1, r2
- movs r2, 0
- strb r2, [r0]
- ldr r3, _08079D50 @ =0x000006d1
- adds r0, r1, r3
- strb r4, [r0]
- ldr r0, _08079D5C @ =0x000006ce
- adds r1, r0
- strh r2, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08079D4C: .4byte gUnknown_2037F34
-_08079D50: .4byte 0x000006d1
-_08079D54: .4byte gUnknown_83C2BC0
-_08079D58: .4byte 0x000006d3
-_08079D5C: .4byte 0x000006ce
- thumb_func_end weather_set
-
- thumb_func_start sub_8079D60
-sub_8079D60: @ 8079D60
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl PlayRainStoppingSoundEffect
- ldr r0, _08079D84 @ =gUnknown_2037F34
- movs r2, 0xDA
- lsls r2, 3
- adds r1, r0, r2
- strb r4, [r1]
- ldr r1, _08079D88 @ =0x000006d1
- adds r0, r1
- strb r4, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08079D84: .4byte gUnknown_2037F34
-_08079D88: .4byte 0x000006d1
- thumb_func_end sub_8079D60
-
- thumb_func_start sub_8079D8C
-sub_8079D8C: @ 8079D8C
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl PlayRainStoppingSoundEffect
- ldr r1, _08079DB8 @ =gUnknown_2037F34
- movs r2, 0xDA
- lsls r2, 3
- adds r0, r1, r2
- strb r4, [r0]
- adds r2, 0x1
- adds r0, r1, r2
- strb r4, [r0]
- movs r0, 0xD9
- lsls r0, 3
- adds r1, r0
- movs r0, 0x1
- strb r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08079DB8: .4byte gUnknown_2037F34
- thumb_func_end sub_8079D8C
-
- thumb_func_start Task_WeatherInit
-Task_WeatherInit: @ 8079DBC
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r2, _08079DFC @ =gUnknown_2037F34
- movs r1, 0xD9
- lsls r1, 3
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _08079DF4
- ldr r1, _08079E00 @ =gUnknown_83C2BC0
- movs r3, 0xDA
- lsls r3, 3
- adds r0, r2, r3
- ldrb r0, [r0]
- lsls r0, 4
- adds r1, 0x8
- adds r0, r1
- ldr r0, [r0]
- bl _call_via_r0
- ldr r1, _08079E04 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _08079E08 @ =Task_WeatherMain
- str r1, [r0]
-_08079DF4:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08079DFC: .4byte gUnknown_2037F34
-_08079E00: .4byte gUnknown_83C2BC0
-_08079E04: .4byte gTasks
-_08079E08: .4byte Task_WeatherMain
- thumb_func_end Task_WeatherInit
-
- thumb_func_start Task_WeatherMain
-Task_WeatherMain: @ 8079E0C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r5, _08079E68 @ =gUnknown_2037F34
- movs r0, 0xDA
- lsls r0, 3
- adds r6, r5, r0
- ldr r1, _08079E6C @ =0x000006d1
- adds r7, r5, r1
- ldrb r0, [r6]
- ldrb r2, [r7]
- cmp r0, r2
- beq _08079E80
- ldr r0, _08079E70 @ =gUnknown_83C2BC0
- mov r8, r0
- ldrb r0, [r6]
- lsls r0, 4
- mov r1, r8
- adds r1, 0xC
- adds r0, r1
- ldr r0, [r0]
- bl _call_via_r0
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _08079E90
- ldrb r0, [r7]
- lsls r0, 4
- add r0, r8
- ldr r0, [r0]
- bl _call_via_r0
- ldr r1, _08079E74 @ =0x000006c3
- adds r0, r5, r1
- strb r4, [r0]
- ldr r2, _08079E78 @ =0x000006c6
- adds r0, r5, r2
- strb r4, [r0]
- ldrb r0, [r7]
- strb r0, [r6]
- ldr r0, _08079E7C @ =0x000006d3
- adds r1, r5, r0
- movs r0, 0x1
- strb r0, [r1]
- b _08079E90
- .align 2, 0
-_08079E68: .4byte gUnknown_2037F34
-_08079E6C: .4byte 0x000006d1
-_08079E70: .4byte gUnknown_83C2BC0
-_08079E74: .4byte 0x000006c3
-_08079E78: .4byte 0x000006c6
-_08079E7C: .4byte 0x000006d3
-_08079E80:
- ldr r0, _08079EB0 @ =gUnknown_83C2BC0
- ldrb r1, [r6]
- lsls r1, 4
- adds r0, 0x4
- adds r1, r0
- ldr r0, [r1]
- bl _call_via_r0
-_08079E90:
- ldr r1, _08079EB4 @ =gUnknown_83C2CB0
- ldr r0, _08079EB8 @ =gUnknown_2037F34
- ldr r2, _08079EBC @ =0x000006c6
- adds r0, r2
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- bl _call_via_r0
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08079EB0: .4byte gUnknown_83C2BC0
-_08079EB4: .4byte gUnknown_83C2CB0
-_08079EB8: .4byte gUnknown_2037F34
-_08079EBC: .4byte 0x000006c6
- thumb_func_end Task_WeatherMain
-
- thumb_func_start sub_8079EC0
-sub_8079EC0: @ 8079EC0
- ldr r0, _08079ED4 @ =gUnknown_2037F34
- ldr r2, _08079ED8 @ =0x000006c1
- adds r1, r0, r2
- movs r2, 0
- strb r2, [r1]
- ldr r1, _08079EDC @ =0x000006c2
- adds r0, r1
- strb r2, [r0]
- bx lr
- .align 2, 0
-_08079ED4: .4byte gUnknown_2037F34
-_08079ED8: .4byte 0x000006c1
-_08079EDC: .4byte 0x000006c2
- thumb_func_end sub_8079EC0
-
- thumb_func_start nullsub_45
-nullsub_45: @ 8079EE0
- bx lr
- thumb_func_end nullsub_45
-
- thumb_func_start sub_8079EE4
-sub_8079EE4: @ 8079EE4
- movs r0, 0
- bx lr
- thumb_func_end sub_8079EE4
-
- thumb_func_start sub_8079EE8
-sub_8079EE8: @ 8079EE8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r1, _08079F28 @ =gUnknown_20386A4
- ldr r0, _08079F2C @ =gUnknown_83C2CC0
- str r0, [r1]
- movs r0, 0
- mov r12, r0
- ldr r1, _08079F30 @ =gUnknown_2038394
- mov r10, r1
-_08079F00:
- mov r7, r10
- mov r0, r12
- cmp r0, 0
- bne _08079F0C
- ldr r1, _08079F34 @ =0xfffffda0
- adds r7, r1
-_08079F0C:
- movs r5, 0
- movs r0, 0x1
- add r0, r12
- mov r9, r0
-_08079F14:
- lsls r1, r5, 8
- lsls r0, r5, 24
- lsrs r2, r0, 16
- mov r0, r12
- cmp r0, 0
- bne _08079F38
- adds r0, r1, 0
- lsls r0, 12
- lsrs r4, r0, 16
- b _08079F3A
- .align 2, 0
-_08079F28: .4byte gUnknown_20386A4
-_08079F2C: .4byte gUnknown_83C2CC0
-_08079F30: .4byte gUnknown_2038394
-_08079F34: .4byte 0xfffffda0
-_08079F38:
- movs r4, 0
-_08079F3A:
- movs r3, 0
- adds r1, r5, 0x1
- mov r8, r1
-_08079F40:
- subs r1, r2, r4
- lsls r1, 16
- lsrs r2, r1, 16
- lsls r0, r3, 5
- adds r0, r7
- adds r0, r5
- lsrs r1, 24
- strb r1, [r0]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x2
- bls _08079F40
- adds r6, r2, 0
- movs r0, 0xF8
- lsls r0, 5
- subs r0, r2
- cmp r0, 0
- bge _08079F68
- adds r0, 0xF
-_08079F68:
- lsls r0, 12
- lsrs r4, r0, 16
- cmp r5, 0xB
- bhi _08079FB2
- cmp r3, 0x12
- bhi _08079FD8
-_08079F74:
- adds r0, r2, r4
- lsls r0, 16
- lsrs r2, r0, 16
- subs r0, r2, r6
- lsls r0, 16
- asrs r1, r0, 16
- cmp r1, 0
- ble _08079F90
- lsrs r0, 31
- adds r0, r1, r0
- asrs r0, 1
- subs r0, r2, r0
- lsls r0, 16
- lsrs r2, r0, 16
-_08079F90:
- lsls r0, r3, 5
- adds r0, r7
- adds r1, r0, r5
- lsrs r0, r2, 8
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1F
- bls _08079FA6
- movs r0, 0x1F
- strb r0, [r1]
-_08079FA6:
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x12
- bls _08079F74
- b _08079FD8
-_08079FB2:
- cmp r3, 0x12
- bhi _08079FD8
- movs r6, 0x1F
-_08079FB8:
- adds r1, r2, r4
- lsls r1, 16
- lsrs r2, r1, 16
- lsls r0, r3, 5
- adds r0, r7
- adds r0, r5
- lsrs r1, 24
- strb r1, [r0]
- cmp r1, 0x1F
- bls _08079FCE
- strb r6, [r0]
-_08079FCE:
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x12
- bls _08079FB8
-_08079FD8:
- mov r1, r8
- lsls r0, r1, 16
- lsrs r5, r0, 16
- cmp r5, 0x1F
- bls _08079F14
- mov r1, r9
- lsls r0, r1, 16
- lsrs r0, 16
- mov r12, r0
- cmp r0, 0x1
- bls _08079F00
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8079EE8
-
- thumb_func_start sub_8079FFC
-sub_8079FFC: @ 8079FFC
- push {r4-r7,lr}
- ldr r0, _0807A028 @ =gUnknown_2037F34
- movs r1, 0xD8
- lsls r1, 3
- adds r4, r0, r1
- ldr r2, _0807A02C @ =0x000006c1
- adds r1, r0, r2
- ldrb r7, [r4]
- mov r12, r7
- movs r6, 0
- ldrsb r6, [r4, r6]
- movs r5, 0
- ldrsb r5, [r1, r5]
- adds r3, r0, 0
- cmp r6, r5
- bne _0807A034
- ldr r0, _0807A030 @ =0x000006c6
- adds r1, r3, r0
- movs r0, 0x3
- strb r0, [r1]
- b _0807A07C
- .align 2, 0
-_0807A028: .4byte gUnknown_2037F34
-_0807A02C: .4byte 0x000006c1
-_0807A030: .4byte 0x000006c6
-_0807A034:
- ldr r1, _0807A05C @ =0x000006c3
- adds r2, r3, r1
- ldrb r0, [r2]
- adds r0, 0x1
- strb r0, [r2]
- ldr r7, _0807A060 @ =0x000006c2
- adds r1, r3, r7
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r1]
- cmp r0, r1
- bcc _0807A07C
- movs r0, 0
- strb r0, [r2]
- mov r0, r12
- cmp r6, r5
- bge _0807A064
- adds r0, 0x1
- b _0807A068
- .align 2, 0
-_0807A05C: .4byte 0x000006c3
-_0807A060: .4byte 0x000006c2
-_0807A064:
- mov r0, r12
- subs r0, 0x1
-_0807A068:
- strb r0, [r4]
- movs r1, 0xD8
- lsls r1, 3
- adds r0, r3, r1
- movs r2, 0
- ldrsb r2, [r0, r2]
- movs r0, 0
- movs r1, 0x20
- bl sub_807A294
-_0807A07C:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8079FFC
-
- thumb_func_start sub_807A084
-sub_807A084: @ 807A084
- push {lr}
- ldr r2, _0807A0BC @ =gUnknown_2037F34
- ldr r0, _0807A0C0 @ =0x000006cb
- adds r1, r2, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bls _0807A0A2
- ldr r3, _0807A0C4 @ =0x000006ca
- adds r1, r2, r3
- movs r0, 0
- strb r0, [r1]
-_0807A0A2:
- movs r1, 0xDA
- lsls r1, 3
- adds r0, r2, r1
- ldrb r0, [r0]
- subs r0, 0x3
- cmp r0, 0xA
- bhi _0807A16C
- lsls r0, 2
- ldr r1, _0807A0C8 @ =_0807A0CC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0807A0BC: .4byte gUnknown_2037F34
-_0807A0C0: .4byte 0x000006cb
-_0807A0C4: .4byte 0x000006ca
-_0807A0C8: .4byte _0807A0CC
- .align 2, 0
-_0807A0CC:
- .4byte _0807A0F8
- .4byte _0807A0F8
- .4byte _0807A0F8
- .4byte _0807A144
- .4byte _0807A16C
- .4byte _0807A16C
- .4byte _0807A16C
- .4byte _0807A16C
- .4byte _0807A0F8
- .4byte _0807A120
- .4byte _0807A0F8
-_0807A0F8:
- bl sub_807A19C
- lsls r0, 24
- cmp r0, 0
- bne _0807A18C
- ldr r0, _0807A118 @ =gUnknown_2037F34
- movs r2, 0xD8
- lsls r2, 3
- adds r1, r0, r2
- movs r2, 0x3
- strb r2, [r1]
- ldr r3, _0807A11C @ =0x000006c6
- adds r0, r3
- strb r2, [r0]
- b _0807A18C
- .align 2, 0
-_0807A118: .4byte gUnknown_2037F34
-_0807A11C: .4byte 0x000006c6
-_0807A120:
- bl sub_807A1FC
- lsls r0, 24
- cmp r0, 0
- bne _0807A18C
- ldr r1, _0807A13C @ =gUnknown_2037F34
- movs r0, 0xD8
- lsls r0, 3
- adds r2, r1, r0
- movs r0, 0xFA
- strb r0, [r2]
- ldr r2, _0807A140 @ =0x000006c6
- adds r1, r2
- b _0807A188
- .align 2, 0
-_0807A13C: .4byte gUnknown_2037F34
-_0807A140: .4byte 0x000006c6
-_0807A144:
- bl sub_807A254
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- bne _0807A18C
- ldr r0, _0807A164 @ =gUnknown_2037F34
- movs r3, 0xD8
- lsls r3, 3
- adds r1, r0, r3
- strb r2, [r1]
- ldr r1, _0807A168 @ =0x000006c6
- adds r0, r1
- movs r1, 0x3
- strb r1, [r0]
- b _0807A18C
- .align 2, 0
-_0807A164: .4byte gUnknown_2037F34
-_0807A168: .4byte 0x000006c6
-_0807A16C:
- ldr r0, _0807A190 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0807A18C
- ldr r3, _0807A194 @ =0x000006c1
- adds r0, r2, r3
- ldrb r1, [r0]
- subs r3, 0x1
- adds r0, r2, r3
- strb r1, [r0]
- ldr r0, _0807A198 @ =0x000006c6
- adds r1, r2, r0
-_0807A188:
- movs r0, 0x3
- strb r0, [r1]
-_0807A18C:
- pop {r0}
- bx r0
- .align 2, 0
-_0807A190: .4byte gPaletteFade
-_0807A194: .4byte 0x000006c1
-_0807A198: .4byte 0x000006c6
- thumb_func_end sub_807A084
-
- thumb_func_start sub_807A19C
-sub_807A19C: @ 807A19C
- push {r4,lr}
- sub sp, 0x4
- ldr r2, _0807A1D8 @ =gUnknown_2037F34
- ldr r0, _0807A1DC @ =0x000006c7
- adds r4, r2, r0
- ldrb r0, [r4]
- cmp r0, 0x10
- beq _0807A1F2
- adds r1, r0, 0x1
- strb r1, [r4]
- lsls r0, r1, 24
- lsrs r0, 24
- cmp r0, 0xF
- bhi _0807A1E4
- movs r3, 0x10
- subs r3, r1
- lsls r3, 24
- lsrs r3, 24
- ldr r1, _0807A1E0 @ =0x000006c4
- adds r0, r2, r1
- ldrh r0, [r0]
- str r0, [sp]
- movs r0, 0
- movs r1, 0x20
- movs r2, 0x3
- bl sub_807A3D0
- movs r0, 0x1
- b _0807A1F4
- .align 2, 0
-_0807A1D8: .4byte gUnknown_2037F34
-_0807A1DC: .4byte 0x000006c7
-_0807A1E0: .4byte 0x000006c4
-_0807A1E4:
- movs r0, 0
- movs r1, 0x20
- movs r2, 0x3
- bl sub_807A294
- movs r0, 0x10
- strb r0, [r4]
-_0807A1F2:
- movs r0, 0
-_0807A1F4:
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_807A19C
-
- thumb_func_start sub_807A1FC
-sub_807A1FC: @ 807A1FC
- push {r4,lr}
- ldr r2, _0807A230 @ =gUnknown_2037F34
- ldr r0, _0807A234 @ =0x000006c7
- adds r4, r2, r0
- ldrb r0, [r4]
- cmp r0, 0x10
- beq _0807A24C
- adds r3, r0, 0x1
- strb r3, [r4]
- lsls r0, r3, 24
- lsrs r0, 24
- cmp r0, 0xF
- bhi _0807A23C
- movs r0, 0x6
- negs r0, r0
- movs r1, 0x10
- subs r1, r3
- lsls r1, 24
- lsrs r1, 24
- ldr r3, _0807A238 @ =0x000006c4
- adds r2, r3
- ldrh r2, [r2]
- bl sub_807A518
- movs r0, 0x1
- b _0807A24E
- .align 2, 0
-_0807A230: .4byte gUnknown_2037F34
-_0807A234: .4byte 0x000006c7
-_0807A238: .4byte 0x000006c4
-_0807A23C:
- movs r2, 0x6
- negs r2, r2
- movs r0, 0
- movs r1, 0x20
- bl sub_807A294
- movs r0, 0x10
- strb r0, [r4]
-_0807A24C:
- movs r0, 0
-_0807A24E:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_807A1FC
-
- thumb_func_start sub_807A254
-sub_807A254: @ 807A254
- push {lr}
- ldr r2, _0807A27C @ =gUnknown_2037F34
- ldr r1, _0807A280 @ =0x000006c7
- adds r0, r2, r1
- ldrb r1, [r0]
- cmp r1, 0x10
- beq _0807A288
- adds r1, 0x1
- strb r1, [r0]
- movs r0, 0x10
- subs r0, r1
- lsls r0, 24
- lsrs r0, 24
- ldr r3, _0807A284 @ =0x000006c4
- adds r1, r2, r3
- ldrh r1, [r1]
- bl sub_807A5F8
- movs r0, 0x1
- b _0807A28A
- .align 2, 0
-_0807A27C: .4byte gUnknown_2037F34
-_0807A280: .4byte 0x000006c7
-_0807A284: .4byte 0x000006c4
-_0807A288:
- movs r0, 0
-_0807A28A:
- pop {r1}
- bx r1
- thumb_func_end sub_807A254
-
- thumb_func_start nullsub_46
-nullsub_46: @ 807A290
- bx lr
- thumb_func_end nullsub_46
-
- thumb_func_start sub_807A294
-sub_807A294: @ 807A294
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r3, r0, 24
- adds r4, r3, 0
- lsls r1, 24
- lsrs r1, 24
- mov r9, r1
- lsls r2, 24
- asrs r0, r2, 24
- cmp r0, 0
- ble _0807A3A0
- subs r0, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r6, r3, 4
- adds r0, r1, r3
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- cmp r4, r9
- bcs _0807A3B6
- lsls r0, r2, 24
- asrs r0, 19
- str r0, [sp]
-_0807A2CE:
- ldr r0, _0807A300 @ =gUnknown_20386A4
- ldr r0, [r0]
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0
- bne _0807A30C
- lsls r1, r6, 1
- ldr r0, _0807A304 @ =gPlttBufferUnfaded
- adds r0, r1, r0
- ldr r2, _0807A308 @ =gPlttBufferFaded
- adds r1, r2
- movs r2, 0x8
- bl CpuFastSet
- adds r0, r6, 0
- adds r0, 0x10
- lsls r0, 16
- lsrs r6, r0, 16
- mov r0, r9
- lsls r0, 16
- mov r8, r0
- adds r4, 0x1
- mov r12, r4
- b _0807A38A
- .align 2, 0
-_0807A300: .4byte gUnknown_20386A4
-_0807A304: .4byte gPlttBufferUnfaded
-_0807A308: .4byte gPlttBufferFaded
-_0807A30C:
- cmp r0, 0x2
- beq _0807A320
- adds r1, r4, 0
- subs r1, 0x10
- ldr r2, _0807A324 @ =gUnknown_2037F34
- ldr r3, _0807A328 @ =0x000006d5
- adds r0, r2, r3
- ldrb r0, [r0]
- cmp r1, r0
- bne _0807A330
-_0807A320:
- ldr r0, _0807A32C @ =gUnknown_2038394
- b _0807A336
- .align 2, 0
-_0807A324: .4byte gUnknown_2037F34
-_0807A328: .4byte 0x000006d5
-_0807A32C: .4byte gUnknown_2038394
-_0807A330:
- movs r3, 0x80
- lsls r3, 2
- adds r0, r2, r3
-_0807A336:
- ldr r1, [sp]
- adds r5, r1, r0
- movs r7, 0
- mov r3, r9
- lsls r3, 16
- mov r8, r3
- adds r4, 0x1
- mov r12, r4
- ldr r0, _0807A398 @ =gPlttBufferFaded
- mov r10, r0
-_0807A34A:
- adds r2, r6, 0
- lsls r0, r2, 1
- ldr r1, _0807A39C @ =gPlttBufferUnfaded
- adds r0, r1
- ldr r1, [r0]
- lsls r0, r1, 27
- lsrs r0, 27
- adds r0, r5, r0
- ldrb r4, [r0]
- lsls r0, r1, 22
- lsrs r0, 27
- adds r0, r5, r0
- ldrb r3, [r0]
- lsls r1, 17
- lsrs r1, 27
- adds r1, r5, r1
- ldrb r1, [r1]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- lsls r2, 1
- add r2, r10
- lsls r1, 10
- lsls r3, 5
- orrs r1, r3
- orrs r1, r4
- strh r1, [r2]
- adds r0, r7, 0x1
- lsls r0, 16
- lsrs r7, r0, 16
- cmp r7, 0xF
- bls _0807A34A
-_0807A38A:
- mov r3, r12
- lsls r0, r3, 16
- lsrs r4, r0, 16
- cmp r0, r8
- bcc _0807A2CE
- b _0807A3B6
- .align 2, 0
-_0807A398: .4byte gPlttBufferFaded
-_0807A39C: .4byte gPlttBufferUnfaded
-_0807A3A0:
- cmp r0, 0
- blt _0807A3B6
- lsls r1, r4, 5
- ldr r0, _0807A3C8 @ =gPlttBufferUnfaded
- adds r0, r1, r0
- ldr r2, _0807A3CC @ =gPlttBufferFaded
- adds r1, r2
- mov r3, r9
- lsls r2, r3, 3
- bl CpuFastSet
-_0807A3B6:
- 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
-_0807A3C8: .4byte gPlttBufferUnfaded
-_0807A3CC: .4byte gPlttBufferFaded
- thumb_func_end sub_807A294
-
- thumb_func_start sub_807A3D0
-sub_807A3D0: @ 807A3D0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- ldr r4, [sp, 0x34]
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- mov r10, r1
- lsls r3, 24
- lsrs r3, 24
- mov r8, r3
- mov r1, sp
- strh r4, [r1]
- ldr r1, [sp]
- lsls r3, r1, 27
- lsrs r3, 27
- str r3, [sp, 0x4]
- lsls r3, r1, 22
- lsrs r3, 27
- str r3, [sp, 0x8]
- lsls r1, 17
- lsrs r1, 27
- str r1, [sp, 0xC]
- lsls r6, r0, 4
- mov r3, r10
- adds r1, r3, r0
- lsls r1, 24
- lsrs r1, 24
- mov r10, r1
- lsls r2, 24
- movs r1, 0xFF
- lsls r1, 24
- adds r2, r1
- lsrs r2, 24
- adds r4, r0, 0
- cmp r4, r10
- bcs _0807A4FC
- lsls r0, r2, 24
- asrs r0, 19
- str r0, [sp, 0x10]
-_0807A428:
- ldr r0, _0807A458 @ =gUnknown_20386A4
- ldr r0, [r0]
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0
- bne _0807A45C
- mov r0, sp
- ldrh r3, [r0]
- adds r0, r6, 0
- movs r1, 0x10
- mov r2, r8
- bl BlendPalette
- adds r0, r6, 0
- adds r0, 0x10
- lsls r0, 16
- lsrs r6, r0, 16
- mov r3, r10
- lsls r3, 16
- mov r9, r3
- adds r4, 0x1
- mov r12, r4
- b _0807A4F2
- .align 2, 0
-_0807A458: .4byte gUnknown_20386A4
-_0807A45C:
- cmp r0, 0x1
- bne _0807A46C
- ldr r0, _0807A468 @ =gUnknown_2038134
- ldr r1, [sp, 0x10]
- adds r5, r1, r0
- b _0807A472
- .align 2, 0
-_0807A468: .4byte gUnknown_2038134
-_0807A46C:
- ldr r0, _0807A50C @ =gUnknown_2038394
- ldr r3, [sp, 0x10]
- adds r5, r3, r0
-_0807A472:
- movs r7, 0
- mov r0, r10
- lsls r0, 16
- mov r9, r0
- adds r4, 0x1
- mov r12, r4
-_0807A47E:
- adds r4, r6, 0
- lsls r0, r4, 1
- ldr r1, _0807A510 @ =gPlttBufferUnfaded
- adds r0, r1
- ldr r1, [r0]
- lsls r0, r1, 27
- lsrs r0, 27
- adds r0, r5, r0
- ldrb r3, [r0]
- lsls r0, r1, 22
- lsrs r0, 27
- adds r0, r5, r0
- ldrb r2, [r0]
- lsls r1, 17
- lsrs r1, 27
- adds r1, r5, r1
- ldrb r1, [r1]
- ldr r6, [sp, 0x4]
- subs r0, r6, r3
- mov r6, r8
- muls r6, r0
- adds r0, r6, 0
- asrs r0, 4
- adds r3, r0
- lsls r3, 24
- lsrs r3, 24
- ldr r6, [sp, 0x8]
- subs r0, r6, r2
- mov r6, r8
- muls r6, r0
- adds r0, r6, 0
- asrs r0, 4
- adds r2, r0
- lsls r2, 24
- ldr r6, [sp, 0xC]
- subs r0, r6, r1
- mov r6, r8
- muls r6, r0
- adds r0, r6, 0
- asrs r0, 4
- adds r1, r0
- lsls r1, 24
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- lsls r4, 1
- ldr r0, _0807A514 @ =gPlttBufferFaded
- adds r4, r0
- lsrs r1, 14
- lsrs r2, 19
- orrs r1, r2
- orrs r1, r3
- strh r1, [r4]
- adds r0, r7, 0x1
- lsls r0, 16
- lsrs r7, r0, 16
- cmp r7, 0xF
- bls _0807A47E
-_0807A4F2:
- mov r1, r12
- lsls r0, r1, 16
- lsrs r4, r0, 16
- cmp r0, r9
- bcc _0807A428
-_0807A4FC:
- add sp, 0x14
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0807A50C: .4byte gUnknown_2038394
-_0807A510: .4byte gPlttBufferUnfaded
-_0807A514: .4byte gPlttBufferFaded
- thumb_func_end sub_807A3D0
-
- thumb_func_start sub_807A518
-sub_807A518: @ 807A518
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- lsls r1, 24
- lsrs r6, r1, 24
- mov r0, sp
- strh r2, [r0]
- ldr r0, [sp]
- lsls r1, r0, 27
- lsrs r1, 27
- str r1, [sp, 0x4]
- lsls r1, r0, 22
- lsrs r1, 27
- mov r10, r1
- lsls r0, 17
- lsrs r0, 27
- mov r8, r0
- movs r5, 0
- movs r4, 0
-_0807A544:
- ldr r0, _0807A56C @ =gUnknown_20386A4
- ldr r0, [r0]
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0
- bne _0807A570
- mov r0, sp
- ldrh r3, [r0]
- adds r0, r5, 0
- movs r1, 0x10
- adds r2, r6, 0
- bl BlendPalette
- adds r0, r5, 0
- adds r0, 0x10
- lsls r0, 16
- lsrs r5, r0, 16
- adds r4, 0x1
- mov r12, r4
- b _0807A5D4
- .align 2, 0
-_0807A56C: .4byte gUnknown_20386A4
-_0807A570:
- movs r7, 0
- adds r4, 0x1
- mov r12, r4
- ldr r0, _0807A5F0 @ =gPlttBufferFaded
- mov r9, r0
-_0807A57A:
- adds r4, r5, 0
- lsls r0, r4, 1
- ldr r1, _0807A5F4 @ =gPlttBufferUnfaded
- adds r0, r1
- ldr r1, [r0]
- lsls r3, r1, 27
- lsrs r3, 27
- lsls r2, r1, 22
- lsrs r2, 27
- lsls r1, 17
- lsrs r1, 27
- ldr r5, [sp, 0x4]
- subs r0, r5, r3
- muls r0, r6
- asrs r0, 4
- adds r3, r0
- lsls r3, 24
- lsrs r3, 24
- mov r5, r10
- subs r0, r5, r2
- muls r0, r6
- asrs r0, 4
- adds r2, r0
- lsls r2, 24
- mov r5, r8
- subs r0, r5, r1
- muls r0, r6
- asrs r0, 4
- adds r1, r0
- lsls r1, 24
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- lsls r4, 1
- add r4, r9
- lsrs r1, 14
- lsrs r2, 19
- orrs r1, r2
- orrs r1, r3
- strh r1, [r4]
- adds r0, r7, 0x1
- lsls r0, 16
- lsrs r7, r0, 16
- cmp r7, 0xF
- bls _0807A57A
-_0807A5D4:
- mov r1, r12
- lsls r0, r1, 16
- lsrs r4, r0, 16
- cmp r4, 0x1F
- bls _0807A544
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0807A5F0: .4byte gPlttBufferFaded
-_0807A5F4: .4byte gPlttBufferUnfaded
- thumb_func_end sub_807A518
-
- thumb_func_start sub_807A5F8
-sub_807A5F8: @ 807A5F8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- adds r3, r1, 0
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r3, 16
- lsrs r3, 16
- mov r0, sp
- strh r3, [r0]
- movs r1, 0x80
- lsls r1, 1
- movs r0, 0
- adds r2, r7, 0
- bl BlendPalette
- ldr r0, [sp]
- lsls r1, r0, 27
- lsrs r1, 27
- str r1, [sp, 0x4]
- lsls r1, r0, 22
- lsrs r1, 27
- str r1, [sp, 0x8]
- lsls r0, 17
- lsrs r0, 27
- mov r10, r0
- movs r4, 0x10
-_0807A634:
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_807A748
- lsls r0, 24
- cmp r0, 0
- beq _0807A6E4
- adds r0, r4, 0x1
- lsls r1, r0, 20
- lsrs r1, 16
- mov r12, r1
- lsls r1, r4, 20
- lsrs r6, r1, 16
- mov r9, r0
- cmp r6, r12
- bcs _0807A6F8
- movs r0, 0x1C
- mov r8, r0
-_0807A658:
- lsls r5, r6, 1
- ldr r0, _0807A6DC @ =gPlttBufferUnfaded
- adds r0, r5, r0
- ldr r2, [r0]
- lsls r4, r2, 27
- lsrs r4, 27
- lsls r3, r2, 22
- lsrs r3, 27
- lsls r2, 17
- lsrs r2, 27
- mov r0, r8
- subs r1, r0, r4
- lsls r0, r1, 1
- adds r0, r1
- asrs r0, 2
- adds r4, r0
- lsls r4, 24
- lsrs r4, 24
- movs r1, 0x1F
- subs r1, r3
- lsls r0, r1, 1
- adds r0, r1
- asrs r0, 2
- adds r3, r0
- lsls r3, 24
- lsrs r3, 24
- mov r0, r8
- subs r1, r0, r2
- lsls r0, r1, 1
- adds r0, r1
- asrs r0, 2
- adds r2, r0
- lsls r2, 24
- lsrs r2, 24
- ldr r1, [sp, 0x4]
- subs r0, r1, r4
- muls r0, r7
- asrs r0, 4
- adds r4, r0
- lsls r4, 24
- lsrs r4, 24
- ldr r1, [sp, 0x8]
- subs r0, r1, r3
- muls r0, r7
- asrs r0, 4
- adds r3, r0
- lsls r3, 24
- mov r1, r10
- subs r0, r1, r2
- muls r0, r7
- asrs r0, 4
- adds r2, r0
- lsls r2, 24
- ldr r0, _0807A6E0 @ =gPlttBufferFaded
- adds r5, r0
- lsrs r2, 14
- lsrs r3, 19
- orrs r2, r3
- orrs r2, r4
- strh r2, [r5]
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, r12
- bcc _0807A658
- b _0807A6F8
- .align 2, 0
-_0807A6DC: .4byte gPlttBufferUnfaded
-_0807A6E0: .4byte gPlttBufferFaded
-_0807A6E4:
- lsls r0, r4, 20
- lsrs r0, 16
- mov r1, sp
- ldrh r3, [r1]
- movs r1, 0x10
- adds r2, r7, 0
- bl BlendPalette
- adds r4, 0x1
- mov r9, r4
-_0807A6F8:
- mov r1, r9
- lsls r0, r1, 16
- lsrs r4, r0, 16
- cmp r4, 0x1F
- bls _0807A634
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_807A5F8
-
- thumb_func_start sub_807A714
-sub_807A714: @ 807A714
- push {r4,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r3, _0807A73C @ =gUnknown_2037F34
- ldr r0, _0807A740 @ =0x000006fa
- adds r1, r3, r0
- ldrb r0, [r1]
- cmp r0, 0x5
- bhi _0807A736
- ldr r4, _0807A744 @ =0x000006f4
- adds r0, r3, r4
- ldrb r3, [r1]
- adds r0, r3
- strb r2, [r0]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_0807A736:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0807A73C: .4byte gUnknown_2037F34
-_0807A740: .4byte 0x000006fa
-_0807A744: .4byte 0x000006f4
- thumb_func_end sub_807A714
-
- thumb_func_start sub_807A748
-sub_807A748: @ 807A748
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- movs r1, 0
- ldr r2, _0807A770 @ =gUnknown_2037F34
- ldr r4, _0807A774 @ =0x000006fa
- adds r0, r2, r4
- ldrb r0, [r0]
- cmp r1, r0
- bcs _0807A786
- ldr r5, _0807A778 @ =0x000006f4
- adds r4, r2, r5
- adds r2, r0, 0
-_0807A762:
- adds r0, r1, r4
- ldrb r0, [r0]
- cmp r0, r3
- bne _0807A77C
- movs r0, 0x1
- b _0807A788
- .align 2, 0
-_0807A770: .4byte gUnknown_2037F34
-_0807A774: .4byte 0x000006fa
-_0807A778: .4byte 0x000006f4
-_0807A77C:
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, r2
- bcc _0807A762
-_0807A786:
- movs r0, 0
-_0807A788:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_807A748
-
- thumb_func_start sub_807A790
-sub_807A790: @ 807A790
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r5, _0807A7BC @ =gUnknown_2037F34
- ldr r1, _0807A7C0 @ =0x000006c6
- adds r0, r5, r1
- ldrb r0, [r0]
- cmp r0, 0x3
- bne _0807A7B6
- lsls r2, r4, 24
- asrs r2, 24
- movs r0, 0
- movs r1, 0x20
- bl sub_807A294
- movs r1, 0xD8
- lsls r1, 3
- adds r0, r5, r1
- strb r4, [r0]
-_0807A7B6:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0807A7BC: .4byte gUnknown_2037F34
-_0807A7C0: .4byte 0x000006c6
- thumb_func_end sub_807A790
-
- thumb_func_start sub_807A7C4
-sub_807A7C4: @ 807A7C4
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- lsls r2, 24
- lsrs r6, r2, 24
- ldr r3, _0807A80C @ =gUnknown_2037F34
- ldr r0, _0807A810 @ =0x000006c6
- adds r2, r3, r0
- ldrb r0, [r2]
- cmp r0, 0x3
- bne _0807A804
- movs r1, 0
- strb r1, [r2]
- movs r2, 0xD8
- lsls r2, 3
- adds r0, r3, r2
- strb r4, [r0]
- adds r2, 0x1
- adds r0, r3, r2
- strb r5, [r0]
- adds r2, 0x2
- adds r0, r3, r2
- strb r1, [r0]
- ldr r1, _0807A814 @ =0x000006c2
- adds r0, r3, r1
- strb r6, [r0]
- lsls r0, r4, 24
- asrs r0, 24
- bl sub_807A790
-_0807A804:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0807A80C: .4byte gUnknown_2037F34
-_0807A810: .4byte 0x000006c6
-_0807A814: .4byte 0x000006c2
- thumb_func_end sub_807A7C4
-
- thumb_func_start FadeScreen
-FadeScreen: @ 807A818
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- adds r2, r0, 0
- lsls r1, 24
- lsrs r5, r1, 24
- cmp r0, 0x1
- beq _0807A850
- cmp r0, 0x1
- bgt _0807A834
- cmp r0, 0
- beq _0807A83E
- b _0807A92C
-_0807A834:
- cmp r2, 0x2
- beq _0807A844
- cmp r2, 0x3
- beq _0807A854
- b _0807A92C
-_0807A83E:
- movs r4, 0
- movs r1, 0
- b _0807A858
-_0807A844:
- ldr r4, _0807A84C @ =0x0000ffff
- movs r1, 0
- b _0807A858
- .align 2, 0
-_0807A84C: .4byte 0x0000ffff
-_0807A850:
- movs r4, 0
- b _0807A856
-_0807A854:
- ldr r4, _0807A878 @ =0x0000ffff
-_0807A856:
- movs r1, 0x1
-_0807A858:
- ldr r0, _0807A87C @ =gUnknown_2037F34
- movs r2, 0xDA
- lsls r2, 3
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, 0x3
- blt _0807A880
- cmp r0, 0x6
- ble _0807A872
- cmp r0, 0xD
- bgt _0807A880
- cmp r0, 0xB
- blt _0807A880
-_0807A872:
- movs r2, 0x1
- b _0807A882
- .align 2, 0
-_0807A878: .4byte 0x0000ffff
-_0807A87C: .4byte gUnknown_2037F34
-_0807A880:
- movs r2, 0
-_0807A882:
- cmp r1, 0
- beq _0807A8C4
- cmp r2, 0
- beq _0807A896
- ldr r0, _0807A8B4 @ =gPlttBufferFaded
- ldr r1, _0807A8B8 @ =gPlttBufferUnfaded
- movs r2, 0x80
- lsls r2, 1
- bl CpuFastSet
-_0807A896:
- movs r0, 0x1
- negs r0, r0
- lsls r1, r5, 24
- asrs r1, 24
- str r4, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, _0807A8BC @ =gUnknown_2037F34
- ldr r3, _0807A8C0 @ =0x000006c6
- adds r0, r3
- movs r1, 0x2
- strb r1, [r0]
- b _0807A92C
- .align 2, 0
-_0807A8B4: .4byte gPlttBufferFaded
-_0807A8B8: .4byte gPlttBufferUnfaded
-_0807A8BC: .4byte gUnknown_2037F34
-_0807A8C0: .4byte 0x000006c6
-_0807A8C4:
- ldr r1, _0807A8DC @ =gUnknown_2037F34
- ldr r3, _0807A8E0 @ =0x000006c4
- adds r0, r1, r3
- strh r4, [r0]
- cmp r2, 0
- beq _0807A8E8
- ldr r0, _0807A8E4 @ =0x000006c7
- adds r1, r0
- movs r0, 0
- strb r0, [r1]
- b _0807A8FA
- .align 2, 0
-_0807A8DC: .4byte gUnknown_2037F34
-_0807A8E0: .4byte 0x000006c4
-_0807A8E4: .4byte 0x000006c7
-_0807A8E8:
- movs r0, 0x1
- negs r0, r0
- lsls r1, r5, 24
- asrs r1, 24
- str r4, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
-_0807A8FA:
- ldr r4, _0807A934 @ =gUnknown_2037F34
- ldr r1, _0807A938 @ =0x000006c6
- adds r0, r4, r1
- movs r1, 0
- movs r5, 0x1
- strb r5, [r0]
- ldr r2, _0807A93C @ =0x000006ca
- adds r0, r4, r2
- strb r5, [r0]
- ldr r3, _0807A940 @ =0x000006cb
- adds r0, r4, r3
- strb r1, [r0]
- movs r1, 0xE6
- lsls r1, 3
- adds r0, r4, r1
- ldrb r0, [r0]
- adds r2, 0x68
- adds r1, r4, r2
- ldrb r1, [r1]
- bl Weather_SetBlendCoeffs
- movs r3, 0xD9
- lsls r3, 3
- adds r4, r3
- strb r5, [r4]
-_0807A92C:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0807A934: .4byte gUnknown_2037F34
-_0807A938: .4byte 0x000006c6
-_0807A93C: .4byte 0x000006ca
-_0807A940: .4byte 0x000006cb
- thumb_func_end FadeScreen
-
- thumb_func_start FieldWeather_StartFadingOutCreditsMap
-FieldWeather_StartFadingOutCreditsMap: @ 807A944
- push {r4-r6,lr}
- sub sp, 0x4
- adds r6, r2, 0
- lsls r0, 24
- lsrs r0, 24
- adds r2, r0, 0
- lsls r1, 24
- lsrs r5, r1, 24
- cmp r0, 0x1
- beq _0807A97C
- cmp r0, 0x1
- bgt _0807A962
- cmp r0, 0
- beq _0807A96C
- b _0807AA56
-_0807A962:
- cmp r2, 0x2
- beq _0807A972
- cmp r2, 0x3
- beq _0807A980
- b _0807AA56
-_0807A96C:
- movs r4, 0
- movs r1, 0
- b _0807A984
-_0807A972:
- ldr r4, _0807A978 @ =0x0000ffff
- movs r1, 0
- b _0807A984
- .align 2, 0
-_0807A978: .4byte 0x0000ffff
-_0807A97C:
- movs r4, 0
- b _0807A982
-_0807A980:
- ldr r4, _0807A9A4 @ =0x0000ffff
-_0807A982:
- movs r1, 0x1
-_0807A984:
- ldr r0, _0807A9A8 @ =gUnknown_2037F34
- movs r2, 0xDA
- lsls r2, 3
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, 0x3
- blt _0807A9AC
- cmp r0, 0x6
- ble _0807A99E
- cmp r0, 0xD
- bgt _0807A9AC
- cmp r0, 0xB
- blt _0807A9AC
-_0807A99E:
- movs r2, 0x1
- b _0807A9AE
- .align 2, 0
-_0807A9A4: .4byte 0x0000ffff
-_0807A9A8: .4byte gUnknown_2037F34
-_0807A9AC:
- movs r2, 0
-_0807A9AE:
- cmp r1, 0
- beq _0807A9F0
- cmp r2, 0
- beq _0807A9C2
- ldr r0, _0807A9E0 @ =gPlttBufferFaded
- ldr r1, _0807A9E4 @ =gPlttBufferUnfaded
- movs r2, 0x80
- lsls r2, 1
- bl CpuFastSet
-_0807A9C2:
- lsls r1, r5, 24
- asrs r1, 24
- str r4, [sp]
- adds r0, r6, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, _0807A9E8 @ =gUnknown_2037F34
- ldr r3, _0807A9EC @ =0x000006c6
- adds r0, r3
- movs r1, 0x2
- strb r1, [r0]
- b _0807AA56
- .align 2, 0
-_0807A9E0: .4byte gPlttBufferFaded
-_0807A9E4: .4byte gPlttBufferUnfaded
-_0807A9E8: .4byte gUnknown_2037F34
-_0807A9EC: .4byte 0x000006c6
-_0807A9F0:
- ldr r1, _0807AA08 @ =gUnknown_2037F34
- ldr r3, _0807AA0C @ =0x000006c4
- adds r0, r1, r3
- strh r4, [r0]
- cmp r2, 0
- beq _0807AA14
- ldr r0, _0807AA10 @ =0x000006c7
- adds r1, r0
- movs r0, 0
- strb r0, [r1]
- b _0807AA24
- .align 2, 0
-_0807AA08: .4byte gUnknown_2037F34
-_0807AA0C: .4byte 0x000006c4
-_0807AA10: .4byte 0x000006c7
-_0807AA14:
- lsls r1, r5, 24
- asrs r1, 24
- str r4, [sp]
- adds r0, r6, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
-_0807AA24:
- ldr r4, _0807AA60 @ =gUnknown_2037F34
- ldr r1, _0807AA64 @ =0x000006c6
- adds r0, r4, r1
- movs r1, 0
- movs r5, 0x1
- strb r5, [r0]
- ldr r2, _0807AA68 @ =0x000006ca
- adds r0, r4, r2
- strb r5, [r0]
- ldr r3, _0807AA6C @ =0x000006cb
- adds r0, r4, r3
- strb r1, [r0]
- movs r1, 0xE6
- lsls r1, 3
- adds r0, r4, r1
- ldrb r0, [r0]
- adds r2, 0x68
- adds r1, r4, r2
- ldrb r1, [r1]
- bl Weather_SetBlendCoeffs
- movs r3, 0xD9
- lsls r3, 3
- adds r4, r3
- strb r5, [r4]
-_0807AA56:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0807AA60: .4byte gUnknown_2037F34
-_0807AA64: .4byte 0x000006c6
-_0807AA68: .4byte 0x000006ca
-_0807AA6C: .4byte 0x000006cb
- thumb_func_end FieldWeather_StartFadingOutCreditsMap
-
- thumb_func_start IsWeatherNotFadingIn
-IsWeatherNotFadingIn: @ 807AA70
- ldr r0, _0807AA84 @ =gUnknown_2037F34
- ldr r1, _0807AA88 @ =0x000006c6
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x1
- eors r1, r0
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
- bx lr
- .align 2, 0
-_0807AA84: .4byte gUnknown_2037F34
-_0807AA88: .4byte 0x000006c6
- thumb_func_end IsWeatherNotFadingIn
-
- thumb_func_start UpdateSpritePaletteWithWeather
-UpdateSpritePaletteWithWeather: @ 807AA8C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 8
- movs r1, 0x80
- lsls r1, 13
- adds r0, r1
- lsrs r4, r0, 16
- ldr r5, _0807AACC @ =gUnknown_2037F34
- ldr r2, _0807AAD0 @ =0x000006c6
- adds r0, r5, r2
- ldrb r0, [r0]
- adds r1, r5, 0
- cmp r0, 0x1
- beq _0807AAD4
- cmp r0, 0x2
- beq _0807AB20
- adds r2, 0xA
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0x6
- beq _0807AB58
- lsls r0, r4, 24
- lsrs r0, 24
- subs r2, 0x10
- adds r1, r2
- movs r2, 0
- ldrsb r2, [r1, r2]
- movs r1, 0x1
- bl sub_807A294
- b _0807AB68
- .align 2, 0
-_0807AACC: .4byte gUnknown_2037F34
-_0807AAD0: .4byte 0x000006c6
-_0807AAD4:
- ldr r2, _0807AB14 @ =0x000006ca
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _0807AB68
- adds r2, 0x6
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0x6
- bne _0807AAF0
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_807A714
-_0807AAF0:
- lsls r0, r4, 20
- lsrs r4, r0, 16
- movs r2, 0
- ldr r6, _0807AB18 @ =gPlttBufferFaded
- ldr r0, _0807AB1C @ =0x000006c4
- adds r3, r5, r0
-_0807AAFC:
- adds r0, r4, r2
- lsls r0, 1
- adds r0, r6
- ldrh r1, [r3]
- strh r1, [r0]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0xF
- bls _0807AAFC
- b _0807AB68
- .align 2, 0
-_0807AB14: .4byte 0x000006ca
-_0807AB18: .4byte gPlttBufferFaded
-_0807AB1C: .4byte 0x000006c4
-_0807AB20:
- lsls r0, r4, 20
- lsrs r4, r0, 16
- lsls r1, r4, 1
- ldr r0, _0807AB4C @ =gPlttBufferFaded
- adds r0, r1, r0
- ldr r2, _0807AB50 @ =gPlttBufferUnfaded
- adds r1, r2
- movs r2, 0x8
- bl CpuFastSet
- ldr r0, _0807AB54 @ =gPaletteFade
- ldrh r2, [r0, 0x4]
- lsls r2, 21
- lsrs r2, 27
- ldrh r3, [r0, 0x6]
- lsls r3, 17
- lsrs r3, 17
- adds r0, r4, 0
- movs r1, 0x10
- bl BlendPalette
- b _0807AB68
- .align 2, 0
-_0807AB4C: .4byte gPlttBufferFaded
-_0807AB50: .4byte gPlttBufferUnfaded
-_0807AB54: .4byte gPaletteFade
-_0807AB58:
- lsls r0, r4, 20
- lsrs r4, r0, 16
- ldr r3, _0807AB70 @ =0x000073fc
- adds r0, r4, 0
- movs r1, 0x10
- movs r2, 0xC
- bl BlendPalette
-_0807AB68:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0807AB70: .4byte 0x000073fc
- thumb_func_end UpdateSpritePaletteWithWeather
-
- thumb_func_start sub_807AB74
-sub_807AB74: @ 807AB74
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0807AB90 @ =gUnknown_2037F34
- movs r2, 0xD8
- lsls r2, 3
- adds r1, r2
- movs r2, 0
- ldrsb r2, [r1, r2]
- movs r1, 0x1
- bl sub_807A294
- pop {r0}
- bx r0
- .align 2, 0
-_0807AB90: .4byte gUnknown_2037F34
- thumb_func_end sub_807AB74
-
- thumb_func_start sub_807AB94
-sub_807AB94: @ 807AB94
- push {lr}
- ldr r1, _0807ABA8 @ =gUnknown_2037F34
- ldr r2, _0807ABAC @ =0x000006c6
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _0807ABB0
- movs r0, 0
- b _0807ABB6
- .align 2, 0
-_0807ABA8: .4byte gUnknown_2037F34
-_0807ABAC: .4byte 0x000006c6
-_0807ABB0:
- ldr r2, _0807ABBC @ =0x000006ca
- adds r0, r1, r2
- ldrb r0, [r0]
-_0807ABB6:
- pop {r1}
- bx r1
- .align 2, 0
-_0807ABBC: .4byte 0x000006ca
- thumb_func_end sub_807AB94
-
- thumb_func_start sub_807ABC0
-sub_807ABC0: @ 807ABC0
- push {r4,lr}
- ldr r4, _0807ABE8 @ =gUnknown_2037F34
- ldr r1, _0807ABEC @ =0x000006d4
- adds r4, r1
- ldrb r1, [r4]
- lsls r1, 20
- movs r2, 0x80
- lsls r2, 17
- adds r1, r2
- lsrs r1, 16
- movs r2, 0x20
- bl LoadPalette
- ldrb r0, [r4]
- bl UpdateSpritePaletteWithWeather
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0807ABE8: .4byte gUnknown_2037F34
-_0807ABEC: .4byte 0x000006d4
- thumb_func_end sub_807ABC0
-
- thumb_func_start nullsub_47
-nullsub_47: @ 807ABF0
- bx lr
- thumb_func_end nullsub_47
-
- thumb_func_start sub_807ABF4
-sub_807ABF4: @ 807ABF4
- ldr r0, _0807AC08 @ =gUnknown_2037F34
- ldr r2, _0807AC0C @ =0x0000074d
- adds r1, r0, r2
- movs r2, 0x1
- strb r2, [r1]
- ldr r1, _0807AC10 @ =0x0000074e
- adds r0, r1
- strb r2, [r0]
- bx lr
- .align 2, 0
-_0807AC08: .4byte gUnknown_2037F34
-_0807AC0C: .4byte 0x0000074d
-_0807AC10: .4byte 0x0000074e
- thumb_func_end sub_807ABF4
-
- thumb_func_start sub_807AC14
-sub_807AC14: @ 807AC14
- push {r4,lr}
- ldr r1, _0807AC3C @ =gUnknown_2037F34
- ldr r0, _0807AC40 @ =0x0000074d
- adds r4, r1, r0
- movs r0, 0
- ldrsb r0, [r4, r0]
- cmp r0, 0x1F
- bgt _0807AC48
- ldr r0, _0807AC44 @ =0x0000074e
- adds r1, r0
- adds r0, r4, 0
- bl nullsub_47
- movs r0, 0
- ldrsb r0, [r4, r0]
- cmp r0, 0x1F
- bgt _0807AC48
- movs r0, 0x1
- b _0807AC4A
- .align 2, 0
-_0807AC3C: .4byte gUnknown_2037F34
-_0807AC40: .4byte 0x0000074d
-_0807AC44: .4byte 0x0000074e
-_0807AC48:
- movs r0, 0
-_0807AC4A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_807AC14
-
- thumb_func_start sub_807AC50
-sub_807AC50: @ 807AC50
- push {lr}
- lsls r0, 24
- asrs r0, 24
- mvns r0, r0
- bl sub_807A790
- pop {r0}
- bx r0
- thumb_func_end sub_807AC50
-
- thumb_func_start sub_807AC60
-sub_807AC60: @ 807AC60
- ldr r1, _0807AC88 @ =gUnknown_2037F34
- ldr r2, _0807AC8C @ =0x0000073c
- adds r0, r1, r2
- movs r2, 0
- strh r2, [r0]
- movs r3, 0xE8
- lsls r3, 3
- adds r0, r1, r3
- strh r2, [r0]
- adds r3, 0x2
- adds r0, r1, r3
- strh r2, [r0]
- ldr r0, _0807AC90 @ =0x0000073e
- adds r1, r0
- strh r2, [r1]
- ldr r1, _0807AC94 @ =gUnknown_20386A8
- movs r0, 0x5
- strh r0, [r1]
- bx lr
- .align 2, 0
-_0807AC88: .4byte gUnknown_2037F34
-_0807AC8C: .4byte 0x0000073c
-_0807AC90: .4byte 0x0000073e
-_0807AC94: .4byte gUnknown_20386A8
- thumb_func_end sub_807AC60
-
- thumb_func_start sub_807AC98
-sub_807AC98: @ 807AC98
- push {r4-r7,lr}
- ldr r5, _0807ACB4 @ =gUnknown_2037F34
- ldr r0, _0807ACB8 @ =0x00000742
- adds r7, r5, r0
- movs r1, 0
- ldrsh r2, [r7, r1]
- cmp r2, 0x1
- beq _0807AD14
- cmp r2, 0x1
- bgt _0807ACBC
- cmp r2, 0
- beq _0807ACC2
- b _0807ADA0
- .align 2, 0
-_0807ACB4: .4byte gUnknown_2037F34
-_0807ACB8: .4byte 0x00000742
-_0807ACBC:
- cmp r2, 0x2
- beq _0807AD68
- b _0807ADA0
-_0807ACC2:
- movs r3, 0xE8
- lsls r3, 3
- adds r6, r5, r3
- ldrh r0, [r6]
- adds r0, 0x1
- strh r0, [r6]
- lsls r0, 16
- asrs r0, 16
- ldr r1, _0807AD08 @ =gUnknown_20386A8
- ldrh r1, [r1]
- cmp r0, r1
- ble _0807ADA0
- strh r2, [r6]
- ldr r0, _0807AD0C @ =0x0000073c
- adds r4, r5, r0
- ldrh r0, [r4]
- adds r1, r0, 0x1
- strh r1, [r4]
- lsls r0, 24
- asrs r0, 24
- bl sub_807AC50
- ldrh r1, [r4]
- movs r2, 0
- ldrsh r0, [r4, r2]
- cmp r0, 0x5
- ble _0807ADA0
- ldr r3, _0807AD10 @ =0x0000073e
- adds r0, r5, r3
- strh r1, [r0]
- movs r0, 0x1
- strh r0, [r7]
- movs r0, 0x3C
- strh r0, [r6]
- b _0807ADA0
- .align 2, 0
-_0807AD08: .4byte gUnknown_20386A8
-_0807AD0C: .4byte 0x0000073c
-_0807AD10: .4byte 0x0000073e
-_0807AD14:
- movs r0, 0xE8
- lsls r0, 3
- adds r2, r5, r0
- ldrh r0, [r2]
- adds r0, 0x3
- movs r1, 0x7F
- ands r0, r1
- strh r0, [r2]
- ldr r1, _0807AD5C @ =gSineTable
- movs r3, 0
- ldrsh r0, [r2, r3]
- lsls r0, 1
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- subs r0, 0x1
- asrs r0, 6
- adds r0, 0x2
- ldr r2, _0807AD60 @ =0x0000073c
- adds r6, r5, r2
- adds r2, r0, 0
- strh r0, [r6]
- ldr r3, _0807AD64 @ =0x0000073e
- adds r4, r5, r3
- movs r3, 0
- ldrsh r1, [r4, r3]
- cmp r0, r1
- beq _0807AD54
- lsls r0, r2, 24
- asrs r0, 24
- bl sub_807AC50
-_0807AD54:
- ldrh r0, [r6]
- strh r0, [r4]
- b _0807ADA0
- .align 2, 0
-_0807AD5C: .4byte gSineTable
-_0807AD60: .4byte 0x0000073c
-_0807AD64: .4byte 0x0000073e
-_0807AD68:
- movs r0, 0xE8
- lsls r0, 3
- adds r2, r5, r0
- ldrh r0, [r2]
- adds r0, 0x1
- movs r6, 0
- strh r0, [r2]
- lsls r0, 16
- asrs r0, 16
- ldr r1, _0807ADA8 @ =gUnknown_20386A8
- ldrh r1, [r1]
- cmp r0, r1
- ble _0807ADA0
- strh r6, [r2]
- ldr r1, _0807ADAC @ =0x0000073c
- adds r4, r5, r1
- ldrh r0, [r4]
- subs r0, 0x1
- strh r0, [r4]
- lsls r0, 24
- asrs r0, 24
- bl sub_807AC50
- movs r2, 0
- ldrsh r0, [r4, r2]
- cmp r0, 0x3
- bne _0807ADA0
- strh r6, [r7]
-_0807ADA0:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0807ADA8: .4byte gUnknown_20386A8
-_0807ADAC: .4byte 0x0000073c
- thumb_func_end sub_807AC98
-
- thumb_func_start Weather_SetBlendCoeffs
-Weather_SetBlendCoeffs: @ 807ADB0
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- ldr r3, _0807ADE8 @ =gUnknown_2037F34
- movs r4, 0xE6
- lsls r4, 3
- adds r2, r3, r4
- strh r0, [r2]
- adds r4, 0x2
- adds r2, r3, r4
- strh r1, [r2]
- adds r4, 0x2
- adds r2, r3, r4
- strh r0, [r2]
- ldr r2, _0807ADEC @ =0x00000736
- adds r3, r2
- strh r1, [r3]
- lsls r1, 8
- orrs r1, r0
- movs r0, 0x52
- bl SetGpuReg
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0807ADE8: .4byte gUnknown_2037F34
-_0807ADEC: .4byte 0x00000736
- thumb_func_end Weather_SetBlendCoeffs
-
- thumb_func_start Weather_SetTargetBlendCoeffs
-Weather_SetTargetBlendCoeffs: @ 807ADF0
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- ldr r3, _0807AE24 @ =gUnknown_2037F34
- ldr r5, _0807AE28 @ =0x00000734
- adds r4, r3, r5
- movs r5, 0
- strh r0, [r4]
- ldr r4, _0807AE2C @ =0x00000736
- adds r0, r3, r4
- strh r1, [r0]
- ldr r1, _0807AE30 @ =0x0000073a
- adds r0, r3, r1
- strb r2, [r0]
- adds r4, 0x3
- adds r0, r3, r4
- strb r5, [r0]
- movs r0, 0xE7
- lsls r0, 3
- adds r3, r0
- strb r5, [r3]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0807AE24: .4byte gUnknown_2037F34
-_0807AE28: .4byte 0x00000734
-_0807AE2C: .4byte 0x00000736
-_0807AE30: .4byte 0x0000073a
- thumb_func_end Weather_SetTargetBlendCoeffs
-
- thumb_func_start Weather_UpdateBlend
-Weather_UpdateBlend: @ 807AE34
- push {r4-r6,lr}
- ldr r0, _0807AE8C @ =gUnknown_2037F34
- movs r1, 0xE6
- lsls r1, 3
- adds r3, r0, r1
- ldr r2, [r3]
- ldr r6, _0807AE90 @ =0x00000734
- adds r4, r0, r6
- ldr r1, [r4]
- adds r5, r0, 0
- cmp r2, r1
- beq _0807AEF8
- ldr r0, _0807AE94 @ =0x00000739
- adds r2, r5, r0
- ldrb r0, [r2]
- adds r0, 0x1
- strb r0, [r2]
- ldr r6, _0807AE98 @ =0x0000073a
- adds r1, r5, r6
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r1]
- cmp r0, r1
- bls _0807AEC4
- movs r0, 0
- strb r0, [r2]
- movs r0, 0xE7
- lsls r0, 3
- adds r1, r5, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0807AE9C
- ldrh r1, [r3]
- adds r2, r1, 0
- ldrh r0, [r4]
- cmp r2, r0
- bcs _0807AEBC
- adds r0, r1, 0x1
- b _0807AEC2
- .align 2, 0
-_0807AE8C: .4byte gUnknown_2037F34
-_0807AE90: .4byte 0x00000734
-_0807AE94: .4byte 0x00000739
-_0807AE98: .4byte 0x0000073a
-_0807AE9C:
- ldr r1, _0807AEB4 @ =0x00000732
- adds r3, r5, r1
- ldr r2, _0807AEB8 @ =0x00000736
- adds r0, r5, r2
- ldrh r1, [r3]
- adds r2, r1, 0
- ldrh r0, [r0]
- cmp r2, r0
- bcs _0807AEBC
- adds r0, r1, 0x1
- b _0807AEC2
- .align 2, 0
-_0807AEB4: .4byte 0x00000732
-_0807AEB8: .4byte 0x00000736
-_0807AEBC:
- cmp r2, r0
- bls _0807AEC4
- subs r0, r1, 0x1
-_0807AEC2:
- strh r0, [r3]
-_0807AEC4:
- ldr r6, _0807AEF0 @ =0x00000732
- adds r0, r5, r6
- ldrh r1, [r0]
- lsls r1, 8
- movs r0, 0xE6
- lsls r0, 3
- adds r4, r5, r0
- ldrh r0, [r4]
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- ldr r1, [r4]
- ldr r2, _0807AEF4 @ =0x00000734
- adds r0, r5, r2
- ldr r0, [r0]
- cmp r1, r0
- beq _0807AEF8
- movs r0, 0
- b _0807AEFA
- .align 2, 0
-_0807AEF0: .4byte 0x00000732
-_0807AEF4: .4byte 0x00000734
-_0807AEF8:
- movs r0, 0x1
-_0807AEFA:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end Weather_UpdateBlend
-
- thumb_func_start sub_807AF00
-sub_807AF00: @ 807AF00
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- subs r0, 0x1
- cmp r0, 0x9
- bhi _0807AF92
- lsls r0, 2
- ldr r1, _0807AF18 @ =_0807AF1C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0807AF18: .4byte _0807AF1C
- .align 2, 0
-_0807AF1C:
- .4byte _0807AF44
- .4byte _0807AF4C
- .4byte _0807AF54
- .4byte _0807AF5C
- .4byte _0807AF64
- .4byte _0807AF6C
- .4byte _0807AF74
- .4byte _0807AF7C
- .4byte _0807AF84
- .4byte _0807AF8C
-_0807AF44:
- movs r0, 0x1
- bl SetWeather
- b _0807AF92
-_0807AF4C:
- movs r0, 0x2
- bl SetWeather
- b _0807AF92
-_0807AF54:
- movs r0, 0x3
- bl SetWeather
- b _0807AF92
-_0807AF5C:
- movs r0, 0x4
- bl SetWeather
- b _0807AF92
-_0807AF64:
- movs r0, 0x5
- bl SetWeather
- b _0807AF92
-_0807AF6C:
- movs r0, 0x6
- bl SetWeather
- b _0807AF92
-_0807AF74:
- movs r0, 0x9
- bl SetWeather
- b _0807AF92
-_0807AF7C:
- movs r0, 0x7
- bl SetWeather
- b _0807AF92
-_0807AF84:
- movs r0, 0x8
- bl SetWeather
- b _0807AF92
-_0807AF8C:
- movs r0, 0xB
- bl SetWeather
-_0807AF92:
- pop {r0}
- bx r0
- thumb_func_end sub_807AF00
-
- thumb_func_start GetCurrentWeather
-GetCurrentWeather: @ 807AF98
- ldr r0, _0807AFA4 @ =gUnknown_2037F34
- movs r1, 0xDA
- lsls r1, 3
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_0807AFA4: .4byte gUnknown_2037F34
- thumb_func_end GetCurrentWeather
-
- thumb_func_start SetRainStrengthFromSoundEffect
-SetRainStrengthFromSoundEffect: @ 807AFA8
- push {lr}
- lsls r0, 16
- lsrs r2, r0, 16
- ldr r1, _0807AFC8 @ =gUnknown_2037F34
- ldr r3, _0807AFCC @ =0x000006c6
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, 0x2
- beq _0807AFFA
- cmp r2, 0x4C
- beq _0807AFE0
- cmp r2, 0x4C
- bgt _0807AFD0
- cmp r2, 0x4A
- beq _0807AFEC
- b _0807AFFA
- .align 2, 0
-_0807AFC8: .4byte gUnknown_2037F34
-_0807AFCC: .4byte 0x000006c6
-_0807AFD0:
- cmp r2, 0x4E
- bne _0807AFFA
- ldr r0, _0807AFDC @ =0x000006dd
- adds r1, r0
- movs r0, 0
- b _0807AFF2
- .align 2, 0
-_0807AFDC: .4byte 0x000006dd
-_0807AFE0:
- ldr r3, _0807AFE8 @ =0x000006dd
- adds r1, r3
- movs r0, 0x1
- b _0807AFF2
- .align 2, 0
-_0807AFE8: .4byte 0x000006dd
-_0807AFEC:
- ldr r0, _0807B000 @ =0x000006dd
- adds r1, r0
- movs r0, 0x2
-_0807AFF2:
- strb r0, [r1]
- adds r0, r2, 0
- bl PlaySE
-_0807AFFA:
- pop {r0}
- bx r0
- .align 2, 0
-_0807B000: .4byte 0x000006dd
- thumb_func_end SetRainStrengthFromSoundEffect
-
- thumb_func_start PlayRainStoppingSoundEffect
-PlayRainStoppingSoundEffect: @ 807B004
- push {lr}
- bl IsSpecialSEPlaying
- lsls r0, 24
- cmp r0, 0
- beq _0807B042
- ldr r0, _0807B02C @ =gUnknown_2037F34
- ldr r1, _0807B030 @ =0x000006dd
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _0807B034
- cmp r0, 0x1
- bgt _0807B03C
- cmp r0, 0
- bne _0807B03C
- movs r0, 0x4F
- bl PlaySE
- b _0807B042
- .align 2, 0
-_0807B02C: .4byte gUnknown_2037F34
-_0807B030: .4byte 0x000006dd
-_0807B034:
- movs r0, 0x4D
- bl PlaySE
- b _0807B042
-_0807B03C:
- movs r0, 0x4B
- bl PlaySE
-_0807B042:
- pop {r0}
- bx r0
- thumb_func_end PlayRainStoppingSoundEffect
-
- thumb_func_start sub_807B048
-sub_807B048: @ 807B048
- ldr r0, _0807B054 @ =gUnknown_2037F34
- ldr r1, _0807B058 @ =0x000006d3
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_0807B054: .4byte gUnknown_2037F34
-_0807B058: .4byte 0x000006d3
- thumb_func_end sub_807B048
-
- thumb_func_start SetWeatherScreenFadeOut
-SetWeatherScreenFadeOut: @ 807B05C
- ldr r0, _0807B068 @ =gUnknown_2037F34
- ldr r1, _0807B06C @ =0x000006c6
- adds r0, r1
- movs r1, 0x2
- strb r1, [r0]
- bx lr
- .align 2, 0
-_0807B068: .4byte gUnknown_2037F34
-_0807B06C: .4byte 0x000006c6
- thumb_func_end SetWeatherScreenFadeOut
-
- thumb_func_start sub_807B070
-sub_807B070: @ 807B070
- ldr r0, _0807B07C @ =gUnknown_2037F34
- ldr r1, _0807B080 @ =0x000006c6
- adds r0, r1
- movs r1, 0x3
- strb r1, [r0]
- bx lr
- .align 2, 0
-_0807B07C: .4byte gUnknown_2037F34
-_0807B080: .4byte 0x000006c6
- thumb_func_end sub_807B070
-
- thumb_func_start PreservePaletteInWeather
-PreservePaletteInWeather: @ 807B084
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _0807B0A8 @ =gUnknown_83C2CC0
- ldr r5, _0807B0AC @ =gUnknown_2038684
- adds r1, r5, 0
- movs r2, 0x10
- bl CpuSet
- adds r4, r5
- movs r0, 0
- strb r0, [r4]
- ldr r0, _0807B0B0 @ =gUnknown_20386A4
- str r5, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0807B0A8: .4byte gUnknown_83C2CC0
-_0807B0AC: .4byte gUnknown_2038684
-_0807B0B0: .4byte gUnknown_20386A4
- thumb_func_end PreservePaletteInWeather
-
- thumb_func_start ResetPreservedPalettesInWeather
-ResetPreservedPalettesInWeather: @ 807B0B4
- ldr r1, _0807B0BC @ =gUnknown_20386A4
- ldr r0, _0807B0C0 @ =gUnknown_83C2CC0
- str r0, [r1]
- bx lr
- .align 2, 0
-_0807B0BC: .4byte gUnknown_20386A4
-_0807B0C0: .4byte gUnknown_83C2CC0
- thumb_func_end ResetPreservedPalettesInWeather
-
- thumb_func_start sub_807B0C4
-sub_807B0C4: @ 807B0C4
- push {lr}
- adds r1, r0, 0
- adds r3, r2, 0
- ldr r0, _0807B0E8 @ =gUnknown_2037F34
- movs r2, 0xDA
- lsls r2, 3
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, 0xB
- beq _0807B0F0
- cmp r0, 0xB
- bgt _0807B0EC
- cmp r0, 0x5
- bgt _0807B0FA
- cmp r0, 0x3
- blt _0807B0FA
- b _0807B0F0
- .align 2, 0
-_0807B0E8: .4byte gUnknown_2037F34
-_0807B0EC:
- cmp r0, 0xD
- bne _0807B0FA
-_0807B0F0:
- adds r0, r1, 0
- movs r1, 0
- movs r2, 0x3
- bl sub_8045314
-_0807B0FA:
- pop {r0}
- bx r0
- thumb_func_end sub_807B0C4
-
- thumb_func_start SetSav1Weather
-SetSav1Weather: @ 807B100
- push {r4,r5,lr}
- ldr r4, _0807B12C @ =gSaveBlock1Ptr
- ldr r1, [r4]
- adds r1, 0x2E
- ldrb r5, [r1]
- lsls r0, 24
- lsrs r0, 24
- bl TranslateWeatherNum
- ldr r1, [r4]
- adds r1, 0x2E
- strb r0, [r1]
- ldr r0, [r4]
- adds r0, 0x2E
- ldrb r0, [r0]
- adds r1, r5, 0
- bl UpdateRainCounter
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0807B12C: .4byte gSaveBlock1Ptr
- thumb_func_end SetSav1Weather
-
- thumb_func_start sav1_get_weather_probably
-sav1_get_weather_probably: @ 807B130
- ldr r0, _0807B13C @ =gSaveBlock1Ptr
- ldr r0, [r0]
- adds r0, 0x2E
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_0807B13C: .4byte gSaveBlock1Ptr
- thumb_func_end sav1_get_weather_probably
-
- thumb_func_start SetSav1WeatherFromCurrMapHeader
-SetSav1WeatherFromCurrMapHeader: @ 807B140
- push {r4,r5,lr}
- ldr r4, _0807B16C @ =gSaveBlock1Ptr
- ldr r0, [r4]
- adds r0, 0x2E
- ldrb r5, [r0]
- ldr r0, _0807B170 @ =gMapHeader
- ldrb r0, [r0, 0x16]
- bl TranslateWeatherNum
- ldr r1, [r4]
- adds r1, 0x2E
- strb r0, [r1]
- ldr r0, [r4]
- adds r0, 0x2E
- ldrb r0, [r0]
- adds r1, r5, 0
- bl UpdateRainCounter
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0807B16C: .4byte gSaveBlock1Ptr
-_0807B170: .4byte gMapHeader
- thumb_func_end SetSav1WeatherFromCurrMapHeader
-
- thumb_func_start SetWeather
-SetWeather: @ 807B174
- push {lr}
- bl SetSav1Weather
- bl sav1_get_weather_probably
- lsls r0, 24
- lsrs r0, 24
- bl weather_set
- pop {r0}
- bx r0
- thumb_func_end SetWeather
-
- thumb_func_start sub_807B18C
-sub_807B18C: @ 807B18C
- push {lr}
- bl SetSav1Weather
- bl sav1_get_weather_probably
- lsls r0, 24
- lsrs r0, 24
- bl sub_8079D60
- pop {r0}
- bx r0
- thumb_func_end sub_807B18C
-
- thumb_func_start DoCurrentWeather
-DoCurrentWeather: @ 807B1A4
- push {lr}
- bl sav1_get_weather_probably
- lsls r0, 24
- lsrs r0, 24
- bl weather_set
- pop {r0}
- bx r0
- thumb_func_end DoCurrentWeather
-
- thumb_func_start sub_807B1B8
-sub_807B1B8: @ 807B1B8
- push {lr}
- bl sav1_get_weather_probably
- lsls r0, 24
- lsrs r0, 24
- bl sub_8079D60
- pop {r0}
- bx r0
- thumb_func_end sub_807B1B8
-
- thumb_func_start TranslateWeatherNum
-TranslateWeatherNum: @ 807B1CC
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x15
- bhi _0807B294
- lsls r0, 2
- ldr r1, _0807B1E0 @ =_0807B1E4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0807B1E0: .4byte _0807B1E4
- .align 2, 0
-_0807B1E4:
- .4byte _0807B294
- .4byte _0807B23C
- .4byte _0807B240
- .4byte _0807B244
- .4byte _0807B248
- .4byte _0807B24C
- .4byte _0807B250
- .4byte _0807B254
- .4byte _0807B258
- .4byte _0807B25C
- .4byte _0807B260
- .4byte _0807B264
- .4byte _0807B268
- .4byte _0807B26C
- .4byte _0807B270
- .4byte _0807B294
- .4byte _0807B294
- .4byte _0807B294
- .4byte _0807B294
- .4byte _0807B294
- .4byte _0807B274
- .4byte _0807B27C
-_0807B23C:
- movs r0, 0x1
- b _0807B296
-_0807B240:
- movs r0, 0x2
- b _0807B296
-_0807B244:
- movs r0, 0x3
- b _0807B296
-_0807B248:
- movs r0, 0x4
- b _0807B296
-_0807B24C:
- movs r0, 0x5
- b _0807B296
-_0807B250:
- movs r0, 0x6
- b _0807B296
-_0807B254:
- movs r0, 0x7
- b _0807B296
-_0807B258:
- movs r0, 0x8
- b _0807B296
-_0807B25C:
- movs r0, 0x9
- b _0807B296
-_0807B260:
- movs r0, 0xA
- b _0807B296
-_0807B264:
- movs r0, 0xB
- b _0807B296
-_0807B268:
- movs r0, 0xC
- b _0807B296
-_0807B26C:
- movs r0, 0xD
- b _0807B296
-_0807B270:
- movs r0, 0xE
- b _0807B296
-_0807B274:
- ldr r1, _0807B278 @ =gUnknown_83C65C0
- b _0807B27E
- .align 2, 0
-_0807B278: .4byte gUnknown_83C65C0
-_0807B27C:
- ldr r1, _0807B28C @ =gUnknown_83C65C4
-_0807B27E:
- ldr r0, _0807B290 @ =gSaveBlock1Ptr
- ldr r0, [r0]
- adds r0, 0x2F
- ldrb r0, [r0]
- adds r0, r1
- ldrb r0, [r0]
- b _0807B296
- .align 2, 0
-_0807B28C: .4byte gUnknown_83C65C4
-_0807B290: .4byte gSaveBlock1Ptr
-_0807B294:
- movs r0, 0
-_0807B296:
- pop {r1}
- bx r1
- thumb_func_end TranslateWeatherNum
-
- thumb_func_start UpdateWeatherPerDay
-UpdateWeatherPerDay: @ 807B29C
- lsls r0, 16
- ldr r1, _0807B2B8 @ =gSaveBlock1Ptr
- ldr r2, [r1]
- adds r2, 0x2F
- lsrs r0, 16
- ldrb r1, [r2]
- adds r0, r1
- lsls r0, 16
- movs r1, 0xC0
- lsls r1, 10
- ands r1, r0
- lsrs r1, 16
- strb r1, [r2]
- bx lr
- .align 2, 0
-_0807B2B8: .4byte gSaveBlock1Ptr
- thumb_func_end UpdateWeatherPerDay
-
- thumb_func_start UpdateRainCounter
-UpdateRainCounter: @ 807B2BC
- push {lr}
- lsls r0, 24
- lsls r1, 24
- lsrs r2, r0, 24
- cmp r0, r1
- beq _0807B2D6
- cmp r2, 0x3
- beq _0807B2D0
- cmp r2, 0x5
- bne _0807B2D6
-_0807B2D0:
- movs r0, 0x28
- bl IncrementGameStat
-_0807B2D6:
- pop {r0}
- bx r0
- thumb_func_end UpdateRainCounter
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/field_weather_effects.s b/asm/field_weather_effects.s
deleted file mode 100644
index decfe4078..000000000
--- a/asm/field_weather_effects.s
+++ /dev/null
@@ -1,5240 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start Clouds_InitVars
-Clouds_InitVars: @ 807B2DC
- push {lr}
- ldr r0, _0807B314 @ =gUnknown_83C2BBC
- ldr r0, [r0]
- ldr r2, _0807B318 @ =0x000006c1
- adds r1, r0, r2
- movs r2, 0
- strb r2, [r1]
- ldr r1, _0807B31C @ =0x000006c2
- adds r3, r0, r1
- movs r1, 0x14
- strb r1, [r3]
- ldr r3, _0807B320 @ =0x000006d2
- adds r1, r0, r3
- strb r2, [r1]
- subs r3, 0x6
- adds r1, r0, r3
- strh r2, [r1]
- ldr r1, _0807B324 @ =0x000006de
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _0807B310
- movs r0, 0
- movs r1, 0x10
- bl Weather_SetBlendCoeffs
-_0807B310:
- pop {r0}
- bx r0
- .align 2, 0
-_0807B314: .4byte gUnknown_83C2BBC
-_0807B318: .4byte 0x000006c1
-_0807B31C: .4byte 0x000006c2
-_0807B320: .4byte 0x000006d2
-_0807B324: .4byte 0x000006de
- thumb_func_end Clouds_InitVars
-
- thumb_func_start Clouds_InitAll
-Clouds_InitAll: @ 807B328
- push {r4,lr}
- bl Clouds_InitVars
- ldr r0, _0807B350 @ =gUnknown_83C2BBC
- ldr r1, [r0]
- ldr r2, _0807B354 @ =0x000006d2
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _0807B348
- adds r4, r1, r2
-_0807B33E:
- bl Clouds_Main
- ldrb r0, [r4]
- cmp r0, 0
- beq _0807B33E
-_0807B348:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0807B350: .4byte gUnknown_83C2BBC
-_0807B354: .4byte 0x000006d2
- thumb_func_end Clouds_InitAll
-
- thumb_func_start Clouds_Main
-Clouds_Main: @ 807B358
- push {r4,r5,lr}
- ldr r0, _0807B374 @ =gUnknown_83C2BBC
- ldr r5, [r0]
- ldr r0, _0807B378 @ =0x000006cc
- adds r4, r5, r0
- ldrh r0, [r4]
- cmp r0, 0x1
- beq _0807B388
- cmp r0, 0x1
- bgt _0807B37C
- cmp r0, 0
- beq _0807B382
- b _0807B3AC
- .align 2, 0
-_0807B374: .4byte gUnknown_83C2BBC
-_0807B378: .4byte 0x000006cc
-_0807B37C:
- cmp r0, 0x2
- beq _0807B394
- b _0807B3AC
-_0807B382:
- bl CreateCloudSprites
- b _0807B3A6
-_0807B388:
- movs r0, 0xC
- movs r1, 0x8
- movs r2, 0x1
- bl Weather_SetTargetBlendCoeffs
- b _0807B3A6
-_0807B394:
- bl Weather_UpdateBlend
- lsls r0, 24
- cmp r0, 0
- beq _0807B3AC
- ldr r0, _0807B3B4 @ =0x000006d2
- adds r1, r5, r0
- movs r0, 0x1
- strb r0, [r1]
-_0807B3A6:
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
-_0807B3AC:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0807B3B4: .4byte 0x000006d2
- thumb_func_end Clouds_Main
-
- thumb_func_start Clouds_Finish
-Clouds_Finish: @ 807B3B8
- push {r4,lr}
- ldr r0, _0807B3D0 @ =gUnknown_83C2BBC
- ldr r0, [r0]
- ldr r1, _0807B3D4 @ =0x000006ce
- adds r4, r0, r1
- ldrh r0, [r4]
- cmp r0, 0
- beq _0807B3D8
- cmp r0, 0x1
- beq _0807B3E4
- movs r0, 0
- b _0807B3FA
- .align 2, 0
-_0807B3D0: .4byte gUnknown_83C2BBC
-_0807B3D4: .4byte 0x000006ce
-_0807B3D8:
- movs r0, 0
- movs r1, 0x10
- movs r2, 0x1
- bl Weather_SetTargetBlendCoeffs
- b _0807B3F2
-_0807B3E4:
- bl Weather_UpdateBlend
- lsls r0, 24
- cmp r0, 0
- beq _0807B3F8
- bl sub_807B504
-_0807B3F2:
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
-_0807B3F8:
- movs r0, 0x1
-_0807B3FA:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end Clouds_Finish
-
- thumb_func_start Weather2_InitVars
-Weather2_InitVars: @ 807B400
- ldr r0, _0807B418 @ =gUnknown_83C2BBC
- ldr r1, [r0]
- ldr r0, _0807B41C @ =0x000006c1
- adds r2, r1, r0
- movs r0, 0
- strb r0, [r2]
- ldr r0, _0807B420 @ =0x000006c2
- adds r1, r0
- movs r0, 0x14
- strb r0, [r1]
- bx lr
- .align 2, 0
-_0807B418: .4byte gUnknown_83C2BBC
-_0807B41C: .4byte 0x000006c1
-_0807B420: .4byte 0x000006c2
- thumb_func_end Weather2_InitVars
-
- thumb_func_start Weather2_InitAll
-Weather2_InitAll: @ 807B424
- push {lr}
- bl Weather2_InitVars
- pop {r0}
- bx r0
- thumb_func_end Weather2_InitAll
-
- thumb_func_start nullsub_48
-nullsub_48: @ 807B430
- bx lr
- thumb_func_end nullsub_48
-
- thumb_func_start sub_807B434
-sub_807B434: @ 807B434
- movs r0, 0
- bx lr
- thumb_func_end sub_807B434
-
- thumb_func_start CreateCloudSprites
-CreateCloudSprites: @ 807B438
- push {r4,r5,lr}
- ldr r0, _0807B4B0 @ =gUnknown_83C2BBC
- ldr r0, [r0]
- ldr r1, _0807B4B4 @ =0x000006de
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _0807B4F4
- ldr r0, _0807B4B8 @ =gUnknown_83C65D4
- bl LoadSpriteSheet
- ldr r0, _0807B4BC @ =gUnknown_83C2D00
- bl sub_807ABC0
- movs r5, 0
-_0807B456:
- ldr r0, _0807B4C0 @ =gUnknown_83C65F0
- movs r1, 0
- movs r2, 0
- movs r3, 0xFF
- bl CreateSprite
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x40
- beq _0807B4CC
- ldr r0, _0807B4B0 @ =gUnknown_83C2BBC
- ldr r1, [r0]
- lsls r2, r5, 2
- movs r0, 0xFA
- lsls r0, 1
- adds r1, r0
- adds r1, r2
- lsls r4, r3, 4
- adds r4, r3
- lsls r4, 2
- ldr r0, _0807B4C4 @ =gSprites
- adds r4, r0
- str r4, [r1]
- ldr r0, _0807B4C8 @ =gUnknown_83C65C8
- adds r2, r0
- ldrh r0, [r2]
- adds r0, 0x7
- lsls r0, 16
- asrs r0, 16
- ldrh r1, [r2, 0x2]
- adds r1, 0x7
- lsls r1, 16
- asrs r1, 16
- adds r2, r4, 0
- adds r2, 0x20
- adds r3, r4, 0
- adds r3, 0x22
- bl SetSpritePosToMapCoords
- adds r4, 0x3E
- ldrb r0, [r4]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r4]
- b _0807B4DE
- .align 2, 0
-_0807B4B0: .4byte gUnknown_83C2BBC
-_0807B4B4: .4byte 0x000006de
-_0807B4B8: .4byte gUnknown_83C65D4
-_0807B4BC: .4byte gUnknown_83C2D00
-_0807B4C0: .4byte gUnknown_83C65F0
-_0807B4C4: .4byte gSprites
-_0807B4C8: .4byte gUnknown_83C65C8
-_0807B4CC:
- ldr r0, _0807B4FC @ =gUnknown_83C2BBC
- ldr r1, [r0]
- lsls r0, r5, 2
- movs r2, 0xFA
- lsls r2, 1
- adds r1, r2
- adds r1, r0
- movs r0, 0
- str r0, [r1]
-_0807B4DE:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x2
- bls _0807B456
- ldr r0, _0807B4FC @ =gUnknown_83C2BBC
- ldr r0, [r0]
- ldr r1, _0807B500 @ =0x000006de
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
-_0807B4F4:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0807B4FC: .4byte gUnknown_83C2BBC
-_0807B500: .4byte 0x000006de
- thumb_func_end CreateCloudSprites
-
- thumb_func_start sub_807B504
-sub_807B504: @ 807B504
- push {r4,r5,lr}
- ldr r0, _0807B550 @ =gUnknown_83C2BBC
- ldr r1, [r0]
- ldr r2, _0807B554 @ =0x000006de
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _0807B548
- movs r4, 0
- movs r0, 0xFA
- lsls r0, 1
- adds r5, r1, r0
-_0807B51C:
- lsls r0, r4, 2
- adds r0, r5, r0
- ldr r0, [r0]
- cmp r0, 0
- beq _0807B52A
- bl DestroySprite
-_0807B52A:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x2
- bls _0807B51C
- movs r0, 0x90
- lsls r0, 5
- bl FreeSpriteTilesByTag
- ldr r0, _0807B550 @ =gUnknown_83C2BBC
- ldr r0, [r0]
- ldr r1, _0807B554 @ =0x000006de
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
-_0807B548:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0807B550: .4byte gUnknown_83C2BBC
-_0807B554: .4byte 0x000006de
- thumb_func_end sub_807B504
-
- thumb_func_start sub_807B558
-sub_807B558: @ 807B558
- push {lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x2E]
- adds r0, 0x1
- movs r1, 0x1
- ands r0, r1
- strh r0, [r2, 0x2E]
- cmp r0, 0
- beq _0807B570
- ldrh r0, [r2, 0x20]
- subs r0, 0x1
- strh r0, [r2, 0x20]
-_0807B570:
- pop {r0}
- bx r0
- thumb_func_end sub_807B558
-
- thumb_func_start Drought_InitVars
-Drought_InitVars: @ 807B574
- ldr r0, _0807B598 @ =gUnknown_83C2BBC
- ldr r1, [r0]
- ldr r0, _0807B59C @ =0x000006cc
- adds r3, r1, r0
- movs r2, 0
- movs r0, 0
- strh r0, [r3]
- ldr r3, _0807B5A0 @ =0x000006d2
- adds r0, r1, r3
- strb r2, [r0]
- subs r3, 0x11
- adds r0, r1, r3
- strb r2, [r0]
- ldr r0, _0807B5A4 @ =0x000006c2
- adds r1, r0
- strb r2, [r1]
- bx lr
- .align 2, 0
-_0807B598: .4byte gUnknown_83C2BBC
-_0807B59C: .4byte 0x000006cc
-_0807B5A0: .4byte 0x000006d2
-_0807B5A4: .4byte 0x000006c2
- thumb_func_end Drought_InitVars
-
- thumb_func_start Drought_InitAll
-Drought_InitAll: @ 807B5A8
- push {r4,lr}
- bl Drought_InitVars
- ldr r0, _0807B5D0 @ =gUnknown_83C2BBC
- ldr r1, [r0]
- ldr r2, _0807B5D4 @ =0x000006d2
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _0807B5C8
- adds r4, r1, r2
-_0807B5BE:
- bl Drought_Main
- ldrb r0, [r4]
- cmp r0, 0
- beq _0807B5BE
-_0807B5C8:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0807B5D0: .4byte gUnknown_83C2BBC
-_0807B5D4: .4byte 0x000006d2
- thumb_func_end Drought_InitAll
-
- thumb_func_start Drought_Main
-Drought_Main: @ 807B5D8
- push {lr}
- ldr r1, _0807B5F4 @ =gUnknown_83C2BBC
- ldr r0, [r1]
- ldr r2, _0807B5F8 @ =0x000006cc
- adds r0, r2
- ldrh r0, [r0]
- adds r2, r1, 0
- cmp r0, 0x4
- bhi _0807B6B4
- lsls r0, 2
- ldr r1, _0807B5FC @ =_0807B600
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0807B5F4: .4byte gUnknown_83C2BBC
-_0807B5F8: .4byte 0x000006cc
-_0807B5FC: .4byte _0807B600
- .align 2, 0
-_0807B600:
- .4byte _0807B614
- .4byte _0807B630
- .4byte _0807B648
- .4byte _0807B664
- .4byte _0807B67C
-_0807B614:
- ldr r1, [r2]
- ldr r2, _0807B628 @ =0x000006c6
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _0807B6B8
- ldr r0, _0807B62C @ =0x000006cc
- adds r1, r0
- b _0807B69C
- .align 2, 0
-_0807B628: .4byte 0x000006c6
-_0807B62C: .4byte 0x000006cc
-_0807B630:
- bl sub_807ABF4
- ldr r0, _0807B640 @ =gUnknown_83C2BBC
- ldr r1, [r0]
- ldr r2, _0807B644 @ =0x000006cc
- adds r1, r2
- b _0807B69C
- .align 2, 0
-_0807B640: .4byte gUnknown_83C2BBC
-_0807B644: .4byte 0x000006cc
-_0807B648:
- bl sub_807AC14
- lsls r0, 24
- cmp r0, 0
- bne _0807B6B8
- ldr r0, _0807B65C @ =gUnknown_83C2BBC
- ldr r1, [r0]
- ldr r0, _0807B660 @ =0x000006cc
- adds r1, r0
- b _0807B69C
- .align 2, 0
-_0807B65C: .4byte gUnknown_83C2BBC
-_0807B660: .4byte 0x000006cc
-_0807B664:
- bl sub_807AC60
- ldr r0, _0807B674 @ =gUnknown_83C2BBC
- ldr r1, [r0]
- ldr r2, _0807B678 @ =0x000006cc
- adds r1, r2
- b _0807B69C
- .align 2, 0
-_0807B674: .4byte gUnknown_83C2BBC
-_0807B678: .4byte 0x000006cc
-_0807B67C:
- bl sub_807AC98
- ldr r0, _0807B6A4 @ =gUnknown_83C2BBC
- ldr r2, [r0]
- ldr r1, _0807B6A8 @ =0x0000073c
- adds r0, r2, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0x6
- bne _0807B6B8
- ldr r0, _0807B6AC @ =0x000006d2
- adds r1, r2, r0
- movs r0, 0x1
- strb r0, [r1]
- ldr r0, _0807B6B0 @ =0x000006cc
- adds r1, r2, r0
-_0807B69C:
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _0807B6B8
- .align 2, 0
-_0807B6A4: .4byte gUnknown_83C2BBC
-_0807B6A8: .4byte 0x0000073c
-_0807B6AC: .4byte 0x000006d2
-_0807B6B0: .4byte 0x000006cc
-_0807B6B4:
- bl sub_807AC98
-_0807B6B8:
- pop {r0}
- bx r0
- thumb_func_end Drought_Main
-
- thumb_func_start sub_807B6BC
-sub_807B6BC: @ 807B6BC
- movs r0, 0
- bx lr
- thumb_func_end sub_807B6BC
-
- thumb_func_start StartDroughtWeatherBlend
-StartDroughtWeatherBlend: @ 807B6C0
- push {lr}
- ldr r0, _0807B6D0 @ =task50_0807B6D4
- movs r1, 0x50
- bl CreateTask
- pop {r0}
- bx r0
- .align 2, 0
-_0807B6D0: .4byte task50_0807B6D4
- thumb_func_end StartDroughtWeatherBlend
-
- thumb_func_start task50_0807B6D4
-task50_0807B6D4: @ 807B6D4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, _0807B6F8 @ =gTasks
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x4
- bhi _0807B7C2
- lsls r0, 2
- ldr r1, _0807B6FC @ =_0807B700
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0807B6F8: .4byte gTasks
-_0807B6FC: .4byte _0807B700
- .align 2, 0
-_0807B700:
- .4byte _0807B714
- .4byte _0807B740
- .4byte _0807B768
- .4byte _0807B798
- .4byte _0807B7B8
-_0807B714:
- movs r0, 0
- strh r0, [r4, 0xA]
- strh r0, [r4, 0xC]
- movs r0, 0x48
- bl GetGpuReg
- strh r0, [r4, 0xE]
- ldr r1, _0807B764 @ =0x00003f3f
- movs r0, 0x48
- bl SetGpuReg
- movs r0, 0x50
- movs r1, 0x9E
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0
- bl SetGpuReg
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_0807B740:
- ldrh r0, [r4, 0xA]
- adds r0, 0x3
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x10
- ble _0807B752
- movs r0, 0x10
- strh r0, [r4, 0xA]
-_0807B752:
- ldrh r1, [r4, 0xA]
- movs r0, 0x54
- bl SetGpuReg
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- cmp r0, 0xF
- ble _0807B7C2
- b _0807B7B0
- .align 2, 0
-_0807B764: .4byte 0x00003f3f
-_0807B768:
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- movs r1, 0
- strh r0, [r4, 0xC]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x9
- ble _0807B7C2
- strh r1, [r4, 0xC]
- ldrh r0, [r4, 0xA]
- subs r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- cmp r0, 0
- bgt _0807B78E
- strh r1, [r4, 0xA]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_0807B78E:
- ldrh r1, [r4, 0xA]
- movs r0, 0x54
- bl SetGpuReg
- b _0807B7C2
-_0807B798:
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0
- bl SetGpuReg
- ldrh r1, [r4, 0xE]
- movs r0, 0x48
- bl SetGpuReg
-_0807B7B0:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _0807B7C2
-_0807B7B8:
- bl EnableBothScriptContexts
- adds r0, r5, 0
- bl DestroyTask
-_0807B7C2:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end task50_0807B6D4
-
- thumb_func_start LightRain_InitVars
-LightRain_InitVars: @ 807B7C8
- push {r4,lr}
- ldr r0, _0807B818 @ =gUnknown_83C2BBC
- ldr r1, [r0]
- ldr r2, _0807B81C @ =0x000006cc
- adds r0, r1, r2
- movs r3, 0
- movs r2, 0
- strh r2, [r0]
- ldr r4, _0807B820 @ =0x000006d2
- adds r0, r1, r4
- strb r3, [r0]
- adds r4, 0x4
- adds r0, r1, r4
- strh r2, [r0]
- ldr r0, _0807B824 @ =0x000006db
- adds r2, r1, r0
- movs r0, 0x8
- strb r0, [r2]
- ldr r2, _0807B828 @ =0x000006dc
- adds r0, r1, r2
- strb r3, [r0]
- adds r4, 0x3
- adds r2, r1, r4
- movs r0, 0xA
- strb r0, [r2]
- ldr r0, _0807B82C @ =0x000006c1
- adds r2, r1, r0
- movs r0, 0x3
- strb r0, [r2]
- ldr r2, _0807B830 @ =0x000006c2
- adds r1, r2
- movs r0, 0x14
- strb r0, [r1]
- movs r0, 0x4E
- bl SetRainStrengthFromSoundEffect
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0807B818: .4byte gUnknown_83C2BBC
-_0807B81C: .4byte 0x000006cc
-_0807B820: .4byte 0x000006d2
-_0807B824: .4byte 0x000006db
-_0807B828: .4byte 0x000006dc
-_0807B82C: .4byte 0x000006c1
-_0807B830: .4byte 0x000006c2
- thumb_func_end LightRain_InitVars
-
- thumb_func_start LightRain_InitAll
-LightRain_InitAll: @ 807B834
- push {r4,lr}
- bl LightRain_InitVars
- ldr r0, _0807B85C @ =gUnknown_83C2BBC
- ldr r1, [r0]
- ldr r2, _0807B860 @ =0x000006d2
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _0807B854
- adds r4, r1, r2
-_0807B84A:
- bl LightRain_Main
- ldrb r0, [r4]
- cmp r0, 0
- beq _0807B84A
-_0807B854:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0807B85C: .4byte gUnknown_83C2BBC
-_0807B860: .4byte 0x000006d2
- thumb_func_end LightRain_InitAll
-
- thumb_func_start LightRain_Main
-LightRain_Main: @ 807B864
- push {r4,r5,lr}
- ldr r0, _0807B880 @ =gUnknown_83C2BBC
- ldr r5, [r0]
- ldr r0, _0807B884 @ =0x000006cc
- adds r4, r5, r0
- ldrh r0, [r4]
- cmp r0, 0x1
- beq _0807B894
- cmp r0, 0x1
- bgt _0807B888
- cmp r0, 0
- beq _0807B88E
- b _0807B8B8
- .align 2, 0
-_0807B880: .4byte gUnknown_83C2BBC
-_0807B884: .4byte 0x000006cc
-_0807B888:
- cmp r0, 0x2
- beq _0807B8A0
- b _0807B8B8
-_0807B88E:
- bl LoadRainSpriteSheet
- b _0807B8B2
-_0807B894:
- bl CreateRainSprite
- lsls r0, 24
- cmp r0, 0
- bne _0807B8B8
- b _0807B8B2
-_0807B8A0:
- bl sub_807BD4C
- lsls r0, 24
- cmp r0, 0
- bne _0807B8B8
- ldr r0, _0807B8C0 @ =0x000006d2
- adds r1, r5, r0
- movs r0, 0x1
- strb r0, [r1]
-_0807B8B2:
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
-_0807B8B8:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0807B8C0: .4byte 0x000006d2
- thumb_func_end LightRain_Main
-
- thumb_func_start LightRain_Finish
-LightRain_Finish: @ 807B8C4
- push {r4,r5,lr}
- ldr r0, _0807B8E0 @ =gUnknown_83C2BBC
- ldr r2, [r0]
- ldr r1, _0807B8E4 @ =0x000006ce
- adds r3, r2, r1
- ldrh r1, [r3]
- adds r4, r0, 0
- cmp r1, 0
- beq _0807B8E8
- cmp r1, 0x1
- beq _0807B91C
- movs r0, 0
- b _0807B94A
- .align 2, 0
-_0807B8E0: .4byte gUnknown_83C2BBC
-_0807B8E4: .4byte 0x000006ce
-_0807B8E8:
- ldr r5, _0807B908 @ =0x000006d1
- adds r0, r2, r5
- ldrb r0, [r0]
- cmp r0, 0x3
- beq _0807B8FA
- cmp r0, 0x5
- beq _0807B8FA
- cmp r0, 0xD
- bne _0807B910
-_0807B8FA:
- ldr r0, [r4]
- ldr r1, _0807B90C @ =0x000006ce
- adds r0, r1
- movs r1, 0xFF
- strh r1, [r0]
- movs r0, 0
- b _0807B94A
- .align 2, 0
-_0807B908: .4byte 0x000006d1
-_0807B90C: .4byte 0x000006ce
-_0807B910:
- ldr r4, _0807B93C @ =0x000006d9
- adds r0, r2, r4
- strb r1, [r0]
- ldrh r0, [r3]
- adds r0, 0x1
- strh r0, [r3]
-_0807B91C:
- bl sub_807BD4C
- lsls r0, 24
- cmp r0, 0
- bne _0807B948
- bl DestroyRainSprites
- ldr r0, _0807B940 @ =gUnknown_83C2BBC
- ldr r1, [r0]
- ldr r5, _0807B944 @ =0x000006ce
- adds r1, r5
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- movs r0, 0
- b _0807B94A
- .align 2, 0
-_0807B93C: .4byte 0x000006d9
-_0807B940: .4byte gUnknown_83C2BBC
-_0807B944: .4byte 0x000006ce
-_0807B948:
- movs r0, 0x1
-_0807B94A:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end LightRain_Finish
-
- thumb_func_start sub_807B950
-sub_807B950: @ 807B950
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r7, r0, 0
- movs r1, 0x30
- ldrsh r0, [r7, r1]
- cmp r0, 0
- bne _0807B964
- ldr r0, _0807BA08 @ =0x00000169
- strh r0, [r7, 0x30]
-_0807B964:
- movs r2, 0x30
- ldrsh r1, [r7, r2]
- ldr r0, _0807BA0C @ =0x41c64e6d
- muls r0, r1
- ldr r3, _0807BA10 @ =0x00003039
- adds r0, r3
- lsls r0, 1
- lsrs r0, 17
- movs r1, 0x96
- lsls r1, 2
- bl __umodsi3
- movs r1, 0
- mov r8, r1
- strh r0, [r7, 0x30]
- ldr r1, _0807BA14 @ =gUnknown_83C66C4
- ldr r0, _0807BA18 @ =gUnknown_83C2BBC
- ldr r5, [r0]
- ldr r2, _0807BA1C @ =0x000006dc
- adds r5, r2
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r1
- ldrh r6, [r0]
- movs r3, 0x30
- ldrsh r0, [r7, r3]
- movs r1, 0x1E
- bl __modsi3
- adds r4, r0, 0
- lsls r4, 16
- asrs r4, 16
- lsls r0, r4, 3
- strh r0, [r7, 0x32]
- movs r1, 0x30
- ldrsh r0, [r7, r1]
- movs r1, 0x1E
- bl __divsi3
- lsls r0, 16
- lsls r4, 7
- strh r4, [r7, 0x32]
- asrs r0, 9
- strh r0, [r7, 0x34]
- ldr r2, _0807BA20 @ =gUnknown_83C66BC
- ldrb r1, [r5]
- lsls r1, 2
- adds r1, r2
- movs r3, 0
- ldrsh r1, [r1, r3]
- muls r1, r6
- subs r4, r1
- strh r4, [r7, 0x32]
- ldrb r1, [r5]
- lsls r1, 2
- adds r2, 0x2
- adds r1, r2
- movs r2, 0
- ldrsh r1, [r1, r2]
- muls r1, r6
- subs r0, r1
- strh r0, [r7, 0x34]
- adds r0, r7, 0
- movs r1, 0
- bl StartSpriteAnim
- mov r3, r8
- strh r3, [r7, 0x36]
- adds r2, r7, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x3
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- strh r6, [r7, 0x2E]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0807BA08: .4byte 0x00000169
-_0807BA0C: .4byte 0x41c64e6d
-_0807BA10: .4byte 0x00003039
-_0807BA14: .4byte gUnknown_83C66C4
-_0807BA18: .4byte gUnknown_83C2BBC
-_0807BA1C: .4byte 0x000006dc
-_0807BA20: .4byte gUnknown_83C66BC
- thumb_func_end sub_807B950
-
- thumb_func_start sub_807BA24
-sub_807BA24: @ 807BA24
- push {r4,r5,lr}
- adds r5, r0, 0
- movs r1, 0x36
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _0807BB00
- ldr r3, _0807BA98 @ =gUnknown_83C66BC
- ldr r4, _0807BA9C @ =gUnknown_83C2BBC
- ldr r2, [r4]
- ldr r0, _0807BAA0 @ =0x000006dc
- adds r2, r0
- ldrb r0, [r2]
- lsls r0, 2
- adds r0, r3
- ldrh r1, [r0]
- ldrh r0, [r5, 0x32]
- adds r1, r0
- strh r1, [r5, 0x32]
- ldrb r0, [r2]
- lsls r0, 2
- adds r3, 0x2
- adds r0, r3
- ldrh r0, [r0]
- ldrh r2, [r5, 0x34]
- adds r0, r2
- strh r0, [r5, 0x34]
- lsls r1, 16
- asrs r1, 20
- strh r1, [r5, 0x20]
- lsls r0, 16
- asrs r2, r0, 20
- strh r2, [r5, 0x22]
- movs r3, 0x38
- ldrsh r0, [r5, r3]
- adds r3, r4, 0
- cmp r0, 0
- beq _0807BAA4
- adds r0, r1, 0
- adds r0, 0x8
- lsls r0, 16
- movs r1, 0x80
- lsls r1, 17
- cmp r0, r1
- bhi _0807BAA4
- adds r1, r2, 0
- movs r0, 0x10
- negs r0, r0
- cmp r1, r0
- blt _0807BAA4
- cmp r1, 0xB0
- bgt _0807BAA4
- adds r0, r5, 0
- adds r0, 0x3E
- ldrb r2, [r0]
- movs r1, 0x5
- negs r1, r1
- ands r1, r2
- b _0807BAAE
- .align 2, 0
-_0807BA98: .4byte gUnknown_83C66BC
-_0807BA9C: .4byte gUnknown_83C2BBC
-_0807BAA0: .4byte 0x000006dc
-_0807BAA4:
- adds r0, r5, 0
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
-_0807BAAE:
- strb r1, [r0]
- adds r4, r0, 0
- ldrh r0, [r5, 0x2E]
- subs r0, 0x1
- strh r0, [r5, 0x2E]
- lsls r0, 16
- cmp r0, 0
- bne _0807BB20
- ldr r0, [r3]
- ldr r1, _0807BAF4 @ =0x000006dc
- adds r0, r1
- ldrb r1, [r0]
- adds r1, 0x1
- lsls r1, 24
- lsrs r1, 24
- adds r0, r5, 0
- bl StartSpriteAnim
- movs r0, 0x1
- strh r0, [r5, 0x36]
- ldr r1, _0807BAF8 @ =gSpriteCoordOffsetX
- ldrh r0, [r5, 0x20]
- ldrh r1, [r1]
- subs r0, r1
- strh r0, [r5, 0x20]
- ldr r1, _0807BAFC @ =gSpriteCoordOffsetY
- ldrh r0, [r5, 0x22]
- ldrh r1, [r1]
- subs r0, r1
- strh r0, [r5, 0x22]
- ldrb r0, [r4]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r4]
- b _0807BB20
- .align 2, 0
-_0807BAF4: .4byte 0x000006dc
-_0807BAF8: .4byte gSpriteCoordOffsetX
-_0807BAFC: .4byte gSpriteCoordOffsetY
-_0807BB00:
- adds r0, r5, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _0807BB20
- adds r2, r5, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- adds r0, r5, 0
- bl sub_807B950
-_0807BB20:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_807BA24
-
- thumb_func_start sub_807BB28
-sub_807BB28: @ 807BB28
- push {r4,lr}
- adds r4, r0, 0
- ldrh r1, [r4, 0x2E]
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _0807BB48
- adds r0, r4, 0
- bl sub_807B950
- ldr r0, _0807BB44 @ =sub_807BA24
- str r0, [r4, 0x1C]
- b _0807BB4C
- .align 2, 0
-_0807BB44: .4byte sub_807BA24
-_0807BB48:
- subs r0, r1, 0x1
- strh r0, [r4, 0x2E]
-_0807BB4C:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_807BB28
-
- thumb_func_start sub_807BB54
-sub_807BB54: @ 807BB54
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r7, r0, 0
- lsls r5, r1, 16
- lsrs r5, 16
- ldr r2, _0807BBD8 @ =gUnknown_83C66C4
- ldr r0, _0807BBDC @ =gUnknown_83C2BBC
- ldr r0, [r0]
- ldr r1, _0807BBE0 @ =0x000006dc
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 2
- adds r1, r0, r2
- ldrh r1, [r1]
- mov r8, r1
- adds r2, 0x2
- adds r0, r2
- ldrh r4, [r0]
- add r4, r8
- adds r0, r5, 0
- adds r1, r4, 0
- bl __divsi3
- lsls r0, 16
- lsrs r6, r0, 16
- adds r0, r5, 0
- adds r1, r4, 0
- bl __modsi3
- lsls r0, 16
- lsrs r4, r0, 16
- subs r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r0, _0807BBE4 @ =0x0000ffff
- cmp r6, r0
- beq _0807BBB2
- adds r5, r0, 0
-_0807BBA2:
- adds r0, r7, 0
- bl sub_807B950
- subs r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, r5
- bne _0807BBA2
-_0807BBB2:
- cmp r4, r8
- bcs _0807BBE8
- subs r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r0, _0807BBE4 @ =0x0000ffff
- cmp r4, r0
- beq _0807BBD4
- adds r5, r0, 0
-_0807BBC4:
- adds r0, r7, 0
- bl sub_807BA24
- subs r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, r5
- bne _0807BBC4
-_0807BBD4:
- movs r0, 0
- b _0807BBFC
- .align 2, 0
-_0807BBD8: .4byte gUnknown_83C66C4
-_0807BBDC: .4byte gUnknown_83C2BBC
-_0807BBE0: .4byte 0x000006dc
-_0807BBE4: .4byte 0x0000ffff
-_0807BBE8:
- mov r1, r8
- subs r0, r4, r1
- strh r0, [r7, 0x2E]
- adds r2, r7, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- movs r0, 0x1
-_0807BBFC:
- strh r0, [r7, 0x3A]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_807BB54
-
- thumb_func_start LoadRainSpriteSheet
-LoadRainSpriteSheet: @ 807BC08
- push {lr}
- ldr r0, _0807BC14 @ =gUnknown_83C66CC
- bl LoadSpriteSheet
- pop {r0}
- bx r0
- .align 2, 0
-_0807BC14: .4byte gUnknown_83C66CC
- thumb_func_end LoadRainSpriteSheet
-
- thumb_func_start CreateRainSprite
-CreateRainSprite: @ 807BC18
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r0, _0807BCC4 @ =gUnknown_83C2BBC
- ldr r4, [r0]
- ldr r0, _0807BCC8 @ =0x000006da
- adds r2, r4, r0
- ldrb r0, [r2]
- cmp r0, 0x18
- bne _0807BC32
- b _0807BD38
-_0807BC32:
- ldrb r7, [r2]
- ldr r0, _0807BCCC @ =gUnknown_83C66A4
- ldr r2, _0807BCD0 @ =gUnknown_83C6608
- lsls r6, r7, 2
- adds r2, r6, r2
- movs r3, 0
- ldrsh r1, [r2, r3]
- movs r3, 0x2
- ldrsh r2, [r2, r3]
- movs r3, 0x4E
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x40
- beq _0807BCE0
- ldr r3, _0807BCD4 @ =gSprites
- lsls r4, r5, 4
- adds r1, r4, r5
- lsls r1, 2
- adds r1, r3
- movs r0, 0
- strh r0, [r1, 0x38]
- lsls r2, r7, 3
- adds r0, r2, r7
- lsls r0, 4
- adds r0, r7
- strh r0, [r1, 0x30]
- lsls r0, 16
- asrs r0, 16
- ldr r1, _0807BCD8 @ =0x00000257
- mov r10, r6
- mov r9, r3
- mov r12, r4
- mov r8, r2
- cmp r0, r1
- ble _0807BC96
- adds r2, r1, 0
-_0807BC7E:
- adds r0, r4, r5
- lsls r0, 2
- ldr r6, _0807BCD4 @ =gSprites
- adds r0, r6
- ldr r3, _0807BCDC @ =0xfffffda8
- ldrh r6, [r0, 0x30]
- adds r1, r3, r6
- strh r1, [r0, 0x30]
- lsls r1, 16
- asrs r1, 16
- cmp r1, r2
- bgt _0807BC7E
-_0807BC96:
- mov r0, r12
- adds r4, r0, r5
- lsls r4, 2
- add r4, r9
- adds r0, r4, 0
- bl sub_807B950
- mov r3, r8
- adds r1, r3, r7
- adds r0, r4, 0
- bl sub_807BB54
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldr r0, _0807BCC4 @ =gUnknown_83C2BBC
- ldr r0, [r0]
- add r0, r10
- str r4, [r0]
- b _0807BCE6
- .align 2, 0
-_0807BCC4: .4byte gUnknown_83C2BBC
-_0807BCC8: .4byte 0x000006da
-_0807BCCC: .4byte gUnknown_83C66A4
-_0807BCD0: .4byte gUnknown_83C6608
-_0807BCD4: .4byte gSprites
-_0807BCD8: .4byte 0x00000257
-_0807BCDC: .4byte 0xfffffda8
-_0807BCE0:
- adds r1, r4, r6
- movs r0, 0
- str r0, [r1]
-_0807BCE6:
- ldr r0, _0807BD1C @ =gUnknown_83C2BBC
- ldr r2, [r0]
- ldr r6, _0807BD20 @ =0x000006da
- adds r1, r2, r6
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x18
- bne _0807BD3C
- movs r3, 0
- adds r1, r2, 0
- ldr r5, _0807BD24 @ =sub_807BA24
- ldr r4, _0807BD28 @ =sub_807BB28
-_0807BD04:
- lsls r0, r3, 2
- adds r0, r1, r0
- ldr r2, [r0]
- cmp r2, 0
- beq _0807BD2E
- movs r6, 0x3A
- ldrsh r0, [r2, r6]
- cmp r0, 0
- bne _0807BD2C
- str r5, [r2, 0x1C]
- b _0807BD2E
- .align 2, 0
-_0807BD1C: .4byte gUnknown_83C2BBC
-_0807BD20: .4byte 0x000006da
-_0807BD24: .4byte sub_807BA24
-_0807BD28: .4byte sub_807BB28
-_0807BD2C:
- str r4, [r2, 0x1C]
-_0807BD2E:
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x17
- bls _0807BD04
-_0807BD38:
- movs r0, 0
- b _0807BD3E
-_0807BD3C:
- movs r0, 0x1
-_0807BD3E:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end CreateRainSprite
-
- thumb_func_start sub_807BD4C
-sub_807BD4C: @ 807BD4C
- push {r4-r7,lr}
- ldr r0, _0807BD68 @ =gUnknown_83C2BBC
- ldr r3, [r0]
- movs r0, 0xDB
- lsls r0, 3
- adds r4, r3, r0
- ldr r1, _0807BD6C @ =0x000006d9
- adds r5, r3, r1
- ldrb r0, [r4]
- ldrb r7, [r5]
- cmp r0, r7
- bne _0807BD70
- movs r0, 0
- b _0807BDD2
- .align 2, 0
-_0807BD68: .4byte gUnknown_83C2BBC
-_0807BD6C: .4byte 0x000006d9
-_0807BD70:
- ldr r0, _0807BDA8 @ =0x000006d6
- adds r2, r3, r0
- ldrh r0, [r2]
- adds r0, 0x1
- movs r6, 0
- strh r0, [r2]
- ldr r7, _0807BDAC @ =0x000006db
- adds r1, r3, r7
- lsls r0, 16
- lsrs r0, 16
- ldrb r1, [r1]
- cmp r0, r1
- bls _0807BDD0
- strh r6, [r2]
- ldrb r0, [r4]
- adds r1, r0, 0
- ldrb r5, [r5]
- cmp r1, r5
- bcs _0807BDB0
- adds r0, 0x1
- strb r0, [r4]
- lsls r0, r1, 2
- adds r0, r3, r0
- ldr r1, [r0]
- movs r0, 0x1
- strh r0, [r1, 0x38]
- b _0807BDD0
- .align 2, 0
-_0807BDA8: .4byte 0x000006d6
-_0807BDAC: .4byte 0x000006db
-_0807BDB0:
- subs r0, 0x1
- strb r0, [r4]
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r3, r0
- ldr r0, [r0]
- strh r6, [r0, 0x38]
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r3, r0
- ldr r1, [r0]
- adds r1, 0x3E
- ldrb r0, [r1]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r1]
-_0807BDD0:
- movs r0, 0x1
-_0807BDD2:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_807BD4C
-
- thumb_func_start DestroyRainSprites
-DestroyRainSprites: @ 807BDD8
- push {r4-r7,lr}
- movs r4, 0
- ldr r0, _0807BE20 @ =gUnknown_83C2BBC
- ldr r2, [r0]
- ldr r3, _0807BE24 @ =0x000006da
- adds r1, r2, r3
- adds r7, r0, 0
- ldrb r1, [r1]
- cmp r4, r1
- bcs _0807BE0A
- adds r5, r2, 0
- adds r6, r5, r3
-_0807BDF0:
- lsls r0, r4, 2
- adds r0, r5, r0
- ldr r0, [r0]
- cmp r0, 0
- beq _0807BDFE
- bl DestroySprite
-_0807BDFE:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- ldrb r0, [r6]
- cmp r4, r0
- bcc _0807BDF0
-_0807BE0A:
- ldr r0, [r7]
- ldr r1, _0807BE24 @ =0x000006da
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- ldr r0, _0807BE28 @ =0x00001206
- bl FreeSpriteTilesByTag
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0807BE20: .4byte gUnknown_83C2BBC
-_0807BE24: .4byte 0x000006da
-_0807BE28: .4byte 0x00001206
- thumb_func_end DestroyRainSprites
-
- thumb_func_start Snow_InitVars
-Snow_InitVars: @ 807BE2C
- push {r4,lr}
- ldr r0, _0807BE68 @ =gUnknown_83C2BBC
- ldr r1, [r0]
- ldr r2, _0807BE6C @ =0x000006cc
- adds r0, r1, r2
- movs r2, 0
- movs r3, 0
- strh r3, [r0]
- ldr r4, _0807BE70 @ =0x000006d2
- adds r0, r1, r4
- strb r2, [r0]
- ldr r0, _0807BE74 @ =0x000006c1
- adds r2, r1, r0
- movs r0, 0x3
- strb r0, [r2]
- subs r4, 0x10
- adds r2, r1, r4
- movs r0, 0x14
- strb r0, [r2]
- ldr r0, _0807BE78 @ =0x000006e5
- adds r2, r1, r0
- movs r0, 0x10
- strb r0, [r2]
- movs r2, 0xDC
- lsls r2, 3
- adds r1, r2
- strh r3, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0807BE68: .4byte gUnknown_83C2BBC
-_0807BE6C: .4byte 0x000006cc
-_0807BE70: .4byte 0x000006d2
-_0807BE74: .4byte 0x000006c1
-_0807BE78: .4byte 0x000006e5
- thumb_func_end Snow_InitVars
-
- thumb_func_start Snow_InitAll
-Snow_InitAll: @ 807BE7C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- bl Snow_InitVars
- ldr r2, _0807BEDC @ =gUnknown_83C2BBC
- ldr r1, [r2]
- ldr r3, _0807BEE0 @ =0x000006d2
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, 0
- bne _0807BED2
- mov r8, r2
- adds r7, r1, r3
-_0807BE98:
- bl snowflakes_progress2
- movs r4, 0
- mov r1, r8
- ldr r0, [r1]
- ldr r3, _0807BEE4 @ =0x000006e4
- adds r0, r3
- ldrb r0, [r0]
- cmp r4, r0
- bcs _0807BECC
- ldr r0, _0807BEDC @ =gUnknown_83C2BBC
- ldr r5, [r0]
- adds r6, r5, r3
-_0807BEB2:
- lsls r1, r4, 2
- adds r0, r5, 0
- adds r0, 0x60
- adds r0, r1
- ldr r0, [r0]
- bl sub_807C1AC
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- ldrb r0, [r6]
- cmp r4, r0
- bcc _0807BEB2
-_0807BECC:
- ldrb r0, [r7]
- cmp r0, 0
- beq _0807BE98
-_0807BED2:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0807BEDC: .4byte gUnknown_83C2BBC
-_0807BEE0: .4byte 0x000006d2
-_0807BEE4: .4byte 0x000006e4
- thumb_func_end Snow_InitAll
-
- thumb_func_start snowflakes_progress2
-snowflakes_progress2: @ 807BEE8
- push {r4,r5,lr}
- ldr r0, _0807BF18 @ =gUnknown_83C2BBC
- ldr r5, [r0]
- ldr r0, _0807BF1C @ =0x000006cc
- adds r4, r5, r0
- ldrh r0, [r4]
- cmp r0, 0
- bne _0807BF10
- bl snowflakes_progress
- lsls r0, 24
- cmp r0, 0
- bne _0807BF10
- ldr r0, _0807BF20 @ =0x000006d2
- adds r1, r5, r0
- movs r0, 0x1
- strb r0, [r1]
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
-_0807BF10:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0807BF18: .4byte gUnknown_83C2BBC
-_0807BF1C: .4byte 0x000006cc
-_0807BF20: .4byte 0x000006d2
- thumb_func_end snowflakes_progress2
-
- thumb_func_start Snow_Finish
-Snow_Finish: @ 807BF24
- push {r4,lr}
- ldr r0, _0807BF3C @ =gUnknown_83C2BBC
- ldr r2, [r0]
- ldr r0, _0807BF40 @ =0x000006ce
- adds r3, r2, r0
- ldrh r1, [r3]
- cmp r1, 0
- beq _0807BF44
- cmp r1, 0x1
- beq _0807BF56
- movs r0, 0
- b _0807BF82
- .align 2, 0
-_0807BF3C: .4byte gUnknown_83C2BBC
-_0807BF40: .4byte 0x000006ce
-_0807BF44:
- ldr r4, _0807BF74 @ =0x000006e5
- adds r0, r2, r4
- strb r1, [r0]
- subs r4, 0x5
- adds r0, r2, r4
- strh r1, [r0]
- ldrh r0, [r3]
- adds r0, 0x1
- strh r0, [r3]
-_0807BF56:
- bl snowflakes_progress
- lsls r0, 24
- cmp r0, 0
- bne _0807BF80
- ldr r0, _0807BF78 @ =gUnknown_83C2BBC
- ldr r1, [r0]
- ldr r0, _0807BF7C @ =0x000006ce
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- movs r0, 0
- b _0807BF82
- .align 2, 0
-_0807BF74: .4byte 0x000006e5
-_0807BF78: .4byte gUnknown_83C2BBC
-_0807BF7C: .4byte 0x000006ce
-_0807BF80:
- movs r0, 0x1
-_0807BF82:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end Snow_Finish
-
- thumb_func_start snowflakes_progress
-snowflakes_progress: @ 807BF88
- push {r4,lr}
- ldr r0, _0807BFA4 @ =gUnknown_83C2BBC
- ldr r1, [r0]
- ldr r0, _0807BFA8 @ =0x000006e4
- adds r3, r1, r0
- ldr r4, _0807BFAC @ =0x000006e5
- adds r2, r1, r4
- ldrb r0, [r3]
- ldrb r4, [r2]
- cmp r0, r4
- bne _0807BFB0
- movs r0, 0
- b _0807BFF2
- .align 2, 0
-_0807BFA4: .4byte gUnknown_83C2BBC
-_0807BFA8: .4byte 0x000006e4
-_0807BFAC: .4byte 0x000006e5
-_0807BFB0:
- movs r0, 0xDC
- lsls r0, 3
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x24
- bls _0807BFDA
- movs r0, 0
- strh r0, [r1]
- ldrb r0, [r3]
- ldrb r2, [r2]
- cmp r0, r2
- bcs _0807BFD6
- bl snowflake_add
- b _0807BFDA
-_0807BFD6:
- bl snowflake_remove
-_0807BFDA:
- ldr r0, _0807BFF8 @ =gUnknown_83C2BBC
- ldr r0, [r0]
- ldr r2, _0807BFFC @ =0x000006e4
- adds r1, r0, r2
- ldr r4, _0807C000 @ =0x000006e5
- adds r0, r4
- ldrb r1, [r1]
- ldrb r0, [r0]
- eors r1, r0
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
-_0807BFF2:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0807BFF8: .4byte gUnknown_83C2BBC
-_0807BFFC: .4byte 0x000006e4
-_0807C000: .4byte 0x000006e5
- thumb_func_end snowflakes_progress
-
- thumb_func_start snowflake_add
-snowflake_add: @ 807C004
- push {r4-r6,lr}
- ldr r0, _0807C058 @ =gUnknown_83C6704
- movs r1, 0
- movs r2, 0
- movs r3, 0x4E
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- beq _0807C068
- ldr r0, _0807C05C @ =gSprites
- lsls r4, r1, 4
- adds r4, r1
- lsls r4, 2
- adds r4, r0
- ldr r0, _0807C060 @ =gUnknown_83C2BBC
- ldr r5, [r0]
- ldr r0, _0807C064 @ =0x000006e4
- adds r6, r5, r0
- ldrb r0, [r6]
- strh r0, [r4, 0x36]
- adds r0, r4, 0
- bl sub_807C0A4
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r2]
- ldrb r0, [r6]
- adds r1, r0, 0x1
- strb r1, [r6]
- lsls r0, 24
- lsrs r0, 22
- adds r5, 0x60
- adds r5, r0
- str r4, [r5]
- movs r0, 0x1
- b _0807C06A
- .align 2, 0
-_0807C058: .4byte gUnknown_83C6704
-_0807C05C: .4byte gSprites
-_0807C060: .4byte gUnknown_83C2BBC
-_0807C064: .4byte 0x000006e4
-_0807C068:
- movs r0, 0
-_0807C06A:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end snowflake_add
-
- thumb_func_start snowflake_remove
-snowflake_remove: @ 807C070
- push {lr}
- ldr r0, _0807C084 @ =gUnknown_83C2BBC
- ldr r1, [r0]
- ldr r0, _0807C088 @ =0x000006e4
- adds r2, r1, r0
- ldrb r0, [r2]
- cmp r0, 0
- bne _0807C08C
- movs r0, 0
- b _0807C0A0
- .align 2, 0
-_0807C084: .4byte gUnknown_83C2BBC
-_0807C088: .4byte 0x000006e4
-_0807C08C:
- subs r0, 0x1
- strb r0, [r2]
- lsls r0, 24
- lsrs r0, 22
- adds r1, 0x60
- adds r1, r0
- ldr r0, [r1]
- bl DestroySprite
- movs r0, 0x1
-_0807C0A0:
- pop {r1}
- bx r1
- thumb_func_end snowflake_remove
-
- thumb_func_start sub_807C0A4
-sub_807C0A4: @ 807C0A4
- push {r4-r7,lr}
- adds r5, r0, 0
- bl Random
- movs r1, 0x36
- ldrsh r2, [r5, r1]
- lsls r1, r2, 2
- adds r1, r2
- movs r2, 0x7
- ands r1, r2
- lsls r4, r1, 4
- subs r4, r1
- lsls r4, 1
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1E
- bl __umodsi3
- adds r4, r0
- lsls r4, 16
- lsrs r4, 16
- ldr r1, _0807C148 @ =gSpriteCoordOffsetY
- adds r0, r5, 0
- adds r0, 0x29
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- ldrh r1, [r1]
- adds r0, r1
- movs r2, 0x3
- negs r2, r2
- adds r1, r2, 0
- subs r1, r0
- movs r7, 0
- strh r1, [r5, 0x22]
- ldr r1, _0807C14C @ =gSpriteCoordOffsetX
- adds r0, r5, 0
- adds r0, 0x28
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- ldrh r1, [r1]
- adds r0, r1
- subs r4, r0
- strh r4, [r5, 0x20]
- movs r1, 0x22
- ldrsh r0, [r5, r1]
- lsls r0, 7
- strh r0, [r5, 0x2E]
- strh r7, [r5, 0x24]
- bl Random
- lsls r0, 16
- lsrs r0, 16
- adds r6, r0, 0
- movs r4, 0x3
- ands r4, r6
- lsls r0, r4, 2
- adds r0, r4
- adds r0, 0x40
- strh r0, [r5, 0x30]
- strh r0, [r5, 0x3C]
- movs r1, 0x1
- bics r1, r6
- adds r0, r5, 0
- bl StartSpriteAnim
- strh r7, [r5, 0x34]
- movs r0, 0x1
- cmp r4, 0
- bne _0807C134
- movs r0, 0x2
-_0807C134:
- strh r0, [r5, 0x32]
- movs r0, 0x1F
- ands r0, r6
- adds r0, 0xD2
- strh r0, [r5, 0x3A]
- strh r7, [r5, 0x38]
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0807C148: .4byte gSpriteCoordOffsetY
-_0807C14C: .4byte gSpriteCoordOffsetX
- thumb_func_end sub_807C0A4
-
- thumb_func_start sub_807C150
-sub_807C150: @ 807C150
- push {r4,lr}
- adds r3, r0, 0
- ldr r0, _0807C19C @ =gUnknown_83C2BBC
- ldr r0, [r0]
- ldr r1, _0807C1A0 @ =0x000006e2
- adds r4, r0, r1
- ldrh r0, [r4]
- cmp r0, 0x12
- bls _0807C196
- adds r2, r3, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- ldr r0, _0807C1A4 @ =sub_807C1AC
- str r0, [r3, 0x1C]
- ldr r1, _0807C1A8 @ =gSpriteCoordOffsetY
- adds r0, r3, 0
- adds r0, 0x29
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- ldrh r1, [r1]
- adds r0, r1
- movs r1, 0xFA
- subs r1, r0
- movs r2, 0
- strh r1, [r3, 0x22]
- movs r1, 0x22
- ldrsh r0, [r3, r1]
- lsls r0, 7
- strh r0, [r3, 0x2E]
- strh r2, [r4]
-_0807C196:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0807C19C: .4byte gUnknown_83C2BBC
-_0807C1A0: .4byte 0x000006e2
-_0807C1A4: .4byte sub_807C1AC
-_0807C1A8: .4byte gSpriteCoordOffsetY
- thumb_func_end sub_807C150
-
- thumb_func_start sub_807C1AC
-sub_807C1AC: @ 807C1AC
- push {r4,r5,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x30]
- ldrh r1, [r4, 0x2E]
- adds r0, r1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 23
- strh r0, [r4, 0x22]
- ldrh r0, [r4, 0x32]
- ldrh r2, [r4, 0x34]
- adds r0, r2
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x34]
- ldr r1, _0807C224 @ =gSineTable
- movs r3, 0x34
- ldrsh r0, [r4, r3]
- lsls r0, 1
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bge _0807C1DE
- adds r0, 0x3F
-_0807C1DE:
- asrs r0, 6
- strh r0, [r4, 0x24]
- adds r0, r4, 0
- adds r0, 0x28
- movs r5, 0
- ldrsb r5, [r0, r5]
- ldrh r0, [r4, 0x20]
- adds r0, r5
- ldr r1, _0807C228 @ =gSpriteCoordOffsetX
- ldrh r1, [r1]
- adds r3, r1, r0
- ldr r2, _0807C22C @ =0x000001ff
- adds r0, r2, 0
- ands r3, r0
- adds r2, r3, 0
- movs r0, 0x80
- lsls r0, 1
- ands r0, r2
- cmp r0, 0
- beq _0807C210
- ldr r3, _0807C230 @ =0xffffff00
- adds r0, r3, 0
- orrs r2, r0
- lsls r0, r2, 16
- lsrs r3, r0, 16
-_0807C210:
- lsls r0, r3, 16
- asrs r0, 16
- movs r2, 0x3
- negs r2, r2
- cmp r0, r2
- bge _0807C234
- adds r1, r5
- movs r0, 0xF2
- subs r0, r1
- b _0807C23C
- .align 2, 0
-_0807C224: .4byte gSineTable
-_0807C228: .4byte gSpriteCoordOffsetX
-_0807C22C: .4byte 0x000001ff
-_0807C230: .4byte 0xffffff00
-_0807C234:
- cmp r0, 0xF2
- ble _0807C23E
- adds r0, r1, r5
- subs r0, r2, r0
-_0807C23C:
- strh r0, [r4, 0x20]
-_0807C23E:
- adds r0, r4, 0
- adds r0, 0x29
- movs r3, 0
- ldrsb r3, [r0, r3]
- ldrh r0, [r4, 0x22]
- adds r0, r3
- ldr r1, _0807C27C @ =gSpriteCoordOffsetY
- ldrh r1, [r1]
- adds r2, r1, r0
- movs r0, 0xFF
- ands r2, r0
- adds r0, r2, 0
- subs r0, 0xA4
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x6
- bhi _0807C280
- adds r1, r3
- movs r0, 0xFA
- subs r0, r1
- movs r1, 0
- strh r0, [r4, 0x22]
- movs r2, 0x22
- ldrsh r0, [r4, r2]
- lsls r0, 7
- strh r0, [r4, 0x2E]
- strh r1, [r4, 0x38]
- movs r0, 0xDC
- strh r0, [r4, 0x3A]
- b _0807C2AC
- .align 2, 0
-_0807C27C: .4byte gSpriteCoordOffsetY
-_0807C280:
- adds r0, r2, 0
- subs r0, 0xF3
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x6
- bhi _0807C2AC
- movs r1, 0
- movs r0, 0xA3
- strh r0, [r4, 0x22]
- lsls r0, 7
- strh r0, [r4, 0x2E]
- strh r1, [r4, 0x38]
- movs r0, 0xDC
- strh r0, [r4, 0x3A]
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldr r0, _0807C2E0 @ =sub_807C150
- str r0, [r4, 0x1C]
-_0807C2AC:
- ldrh r0, [r4, 0x38]
- adds r0, 0x1
- strh r0, [r4, 0x38]
- lsls r0, 16
- asrs r0, 16
- movs r3, 0x3A
- ldrsh r1, [r4, r3]
- cmp r0, r1
- bne _0807C2D8
- adds r0, r4, 0
- bl sub_807C0A4
- movs r0, 0xFA
- strh r0, [r4, 0x22]
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldr r0, _0807C2E0 @ =sub_807C150
- str r0, [r4, 0x1C]
-_0807C2D8:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0807C2E0: .4byte sub_807C150
- thumb_func_end sub_807C1AC
-
- thumb_func_start sub_807C2E4
-sub_807C2E4: @ 807C2E4
- push {r4,r5,lr}
- ldr r0, _0807C33C @ =gUnknown_83C2BBC
- ldr r1, [r0]
- ldr r2, _0807C340 @ =0x000006cc
- adds r0, r1, r2
- movs r3, 0
- movs r2, 0
- strh r2, [r0]
- ldr r5, _0807C344 @ =0x000006d2
- adds r4, r1, r5
- strb r3, [r4]
- adds r5, 0x4
- adds r0, r1, r5
- strh r2, [r0]
- ldr r0, _0807C348 @ =0x000006db
- adds r2, r1, r0
- movs r0, 0x4
- strb r0, [r2]
- ldr r2, _0807C34C @ =0x000006dc
- adds r0, r1, r2
- strb r3, [r0]
- adds r5, 0x3
- adds r2, r1, r5
- movs r0, 0x10
- strb r0, [r2]
- ldr r0, _0807C350 @ =0x000006c1
- adds r2, r1, r0
- movs r0, 0x3
- strb r0, [r2]
- subs r5, 0x17
- adds r2, r1, r5
- movs r0, 0x14
- strb r0, [r2]
- strb r3, [r4]
- ldr r0, _0807C354 @ =0x000006ed
- adds r1, r0
- strb r3, [r1]
- movs r0, 0x4A
- bl SetRainStrengthFromSoundEffect
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0807C33C: .4byte gUnknown_83C2BBC
-_0807C340: .4byte 0x000006cc
-_0807C344: .4byte 0x000006d2
-_0807C348: .4byte 0x000006db
-_0807C34C: .4byte 0x000006dc
-_0807C350: .4byte 0x000006c1
-_0807C354: .4byte 0x000006ed
- thumb_func_end sub_807C2E4
-
- thumb_func_start sub_807C358
-sub_807C358: @ 807C358
- push {r4,lr}
- bl sub_807C2E4
- ldr r0, _0807C380 @ =gUnknown_83C2BBC
- ldr r1, [r0]
- ldr r2, _0807C384 @ =0x000006d2
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _0807C378
- adds r4, r1, r2
-_0807C36E:
- bl Rain_Main
- ldrb r0, [r4]
- cmp r0, 0
- beq _0807C36E
-_0807C378:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0807C380: .4byte gUnknown_83C2BBC
-_0807C384: .4byte 0x000006d2
- thumb_func_end sub_807C358
-
- thumb_func_start sub_807C388
-sub_807C388: @ 807C388
- push {r4,r5,lr}
- ldr r0, _0807C3DC @ =gUnknown_83C2BBC
- ldr r1, [r0]
- ldr r2, _0807C3E0 @ =0x000006cc
- adds r0, r1, r2
- movs r4, 0
- movs r2, 0
- strh r2, [r0]
- ldr r5, _0807C3E4 @ =0x000006d2
- adds r3, r1, r5
- strb r4, [r3]
- adds r5, 0x4
- adds r0, r1, r5
- strh r2, [r0]
- ldr r0, _0807C3E8 @ =0x000006db
- adds r2, r1, r0
- movs r0, 0x4
- strb r0, [r2]
- adds r5, 0x6
- adds r2, r1, r5
- movs r0, 0x1
- strb r0, [r2]
- ldr r0, _0807C3EC @ =0x000006d9
- adds r2, r1, r0
- movs r0, 0x18
- strb r0, [r2]
- subs r5, 0x1B
- adds r2, r1, r5
- movs r0, 0x3
- strb r0, [r2]
- ldr r0, _0807C3F0 @ =0x000006c2
- adds r1, r0
- movs r0, 0x14
- strb r0, [r1]
- strb r4, [r3]
- movs r0, 0x4C
- bl SetRainStrengthFromSoundEffect
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0807C3DC: .4byte gUnknown_83C2BBC
-_0807C3E0: .4byte 0x000006cc
-_0807C3E4: .4byte 0x000006d2
-_0807C3E8: .4byte 0x000006db
-_0807C3EC: .4byte 0x000006d9
-_0807C3F0: .4byte 0x000006c2
- thumb_func_end sub_807C388
-
- thumb_func_start sub_807C3F4
-sub_807C3F4: @ 807C3F4
- push {r4,lr}
- bl sub_807C388
- ldr r0, _0807C41C @ =gUnknown_83C2BBC
- ldr r1, [r0]
- ldr r2, _0807C420 @ =0x000006d2
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _0807C414
- adds r4, r1, r2
-_0807C40A:
- bl Rain_Main
- ldrb r0, [r4]
- cmp r0, 0
- beq _0807C40A
-_0807C414:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0807C41C: .4byte gUnknown_83C2BBC
-_0807C420: .4byte 0x000006d2
- thumb_func_end sub_807C3F4
-
- thumb_func_start Rain_Main
-Rain_Main: @ 807C424
- push {r4,r5,lr}
- bl UpdateThunderSound
- ldr r0, _0807C444 @ =gUnknown_83C2BBC
- ldr r0, [r0]
- ldr r1, _0807C448 @ =0x000006cc
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, 0xE
- bls _0807C43A
- b _0807C79A
-_0807C43A:
- lsls r0, 2
- ldr r1, _0807C44C @ =_0807C450
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0807C444: .4byte gUnknown_83C2BBC
-_0807C448: .4byte 0x000006cc
-_0807C44C: .4byte _0807C450
- .align 2, 0
-_0807C450:
- .4byte _0807C48C
- .4byte _0807C4A8
- .4byte _0807C4CC
- .4byte _0807C4FC
- .4byte _0807C520
- .4byte _0807C550
- .4byte _0807C580
- .4byte _0807C5AC
- .4byte _0807C5CA
- .4byte _0807C628
- .4byte _0807C6AC
- .4byte _0807C6D4
- .4byte _0807C704
- .4byte _0807C748
- .4byte _0807C77C
-_0807C48C:
- bl LoadRainSpriteSheet
- ldr r0, _0807C4A0 @ =gUnknown_83C2BBC
- ldr r1, [r0]
- ldr r2, _0807C4A4 @ =0x000006cc
- adds r1, r2
- ldrh r0, [r1]
- adds r0, 0x1
- b _0807C798
- .align 2, 0
-_0807C4A0: .4byte gUnknown_83C2BBC
-_0807C4A4: .4byte 0x000006cc
-_0807C4A8:
- bl CreateRainSprite
- lsls r0, 24
- cmp r0, 0
- beq _0807C4B4
- b _0807C79A
-_0807C4B4:
- ldr r0, _0807C4C4 @ =gUnknown_83C2BBC
- ldr r1, [r0]
- ldr r3, _0807C4C8 @ =0x000006cc
- adds r1, r3
- ldrh r0, [r1]
- adds r0, 0x1
- b _0807C798
- .align 2, 0
-_0807C4C4: .4byte gUnknown_83C2BBC
-_0807C4C8: .4byte 0x000006cc
-_0807C4CC:
- bl sub_807BD4C
- lsls r0, 24
- cmp r0, 0
- beq _0807C4D8
- b _0807C79A
-_0807C4D8:
- ldr r0, _0807C4F0 @ =gUnknown_83C2BBC
- ldr r1, [r0]
- ldr r0, _0807C4F4 @ =0x000006d2
- adds r2, r1, r0
- movs r0, 0x1
- strb r0, [r2]
- ldr r2, _0807C4F8 @ =0x000006cc
- adds r1, r2
- ldrh r0, [r1]
- adds r0, 0x1
- b _0807C798
- .align 2, 0
-_0807C4F0: .4byte gUnknown_83C2BBC
-_0807C4F4: .4byte 0x000006d2
-_0807C4F8: .4byte 0x000006cc
-_0807C4FC:
- ldr r0, _0807C514 @ =gUnknown_83C2BBC
- ldr r1, [r0]
- ldr r3, _0807C518 @ =0x000006c6
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, 0
- bne _0807C50C
- b _0807C79A
-_0807C50C:
- ldr r0, _0807C51C @ =0x000006cc
- adds r1, r0
- movs r0, 0x6
- b _0807C798
- .align 2, 0
-_0807C514: .4byte gUnknown_83C2BBC
-_0807C518: .4byte 0x000006c6
-_0807C51C: .4byte 0x000006cc
-_0807C520:
- ldr r0, _0807C570 @ =gUnknown_83C2BBC
- ldr r4, [r0]
- ldr r2, _0807C574 @ =0x000006ea
- adds r1, r4, r2
- movs r0, 0x1
- strb r0, [r1]
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r5, 0xB4
- lsls r5, 1
- adds r1, r5, 0
- bl __umodsi3
- adds r0, r5
- ldr r3, _0807C578 @ =0x000006e6
- adds r1, r4, r3
- strh r0, [r1]
- ldr r0, _0807C57C @ =0x000006cc
- adds r4, r0
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
-_0807C550:
- ldr r0, _0807C570 @ =gUnknown_83C2BBC
- ldr r2, [r0]
- ldr r3, _0807C578 @ =0x000006e6
- adds r1, r2, r3
- ldrh r0, [r1]
- subs r0, 0x1
- strh r0, [r1]
- lsls r0, 16
- cmp r0, 0
- beq _0807C566
- b _0807C79A
-_0807C566:
- ldr r0, _0807C57C @ =0x000006cc
- adds r1, r2, r0
- ldrh r0, [r1]
- adds r0, 0x1
- b _0807C798
- .align 2, 0
-_0807C570: .4byte gUnknown_83C2BBC
-_0807C574: .4byte 0x000006ea
-_0807C578: .4byte 0x000006e6
-_0807C57C: .4byte 0x000006cc
-_0807C580:
- ldr r0, _0807C5A0 @ =gUnknown_83C2BBC
- ldr r4, [r0]
- ldr r1, _0807C5A4 @ =0x000006ea
- adds r0, r4, r1
- movs r5, 0x1
- strb r5, [r0]
- bl Random
- lsls r0, 16
- lsrs r0, 16
- ands r0, r5
- ldr r2, _0807C5A8 @ =0x000006eb
- adds r1, r4, r2
- strb r0, [r1]
- b _0807C608
- .align 2, 0
-_0807C5A0: .4byte gUnknown_83C2BBC
-_0807C5A4: .4byte 0x000006ea
-_0807C5A8: .4byte 0x000006eb
-_0807C5AC:
- bl Random
- ldr r1, _0807C614 @ =gUnknown_83C2BBC
- ldr r2, [r1]
- movs r1, 0x1
- ands r1, r0
- adds r1, 0x1
- ldr r3, _0807C618 @ =0x000006ec
- adds r0, r2, r3
- strb r1, [r0]
- ldr r0, _0807C61C @ =0x000006cc
- adds r2, r0
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
-_0807C5CA:
- movs r0, 0x13
- bl sub_807A790
- ldr r0, _0807C614 @ =gUnknown_83C2BBC
- ldr r1, [r0]
- ldr r2, _0807C620 @ =0x000006eb
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _0807C5EE
- ldr r3, _0807C618 @ =0x000006ec
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0807C5EE
- movs r0, 0x14
- bl SetThunderCounter
-_0807C5EE:
- bl Random
- ldr r1, _0807C614 @ =gUnknown_83C2BBC
- ldr r4, [r1]
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x3
- bl __umodsi3
- adds r0, 0x6
- ldr r2, _0807C624 @ =0x000006e6
- adds r1, r4, r2
- strh r0, [r1]
-_0807C608:
- ldr r3, _0807C61C @ =0x000006cc
- adds r4, r3
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- b _0807C79A
- .align 2, 0
-_0807C614: .4byte gUnknown_83C2BBC
-_0807C618: .4byte 0x000006ec
-_0807C61C: .4byte 0x000006cc
-_0807C620: .4byte 0x000006eb
-_0807C624: .4byte 0x000006e6
-_0807C628:
- ldr r0, _0807C674 @ =gUnknown_83C2BBC
- ldr r4, [r0]
- ldr r0, _0807C678 @ =0x000006e6
- adds r5, r4, r0
- ldrh r0, [r5]
- subs r0, 0x1
- strh r0, [r5]
- lsls r0, 16
- cmp r0, 0
- beq _0807C63E
- b _0807C79A
-_0807C63E:
- movs r0, 0x3
- bl sub_807A790
- ldr r2, _0807C67C @ =0x000006ea
- adds r1, r4, r2
- movs r0, 0x1
- strb r0, [r1]
- ldr r3, _0807C680 @ =0x000006ec
- adds r1, r4, r3
- ldrb r0, [r1]
- subs r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- cmp r0, 0
- beq _0807C688
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xF
- ands r0, r1
- adds r0, 0x3C
- strh r0, [r5]
- ldr r0, _0807C684 @ =0x000006cc
- adds r1, r4, r0
- movs r0, 0xA
- b _0807C798
- .align 2, 0
-_0807C674: .4byte gUnknown_83C2BBC
-_0807C678: .4byte 0x000006e6
-_0807C67C: .4byte 0x000006ea
-_0807C680: .4byte 0x000006ec
-_0807C684: .4byte 0x000006cc
-_0807C688:
- ldr r1, _0807C698 @ =0x000006eb
- adds r0, r4, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _0807C6A0
- ldr r2, _0807C69C @ =0x000006cc
- adds r1, r4, r2
- b _0807C796
- .align 2, 0
-_0807C698: .4byte 0x000006eb
-_0807C69C: .4byte 0x000006cc
-_0807C6A0:
- ldr r3, _0807C6A8 @ =0x000006cc
- adds r1, r4, r3
- movs r0, 0xB
- b _0807C798
- .align 2, 0
-_0807C6A8: .4byte 0x000006cc
-_0807C6AC:
- ldr r0, _0807C6C8 @ =gUnknown_83C2BBC
- ldr r2, [r0]
- ldr r0, _0807C6CC @ =0x000006e6
- adds r1, r2, r0
- ldrh r0, [r1]
- subs r0, 0x1
- strh r0, [r1]
- lsls r0, 16
- cmp r0, 0
- bne _0807C79A
- ldr r3, _0807C6D0 @ =0x000006cc
- adds r1, r2, r3
- movs r0, 0x8
- b _0807C798
- .align 2, 0
-_0807C6C8: .4byte gUnknown_83C2BBC
-_0807C6CC: .4byte 0x000006e6
-_0807C6D0: .4byte 0x000006cc
-_0807C6D4:
- bl Random
- ldr r1, _0807C6F8 @ =gUnknown_83C2BBC
- ldr r2, [r1]
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xF
- ands r0, r1
- adds r0, 0x3C
- ldr r3, _0807C6FC @ =0x000006e6
- adds r1, r2, r3
- strh r0, [r1]
- ldr r0, _0807C700 @ =0x000006cc
- adds r2, r0
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- b _0807C79A
- .align 2, 0
-_0807C6F8: .4byte gUnknown_83C2BBC
-_0807C6FC: .4byte 0x000006e6
-_0807C700: .4byte 0x000006cc
-_0807C704:
- ldr r0, _0807C73C @ =gUnknown_83C2BBC
- ldr r5, [r0]
- ldr r1, _0807C740 @ =0x000006e6
- adds r4, r5, r1
- ldrh r0, [r4]
- subs r0, 0x1
- strh r0, [r4]
- lsls r0, 16
- cmp r0, 0
- bne _0807C79A
- movs r0, 0x64
- bl SetThunderCounter
- movs r0, 0x13
- bl sub_807A790
- bl Random
- movs r1, 0xF
- ands r1, r0
- adds r1, 0x1E
- strh r1, [r4]
- ldr r2, _0807C744 @ =0x000006cc
- adds r1, r5, r2
- ldrh r0, [r1]
- adds r0, 0x1
- b _0807C798
- .align 2, 0
-_0807C73C: .4byte gUnknown_83C2BBC
-_0807C740: .4byte 0x000006e6
-_0807C744: .4byte 0x000006cc
-_0807C748:
- ldr r0, _0807C770 @ =gUnknown_83C2BBC
- ldr r4, [r0]
- ldr r3, _0807C774 @ =0x000006e6
- adds r1, r4, r3
- ldrh r0, [r1]
- subs r0, 0x1
- strh r0, [r1]
- lsls r0, 16
- cmp r0, 0
- bne _0807C79A
- movs r0, 0x13
- movs r1, 0x3
- movs r2, 0x5
- bl sub_807A7C4
- ldr r0, _0807C778 @ =0x000006cc
- adds r1, r4, r0
- ldrh r0, [r1]
- adds r0, 0x1
- b _0807C798
- .align 2, 0
-_0807C770: .4byte gUnknown_83C2BBC
-_0807C774: .4byte 0x000006e6
-_0807C778: .4byte 0x000006cc
-_0807C77C:
- ldr r0, _0807C7A0 @ =gUnknown_83C2BBC
- ldr r2, [r0]
- ldr r1, _0807C7A4 @ =0x000006c6
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0x3
- bne _0807C79A
- ldr r3, _0807C7A8 @ =0x000006ea
- adds r1, r2, r3
- movs r0, 0x1
- strb r0, [r1]
- ldr r0, _0807C7AC @ =0x000006cc
- adds r1, r2, r0
-_0807C796:
- movs r0, 0x4
-_0807C798:
- strh r0, [r1]
-_0807C79A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0807C7A0: .4byte gUnknown_83C2BBC
-_0807C7A4: .4byte 0x000006c6
-_0807C7A8: .4byte 0x000006ea
-_0807C7AC: .4byte 0x000006cc
- thumb_func_end Rain_Main
-
- thumb_func_start Rain_Finish
-Rain_Finish: @ 807C7B0
- push {r4-r6,lr}
- ldr r0, _0807C7CC @ =gUnknown_83C2BBC
- ldr r6, [r0]
- ldr r0, _0807C7D0 @ =0x000006ce
- adds r5, r6, r0
- ldrh r1, [r5]
- cmp r1, 0x1
- beq _0807C7E6
- cmp r1, 0x1
- bgt _0807C7D4
- cmp r1, 0
- beq _0807C7DA
- b _0807C84C
- .align 2, 0
-_0807C7CC: .4byte gUnknown_83C2BBC
-_0807C7D0: .4byte 0x000006ce
-_0807C7D4:
- cmp r1, 0x2
- beq _0807C830
- b _0807C84C
-_0807C7DA:
- ldr r2, _0807C820 @ =0x000006ea
- adds r0, r6, r2
- strb r1, [r0]
- ldrh r0, [r5]
- adds r0, 0x1
- strh r0, [r5]
-_0807C7E6:
- bl Rain_Main
- ldr r0, _0807C824 @ =gUnknown_83C2BBC
- ldr r2, [r0]
- ldr r1, _0807C820 @ =0x000006ea
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _0807C854
- subs r1, 0x19
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0x3
- beq _0807C84C
- cmp r0, 0x5
- beq _0807C84C
- cmp r0, 0xD
- beq _0807C84C
- ldr r0, _0807C828 @ =0x000006d9
- adds r1, r2, r0
- movs r0, 0
- strb r0, [r1]
- ldr r0, _0807C82C @ =0x000006ce
- adds r1, r2, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _0807C854
- .align 2, 0
-_0807C820: .4byte 0x000006ea
-_0807C824: .4byte gUnknown_83C2BBC
-_0807C828: .4byte 0x000006d9
-_0807C82C: .4byte 0x000006ce
-_0807C830:
- bl sub_807BD4C
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _0807C854
- bl DestroyRainSprites
- ldr r1, _0807C850 @ =0x000006ed
- adds r0, r6, r1
- strb r4, [r0]
- ldrh r0, [r5]
- adds r0, 0x1
- strh r0, [r5]
-_0807C84C:
- movs r0, 0
- b _0807C856
- .align 2, 0
-_0807C850: .4byte 0x000006ed
-_0807C854:
- movs r0, 0x1
-_0807C856:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end Rain_Finish
-
- thumb_func_start SetThunderCounter
-SetThunderCounter: @ 807C85C
- push {r4-r6,lr}
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r0, _0807C890 @ =gUnknown_83C2BBC
- ldr r4, [r0]
- ldr r0, _0807C894 @ =0x000006ed
- adds r5, r4, r0
- ldrb r0, [r5]
- cmp r0, 0
- bne _0807C88A
- bl Random
- lsls r0, 16
- lsrs r0, 16
- adds r1, r6, 0
- bl __umodsi3
- movs r2, 0xDD
- lsls r2, 3
- adds r1, r4, r2
- strh r0, [r1]
- movs r0, 0x1
- strb r0, [r5]
-_0807C88A:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0807C890: .4byte gUnknown_83C2BBC
-_0807C894: .4byte 0x000006ed
- thumb_func_end SetThunderCounter
-
- thumb_func_start UpdateThunderSound
-UpdateThunderSound: @ 807C898
- push {r4,lr}
- ldr r0, _0807C8D0 @ =gUnknown_83C2BBC
- ldr r1, [r0]
- ldr r2, _0807C8D4 @ =0x000006ed
- adds r0, r1, r2
- ldrb r4, [r0]
- cmp r4, 0x1
- bne _0807C8F8
- movs r0, 0xDD
- lsls r0, 3
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0
- bne _0807C8F4
- bl IsSEPlaying
- lsls r0, 24
- cmp r0, 0
- bne _0807C8F8
- bl Random
- ands r4, r0
- cmp r4, 0
- beq _0807C8D8
- movs r0, 0x50
- bl PlaySE
- b _0807C8DE
- .align 2, 0
-_0807C8D0: .4byte gUnknown_83C2BBC
-_0807C8D4: .4byte 0x000006ed
-_0807C8D8:
- movs r0, 0x51
- bl PlaySE
-_0807C8DE:
- ldr r0, _0807C8EC @ =gUnknown_83C2BBC
- ldr r0, [r0]
- ldr r1, _0807C8F0 @ =0x000006ed
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- b _0807C8F8
- .align 2, 0
-_0807C8EC: .4byte gUnknown_83C2BBC
-_0807C8F0: .4byte 0x000006ed
-_0807C8F4:
- subs r0, 0x1
- strh r0, [r1]
-_0807C8F8:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end UpdateThunderSound
-
- thumb_func_start Fog1_InitVars
-Fog1_InitVars: @ 807C900
- push {lr}
- ldr r0, _0807C94C @ =gUnknown_83C2BBC
- ldr r3, [r0]
- ldr r0, _0807C950 @ =0x000006cc
- adds r1, r3, r0
- movs r2, 0
- movs r0, 0
- strh r0, [r1]
- ldr r1, _0807C954 @ =0x000006d2
- adds r0, r3, r1
- strb r2, [r0]
- subs r1, 0x11
- adds r0, r3, r1
- strb r2, [r0]
- ldr r2, _0807C958 @ =0x000006c2
- adds r1, r3, r2
- movs r0, 0x14
- strb r0, [r1]
- ldr r1, _0807C95C @ =0x000006fb
- adds r0, r3, r1
- ldrb r1, [r0]
- cmp r1, 0
- bne _0807C948
- adds r2, 0x2E
- adds r0, r3, r2
- strh r1, [r0]
- adds r2, 0x2
- adds r0, r3, r2
- strh r1, [r0]
- subs r2, 0x4
- adds r0, r3, r2
- strh r1, [r0]
- movs r0, 0
- movs r1, 0x10
- bl Weather_SetBlendCoeffs
-_0807C948:
- pop {r0}
- bx r0
- .align 2, 0
-_0807C94C: .4byte gUnknown_83C2BBC
-_0807C950: .4byte 0x000006cc
-_0807C954: .4byte 0x000006d2
-_0807C958: .4byte 0x000006c2
-_0807C95C: .4byte 0x000006fb
- thumb_func_end Fog1_InitVars
-
- thumb_func_start Fog1_InitAll
-Fog1_InitAll: @ 807C960
- push {r4,lr}
- bl Fog1_InitVars
- ldr r0, _0807C988 @ =gUnknown_83C2BBC
- ldr r1, [r0]
- ldr r2, _0807C98C @ =0x000006d2
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _0807C980
- adds r4, r1, r2
-_0807C976:
- bl Fog1_Main
- ldrb r0, [r4]
- cmp r0, 0
- beq _0807C976
-_0807C980:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0807C988: .4byte gUnknown_83C2BBC
-_0807C98C: .4byte 0x000006d2
- thumb_func_end Fog1_InitAll
-
- thumb_func_start Fog1_Main
-Fog1_Main: @ 807C990
- push {r4-r6,lr}
- ldr r0, _0807C9DC @ =gUnknown_83C2BBC
- ldr r6, [r0]
- ldr r0, _0807C9E0 @ =gSpriteCoordOffsetX
- ldr r1, _0807C9E4 @ =0x000006f2
- adds r2, r6, r1
- ldrh r0, [r0]
- ldrh r1, [r2]
- subs r0, r1
- movs r1, 0xFF
- ands r0, r1
- ldr r3, _0807C9E8 @ =0x000006ee
- adds r1, r6, r3
- strh r0, [r1]
- movs r0, 0xDE
- lsls r0, 3
- adds r1, r6, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x3
- bls _0807C9CA
- movs r0, 0
- strh r0, [r1]
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
-_0807C9CA:
- ldr r1, _0807C9EC @ =0x000006cc
- adds r5, r6, r1
- ldrh r4, [r5]
- cmp r4, 0
- beq _0807C9F0
- cmp r4, 0x1
- beq _0807CA30
- b _0807CA46
- .align 2, 0
-_0807C9DC: .4byte gUnknown_83C2BBC
-_0807C9E0: .4byte gSpriteCoordOffsetX
-_0807C9E4: .4byte 0x000006f2
-_0807C9E8: .4byte 0x000006ee
-_0807C9EC: .4byte 0x000006cc
-_0807C9F0:
- bl CreateFog1Sprites
- movs r3, 0xDA
- lsls r3, 3
- adds r0, r6, r3
- ldrb r0, [r0]
- cmp r0, 0x6
- bne _0807CA0C
- movs r0, 0xC
- movs r1, 0x8
- movs r2, 0x3
- bl Weather_SetTargetBlendCoeffs
- b _0807CA16
-_0807CA0C:
- movs r0, 0x4
- movs r1, 0x10
- movs r2, 0
- bl Weather_SetTargetBlendCoeffs
-_0807CA16:
- ldr r0, _0807CA28 @ =gUnknown_83C2BBC
- ldr r1, [r0]
- ldr r0, _0807CA2C @ =0x000006cc
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _0807CA46
- .align 2, 0
-_0807CA28: .4byte gUnknown_83C2BBC
-_0807CA2C: .4byte 0x000006cc
-_0807CA30:
- bl Weather_UpdateBlend
- lsls r0, 24
- cmp r0, 0
- beq _0807CA46
- ldr r1, _0807CA4C @ =0x000006d2
- adds r0, r6, r1
- strb r4, [r0]
- ldrh r0, [r5]
- adds r0, 0x1
- strh r0, [r5]
-_0807CA46:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0807CA4C: .4byte 0x000006d2
- thumb_func_end Fog1_Main
-
- thumb_func_start Fog1_Finish
-Fog1_Finish: @ 807CA50
- push {r4,lr}
- ldr r0, _0807CAA0 @ =gUnknown_83C2BBC
- ldr r2, [r0]
- ldr r0, _0807CAA4 @ =gSpriteCoordOffsetX
- ldr r1, _0807CAA8 @ =0x000006f2
- adds r3, r2, r1
- ldrh r0, [r0]
- ldrh r1, [r3]
- subs r0, r1
- movs r1, 0xFF
- ands r0, r1
- ldr r4, _0807CAAC @ =0x000006ee
- adds r1, r2, r4
- strh r0, [r1]
- movs r0, 0xDE
- lsls r0, 3
- adds r1, r2, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x3
- bls _0807CA8A
- movs r0, 0
- strh r0, [r1]
- ldrh r0, [r3]
- adds r0, 0x1
- strh r0, [r3]
-_0807CA8A:
- ldr r1, _0807CAB0 @ =0x000006ce
- adds r4, r2, r1
- ldrh r0, [r4]
- cmp r0, 0x1
- beq _0807CAC6
- cmp r0, 0x1
- bgt _0807CAB4
- cmp r0, 0
- beq _0807CABA
- b _0807CADE
- .align 2, 0
-_0807CAA0: .4byte gUnknown_83C2BBC
-_0807CAA4: .4byte gSpriteCoordOffsetX
-_0807CAA8: .4byte 0x000006f2
-_0807CAAC: .4byte 0x000006ee
-_0807CAB0: .4byte 0x000006ce
-_0807CAB4:
- cmp r0, 0x2
- beq _0807CAD2
- b _0807CADE
-_0807CABA:
- movs r0, 0
- movs r1, 0x10
- movs r2, 0x3
- bl Weather_SetTargetBlendCoeffs
- b _0807CAD6
-_0807CAC6:
- bl Weather_UpdateBlend
- lsls r0, 24
- cmp r0, 0
- beq _0807CAE2
- b _0807CAD6
-_0807CAD2:
- bl DestroyFog1Sprites
-_0807CAD6:
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- b _0807CAE2
-_0807CADE:
- movs r0, 0
- b _0807CAE4
-_0807CAE2:
- movs r0, 0x1
-_0807CAE4:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end Fog1_Finish
-
- thumb_func_start Fog1SpriteCallback
-Fog1SpriteCallback: @ 807CAEC
- push {r4,lr}
- adds r3, r0, 0
- ldr r0, _0807CB38 @ =gSpriteCoordOffsetY
- ldrb r0, [r0]
- strh r0, [r3, 0x26]
- ldr r0, _0807CB3C @ =gUnknown_83C2BBC
- ldr r0, [r0]
- ldr r1, _0807CB40 @ =0x000006ee
- adds r2, r0, r1
- ldrh r1, [r2]
- adds r1, 0x20
- movs r4, 0x2E
- ldrsh r0, [r3, r4]
- lsls r0, 6
- adds r1, r0
- strh r1, [r3, 0x20]
- lsls r1, 16
- ldr r0, _0807CB44 @ =0x010f0000
- cmp r1, r0
- ble _0807CB30
- movs r0, 0xF0
- lsls r0, 1
- adds r1, r0, 0
- ldrh r2, [r2]
- adds r1, r2
- movs r4, 0x2E
- ldrsh r2, [r3, r4]
- movs r0, 0x4
- subs r0, r2
- lsls r0, 6
- subs r1, r0
- ldr r0, _0807CB48 @ =0x000001ff
- ands r1, r0
- strh r1, [r3, 0x20]
-_0807CB30:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0807CB38: .4byte gSpriteCoordOffsetY
-_0807CB3C: .4byte gUnknown_83C2BBC
-_0807CB40: .4byte 0x000006ee
-_0807CB44: .4byte 0x010f0000
-_0807CB48: .4byte 0x000001ff
- thumb_func_end Fog1SpriteCallback
-
- thumb_func_start CreateFog1Sprites
-CreateFog1Sprites: @ 807CB4C
- push {r4,r5,lr}
- sub sp, 0x8
- ldr r0, _0807CBC0 @ =gUnknown_83C2BBC
- ldr r0, [r0]
- ldr r1, _0807CBC4 @ =0x000006fb
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _0807CBF6
- ldr r0, _0807CBC8 @ =gUnknown_83C67A8
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp]
- str r1, [sp, 0x4]
- mov r0, sp
- bl LoadSpriteSheet
- movs r5, 0
-_0807CB70:
- ldr r0, _0807CBCC @ =gUnknown_83C6790
- movs r1, 0
- movs r2, 0
- movs r3, 0xFF
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x40
- beq _0807CBD4
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r0, _0807CBD0 @ =gSprites
- adds r4, r0
- adds r0, r5, 0
- movs r1, 0x5
- bl __umodsi3
- strh r0, [r4, 0x2E]
- lsls r0, 16
- lsrs r0, 10
- adds r0, 0x20
- strh r0, [r4, 0x20]
- adds r0, r5, 0
- movs r1, 0x5
- bl __udivsi3
- lsls r0, 16
- lsrs r0, 10
- adds r0, 0x20
- strh r0, [r4, 0x22]
- ldr r2, _0807CBC0 @ =gUnknown_83C2BBC
- ldr r0, [r2]
- lsls r1, r5, 2
- adds r0, 0xA0
- adds r0, r1
- str r4, [r0]
- b _0807CBE2
- .align 2, 0
-_0807CBC0: .4byte gUnknown_83C2BBC
-_0807CBC4: .4byte 0x000006fb
-_0807CBC8: .4byte gUnknown_83C67A8
-_0807CBCC: .4byte gUnknown_83C6790
-_0807CBD0: .4byte gSprites
-_0807CBD4:
- ldr r2, _0807CC00 @ =gUnknown_83C2BBC
- ldr r1, [r2]
- lsls r0, r5, 2
- adds r1, 0xA0
- adds r1, r0
- movs r0, 0
- str r0, [r1]
-_0807CBE2:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x13
- bls _0807CB70
- ldr r0, [r2]
- ldr r1, _0807CC04 @ =0x000006fb
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
-_0807CBF6:
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0807CC00: .4byte gUnknown_83C2BBC
-_0807CC04: .4byte 0x000006fb
- thumb_func_end CreateFog1Sprites
-
- thumb_func_start DestroyFog1Sprites
-DestroyFog1Sprites: @ 807CC08
- push {r4,r5,lr}
- ldr r0, _0807CC50 @ =gUnknown_83C2BBC
- ldr r1, [r0]
- ldr r2, _0807CC54 @ =0x000006fb
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _0807CC48
- movs r4, 0
- adds r5, r1, 0
- adds r5, 0xA0
-_0807CC1E:
- lsls r0, r4, 2
- adds r0, r5, r0
- ldr r0, [r0]
- cmp r0, 0
- beq _0807CC2C
- bl DestroySprite
-_0807CC2C:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x13
- bls _0807CC1E
- ldr r0, _0807CC58 @ =0x00001201
- bl FreeSpriteTilesByTag
- ldr r0, _0807CC50 @ =gUnknown_83C2BBC
- ldr r0, [r0]
- ldr r1, _0807CC54 @ =0x000006fb
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
-_0807CC48:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0807CC50: .4byte gUnknown_83C2BBC
-_0807CC54: .4byte 0x000006fb
-_0807CC58: .4byte 0x00001201
- thumb_func_end DestroyFog1Sprites
-
- thumb_func_start Ash_InitVars
-Ash_InitVars: @ 807CC5C
- push {lr}
- ldr r0, _0807CCA8 @ =gUnknown_83C2BBC
- ldr r1, [r0]
- ldr r0, _0807CCAC @ =0x000006cc
- adds r2, r1, r0
- movs r3, 0
- movs r0, 0
- strh r0, [r2]
- ldr r2, _0807CCB0 @ =0x000006d2
- adds r0, r1, r2
- strb r3, [r0]
- subs r2, 0x11
- adds r0, r1, r2
- strb r3, [r0]
- ldr r3, _0807CCB4 @ =0x000006c2
- adds r0, r1, r3
- movs r2, 0x14
- strb r2, [r0]
- adds r3, 0x3C
- adds r0, r1, r3
- strh r2, [r0]
- movs r0, 0xE0
- lsls r0, 3
- adds r1, r0
- ldrb r0, [r1]
- cmp r0, 0
- bne _0807CCA4
- movs r0, 0
- movs r1, 0x10
- bl Weather_SetBlendCoeffs
- movs r1, 0xFD
- lsls r1, 6
- movs r0, 0x52
- bl SetGpuReg
-_0807CCA4:
- pop {r0}
- bx r0
- .align 2, 0
-_0807CCA8: .4byte gUnknown_83C2BBC
-_0807CCAC: .4byte 0x000006cc
-_0807CCB0: .4byte 0x000006d2
-_0807CCB4: .4byte 0x000006c2
- thumb_func_end Ash_InitVars
-
- thumb_func_start Ash_InitAll
-Ash_InitAll: @ 807CCB8
- push {r4,lr}
- bl Ash_InitVars
- ldr r0, _0807CCE0 @ =gUnknown_83C2BBC
- ldr r1, [r0]
- ldr r2, _0807CCE4 @ =0x000006d2
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _0807CCD8
- adds r4, r1, r2
-_0807CCCE:
- bl Ash_Main
- ldrb r0, [r4]
- cmp r0, 0
- beq _0807CCCE
-_0807CCD8:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0807CCE0: .4byte gUnknown_83C2BBC
-_0807CCE4: .4byte 0x000006d2
- thumb_func_end Ash_InitAll
-
- thumb_func_start Ash_Main
-Ash_Main: @ 807CCE8
- push {r4,r5,lr}
- ldr r2, _0807CD2C @ =gUnknown_83C2BBC
- ldr r1, [r2]
- ldr r0, _0807CD30 @ =gSpriteCoordOffsetX
- ldrh r0, [r0]
- ldr r3, _0807CD34 @ =0x000001ff
- ands r3, r0
- ldr r0, _0807CD38 @ =0x000006fc
- adds r1, r0
- strh r3, [r1]
- cmp r3, 0xEF
- bls _0807CD14
- adds r4, r1, 0
- adds r1, r3, 0
-_0807CD04:
- adds r3, r1, 0
- subs r3, 0xF0
- adds r1, r3, 0
- lsls r0, r3, 16
- lsrs r0, 16
- cmp r0, 0xEF
- bhi _0807CD04
- strh r3, [r4]
-_0807CD14:
- ldr r5, [r2]
- ldr r1, _0807CD3C @ =0x000006cc
- adds r4, r5, r1
- ldrh r0, [r4]
- cmp r0, 0x1
- beq _0807CD4C
- cmp r0, 0x1
- bgt _0807CD40
- cmp r0, 0
- beq _0807CD46
- b _0807CD88
- .align 2, 0
-_0807CD2C: .4byte gUnknown_83C2BBC
-_0807CD30: .4byte gSpriteCoordOffsetX
-_0807CD34: .4byte 0x000001ff
-_0807CD38: .4byte 0x000006fc
-_0807CD3C: .4byte 0x000006cc
-_0807CD40:
- cmp r0, 0x2
- beq _0807CD68
- b _0807CD88
-_0807CD46:
- bl LoadAshSpriteSheet
- b _0807CD7A
-_0807CD4C:
- movs r1, 0xE0
- lsls r1, 3
- adds r0, r5, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _0807CD5C
- bl CreateAshSprites
-_0807CD5C:
- movs r0, 0x10
- movs r1, 0
- movs r2, 0x1
- bl Weather_SetTargetBlendCoeffs
- b _0807CD7A
-_0807CD68:
- bl Weather_UpdateBlend
- lsls r0, 24
- cmp r0, 0
- beq _0807CD8C
- ldr r0, _0807CD84 @ =0x000006d2
- adds r1, r5, r0
- movs r0, 0x1
- strb r0, [r1]
-_0807CD7A:
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- b _0807CD8C
- .align 2, 0
-_0807CD84: .4byte 0x000006d2
-_0807CD88:
- bl Weather_UpdateBlend
-_0807CD8C:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end Ash_Main
-
- thumb_func_start Ash_Finish
-Ash_Finish: @ 807CD94
- push {r4,lr}
- ldr r0, _0807CDB0 @ =gUnknown_83C2BBC
- ldr r0, [r0]
- ldr r1, _0807CDB4 @ =0x000006ce
- adds r4, r0, r1
- ldrh r0, [r4]
- cmp r0, 0x1
- beq _0807CDCA
- cmp r0, 0x1
- bgt _0807CDB8
- cmp r0, 0
- beq _0807CDBE
- b _0807CDEE
- .align 2, 0
-_0807CDB0: .4byte gUnknown_83C2BBC
-_0807CDB4: .4byte 0x000006ce
-_0807CDB8:
- cmp r0, 0x2
- beq _0807CDE0
- b _0807CDEE
-_0807CDBE:
- movs r0, 0
- movs r1, 0x10
- movs r2, 0x1
- bl Weather_SetTargetBlendCoeffs
- b _0807CDD8
-_0807CDCA:
- bl Weather_UpdateBlend
- lsls r0, 24
- cmp r0, 0
- beq _0807CDF2
- bl DestroyAshSprites
-_0807CDD8:
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- b _0807CDF2
-_0807CDE0:
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
-_0807CDEE:
- movs r0, 0
- b _0807CDF4
-_0807CDF2:
- movs r0, 0x1
-_0807CDF4:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end Ash_Finish
-
- thumb_func_start LoadAshSpriteSheet
-LoadAshSpriteSheet: @ 807CDFC
- push {lr}
- ldr r0, _0807CE08 @ =gUnknown_83C67B0
- bl LoadSpriteSheet
- pop {r0}
- bx r0
- .align 2, 0
-_0807CE08: .4byte gUnknown_83C67B0
- thumb_func_end LoadAshSpriteSheet
-
- thumb_func_start CreateAshSprites
-CreateAshSprites: @ 807CE0C
- push {r4,r5,lr}
- ldr r0, _0807CE78 @ =gUnknown_83C2BBC
- ldr r0, [r0]
- movs r1, 0xE0
- lsls r1, 3
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _0807CEA8
- movs r5, 0
-_0807CE20:
- ldr r0, _0807CE7C @ =gUnknown_83C67D0
- movs r1, 0
- movs r2, 0
- movs r3, 0x4E
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x40
- beq _0807CE84
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r0, _0807CE80 @ =gSprites
- adds r4, r0
- movs r0, 0
- strh r0, [r4, 0x30]
- adds r0, r5, 0
- movs r1, 0x5
- bl __umodsi3
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x32]
- adds r0, r5, 0
- movs r1, 0x5
- bl __udivsi3
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x34]
- movs r1, 0x34
- ldrsh r0, [r4, r1]
- lsls r0, 6
- adds r0, 0x20
- strh r0, [r4, 0x2E]
- ldr r2, _0807CE78 @ =gUnknown_83C2BBC
- ldr r0, [r2]
- lsls r1, r5, 2
- adds r0, 0xF0
- adds r0, r1
- str r4, [r0]
- b _0807CE92
- .align 2, 0
-_0807CE78: .4byte gUnknown_83C2BBC
-_0807CE7C: .4byte gUnknown_83C67D0
-_0807CE80: .4byte gSprites
-_0807CE84:
- ldr r2, _0807CEB0 @ =gUnknown_83C2BBC
- ldr r1, [r2]
- lsls r0, r5, 2
- adds r1, 0xF0
- adds r1, r0
- movs r0, 0
- str r0, [r1]
-_0807CE92:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x13
- bls _0807CE20
- ldr r0, [r2]
- movs r1, 0xE0
- lsls r1, 3
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
-_0807CEA8:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0807CEB0: .4byte gUnknown_83C2BBC
- thumb_func_end CreateAshSprites
-
- thumb_func_start DestroyAshSprites
-DestroyAshSprites: @ 807CEB4
- push {r4,r5,lr}
- ldr r0, _0807CF00 @ =gUnknown_83C2BBC
- ldr r1, [r0]
- movs r2, 0xE0
- lsls r2, 3
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _0807CEF8
- movs r4, 0
- adds r5, r1, 0
- adds r5, 0xF0
-_0807CECC:
- lsls r0, r4, 2
- adds r0, r5, r0
- ldr r0, [r0]
- cmp r0, 0
- beq _0807CEDA
- bl DestroySprite
-_0807CEDA:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x13
- bls _0807CECC
- ldr r0, _0807CF04 @ =0x00001202
- bl FreeSpriteTilesByTag
- ldr r0, _0807CF00 @ =gUnknown_83C2BBC
- ldr r0, [r0]
- movs r1, 0xE0
- lsls r1, 3
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
-_0807CEF8:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0807CF00: .4byte gUnknown_83C2BBC
-_0807CF04: .4byte 0x00001202
- thumb_func_end DestroyAshSprites
-
- thumb_func_start sub_807CF08
-sub_807CF08: @ 807CF08
- push {r4,lr}
- adds r3, r0, 0
- ldrh r0, [r3, 0x30]
- adds r0, 0x1
- strh r0, [r3, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x5
- ble _0807CF24
- movs r0, 0
- strh r0, [r3, 0x30]
- ldrh r0, [r3, 0x2E]
- adds r0, 0x1
- strh r0, [r3, 0x2E]
-_0807CF24:
- ldr r1, _0807CF70 @ =gSpriteCoordOffsetY
- ldrh r0, [r3, 0x2E]
- ldrh r1, [r1]
- adds r0, r1
- strh r0, [r3, 0x22]
- ldr r0, _0807CF74 @ =gUnknown_83C2BBC
- ldr r0, [r0]
- ldr r1, _0807CF78 @ =0x000006fc
- adds r2, r0, r1
- ldrh r1, [r2]
- adds r1, 0x20
- movs r4, 0x32
- ldrsh r0, [r3, r4]
- lsls r0, 6
- adds r1, r0
- strh r1, [r3, 0x20]
- lsls r1, 16
- ldr r0, _0807CF7C @ =0x010f0000
- cmp r1, r0
- ble _0807CF68
- movs r0, 0xF0
- lsls r0, 1
- adds r1, r0, 0
- ldrh r2, [r2]
- adds r1, r2
- movs r4, 0x32
- ldrsh r2, [r3, r4]
- movs r0, 0x4
- subs r0, r2
- lsls r0, 6
- subs r1, r0
- ldr r0, _0807CF80 @ =0x000001ff
- ands r1, r0
- strh r1, [r3, 0x20]
-_0807CF68:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0807CF70: .4byte gSpriteCoordOffsetY
-_0807CF74: .4byte gUnknown_83C2BBC
-_0807CF78: .4byte 0x000006fc
-_0807CF7C: .4byte 0x010f0000
-_0807CF80: .4byte 0x000001ff
- thumb_func_end sub_807CF08
-
- thumb_func_start Fog2_InitVars
-Fog2_InitVars: @ 807CF84
- push {r4,lr}
- ldr r0, _0807CFF4 @ =gUnknown_83C2BBC
- ldr r3, [r0]
- ldr r1, _0807CFF8 @ =0x000006cc
- adds r0, r3, r1
- movs r1, 0
- movs r2, 0
- strh r2, [r0]
- ldr r4, _0807CFFC @ =0x000006d2
- adds r0, r3, r4
- strb r1, [r0]
- subs r4, 0x11
- adds r0, r3, r4
- strb r1, [r0]
- ldr r0, _0807D000 @ =0x000006c2
- adds r1, r3, r0
- movs r0, 0x14
- strb r0, [r1]
- movs r1, 0xDE
- lsls r1, 3
- adds r0, r3, r1
- strh r2, [r0]
- adds r4, 0x31
- adds r1, r3, r4
- movs r0, 0x1
- strh r0, [r1]
- ldr r1, _0807D004 @ =0x00000724
- adds r0, r3, r1
- ldrb r2, [r0]
- cmp r2, 0
- bne _0807CFEE
- adds r4, 0x2A
- adds r0, r3, r4
- strh r2, [r0]
- subs r1, 0x6
- adds r0, r3, r1
- strh r2, [r0]
- adds r4, 0x4
- adds r0, r3, r4
- strh r2, [r0]
- adds r1, 0x4
- adds r0, r3, r1
- strh r2, [r0]
- subs r4, 0x8
- adds r0, r3, r4
- strh r2, [r0]
- subs r1, 0x8
- adds r0, r3, r1
- strh r2, [r0]
- movs r0, 0
- movs r1, 0x10
- bl Weather_SetBlendCoeffs
-_0807CFEE:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0807CFF4: .4byte gUnknown_83C2BBC
-_0807CFF8: .4byte 0x000006cc
-_0807CFFC: .4byte 0x000006d2
-_0807D000: .4byte 0x000006c2
-_0807D004: .4byte 0x00000724
- thumb_func_end Fog2_InitVars
-
- thumb_func_start Fog2_InitAll
-Fog2_InitAll: @ 807D008
- push {r4,lr}
- bl Fog2_InitVars
- ldr r0, _0807D030 @ =gUnknown_83C2BBC
- ldr r1, [r0]
- ldr r2, _0807D034 @ =0x000006d2
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _0807D028
- adds r4, r1, r2
-_0807D01E:
- bl Fog2_Main
- ldrb r0, [r4]
- cmp r0, 0
- beq _0807D01E
-_0807D028:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0807D030: .4byte gUnknown_83C2BBC
-_0807D034: .4byte 0x000006d2
- thumb_func_end Fog2_InitAll
-
- thumb_func_start Fog2_Main
-Fog2_Main: @ 807D038
- push {r4,r5,lr}
- bl sub_807D0FC
- ldr r0, _0807D058 @ =gUnknown_83C2BBC
- ldr r5, [r0]
- ldr r0, _0807D05C @ =0x000006cc
- adds r4, r5, r0
- ldrh r0, [r4]
- cmp r0, 0x1
- beq _0807D06C
- cmp r0, 0x1
- bgt _0807D060
- cmp r0, 0
- beq _0807D066
- b _0807D090
- .align 2, 0
-_0807D058: .4byte gUnknown_83C2BBC
-_0807D05C: .4byte 0x000006cc
-_0807D060:
- cmp r0, 0x2
- beq _0807D078
- b _0807D090
-_0807D066:
- bl CreateFog2Sprites
- b _0807D08A
-_0807D06C:
- movs r0, 0xC
- movs r1, 0x8
- movs r2, 0x8
- bl Weather_SetTargetBlendCoeffs
- b _0807D08A
-_0807D078:
- bl Weather_UpdateBlend
- lsls r0, 24
- cmp r0, 0
- beq _0807D090
- ldr r0, _0807D098 @ =0x000006d2
- adds r1, r5, r0
- movs r0, 0x1
- strb r0, [r1]
-_0807D08A:
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
-_0807D090:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0807D098: .4byte 0x000006d2
- thumb_func_end Fog2_Main
-
- thumb_func_start Fog2_Finish
-Fog2_Finish: @ 807D09C
- push {r4,lr}
- bl sub_807D0FC
- ldr r0, _0807D0BC @ =gUnknown_83C2BBC
- ldr r0, [r0]
- ldr r1, _0807D0C0 @ =0x000006ce
- adds r4, r0, r1
- ldrh r0, [r4]
- cmp r0, 0x1
- beq _0807D0D6
- cmp r0, 0x1
- bgt _0807D0C4
- cmp r0, 0
- beq _0807D0CA
- b _0807D0EE
- .align 2, 0
-_0807D0BC: .4byte gUnknown_83C2BBC
-_0807D0C0: .4byte 0x000006ce
-_0807D0C4:
- cmp r0, 0x2
- beq _0807D0E2
- b _0807D0EE
-_0807D0CA:
- movs r0, 0
- movs r1, 0x10
- movs r2, 0x1
- bl Weather_SetTargetBlendCoeffs
- b _0807D0E6
-_0807D0D6:
- bl Weather_UpdateBlend
- lsls r0, 24
- cmp r0, 0
- beq _0807D0F2
- b _0807D0E6
-_0807D0E2:
- bl DestroyFog2Sprites
-_0807D0E6:
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- b _0807D0F2
-_0807D0EE:
- movs r0, 0
- b _0807D0F4
-_0807D0F2:
- movs r0, 0x1
-_0807D0F4:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end Fog2_Finish
-
- thumb_func_start sub_807D0FC
-sub_807D0FC: @ 807D0FC
- push {r4,r5,lr}
- ldr r0, _0807D174 @ =gUnknown_83C2BBC
- ldr r3, [r0]
- ldr r0, _0807D178 @ =0x0000071c
- adds r2, r3, r0
- ldrh r0, [r2]
- adds r0, 0x1
- movs r5, 0
- strh r0, [r2]
- ldr r1, _0807D17C @ =0x0000ffff
- adds r4, r1, 0
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x2
- bls _0807D128
- movs r0, 0xE4
- lsls r0, 3
- adds r1, r3, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- strh r5, [r2]
-_0807D128:
- ldr r1, _0807D180 @ =0x0000071e
- adds r2, r3, r1
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- ands r0, r4
- cmp r0, 0x4
- bls _0807D144
- ldr r0, _0807D184 @ =0x00000722
- adds r1, r3, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- strh r5, [r2]
-_0807D144:
- ldr r0, _0807D188 @ =gSpriteCoordOffsetX
- movs r2, 0xE4
- lsls r2, 3
- adds r1, r3, r2
- ldrh r0, [r0]
- ldrh r1, [r1]
- subs r0, r1
- movs r1, 0xFF
- ands r0, r1
- subs r2, 0x8
- adds r1, r3, r2
- strh r0, [r1]
- ldr r1, _0807D18C @ =gSpriteCoordOffsetY
- adds r2, 0xA
- adds r0, r3, r2
- ldrh r0, [r0]
- ldrh r1, [r1]
- adds r0, r1
- subs r2, 0x8
- adds r1, r3, r2
- strh r0, [r1]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0807D174: .4byte gUnknown_83C2BBC
-_0807D178: .4byte 0x0000071c
-_0807D17C: .4byte 0x0000ffff
-_0807D180: .4byte 0x0000071e
-_0807D184: .4byte 0x00000722
-_0807D188: .4byte gSpriteCoordOffsetX
-_0807D18C: .4byte gSpriteCoordOffsetY
- thumb_func_end sub_807D0FC
-
- thumb_func_start CreateFog2Sprites
-CreateFog2Sprites: @ 807D190
- push {r4-r6,lr}
- sub sp, 0x8
- ldr r0, _0807D1FC @ =gUnknown_83C2BBC
- ldr r0, [r0]
- ldr r1, _0807D200 @ =0x00000724
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _0807D236
- ldr r0, _0807D204 @ =gUnknown_83C67E8
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp]
- str r1, [sp, 0x4]
- mov r0, sp
- bl LoadSpriteSheet
- movs r6, 0
-_0807D1B4:
- adds r0, r6, 0
- movs r1, 0x5
- bl __udivsi3
- adds r5, r0, 0
- lsls r2, r5, 22
- asrs r2, 16
- ldr r0, _0807D208 @ =gUnknown_83C6804
- movs r1, 0
- movs r3, 0xFF
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x40
- beq _0807D210
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r0, _0807D20C @ =gSprites
- adds r4, r0
- adds r0, r6, 0
- movs r1, 0x5
- bl __umodsi3
- strh r0, [r4, 0x2E]
- strh r5, [r4, 0x30]
- ldr r2, _0807D1FC @ =gUnknown_83C2BBC
- ldr r0, [r2]
- lsls r1, r6, 2
- movs r3, 0xA0
- lsls r3, 1
- adds r0, r3
- adds r0, r1
- str r4, [r0]
- b _0807D222
- .align 2, 0
-_0807D1FC: .4byte gUnknown_83C2BBC
-_0807D200: .4byte 0x00000724
-_0807D204: .4byte gUnknown_83C67E8
-_0807D208: .4byte gUnknown_83C6804
-_0807D20C: .4byte gSprites
-_0807D210:
- ldr r2, _0807D240 @ =gUnknown_83C2BBC
- ldr r1, [r2]
- lsls r0, r6, 2
- movs r3, 0xA0
- lsls r3, 1
- adds r1, r3
- adds r1, r0
- movs r0, 0
- str r0, [r1]
-_0807D222:
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0x13
- bls _0807D1B4
- ldr r0, [r2]
- ldr r1, _0807D244 @ =0x00000724
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
-_0807D236:
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0807D240: .4byte gUnknown_83C2BBC
-_0807D244: .4byte 0x00000724
- thumb_func_end CreateFog2Sprites
-
- thumb_func_start DestroyFog2Sprites
-DestroyFog2Sprites: @ 807D248
- push {r4,r5,lr}
- ldr r0, _0807D290 @ =gUnknown_83C2BBC
- ldr r1, [r0]
- ldr r2, _0807D294 @ =0x00000724
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _0807D28A
- movs r4, 0
- movs r0, 0xA0
- lsls r0, 1
- adds r5, r1, r0
-_0807D260:
- lsls r0, r4, 2
- adds r0, r5, r0
- ldr r0, [r0]
- cmp r0, 0
- beq _0807D26E
- bl DestroySprite
-_0807D26E:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x13
- bls _0807D260
- ldr r0, _0807D298 @ =0x00001203
- bl FreeSpriteTilesByTag
- ldr r0, _0807D290 @ =gUnknown_83C2BBC
- ldr r0, [r0]
- ldr r1, _0807D294 @ =0x00000724
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
-_0807D28A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0807D290: .4byte gUnknown_83C2BBC
-_0807D294: .4byte 0x00000724
-_0807D298: .4byte 0x00001203
- thumb_func_end DestroyFog2Sprites
-
- thumb_func_start Fog2SpriteCallback
-Fog2SpriteCallback: @ 807D29C
- push {r4,lr}
- adds r3, r0, 0
- ldr r0, _0807D2EC @ =gUnknown_83C2BBC
- ldr r1, [r0]
- ldr r2, _0807D2F0 @ =0x0000071a
- adds r0, r1, r2
- ldrh r0, [r0]
- strh r0, [r3, 0x26]
- movs r4, 0xE3
- lsls r4, 3
- adds r2, r1, r4
- ldrh r1, [r2]
- adds r1, 0x20
- movs r4, 0x2E
- ldrsh r0, [r3, r4]
- lsls r0, 6
- adds r1, r0
- strh r1, [r3, 0x20]
- lsls r1, 16
- ldr r0, _0807D2F4 @ =0x010f0000
- cmp r1, r0
- ble _0807D2E4
- movs r0, 0xF0
- lsls r0, 1
- adds r1, r0, 0
- ldrh r2, [r2]
- adds r1, r2
- movs r4, 0x2E
- ldrsh r2, [r3, r4]
- movs r0, 0x4
- subs r0, r2
- lsls r0, 6
- subs r1, r0
- ldr r0, _0807D2F8 @ =0x000001ff
- ands r1, r0
- strh r1, [r3, 0x20]
-_0807D2E4:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0807D2EC: .4byte gUnknown_83C2BBC
-_0807D2F0: .4byte 0x0000071a
-_0807D2F4: .4byte 0x010f0000
-_0807D2F8: .4byte 0x000001ff
- thumb_func_end Fog2SpriteCallback
-
- thumb_func_start Sandstorm_InitVars
-Sandstorm_InitVars: @ 807D2FC
- push {r4,lr}
- ldr r0, _0807D360 @ =gUnknown_83C2BBC
- ldr r3, [r0]
- ldr r0, _0807D364 @ =0x000006cc
- adds r1, r3, r0
- movs r2, 0
- movs r0, 0
- strh r0, [r1]
- ldr r1, _0807D368 @ =0x000006d2
- adds r0, r3, r1
- strb r2, [r0]
- ldr r4, _0807D36C @ =0x000006c1
- adds r0, r3, r4
- strb r2, [r0]
- ldr r0, _0807D370 @ =0x000006c2
- adds r1, r3, r0
- movs r0, 0x14
- strb r0, [r1]
- ldr r1, _0807D374 @ =0x00000716
- adds r0, r3, r1
- ldrb r2, [r0]
- cmp r2, 0
- bne _0807D358
- adds r4, 0x43
- adds r1, r3, r4
- adds r4, 0x4
- adds r0, r3, r4
- str r2, [r0]
- str r2, [r1]
- ldr r0, _0807D378 @ =0x00000712
- adds r1, r3, r0
- movs r0, 0x8
- strh r0, [r1]
- adds r4, 0xC
- adds r0, r3, r4
- strh r2, [r0]
- ldrh r2, [r1]
- cmp r2, 0x5F
- bls _0807D350
- movs r0, 0x80
- subs r0, r2
- strh r0, [r1]
-_0807D350:
- movs r0, 0
- movs r1, 0x10
- bl Weather_SetBlendCoeffs
-_0807D358:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0807D360: .4byte gUnknown_83C2BBC
-_0807D364: .4byte 0x000006cc
-_0807D368: .4byte 0x000006d2
-_0807D36C: .4byte 0x000006c1
-_0807D370: .4byte 0x000006c2
-_0807D374: .4byte 0x00000716
-_0807D378: .4byte 0x00000712
- thumb_func_end Sandstorm_InitVars
-
- thumb_func_start Sandstorm_InitAll
-Sandstorm_InitAll: @ 807D37C
- push {r4,lr}
- bl Sandstorm_InitVars
- ldr r0, _0807D3A4 @ =gUnknown_83C2BBC
- ldr r1, [r0]
- ldr r2, _0807D3A8 @ =0x000006d2
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _0807D39C
- adds r4, r1, r2
-_0807D392:
- bl Sandstorm_Main
- ldrb r0, [r4]
- cmp r0, 0
- beq _0807D392
-_0807D39C:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0807D3A4: .4byte gUnknown_83C2BBC
-_0807D3A8: .4byte 0x000006d2
- thumb_func_end Sandstorm_InitAll
-
- thumb_func_start Sandstorm_Main
-Sandstorm_Main: @ 807D3AC
- push {r4,r5,lr}
- bl sub_807D4C4
- bl sub_807D48C
- ldr r0, _0807D3DC @ =gUnknown_83C2BBC
- ldr r5, [r0]
- ldr r0, _0807D3E0 @ =0x00000712
- adds r1, r5, r0
- ldrh r0, [r1]
- cmp r0, 0x5F
- bls _0807D3C8
- movs r0, 0x20
- strh r0, [r1]
-_0807D3C8:
- ldr r0, _0807D3E4 @ =0x000006cc
- adds r4, r5, r0
- ldrh r0, [r4]
- cmp r0, 0x1
- beq _0807D3F8
- cmp r0, 0x1
- bgt _0807D3E8
- cmp r0, 0
- beq _0807D3EE
- b _0807D41C
- .align 2, 0
-_0807D3DC: .4byte gUnknown_83C2BBC
-_0807D3E0: .4byte 0x00000712
-_0807D3E4: .4byte 0x000006cc
-_0807D3E8:
- cmp r0, 0x2
- beq _0807D404
- b _0807D41C
-_0807D3EE:
- bl CreateSandstormSprites_1
- bl CreateSandstormSprites_2
- b _0807D416
-_0807D3F8:
- movs r0, 0x10
- movs r1, 0
- movs r2, 0
- bl Weather_SetTargetBlendCoeffs
- b _0807D416
-_0807D404:
- bl Weather_UpdateBlend
- lsls r0, 24
- cmp r0, 0
- beq _0807D41C
- ldr r0, _0807D424 @ =0x000006d2
- adds r1, r5, r0
- movs r0, 0x1
- strb r0, [r1]
-_0807D416:
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
-_0807D41C:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0807D424: .4byte 0x000006d2
- thumb_func_end Sandstorm_Main
-
- thumb_func_start Sandstorm_Finish
-Sandstorm_Finish: @ 807D428
- push {r4,lr}
- bl sub_807D4C4
- bl sub_807D48C
- ldr r0, _0807D44C @ =gUnknown_83C2BBC
- ldr r0, [r0]
- ldr r1, _0807D450 @ =0x000006ce
- adds r4, r0, r1
- ldrh r0, [r4]
- cmp r0, 0x1
- beq _0807D466
- cmp r0, 0x1
- bgt _0807D454
- cmp r0, 0
- beq _0807D45A
- b _0807D47E
- .align 2, 0
-_0807D44C: .4byte gUnknown_83C2BBC
-_0807D450: .4byte 0x000006ce
-_0807D454:
- cmp r0, 0x2
- beq _0807D472
- b _0807D47E
-_0807D45A:
- movs r0, 0
- movs r1, 0x10
- movs r2, 0
- bl Weather_SetTargetBlendCoeffs
- b _0807D476
-_0807D466:
- bl Weather_UpdateBlend
- lsls r0, 24
- cmp r0, 0
- beq _0807D482
- b _0807D476
-_0807D472:
- bl sub_807D544
-_0807D476:
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- b _0807D482
-_0807D47E:
- movs r0, 0
- b _0807D484
-_0807D482:
- movs r0, 0x1
-_0807D484:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end Sandstorm_Finish
-
- thumb_func_start sub_807D48C
-sub_807D48C: @ 807D48C
- push {lr}
- ldr r0, _0807D4B8 @ =gUnknown_83C2BBC
- ldr r2, [r0]
- ldr r0, _0807D4BC @ =0x00000714
- adds r3, r2, r0
- ldrh r0, [r3]
- adds r1, r0, 0x1
- strh r1, [r3]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x4
- bls _0807D4B2
- ldr r1, _0807D4C0 @ =0x00000712
- adds r0, r2, r1
- ldrh r1, [r0]
- adds r1, 0x1
- movs r2, 0
- strh r1, [r0]
- strh r2, [r3]
-_0807D4B2:
- pop {r0}
- bx r0
- .align 2, 0
-_0807D4B8: .4byte gUnknown_83C2BBC
-_0807D4BC: .4byte 0x00000714
-_0807D4C0: .4byte 0x00000712
- thumb_func_end sub_807D48C
-
- thumb_func_start sub_807D4C4
-sub_807D4C4: @ 807D4C4
- push {r4-r6,lr}
- ldr r0, _0807D528 @ =gUnknown_83C2BBC
- ldr r2, [r0]
- ldr r0, _0807D52C @ =0x00000704
- adds r4, r2, r0
- ldr r6, _0807D530 @ =gSineTable
- ldr r1, _0807D534 @ =0x00000712
- adds r5, r2, r1
- ldrh r0, [r5]
- lsls r0, 1
- adds r0, r6
- movs r3, 0
- ldrsh r1, [r0, r3]
- lsls r1, 2
- ldr r0, [r4]
- subs r0, r1
- str r0, [r4]
- movs r0, 0xE1
- lsls r0, 3
- adds r3, r2, r0
- ldrh r0, [r5]
- lsls r0, 1
- adds r0, r6
- movs r5, 0
- ldrsh r1, [r0, r5]
- ldr r0, [r3]
- subs r0, r1
- str r0, [r3]
- ldr r1, _0807D538 @ =gSpriteCoordOffsetX
- ldr r0, [r4]
- lsrs r0, 8
- ldrh r1, [r1]
- adds r0, r1
- movs r1, 0xFF
- ands r0, r1
- ldr r4, _0807D53C @ =0x0000070e
- adds r1, r2, r4
- strh r0, [r1]
- ldr r1, _0807D540 @ =gSpriteCoordOffsetY
- ldr r0, [r3]
- lsrs r0, 8
- ldrh r1, [r1]
- adds r0, r1
- movs r5, 0xE2
- lsls r5, 3
- adds r2, r5
- strh r0, [r2]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0807D528: .4byte gUnknown_83C2BBC
-_0807D52C: .4byte 0x00000704
-_0807D530: .4byte gSineTable
-_0807D534: .4byte 0x00000712
-_0807D538: .4byte gSpriteCoordOffsetX
-_0807D53C: .4byte 0x0000070e
-_0807D540: .4byte gSpriteCoordOffsetY
- thumb_func_end sub_807D4C4
-
- thumb_func_start sub_807D544
-sub_807D544: @ 807D544
- push {r4,r5,lr}
- ldr r0, _0807D5C8 @ =gUnknown_83C2BBC
- ldr r1, [r0]
- ldr r2, _0807D5CC @ =0x00000716
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _0807D586
- movs r4, 0
- movs r0, 0xC8
- lsls r0, 1
- adds r5, r1, r0
-_0807D55C:
- lsls r0, r4, 2
- adds r0, r5, r0
- ldr r0, [r0]
- cmp r0, 0
- beq _0807D56A
- bl DestroySprite
-_0807D56A:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x13
- bls _0807D55C
- ldr r0, _0807D5C8 @ =gUnknown_83C2BBC
- ldr r0, [r0]
- ldr r1, _0807D5CC @ =0x00000716
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- ldr r0, _0807D5D0 @ =0x00001204
- bl FreeSpriteTilesByTag
-_0807D586:
- ldr r0, _0807D5C8 @ =gUnknown_83C2BBC
- ldr r1, [r0]
- ldr r2, _0807D5D4 @ =0x00000717
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _0807D5C0
- movs r4, 0
- movs r0, 0xF0
- lsls r0, 1
- adds r5, r1, r0
-_0807D59C:
- lsls r0, r4, 2
- adds r0, r5, r0
- ldr r0, [r0]
- cmp r0, 0
- beq _0807D5AA
- bl DestroySprite
-_0807D5AA:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x4
- bls _0807D59C
- ldr r0, _0807D5C8 @ =gUnknown_83C2BBC
- ldr r0, [r0]
- ldr r1, _0807D5D4 @ =0x00000717
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
-_0807D5C0:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0807D5C8: .4byte gUnknown_83C2BBC
-_0807D5CC: .4byte 0x00000716
-_0807D5D0: .4byte 0x00001204
-_0807D5D4: .4byte 0x00000717
- thumb_func_end sub_807D544
-
- thumb_func_start CreateSandstormSprites_1
-CreateSandstormSprites_1: @ 807D5D8
- push {r4-r7,lr}
- sub sp, 0x4
- ldr r0, _0807D648 @ =gUnknown_83C2BBC
- ldr r0, [r0]
- ldr r1, _0807D64C @ =0x00000716
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _0807D686
- ldr r0, _0807D650 @ =gUnknown_83C6854
- bl LoadSpriteSheet
- ldr r0, _0807D654 @ =gUnknown_83C2D20
- bl sub_807ABC0
- movs r7, 0
-_0807D5F8:
- adds r0, r7, 0
- movs r1, 0x5
- bl __udivsi3
- adds r6, r0, 0
- lsls r2, r6, 22
- asrs r2, 16
- ldr r0, _0807D658 @ =gUnknown_83C683C
- movs r1, 0
- movs r3, 0x1
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- beq _0807D660
- ldr r2, _0807D648 @ =gUnknown_83C2BBC
- ldr r5, [r2]
- lsls r0, r7, 2
- movs r3, 0xC8
- lsls r3, 1
- adds r5, r3
- adds r5, r0
- lsls r4, r1, 4
- adds r4, r1
- lsls r4, 2
- ldr r0, _0807D65C @ =gSprites
- adds r4, r0
- str r4, [r5]
- adds r0, r7, 0
- movs r1, 0x5
- str r2, [sp]
- bl __umodsi3
- strh r0, [r4, 0x2E]
- ldr r0, [r5]
- strh r6, [r0, 0x30]
- ldr r2, [sp]
- b _0807D672
- .align 2, 0
-_0807D648: .4byte gUnknown_83C2BBC
-_0807D64C: .4byte 0x00000716
-_0807D650: .4byte gUnknown_83C6854
-_0807D654: .4byte gUnknown_83C2D20
-_0807D658: .4byte gUnknown_83C683C
-_0807D65C: .4byte gSprites
-_0807D660:
- ldr r2, _0807D690 @ =gUnknown_83C2BBC
- ldr r1, [r2]
- lsls r0, r7, 2
- movs r3, 0xC8
- lsls r3, 1
- adds r1, r3
- adds r1, r0
- movs r0, 0
- str r0, [r1]
-_0807D672:
- adds r0, r7, 0x1
- lsls r0, 16
- lsrs r7, r0, 16
- cmp r7, 0x13
- bls _0807D5F8
- ldr r0, [r2]
- ldr r1, _0807D694 @ =0x00000716
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
-_0807D686:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0807D690: .4byte gUnknown_83C2BBC
-_0807D694: .4byte 0x00000716
- thumb_func_end CreateSandstormSprites_1
-
- thumb_func_start CreateSandstormSprites_2
-CreateSandstormSprites_2: @ 807D698
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r4, _0807D740 @ =gUnknown_83C2BBC
- ldr r0, [r4]
- ldr r1, _0807D744 @ =0x00000717
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _0807D784
- movs r7, 0
- mov r9, r4
- movs r2, 0
- mov r10, r2
-_0807D6B8:
- lsls r0, r7, 1
- mov r8, r0
- adds r6, r0, r7
- lsls r5, r6, 4
- adds r1, r5, 0
- adds r1, 0x18
- lsls r1, 16
- asrs r1, 16
- ldr r0, _0807D748 @ =gUnknown_83C683C
- movs r2, 0xD0
- movs r3, 0x1
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- beq _0807D75C
- mov r2, r9
- ldr r4, [r2]
- lsls r0, r7, 2
- movs r2, 0xF0
- lsls r2, 1
- adds r4, r2
- adds r4, r0
- lsls r2, r1, 4
- adds r2, r1
- lsls r2, 2
- ldr r0, _0807D74C @ =gSprites
- adds r2, r0
- str r2, [r4]
- ldrb r1, [r2, 0x3]
- movs r0, 0x3F
- ands r0, r1
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2, 0x3]
- ldr r1, [r4]
- adds r0, r6, r5
- strh r0, [r1, 0x30]
- ldr r1, [r4]
- movs r0, 0x8
- strh r0, [r1, 0x2E]
- ldr r0, [r4]
- mov r1, r10
- strh r1, [r0, 0x32]
- ldr r1, [r4]
- ldr r0, _0807D750 @ =0x00006730
- strh r0, [r1, 0x36]
- ldr r1, [r4]
- ldr r0, _0807D754 @ =gUnknown_83C685C
- add r0, r8
- ldrh r0, [r0]
- strh r0, [r1, 0x34]
- ldr r0, [r4]
- movs r1, 0x1
- bl StartSpriteAnim
- ldr r0, [r4]
- movs r1, 0
- movs r2, 0x2
- movs r3, 0
- bl CalcCenterToCornerVec
- ldr r1, [r4]
- ldr r0, _0807D758 @ =SandstormSpriteCallback2
- str r0, [r1, 0x1C]
- b _0807D76E
- .align 2, 0
-_0807D740: .4byte gUnknown_83C2BBC
-_0807D744: .4byte 0x00000717
-_0807D748: .4byte gUnknown_83C683C
-_0807D74C: .4byte gSprites
-_0807D750: .4byte 0x00006730
-_0807D754: .4byte gUnknown_83C685C
-_0807D758: .4byte SandstormSpriteCallback2
-_0807D75C:
- mov r2, r9
- ldr r0, [r2]
- lsls r1, r7, 2
- movs r2, 0xF0
- lsls r2, 1
- adds r0, r2
- adds r0, r1
- mov r1, r10
- str r1, [r0]
-_0807D76E:
- mov r2, r9
- ldr r0, [r2]
- ldr r1, _0807D794 @ =0x00000717
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
- adds r0, r7, 0x1
- lsls r0, 16
- lsrs r7, r0, 16
- cmp r7, 0x4
- bls _0807D6B8
-_0807D784:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0807D794: .4byte 0x00000717
- thumb_func_end CreateSandstormSprites_2
-
- thumb_func_start SandstormSpriteCallback1
-SandstormSpriteCallback1: @ 807D798
- push {r4,lr}
- adds r3, r0, 0
- ldr r0, _0807D7E8 @ =gUnknown_83C2BBC
- ldr r1, [r0]
- movs r2, 0xE2
- lsls r2, 3
- adds r0, r1, r2
- ldrh r0, [r0]
- strh r0, [r3, 0x26]
- ldr r4, _0807D7EC @ =0x0000070e
- adds r2, r1, r4
- ldrh r1, [r2]
- adds r1, 0x20
- movs r4, 0x2E
- ldrsh r0, [r3, r4]
- lsls r0, 6
- adds r1, r0
- strh r1, [r3, 0x20]
- lsls r1, 16
- ldr r0, _0807D7F0 @ =0x010f0000
- cmp r1, r0
- ble _0807D7E0
- movs r0, 0xF0
- lsls r0, 1
- adds r1, r0, 0
- ldrh r2, [r2]
- adds r1, r2
- movs r4, 0x2E
- ldrsh r2, [r3, r4]
- movs r0, 0x4
- subs r0, r2
- lsls r0, 6
- subs r1, r0
- ldr r0, _0807D7F4 @ =0x000001ff
- ands r1, r0
- strh r1, [r3, 0x20]
-_0807D7E0:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0807D7E8: .4byte gUnknown_83C2BBC
-_0807D7EC: .4byte 0x0000070e
-_0807D7F0: .4byte 0x010f0000
-_0807D7F4: .4byte 0x000001ff
- thumb_func_end SandstormSpriteCallback1
-
- thumb_func_start SandstormSpriteCallback2
-SandstormSpriteCallback2: @ 807D7F8
- push {lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x34]
- subs r0, 0x1
- strh r0, [r2, 0x34]
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- bne _0807D812
- ldr r0, _0807D818 @ =SandstormSpriteCallback3
- str r0, [r2, 0x1C]
-_0807D812:
- pop {r0}
- bx r0
- .align 2, 0
-_0807D818: .4byte SandstormSpriteCallback3
- thumb_func_end SandstormSpriteCallback2
-
- thumb_func_start SandstormSpriteCallback3
-SandstormSpriteCallback3: @ 807D81C
- push {r4,r5,lr}
- adds r5, r0, 0
- ldrh r0, [r5, 0x22]
- subs r0, 0x1
- strh r0, [r5, 0x22]
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x30
- negs r1, r1
- cmp r0, r1
- bge _0807D83A
- movs r0, 0xD0
- strh r0, [r5, 0x22]
- movs r0, 0x4
- strh r0, [r5, 0x2E]
-_0807D83A:
- movs r0, 0x2E
- ldrsh r4, [r5, r0]
- ldr r3, _0807D88C @ =gSineTable
- movs r2, 0x30
- ldrsh r1, [r5, r2]
- lsls r0, r1, 1
- adds r0, r3
- movs r2, 0
- ldrsh r0, [r0, r2]
- adds r2, r4, 0
- muls r2, r0
- adds r1, 0x40
- lsls r1, 1
- adds r1, r3
- movs r3, 0
- ldrsh r0, [r1, r3]
- muls r0, r4
- lsrs r2, 8
- strh r2, [r5, 0x24]
- lsrs r0, 8
- strh r0, [r5, 0x26]
- ldrh r0, [r5, 0x30]
- adds r0, 0xA
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r5, 0x30]
- ldrh r0, [r5, 0x32]
- adds r0, 0x1
- strh r0, [r5, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x8
- ble _0807D886
- movs r0, 0
- strh r0, [r5, 0x32]
- ldrh r0, [r5, 0x2E]
- adds r0, 0x1
- strh r0, [r5, 0x2E]
-_0807D886:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0807D88C: .4byte gSineTable
- thumb_func_end SandstormSpriteCallback3
-
- thumb_func_start Weather11_InitVars
-Weather11_InitVars: @ 807D890
- ldr r0, _0807D8B0 @ =gUnknown_83C2BBC
- ldr r1, [r0]
- ldr r0, _0807D8B4 @ =0x000006cc
- adds r2, r1, r0
- movs r0, 0
- strh r0, [r2]
- ldr r0, _0807D8B8 @ =0x000006c1
- adds r2, r1, r0
- movs r0, 0x3
- strb r0, [r2]
- ldr r0, _0807D8BC @ =0x000006c2
- adds r1, r0
- movs r0, 0x14
- strb r0, [r1]
- bx lr
- .align 2, 0
-_0807D8B0: .4byte gUnknown_83C2BBC
-_0807D8B4: .4byte 0x000006cc
-_0807D8B8: .4byte 0x000006c1
-_0807D8BC: .4byte 0x000006c2
- thumb_func_end Weather11_InitVars
-
- thumb_func_start Weather11_InitAll
-Weather11_InitAll: @ 807D8C0
- push {lr}
- bl Weather11_InitVars
- pop {r0}
- bx r0
- thumb_func_end Weather11_InitAll
-
- thumb_func_start nullsub_49
-nullsub_49: @ 807D8CC
- bx lr
- thumb_func_end nullsub_49
-
- thumb_func_start sub_807D8D0
-sub_807D8D0: @ 807D8D0
- movs r0, 0
- bx lr
- thumb_func_end sub_807D8D0
-
- thumb_func_start Bubbles_InitVars
-Bubbles_InitVars: @ 807D8D4
- push {r4,r5,lr}
- bl Fog1_InitVars
- ldr r0, _0807D914 @ =gUnknown_83C2BBC
- ldr r4, [r0]
- ldr r1, _0807D918 @ =0x0000072e
- adds r0, r4, r1
- ldrb r5, [r0]
- cmp r5, 0
- bne _0807D90C
- ldr r0, _0807D91C @ =gUnknown_83C6870
- bl LoadSpriteSheet
- movs r2, 0xE5
- lsls r2, 3
- adds r0, r4, r2
- strh r5, [r0]
- ldr r0, _0807D920 @ =gUnknown_83C6868
- ldrb r1, [r0]
- subs r2, 0x2
- adds r0, r4, r2
- strh r1, [r0]
- ldr r1, _0807D924 @ =0x0000072a
- adds r0, r4, r1
- strh r5, [r0]
- adds r2, 0x6
- adds r0, r4, r2
- strh r5, [r0]
-_0807D90C:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0807D914: .4byte gUnknown_83C2BBC
-_0807D918: .4byte 0x0000072e
-_0807D91C: .4byte gUnknown_83C6870
-_0807D920: .4byte gUnknown_83C6868
-_0807D924: .4byte 0x0000072a
- thumb_func_end Bubbles_InitVars
-
- thumb_func_start Bubbles_InitAll
-Bubbles_InitAll: @ 807D928
- push {r4,lr}
- bl Bubbles_InitVars
- ldr r0, _0807D950 @ =gUnknown_83C2BBC
- ldr r1, [r0]
- ldr r2, _0807D954 @ =0x000006d2
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _0807D948
- adds r4, r1, r2
-_0807D93E:
- bl Bubbles_Main
- ldrb r0, [r4]
- cmp r0, 0
- beq _0807D93E
-_0807D948:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0807D950: .4byte gUnknown_83C2BBC
-_0807D954: .4byte 0x000006d2
- thumb_func_end Bubbles_InitAll
-
- thumb_func_start Bubbles_Main
-Bubbles_Main: @ 807D958
- push {r4-r7,lr}
- bl Fog1_Main
- ldr r0, _0807D9B8 @ =gUnknown_83C2BBC
- ldr r5, [r0]
- ldr r0, _0807D9BC @ =0x00000726
- adds r4, r5, r0
- ldrh r0, [r4]
- adds r0, 0x1
- movs r6, 0
- strh r0, [r4]
- ldr r1, _0807D9C0 @ =0x0000ffff
- adds r7, r1, 0
- ldr r2, _0807D9C4 @ =gUnknown_83C6868
- movs r1, 0xE5
- lsls r1, 3
- adds r3, r5, r1
- ldrh r1, [r3]
- adds r1, r2
- lsls r0, 16
- lsrs r0, 16
- ldrb r1, [r1]
- cmp r0, r1
- bls _0807D9B0
- strh r6, [r4]
- ldrh r0, [r3]
- adds r0, 0x1
- strh r0, [r3]
- ands r0, r7
- cmp r0, 0x7
- bls _0807D998
- strh r6, [r3]
-_0807D998:
- ldr r0, _0807D9C8 @ =0x0000072a
- adds r4, r5, r0
- ldrh r0, [r4]
- bl sub_807D9E8
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- ands r0, r7
- cmp r0, 0xC
- bls _0807D9B0
- strh r6, [r4]
-_0807D9B0:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0807D9B8: .4byte gUnknown_83C2BBC
-_0807D9BC: .4byte 0x00000726
-_0807D9C0: .4byte 0x0000ffff
-_0807D9C4: .4byte gUnknown_83C6868
-_0807D9C8: .4byte 0x0000072a
- thumb_func_end Bubbles_Main
-
- thumb_func_start Bubbles_Finish
-Bubbles_Finish: @ 807D9CC
- push {lr}
- bl Fog1_Finish
- lsls r0, 24
- cmp r0, 0
- beq _0807D9DC
- movs r0, 0x1
- b _0807D9E2
-_0807D9DC:
- bl sub_807DA70
- movs r0, 0
-_0807D9E2:
- pop {r1}
- bx r1
- thumb_func_end Bubbles_Finish
-
- thumb_func_start sub_807D9E8
-sub_807D9E8: @ 807D9E8
- push {r4,lr}
- lsls r0, 16
- ldr r1, _0807DA58 @ =gUnknown_83C6878
- lsrs r0, 14
- adds r3, r0, r1
- adds r1, 0x2
- adds r0, r1
- ldr r1, _0807DA5C @ =gSpriteCoordOffsetY
- ldrh r2, [r0]
- ldrh r0, [r1]
- subs r2, r0
- ldr r0, _0807DA60 @ =gUnknown_83C68BC
- movs r4, 0
- ldrsh r1, [r3, r4]
- lsls r2, 16
- asrs r2, 16
- movs r3, 0
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x40
- beq _0807DA50
- ldr r0, _0807DA64 @ =gSprites
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r0
- ldrb r2, [r1, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r1, 0x5]
- adds r3, r1, 0
- adds r3, 0x3E
- ldrb r0, [r3]
- movs r2, 0x2
- orrs r0, r2
- strb r0, [r3]
- movs r0, 0
- strh r0, [r1, 0x2E]
- strh r0, [r1, 0x30]
- strh r0, [r1, 0x32]
- ldr r0, _0807DA68 @ =gUnknown_83C2BBC
- ldr r1, [r0]
- ldr r0, _0807DA6C @ =0x0000072c
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_0807DA50:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0807DA58: .4byte gUnknown_83C6878
-_0807DA5C: .4byte gSpriteCoordOffsetY
-_0807DA60: .4byte gUnknown_83C68BC
-_0807DA64: .4byte gSprites
-_0807DA68: .4byte gUnknown_83C2BBC
-_0807DA6C: .4byte 0x0000072c
- thumb_func_end sub_807D9E8
-
- thumb_func_start sub_807DA70
-sub_807DA70: @ 807DA70
- push {r4,r5,lr}
- movs r4, 0
- ldr r5, _0807DAA8 @ =gSprites
-_0807DA76:
- lsls r0, r4, 4
- adds r0, r4
- lsls r2, r0, 2
- adds r0, r5, 0
- adds r0, 0x14
- adds r0, r2, r0
- ldr r1, [r0]
- ldr r0, _0807DAAC @ =gUnknown_83C68BC
- cmp r1, r0
- bne _0807DA90
- adds r0, r2, r5
- bl DestroySprite
-_0807DA90:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x3F
- bls _0807DA76
- ldr r0, _0807DAB0 @ =0x00001205
- bl FreeSpriteTilesByTag
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0807DAA8: .4byte gSprites
-_0807DAAC: .4byte gUnknown_83C68BC
-_0807DAB0: .4byte 0x00001205
- thumb_func_end sub_807DA70
-
- thumb_func_start unc_0807DAB4
-unc_0807DAB4: @ 807DAB4
- push {lr}
- adds r1, r0, 0
- ldrh r0, [r1, 0x2E]
- movs r2, 0
- adds r0, 0x2
- strh r0, [r1, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x8
- ble _0807DAF4
- strh r2, [r1, 0x2E]
- movs r3, 0x30
- ldrsh r0, [r1, r3]
- cmp r0, 0
- bne _0807DAE6
- ldrh r0, [r1, 0x24]
- adds r0, 0x1
- strh r0, [r1, 0x24]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4
- ble _0807DAF4
- movs r0, 0x1
- strh r0, [r1, 0x30]
- b _0807DAF4
-_0807DAE6:
- ldrh r0, [r1, 0x24]
- subs r0, 0x1
- strh r0, [r1, 0x24]
- lsls r0, 16
- cmp r0, 0
- bgt _0807DAF4
- strh r2, [r1, 0x30]
-_0807DAF4:
- ldrh r0, [r1, 0x22]
- subs r0, 0x3
- strh r0, [r1, 0x22]
- ldrh r0, [r1, 0x32]
- adds r0, 0x1
- strh r0, [r1, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x77
- ble _0807DB0E
- adds r0, r1, 0
- bl DestroySprite
-_0807DB0E:
- pop {r0}
- bx r0
- thumb_func_end unc_0807DAB4
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/overworld.s b/asm/overworld.s
index 27235fa18..179d79fdc 100644
--- a/asm/overworld.s
+++ b/asm/overworld.s
@@ -1728,7 +1728,7 @@ sub_8055864: @ 8055864
_080558D4:
lsls r0, r4, 24
lsrs r0, 24
- bl sub_807AB74
+ bl ApplyWeatherGammaShiftToPal
adds r4, 0x1
cmp r4, 0xC
ble _080558D4
@@ -4644,8 +4644,8 @@ _08057050:
bl InitObjectEventPalettes
_08057056:
bl FieldEffectActiveListClear
- bl sub_8079C08
- bl sub_807B1B8
+ bl StartWeather
+ bl ResumePausedWeather
cmp r4, 0
bne _0805706A
bl SetUpFieldTasks
@@ -5400,8 +5400,8 @@ _0805769C:
bl ResetCameraUpdateInfo
bl InstallCameraPanAheadCallback
bl FieldEffectActiveListClear
- bl sub_8079C08
- bl sub_807B1B8
+ bl StartWeather
+ bl ResumePausedWeather
bl SetUpFieldTasks
bl mapheader_run_script_with_tag_x5
b _0805772A
@@ -5451,7 +5451,7 @@ _08057712:
ldr r2, _08057738 @ =0x3fffffff
movs r0, 0
movs r1, 0
- bl FieldWeather_StartFadingOutCreditsMap
+ bl FadeSelectedPals
_0805772A:
ldrb r0, [r4]
adds r0, 0x1
diff --git a/asm/pokemon_storage_system.s b/asm/pokemon_storage_system.s
deleted file mode 100644
index 3227d5dcd..000000000
--- a/asm/pokemon_storage_system.s
+++ /dev/null
@@ -1,23034 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_808B9C0
-sub_808B9C0: @ 808B9C0
- push {lr}
- ldr r1, _0808B9D0 @ =gPokemonStoragePtr
- ldr r1, [r1]
- ldr r2, _0808B9D4 @ =0x000083d0
- bl memcpy
- pop {r0}
- bx r0
- .align 2, 0
-_0808B9D0: .4byte gPokemonStoragePtr
-_0808B9D4: .4byte 0x000083d0
- thumb_func_end sub_808B9C0
-
- thumb_func_start sub_808B9D8
-sub_808B9D8: @ 808B9D8
- push {lr}
- adds r1, r0, 0
- ldr r0, _0808B9EC @ =gPokemonStoragePtr
- ldr r0, [r0]
- ldr r2, _0808B9F0 @ =0x000083d0
- bl memcpy
- pop {r0}
- bx r0
- .align 2, 0
-_0808B9EC: .4byte gPokemonStoragePtr
-_0808B9F0: .4byte 0x000083d0
- thumb_func_end sub_808B9D8
-
- thumb_func_start StorageGetCurrentBox
-StorageGetCurrentBox: @ 808B9F4
- ldr r0, _0808B9FC @ =gPokemonStoragePtr
- ldr r0, [r0]
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_0808B9FC: .4byte gPokemonStoragePtr
- thumb_func_end StorageGetCurrentBox
-
- thumb_func_start sub_808BA00
-sub_808BA00: @ 808BA00
- push {lr}
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0xD
- bhi _0808BA10
- ldr r0, _0808BA14 @ =gPokemonStoragePtr
- ldr r0, [r0]
- strb r1, [r0]
-_0808BA10:
- pop {r0}
- bx r0
- .align 2, 0
-_0808BA14: .4byte gPokemonStoragePtr
- thumb_func_end sub_808BA00
-
- thumb_func_start GetBoxMonDataFromAnyBox
-GetBoxMonDataFromAnyBox: @ 808BA18
- push {r4,r5,lr}
- adds r5, r2, 0
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- cmp r3, 0xD
- bhi _0808BA54
- cmp r4, 0x1D
- bhi _0808BA54
- ldr r2, _0808BA50 @ =gPokemonStoragePtr
- lsls r0, r3, 2
- adds r0, r3
- lsls r1, r0, 4
- subs r1, r0
- lsls r1, 5
- adds r1, 0x4
- ldr r0, [r2]
- adds r0, r1
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 4
- adds r0, r1
- adds r1, r5, 0
- bl GetBoxMonData
- b _0808BA56
- .align 2, 0
-_0808BA50: .4byte gPokemonStoragePtr
-_0808BA54:
- movs r0, 0
-_0808BA56:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end GetBoxMonDataFromAnyBox
-
- thumb_func_start SetBoxMonDataFromAnyBox
-SetBoxMonDataFromAnyBox: @ 808BA5C
- push {r4-r6,lr}
- adds r5, r2, 0
- adds r6, r3, 0
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- cmp r3, 0xD
- bhi _0808BA94
- cmp r4, 0x1D
- bhi _0808BA94
- ldr r2, _0808BA9C @ =gPokemonStoragePtr
- lsls r0, r3, 2
- adds r0, r3
- lsls r1, r0, 4
- subs r1, r0
- lsls r1, 5
- adds r1, 0x4
- ldr r0, [r2]
- adds r0, r1
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 4
- adds r0, r1
- adds r1, r5, 0
- adds r2, r6, 0
- bl SetBoxMonData
-_0808BA94:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0808BA9C: .4byte gPokemonStoragePtr
- thumb_func_end SetBoxMonDataFromAnyBox
-
- thumb_func_start GetBoxMonDataFromSelectedBox
-GetBoxMonDataFromSelectedBox: @ 808BAA0
- push {lr}
- adds r3, r0, 0
- adds r2, r1, 0
- lsls r3, 24
- lsrs r3, 24
- ldr r0, _0808BABC @ =gPokemonStoragePtr
- ldr r0, [r0]
- ldrb r0, [r0]
- adds r1, r3, 0
- bl GetBoxMonDataFromAnyBox
- pop {r1}
- bx r1
- .align 2, 0
-_0808BABC: .4byte gPokemonStoragePtr
- thumb_func_end GetBoxMonDataFromSelectedBox
-
- thumb_func_start SetBoxMonDataFromSelectedBox
-SetBoxMonDataFromSelectedBox: @ 808BAC0
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r3, r2, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _0808BAE0 @ =gPokemonStoragePtr
- ldr r0, [r0]
- ldrb r0, [r0]
- adds r1, r4, 0
- adds r2, r5, 0
- bl SetBoxMonDataFromAnyBox
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0808BAE0: .4byte gPokemonStoragePtr
- thumb_func_end SetBoxMonDataFromSelectedBox
-
- thumb_func_start GetBoxMonNickFromAnyBox
-GetBoxMonNickFromAnyBox: @ 808BAE4
- push {r4,r5,lr}
- adds r5, r2, 0
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- cmp r3, 0xD
- bhi _0808BB20
- cmp r4, 0x1D
- bhi _0808BB20
- ldr r2, _0808BB1C @ =gPokemonStoragePtr
- lsls r0, r3, 2
- adds r0, r3
- lsls r1, r0, 4
- subs r1, r0
- lsls r1, 5
- adds r1, 0x4
- ldr r0, [r2]
- adds r0, r1
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 4
- adds r0, r1
- movs r1, 0x2
- adds r2, r5, 0
- bl GetBoxMonData
- b _0808BB24
- .align 2, 0
-_0808BB1C: .4byte gPokemonStoragePtr
-_0808BB20:
- movs r0, 0xFF
- strb r0, [r5]
-_0808BB24:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end GetBoxMonNickFromAnyBox
-
- thumb_func_start SetBoxMonNickFromAnyBox
-SetBoxMonNickFromAnyBox: @ 808BB2C
- push {r4,r5,lr}
- adds r5, r2, 0
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- cmp r3, 0xD
- bhi _0808BB62
- cmp r4, 0x1D
- bhi _0808BB62
- ldr r2, _0808BB68 @ =gPokemonStoragePtr
- lsls r0, r3, 2
- adds r0, r3
- lsls r1, r0, 4
- subs r1, r0
- lsls r1, 5
- adds r1, 0x4
- ldr r0, [r2]
- adds r0, r1
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 4
- adds r0, r1
- movs r1, 0x2
- adds r2, r5, 0
- bl SetBoxMonData
-_0808BB62:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0808BB68: .4byte gPokemonStoragePtr
- thumb_func_end SetBoxMonNickFromAnyBox
-
- thumb_func_start GetAndCopyBoxMonDataFromAnyBox
-GetAndCopyBoxMonDataFromAnyBox: @ 808BB6C
- push {r4-r6,lr}
- adds r5, r2, 0
- adds r6, r3, 0
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- cmp r3, 0xD
- bhi _0808BBAC
- cmp r4, 0x1D
- bhi _0808BBAC
- ldr r2, _0808BBA8 @ =gPokemonStoragePtr
- lsls r0, r3, 2
- adds r0, r3
- lsls r1, r0, 4
- subs r1, r0
- lsls r1, 5
- adds r1, 0x4
- ldr r0, [r2]
- adds r0, r1
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 4
- adds r0, r1
- adds r1, r5, 0
- adds r2, r6, 0
- bl GetBoxMonData
- b _0808BBAE
- .align 2, 0
-_0808BBA8: .4byte gPokemonStoragePtr
-_0808BBAC:
- movs r0, 0
-_0808BBAE:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end GetAndCopyBoxMonDataFromAnyBox
-
- thumb_func_start CopyBoxMonFromAnyBox
-CopyBoxMonFromAnyBox: @ 808BBB4
- push {r4,r5,lr}
- adds r5, r2, 0
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r1, 24
- cmp r4, 0xD
- bhi _0808BBEA
- cmp r1, 0x1D
- bhi _0808BBEA
- ldr r0, _0808BBF0 @ =gPokemonStoragePtr
- ldr r0, [r0]
- lsls r3, r1, 2
- adds r3, r1
- lsls r3, 4
- lsls r2, r4, 2
- adds r2, r4
- lsls r1, r2, 4
- subs r1, r2
- lsls r1, 5
- adds r3, r1
- adds r0, r3
- adds r0, 0x4
- adds r1, r5, 0
- movs r2, 0x50
- bl memcpy
-_0808BBEA:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0808BBF0: .4byte gPokemonStoragePtr
- thumb_func_end CopyBoxMonFromAnyBox
-
- thumb_func_start sub_808BBF4
-sub_808BBF4: @ 808BBF4
- push {r4,r5,lr}
- adds r5, r2, 0
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r2, r1, 24
- cmp r4, 0xD
- bhi _0808BC2A
- cmp r2, 0x1D
- bhi _0808BC2A
- ldr r0, _0808BC30 @ =gPokemonStoragePtr
- ldr r1, [r0]
- lsls r3, r2, 2
- adds r3, r2
- lsls r3, 4
- lsls r2, r4, 2
- adds r2, r4
- lsls r0, r2, 4
- subs r0, r2
- lsls r0, 5
- adds r3, r0
- adds r1, r3
- adds r1, 0x4
- adds r0, r5, 0
- movs r2, 0x50
- bl memcpy
-_0808BC2A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0808BC30: .4byte gPokemonStoragePtr
- thumb_func_end sub_808BBF4
-
- thumb_func_start sub_808BC34
-sub_808BC34: @ 808BC34
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x14
- ldr r4, [sp, 0x30]
- ldr r5, [sp, 0x34]
- ldr r6, [sp, 0x3C]
- mov r12, r6
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r1, 24
- lsrs r6, r1, 24
- lsls r2, 16
- lsrs r2, 16
- mov r9, r2
- lsls r3, 24
- lsrs r3, 24
- mov r8, r3
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- mov r0, r12
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r7, 0xD
- bhi _0808BCA0
- cmp r6, 0x1D
- bhi _0808BCA0
- ldr r2, _0808BCB0 @ =gPokemonStoragePtr
- lsls r0, r7, 2
- adds r0, r7
- lsls r1, r0, 4
- subs r1, r0
- lsls r1, 5
- adds r1, 0x4
- ldr r0, [r2]
- adds r0, r1
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 4
- adds r0, r1
- str r5, [sp]
- ldr r1, [sp, 0x38]
- str r1, [sp, 0x4]
- str r3, [sp, 0x8]
- ldr r1, [sp, 0x40]
- str r1, [sp, 0xC]
- mov r1, r9
- mov r2, r8
- adds r3, r4, 0
- bl CreateBoxMon
-_0808BCA0:
- add sp, 0x14
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0808BCB0: .4byte gPokemonStoragePtr
- thumb_func_end sub_808BC34
-
- thumb_func_start sub_808BCB4
-sub_808BCB4: @ 808BCB4
- push {r4,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- cmp r3, 0xD
- bhi _0808BCE4
- cmp r4, 0x1D
- bhi _0808BCE4
- ldr r2, _0808BCEC @ =gPokemonStoragePtr
- lsls r0, r3, 2
- adds r0, r3
- lsls r1, r0, 4
- subs r1, r0
- lsls r1, 5
- adds r1, 0x4
- ldr r0, [r2]
- adds r0, r1
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 4
- adds r0, r1
- bl ZeroBoxMonData
-_0808BCE4:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808BCEC: .4byte gPokemonStoragePtr
- thumb_func_end sub_808BCB4
-
- thumb_func_start sub_808BCF0
-sub_808BCF0: @ 808BCF0
- push {r4,r5,lr}
- adds r5, r2, 0
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- cmp r3, 0xD
- bhi _0808BD24
- cmp r4, 0x1D
- bhi _0808BD24
- ldr r2, _0808BD2C @ =gPokemonStoragePtr
- lsls r0, r3, 2
- adds r0, r3
- lsls r1, r0, 4
- subs r1, r0
- lsls r1, 5
- adds r1, 0x4
- ldr r0, [r2]
- adds r0, r1
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 4
- adds r0, r1
- adds r1, r5, 0
- bl BoxMonToMon
-_0808BD24:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0808BD2C: .4byte gPokemonStoragePtr
- thumb_func_end sub_808BCF0
-
- thumb_func_start GetBoxedMonPtr
-GetBoxedMonPtr: @ 808BD30
- push {r4,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- cmp r3, 0xD
- bhi _0808BD64
- cmp r4, 0x1D
- bhi _0808BD64
- ldr r2, _0808BD60 @ =gPokemonStoragePtr
- lsls r0, r3, 2
- adds r0, r3
- lsls r1, r0, 4
- subs r1, r0
- lsls r1, 5
- adds r1, 0x4
- ldr r0, [r2]
- adds r0, r1
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 4
- adds r0, r1
- b _0808BD66
- .align 2, 0
-_0808BD60: .4byte gPokemonStoragePtr
-_0808BD64:
- movs r0, 0
-_0808BD66:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end GetBoxedMonPtr
-
- thumb_func_start GetBoxNamePtr
-GetBoxNamePtr: @ 808BD6C
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0xD
- bls _0808BD7A
- movs r0, 0
- b _0808BD88
-_0808BD7A:
- ldr r0, _0808BD8C @ =gPokemonStoragePtr
- lsls r1, r2, 3
- adds r1, r2
- ldr r2, _0808BD90 @ =0x00008344
- adds r1, r2
- ldr r0, [r0]
- adds r0, r1
-_0808BD88:
- pop {r1}
- bx r1
- .align 2, 0
-_0808BD8C: .4byte gPokemonStoragePtr
-_0808BD90: .4byte 0x00008344
- thumb_func_end GetBoxNamePtr
-
- thumb_func_start sub_808BD94
-sub_808BD94: @ 808BD94
- push {lr}
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0xD
- bls _0808BDA2
- movs r0, 0
- b _0808BDAE
-_0808BDA2:
- ldr r0, _0808BDB4 @ =gPokemonStoragePtr
- ldr r0, [r0]
- ldr r2, _0808BDB8 @ =0x000083c2
- adds r0, r2
- adds r0, r1
- ldrb r0, [r0]
-_0808BDAE:
- pop {r1}
- bx r1
- .align 2, 0
-_0808BDB4: .4byte gPokemonStoragePtr
-_0808BDB8: .4byte 0x000083c2
- thumb_func_end sub_808BD94
-
- thumb_func_start sub_808BDBC
-sub_808BDBC: @ 808BDBC
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r1, 24
- lsrs r1, 24
- cmp r2, 0xD
- bhi _0808BDDA
- cmp r1, 0xF
- bhi _0808BDDA
- ldr r0, _0808BDE0 @ =gPokemonStoragePtr
- ldr r0, [r0]
- ldr r3, _0808BDE4 @ =0x000083c2
- adds r0, r3
- adds r0, r2
- strb r1, [r0]
-_0808BDDA:
- pop {r0}
- bx r0
- .align 2, 0
-_0808BDE0: .4byte gPokemonStoragePtr
-_0808BDE4: .4byte 0x000083c2
- thumb_func_end sub_808BDBC
-
- thumb_func_start sub_808BDE8
-sub_808BDE8: @ 808BDE8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- mov r8, r0
- lsls r1, 24
- lsrs r0, r1, 24
- lsls r2, 24
- lsrs r7, r2, 24
- lsls r3, 24
- lsrs r3, 24
- adds r4, r3, 0
- ldr r2, _0808BE4C @ =0x0000ffff
- cmp r3, 0x1
- bhi _0808BE0A
- movs r2, 0x1
- cmp r3, 0x1
- beq _0808BE0E
-_0808BE0A:
- cmp r4, 0x3
- bne _0808BE58
-_0808BE0E:
- lsls r0, 24
- asrs r0, 24
- lsls r2, 16
- asrs r1, r2, 16
- adds r1, r0
- lsls r0, r1, 16
- asrs r1, r0, 16
- adds r6, r2, 0
- cmp r1, 0
- blt _0808BEA4
- cmp r1, r7
- bgt _0808BEA4
-_0808BE26:
- asrs r4, r0, 16
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 4
- add r0, r8
- movs r1, 0xB
- bl GetBoxMonData
- cmp r0, 0
- bne _0808BE50
- asrs r0, r6, 16
- adds r0, r4, r0
- lsls r0, 16
- asrs r2, r0, 16
- cmp r2, 0
- blt _0808BEA4
- cmp r2, r7
- ble _0808BE26
- b _0808BEA4
- .align 2, 0
-_0808BE4C: .4byte 0x0000ffff
-_0808BE50:
- adds r0, r4, 0
- b _0808BEA8
-_0808BE54:
- adds r0, r5, 0
- b _0808BEA8
-_0808BE58:
- lsls r0, 24
- asrs r0, 24
- lsls r2, 16
- asrs r1, r2, 16
- adds r1, r0
- lsls r0, r1, 16
- asrs r1, r0, 16
- adds r6, r2, 0
- cmp r1, 0
- blt _0808BEA4
- cmp r1, r7
- bgt _0808BEA4
-_0808BE70:
- asrs r5, r0, 16
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 4
- mov r1, r8
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0xB
- bl GetBoxMonData
- cmp r0, 0
- beq _0808BE94
- adds r0, r4, 0
- movs r1, 0x2D
- bl GetBoxMonData
- cmp r0, 0
- beq _0808BE54
-_0808BE94:
- asrs r0, r6, 16
- adds r0, r5, r0
- lsls r0, 16
- asrs r2, r0, 16
- cmp r2, 0
- blt _0808BEA4
- cmp r2, r7
- ble _0808BE70
-_0808BEA4:
- movs r0, 0x1
- negs r0, r0
-_0808BEA8:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_808BDE8
-
- thumb_func_start PSS_RenderTextToVramViaBuffer
-PSS_RenderTextToVramViaBuffer: @ 808BEB4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x2C
- str r0, [sp, 0x24]
- adds r7, r1, 0
- lsls r2, 24
- lsrs r2, 24
- str r2, [sp, 0x28]
- lsls r3, 24
- lsrs r3, 24
- mov r9, r3
- movs r0, 0
- movs r1, 0
- str r0, [sp, 0x1C]
- str r1, [sp, 0x20]
- ldr r1, _0808BF30 @ =0x00ffffff
- ldr r0, [sp, 0x1C]
- ands r0, r1
- movs r1, 0xC0
- lsls r1, 21
- orrs r0, r1
- str r0, [sp, 0x1C]
- ldr r1, _0808BF34 @ =0xffffff00
- add r5, sp, 0x1C
- ldr r0, [r5, 0x4]
- ands r0, r1
- movs r1, 0x2
- orrs r0, r1
- str r0, [r5, 0x4]
- adds r0, r5, 0
- bl AddWindow
- lsls r0, 16
- lsrs r0, 16
- mov r10, r0
- lsls r4, r0, 24
- lsrs r4, 24
- mov r0, r9
- lsls r1, r0, 4
- orrs r1, r0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl FillWindowPixelBuffer
- adds r0, r4, 0
- movs r1, 0x7
- bl GetWindowAttribute
- adds r6, r0, 0
- ldrb r0, [r5, 0x3]
- lsls r0, 5
- adds r0, r6
- mov r8, r0
- ldr r1, [sp, 0x28]
- cmp r1, 0
- bne _0808BF38
- add r0, sp, 0x14
- b _0808BF3C
- .align 2, 0
-_0808BF30: .4byte 0x00ffffff
-_0808BF34: .4byte 0xffffff00
-_0808BF38:
- add r0, sp, 0x14
- mov r1, r9
-_0808BF3C:
- strb r1, [r0]
- add r1, sp, 0x14
- movs r2, 0
- movs r0, 0xF
- strb r0, [r1, 0x1]
- movs r0, 0xE
- strb r0, [r1, 0x2]
- mov r0, r10
- lsls r4, r0, 24
- lsrs r0, r4, 24
- str r2, [sp]
- str r2, [sp, 0x4]
- str r1, [sp, 0x8]
- movs r1, 0x1
- negs r1, r1
- str r1, [sp, 0xC]
- ldr r1, [sp, 0x24]
- str r1, [sp, 0x10]
- movs r1, 0x1
- movs r3, 0x2
- bl AddTextPrinterParameterized4
- ldr r0, [sp, 0x50]
- mov r10, r4
- cmp r0, 0x6
- ble _0808BF72
- movs r0, 0x6
-_0808BF72:
- ldr r4, [sp, 0x50]
- subs r4, 0x6
- cmp r0, 0
- ble _0808BFA4
- adds r5, r0, 0
-_0808BF7C:
- adds r0, r6, 0
- adds r1, r7, 0
- movs r2, 0x40
- bl CpuSet
- adds r1, r7, 0
- adds r1, 0x80
- mov r0, r8
- movs r2, 0x40
- bl CpuSet
- adds r6, 0x80
- movs r2, 0x80
- add r8, r2
- movs r0, 0x80
- lsls r0, 1
- adds r7, r0
- subs r5, 0x1
- cmp r5, 0
- bne _0808BF7C
-_0808BFA4:
- cmp r4, 0
- ble _0808BFC4
- add r0, sp, 0x18
- mov r2, r9
- lsls r1, r2, 4
- orrs r1, r2
- strh r1, [r0]
- lsls r2, r4, 7
- ldr r1, _0808BFDC @ =0x001fffff
- ands r2, r1
- movs r1, 0x80
- lsls r1, 17
- orrs r2, r1
- adds r1, r7, 0
- bl CpuSet
-_0808BFC4:
- mov r1, r10
- lsrs r0, r1, 24
- bl RemoveWindow
- add sp, 0x2C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0808BFDC: .4byte 0x001fffff
- thumb_func_end PSS_RenderTextToVramViaBuffer
-
- thumb_func_start sub_808BFE0
-sub_808BFE0: @ 808BFE0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x2C
- str r0, [sp, 0x20]
- str r1, [sp, 0x24]
- adds r6, r3, 0
- ldr r0, [sp, 0x4C]
- mov r9, r0
- ldr r1, [sp, 0x50]
- mov r10, r1
- lsls r2, 16
- lsrs r2, 16
- str r2, [sp, 0x28]
- lsls r6, 24
- lsrs r6, 24
- mov r2, r9
- lsls r2, 24
- lsrs r2, 24
- mov r9, r2
- mov r0, r10
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- movs r0, 0
- movs r1, 0
- str r0, [sp, 0x18]
- str r1, [sp, 0x1C]
- ldr r0, [sp, 0x20]
- bl StringLength_Multibyte
- lsls r0, 24
- ldr r2, _0808C0CC @ =0x00ffffff
- ldr r1, [sp, 0x18]
- ands r1, r2
- orrs r1, r0
- str r1, [sp, 0x18]
- ldr r1, _0808C0D0 @ =0xffffff00
- add r2, sp, 0x18
- mov r8, r2
- ldr r0, [r2, 0x4]
- ands r0, r1
- movs r1, 0x2
- orrs r0, r1
- str r0, [r2, 0x4]
- ldr r5, [sp, 0x18]
- lsrs r5, 24
- lsls r5, 5
- mov r0, r8
- bl AddWindow
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r1, r6, 4
- orrs r1, r6
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl FillWindowPixelBuffer
- adds r0, r4, 0
- movs r1, 0x7
- bl GetWindowAttribute
- adds r7, r0, 0
- mov r0, r8
- ldrb r0, [r0, 0x3]
- lsls r0, 5
- mov r8, r0
- add r8, r7
- add r0, sp, 0x14
- movs r1, 0
- strb r6, [r0]
- mov r2, r9
- strb r2, [r0, 0x1]
- mov r2, r10
- strb r2, [r0, 0x2]
- str r1, [sp]
- str r1, [sp, 0x4]
- str r0, [sp, 0x8]
- movs r0, 0x1
- negs r0, r0
- str r0, [sp, 0xC]
- ldr r0, [sp, 0x20]
- str r0, [sp, 0x10]
- adds r0, r4, 0
- movs r1, 0x1
- movs r2, 0
- movs r3, 0x2
- bl AddTextPrinterParameterized4
- lsrs r5, 1
- adds r0, r7, 0
- ldr r1, [sp, 0x24]
- adds r2, r5, 0
- bl CpuSet
- ldr r2, [sp, 0x24]
- ldr r0, [sp, 0x28]
- adds r1, r2, r0
- mov r0, r8
- adds r2, r5, 0
- bl CpuSet
- adds r0, r4, 0
- bl RemoveWindow
- add sp, 0x2C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0808C0CC: .4byte 0x00ffffff
-_0808C0D0: .4byte 0xffffff00
- thumb_func_end sub_808BFE0
-
- thumb_func_start CountMonsInBox
-CountMonsInBox: @ 808C0D4
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- movs r4, 0
- movs r5, 0
-_0808C0DE:
- lsls r1, r4, 24
- lsrs r1, 24
- adds r0, r6, 0
- movs r2, 0xB
- bl GetBoxMonDataFromAnyBox
- cmp r0, 0
- beq _0808C0F4
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
-_0808C0F4:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x1D
- bls _0808C0DE
- lsls r0, r5, 24
- lsrs r0, 24
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end CountMonsInBox
-
- thumb_func_start GetFirstFreeBoxSpot
-GetFirstFreeBoxSpot: @ 808C108
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r4, 0
-_0808C110:
- lsls r1, r4, 24
- lsrs r1, 24
- adds r0, r5, 0
- movs r2, 0xB
- bl GetBoxMonDataFromAnyBox
- cmp r0, 0
- bne _0808C126
- lsls r0, r4, 16
- asrs r0, 16
- b _0808C134
-_0808C126:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x1D
- bls _0808C110
- movs r0, 0x1
- negs r0, r0
-_0808C134:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end GetFirstFreeBoxSpot
-
- thumb_func_start CountPartyNonEggMons
-CountPartyNonEggMons: @ 808C13C
- push {r4-r6,lr}
- movs r5, 0
- movs r6, 0
-_0808C142:
- movs r0, 0x64
- adds r1, r5, 0
- muls r1, r0
- ldr r0, _0808C180 @ =gPlayerParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _0808C16A
- adds r0, r4, 0
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0
- bne _0808C16A
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
-_0808C16A:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x5
- bls _0808C142
- lsls r0, r6, 24
- lsrs r0, 24
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0808C180: .4byte gPlayerParty
- thumb_func_end CountPartyNonEggMons
-
- thumb_func_start CountPartyAliveNonEggMonsExcept
-CountPartyAliveNonEggMonsExcept: @ 808C184
- push {r4-r7,lr}
- lsls r0, 24
- movs r5, 0
- movs r6, 0
- lsrs r7, r0, 24
-_0808C18E:
- cmp r5, r7
- beq _0808C1C6
- movs r0, 0x64
- adds r1, r5, 0
- muls r1, r0
- ldr r0, _0808C1DC @ =gPlayerParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _0808C1C6
- adds r0, r4, 0
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0
- bne _0808C1C6
- adds r0, r4, 0
- movs r1, 0x39
- bl GetMonData
- cmp r0, 0
- beq _0808C1C6
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
-_0808C1C6:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x5
- bls _0808C18E
- lsls r0, r6, 24
- lsrs r0, 24
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0808C1DC: .4byte gPlayerParty
- thumb_func_end CountPartyAliveNonEggMonsExcept
-
- thumb_func_start CountPartyAliveNonEggMons_IgnoreVar0x8004Slot
-CountPartyAliveNonEggMons_IgnoreVar0x8004Slot: @ 808C1E0
- push {lr}
- ldr r0, _0808C1F4 @ =gSpecialVar_0x8004
- ldrb r0, [r0]
- bl CountPartyAliveNonEggMonsExcept
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .align 2, 0
-_0808C1F4: .4byte gSpecialVar_0x8004
- thumb_func_end CountPartyAliveNonEggMons_IgnoreVar0x8004Slot
-
- thumb_func_start CountPartyMons
-CountPartyMons: @ 808C1F8
- push {r4,r5,lr}
- movs r4, 0
- movs r5, 0
-_0808C1FE:
- movs r0, 0x64
- muls r0, r4
- ldr r1, _0808C22C @ =gPlayerParty
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _0808C216
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
-_0808C216:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x5
- bls _0808C1FE
- lsls r0, r5, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0808C22C: .4byte gPlayerParty
- thumb_func_end CountPartyMons
-
- thumb_func_start StringCopyAndFillWithSpaces
-StringCopyAndFillWithSpaces: @ 808C230
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r4, r2, 16
- lsrs r4, 16
- bl StringCopy
- adds r1, r0, 0
- adds r5, r4
- cmp r1, r5
- bcs _0808C24E
- movs r0, 0
-_0808C246:
- strb r0, [r1]
- adds r1, 0x1
- cmp r1, r5
- bcc _0808C246
-_0808C24E:
- movs r0, 0xFF
- strb r0, [r1]
- adds r0, r1, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end StringCopyAndFillWithSpaces
-
- thumb_func_start sub_808C25C
-sub_808C25C: @ 808C25C
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r6, r0, 0
- adds r7, r3, 0
- ldr r5, [sp, 0x1C]
- ldr r4, [sp, 0x20]
- ldr r0, [sp, 0x24]
- mov r9, r0
- ldr r0, [sp, 0x28]
- ldr r3, [sp, 0x2C]
- lsls r1, 16
- lsrs r1, 16
- lsls r2, 16
- lsls r5, 16
- lsrs r5, 16
- lsls r4, 16
- lsrs r4, 16
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- lsls r3, 16
- lsrs r3, 16
- mov r0, r9
- lsls r0, 17
- mov r9, r0
- lsrs r2, 11
- adds r2, r1
- lsls r2, 1
- adds r6, r2
- adds r0, r4, 0
- muls r0, r3
- adds r0, r5
- lsls r0, 1
- adds r7, r0
- movs r4, 0
- cmp r4, r8
- bcs _0808C2CC
- mov r0, r9
- lsrs r0, 1
- mov r9, r0
- lsls r5, r3, 1
-_0808C2B2:
- adds r0, r7, 0
- adds r1, r6, 0
- mov r3, r9
- lsrs r2, r3, 16
- bl CpuSet
- adds r6, 0x40
- adds r7, r5
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, r8
- bcc _0808C2B2
-_0808C2CC:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_808C25C
-
- thumb_func_start sub_808C2D8
-sub_808C2D8: @ 808C2D8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- adds r4, r0, 0
- ldr r0, [sp, 0x28]
- lsls r1, 16
- lsrs r1, 16
- lsls r2, 16
- lsls r0, 16
- lsrs r0, 16
- mov r10, r0
- lsrs r2, 11
- adds r2, r1
- lsls r2, 1
- adds r4, r2
- lsls r3, 17
- lsrs r0, r3, 16
- str r0, [sp, 0x4]
- movs r0, 0
- cmp r0, r10
- bcs _0808C382
- movs r6, 0x80
- lsls r6, 5
- mov r5, sp
- ldr r7, _0808C344 @ =0x040000d4
- lsrs r3, 17
- mov r9, r3
- mov r1, r9
- movs r2, 0x81
- lsls r2, 24
- orrs r1, r2
- mov r9, r1
-_0808C31E:
- adds r3, r4, 0
- ldr r2, [sp, 0x4]
- movs r1, 0x40
- adds r1, r4
- mov r8, r1
- adds r0, 0x1
- mov r12, r0
- cmp r2, r6
- bhi _0808C348
- movs r0, 0
- strh r0, [r5]
- mov r2, sp
- str r2, [r7]
- str r4, [r7, 0x4]
- mov r0, r9
- str r0, [r7, 0x8]
- ldr r0, [r7, 0x8]
- b _0808C376
- .align 2, 0
-_0808C344: .4byte 0x040000d4
-_0808C348:
- movs r4, 0
- strh r4, [r5]
- ldr r1, _0808C394 @ =0x040000d4
- mov r0, sp
- str r0, [r1]
- str r3, [r1, 0x4]
- ldr r0, _0808C398 @ =0x81000800
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r3, r6
- subs r2, r6
- cmp r2, r6
- bhi _0808C348
- strh r4, [r5]
- mov r0, sp
- str r0, [r1]
- str r3, [r1, 0x4]
- lsrs r0, r2, 1
- movs r2, 0x81
- lsls r2, 24
- orrs r0, r2
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
-_0808C376:
- mov r4, r8
- mov r1, r12
- lsls r0, r1, 16
- lsrs r0, 16
- cmp r0, r10
- bcc _0808C31E
-_0808C382:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0808C394: .4byte 0x040000d4
-_0808C398: .4byte 0x81000800
- thumb_func_end sub_808C2D8
-
- thumb_func_start c3_0808C39C
-c3_0808C39C: @ 808C39C
- push {r4-r7,lr}
- sub sp, 0x10
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, _0808C3C4 @ =gTasks
- adds r5, r0, r1
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- cmp r0, 0x4
- bls _0808C3B8
- b _0808C69C
-_0808C3B8:
- lsls r0, 2
- ldr r1, _0808C3C8 @ =_0808C3CC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0808C3C4: .4byte gTasks
-_0808C3C8: .4byte _0808C3CC
- .align 2, 0
-_0808C3CC:
- .4byte _0808C3E0
- .4byte _0808C448
- .4byte _0808C45C
- .4byte _0808C5A6
- .4byte _0808C680
-_0808C3E0:
- movs r0, 0x1C @ HELPCONTEXT_BILLS_PC
- bl SetHelpContext
- ldrb r0, [r5, 0xA]
- adds r1, r5, 0
- adds r1, 0x26
- bl sub_808C72C
- bl LoadStdWindowFrameGfx
- movs r0, 0
- movs r1, 0
- bl DrawDialogueFrame
- movs r0, 0
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r1, _0808C444 @ =gUnknown_83CDA20
- movs r2, 0xA
- ldrsh r0, [r5, r2]
- lsls r0, 3
- adds r1, 0x4
- adds r0, r1
- ldr r2, [r0]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x2
- str r0, [sp, 0x4]
- movs r0, 0x1
- str r0, [sp, 0x8]
- movs r0, 0x3
- str r0, [sp, 0xC]
- movs r0, 0
- movs r1, 0x2
- movs r3, 0xFF
- bl AddTextPrinterParameterized2
- movs r0, 0
- movs r1, 0x3
- bl CopyWindowToVram
- ldrh r0, [r5, 0x26]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x3
- bl CopyWindowToVram
- b _0808C454
- .align 2, 0
-_0808C444: .4byte gUnknown_83CDA20
-_0808C448:
- bl IsWeatherNotFadingIn
- lsls r0, 24
- cmp r0, 0
- bne _0808C454
- b _0808C69C
-_0808C454:
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- b _0808C69C
-_0808C45C:
- bl Menu_ProcessInput
- lsls r0, 24
- asrs r0, 24
- strh r0, [r5, 0xC]
- movs r3, 0xC
- ldrsh r1, [r5, r3]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _0808C50C
- cmp r1, r0
- bgt _0808C47E
- subs r0, 0x1
- cmp r1, r0
- beq _0808C484
- b _0808C530
-_0808C47E:
- cmp r1, 0x4
- beq _0808C50C
- b _0808C530
-_0808C484:
- ldrh r3, [r5, 0xA]
- strh r3, [r5, 0xE]
- ldr r2, _0808C504 @ =gMain
- ldrh r1, [r2, 0x2E]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _0808C4A2
- subs r0, r3, 0x1
- strh r0, [r5, 0xE]
- lsls r0, 16
- cmp r0, 0
- bge _0808C4A2
- movs r0, 0x4
- strh r0, [r5, 0xE]
-_0808C4A2:
- ldrh r1, [r2, 0x2E]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0808C4BE
- ldrh r0, [r5, 0xE]
- adds r0, 0x1
- strh r0, [r5, 0xE]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4
- ble _0808C4BE
- movs r0, 0
- strh r0, [r5, 0xE]
-_0808C4BE:
- lsls r0, r3, 16
- asrs r0, 16
- ldrh r2, [r5, 0xE]
- movs r3, 0xE
- ldrsh r1, [r5, r3]
- cmp r0, r1
- bne _0808C4CE
- b _0808C69C
-_0808C4CE:
- movs r4, 0
- strh r2, [r5, 0xA]
- movs r0, 0
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r1, _0808C508 @ =gUnknown_83CDA20
- movs r2, 0xA
- ldrsh r0, [r5, r2]
- lsls r0, 3
- adds r1, 0x4
- adds r0, r1
- ldr r2, [r0]
- str r4, [sp]
- movs r0, 0x2
- str r0, [sp, 0x4]
- movs r0, 0x1
- str r0, [sp, 0x8]
- movs r0, 0x3
- str r0, [sp, 0xC]
- movs r0, 0
- movs r1, 0x2
- movs r3, 0
- bl AddTextPrinterParameterized2
- b _0808C69C
- .align 2, 0
-_0808C504: .4byte gMain
-_0808C508: .4byte gUnknown_83CDA20
-_0808C50C:
- movs r0, 0
- movs r1, 0x1
- bl ClearStdWindowAndFrame
- ldrh r0, [r5, 0x26]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x1
- bl ClearStdWindowAndFrame
- bl ScriptContext2_Disable
- bl EnableBothScriptContexts
- adds r0, r4, 0
- bl DestroyTask
- b _0808C69C
-_0808C530:
- movs r3, 0xC
- ldrsh r4, [r5, r3]
- cmp r4, 0
- bne _0808C564
- bl CountPartyMons
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x6
- bne _0808C564
- movs r0, 0
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r2, _0808C560 @ =gUnknown_84186B0
- str r4, [sp]
- movs r0, 0x2
- str r0, [sp, 0x4]
- movs r0, 0x1
- str r0, [sp, 0x8]
- movs r4, 0x3
- str r4, [sp, 0xC]
- b _0808C66E
- .align 2, 0
-_0808C560: .4byte gUnknown_84186B0
-_0808C564:
- movs r1, 0xC
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- bne _0808C598
- bl CountPartyMons
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x1
- bne _0808C598
- movs r0, 0
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r2, _0808C594 @ =gUnknown_8418690
- movs r0, 0
- str r0, [sp]
- movs r0, 0x2
- str r0, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r4, 0x3
- str r4, [sp, 0xC]
- b _0808C66E
- .align 2, 0
-_0808C594: .4byte gUnknown_8418690
-_0808C598:
- movs r0, 0x1
- movs r1, 0
- bl FadeScreen
- movs r0, 0x4
- strh r0, [r5, 0x8]
- b _0808C69C
-_0808C5A6:
- ldr r0, _0808C5D0 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r7, 0x3
- adds r4, r7, 0
- ands r4, r1
- cmp r4, 0
- beq _0808C5D8
- movs r0, 0
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r1, _0808C5D4 @ =gUnknown_83CDA20
- movs r2, 0xA
- ldrsh r0, [r5, r2]
- lsls r0, 3
- adds r1, 0x4
- adds r0, r1
- ldr r2, [r0]
- movs r0, 0
- str r0, [sp]
- b _0808C664
- .align 2, 0
-_0808C5D0: .4byte gMain
-_0808C5D4: .4byte gUnknown_83CDA20
-_0808C5D8:
- movs r0, 0x40
- ands r0, r1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0
- beq _0808C624
- ldrh r0, [r5, 0xA]
- subs r0, 0x1
- strh r0, [r5, 0xA]
- lsls r0, 16
- cmp r0, 0
- bge _0808C5F4
- movs r0, 0x4
- strh r0, [r5, 0xA]
-_0808C5F4:
- movs r0, 0x1
- negs r0, r0
- bl Menu_MoveCursor
- bl Menu_GetCursorPos
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0xA]
- movs r0, 0
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r1, _0808C620 @ =gUnknown_83CDA20
- movs r3, 0xA
- ldrsh r0, [r5, r3]
- lsls r0, 3
- adds r1, 0x4
- adds r0, r1
- ldr r2, [r0]
- str r4, [sp]
- b _0808C664
- .align 2, 0
-_0808C620: .4byte gUnknown_83CDA20
-_0808C624:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0808C69C
- ldrh r0, [r5, 0xA]
- adds r0, 0x1
- strh r0, [r5, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3
- ble _0808C63C
- strh r6, [r5, 0xA]
-_0808C63C:
- movs r0, 0x1
- bl Menu_MoveCursor
- bl Menu_GetCursorPos
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0xA]
- movs r0, 0
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r1, _0808C67C @ =gUnknown_83CDA20
- movs r2, 0xA
- ldrsh r0, [r5, r2]
- lsls r0, 3
- adds r1, 0x4
- adds r0, r1
- ldr r2, [r0]
- str r6, [sp]
-_0808C664:
- movs r4, 0x2
- str r4, [sp, 0x4]
- movs r0, 0x1
- str r0, [sp, 0x8]
- str r7, [sp, 0xC]
-_0808C66E:
- movs r0, 0
- movs r1, 0x2
- movs r3, 0
- bl AddTextPrinterParameterized2
- strh r4, [r5, 0x8]
- b _0808C69C
- .align 2, 0
-_0808C67C: .4byte gUnknown_83CDA20
-_0808C680:
- ldr r0, _0808C6A4 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0808C69C
- bl CleanupOverworldWindowsAndTilemaps
- ldrb r0, [r5, 0xC]
- bl sub_808CDE4
- adds r0, r4, 0
- bl DestroyTask
-_0808C69C:
- add sp, 0x10
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0808C6A4: .4byte gPaletteFade
- thumb_func_end c3_0808C39C
-
- thumb_func_start ShowPokemonStorageSystem
-ShowPokemonStorageSystem: @ 808C6A8
- push {lr}
- ldr r0, _0808C6D0 @ =c3_0808C39C
- movs r1, 0x50
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0808C6D4 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r0, 0
- strh r0, [r1, 0x8]
- strh r0, [r1, 0xA]
- bl ScriptContext2_Enable
- pop {r0}
- bx r0
- .align 2, 0
-_0808C6D0: .4byte c3_0808C39C
-_0808C6D4: .4byte gTasks
- thumb_func_end ShowPokemonStorageSystem
-
- thumb_func_start mapldr_0808C6D8
-mapldr_0808C6D8: @ 808C6D8
- push {r4,r5,lr}
- ldr r0, _0808C71C @ =gMain
- ldr r5, [r0, 0xC]
- movs r0, 0
- bl SetVBlankCallback
- ldr r4, _0808C720 @ =c3_0808C39C
- adds r0, r4, 0
- movs r1, 0x50
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0808C724 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r2, 0
- strh r2, [r1, 0x8]
- ldr r2, _0808C728 @ =sPreviousBoxOption
- ldrb r2, [r2]
- strh r2, [r1, 0xA]
- bl _call_via_r4
- adds r0, r5, 0
- bl SetVBlankCallback
- bl FadeInFromBlack
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0808C71C: .4byte gMain
-_0808C720: .4byte c3_0808C39C
-_0808C724: .4byte gTasks
-_0808C728: .4byte sPreviousBoxOption
- thumb_func_end mapldr_0808C6D8
-
- thumb_func_start sub_808C72C
-sub_808C72C: @ 808C72C
- push {r4-r6,lr}
- mov r6, r10
- mov r5, r9
- mov r4, r8
- push {r4-r6}
- sub sp, 0xC
- adds r6, r0, 0
- mov r10, r1
- lsls r6, 24
- lsrs r6, 24
- ldr r0, _0808C7AC @ =gUnknown_83CDA48
- bl AddWindow
- adds r5, r0, 0
- lsls r5, 16
- lsrs r5, 16
- lsls r4, r5, 24
- lsrs r4, 24
- adds r0, r4, 0
- movs r1, 0
- bl DrawStdWindowFrame
- movs r0, 0x2
- movs r1, 0
- bl GetMenuCursorDimensionByFont
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- movs r0, 0x10
- mov r9, r0
- str r0, [sp]
- movs r0, 0x5
- mov r8, r0
- str r0, [sp, 0x4]
- ldr r0, _0808C7B0 @ =gUnknown_83CDA20
- str r0, [sp, 0x8]
- adds r0, r4, 0
- movs r1, 0x2
- movs r3, 0x2
- bl PrintTextArray
- mov r0, r9
- str r0, [sp]
- mov r0, r8
- str r0, [sp, 0x4]
- str r6, [sp, 0x8]
- adds r0, r4, 0
- movs r1, 0x2
- movs r2, 0
- movs r3, 0x2
- bl Menu_InitCursor
- mov r0, r10
- strh r5, [r0]
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0808C7AC: .4byte gUnknown_83CDA48
-_0808C7B0: .4byte gUnknown_83CDA20
- thumb_func_end sub_808C72C
-
- thumb_func_start sub_808C7B4
-sub_808C7B4: @ 808C7B4
- push {lr}
- bl sub_808FDF0
- ldr r1, _0808C7D0 @ =sPreviousBoxOption
- strb r0, [r1]
- ldr r1, _0808C7D4 @ =gFieldCallback
- ldr r0, _0808C7D8 @ =mapldr_0808C6D8
- str r0, [r1]
- ldr r0, _0808C7DC @ =CB2_ReturnToField
- bl SetMainCallback2
- pop {r0}
- bx r0
- .align 2, 0
-_0808C7D0: .4byte sPreviousBoxOption
-_0808C7D4: .4byte gFieldCallback
-_0808C7D8: .4byte mapldr_0808C6D8
-_0808C7DC: .4byte CB2_ReturnToField
- thumb_func_end sub_808C7B4
-
- thumb_func_start ResetPokemonStorageSystem
-ResetPokemonStorageSystem: @ 808C7E0
- push {r4-r6,lr}
- movs r0, 0
- bl sub_808BA00
- movs r5, 0
-_0808C7EA:
- movs r4, 0
- lsls r6, r5, 24
-_0808C7EE:
- lsls r1, r4, 24
- lsrs r1, 24
- lsrs r0, r6, 24
- bl sub_808BCB4
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x1D
- bls _0808C7EE
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0xD
- bls _0808C7EA
- movs r5, 0
-_0808C80E:
- lsls r0, r5, 24
- lsrs r0, 24
- bl GetBoxNamePtr
- ldr r1, _0808C850 @ =gUnknown_84186CD
- bl StringCopy
- adds r4, r5, 0x1
- adds r1, r4, 0
- movs r2, 0
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- lsls r4, 16
- lsrs r5, r4, 16
- cmp r5, 0xD
- bls _0808C80E
- movs r5, 0
-_0808C832:
- lsls r0, r5, 24
- lsrs r0, 24
- movs r1, 0x3
- ands r1, r5
- bl sub_808BDBC
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0xD
- bls _0808C832
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0808C850: .4byte gUnknown_84186CD
- thumb_func_end ResetPokemonStorageSystem
-
- thumb_func_start sub_808C854
-sub_808C854: @ 808C854
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x20
- adds r5, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r6, r1, 0
- lsls r2, 16
- lsrs r2, 16
- adds r7, r2, 0
- lsls r3, 24
- lsrs r3, 24
- mov r8, r3
- ldr r0, _0808C8E8 @ =gUnknown_83CDA98
- str r0, [sp, 0x18]
- ldr r1, _0808C8EC @ =0xffff0000
- add r4, sp, 0x18
- ldr r0, [r4, 0x4]
- ands r0, r1
- orrs r0, r7
- str r0, [r4, 0x4]
- mov r1, sp
- ldr r0, _0808C8F0 @ =gUnknown_83CDAB8
- str r0, [sp]
- movs r0, 0x80
- lsls r0, 4
- strh r0, [r1, 0x4]
- strh r6, [r1, 0x6]
- ldr r0, _0808C8F4 @ =gUnknown_83CE2B8
- str r0, [sp, 0x8]
- movs r0, 0xC0
- lsls r0, 1
- strh r0, [r1, 0xC]
- adds r0, r6, 0x1
- strh r0, [r1, 0xE]
- add r0, sp, 0x10
- movs r1, 0
- movs r2, 0x8
- bl memset
- ldr r0, [sp, 0x38]
- cmp r0, 0
- beq _0808C8B2
- adds r0, r4, 0
- bl LoadSpritePalette
-_0808C8B2:
- mov r0, sp
- bl LoadSpriteSheets
- ldr r0, _0808C8F8 @ =gUnknown_20397AC
- str r5, [r0]
- movs r1, 0x90
- lsls r1, 2
- adds r0, r5, r1
- strh r6, [r0]
- adds r1, 0x2
- adds r0, r5, r1
- strh r7, [r0]
- adds r1, 0x4
- adds r0, r5, r1
- mov r1, r8
- strb r1, [r0]
- movs r1, 0x8F
- lsls r1, 2
- adds r0, r5, r1
- ldr r1, [sp, 0x38]
- str r1, [r0]
- add sp, 0x20
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0808C8E8: .4byte gUnknown_83CDA98
-_0808C8EC: .4byte 0xffff0000
-_0808C8F0: .4byte gUnknown_83CDAB8
-_0808C8F4: .4byte gUnknown_83CE2B8
-_0808C8F8: .4byte gUnknown_20397AC
- thumb_func_end sub_808C854
-
- thumb_func_start sub_808C8FC
-sub_808C8FC: @ 808C8FC
- push {r4,r5,lr}
- ldr r5, _0808C93C @ =gUnknown_20397AC
- ldr r1, [r5]
- movs r2, 0x8F
- lsls r2, 2
- adds r0, r1, r2
- ldr r0, [r0]
- cmp r0, 0
- beq _0808C918
- adds r2, 0x6
- adds r0, r1, r2
- ldrh r0, [r0]
- bl FreeSpritePaletteByTag
-_0808C918:
- ldr r0, [r5]
- movs r4, 0x90
- lsls r4, 2
- adds r0, r4
- ldrh r0, [r0]
- bl FreeSpriteTilesByTag
- ldr r0, [r5]
- adds r0, r4
- ldrh r0, [r0]
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- bl FreeSpriteTilesByTag
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0808C93C: .4byte gUnknown_20397AC
- thumb_func_end sub_808C8FC
-
- thumb_func_start sub_808C940
-sub_808C940: @ 808C940
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl sub_808C9C4
- pop {r0}
- bx r0
- thumb_func_end sub_808C940
-
- thumb_func_start sub_808C950
-sub_808C950: @ 808C950
- push {lr}
- bl sub_808CBA4
- pop {r0}
- bx r0
- thumb_func_end sub_808C950
-
- thumb_func_start sub_808C95C
-sub_808C95C: @ 808C95C
- push {lr}
- ldr r0, _0808C974 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0808C978
- movs r0, 0x5
- bl PlaySE
- movs r0, 0xC9
- b _0808C9C0
- .align 2, 0
-_0808C974: .4byte gMain
-_0808C978:
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0808C998
- movs r0, 0x5
- bl PlaySE
- ldr r0, _0808C994 @ =gUnknown_20397AC
- ldr r0, [r0]
- movs r1, 0x91
- lsls r1, 2
- adds r0, r1
- ldrb r0, [r0]
- b _0808C9C0
- .align 2, 0
-_0808C994: .4byte gUnknown_20397AC
-_0808C998:
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _0808C9AC
- movs r0, 0x5
- bl PlaySE
- bl sub_808CC44
- b _0808C9BE
-_0808C9AC:
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _0808C9BE
- movs r0, 0x5
- bl PlaySE
- bl sub_808CC10
-_0808C9BE:
- movs r0, 0xC8
-_0808C9C0:
- pop {r1}
- bx r1
- thumb_func_end sub_808C95C
-
- thumb_func_start sub_808C9C4
-sub_808C9C4: @ 808C9C4
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x3C
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- movs r0, 0
- movs r1, 0
- str r0, [sp, 0x34]
- str r1, [sp, 0x38]
- movs r1, 0xC0
- lsls r1, 24
- ldr r0, [sp, 0x34]
- orrs r0, r1
- str r0, [sp, 0x34]
- ldr r1, _0808CB78 @ =0xffff0fff
- add r4, sp, 0x34
- ldr r0, [r4, 0x4]
- ands r0, r1
- movs r1, 0x80
- lsls r1, 5
- orrs r0, r1
- str r0, [r4, 0x4]
- add r0, sp, 0x1C
- mov r8, r0
- movs r1, 0
- strh r1, [r0]
- mov r0, sp
- adds r0, 0x1E
- strh r1, [r0]
- str r4, [sp, 0x20]
- ldr r0, _0808CB7C @ =gDummySpriteAnimTable
- str r0, [sp, 0x24]
- str r1, [sp, 0x28]
- ldr r0, _0808CB80 @ =gDummySpriteAffineAnimTable
- str r0, [sp, 0x2C]
- ldr r0, _0808CB84 @ =SpriteCallbackDummy
- str r0, [sp, 0x30]
- add r0, sp, 0x4
- mov r1, r8
- movs r2, 0x18
- bl memcpy
- ldr r1, _0808CB88 @ =gUnknown_83CDA94
- mov r0, r8
- movs r2, 0x4
- bl memcpy
- ldr r6, _0808CB8C @ =gUnknown_20397AC
- ldr r0, [r6]
- movs r1, 0x91
- lsls r1, 2
- adds r0, r1
- strb r5, [r0]
- add r2, sp, 0x4
- ldr r1, [r6]
- movs r5, 0x90
- lsls r5, 2
- adds r0, r1, r5
- ldrh r0, [r0]
- strh r0, [r2]
- ldr r3, _0808CB90 @ =0x00000242
- adds r1, r3
- ldrh r0, [r1]
- strh r0, [r2, 0x2]
- adds r0, r2, 0
- movs r1, 0xA0
- movs r2, 0x60
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r3, [r6]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _0808CB94 @ =gSprites
- adds r0, r1
- str r0, [r3]
- ldrb r2, [r4, 0x1]
- movs r1, 0x3F
- adds r0, r1, 0
- ands r0, r2
- movs r2, 0x80
- orrs r0, r2
- strb r0, [r4, 0x1]
- ldrb r0, [r4, 0x3]
- ands r1, r0
- movs r0, 0x40
- orrs r1, r0
- strb r1, [r4, 0x3]
- add r1, sp, 0x4
- adds r3, r5
- ldrh r0, [r3]
- adds r0, 0x1
- strh r0, [r1]
- ldr r0, _0808CB98 @ =gUnknown_83CDA70
- str r0, [sp, 0xC]
- movs r4, 0
- mov r7, r8
-_0808CA90:
- ldr r0, [r6]
- ldr r1, _0808CB9C @ =0x00000246
- adds r0, r1
- ldrb r3, [r0]
- add r0, sp, 0x4
- movs r1, 0x7C
- movs r2, 0x50
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r2, [r6]
- lsls r3, r4, 2
- adds r2, 0x4
- adds r2, r3
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _0808CB94 @ =gSprites
- adds r1, r0, r1
- str r1, [r2]
- movs r5, 0
- movs r0, 0x2
- ands r0, r4
- cmp r0, 0
- beq _0808CACA
- movs r0, 0xC4
- strh r0, [r1, 0x20]
- movs r5, 0x2
-_0808CACA:
- movs r0, 0x1
- ands r0, r4
- cmp r0, 0
- beq _0808CAEE
- ldr r1, [r6]
- adds r1, 0x4
- adds r1, r3
- ldr r2, [r1]
- movs r0, 0x70
- strh r0, [r2, 0x22]
- ldr r2, [r1]
- ldrb r1, [r2, 0x3]
- movs r0, 0x3F
- ands r0, r1
- strb r0, [r2, 0x3]
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
-_0808CAEE:
- ldr r0, [r6]
- adds r0, 0x4
- adds r0, r3
- ldr r0, [r0]
- lsls r1, r5, 24
- lsrs r1, 24
- bl StartSpriteAnim
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x3
- bls _0808CA90
- movs r4, 0
- ldr r5, _0808CB8C @ =gUnknown_20397AC
-_0808CB0C:
- lsls r0, r4, 3
- adds r0, r4
- lsls r0, 19
- movs r3, 0xF8
- lsls r3, 15
- adds r0, r3
- lsrs r0, 16
- lsls r2, r4, 24
- lsrs r2, 24
- ldr r1, [r5]
- ldr r3, _0808CB9C @ =0x00000246
- adds r1, r3
- ldrb r1, [r1]
- str r1, [sp]
- movs r1, 0x58
- movs r3, 0
- bl sub_809223C
- adds r2, r0, 0
- ldr r0, [r5]
- lsls r1, r4, 2
- adds r0, 0x20
- adds r0, r1
- str r2, [r0]
- cmp r2, 0
- beq _0808CB54
- movs r1, 0x1
- cmp r4, 0
- bne _0808CB4C
- movs r3, 0x1
- negs r3, r3
- adds r1, r3, 0
-_0808CB4C:
- strh r1, [r2, 0x2E]
- ldr r1, [r0]
- ldr r0, _0808CBA0 @ =sub_808CD64
- str r0, [r1, 0x1C]
-_0808CB54:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x1
- bls _0808CB0C
- bl sub_808CC74
- adds r0, r7, 0
- movs r1, 0x5
- movs r2, 0x3
- bl sub_808CCFC
- add sp, 0x3C
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0808CB78: .4byte 0xffff0fff
-_0808CB7C: .4byte gDummySpriteAnimTable
-_0808CB80: .4byte gDummySpriteAffineAnimTable
-_0808CB84: .4byte SpriteCallbackDummy
-_0808CB88: .4byte gUnknown_83CDA94
-_0808CB8C: .4byte gUnknown_20397AC
-_0808CB90: .4byte 0x00000242
-_0808CB94: .4byte gSprites
-_0808CB98: .4byte gUnknown_83CDA70
-_0808CB9C: .4byte 0x00000246
-_0808CBA0: .4byte sub_808CD64
- thumb_func_end sub_808C9C4
-
- thumb_func_start sub_808CBA4
-sub_808CBA4: @ 808CBA4
- push {r4-r6,lr}
- ldr r4, _0808CC0C @ =gUnknown_20397AC
- ldr r0, [r4]
- ldr r0, [r0]
- cmp r0, 0
- beq _0808CBBA
- bl DestroySprite
- ldr r1, [r4]
- movs r0, 0
- str r0, [r1]
-_0808CBBA:
- movs r5, 0
- adds r6, r4, 0
-_0808CBBE:
- ldr r0, [r6]
- lsls r4, r5, 2
- adds r0, 0x4
- adds r0, r4
- ldr r0, [r0]
- cmp r0, 0
- beq _0808CBDA
- bl DestroySprite
- ldr r0, [r6]
- adds r0, 0x4
- adds r0, r4
- movs r1, 0
- str r1, [r0]
-_0808CBDA:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x3
- bls _0808CBBE
- movs r5, 0
-_0808CBE6:
- ldr r0, _0808CC0C @ =gUnknown_20397AC
- ldr r0, [r0]
- lsls r1, r5, 2
- adds r0, 0x20
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0
- beq _0808CBFA
- bl DestroySprite
-_0808CBFA:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x1
- bls _0808CBE6
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0808CC0C: .4byte gUnknown_20397AC
- thumb_func_end sub_808CBA4
-
- thumb_func_start sub_808CC10
-sub_808CC10: @ 808CC10
- push {lr}
- ldr r2, _0808CC40 @ =gUnknown_20397AC
- ldr r1, [r2]
- movs r0, 0x91
- lsls r0, 2
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xD
- bls _0808CC36
- ldr r0, [r2]
- movs r1, 0x91
- lsls r1, 2
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
-_0808CC36:
- bl sub_808CC74
- pop {r0}
- bx r0
- .align 2, 0
-_0808CC40: .4byte gUnknown_20397AC
- thumb_func_end sub_808CC10
-
- thumb_func_start sub_808CC44
-sub_808CC44: @ 808CC44
- push {lr}
- ldr r0, _0808CC5C @ =gUnknown_20397AC
- ldr r2, [r0]
- movs r1, 0x91
- lsls r1, 2
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _0808CC60
- subs r1, r0, 0x1
- b _0808CC62
- .align 2, 0
-_0808CC5C: .4byte gUnknown_20397AC
-_0808CC60:
- movs r1, 0xD
-_0808CC62:
- movs r3, 0x91
- lsls r3, 2
- adds r0, r2, r3
- strb r1, [r0]
- bl sub_808CC74
- pop {r0}
- bx r0
- thumb_func_end sub_808CC44
-
- thumb_func_start sub_808CC74
-sub_808CC74: @ 808CC74
- push {r4-r7,lr}
- ldr r6, _0808CCF8 @ =gUnknown_20397AC
- ldr r0, [r6]
- movs r5, 0x91
- lsls r5, 2
- adds r0, r5
- ldrb r0, [r0]
- bl CountMonsInBox
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, [r6]
- movs r1, 0x8A
- lsls r1, 2
- adds r4, r0, r1
- adds r0, r5
- ldrb r0, [r0]
- bl GetBoxNamePtr
- adds r1, r0, 0
- adds r0, r4, 0
- bl StringCopy
- adds r1, r0, 0
- ldr r0, [r6]
- movs r2, 0x8C
- lsls r2, 2
- adds r0, r2
- cmp r1, r0
- bcs _0808CCC0
- movs r4, 0
- adds r3, r6, 0
-_0808CCB4:
- strb r4, [r1]
- adds r1, 0x1
- ldr r0, [r3]
- adds r0, r2
- cmp r1, r0
- bcc _0808CCB4
-_0808CCC0:
- movs r0, 0xFF
- strb r0, [r1]
- ldr r5, _0808CCF8 @ =gUnknown_20397AC
- ldr r0, [r5]
- movs r4, 0x8A
- lsls r4, 2
- adds r0, r4
- movs r1, 0
- movs r2, 0x1
- bl sub_808CCFC
- ldr r0, [r5]
- adds r0, r4
- adds r1, r7, 0
- movs r2, 0x1
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- ldr r0, [r5]
- adds r0, r4
- movs r1, 0x3
- movs r2, 0x3
- bl sub_808CCFC
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0808CCF8: .4byte gUnknown_20397AC
- thumb_func_end sub_808CC74
-
- thumb_func_start sub_808CCFC
-sub_808CCFC: @ 808CCFC
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0xC
- mov r8, r0
- adds r5, r1, 0
- adds r4, r2, 0
- lsls r5, 16
- lsrs r5, 16
- lsls r4, 16
- lsrs r4, 16
- ldr r6, _0808CD5C @ =gUnknown_20397AC
- ldr r0, [r6]
- movs r1, 0x90
- lsls r1, 2
- adds r0, r1
- ldrh r0, [r0]
- bl GetSpriteTileStartByTag
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 11
- lsls r4, 8
- ldr r0, _0808CD60 @ =0x06010000
- adds r4, r0
- adds r1, r4
- lsls r5, 5
- adds r1, r5
- movs r2, 0x80
- lsls r2, 1
- movs r0, 0xF
- str r0, [sp]
- movs r0, 0xE
- str r0, [sp, 0x4]
- ldr r0, [r6]
- adds r0, 0x28
- str r0, [sp, 0x8]
- mov r0, r8
- movs r3, 0x4
- bl sub_808BFE0
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0808CD5C: .4byte gUnknown_20397AC
-_0808CD60: .4byte 0x06010000
- thumb_func_end sub_808CCFC
-
- thumb_func_start sub_808CD64
-sub_808CD64: @ 808CD64
- push {lr}
- adds r1, r0, 0
- ldrh r0, [r1, 0x30]
- adds r0, 0x1
- movs r2, 0
- strh r0, [r1, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3
- ble _0808CD94
- strh r2, [r1, 0x30]
- ldrh r0, [r1, 0x2E]
- ldrh r3, [r1, 0x24]
- adds r0, r3
- strh r0, [r1, 0x24]
- ldrh r0, [r1, 0x32]
- adds r0, 0x1
- strh r0, [r1, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x5
- ble _0808CD94
- strh r2, [r1, 0x32]
- strh r2, [r1, 0x24]
-_0808CD94:
- pop {r0}
- bx r0
- thumb_func_end sub_808CD64
-
- thumb_func_start sub_808CD98
-sub_808CD98: @ 808CD98
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl sub_8096BF8
- bl TransferPlttBuffer
- ldr r0, _0808CDC0 @ =sPSSData
- ldr r0, [r0]
- movs r1, 0xB3
- lsls r1, 2
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x18
- bl SetGpuReg
- pop {r0}
- bx r0
- .align 2, 0
-_0808CDC0: .4byte sPSSData
- thumb_func_end sub_808CD98
-
- thumb_func_start c2_Box
-c2_Box: @ 808CDC4
- push {lr}
- bl RunTasks
- bl DoScheduledBgTilemapCopiesToVram
- bl sub_808EFC8
- bl sub_808F99C
- bl AnimateSprites
- bl BuildOamBuffer
- pop {r0}
- bx r0
- thumb_func_end c2_Box
-
- thumb_func_start sub_808CDE4
-sub_808CDE4: @ 808CDE4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- bl ResetTasks
- ldr r0, _0808CE08 @ =sCurrentBoxOption
- strb r5, [r0]
- ldr r4, _0808CE0C @ =sPSSData
- ldr r0, _0808CE10 @ =0x000062bc
- bl Alloc
- str r0, [r4]
- cmp r0, 0
- bne _0808CE18
- ldr r0, _0808CE14 @ =sub_808C7B4
- bl SetMainCallback2
- b _0808CE4A
- .align 2, 0
-_0808CE08: .4byte sCurrentBoxOption
-_0808CE0C: .4byte sPSSData
-_0808CE10: .4byte 0x000062bc
-_0808CE14: .4byte sub_808C7B4
-_0808CE18:
- movs r2, 0
- strb r5, [r0, 0x1]
- ldr r0, [r4]
- strb r2, [r0, 0x3]
- ldr r0, _0808CE50 @ =gUnknown_20397BA
- movs r1, 0
- strh r2, [r0]
- ldr r0, [r4]
- strb r1, [r0]
- ldr r0, _0808CE54 @ =task_box_related_3
- movs r1, 0x3
- bl CreateTask
- ldr r1, [r4]
- strb r0, [r1, 0x4]
- movs r0, 0x1C @ HELPCONTEXT_BILLS_PC
- bl SetHelpContext
- bl StorageGetCurrentBox
- ldr r1, _0808CE58 @ =sLastUsedBox
- strb r0, [r1]
- ldr r0, _0808CE5C @ =c2_Box
- bl SetMainCallback2
-_0808CE4A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0808CE50: .4byte gUnknown_20397BA
-_0808CE54: .4byte task_box_related_3
-_0808CE58: .4byte sLastUsedBox
-_0808CE5C: .4byte c2_Box
- thumb_func_end sub_808CDE4
-
- thumb_func_start sub_808CE60
-sub_808CE60: @ 808CE60
- push {r4,lr}
- bl ResetTasks
- ldr r4, _0808CE80 @ =sPSSData
- ldr r0, _0808CE84 @ =0x000062bc
- bl Alloc
- adds r1, r0, 0
- str r1, [r4]
- cmp r1, 0
- bne _0808CE8C
- ldr r0, _0808CE88 @ =sub_808C7B4
- bl SetMainCallback2
- b _0808CEB6
- .align 2, 0
-_0808CE80: .4byte sPSSData
-_0808CE84: .4byte 0x000062bc
-_0808CE88: .4byte sub_808C7B4
-_0808CE8C:
- ldr r0, _0808CEBC @ =sCurrentBoxOption
- ldrb r0, [r0]
- movs r2, 0
- strb r0, [r1, 0x1]
- ldr r1, [r4]
- movs r0, 0x1
- strb r0, [r1, 0x3]
- ldr r0, [r4]
- strb r2, [r0]
- ldr r0, _0808CEC0 @ =task_box_related_3
- movs r1, 0x3
- bl CreateTask
- ldr r1, [r4]
- strb r0, [r1, 0x4]
- movs r0, 0x1C @ HELPCONTEXT_BILLS_PC
- bl SetHelpContext
- ldr r0, _0808CEC4 @ =c2_Box
- bl SetMainCallback2
-_0808CEB6:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808CEBC: .4byte sCurrentBoxOption
-_0808CEC0: .4byte task_box_related_3
-_0808CEC4: .4byte c2_Box
- thumb_func_end sub_808CE60
-
- thumb_func_start sub_808CEC8
-sub_808CEC8: @ 808CEC8
- push {lr}
- 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_808CEC8
-
- thumb_func_start sub_808CF10
-sub_808CF10: @ 808CF10
- push {r4,lr}
- sub sp, 0x4
- bl ResetPaletteFade
- bl ResetSpriteData
- bl FreeSpriteTileRanges
- bl FreeAllSpritePalettes
- bl ClearDma3Requests
- ldr r1, _0808CF80 @ =gReservedSpriteTileCount
- movs r2, 0xA0
- lsls r2, 2
- adds r0, r2, 0
- strh r0, [r1]
- ldr r4, _0808CF84 @ =sPSSData
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x8
- adds r1, 0x10
- movs r2, 0x8
- bl sub_8096BE4
- ldr r1, _0808CF88 @ =gKeyRepeatStartDelay
- movs r0, 0x14
- strh r0, [r1]
- bl ClearScheduledBgCopiesToVram
- movs r0, 0x3
- bl sub_80F7AD8
- ldr r2, _0808CF8C @ =gUnknown_83CE6F8
- movs r0, 0x4
- str r0, [sp]
- movs r0, 0
- movs r1, 0x1
- movs r3, 0x8
- bl sub_80F7B80
- movs r0, 0
- movs r1, 0x1
- movs r2, 0
- bl sub_80F7CAC
- ldr r0, [r4]
- ldr r1, _0808CF90 @ =0x000002c7
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808CF80: .4byte gReservedSpriteTileCount
-_0808CF84: .4byte sPSSData
-_0808CF88: .4byte gKeyRepeatStartDelay
-_0808CF8C: .4byte gUnknown_83CE6F8
-_0808CF90: .4byte 0x000002c7
- thumb_func_end sub_808CF10
-
- thumb_func_start sub_808CF94
-sub_808CF94: @ 808CF94
- push {lr}
- bl sub_8092B50
- ldr r2, _0808CFB8 @ =sInPartyMenu
- movs r1, 0
- ldr r0, _0808CFBC @ =sPSSData
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x1
- bne _0808CFAA
- movs r1, 0x1
-_0808CFAA:
- strb r1, [r2]
- ldr r1, _0808CFC0 @ =gUnknown_20397B6
- movs r0, 0
- strb r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_0808CFB8: .4byte sInPartyMenu
-_0808CFBC: .4byte sPSSData
-_0808CFC0: .4byte gUnknown_20397B6
- thumb_func_end sub_808CF94
-
- thumb_func_start sub_808CFC4
-sub_808CFC4: @ 808CFC4
- push {lr}
- ldr r0, _0808CFF0 @ =sPSSData
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x3
- bne _0808CFE2
- movs r1, 0xFC
- lsls r1, 6
- movs r0, 0x50
- bl SetGpuReg
- ldr r1, _0808CFF4 @ =0x00000b07
- movs r0, 0x52
- bl SetGpuReg
-_0808CFE2:
- movs r1, 0xFA
- lsls r1, 5
- movs r0, 0
- bl SetGpuReg
- pop {r0}
- bx r0
- .align 2, 0
-_0808CFF0: .4byte sPSSData
-_0808CFF4: .4byte 0x00000b07
- thumb_func_end sub_808CFC4
-
- thumb_func_start add_to_c3_somehow
-add_to_c3_somehow: @ 808CFF8
- push {r4,lr}
- ldr r4, _0808D018 @ =gTasks
- ldr r1, _0808D01C @ =sPSSData
- ldr r3, [r1]
- ldrb r2, [r3, 0x4]
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r4
- str r0, [r1]
- movs r0, 0
- strb r0, [r3]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808D018: .4byte gTasks
-_0808D01C: .4byte sPSSData
- thumb_func_end add_to_c3_somehow
-
- thumb_func_start task_box_related_3
-task_box_related_3: @ 808D020
- push {lr}
- sub sp, 0x4
- ldr r0, _0808D03C @ =sPSSData
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0xA
- bls _0808D030
- b _0808D216
-_0808D030:
- lsls r0, 2
- ldr r1, _0808D040 @ =_0808D044
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0808D03C: .4byte sPSSData
-_0808D040: .4byte _0808D044
- .align 2, 0
-_0808D044:
- .4byte _0808D070
- .4byte _0808D0C8
- .4byte _0808D0D6
- .4byte _0808D104
- .4byte _0808D120
- .4byte _0808D13E
- .4byte _0808D15E
- .4byte _0808D164
- .4byte _0808D16A
- .4byte _0808D178
- .4byte _0808D1BE
-_0808D070:
- movs r0, 0
- bl SetVBlankCallback
- movs r0, 0
- movs r1, 0
- bl SetGpuReg
- bl sub_808CF10
- ldr r0, _0808D0A0 @ =sPSSData
- ldr r0, [r0]
- ldrb r0, [r0, 0x3]
- cmp r0, 0
- beq _0808D0BE
- ldr r0, _0808D0A4 @ =sWhichToReshow
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _0808D0AE
- cmp r0, 0x1
- bgt _0808D0A8
- cmp r0, 0
- beq _0808D0B4
- b _0808D0BE
- .align 2, 0
-_0808D0A0: .4byte sPSSData
-_0808D0A4: .4byte sWhichToReshow
-_0808D0A8:
- cmp r0, 0x2
- beq _0808D0BA
- b _0808D0BE
-_0808D0AE:
- bl sub_8093660
- b _0808D0BE
-_0808D0B4:
- bl sub_80937B4
- b _0808D0BE
-_0808D0BA:
- bl sub_808EF0C
-_0808D0BE:
- bl sub_808EFE4
- bl sub_808F068
- b _0808D20C
-_0808D0C8:
- bl sub_808F044
- lsls r0, 24
- cmp r0, 0
- beq _0808D0D4
- b _0808D20C
-_0808D0D4:
- b _0808D148
-_0808D0D6:
- movs r0, 0
- bl PutWindowTilemap
- movs r0, 0x1
- bl ClearWindowTilemap
- movs r0, 0
- str r0, [sp]
- movs r1, 0xC0
- lsls r1, 19
- ldr r2, _0808D100 @ =0x05000080
- mov r0, sp
- bl CpuSet
- movs r0, 0x1
- movs r1, 0xB
- movs r2, 0xE0
- bl TextWindow_SetUserSelectedFrame
- b _0808D20C
- .align 2, 0
-_0808D100: .4byte 0x05000080
-_0808D104:
- bl sub_808CEC8
- ldr r0, _0808D11C @ =sPSSData
- ldr r0, [r0]
- ldrb r0, [r0, 0x3]
- cmp r0, 0
- beq _0808D114
- b _0808D20C
-_0808D114:
- bl sub_808CF94
- b _0808D20C
- .align 2, 0
-_0808D11C: .4byte sPSSData
-_0808D120:
- bl sub_808FFAC
- ldr r0, _0808D134 @ =sPSSData
- ldr r0, [r0]
- ldrb r0, [r0, 0x3]
- cmp r0, 0
- bne _0808D138
- bl sub_80922C0
- b _0808D20C
- .align 2, 0
-_0808D134: .4byte sPSSData
-_0808D138:
- bl sub_8092340
- b _0808D20C
-_0808D13E:
- bl sub_8095050
- lsls r0, 24
- cmp r0, 0
- bne _0808D154
-_0808D148:
- ldr r0, _0808D150 @ =sub_808EE18
- bl add_to_c3_somehow
- b _0808D216
- .align 2, 0
-_0808D150: .4byte sub_808EE18
-_0808D154:
- bl sub_808EF8C
- bl sub_808FB68
- b _0808D20C
-_0808D15E:
- bl sub_808F078
- b _0808D20C
-_0808D164:
- bl sub_808F68C
- b _0808D20C
-_0808D16A:
- bl StorageGetCurrentBox
- lsls r0, 24
- lsrs r0, 24
- bl sub_80913DC
- b _0808D20C
-_0808D178:
- bl sub_809140C
- lsls r0, 24
- cmp r0, 0
- bne _0808D216
- ldr r0, _0808D1A8 @ =sPSSData
- ldr r2, [r0]
- ldrb r0, [r2, 0x1]
- cmp r0, 0x3
- beq _0808D1B4
- movs r1, 0xDA
- lsls r1, 4
- adds r0, r2, r1
- movs r1, 0xD
- strh r1, [r0]
- ldr r1, _0808D1AC @ =0x00000da2
- adds r2, r1
- ldr r1, _0808D1B0 @ =0x0000dace
- strh r1, [r2]
- bl SetMonMarkingsMenuPointer
- bl LoadMonMarkingsFrameGfx
- b _0808D20C
- .align 2, 0
-_0808D1A8: .4byte sPSSData
-_0808D1AC: .4byte 0x00000da2
-_0808D1B0: .4byte 0x0000dace
-_0808D1B4:
- bl sub_8095B5C
- bl sub_808FDFC
- b _0808D20C
-_0808D1BE:
- bl sub_808CFC4
- ldr r0, _0808D1E0 @ =sPSSData
- ldr r0, [r0]
- ldrb r0, [r0, 0x3]
- cmp r0, 0
- bne _0808D1E8
- movs r0, 0x1
- negs r0, r0
- movs r1, 0x10
- movs r2, 0
- bl BlendPalettes
- ldr r0, _0808D1E4 @ =sub_808D220
- bl add_to_c3_somehow
- b _0808D1FA
- .align 2, 0
-_0808D1E0: .4byte sPSSData
-_0808D1E4: .4byte sub_808D220
-_0808D1E8:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0x10
- movs r2, 0
- bl BlendPalettes
- ldr r0, _0808D204 @ =sub_808D26C
- bl add_to_c3_somehow
-_0808D1FA:
- ldr r0, _0808D208 @ =sub_808CD98
- bl SetVBlankCallback
- b _0808D216
- .align 2, 0
-_0808D204: .4byte sub_808D26C
-_0808D208: .4byte sub_808CD98
-_0808D20C:
- ldr r0, _0808D21C @ =sPSSData
- ldr r1, [r0]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_0808D216:
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_0808D21C: .4byte sPSSData
- thumb_func_end task_box_related_3
-
- thumb_func_start sub_808D220
-sub_808D220: @ 808D220
- push {r4,lr}
- ldr r4, _0808D234 @ =sPSSData
- ldr r0, [r4]
- ldrb r0, [r0]
- cmp r0, 0
- beq _0808D238
- cmp r0, 0x1
- beq _0808D252
- b _0808D262
- .align 2, 0
-_0808D234: .4byte sPSSData
-_0808D238:
- movs r0, 0x2
- bl PlaySE
- movs r0, 0x14
- movs r1, 0
- movs r2, 0x1
- bl sub_80A0A48
- ldr r1, [r4]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _0808D262
-_0808D252:
- bl sub_80A0A98
- lsls r0, 24
- cmp r0, 0
- bne _0808D262
- ldr r0, _0808D268 @ =sub_808D2BC
- bl add_to_c3_somehow
-_0808D262:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808D268: .4byte sub_808D2BC
- thumb_func_end sub_808D220
-
- thumb_func_start sub_808D26C
-sub_808D26C: @ 808D26C
- push {r4,lr}
- sub sp, 0x4
- ldr r4, _0808D280 @ =sPSSData
- ldr r0, [r4]
- ldrb r0, [r0]
- cmp r0, 0
- beq _0808D284
- cmp r0, 0x1
- beq _0808D29E
- b _0808D2AE
- .align 2, 0
-_0808D280: .4byte sPSSData
-_0808D284:
- movs r1, 0x1
- negs r1, r1
- str r0, [sp]
- adds r0, r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r1, [r4]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _0808D2AE
-_0808D29E:
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- bne _0808D2AE
- ldr r0, _0808D2B8 @ =sub_808D2BC
- bl add_to_c3_somehow
-_0808D2AE:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808D2B8: .4byte sub_808D2BC
- thumb_func_end sub_808D26C
-
- thumb_func_start sub_808D2BC
-sub_808D2BC: @ 808D2BC
- push {r4,r5,lr}
- ldr r0, _0808D2D4 @ =sPSSData
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0xB
- bls _0808D2CA
- b _0808D7B2
-_0808D2CA:
- lsls r0, 2
- ldr r1, _0808D2D8 @ =_0808D2DC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0808D2D4: .4byte sPSSData
-_0808D2D8: .4byte _0808D2DC
- .align 2, 0
-_0808D2DC:
- .4byte _0808D30C
- .4byte _0808D630
- .4byte _0808D670
- .4byte _0808D6C8
- .4byte _0808D6EC
- .4byte _0808D6F6
- .4byte _0808D710
- .4byte _0808D730
- .4byte _0808D736
- .4byte _0808D74C
- .4byte _0808D778
- .4byte _0808D7A0
-_0808D30C:
- bl sub_80948B4
- lsls r0, 24
- lsrs r0, 24
- subs r0, 0x1
- cmp r0, 0x19
- bls _0808D31C
- b _0808D7B2
-_0808D31C:
- lsls r0, 2
- ldr r1, _0808D328 @ =_0808D32C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0808D328: .4byte _0808D32C
- .align 2, 0
-_0808D32C:
- .4byte _0808D394
- .4byte _0808D7B2
- .4byte _0808D7B2
- .4byte _0808D424
- .4byte _0808D3A8
- .4byte _0808D3DC
- .4byte _0808D43C
- .4byte _0808D450
- .4byte _0808D45C
- .4byte _0808D494
- .4byte _0808D4D8
- .4byte _0808D55C
- .4byte _0808D51C
- .4byte _0808D52E
- .4byte _0808D570
- .4byte _0808D584
- .4byte _0808D598
- .4byte _0808D5AC
- .4byte _0808D430
- .4byte _0808D5C0
- .4byte _0808D5E0
- .4byte _0808D5CA
- .4byte _0808D5EA
- .4byte _0808D628
- .4byte _0808D5EE
- .4byte _0808D608
-_0808D394:
- movs r0, 0x5
- bl PlaySE
- ldr r0, _0808D3A4 @ =sPSSData
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1]
- b _0808D7B2
- .align 2, 0
-_0808D3A4: .4byte sPSSData
-_0808D3A8:
- ldr r4, _0808D3C8 @ =sPSSData
- ldr r0, [r4]
- ldrb r0, [r0, 0x1]
- subs r0, 0x2
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bls _0808D3CC
- movs r0, 0x10
- bl sub_808FBA4
- ldr r1, [r4]
- movs r0, 0x3
- strb r0, [r1]
- b _0808D7B2
- .align 2, 0
-_0808D3C8: .4byte sPSSData
-_0808D3CC:
- bl sub_8092B50
- ldr r0, _0808D3D8 @ =sub_808D7BC
- bl add_to_c3_somehow
- b _0808D7B2
- .align 2, 0
-_0808D3D8: .4byte sub_808D7BC
-_0808D3DC:
- ldr r4, _0808D408 @ =sPSSData
- ldr r0, [r4]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x2
- bne _0808D410
- bl sub_80939A0
- lsls r0, 24
- cmp r0, 0
- beq _0808D416
- ldr r0, [r4]
- ldr r1, _0808D40C @ =0x00000ce2
- adds r0, r1
- ldrh r0, [r0]
- bl ItemIsMail
- lsls r0, 24
- cmp r0, 0
- beq _0808D404
- b _0808D4F6
-_0808D404:
- b _0808D416
- .align 2, 0
-_0808D408: .4byte sPSSData
-_0808D40C: .4byte 0x00000ce2
-_0808D410:
- cmp r0, 0x3
- beq _0808D416
- b _0808D7B2
-_0808D416:
- ldr r0, _0808D420 @ =sub_808D7FC
- bl add_to_c3_somehow
- b _0808D7B2
- .align 2, 0
-_0808D420: .4byte sub_808D7FC
-_0808D424:
- ldr r0, _0808D42C @ =sub_808EBB0
- bl add_to_c3_somehow
- b _0808D7B2
- .align 2, 0
-_0808D42C: .4byte sub_808EBB0
-_0808D430:
- ldr r0, _0808D438 @ =sub_808ECE4
- bl add_to_c3_somehow
- b _0808D7B2
- .align 2, 0
-_0808D438: .4byte sub_808ECE4
-_0808D43C:
- movs r0, 0x5
- bl PlaySE
- ldr r0, _0808D44C @ =box_related
- bl add_to_c3_somehow
- b _0808D7B2
- .align 2, 0
-_0808D44C: .4byte box_related
-_0808D450:
- ldr r0, _0808D458 @ =sub_808D878
- bl add_to_c3_somehow
- b _0808D7B2
- .align 2, 0
-_0808D458: .4byte sub_808D878
-_0808D45C:
- movs r0, 0x5
- bl PlaySE
- bl StorageGetCurrentBox
- ldr r4, _0808D48C @ =sPSSData
- ldr r1, [r4]
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x1
- ldr r2, _0808D490 @ =0x000002ca
- adds r1, r2
- strh r0, [r1]
- cmp r0, 0xD
- ble _0808D47E
- movs r0, 0
- strh r0, [r1]
-_0808D47E:
- ldr r1, [r4]
- ldrb r0, [r1, 0x1]
- cmp r0, 0x3
- beq _0808D4CC
- adds r0, r1, r2
- b _0808D78A
- .align 2, 0
-_0808D48C: .4byte sPSSData
-_0808D490: .4byte 0x000002ca
-_0808D494:
- movs r0, 0x5
- bl PlaySE
- bl StorageGetCurrentBox
- ldr r4, _0808D4C4 @ =sPSSData
- ldr r1, [r4]
- lsls r0, 24
- lsrs r0, 24
- subs r0, 0x1
- ldr r2, _0808D4C8 @ =0x000002ca
- adds r1, r2
- strh r0, [r1]
- cmp r0, 0
- bge _0808D4B6
- movs r0, 0xD
- strh r0, [r1]
-_0808D4B6:
- ldr r1, [r4]
- ldrb r0, [r1, 0x1]
- cmp r0, 0x3
- beq _0808D4CC
- adds r0, r1, r2
- b _0808D78A
- .align 2, 0
-_0808D4C4: .4byte sPSSData
-_0808D4C8: .4byte 0x000002ca
-_0808D4CC:
- bl sub_8094D60
- ldr r1, [r4]
- movs r0, 0xA
- strb r0, [r1]
- b _0808D7B2
-_0808D4D8:
- bl sub_8093900
- lsls r0, 24
- cmp r0, 0
- bne _0808D538
- ldr r4, _0808D500 @ =sPSSData
- ldr r0, [r4]
- ldr r1, _0808D504 @ =0x00000ce2
- adds r0, r1
- ldrh r0, [r0]
- bl ItemIsMail
- lsls r0, 24
- cmp r0, 0
- beq _0808D508
-_0808D4F6:
- ldr r1, [r4]
- movs r0, 0x5
- strb r0, [r1]
- b _0808D7B2
- .align 2, 0
-_0808D500: .4byte sPSSData
-_0808D504: .4byte 0x00000ce2
-_0808D508:
- movs r0, 0x5
- bl PlaySE
- ldr r0, _0808D518 @ =sub_808DD88
- bl add_to_c3_somehow
- b _0808D7B2
- .align 2, 0
-_0808D518: .4byte sub_808DD88
-_0808D51C:
- bl sub_8093900
- lsls r0, 24
- cmp r0, 0
- bne _0808D538
- movs r0, 0x5
- bl PlaySE
- b _0808D740
-_0808D52E:
- bl sub_809393C
- lsls r0, 24
- cmp r0, 0
- bne _0808D548
-_0808D538:
- ldr r0, _0808D544 @ =sPSSData
- ldr r1, [r0]
- movs r0, 0x4
- strb r0, [r1]
- b _0808D7B2
- .align 2, 0
-_0808D544: .4byte sPSSData
-_0808D548:
- movs r0, 0x5
- bl PlaySE
- ldr r0, _0808D558 @ =sub_808DC50
- bl add_to_c3_somehow
- b _0808D7B2
- .align 2, 0
-_0808D558: .4byte sub_808DC50
-_0808D55C:
- movs r0, 0x5
- bl PlaySE
- ldr r0, _0808D56C @ =sub_808DC9C
- bl add_to_c3_somehow
- b _0808D7B2
- .align 2, 0
-_0808D56C: .4byte sub_808DC9C
-_0808D570:
- movs r0, 0x5
- bl PlaySE
- ldr r0, _0808D580 @ =sub_808DBF0
- bl add_to_c3_somehow
- b _0808D7B2
- .align 2, 0
-_0808D580: .4byte sub_808DBF0
-_0808D584:
- movs r0, 0x5
- bl PlaySE
- ldr r0, _0808D594 @ =sub_808E140
- bl add_to_c3_somehow
- b _0808D7B2
- .align 2, 0
-_0808D594: .4byte sub_808E140
-_0808D598:
- movs r0, 0x5
- bl PlaySE
- ldr r0, _0808D5A8 @ =sub_808E1F4
- bl add_to_c3_somehow
- b _0808D7B2
- .align 2, 0
-_0808D5A8: .4byte sub_808E1F4
-_0808D5AC:
- movs r0, 0x5
- bl PlaySE
- ldr r0, _0808D5BC @ =sub_808E3C8
- bl add_to_c3_somehow
- b _0808D7B2
- .align 2, 0
-_0808D5BC: .4byte sub_808E3C8
-_0808D5C0:
- movs r0, 0x5
- bl PlaySE
- movs r0, 0
- b _0808D616
-_0808D5CA:
- movs r0, 0x1
- bl sub_80950BC
- ldr r0, _0808D5DC @ =sPSSData
- ldr r1, [r0]
- movs r0, 0x8
- strb r0, [r1]
- b _0808D7B2
- .align 2, 0
-_0808D5DC: .4byte sPSSData
-_0808D5E0:
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x2
- b _0808D5F6
-_0808D5EA:
- movs r0, 0x3
- b _0808D616
-_0808D5EE:
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x4
-_0808D5F6:
- bl sub_80950BC
- ldr r0, _0808D604 @ =sPSSData
- ldr r1, [r0]
- movs r0, 0x9
- strb r0, [r1]
- b _0808D7B2
- .align 2, 0
-_0808D604: .4byte sPSSData
-_0808D608:
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x3
- bl sub_808FE54
- movs r0, 0x5
-_0808D616:
- bl sub_80950BC
- ldr r0, _0808D624 @ =sPSSData
- ldr r1, [r0]
- movs r0, 0x7
- strb r0, [r1]
- b _0808D7B2
- .align 2, 0
-_0808D624: .4byte sPSSData
-_0808D628:
- movs r0, 0x1A
- bl PlaySE
- b _0808D7B2
-_0808D630:
- bl sub_80924A8
- lsls r0, 24
- cmp r0, 0
- beq _0808D63C
- b _0808D7B2
-_0808D63C:
- bl sub_80939C8
- lsls r0, 24
- cmp r0, 0
- beq _0808D64C
- bl sub_808F948
- b _0808D650
-_0808D64C:
- bl sub_808F974
-_0808D650:
- ldr r4, _0808D668 @ =sPSSData
- ldr r0, [r4]
- ldr r1, _0808D66C @ =0x00000ce6
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _0808D662
- bl BoxSetMosaic
-_0808D662:
- ldr r1, [r4]
- b _0808D6DC
- .align 2, 0
-_0808D668: .4byte sPSSData
-_0808D66C: .4byte 0x00000ce6
-_0808D670:
- bl sub_80915FC
- lsls r0, 24
- cmp r0, 0
- beq _0808D67C
- b _0808D7B2
-_0808D67C:
- ldr r0, _0808D6BC @ =sPSSData
- ldr r0, [r0]
- ldr r1, _0808D6C0 @ =0x000002ca
- adds r0, r1
- ldrb r0, [r0]
- bl sub_808BA00
- ldr r0, _0808D6C4 @ =sInPartyMenu
- ldrb r0, [r0]
- cmp r0, 0
- bne _0808D6A4
- bl sub_80939A0
- lsls r0, 24
- cmp r0, 0
- bne _0808D6A4
- bl sub_8092F54
- bl BoxSetMosaic
-_0808D6A4:
- ldr r4, _0808D6BC @ =sPSSData
- ldr r1, [r4]
- ldrb r0, [r1, 0x1]
- cmp r0, 0x3
- bne _0808D6DC
- bl sub_8094D84
- ldr r1, [r4]
- movs r0, 0xB
- strb r0, [r1]
- b _0808D7B2
- .align 2, 0
-_0808D6BC: .4byte sPSSData
-_0808D6C0: .4byte 0x000002ca
-_0808D6C4: .4byte sInPartyMenu
-_0808D6C8:
- ldr r0, _0808D6E4 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0xF3
- ands r0, r1
- cmp r0, 0
- beq _0808D7B2
- bl sub_808FD20
- ldr r0, _0808D6E8 @ =sPSSData
- ldr r1, [r0]
-_0808D6DC:
- movs r0, 0
- strb r0, [r1]
- b _0808D7B2
- .align 2, 0
-_0808D6E4: .4byte gMain
-_0808D6E8: .4byte sPSSData
-_0808D6EC:
- movs r0, 0x1A
- bl PlaySE
- movs r0, 0xD
- b _0808D6FE
-_0808D6F6:
- movs r0, 0x1A
- bl PlaySE
- movs r0, 0x16
-_0808D6FE:
- bl sub_808FBA4
- ldr r0, _0808D70C @ =sPSSData
- ldr r1, [r0]
- movs r0, 0x6
- strb r0, [r1]
- b _0808D7B2
- .align 2, 0
-_0808D70C: .4byte sPSSData
-_0808D710:
- ldr r0, _0808D728 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0xF3
- ands r0, r1
- cmp r0, 0
- beq _0808D7B2
- bl sub_808FD20
- ldr r0, _0808D72C @ =sub_808D2BC
- bl add_to_c3_somehow
- b _0808D7B2
- .align 2, 0
-_0808D728: .4byte gMain
-_0808D72C: .4byte sub_808D2BC
-_0808D730:
- bl sub_80950D0
- b _0808D7A4
-_0808D736:
- bl sub_80950D0
- lsls r0, 24
- cmp r0, 0
- bne _0808D7B2
-_0808D740:
- ldr r0, _0808D748 @ =sub_808DB94
- bl add_to_c3_somehow
- b _0808D7B2
- .align 2, 0
-_0808D748: .4byte sub_808DB94
-_0808D74C:
- bl sub_80950D0
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _0808D7B2
- ldr r5, _0808D770 @ =sPSSData
- ldr r0, [r5]
- ldr r1, _0808D774 @ =0x00000ce6
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _0808D76A
- bl BoxSetMosaic
-_0808D76A:
- ldr r0, [r5]
- strb r4, [r0]
- b _0808D7B2
- .align 2, 0
-_0808D770: .4byte sPSSData
-_0808D774: .4byte 0x00000ce6
-_0808D778:
- bl sub_809610C
- lsls r0, 24
- cmp r0, 0
- bne _0808D7B2
- ldr r4, _0808D798 @ =sPSSData
- ldr r0, [r4]
- ldr r1, _0808D79C @ =0x000002ca
- adds r0, r1
-_0808D78A:
- ldrb r0, [r0]
- bl sub_8091514
- ldr r1, [r4]
- movs r0, 0x2
- strb r0, [r1]
- b _0808D7B2
- .align 2, 0
-_0808D798: .4byte sPSSData
-_0808D79C: .4byte 0x000002ca
-_0808D7A0:
- bl sub_809610C
-_0808D7A4:
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- bne _0808D7B2
- ldr r0, _0808D7B8 @ =sPSSData
- ldr r0, [r0]
- strb r1, [r0]
-_0808D7B2:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0808D7B8: .4byte sPSSData
- thumb_func_end sub_808D2BC
-
- thumb_func_start sub_808D7BC
-sub_808D7BC: @ 808D7BC
- push {r4,lr}
- ldr r4, _0808D7D0 @ =sPSSData
- ldr r0, [r4]
- ldrb r0, [r0]
- cmp r0, 0
- beq _0808D7D4
- cmp r0, 0x1
- beq _0808D7E2
- b _0808D7F2
- .align 2, 0
-_0808D7D0: .4byte sPSSData
-_0808D7D4:
- bl sub_808FAD4
- ldr r1, [r4]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _0808D7F2
-_0808D7E2:
- bl sub_808FAF8
- lsls r0, 24
- cmp r0, 0
- bne _0808D7F2
- ldr r0, _0808D7F8 @ =sub_808D2BC
- bl add_to_c3_somehow
-_0808D7F2:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808D7F8: .4byte sub_808D2BC
- thumb_func_end sub_808D7BC
-
- thumb_func_start sub_808D7FC
-sub_808D7FC: @ 808D7FC
- push {r4,lr}
- ldr r4, _0808D814 @ =sPSSData
- ldr r0, [r4]
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _0808D82A
- cmp r0, 0x1
- bgt _0808D818
- cmp r0, 0
- beq _0808D81E
- b _0808D86A
- .align 2, 0
-_0808D814: .4byte sPSSData
-_0808D818:
- cmp r0, 0x2
- beq _0808D84A
- b _0808D86A
-_0808D81E:
- movs r0, 0x5
- bl PlaySE
- bl sub_808F810
- b _0808D840
-_0808D82A:
- bl sub_808F850
- lsls r0, 24
- cmp r0, 0
- bne _0808D86A
- bl sub_8092B70
- lsls r0, 24
- lsrs r0, 24
- bl sub_8092B3C
-_0808D840:
- ldr r1, [r4]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _0808D86A
-_0808D84A:
- bl sub_80924A8
- lsls r0, 24
- cmp r0, 0
- bne _0808D86A
- ldr r0, [r4]
- ldr r1, _0808D870 @ =0x00000ce6
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _0808D864
- bl BoxSetMosaic
-_0808D864:
- ldr r0, _0808D874 @ =sub_808D2BC
- bl add_to_c3_somehow
-_0808D86A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808D870: .4byte 0x00000ce6
-_0808D874: .4byte sub_808D2BC
- thumb_func_end sub_808D7FC
-
- thumb_func_start sub_808D878
-sub_808D878: @ 808D878
- push {r4,lr}
- ldr r0, _0808D890 @ =sPSSData
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0x6
- bls _0808D886
- b _0808DB86
-_0808D886:
- lsls r0, 2
- ldr r1, _0808D894 @ =_0808D898
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0808D890: .4byte sPSSData
-_0808D894: .4byte _0808D898
- .align 2, 0
-_0808D898:
- .4byte _0808D8B4
- .4byte _0808D918
- .4byte _0808D934
- .4byte _0808DB40
- .4byte _0808DB54
- .4byte _0808DB4A
- .4byte _0808DB70
-_0808D8B4:
- bl sub_808F258
- lsls r0, 24
- cmp r0, 0
- beq _0808D8C0
- b _0808DB86
-_0808D8C0:
- movs r0, 0x5
- bl PlaySE
- ldr r4, _0808D8D8 @ =sPSSData
- ldr r0, [r4]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x3
- beq _0808D8DC
- movs r0, 0x4
- bl sub_808FBA4
- b _0808D906
- .align 2, 0
-_0808D8D8: .4byte sPSSData
-_0808D8DC:
- bl sub_809616C
- lsls r0, 24
- cmp r0, 0
- bne _0808D8F2
- ldr r0, [r4]
- ldr r1, _0808D8FC @ =0x00000ce2
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, 0
- beq _0808D900
-_0808D8F2:
- movs r0, 0x17
- bl sub_808FBA4
- b _0808D906
- .align 2, 0
-_0808D8FC: .4byte 0x00000ce2
-_0808D900:
- movs r0, 0x18
- bl sub_808FBA4
-_0808D906:
- bl sub_8094E88
- ldr r0, _0808D914 @ =sPSSData
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1]
- b _0808DB86
- .align 2, 0
-_0808D914: .4byte sPSSData
-_0808D918:
- bl sub_8094F90
- lsls r0, 24
- cmp r0, 0
- beq _0808D924
- b _0808DB86
-_0808D924:
- ldr r0, _0808D930 @ =sPSSData
- ldr r1, [r0]
- movs r0, 0x2
- strb r0, [r1]
- b _0808DB86
- .align 2, 0
-_0808D930: .4byte sPSSData
-_0808D934:
- bl sub_8094F94
- adds r0, 0x1
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x12
- bls _0808D944
- b _0808DB86
-_0808D944:
- lsls r0, 2
- ldr r1, _0808D950 @ =_0808D954
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0808D950: .4byte _0808D954
- .align 2, 0
-_0808D954:
- .4byte _0808D9A0
- .4byte _0808D9A0
- .4byte _0808DA20
- .4byte _0808DA08
- .4byte _0808D9B0
- .4byte _0808D9E8
- .4byte _0808D9D0
- .4byte _0808DAC0
- .4byte _0808DA5C
- .4byte _0808DAD4
- .4byte _0808DB86
- .4byte _0808DB86
- .4byte _0808DB86
- .4byte _0808DAE8
- .4byte _0808DAFC
- .4byte _0808DB28
- .4byte _0808DB1C
- .4byte _0808DB10
- .4byte _0808DB34
-_0808D9A0:
- bl sub_808FD20
- ldr r0, _0808D9AC @ =sub_808D2BC
- bl add_to_c3_somehow
- b _0808DB86
- .align 2, 0
-_0808D9AC: .4byte sub_808D2BC
-_0808D9B0:
- bl sub_8093900
- lsls r0, 24
- cmp r0, 0
- bne _0808DA66
- movs r0, 0x5
- bl PlaySE
- bl sub_808FD20
- ldr r0, _0808D9CC @ =sub_808DB94
- bl add_to_c3_somehow
- b _0808DB86
- .align 2, 0
-_0808D9CC: .4byte sub_808DB94
-_0808D9D0:
- movs r0, 0x5
- bl PlaySE
- bl sub_808FD20
- ldr r0, _0808D9E4 @ =sub_808DBF0
- bl add_to_c3_somehow
- b _0808DB86
- .align 2, 0
-_0808D9E4: .4byte sub_808DBF0
-_0808D9E8:
- bl sub_809393C
- lsls r0, 24
- cmp r0, 0
- beq _0808DA66
- movs r0, 0x5
- bl PlaySE
- bl sub_808FD20
- ldr r0, _0808DA04 @ =sub_808DC50
- bl add_to_c3_somehow
- b _0808DB86
- .align 2, 0
-_0808DA04: .4byte sub_808DC50
-_0808DA08:
- movs r0, 0x5
- bl PlaySE
- bl sub_808FD20
- ldr r0, _0808DA1C @ =sub_808DC9C
- bl add_to_c3_somehow
- b _0808DB86
- .align 2, 0
-_0808DA1C: .4byte sub_808DC9C
-_0808DA20:
- bl sub_8093900
- lsls r0, 24
- cmp r0, 0
- bne _0808DA66
- ldr r4, _0808DA50 @ =sPSSData
- ldr r0, [r4]
- ldr r2, _0808DA54 @ =0x00000ce2
- adds r0, r2
- ldrh r0, [r0]
- bl ItemIsMail
- lsls r0, 24
- cmp r0, 0
- bne _0808DAA0
- movs r0, 0x5
- bl PlaySE
- bl sub_808FD20
- ldr r0, _0808DA58 @ =sub_808DD88
- bl add_to_c3_somehow
- b _0808DB86
- .align 2, 0
-_0808DA50: .4byte sPSSData
-_0808DA54: .4byte 0x00000ce2
-_0808DA58: .4byte sub_808DD88
-_0808DA5C:
- bl sub_8093900
- lsls r0, 24
- cmp r0, 0
- beq _0808DA74
-_0808DA66:
- ldr r0, _0808DA70 @ =sPSSData
- ldr r1, [r0]
- movs r0, 0x3
- strb r0, [r1]
- b _0808DB86
- .align 2, 0
-_0808DA70: .4byte sPSSData
-_0808DA74:
- ldr r4, _0808DA88 @ =sPSSData
- ldr r1, [r4]
- ldr r2, _0808DA8C @ =0x00000ce9
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _0808DA90
- movs r0, 0x5
- strb r0, [r1]
- b _0808DB86
- .align 2, 0
-_0808DA88: .4byte sPSSData
-_0808DA8C: .4byte 0x00000ce9
-_0808DA90:
- ldr r2, _0808DAA8 @ =0x00000ce2
- adds r0, r1, r2
- ldrh r0, [r0]
- bl ItemIsMail
- lsls r0, 24
- cmp r0, 0
- beq _0808DAAC
-_0808DAA0:
- ldr r1, [r4]
- movs r0, 0x4
- strb r0, [r1]
- b _0808DB86
- .align 2, 0
-_0808DAA8: .4byte 0x00000ce2
-_0808DAAC:
- movs r0, 0x5
- bl PlaySE
- ldr r0, _0808DABC @ =sub_808DECC
- bl add_to_c3_somehow
- b _0808DB86
- .align 2, 0
-_0808DABC: .4byte sub_808DECC
-_0808DAC0:
- movs r0, 0x5
- bl PlaySE
- ldr r0, _0808DAD0 @ =sub_808EAF0
- bl add_to_c3_somehow
- b _0808DB86
- .align 2, 0
-_0808DAD0: .4byte sub_808EAF0
-_0808DAD4:
- movs r0, 0x5
- bl PlaySE
- ldr r0, _0808DAE4 @ =sub_808E0BC
- bl add_to_c3_somehow
- b _0808DB86
- .align 2, 0
-_0808DAE4: .4byte sub_808E0BC
-_0808DAE8:
- movs r0, 0x5
- bl PlaySE
- ldr r0, _0808DAF8 @ =sub_808E140
- bl add_to_c3_somehow
- b _0808DB86
- .align 2, 0
-_0808DAF8: .4byte sub_808E140
-_0808DAFC:
- movs r0, 0x5
- bl PlaySE
- ldr r0, _0808DB0C @ =sub_808E1F4
- bl add_to_c3_somehow
- b _0808DB86
- .align 2, 0
-_0808DB0C: .4byte sub_808E1F4
-_0808DB10:
- ldr r0, _0808DB18 @ =sub_808E2B0
- bl add_to_c3_somehow
- b _0808DB86
- .align 2, 0
-_0808DB18: .4byte sub_808E2B0
-_0808DB1C:
- ldr r0, _0808DB24 @ =sub_808E3C8
- bl add_to_c3_somehow
- b _0808DB86
- .align 2, 0
-_0808DB24: .4byte sub_808E3C8
-_0808DB28:
- ldr r0, _0808DB30 @ =sub_808EB50
- bl add_to_c3_somehow
- b _0808DB86
- .align 2, 0
-_0808DB30: .4byte sub_808EB50
-_0808DB34:
- ldr r0, _0808DB3C @ =sub_808E4B0
- bl add_to_c3_somehow
- b _0808DB86
- .align 2, 0
-_0808DB3C: .4byte sub_808E4B0
-_0808DB40:
- movs r0, 0x1A
- bl PlaySE
- movs r0, 0xD
- b _0808DB5C
-_0808DB4A:
- movs r0, 0x1A
- bl PlaySE
- movs r0, 0x11
- b _0808DB5C
-_0808DB54:
- movs r0, 0x1A
- bl PlaySE
- movs r0, 0x16
-_0808DB5C:
- bl sub_808FBA4
- ldr r0, _0808DB6C @ =sPSSData
- ldr r1, [r0]
- movs r0, 0x6
- strb r0, [r1]
- b _0808DB86
- .align 2, 0
-_0808DB6C: .4byte sPSSData
-_0808DB70:
- ldr r0, _0808DB8C @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0xF3
- ands r0, r1
- cmp r0, 0
- beq _0808DB86
- bl sub_808FD20
- ldr r0, _0808DB90 @ =sub_808D2BC
- bl add_to_c3_somehow
-_0808DB86:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808DB8C: .4byte gMain
-_0808DB90: .4byte sub_808D2BC
- thumb_func_end sub_808D878
-
- thumb_func_start sub_808DB94
-sub_808DB94: @ 808DB94
- push {r4,lr}
- ldr r4, _0808DBA8 @ =sPSSData
- ldr r0, [r4]
- ldrb r0, [r0]
- cmp r0, 0
- beq _0808DBAC
- cmp r0, 0x1
- beq _0808DBBC
- b _0808DBE6
- .align 2, 0
-_0808DBA8: .4byte sPSSData
-_0808DBAC:
- movs r0, 0
- bl sub_8092B7C
- ldr r1, [r4]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _0808DBE6
-_0808DBBC:
- bl sub_8092BF8
- lsls r0, 24
- cmp r0, 0
- bne _0808DBE6
- ldr r0, _0808DBD8 @ =sInPartyMenu
- ldrb r0, [r0]
- cmp r0, 0
- beq _0808DBE0
- ldr r0, _0808DBDC @ =sub_808E688
- bl add_to_c3_somehow
- b _0808DBE6
- .align 2, 0
-_0808DBD8: .4byte sInPartyMenu
-_0808DBDC: .4byte sub_808E688
-_0808DBE0:
- ldr r0, _0808DBEC @ =sub_808D2BC
- bl add_to_c3_somehow
-_0808DBE6:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808DBEC: .4byte sub_808D2BC
- thumb_func_end sub_808DB94
-
- thumb_func_start sub_808DBF0
-sub_808DBF0: @ 808DBF0
- push {r4,lr}
- ldr r4, _0808DC04 @ =sPSSData
- ldr r0, [r4]
- ldrb r0, [r0]
- cmp r0, 0
- beq _0808DC08
- cmp r0, 0x1
- beq _0808DC1E
- b _0808DC46
- .align 2, 0
-_0808DC04: .4byte sPSSData
-_0808DC08:
- movs r0, 0x1
- bl sub_808FE54
- movs r0, 0x1
- bl sub_8092B7C
- ldr r1, [r4]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _0808DC46
-_0808DC1E:
- bl sub_8092BF8
- lsls r0, 24
- cmp r0, 0
- bne _0808DC46
- ldr r0, _0808DC38 @ =sInPartyMenu
- ldrb r0, [r0]
- cmp r0, 0
- beq _0808DC40
- ldr r0, _0808DC3C @ =sub_808E688
- bl add_to_c3_somehow
- b _0808DC46
- .align 2, 0
-_0808DC38: .4byte sInPartyMenu
-_0808DC3C: .4byte sub_808E688
-_0808DC40:
- ldr r0, _0808DC4C @ =sub_808D2BC
- bl add_to_c3_somehow
-_0808DC46:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808DC4C: .4byte sub_808D2BC
- thumb_func_end sub_808DBF0
-
- thumb_func_start sub_808DC50
-sub_808DC50: @ 808DC50
- push {r4,lr}
- ldr r4, _0808DC64 @ =sPSSData
- ldr r0, [r4]
- ldrb r0, [r0]
- cmp r0, 0
- beq _0808DC68
- cmp r0, 0x1
- beq _0808DC7E
- b _0808DC92
- .align 2, 0
-_0808DC64: .4byte sPSSData
-_0808DC68:
- movs r0, 0
- bl sub_808FE54
- movs r0, 0x2
- bl sub_8092B7C
- ldr r1, [r4]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _0808DC92
-_0808DC7E:
- bl sub_8092BF8
- lsls r0, 24
- cmp r0, 0
- bne _0808DC92
- bl BoxSetMosaic
- ldr r0, _0808DC98 @ =sub_808D2BC
- bl add_to_c3_somehow
-_0808DC92:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808DC98: .4byte sub_808D2BC
- thumb_func_end sub_808DC50
-
- thumb_func_start sub_808DC9C
-sub_808DC9C: @ 808DC9C
- push {lr}
- ldr r0, _0808DCB4 @ =sPSSData
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0x5
- bhi _0808DD7E
- lsls r0, 2
- ldr r1, _0808DCB8 @ =_0808DCBC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0808DCB4: .4byte sPSSData
-_0808DCB8: .4byte _0808DCBC
- .align 2, 0
-_0808DCBC:
- .4byte _0808DCD4
- .4byte _0808DD0C
- .4byte _0808DD2C
- .4byte _0808DD42
- .4byte _0808DD5A
- .4byte _0808DD78
-_0808DCD4:
- bl CalculatePlayerPartyCount
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x6
- bne _0808DCF4
- movs r0, 0xE
- bl sub_808FBA4
- ldr r0, _0808DCF0 @ =sPSSData
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1]
- b _0808DD7E
- .align 2, 0
-_0808DCF0: .4byte sPSSData
-_0808DCF4:
- bl sub_8092B5C
- movs r0, 0
- bl sub_8092B7C
- ldr r0, _0808DD08 @ =sPSSData
- ldr r1, [r0]
- movs r0, 0x2
- strb r0, [r1]
- b _0808DD7E
- .align 2, 0
-_0808DD08: .4byte sPSSData
-_0808DD0C:
- ldr r0, _0808DD24 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0xF3
- ands r0, r1
- cmp r0, 0
- beq _0808DD7E
- bl sub_808FD20
- ldr r0, _0808DD28 @ =sub_808D2BC
- bl add_to_c3_somehow
- b _0808DD7E
- .align 2, 0
-_0808DD24: .4byte gMain
-_0808DD28: .4byte sub_808D2BC
-_0808DD2C:
- bl sub_8092BF8
- lsls r0, 24
- cmp r0, 0
- bne _0808DD7E
- movs r0, 0x1
- bl sub_8091184
- bl sub_808FAD4
- b _0808DD68
-_0808DD42:
- bl sub_808FAF8
- lsls r0, 24
- cmp r0, 0
- bne _0808DD7E
- movs r0, 0x1
- bl sub_808FE54
- movs r0, 0x1
- bl sub_8092B7C
- b _0808DD68
-_0808DD5A:
- bl sub_8092BF8
- lsls r0, 24
- cmp r0, 0
- bne _0808DD7E
- bl sub_808FAA8
-_0808DD68:
- ldr r0, _0808DD74 @ =sPSSData
- ldr r1, [r0]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _0808DD7E
- .align 2, 0
-_0808DD74: .4byte sPSSData
-_0808DD78:
- ldr r0, _0808DD84 @ =sub_808D7FC
- bl add_to_c3_somehow
-_0808DD7E:
- pop {r0}
- bx r0
- .align 2, 0
-_0808DD84: .4byte sub_808D7FC
- thumb_func_end sub_808DC9C
-
- thumb_func_start sub_808DD88
-sub_808DD88: @ 808DD88
- push {r4,lr}
- sub sp, 0x4
- ldr r0, _0808DDA4 @ =sPSSData
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0x4
- bls _0808DD98
- b _0808DEBA
-_0808DD98:
- lsls r0, 2
- ldr r1, _0808DDA8 @ =_0808DDAC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0808DDA4: .4byte sPSSData
-_0808DDA8: .4byte _0808DDAC
- .align 2, 0
-_0808DDAC:
- .4byte _0808DDC0
- .4byte _0808DDFC
- .4byte _0808DE64
- .4byte _0808DE7C
- .4byte _0808DEA0
-_0808DDC0:
- movs r0, 0x6
- bl sub_808FBA4
- ldr r4, _0808DDEC @ =sPSSData
- ldr r0, [r4]
- ldr r1, _0808DDF0 @ =0x00001e58
- adds r0, r1
- ldr r2, _0808DDF4 @ =0x0000dac7
- movs r1, 0
- str r1, [sp]
- movs r1, 0xA
- movs r3, 0x3
- bl sub_808C854
- ldr r0, _0808DDF8 @ =gUnknown_20397B6
- ldrb r0, [r0]
- bl sub_808C940
- ldr r1, [r4]
- ldrb r0, [r1]
- adds r0, 0x1
- b _0808DEB8
- .align 2, 0
-_0808DDEC: .4byte sPSSData
-_0808DDF0: .4byte 0x00001e58
-_0808DDF4: .4byte 0x0000dac7
-_0808DDF8: .4byte gUnknown_20397B6
-_0808DDFC:
- bl sub_808C95C
- lsls r0, 24
- lsrs r0, 24
- adds r4, r0, 0
- cmp r0, 0xC8
- beq _0808DEBA
- cmp r0, 0xC9
- bne _0808DE1C
- bl sub_808FD20
- bl sub_808C950
- bl sub_808C8FC
- b _0808DE92
-_0808DE1C:
- adds r0, r4, 0
- bl sub_80930E4
- lsls r0, 24
- cmp r0, 0
- beq _0808DE50
- ldr r0, _0808DE48 @ =gUnknown_20397B6
- strb r4, [r0]
- movs r0, 0x2
- bl sub_808FE54
- bl sub_808FD20
- bl sub_808C950
- bl sub_808C8FC
- ldr r0, _0808DE4C @ =sPSSData
- ldr r1, [r0]
- movs r0, 0x2
- b _0808DEB8
- .align 2, 0
-_0808DE48: .4byte gUnknown_20397B6
-_0808DE4C: .4byte sPSSData
-_0808DE50:
- movs r0, 0x8
- bl sub_808FBA4
- ldr r0, _0808DE60 @ =sPSSData
- ldr r1, [r0]
- movs r0, 0x4
- b _0808DEB8
- .align 2, 0
-_0808DE60: .4byte sPSSData
-_0808DE64:
- bl CompactPartySlots
- bl sub_80909F4
- ldr r0, _0808DE78 @ =sPSSData
- ldr r1, [r0]
- ldrb r0, [r1]
- adds r0, 0x1
- b _0808DEB8
- .align 2, 0
-_0808DE78: .4byte sPSSData
-_0808DE7C:
- bl sub_8090A60
- lsls r0, 24
- cmp r0, 0
- bne _0808DEBA
- bl sub_8093174
- bl BoxSetMosaic
- bl sub_808FAA8
-_0808DE92:
- ldr r0, _0808DE9C @ =sub_808D2BC
- bl add_to_c3_somehow
- b _0808DEBA
- .align 2, 0
-_0808DE9C: .4byte sub_808D2BC
-_0808DEA0:
- ldr r0, _0808DEC4 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0xF3
- ands r0, r1
- cmp r0, 0
- beq _0808DEBA
- movs r0, 0x6
- bl sub_808FBA4
- ldr r0, _0808DEC8 @ =sPSSData
- ldr r1, [r0]
- movs r0, 0x1
-_0808DEB8:
- strb r0, [r1]
-_0808DEBA:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808DEC4: .4byte gMain
-_0808DEC8: .4byte sPSSData
- thumb_func_end sub_808DD88
-
- thumb_func_start sub_808DECC
-sub_808DECC: @ 808DECC
- push {lr}
- ldr r0, _0808DEE4 @ =sPSSData
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0xD
- bls _0808DEDA
- b _0808E0AE
-_0808DEDA:
- lsls r0, 2
- ldr r1, _0808DEE8 @ =_0808DEEC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0808DEE4: .4byte sPSSData
-_0808DEE8: .4byte _0808DEEC
- .align 2, 0
-_0808DEEC:
- .4byte _0808DF24
- .4byte _0808DF3A
- .4byte _0808DF72
- .4byte _0808DF98
- .4byte _0808DFA4
- .4byte _0808DFBC
- .4byte _0808DFF8
- .4byte _0808E010
- .4byte _0808E01C
- .4byte _0808E020
- .4byte _0808E034
- .4byte _0808E050
- .4byte _0808E062
- .4byte _0808E098
-_0808DF24:
- movs r0, 0x9
- bl sub_808FBA4
- movs r0, 0x1
- bl sub_808FCE8
- ldr r0, _0808DF54 @ =sPSSData
- ldr r1, [r0]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_0808DF3A:
- bl Menu_ProcessInputNoWrapClearOnChoose
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _0808DF64
- cmp r1, 0
- bgt _0808DF58
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _0808DF5E
- b _0808E0AE
- .align 2, 0
-_0808DF54: .4byte sPSSData
-_0808DF58:
- cmp r1, 0x1
- beq _0808DF5E
- b _0808E0AE
-_0808DF5E:
- bl sub_808FD20
- b _0808E010
-_0808DF64:
- bl sub_808FD20
- bl sub_809328C
- bl sub_8093194
- b _0808E074
-_0808DF72:
- bl sub_8093420
- bl sub_80931EC
- lsls r0, 24
- cmp r0, 0
- beq _0808DF82
- b _0808E0AE
-_0808DF82:
- b _0808DF8A
-_0808DF84:
- cmp r0, 0
- bne _0808DF8A
- b _0808E088
-_0808DF8A:
- bl sub_8093420
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x1
- bne _0808DF84
- b _0808E074
-_0808DF98:
- bl sub_8093218
- bl sub_808F1D0
- movs r0, 0xA
- b _0808E070
-_0808DFA4:
- ldr r0, _0808DFB8 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0xF3
- ands r0, r1
- cmp r0, 0
- bne _0808DFB2
- b _0808E0AE
-_0808DFB2:
- movs r0, 0xB
- b _0808E070
- .align 2, 0
-_0808DFB8: .4byte gMain
-_0808DFBC:
- ldr r0, _0808DFE0 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0xF3
- ands r0, r1
- cmp r0, 0
- beq _0808E0AE
- bl sub_808FD20
- ldr r0, _0808DFE4 @ =sInPartyMenu
- ldrb r0, [r0]
- cmp r0, 0
- beq _0808DFE8
- bl CompactPartySlots
- bl sub_80909F4
- b _0808E074
- .align 2, 0
-_0808DFE0: .4byte gMain
-_0808DFE4: .4byte sInPartyMenu
-_0808DFE8:
- ldr r0, _0808DFF4 @ =sPSSData
- ldr r1, [r0]
- movs r0, 0x7
- strb r0, [r1]
- b _0808E0AE
- .align 2, 0
-_0808DFF4: .4byte sPSSData
-_0808DFF8:
- bl sub_8090A60
- lsls r0, 24
- cmp r0, 0
- bne _0808E0AE
- bl sub_8092F54
- bl BoxSetMosaic
- bl sub_808FAA8
- b _0808E074
-_0808E010:
- ldr r0, _0808E018 @ =sub_808D2BC
- bl add_to_c3_somehow
- b _0808E0AE
- .align 2, 0
-_0808E018: .4byte sub_808D2BC
-_0808E01C:
- movs r0, 0xA
- b _0808E070
-_0808E020:
- ldr r0, _0808E030 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0xF3
- ands r0, r1
- cmp r0, 0
- beq _0808E0AE
- movs r0, 0x15
- b _0808E070
- .align 2, 0
-_0808E030: .4byte gMain
-_0808E034:
- ldr r0, _0808E04C @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0xF3
- ands r0, r1
- cmp r0, 0
- beq _0808E0AE
- bl sub_808FD20
- bl sub_8091114
- b _0808E074
- .align 2, 0
-_0808E04C: .4byte gMain
-_0808E050:
- bl sub_8091150
- lsls r0, 24
- cmp r0, 0
- bne _0808E0AE
- bl sub_8093264
- movs r0, 0x13
- b _0808E070
-_0808E062:
- ldr r0, _0808E080 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0xF3
- ands r0, r1
- cmp r0, 0
- beq _0808E0AE
- movs r0, 0x14
-_0808E070:
- bl sub_808FBA4
-_0808E074:
- ldr r0, _0808E084 @ =sPSSData
- ldr r1, [r0]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _0808E0AE
- .align 2, 0
-_0808E080: .4byte gMain
-_0808E084: .4byte sPSSData
-_0808E088:
- ldr r0, _0808E094 @ =sPSSData
- ldr r1, [r0]
- movs r0, 0x8
- strb r0, [r1]
- b _0808E0AE
- .align 2, 0
-_0808E094: .4byte sPSSData
-_0808E098:
- ldr r0, _0808E0B4 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0xF3
- ands r0, r1
- cmp r0, 0
- beq _0808E0AE
- bl sub_808FD20
- ldr r0, _0808E0B8 @ =sub_808D2BC
- bl add_to_c3_somehow
-_0808E0AE:
- pop {r0}
- bx r0
- .align 2, 0
-_0808E0B4: .4byte gMain
-_0808E0B8: .4byte sub_808D2BC
- thumb_func_end sub_808DECC
-
- thumb_func_start sub_808E0BC
-sub_808E0BC: @ 808E0BC
- push {r4,lr}
- ldr r4, _0808E0D0 @ =sPSSData
- ldr r0, [r4]
- ldrb r0, [r0]
- cmp r0, 0
- beq _0808E0D4
- cmp r0, 0x1
- beq _0808E108
- b _0808E130
- .align 2, 0
-_0808E0D0: .4byte sPSSData
-_0808E0D4:
- movs r0, 0xC
- bl sub_808FBA4
- ldr r0, [r4]
- ldr r2, _0808E100 @ =0x00000ce7
- adds r1, r0, r2
- ldrb r1, [r1]
- ldr r3, _0808E104 @ =0x00000da4
- adds r0, r3
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, r2
- ldrb r0, [r0]
- movs r1, 0xB0
- movs r2, 0x10
- bl DrawMonMarkingsMenu
- ldr r1, [r4]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _0808E130
- .align 2, 0
-_0808E100: .4byte 0x00000ce7
-_0808E104: .4byte 0x00000da4
-_0808E108:
- bl MonMarkingsHandleInput
- lsls r0, 24
- cmp r0, 0
- bne _0808E130
- bl TeardownMonMarkingsMenu
- bl sub_808FD20
- ldr r0, [r4]
- ldr r1, _0808E138 @ =0x00000da4
- adds r0, r1
- ldrb r0, [r0]
- bl sub_8093878
- bl sub_808F1D0
- ldr r0, _0808E13C @ =sub_808D2BC
- bl add_to_c3_somehow
-_0808E130:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808E138: .4byte 0x00000da4
-_0808E13C: .4byte sub_808D2BC
- thumb_func_end sub_808E0BC
-
- thumb_func_start sub_808E140
-sub_808E140: @ 808E140
- push {r4,r5,lr}
- ldr r5, _0808E158 @ =sPSSData
- ldr r0, [r5]
- ldrb r1, [r0]
- cmp r1, 0x1
- beq _0808E18C
- cmp r1, 0x1
- bgt _0808E15C
- cmp r1, 0
- beq _0808E166
- b _0808E1EA
- .align 2, 0
-_0808E158: .4byte sPSSData
-_0808E15C:
- cmp r1, 0x2
- beq _0808E1B4
- cmp r1, 0x3
- beq _0808E1DA
- b _0808E1EA
-_0808E166:
- ldr r1, _0808E17C @ =0x00000ce2
- adds r0, r1
- ldrh r0, [r0]
- bl ItemIsMail
- lsls r0, 24
- cmp r0, 0
- bne _0808E180
- bl sub_808FD20
- b _0808E1D0
- .align 2, 0
-_0808E17C: .4byte 0x00000ce2
-_0808E180:
- ldr r0, _0808E188 @ =sub_808E6D0
- bl add_to_c3_somehow
- b _0808E1EA
- .align 2, 0
-_0808E188: .4byte sub_808E6D0
-_0808E18C:
- movs r0, 0x2
- bl sub_8094D14
- ldr r0, _0808E1B0 @ =sInPartyMenu
- ldrb r0, [r0]
- negs r4, r0
- orrs r4, r0
- lsrs r4, 31
- bl sub_8094CC8
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl sub_8095D84
- b _0808E1D0
- .align 2, 0
-_0808E1B0: .4byte sInPartyMenu
-_0808E1B4:
- bl sub_809610C
- lsls r0, 24
- cmp r0, 0
- bne _0808E1EA
- movs r0, 0x3
- bl sub_8094D14
- bl sub_808FD20
- bl sub_8092F54
- bl sub_808F49C
-_0808E1D0:
- ldr r1, [r5]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _0808E1EA
-_0808E1DA:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0808E1EA
- ldr r0, _0808E1F0 @ =sub_808D2BC
- bl add_to_c3_somehow
-_0808E1EA:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0808E1F0: .4byte sub_808D2BC
- thumb_func_end sub_808E140
-
- thumb_func_start sub_808E1F4
-sub_808E1F4: @ 808E1F4
- push {r4,lr}
- ldr r0, _0808E20C @ =sPSSData
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0x4
- bhi _0808E2A4
- lsls r0, 2
- ldr r1, _0808E210 @ =_0808E214
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0808E20C: .4byte sPSSData
-_0808E210: .4byte _0808E214
- .align 2, 0
-_0808E214:
- .4byte _0808E27C
- .4byte _0808E228
- .4byte _0808E250
- .4byte _0808E270
- .4byte _0808E294
-_0808E228:
- movs r0, 0x2
- bl sub_8094D14
- ldr r0, _0808E24C @ =sInPartyMenu
- ldrb r0, [r0]
- negs r4, r0
- orrs r4, r0
- lsrs r4, 31
- bl sub_8094CC8
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl sub_8095F74
- b _0808E280
- .align 2, 0
-_0808E24C: .4byte sInPartyMenu
-_0808E250:
- bl sub_809610C
- lsls r0, 24
- cmp r0, 0
- bne _0808E2A4
- movs r0, 0
- bl sub_8094D14
- bl sub_8092F54
- bl sub_808F49C
- movs r0, 0x1C
- bl sub_808FBA4
- b _0808E280
-_0808E270:
- ldr r0, _0808E28C @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0xF3
- ands r0, r1
- cmp r0, 0
- beq _0808E2A4
-_0808E27C:
- bl sub_808FD20
-_0808E280:
- ldr r0, _0808E290 @ =sPSSData
- ldr r1, [r0]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _0808E2A4
- .align 2, 0
-_0808E28C: .4byte gMain
-_0808E290: .4byte sPSSData
-_0808E294:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0808E2A4
- ldr r0, _0808E2AC @ =sub_808D2BC
- bl add_to_c3_somehow
-_0808E2A4:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808E2AC: .4byte sub_808D2BC
- thumb_func_end sub_808E1F4
-
- thumb_func_start sub_808E2B0
-sub_808E2B0: @ 808E2B0
- push {r4,r5,lr}
- ldr r1, _0808E2CC @ =sPSSData
- ldr r0, [r1]
- ldrb r0, [r0]
- adds r5, r1, 0
- cmp r0, 0x4
- bls _0808E2C0
- b _0808E3BA
-_0808E2C0:
- lsls r0, 2
- ldr r1, _0808E2D0 @ =_0808E2D4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0808E2CC: .4byte sPSSData
-_0808E2D0: .4byte _0808E2D4
- .align 2, 0
-_0808E2D4:
- .4byte _0808E2E8
- .4byte _0808E340
- .4byte _0808E360
- .4byte _0808E3A4
- .4byte _0808E38C
-_0808E2E8:
- ldr r0, [r5]
- ldr r1, _0808E310 @ =0x00000ce2
- adds r0, r1
- ldrh r0, [r0]
- movs r1, 0x1
- bl AddBagItem
- lsls r0, 24
- cmp r0, 0
- bne _0808E314
- movs r0, 0x1A
- bl PlaySE
- movs r0, 0x1A
- bl sub_808FBA4
- ldr r1, [r5]
- movs r0, 0x3
- strb r0, [r1]
- b _0808E3BA
- .align 2, 0
-_0808E310: .4byte 0x00000ce2
-_0808E314:
- movs r0, 0x5
- bl PlaySE
- ldr r0, _0808E33C @ =sInPartyMenu
- ldrb r0, [r0]
- negs r4, r0
- orrs r4, r0
- lsrs r4, 31
- bl sub_8094CC8
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl sub_8096008
- ldr r1, [r5]
- movs r0, 0x1
- strb r0, [r1]
- b _0808E3BA
- .align 2, 0
-_0808E33C: .4byte sInPartyMenu
-_0808E340:
- bl sub_809610C
- lsls r0, 24
- cmp r0, 0
- bne _0808E3BA
- movs r0, 0x19
- bl sub_808FBA4
- ldr r0, _0808E35C @ =sPSSData
- ldr r1, [r0]
- movs r0, 0x2
- strb r0, [r1]
- b _0808E3BA
- .align 2, 0
-_0808E35C: .4byte sPSSData
-_0808E360:
- ldr r0, _0808E384 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0xF3
- ands r0, r1
- cmp r0, 0
- beq _0808E3BA
- bl sub_808FD20
- bl sub_8092F54
- bl sub_808F49C
- ldr r0, _0808E388 @ =sPSSData
- ldr r1, [r0]
- movs r0, 0x4
- strb r0, [r1]
- b _0808E3BA
- .align 2, 0
-_0808E384: .4byte gMain
-_0808E388: .4byte sPSSData
-_0808E38C:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0808E3BA
- ldr r0, _0808E3A0 @ =sub_808D2BC
- bl add_to_c3_somehow
- b _0808E3BA
- .align 2, 0
-_0808E3A0: .4byte sub_808D2BC
-_0808E3A4:
- ldr r0, _0808E3C0 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0xF3
- ands r0, r1
- cmp r0, 0
- beq _0808E3BA
- bl sub_808FD20
- ldr r0, _0808E3C4 @ =sub_808D2BC
- bl add_to_c3_somehow
-_0808E3BA:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0808E3C0: .4byte gMain
-_0808E3C4: .4byte sub_808D2BC
- thumb_func_end sub_808E2B0
-
- thumb_func_start sub_808E3C8
-sub_808E3C8: @ 808E3C8
- push {r4,lr}
- ldr r1, _0808E3E0 @ =sPSSData
- ldr r0, [r1]
- ldrb r0, [r0]
- adds r4, r1, 0
- cmp r0, 0x4
- bhi _0808E4A4
- lsls r0, 2
- ldr r1, _0808E3E4 @ =_0808E3E8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0808E3E0: .4byte sPSSData
-_0808E3E4: .4byte _0808E3E8
- .align 2, 0
-_0808E3E8:
- .4byte _0808E3FC
- .4byte _0808E428
- .4byte _0808E450
- .4byte _0808E470
- .4byte _0808E494
-_0808E3FC:
- ldr r0, [r4]
- ldr r1, _0808E418 @ =0x00000ce2
- adds r0, r1
- ldrh r0, [r0]
- bl ItemIsMail
- lsls r0, 24
- cmp r0, 0
- bne _0808E41C
- bl sub_808FD20
- ldr r1, [r4]
- b _0808E484
- .align 2, 0
-_0808E418: .4byte 0x00000ce2
-_0808E41C:
- ldr r0, _0808E424 @ =sub_808E6D0
- bl add_to_c3_somehow
- b _0808E4A4
- .align 2, 0
-_0808E424: .4byte sub_808E6D0
-_0808E428:
- movs r0, 0x2
- bl sub_8094D14
- ldr r0, _0808E44C @ =sInPartyMenu
- ldrb r0, [r0]
- negs r4, r0
- orrs r4, r0
- lsrs r4, 31
- bl sub_8094CC8
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl sub_8095EA0
- b _0808E480
- .align 2, 0
-_0808E44C: .4byte sInPartyMenu
-_0808E450:
- bl sub_809610C
- lsls r0, 24
- cmp r0, 0
- bne _0808E4A4
- movs r0, 0x3
- bl sub_8094D14
- bl sub_8092F54
- bl sub_808F49C
- movs r0, 0x1D
- bl sub_808FBA4
- b _0808E480
-_0808E470:
- ldr r0, _0808E48C @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0xF3
- ands r0, r1
- cmp r0, 0
- beq _0808E4A4
- bl sub_808FD20
-_0808E480:
- ldr r0, _0808E490 @ =sPSSData
- ldr r1, [r0]
-_0808E484:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _0808E4A4
- .align 2, 0
-_0808E48C: .4byte gMain
-_0808E490: .4byte sPSSData
-_0808E494:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0808E4A4
- ldr r0, _0808E4AC @ =sub_808D2BC
- bl add_to_c3_somehow
-_0808E4A4:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808E4AC: .4byte sub_808D2BC
- thumb_func_end sub_808E3C8
-
- thumb_func_start sub_808E4B0
-sub_808E4B0: @ 808E4B0
- push {lr}
- ldr r0, _0808E4C8 @ =sPSSData
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0x6
- bhi _0808E55C
- lsls r0, 2
- ldr r1, _0808E4CC @ =_0808E4D0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0808E4C8: .4byte sPSSData
-_0808E4CC: .4byte _0808E4D0
- .align 2, 0
-_0808E4D0:
- .4byte _0808E4EC
- .4byte _0808E4F2
- .4byte _0808E50C
- .4byte _0808E512
- .4byte _0808E518
- .4byte _0808E530
- .4byte _0808E54C
-_0808E4EC:
- bl sub_808FD20
- b _0808E53A
-_0808E4F2:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0808E55C
- movs r0, 0x6
- bl PlaySE
- bl sub_8096694
- bl sub_80966F4
- b _0808E53A
-_0808E50C:
- bl sub_8096728
- b _0808E534
-_0808E512:
- bl IsDma3ManagerBusyWithBgCopy
- b _0808E534
-_0808E518:
- ldr r0, _0808E52C @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0xF3
- ands r0, r1
- cmp r0, 0
- beq _0808E55C
- movs r0, 0x6
- bl PlaySE
- b _0808E53A
- .align 2, 0
-_0808E52C: .4byte gMain
-_0808E530:
- bl sub_80967C0
-_0808E534:
- lsls r0, 24
- cmp r0, 0
- bne _0808E55C
-_0808E53A:
- ldr r0, _0808E548 @ =sPSSData
- ldr r1, [r0]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _0808E55C
- .align 2, 0
-_0808E548: .4byte sPSSData
-_0808E54C:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0808E55C
- ldr r0, _0808E560 @ =sub_808D2BC
- bl add_to_c3_somehow
-_0808E55C:
- pop {r0}
- bx r0
- .align 2, 0
-_0808E560: .4byte sub_808D2BC
- thumb_func_end sub_808E4B0
-
- thumb_func_start sub_808E564
-sub_808E564: @ 808E564
- push {r4,lr}
- ldr r0, _0808E57C @ =sPSSData
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0x5
- bls _0808E572
- b _0808E67C
-_0808E572:
- lsls r0, 2
- ldr r1, _0808E580 @ =_0808E584
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0808E57C: .4byte sPSSData
-_0808E580: .4byte _0808E584
- .align 2, 0
-_0808E584:
- .4byte _0808E59C
- .4byte _0808E5BC
- .4byte _0808E61A
- .4byte _0808E63C
- .4byte _0808E650
- .4byte _0808E66C
-_0808E59C:
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1B
- bl sub_808FBA4
- movs r0, 0
- bl sub_808FCE8
- ldr r0, _0808E5B8 @ =sPSSData
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1]
- b _0808E67C
- .align 2, 0
-_0808E5B8: .4byte sPSSData
-_0808E5BC:
- bl Menu_ProcessInputNoWrapClearOnChoose
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _0808E5E0
- cmp r1, 0
- bgt _0808E5D6
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _0808E5DA
- b _0808E67C
-_0808E5D6:
- cmp r1, 0x1
- bne _0808E67C
-_0808E5DA:
- bl sub_808FD20
- b _0808E660
-_0808E5E0:
- ldr r4, _0808E604 @ =sPSSData
- ldr r0, [r4]
- ldr r1, _0808E608 @ =0x00002224
- adds r0, r1
- ldrh r0, [r0]
- movs r1, 0x1
- bl AddBagItem
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0808E60C
- bl sub_808FD20
- ldr r1, [r4]
- movs r0, 0x3
- strb r0, [r1]
- b _0808E67C
- .align 2, 0
-_0808E604: .4byte sPSSData
-_0808E608: .4byte 0x00002224
-_0808E60C:
- movs r0, 0x1A
- bl sub_808FBA4
- ldr r1, [r4]
- movs r0, 0x2
- strb r0, [r1]
- b _0808E67C
-_0808E61A:
- ldr r0, _0808E634 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0xF3
- ands r0, r1
- cmp r0, 0
- beq _0808E67C
- bl sub_808FD20
- ldr r0, _0808E638 @ =sPSSData
- ldr r1, [r0]
- movs r0, 0x5
- strb r0, [r1]
- b _0808E67C
- .align 2, 0
-_0808E634: .4byte gMain
-_0808E638: .4byte sPSSData
-_0808E63C:
- bl sub_8096088
- ldr r0, _0808E64C @ =sPSSData
- ldr r1, [r0]
- movs r0, 0x4
- strb r0, [r1]
- b _0808E67C
- .align 2, 0
-_0808E64C: .4byte sPSSData
-_0808E650:
- bl sub_809610C
- lsls r0, 24
- cmp r0, 0
- bne _0808E67C
- movs r0, 0
- bl sub_8094D14
-_0808E660:
- ldr r0, _0808E668 @ =sub_808D2BC
- bl add_to_c3_somehow
- b _0808E67C
- .align 2, 0
-_0808E668: .4byte sub_808D2BC
-_0808E66C:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0808E67C
- ldr r0, _0808E684 @ =sub_808D2BC
- bl add_to_c3_somehow
-_0808E67C:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808E684: .4byte sub_808D2BC
- thumb_func_end sub_808E564
-
- thumb_func_start sub_808E688
-sub_808E688: @ 808E688
- push {r4,lr}
- ldr r4, _0808E69C @ =sPSSData
- ldr r0, [r4]
- ldrb r0, [r0]
- cmp r0, 0
- beq _0808E6A0
- cmp r0, 0x1
- beq _0808E6B2
- b _0808E6C6
- .align 2, 0
-_0808E69C: .4byte sPSSData
-_0808E6A0:
- bl CompactPartySlots
- bl sub_80909F4
- ldr r1, [r4]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _0808E6C6
-_0808E6B2:
- bl sub_8090A60
- lsls r0, 24
- cmp r0, 0
- bne _0808E6C6
- bl sub_808FAA8
- ldr r0, _0808E6CC @ =sub_808D2BC
- bl add_to_c3_somehow
-_0808E6C6:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808E6CC: .4byte sub_808D2BC
- thumb_func_end sub_808E688
-
- thumb_func_start sub_808E6D0
-sub_808E6D0: @ 808E6D0
- push {r4,lr}
- ldr r4, _0808E6E8 @ =sPSSData
- ldr r0, [r4]
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _0808E6FE
- cmp r0, 0x1
- bgt _0808E6EC
- cmp r0, 0
- beq _0808E6F6
- b _0808E738
- .align 2, 0
-_0808E6E8: .4byte sPSSData
-_0808E6EC:
- cmp r0, 0x2
- beq _0808E70A
- cmp r0, 0x3
- beq _0808E728
- b _0808E738
-_0808E6F6:
- movs r0, 0x1E
- bl sub_808FBA4
- b _0808E71A
-_0808E6FE:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0808E738
- b _0808E71A
-_0808E70A:
- ldr r0, _0808E724 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0xF3
- ands r0, r1
- cmp r0, 0
- beq _0808E738
- bl sub_808FD20
-_0808E71A:
- ldr r1, [r4]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _0808E738
- .align 2, 0
-_0808E724: .4byte gMain
-_0808E728:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0808E738
- ldr r0, _0808E740 @ =sub_808D2BC
- bl add_to_c3_somehow
-_0808E738:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808E740: .4byte sub_808D2BC
- thumb_func_end sub_808E6D0
-
- thumb_func_start box_related
-box_related: @ 808E744
- push {r4,lr}
- ldr r4, _0808E75C @ =sPSSData
- ldr r0, [r4]
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _0808E77A
- cmp r0, 0x1
- bgt _0808E760
- cmp r0, 0
- beq _0808E766
- b _0808E830
- .align 2, 0
-_0808E75C: .4byte sPSSData
-_0808E760:
- cmp r0, 0x2
- beq _0808E78C
- b _0808E830
-_0808E766:
- movs r0, 0x1
- bl sub_808FBA4
- bl sub_8094E88
- ldr r1, [r4]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _0808E830
-_0808E77A:
- bl sub_8094F90
- lsls r0, 24
- cmp r0, 0
- bne _0808E830
- ldr r1, [r4]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_0808E78C:
- bl sub_8094F94
- adds r0, 0x1
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xC
- bhi _0808E830
- lsls r0, 2
- ldr r1, _0808E7A4 @ =_0808E7A8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0808E7A4: .4byte _0808E7A8
- .align 2, 0
-_0808E7A8:
- .4byte _0808E7DC
- .4byte _0808E7DC
- .4byte _0808E830
- .4byte _0808E830
- .4byte _0808E830
- .4byte _0808E830
- .4byte _0808E830
- .4byte _0808E830
- .4byte _0808E830
- .4byte _0808E830
- .4byte _0808E820
- .4byte _0808E808
- .4byte _0808E7F4
-_0808E7DC:
- movs r0, 0x1
- bl sub_80920FC
- bl sub_808FD20
- ldr r0, _0808E7F0 @ =sub_808D2BC
- bl add_to_c3_somehow
- b _0808E830
- .align 2, 0
-_0808E7F0: .4byte sub_808D2BC
-_0808E7F4:
- movs r0, 0x5
- bl PlaySE
- ldr r0, _0808E804 @ =sub_808EA90
- bl add_to_c3_somehow
- b _0808E830
- .align 2, 0
-_0808E804: .4byte sub_808EA90
-_0808E808:
- movs r0, 0x5
- bl PlaySE
- bl sub_808FD20
- ldr r0, _0808E81C @ =sub_808E83C
- bl add_to_c3_somehow
- b _0808E830
- .align 2, 0
-_0808E81C: .4byte sub_808E83C
-_0808E820:
- movs r0, 0x5
- bl PlaySE
- bl sub_808FD20
- ldr r0, _0808E838 @ =sub_808E9A0
- bl add_to_c3_somehow
-_0808E830:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808E838: .4byte sub_808E9A0
- thumb_func_end box_related
-
- thumb_func_start sub_808E83C
-sub_808E83C: @ 808E83C
- push {r4,r5,lr}
- ldr r0, _0808E854 @ =sPSSData
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0x5
- bls _0808E84A
- b _0808E994
-_0808E84A:
- lsls r0, 2
- ldr r1, _0808E858 @ =_0808E85C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0808E854: .4byte sPSSData
-_0808E858: .4byte _0808E85C
- .align 2, 0
-_0808E85C:
- .4byte _0808E874
- .4byte _0808E888
- .4byte _0808E8A0
- .4byte _0808E8FA
- .4byte _0808E924
- .4byte _0808E97E
-_0808E874:
- bl sub_808FD34
- movs r0, 0x2
- bl sub_808FBA4
- ldr r0, _0808E884 @ =sPSSData
- ldr r1, [r0]
- b _0808E976
- .align 2, 0
-_0808E884: .4byte sPSSData
-_0808E888:
- bl sub_8094F90
- lsls r0, 24
- cmp r0, 0
- beq _0808E894
- b _0808E994
-_0808E894:
- ldr r0, _0808E89C @ =sPSSData
- ldr r1, [r0]
- b _0808E976
- .align 2, 0
-_0808E89C: .4byte sPSSData
-_0808E8A0:
- bl sub_8094F94
- ldr r5, _0808E8CC @ =sPSSData
- ldr r1, [r5]
- ldr r4, _0808E8D0 @ =0x0000078e
- adds r1, r4
- strh r0, [r1]
- movs r2, 0
- ldrsh r0, [r1, r2]
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- bne _0808E8D8
- movs r0, 0x1
- bl sub_80920FC
- bl sub_808FD20
- ldr r0, _0808E8D4 @ =sub_808D2BC
- bl add_to_c3_somehow
- b _0808E994
- .align 2, 0
-_0808E8CC: .4byte sPSSData
-_0808E8D0: .4byte 0x0000078e
-_0808E8D4: .4byte sub_808D2BC
-_0808E8D8:
- cmp r0, r1
- blt _0808E994
- cmp r0, 0x15
- bgt _0808E994
- cmp r0, 0x12
- blt _0808E994
- movs r0, 0x5
- bl PlaySE
- bl sub_8095024
- ldr r1, [r5]
- adds r2, r1, r4
- ldrh r0, [r2]
- subs r0, 0x12
- strh r0, [r2]
- b _0808E976
-_0808E8FA:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0808E994
- ldr r4, _0808E91C @ =sPSSData
- ldr r0, [r4]
- ldr r1, _0808E920 @ =0x0000078e
- adds r0, r1
- ldrb r0, [r0]
- bl sub_808FD5C
- movs r0, 0x3
- bl sub_808FBA4
- b _0808E974
- .align 2, 0
-_0808E91C: .4byte sPSSData
-_0808E920: .4byte 0x0000078e
-_0808E924:
- bl sub_8094F94
- ldr r4, _0808E954 @ =sPSSData
- ldr r1, [r4]
- movs r5, 0xF2
- lsls r5, 3
- adds r1, r5
- strh r0, [r1]
- movs r2, 0
- ldrsh r1, [r1, r2]
- movs r0, 0x2
- negs r0, r0
- cmp r1, r0
- beq _0808E994
- adds r0, 0x1
- cmp r1, r0
- bne _0808E958
- bl sub_808FD20
- ldr r1, [r4]
- movs r0, 0
- strb r0, [r1]
- b _0808E994
- .align 2, 0
-_0808E954: .4byte sPSSData
-_0808E958:
- movs r0, 0x5
- bl PlaySE
- bl sub_808FD20
- ldr r1, [r4]
- adds r1, r5
- ldrh r0, [r1]
- subs r0, 0x16
- strh r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- bl sub_8091730
-_0808E974:
- ldr r1, [r4]
-_0808E976:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _0808E994
-_0808E97E:
- bl sub_8091760
- lsls r0, 24
- cmp r0, 0
- bne _0808E994
- movs r0, 0x1
- bl sub_80920FC
- ldr r0, _0808E99C @ =sub_808D2BC
- bl add_to_c3_somehow
-_0808E994:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0808E99C: .4byte sub_808D2BC
- thumb_func_end sub_808E83C
-
- thumb_func_start sub_808E9A0
-sub_808E9A0: @ 808E9A0
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r5, _0808E9B8 @ =sPSSData
- ldr r0, [r5]
- ldrb r4, [r0]
- cmp r4, 0x1
- beq _0808E9F4
- cmp r4, 0x1
- bgt _0808E9BC
- cmp r4, 0
- beq _0808E9C6
- b _0808EA80
- .align 2, 0
-_0808E9B8: .4byte sPSSData
-_0808E9BC:
- cmp r4, 0x2
- beq _0808EA4C
- cmp r4, 0x3
- beq _0808EA64
- b _0808EA80
-_0808E9C6:
- movs r0, 0x5
- bl sub_808FBA4
- ldr r0, [r5]
- ldr r1, _0808E9EC @ =0x00001e58
- adds r0, r1
- ldr r2, _0808E9F0 @ =0x0000dac7
- str r4, [sp]
- movs r1, 0xA
- movs r3, 0x3
- bl sub_808C854
- bl StorageGetCurrentBox
- lsls r0, 24
- lsrs r0, 24
- bl sub_808C940
- b _0808EA56
- .align 2, 0
-_0808E9EC: .4byte 0x00001e58
-_0808E9F0: .4byte 0x0000dac7
-_0808E9F4:
- bl sub_808C95C
- ldr r1, [r5]
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0808EA44 @ =0x000002ca
- adds r1, r2
- strh r0, [r1]
- movs r2, 0
- ldrsh r0, [r1, r2]
- cmp r0, 0xC8
- beq _0808EA80
- bl sub_808FD20
- bl sub_808C950
- bl sub_808C8FC
- ldr r0, [r5]
- ldr r2, _0808EA44 @ =0x000002ca
- adds r1, r0, r2
- movs r2, 0
- ldrsh r0, [r1, r2]
- cmp r0, 0xC9
- beq _0808EA34
- adds r4, r0, 0
- bl StorageGetCurrentBox
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- bne _0808EA56
-_0808EA34:
- movs r0, 0x1
- bl sub_80920FC
- ldr r0, _0808EA48 @ =sub_808D2BC
- bl add_to_c3_somehow
- b _0808EA80
- .align 2, 0
-_0808EA44: .4byte 0x000002ca
-_0808EA48: .4byte sub_808D2BC
-_0808EA4C:
- ldr r1, _0808EA60 @ =0x000002ca
- adds r0, r1
- ldrb r0, [r0]
- bl sub_8091514
-_0808EA56:
- ldr r1, [r5]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _0808EA80
- .align 2, 0
-_0808EA60: .4byte 0x000002ca
-_0808EA64:
- bl sub_80915FC
- lsls r0, 24
- cmp r0, 0
- bne _0808EA80
- ldr r0, [r5]
- ldr r2, _0808EA88 @ =0x000002ca
- adds r0, r2
- ldrb r0, [r0]
- bl sub_808BA00
- ldr r0, _0808EA8C @ =sub_808D2BC
- bl add_to_c3_somehow
-_0808EA80:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0808EA88: .4byte 0x000002ca
-_0808EA8C: .4byte sub_808D2BC
- thumb_func_end sub_808E9A0
-
- thumb_func_start sub_808EA90
-sub_808EA90: @ 808EA90
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r5, _0808EAA4 @ =sPSSData
- ldr r0, [r5]
- ldrb r4, [r0]
- cmp r4, 0
- beq _0808EAA8
- cmp r4, 0x1
- beq _0808EAC6
- b _0808EAE0
- .align 2, 0
-_0808EAA4: .4byte sPSSData
-_0808EAA8:
- bl sub_8093630
- movs r0, 0x1
- negs r0, r0
- str r4, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, [r5]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _0808EAE0
-_0808EAC6:
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- bne _0808EAE0
- ldr r0, _0808EAE8 @ =sWhichToReshow
- strb r4, [r0]
- ldr r1, [r5]
- movs r0, 0x2
- strb r0, [r1, 0x2]
- ldr r0, _0808EAEC @ =sub_808EE18
- bl add_to_c3_somehow
-_0808EAE0:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0808EAE8: .4byte sWhichToReshow
-_0808EAEC: .4byte sub_808EE18
- thumb_func_end sub_808EA90
-
- thumb_func_start sub_808EAF0
-sub_808EAF0: @ 808EAF0
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r5, _0808EB04 @ =sPSSData
- ldr r0, [r5]
- ldrb r4, [r0]
- cmp r4, 0
- beq _0808EB08
- cmp r4, 0x1
- beq _0808EB26
- b _0808EB40
- .align 2, 0
-_0808EB04: .4byte sPSSData
-_0808EB08:
- bl sub_80936B8
- movs r0, 0x1
- negs r0, r0
- str r4, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, [r5]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _0808EB40
-_0808EB26:
- bl UpdatePaletteFade
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- bne _0808EB40
- ldr r0, _0808EB48 @ =sWhichToReshow
- strb r1, [r0]
- ldr r0, [r5]
- strb r4, [r0, 0x2]
- ldr r0, _0808EB4C @ =sub_808EE18
- bl add_to_c3_somehow
-_0808EB40:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0808EB48: .4byte sWhichToReshow
-_0808EB4C: .4byte sub_808EE18
- thumb_func_end sub_808EAF0
-
- thumb_func_start sub_808EB50
-sub_808EB50: @ 808EB50
- push {r4,lr}
- sub sp, 0x4
- ldr r4, _0808EB64 @ =sPSSData
- ldr r0, [r4]
- ldrb r1, [r0]
- cmp r1, 0
- beq _0808EB68
- cmp r1, 0x1
- beq _0808EB82
- b _0808EB9E
- .align 2, 0
-_0808EB64: .4byte sPSSData
-_0808EB68:
- movs r0, 0x1
- negs r0, r0
- str r1, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, [r4]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _0808EB9E
-_0808EB82:
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- bne _0808EB9E
- ldr r1, _0808EBA8 @ =sWhichToReshow
- movs r0, 0x2
- strb r0, [r1]
- ldr r1, [r4]
- movs r0, 0x3
- strb r0, [r1, 0x2]
- ldr r0, _0808EBAC @ =sub_808EE18
- bl add_to_c3_somehow
-_0808EB9E:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808EBA8: .4byte sWhichToReshow
-_0808EBAC: .4byte sub_808EE18
- thumb_func_end sub_808EB50
-
- thumb_func_start sub_808EBB0
-sub_808EBB0: @ 808EBB0
- push {r4,lr}
- ldr r0, _0808EBC8 @ =sPSSData
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0x4
- bls _0808EBBE
- b _0808ECD0
-_0808EBBE:
- lsls r0, 2
- ldr r1, _0808EBCC @ =_0808EBD0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0808EBC8: .4byte sPSSData
-_0808EBCC: .4byte _0808EBD0
- .align 2, 0
-_0808EBD0:
- .4byte _0808EBE4
- .4byte _0808EC40
- .4byte _0808EC54
- .4byte _0808EC90
- .4byte _0808ECAC
-_0808EBE4:
- bl sub_80939A0
- lsls r0, 24
- cmp r0, 0
- beq _0808EC08
- movs r0, 0x1A
- bl PlaySE
- movs r0, 0xF
- bl sub_808FBA4
- ldr r0, _0808EC04 @ =sPSSData
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1]
- b _0808ECD0
- .align 2, 0
-_0808EC04: .4byte sPSSData
-_0808EC08:
- bl sub_809616C
- lsls r0, 24
- cmp r0, 0
- beq _0808EC20
- ldr r0, _0808EC1C @ =sub_808E564
- bl add_to_c3_somehow
- b _0808ECD0
- .align 2, 0
-_0808EC1C: .4byte sub_808E564
-_0808EC20:
- movs r0, 0x5
- bl PlaySE
- movs r0, 0
- bl sub_808FBA4
- movs r0, 0
- bl sub_808FCE8
- ldr r0, _0808EC3C @ =sPSSData
- ldr r1, [r0]
- movs r0, 0x2
- strb r0, [r1]
- b _0808ECD0
- .align 2, 0
-_0808EC3C: .4byte sPSSData
-_0808EC40:
- ldr r0, _0808EC50 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0xF3
- ands r0, r1
- cmp r0, 0
- beq _0808ECD0
- b _0808EC72
- .align 2, 0
-_0808EC50: .4byte gMain
-_0808EC54:
- bl Menu_ProcessInputNoWrapClearOnChoose
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _0808EC84
- cmp r1, 0
- bgt _0808EC6E
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _0808EC72
- b _0808ECD0
-_0808EC6E:
- cmp r1, 0x1
- bne _0808ECD0
-_0808EC72:
- bl sub_808FD20
- ldr r0, _0808EC80 @ =sub_808D2BC
- bl add_to_c3_somehow
- b _0808ECD0
- .align 2, 0
-_0808EC80: .4byte sub_808D2BC
-_0808EC84:
- movs r0, 0x3
- bl PlaySE
- bl sub_808FD20
- b _0808EC9A
-_0808EC90:
- movs r0, 0x14
- movs r1, 0
- movs r2, 0x1
- bl sub_80A0A70
-_0808EC9A:
- ldr r0, _0808ECA8 @ =sPSSData
- ldr r1, [r0]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _0808ECD0
- .align 2, 0
-_0808ECA8: .4byte sPSSData
-_0808ECAC:
- bl sub_80A0AAC
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _0808ECD0
- bl sub_808FF70
- bl CalculatePlayerPartyCount
- ldr r1, _0808ECD8 @ =gPlayerPartyCount
- strb r0, [r1]
- ldr r0, _0808ECDC @ =sPSSData
- ldr r0, [r0]
- strb r4, [r0, 0x2]
- ldr r0, _0808ECE0 @ =sub_808EE18
- bl add_to_c3_somehow
-_0808ECD0:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808ECD8: .4byte gPlayerPartyCount
-_0808ECDC: .4byte sPSSData
-_0808ECE0: .4byte sub_808EE18
- thumb_func_end sub_808EBB0
-
- thumb_func_start sub_808ECE4
-sub_808ECE4: @ 808ECE4
- push {r4,lr}
- ldr r0, _0808ECFC @ =sPSSData
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0x4
- bls _0808ECF2
- b _0808EE04
-_0808ECF2:
- lsls r0, 2
- ldr r1, _0808ED00 @ =_0808ED04
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0808ECFC: .4byte sPSSData
-_0808ED00: .4byte _0808ED04
- .align 2, 0
-_0808ED04:
- .4byte _0808ED18
- .4byte _0808ED74
- .4byte _0808ED88
- .4byte _0808EDC4
- .4byte _0808EDE0
-_0808ED18:
- bl sub_80939A0
- lsls r0, 24
- cmp r0, 0
- beq _0808ED3C
- movs r0, 0x1A
- bl PlaySE
- movs r0, 0xF
- bl sub_808FBA4
- ldr r0, _0808ED38 @ =sPSSData
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1]
- b _0808EE04
- .align 2, 0
-_0808ED38: .4byte sPSSData
-_0808ED3C:
- bl sub_809616C
- lsls r0, 24
- cmp r0, 0
- beq _0808ED54
- ldr r0, _0808ED50 @ =sub_808E564
- bl add_to_c3_somehow
- b _0808EE04
- .align 2, 0
-_0808ED50: .4byte sub_808E564
-_0808ED54:
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x12
- bl sub_808FBA4
- movs r0, 0
- bl sub_808FCE8
- ldr r0, _0808ED70 @ =sPSSData
- ldr r1, [r0]
- movs r0, 0x2
- strb r0, [r1]
- b _0808EE04
- .align 2, 0
-_0808ED70: .4byte sPSSData
-_0808ED74:
- ldr r0, _0808ED84 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0xF3
- ands r0, r1
- cmp r0, 0
- beq _0808EE04
- b _0808EDA8
- .align 2, 0
-_0808ED84: .4byte gMain
-_0808ED88:
- bl Menu_ProcessInputNoWrapClearOnChoose
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _0808EDA8
- cmp r1, 0
- bgt _0808EDA2
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _0808EDB8
- b _0808EE04
-_0808EDA2:
- cmp r1, 0x1
- beq _0808EDB8
- b _0808EE04
-_0808EDA8:
- bl sub_808FD20
- ldr r0, _0808EDB4 @ =sub_808D2BC
- bl add_to_c3_somehow
- b _0808EE04
- .align 2, 0
-_0808EDB4: .4byte sub_808D2BC
-_0808EDB8:
- movs r0, 0x3
- bl PlaySE
- bl sub_808FD20
- b _0808EDCE
-_0808EDC4:
- movs r0, 0x14
- movs r1, 0
- movs r2, 0
- bl sub_80A0A70
-_0808EDCE:
- ldr r0, _0808EDDC @ =sPSSData
- ldr r1, [r0]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _0808EE04
- .align 2, 0
-_0808EDDC: .4byte sPSSData
-_0808EDE0:
- bl sub_80A0AAC
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _0808EE04
- bl sub_808FF70
- bl CalculatePlayerPartyCount
- ldr r1, _0808EE0C @ =gPlayerPartyCount
- strb r0, [r1]
- ldr r0, _0808EE10 @ =sPSSData
- ldr r0, [r0]
- strb r4, [r0, 0x2]
- ldr r0, _0808EE14 @ =sub_808EE18
- bl add_to_c3_somehow
-_0808EE04:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808EE0C: .4byte gPlayerPartyCount
-_0808EE10: .4byte sPSSData
-_0808EE14: .4byte sub_808EE18
- thumb_func_end sub_808ECE4
-
- thumb_func_start sub_808EE18
-sub_808EE18: @ 808EE18
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, _0808EE44 @ =sPSSData
- ldr r0, [r0]
- ldrb r4, [r0, 0x2]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x3
- bne _0808EE4C
- bl sub_809616C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0808EE4C
- bl sub_80961C4
- ldr r1, _0808EE48 @ =gUnknown_20397BA
- b _0808EE50
- .align 2, 0
-_0808EE44: .4byte sPSSData
-_0808EE48: .4byte gUnknown_20397BA
-_0808EE4C:
- ldr r1, _0808EE70 @ =gUnknown_20397BA
- movs r0, 0
-_0808EE50:
- strh r0, [r1]
- cmp r4, 0x1
- beq _0808EE78
- cmp r4, 0x1
- ble _0808EE62
- cmp r4, 0x2
- beq _0808EEBC
- cmp r4, 0x3
- beq _0808EEE8
-_0808EE62:
- bl sub_808EF68
- ldr r0, _0808EE74 @ =sub_808C7B4
- bl SetMainCallback2
- b _0808EEF6
- .align 2, 0
-_0808EE70: .4byte gUnknown_20397BA
-_0808EE74: .4byte sub_808C7B4
-_0808EE78:
- ldr r0, _0808EEAC @ =sPSSData
- ldr r1, [r0]
- ldr r2, _0808EEB0 @ =0x0000217c
- adds r0, r1, r2
- ldr r0, [r0]
- mov r8, r0
- subs r2, 0x3
- adds r0, r1, r2
- ldrb r6, [r0]
- subs r2, 0x1
- adds r0, r1, r2
- ldrb r5, [r0]
- ldr r0, _0808EEB4 @ =0x0000217a
- adds r1, r0
- ldrb r4, [r1]
- bl sub_808EF68
- ldr r3, _0808EEB8 @ =sub_808CE60
- str r4, [sp]
- mov r0, r8
- adds r1, r6, 0
- adds r2, r5, 0
- bl ShowPokemonSummaryScreen
- b _0808EEF6
- .align 2, 0
-_0808EEAC: .4byte sPSSData
-_0808EEB0: .4byte 0x0000217c
-_0808EEB4: .4byte 0x0000217a
-_0808EEB8: .4byte sub_808CE60
-_0808EEBC:
- bl sub_808EF68
- bl StorageGetCurrentBox
- lsls r0, 24
- lsrs r0, 24
- bl GetBoxNamePtr
- adds r1, r0, 0
- movs r0, 0
- str r0, [sp]
- ldr r0, _0808EEE4 @ =sub_808CE60
- str r0, [sp, 0x4]
- movs r0, 0x1
- movs r2, 0
- movs r3, 0
- bl DoNamingScreen
- b _0808EEF6
- .align 2, 0
-_0808EEE4: .4byte sub_808CE60
-_0808EEE8:
- bl sub_808EF68
- ldr r2, _0808EF08 @ =sub_808CE60
- movs r0, 0x4
- movs r1, 0
- bl GoToBagMenu
-_0808EEF6:
- adds r0, r7, 0
- bl DestroyTask
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0808EF08: .4byte sub_808CE60
- thumb_func_end sub_808EE18
-
- thumb_func_start sub_808EF0C
-sub_808EF0C: @ 808EF0C
- push {lr}
- sub sp, 0x4
- ldr r0, _0808EF40 @ =gSpecialVar_ItemId
- ldrh r1, [r0]
- mov r0, sp
- strh r1, [r0]
- cmp r1, 0
- beq _0808EF60
- bl sub_8094CC8
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r0, _0808EF44 @ =sInPartyMenu
- ldrb r0, [r0]
- cmp r0, 0
- beq _0808EF4C
- movs r0, 0x64
- muls r0, r1
- ldr r1, _0808EF48 @ =gPlayerParty
- adds r0, r1
- movs r1, 0xC
- mov r2, sp
- bl SetMonData
- b _0808EF56
- .align 2, 0
-_0808EF40: .4byte gSpecialVar_ItemId
-_0808EF44: .4byte sInPartyMenu
-_0808EF48: .4byte gPlayerParty
-_0808EF4C:
- adds r0, r1, 0
- movs r1, 0xC
- mov r2, sp
- bl SetBoxMonDataFromSelectedBox
-_0808EF56:
- mov r0, sp
- ldrh r0, [r0]
- movs r1, 0x1
- bl RemoveBagItem
-_0808EF60:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_808EF0C
-
- thumb_func_start sub_808EF68
-sub_808EF68: @ 808EF68
- push {r4,lr}
- bl sub_80F7B2C
- bl sub_80950A4
- ldr r4, _0808EF88 @ =sPSSData
- ldr r0, [r4]
- bl Free
- movs r0, 0
- str r0, [r4]
- bl FreeAllWindowBuffers
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808EF88: .4byte sPSSData
- thumb_func_end sub_808EF68
-
- thumb_func_start sub_808EF8C
-sub_808EF8C: @ 808EF8C
- push {lr}
- sub sp, 0x4
- ldr r1, _0808EFB8 @ =0x00001f0f
- movs r0, 0xE
- bl SetGpuReg
- ldr r1, _0808EFBC @ =gUnknown_83CE438
- movs r0, 0
- str r0, [sp]
- movs r0, 0x3
- movs r2, 0
- movs r3, 0
- bl DecompressAndLoadBgGfxUsingHeap
- ldr r0, _0808EFC0 @ =gUnknown_83CE4D0
- ldr r1, _0808EFC4 @ =0x0600f800
- bl LZ77UnCompVram
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_0808EFB8: .4byte 0x00001f0f
-_0808EFBC: .4byte gUnknown_83CE438
-_0808EFC0: .4byte gUnknown_83CE4D0
-_0808EFC4: .4byte 0x0600f800
- thumb_func_end sub_808EF8C
-
- thumb_func_start sub_808EFC8
-sub_808EFC8: @ 808EFC8
- push {lr}
- movs r0, 0x3
- movs r1, 0x80
- movs r2, 0x1
- bl ChangeBgX
- movs r0, 0x3
- movs r1, 0x80
- movs r2, 0x2
- bl ChangeBgY
- pop {r0}
- bx r0
- thumb_func_end sub_808EFC8
-
- thumb_func_start sub_808EFE4
-sub_808EFE4: @ 808EFE4
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r1, _0808F030 @ =gUnknown_83CEA50
- movs r0, 0
- movs r2, 0x4
- bl InitBgsFromTemplates
- ldr r1, _0808F034 @ =gUnknown_8E9C438
- movs r0, 0
- str r0, [sp]
- movs r0, 0x1
- movs r2, 0
- movs r3, 0
- bl DecompressAndLoadBgGfxUsingHeap
- ldr r0, _0808F038 @ =gUnknown_83CE5FC
- ldr r5, _0808F03C @ =sPSSData
- ldr r1, [r5]
- ldr r4, _0808F040 @ =0x00005abc
- adds r1, r4
- bl LZ77UnCompWram
- ldr r1, [r5]
- adds r1, r4
- movs r0, 0x1
- bl SetBgTilemapBuffer
- movs r0, 0x1
- bl ShowBg
- movs r0, 0x1
- bl ScheduleBgCopyTilemapToVram
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0808F030: .4byte gUnknown_83CEA50
-_0808F034: .4byte gUnknown_8E9C438
-_0808F038: .4byte gUnknown_83CE5FC
-_0808F03C: .4byte sPSSData
-_0808F040: .4byte 0x00005abc
- thumb_func_end sub_808EFE4
-
- thumb_func_start sub_808F044
-sub_808F044: @ 808F044
- push {lr}
- ldr r0, _0808F05C @ =gUnknown_83CEA30
- bl InitWindows
- lsls r0, 16
- cmp r0, 0
- beq _0808F060
- bl DeactivateAllTextPrinters
- movs r0, 0x1
- b _0808F062
- .align 2, 0
-_0808F05C: .4byte gUnknown_83CEA30
-_0808F060:
- movs r0, 0
-_0808F062:
- pop {r1}
- bx r1
- thumb_func_end sub_808F044
-
- thumb_func_start sub_808F068
-sub_808F068: @ 808F068
- push {lr}
- ldr r0, _0808F074 @ =gUnknown_83CEA60
- bl LoadSpritePalette
- pop {r0}
- bx r0
- .align 2, 0
-_0808F074: .4byte gUnknown_83CEA60
- thumb_func_end sub_808F068
-
- thumb_func_start sub_808F078
-sub_808F078: @ 808F078
- push {lr}
- ldr r0, _0808F0B0 @ =gUnknown_8E9C3F8
- movs r1, 0
- movs r2, 0x20
- bl LoadPalette
- ldr r0, _0808F0B4 @ =gUnknown_8E9C418
- movs r1, 0x20
- movs r2, 0x20
- bl LoadPalette
- ldr r0, _0808F0B8 @ =gUnknown_83CEA10
- movs r1, 0xF0
- movs r2, 0x20
- bl LoadPalette
- ldr r0, _0808F0BC @ =sPSSData
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x3
- beq _0808F0C4
- ldr r0, _0808F0C0 @ =gUnknown_83CE738
- movs r1, 0x30
- movs r2, 0x20
- bl LoadPalette
- b _0808F0CE
- .align 2, 0
-_0808F0B0: .4byte gUnknown_8E9C3F8
-_0808F0B4: .4byte gUnknown_8E9C418
-_0808F0B8: .4byte gUnknown_83CEA10
-_0808F0BC: .4byte sPSSData
-_0808F0C0: .4byte gUnknown_83CE738
-_0808F0C4:
- ldr r0, _0808F0EC @ =gUnknown_83CE758
- movs r1, 0x30
- movs r2, 0x20
- bl LoadPalette
-_0808F0CE:
- ldr r1, _0808F0F0 @ =0x00001e05
- movs r0, 0xA
- bl SetGpuReg
- bl sub_808F2BC
- bl sub_808F0F4
- bl sub_808F164
- bl sub_808F1D0
- pop {r0}
- bx r0
- .align 2, 0
-_0808F0EC: .4byte gUnknown_83CE758
-_0808F0F0: .4byte 0x00001e05
- thumb_func_end sub_808F078
-
- thumb_func_start sub_808F0F4
-sub_808F0F4: @ 808F0F4
- push {r4,lr}
- ldr r1, _0808F154 @ =0x0000dac8
- movs r0, 0x10
- movs r2, 0
- bl CreateMonMarkingSprite_AllOff
- ldr r4, _0808F158 @ =sPSSData
- ldr r1, [r4]
- movs r3, 0xD9
- lsls r3, 4
- adds r1, r3
- str r0, [r1]
- ldrb r2, [r0, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r2
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0, 0x5]
- ldr r0, [r4]
- adds r0, r3
- ldr r0, [r0]
- adds r0, 0x43
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, r3
- ldr r2, [r0]
- movs r1, 0x28
- strh r1, [r2, 0x20]
- ldr r1, [r0]
- movs r0, 0x96
- strh r0, [r1, 0x22]
- movs r0, 0x10
- bl GetSpriteTileStartByTag
- ldr r1, [r4]
- ldr r2, _0808F15C @ =0x00000d9c
- adds r1, r2
- lsls r0, 16
- lsrs r0, 11
- ldr r2, _0808F160 @ =0x06010000
- adds r0, r2
- str r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808F154: .4byte 0x0000dac8
-_0808F158: .4byte sPSSData
-_0808F15C: .4byte 0x00000d9c
-_0808F160: .4byte 0x06010000
- thumb_func_end sub_808F0F4
-
- thumb_func_start sub_808F164
-sub_808F164: @ 808F164
- push {r4,lr}
- sub sp, 0x8
- ldr r0, _0808F1BC @ =gUnknown_83CEA68
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp]
- str r1, [sp, 0x4]
- mov r0, sp
- bl LoadSpriteSheet
- movs r4, 0
-_0808F17A:
- lsls r1, r4, 6
- subs r1, r4
- adds r1, 0x8
- lsls r1, 16
- asrs r1, 16
- ldr r0, _0808F1C0 @ =gUnknown_83CEBD8
- movs r2, 0x9
- movs r3, 0x2
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0808F1C4 @ =sPSSData
- ldr r2, [r1]
- lsls r1, r4, 2
- ldr r3, _0808F1C8 @ =0x00000d94
- adds r2, r3
- adds r2, r1
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, _0808F1CC @ =gSprites
- adds r1, r0
- str r1, [r2]
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x1
- bls _0808F17A
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808F1BC: .4byte gUnknown_83CEA68
-_0808F1C0: .4byte gUnknown_83CEBD8
-_0808F1C4: .4byte sPSSData
-_0808F1C8: .4byte 0x00000d94
-_0808F1CC: .4byte gSprites
- thumb_func_end sub_808F164
-
- thumb_func_start sub_808F1D0
-sub_808F1D0: @ 808F1D0
- push {lr}
- ldr r0, _0808F1FC @ =sPSSData
- ldr r1, [r0]
- movs r2, 0xCE
- lsls r2, 4
- adds r0, r1, r2
- ldrh r0, [r0]
- subs r2, 0x4
- adds r1, r2
- ldr r1, [r1]
- bl sub_808F3F8
- bl sub_808F49C
- bl sub_808F5E8
- movs r0, 0
- bl ScheduleBgCopyTilemapToVram
- pop {r0}
- bx r0
- .align 2, 0
-_0808F1FC: .4byte sPSSData
- thumb_func_end sub_808F1D0
-
- thumb_func_start BoxSetMosaic
-BoxSetMosaic: @ 808F200
- push {lr}
- bl sub_808F1D0
- ldr r3, _0808F24C @ =sPSSData
- ldr r0, [r3]
- ldr r1, _0808F250 @ =0x00002238
- adds r0, r1
- ldr r2, [r0]
- cmp r2, 0
- beq _0808F248
- ldrb r0, [r2, 0x1]
- movs r1, 0x10
- orrs r0, r1
- strb r0, [r2, 0x1]
- ldr r1, [r3]
- ldr r0, _0808F250 @ =0x00002238
- adds r1, r0
- ldr r2, [r1]
- movs r0, 0xA
- strh r0, [r2, 0x2E]
- ldr r2, [r1]
- movs r0, 0x1
- strh r0, [r2, 0x30]
- ldr r2, [r1]
- ldr r0, _0808F254 @ =BoxSetMosaic2
- str r0, [r2, 0x1C]
- ldr r0, [r1]
- ldrh r0, [r0, 0x2E]
- lsls r1, r0, 12
- lsls r0, 8
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x4C
- bl SetGpuReg
-_0808F248:
- pop {r0}
- bx r0
- .align 2, 0
-_0808F24C: .4byte sPSSData
-_0808F250: .4byte 0x00002238
-_0808F254: .4byte BoxSetMosaic2
- thumb_func_end BoxSetMosaic
-
- thumb_func_start sub_808F258
-sub_808F258: @ 808F258
- ldr r0, _0808F26C @ =sPSSData
- ldr r0, [r0]
- ldr r1, _0808F270 @ =0x00002238
- adds r0, r1
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- lsls r0, 27
- lsrs r0, 31
- bx lr
- .align 2, 0
-_0808F26C: .4byte sPSSData
-_0808F270: .4byte 0x00002238
- thumb_func_end sub_808F258
-
- thumb_func_start BoxSetMosaic2
-BoxSetMosaic2: @ 808F274
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x2E]
- ldrh r1, [r4, 0x30]
- subs r0, r1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- cmp r0, 0
- bge _0808F28A
- movs r0, 0
- strh r0, [r4, 0x2E]
-_0808F28A:
- ldrh r0, [r4, 0x2E]
- lsls r1, r0, 12
- lsls r0, 8
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x4C
- bl SetGpuReg
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _0808F2B2
- ldrb r0, [r4, 0x1]
- movs r1, 0x11
- negs r1, r1
- ands r1, r0
- strb r1, [r4, 0x1]
- ldr r0, _0808F2B8 @ =SpriteCallbackDummy
- str r0, [r4, 0x1C]
-_0808F2B2:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808F2B8: .4byte SpriteCallbackDummy
- thumb_func_end BoxSetMosaic2
-
- thumb_func_start sub_808F2BC
-sub_808F2BC: @ 808F2BC
- push {r4-r7,lr}
- sub sp, 0x28
- ldr r0, _0808F350 @ =sPSSData
- mov r12, r0
- ldr r1, [r0]
- ldr r4, _0808F354 @ =0x000022bc
- adds r0, r1, r4
- str r0, [sp, 0x18]
- add r3, sp, 0x18
- movs r0, 0x82
- lsls r0, 10
- str r0, [r3, 0x4]
- ldr r5, _0808F358 @ =0x0000223c
- adds r1, r5
- str r1, [sp, 0x20]
- ldr r0, _0808F35C @ =0x0000dac6
- add r2, sp, 0x20
- str r0, [r2, 0x4]
- mov r1, sp
- ldr r0, _0808F360 @ =gUnknown_83CEA70
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- movs r6, 0
- adds r7, r2, 0
- mov r5, r12
- movs r2, 0
- ldr r1, _0808F364 @ =0x000007ff
-_0808F2F6:
- ldr r0, [r5]
- adds r0, r4
- adds r0, r6
- strb r2, [r0]
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, r1
- bls _0808F2F6
- movs r6, 0
- ldr r5, _0808F350 @ =sPSSData
- ldr r4, _0808F358 @ =0x0000223c
- movs r2, 0
-_0808F310:
- ldr r0, [r5]
- lsls r1, r6, 1
- adds r0, r4
- adds r0, r1
- strh r2, [r0]
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0xF
- bls _0808F310
- ldr r0, _0808F350 @ =sPSSData
- ldr r0, [r0]
- ldr r6, _0808F368 @ =0x00002238
- adds r0, r6
- movs r1, 0
- str r1, [r0]
- adds r0, r3, 0
- bl LoadSpriteSheet
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0
- beq _0808F3C8
- adds r0, r7, 0
- bl LoadSpritePalette
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0xFF
- beq _0808F3C8
- b _0808F3B4
- .align 2, 0
-_0808F350: .4byte sPSSData
-_0808F354: .4byte 0x000022bc
-_0808F358: .4byte 0x0000223c
-_0808F35C: .4byte 0x0000dac6
-_0808F360: .4byte gUnknown_83CEA70
-_0808F364: .4byte 0x000007ff
-_0808F368: .4byte 0x00002238
-_0808F36C:
- ldr r0, _0808F39C @ =sPSSData
- ldr r2, [r0]
- ldr r7, _0808F3A0 @ =0x00002238
- adds r3, r2, r7
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _0808F3A4 @ =gSprites
- adds r0, r1
- str r0, [r3]
- lsls r0, r4, 4
- movs r1, 0x80
- lsls r1, 1
- adds r0, r1
- ldr r3, _0808F3A8 @ =0x00002232
- adds r1, r2, r3
- strh r0, [r1]
- ldr r6, _0808F3AC @ =0x00002234
- adds r2, r6
- lsls r0, r5, 5
- ldr r7, _0808F3B0 @ =0x06010000
- adds r0, r7
- str r0, [r2]
- b _0808F3C8
- .align 2, 0
-_0808F39C: .4byte sPSSData
-_0808F3A0: .4byte 0x00002238
-_0808F3A4: .4byte gSprites
-_0808F3A8: .4byte 0x00002232
-_0808F3AC: .4byte 0x00002234
-_0808F3B0: .4byte 0x06010000
-_0808F3B4:
- mov r0, sp
- movs r1, 0x28
- movs r2, 0x30
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- bne _0808F36C
-_0808F3C8:
- ldr r0, _0808F3EC @ =sPSSData
- ldr r0, [r0]
- ldr r1, _0808F3F0 @ =0x00002238
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0
- bne _0808F3E2
- movs r0, 0x2
- bl FreeSpriteTilesByTag
- ldr r0, _0808F3F4 @ =0x0000dac6
- bl FreeSpritePaletteByTag
-_0808F3E2:
- add sp, 0x28
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0808F3EC: .4byte sPSSData
-_0808F3F0: .4byte 0x00002238
-_0808F3F4: .4byte 0x0000dac6
- thumb_func_end sub_808F2BC
-
- thumb_func_start sub_808F3F8
-sub_808F3F8: @ 808F3F8
- push {r4-r7,lr}
- adds r3, r1, 0
- lsls r0, 16
- lsrs r2, r0, 16
- ldr r6, _0808F468 @ =sPSSData
- ldr r4, [r6]
- ldr r7, _0808F46C @ =0x00002238
- adds r0, r4, r7
- ldr r0, [r0]
- cmp r0, 0
- beq _0808F496
- cmp r2, 0
- beq _0808F48C
- lsls r0, r2, 3
- ldr r1, _0808F470 @ =gMonFrontPicTable
- adds r0, r1
- ldr r5, _0808F474 @ =0x000022bc
- adds r1, r4, r5
- bl HandleLoadSpecialPokePic
- ldr r1, [r6]
- ldr r2, _0808F478 @ =0x00000cd8
- adds r0, r1, r2
- ldr r0, [r0]
- ldr r4, _0808F47C @ =0x0000223c
- adds r1, r4
- bl LZ77UnCompWram
- ldr r0, [r6]
- adds r5, r0, r5
- ldr r1, _0808F480 @ =0x00002234
- adds r0, r1
- ldr r1, [r0]
- ldr r2, _0808F484 @ =0x04000200
- adds r0, r5, 0
- bl CpuSet
- ldr r0, [r6]
- adds r4, r0, r4
- ldr r2, _0808F488 @ =0x00002232
- adds r0, r2
- ldrh r1, [r0]
- adds r0, r4, 0
- movs r2, 0x20
- bl LoadPalette
- ldr r0, [r6]
- adds r0, r7
- ldr r1, [r0]
- adds r1, 0x3E
- ldrb r2, [r1]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- b _0808F496
- .align 2, 0
-_0808F468: .4byte sPSSData
-_0808F46C: .4byte 0x00002238
-_0808F470: .4byte gMonFrontPicTable
-_0808F474: .4byte 0x000022bc
-_0808F478: .4byte 0x00000cd8
-_0808F47C: .4byte 0x0000223c
-_0808F480: .4byte 0x00002234
-_0808F484: .4byte 0x04000200
-_0808F488: .4byte 0x00002232
-_0808F48C:
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
-_0808F496:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_808F3F8
-
- thumb_func_start sub_808F49C
-sub_808F49C: @ 808F49C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0xC
- movs r0, 0
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r6, _0808F51C @ =sPSSData
- ldr r2, [r6]
- ldrb r0, [r2, 0x1]
- cmp r0, 0x3
- beq _0808F528
- movs r4, 0
- movs r5, 0
- mov r8, r6
-_0808F4BC:
- lsls r0, r4, 3
- adds r0, r4
- lsls r0, 2
- ldr r1, _0808F520 @ =0x00000cf5
- adds r0, r1
- mov r2, r8
- ldr r1, [r2]
- adds r2, r1, r0
- movs r3, 0x6
- cmp r4, 0x2
- bne _0808F4D4
- movs r3, 0xA
-_0808F4D4:
- lsls r0, r5, 24
- lsrs r0, 24
- str r0, [sp]
- movs r7, 0xFF
- str r7, [sp, 0x4]
- movs r6, 0
- str r6, [sp, 0x8]
- movs r0, 0
- movs r1, 0x2
- bl AddTextPrinterParameterized
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- adds r0, r5, 0
- adds r0, 0xE
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r4, 0x2
- bls _0808F4BC
- ldr r0, _0808F51C @ =sPSSData
- ldr r2, [r0]
- ldr r0, _0808F524 @ =0x00000d61
- adds r2, r0
- adds r0, r5, 0x2
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp]
- str r7, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r0, 0
- movs r1, 0
- movs r3, 0x6
- bl AddTextPrinterParameterized
- b _0808F57E
- .align 2, 0
-_0808F51C: .4byte sPSSData
-_0808F520: .4byte 0x00000cf5
-_0808F524: .4byte 0x00000d61
-_0808F528:
- ldr r1, _0808F5BC @ =0x00000d61
- adds r2, r1
- movs r1, 0
- str r1, [sp]
- movs r0, 0xFF
- str r0, [sp, 0x4]
- str r1, [sp, 0x8]
- movs r0, 0
- movs r3, 0x6
- bl AddTextPrinterParameterized
- movs r4, 0
- movs r5, 0xF
-_0808F542:
- lsls r0, r4, 3
- adds r0, r4
- lsls r0, 2
- ldr r2, _0808F5C0 @ =0x00000cf5
- adds r0, r2
- ldr r1, [r6]
- adds r2, r1, r0
- movs r3, 0x6
- cmp r4, 0x2
- bne _0808F558
- movs r3, 0xA
-_0808F558:
- lsls r0, r5, 24
- lsrs r0, 24
- str r0, [sp]
- movs r0, 0xFF
- str r0, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0x8]
- movs r1, 0x2
- bl AddTextPrinterParameterized
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- adds r0, r5, 0
- adds r0, 0xE
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r4, 0x2
- bls _0808F542
-_0808F57E:
- movs r0, 0
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r4, _0808F5C4 @ =sPSSData
- ldr r1, [r4]
- movs r2, 0xCE
- lsls r2, 4
- adds r0, r1, r2
- ldrh r0, [r0]
- cmp r0, 0
- beq _0808F5C8
- adds r2, 0x7
- adds r0, r1, r2
- ldrb r0, [r0]
- adds r2, 0xB5
- adds r1, r2
- ldr r1, [r1]
- bl sub_80BEBD0
- ldr r0, [r4]
- movs r1, 0xD9
- lsls r1, 4
- adds r0, r1
- ldr r1, [r0]
- adds r1, 0x3E
- ldrb r2, [r1]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- b _0808F5D8
- .align 2, 0
-_0808F5BC: .4byte 0x00000d61
-_0808F5C0: .4byte 0x00000cf5
-_0808F5C4: .4byte sPSSData
-_0808F5C8:
- movs r2, 0xD9
- lsls r2, 4
- adds r0, r1, r2
- ldr r1, [r0]
- adds r1, 0x3E
- ldrb r0, [r1]
- movs r2, 0x4
- orrs r0, r2
-_0808F5D8:
- strb r0, [r1]
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_808F49C
-
- thumb_func_start sub_808F5E8
-sub_808F5E8: @ 808F5E8
- push {r4,lr}
- sub sp, 0x4
- ldr r0, _0808F634 @ =sPSSData
- ldr r0, [r0]
- movs r1, 0xCE
- lsls r1, 4
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, 0
- beq _0808F63C
- movs r0, 0x2
- str r0, [sp]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0x8
- bl sub_80F7CE8
- movs r4, 0
-_0808F60E:
- ldr r0, _0808F634 @ =sPSSData
- ldr r0, [r0]
- lsls r1, r4, 2
- ldr r2, _0808F638 @ =0x00000d94
- adds r0, r2
- adds r0, r1
- ldr r0, [r0]
- lsls r1, r4, 1
- adds r1, 0x1
- lsls r1, 24
- lsrs r1, 24
- bl StartSpriteAnimIfDifferent
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x1
- bls _0808F60E
- b _0808F66E
- .align 2, 0
-_0808F634: .4byte sPSSData
-_0808F638: .4byte 0x00000d94
-_0808F63C:
- movs r0, 0x2
- str r0, [sp]
- movs r0, 0
- movs r1, 0
- movs r2, 0x2
- movs r3, 0x8
- bl sub_80F7CE8
- movs r4, 0
-_0808F64E:
- ldr r0, _0808F684 @ =sPSSData
- ldr r0, [r0]
- lsls r1, r4, 2
- ldr r2, _0808F688 @ =0x00000d94
- adds r0, r2
- adds r0, r1
- ldr r0, [r0]
- lsls r1, r4, 25
- lsrs r1, 24
- bl StartSpriteAnim
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x1
- bls _0808F64E
-_0808F66E:
- movs r0, 0
- bl sub_80F7E54
- movs r0, 0x1
- bl ScheduleBgCopyTilemapToVram
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808F684: .4byte sPSSData
-_0808F688: .4byte 0x00000d94
- thumb_func_end sub_808F5E8
-
- thumb_func_start sub_808F68C
-sub_808F68C: @ 808F68C
- push {r4,lr}
- sub sp, 0x4
- ldr r0, _0808F704 @ =gUnknown_8E9CAEC
- ldr r4, _0808F708 @ =sPSSData
- ldr r1, [r4]
- adds r1, 0xB0
- bl LZ77UnCompWram
- ldr r0, _0808F70C @ =gUnknown_8E9C3D8
- movs r1, 0x10
- movs r2, 0x20
- bl LoadPalette
- ldr r2, [r4]
- adds r2, 0xB0
- movs r0, 0x16
- str r0, [sp]
- movs r0, 0x1
- movs r1, 0x1
- movs r3, 0xC
- bl sub_80F7B80
- ldr r2, _0808F710 @ =gUnknown_83CE778
- movs r0, 0x4
- str r0, [sp]
- movs r0, 0x2
- movs r1, 0x1
- movs r3, 0x9
- bl sub_80F7B80
- movs r0, 0x1
- movs r1, 0xA
- movs r2, 0
- bl sub_80F7CAC
- movs r0, 0x2
- movs r1, 0x15
- movs r2, 0
- bl sub_80F7CAC
- bl sub_808F9FC
- ldr r0, _0808F714 @ =sInPartyMenu
- ldrb r0, [r0]
- cmp r0, 0
- beq _0808F718
- movs r0, 0x1
- bl sub_808F90C
- movs r0, 0x1
- bl sub_809088C
- movs r0, 0x2
- bl sub_80F7E54
- movs r0, 0x1
- bl sub_80F7E54
- b _0808F73A
- .align 2, 0
-_0808F704: .4byte gUnknown_8E9CAEC
-_0808F708: .4byte sPSSData
-_0808F70C: .4byte gUnknown_8E9C3D8
-_0808F710: .4byte gUnknown_83CE778
-_0808F714: .4byte sInPartyMenu
-_0808F718:
- movs r0, 0x2
- str r0, [sp]
- movs r0, 0x1
- movs r1, 0
- movs r2, 0x14
- movs r3, 0xC
- bl sub_80F7CE8
- movs r0, 0x1
- bl sub_808F90C
- movs r0, 0x1
- bl sub_80F7E54
- movs r0, 0x2
- bl sub_80F7E54
-_0808F73A:
- movs r0, 0x1
- bl ScheduleBgCopyTilemapToVram
- ldr r0, _0808F754 @ =sPSSData
- ldr r0, [r0]
- ldr r1, _0808F758 @ =0x000002c7
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808F754: .4byte sPSSData
-_0808F758: .4byte 0x000002c7
- thumb_func_end sub_808F68C
-
- thumb_func_start sub_808F75C
-sub_808F75C: @ 808F75C
- push {lr}
- ldr r0, _0808F788 @ =sPSSData
- ldr r1, [r0]
- movs r0, 0xB0
- lsls r0, 2
- adds r2, r1, r0
- movs r3, 0
- movs r0, 0x14
- strh r0, [r2]
- ldr r0, _0808F78C @ =0x000002c2
- adds r2, r1, r0
- movs r0, 0x2
- strh r0, [r2]
- ldr r0, _0808F790 @ =0x000002c5
- adds r1, r0
- strb r3, [r1]
- movs r0, 0
- bl sub_809088C
- pop {r0}
- bx r0
- .align 2, 0
-_0808F788: .4byte sPSSData
-_0808F78C: .4byte 0x000002c2
-_0808F790: .4byte 0x000002c5
- thumb_func_end sub_808F75C
-
- thumb_func_start sub_808F794
-sub_808F794: @ 808F794
- push {r4,lr}
- ldr r4, _0808F7F0 @ =sPSSData
- ldr r2, [r4]
- ldr r1, _0808F7F4 @ =0x000002c5
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0x14
- beq _0808F802
- movs r0, 0xB0
- lsls r0, 2
- adds r1, r2, r0
- ldrh r0, [r1]
- subs r0, 0x1
- strh r0, [r1]
- ldr r0, _0808F7F8 @ =0x000002c2
- adds r1, r2, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- movs r0, 0x1
- movs r1, 0x3
- movs r2, 0x1
- bl sub_80F7D30
- movs r0, 0x1
- bl sub_80F7E54
- movs r0, 0x1
- bl ScheduleBgCopyTilemapToVram
- movs r0, 0x8
- bl sub_8090B98
- ldr r1, [r4]
- ldr r0, _0808F7F4 @ =0x000002c5
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x14
- beq _0808F7FC
- movs r0, 0x1
- b _0808F804
- .align 2, 0
-_0808F7F0: .4byte sPSSData
-_0808F7F4: .4byte 0x000002c5
-_0808F7F8: .4byte 0x000002c2
-_0808F7FC:
- ldr r1, _0808F80C @ =sInPartyMenu
- movs r0, 0x1
- strb r0, [r1]
-_0808F802:
- movs r0, 0
-_0808F804:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0808F80C: .4byte sInPartyMenu
- thumb_func_end sub_808F794
-
- thumb_func_start sub_808F810
-sub_808F810: @ 808F810
- push {r4,lr}
- ldr r4, _0808F844 @ =sPSSData
- ldr r1, [r4]
- movs r0, 0xB0
- lsls r0, 2
- adds r2, r1, r0
- movs r3, 0
- movs r0, 0
- strh r0, [r2]
- ldr r0, _0808F848 @ =0x000002c2
- adds r2, r1, r0
- movs r0, 0x16
- strh r0, [r2]
- ldr r0, _0808F84C @ =0x000002c5
- adds r1, r0
- strb r3, [r1]
- ldr r0, [r4]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x3
- bne _0808F83C
- bl sub_80960C0
-_0808F83C:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808F844: .4byte sPSSData
-_0808F848: .4byte 0x000002c2
-_0808F84C: .4byte 0x000002c5
- thumb_func_end sub_808F810
-
- thumb_func_start sub_808F850
-sub_808F850: @ 808F850
- push {r4,r5,lr}
- sub sp, 0x8
- ldr r5, _0808F8C8 @ =sPSSData
- ldr r2, [r5]
- ldr r1, _0808F8CC @ =0x000002c5
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0x14
- beq _0808F8FC
- movs r0, 0xB0
- lsls r0, 2
- adds r1, r2, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- ldr r4, _0808F8D0 @ =0x000002c2
- adds r1, r2, r4
- ldrh r0, [r1]
- subs r0, 0x1
- strh r0, [r1]
- movs r2, 0x1
- negs r2, r2
- movs r0, 0x1
- movs r1, 0x3
- bl sub_80F7D30
- movs r0, 0x1
- bl sub_80F7E54
- movs r1, 0x80
- lsls r1, 1
- ldr r0, [r5]
- adds r0, r4
- ldrb r3, [r0]
- movs r0, 0xC
- str r0, [sp]
- movs r0, 0x1
- str r0, [sp, 0x4]
- movs r2, 0xA
- bl FillBgTilemapBufferRect_Palette0
- movs r0, 0x8
- negs r0, r0
- bl sub_8090B98
- ldr r1, [r5]
- ldr r0, _0808F8CC @ =0x000002c5
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x14
- beq _0808F8D4
- movs r0, 0x1
- bl ScheduleBgCopyTilemapToVram
- movs r0, 0x1
- b _0808F8FE
- .align 2, 0
-_0808F8C8: .4byte sPSSData
-_0808F8CC: .4byte 0x000002c5
-_0808F8D0: .4byte 0x000002c2
-_0808F8D4:
- ldr r0, _0808F908 @ =sInPartyMenu
- movs r1, 0
- strb r1, [r0]
- bl sub_8090C44
- bl CompactPartySlots
- movs r0, 0x2
- str r0, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x9
- bl sub_80F7CE8
- movs r0, 0x2
- bl sub_80F7E54
- movs r0, 0x1
- bl ScheduleBgCopyTilemapToVram
-_0808F8FC:
- movs r0, 0
-_0808F8FE:
- add sp, 0x8
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0808F908: .4byte sInPartyMenu
- thumb_func_end sub_808F850
-
- thumb_func_start sub_808F90C
-sub_808F90C: @ 808F90C
- push {lr}
- sub sp, 0x4
- lsls r0, 24
- cmp r0, 0
- beq _0808F926
- movs r0, 0x2
- str r0, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x9
- bl sub_80F7CE8
- b _0808F934
-_0808F926:
- movs r0, 0x2
- str r0, [sp]
- movs r1, 0
- movs r2, 0x2
- movs r3, 0x9
- bl sub_80F7CE8
-_0808F934:
- movs r0, 0x2
- bl sub_80F7E54
- movs r0, 0x1
- bl ScheduleBgCopyTilemapToVram
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_808F90C
-
- thumb_func_start sub_808F948
-sub_808F948: @ 808F948
- ldr r2, _0808F968 @ =sPSSData
- ldr r0, [r2]
- ldr r1, _0808F96C @ =0x000002c7
- adds r0, r1
- movs r3, 0x1
- strb r3, [r0]
- ldr r0, [r2]
- adds r1, 0x1
- adds r0, r1
- movs r1, 0x1E
- strb r1, [r0]
- ldr r0, [r2]
- ldr r1, _0808F970 @ =0x000002c9
- adds r0, r1
- strb r3, [r0]
- bx lr
- .align 2, 0
-_0808F968: .4byte sPSSData
-_0808F96C: .4byte 0x000002c7
-_0808F970: .4byte 0x000002c9
- thumb_func_end sub_808F948
-
- thumb_func_start sub_808F974
-sub_808F974: @ 808F974
- push {lr}
- ldr r0, _0808F994 @ =sPSSData
- ldr r0, [r0]
- ldr r2, _0808F998 @ =0x000002c7
- adds r1, r0, r2
- ldrb r0, [r1]
- cmp r0, 0
- beq _0808F98E
- movs r0, 0
- strb r0, [r1]
- movs r0, 0x1
- bl sub_808F90C
-_0808F98E:
- pop {r0}
- bx r0
- .align 2, 0
-_0808F994: .4byte sPSSData
-_0808F998: .4byte 0x000002c7
- thumb_func_end sub_808F974
-
- thumb_func_start sub_808F99C
-sub_808F99C: @ 808F99C
- push {r4,lr}
- ldr r3, _0808F9F0 @ =sPSSData
- ldr r1, [r3]
- ldr r2, _0808F9F4 @ =0x000002c7
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _0808F9E8
- movs r0, 0xB2
- lsls r0, 2
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1E
- bls _0808F9E8
- ldr r0, [r3]
- movs r1, 0xB2
- lsls r1, 2
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r3]
- movs r2, 0
- ldr r4, _0808F9F8 @ =0x000002c9
- adds r1, r0, r4
- ldrb r0, [r1]
- cmp r0, 0
- bne _0808F9DC
- movs r2, 0x1
-_0808F9DC:
- strb r2, [r1]
- ldr r0, [r3]
- adds r0, r4
- ldrb r0, [r0]
- bl sub_808F90C
-_0808F9E8:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808F9F0: .4byte sPSSData
-_0808F9F4: .4byte 0x000002c7
-_0808F9F8: .4byte 0x000002c9
- thumb_func_end sub_808F99C
-
- thumb_func_start sub_808F9FC
-sub_808F9FC: @ 808F9FC
- push {r4,lr}
- movs r4, 0x1
-_0808FA00:
- movs r0, 0x64
- muls r0, r4
- ldr r1, _0808FA2C @ =gPlayerParty
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- negs r1, r0
- orrs r1, r0
- lsrs r1, 31
- adds r0, r4, 0
- bl sub_808FA30
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x5
- bls _0808FA00
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808FA2C: .4byte gPlayerParty
- thumb_func_end sub_808F9FC
-
- thumb_func_start sub_808FA30
-sub_808FA30: @ 808FA30
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- ldr r7, _0808FA9C @ =gUnknown_83CE7D8
- cmp r1, 0
- beq _0808FA40
- ldr r7, _0808FAA0 @ =gUnknown_83CE7C0
-_0808FA40:
- subs r0, 0x1
- lsls r1, r0, 1
- adds r1, r0
- adds r1, 0x1
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 18
- movs r1, 0xE0
- lsls r1, 11
- adds r0, r1
- lsrs r3, r0, 16
- movs r0, 0
- ldr r1, _0808FAA4 @ =sPSSData
- mov r12, r1
-_0808FA5C:
- movs r2, 0
- adds r4, r7, 0
- adds r4, 0x8
- adds r5, r3, 0
- adds r5, 0xC
- adds r6, r0, 0x1
-_0808FA68:
- mov r0, r12
- ldr r1, [r0]
- adds r0, r3, r2
- lsls r0, 1
- adds r1, 0xB0
- adds r1, r0
- lsls r0, r2, 1
- adds r0, r7
- ldrh r0, [r0]
- strh r0, [r1]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x3
- bls _0808FA68
- adds r7, r4, 0
- lsls r0, r5, 16
- lsrs r3, r0, 16
- lsls r0, r6, 16
- lsrs r0, 16
- cmp r0, 0x2
- bls _0808FA5C
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0808FA9C: .4byte gUnknown_83CE7D8
-_0808FAA0: .4byte gUnknown_83CE7C0
-_0808FAA4: .4byte sPSSData
- thumb_func_end sub_808FA30
-
- thumb_func_start sub_808FAA8
-sub_808FAA8: @ 808FAA8
- push {lr}
- sub sp, 0x4
- bl sub_808F9FC
- movs r0, 0x16
- str r0, [sp]
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- movs r3, 0xC
- bl sub_80F7CE8
- movs r0, 0x1
- bl sub_80F7E54
- movs r0, 0x1
- bl ScheduleBgCopyTilemapToVram
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_808FAA8
-
- thumb_func_start sub_808FAD4
-sub_808FAD4: @ 808FAD4
- push {lr}
- ldr r0, _0808FAF0 @ =sPSSData
- ldr r0, [r0]
- ldr r1, _0808FAF4 @ =0x000002c6
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- movs r0, 0x6
- bl PlaySE
- bl sub_808F75C
- pop {r0}
- bx r0
- .align 2, 0
-_0808FAF0: .4byte sPSSData
-_0808FAF4: .4byte 0x000002c6
- thumb_func_end sub_808FAD4
-
- thumb_func_start sub_808FAF8
-sub_808FAF8: @ 808FAF8
- push {r4,r5,lr}
- ldr r4, _0808FB14 @ =sPSSData
- ldr r0, [r4]
- ldr r5, _0808FB18 @ =0x000002c6
- adds r0, r5
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _0808FB32
- cmp r0, 0x1
- bgt _0808FB1C
- cmp r0, 0
- beq _0808FB22
- b _0808FB60
- .align 2, 0
-_0808FB14: .4byte sPSSData
-_0808FB18: .4byte 0x000002c6
-_0808FB1C:
- cmp r0, 0x2
- beq _0808FB5C
- b _0808FB60
-_0808FB22:
- bl sub_808F794
- lsls r0, 24
- cmp r0, 0
- bne _0808FB60
- bl sub_8092AE4
- b _0808FB4C
-_0808FB32:
- bl sub_80924A8
- lsls r0, 24
- cmp r0, 0
- bne _0808FB60
- ldr r0, [r4]
- ldr r1, _0808FB58 @ =0x00000ce6
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _0808FB4C
- bl BoxSetMosaic
-_0808FB4C:
- ldr r1, [r4]
- adds r1, r5
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _0808FB60
- .align 2, 0
-_0808FB58: .4byte 0x00000ce6
-_0808FB5C:
- movs r0, 0
- b _0808FB62
-_0808FB60:
- movs r0, 0x1
-_0808FB62:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_808FAF8
-
- thumb_func_start sub_808FB68
-sub_808FB68: @ 808FB68
- push {lr}
- sub sp, 0xC
- movs r1, 0xE8
- lsls r1, 5
- movs r0, 0x8
- bl SetGpuReg
- movs r0, 0x1
- movs r1, 0x2
- movs r2, 0xD0
- bl TextWindow_SetStdFrame0_WithPal
- movs r0, 0x20
- str r0, [sp]
- movs r0, 0x14
- str r0, [sp, 0x4]
- movs r0, 0x11
- str r0, [sp, 0x8]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- add sp, 0xC
- pop {r0}
- bx r0
- thumb_func_end sub_808FB68
-
- thumb_func_start sub_808FBA4
-sub_808FBA4: @ 808FBA4
- push {r4-r6,lr}
- sub sp, 0xC
- lsls r0, 24
- lsrs r6, r0, 24
- bl DynamicPlaceholderTextUtil_Reset
- ldr r1, _0808FBC8 @ =gUnknown_83CEA88
- lsls r0, r6, 3
- adds r0, r1
- ldrb r0, [r0, 0x4]
- cmp r0, 0x7
- bhi _0808FC7C
- lsls r0, 2
- ldr r1, _0808FBCC @ =_0808FBD0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0808FBC8: .4byte gUnknown_83CEA88
-_0808FBCC: .4byte _0808FBD0
- .align 2, 0
-_0808FBD0:
- .4byte _0808FC7C
- .4byte _0808FBF0
- .4byte _0808FBF0
- .4byte _0808FBF0
- .4byte _0808FC04
- .4byte _0808FC04
- .4byte _0808FC04
- .4byte _0808FC1C
-_0808FBF0:
- ldr r0, _0808FBFC @ =sPSSData
- ldr r1, [r0]
- ldr r0, _0808FC00 @ =0x00000cea
- adds r1, r0
- b _0808FC0C
- .align 2, 0
-_0808FBFC: .4byte sPSSData
-_0808FC00: .4byte 0x00000cea
-_0808FC04:
- ldr r0, _0808FC14 @ =sPSSData
- ldr r1, [r0]
- ldr r2, _0808FC18 @ =0x000021d0
- adds r1, r2
-_0808FC0C:
- movs r0, 0
- bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
- b _0808FC7C
- .align 2, 0
-_0808FC14: .4byte sPSSData
-_0808FC18: .4byte 0x000021d0
-_0808FC1C:
- bl sub_809616C
- lsls r0, 24
- cmp r0, 0
- beq _0808FC40
- ldr r0, _0808FC38 @ =sPSSData
- ldr r4, [r0]
- ldr r0, _0808FC3C @ =0x000021db
- adds r4, r0
- bl sub_80961A8
- adds r1, r0, 0
- adds r0, r4, 0
- b _0808FC4C
- .align 2, 0
-_0808FC38: .4byte sPSSData
-_0808FC3C: .4byte 0x000021db
-_0808FC40:
- ldr r0, _0808FC54 @ =sPSSData
- ldr r1, [r0]
- ldr r2, _0808FC58 @ =0x000021db
- adds r0, r1, r2
- ldr r2, _0808FC5C @ =0x00000d61
- adds r1, r2
-_0808FC4C:
- bl StringCopy
- adds r2, r0, 0
- b _0808FC62
- .align 2, 0
-_0808FC54: .4byte sPSSData
-_0808FC58: .4byte 0x000021db
-_0808FC5C: .4byte 0x00000d61
-_0808FC60:
- adds r2, r1, 0
-_0808FC62:
- subs r1, r2, 0x1
- ldrb r0, [r1]
- cmp r0, 0
- beq _0808FC60
- movs r0, 0xFF
- strb r0, [r2]
- ldr r0, _0808FCDC @ =sPSSData
- ldr r1, [r0]
- ldr r0, _0808FCE0 @ =0x000021db
- adds r1, r0
- movs r0, 0
- bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
-_0808FC7C:
- ldr r5, _0808FCDC @ =sPSSData
- ldr r0, [r5]
- movs r4, 0x86
- lsls r4, 6
- adds r0, r4
- ldr r2, _0808FCE4 @ =gUnknown_83CEA88
- lsls r1, r6, 3
- adds r1, r2
- ldr r1, [r1]
- bl DynamicPlaceholderTextUtil_ExpandPlaceholders
- movs r0, 0x1
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r2, [r5]
- adds r2, r4
- movs r0, 0x2
- str r0, [sp]
- movs r0, 0xFF
- str r0, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0x1
- movs r3, 0
- bl AddTextPrinterParameterized
- movs r0, 0x1
- movs r1, 0x2
- movs r2, 0xD
- bl DrawTextBorderOuter
- movs r0, 0x1
- bl PutWindowTilemap
- movs r0, 0x1
- movs r1, 0x2
- bl CopyWindowToVram
- movs r0, 0
- bl ScheduleBgCopyTilemapToVram
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0808FCDC: .4byte sPSSData
-_0808FCE0: .4byte 0x000021db
-_0808FCE4: .4byte gUnknown_83CEA88
- thumb_func_end sub_808FBA4
-
- thumb_func_start sub_808FCE8
-sub_808FCE8: @ 808FCE8
- push {r4,lr}
- sub sp, 0xC
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _0808FD1C @ =gUnknown_83CEB80
- movs r1, 0xB
- str r1, [sp]
- movs r1, 0xE
- str r1, [sp, 0x4]
- movs r1, 0x1
- str r1, [sp, 0x8]
- movs r2, 0
- movs r3, 0x2
- bl CreateYesNoMenu
- lsls r4, 24
- asrs r4, 24
- adds r0, r4, 0
- bl Menu_MoveCursorNoWrapAround
- add sp, 0xC
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808FD1C: .4byte gUnknown_83CEB80
- thumb_func_end sub_808FCE8
-
- thumb_func_start sub_808FD20
-sub_808FD20: @ 808FD20
- push {lr}
- movs r0, 0x1
- movs r1, 0
- bl ClearStdWindowAndFrameToTransparent
- movs r0, 0
- bl ScheduleBgCopyTilemapToVram
- pop {r0}
- bx r0
- thumb_func_end sub_808FD20
-
- thumb_func_start sub_808FD34
-sub_808FD34: @ 808FD34
- push {lr}
- bl sub_8094DA8
- movs r0, 0x12
- bl sub_8094DEC
- movs r0, 0x13
- bl sub_8094DEC
- movs r0, 0x14
- bl sub_8094DEC
- movs r0, 0x15
- bl sub_8094DEC
- bl sub_8094E88
- pop {r0}
- bx r0
- thumb_func_end sub_808FD34
-
- thumb_func_start sub_808FD5C
-sub_808FD5C: @ 808FD5C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r5, r4, 0
- bl sub_8094DA8
- cmp r4, 0x1
- beq _0808FD9A
- cmp r4, 0x1
- bgt _0808FD76
- cmp r4, 0
- beq _0808FD80
- b _0808FDE6
-_0808FD76:
- cmp r5, 0x2
- beq _0808FDB4
- cmp r5, 0x3
- beq _0808FDCE
- b _0808FDE6
-_0808FD80:
- movs r0, 0x16
- bl sub_8094DEC
- movs r0, 0x17
- bl sub_8094DEC
- movs r0, 0x18
- bl sub_8094DEC
- movs r0, 0x19
- bl sub_8094DEC
- b _0808FDE6
-_0808FD9A:
- movs r0, 0x1A
- bl sub_8094DEC
- movs r0, 0x1B
- bl sub_8094DEC
- movs r0, 0x1C
- bl sub_8094DEC
- movs r0, 0x1D
- bl sub_8094DEC
- b _0808FDE6
-_0808FDB4:
- movs r0, 0x1E
- bl sub_8094DEC
- movs r0, 0x1F
- bl sub_8094DEC
- movs r0, 0x20
- bl sub_8094DEC
- movs r0, 0x21
- bl sub_8094DEC
- b _0808FDE6
-_0808FDCE:
- movs r0, 0x22
- bl sub_8094DEC
- movs r0, 0x23
- bl sub_8094DEC
- movs r0, 0x24
- bl sub_8094DEC
- movs r0, 0x25
- bl sub_8094DEC
-_0808FDE6:
- bl sub_8094E88
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_808FD5C
-
- thumb_func_start sub_808FDF0
-sub_808FDF0: @ 808FDF0
- ldr r0, _0808FDF8 @ =sCurrentBoxOption
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_0808FDF8: .4byte sCurrentBoxOption
- thumb_func_end sub_808FDF0
-
- thumb_func_start sub_808FDFC
-sub_808FDFC: @ 808FDFC
- push {lr}
- bl sub_80939AC
- lsls r0, 24
- cmp r0, 0
- bne _0808FE38
- ldr r0, _0808FE24 @ =sInPartyMenu
- ldrb r0, [r0]
- cmp r0, 0
- beq _0808FE28
- bl sub_8094CC8
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0x1
- bl sub_8095C84
- b _0808FE38
- .align 2, 0
-_0808FE24: .4byte sInPartyMenu
-_0808FE28:
- bl sub_8094CC8
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0
- bl sub_8095C84
-_0808FE38:
- ldr r1, _0808FE50 @ =gUnknown_20397BA
- ldrh r0, [r1]
- cmp r0, 0
- beq _0808FE4A
- bl sub_8095E2C
- movs r0, 0x3
- bl sub_8094D14
-_0808FE4A:
- pop {r0}
- bx r0
- .align 2, 0
-_0808FE50: .4byte gUnknown_20397BA
- thumb_func_end sub_808FDFC
-
- thumb_func_start sub_808FE54
-sub_808FE54: @ 808FE54
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- bl sub_8094D34
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _0808FE90 @ =sPSSData
- ldr r0, [r0]
- movs r1, 0xCE
- lsls r1, 4
- adds r0, r1
- ldrh r7, [r0]
- ldr r0, _0808FE94 @ =sInPartyMenu
- ldrb r0, [r0]
- cmp r0, 0
- beq _0808FE9C
- movs r6, 0xE
- bl sub_8094CC8
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x64
- muls r0, r1
- ldr r1, _0808FE98 @ =gPlayerParty
- adds r0, r1
- movs r1, 0x41
- bl GetMonData
- b _0808FEB2
- .align 2, 0
-_0808FE90: .4byte sPSSData
-_0808FE94: .4byte sInPartyMenu
-_0808FE98: .4byte gPlayerParty
-_0808FE9C:
- bl StorageGetCurrentBox
- lsls r0, 24
- lsrs r6, r0, 24
- bl sub_8094CC8
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x41
- bl GetBoxMonDataFromSelectedBox
-_0808FEB2:
- lsls r0, 16
- lsrs r3, r0, 16
- ldr r0, _0808FECC @ =sPSSData
- ldr r0, [r0]
- ldr r2, _0808FED0 @ =0x00002228
- adds r1, r0, r2
- cmp r5, 0x1
- beq _0808FF08
- cmp r5, 0x1
- bgt _0808FED4
- cmp r5, 0
- beq _0808FEDE
- b _0808FF6A
- .align 2, 0
-_0808FECC: .4byte sPSSData
-_0808FED0: .4byte 0x00002228
-_0808FED4:
- cmp r5, 0x2
- beq _0808FF3E
- cmp r5, 0x3
- beq _0808FF58
- b _0808FF6A
-_0808FEDE:
- ldr r0, _0808FEF0 @ =sInPartyMenu
- ldrb r0, [r0]
- cmp r0, 0
- beq _0808FEF4
- cmp r4, 0xE
- beq _0808FF6A
-_0808FEEA:
- movs r2, 0x16
- b _0808FF02
- .align 2, 0
-_0808FEF0: .4byte sInPartyMenu
-_0808FEF4:
- cmp r4, 0xE
- beq _0808FEEA
- movs r0, 0x15
- cmp r4, r6
- beq _0808FF00
- movs r0, 0x14
-_0808FF00:
- adds r2, r0, 0
-_0808FF02:
- strh r7, [r1]
- strh r3, [r1, 0x2]
- b _0808FF60
-_0808FF08:
- movs r0, 0
- strh r7, [r1]
- strh r0, [r1, 0x2]
- strb r4, [r1, 0x4]
- movs r0, 0xFF
- strb r0, [r1, 0x5]
- ldr r0, _0808FF24 @ =sInPartyMenu
- ldrb r0, [r0]
- cmp r0, 0
- beq _0808FF28
- cmp r4, 0xE
- beq _0808FF6A
- movs r2, 0x19
- b _0808FF64
- .align 2, 0
-_0808FF24: .4byte sInPartyMenu
-_0808FF28:
- cmp r4, 0xE
- bne _0808FF32
- movs r2, 0x1A
- strb r6, [r1, 0x4]
- b _0808FF64
-_0808FF32:
- cmp r4, r6
- beq _0808FF3A
- movs r2, 0x17
- b _0808FF62
-_0808FF3A:
- movs r2, 0x18
- b _0808FF64
-_0808FF3E:
- movs r2, 0x1A
- movs r0, 0
- strh r7, [r1]
- strh r0, [r1, 0x2]
- ldr r0, _0808FF54 @ =gUnknown_20397B6
- ldrb r0, [r0]
- strb r0, [r1, 0x4]
- movs r0, 0xFF
- strb r0, [r1, 0x5]
- b _0808FF64
- .align 2, 0
-_0808FF54: .4byte gUnknown_20397B6
-_0808FF58:
- movs r2, 0x1B
- movs r0, 0
- strh r0, [r1]
- strh r0, [r1, 0x2]
-_0808FF60:
- strb r4, [r1, 0x4]
-_0808FF62:
- strb r6, [r1, 0x5]
-_0808FF64:
- adds r0, r2, 0
- bl SetQuestLogEvent
-_0808FF6A:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_808FE54
-
- thumb_func_start sub_808FF70
-sub_808FF70: @ 808FF70
- push {r4,lr}
- ldr r4, _0808FFA0 @ =sLastUsedBox
- bl StorageGetCurrentBox
- ldrb r1, [r4]
- lsls r0, 24
- lsrs r0, 24
- cmp r1, r0
- beq _0808FF9A
- ldr r0, _0808FFA4 @ =0x00000843
- bl FlagClear
- ldr r4, _0808FFA8 @ =0x00004037
- bl StorageGetCurrentBox
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl VarSet
-_0808FF9A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808FFA0: .4byte sLastUsedBox
-_0808FFA4: .4byte 0x00000843
-_0808FFA8: .4byte 0x00004037
- thumb_func_end sub_808FF70
-
- thumb_func_start sub_808FFAC
-sub_808FFAC: @ 808FFAC
- push {r4-r6,lr}
- bl LoadMonIconPalettes
- movs r2, 0
- ldr r3, _0809003C @ =sPSSData
- ldr r5, _08090040 @ =0x00000b04
- movs r4, 0
- adds r6, r3, 0
-_0808FFBC:
- ldr r0, [r3]
- lsls r1, r2, 1
- adds r0, r5
- adds r0, r1
- strh r4, [r0]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x27
- bls _0808FFBC
- movs r2, 0
- ldr r5, _0809003C @ =sPSSData
- ldr r4, _08090044 @ =0x00000b54
- movs r3, 0
-_0808FFD8:
- ldr r0, [r5]
- lsls r1, r2, 1
- adds r0, r4
- adds r0, r1
- strh r3, [r0]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x27
- bls _0808FFD8
- movs r2, 0
- ldr r5, _0809003C @ =sPSSData
- ldr r4, _08090048 @ =0x00000a6c
- movs r3, 0
-_0808FFF4:
- ldr r0, [r5]
- lsls r1, r2, 2
- adds r0, r4
- adds r0, r1
- str r3, [r0]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x5
- bls _0808FFF4
- movs r2, 0
- ldr r5, _0809003C @ =sPSSData
- ldr r4, _0809004C @ =0x00000a84
- movs r3, 0
-_08090010:
- ldr r0, [r5]
- lsls r1, r2, 2
- adds r0, r4
- adds r0, r1
- str r3, [r0]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x1D
- bls _08090010
- ldr r0, [r6]
- ldr r2, _08090050 @ =0x00000a68
- adds r1, r0, r2
- movs r2, 0
- str r2, [r1]
- ldr r1, _08090054 @ =0x0000078c
- adds r0, r1
- strh r2, [r0]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0809003C: .4byte sPSSData
-_08090040: .4byte 0x00000b04
-_08090044: .4byte 0x00000b54
-_08090048: .4byte 0x00000a6c
-_0809004C: .4byte 0x00000a84
-_08090050: .4byte 0x00000a68
-_08090054: .4byte 0x0000078c
- thumb_func_end sub_808FFAC
-
- thumb_func_start sub_8090058
-sub_8090058: @ 8090058
- push {lr}
- bl sub_80939F4
- lsls r0, 24
- movs r1, 0x1
- cmp r0, 0
- beq _08090068
- movs r1, 0x2
-_08090068:
- adds r0, r1, 0
- pop {r1}
- bx r1
- thumb_func_end sub_8090058
-
- thumb_func_start sub_8090070
-sub_8090070: @ 8090070
- push {r4-r6,lr}
- sub sp, 0x8
- ldr r5, _080900C4 @ =sPSSData
- ldr r0, [r5]
- ldr r4, _080900C8 @ =0x000020a0
- adds r0, r4
- movs r1, 0
- bl GetMonData
- adds r6, r0, 0
- ldr r0, [r5]
- adds r0, r4
- movs r1, 0x41
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- bl sub_8090058
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp]
- movs r0, 0x7
- str r0, [sp, 0x4]
- adds r0, r4, 0
- adds r1, r6, 0
- movs r2, 0
- movs r3, 0
- bl sub_80912E0
- ldr r1, [r5]
- ldr r2, _080900CC @ =0x00000a68
- adds r1, r2
- str r0, [r1]
- ldr r1, _080900D0 @ =sub_80911B0
- str r1, [r0, 0x1C]
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080900C4: .4byte sPSSData
-_080900C8: .4byte 0x000020a0
-_080900CC: .4byte 0x00000a68
-_080900D0: .4byte sub_80911B0
- thumb_func_end sub_8090070
-
- thumb_func_start sub_80900D4
-sub_80900D4: @ 80900D4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- movs r0, 0
- mov r8, r0
- movs r6, 0
- movs r7, 0
-_080900EE:
- movs r5, 0
- adds r1, r7, 0x1
- mov r10, r1
-_080900F4:
- mov r0, r9
- adds r1, r6, 0
- movs r2, 0x41
- bl GetBoxMonDataFromAnyBox
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0
- beq _0809015C
- mov r0, r9
- adds r1, r6, 0
- movs r2, 0
- bl GetBoxMonDataFromAnyBox
- adds r1, r0, 0
- lsls r2, r5, 1
- adds r2, r5
- lsls r2, 19
- movs r3, 0xC8
- lsls r3, 15
- adds r2, r3
- asrs r2, 16
- lsls r3, r7, 1
- adds r3, r7
- lsls r3, 19
- movs r0, 0xB0
- lsls r0, 14
- adds r3, r0
- movs r0, 0x2
- str r0, [sp]
- movs r0, 0x13
- subs r0, r5
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x4]
- adds r0, r4, 0
- asrs r3, 16
- bl sub_80912E0
- ldr r1, _08090154 @ =sPSSData
- ldr r1, [r1]
- mov r3, r8
- lsls r2, r3, 2
- ldr r3, _08090158 @ =0x00000a84
- adds r1, r3
- adds r1, r2
- str r0, [r1]
- b _0809016C
- .align 2, 0
-_08090154: .4byte sPSSData
-_08090158: .4byte 0x00000a84
-_0809015C:
- ldr r0, _080901E4 @ =sPSSData
- ldr r0, [r0]
- mov r2, r8
- lsls r1, r2, 2
- ldr r3, _080901E8 @ =0x00000a84
- adds r0, r3
- adds r0, r1
- str r4, [r0]
-_0809016C:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- mov r0, r8
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x5
- bls _080900F4
- mov r1, r10
- lsls r0, r1, 16
- lsrs r7, r0, 16
- cmp r7, 0x4
- bls _080900EE
- ldr r0, _080901E4 @ =sPSSData
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x3
- bne _080901D2
- movs r6, 0
- movs r2, 0xD
- negs r2, r2
- adds r4, r2, 0
-_080901A2:
- mov r0, r9
- adds r1, r6, 0
- movs r2, 0xC
- bl GetBoxMonDataFromAnyBox
- cmp r0, 0
- bne _080901C8
- ldr r0, _080901E4 @ =sPSSData
- ldr r0, [r0]
- lsls r1, r6, 2
- ldr r3, _080901E8 @ =0x00000a84
- adds r0, r3
- adds r0, r1
- ldr r2, [r0]
- ldrb r0, [r2, 0x1]
- ands r0, r4
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2, 0x1]
-_080901C8:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x1D
- bls _080901A2
-_080901D2:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080901E4: .4byte sPSSData
-_080901E8: .4byte 0x00000a84
- thumb_func_end sub_80900D4
-
- thumb_func_start sub_80901EC
-sub_80901EC: @ 80901EC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- lsls r0, 24
- lsrs r7, r0, 24
- adds r0, r7, 0
- movs r1, 0x41
- bl GetBoxMonDataFromSelectedBox
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- cmp r0, 0
- beq _08090286
- adds r0, r7, 0
- movs r1, 0x6
- bl __umodsi3
- adds r6, r0, 0
- lsls r0, r6, 24
- lsrs r0, 24
- lsls r5, r0, 1
- adds r5, r0
- lsls r5, 19
- movs r0, 0xC8
- lsls r0, 15
- adds r5, r0
- lsrs r5, 16
- adds r0, r7, 0
- movs r1, 0x6
- bl __udivsi3
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 1
- adds r4, r0
- lsls r4, 19
- movs r0, 0xB0
- lsls r0, 14
- adds r4, r0
- lsrs r4, 16
- adds r0, r7, 0
- movs r1, 0
- bl GetBoxMonDataFromSelectedBox
- adds r1, r0, 0
- movs r0, 0x2
- str r0, [sp]
- movs r0, 0x13
- subs r0, r6
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x4]
- mov r0, r8
- adds r2, r5, 0
- adds r3, r4, 0
- bl sub_80912E0
- adds r3, r0, 0
- ldr r0, _08090294 @ =sPSSData
- ldr r2, [r0]
- lsls r1, r7, 2
- ldr r4, _08090298 @ =0x00000a84
- adds r0, r2, r4
- adds r0, r1
- str r3, [r0]
- ldrb r0, [r2, 0x1]
- cmp r0, 0x3
- bne _08090286
- ldrb r0, [r3, 0x1]
- movs r1, 0xD
- negs r1, r1
- ands r1, r0
- movs r0, 0x4
- orrs r1, r0
- strb r1, [r3, 0x1]
-_08090286:
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08090294: .4byte sPSSData
-_08090298: .4byte 0x00000a84
- thumb_func_end sub_80901EC
-
- thumb_func_start sub_809029C
-sub_809029C: @ 809029C
- push {r4-r7,lr}
- lsls r0, 16
- lsrs r3, r0, 16
- movs r2, 0
- ldr r7, _080902D4 @ =sPSSData
- ldr r6, _080902D8 @ =0x00000a84
- movs r5, 0x1
- ldr r4, _080902DC @ =sub_8090324
-_080902AC:
- ldr r0, [r7]
- lsls r1, r2, 2
- adds r0, r6
- adds r1, r0, r1
- ldr r0, [r1]
- cmp r0, 0
- beq _080902C4
- strh r3, [r0, 0x32]
- ldr r0, [r1]
- strh r5, [r0, 0x36]
- ldr r0, [r1]
- str r4, [r0, 0x1C]
-_080902C4:
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x1D
- bls _080902AC
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080902D4: .4byte sPSSData
-_080902D8: .4byte 0x00000a84
-_080902DC: .4byte sub_8090324
- thumb_func_end sub_809029C
-
- thumb_func_start sub_80902E0
-sub_80902E0: @ 80902E0
- push {lr}
- adds r2, r0, 0
- ldrh r1, [r2, 0x30]
- movs r3, 0x30
- ldrsh r0, [r2, r3]
- cmp r0, 0
- beq _080902FC
- subs r0, r1, 0x1
- strh r0, [r2, 0x30]
- ldrh r0, [r2, 0x32]
- ldrh r1, [r2, 0x20]
- adds r0, r1
- strh r0, [r2, 0x20]
- b _08090312
-_080902FC:
- ldr r0, _08090318 @ =sPSSData
- ldr r1, [r0]
- ldr r3, _0809031C @ =0x00000c62
- adds r1, r3
- ldrh r0, [r1]
- subs r0, 0x1
- strh r0, [r1]
- ldrh r0, [r2, 0x34]
- strh r0, [r2, 0x20]
- ldr r0, _08090320 @ =SpriteCallbackDummy
- str r0, [r2, 0x1C]
-_08090312:
- pop {r0}
- bx r0
- .align 2, 0
-_08090318: .4byte sPSSData
-_0809031C: .4byte 0x00000c62
-_08090320: .4byte SpriteCallbackDummy
- thumb_func_end sub_80902E0
-
- thumb_func_start sub_8090324
-sub_8090324: @ 8090324
- push {lr}
- adds r2, r0, 0
- ldrh r1, [r2, 0x36]
- movs r3, 0x36
- ldrsh r0, [r2, r3]
- cmp r0, 0
- beq _08090338
- subs r0, r1, 0x1
- strh r0, [r2, 0x36]
- b _08090354
-_08090338:
- ldrh r0, [r2, 0x32]
- ldrh r1, [r2, 0x20]
- adds r0, r1
- strh r0, [r2, 0x20]
- ldrh r1, [r2, 0x24]
- adds r0, r1
- strh r0, [r2, 0x38]
- subs r0, 0x45
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xB6
- bls _08090354
- ldr r0, _08090358 @ =SpriteCallbackDummy
- str r0, [r2, 0x1C]
-_08090354:
- pop {r0}
- bx r0
- .align 2, 0
-_08090358: .4byte SpriteCallbackDummy
- thumb_func_end sub_8090324
-
- thumb_func_start sub_809035C
-sub_809035C: @ 809035C
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r6, 0
- ldr r7, _0809039C @ =sPSSData
-_08090366:
- ldr r0, [r7]
- lsls r4, r5, 2
- ldr r1, _080903A0 @ =0x00000a84
- adds r0, r1
- adds r0, r4
- ldr r0, [r0]
- cmp r0, 0
- beq _08090386
- bl sub_80913C4
- ldr r0, [r7]
- ldr r1, _080903A0 @ =0x00000a84
- adds r0, r1
- adds r0, r4
- movs r1, 0
- str r1, [r0]
-_08090386:
- adds r0, r5, 0x6
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0x4
- bls _08090366
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0809039C: .4byte sPSSData
-_080903A0: .4byte 0x00000a84
- thumb_func_end sub_809035C
-
- thumb_func_start sub_80903A4
-sub_80903A4: @ 80903A4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x1C
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 16
- lsrs r1, 16
- str r1, [sp, 0x8]
- lsls r2, 16
- movs r1, 0x2C
- mov r8, r1
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 19
- movs r3, 0xC8
- lsls r3, 15
- adds r1, r3
- lsrs r1, 16
- str r1, [sp, 0x10]
- ldr r1, [sp, 0x8]
- adds r1, 0x1
- lsrs r6, r2, 16
- str r6, [sp, 0xC]
- asrs r2, 16
- muls r1, r2
- ldr r2, [sp, 0x10]
- subs r1, r2, r1
- lsls r1, 16
- lsrs r2, r1, 16
- movs r1, 0x13
- subs r1, r0
- lsls r1, 24
- lsrs r1, 24
- str r1, [sp, 0x14]
- movs r3, 0
- mov r9, r3
- adds r5, r0, 0
- ldr r1, _08090488 @ =sPSSData
- ldr r0, [r1]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x3
- beq _08090498
- movs r7, 0x4
- lsls r2, 16
- mov r10, r2
-_08090404:
- ldr r6, _08090488 @ =sPSSData
- ldr r2, [r6]
- lsls r0, r5, 1
- ldr r3, _0809048C @ =0x00000ba4
- adds r1, r2, r3
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0
- beq _08090470
- lsls r4, r5, 2
- movs r6, 0xBE
- lsls r6, 4
- adds r1, r2, r6
- adds r1, r4
- ldr r1, [r1]
- mov r2, r8
- lsls r3, r2, 16
- asrs r3, 16
- movs r2, 0x2
- str r2, [sp]
- ldr r6, [sp, 0x14]
- str r6, [sp, 0x4]
- mov r6, r10
- asrs r2, r6, 16
- bl sub_80912E0
- adds r2, r0, 0
- ldr r1, _08090488 @ =sPSSData
- ldr r0, [r1]
- ldr r3, _08090490 @ =0x00000a84
- adds r0, r3
- adds r1, r0, r4
- str r2, [r1]
- cmp r2, 0
- beq _08090470
- mov r6, sp
- ldrh r6, [r6, 0x8]
- strh r6, [r2, 0x30]
- ldr r0, [r1]
- mov r2, sp
- ldrh r2, [r2, 0xC]
- strh r2, [r0, 0x32]
- ldr r0, [r1]
- mov r3, sp
- ldrh r3, [r3, 0x10]
- strh r3, [r0, 0x34]
- ldr r1, [r1]
- ldr r0, _08090494 @ =sub_80902E0
- str r0, [r1, 0x1C]
- mov r0, r9
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
-_08090470:
- adds r0, r5, 0x6
- lsls r0, 24
- lsrs r5, r0, 24
- mov r0, r8
- adds r0, 0x18
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- subs r7, 0x1
- cmp r7, 0
- bge _08090404
- b _08090550
- .align 2, 0
-_08090488: .4byte sPSSData
-_0809048C: .4byte 0x00000ba4
-_08090490: .4byte 0x00000a84
-_08090494: .4byte sub_80902E0
-_08090498:
- mov r10, r1
- movs r7, 0x4
- lsls r2, 16
- str r2, [sp, 0x18]
-_080904A0:
- mov r6, r10
- ldr r2, [r6]
- lsls r0, r5, 1
- ldr r3, _08090564 @ =0x00000ba4
- adds r1, r2, r3
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0
- beq _0809053A
- lsls r4, r5, 2
- movs r6, 0xBE
- lsls r6, 4
- adds r1, r2, r6
- adds r1, r4
- ldr r1, [r1]
- mov r2, r8
- lsls r3, r2, 16
- asrs r3, 16
- movs r2, 0x2
- str r2, [sp]
- ldr r6, [sp, 0x14]
- str r6, [sp, 0x4]
- ldr r6, [sp, 0x18]
- asrs r2, r6, 16
- bl sub_80912E0
- adds r2, r0, 0
- mov r0, r10
- ldr r3, [r0]
- ldr r1, _08090568 @ =0x00000a84
- adds r0, r3, r1
- adds r1, r0, r4
- str r2, [r1]
- cmp r2, 0
- beq _0809053A
- mov r6, sp
- ldrh r6, [r6, 0x8]
- strh r6, [r2, 0x30]
- ldr r0, [r1]
- mov r2, sp
- ldrh r2, [r2, 0xC]
- strh r2, [r0, 0x32]
- ldr r0, [r1]
- mov r6, sp
- ldrh r6, [r6, 0x10]
- strh r6, [r0, 0x34]
- ldr r1, [r1]
- ldr r0, _0809056C @ =sub_80902E0
- str r0, [r1, 0x1C]
- ldr r1, _08090570 @ =0x00000c58
- adds r0, r3, r1
- ldrb r0, [r0]
- adds r1, r5, 0
- movs r2, 0xC
- bl GetBoxMonDataFromAnyBox
- cmp r0, 0
- bne _08090530
- mov r2, r10
- ldr r0, [r2]
- ldr r3, _08090568 @ =0x00000a84
- adds r0, r3
- adds r0, r4
- ldr r2, [r0]
- ldrb r1, [r2, 0x1]
- movs r6, 0xD
- negs r6, r6
- adds r0, r6, 0
- ands r1, r0
- movs r0, 0x4
- orrs r1, r0
- strb r1, [r2, 0x1]
-_08090530:
- mov r0, r9
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
-_0809053A:
- adds r0, r5, 0x6
- lsls r0, 24
- lsrs r5, r0, 24
- mov r0, r8
- adds r0, 0x18
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- subs r7, 0x1
- cmp r7, 0
- bge _080904A0
-_08090550:
- mov r0, r9
- add sp, 0x1C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08090564: .4byte 0x00000ba4
-_08090568: .4byte 0x00000a84
-_0809056C: .4byte sub_80902E0
-_08090570: .4byte 0x00000c58
- thumb_func_end sub_80903A4
-
- thumb_func_start sub_8090574
-sub_8090574: @ 8090574
- push {r4-r7,lr}
- adds r4, r1, 0
- lsls r0, 24
- lsrs r0, 24
- lsls r4, 24
- lsrs r4, 24
- ldr r6, _080905D0 @ =sPSSData
- ldr r1, [r6]
- ldr r2, _080905D4 @ =0x00000c66
- adds r1, r2
- movs r5, 0
- strb r5, [r1]
- ldr r1, [r6]
- ldr r3, _080905D8 @ =0x00000c67
- adds r1, r3
- strb r0, [r1]
- ldr r1, [r6]
- ldr r7, _080905DC @ =0x00000c65
- adds r1, r7
- strb r4, [r1]
- ldr r3, [r6]
- ldr r1, _080905E0 @ =0x00000c5c
- adds r2, r3, r1
- movs r1, 0x20
- strh r1, [r2]
- lsls r4, 24
- asrs r4, 24
- lsls r1, r4, 1
- adds r1, r4
- lsls r1, 1
- negs r1, r1
- subs r7, 0x5
- adds r2, r3, r7
- strh r1, [r2]
- ldr r1, _080905E4 @ =0x00000c62
- adds r3, r1
- strh r5, [r3]
- bl sub_8090794
- cmp r4, 0
- ble _080905EC
- ldr r0, [r6]
- ldr r2, _080905E8 @ =0x00000c64
- adds r0, r2
- movs r1, 0
- b _080905F4
- .align 2, 0
-_080905D0: .4byte sPSSData
-_080905D4: .4byte 0x00000c66
-_080905D8: .4byte 0x00000c67
-_080905DC: .4byte 0x00000c65
-_080905E0: .4byte 0x00000c5c
-_080905E4: .4byte 0x00000c62
-_080905E8: .4byte 0x00000c64
-_080905EC:
- ldr r0, [r6]
- ldr r3, _08090620 @ =0x00000c64
- adds r0, r3
- movs r1, 0x5
-_080905F4:
- strb r1, [r0]
- ldr r0, _08090624 @ =sPSSData
- ldr r2, [r0]
- ldr r7, _08090620 @ =0x00000c64
- adds r0, r2, r7
- ldrb r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r0, 0x64
- ldr r3, _08090628 @ =0x00000c5e
- adds r1, r2, r3
- strh r0, [r1]
- subs r7, 0x4
- adds r2, r7
- movs r1, 0
- ldrsh r0, [r2, r1]
- bl sub_809029C
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08090620: .4byte 0x00000c64
-_08090624: .4byte sPSSData
-_08090628: .4byte 0x00000c5e
- thumb_func_end sub_8090574
-
- thumb_func_start sub_809062C
-sub_809062C: @ 809062C
- push {r4-r6,lr}
- ldr r5, _08090658 @ =sPSSData
- ldr r0, [r5]
- ldr r4, _0809065C @ =0x00000c5c
- adds r1, r0, r4
- ldrh r0, [r1]
- cmp r0, 0
- beq _08090640
- subs r0, 0x1
- strh r0, [r1]
-_08090640:
- ldr r3, [r5]
- ldr r6, _08090660 @ =0x00000c66
- adds r0, r3, r6
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _080906C4
- cmp r0, 0x1
- bgt _08090664
- cmp r0, 0
- beq _0809066C
- b _08090782
- .align 2, 0
-_08090658: .4byte sPSSData
-_0809065C: .4byte 0x00000c5c
-_08090660: .4byte 0x00000c66
-_08090664:
- cmp r0, 0x2
- bne _0809066A
- b _08090770
-_0809066A:
- b _08090782
-_0809066C:
- ldr r0, _080906B8 @ =0x00000c5e
- adds r1, r3, r0
- movs r2, 0xC6
- lsls r2, 4
- adds r0, r3, r2
- ldrh r0, [r0]
- ldrh r2, [r1]
- adds r0, r2
- strh r0, [r1]
- subs r0, 0x41
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xBA
- bhi _0809068A
- b _0809078C
-_0809068A:
- ldr r1, _080906BC @ =0x00000c64
- adds r0, r3, r1
- ldrb r0, [r0]
- bl sub_809035C
- ldr r2, [r5]
- ldr r0, _080906B8 @ =0x00000c5e
- adds r3, r2, r0
- ldr r1, _080906C0 @ =0x00000c65
- adds r0, r2, r1
- movs r1, 0
- ldrsb r1, [r0, r1]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- ldrh r1, [r3]
- adds r0, r1
- strh r0, [r3]
- adds r2, r6
- ldrb r0, [r2]
- adds r0, 0x1
- strb r0, [r2]
- b _0809078C
- .align 2, 0
-_080906B8: .4byte 0x00000c5e
-_080906BC: .4byte 0x00000c64
-_080906C0: .4byte 0x00000c65
-_080906C4:
- ldr r2, _08090728 @ =0x00000c5e
- adds r1, r3, r2
- movs r6, 0xC6
- lsls r6, 4
- adds r2, r3, r6
- ldrh r0, [r2]
- ldrh r6, [r1]
- adds r0, r6
- strh r0, [r1]
- ldr r6, _0809072C @ =0x00000c64
- adds r0, r3, r6
- ldrb r0, [r0]
- adds r1, r3, r4
- ldrh r1, [r1]
- movs r3, 0
- ldrsh r2, [r2, r3]
- bl sub_80903A4
- ldr r2, [r5]
- ldr r3, _08090730 @ =0x00000c62
- adds r1, r2, r3
- lsls r0, 24
- lsrs r0, 24
- ldrh r3, [r1]
- adds r0, r3
- strh r0, [r1]
- ldr r1, _08090734 @ =0x00000c65
- adds r0, r2, r1
- movs r1, 0
- ldrsb r1, [r0, r1]
- cmp r1, 0
- ble _0809070C
- adds r0, r2, r6
- ldrb r0, [r0]
- cmp r0, 0x5
- beq _08090718
-_0809070C:
- cmp r1, 0
- bge _08090740
- adds r0, r2, r6
- ldrb r0, [r0]
- cmp r0, 0
- bne _08090740
-_08090718:
- ldr r0, _08090738 @ =sPSSData
- ldr r1, [r0]
- ldr r2, _0809073C @ =0x00000c66
- adds r1, r2
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _0809078C
- .align 2, 0
-_08090728: .4byte 0x00000c5e
-_0809072C: .4byte 0x00000c64
-_08090730: .4byte 0x00000c62
-_08090734: .4byte 0x00000c65
-_08090738: .4byte sPSSData
-_0809073C: .4byte 0x00000c66
-_08090740:
- ldr r3, _08090760 @ =sPSSData
- ldr r0, [r3]
- ldr r6, _08090764 @ =0x00000c64
- adds r1, r0, r6
- ldr r2, _08090768 @ =0x00000c65
- adds r0, r2
- ldrb r0, [r0]
- ldrb r6, [r1]
- adds r0, r6
- movs r2, 0
- strb r0, [r1]
- ldr r0, [r3]
- ldr r1, _0809076C @ =0x00000c66
- adds r0, r1
- strb r2, [r0]
- b _0809078C
- .align 2, 0
-_08090760: .4byte sPSSData
-_08090764: .4byte 0x00000c64
-_08090768: .4byte 0x00000c65
-_0809076C: .4byte 0x00000c66
-_08090770:
- ldr r2, _08090788 @ =0x00000c62
- adds r0, r3, r2
- ldrh r0, [r0]
- cmp r0, 0
- bne _0809078C
- adds r1, r3, r4
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_08090782:
- movs r0, 0
- b _0809078E
- .align 2, 0
-_08090788: .4byte 0x00000c62
-_0809078C:
- movs r0, 0x1
-_0809078E:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_809062C
-
- thumb_func_start sub_8090794
-sub_8090794: @ 8090794
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r6, r0, 24
- movs r5, 0
- movs r0, 0
- ldr r1, _08090810 @ =sPSSData
- mov r9, r1
-_080907A8:
- adds r0, 0x1
- mov r8, r0
- movs r7, 0x5
-_080907AE:
- lsls r0, r5, 24
- lsrs r4, r0, 24
- adds r0, r6, 0
- adds r1, r4, 0
- movs r2, 0x41
- bl GetBoxMonDataFromAnyBox
- mov r2, r9
- ldr r1, [r2]
- lsls r2, r5, 1
- ldr r3, _08090814 @ =0x00000ba4
- adds r1, r3
- adds r1, r2
- strh r0, [r1]
- lsls r0, 16
- cmp r0, 0
- beq _080907EA
- adds r0, r6, 0
- adds r1, r4, 0
- movs r2, 0
- bl GetBoxMonDataFromAnyBox
- mov r2, r9
- ldr r1, [r2]
- lsls r2, r5, 2
- movs r3, 0xBE
- lsls r3, 4
- adds r1, r3
- adds r1, r2
- str r0, [r1]
-_080907EA:
- adds r5, 0x1
- subs r7, 0x1
- cmp r7, 0
- bge _080907AE
- mov r0, r8
- cmp r0, 0x4
- ble _080907A8
- ldr r0, _08090810 @ =sPSSData
- ldr r0, [r0]
- ldr r1, _08090818 @ =0x00000c58
- adds r0, r1
- strb r6, [r0]
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08090810: .4byte sPSSData
-_08090814: .4byte 0x00000ba4
-_08090818: .4byte 0x00000c58
- thumb_func_end sub_8090794
-
- thumb_func_start sub_809081C
-sub_809081C: @ 809081C
- push {r4,r5,lr}
- lsls r0, 24
- ldr r5, _08090848 @ =sPSSData
- ldr r1, [r5]
- lsrs r4, r0, 22
- ldr r0, _0809084C @ =0x00000a84
- adds r1, r0
- adds r1, r4
- ldr r0, [r1]
- cmp r0, 0
- beq _08090842
- bl sub_80913C4
- ldr r0, [r5]
- ldr r1, _0809084C @ =0x00000a84
- adds r0, r1
- adds r0, r4
- movs r1, 0
- str r1, [r0]
-_08090842:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08090848: .4byte sPSSData
-_0809084C: .4byte 0x00000a84
- thumb_func_end sub_809081C
-
- thumb_func_start sub_8090850
-sub_8090850: @ 8090850
- push {lr}
- lsls r0, 24
- lsls r1, 24
- lsrs r2, r1, 24
- ldr r1, _08090884 @ =sPSSData
- ldr r1, [r1]
- lsrs r0, 22
- ldr r3, _08090888 @ =0x00000a84
- adds r1, r3
- adds r1, r0
- ldr r3, [r1]
- cmp r3, 0
- beq _0809087E
- movs r0, 0x3
- adds r1, r2, 0
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r3, 0x1]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3, 0x1]
-_0809087E:
- pop {r0}
- bx r0
- .align 2, 0
-_08090884: .4byte sPSSData
-_08090888: .4byte 0x00000a84
- thumb_func_end sub_8090850
-
- thumb_func_start sub_809088C
-sub_809088C: @ 809088C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r4, _0809092C @ =gPlayerParty
- adds r0, r4, 0
- movs r1, 0x41
- bl GetMonData
- lsls r0, 16
- lsrs r5, r0, 16
- adds r0, r4, 0
- movs r1, 0
- bl GetMonData
- adds r1, r0, 0
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0xC
- str r0, [sp, 0x4]
- adds r0, r5, 0
- movs r2, 0x68
- movs r3, 0x40
- bl sub_80912E0
- ldr r1, _08090930 @ =sPSSData
- ldr r1, [r1]
- ldr r2, _08090934 @ =0x00000a6c
- adds r1, r2
- str r0, [r1]
- movs r7, 0x1
- movs r6, 0x1
-_080908D2:
- movs r0, 0x64
- adds r1, r6, 0
- muls r1, r0
- ldr r0, _0809092C @ =gPlayerParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0x41
- bl GetMonData
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0
- beq _08090938
- adds r0, r4, 0
- movs r1, 0
- bl GetMonData
- adds r1, r0, 0
- subs r0, r6, 0x1
- lsls r3, r0, 1
- adds r3, r0
- lsls r3, 19
- movs r0, 0x80
- lsls r0, 13
- adds r3, r0
- asrs r3, 16
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0xC
- str r0, [sp, 0x4]
- adds r0, r5, 0
- movs r2, 0x98
- bl sub_80912E0
- ldr r1, _08090930 @ =sPSSData
- ldr r1, [r1]
- lsls r2, r6, 2
- ldr r3, _08090934 @ =0x00000a6c
- adds r1, r3
- adds r1, r2
- str r0, [r1]
- adds r0, r7, 0x1
- lsls r0, 16
- lsrs r7, r0, 16
- b _08090946
- .align 2, 0
-_0809092C: .4byte gPlayerParty
-_08090930: .4byte sPSSData
-_08090934: .4byte 0x00000a6c
-_08090938:
- ldr r0, _080909E8 @ =sPSSData
- ldr r0, [r0]
- lsls r1, r6, 2
- ldr r2, _080909EC @ =0x00000a6c
- adds r0, r2
- adds r0, r1
- str r5, [r0]
-_08090946:
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0x5
- bls _080908D2
- ldr r3, _080909E8 @ =sPSSData
- mov r0, r8
- cmp r0, 0
- bne _0809098A
- movs r6, 0
- cmp r6, r7
- bcs _0809098A
- mov r12, r3
- ldr r5, _080909EC @ =0x00000a6c
- movs r4, 0x4
-_08090964:
- mov r2, r12
- ldr r1, [r2]
- lsls r0, r6, 2
- adds r1, r5
- adds r1, r0
- ldr r2, [r1]
- ldrh r0, [r2, 0x22]
- subs r0, 0xA0
- strh r0, [r2, 0x22]
- ldr r1, [r1]
- adds r1, 0x3E
- ldrb r0, [r1]
- orrs r0, r4
- strb r0, [r1]
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, r7
- bcc _08090964
-_0809098A:
- ldr r0, [r3]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x3
- bne _080909DA
- movs r6, 0
- adds r7, r3, 0
- ldr r5, _080909EC @ =0x00000a6c
-_08090998:
- ldr r0, [r7]
- lsls r4, r6, 2
- adds r0, r5
- adds r0, r4
- ldr r0, [r0]
- cmp r0, 0
- beq _080909D0
- movs r0, 0x64
- muls r0, r6
- ldr r1, _080909F0 @ =gPlayerParty
- adds r0, r1
- movs r1, 0xC
- bl GetMonData
- cmp r0, 0
- bne _080909D0
- ldr r0, [r7]
- adds r0, r5
- adds r0, r4
- ldr r2, [r0]
- ldrb r1, [r2, 0x1]
- movs r3, 0xD
- negs r3, r3
- adds r0, r3, 0
- ands r1, r0
- movs r0, 0x4
- orrs r1, r0
- strb r1, [r2, 0x1]
-_080909D0:
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0x5
- bls _08090998
-_080909DA:
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080909E8: .4byte sPSSData
-_080909EC: .4byte 0x00000a6c
-_080909F0: .4byte gPlayerParty
- thumb_func_end sub_809088C
-
- thumb_func_start sub_80909F4
-sub_80909F4: @ 80909F4
- push {r4-r7,lr}
- sub sp, 0x4
- ldr r0, _08090A54 @ =sPSSData
- ldr r1, [r0]
- ldr r2, _08090A58 @ =0x00000c5a
- adds r1, r2
- movs r2, 0
- strb r2, [r1]
- movs r5, 0
- movs r6, 0
- adds r3, r0, 0
- ldr r7, _08090A5C @ =0x00000a6c
-_08090A0C:
- ldr r0, [r3]
- lsls r4, r5, 2
- adds r0, r7
- adds r0, r4
- ldr r0, [r0]
- cmp r0, 0
- beq _08090A42
- cmp r5, r6
- beq _08090A3C
- adds r1, r6, 0
- str r3, [sp]
- bl sub_8090A74
- ldr r3, [sp]
- ldr r2, [r3]
- adds r0, r2, r7
- adds r0, r4
- movs r1, 0
- str r1, [r0]
- ldr r0, _08090A58 @ =0x00000c5a
- adds r2, r0
- ldrb r0, [r2]
- adds r0, 0x1
- strb r0, [r2]
-_08090A3C:
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
-_08090A42:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x5
- bls _08090A0C
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08090A54: .4byte sPSSData
-_08090A58: .4byte 0x00000c5a
-_08090A5C: .4byte 0x00000a6c
- thumb_func_end sub_80909F4
-
- thumb_func_start sub_8090A60
-sub_8090A60: @ 8090A60
- ldr r0, _08090A6C @ =sPSSData
- ldr r0, [r0]
- ldr r1, _08090A70 @ =0x00000c5a
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_08090A6C: .4byte sPSSData
-_08090A70: .4byte 0x00000c5a
- thumb_func_end sub_8090A60
-
- thumb_func_start sub_8090A74
-sub_8090A74: @ 8090A74
- push {r4,lr}
- adds r2, r0, 0
- lsls r1, 16
- lsrs r1, 16
- strh r1, [r2, 0x30]
- cmp r1, 0
- bne _08090A88
- movs r3, 0x68
- movs r4, 0x40
- b _08090A9A
-_08090A88:
- movs r3, 0x98
- subs r1, 0x1
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 19
- movs r1, 0x80
- lsls r1, 13
- adds r0, r1
- lsrs r4, r0, 16
-_08090A9A:
- ldrh r0, [r2, 0x20]
- lsls r0, 3
- strh r0, [r2, 0x32]
- ldrh r0, [r2, 0x22]
- lsls r0, 3
- strh r0, [r2, 0x34]
- lsls r1, r3, 3
- movs r3, 0x32
- ldrsh r0, [r2, r3]
- subs r0, r1, r0
- cmp r0, 0
- bge _08090AB4
- adds r0, 0x7
-_08090AB4:
- asrs r0, 3
- strh r0, [r2, 0x36]
- lsls r0, r4, 16
- asrs r0, 13
- movs r3, 0x34
- ldrsh r1, [r2, r3]
- subs r0, r1
- cmp r0, 0
- bge _08090AC8
- adds r0, 0x7
-_08090AC8:
- asrs r0, 3
- strh r0, [r2, 0x38]
- movs r0, 0x8
- strh r0, [r2, 0x3A]
- ldr r0, _08090ADC @ =sub_8090AE0
- str r0, [r2, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08090ADC: .4byte sub_8090AE0
- thumb_func_end sub_8090A74
-
- thumb_func_start sub_8090AE0
-sub_8090AE0: @ 8090AE0
- push {r4,lr}
- adds r3, r0, 0
- ldrh r2, [r3, 0x3A]
- movs r1, 0x3A
- ldrsh r0, [r3, r1]
- cmp r0, 0
- beq _08090B10
- ldrh r0, [r3, 0x36]
- ldrh r4, [r3, 0x32]
- adds r0, r4
- strh r0, [r3, 0x32]
- ldrh r1, [r3, 0x38]
- ldrh r4, [r3, 0x34]
- adds r1, r4
- strh r1, [r3, 0x34]
- lsls r0, 16
- asrs r0, 19
- strh r0, [r3, 0x20]
- lsls r1, 16
- asrs r1, 19
- strh r1, [r3, 0x22]
- subs r0, r2, 0x1
- strh r0, [r3, 0x3A]
- b _08090B54
-_08090B10:
- movs r1, 0x30
- ldrsh r0, [r3, r1]
- cmp r0, 0
- bne _08090B20
- movs r0, 0x68
- strh r0, [r3, 0x20]
- movs r0, 0x40
- b _08090B32
-_08090B20:
- movs r0, 0x98
- strh r0, [r3, 0x20]
- movs r4, 0x30
- ldrsh r1, [r3, r4]
- subs r1, 0x1
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r0, 0x10
-_08090B32:
- strh r0, [r3, 0x22]
- ldr r0, _08090B5C @ =SpriteCallbackDummy
- str r0, [r3, 0x1C]
- ldr r0, _08090B60 @ =sPSSData
- ldr r2, [r0]
- movs r0, 0x30
- ldrsh r1, [r3, r0]
- lsls r1, 2
- ldr r4, _08090B64 @ =0x00000a6c
- adds r0, r2, r4
- adds r0, r1
- str r3, [r0]
- ldr r0, _08090B68 @ =0x00000c5a
- adds r2, r0
- ldrb r0, [r2]
- subs r0, 0x1
- strb r0, [r2]
-_08090B54:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08090B5C: .4byte SpriteCallbackDummy
-_08090B60: .4byte sPSSData
-_08090B64: .4byte 0x00000a6c
-_08090B68: .4byte 0x00000c5a
- thumb_func_end sub_8090AE0
-
- thumb_func_start sub_8090B6C
-sub_8090B6C: @ 8090B6C
- push {r4,lr}
- ldr r4, _08090B90 @ =sPSSData
- ldr r0, [r4]
- ldr r1, _08090B94 @ =0x00000a68
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0
- beq _08090B8A
- bl sub_80913C4
- ldr r0, [r4]
- ldr r1, _08090B94 @ =0x00000a68
- adds r0, r1
- movs r1, 0
- str r1, [r0]
-_08090B8A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08090B90: .4byte sPSSData
-_08090B94: .4byte 0x00000a68
- thumb_func_end sub_8090B6C
-
- thumb_func_start sub_8090B98
-sub_8090B98: @ 8090B98
- push {r4-r6,lr}
- movs r3, 0
- ldr r6, _08090BEC @ =sPSSData
- lsls r0, 16
- asrs r4, r0, 16
- movs r5, 0x5
- negs r5, r5
-_08090BA6:
- ldr r0, [r6]
- lsls r1, r3, 2
- ldr r2, _08090BF0 @ =0x00000a6c
- adds r0, r2
- adds r2, r0, r1
- ldr r1, [r2]
- cmp r1, 0
- beq _08090BFE
- ldrh r0, [r1, 0x22]
- adds r0, r4, r0
- strh r0, [r1, 0x22]
- ldr r2, [r2]
- ldrh r1, [r2, 0x26]
- ldrh r0, [r2, 0x22]
- adds r1, r0
- adds r0, r2, 0
- adds r0, 0x29
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- adds r0, r1
- lsls r0, 16
- movs r1, 0x80
- lsls r1, 13
- adds r0, r1
- lsrs r0, 16
- cmp r0, 0xC0
- bls _08090BF4
- adds r0, r2, 0
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- b _08090BFE
- .align 2, 0
-_08090BEC: .4byte sPSSData
-_08090BF0: .4byte 0x00000a6c
-_08090BF4:
- adds r2, 0x3E
- ldrb r1, [r2]
- adds r0, r5, 0
- ands r0, r1
- strb r0, [r2]
-_08090BFE:
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x5
- bls _08090BA6
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8090B98
-
- thumb_func_start sub_8090C10
-sub_8090C10: @ 8090C10
- push {r4,r5,lr}
- lsls r0, 24
- ldr r5, _08090C3C @ =sPSSData
- ldr r1, [r5]
- lsrs r4, r0, 22
- ldr r0, _08090C40 @ =0x00000a6c
- adds r1, r0
- adds r1, r4
- ldr r0, [r1]
- cmp r0, 0
- beq _08090C36
- bl sub_80913C4
- ldr r0, [r5]
- ldr r1, _08090C40 @ =0x00000a6c
- adds r0, r1
- adds r0, r4
- movs r1, 0
- str r1, [r0]
-_08090C36:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08090C3C: .4byte sPSSData
-_08090C40: .4byte 0x00000a6c
- thumb_func_end sub_8090C10
-
- thumb_func_start sub_8090C44
-sub_8090C44: @ 8090C44
- push {r4-r6,lr}
- movs r5, 0
- ldr r6, _08090C7C @ =sPSSData
-_08090C4A:
- ldr r0, [r6]
- lsls r4, r5, 2
- ldr r1, _08090C80 @ =0x00000a6c
- adds r0, r1
- adds r0, r4
- ldr r0, [r0]
- cmp r0, 0
- beq _08090C6A
- bl sub_80913C4
- ldr r0, [r6]
- ldr r1, _08090C80 @ =0x00000a6c
- adds r0, r1
- adds r0, r4
- movs r1, 0
- str r1, [r0]
-_08090C6A:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x5
- bls _08090C4A
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08090C7C: .4byte sPSSData
-_08090C80: .4byte 0x00000a6c
- thumb_func_end sub_8090C44
-
- thumb_func_start sub_8090C84
-sub_8090C84: @ 8090C84
- push {lr}
- lsls r0, 24
- lsls r1, 24
- lsrs r2, r1, 24
- ldr r1, _08090CB8 @ =sPSSData
- ldr r1, [r1]
- lsrs r0, 22
- ldr r3, _08090CBC @ =0x00000a6c
- adds r1, r3
- adds r1, r0
- ldr r3, [r1]
- cmp r3, 0
- beq _08090CB2
- movs r0, 0x3
- adds r1, r2, 0
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r3, 0x1]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3, 0x1]
-_08090CB2:
- pop {r0}
- bx r0
- .align 2, 0
-_08090CB8: .4byte sPSSData
-_08090CBC: .4byte 0x00000a6c
- thumb_func_end sub_8090C84
-
- thumb_func_start sub_8090CC0
-sub_8090CC0: @ 8090CC0
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r1, 24
- adds r5, r1, 0
- cmp r4, 0
- bne _08090CF0
- ldr r3, _08090CE8 @ =sPSSData
- ldr r0, [r3]
- ldr r5, _08090CEC @ =0x00000a68
- adds r2, r0, r5
- lsls r1, 2
- adds r5, 0x4
- adds r0, r5
- adds r0, r1
- ldr r1, [r0]
- str r1, [r2]
- str r4, [r0]
- b _08090D0C
- .align 2, 0
-_08090CE8: .4byte sPSSData
-_08090CEC: .4byte 0x00000a68
-_08090CF0:
- cmp r4, 0x1
- bne _08090D42
- ldr r3, _08090D48 @ =sPSSData
- ldr r0, [r3]
- ldr r1, _08090D4C @ =0x00000a68
- adds r2, r0, r1
- lsls r1, r5, 2
- ldr r4, _08090D50 @ =0x00000a84
- adds r0, r4
- adds r0, r1
- ldr r1, [r0]
- str r1, [r2]
- movs r1, 0
- str r1, [r0]
-_08090D0C:
- adds r5, r3, 0
- ldr r0, [r5]
- ldr r4, _08090D4C @ =0x00000a68
- adds r0, r4
- ldr r1, [r0]
- ldr r0, _08090D54 @ =sub_80911B0
- str r0, [r1, 0x1C]
- bl sub_8090058
- ldr r1, [r5]
- adds r1, r4
- ldr r3, [r1]
- movs r1, 0x3
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r3, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3, 0x5]
- ldr r0, [r5]
- adds r0, r4
- ldr r0, [r0]
- adds r0, 0x43
- movs r1, 0x7
- strb r1, [r0]
-_08090D42:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08090D48: .4byte sPSSData
-_08090D4C: .4byte 0x00000a68
-_08090D50: .4byte 0x00000a84
-_08090D54: .4byte sub_80911B0
- thumb_func_end sub_8090CC0
-
- thumb_func_start sub_8090D58
-sub_8090D58: @ 8090D58
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r6, r1, 24
- cmp r0, 0xE
- bne _08090DA4
- ldr r3, _08090D98 @ =sPSSData
- ldr r1, [r3]
- lsls r5, r6, 2
- ldr r4, _08090D9C @ =0x00000a6c
- adds r0, r1, r4
- adds r0, r5
- ldr r2, _08090DA0 @ =0x00000a68
- adds r1, r2
- ldr r2, [r1]
- str r2, [r0]
- ldrb r1, [r2, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2, 0x5]
- ldr r0, [r3]
- adds r0, r4
- adds r0, r5
- ldr r0, [r0]
- adds r0, 0x43
- movs r1, 0xC
- strb r1, [r0]
- b _08090DE0
- .align 2, 0
-_08090D98: .4byte sPSSData
-_08090D9C: .4byte 0x00000a6c
-_08090DA0: .4byte 0x00000a68
-_08090DA4:
- ldr r5, _08090DF8 @ =sPSSData
- ldr r1, [r5]
- lsls r4, r6, 2
- ldr r3, _08090DFC @ =0x00000a84
- adds r0, r1, r3
- adds r0, r4
- ldr r2, _08090E00 @ =0x00000a68
- adds r1, r2
- ldr r2, [r1]
- str r2, [r0]
- ldrb r1, [r2, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- movs r1, 0x8
- orrs r0, r1
- strb r0, [r2, 0x5]
- ldr r0, [r5]
- adds r0, r3
- adds r0, r4
- ldr r4, [r0]
- adds r0, r6, 0
- movs r1, 0x6
- bl __umodsi3
- movs r1, 0x13
- subs r1, r0
- adds r4, 0x43
- strb r1, [r4]
- adds r3, r5, 0
-_08090DE0:
- ldr r1, [r3]
- ldr r0, _08090E00 @ =0x00000a68
- adds r1, r0
- ldr r2, [r1]
- ldr r0, _08090E04 @ =SpriteCallbackDummy
- str r0, [r2, 0x1C]
- movs r0, 0
- str r0, [r1]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08090DF8: .4byte sPSSData
-_08090DFC: .4byte 0x00000a84
-_08090E00: .4byte 0x00000a68
-_08090E04: .4byte SpriteCallbackDummy
- thumb_func_end sub_8090D58
-
- thumb_func_start sub_8090E08
-sub_8090E08: @ 8090E08
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- cmp r0, 0xE
- bne _08090E30
- ldr r3, _08090E24 @ =sPSSData
- ldr r1, [r3]
- ldr r0, _08090E28 @ =0x00000afc
- adds r2, r1, r0
- lsls r0, r4, 2
- ldr r4, _08090E2C @ =0x00000a6c
- b _08090E3C
- .align 2, 0
-_08090E24: .4byte sPSSData
-_08090E28: .4byte 0x00000afc
-_08090E2C: .4byte 0x00000a6c
-_08090E30:
- ldr r3, _08090E5C @ =sPSSData
- ldr r1, [r3]
- ldr r0, _08090E60 @ =0x00000afc
- adds r2, r1, r0
- lsls r0, r4, 2
- ldr r4, _08090E64 @ =0x00000a84
-_08090E3C:
- adds r0, r4
- adds r1, r0
- str r1, [r2]
- ldr r1, [r3]
- ldr r2, _08090E68 @ =0x00000a68
- adds r0, r1, r2
- ldr r2, [r0]
- ldr r0, _08090E6C @ =SpriteCallbackDummy
- str r0, [r2, 0x1C]
- ldr r4, _08090E70 @ =0x00000c59
- adds r1, r4
- movs r0, 0
- strb r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08090E5C: .4byte sPSSData
-_08090E60: .4byte 0x00000afc
-_08090E64: .4byte 0x00000a84
-_08090E68: .4byte 0x00000a68
-_08090E6C: .4byte SpriteCallbackDummy
-_08090E70: .4byte 0x00000c59
- thumb_func_end sub_8090E08
-
- thumb_func_start sub_8090E74
-sub_8090E74: @ 8090E74
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- ldr r6, _08090E90 @ =sPSSData
- ldr r0, [r6]
- ldr r1, _08090E94 @ =0x00000c59
- mov r9, r1
- adds r1, r0, r1
- ldrb r0, [r1]
- cmp r0, 0x10
- bne _08090E98
- movs r0, 0
- b _08090FA0
- .align 2, 0
-_08090E90: .4byte sPSSData
-_08090E94: .4byte 0x00000c59
-_08090E98:
- adds r0, 0x1
- strb r0, [r1]
- ldr r2, [r6]
- ldr r5, _08090FAC @ =0x00000c59
- adds r0, r2, r5
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08090EC6
- ldr r1, _08090FB0 @ =0x00000afc
- adds r0, r2, r1
- ldr r0, [r0]
- ldr r1, [r0]
- ldrh r0, [r1, 0x22]
- subs r0, 0x1
- strh r0, [r1, 0x22]
- ldr r5, _08090FB4 @ =0x00000a68
- adds r0, r2, r5
- ldr r1, [r0]
- ldrh r0, [r1, 0x22]
- adds r0, 0x1
- strh r0, [r1, 0x22]
-_08090EC6:
- ldr r3, [r6]
- ldr r7, _08090FB0 @ =0x00000afc
- adds r4, r3, r7
- ldr r0, [r4]
- ldr r0, [r0]
- mov r8, r0
- ldr r5, _08090FB8 @ =gSineTable
- mov r0, r9
- adds r1, r3, r0
- ldrb r0, [r1]
- lsls r0, 4
- adds r0, r5
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r0, 0
- bge _08090EE8
- adds r0, 0xF
-_08090EE8:
- asrs r0, 4
- mov r2, r8
- strh r0, [r2, 0x24]
- ldr r0, _08090FB4 @ =0x00000a68
- mov r8, r0
- add r3, r8
- ldr r2, [r3]
- ldrb r0, [r1]
- lsls r0, 4
- adds r0, r5
- movs r5, 0
- ldrsh r0, [r0, r5]
- cmp r0, 0
- bge _08090F06
- adds r0, 0xF
-_08090F06:
- asrs r0, 4
- negs r0, r0
- strh r0, [r2, 0x24]
- ldrb r0, [r1]
- cmp r0, 0x8
- bne _08090F6A
- ldr r3, [r3]
- ldr r0, [r4]
- ldr r0, [r0]
- ldrb r0, [r0, 0x5]
- movs r5, 0x3
- movs r1, 0xC
- ands r1, r0
- ldrb r2, [r3, 0x5]
- movs r4, 0xD
- negs r4, r4
- adds r0, r4, 0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3, 0x5]
- ldr r0, [r6]
- mov r2, r8
- adds r1, r0, r2
- ldr r1, [r1]
- adds r0, r7
- ldr r0, [r0]
- ldr r0, [r0]
- adds r0, 0x43
- ldrb r0, [r0]
- adds r1, 0x43
- strb r0, [r1]
- bl sub_8090058
- ldr r1, [r6]
- adds r1, r7
- ldr r1, [r1]
- ldr r1, [r1]
- ands r5, r0
- lsls r5, 2
- ldrb r0, [r1, 0x5]
- ands r4, r0
- orrs r4, r5
- strb r4, [r1, 0x5]
- ldr r0, [r6]
- adds r0, r7
- ldr r0, [r0]
- ldr r0, [r0]
- adds r0, 0x43
- movs r1, 0x7
- strb r1, [r0]
-_08090F6A:
- ldr r1, [r6]
- mov r5, r9
- adds r0, r1, r5
- ldrb r0, [r0]
- cmp r0, 0x10
- bne _08090F9E
- mov r0, r8
- adds r2, r1, r0
- ldr r3, [r2]
- adds r1, r7
- ldr r0, [r1]
- ldr r0, [r0]
- str r0, [r2]
- ldr r0, [r1]
- str r3, [r0]
- ldr r1, [r6]
- mov r2, r8
- adds r0, r1, r2
- ldr r2, [r0]
- ldr r0, _08090FBC @ =sub_80911B0
- str r0, [r2, 0x1C]
- adds r1, r7
- ldr r0, [r1]
- ldr r1, [r0]
- ldr r0, _08090FC0 @ =SpriteCallbackDummy
- str r0, [r1, 0x1C]
-_08090F9E:
- movs r0, 0x1
-_08090FA0:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08090FAC: .4byte 0x00000c59
-_08090FB0: .4byte 0x00000afc
-_08090FB4: .4byte 0x00000a68
-_08090FB8: .4byte gSineTable
-_08090FBC: .4byte sub_80911B0
-_08090FC0: .4byte SpriteCallbackDummy
- thumb_func_end sub_8090E74
-
- thumb_func_start sub_8090FC4
-sub_8090FC4: @ 8090FC4
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r2, r0, 0
- lsls r1, 24
- lsrs r4, r1, 24
- cmp r0, 0x1
- beq _08090FFC
- cmp r0, 0x1
- bgt _08090FDE
- cmp r0, 0
- beq _08090FE4
- b _08091072
-_08090FDE:
- cmp r2, 0x2
- beq _0809101C
- b _08091072
-_08090FE4:
- ldr r3, _08090FF4 @ =sPSSData
- ldr r1, [r3]
- movs r0, 0xB0
- lsls r0, 4
- adds r2, r1, r0
- lsls r0, r4, 2
- ldr r4, _08090FF8 @ =0x00000a6c
- b _0809100A
- .align 2, 0
-_08090FF4: .4byte sPSSData
-_08090FF8: .4byte 0x00000a6c
-_08090FFC:
- ldr r3, _08091014 @ =sPSSData
- ldr r1, [r3]
- movs r0, 0xB0
- lsls r0, 4
- adds r2, r1, r0
- lsls r0, r4, 2
- ldr r4, _08091018 @ =0x00000a84
-_0809100A:
- adds r0, r4
- adds r1, r0
- str r1, [r2]
- adds r4, r3, 0
- b _0809102E
- .align 2, 0
-_08091014: .4byte sPSSData
-_08091018: .4byte 0x00000a84
-_0809101C:
- ldr r0, _08091078 @ =sPSSData
- ldr r1, [r0]
- movs r3, 0xB0
- lsls r3, 4
- adds r2, r1, r3
- ldr r4, _0809107C @ =0x00000a68
- adds r1, r4
- str r1, [r2]
- adds r4, r0, 0
-_0809102E:
- ldr r0, [r4]
- movs r1, 0xB0
- lsls r1, 4
- adds r0, r1
- ldr r0, [r0]
- ldr r0, [r0]
- cmp r0, 0
- beq _08091072
- bl InitSpriteAffineAnim
- ldr r0, [r4]
- movs r3, 0xB0
- lsls r3, 4
- adds r0, r3
- ldr r0, [r0]
- ldr r2, [r0]
- ldrb r1, [r2, 0x1]
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2, 0x1]
- ldr r1, [r4]
- adds r1, r3
- ldr r0, [r1]
- ldr r2, [r0]
- ldr r0, _08091080 @ =gUnknown_83CEC38
- str r0, [r2, 0x10]
- ldr r0, [r1]
- ldr r0, [r0]
- movs r1, 0
- bl StartSpriteAffineAnim
-_08091072:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08091078: .4byte sPSSData
-_0809107C: .4byte 0x00000a68
-_08091080: .4byte gUnknown_83CEC38
- thumb_func_end sub_8090FC4
-
- thumb_func_start sub_8091084
-sub_8091084: @ 8091084
- push {lr}
- ldr r0, _080910AC @ =sPSSData
- ldr r0, [r0]
- movs r1, 0xB0
- lsls r1, 4
- adds r0, r1
- ldr r0, [r0]
- ldr r1, [r0]
- cmp r1, 0
- beq _080910A6
- adds r3, r1, 0
- adds r3, 0x3E
- ldrb r2, [r3]
- movs r0, 0x4
- ands r0, r2
- cmp r0, 0
- beq _080910B0
-_080910A6:
- movs r0, 0
- b _080910C6
- .align 2, 0
-_080910AC: .4byte sPSSData
-_080910B0:
- adds r0, r1, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080910C4
- movs r0, 0x4
- orrs r0, r2
- strb r0, [r3]
-_080910C4:
- movs r0, 0x1
-_080910C6:
- pop {r1}
- bx r1
- thumb_func_end sub_8091084
-
- thumb_func_start sub_80910CC
-sub_80910CC: @ 80910CC
- push {r4,lr}
- ldr r4, _08091110 @ =sPSSData
- ldr r0, [r4]
- movs r1, 0xB0
- lsls r1, 4
- adds r0, r1
- ldr r0, [r0]
- ldr r0, [r0]
- cmp r0, 0
- beq _08091108
- ldrb r0, [r0, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
- ldr r0, [r4]
- movs r1, 0xB0
- lsls r1, 4
- adds r0, r1
- ldr r0, [r0]
- ldr r0, [r0]
- bl sub_80913C4
- ldr r0, [r4]
- movs r1, 0xB0
- lsls r1, 4
- adds r0, r1
- ldr r1, [r0]
- movs r0, 0
- str r0, [r1]
-_08091108:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08091110: .4byte sPSSData
- thumb_func_end sub_80910CC
-
- thumb_func_start sub_8091114
-sub_8091114: @ 8091114
- push {lr}
- ldr r3, _0809114C @ =sPSSData
- ldr r0, [r3]
- movs r1, 0xB0
- lsls r1, 4
- adds r0, r1
- ldr r0, [r0]
- ldr r0, [r0]
- cmp r0, 0
- beq _08091148
- adds r2, r0, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- ldr r0, [r3]
- movs r1, 0xB0
- lsls r1, 4
- adds r0, r1
- ldr r0, [r0]
- ldr r0, [r0]
- movs r1, 0x1
- bl StartSpriteAffineAnim
-_08091148:
- pop {r0}
- bx r0
- .align 2, 0
-_0809114C: .4byte sPSSData
- thumb_func_end sub_8091114
-
- thumb_func_start sub_8091150
-sub_8091150: @ 8091150
- push {lr}
- ldr r0, _08091168 @ =sPSSData
- ldr r0, [r0]
- movs r1, 0xB0
- lsls r1, 4
- adds r2, r0, r1
- ldr r0, [r2]
- cmp r0, 0
- bne _0809116C
- movs r0, 0
- b _08091180
- .align 2, 0
-_08091168: .4byte sPSSData
-_0809116C:
- ldr r0, [r0]
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _0809117E
- movs r0, 0
- str r0, [r2]
-_0809117E:
- movs r0, 0x1
-_08091180:
- pop {r1}
- bx r1
- thumb_func_end sub_8091150
-
- thumb_func_start sub_8091184
-sub_8091184: @ 8091184
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080911A8 @ =sPSSData
- ldr r1, [r1]
- ldr r2, _080911AC @ =0x00000a68
- adds r1, r2
- ldr r3, [r1]
- movs r1, 0x3
- ands r0, r1
- lsls r0, 2
- ldrb r2, [r3, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- strb r1, [r3, 0x5]
- bx lr
- .align 2, 0
-_080911A8: .4byte sPSSData
-_080911AC: .4byte 0x00000a68
- thumb_func_end sub_8091184
-
- thumb_func_start sub_80911B0
-sub_80911B0: @ 80911B0
- ldr r1, _080911D0 @ =sPSSData
- ldr r1, [r1]
- movs r2, 0xCB
- lsls r2, 4
- adds r1, r2
- ldr r2, [r1]
- ldrh r2, [r2, 0x20]
- strh r2, [r0, 0x20]
- ldr r2, [r1]
- ldrh r1, [r2, 0x26]
- ldrh r2, [r2, 0x22]
- adds r1, r2
- adds r1, 0x4
- strh r1, [r0, 0x22]
- bx lr
- .align 2, 0
-_080911D0: .4byte sPSSData
- thumb_func_end sub_80911B0
-
- thumb_func_start sub_80911D4
-sub_80911D4: @ 80911D4
- push {r4-r6,lr}
- lsls r0, 16
- lsrs r3, r0, 16
- movs r4, 0
- ldr r1, _0809123C @ =sPSSData
- ldr r0, [r1]
- ldr r2, _08091240 @ =0x00000b54
- adds r0, r2
- ldrh r0, [r0]
- adds r2, r1, 0
- cmp r0, r3
- beq _08091208
- adds r6, r2, 0
- ldr r5, _08091240 @ =0x00000b54
-_080911F0:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x27
- bhi _08091208
- ldr r0, [r6]
- lsls r1, r4, 1
- adds r0, r5
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, r3
- bne _080911F0
-_08091208:
- cmp r4, 0x28
- bne _08091248
- movs r4, 0
- ldr r0, [r2]
- ldr r5, _08091240 @ =0x00000b54
- adds r0, r5
- ldrh r0, [r0]
- cmp r0, 0
- beq _08091234
- adds r6, r2, 0
-_0809121C:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x27
- bhi _08091234
- ldr r0, [r6]
- lsls r1, r4, 1
- adds r0, r5
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, 0
- bne _0809121C
-_08091234:
- cmp r4, 0x28
- bne _08091248
- ldr r0, _08091244 @ =0x0000ffff
- b _0809127A
- .align 2, 0
-_0809123C: .4byte sPSSData
-_08091240: .4byte 0x00000b54
-_08091244: .4byte 0x0000ffff
-_08091248:
- ldr r1, [r2]
- lsls r2, r4, 1
- ldr r5, _08091280 @ =0x00000b54
- adds r0, r1, r5
- adds r0, r2
- strh r3, [r0]
- ldr r0, _08091284 @ =0x00000b04
- adds r1, r0
- adds r1, r2
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- lsls r4, 20
- lsrs r4, 16
- adds r0, r3, 0
- movs r1, 0x1
- bl GetMonIconTiles
- lsls r1, r4, 5
- ldr r2, _08091288 @ =0x06010000
- adds r1, r2
- ldr r2, _0809128C @ =0x04000080
- bl CpuSet
- adds r0, r4, 0
-_0809127A:
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08091280: .4byte 0x00000b54
-_08091284: .4byte 0x00000b04
-_08091288: .4byte 0x06010000
-_0809128C: .4byte 0x04000080
- thumb_func_end sub_80911D4
-
- thumb_func_start sub_8091290
-sub_8091290: @ 8091290
- push {r4-r6,lr}
- lsls r0, 16
- lsrs r5, r0, 16
- movs r3, 0
- ldr r6, _080912C4 @ =sPSSData
-_0809129A:
- ldr r1, [r6]
- lsls r2, r3, 1
- ldr r4, _080912C8 @ =0x00000b54
- adds r0, r1, r4
- adds r4, r0, r2
- ldrh r0, [r4]
- cmp r0, r5
- bne _080912D0
- ldr r0, _080912CC @ =0x00000b04
- adds r1, r0
- adds r1, r2
- ldrh r0, [r1]
- subs r0, 0x1
- strh r0, [r1]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0
- bne _080912DA
- strh r0, [r4]
- b _080912DA
- .align 2, 0
-_080912C4: .4byte sPSSData
-_080912C8: .4byte 0x00000b54
-_080912CC: .4byte 0x00000b04
-_080912D0:
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x27
- bls _0809129A
-_080912DA:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8091290
-
- thumb_func_start sub_80912E0
-sub_80912E0: @ 80912E0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x1C
- ldr r4, [sp, 0x3C]
- ldr r5, [sp, 0x40]
- lsls r0, 16
- lsrs r6, r0, 16
- lsls r2, 16
- lsrs r2, 16
- str r2, [sp, 0x18]
- lsls r3, 16
- lsrs r3, 16
- mov r8, r3
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- mov r9, r5
- mov r2, sp
- ldr r0, _08091390 @ =gUnknown_83CEBF0
- ldm r0!, {r3,r5,r7}
- stm r2!, {r3,r5,r7}
- ldm r0!, {r3,r5,r7}
- stm r2!, {r3,r5,r7}
- adds r0, r6, 0
- bl GetIconSpecies
- mov r10, r0
- mov r6, r10
- mov r2, sp
- ldr r1, _08091394 @ =gMonIconPaletteIndices
- adds r1, r6, r1
- ldr r3, _08091398 @ =0x0000dac0
- adds r0, r3, 0
- ldrb r1, [r1]
- adds r0, r1
- strh r0, [r2, 0x2]
- adds r0, r6, 0
- bl sub_80911D4
- lsls r0, 16
- lsrs r0, 16
- adds r5, r0, 0
- ldr r0, _0809139C @ =0x0000ffff
- cmp r5, r0
- beq _080913B2
- ldr r7, [sp, 0x18]
- lsls r1, r7, 16
- asrs r1, 16
- mov r0, r8
- lsls r2, r0, 16
- asrs r2, 16
- mov r0, sp
- mov r3, r9
- bl CreateSprite
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x40
- beq _080913AC
- ldr r1, _080913A0 @ =gSprites
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- ldr r2, _080913A4 @ =0x000003ff
- ands r2, r5
- ldrh r3, [r0, 0x4]
- ldr r1, _080913A8 @ =0xfffffc00
- ands r1, r3
- orrs r1, r2
- strh r1, [r0, 0x4]
- movs r1, 0x3
- ands r4, r1
- lsls r3, r4, 2
- ldrb r2, [r0, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r2
- orrs r1, r3
- strb r1, [r0, 0x5]
- mov r1, r10
- strh r1, [r0, 0x2E]
- b _080913B4
- .align 2, 0
-_08091390: .4byte gUnknown_83CEBF0
-_08091394: .4byte gMonIconPaletteIndices
-_08091398: .4byte 0x0000dac0
-_0809139C: .4byte 0x0000ffff
-_080913A0: .4byte gSprites
-_080913A4: .4byte 0x000003ff
-_080913A8: .4byte 0xfffffc00
-_080913AC:
- adds r0, r6, 0
- bl sub_8091290
-_080913B2:
- movs r0, 0
-_080913B4:
- add sp, 0x1C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80912E0
-
- thumb_func_start sub_80913C4
-sub_80913C4: @ 80913C4
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x2E]
- bl sub_8091290
- adds r0, r4, 0
- bl DestroySprite
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80913C4
-
- thumb_func_start sub_80913DC
-sub_80913DC: @ 80913DC
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _08091404 @ =sub_8091420
- movs r1, 0x2
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _08091408 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- strh r4, [r1, 0xC]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08091404: .4byte sub_8091420
-_08091408: .4byte gTasks
- thumb_func_end sub_80913DC
-
- thumb_func_start sub_809140C
-sub_809140C: @ 809140C
- push {lr}
- ldr r0, _0809141C @ =sub_8091420
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .align 2, 0
-_0809141C: .4byte sub_8091420
- thumb_func_end sub_809140C
-
- thumb_func_start sub_8091420
-sub_8091420: @ 8091420
- push {r4,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r1, _08091444 @ =gTasks
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x4
- bhi _08091504
- lsls r0, 2
- ldr r1, _08091448 @ =_0809144C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08091444: .4byte gTasks
-_08091448: .4byte _0809144C
- .align 2, 0
-_0809144C:
- .4byte _08091460
- .4byte _08091498
- .4byte _080914CC
- .4byte _080914D6
- .4byte _080914FC
-_08091460:
- ldr r1, _0809148C @ =sPSSData
- ldr r0, [r1]
- ldr r2, _08091490 @ =0x000002d2
- adds r0, r2
- movs r2, 0
- strb r2, [r0]
- ldr r1, [r1]
- movs r3, 0xB3
- lsls r3, 2
- adds r0, r1, r3
- strh r2, [r0]
- ldr r0, _08091494 @ =0x00004abc
- adds r1, r0
- movs r2, 0x80
- lsls r2, 5
- movs r0, 0
- movs r3, 0x1
- bl RequestDma3Fill
- strh r0, [r4, 0xA]
- b _08091508
- .align 2, 0
-_0809148C: .4byte sPSSData
-_08091490: .4byte 0x000002d2
-_08091494: .4byte 0x00004abc
-_08091498:
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- bl CheckForSpaceForDma3Request
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- beq _0809150E
- ldr r0, _080914C4 @ =sPSSData
- ldr r1, [r0]
- ldr r2, _080914C8 @ =0x00004abc
- adds r1, r2
- movs r0, 0x2
- bl SetBgTilemapBuffer
- movs r0, 0x2
- bl ShowBg
- b _08091508
- .align 2, 0
-_080914C4: .4byte sPSSData
-_080914C8: .4byte 0x00004abc
-_080914CC:
- ldrb r0, [r4, 0xC]
- movs r1, 0
- bl sub_8091850
- b _08091508
-_080914D6:
- bl sub_809196C
- cmp r0, 0
- beq _0809150E
- ldrb r0, [r4, 0xC]
- bl sub_8091A94
- bl sub_8091F80
- ldrb r0, [r4, 0xC]
- bl sub_80900D4
- ldr r1, _080914F8 @ =0x00005b0a
- movs r0, 0xC
- bl SetGpuReg
- b _08091508
- .align 2, 0
-_080914F8: .4byte 0x00005b0a
-_080914FC:
- adds r0, r2, 0
- bl DestroyTask
- b _08091508
-_08091504:
- movs r0, 0
- b _0809150C
-_08091508:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
-_0809150C:
- strh r0, [r4, 0x8]
-_0809150E:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8091420
-
- thumb_func_start sub_8091514
-sub_8091514: @ 8091514
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r4, r0, 24
- mov r8, r4
- adds r0, r4, 0
- bl sub_80916F4
- lsls r0, 24
- lsrs r0, 24
- adds r6, r0, 0
- ldr r5, _080915D8 @ =sPSSData
- ldr r2, [r5]
- lsls r0, r6, 24
- asrs r3, r0, 24
- movs r0, 0x6
- negs r0, r0
- adds r1, r0, 0
- cmp r3, 0
- ble _08091540
- movs r1, 0x6
-_08091540:
- ldr r7, _080915DC @ =0x000002ce
- adds r0, r2, r7
- strh r1, [r0]
- movs r1, 0x2
- cmp r3, 0
- ble _0809154E
- movs r1, 0x1
-_0809154E:
- ldr r7, _080915E0 @ =0x000002d3
- adds r0, r2, r7
- strb r1, [r0]
- ldr r2, [r5]
- movs r0, 0xB4
- lsls r0, 2
- adds r1, r2, r0
- movs r0, 0x20
- strh r0, [r1]
- movs r1, 0xB5
- lsls r1, 2
- adds r0, r2, r1
- strb r4, [r0]
- ldr r2, [r5]
- movs r1, 0
- cmp r3, 0
- bgt _08091572
- movs r1, 0x5
-_08091572:
- ldr r4, _080915E4 @ =0x000002d6
- adds r0, r2, r4
- strh r1, [r0]
- movs r7, 0xB6
- lsls r7, 2
- adds r0, r2, r7
- strh r3, [r0]
- movs r1, 0x38
- cmp r3, 0
- ble _0809158C
- movs r0, 0x84
- lsls r0, 1
- adds r1, r0, 0
-_0809158C:
- ldr r4, _080915E8 @ =0x000002da
- adds r0, r2, r4
- strh r1, [r0]
- movs r1, 0
- cmp r3, 0
- bgt _0809159A
- movs r1, 0x5
-_0809159A:
- movs r7, 0xB7
- lsls r7, 2
- adds r0, r2, r7
- strh r1, [r0]
- ldr r0, _080915EC @ =0x000002de
- adds r1, r2, r0
- movs r0, 0
- strh r0, [r1]
- movs r3, 0xB8
- lsls r3, 2
- adds r1, r2, r3
- movs r0, 0x2
- strh r0, [r1]
- ldr r4, _080915F0 @ =0x00000a64
- adds r0, r2, r4
- mov r7, r8
- strb r7, [r0]
- ldr r0, [r5]
- ldr r1, _080915F4 @ =0x00000a65
- adds r0, r1
- strb r6, [r0]
- ldr r0, [r5]
- ldr r3, _080915F8 @ =0x00000a63
- adds r0, r3
- movs r1, 0
- strb r1, [r0]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080915D8: .4byte sPSSData
-_080915DC: .4byte 0x000002ce
-_080915E0: .4byte 0x000002d3
-_080915E4: .4byte 0x000002d6
-_080915E8: .4byte 0x000002da
-_080915EC: .4byte 0x000002de
-_080915F0: .4byte 0x00000a64
-_080915F4: .4byte 0x00000a65
-_080915F8: .4byte 0x00000a63
- thumb_func_end sub_8091514
-
- thumb_func_start sub_80915FC
-sub_80915FC: @ 80915FC
- push {r4-r6,lr}
- ldr r4, _08091618 @ =sPSSData
- ldr r1, [r4]
- ldr r5, _0809161C @ =0x00000a63
- adds r0, r1, r5
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _08091644
- cmp r0, 0x1
- bgt _08091620
- cmp r0, 0
- beq _08091626
- b _080916D4
- .align 2, 0
-_08091618: .4byte sPSSData
-_0809161C: .4byte 0x00000a63
-_08091620:
- cmp r0, 0x2
- beq _08091694
- b _080916D4
-_08091626:
- ldr r2, _08091688 @ =0x00000a64
- adds r0, r1, r2
- ldrb r0, [r0]
- adds r2, 0x1
- adds r1, r2
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- bl sub_8091850
- ldr r1, [r4]
- adds r1, r5
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_08091644:
- bl sub_809196C
- cmp r0, 0
- beq _080916E2
- ldr r6, _0809168C @ =sPSSData
- ldr r1, [r6]
- ldr r4, _08091688 @ =0x00000a64
- adds r0, r1, r4
- ldrb r0, [r0]
- ldr r5, _08091690 @ =0x00000a65
- adds r1, r5
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- bl sub_8090574
- ldr r1, [r6]
- adds r4, r1, r4
- ldrb r0, [r4]
- adds r1, r5
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- bl sub_8091C48
- ldr r0, [r6]
- adds r0, r5
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- bl sub_809200C
- b _080916D4
- .align 2, 0
-_08091688: .4byte 0x00000a64
-_0809168C: .4byte sPSSData
-_08091690: .4byte 0x00000a65
-_08091694:
- bl sub_809062C
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r2, [r4]
- movs r4, 0xB4
- lsls r4, 2
- adds r3, r2, r4
- ldrh r0, [r3]
- cmp r0, 0
- beq _080916D0
- movs r0, 0xB3
- lsls r0, 2
- adds r1, r2, r0
- subs r4, 0x2
- adds r0, r2, r4
- ldrh r0, [r0]
- ldrh r2, [r1]
- adds r0, r2
- strh r0, [r1]
- ldrh r0, [r3]
- subs r0, 0x1
- strh r0, [r3]
- lsls r0, 16
- cmp r0, 0
- bne _080916E2
- bl sub_8091E34
- bl sub_80920AC
-_080916D0:
- adds r0, r5, 0
- b _080916E4
-_080916D4:
- ldr r0, _080916EC @ =sPSSData
- ldr r1, [r0]
- ldr r4, _080916F0 @ =0x00000a63
- adds r1, r4
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_080916E2:
- movs r0, 0x1
-_080916E4:
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_080916EC: .4byte sPSSData
-_080916F0: .4byte 0x00000a63
- thumb_func_end sub_80915FC
-
- thumb_func_start sub_80916F4
-sub_80916F4: @ 80916F4
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl StorageGetCurrentBox
- lsls r0, 24
- lsrs r1, r0, 24
- movs r2, 0
- cmp r1, r4
- beq _0809171E
-_08091708:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0xD
- bls _08091714
- movs r1, 0
-_08091714:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r1, r4
- bne _08091708
-_0809171E:
- movs r0, 0x1
- negs r0, r0
- cmp r2, 0x6
- bhi _08091728
- movs r0, 0x1
-_08091728:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80916F4
-
- thumb_func_start sub_8091730
-sub_8091730: @ 8091730
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl StorageGetCurrentBox
- lsls r0, 24
- lsrs r0, 24
- adds r1, r4, 0
- bl sub_808BDBC
- ldr r0, _08091758 @ =sPSSData
- ldr r0, [r0]
- ldr r1, _0809175C @ =0x00000a62
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08091758: .4byte sPSSData
-_0809175C: .4byte 0x00000a62
- thumb_func_end sub_8091730
-
- thumb_func_start sub_8091760
-sub_8091760: @ 8091760
- push {r4,lr}
- sub sp, 0x4
- ldr r1, _08091780 @ =sPSSData
- ldr r0, [r1]
- ldr r2, _08091784 @ =0x00000a62
- adds r0, r2
- ldrb r0, [r0]
- adds r4, r1, 0
- cmp r0, 0x4
- bhi _08091844
- lsls r0, 2
- ldr r1, _08091788 @ =_0809178C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08091780: .4byte sPSSData
-_08091784: .4byte 0x00000a62
-_08091788: .4byte _0809178C
- .align 2, 0
-_0809178C:
- .4byte _080917A0
- .4byte _080917C8
- .4byte _080917E2
- .4byte _0809181C
- .4byte _08091840
-_080917A0:
- ldr r0, [r4]
- movs r1, 0xE7
- lsls r1, 3
- adds r0, r1
- ldr r0, [r0]
- ldr r1, _080917C0 @ =0x0000ffff
- str r1, [sp]
- movs r1, 0x1
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, [r4]
- ldr r2, _080917C4 @ =0x00000a62
- adds r1, r2
- b _0809182E
- .align 2, 0
-_080917C0: .4byte 0x0000ffff
-_080917C4: .4byte 0x00000a62
-_080917C8:
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- bne _08091844
- bl StorageGetCurrentBox
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- bl sub_8091850
- b _08091826
-_080917E2:
- bl sub_809196C
- cmp r0, 0x1
- bne _08091844
- bl sub_8091EF0
- ldr r4, _08091810 @ =sPSSData
- ldr r0, [r4]
- movs r1, 0xE7
- lsls r1, 3
- adds r0, r1
- ldr r0, [r0]
- ldr r1, _08091814 @ =0x0000ffff
- str r1, [sp]
- movs r1, 0x1
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r1, [r4]
- ldr r2, _08091818 @ =0x00000a62
- adds r1, r2
- b _0809182E
- .align 2, 0
-_08091810: .4byte sPSSData
-_08091814: .4byte 0x0000ffff
-_08091818: .4byte 0x00000a62
-_0809181C:
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- bne _08091844
-_08091826:
- ldr r0, _08091838 @ =sPSSData
- ldr r1, [r0]
- ldr r0, _0809183C @ =0x00000a62
- adds r1, r0
-_0809182E:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _08091844
- .align 2, 0
-_08091838: .4byte sPSSData
-_0809183C: .4byte 0x00000a62
-_08091840:
- movs r0, 0
- b _08091846
-_08091844:
- movs r0, 0x1
-_08091846:
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8091760
-
- thumb_func_start sub_8091850
-sub_8091850: @ 8091850
- push {r4-r7,lr}
- sub sp, 0x4
- ldr r4, _08091904 @ =sPSSData
- ldr r2, [r4]
- ldr r3, _08091908 @ =0x000006f9
- adds r2, r3
- movs r3, 0
- strb r3, [r2]
- ldr r2, [r4]
- ldr r3, _0809190C @ =0x000006fa
- adds r2, r3
- strb r0, [r2]
- ldr r0, [r4]
- ldr r2, _08091910 @ =0x000006fb
- adds r0, r2
- strb r1, [r0]
- ldr r1, [r4]
- adds r2, r1, r2
- movs r0, 0
- ldrsb r0, [r2, r0]
- cmp r0, 0
- beq _08091896
- movs r3, 0
- ldr r0, _08091914 @ =0x000002d2
- adds r2, r1, r0
- ldrb r0, [r2]
- cmp r0, 0
- bne _0809188A
- movs r3, 0x1
-_0809188A:
- strb r3, [r2]
- ldr r0, [r4]
- ldr r1, _08091918 @ =0x00004abc
- adds r0, r1
- bl sub_8091A24
-_08091896:
- ldr r6, _08091904 @ =sPSSData
- ldr r0, [r6]
- ldr r2, _0809190C @ =0x000006fa
- adds r0, r2
- ldrb r0, [r0]
- bl sub_808BD94
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- ldr r0, _0809191C @ =gUnknown_83D2A10
- adds r7, r1, r0
- ldr r0, [r7, 0x4]
- ldr r1, [r6]
- ldr r5, _08091920 @ =0x00000792
- adds r1, r5
- bl LZ77UnCompWram
- ldr r1, [r6]
- ldr r3, _08091918 @ =0x00004abc
- adds r0, r1, r3
- adds r5, r1, r5
- ldr r4, _08091910 @ =0x000006fb
- adds r2, r1, r4
- ldrb r2, [r2]
- lsls r2, 24
- asrs r2, 24
- ldr r3, _08091914 @ =0x000002d2
- adds r1, r3
- ldrb r3, [r1]
- adds r1, r5, 0
- bl sub_8091984
- ldr r1, [r6]
- adds r4, r1, r4
- movs r0, 0
- ldrsb r0, [r4, r0]
- cmp r0, 0
- beq _08091924
- ldr r0, [r7, 0x8]
- ldr r2, _08091914 @ =0x000002d2
- adds r1, r2
- ldrb r1, [r1]
- lsls r1, 21
- movs r3, 0x80
- lsls r3, 15
- adds r1, r3
- lsrs r1, 16
- movs r2, 0x40
- bl LoadPalette
- b _08091938
- .align 2, 0
-_08091904: .4byte sPSSData
-_08091908: .4byte 0x000006f9
-_0809190C: .4byte 0x000006fa
-_08091910: .4byte 0x000006fb
-_08091914: .4byte 0x000002d2
-_08091918: .4byte 0x00004abc
-_0809191C: .4byte gUnknown_83D2A10
-_08091920: .4byte 0x00000792
-_08091924:
- ldr r0, [r7, 0x8]
- ldr r2, _08091960 @ =0x000002d2
- adds r1, r2
- ldrb r1, [r1]
- lsls r1, 6
- ldr r2, _08091964 @ =gPlttBufferUnfaded + 0x80
- adds r1, r2
- movs r2, 0x20
- bl CpuSet
-_08091938:
- ldr r1, [r7]
- ldr r0, _08091968 @ =sPSSData
- ldr r0, [r0]
- ldr r3, _08091960 @ =0x000002d2
- adds r0, r3
- ldrb r3, [r0]
- lsls r3, 8
- movs r0, 0
- str r0, [sp]
- movs r0, 0x2
- movs r2, 0
- bl DecompressAndLoadBgGfxUsingHeap
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08091960: .4byte 0x000002d2
-_08091964: .4byte gPlttBufferUnfaded + 0x80
-_08091968: .4byte sPSSData
- thumb_func_end sub_8091850
-
- thumb_func_start sub_809196C
-sub_809196C: @ 809196C
- push {lr}
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0809197E
- movs r0, 0x1
- b _08091980
-_0809197E:
- movs r0, 0
-_08091980:
- pop {r1}
- bx r1
- thumb_func_end sub_809196C
-
- thumb_func_start sub_8091984
-sub_8091984: @ 8091984
- push {r4-r7,lr}
- sub sp, 0x24
- lsls r3, 24
- lsrs r3, 24
- lsls r5, r3, 17
- ldr r0, _080919F0 @ =sPSSData
- ldr r0, [r0]
- movs r4, 0xB3
- lsls r4, 2
- adds r0, r4
- ldrh r4, [r0]
- lsrs r4, 3
- adds r4, 0xA
- lsls r2, 24
- asrs r7, r2, 24
- lsls r0, r7, 1
- adds r0, r7
- lsls r0, 3
- adds r6, r4, r0
- movs r0, 0x3F
- ands r6, r0
- movs r4, 0x14
- str r4, [sp]
- movs r2, 0x12
- str r2, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r0, 0x2
- str r0, [sp, 0xC]
- str r4, [sp, 0x10]
- str r2, [sp, 0x14]
- movs r0, 0x11
- str r0, [sp, 0x18]
- lsls r3, 24
- asrs r3, 16
- str r3, [sp, 0x1C]
- movs r0, 0xC0
- lsls r0, 10
- adds r5, r0
- asrs r5, 16
- str r5, [sp, 0x20]
- movs r0, 0x2
- movs r2, 0
- movs r3, 0
- bl CopyRectToBgTilemapBufferRect
- cmp r7, 0
- beq _08091A16
- cmp r7, 0
- ble _080919F4
- lsls r0, r6, 16
- movs r1, 0xA0
- lsls r1, 13
- adds r0, r1
- b _080919FA
- .align 2, 0
-_080919F0: .4byte sPSSData
-_080919F4:
- lsls r0, r6, 16
- ldr r4, _08091A20 @ =0xfffc0000
- adds r0, r4
-_080919FA:
- lsrs r6, r0, 16
- lsls r2, r6, 24
- lsrs r2, 24
- movs r0, 0x4
- str r0, [sp]
- movs r0, 0x12
- str r0, [sp, 0x4]
- movs r0, 0x11
- str r0, [sp, 0x8]
- movs r0, 0x2
- movs r1, 0
- movs r3, 0x2
- bl FillBgTilemapBufferRect
-_08091A16:
- add sp, 0x24
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08091A20: .4byte 0xfffc0000
- thumb_func_end sub_8091984
-
- thumb_func_start sub_8091A24
-sub_8091A24: @ 8091A24
- push {r4-r6,lr}
- adds r2, r0, 0
- ldr r0, _08091A50 @ =sPSSData
- ldr r0, [r0]
- movs r1, 0xB3
- lsls r1, 2
- adds r0, r1
- ldrh r0, [r0]
- lsrs r0, 3
- adds r3, r0, 0
- adds r3, 0x1E
- movs r0, 0x3F
- ands r3, r0
- adds r0, r3, 0
- cmp r0, 0x1F
- bgt _08091A54
- lsls r0, 1
- movs r6, 0x98
- lsls r6, 3
- adds r0, r6
- b _08091A5C
- .align 2, 0
-_08091A50: .4byte sPSSData
-_08091A54:
- lsls r0, 1
- movs r1, 0xC8
- lsls r1, 4
- adds r0, r1
-_08091A5C:
- adds r2, r0
- movs r0, 0
- movs r5, 0
- movs r4, 0x3F
-_08091A64:
- strh r5, [r2]
- adds r2, 0x2
- adds r3, 0x1
- ands r3, r4
- adds r1, r3, 0
- cmp r1, 0
- bne _08091A76
- ldr r6, _08091A90 @ =0xfffff7c0
- adds r2, r6
-_08091A76:
- cmp r1, 0x20
- bne _08091A80
- movs r1, 0xF8
- lsls r1, 3
- adds r2, r1
-_08091A80:
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x2B
- bls _08091A64
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08091A90: .4byte 0xfffff7c0
- thumb_func_end sub_8091A24
-
- thumb_func_start sub_8091A94
-sub_8091A94: @ 8091A94
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x34
- mov r8, r0
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r1, _08091C1C @ =sPSSData
- mov r10, r1
- ldr r1, [r1]
- movs r2, 0xBE
- lsls r2, 2
- adds r0, r1, r2
- str r0, [sp, 0x28]
- mov r3, sp
- adds r3, 0x28
- str r3, [sp, 0x30]
- ldr r0, _08091C20 @ =0x00030200
- str r0, [r3, 0x4]
- ldr r4, _08091C24 @ =0x000006fc
- adds r1, r4
- str r1, [sp, 0x18]
- add r0, sp, 0x1C
- ldr r7, _08091C28 @ =0x0000dac9
- strh r7, [r0]
- add r0, sp, 0x20
- movs r1, 0
- movs r2, 0x8
- bl memset
- add r1, sp, 0x18
- add r0, sp, 0x8
- movs r2, 0x10
- bl memcpy
- mov r0, r8
- bl sub_808BD94
- lsls r0, 24
- mov r5, r10
- ldr r4, [r5]
- ldr r2, _08091C2C @ =gUnknown_83D29D0
- lsrs r0, 22
- adds r1, r0, r2
- ldrh r3, [r1]
- movs r5, 0xE3
- lsls r5, 3
- adds r1, r4, r5
- strh r3, [r1]
- adds r2, 0x2
- adds r0, r2
- ldrh r0, [r0]
- ldr r1, _08091C30 @ =0x0000071a
- adds r4, r1
- strh r0, [r4]
- add r0, sp, 0x8
- bl LoadSpritePalettes
- mov r2, r10
- ldr r0, [r2]
- movs r6, 0xE7
- lsls r6, 3
- adds r0, r6
- movs r1, 0xFC
- lsls r1, 2
- str r1, [r0]
- adds r0, r7, 0
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 24
- mov r4, r10
- ldr r3, [r4]
- lsls r1, r0, 4
- movs r5, 0x87
- lsls r5, 1
- mov r9, r5
- add r1, r9
- ldr r4, _08091C34 @ =0x0000071c
- adds r2, r3, r4
- strh r1, [r2]
- adds r3, r6
- movs r5, 0x80
- lsls r5, 9
- adds r1, r5, 0
- lsls r1, r0
- ldr r0, [r3]
- orrs r0, r1
- str r0, [r3]
- adds r0, r7, 0
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 24
- mov r1, r10
- ldr r4, [r1]
- lsls r1, r0, 4
- add r1, r9
- ldr r3, _08091C38 @ =0x0000071e
- adds r2, r4, r3
- strh r1, [r2]
- adds r6, r4, r6
- lsls r5, r0
- ldr r0, [r6]
- orrs r0, r5
- str r0, [r6]
- ldr r5, _08091C3C @ =0x000021a8
- adds r4, r5
- mov r0, r8
- bl GetBoxNamePtr
- adds r1, r0, 0
- adds r0, r4, 0
- movs r2, 0
- movs r3, 0x8
- bl StringCopyPadded
- mov r4, r10
- ldr r0, [r4]
- adds r5, r0, r5
- movs r2, 0xBE
- lsls r2, 2
- adds r1, r0, r2
- movs r3, 0x9F
- lsls r3, 3
- adds r0, r3
- str r0, [sp]
- movs r0, 0x2
- str r0, [sp, 0x4]
- adds r0, r5, 0
- movs r2, 0
- movs r3, 0
- bl PSS_RenderTextToVramViaBuffer
- ldr r0, [sp, 0x30]
- bl LoadSpriteSheet
- mov r0, r8
- bl GetBoxNamePtr
- bl sub_8091F60
- movs r4, 0
- lsls r0, 16
- asrs r6, r0, 16
-_08091BBC:
- lsls r1, r4, 5
- adds r1, r6, r1
- lsls r1, 16
- asrs r1, 16
- ldr r0, _08091C40 @ =gUnknown_83D2B7C
- movs r2, 0x1C
- movs r3, 0x18
- bl CreateSprite
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r5, _08091C1C @ =sPSSData
- ldr r2, [r5]
- lsls r0, r4, 2
- movs r3, 0xE4
- lsls r3, 3
- adds r2, r3
- adds r2, r0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _08091C44 @ =gSprites
- adds r0, r1
- str r0, [r2]
- lsls r1, r4, 24
- lsrs r1, 24
- bl StartSpriteAnim
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x1
- bls _08091BBC
- ldr r0, [r5]
- movs r4, 0xDF
- lsls r4, 3
- adds r0, r4
- movs r1, 0
- strb r1, [r0]
- add sp, 0x34
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08091C1C: .4byte sPSSData
-_08091C20: .4byte 0x00030200
-_08091C24: .4byte 0x000006fc
-_08091C28: .4byte 0x0000dac9
-_08091C2C: .4byte gUnknown_83D29D0
-_08091C30: .4byte 0x0000071a
-_08091C34: .4byte 0x0000071c
-_08091C38: .4byte 0x0000071e
-_08091C3C: .4byte 0x000021a8
-_08091C40: .4byte gUnknown_83D2B7C
-_08091C44: .4byte gSprites
- thumb_func_end sub_8091A94
-
- thumb_func_start sub_8091C48
-sub_8091C48: @ 8091C48
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x30
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x2C]
- lsls r1, 24
- lsrs r1, 24
- mov r10, r1
- ldr r4, _08091CC4 @ =sPSSData
- ldr r2, [r4]
- movs r1, 0xBE
- lsls r1, 2
- adds r0, r2, r1
- str r0, [sp, 0x20]
- add r3, sp, 0x20
- ldr r5, _08091CC8 @ =0x0000ffff
- mov r12, r5
- movs r6, 0xC0
- lsls r6, 10
- mov r9, r6
- ldr r0, _08091CCC @ =0x00030200
- str r0, [r3, 0x4]
- add r1, sp, 0x8
- ldr r0, _08091CD0 @ =gUnknown_83D2B7C
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- movs r1, 0
- movs r5, 0xDF
- lsls r5, 3
- adds r2, r5
- ldrb r0, [r2]
- mov r8, r4
- adds r6, r3, 0
- cmp r0, 0
- bne _08091C9C
- movs r1, 0x1
-_08091C9C:
- strb r1, [r2]
- mov r7, r8
- ldr r0, [r7]
- adds r0, r5
- ldrb r0, [r0]
- cmp r0, 0
- bne _08091CD8
- ldr r0, [r6, 0x4]
- mov r1, r12
- ands r0, r1
- mov r2, r9
- orrs r0, r2
- str r0, [r6, 0x4]
- ldr r0, [r7]
- ldr r3, _08091CD4 @ =0x0000071c
- adds r0, r3
- ldrh r0, [r0]
- mov r9, r0
- b _08091CFC
- .align 2, 0
-_08091CC4: .4byte sPSSData
-_08091CC8: .4byte 0x0000ffff
-_08091CCC: .4byte 0x00030200
-_08091CD0: .4byte gUnknown_83D2B7C
-_08091CD4: .4byte 0x0000071c
-_08091CD8:
- ldr r0, [r6, 0x4]
- mov r5, r12
- ands r0, r5
- movs r1, 0x80
- lsls r1, 11
- orrs r0, r1
- str r0, [r6, 0x4]
- mov r7, r8
- ldr r0, [r7]
- ldr r1, _08091E18 @ =0x0000071c
- adds r0, r1
- ldrh r0, [r0]
- mov r9, r0
- add r1, sp, 0x8
- movs r0, 0x4
- strh r0, [r1]
- ldr r0, _08091E1C @ =0x0000dac9
- strh r0, [r1, 0x2]
-_08091CFC:
- mov r2, r8
- ldr r4, [r2]
- ldr r5, _08091E20 @ =0x000021a8
- adds r4, r5
- ldr r0, [sp, 0x2C]
- bl GetBoxNamePtr
- adds r1, r0, 0
- adds r0, r4, 0
- movs r2, 0
- movs r3, 0x8
- bl StringCopyPadded
- mov r3, r8
- ldr r0, [r3]
- adds r5, r0, r5
- movs r7, 0xBE
- lsls r7, 2
- adds r1, r0, r7
- movs r2, 0x9F
- lsls r2, 3
- adds r0, r2
- str r0, [sp]
- movs r0, 0x2
- str r0, [sp, 0x4]
- adds r0, r5, 0
- movs r2, 0
- movs r3, 0
- bl PSS_RenderTextToVramViaBuffer
- adds r0, r6, 0
- bl LoadSpriteSheet
- ldr r0, [sp, 0x2C]
- bl sub_808BD94
- lsls r0, 24
- lsrs r0, 22
- ldr r1, _08091E24 @ =gUnknown_83D29D0
- adds r0, r1
- mov r1, r9
- movs r2, 0x4
- bl LoadPalette
- ldr r0, [sp, 0x2C]
- bl GetBoxNamePtr
- bl sub_8091F60
- lsls r0, 16
- mov r3, r10
- lsls r2, r3, 24
- asrs r2, 24
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 6
- lsrs r5, r0, 16
- str r5, [sp, 0x28]
- asrs r0, 16
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
- mov r10, r0
- movs r7, 0
- mov r9, r8
- negs r2, r2
- mov r8, r2
-_08091D82:
- lsls r6, r7, 5
- mov r0, r10
- lsls r1, r0, 16
- asrs r1, 16
- adds r1, r6
- lsls r1, 16
- asrs r1, 16
- add r0, sp, 0x8
- movs r2, 0x1C
- movs r3, 0x18
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- mov r1, r9
- ldr r2, [r1]
- lsls r5, r7, 2
- movs r3, 0xE5
- lsls r3, 3
- adds r2, r3
- adds r2, r5
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, _08091E28 @ =gSprites
- adds r1, r0
- str r1, [r2]
- mov r0, r8
- lsls r4, r0, 1
- add r4, r8
- lsls r4, 1
- strh r4, [r1, 0x2E]
- ldr r1, [r2]
- ldr r3, [sp, 0x28]
- lsls r0, r3, 16
- asrs r0, 16
- adds r0, r6
- strh r0, [r1, 0x30]
- ldr r0, [r2]
- movs r6, 0
- strh r6, [r0, 0x32]
- ldr r0, [r2]
- ldr r1, _08091E2C @ =sub_8091E84
- str r1, [r0, 0x1C]
- lsls r1, r7, 24
- lsrs r1, 24
- bl StartSpriteAnim
- mov r1, r9
- ldr r0, [r1]
- movs r2, 0xE4
- lsls r2, 3
- adds r0, r2
- adds r0, r5
- ldr r1, [r0]
- strh r4, [r1, 0x2E]
- ldr r2, [r0]
- movs r1, 0x1
- strh r1, [r2, 0x30]
- ldr r1, [r0]
- ldr r0, _08091E30 @ =sub_8091EB8
- str r0, [r1, 0x1C]
- adds r0, r7, 0x1
- lsls r0, 16
- lsrs r7, r0, 16
- cmp r7, 0x1
- bls _08091D82
- add sp, 0x30
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08091E18: .4byte 0x0000071c
-_08091E1C: .4byte 0x0000dac9
-_08091E20: .4byte 0x000021a8
-_08091E24: .4byte gUnknown_83D29D0
-_08091E28: .4byte gSprites
-_08091E2C: .4byte sub_8091E84
-_08091E30: .4byte sub_8091EB8
- thumb_func_end sub_8091C48
-
- thumb_func_start sub_8091E34
-sub_8091E34: @ 8091E34
- push {lr}
- ldr r0, _08091E50 @ =sPSSData
- ldr r0, [r0]
- movs r1, 0xDF
- lsls r1, 3
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _08091E54
- movs r0, 0x4
- bl FreeSpriteTilesByTag
- b _08091E5A
- .align 2, 0
-_08091E50: .4byte sPSSData
-_08091E54:
- movs r0, 0x3
- bl FreeSpriteTilesByTag
-_08091E5A:
- ldr r0, _08091E7C @ =sPSSData
- ldr r0, [r0]
- movs r3, 0xE4
- lsls r3, 3
- adds r2, r0, r3
- adds r3, 0x8
- adds r1, r0, r3
- ldr r1, [r1]
- str r1, [r2]
- ldr r2, _08091E80 @ =0x00000724
- adds r1, r0, r2
- adds r3, 0x4
- adds r0, r3
- ldr r0, [r0]
- str r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_08091E7C: .4byte sPSSData
-_08091E80: .4byte 0x00000724
- thumb_func_end sub_8091E34
-
- thumb_func_start sub_8091E84
-sub_8091E84: @ 8091E84
- push {lr}
- adds r2, r0, 0
- ldrh r1, [r2, 0x32]
- movs r3, 0x32
- ldrsh r0, [r2, r3]
- cmp r0, 0
- beq _08091E98
- subs r0, r1, 0x1
- strh r0, [r2, 0x32]
- b _08091EB0
-_08091E98:
- ldrh r0, [r2, 0x2E]
- ldrh r1, [r2, 0x20]
- adds r0, r1
- strh r0, [r2, 0x20]
- lsls r0, 16
- asrs r0, 16
- movs r3, 0x30
- ldrsh r1, [r2, r3]
- cmp r0, r1
- bne _08091EB0
- ldr r0, _08091EB4 @ =SpriteCallbackDummy
- str r0, [r2, 0x1C]
-_08091EB0:
- pop {r0}
- bx r0
- .align 2, 0
-_08091EB4: .4byte SpriteCallbackDummy
- thumb_func_end sub_8091E84
-
- thumb_func_start sub_8091EB8
-sub_8091EB8: @ 8091EB8
- push {lr}
- adds r2, r0, 0
- ldrh r1, [r2, 0x30]
- movs r3, 0x30
- ldrsh r0, [r2, r3]
- cmp r0, 0
- beq _08091ECC
- subs r0, r1, 0x1
- strh r0, [r2, 0x30]
- b _08091EEA
-_08091ECC:
- ldrh r0, [r2, 0x2E]
- ldrh r1, [r2, 0x20]
- adds r0, r1
- strh r0, [r2, 0x20]
- ldrh r1, [r2, 0x24]
- adds r0, r1
- strh r0, [r2, 0x32]
- subs r0, 0x40
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xC0
- bls _08091EEA
- adds r0, r2, 0
- bl DestroySprite
-_08091EEA:
- pop {r0}
- bx r0
- thumb_func_end sub_8091EB8
-
- thumb_func_start sub_8091EF0
-sub_8091EF0: @ 8091EF0
- push {lr}
- bl StorageGetCurrentBox
- lsls r0, 24
- lsrs r0, 24
- bl sub_808BD94
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r0, _08091F2C @ =sPSSData
- ldr r2, [r0]
- movs r3, 0xDF
- lsls r3, 3
- adds r0, r2, r3
- ldrb r0, [r0]
- cmp r0, 0
- bne _08091F38
- lsls r0, r1, 2
- ldr r1, _08091F30 @ =gUnknown_83D29D0
- adds r0, r1
- adds r3, 0x24
- adds r1, r2, r3
- ldrh r1, [r1]
- lsls r1, 1
- ldr r2, _08091F34 @ =gPlttBufferUnfaded
- adds r1, r2
- movs r2, 0x2
- bl CpuSet
- b _08091F50
- .align 2, 0
-_08091F2C: .4byte sPSSData
-_08091F30: .4byte gUnknown_83D29D0
-_08091F34: .4byte gPlttBufferUnfaded
-_08091F38:
- lsls r0, r1, 2
- ldr r1, _08091F54 @ =gUnknown_83D29D0
- adds r0, r1
- ldr r3, _08091F58 @ =0x0000071e
- adds r1, r2, r3
- ldrh r1, [r1]
- lsls r1, 1
- ldr r2, _08091F5C @ =gPlttBufferUnfaded
- adds r1, r2
- movs r2, 0x2
- bl CpuSet
-_08091F50:
- pop {r0}
- bx r0
- .align 2, 0
-_08091F54: .4byte gUnknown_83D29D0
-_08091F58: .4byte 0x0000071e
-_08091F5C: .4byte gPlttBufferUnfaded
- thumb_func_end sub_8091EF0
-
- thumb_func_start sub_8091F60
-sub_8091F60: @ 8091F60
- push {lr}
- adds r1, r0, 0
- movs r0, 0x1
- movs r2, 0
- bl GetStringWidth
- adds r1, r0, 0
- lsrs r0, r1, 31
- adds r1, r0
- asrs r1, 1
- movs r0, 0xB0
- subs r0, r1
- lsls r0, 16
- asrs r0, 16
- pop {r1}
- bx r1
- thumb_func_end sub_8091F60
-
- thumb_func_start sub_8091F80
-sub_8091F80: @ 8091F80
- push {r4,r5,lr}
- ldr r0, _08091FFC @ =gUnknown_83D2B54
- bl LoadSpriteSheet
- movs r5, 0
-_08091F8A:
- lsls r1, r5, 4
- adds r1, r5
- lsls r1, 19
- movs r0, 0xB8
- lsls r0, 15
- adds r1, r0
- asrs r1, 16
- ldr r0, _08092000 @ =gUnknown_83D2BB4
- movs r2, 0x1C
- movs r3, 0x16
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- beq _08091FDC
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _08092004 @ =gSprites
- adds r4, r0, r1
- lsls r1, r5, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl StartSpriteAnim
- movs r0, 0x1
- cmp r5, 0
- bne _08091FCA
- movs r1, 0x1
- negs r1, r1
- adds r0, r1, 0
-_08091FCA:
- strh r0, [r4, 0x34]
- ldr r0, _08092008 @ =sPSSData
- ldr r0, [r0]
- lsls r1, r5, 2
- movs r2, 0xE6
- lsls r2, 3
- adds r0, r2
- adds r0, r1
- str r4, [r0]
-_08091FDC:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x1
- bls _08091F8A
- bl sub_80939AC
- lsls r0, 24
- cmp r0, 0
- beq _08091FF6
- movs r0, 0x1
- bl sub_80920FC
-_08091FF6:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08091FFC: .4byte gUnknown_83D2B54
-_08092000: .4byte gUnknown_83D2BB4
-_08092004: .4byte gSprites
-_08092008: .4byte sPSSData
- thumb_func_end sub_8091F80
-
- thumb_func_start sub_809200C
-sub_809200C: @ 809200C
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r2, 0
- ldr r7, _08092060 @ =sPSSData
- mov r12, r7
- movs r6, 0xE6
- lsls r6, 3
- movs r4, 0
- movs r3, 0x2
-_08092020:
- mov r0, r12
- ldr r1, [r0]
- lsls r0, r2, 2
- adds r1, r6
- adds r1, r0
- ldr r0, [r1]
- strh r4, [r0, 0x24]
- ldr r0, [r1]
- strh r3, [r0, 0x2E]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x1
- bls _08092020
- lsls r0, r5, 24
- cmp r0, 0
- bge _08092068
- ldr r1, [r7]
- movs r2, 0xE6
- lsls r2, 3
- adds r3, r1, r2
- ldr r2, [r3]
- movs r0, 0x1D
- strh r0, [r2, 0x30]
- ldr r0, _08092064 @ =0x00000734
- adds r1, r0
- ldr r2, [r1]
- movs r0, 0x5
- strh r0, [r2, 0x30]
- ldr r0, [r3]
- movs r2, 0x48
- b _08092084
- .align 2, 0
-_08092060: .4byte sPSSData
-_08092064: .4byte 0x00000734
-_08092068:
- ldr r1, [r7]
- movs r2, 0xE6
- lsls r2, 3
- adds r3, r1, r2
- ldr r2, [r3]
- movs r0, 0x5
- strh r0, [r2, 0x30]
- ldr r0, _080920A8 @ =0x00000734
- adds r1, r0
- ldr r2, [r1]
- movs r0, 0x1D
- strh r0, [r2, 0x30]
- ldr r0, [r3]
- movs r2, 0xF8
-_08092084:
- strh r2, [r0, 0x32]
- ldr r0, [r1]
- strh r2, [r0, 0x32]
- ldr r1, [r7]
- movs r2, 0xE6
- lsls r2, 3
- adds r0, r1, r2
- ldr r2, [r0]
- movs r0, 0
- strh r0, [r2, 0x3C]
- ldr r0, _080920A8 @ =0x00000734
- adds r1, r0
- ldr r1, [r1]
- movs r0, 0x1
- strh r0, [r1, 0x3C]
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080920A8: .4byte 0x00000734
- thumb_func_end sub_809200C
-
- thumb_func_start sub_80920AC
-sub_80920AC: @ 80920AC
- push {r4-r6,lr}
- movs r3, 0
- movs r5, 0
- movs r6, 0x5
- negs r6, r6
- ldr r4, _080920F8 @ =sPSSData
-_080920B8:
- ldr r1, [r4]
- lsls r0, r3, 2
- movs r2, 0xE6
- lsls r2, 3
- adds r1, r2
- adds r1, r0
- ldr r2, [r1]
- lsls r0, r3, 4
- adds r0, r3
- lsls r0, 3
- adds r0, 0x5C
- strh r0, [r2, 0x20]
- ldr r0, [r1]
- strh r5, [r0, 0x24]
- ldr r1, [r1]
- adds r1, 0x3E
- ldrb r2, [r1]
- adds r0, r6, 0
- ands r0, r2
- strb r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x1
- bls _080920B8
- movs r0, 0x1
- bl sub_80920FC
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080920F8: .4byte sPSSData
- thumb_func_end sub_80920AC
-
- thumb_func_start sub_80920FC
-sub_80920FC: @ 80920FC
- push {r4-r6,lr}
- lsls r0, 24
- cmp r0, 0
- beq _08092138
- movs r2, 0
- ldr r6, _08092134 @ =sPSSData
- movs r5, 0xE6
- lsls r5, 3
- movs r3, 0
- movs r4, 0x1
-_08092110:
- ldr r1, [r6]
- lsls r0, r2, 2
- adds r1, r5
- adds r1, r0
- ldr r0, [r1]
- strh r4, [r0, 0x2E]
- ldr r0, [r1]
- strh r3, [r0, 0x30]
- ldr r0, [r1]
- strh r3, [r0, 0x32]
- ldr r0, [r1]
- strh r3, [r0, 0x36]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x1
- bls _08092110
- b _08092158
- .align 2, 0
-_08092134: .4byte sPSSData
-_08092138:
- movs r2, 0
- ldr r5, _08092160 @ =sPSSData
- movs r4, 0xE6
- lsls r4, 3
- movs r3, 0
-_08092142:
- ldr r0, [r5]
- lsls r1, r2, 2
- adds r0, r4
- adds r0, r1
- ldr r0, [r0]
- strh r3, [r0, 0x2E]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x1
- bls _08092142
-_08092158:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08092160: .4byte sPSSData
- thumb_func_end sub_80920FC
-
- thumb_func_start sub_8092164
-sub_8092164: @ 8092164
- push {lr}
- adds r2, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r2, r1]
- cmp r0, 0x4
- bhi _08092230
- lsls r0, 2
- ldr r1, _0809217C @ =_08092180
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0809217C: .4byte _08092180
- .align 2, 0
-_08092180:
- .4byte _08092194
- .4byte _0809219A
- .4byte _080921C8
- .4byte _080921CE
- .4byte _08092220
-_08092194:
- movs r0, 0
- strh r0, [r2, 0x24]
- b _08092230
-_0809219A:
- ldrh r0, [r2, 0x30]
- adds r0, 0x1
- movs r1, 0
- strh r0, [r2, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3
- ble _08092230
- strh r1, [r2, 0x30]
- ldrh r0, [r2, 0x34]
- ldrh r3, [r2, 0x24]
- adds r0, r3
- strh r0, [r2, 0x24]
- ldrh r0, [r2, 0x32]
- adds r0, 0x1
- strh r0, [r2, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x5
- ble _08092230
- strh r1, [r2, 0x32]
- strh r1, [r2, 0x24]
- b _08092230
-_080921C8:
- movs r0, 0x3
- strh r0, [r2, 0x2E]
- b _08092230
-_080921CE:
- ldr r0, _08092218 @ =sPSSData
- ldr r1, [r0]
- ldr r0, _0809221C @ =0x000002ce
- adds r1, r0
- ldrh r0, [r2, 0x20]
- ldrh r1, [r1]
- subs r0, r1
- strh r0, [r2, 0x20]
- subs r0, 0x49
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xAE
- bls _080921F4
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r0, [r3]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r3]
-_080921F4:
- ldrh r0, [r2, 0x30]
- subs r0, 0x1
- strh r0, [r2, 0x30]
- lsls r0, 16
- cmp r0, 0
- bne _08092230
- ldrh r0, [r2, 0x32]
- strh r0, [r2, 0x20]
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r1, [r3]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r3]
- movs r0, 0x4
- strh r0, [r2, 0x2E]
- b _08092230
- .align 2, 0
-_08092218: .4byte sPSSData
-_0809221C: .4byte 0x000002ce
-_08092220:
- ldr r0, _08092234 @ =sPSSData
- ldr r0, [r0]
- ldr r1, _08092238 @ =0x000002ce
- adds r0, r1
- ldrh r1, [r2, 0x20]
- ldrh r0, [r0]
- subs r1, r0
- strh r1, [r2, 0x20]
-_08092230:
- pop {r0}
- bx r0
- .align 2, 0
-_08092234: .4byte sPSSData
-_08092238: .4byte 0x000002ce
- thumb_func_end sub_8092164
-
- thumb_func_start sub_809223C
-sub_809223C: @ 809223C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r5, r0, 0
- adds r6, r1, 0
- ldr r4, [sp, 0x18]
- lsls r2, 24
- lsrs r7, r2, 24
- lsls r3, 24
- lsrs r3, 24
- mov r8, r3
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _080922A8 @ =gUnknown_83D2BB4
- lsls r5, 16
- asrs r5, 16
- lsls r6, 16
- asrs r6, 16
- adds r1, r5, 0
- adds r2, r6, 0
- adds r3, r4, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x40
- beq _080922B4
- movs r1, 0x1
- ands r1, r7
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r5, _080922AC @ =gSprites
- adds r6, r4, r5
- adds r0, r6, 0
- bl StartSpriteAnim
- movs r0, 0x3
- mov r1, r8
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r6, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r6, 0x5]
- adds r5, 0x1C
- adds r4, r5
- ldr r0, _080922B0 @ =SpriteCallbackDummy
- str r0, [r4]
- adds r0, r6, 0
- b _080922B6
- .align 2, 0
-_080922A8: .4byte gUnknown_83D2BB4
-_080922AC: .4byte gSprites
-_080922B0: .4byte SpriteCallbackDummy
-_080922B4:
- movs r0, 0
-_080922B6:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_809223C
-
- thumb_func_start sub_80922C0
-sub_80922C0: @ 80922C0
- push {lr}
- ldr r0, _080922D4 @ =sPSSData
- ldr r0, [r0]
- ldrb r1, [r0, 0x1]
- cmp r1, 0x1
- beq _080922DC
- ldr r1, _080922D8 @ =sBoxCursorArea
- movs r0, 0
- strb r0, [r1]
- b _080922E0
- .align 2, 0
-_080922D4: .4byte sPSSData
-_080922D8: .4byte sBoxCursorArea
-_080922DC:
- ldr r0, _0809231C @ =sBoxCursorArea
- strb r1, [r0]
-_080922E0:
- ldr r0, _08092320 @ =sBoxCursorPosition
- movs r1, 0
- strb r1, [r0]
- ldr r0, _08092324 @ =sIsMonBeingMoved
- strb r1, [r0]
- ldr r0, _08092328 @ =sMovingMonOrigBoxId
- strb r1, [r0]
- ldr r0, _0809232C @ =sMovingMonOrigBoxPos
- strb r1, [r0]
- ldr r0, _08092330 @ =sCanOnlyMove
- strb r1, [r0]
- bl sub_8092B50
- bl sub_8094AD8
- ldr r2, _08092334 @ =sPSSData
- ldr r0, [r2]
- ldr r1, _08092338 @ =0x00000cd2
- adds r0, r1
- movs r3, 0
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, [r2]
- ldr r1, _0809233C @ =0x000021ef
- adds r0, r1
- strb r3, [r0]
- bl sub_8093A10
- pop {r0}
- bx r0
- .align 2, 0
-_0809231C: .4byte sBoxCursorArea
-_08092320: .4byte sBoxCursorPosition
-_08092324: .4byte sIsMonBeingMoved
-_08092328: .4byte sMovingMonOrigBoxId
-_0809232C: .4byte sMovingMonOrigBoxPos
-_08092330: .4byte sCanOnlyMove
-_08092334: .4byte sPSSData
-_08092338: .4byte 0x00000cd2
-_0809233C: .4byte 0x000021ef
- thumb_func_end sub_80922C0
-
- thumb_func_start sub_8092340
-sub_8092340: @ 8092340
- push {lr}
- bl sub_8094AD8
- bl sub_8093AAC
- ldr r3, _08092380 @ =sPSSData
- ldr r0, [r3]
- ldr r1, _08092384 @ =0x00000cd2
- adds r0, r1
- movs r2, 0
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, [r3]
- ldr r1, _08092388 @ =0x000021ef
- adds r0, r1
- strb r2, [r0]
- ldr r0, _0809238C @ =sIsMonBeingMoved
- ldrb r0, [r0]
- cmp r0, 0
- beq _0809237A
- ldr r0, [r3]
- ldr r1, _08092390 @ =0x000020a0
- adds r0, r1
- ldr r1, _08092394 @ =gUnknown_20397BC
- movs r2, 0x64
- bl memcpy
- bl sub_8090070
-_0809237A:
- pop {r0}
- bx r0
- .align 2, 0
-_08092380: .4byte sPSSData
-_08092384: .4byte 0x00000cd2
-_08092388: .4byte 0x000021ef
-_0809238C: .4byte sIsMonBeingMoved
-_08092390: .4byte 0x000020a0
-_08092394: .4byte gUnknown_20397BC
- thumb_func_end sub_8092340
-
- thumb_func_start sub_8092398
-sub_8092398: @ 8092398
- push {r4-r6,lr}
- adds r4, r2, 0
- adds r6, r3, 0
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- cmp r0, 0x4
- bhi _08092450
- lsls r0, 2
- ldr r1, _080923B4 @ =_080923B8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080923B4: .4byte _080923B8
- .align 2, 0
-_080923B8:
- .4byte _080923CC
- .4byte _080923FA
- .4byte _08092422
- .4byte _0809242A
- .4byte _08092448
-_080923CC:
- adds r0, r5, 0
- movs r1, 0x6
- bl __umodsi3
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, 0x64
- strh r1, [r4]
- adds r0, r5, 0
- movs r1, 0x6
- bl __udivsi3
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, 0x20
- strh r1, [r6]
- b _08092450
-_080923FA:
- cmp r5, 0
- bne _08092406
- movs r0, 0x68
- strh r0, [r4]
- movs r0, 0x34
- b _0809244E
-_08092406:
- cmp r5, 0x6
- bne _08092412
- movs r0, 0x98
- strh r0, [r4]
- movs r0, 0x84
- b _0809244E
-_08092412:
- movs r0, 0x98
- strh r0, [r4]
- subs r1, r5, 0x1
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r0, 0x4
- b _0809244E
-_08092422:
- movs r0, 0xA2
- strh r0, [r4]
- movs r0, 0xC
- b _0809244E
-_0809242A:
- ldr r0, _08092444 @ =sIsMonBeingMoved
- ldrb r0, [r0]
- movs r1, 0xE
- cmp r0, 0
- beq _08092436
- movs r1, 0x8
-_08092436:
- strh r1, [r6]
- movs r0, 0x58
- muls r0, r5
- adds r0, 0x78
- strh r0, [r4]
- b _08092450
- .align 2, 0
-_08092444: .4byte sIsMonBeingMoved
-_08092448:
- movs r0, 0xA0
- strh r0, [r4]
- movs r0, 0x60
-_0809244E:
- strh r0, [r6]
-_08092450:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8092398
-
- thumb_func_start sub_8092458
-sub_8092458: @ 8092458
- push {lr}
- ldr r0, _08092480 @ =sBoxCursorArea
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- beq _0809248C
- cmp r0, 0x1
- bne _080924A0
- ldr r0, _08092484 @ =sBoxCursorPosition
- movs r1, 0
- ldrsb r1, [r0, r1]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _08092488 @ =gPlayerParty
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- b _08092496
- .align 2, 0
-_08092480: .4byte sBoxCursorArea
-_08092484: .4byte sBoxCursorPosition
-_08092488: .4byte gPlayerParty
-_0809248C:
- ldr r0, _0809249C @ =sBoxCursorPosition
- ldrb r0, [r0]
- movs r1, 0xB
- bl GetBoxMonDataFromSelectedBox
-_08092496:
- lsls r0, 16
- lsrs r0, 16
- b _080924A2
- .align 2, 0
-_0809249C: .4byte sBoxCursorPosition
-_080924A0:
- movs r0, 0
-_080924A2:
- pop {r1}
- bx r1
- thumb_func_end sub_8092458
-
- thumb_func_start sub_80924A8
-sub_80924A8: @ 80924A8
- push {r4-r7,lr}
- ldr r7, _080924C4 @ =sPSSData
- ldr r5, [r7]
- ldr r0, _080924C8 @ =0x00000ccc
- adds r1, r5, r0
- ldrh r0, [r1]
- cmp r0, 0
- bne _080924D6
- ldrb r0, [r5, 0x1]
- cmp r0, 0x3
- beq _080924CC
- movs r0, 0
- b _080925F4
- .align 2, 0
-_080924C4: .4byte sPSSData
-_080924C8: .4byte 0x00000ccc
-_080924CC:
- bl sub_809610C
- lsls r0, 24
- lsrs r0, 24
- b _080925F4
-_080924D6:
- subs r0, 0x1
- strh r0, [r1]
- lsls r0, 16
- cmp r0, 0
- beq _080925D4
- ldr r1, _080925C4 @ =0x00000cb8
- adds r4, r5, r1
- movs r2, 0xCC
- lsls r2, 4
- adds r1, r5, r2
- ldr r0, [r4]
- ldr r1, [r1]
- adds r0, r1
- str r0, [r4]
- ldr r0, _080925C8 @ =0x00000cbc
- adds r3, r5, r0
- adds r2, 0x4
- adds r1, r5, r2
- ldr r0, [r3]
- ldr r1, [r1]
- adds r0, r1
- str r0, [r3]
- movs r6, 0xCB
- lsls r6, 4
- adds r1, r5, r6
- ldr r2, [r1]
- ldr r0, [r4]
- asrs r0, 8
- strh r0, [r2, 0x20]
- ldr r2, [r1]
- ldr r0, [r3]
- asrs r0, 8
- strh r0, [r2, 0x22]
- ldr r1, [r1]
- ldrh r2, [r1, 0x20]
- movs r3, 0x20
- ldrsh r0, [r1, r3]
- movs r3, 0x80
- lsls r3, 1
- cmp r0, r3
- ble _08092534
- ldr r4, _080925CC @ =0xffffff00
- adds r0, r2, r4
- lsls r0, 16
- asrs r0, 16
- adds r0, 0x40
- strh r0, [r1, 0x20]
-_08092534:
- ldr r0, [r7]
- adds r0, r6
- ldr r1, [r0]
- ldrh r2, [r1, 0x20]
- movs r4, 0x20
- ldrsh r0, [r1, r4]
- cmp r0, 0x3F
- bgt _08092550
- movs r0, 0x40
- subs r0, r2
- lsls r0, 16
- asrs r0, 16
- subs r0, r3, r0
- strh r0, [r1, 0x20]
-_08092550:
- ldr r0, [r7]
- adds r0, r6
- ldr r1, [r0]
- ldrh r2, [r1, 0x22]
- movs r3, 0x22
- ldrsh r0, [r1, r3]
- cmp r0, 0xB0
- ble _0809256C
- adds r0, r2, 0
- subs r0, 0xB0
- lsls r0, 16
- asrs r0, 16
- subs r0, 0x10
- strh r0, [r1, 0x22]
-_0809256C:
- ldr r0, [r7]
- adds r0, r6
- ldr r2, [r0]
- ldrh r3, [r2, 0x22]
- movs r4, 0x22
- ldrsh r0, [r2, r4]
- movs r1, 0x10
- negs r1, r1
- cmp r0, r1
- bge _0809258C
- subs r0, r1, r3
- movs r1, 0xB0
- lsls r0, 16
- asrs r0, 16
- subs r1, r0
- strh r1, [r2, 0x22]
-_0809258C:
- ldr r0, [r7]
- ldr r2, _080925D0 @ =0x00000cd3
- adds r1, r0, r2
- ldrb r0, [r1]
- cmp r0, 0
- beq _080925F2
- subs r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- cmp r0, 0
- bne _080925F2
- ldr r0, [r7]
- adds r0, r6
- ldr r2, [r0]
- adds r2, 0x3F
- ldrb r3, [r2]
- lsrs r1, r3, 1
- movs r0, 0x1
- eors r1, r0
- ands r1, r0
- lsls r1, 1
- movs r0, 0x3
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2]
- b _080925F2
- .align 2, 0
-_080925C4: .4byte 0x00000cb8
-_080925C8: .4byte 0x00000cbc
-_080925CC: .4byte 0xffffff00
-_080925D0: .4byte 0x00000cd3
-_080925D4:
- movs r3, 0xCB
- lsls r3, 4
- adds r2, r5, r3
- ldr r1, [r2]
- ldr r4, _080925FC @ =0x00000cc8
- adds r0, r5, r4
- ldrh r0, [r0]
- strh r0, [r1, 0x20]
- ldr r1, [r2]
- ldr r2, _08092600 @ =0x00000cca
- adds r0, r5, r2
- ldrh r0, [r0]
- strh r0, [r1, 0x22]
- bl sub_80929B0
-_080925F2:
- movs r0, 0x1
-_080925F4:
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080925FC: .4byte 0x00000cc8
-_08092600: .4byte 0x00000cca
- thumb_func_end sub_80924A8
-
- thumb_func_start sub_8092604
-sub_8092604: @ 8092604
- push {r4-r6,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- mov r6, sp
- adds r6, 0x2
- adds r0, r4, 0
- adds r1, r5, 0
- mov r2, sp
- adds r3, r6, 0
- bl sub_8092398
- ldr r1, _08092654 @ =sPSSData
- ldr r0, [r1]
- movs r2, 0xCD
- lsls r2, 4
- adds r0, r2
- strb r4, [r0]
- ldr r0, [r1]
- ldr r3, _08092658 @ =0x00000cd1
- adds r0, r3
- strb r5, [r0]
- ldr r1, [r1]
- mov r0, sp
- ldrh r2, [r0]
- subs r3, 0x9
- adds r0, r1, r3
- strh r2, [r0]
- ldrh r0, [r6]
- ldr r2, _0809265C @ =0x00000cca
- adds r1, r2
- strh r0, [r1]
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08092654: .4byte sPSSData
-_08092658: .4byte 0x00000cd1
-_0809265C: .4byte 0x00000cca
- thumb_func_end sub_8092604
-
- thumb_func_start sub_8092660
-sub_8092660: @ 8092660
- push {r4-r7,lr}
- ldr r0, _0809267C @ =sPSSData
- ldr r2, [r0]
- ldr r3, _08092680 @ =0x00000cce
- adds r1, r2, r3
- ldrh r1, [r1]
- adds r4, r0, 0
- cmp r1, 0
- beq _08092688
- ldr r0, _08092684 @ =0x00000ccc
- adds r1, r2, r0
- movs r0, 0xC
- b _0809268E
- .align 2, 0
-_0809267C: .4byte sPSSData
-_08092680: .4byte 0x00000cce
-_08092684: .4byte 0x00000ccc
-_08092688:
- ldr r3, _080926D4 @ =0x00000ccc
- adds r1, r2, r3
- movs r0, 0x6
-_0809268E:
- strh r0, [r1]
- ldr r1, [r4]
- ldr r0, _080926D8 @ =0x00000cd3
- adds r2, r1, r0
- ldrb r0, [r2]
- cmp r0, 0
- beq _080926A6
- ldr r3, _080926D4 @ =0x00000ccc
- adds r0, r1, r3
- ldrh r0, [r0]
- lsrs r0, 1
- strb r0, [r2]
-_080926A6:
- ldr r2, [r4]
- ldr r1, _080926DC @ =0x00000cce
- adds r0, r2, r1
- movs r1, 0
- ldrsb r1, [r0, r1]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080926E4
- cmp r1, 0x1
- beq _08092700
- ldr r3, _080926E0 @ =0x00000cca
- adds r0, r2, r3
- movs r3, 0
- ldrsh r1, [r0, r3]
- movs r3, 0xCB
- lsls r3, 4
- adds r0, r2, r3
- ldr r0, [r0]
- movs r2, 0x22
- ldrsh r0, [r0, r2]
- b _08092716
- .align 2, 0
-_080926D4: .4byte 0x00000ccc
-_080926D8: .4byte 0x00000cd3
-_080926DC: .4byte 0x00000cce
-_080926E0: .4byte 0x00000cca
-_080926E4:
- ldr r3, _080926FC @ =0x00000cca
- adds r0, r2, r3
- movs r3, 0
- ldrsh r1, [r0, r3]
- movs r3, 0xCB
- lsls r3, 4
- adds r0, r2, r3
- ldr r0, [r0]
- movs r2, 0x22
- ldrsh r0, [r0, r2]
- adds r0, 0xC0
- b _08092716
- .align 2, 0
-_080926FC: .4byte 0x00000cca
-_08092700:
- ldr r3, _08092744 @ =0x00000cca
- adds r0, r2, r3
- movs r3, 0
- ldrsh r1, [r0, r3]
- movs r3, 0xCB
- lsls r3, 4
- adds r0, r2, r3
- ldr r0, [r0]
- movs r2, 0x22
- ldrsh r0, [r0, r2]
- subs r0, 0xC0
-_08092716:
- subs r7, r1, r0
- ldr r2, [r4]
- ldr r3, _08092748 @ =0x00000ccf
- adds r0, r2, r3
- movs r1, 0
- ldrsb r1, [r0, r1]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _08092750
- cmp r1, 0x1
- beq _0809276C
- ldr r1, _0809274C @ =0x00000cc8
- adds r0, r2, r1
- movs r3, 0
- ldrsh r1, [r0, r3]
- movs r3, 0xCB
- lsls r3, 4
- adds r0, r2, r3
- ldr r0, [r0]
- movs r2, 0x20
- ldrsh r0, [r0, r2]
- b _08092782
- .align 2, 0
-_08092744: .4byte 0x00000cca
-_08092748: .4byte 0x00000ccf
-_0809274C: .4byte 0x00000cc8
-_08092750:
- ldr r3, _08092768 @ =0x00000cc8
- adds r0, r2, r3
- movs r3, 0
- ldrsh r1, [r0, r3]
- movs r3, 0xCB
- lsls r3, 4
- adds r0, r2, r3
- ldr r0, [r0]
- movs r2, 0x20
- ldrsh r0, [r0, r2]
- adds r0, 0xC0
- b _08092782
- .align 2, 0
-_08092768: .4byte 0x00000cc8
-_0809276C:
- ldr r3, _080927D4 @ =0x00000cc8
- adds r0, r2, r3
- movs r3, 0
- ldrsh r1, [r0, r3]
- movs r3, 0xCB
- lsls r3, 4
- adds r0, r2, r3
- ldr r0, [r0]
- movs r2, 0x20
- ldrsh r0, [r0, r2]
- subs r0, 0xC0
-_08092782:
- subs r0, r1, r0
- lsls r7, 8
- lsls r0, 8
- ldr r4, [r4]
- movs r3, 0xCC
- lsls r3, 4
- adds r6, r4, r3
- ldr r1, _080927D8 @ =0x00000ccc
- adds r5, r4, r1
- ldrh r1, [r5]
- bl __divsi3
- str r0, [r6]
- ldr r2, _080927DC @ =0x00000cc4
- adds r6, r4, r2
- ldrh r1, [r5]
- adds r0, r7, 0
- bl __divsi3
- str r0, [r6]
- ldr r3, _080927E0 @ =0x00000cb8
- adds r2, r4, r3
- movs r0, 0xCB
- lsls r0, 4
- adds r1, r4, r0
- ldr r0, [r1]
- movs r3, 0x20
- ldrsh r0, [r0, r3]
- lsls r0, 8
- str r0, [r2]
- ldr r0, _080927E4 @ =0x00000cbc
- adds r4, r0
- ldr r0, [r1]
- movs r1, 0x22
- ldrsh r0, [r0, r1]
- lsls r0, 8
- str r0, [r4]
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080927D4: .4byte 0x00000cc8
-_080927D8: .4byte 0x00000ccc
-_080927DC: .4byte 0x00000cc4
-_080927E0: .4byte 0x00000cb8
-_080927E4: .4byte 0x00000cbc
- thumb_func_end sub_8092660
-
- thumb_func_start sub_80927E8
-sub_80927E8: @ 80927E8
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r6, r1, 24
- adds r0, r4, 0
- adds r1, r6, 0
- bl sub_8092604
- bl sub_8092660
- ldr r5, _0809282C @ =sPSSData
- ldr r1, [r5]
- ldrb r0, [r1, 0x1]
- cmp r0, 0x3
- beq _08092838
- ldr r2, _08092830 @ =0x000021ef
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _08092852
- ldr r0, _08092834 @ =sIsMonBeingMoved
- ldrb r0, [r0]
- cmp r0, 0
- bne _08092852
- movs r2, 0xCB
- lsls r2, 4
- adds r0, r1, r2
- ldr r0, [r0]
- movs r1, 0x1
- bl StartSpriteAnim
- b _08092852
- .align 2, 0
-_0809282C: .4byte sPSSData
-_08092830: .4byte 0x000021ef
-_08092834: .4byte sIsMonBeingMoved
-_08092838:
- bl sub_809616C
- lsls r0, 24
- cmp r0, 0
- bne _08092852
- ldr r0, [r5]
- movs r1, 0xCB
- lsls r1, 4
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x1
- bl StartSpriteAnim
-_08092852:
- ldr r0, _08092874 @ =sPSSData
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x3
- bne _080928AC
- ldr r0, _08092878 @ =sBoxCursorArea
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- bne _08092880
- ldr r0, _0809287C @ =sBoxCursorPosition
- ldrb r1, [r0]
- movs r0, 0
- bl sub_8095D44
- b _0809288E
- .align 2, 0
-_08092874: .4byte sPSSData
-_08092878: .4byte sBoxCursorArea
-_0809287C: .4byte sBoxCursorPosition
-_08092880:
- cmp r0, 0x1
- bne _0809288E
- ldr r0, _0809289C @ =sBoxCursorPosition
- ldrb r1, [r0]
- movs r0, 0x1
- bl sub_8095D44
-_0809288E:
- cmp r4, 0
- bne _080928A0
- movs r0, 0
- adds r1, r6, 0
- bl sub_8095C84
- b _080928AC
- .align 2, 0
-_0809289C: .4byte sBoxCursorPosition
-_080928A0:
- cmp r4, 0x1
- bne _080928D8
- movs r0, 0x1
- adds r1, r6, 0
- bl sub_8095C84
-_080928AC:
- cmp r4, 0x1
- bne _080928D8
- ldr r0, _08092920 @ =sBoxCursorArea
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x1
- beq _080928D8
- ldr r1, _08092924 @ =sPSSData
- ldr r0, [r1]
- ldr r2, _08092928 @ =0x00000cd2
- adds r0, r2
- strb r4, [r0]
- ldr r0, [r1]
- ldr r1, _0809292C @ =0x00000cb4
- adds r0, r1
- ldr r1, [r0]
- adds r1, 0x3E
- ldrb r0, [r1]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r1]
-_080928D8:
- cmp r4, 0
- beq _08092930
- cmp r4, 0
- blt _080929A0
- cmp r4, 0x3
- bgt _080929A0
- ldr r5, _08092924 @ =sPSSData
- ldr r0, [r5]
- movs r2, 0xCB
- lsls r2, 4
- adds r0, r2
- ldr r4, [r0]
- ldrb r1, [r4, 0x5]
- movs r2, 0xD
- negs r2, r2
- adds r0, r2, 0
- ands r0, r1
- movs r3, 0x4
- orrs r0, r3
- strb r0, [r4, 0x5]
- ldr r0, [r5]
- ldr r4, _0809292C @ =0x00000cb4
- adds r0, r4
- ldr r1, [r0]
- adds r1, 0x3E
- ldrb r0, [r1]
- orrs r0, r3
- strb r0, [r1]
- ldr r0, [r5]
- adds r0, r4
- ldr r1, [r0]
- ldrb r0, [r1, 0x5]
- ands r2, r0
- orrs r2, r3
- strb r2, [r1, 0x5]
- b _080929A0
- .align 2, 0
-_08092920: .4byte sBoxCursorArea
-_08092924: .4byte sPSSData
-_08092928: .4byte 0x00000cd2
-_0809292C: .4byte 0x00000cb4
-_08092930:
- ldr r3, _08092964 @ =sPSSData
- ldr r1, [r3]
- ldr r2, _08092968 @ =0x000021ef
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _08092970
- movs r2, 0xCB
- lsls r2, 4
- adds r0, r1, r2
- ldr r2, [r0]
- ldrb r1, [r2, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- strb r0, [r2, 0x5]
- ldr r0, [r3]
- ldr r1, _0809296C @ =0x00000cb4
- adds r0, r1
- ldr r1, [r0]
- adds r1, 0x3E
- ldrb r0, [r1]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r1]
- b _080929A0
- .align 2, 0
-_08092964: .4byte sPSSData
-_08092968: .4byte 0x000021ef
-_0809296C: .4byte 0x00000cb4
-_08092970:
- movs r2, 0xCB
- lsls r2, 4
- adds r0, r1, r2
- ldr r2, [r0]
- ldrb r1, [r2, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- movs r1, 0x8
- orrs r0, r1
- strb r0, [r2, 0x5]
- ldr r0, _080929A8 @ =sBoxCursorArea
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- bne _080929A0
- ldr r0, _080929AC @ =sIsMonBeingMoved
- ldrb r0, [r0]
- cmp r0, 0
- beq _080929A0
- movs r0, 0x2
- bl sub_8091184
-_080929A0:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080929A8: .4byte sBoxCursorArea
-_080929AC: .4byte sIsMonBeingMoved
- thumb_func_end sub_80927E8
-
- thumb_func_start sub_80929B0
-sub_80929B0: @ 80929B0
- push {r4,lr}
- ldr r1, _080929F4 @ =sBoxCursorArea
- ldr r4, _080929F8 @ =sPSSData
- ldr r2, [r4]
- movs r3, 0xCD
- lsls r3, 4
- adds r0, r2, r3
- ldrb r0, [r0]
- strb r0, [r1]
- ldr r1, _080929FC @ =sBoxCursorPosition
- adds r3, 0x1
- adds r0, r2, r3
- ldrb r0, [r0]
- strb r0, [r1]
- ldrb r0, [r2, 0x1]
- cmp r0, 0x3
- beq _08092A08
- ldr r1, _08092A00 @ =0x000021ef
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _08092A22
- ldr r0, _08092A04 @ =sIsMonBeingMoved
- ldrb r0, [r0]
- cmp r0, 0
- bne _08092A22
- subs r3, 0x21
- adds r0, r2, r3
- ldr r0, [r0]
- movs r1, 0x1
- bl StartSpriteAnim
- b _08092A22
- .align 2, 0
-_080929F4: .4byte sBoxCursorArea
-_080929F8: .4byte sPSSData
-_080929FC: .4byte sBoxCursorPosition
-_08092A00: .4byte 0x000021ef
-_08092A04: .4byte sIsMonBeingMoved
-_08092A08:
- bl sub_809616C
- lsls r0, 24
- cmp r0, 0
- bne _08092A22
- ldr r0, [r4]
- movs r1, 0xCB
- lsls r1, 4
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x1
- bl StartSpriteAnim
-_08092A22:
- bl sub_8093A10
- ldr r0, _08092A3C @ =sBoxCursorArea
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x1
- beq _08092A52
- cmp r0, 0x1
- bgt _08092A40
- cmp r0, 0
- beq _08092A74
- b _08092AD0
- .align 2, 0
-_08092A3C: .4byte sBoxCursorArea
-_08092A40:
- cmp r0, 0x2
- beq _08092A4A
- cmp r0, 0x3
- bne _08092AD0
- b _08092A62
-_08092A4A:
- movs r0, 0x1
- bl sub_80920FC
- b _08092AD0
-_08092A52:
- ldr r0, _08092A6C @ =sPSSData
- ldr r0, [r0]
- ldr r2, _08092A70 @ =0x00000cb4
- adds r0, r2
- ldr r0, [r0]
- adds r0, 0x43
- movs r1, 0xD
- strb r1, [r0]
-_08092A62:
- movs r0, 0x1
- bl sub_8091184
- b _08092AD0
- .align 2, 0
-_08092A6C: .4byte sPSSData
-_08092A70: .4byte 0x00000cb4
-_08092A74:
- ldr r4, _08092AD8 @ =sPSSData
- ldr r1, [r4]
- ldr r3, _08092ADC @ =0x000021ef
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, 0
- bne _08092AD0
- movs r2, 0xCB
- lsls r2, 4
- adds r0, r1, r2
- ldr r3, [r0]
- ldrb r1, [r3, 0x5]
- movs r2, 0xD
- negs r2, r2
- adds r0, r2, 0
- ands r0, r1
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r3, 0x5]
- ldr r0, [r4]
- ldr r3, _08092AE0 @ =0x00000cb4
- adds r0, r3
- ldr r1, [r0]
- ldrb r0, [r1, 0x5]
- ands r2, r0
- movs r0, 0x8
- orrs r2, r0
- strb r2, [r1, 0x5]
- ldr r0, [r4]
- adds r0, r3
- ldr r0, [r0]
- adds r0, 0x43
- movs r1, 0x15
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, r3
- ldr r1, [r0]
- adds r1, 0x3E
- ldrb r2, [r1]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- movs r0, 0x2
- bl sub_8091184
-_08092AD0:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08092AD8: .4byte sPSSData
-_08092ADC: .4byte 0x000021ef
-_08092AE0: .4byte 0x00000cb4
- thumb_func_end sub_80929B0
-
- thumb_func_start sub_8092AE4
-sub_8092AE4: @ 8092AE4
- push {lr}
- ldr r0, _08092AF4 @ =sIsMonBeingMoved
- ldrb r0, [r0]
- cmp r0, 0
- bne _08092AF8
- movs r3, 0
- b _08092B06
- .align 2, 0
-_08092AF4: .4byte sIsMonBeingMoved
-_08092AF8:
- bl CalculatePlayerPartyCount
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x5
- bls _08092B06
- movs r3, 0x5
-_08092B06:
- ldr r0, _08092B34 @ =sPSSData
- ldr r2, [r0]
- movs r1, 0xCB
- lsls r1, 4
- adds r0, r2, r1
- ldr r0, [r0]
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08092B26
- ldr r0, _08092B38 @ =0x00000cd3
- adds r1, r2, r0
- movs r0, 0x1
- strb r0, [r1]
-_08092B26:
- movs r0, 0x1
- adds r1, r3, 0
- bl sub_80927E8
- pop {r0}
- bx r0
- .align 2, 0
-_08092B34: .4byte sPSSData
-_08092B38: .4byte 0x00000cd3
- thumb_func_end sub_8092AE4
-
- thumb_func_start sub_8092B3C
-sub_8092B3C: @ 8092B3C
- push {lr}
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0
- bl sub_80927E8
- pop {r0}
- bx r0
- thumb_func_end sub_8092B3C
-
- thumb_func_start sub_8092B50
-sub_8092B50: @ 8092B50
- ldr r1, _08092B58 @ =gUnknown_2039826
- movs r0, 0
- strb r0, [r1]
- bx lr
- .align 2, 0
-_08092B58: .4byte gUnknown_2039826
- thumb_func_end sub_8092B50
-
- thumb_func_start sub_8092B5C
-sub_8092B5C: @ 8092B5C
- ldr r0, _08092B68 @ =gUnknown_2039826
- ldr r1, _08092B6C @ =sBoxCursorPosition
- ldrb r1, [r1]
- strb r1, [r0]
- bx lr
- .align 2, 0
-_08092B68: .4byte gUnknown_2039826
-_08092B6C: .4byte sBoxCursorPosition
- thumb_func_end sub_8092B5C
-
- thumb_func_start sub_8092B70
-sub_8092B70: @ 8092B70
- ldr r0, _08092B78 @ =gUnknown_2039826
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_08092B78: .4byte gUnknown_2039826
- thumb_func_end sub_8092B70
-
- thumb_func_start sub_8092B7C
-sub_8092B7C: @ 8092B7C
- lsls r0, 24
- ldr r1, _08092B9C @ =sPSSData
- ldr r1, [r1]
- ldr r2, _08092BA0 @ =0x00000d88
- adds r3, r1, r2
- ldr r2, _08092BA4 @ =gUnknown_83D346C
- lsrs r0, 22
- adds r0, r2
- ldr r0, [r0]
- str r0, [r3]
- ldr r0, _08092BA8 @ =0x00000d8c
- adds r1, r0
- movs r0, 0
- strb r0, [r1]
- bx lr
- .align 2, 0
-_08092B9C: .4byte sPSSData
-_08092BA0: .4byte 0x00000d88
-_08092BA4: .4byte gUnknown_83D346C
-_08092BA8: .4byte 0x00000d8c
- thumb_func_end sub_8092B7C
-
- thumb_func_start sub_8092BAC
-sub_8092BAC: @ 8092BAC
- push {lr}
- lsls r0, 24
- cmp r0, 0
- bne _08092BCC
- ldr r0, _08092BC0 @ =sPSSData
- ldr r1, [r0]
- ldr r2, _08092BC4 @ =0x00000d88
- adds r1, r2
- ldr r2, _08092BC8 @ =sub_8092E00
- b _08092BD6
- .align 2, 0
-_08092BC0: .4byte sPSSData
-_08092BC4: .4byte 0x00000d88
-_08092BC8: .4byte sub_8092E00
-_08092BCC:
- ldr r0, _08092BE8 @ =sPSSData
- ldr r1, [r0]
- ldr r2, _08092BEC @ =0x00000d88
- adds r1, r2
- ldr r2, _08092BF0 @ =sub_8092E10
-_08092BD6:
- str r2, [r1]
- ldr r0, [r0]
- ldr r1, _08092BF4 @ =0x00000d8c
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- pop {r0}
- bx r0
- .align 2, 0
-_08092BE8: .4byte sPSSData
-_08092BEC: .4byte 0x00000d88
-_08092BF0: .4byte sub_8092E10
-_08092BF4: .4byte 0x00000d8c
- thumb_func_end sub_8092BAC
-
- thumb_func_start sub_8092BF8
-sub_8092BF8: @ 8092BF8
- push {lr}
- ldr r0, _08092C10 @ =sPSSData
- ldr r0, [r0]
- ldr r1, _08092C14 @ =0x00000d88
- adds r0, r1
- ldr r0, [r0]
- bl _call_via_r0
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .align 2, 0
-_08092C10: .4byte sPSSData
-_08092C14: .4byte 0x00000d88
- thumb_func_end sub_8092BF8
-
- thumb_func_start sub_8092C18
-sub_8092C18: @ 8092C18
- push {r4,r5,lr}
- ldr r4, _08092C34 @ =sPSSData
- ldr r1, [r4]
- ldr r5, _08092C38 @ =0x00000d8c
- adds r0, r1, r5
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _08092C68
- cmp r0, 0x1
- bgt _08092C3C
- cmp r0, 0
- beq _08092C46
- b _08092C9C
- .align 2, 0
-_08092C34: .4byte sPSSData
-_08092C38: .4byte 0x00000d8c
-_08092C3C:
- cmp r0, 0x2
- beq _08092C88
- cmp r0, 0x3
- beq _08092C4E
- b _08092C9C
-_08092C46:
- ldr r0, _08092C54 @ =sIsMonBeingMoved
- ldrb r0, [r0]
- cmp r0, 0
- beq _08092C58
-_08092C4E:
- movs r0, 0
- b _08092C9E
- .align 2, 0
-_08092C54: .4byte sIsMonBeingMoved
-_08092C58:
- movs r2, 0xCB
- lsls r2, 4
- adds r0, r1, r2
- ldr r0, [r0]
- movs r1, 0x2
- bl StartSpriteAnim
- b _08092C92
-_08092C68:
- bl sub_8092E20
- lsls r0, 24
- cmp r0, 0
- bne _08092C9C
- ldr r0, [r4]
- movs r1, 0xCB
- lsls r1, 4
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x3
- bl StartSpriteAnim
- bl sub_8092E80
- b _08092C92
-_08092C88:
- bl sub_8092E54
- lsls r0, 24
- cmp r0, 0
- bne _08092C9C
-_08092C92:
- ldr r1, [r4]
- adds r1, r5
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_08092C9C:
- movs r0, 0x1
-_08092C9E:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8092C18
-
- thumb_func_start sub_8092CA4
-sub_8092CA4: @ 8092CA4
- push {r4,r5,lr}
- ldr r4, _08092CC0 @ =sPSSData
- ldr r0, [r4]
- ldr r5, _08092CC4 @ =0x00000d8c
- adds r0, r5
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _08092CEE
- cmp r0, 0x1
- bgt _08092CC8
- cmp r0, 0
- beq _08092CCE
- b _08092D18
- .align 2, 0
-_08092CC0: .4byte sPSSData
-_08092CC4: .4byte 0x00000d8c
-_08092CC8:
- cmp r0, 0x2
- beq _08092D14
- b _08092D18
-_08092CCE:
- bl sub_8092E20
- lsls r0, 24
- cmp r0, 0
- bne _08092D18
- ldr r0, [r4]
- movs r1, 0xCB
- lsls r1, 4
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x2
- bl StartSpriteAnim
- bl sub_8092EF4
- b _08092D08
-_08092CEE:
- bl sub_8092E54
- lsls r0, 24
- cmp r0, 0
- bne _08092D18
- ldr r0, [r4]
- movs r1, 0xCB
- lsls r1, 4
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0
- bl StartSpriteAnim
-_08092D08:
- ldr r1, [r4]
- adds r1, r5
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _08092D18
-_08092D14:
- movs r0, 0
- b _08092D1A
-_08092D18:
- movs r0, 0x1
-_08092D1A:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8092CA4
-
- thumb_func_start sub_8092D20
-sub_8092D20: @ 8092D20
- push {r4,r5,lr}
- ldr r4, _08092D3C @ =sPSSData
- ldr r1, [r4]
- ldr r5, _08092D40 @ =0x00000d8c
- adds r0, r1, r5
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _08092DB4
- cmp r0, 0x1
- bgt _08092D44
- cmp r0, 0
- beq _08092D4A
- b _08092DF8
- .align 2, 0
-_08092D3C: .4byte sPSSData
-_08092D40: .4byte 0x00000d8c
-_08092D44:
- cmp r0, 0x2
- beq _08092DF4
- b _08092DF8
-_08092D4A:
- ldr r0, _08092D64 @ =sBoxCursorArea
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- beq _08092D6C
- cmp r0, 0x1
- bne _08092DF4
- ldr r0, _08092D68 @ =0x00000d8d
- adds r1, r0
- movs r0, 0xE
- b _08092D76
- .align 2, 0
-_08092D64: .4byte sBoxCursorArea
-_08092D68: .4byte 0x00000d8d
-_08092D6C:
- bl StorageGetCurrentBox
- ldr r1, [r4]
- ldr r2, _08092DA4 @ =0x00000d8d
- adds r1, r2
-_08092D76:
- strb r0, [r1]
- ldr r4, _08092DA8 @ =sPSSData
- ldr r0, [r4]
- movs r1, 0xCB
- lsls r1, 4
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x2
- bl StartSpriteAnim
- ldr r0, [r4]
- ldr r2, _08092DA4 @ =0x00000d8d
- adds r0, r2
- ldrb r0, [r0]
- ldr r1, _08092DAC @ =sBoxCursorPosition
- ldrb r1, [r1]
- bl sub_8090E08
- ldr r1, [r4]
- ldr r0, _08092DB0 @ =0x00000d8c
- adds r1, r0
- b _08092DE2
- .align 2, 0
-_08092DA4: .4byte 0x00000d8d
-_08092DA8: .4byte sPSSData
-_08092DAC: .4byte sBoxCursorPosition
-_08092DB0: .4byte 0x00000d8c
-_08092DB4:
- bl sub_8090E74
- lsls r0, 24
- cmp r0, 0
- bne _08092DF8
- ldr r0, [r4]
- movs r1, 0xCB
- lsls r1, 4
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x3
- bl StartSpriteAnim
- ldr r0, [r4]
- ldr r2, _08092DEC @ =0x00000d8d
- adds r0, r2
- ldrb r0, [r0]
- ldr r1, _08092DF0 @ =sBoxCursorPosition
- ldrb r1, [r1]
- bl diegohint1
- ldr r1, [r4]
- adds r1, r5
-_08092DE2:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _08092DF8
- .align 2, 0
-_08092DEC: .4byte 0x00000d8d
-_08092DF0: .4byte sBoxCursorPosition
-_08092DF4:
- movs r0, 0
- b _08092DFA
-_08092DF8:
- movs r0, 0x1
-_08092DFA:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8092D20
-
- thumb_func_start sub_8092E00
-sub_8092E00: @ 8092E00
- push {lr}
- bl sub_8092E20
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_8092E00
-
- thumb_func_start sub_8092E10
-sub_8092E10: @ 8092E10
- push {lr}
- bl sub_8092E54
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_8092E10
-
- thumb_func_start sub_8092E20
-sub_8092E20: @ 8092E20
- push {lr}
- ldr r0, _08092E44 @ =sPSSData
- ldr r0, [r0]
- movs r1, 0xCB
- lsls r1, 4
- adds r0, r1
- ldr r1, [r0]
- movs r2, 0x26
- ldrsh r0, [r1, r2]
- cmp r0, 0
- beq _08092E3A
- cmp r0, 0x8
- beq _08092E48
-_08092E3A:
- ldrh r0, [r1, 0x26]
- adds r0, 0x1
- strh r0, [r1, 0x26]
- b _08092E4C
- .align 2, 0
-_08092E44: .4byte sPSSData
-_08092E48:
- movs r0, 0
- b _08092E4E
-_08092E4C:
- movs r0, 0x1
-_08092E4E:
- pop {r1}
- bx r1
- thumb_func_end sub_8092E20
-
- thumb_func_start sub_8092E54
-sub_8092E54: @ 8092E54
- push {lr}
- ldr r0, _08092E74 @ =sPSSData
- ldr r0, [r0]
- movs r1, 0xCB
- lsls r1, 4
- adds r0, r1
- ldr r1, [r0]
- movs r2, 0x26
- ldrsh r0, [r1, r2]
- cmp r0, 0
- beq _08092E78
- ldrh r0, [r1, 0x26]
- subs r0, 0x1
- strh r0, [r1, 0x26]
- movs r0, 0x1
- b _08092E7A
- .align 2, 0
-_08092E74: .4byte sPSSData
-_08092E78:
- movs r0, 0
-_08092E7A:
- pop {r1}
- bx r1
- thumb_func_end sub_8092E54
-
- thumb_func_start sub_8092E80
-sub_8092E80: @ 8092E80
- push {r4,lr}
- ldr r0, _08092EA8 @ =sBoxCursorArea
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- beq _08092EB0
- cmp r0, 0x1
- bne _08092EDC
- ldr r4, _08092EAC @ =sBoxCursorPosition
- ldrb r1, [r4]
- movs r0, 0xE
- bl sub_8092F60
- ldrb r1, [r4]
- movs r0, 0
- bl sub_8090CC0
- b _08092ED6
- .align 2, 0
-_08092EA8: .4byte sBoxCursorArea
-_08092EAC: .4byte sBoxCursorPosition
-_08092EB0:
- ldr r0, _08092EE4 @ =sPSSData
- ldr r0, [r0]
- ldr r1, _08092EE8 @ =0x000021ef
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _08092ED6
- bl StorageGetCurrentBox
- lsls r0, 24
- lsrs r0, 24
- ldr r4, _08092EEC @ =sBoxCursorPosition
- ldrb r1, [r4]
- bl sub_8092F60
- ldrb r1, [r4]
- movs r0, 0x1
- bl sub_8090CC0
-_08092ED6:
- ldr r1, _08092EF0 @ =sIsMonBeingMoved
- movs r0, 0x1
- strb r0, [r1]
-_08092EDC:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08092EE4: .4byte sPSSData
-_08092EE8: .4byte 0x000021ef
-_08092EEC: .4byte sBoxCursorPosition
-_08092EF0: .4byte sIsMonBeingMoved
- thumb_func_end sub_8092E80
-
- thumb_func_start sub_8092EF4
-sub_8092EF4: @ 8092EF4
- push {r4,r5,lr}
- ldr r0, _08092F1C @ =sBoxCursorArea
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- beq _08092F24
- cmp r0, 0x1
- bne _08092F46
- ldr r4, _08092F20 @ =sBoxCursorPosition
- ldrb r1, [r4]
- movs r0, 0xE
- bl diegohint2
- ldrb r1, [r4]
- movs r0, 0xE
- bl sub_8090D58
- b _08092F40
- .align 2, 0
-_08092F1C: .4byte sBoxCursorArea
-_08092F20: .4byte sBoxCursorPosition
-_08092F24:
- bl StorageGetCurrentBox
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r5, _08092F4C @ =sBoxCursorPosition
- ldrb r1, [r5]
- adds r0, r4, 0
- bl diegohint2
- ldrb r1, [r5]
- adds r0, r4, 0
- bl sub_8090D58
-_08092F40:
- ldr r1, _08092F50 @ =sIsMonBeingMoved
- movs r0, 0
- strb r0, [r1]
-_08092F46:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08092F4C: .4byte sBoxCursorPosition
-_08092F50: .4byte sIsMonBeingMoved
- thumb_func_end sub_8092EF4
-
- thumb_func_start sub_8092F54
-sub_8092F54: @ 8092F54
- push {lr}
- bl sub_8093A10
- pop {r0}
- bx r0
- thumb_func_end sub_8092F54
-
- thumb_func_start sub_8092F60
-sub_8092F60: @ 8092F60
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- cmp r4, 0xE
- bne _08092F9C
- ldr r0, _08092F8C @ =sPSSData
- ldr r0, [r0]
- ldr r1, _08092F90 @ =0x000020a0
- adds r0, r1
- ldr r3, _08092F94 @ =gPlayerParty
- ldr r1, _08092F98 @ =sBoxCursorPosition
- movs r2, 0
- ldrsb r2, [r1, r2]
- movs r1, 0x64
- muls r1, r2
- adds r1, r3
- movs r2, 0x64
- bl memcpy
- b _08092FAC
- .align 2, 0
-_08092F8C: .4byte sPSSData
-_08092F90: .4byte 0x000020a0
-_08092F94: .4byte gPlayerParty
-_08092F98: .4byte sBoxCursorPosition
-_08092F9C:
- ldr r0, _08092FC4 @ =sPSSData
- ldr r2, [r0]
- ldr r0, _08092FC8 @ =0x000020a0
- adds r2, r0
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_808BCF0
-_08092FAC:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8093030
- ldr r0, _08092FCC @ =sMovingMonOrigBoxId
- strb r4, [r0]
- ldr r0, _08092FD0 @ =sMovingMonOrigBoxPos
- strb r5, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08092FC4: .4byte sPSSData
-_08092FC8: .4byte 0x000020a0
-_08092FCC: .4byte sMovingMonOrigBoxId
-_08092FD0: .4byte sMovingMonOrigBoxPos
- thumb_func_end sub_8092F60
-
- thumb_func_start diegohint2
-diegohint2: @ 8092FD4
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsrs r7, r1, 24
- cmp r6, 0xE
- bne _08093008
- ldr r1, _08092FFC @ =gPlayerParty
- movs r0, 0x64
- muls r0, r7
- adds r0, r1
- ldr r1, _08093000 @ =sPSSData
- ldr r1, [r1]
- ldr r2, _08093004 @ =0x000020a0
- adds r1, r2
- movs r2, 0x64
- bl memcpy
- b _08093020
- .align 2, 0
-_08092FFC: .4byte gPlayerParty
-_08093000: .4byte sPSSData
-_08093004: .4byte 0x000020a0
-_08093008:
- ldr r5, _08093028 @ =sPSSData
- ldr r0, [r5]
- ldr r4, _0809302C @ =0x000020a0
- adds r0, r4
- bl BoxMonRestorePP
- ldr r2, [r5]
- adds r2, r4
- adds r0, r6, 0
- adds r1, r7, 0
- bl CopyBoxMonFromAnyBox
-_08093020:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08093028: .4byte sPSSData
-_0809302C: .4byte 0x000020a0
- thumb_func_end diegohint2
-
- thumb_func_start sub_8093030
-sub_8093030: @ 8093030
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- cmp r0, 0xE
- bne _08093050
- movs r0, 0x64
- muls r0, r1
- ldr r1, _0809304C @ =gPlayerParty
- adds r0, r1
- bl ZeroMonData
- b _08093054
- .align 2, 0
-_0809304C: .4byte gPlayerParty
-_08093050:
- bl sub_808BCB4
-_08093054:
- pop {r0}
- bx r0
- thumb_func_end sub_8093030
-
- thumb_func_start diegohint1
-diegohint1: @ 8093058
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsrs r7, r1, 24
- cmp r6, 0xE
- bne _0809308C
- ldr r0, _08093080 @ =sPSSData
- ldr r0, [r0]
- ldr r1, _08093084 @ =0x00002104
- adds r0, r1
- ldr r2, _08093088 @ =gPlayerParty
- movs r1, 0x64
- muls r1, r7
- adds r1, r2
- movs r2, 0x64
- bl memcpy
- b _0809309C
- .align 2, 0
-_08093080: .4byte sPSSData
-_08093084: .4byte 0x00002104
-_08093088: .4byte gPlayerParty
-_0809308C:
- ldr r0, _080930D0 @ =sPSSData
- ldr r2, [r0]
- ldr r0, _080930D4 @ =0x00002104
- adds r2, r0
- adds r0, r6, 0
- adds r1, r7, 0
- bl sub_808BCF0
-_0809309C:
- adds r0, r6, 0
- adds r1, r7, 0
- bl diegohint2
- ldr r5, _080930D0 @ =sPSSData
- ldr r1, [r5]
- ldr r4, _080930D8 @ =0x000020a0
- adds r0, r1, r4
- ldr r2, _080930D4 @ =0x00002104
- adds r1, r2
- movs r2, 0x64
- bl memcpy
- ldr r0, [r5]
- adds r0, r4
- movs r1, 0
- bl sub_8093AD0
- ldr r0, _080930DC @ =sMovingMonOrigBoxId
- strb r6, [r0]
- ldr r0, _080930E0 @ =sMovingMonOrigBoxPos
- strb r7, [r0]
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080930D0: .4byte sPSSData
-_080930D4: .4byte 0x00002104
-_080930D8: .4byte 0x000020a0
-_080930DC: .4byte sMovingMonOrigBoxId
-_080930E0: .4byte sMovingMonOrigBoxPos
- thumb_func_end diegohint1
-
- thumb_func_start sub_80930E4
-sub_80930E4: @ 80930E4
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- adds r0, r6, 0
- bl GetFirstFreeBoxSpot
- lsls r0, 16
- lsrs r4, r0, 16
- asrs r0, 16
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- bne _08093102
- movs r0, 0
- b _08093164
-_08093102:
- ldr r5, _08093120 @ =sIsMonBeingMoved
- ldrb r0, [r5]
- cmp r0, 0
- beq _08093124
- lsls r4, 24
- lsrs r1, r4, 24
- adds r0, r6, 0
- bl diegohint2
- bl sub_8090B6C
- movs r0, 0
- strb r0, [r5]
- b _0809313E
- .align 2, 0
-_08093120: .4byte sIsMonBeingMoved
-_08093124:
- ldr r5, _0809316C @ =sBoxCursorPosition
- ldrb r1, [r5]
- movs r0, 0xE
- bl sub_8092F60
- lsls r4, 24
- lsrs r1, r4, 24
- adds r0, r6, 0
- bl diegohint2
- ldrb r0, [r5]
- bl sub_8090C10
-_0809313E:
- bl StorageGetCurrentBox
- lsls r0, 24
- lsrs r0, 24
- cmp r6, r0
- bne _08093150
- lsrs r0, r4, 24
- bl sub_80901EC
-_08093150:
- ldr r0, _08093170 @ =sPSSData
- ldr r0, [r0]
- movs r1, 0xCB
- lsls r1, 4
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x1
- bl StartSpriteAnim
- movs r0, 0x1
-_08093164:
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0809316C: .4byte sBoxCursorPosition
-_08093170: .4byte sPSSData
- thumb_func_end sub_80930E4
-
- thumb_func_start sub_8093174
-sub_8093174: @ 8093174
- push {lr}
- ldr r0, _08093190 @ =sPSSData
- ldr r0, [r0]
- movs r1, 0xCB
- lsls r1, 4
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0
- bl StartSpriteAnim
- bl sub_8093A10
- pop {r0}
- bx r0
- .align 2, 0
-_08093190: .4byte sPSSData
- thumb_func_end sub_8093174
-
- thumb_func_start sub_8093194
-sub_8093194: @ 8093194
- push {lr}
- ldr r0, _080931A4 @ =sIsMonBeingMoved
- ldrb r0, [r0]
- cmp r0, 0
- beq _080931A8
- movs r2, 0x2
- b _080931B8
- .align 2, 0
-_080931A4: .4byte sIsMonBeingMoved
-_080931A8:
- ldr r0, _080931D8 @ =sBoxCursorArea
- movs r1, 0
- ldrsb r1, [r0, r1]
- movs r2, 0x1
- eors r1, r2
- negs r0, r1
- orrs r0, r1
- lsrs r2, r0, 31
-_080931B8:
- ldr r0, _080931DC @ =sBoxCursorPosition
- ldrb r1, [r0]
- adds r0, r2, 0
- bl sub_8090FC4
- ldr r0, _080931E0 @ =sPSSData
- ldr r1, [r0]
- ldr r2, _080931E4 @ =0x000021d0
- adds r0, r1, r2
- ldr r2, _080931E8 @ =0x00000cea
- adds r1, r2
- bl StringCopy
- pop {r0}
- bx r0
- .align 2, 0
-_080931D8: .4byte sBoxCursorArea
-_080931DC: .4byte sBoxCursorPosition
-_080931E0: .4byte sPSSData
-_080931E4: .4byte 0x000021d0
-_080931E8: .4byte 0x00000cea
- thumb_func_end sub_8093194
-
- thumb_func_start sub_80931EC
-sub_80931EC: @ 80931EC
- push {lr}
- bl sub_8091084
- lsls r0, 24
- cmp r0, 0
- beq _080931FC
- movs r0, 0x1
- b _08093210
-_080931FC:
- ldr r0, _08093214 @ =sPSSData
- ldr r0, [r0]
- movs r1, 0xCB
- lsls r1, 4
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0
- bl StartSpriteAnim
- movs r0, 0
-_08093210:
- pop {r1}
- bx r1
- .align 2, 0
-_08093214: .4byte sPSSData
- thumb_func_end sub_80931EC
-
- thumb_func_start sub_8093218
-sub_8093218: @ 8093218
- push {lr}
- bl sub_80910CC
- ldr r1, _0809322C @ =sIsMonBeingMoved
- ldrb r0, [r1]
- cmp r0, 0
- beq _08093230
- movs r0, 0
- strb r0, [r1]
- b _08093256
- .align 2, 0
-_0809322C: .4byte sIsMonBeingMoved
-_08093230:
- ldr r0, _08093240 @ =sBoxCursorArea
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x1
- bne _08093244
- movs r2, 0xE
- b _0809324C
- .align 2, 0
-_08093240: .4byte sBoxCursorArea
-_08093244:
- bl StorageGetCurrentBox
- lsls r0, 24
- lsrs r2, r0, 24
-_0809324C:
- ldr r0, _08093260 @ =sBoxCursorPosition
- ldrb r1, [r0]
- adds r0, r2, 0
- bl sub_8093030
-_08093256:
- bl sub_8093A10
- pop {r0}
- bx r0
- .align 2, 0
-_08093260: .4byte sBoxCursorPosition
- thumb_func_end sub_8093218
-
- thumb_func_start sub_8093264
-sub_8093264: @ 8093264
- push {lr}
- ldr r0, _08093284 @ =sIsMonBeingMoved
- ldrb r0, [r0]
- cmp r0, 0
- beq _08093280
- ldr r0, _08093288 @ =sPSSData
- ldr r0, [r0]
- movs r1, 0xCB
- lsls r1, 4
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x3
- bl StartSpriteAnim
-_08093280:
- pop {r0}
- bx r0
- .align 2, 0
-_08093284: .4byte sIsMonBeingMoved
-_08093288: .4byte sPSSData
- thumb_func_end sub_8093264
-
- thumb_func_start sub_809328C
-sub_809328C: @ 809328C
- push {r4-r6,lr}
- ldr r0, _080932C0 @ =sIsMonBeingMoved
- ldrb r0, [r0]
- cmp r0, 0
- beq _080932D8
- ldr r4, _080932C4 @ =sPSSData
- ldr r1, [r4]
- ldr r2, _080932C8 @ =0x00002104
- adds r0, r1, r2
- ldr r3, _080932CC @ =0x000020a0
- adds r1, r3
- movs r2, 0x64
- bl memcpy
- ldr r0, [r4]
- ldr r1, _080932D0 @ =0x0000216e
- adds r0, r1
- movs r1, 0xFF
- strb r1, [r0]
- ldr r0, [r4]
- ldr r2, _080932D4 @ =0x0000216f
- adds r0, r2
- movs r1, 0x1
- negs r1, r1
- b _08093354
- .align 2, 0
-_080932C0: .4byte sIsMonBeingMoved
-_080932C4: .4byte sPSSData
-_080932C8: .4byte 0x00002104
-_080932CC: .4byte 0x000020a0
-_080932D0: .4byte 0x0000216e
-_080932D4: .4byte 0x0000216f
-_080932D8:
- ldr r0, _0809330C @ =sBoxCursorArea
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x1
- bne _08093324
- ldr r4, _08093310 @ =sPSSData
- ldr r0, [r4]
- ldr r3, _08093314 @ =0x00002104
- adds r0, r3
- ldr r3, _08093318 @ =gPlayerParty
- ldr r1, _0809331C @ =sBoxCursorPosition
- movs r2, 0
- ldrsb r2, [r1, r2]
- movs r1, 0x64
- muls r1, r2
- adds r1, r3
- movs r2, 0x64
- bl memcpy
- ldr r0, [r4]
- ldr r1, _08093320 @ =0x0000216e
- adds r0, r1
- movs r1, 0xE
- strb r1, [r0]
- b _08093348
- .align 2, 0
-_0809330C: .4byte sBoxCursorArea
-_08093310: .4byte sPSSData
-_08093314: .4byte 0x00002104
-_08093318: .4byte gPlayerParty
-_0809331C: .4byte sBoxCursorPosition
-_08093320: .4byte 0x0000216e
-_08093324:
- bl StorageGetCurrentBox
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080933BC @ =sBoxCursorPosition
- ldrb r1, [r1]
- ldr r4, _080933C0 @ =sPSSData
- ldr r2, [r4]
- ldr r3, _080933C4 @ =0x00002104
- adds r2, r3
- bl sub_808BCF0
- bl StorageGetCurrentBox
- ldr r1, [r4]
- ldr r2, _080933C8 @ =0x0000216e
- adds r1, r2
- strb r0, [r1]
-_08093348:
- ldr r0, _080933C0 @ =sPSSData
- ldr r0, [r0]
- ldr r1, _080933BC @ =sBoxCursorPosition
- ldrb r1, [r1]
- ldr r3, _080933CC @ =0x0000216f
- adds r0, r3
-_08093354:
- strb r1, [r0]
- ldr r6, _080933C0 @ =sPSSData
- ldr r0, [r6]
- ldr r4, _080933D0 @ =0x0000216a
- adds r0, r4
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r6]
- ldr r5, _080933D4 @ =0x0000216b
- adds r0, r5
- strb r1, [r0]
- ldr r0, [r6]
- ldr r1, _080933D8 @ =0x00002172
- adds r2, r0, r1
- movs r1, 0x39
- strh r1, [r2]
- ldr r1, _080933DC @ =0x00002174
- adds r3, r0, r1
- ldr r1, _080933E0 @ =0x00000123
- strh r1, [r3]
- ldr r1, _080933E4 @ =0x00002176
- adds r3, r0, r1
- ldr r1, _080933E8 @ =0x00000163
- strh r1, [r3]
- ldr r3, _080933C4 @ =0x00002104
- adds r0, r3
- movs r1, 0x51
- bl GetMonData
- lsls r0, 16
- lsrs r3, r0, 16
- ldr r1, [r6]
- movs r2, 0x1
- ands r3, r2
- adds r1, r4
- strb r3, [r1]
- ldr r1, [r6]
- lsrs r0, 17
- movs r2, 0x1
- ands r0, r2
- adds r1, r5
- strb r0, [r1]
- ldr r1, [r6]
- adds r4, r1, r4
- ldrh r0, [r4]
- cmp r0, 0
- beq _080933F0
- ldr r0, _080933EC @ =0x00002169
- adds r1, r0
- movs r0, 0
- strb r0, [r1]
- b _080933FE
- .align 2, 0
-_080933BC: .4byte sBoxCursorPosition
-_080933C0: .4byte sPSSData
-_080933C4: .4byte 0x00002104
-_080933C8: .4byte 0x0000216e
-_080933CC: .4byte 0x0000216f
-_080933D0: .4byte 0x0000216a
-_080933D4: .4byte 0x0000216b
-_080933D8: .4byte 0x00002172
-_080933DC: .4byte 0x00002174
-_080933E0: .4byte 0x00000123
-_080933E4: .4byte 0x00002176
-_080933E8: .4byte 0x00000163
-_080933EC: .4byte 0x00002169
-_080933F0:
- ldr r3, _08093410 @ =0x00002169
- adds r0, r1, r3
- strb r2, [r0]
- ldr r0, [r6]
- ldr r1, _08093414 @ =0x00002168
- adds r0, r1
- strb r2, [r0]
-_080933FE:
- ldr r0, _08093418 @ =sPSSData
- ldr r0, [r0]
- ldr r2, _0809341C @ =0x00002170
- adds r0, r2
- movs r1, 0
- strh r1, [r0]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08093410: .4byte 0x00002169
-_08093414: .4byte 0x00002168
-_08093418: .4byte sPSSData
-_0809341C: .4byte 0x00002170
- thumb_func_end sub_809328C
-
- thumb_func_start sub_8093420
-sub_8093420: @ 8093420
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r0, _08093444 @ =sPSSData
- ldr r3, [r0]
- ldr r2, _08093448 @ =0x00002169
- adds r1, r3, r2
- ldrb r1, [r1]
- mov r12, r0
- cmp r1, 0
- beq _08093450
- ldr r1, _0809344C @ =0x00002168
- adds r0, r3, r1
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- b _08093604
- .align 2, 0
-_08093444: .4byte sPSSData
-_08093448: .4byte 0x00002169
-_0809344C: .4byte 0x00002168
-_08093450:
- ldr r2, _08093460 @ =0x00002170
- adds r0, r3, r2
- ldrh r0, [r0]
- cmp r0, 0
- beq _08093464
- cmp r0, 0x1
- beq _0809353C
- b _08093600
- .align 2, 0
-_08093460: .4byte 0x00002170
-_08093464:
- movs r6, 0
- mov r5, r12
- movs r7, 0
-_0809346A:
- ldr r2, [r5]
- ldr r1, _08093500 @ =0x0000216e
- adds r0, r2, r1
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0xE
- bne _08093488
- adds r1, 0x1
- adds r0, r2, r1
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, r6
- beq _080934C2
-_08093488:
- movs r0, 0x64
- muls r0, r6
- ldr r1, _08093504 @ =gPlayerParty
- adds r0, r1
- ldr r1, _08093508 @ =0x00002172
- adds r2, r1
- movs r1, 0x51
- bl GetMonData
- lsls r0, 16
- lsrs r4, r0, 16
- movs r0, 0x1
- ands r0, r4
- cmp r0, 0
- beq _080934AE
- ldr r0, [r5]
- ldr r2, _0809350C @ =0x0000216a
- adds r0, r2
- strb r7, [r0]
-_080934AE:
- movs r0, 0x2
- ands r4, r0
- ldr r0, _08093510 @ =sPSSData
- mov r12, r0
- cmp r4, 0
- beq _080934C2
- ldr r0, [r5]
- ldr r1, _08093514 @ =0x0000216b
- adds r0, r1
- strb r7, [r0]
-_080934C2:
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0x5
- bls _0809346A
- mov r2, r12
- ldr r1, [r2]
- ldr r2, _0809350C @ =0x0000216a
- adds r0, r1, r2
- ldrh r0, [r0]
- cmp r0, 0
- bne _080934DC
- b _080935EE
-_080934DC:
- ldr r2, _08093518 @ =0x0000216c
- adds r0, r1, r2
- movs r1, 0
- strb r1, [r0]
- mov r2, r12
- ldr r0, [r2]
- ldr r2, _0809351C @ =0x0000216d
- adds r0, r2
- strb r1, [r0]
- mov r0, r12
- ldr r1, [r0]
- adds r2, 0x3
- adds r1, r2
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _08093600
- .align 2, 0
-_08093500: .4byte 0x0000216e
-_08093504: .4byte gPlayerParty
-_08093508: .4byte 0x00002172
-_0809350C: .4byte 0x0000216a
-_08093510: .4byte sPSSData
-_08093514: .4byte 0x0000216b
-_08093518: .4byte 0x0000216c
-_0809351C: .4byte 0x0000216d
-_08093520:
- mov r1, r12
- ldr r0, [r1]
- ldr r2, _08093538 @ =0x00002169
- adds r0, r2
- movs r1, 0x1
- strb r1, [r0]
- mov r1, r12
- ldr r0, [r1]
- subs r2, 0x1
- adds r0, r2
- strb r3, [r0]
- b _080935E0
- .align 2, 0
-_08093538: .4byte 0x00002169
-_0809353C:
- movs r6, 0
- mov r7, r12
- ldr r0, _08093610 @ =0x0000ffff
- mov r8, r0
-_08093544:
- ldr r3, [r7]
- ldr r1, _08093614 @ =0x0000216c
- adds r0, r3, r1
- ldrb r0, [r0]
- ldr r2, _08093618 @ =0x0000216d
- adds r1, r3, r2
- ldrb r1, [r1]
- adds r2, 0x5
- adds r3, r2
- movs r2, 0x51
- bl GetAndCopyBoxMonDataFromAnyBox
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0
- beq _080935A0
- ldr r5, [r7]
- ldr r1, _0809361C @ =0x0000216e
- adds r0, r5, r1
- ldrh r2, [r0]
- subs r1, 0x2
- adds r0, r5, r1
- ldrh r3, [r0]
- mov r1, r8
- ands r1, r2
- mov r0, r8
- ands r0, r3
- cmp r1, r0
- beq _080935A0
- movs r0, 0x1
- ands r0, r4
- cmp r0, 0
- beq _0809358E
- ldr r2, _08093620 @ =0x0000216a
- adds r1, r5, r2
- movs r0, 0
- strb r0, [r1]
-_0809358E:
- movs r0, 0x2
- ands r4, r0
- cmp r4, 0
- beq _080935A0
- ldr r0, [r7]
- ldr r1, _08093624 @ =0x0000216b
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
-_080935A0:
- ldr r2, _08093628 @ =sPSSData
- ldr r1, [r2]
- ldr r0, _08093618 @ =0x0000216d
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- movs r3, 0
- strb r0, [r1]
- lsls r0, 24
- asrs r0, 24
- mov r12, r2
- cmp r0, 0x1D
- ble _080935D6
- ldr r0, [r2]
- ldr r1, _08093618 @ =0x0000216d
- adds r0, r1
- strb r3, [r0]
- ldr r1, [r2]
- ldr r2, _08093614 @ =0x0000216c
- adds r1, r2
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0xD
- bgt _08093520
-_080935D6:
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0x4
- bls _08093544
-_080935E0:
- mov r0, r12
- ldr r1, [r0]
- ldr r2, _08093620 @ =0x0000216a
- adds r0, r1, r2
- ldrh r0, [r0]
- cmp r0, 0
- bne _08093600
-_080935EE:
- subs r2, 0x1
- adds r0, r1, r2
- movs r1, 0x1
- strb r1, [r0]
- mov r2, r12
- ldr r0, [r2]
- ldr r2, _0809362C @ =0x00002168
- adds r0, r2
- strb r1, [r0]
-_08093600:
- movs r0, 0x1
- negs r0, r0
-_08093604:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08093610: .4byte 0x0000ffff
-_08093614: .4byte 0x0000216c
-_08093618: .4byte 0x0000216d
-_0809361C: .4byte 0x0000216e
-_08093620: .4byte 0x0000216a
-_08093624: .4byte 0x0000216b
-_08093628: .4byte sPSSData
-_0809362C: .4byte 0x00002168
- thumb_func_end sub_8093420
-
- thumb_func_start sub_8093630
-sub_8093630: @ 8093630
- push {lr}
- ldr r0, _08093650 @ =sIsMonBeingMoved
- ldrb r0, [r0]
- cmp r0, 0
- beq _0809364A
- ldr r0, _08093654 @ =gUnknown_20397BC
- ldr r1, _08093658 @ =sPSSData
- ldr r1, [r1]
- ldr r2, _0809365C @ =0x000020a0
- adds r1, r2
- movs r2, 0x64
- bl memcpy
-_0809364A:
- pop {r0}
- bx r0
- .align 2, 0
-_08093650: .4byte sIsMonBeingMoved
-_08093654: .4byte gUnknown_20397BC
-_08093658: .4byte sPSSData
-_0809365C: .4byte 0x000020a0
- thumb_func_end sub_8093630
-
- thumb_func_start sub_8093660
-sub_8093660: @ 8093660
- push {lr}
- ldr r0, _08093684 @ =sIsMonBeingMoved
- ldrb r0, [r0]
- cmp r0, 0
- beq _080936A8
- ldr r0, _08093688 @ =sMovingMonOrigBoxId
- ldrb r0, [r0]
- cmp r0, 0xE
- bne _08093698
- ldr r0, _0809368C @ =sPSSData
- ldr r0, [r0]
- ldr r1, _08093690 @ =0x000020a0
- adds r0, r1
- ldr r1, _08093694 @ =gUnknown_20397BC
- movs r2, 0x64
- bl memcpy
- b _080936A8
- .align 2, 0
-_08093684: .4byte sIsMonBeingMoved
-_08093688: .4byte sMovingMonOrigBoxId
-_0809368C: .4byte sPSSData
-_08093690: .4byte 0x000020a0
-_08093694: .4byte gUnknown_20397BC
-_08093698:
- ldr r0, _080936AC @ =sPSSData
- ldr r0, [r0]
- ldr r1, _080936B0 @ =0x000020a0
- adds r0, r1
- ldr r1, _080936B4 @ =gUnknown_20397BC
- movs r2, 0x50
- bl memcpy
-_080936A8:
- pop {r0}
- bx r0
- .align 2, 0
-_080936AC: .4byte sPSSData
-_080936B0: .4byte 0x000020a0
-_080936B4: .4byte gUnknown_20397BC
- thumb_func_end sub_8093660
-
- thumb_func_start sub_80936B8
-sub_80936B8: @ 80936B8
- push {r4,r5,lr}
- ldr r0, _080936EC @ =sIsMonBeingMoved
- ldrb r5, [r0]
- cmp r5, 0
- beq _08093708
- bl sub_8093630
- ldr r3, _080936F0 @ =sPSSData
- ldr r1, [r3]
- ldr r0, _080936F4 @ =0x0000217c
- adds r2, r1, r0
- ldr r0, _080936F8 @ =gUnknown_20397BC
- str r0, [r2]
- ldr r2, _080936FC @ =0x00002179
- adds r1, r2
- movs r2, 0
- strb r2, [r1]
- ldr r0, [r3]
- ldr r4, _08093700 @ =0x00002178
- adds r0, r4
- strb r2, [r0]
- ldr r0, [r3]
- ldr r1, _08093704 @ =0x0000217a
- adds r0, r1
- strb r2, [r0]
- b _0809379A
- .align 2, 0
-_080936EC: .4byte sIsMonBeingMoved
-_080936F0: .4byte sPSSData
-_080936F4: .4byte 0x0000217c
-_080936F8: .4byte gUnknown_20397BC
-_080936FC: .4byte 0x00002179
-_08093700: .4byte 0x00002178
-_08093704: .4byte 0x0000217a
-_08093708:
- ldr r0, _08093744 @ =sBoxCursorArea
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x1
- bne _08093764
- ldr r4, _08093748 @ =sPSSData
- ldr r1, [r4]
- ldr r0, _0809374C @ =0x0000217c
- adds r2, r1, r0
- ldr r0, _08093750 @ =gPlayerParty
- str r0, [r2]
- ldr r0, _08093754 @ =sBoxCursorPosition
- ldrb r0, [r0]
- ldr r2, _08093758 @ =0x00002179
- adds r1, r2
- strb r0, [r1]
- bl CountPartyMons
- ldr r1, [r4]
- subs r0, 0x1
- ldr r2, _0809375C @ =0x00002178
- adds r1, r2
- strb r0, [r1]
- ldr r0, [r4]
- ldr r4, _08093760 @ =0x0000217a
- adds r0, r4
- strb r5, [r0]
- b _0809379A
- .align 2, 0
-_08093744: .4byte sBoxCursorArea
-_08093748: .4byte sPSSData
-_0809374C: .4byte 0x0000217c
-_08093750: .4byte gPlayerParty
-_08093754: .4byte sBoxCursorPosition
-_08093758: .4byte 0x00002179
-_0809375C: .4byte 0x00002178
-_08093760: .4byte 0x0000217a
-_08093764:
- bl StorageGetCurrentBox
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- bl GetBoxedMonPtr
- ldr r3, _080937A0 @ =sPSSData
- ldr r2, [r3]
- ldr r4, _080937A4 @ =0x0000217c
- adds r1, r2, r4
- str r0, [r1]
- ldr r0, _080937A8 @ =sBoxCursorPosition
- ldrb r0, [r0]
- ldr r1, _080937AC @ =0x00002179
- adds r2, r1
- strb r0, [r2]
- ldr r0, [r3]
- ldr r2, _080937B0 @ =0x00002178
- adds r0, r2
- movs r1, 0x1D
- strb r1, [r0]
- ldr r0, [r3]
- subs r4, 0x2
- adds r0, r4
- movs r1, 0x5
- strb r1, [r0]
-_0809379A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080937A0: .4byte sPSSData
-_080937A4: .4byte 0x0000217c
-_080937A8: .4byte sBoxCursorPosition
-_080937AC: .4byte 0x00002179
-_080937B0: .4byte 0x00002178
- thumb_func_end sub_80936B8
-
- thumb_func_start sub_80937B4
-sub_80937B4: @ 80937B4
- push {r4,lr}
- ldr r0, _080937C4 @ =sIsMonBeingMoved
- ldrb r0, [r0]
- cmp r0, 0
- beq _080937C8
- bl sub_8093660
- b _080937D0
- .align 2, 0
-_080937C4: .4byte sIsMonBeingMoved
-_080937C8:
- ldr r4, _080937D8 @ =sBoxCursorPosition
- bl GetLastViewedMonIndex
- strb r0, [r4]
-_080937D0:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080937D8: .4byte sBoxCursorPosition
- thumb_func_end sub_80937B4
-
- thumb_func_start CompactPartySlots
-CompactPartySlots: @ 80937DC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r7, _08093828 @ =0x0000ffff
- movs r6, 0
- movs r5, 0
- movs r0, 0x64
- mov r9, r0
- ldr r1, _0809382C @ =gPlayerParty
- mov r8, r1
- subs r0, 0x65
- mov r10, r0
-_080937F8:
- mov r0, r9
- muls r0, r6
- mov r1, r8
- adds r4, r0, r1
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- cmp r0, 0
- beq _08093830
- cmp r6, r5
- beq _08093820
- mov r0, r9
- muls r0, r5
- add r0, r8
- adds r1, r4, 0
- movs r2, 0x64
- bl memcpy
-_08093820:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- b _0809383A
- .align 2, 0
-_08093828: .4byte 0x0000ffff
-_0809382C: .4byte gPlayerParty
-_08093830:
- lsls r0, r7, 16
- asrs r0, 16
- cmp r0, r10
- bne _0809383A
- adds r7, r6, 0
-_0809383A:
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0x5
- bls _080937F8
- lsls r7, 16
- cmp r5, 0x5
- bhi _08093862
- movs r6, 0x64
- ldr r4, _08093874 @ =gPlayerParty
-_0809384E:
- adds r0, r5, 0
- muls r0, r6
- adds r0, r4
- bl ZeroMonData
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x5
- bls _0809384E
-_08093862:
- asrs r0, r7, 16
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08093874: .4byte gPlayerParty
- thumb_func_end CompactPartySlots
-
- thumb_func_start sub_8093878
-sub_8093878: @ 8093878
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- mov r1, sp
- strb r0, [r1]
- ldr r2, _080938A8 @ =sPSSData
- ldr r1, [r2]
- ldr r3, _080938AC @ =0x00000ce7
- adds r1, r3
- strb r0, [r1]
- ldr r0, _080938B0 @ =sIsMonBeingMoved
- ldrb r0, [r0]
- cmp r0, 0
- beq _080938B8
- ldr r0, [r2]
- ldr r1, _080938B4 @ =0x000020a0
- adds r0, r1
- movs r1, 0x8
- mov r2, sp
- bl SetMonData
- b _080938EC
- .align 2, 0
-_080938A8: .4byte sPSSData
-_080938AC: .4byte 0x00000ce7
-_080938B0: .4byte sIsMonBeingMoved
-_080938B4: .4byte 0x000020a0
-_080938B8:
- ldr r4, _080938F4 @ =sBoxCursorArea
- movs r0, 0
- ldrsb r0, [r4, r0]
- cmp r0, 0x1
- bne _080938D8
- ldr r0, _080938F8 @ =sBoxCursorPosition
- movs r1, 0
- ldrsb r1, [r0, r1]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _080938FC @ =gPlayerParty
- adds r0, r1
- movs r1, 0x8
- mov r2, sp
- bl SetMonData
-_080938D8:
- movs r0, 0
- ldrsb r0, [r4, r0]
- cmp r0, 0
- bne _080938EC
- ldr r0, _080938F8 @ =sBoxCursorPosition
- ldrb r0, [r0]
- movs r1, 0x8
- mov r2, sp
- bl SetBoxMonDataFromSelectedBox
-_080938EC:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080938F4: .4byte sBoxCursorArea
-_080938F8: .4byte sBoxCursorPosition
-_080938FC: .4byte gPlayerParty
- thumb_func_end sub_8093878
-
- thumb_func_start sub_8093900
-sub_8093900: @ 8093900
- push {lr}
- ldr r0, _08093928 @ =sBoxCursorArea
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x1
- bne _08093934
- ldr r0, _0809392C @ =sIsMonBeingMoved
- ldrb r0, [r0]
- cmp r0, 0
- bne _08093934
- ldr r0, _08093930 @ =sBoxCursorPosition
- ldrb r0, [r0]
- bl CountPartyAliveNonEggMonsExcept
- lsls r0, 24
- cmp r0, 0
- bne _08093934
- movs r0, 0x1
- b _08093936
- .align 2, 0
-_08093928: .4byte sBoxCursorArea
-_0809392C: .4byte sIsMonBeingMoved
-_08093930: .4byte sBoxCursorPosition
-_08093934:
- movs r0, 0
-_08093936:
- pop {r1}
- bx r1
- thumb_func_end sub_8093900
-
- thumb_func_start sub_809393C
-sub_809393C: @ 809393C
- push {lr}
- ldr r0, _08093980 @ =sIsMonBeingMoved
- ldrb r0, [r0]
- cmp r0, 0
- beq _08093998
- ldr r0, _08093984 @ =sBoxCursorArea
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x1
- bne _0809397C
- ldr r0, _08093988 @ =sBoxCursorPosition
- ldrb r0, [r0]
- bl CountPartyAliveNonEggMonsExcept
- lsls r0, 24
- cmp r0, 0
- bne _0809397C
- ldr r0, _0809398C @ =sPSSData
- ldr r1, [r0]
- ldr r2, _08093990 @ =0x00000ce9
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _08093998
- ldr r2, _08093994 @ =0x000020a0
- adds r0, r1, r2
- movs r1, 0x39
- bl GetMonData
- cmp r0, 0
- beq _08093998
-_0809397C:
- movs r0, 0x1
- b _0809399A
- .align 2, 0
-_08093980: .4byte sIsMonBeingMoved
-_08093984: .4byte sBoxCursorArea
-_08093988: .4byte sBoxCursorPosition
-_0809398C: .4byte sPSSData
-_08093990: .4byte 0x00000ce9
-_08093994: .4byte 0x000020a0
-_08093998:
- movs r0, 0
-_0809399A:
- pop {r1}
- bx r1
- thumb_func_end sub_809393C
-
- thumb_func_start sub_80939A0
-sub_80939A0: @ 80939A0
- ldr r0, _080939A8 @ =sIsMonBeingMoved
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_080939A8: .4byte sIsMonBeingMoved
- thumb_func_end sub_80939A0
-
- thumb_func_start sub_80939AC
-sub_80939AC: @ 80939AC
- push {lr}
- movs r1, 0
- ldr r0, _080939C4 @ =sBoxCursorArea
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x2
- bne _080939BE
- movs r1, 0x1
-_080939BE:
- adds r0, r1, 0
- pop {r1}
- bx r1
- .align 2, 0
-_080939C4: .4byte sBoxCursorArea
- thumb_func_end sub_80939AC
-
- thumb_func_start sub_80939C8
-sub_80939C8: @ 80939C8
- push {lr}
- movs r1, 0
- ldr r0, _080939EC @ =sBoxCursorArea
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x3
- bne _080939E6
- ldr r0, _080939F0 @ =sBoxCursorPosition
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x1
- bne _080939E6
- movs r1, 0x1
-_080939E6:
- adds r0, r1, 0
- pop {r1}
- bx r1
- .align 2, 0
-_080939EC: .4byte sBoxCursorArea
-_080939F0: .4byte sBoxCursorPosition
- thumb_func_end sub_80939C8
-
- thumb_func_start sub_80939F4
-sub_80939F4: @ 80939F4
- push {lr}
- movs r1, 0
- ldr r0, _08093A0C @ =sBoxCursorArea
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- bne _08093A06
- movs r1, 0x1
-_08093A06:
- adds r0, r1, 0
- pop {r1}
- bx r1
- .align 2, 0
-_08093A0C: .4byte sBoxCursorArea
- thumb_func_end sub_80939F4
-
- thumb_func_start sub_8093A10
-sub_8093A10: @ 8093A10
- push {r4,lr}
- ldr r0, _08093A44 @ =sPSSData
- ldr r1, [r0]
- movs r2, 0
- ldr r3, _08093A48 @ =sIsMonBeingMoved
- ldrb r0, [r3]
- cmp r0, 0
- bne _08093A22
- movs r2, 0x1
-_08093A22:
- ldr r4, _08093A4C @ =0x00000ce6
- adds r0, r1, r4
- strb r2, [r0]
- ldrb r0, [r3]
- cmp r0, 0
- bne _08093AA0
- ldr r0, _08093A50 @ =sBoxCursorArea
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x1
- beq _08093A5A
- cmp r0, 0x1
- bgt _08093A54
- cmp r0, 0
- beq _08093A8A
- b _08093AA0
- .align 2, 0
-_08093A44: .4byte sPSSData
-_08093A48: .4byte sIsMonBeingMoved
-_08093A4C: .4byte 0x00000ce6
-_08093A50: .4byte sBoxCursorArea
-_08093A54:
- cmp r0, 0x3
- bgt _08093AA0
- b _08093A80
-_08093A5A:
- ldr r1, _08093A78 @ =sBoxCursorPosition
- movs r0, 0
- ldrsb r0, [r1, r0]
- cmp r0, 0x5
- bgt _08093A80
- adds r1, r0, 0
- movs r0, 0x64
- muls r0, r1
- ldr r1, _08093A7C @ =gPlayerParty
- adds r0, r1
- movs r1, 0
- bl sub_8093AD0
- b _08093AA0
- .align 2, 0
-_08093A78: .4byte sBoxCursorPosition
-_08093A7C: .4byte gPlayerParty
-_08093A80:
- movs r0, 0
- movs r1, 0x2
- bl sub_8093AD0
- b _08093AA0
-_08093A8A:
- bl StorageGetCurrentBox
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _08093AA8 @ =sBoxCursorPosition
- ldrb r1, [r1]
- bl GetBoxedMonPtr
- movs r1, 0x1
- bl sub_8093AD0
-_08093AA0:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08093AA8: .4byte sBoxCursorPosition
- thumb_func_end sub_8093A10
-
- thumb_func_start sub_8093AAC
-sub_8093AAC: @ 8093AAC
- push {lr}
- ldr r0, _08093AC0 @ =sIsMonBeingMoved
- ldrb r0, [r0]
- cmp r0, 0
- beq _08093AC8
- ldr r0, _08093AC4 @ =gUnknown_20397BC
- movs r1, 0
- bl sub_8093AD0
- b _08093ACC
- .align 2, 0
-_08093AC0: .4byte sIsMonBeingMoved
-_08093AC4: .4byte gUnknown_20397BC
-_08093AC8:
- bl sub_8093A10
-_08093ACC:
- pop {r0}
- bx r0
- thumb_func_end sub_8093AAC
-
- thumb_func_start sub_8093AD0
-sub_8093AD0: @ 8093AD0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r4, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r5, r1, 0
- ldr r0, _08093B38 @ =sPSSData
- mov r8, r0
- ldr r1, [r0]
- ldr r3, _08093B3C @ =0x00000ce2
- adds r2, r1, r3
- movs r0, 0
- strh r0, [r2]
- mov r9, r0
- mov r10, r0
- cmp r5, 0
- bne _08093BEC
- adds r6, r4, 0
- adds r0, r4, 0
- movs r1, 0x41
- bl GetMonData
- mov r2, r8
- ldr r1, [r2]
- movs r3, 0xCE
- lsls r3, 4
- adds r1, r3
- strh r0, [r1]
- lsls r0, 16
- cmp r0, 0
- bne _08093B16
- b _08093D0C
-_08093B16:
- adds r0, r4, 0
- movs r1, 0x4
- bl GetMonData
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- cmp r0, 0
- beq _08093B44
- mov r1, r8
- ldr r0, [r1]
- ldr r2, _08093B40 @ =0x00000ce9
- adds r0, r2
- movs r1, 0x1
- strb r1, [r0]
- b _08093B56
- .align 2, 0
-_08093B38: .4byte sPSSData
-_08093B3C: .4byte 0x00000ce2
-_08093B40: .4byte 0x00000ce9
-_08093B44:
- adds r0, r4, 0
- movs r1, 0x2D
- bl GetMonData
- mov r3, r8
- ldr r1, [r3]
- ldr r2, _08093BCC @ =0x00000ce9
- adds r1, r2
- strb r0, [r1]
-_08093B56:
- ldr r4, _08093BD0 @ =sPSSData
- ldr r2, [r4]
- ldr r5, _08093BD4 @ =0x00000cea
- adds r2, r5
- adds r0, r6, 0
- movs r1, 0x2
- bl GetMonData
- ldr r0, [r4]
- adds r0, r5
- bl StringGetEnd10
- adds r0, r6, 0
- movs r1, 0x38
- bl GetMonData
- ldr r1, [r4]
- ldr r3, _08093BD8 @ =0x00000ce8
- adds r1, r3
- strb r0, [r1]
- adds r0, r6, 0
- movs r1, 0x8
- bl GetMonData
- ldr r1, [r4]
- ldr r2, _08093BDC @ =0x00000ce7
- adds r1, r2
- strb r0, [r1]
- adds r0, r6, 0
- movs r1, 0
- bl GetMonData
- ldr r1, [r4]
- ldr r3, _08093BE0 @ =0x00000cdc
- adds r1, r3
- str r0, [r1]
- adds r0, r6, 0
- bl GetMonFrontSpritePal
- ldr r1, [r4]
- ldr r2, _08093BE4 @ =0x00000cd8
- adds r1, r2
- str r0, [r1]
- adds r0, r6, 0
- bl GetMonGender
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- adds r0, r6, 0
- movs r1, 0xC
- bl GetMonData
- ldr r1, [r4]
- ldr r3, _08093BE8 @ =0x00000ce2
- adds r1, r3
- strh r0, [r1]
- b _08093CFC
- .align 2, 0
-_08093BCC: .4byte 0x00000ce9
-_08093BD0: .4byte sPSSData
-_08093BD4: .4byte 0x00000cea
-_08093BD8: .4byte 0x00000ce8
-_08093BDC: .4byte 0x00000ce7
-_08093BE0: .4byte 0x00000cdc
-_08093BE4: .4byte 0x00000cd8
-_08093BE8: .4byte 0x00000ce2
-_08093BEC:
- cmp r5, 0x1
- beq _08093BF2
- b _08093CF0
-_08093BF2:
- adds r7, r4, 0
- adds r0, r7, 0
- movs r1, 0x41
- bl GetBoxMonData
- mov r2, r8
- ldr r1, [r2]
- movs r3, 0xCE
- lsls r3, 4
- adds r1, r3
- strh r0, [r1]
- lsls r0, 16
- cmp r0, 0
- bne _08093C10
- b _08093D0C
-_08093C10:
- adds r0, r7, 0
- movs r1, 0x1
- bl GetBoxMonData
- mov r9, r0
- adds r0, r7, 0
- movs r1, 0x4
- bl GetBoxMonData
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- cmp r0, 0
- beq _08093C3C
- mov r1, r8
- ldr r0, [r1]
- ldr r2, _08093C38 @ =0x00000ce9
- adds r0, r2
- strb r5, [r0]
- b _08093C4E
- .align 2, 0
-_08093C38: .4byte 0x00000ce9
-_08093C3C:
- adds r0, r7, 0
- movs r1, 0x2D
- bl GetBoxMonData
- mov r3, r8
- ldr r1, [r3]
- ldr r2, _08093CD0 @ =0x00000ce9
- adds r1, r2
- strb r0, [r1]
-_08093C4E:
- ldr r5, _08093CD4 @ =sPSSData
- ldr r2, [r5]
- ldr r4, _08093CD8 @ =0x00000cea
- adds r2, r4
- adds r0, r7, 0
- movs r1, 0x2
- bl GetBoxMonData
- ldr r0, [r5]
- adds r0, r4
- bl StringGetEnd10
- adds r0, r7, 0
- bl GetLevelFromBoxMonExp
- ldr r1, [r5]
- ldr r3, _08093CDC @ =0x00000ce8
- adds r1, r3
- strb r0, [r1]
- adds r0, r7, 0
- movs r1, 0x8
- bl GetBoxMonData
- ldr r1, [r5]
- ldr r2, _08093CE0 @ =0x00000ce7
- adds r1, r2
- strb r0, [r1]
- adds r0, r7, 0
- movs r1, 0
- bl GetBoxMonData
- adds r2, r0, 0
- ldr r1, [r5]
- ldr r6, _08093CE4 @ =0x00000cdc
- adds r0, r1, r6
- str r2, [r0]
- subs r4, 0xA
- adds r1, r4
- ldrh r0, [r1]
- mov r1, r9
- bl GetMonSpritePalFromSpeciesAndPersonality
- ldr r1, [r5]
- ldr r3, _08093CE8 @ =0x00000cd8
- adds r2, r1, r3
- str r0, [r2]
- adds r4, r1, r4
- ldrh r0, [r4]
- adds r1, r6
- ldr r1, [r1]
- bl GetGenderFromSpeciesAndPersonality
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- adds r0, r7, 0
- movs r1, 0xC
- bl GetBoxMonData
- ldr r1, [r5]
- ldr r2, _08093CEC @ =0x00000ce2
- adds r1, r2
- strh r0, [r1]
- b _08093CFC
- .align 2, 0
-_08093CD0: .4byte 0x00000ce9
-_08093CD4: .4byte sPSSData
-_08093CD8: .4byte 0x00000cea
-_08093CDC: .4byte 0x00000ce8
-_08093CE0: .4byte 0x00000ce7
-_08093CE4: .4byte 0x00000cdc
-_08093CE8: .4byte 0x00000cd8
-_08093CEC: .4byte 0x00000ce2
-_08093CF0:
- movs r3, 0xCE
- lsls r3, 4
- adds r0, r1, r3
- mov r1, r9
- strh r1, [r0]
- strh r1, [r2]
-_08093CFC:
- ldr r0, _08093D50 @ =sPSSData
- ldr r1, [r0]
- movs r2, 0xCE
- lsls r2, 4
- adds r0, r1, r2
- ldrh r2, [r0]
- cmp r2, 0
- bne _08093D68
-_08093D0C:
- ldr r4, _08093D50 @ =sPSSData
- ldr r0, [r4]
- ldr r3, _08093D54 @ =0x00000cea
- adds r0, r3
- movs r1, 0
- movs r2, 0x5
- bl StringFill
- ldr r0, [r4]
- ldr r1, _08093D58 @ =0x00000cf5
- adds r0, r1
- movs r1, 0
- movs r2, 0x8
- bl StringFill
- ldr r0, [r4]
- ldr r2, _08093D5C @ =0x00000d19
- adds r0, r2
- movs r1, 0
- movs r2, 0x8
- bl StringFill
- ldr r0, [r4]
- ldr r3, _08093D60 @ =0x00000d3d
- adds r0, r3
- movs r1, 0
- movs r2, 0x8
- bl StringFill
- ldr r0, [r4]
- ldr r1, _08093D64 @ =0x00000d61
- adds r0, r1
- b _08093DC6
- .align 2, 0
-_08093D50: .4byte sPSSData
-_08093D54: .4byte 0x00000cea
-_08093D58: .4byte 0x00000cf5
-_08093D5C: .4byte 0x00000d19
-_08093D60: .4byte 0x00000d3d
-_08093D64: .4byte 0x00000d61
-_08093D68:
- ldr r3, _08093D8C @ =0x00000ce9
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, 0
- beq _08093DE8
- mov r0, r10
- cmp r0, 0
- beq _08093D94
- ldr r2, _08093D90 @ =0x00000cf5
- adds r0, r1, r2
- adds r3, 0x1
- adds r1, r3
- movs r2, 0
- movs r3, 0x5
- bl StringCopyPadded
- b _08093DA2
- .align 2, 0
-_08093D8C: .4byte 0x00000ce9
-_08093D90: .4byte 0x00000cf5
-_08093D94:
- ldr r2, _08093DD0 @ =0x00000cf5
- adds r0, r1, r2
- ldr r1, _08093DD4 @ =gText_EggNickname
- movs r2, 0
- movs r3, 0x8
- bl StringCopyPadded
-_08093DA2:
- ldr r4, _08093DD8 @ =sPSSData
- ldr r0, [r4]
- ldr r3, _08093DDC @ =0x00000d19
- adds r0, r3
- movs r1, 0
- movs r2, 0x8
- bl StringFill
- ldr r0, [r4]
- ldr r1, _08093DE0 @ =0x00000d3d
- adds r0, r1
- movs r1, 0
- movs r2, 0x8
- bl StringFill
- ldr r0, [r4]
- ldr r2, _08093DE4 @ =0x00000d61
- adds r0, r2
-_08093DC6:
- movs r1, 0
- movs r2, 0x8
- bl StringFill
- b _08093F84
- .align 2, 0
-_08093DD0: .4byte 0x00000cf5
-_08093DD4: .4byte gText_EggNickname
-_08093DD8: .4byte sPSSData
-_08093DDC: .4byte 0x00000d19
-_08093DE0: .4byte 0x00000d3d
-_08093DE4: .4byte 0x00000d61
-_08093DE8:
- cmp r2, 0x1D
- beq _08093DF0
- cmp r2, 0x20
- bne _08093DF4
-_08093DF0:
- movs r3, 0xFF
- mov r9, r3
-_08093DF4:
- ldr r4, _08093E78 @ =sPSSData
- ldr r1, [r4]
- ldr r2, _08093E7C @ =0x00000cf5
- adds r0, r1, r2
- ldr r3, _08093E80 @ =0x00000cea
- adds r1, r3
- movs r2, 0
- movs r3, 0x5
- bl StringCopyPadded
- ldr r1, [r4]
- ldr r0, _08093E84 @ =0x00000d19
- adds r2, r1, r0
- movs r0, 0xBA
- strb r0, [r2]
- ldr r3, _08093E88 @ =0x00000d1a
- adds r2, r1, r3
- ldr r0, [r4]
- movs r1, 0xCE
- lsls r1, 4
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0xB
- muls r1, r0
- ldr r0, _08093E8C @ =gSpeciesNames
- adds r1, r0
- adds r0, r2, 0
- movs r2, 0
- movs r3, 0x5
- bl StringCopyPadded
- ldr r4, [r4]
- ldr r3, _08093E90 @ =0x00000d3d
- adds r2, r4, r3
- movs r0, 0xFC
- strb r0, [r2]
- ldr r0, _08093E94 @ =0x00000d3e
- adds r2, r4, r0
- movs r0, 0x4
- strb r0, [r2]
- ldr r1, _08093E98 @ =0x00000d3f
- adds r2, r4, r1
- mov r3, r9
- cmp r3, 0
- beq _08093EA4
- cmp r3, 0xFE
- beq _08093ED0
- movs r0, 0x2
- strb r0, [r2]
- movs r0, 0xD4
- lsls r0, 4
- adds r2, r4, r0
- movs r0, 0x1
- strb r0, [r2]
- adds r1, 0x2
- adds r2, r4, r1
- movs r0, 0x3
- strb r0, [r2]
- ldr r3, _08093E9C @ =0x00000d42
- adds r2, r4, r3
- movs r0, 0
- strb r0, [r2]
- ldr r0, _08093EA0 @ =0x00000d43
- adds r2, r4, r0
- b _08093EF2
- .align 2, 0
-_08093E78: .4byte sPSSData
-_08093E7C: .4byte 0x00000cf5
-_08093E80: .4byte 0x00000cea
-_08093E84: .4byte 0x00000d19
-_08093E88: .4byte 0x00000d1a
-_08093E8C: .4byte gSpeciesNames
-_08093E90: .4byte 0x00000d3d
-_08093E94: .4byte 0x00000d3e
-_08093E98: .4byte 0x00000d3f
-_08093E9C: .4byte 0x00000d42
-_08093EA0: .4byte 0x00000d43
-_08093EA4:
- strb r0, [r2]
- movs r1, 0xD4
- lsls r1, 4
- adds r2, r4, r1
- movs r0, 0x1
- strb r0, [r2]
- ldr r3, _08093EC8 @ =0x00000d41
- adds r2, r4, r3
- movs r0, 0x5
- strb r0, [r2]
- ldr r0, _08093ECC @ =0x00000d42
- adds r2, r4, r0
- movs r0, 0xB5
- strb r0, [r2]
- adds r1, 0x3
- adds r2, r4, r1
- b _08093EF2
- .align 2, 0
-_08093EC8: .4byte 0x00000d41
-_08093ECC: .4byte 0x00000d42
-_08093ED0:
- movs r0, 0x6
- strb r0, [r2]
- movs r3, 0xD4
- lsls r3, 4
- adds r2, r4, r3
- movs r0, 0x1
- strb r0, [r2]
- ldr r0, _08093F60 @ =0x00000d41
- adds r2, r4, r0
- movs r0, 0x7
- strb r0, [r2]
- ldr r1, _08093F64 @ =0x00000d42
- adds r2, r4, r1
- movs r0, 0xB6
- strb r0, [r2]
- adds r3, 0x3
- adds r2, r4, r3
-_08093EF2:
- movs r0, 0xFC
- strb r0, [r2]
- adds r2, 0x1
- movs r0, 0x4
- strb r0, [r2]
- adds r2, 0x1
- movs r0, 0x2
- strb r0, [r2]
- adds r2, 0x1
- movs r0, 0x1
- strb r0, [r2]
- adds r2, 0x1
- movs r0, 0x3
- strb r0, [r2]
- adds r2, 0x1
- movs r5, 0
- strb r5, [r2]
- adds r2, 0x1
- movs r0, 0xF9
- strb r0, [r2]
- adds r2, 0x1
- movs r0, 0x5
- strb r0, [r2]
- adds r2, 0x1
- ldr r4, _08093F68 @ =sPSSData
- ldr r0, [r4]
- ldr r1, _08093F6C @ =0x00000ce8
- adds r0, r1
- ldrb r1, [r0]
- adds r0, r2, 0
- movs r2, 0
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- adds r2, r0, 0
- strb r5, [r2]
- movs r0, 0xFF
- strb r0, [r2, 0x1]
- ldr r4, [r4]
- ldr r2, _08093F70 @ =0x00000ce2
- adds r1, r4, r2
- ldrh r0, [r1]
- cmp r0, 0
- beq _08093F78
- ldr r3, _08093F74 @ =0x00000d61
- adds r4, r3
- bl ItemId_GetName
- adds r1, r0, 0
- adds r0, r4, 0
- movs r2, 0
- movs r3, 0x8
- bl StringCopyPadded
- b _08093F84
- .align 2, 0
-_08093F60: .4byte 0x00000d41
-_08093F64: .4byte 0x00000d42
-_08093F68: .4byte sPSSData
-_08093F6C: .4byte 0x00000ce8
-_08093F70: .4byte 0x00000ce2
-_08093F74: .4byte 0x00000d61
-_08093F78:
- ldr r1, _08093F94 @ =0x00000d61
- adds r0, r4, r1
- movs r1, 0
- movs r2, 0x8
- bl StringFill
-_08093F84:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08093F94: .4byte 0x00000d61
- thumb_func_end sub_8093AD0
-
- thumb_func_start sub_8093F98
-sub_8093F98: @ 8093F98
- push {lr}
- ldr r0, _08093FB8 @ =sPSSData
- ldr r0, [r0]
- ldr r1, _08093FBC @ =0x000021ef
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _08093FC0
- cmp r0, 0x1
- ble _08093FB0
- cmp r0, 0x2
- beq _08093FC6
-_08093FB0:
- bl sub_8093FD4
- b _08093FCA
- .align 2, 0
-_08093FB8: .4byte sPSSData
-_08093FBC: .4byte 0x000021ef
-_08093FC0:
- bl sub_8094240
- b _08093FCA
-_08093FC6:
- bl sub_8094378
-_08093FCA:
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_8093F98
-
- thumb_func_start sub_8093FD4
-sub_8093FD4: @ 8093FD4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r0, _08094058 @ =sBoxCursorArea
- ldrb r0, [r0]
- mov r8, r0
- ldr r2, _0809405C @ =sBoxCursorPosition
- ldrb r4, [r2]
- ldr r5, _08094060 @ =sPSSData
- ldr r0, [r5]
- ldr r1, _08094064 @ =0x00000cce
- mov r10, r1
- add r0, r10
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r5]
- ldr r7, _08094068 @ =0x00000ccf
- adds r0, r7
- strb r1, [r0]
- ldr r0, [r5]
- ldr r3, _0809406C @ =0x00000cd3
- mov r9, r3
- add r0, r9
- strb r1, [r0]
- ldr r6, _08094070 @ =gMain
- ldrh r1, [r6, 0x30]
- movs r0, 0x40
- ands r0, r1
- adds r3, r2, 0
- cmp r0, 0
- beq _08094018
- b _08094208
-_08094018:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08094074
- movs r6, 0x1
- lsls r0, r4, 24
- movs r1, 0xC0
- lsls r1, 19
- adds r0, r1
- lsrs r4, r0, 24
- asrs r0, 24
- cmp r0, 0x1D
- bgt _08094034
- b _08094224
-_08094034:
- movs r2, 0x3
- mov r8, r2
- subs r0, 0x1E
- lsls r0, 24
- asrs r0, 24
- movs r1, 0x3
- bl __divsi3
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, [r5]
- add r0, r10
- strb r6, [r0]
- ldr r0, [r5]
- add r0, r9
- strb r6, [r0]
- b _08094224
- .align 2, 0
-_08094058: .4byte sBoxCursorArea
-_0809405C: .4byte sBoxCursorPosition
-_08094060: .4byte sPSSData
-_08094064: .4byte 0x00000cce
-_08094068: .4byte 0x00000ccf
-_0809406C: .4byte 0x00000cd3
-_08094070: .4byte gMain
-_08094074:
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080940AA
- movs r6, 0x1
- movs r0, 0
- ldrsb r0, [r3, r0]
- movs r1, 0x6
- bl __modsi3
- lsls r0, 24
- cmp r0, 0
- beq _08094096
- lsls r0, r4, 24
- movs r3, 0xFF
- lsls r3, 24
- b _08094218
-_08094096:
- ldr r0, [r5]
- adds r0, r7
- movs r1, 0xFF
- strb r1, [r0]
- lsls r0, r4, 24
- movs r1, 0xA0
- lsls r1, 19
- adds r0, r1
- lsrs r4, r0, 24
- b _08094224
-_080940AA:
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080940DE
- movs r6, 0x1
- movs r0, 0
- ldrsb r0, [r3, r0]
- adds r0, 0x1
- movs r1, 0x6
- bl __modsi3
- cmp r0, 0
- beq _080940D0
- lsls r0, r4, 24
- movs r2, 0x80
- lsls r2, 17
- adds r0, r2
- lsrs r4, r0, 24
- b _08094224
-_080940D0:
- ldr r0, [r5]
- adds r0, r7
- strb r6, [r0]
- lsls r0, r4, 24
- movs r3, 0xFB
- lsls r3, 24
- b _08094218
-_080940DE:
- ldrh r1, [r6, 0x2E]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _080940EC
- movs r6, 0x1
- b _0809421E
-_080940EC:
- movs r4, 0x1
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080941B0
- bl sub_8094924
- lsls r0, 24
- cmp r0, 0
- beq _080941B0
- ldr r0, _0809410C @ =sCanOnlyMove
- ldrb r0, [r0]
- cmp r0, 0
- bne _08094110
- movs r0, 0x8
- b _08094232
- .align 2, 0
-_0809410C: .4byte sCanOnlyMove
-_08094110:
- ldr r1, [r5]
- ldrb r0, [r1, 0x1]
- cmp r0, 0x2
- bne _08094120
- ldr r0, _0809413C @ =sIsMonBeingMoved
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080941A0
-_08094120:
- movs r0, 0
- bl sub_8094E50
- subs r0, 0x1
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0xE
- bhi _080941B0
- lsls r0, 2
- ldr r1, _08094140 @ =_08094144
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0809413C: .4byte sIsMonBeingMoved
-_08094140: .4byte _08094144
- .align 2, 0
-_08094144:
- .4byte _08094180
- .4byte _08094184
- .4byte _08094188
- .4byte _0809418C
- .4byte _08094190
- .4byte _080941B0
- .4byte _080941B0
- .4byte _080941B0
- .4byte _080941B0
- .4byte _080941B0
- .4byte _080941B0
- .4byte _08094194
- .4byte _08094198
- .4byte _080941B0
- .4byte _0809419C
-_08094180:
- movs r0, 0xB
- b _08094232
-_08094184:
- movs r0, 0xC
- b _08094232
-_08094188:
- movs r0, 0xD
- b _08094232
-_0809418C:
- movs r0, 0xE
- b _08094232
-_08094190:
- movs r0, 0xF
- b _08094232
-_08094194:
- movs r0, 0x10
- b _08094232
-_08094198:
- movs r0, 0x11
- b _08094232
-_0809419C:
- movs r0, 0x12
- b _08094232
-_080941A0:
- ldr r2, _080941AC @ =0x000021ef
- adds r0, r1, r2
- strb r4, [r0]
- movs r0, 0x14
- b _08094232
- .align 2, 0
-_080941AC: .4byte 0x000021ef
-_080941B0:
- ldr r2, _080941C0 @ =gMain
- ldrh r1, [r2, 0x2E]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080941C4
- movs r0, 0x13
- b _08094232
- .align 2, 0
-_080941C0: .4byte gMain
-_080941C4:
- ldr r0, _080941E0 @ =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x13]
- cmp r0, 0x1
- bne _080941F2
- ldrh r1, [r2, 0x2C]
- movs r0, 0x80
- lsls r0, 2
- ands r0, r1
- cmp r0, 0
- beq _080941E4
- movs r0, 0xA
- b _08094232
- .align 2, 0
-_080941E0: .4byte gSaveBlock2Ptr
-_080941E4:
- movs r0, 0x80
- lsls r0, 1
- ands r0, r1
- cmp r0, 0
- beq _080941F2
- movs r0, 0x9
- b _08094232
-_080941F2:
- ldrh r1, [r2, 0x2E]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _08094204
- bl sub_8094C84
- movs r0, 0
- b _08094232
-_08094204:
- movs r6, 0
- b _08094230
-_08094208:
- movs r6, 0x1
- movs r0, 0
- ldrsb r0, [r2, r0]
- cmp r0, 0x5
- ble _0809421E
- lsls r0, r4, 24
- movs r3, 0xFA
- lsls r3, 24
-_08094218:
- adds r0, r3
- lsrs r4, r0, 24
- b _08094224
-_0809421E:
- movs r0, 0x2
- mov r8, r0
- movs r4, 0
-_08094224:
- cmp r6, 0
- beq _08094230
- mov r0, r8
- adds r1, r4, 0
- bl sub_80927E8
-_08094230:
- adds r0, r6, 0
-_08094232:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8093FD4
-
- thumb_func_start sub_8094240
-sub_8094240: @ 8094240
- push {r4,lr}
- ldr r1, _08094270 @ =gMain
- ldrh r0, [r1, 0x2C]
- movs r4, 0x1
- ands r4, r0
- cmp r4, 0
- beq _080942F4
- ldrh r1, [r1, 0x30]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08094278
- ldr r4, _08094274 @ =sBoxCursorPosition
- movs r0, 0
- ldrsb r0, [r4, r0]
- movs r1, 0x6
- bl __divsi3
- lsls r0, 24
- cmp r0, 0
- beq _080942EC
- ldrb r1, [r4]
- subs r1, 0x6
- b _080942DA
- .align 2, 0
-_08094270: .4byte gMain
-_08094274: .4byte sBoxCursorPosition
-_08094278:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08094298
- ldr r1, _08094294 @ =sBoxCursorPosition
- movs r0, 0
- ldrsb r0, [r1, r0]
- adds r0, 0x6
- cmp r0, 0x1D
- bgt _080942EC
- ldrb r1, [r1]
- adds r1, 0x6
- b _080942DA
- .align 2, 0
-_08094294: .4byte sBoxCursorPosition
-_08094298:
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080942BC
- ldr r4, _080942B8 @ =sBoxCursorPosition
- movs r0, 0
- ldrsb r0, [r4, r0]
- movs r1, 0x6
- bl __modsi3
- lsls r0, 24
- cmp r0, 0
- beq _080942EC
- ldrb r1, [r4]
- subs r1, 0x1
- b _080942DA
- .align 2, 0
-_080942B8: .4byte sBoxCursorPosition
-_080942BC:
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080942F0
- ldr r4, _080942E8 @ =sBoxCursorPosition
- movs r0, 0
- ldrsb r0, [r4, r0]
- adds r0, 0x1
- movs r1, 0x6
- bl __modsi3
- cmp r0, 0
- beq _080942EC
- ldrb r1, [r4]
- adds r1, 0x1
-_080942DA:
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0
- bl sub_80927E8
- movs r0, 0x15
- b _08094364
- .align 2, 0
-_080942E8: .4byte sBoxCursorPosition
-_080942EC:
- movs r0, 0x18
- b _08094364
-_080942F0:
- movs r0, 0
- b _08094364
-_080942F4:
- bl sub_8095AA0
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _08094330 @ =sBoxCursorPosition
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- cmp r0, r1
- beq _08094344
- ldr r2, _08094334 @ =sIsMonBeingMoved
- ldr r0, _08094338 @ =sPSSData
- ldr r1, [r0]
- movs r3, 0xCE
- lsls r3, 4
- adds r0, r1, r3
- ldrh r0, [r0]
- negs r0, r0
- lsrs r0, 31
- strb r0, [r2]
- ldr r0, _0809433C @ =0x000021ef
- adds r1, r0
- movs r0, 0x2
- strb r0, [r1]
- bl StorageGetCurrentBox
- ldr r1, _08094340 @ =sMovingMonOrigBoxId
- strb r0, [r1]
- movs r0, 0x17
- b _08094364
- .align 2, 0
-_08094330: .4byte sBoxCursorPosition
-_08094334: .4byte sIsMonBeingMoved
-_08094338: .4byte sPSSData
-_0809433C: .4byte 0x000021ef
-_08094340: .4byte sMovingMonOrigBoxId
-_08094344:
- ldr r1, _0809436C @ =sPSSData
- ldr r0, [r1]
- ldr r2, _08094370 @ =0x000021ef
- adds r0, r2
- strb r4, [r0]
- ldr r0, [r1]
- ldr r3, _08094374 @ =0x00000cb4
- adds r0, r3
- ldr r1, [r0]
- adds r1, 0x3E
- ldrb r2, [r1]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- movs r0, 0x16
-_08094364:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0809436C: .4byte sPSSData
-_08094370: .4byte 0x000021ef
-_08094374: .4byte 0x00000cb4
- thumb_func_end sub_8094240
-
- thumb_func_start sub_8094378
-sub_8094378: @ 8094378
- push {r4,lr}
- ldr r2, _0809439C @ =gMain
- ldrh r1, [r2, 0x30]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _080943A4
- movs r0, 0
- bl sub_8095474
- lsls r0, 24
- cmp r0, 0
- beq _08094450
- ldr r0, _080943A0 @ =sBoxCursorPosition
- ldrb r1, [r0]
- subs r1, 0x6
- b _08094402
- .align 2, 0
-_0809439C: .4byte gMain
-_080943A0: .4byte sBoxCursorPosition
-_080943A4:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080943C4
- movs r0, 0x1
- bl sub_8095474
- lsls r0, 24
- cmp r0, 0
- beq _08094450
- ldr r0, _080943C0 @ =sBoxCursorPosition
- ldrb r1, [r0]
- adds r1, 0x6
- b _08094402
- .align 2, 0
-_080943C0: .4byte sBoxCursorPosition
-_080943C4:
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080943E4
- movs r0, 0x2
- bl sub_8095474
- lsls r0, 24
- cmp r0, 0
- beq _0809446A
- ldr r0, _080943E0 @ =sBoxCursorPosition
- ldrb r1, [r0]
- subs r1, 0x1
- b _08094402
- .align 2, 0
-_080943E0: .4byte sBoxCursorPosition
-_080943E4:
- movs r0, 0x10
- ands r0, r1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0
- beq _08094414
- movs r0, 0x3
- bl sub_8095474
- lsls r0, 24
- cmp r0, 0
- beq _0809447E
- ldr r0, _08094410 @ =sBoxCursorPosition
- ldrb r1, [r0]
- adds r1, 0x1
-_08094402:
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0
- bl sub_80927E8
- movs r0, 0x19
- b _08094484
- .align 2, 0
-_08094410: .4byte sBoxCursorPosition
-_08094414:
- ldrh r1, [r2, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08094448
- bl sub_8095ABC
- lsls r0, 24
- cmp r0, 0
- beq _08094450
- ldr r0, _0809443C @ =sIsMonBeingMoved
- strb r4, [r0]
- ldr r0, _08094440 @ =sPSSData
- ldr r0, [r0]
- ldr r1, _08094444 @ =0x000021ef
- adds r0, r1
- strb r4, [r0]
- movs r0, 0x1A
- b _08094484
- .align 2, 0
-_0809443C: .4byte sIsMonBeingMoved
-_08094440: .4byte sPSSData
-_08094444: .4byte 0x000021ef
-_08094448:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08094454
-_08094450:
- movs r0, 0x18
- b _08094484
-_08094454:
- ldr r0, _08094470 @ =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x13]
- cmp r0, 0x1
- bne _08094482
- ldrh r1, [r2, 0x2C]
- movs r0, 0x80
- lsls r0, 2
- ands r0, r1
- cmp r0, 0
- beq _08094474
-_0809446A:
- movs r0, 0xA
- b _08094484
- .align 2, 0
-_08094470: .4byte gSaveBlock2Ptr
-_08094474:
- movs r0, 0x80
- lsls r0, 1
- ands r0, r1
- cmp r0, 0
- beq _08094482
-_0809447E:
- movs r0, 0x9
- b _08094484
-_08094482:
- movs r0, 0
-_08094484:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8094378
-
- thumb_func_start sub_809448C
-sub_809448C: @ 809448C
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- ldr r0, _080944FC @ =sBoxCursorArea
- ldrb r0, [r0]
- mov r9, r0
- ldr r6, _08094500 @ =sBoxCursorPosition
- ldrb r4, [r6]
- ldr r2, _08094504 @ =sPSSData
- ldr r0, [r2]
- ldr r1, _08094508 @ =0x00000ccf
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r2]
- ldr r3, _0809450C @ =0x00000cce
- adds r0, r3
- strb r1, [r0]
- ldr r0, [r2]
- adds r3, 0x5
- adds r0, r3
- strb r1, [r0]
- mov r8, r1
- movs r7, 0
- ldr r1, _08094510 @ =gMain
- ldrh r3, [r1, 0x30]
- movs r0, 0x40
- ands r0, r3
- adds r5, r6, 0
- mov r12, r1
- cmp r0, 0
- beq _080944D0
- b _08094670
-_080944D0:
- movs r0, 0x80
- ands r0, r3
- cmp r0, 0
- beq _08094514
- lsls r0, r4, 24
- movs r1, 0x80
- lsls r1, 17
- adds r0, r1
- lsrs r4, r0, 24
- asrs r0, 24
- cmp r0, 0x6
- ble _080944EA
- movs r4, 0
-_080944EA:
- lsls r0, r4, 24
- asrs r0, 24
- movs r1, 0
- ldrsb r1, [r5, r1]
- cmp r0, r1
- bne _080944F8
- b _0809468E
-_080944F8:
- movs r7, 0x1
- b _08094692
- .align 2, 0
-_080944FC: .4byte sBoxCursorArea
-_08094500: .4byte sBoxCursorPosition
-_08094504: .4byte sPSSData
-_08094508: .4byte 0x00000ccf
-_0809450C: .4byte 0x00000cce
-_08094510: .4byte gMain
-_08094514:
- movs r0, 0x20
- ands r0, r3
- cmp r0, 0
- beq _08094538
- ldrb r1, [r5]
- movs r0, 0
- ldrsb r0, [r5, r0]
- cmp r0, 0
- beq _08094538
- movs r7, 0x1
- ldr r0, [r2]
- ldr r2, _08094534 @ =0x00000cd2
- adds r0, r2
- strb r1, [r0]
- movs r4, 0
- b _0809468E
- .align 2, 0
-_08094534: .4byte 0x00000cd2
-_08094538:
- mov r3, r12
- ldrh r1, [r3, 0x30]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _08094566
- movs r0, 0
- ldrsb r0, [r5, r0]
- cmp r0, 0
- bne _0809455C
- movs r7, 0x1
- ldr r0, [r2]
- ldr r1, _08094558 @ =0x00000cd2
- adds r0, r1
- ldrb r4, [r0]
- b _0809468E
- .align 2, 0
-_08094558: .4byte 0x00000cd2
-_0809455C:
- movs r7, 0x6
- movs r2, 0
- mov r9, r2
- movs r4, 0
- b _0809468E
-_08094566:
- mov r3, r12
- ldrh r1, [r3, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08094624
- movs r0, 0
- ldrsb r0, [r5, r0]
- cmp r0, 0x6
- bne _0809458C
- ldr r0, [r2]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x1
- bne _08094586
- movs r0, 0x4
- b _080946A0
-_08094586:
- movs r0, 0x1
- mov r8, r0
- b _08094624
-_0809458C:
- bl sub_8094924
- lsls r0, 24
- cmp r0, 0
- beq _08094624
- ldr r0, _080945A4 @ =sCanOnlyMove
- ldrb r0, [r0]
- cmp r0, 0
- bne _080945A8
- movs r0, 0x8
- b _080946A0
- .align 2, 0
-_080945A4: .4byte sCanOnlyMove
-_080945A8:
- movs r0, 0
- bl sub_8094E50
- subs r0, 0x1
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0xE
- bhi _08094624
- lsls r0, 2
- ldr r1, _080945C4 @ =_080945C8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080945C4: .4byte _080945C8
- .align 2, 0
-_080945C8:
- .4byte _08094604
- .4byte _08094608
- .4byte _0809460C
- .4byte _08094610
- .4byte _08094614
- .4byte _08094624
- .4byte _08094624
- .4byte _08094624
- .4byte _08094624
- .4byte _08094624
- .4byte _08094624
- .4byte _08094618
- .4byte _0809461C
- .4byte _08094624
- .4byte _08094620
-_08094604:
- movs r0, 0xB
- b _080946A0
-_08094608:
- movs r0, 0xC
- b _080946A0
-_0809460C:
- movs r0, 0xD
- b _080946A0
-_08094610:
- movs r0, 0xE
- b _080946A0
-_08094614:
- movs r0, 0xF
- b _080946A0
-_08094618:
- movs r0, 0x10
- b _080946A0
-_0809461C:
- movs r0, 0x11
- b _080946A0
-_08094620:
- movs r0, 0x12
- b _080946A0
-_08094624:
- ldr r2, _08094640 @ =gMain
- ldrh r1, [r2, 0x2E]
- movs r0, 0x2
- ands r0, r1
- mov r12, r2
- cmp r0, 0
- beq _0809464C
- ldr r0, _08094644 @ =sPSSData
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x1
- bne _08094648
- movs r0, 0x13
- b _080946A0
- .align 2, 0
-_08094640: .4byte gMain
-_08094644: .4byte sPSSData
-_08094648:
- movs r1, 0x1
- mov r8, r1
-_0809464C:
- mov r2, r8
- cmp r2, 0
- beq _0809465C
- movs r7, 0x6
- movs r3, 0
- mov r9, r3
- movs r4, 0
- b _0809468E
-_0809465C:
- mov r0, r12
- ldrh r1, [r0, 0x2E]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _0809468E
- bl sub_8094C84
- movs r0, 0
- b _080946A0
-_08094670:
- lsls r0, r4, 24
- movs r1, 0xFF
- lsls r1, 24
- adds r0, r1
- lsrs r4, r0, 24
- cmp r0, 0
- bge _08094680
- movs r4, 0x6
-_08094680:
- lsls r0, r4, 24
- asrs r0, 24
- movs r1, 0
- ldrsb r1, [r6, r1]
- cmp r0, r1
- beq _0809468E
- movs r7, 0x1
-_0809468E:
- cmp r7, 0
- beq _0809469E
-_08094692:
- cmp r7, 0x6
- beq _0809469E
- mov r0, r9
- adds r1, r4, 0
- bl sub_80927E8
-_0809469E:
- adds r0, r7, 0
-_080946A0:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_809448C
-
- thumb_func_start sub_80946AC
-sub_80946AC: @ 80946AC
- push {r4-r6,lr}
- ldr r3, _080946E8 @ =sPSSData
- ldr r0, [r3]
- ldr r1, _080946EC @ =0x00000ccf
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r3]
- ldr r2, _080946F0 @ =0x00000cce
- adds r0, r2
- strb r1, [r0]
- ldr r0, [r3]
- ldr r5, _080946F4 @ =0x00000cd3
- adds r0, r5
- strb r1, [r0]
- ldr r1, _080946F8 @ =gMain
- ldrh r2, [r1, 0x30]
- movs r0, 0x40
- ands r0, r2
- cmp r0, 0
- bne _08094772
- movs r0, 0x80
- ands r0, r2
- cmp r0, 0
- beq _080946FC
- movs r4, 0x1
- movs r1, 0
- movs r6, 0x2
- b _0809477E
- .align 2, 0
-_080946E8: .4byte sPSSData
-_080946EC: .4byte 0x00000ccf
-_080946F0: .4byte 0x00000cce
-_080946F4: .4byte 0x00000cd3
-_080946F8: .4byte gMain
-_080946FC:
- ldrh r2, [r1, 0x2C]
- movs r0, 0x20
- ands r0, r2
- cmp r0, 0
- bne _08094722
- movs r0, 0x10
- ands r0, r2
- cmp r0, 0
- bne _08094736
- ldr r0, _08094728 @ =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x13]
- cmp r0, 0x1
- bne _0809473A
- movs r0, 0x80
- lsls r0, 2
- ands r0, r2
- cmp r0, 0
- beq _0809472C
-_08094722:
- movs r0, 0xA
- b _0809479A
- .align 2, 0
-_08094728: .4byte gSaveBlock2Ptr
-_0809472C:
- movs r0, 0x80
- lsls r0, 1
- ands r0, r2
- cmp r0, 0
- beq _0809473A
-_08094736:
- movs r0, 0x9
- b _0809479A
-_0809473A:
- ldrh r1, [r1, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08094752
- movs r0, 0
- bl sub_80920FC
- bl sub_8094900
- movs r0, 0x7
- b _0809479A
-_08094752:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809475E
- movs r0, 0x13
- b _0809479A
-_0809475E:
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _0809476E
- bl sub_8094C84
- movs r0, 0
- b _0809479A
-_0809476E:
- movs r4, 0
- b _08094798
-_08094772:
- movs r4, 0x1
- movs r1, 0x3
- movs r6, 0
- ldr r0, [r3]
- adds r0, r5
- strb r4, [r0]
-_0809477E:
- cmp r4, 0
- beq _08094798
- lsls r5, r1, 24
- cmp r1, 0x2
- beq _0809478E
- movs r0, 0
- bl sub_80920FC
-_0809478E:
- lsrs r0, r5, 24
- lsls r1, r6, 24
- lsrs r1, 24
- bl sub_80927E8
-_08094798:
- adds r0, r4, 0
-_0809479A:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80946AC
-
- thumb_func_start sub_80947A0
-sub_80947A0: @ 80947A0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r0, _080947F0 @ =sBoxCursorArea
- ldrb r0, [r0]
- mov r8, r0
- ldr r0, _080947F4 @ =sBoxCursorPosition
- mov r12, r0
- ldrb r2, [r0]
- ldr r3, _080947F8 @ =sPSSData
- ldr r0, [r3]
- ldr r1, _080947FC @ =0x00000ccf
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r3]
- ldr r6, _08094800 @ =0x00000cce
- adds r0, r6
- strb r1, [r0]
- ldr r0, [r3]
- ldr r5, _08094804 @ =0x00000cd3
- adds r0, r5
- strb r1, [r0]
- ldr r7, _08094808 @ =gMain
- ldrh r1, [r7, 0x30]
- movs r0, 0x40
- ands r0, r1
- adds r4, r3, 0
- cmp r0, 0
- bne _0809487A
- movs r0, 0x88
- ands r0, r1
- cmp r0, 0
- beq _0809480C
- movs r7, 0x1
- movs r0, 0x2
- mov r8, r0
- movs r2, 0
- ldr r0, [r4]
- b _08094898
- .align 2, 0
-_080947F0: .4byte sBoxCursorArea
-_080947F4: .4byte sBoxCursorPosition
-_080947F8: .4byte sPSSData
-_080947FC: .4byte 0x00000ccf
-_08094800: .4byte 0x00000cce
-_08094804: .4byte 0x00000cd3
-_08094808: .4byte gMain
-_0809480C:
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _08094828
- movs r7, 0x1
- lsls r0, r2, 24
- movs r1, 0xFF
- lsls r1, 24
- adds r0, r1
- lsrs r2, r0, 24
- cmp r0, 0
- bge _0809489C
- movs r2, 0x1
- b _0809489C
-_08094828:
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _08094846
- movs r7, 0x1
- lsls r0, r2, 24
- movs r1, 0x80
- lsls r1, 17
- adds r0, r1
- lsrs r2, r0, 24
- asrs r0, 24
- cmp r0, 0x1
- ble _0809489C
- movs r2, 0
- b _0809489C
-_08094846:
- ldrh r1, [r7, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0809485A
- movs r0, 0x4
- cmp r2, 0
- bne _080948AA
- movs r0, 0x5
- b _080948AA
-_0809485A:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08094866
- movs r0, 0x13
- b _080948AA
-_08094866:
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _08094876
- bl sub_8094C84
- movs r0, 0
- b _080948AA
-_08094876:
- movs r7, 0
- b _080948A8
-_0809487A:
- movs r7, 0x1
- movs r0, 0
- mov r8, r0
- ldr r0, [r3]
- adds r0, r6
- movs r1, 0xFF
- strb r1, [r0]
- mov r1, r12
- movs r0, 0
- ldrsb r0, [r1, r0]
- movs r2, 0x1D
- cmp r0, 0
- bne _08094896
- movs r2, 0x18
-_08094896:
- ldr r0, [r3]
-_08094898:
- adds r0, r5
- strb r7, [r0]
-_0809489C:
- cmp r7, 0
- beq _080948A8
- mov r0, r8
- adds r1, r2, 0
- bl sub_80927E8
-_080948A8:
- adds r0, r7, 0
-_080948AA:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80947A0
-
- thumb_func_start sub_80948B4
-sub_80948B4: @ 80948B4
- push {r4,r5,lr}
- movs r3, 0
- ldr r0, _080948E0 @ =gUnknown_83D3478
- ldr r1, [r0]
- adds r4, r0, 0
- cmp r1, 0
- beq _080948F8
- ldr r5, _080948E4 @ =sBoxCursorArea
-_080948C4:
- lsls r0, r3, 3
- adds r2, r0, r4
- movs r1, 0x4
- ldrsb r1, [r2, r1]
- movs r0, 0
- ldrsb r0, [r5, r0]
- cmp r1, r0
- bne _080948E8
- ldr r0, [r2]
- bl _call_via_r0
- lsls r0, 24
- lsrs r0, 24
- b _080948FA
- .align 2, 0
-_080948E0: .4byte gUnknown_83D3478
-_080948E4: .4byte sBoxCursorArea
-_080948E8:
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- lsls r0, r3, 3
- adds r0, r4
- ldr r0, [r0]
- cmp r0, 0
- bne _080948C4
-_080948F8:
- movs r0, 0
-_080948FA:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80948B4
-
- thumb_func_start sub_8094900
-sub_8094900: @ 8094900
- push {lr}
- bl sub_8094DA8
- movs r0, 0x9
- bl sub_8094DEC
- movs r0, 0xA
- bl sub_8094DEC
- movs r0, 0xB
- bl sub_8094DEC
- movs r0, 0
- bl sub_8094DEC
- pop {r0}
- bx r0
- thumb_func_end sub_8094900
-
- thumb_func_start sub_8094924
-sub_8094924: @ 8094924
- push {lr}
- bl sub_8094DA8
- ldr r0, _0809493C @ =sPSSData
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x3
- bne _08094940
- bl sub_8094A0C
- b _08094944
- .align 2, 0
-_0809493C: .4byte sPSSData
-_08094940:
- bl sub_809494C
-_08094944:
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_8094924
-
- thumb_func_start sub_809494C
-sub_809494C: @ 809494C
- push {lr}
- bl sub_8092458
- lsls r0, 16
- lsrs r1, r0, 16
- ldr r0, _0809496C @ =sPSSData
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x1
- beq _08094976
- cmp r0, 0x1
- bgt _08094970
- cmp r0, 0
- beq _08094982
- b _080949BC
- .align 2, 0
-_0809496C: .4byte sPSSData
-_08094970:
- cmp r0, 0x2
- beq _0809498E
- b _080949BC
-_08094976:
- cmp r1, 0
- beq _080949BC
- movs r0, 0x1
- bl sub_8094DEC
- b _080949C0
-_08094982:
- cmp r1, 0
- beq _080949BC
- movs r0, 0x2
- bl sub_8094DEC
- b _080949C0
-_0809498E:
- ldr r0, _080949A4 @ =sIsMonBeingMoved
- ldrb r0, [r0]
- cmp r0, 0
- beq _080949B0
- cmp r1, 0
- beq _080949A8
- movs r0, 0x4
- bl sub_8094DEC
- b _080949C0
- .align 2, 0
-_080949A4: .4byte sIsMonBeingMoved
-_080949A8:
- movs r0, 0x5
- bl sub_8094DEC
- b _080949C0
-_080949B0:
- cmp r1, 0
- beq _080949BC
- movs r0, 0x3
- bl sub_8094DEC
- b _080949C0
-_080949BC:
- movs r0, 0
- b _08094A06
-_080949C0:
- movs r0, 0x6
- bl sub_8094DEC
- ldr r0, _080949E4 @ =sPSSData
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x2
- bne _080949F2
- ldr r0, _080949E8 @ =sBoxCursorArea
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- bne _080949EC
- movs r0, 0x2
- bl sub_8094DEC
- b _080949F2
- .align 2, 0
-_080949E4: .4byte sPSSData
-_080949E8: .4byte sBoxCursorArea
-_080949EC:
- movs r0, 0x1
- bl sub_8094DEC
-_080949F2:
- movs r0, 0x8
- bl sub_8094DEC
- movs r0, 0x7
- bl sub_8094DEC
- movs r0, 0
- bl sub_8094DEC
- movs r0, 0x1
-_08094A06:
- pop {r1}
- bx r1
- thumb_func_end sub_809494C
-
- thumb_func_start sub_8094A0C
-sub_8094A0C: @ 8094A0C
- push {r4,r5,lr}
- ldr r4, _08094A48 @ =sPSSData
- ldr r0, [r4]
- movs r5, 0xCE
- lsls r5, 4
- adds r0, r5
- ldrh r1, [r0]
- movs r0, 0xCE
- lsls r0, 1
- cmp r1, r0
- beq _08094A9E
- bl sub_809616C
- lsls r0, 24
- cmp r0, 0
- bne _08094A70
- ldr r2, [r4]
- ldr r0, _08094A4C @ =0x00000ce2
- adds r1, r2, r0
- ldrh r0, [r1]
- cmp r0, 0
- bne _08094A50
- adds r0, r2, r5
- ldrh r0, [r0]
- cmp r0, 0
- beq _08094A9E
- movs r0, 0xE
- bl sub_8094DEC
- b _08094AA8
- .align 2, 0
-_08094A48: .4byte sPSSData
-_08094A4C: .4byte 0x00000ce2
-_08094A50:
- ldrh r0, [r1]
- bl ItemIsMail
- lsls r0, 24
- cmp r0, 0
- bne _08094A68
- movs r0, 0xC
- bl sub_8094DEC
- movs r0, 0x10
- bl sub_8094DEC
-_08094A68:
- movs r0, 0x11
- bl sub_8094DEC
- b _08094AA8
-_08094A70:
- ldr r2, [r4]
- ldr r0, _08094A8C @ =0x00000ce2
- adds r1, r2, r0
- ldrh r0, [r1]
- cmp r0, 0
- bne _08094A90
- adds r0, r2, r5
- ldrh r0, [r0]
- cmp r0, 0
- beq _08094A9E
- movs r0, 0xD
- bl sub_8094DEC
- b _08094AA8
- .align 2, 0
-_08094A8C: .4byte 0x00000ce2
-_08094A90:
- ldrh r0, [r1]
- bl ItemIsMail
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08094AA2
-_08094A9E:
- movs r0, 0
- b _08094AB0
-_08094AA2:
- movs r0, 0xF
- bl sub_8094DEC
-_08094AA8:
- movs r0, 0
- bl sub_8094DEC
- movs r0, 0x1
-_08094AB0:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8094A0C
-
- thumb_func_start sub_8094AB8
-sub_8094AB8: @ 8094AB8
- ldr r1, _08094AD4 @ =sPSSData
- ldr r1, [r1]
- movs r2, 0xCB
- lsls r2, 4
- adds r1, r2
- ldr r2, [r1]
- ldrh r2, [r2, 0x20]
- strh r2, [r0, 0x20]
- ldr r1, [r1]
- ldrh r1, [r1, 0x22]
- adds r1, 0x14
- strh r1, [r0, 0x22]
- bx lr
- .align 2, 0
-_08094AD4: .4byte sPSSData
- thumb_func_end sub_8094AB8
-
- thumb_func_start sub_8094AD8
-sub_8094AD8: @ 8094AD8
- push {r4-r6,lr}
- sub sp, 0x2C
- mov r1, sp
- ldr r0, _08094BA4 @ =gUnknown_83D34A0
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- add r4, sp, 0x18
- adds r1, r4, 0
- ldr r0, _08094BA8 @ =gUnknown_83D34B8
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldr r0, [r0]
- str r0, [r1]
- mov r0, sp
- bl LoadSpriteSheets
- adds r0, r4, 0
- bl LoadSpritePalettes
- ldr r0, _08094BAC @ =0x0000daca
- bl IndexOfSpritePaletteTag
- ldr r6, _08094BB0 @ =sPSSData
- ldr r1, [r6]
- ldr r4, _08094BB4 @ =0x00000cd4
- adds r1, r4
- strb r0, [r1]
- ldr r0, _08094BB8 @ =0x0000dac7
- bl IndexOfSpritePaletteTag
- ldr r1, [r6]
- ldr r5, _08094BBC @ =0x00000cd5
- adds r1, r5
- strb r0, [r1]
- ldr r0, _08094BC0 @ =sBoxCursorArea
- ldrb r0, [r0]
- ldr r1, _08094BC4 @ =sBoxCursorPosition
- ldrb r1, [r1]
- add r4, sp, 0x28
- mov r5, sp
- adds r5, 0x2A
- adds r2, r4, 0
- adds r3, r5, 0
- bl sub_8092398
- ldr r0, _08094BC8 @ =gUnknown_83D350C
- movs r2, 0
- ldrsh r1, [r4, r2]
- movs r3, 0
- ldrsh r2, [r5, r3]
- movs r3, 0x6
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x40
- beq _08094BD8
- ldr r2, [r6]
- movs r4, 0xCB
- lsls r4, 4
- adds r3, r2, r4
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, _08094BCC @ =gSprites
- adds r1, r0
- str r1, [r3]
- ldr r0, _08094BD0 @ =sCanOnlyMove
- ldr r5, _08094BB4 @ =0x00000cd4
- adds r2, r5
- ldrb r0, [r0]
- adds r2, r0
- ldrb r2, [r2]
- lsls r2, 4
- ldrb r3, [r1, 0x5]
- movs r0, 0xF
- ands r0, r3
- orrs r0, r2
- strb r0, [r1, 0x5]
- ldr r0, [r6]
- adds r0, r4
- ldr r2, [r0]
- ldrb r1, [r2, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2, 0x5]
- ldr r0, _08094BD4 @ =sIsMonBeingMoved
- ldrb r0, [r0]
- cmp r0, 0
- beq _08094BE4
- ldr r0, [r6]
- adds r0, r4
- ldr r0, [r0]
- movs r1, 0x3
- bl StartSpriteAnim
- b _08094BE4
- .align 2, 0
-_08094BA4: .4byte gUnknown_83D34A0
-_08094BA8: .4byte gUnknown_83D34B8
-_08094BAC: .4byte 0x0000daca
-_08094BB0: .4byte sPSSData
-_08094BB4: .4byte 0x00000cd4
-_08094BB8: .4byte 0x0000dac7
-_08094BBC: .4byte 0x00000cd5
-_08094BC0: .4byte sBoxCursorArea
-_08094BC4: .4byte sBoxCursorPosition
-_08094BC8: .4byte gUnknown_83D350C
-_08094BCC: .4byte gSprites
-_08094BD0: .4byte sCanOnlyMove
-_08094BD4: .4byte sIsMonBeingMoved
-_08094BD8:
- ldr r0, [r6]
- movs r1, 0xCB
- lsls r1, 4
- adds r0, r1
- movs r1, 0
- str r1, [r0]
-_08094BE4:
- ldr r0, _08094BF8 @ =sBoxCursorArea
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x1
- bne _08094BFC
- movs r3, 0xD
- movs r4, 0x1
- b _08094C00
- .align 2, 0
-_08094BF8: .4byte sBoxCursorArea
-_08094BFC:
- movs r3, 0x15
- movs r4, 0x2
-_08094C00:
- ldr r0, _08094C54 @ =gUnknown_83D3524
- movs r1, 0
- movs r2, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x40
- beq _08094C68
- ldr r5, _08094C58 @ =sPSSData
- ldr r2, [r5]
- ldr r3, _08094C5C @ =0x00000cb4
- adds r2, r3
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, _08094C60 @ =gSprites
- adds r1, r0
- str r1, [r2]
- lsls r3, r4, 2
- ldrb r2, [r1, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r3
- strb r0, [r1, 0x5]
- ldr r0, _08094C64 @ =sBoxCursorArea
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- beq _08094C74
- ldr r0, [r5]
- ldr r4, _08094C5C @ =0x00000cb4
- adds r0, r4
- ldr r1, [r0]
- adds r1, 0x3E
- ldrb r0, [r1]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r1]
- b _08094C74
- .align 2, 0
-_08094C54: .4byte gUnknown_83D3524
-_08094C58: .4byte sPSSData
-_08094C5C: .4byte 0x00000cb4
-_08094C60: .4byte gSprites
-_08094C64: .4byte sBoxCursorArea
-_08094C68:
- ldr r0, _08094C7C @ =sPSSData
- ldr r0, [r0]
- ldr r5, _08094C80 @ =0x00000cb4
- adds r0, r5
- movs r1, 0
- str r1, [r0]
-_08094C74:
- add sp, 0x2C
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08094C7C: .4byte sPSSData
-_08094C80: .4byte 0x00000cb4
- thumb_func_end sub_8094AD8
-
- thumb_func_start sub_8094C84
-sub_8094C84: @ 8094C84
- push {lr}
- ldr r2, _08094CBC @ =sCanOnlyMove
- movs r1, 0
- ldrb r0, [r2]
- cmp r0, 0
- bne _08094C92
- movs r1, 0x1
-_08094C92:
- strb r1, [r2]
- ldr r0, _08094CC0 @ =sPSSData
- ldr r0, [r0]
- movs r3, 0xCB
- lsls r3, 4
- adds r1, r0, r3
- ldr r3, [r1]
- ldr r1, _08094CC4 @ =0x00000cd4
- adds r0, r1
- ldrb r2, [r2]
- adds r0, r2
- ldrb r1, [r0]
- lsls r1, 4
- ldrb r2, [r3, 0x5]
- movs r0, 0xF
- ands r0, r2
- orrs r0, r1
- strb r0, [r3, 0x5]
- pop {r0}
- bx r0
- .align 2, 0
-_08094CBC: .4byte sCanOnlyMove
-_08094CC0: .4byte sPSSData
-_08094CC4: .4byte 0x00000cd4
- thumb_func_end sub_8094C84
-
- thumb_func_start sub_8094CC8
-sub_8094CC8: @ 8094CC8
- ldr r0, _08094CD0 @ =sBoxCursorPosition
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_08094CD0: .4byte sBoxCursorPosition
- thumb_func_end sub_8094CC8
-
- thumb_func_start sub_8094CD4
-sub_8094CD4: @ 8094CD4
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r6, r1, 0
- ldr r0, _08094D00 @ =sBoxCursorArea
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- bne _08094D08
- ldr r4, _08094D04 @ =sBoxCursorPosition
- movs r0, 0
- ldrsb r0, [r4, r0]
- movs r1, 0x6
- bl __modsi3
- strb r0, [r5]
- movs r0, 0
- ldrsb r0, [r4, r0]
- movs r1, 0x6
- bl __divsi3
- b _08094D0C
- .align 2, 0
-_08094D00: .4byte sBoxCursorArea
-_08094D04: .4byte sBoxCursorPosition
-_08094D08:
- movs r0, 0
- strb r0, [r5]
-_08094D0C:
- strb r0, [r6]
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8094CD4
-
- thumb_func_start sub_8094D14
-sub_8094D14: @ 8094D14
- push {lr}
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r0, _08094D30 @ =sPSSData
- ldr r0, [r0]
- movs r2, 0xCB
- lsls r2, 4
- adds r0, r2
- ldr r0, [r0]
- bl StartSpriteAnim
- pop {r0}
- bx r0
- .align 2, 0
-_08094D30: .4byte sPSSData
- thumb_func_end sub_8094D14
-
- thumb_func_start sub_8094D34
-sub_8094D34: @ 8094D34
- ldr r0, _08094D3C @ =sMovingMonOrigBoxId
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_08094D3C: .4byte sMovingMonOrigBoxId
- thumb_func_end sub_8094D34
-
- thumb_func_start sub_8094D40
-sub_8094D40: @ 8094D40
- ldr r0, _08094D5C @ =sPSSData
- ldr r0, [r0]
- movs r1, 0xCB
- lsls r1, 4
- adds r0, r1
- ldr r2, [r0]
- ldrb r1, [r2, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2, 0x5]
- bx lr
- .align 2, 0
-_08094D5C: .4byte sPSSData
- thumb_func_end sub_8094D40
-
- thumb_func_start sub_8094D60
-sub_8094D60: @ 8094D60
- push {lr}
- ldr r0, _08094D7C @ =sBoxCursorArea
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- bne _08094D78
- ldr r0, _08094D80 @ =sBoxCursorPosition
- ldrb r1, [r0]
- movs r0, 0
- bl sub_8095D44
-_08094D78:
- pop {r0}
- bx r0
- .align 2, 0
-_08094D7C: .4byte sBoxCursorArea
-_08094D80: .4byte sBoxCursorPosition
- thumb_func_end sub_8094D60
-
- thumb_func_start sub_8094D84
-sub_8094D84: @ 8094D84
- push {lr}
- ldr r0, _08094DA0 @ =sBoxCursorArea
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- bne _08094D9C
- ldr r0, _08094DA4 @ =sBoxCursorPosition
- ldrb r1, [r0]
- movs r0, 0
- bl sub_8095C84
-_08094D9C:
- pop {r0}
- bx r0
- .align 2, 0
-_08094DA0: .4byte sBoxCursorArea
-_08094DA4: .4byte sBoxCursorPosition
- thumb_func_end sub_8094D84
-
- thumb_func_start sub_8094DA8
-sub_8094DA8: @ 8094DA8
- ldr r2, _08094DDC @ =sPSSData
- ldr r0, [r2]
- ldr r1, _08094DE0 @ =0x00000ca8
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r2]
- ldr r3, _08094DE4 @ =0x00000ca9
- adds r0, r3
- strb r1, [r0]
- ldr r0, [r2]
- subs r3, 0x41
- adds r0, r3
- strb r1, [r0]
- ldr r0, [r2]
- ldr r1, _08094DE8 @ =0x00000c6d
- adds r0, r1
- movs r1, 0xF
- strb r1, [r0]
- ldr r0, [r2]
- adds r3, 0x6
- adds r0, r3
- movs r1, 0x5C
- strh r1, [r0]
- bx lr
- .align 2, 0
-_08094DDC: .4byte sPSSData
-_08094DE0: .4byte 0x00000ca8
-_08094DE4: .4byte 0x00000ca9
-_08094DE8: .4byte 0x00000c6d
- thumb_func_end sub_8094DA8
-
- thumb_func_start sub_8094DEC
-sub_8094DEC: @ 8094DEC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r4, _08094E40 @ =sPSSData
- ldr r2, [r4]
- ldr r5, _08094E44 @ =0x00000ca8
- adds r1, r2, r5
- ldrb r0, [r1]
- cmp r0, 0x6
- bhi _08094E38
- adds r1, r0, 0
- lsls r1, 3
- movs r0, 0xC7
- lsls r0, 4
- adds r1, r0
- adds r1, r2, r1
- ldr r2, _08094E48 @ =gUnknown_83D353C
- lsls r0, r3, 2
- adds r0, r2
- ldr r0, [r0]
- str r0, [r1]
- str r3, [r1, 0x4]
- bl StringLength
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r0, [r4]
- ldr r2, _08094E4C @ =0x00000ca9
- adds r0, r2
- ldrb r2, [r0]
- cmp r1, r2
- bls _08094E2E
- strb r1, [r0]
-_08094E2E:
- ldr r1, [r4]
- adds r1, r5
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_08094E38:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08094E40: .4byte sPSSData
-_08094E44: .4byte 0x00000ca8
-_08094E48: .4byte gUnknown_83D353C
-_08094E4C: .4byte 0x00000ca9
- thumb_func_end sub_8094DEC
-
- thumb_func_start sub_8094E50
-sub_8094E50: @ 8094E50
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, _08094E74 @ =sPSSData
- ldr r1, [r0]
- ldr r3, _08094E78 @ =0x00000ca8
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r2, r0
- bcs _08094E80
- lsls r0, r2, 3
- ldr r2, _08094E7C @ =0x00000c74
- adds r1, r2
- adds r1, r0
- movs r0, 0
- ldrsb r0, [r1, r0]
- b _08094E84
- .align 2, 0
-_08094E74: .4byte sPSSData
-_08094E78: .4byte 0x00000ca8
-_08094E7C: .4byte 0x00000c74
-_08094E80:
- movs r0, 0x1
- negs r0, r0
-_08094E84:
- pop {r1}
- bx r1
- thumb_func_end sub_8094E50
-
- thumb_func_start sub_8094E88
-sub_8094E88: @ 8094E88
- push {r4-r6,lr}
- mov r6, r10
- mov r5, r9
- mov r4, r8
- push {r4-r6}
- sub sp, 0xC
- ldr r5, _08094F6C @ =sPSSData
- ldr r1, [r5]
- ldr r2, _08094F70 @ =0x00000ca9
- adds r0, r1, r2
- ldrb r0, [r0]
- adds r0, 0x2
- subs r2, 0x3E
- adds r1, r2
- movs r3, 0
- mov r10, r3
- strb r0, [r1]
- ldr r1, [r5]
- ldr r0, _08094F74 @ =0x00000ca8
- mov r8, r0
- adds r0, r1, r0
- ldrb r0, [r0]
- lsls r0, 1
- ldr r3, _08094F78 @ =0x00000c6c
- adds r1, r3
- strb r0, [r1]
- ldr r1, [r5]
- adds r2, r1, r2
- ldrb r2, [r2]
- movs r0, 0x1D
- subs r0, r2
- ldr r2, _08094F7C @ =0x00000c69
- adds r1, r2
- strb r0, [r1]
- ldr r1, [r5]
- adds r3, r1, r3
- ldrb r2, [r3]
- movs r0, 0xF
- subs r0, r2
- ldr r3, _08094F80 @ =0x00000c6a
- adds r1, r3
- strb r0, [r1]
- ldr r0, [r5]
- ldr r1, _08094F84 @ =0x00000c68
- adds r0, r1
- bl AddWindow
- ldr r1, [r5]
- ldr r4, _08094F88 @ =0x00000cac
- adds r1, r4
- movs r2, 0
- mov r9, r2
- strh r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- bl ClearWindowTilemap
- ldr r0, [r5]
- adds r0, r4
- ldrb r0, [r0]
- movs r1, 0
- movs r2, 0xB
- movs r3, 0xE
- bl DrawStdFrameWithCustomTileAndPalette
- ldr r2, [r5]
- adds r0, r2, r4
- ldrb r0, [r0]
- movs r6, 0x10
- str r6, [sp]
- mov r3, r8
- adds r1, r2, r3
- ldrb r1, [r1]
- str r1, [sp, 0x4]
- movs r1, 0xC7
- lsls r1, 4
- adds r2, r1
- str r2, [sp, 0x8]
- movs r1, 0x1
- movs r2, 0x8
- movs r3, 0x2
- bl PrintTextArray
- ldr r1, [r5]
- adds r4, r1, r4
- ldrb r0, [r4]
- str r6, [sp]
- add r1, r8
- ldrb r1, [r1]
- str r1, [sp, 0x4]
- mov r2, r10
- str r2, [sp, 0x8]
- movs r1, 0x1
- movs r2, 0
- movs r3, 0x2
- bl Menu_InitCursor
- movs r0, 0
- bl ScheduleBgCopyTilemapToVram
- ldr r0, [r5]
- ldr r3, _08094F8C @ =0x00000caa
- adds r0, r3
- mov r1, r9
- strb r1, [r0]
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08094F6C: .4byte sPSSData
-_08094F70: .4byte 0x00000ca9
-_08094F74: .4byte 0x00000ca8
-_08094F78: .4byte 0x00000c6c
-_08094F7C: .4byte 0x00000c69
-_08094F80: .4byte 0x00000c6a
-_08094F84: .4byte 0x00000c68
-_08094F88: .4byte 0x00000cac
-_08094F8C: .4byte 0x00000caa
- thumb_func_end sub_8094E88
-
- thumb_func_start sub_8094F90
-sub_8094F90: @ 8094F90
- movs r0, 0
- bx lr
- thumb_func_end sub_8094F90
-
- thumb_func_start sub_8094F94
-sub_8094F94: @ 8094F94
- push {r4,r5,lr}
- movs r5, 0x2
- negs r5, r5
- ldr r4, _08094FD0 @ =gMain
- ldrh r1, [r4, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08094FEA
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08094FB6
- movs r0, 0x5
- bl PlaySE
- adds r5, 0x1
-_08094FB6:
- ldrh r1, [r4, 0x2E]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08094FD4
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- negs r0, r0
- bl Menu_MoveCursor
- b _08094FF2
- .align 2, 0
-_08094FD0: .4byte gMain
-_08094FD4:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08094FF2
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- bl Menu_MoveCursor
- b _08094FF2
-_08094FEA:
- bl Menu_GetCursorPos
- lsls r0, 24
- lsrs r5, r0, 24
-_08094FF2:
- movs r0, 0x2
- negs r0, r0
- cmp r5, r0
- beq _08094FFE
- bl sub_8095024
-_08094FFE:
- cmp r5, 0
- blt _08095010
- ldr r0, _0809501C @ =sPSSData
- ldr r0, [r0]
- lsls r1, r5, 3
- ldr r2, _08095020 @ =0x00000c74
- adds r0, r2
- adds r0, r1
- ldr r5, [r0]
-_08095010:
- lsls r0, r5, 16
- asrs r0, 16
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0809501C: .4byte sPSSData
-_08095020: .4byte 0x00000c74
- thumb_func_end sub_8094F94
-
- thumb_func_start sub_8095024
-sub_8095024: @ 8095024
- push {r4,r5,lr}
- ldr r5, _08095048 @ =sPSSData
- ldr r0, [r5]
- ldr r4, _0809504C @ =0x00000cac
- adds r0, r4
- ldrb r0, [r0]
- movs r1, 0x1
- bl ClearStdWindowAndFrameToTransparent
- ldr r0, [r5]
- adds r0, r4
- ldrb r0, [r0]
- bl RemoveWindow
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08095048: .4byte sPSSData
-_0809504C: .4byte 0x00000cac
- thumb_func_end sub_8095024
-
- thumb_func_start sub_8095050
-sub_8095050: @ 8095050
- push {r4,lr}
- ldr r4, _08095088 @ =gUnknown_2039828
- ldr r0, _0809508C @ =0x00000974
- bl Alloc
- str r0, [r4]
- cmp r0, 0
- beq _0809509C
- ldr r0, _08095090 @ =gUnknown_83D35D4
- bl AddWindow8Bit
- adds r1, r0, 0
- ldr r0, _08095094 @ =sPSSData
- ldr r0, [r0]
- ldr r2, _08095098 @ =0x000021f0
- adds r0, r2
- strh r1, [r0]
- lsls r0, r1, 16
- lsrs r0, 16
- cmp r0, 0xFF
- beq _0809509C
- lsls r0, r1, 24
- lsrs r0, 24
- movs r1, 0
- bl FillWindowPixelBuffer
- movs r0, 0x1
- b _0809509E
- .align 2, 0
-_08095088: .4byte gUnknown_2039828
-_0809508C: .4byte 0x00000974
-_08095090: .4byte gUnknown_83D35D4
-_08095094: .4byte sPSSData
-_08095098: .4byte 0x000021f0
-_0809509C:
- movs r0, 0
-_0809509E:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8095050
-
- thumb_func_start sub_80950A4
-sub_80950A4: @ 80950A4
- push {lr}
- ldr r0, _080950B8 @ =gUnknown_2039828
- ldr r0, [r0]
- cmp r0, 0
- beq _080950B2
- bl Free
-_080950B2:
- pop {r0}
- bx r0
- .align 2, 0
-_080950B8: .4byte gUnknown_2039828
- thumb_func_end sub_80950A4
-
- thumb_func_start sub_80950BC
-sub_80950BC: @ 80950BC
- ldr r2, _080950CC @ =gUnknown_2039828
- ldr r1, [r2]
- movs r3, 0
- strb r0, [r1]
- ldr r0, [r2]
- strb r3, [r0, 0x1]
- bx lr
- .align 2, 0
-_080950CC: .4byte gUnknown_2039828
- thumb_func_end sub_80950BC
-
- thumb_func_start sub_80950D0
-sub_80950D0: @ 80950D0
- push {lr}
- ldr r0, _080950E8 @ =gUnknown_2039828
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0x5
- bhi _08095130
- lsls r0, 2
- ldr r1, _080950EC @ =_080950F0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080950E8: .4byte gUnknown_2039828
-_080950EC: .4byte _080950F0
- .align 2, 0
-_080950F0:
- .4byte _08095108
- .4byte _0809510E
- .4byte _08095114
- .4byte _0809511A
- .4byte _08095120
- .4byte _08095126
-_08095108:
- bl sub_8095138
- b _0809512A
-_0809510E:
- bl sub_8095234
- b _0809512A
-_08095114:
- bl sub_80952A0
- b _0809512A
-_0809511A:
- bl sub_8095314
- b _0809512A
-_08095120:
- bl sub_8095394
- b _0809512A
-_08095126:
- bl sub_80953BC
-_0809512A:
- lsls r0, 24
- lsrs r0, 24
- b _08095132
-_08095130:
- movs r0, 0
-_08095132:
- pop {r1}
- bx r1
- thumb_func_end sub_80950D0
-
- thumb_func_start sub_8095138
-sub_8095138: @ 8095138
- push {r4-r6,lr}
- sub sp, 0x8
- ldr r6, _08095150 @ =gUnknown_2039828
- ldr r1, [r6]
- ldrb r0, [r1, 0x1]
- cmp r0, 0x1
- beq _08095168
- cmp r0, 0x1
- bgt _08095154
- cmp r0, 0
- beq _0809515A
- b _08095228
- .align 2, 0
-_08095150: .4byte gUnknown_2039828
-_08095154:
- cmp r0, 0x2
- beq _08095214
- b _08095228
-_0809515A:
- movs r0, 0
- bl HideBg
- movs r0, 0x80
- bl LoadMonIconPalettesAt
- b _080951F8
-_08095168:
- adds r0, r1, 0x2
- adds r1, 0x3
- bl sub_8094CD4
- ldr r1, [r6]
- ldrb r0, [r1, 0x2]
- strb r0, [r1, 0x4]
- ldr r1, [r6]
- ldrb r0, [r1, 0x3]
- strb r0, [r1, 0x5]
- ldr r4, _08095204 @ =0xfffffc00
- movs r0, 0
- adds r1, r4, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0
- adds r1, r4, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x20
- str r0, [sp]
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- ldr r5, _08095208 @ =sPSSData
- ldr r0, [r5]
- ldr r4, _0809520C @ =0x000021f0
- adds r0, r4
- ldrb r0, [r0]
- movs r1, 0
- bl FillWindowPixelBuffer8Bit
- ldr r1, [r6]
- ldrb r0, [r1, 0x2]
- ldrb r1, [r1, 0x3]
- bl sub_80956A4
- movs r0, 0
- movs r1, 0x4
- movs r2, 0x1
- bl SetBgAttribute
- ldr r0, [r5]
- adds r0, r4
- ldrb r0, [r0]
- bl PutWindowTilemap
- ldr r0, [r5]
- adds r0, r4
- ldrb r0, [r0]
- movs r1, 0x3
- bl CopyWindowToVram8Bit
- movs r0, 0xFC
- lsls r0, 6
- ldr r2, _08095210 @ =0x00007fff
- movs r1, 0x8
- bl BlendPalettes
- movs r0, 0x2
- bl sub_8094D14
- movs r0, 0x8
- movs r1, 0x80
- bl SetGpuRegBits
-_080951F8:
- ldr r1, [r6]
- ldrb r0, [r1, 0x1]
- adds r0, 0x1
- strb r0, [r1, 0x1]
- b _08095228
- .align 2, 0
-_08095204: .4byte 0xfffffc00
-_08095208: .4byte sPSSData
-_0809520C: .4byte 0x000021f0
-_08095210: .4byte 0x00007fff
-_08095214:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _08095228
- movs r0, 0
- bl ShowBg
- movs r0, 0
- b _0809522A
-_08095228:
- movs r0, 0x1
-_0809522A:
- add sp, 0x8
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8095138
-
- thumb_func_start sub_8095234
-sub_8095234: @ 8095234
- push {r4,lr}
- ldr r4, _0809524C @ =gUnknown_2039828
- ldr r0, [r4]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x1
- beq _0809525E
- cmp r0, 0x1
- bgt _08095250
- cmp r0, 0
- beq _08095256
- b _08095298
- .align 2, 0
-_0809524C: .4byte gUnknown_2039828
-_08095250:
- cmp r0, 0x2
- beq _08095272
- b _08095298
-_08095256:
- movs r0, 0
- bl HideBg
- b _08095268
-_0809525E:
- bl sub_8095A58
- movs r0, 0
- bl sub_8094D14
-_08095268:
- ldr r1, [r4]
- ldrb r0, [r1, 0x1]
- adds r0, 0x1
- strb r0, [r1, 0x1]
- b _08095298
-_08095272:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _08095298
- bl sub_8094D40
- movs r0, 0x3
- bl stdpal_get
- movs r1, 0xD0
- movs r2, 0x20
- bl LoadPalette
- movs r0, 0
- bl ShowBg
- movs r0, 0
- b _0809529A
-_08095298:
- movs r0, 0x1
-_0809529A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8095234
-
- thumb_func_start sub_80952A0
-sub_80952A0: @ 80952A0
- push {r4,lr}
- ldr r4, _080952B4 @ =gUnknown_2039828
- ldr r0, [r4]
- ldrb r0, [r0, 0x1]
- cmp r0, 0
- beq _080952B8
- cmp r0, 0x1
- beq _08095300
- b _0809530A
- .align 2, 0
-_080952B4: .4byte gUnknown_2039828
-_080952B8:
- bl sub_80924A8
- lsls r0, 24
- cmp r0, 0
- bne _0809530A
- ldr r1, [r4]
- adds r0, r1, 0x6
- adds r1, 0x7
- bl sub_8094CD4
- bl sub_8095520
- ldr r1, [r4]
- ldrb r0, [r1, 0x6]
- strb r0, [r1, 0x4]
- ldr r1, [r4]
- ldrb r0, [r1, 0x7]
- strb r0, [r1, 0x5]
- ldr r0, _080952F8 @ =sPSSData
- ldr r0, [r0]
- ldr r1, _080952FC @ =0x000021f0
- adds r0, r1
- ldrb r0, [r0]
- movs r1, 0x2
- bl CopyWindowToVram8Bit
- ldr r1, [r4]
- ldrb r0, [r1, 0x1]
- adds r0, 0x1
- strb r0, [r1, 0x1]
- b _0809530A
- .align 2, 0
-_080952F8: .4byte sPSSData
-_080952FC: .4byte 0x000021f0
-_08095300:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- lsrs r0, 24
- b _0809530C
-_0809530A:
- movs r0, 0x1
-_0809530C:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80952A0
-
- thumb_func_start sub_8095314
-sub_8095314: @ 8095314
- push {r4,lr}
- ldr r4, _0809532C @ =gUnknown_2039828
- ldr r0, [r4]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x1
- beq _08095342
- cmp r0, 0x1
- bgt _08095330
- cmp r0, 0
- beq _08095336
- b _0809538C
- .align 2, 0
-_0809532C: .4byte gUnknown_2039828
-_08095330:
- cmp r0, 0x2
- beq _0809536E
- b _0809538C
-_08095336:
- bl sub_80957C8
- bl sub_80958A0
- movs r0, 0
- b _08095360
-_08095342:
- bl sub_8092BF8
- lsls r0, 24
- cmp r0, 0
- bne _0809538C
- movs r0, 0x3
- bl sub_8094D14
- movs r1, 0x80
- lsls r1, 1
- movs r0, 0
- movs r2, 0x8
- bl sub_8095780
- movs r0, 0x1
-_08095360:
- bl sub_8092BAC
- ldr r1, [r4]
- ldrb r0, [r1, 0x1]
- adds r0, 0x1
- strb r0, [r1, 0x1]
- b _0809538C
-_0809536E:
- bl sub_8095790
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_8092BF8
- lsls r0, 24
- lsrs r0, 24
- cmp r4, 0
- bne _0809538C
- cmp r0, 0
- bne _0809538C
- movs r0, 0
- b _0809538E
-_0809538C:
- movs r0, 0x1
-_0809538E:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8095314
-
- thumb_func_start sub_8095394
-sub_8095394: @ 8095394
- push {r4,lr}
- bl sub_80924A8
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_8095790
- lsls r0, 24
- lsrs r0, 24
- cmp r4, 0
- bne _080953B4
- cmp r0, 0
- bne _080953B4
- movs r0, 0
- b _080953B6
-_080953B4:
- movs r0, 0x1
-_080953B6:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8095394
-
- thumb_func_start sub_80953BC
-sub_80953BC: @ 80953BC
- push {r4,lr}
- ldr r4, _080953D4 @ =gUnknown_2039828
- ldr r0, [r4]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x1
- beq _080953FA
- cmp r0, 0x1
- bgt _080953D8
- cmp r0, 0
- beq _080953E2
- b _0809546A
- .align 2, 0
-_080953D4: .4byte gUnknown_2039828
-_080953D8:
- cmp r0, 0x2
- beq _08095426
- cmp r0, 0x3
- beq _08095444
- b _0809546A
-_080953E2:
- bl sub_80959A8
- movs r1, 0xFF
- lsls r1, 8
- movs r0, 0
- movs r2, 0x8
- bl sub_8095780
- movs r0, 0
- bl sub_8092BAC
- b _0809543A
-_080953FA:
- bl sub_8092BF8
- lsls r0, 24
- cmp r0, 0
- bne _0809546A
- bl sub_8095790
- lsls r0, 24
- cmp r0, 0
- bne _0809546A
- bl sub_8095918
- movs r0, 0x2
- bl sub_8094D14
- movs r0, 0x1
- bl sub_8092BAC
- movs r0, 0
- bl HideBg
- b _0809543A
-_08095426:
- bl sub_8092BF8
- lsls r0, 24
- cmp r0, 0
- bne _0809546A
- movs r0, 0
- bl sub_8094D14
- bl sub_8095A58
-_0809543A:
- ldr r1, [r4]
- ldrb r0, [r1, 0x1]
- adds r0, 0x1
- strb r0, [r1, 0x1]
- b _0809546A
-_08095444:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0809546A
- movs r0, 0x3
- bl stdpal_get
- movs r1, 0xD0
- movs r2, 0x20
- bl LoadPalette
- bl sub_8094D40
- movs r0, 0
- bl ShowBg
- movs r0, 0
- b _0809546C
-_0809546A:
- movs r0, 0x1
-_0809546C:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80953BC
-
- thumb_func_start sub_8095474
-sub_8095474: @ 8095474
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- cmp r0, 0x1
- beq _080954B0
- cmp r0, 0x1
- bgt _0809548A
- cmp r0, 0
- beq _08095494
- b _08095518
-_0809548A:
- cmp r1, 0x2
- beq _080954D0
- cmp r1, 0x3
- beq _080954F0
- b _08095518
-_08095494:
- ldr r0, _080954AC @ =gUnknown_2039828
- ldr r1, [r0]
- ldrb r0, [r1, 0x9]
- cmp r0, 0
- beq _080954FE
- subs r0, 0x1
- strb r0, [r1, 0x9]
- movs r1, 0x80
- lsls r1, 3
- movs r0, 0
- b _080954E4
- .align 2, 0
-_080954AC: .4byte gUnknown_2039828
-_080954B0:
- ldr r0, _080954CC @ =gUnknown_2039828
- ldr r1, [r0]
- ldrb r2, [r1, 0x9]
- ldrb r0, [r1, 0xB]
- adds r0, r2, r0
- cmp r0, 0x4
- bgt _080954FE
- adds r0, r2, 0x1
- strb r0, [r1, 0x9]
- movs r1, 0xFC
- lsls r1, 8
- movs r0, 0
- b _080954E4
- .align 2, 0
-_080954CC: .4byte gUnknown_2039828
-_080954D0:
- ldr r0, _080954EC @ =gUnknown_2039828
- ldr r1, [r0]
- ldrb r0, [r1, 0x8]
- cmp r0, 0
- beq _080954FE
- subs r0, 0x1
- strb r0, [r1, 0x8]
- movs r0, 0x80
- lsls r0, 3
- movs r1, 0
-_080954E4:
- movs r2, 0x6
- bl sub_8095780
- b _08095518
- .align 2, 0
-_080954EC: .4byte gUnknown_2039828
-_080954F0:
- ldr r0, _08095504 @ =gUnknown_2039828
- ldr r1, [r0]
- ldrb r2, [r1, 0x8]
- ldrb r0, [r1, 0xA]
- adds r0, r2, r0
- cmp r0, 0x5
- ble _08095508
-_080954FE:
- movs r0, 0
- b _0809551A
- .align 2, 0
-_08095504: .4byte gUnknown_2039828
-_08095508:
- adds r0, r2, 0x1
- strb r0, [r1, 0x8]
- movs r0, 0xFC
- lsls r0, 8
- movs r1, 0
- movs r2, 0x6
- bl sub_8095780
-_08095518:
- movs r0, 0x1
-_0809551A:
- pop {r1}
- bx r1
- thumb_func_end sub_8095474
-
- thumb_func_start sub_8095520
-sub_8095520: @ 8095520
- push {r4-r7,lr}
- ldr r6, _080955C0 @ =gUnknown_2039828
- ldr r2, [r6]
- ldrb r3, [r2, 0x2]
- ldrb r5, [r2, 0x6]
- subs r1, r3, r5
- cmp r1, 0
- bge _08095532
- negs r1, r1
-_08095532:
- ldrb r0, [r2, 0x4]
- subs r0, r3, r0
- cmp r0, 0
- bge _0809553C
- negs r0, r0
-_0809553C:
- subs r0, r1, r0
- lsls r0, 16
- lsrs r4, r0, 16
- ldrb r1, [r2, 0x3]
- ldrb r0, [r2, 0x7]
- subs r3, r1, r0
- cmp r3, 0
- bge _0809554E
- negs r3, r3
-_0809554E:
- ldrb r2, [r2, 0x5]
- subs r0, r1, r2
- cmp r0, 0
- bge _08095558
- negs r0, r0
-_08095558:
- subs r0, r3, r0
- lsls r0, 16
- lsrs r7, r0, 16
- lsls r0, r4, 16
- asrs r4, r0, 16
- cmp r4, 0
- ble _0809556C
- adds r0, r5, 0
- bl sub_80955C4
-_0809556C:
- cmp r4, 0
- bge _08095588
- ldr r2, [r6]
- ldrb r0, [r2, 0x4]
- ldrb r1, [r2, 0x3]
- ldrb r2, [r2, 0x5]
- bl sub_8095634
- ldr r2, [r6]
- ldrb r0, [r2, 0x6]
- ldrb r1, [r2, 0x3]
- ldrb r2, [r2, 0x5]
- bl sub_80955C4
-_08095588:
- lsls r0, r7, 16
- asrs r4, r0, 16
- cmp r4, 0
- ble _0809559C
- ldr r2, [r6]
- ldrb r0, [r2, 0x7]
- ldrb r1, [r2, 0x2]
- ldrb r2, [r2, 0x4]
- bl sub_80955FC
-_0809559C:
- cmp r4, 0
- bge _080955B8
- ldr r2, [r6]
- ldrb r0, [r2, 0x5]
- ldrb r1, [r2, 0x2]
- ldrb r2, [r2, 0x4]
- bl sub_809566C
- ldr r2, [r6]
- ldrb r0, [r2, 0x7]
- ldrb r1, [r2, 0x2]
- ldrb r2, [r2, 0x4]
- bl sub_80955FC
-_080955B8:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080955C0: .4byte gUnknown_2039828
- thumb_func_end sub_8095520
-
- thumb_func_start sub_80955C4
-sub_80955C4: @ 80955C4
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- adds r1, r4, 0
- lsls r2, 24
- lsrs r5, r2, 24
- adds r0, r5, 0
- cmp r4, r5
- bls _080955E2
- adds r4, r5, 0
- adds r5, r1, 0
- cmp r0, r5
- bhi _080955F4
-_080955E2:
- adds r1, r4, 0
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r6, 0
- bl sub_80956A4
- cmp r4, r5
- bls _080955E2
-_080955F4:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80955C4
-
- thumb_func_start sub_80955FC
-sub_80955FC: @ 80955FC
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- adds r1, r4, 0
- lsls r2, 24
- lsrs r5, r2, 24
- adds r0, r5, 0
- cmp r4, r5
- bls _0809561A
- adds r4, r5, 0
- adds r5, r1, 0
- cmp r0, r5
- bhi _0809562C
-_0809561A:
- adds r0, r4, 0
- adds r1, r0, 0x1
- lsls r1, 24
- lsrs r4, r1, 24
- adds r1, r6, 0
- bl sub_80956A4
- cmp r4, r5
- bls _0809561A
-_0809562C:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80955FC
-
- thumb_func_start sub_8095634
-sub_8095634: @ 8095634
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- adds r1, r4, 0
- lsls r2, 24
- lsrs r5, r2, 24
- adds r0, r5, 0
- cmp r4, r5
- bls _08095652
- adds r4, r5, 0
- adds r5, r1, 0
- cmp r0, r5
- bhi _08095664
-_08095652:
- adds r1, r4, 0
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r6, 0
- bl sub_809572C
- cmp r4, r5
- bls _08095652
-_08095664:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8095634
-
- thumb_func_start sub_809566C
-sub_809566C: @ 809566C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- adds r1, r4, 0
- lsls r2, 24
- lsrs r5, r2, 24
- adds r0, r5, 0
- cmp r4, r5
- bls _0809568A
- adds r4, r5, 0
- adds r5, r1, 0
- cmp r0, r5
- bhi _0809569C
-_0809568A:
- adds r0, r4, 0
- adds r1, r0, 0x1
- lsls r1, 24
- lsrs r4, r1, 24
- adds r1, r6, 0
- bl sub_809572C
- cmp r4, r5
- bls _0809568A
-_0809569C:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_809566C
-
- thumb_func_start sub_80956A4
-sub_80956A4: @ 80956A4
- push {r4-r7,lr}
- sub sp, 0x1C
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r0, r1, 1
- adds r7, r0, r1
- lsls r4, r7, 1
- adds r4, r6, r4
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- movs r1, 0x41
- bl GetBoxMonDataFromSelectedBox
- lsls r0, 16
- lsrs r5, r0, 16
- adds r0, r4, 0
- movs r1, 0
- bl GetBoxMonDataFromSelectedBox
- adds r1, r0, 0
- cmp r5, 0
- beq _0809571A
- adds r0, r5, 0
- movs r2, 0x1
- bl GetMonIconPtr
- adds r4, r0, 0
- adds r0, r5, 0
- bl GetValidMonIconPalIndex
- adds r0, 0x8
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _08095724 @ =sPSSData
- ldr r1, [r1]
- ldr r2, _08095728 @ =0x000021f0
- adds r1, r2
- ldrb r3, [r1]
- movs r2, 0x20
- str r2, [sp]
- str r2, [sp, 0x4]
- lsls r1, r6, 1
- adds r1, r6
- lsls r1, 3
- str r1, [sp, 0x8]
- lsls r1, r7, 3
- str r1, [sp, 0xC]
- str r2, [sp, 0x10]
- str r2, [sp, 0x14]
- str r0, [sp, 0x18]
- adds r0, r3, 0
- adds r1, r4, 0
- movs r2, 0
- movs r3, 0
- bl BlitBitmapRectToWindow4BitTo8Bit
-_0809571A:
- add sp, 0x1C
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08095724: .4byte sPSSData
-_08095728: .4byte 0x000021f0
- thumb_func_end sub_80956A4
-
- thumb_func_start sub_809572C
-sub_809572C: @ 809572C
- push {r4,r5,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r0, r1, 1
- adds r5, r0, r1
- lsls r0, r5, 1
- adds r0, r4, r0
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x41
- bl GetBoxMonDataFromSelectedBox
- lsls r0, 16
- cmp r0, 0
- beq _0809576E
- ldr r0, _08095778 @ =sPSSData
- ldr r0, [r0]
- ldr r1, _0809577C @ =0x000021f0
- adds r0, r1
- ldrb r0, [r0]
- lsls r2, r4, 1
- adds r2, r4
- lsls r2, 3
- lsls r3, r5, 3
- movs r1, 0x20
- str r1, [sp]
- str r1, [sp, 0x4]
- movs r1, 0
- bl FillWindowPixelRect8Bit
-_0809576E:
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08095778: .4byte sPSSData
-_0809577C: .4byte 0x000021f0
- thumb_func_end sub_809572C
-
- thumb_func_start sub_8095780
-sub_8095780: @ 8095780
- ldr r3, _0809578C @ =gUnknown_2039828
- ldr r3, [r3]
- strh r0, [r3, 0xC]
- strh r1, [r3, 0xE]
- strh r2, [r3, 0x10]
- bx lr
- .align 2, 0
-_0809578C: .4byte gUnknown_2039828
- thumb_func_end sub_8095780
-
- thumb_func_start sub_8095790
-sub_8095790: @ 8095790
- push {r4,lr}
- ldr r4, _080957C4 @ =gUnknown_2039828
- ldr r1, [r4]
- ldrh r0, [r1, 0x10]
- cmp r0, 0
- beq _080957BA
- ldrh r1, [r1, 0xC]
- movs r0, 0
- movs r2, 0x1
- bl ChangeBgX
- ldr r0, [r4]
- ldrh r1, [r0, 0xE]
- movs r0, 0
- movs r2, 0x1
- bl ChangeBgY
- ldr r1, [r4]
- ldrh r0, [r1, 0x10]
- subs r0, 0x1
- strh r0, [r1, 0x10]
-_080957BA:
- ldr r0, [r4]
- ldrb r0, [r0, 0x10]
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080957C4: .4byte gUnknown_2039828
- thumb_func_end sub_8095790
-
- thumb_func_start sub_80957C8
-sub_80957C8: @ 80957C8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r4, _0809589C @ =gUnknown_2039828
- ldr r1, [r4]
- ldrb r0, [r1, 0x4]
- ldrb r2, [r1, 0x2]
- cmp r0, r2
- bls _080957E0
- adds r0, r2, 0
-_080957E0:
- strb r0, [r1, 0x8]
- ldr r1, [r4]
- ldrb r0, [r1, 0x5]
- ldrb r2, [r1, 0x3]
- cmp r0, r2
- bls _080957EE
- adds r0, r2, 0
-_080957EE:
- strb r0, [r1, 0x9]
- ldr r2, [r4]
- ldrb r1, [r2, 0x2]
- ldrb r0, [r2, 0x4]
- subs r0, r1, r0
- cmp r0, 0
- bge _080957FE
- negs r0, r0
-_080957FE:
- adds r0, 0x1
- strb r0, [r2, 0xA]
- ldr r2, [r4]
- ldrb r1, [r2, 0x3]
- ldrb r0, [r2, 0x5]
- subs r0, r1, r0
- cmp r0, 0
- bge _08095810
- negs r0, r0
-_08095810:
- adds r0, 0x1
- strb r0, [r2, 0xB]
- bl StorageGetCurrentBox
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- movs r6, 0
- ldr r0, [r4]
- ldrb r2, [r0, 0x8]
- ldrb r1, [r0, 0xA]
- adds r2, r1
- mov r8, r2
- ldrb r1, [r0, 0x9]
- ldrb r0, [r0, 0xB]
- adds r0, r1
- mov r9, r0
- adds r2, r1, 0
- cmp r2, r9
- bge _0809588C
-_08095838:
- lsls r0, r2, 1
- adds r0, r2
- ldr r3, _0809589C @ =gUnknown_2039828
- ldr r1, [r3]
- lsls r0, 1
- ldrb r3, [r1, 0x8]
- adds r0, r3
- lsls r0, 24
- lsrs r5, r0, 24
- ldrb r4, [r1, 0x8]
- adds r7, r2, 0x1
- cmp r4, r8
- bge _08095886
- mov r0, r8
- subs r4, r0, r4
-_08095856:
- mov r0, r10
- adds r1, r5, 0
- bl GetBoxedMonPtr
- adds r1, r0, 0
- ldr r2, _0809589C @ =gUnknown_2039828
- ldr r0, [r2]
- lsls r2, r6, 2
- adds r2, r6
- lsls r2, 4
- adds r0, r2
- adds r0, 0x14
- movs r2, 0x50
- bl memcpy
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- subs r4, 0x1
- cmp r4, 0
- bne _08095856
-_08095886:
- adds r2, r7, 0
- cmp r2, r9
- blt _08095838
-_0809588C:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0809589C: .4byte gUnknown_2039828
- thumb_func_end sub_80957C8
-
- thumb_func_start sub_80958A0
-sub_80958A0: @ 80958A0
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- ldr r4, _08095914 @ =gUnknown_2039828
- ldr r0, [r4]
- ldrb r2, [r0, 0x8]
- ldrb r1, [r0, 0xA]
- adds r7, r2, r1
- ldrb r1, [r0, 0x9]
- ldrb r0, [r0, 0xB]
- adds r1, r0
- mov r9, r1
- bl StorageGetCurrentBox
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r0, [r4]
- ldrb r2, [r0, 0x9]
- cmp r2, r9
- bge _08095908
-_080958CC:
- lsls r0, r2, 1
- adds r0, r2
- ldr r1, _08095914 @ =gUnknown_2039828
- ldr r1, [r1]
- lsls r0, 1
- ldrb r3, [r1, 0x8]
- adds r0, r3
- lsls r0, 24
- lsrs r5, r0, 24
- ldrb r4, [r1, 0x8]
- adds r6, r2, 0x1
- cmp r4, r7
- bge _08095902
- subs r4, r7, r4
-_080958E8:
- adds r0, r5, 0
- bl sub_809081C
- mov r0, r8
- adds r1, r5, 0
- bl sub_808BCB4
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- subs r4, 0x1
- cmp r4, 0
- bne _080958E8
-_08095902:
- adds r2, r6, 0
- cmp r2, r9
- blt _080958CC
-_08095908:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08095914: .4byte gUnknown_2039828
- thumb_func_end sub_80958A0
-
- thumb_func_start sub_8095918
-sub_8095918: @ 8095918
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r0, _080959A4 @ =gUnknown_2039828
- ldr r0, [r0]
- ldrb r2, [r0, 0x8]
- ldrb r1, [r0, 0xA]
- adds r2, r1
- mov r8, r2
- ldrb r1, [r0, 0x9]
- ldrb r0, [r0, 0xB]
- adds r0, r1
- mov r10, r0
- movs r6, 0
- adds r2, r1, 0
- cmp r2, r10
- bge _08095994
-_0809593E:
- lsls r0, r2, 1
- adds r0, r2
- ldr r3, _080959A4 @ =gUnknown_2039828
- ldr r1, [r3]
- lsls r0, 1
- ldrb r4, [r1, 0x8]
- adds r0, r4
- lsls r0, 24
- lsrs r5, r0, 24
- ldrb r4, [r1, 0x8]
- adds r7, r2, 0x1
- cmp r4, r8
- bge _0809598E
- mov r9, r3
- mov r0, r8
- subs r4, r0, r4
-_0809595E:
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 4
- adds r1, 0x14
- mov r2, r9
- ldr r0, [r2]
- adds r0, r1
- movs r1, 0x5
- bl GetBoxMonData
- cmp r0, 0
- beq _0809597C
- adds r0, r5, 0
- bl sub_80901EC
-_0809597C:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- subs r4, 0x1
- cmp r4, 0
- bne _0809595E
-_0809598E:
- adds r2, r7, 0
- cmp r2, r10
- blt _0809593E
-_08095994:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080959A4: .4byte gUnknown_2039828
- thumb_func_end sub_8095918
-
- thumb_func_start sub_80959A8
-sub_80959A8: @ 80959A8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- ldr r4, _08095A54 @ =gUnknown_2039828
- ldr r0, [r4]
- ldrb r2, [r0, 0x8]
- ldrb r1, [r0, 0xA]
- adds r2, r1
- mov r10, r2
- ldrb r1, [r0, 0x9]
- ldrb r0, [r0, 0xB]
- adds r1, r0
- str r1, [sp]
- bl StorageGetCurrentBox
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x4]
- movs r7, 0
- ldr r0, [r4]
- ldrb r3, [r0, 0x9]
- ldr r0, [sp]
- cmp r3, r0
- bge _08095A42
-_080959DE:
- lsls r0, r3, 1
- adds r0, r3
- ldr r2, _08095A54 @ =gUnknown_2039828
- ldr r1, [r2]
- lsls r0, 1
- ldrb r4, [r1, 0x8]
- adds r0, r4
- lsls r0, 24
- lsrs r6, r0, 24
- ldrb r5, [r1, 0x8]
- adds r3, 0x1
- mov r9, r3
- cmp r5, r10
- bge _08095A3A
- mov r8, r2
- mov r0, r10
- subs r5, r0, r5
-_08095A00:
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 4
- adds r4, r0, 0
- adds r4, 0x14
- mov r1, r8
- ldr r0, [r1]
- adds r0, r4
- movs r1, 0x5
- bl GetBoxMonData
- cmp r0, 0
- beq _08095A28
- mov r0, r8
- ldr r2, [r0]
- adds r2, r4
- ldr r0, [sp, 0x4]
- adds r1, r6, 0
- bl CopyBoxMonFromAnyBox
-_08095A28:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- subs r5, 0x1
- cmp r5, 0
- bne _08095A00
-_08095A3A:
- mov r3, r9
- ldr r1, [sp]
- cmp r3, r1
- blt _080959DE
-_08095A42:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08095A54: .4byte gUnknown_2039828
- thumb_func_end sub_80959A8
-
- thumb_func_start sub_8095A58
-sub_8095A58: @ 8095A58
- push {lr}
- sub sp, 0x8
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0
- movs r1, 0x4
- movs r2, 0
- bl SetBgAttribute
- movs r0, 0x8
- movs r1, 0x80
- bl ClearGpuRegBits
- movs r0, 0x20
- str r0, [sp]
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- add sp, 0x8
- pop {r0}
- bx r0
- thumb_func_end sub_8095A58
-
- thumb_func_start sub_8095AA0
-sub_8095AA0: @ 8095AA0
- ldr r0, _08095AB8 @ =gUnknown_2039828
- ldr r2, [r0]
- ldrb r1, [r2, 0x3]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 1
- ldrb r2, [r2, 0x2]
- adds r0, r2
- lsls r0, 24
- lsrs r0, 24
- bx lr
- .align 2, 0
-_08095AB8: .4byte gUnknown_2039828
- thumb_func_end sub_8095AA0
-
- thumb_func_start sub_8095ABC
-sub_8095ABC: @ 8095ABC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- ldr r0, _08095B28 @ =gUnknown_2039828
- ldr r0, [r0]
- ldrb r2, [r0, 0x8]
- ldrb r1, [r0, 0xA]
- adds r2, r1
- mov r9, r2
- ldrb r1, [r0, 0x9]
- ldrb r0, [r0, 0xB]
- adds r0, r1, r0
- str r0, [sp]
- movs r7, 0
- adds r6, r1, 0
- cmp r6, r0
- bge _08095B4A
- lsls r0, r6, 1
- adds r0, r6
- lsls r0, 1
- mov r8, r0
-_08095AEC:
- ldr r2, _08095B28 @ =gUnknown_2039828
- ldr r1, [r2]
- ldrb r0, [r1, 0x8]
- add r0, r8
- lsls r0, 24
- lsrs r5, r0, 24
- ldrb r4, [r1, 0x8]
- cmp r4, r9
- bge _08095B3E
- mov r10, r2
-_08095B00:
- lsls r1, r7, 2
- adds r1, r7
- lsls r1, 4
- adds r1, 0x14
- mov r2, r10
- ldr r0, [r2]
- adds r0, r1
- movs r1, 0x5
- bl GetBoxMonData
- cmp r0, 0
- beq _08095B2C
- adds r0, r5, 0
- movs r1, 0x5
- bl GetBoxMonDataFromSelectedBox
- cmp r0, 0
- beq _08095B2C
- movs r0, 0
- b _08095B4C
- .align 2, 0
-_08095B28: .4byte gUnknown_2039828
-_08095B2C:
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- adds r4, 0x1
- cmp r4, r9
- blt _08095B00
-_08095B3E:
- movs r0, 0x6
- add r8, r0
- adds r6, 0x1
- ldr r2, [sp]
- cmp r6, r2
- blt _08095AEC
-_08095B4A:
- movs r0, 0x1
-_08095B4C:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8095ABC
-
- thumb_func_start sub_8095B5C
-sub_8095B5C: @ 8095B5C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x20
- ldr r3, _08095C58 @ =sPSSData
- ldr r0, [r3]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x3
- bne _08095C3C
- ldr r0, _08095C5C @ =gUnknown_3000FE8
- str r0, [sp, 0x18]
- ldr r1, _08095C60 @ =0xffff0000
- add r2, sp, 0x18
- ldr r0, [r2, 0x4]
- ands r0, r1
- movs r1, 0x80
- lsls r1, 2
- orrs r0, r1
- str r0, [r2, 0x4]
- mov r1, sp
- ldr r0, _08095C64 @ =gUnknown_83D3728
- ldm r0!, {r4-r6}
- stm r1!, {r4-r6}
- ldm r0!, {r4-r6}
- stm r1!, {r4-r6}
- movs r7, 0
- mov r9, r2
- mov r8, r3
- movs r0, 0
- mov r10, r0
-_08095B9C:
- adds r6, r7, 0x7
- lsls r1, r6, 16
- mov r2, r9
- ldrh r0, [r2, 0x4]
- orrs r0, r1
- str r0, [r2, 0x4]
- mov r0, r9
- bl LoadCompressedSpriteSheet
- mov r4, r9
- ldrh r0, [r4, 0x6]
- bl GetSpriteTileStartByTag
- mov r5, r8
- ldr r1, [r5]
- lsls r5, r7, 4
- ldr r2, _08095C68 @ =0x000021f8
- adds r1, r2
- adds r1, r5
- lsls r0, 16
- lsrs r0, 11
- ldr r4, _08095C6C @ =0x06010000
- adds r0, r4
- str r0, [r1]
- ldr r0, _08095C70 @ =0xffffdacb
- adds r4, r7, r0
- lsls r0, r4, 16
- lsrs r0, 16
- bl AllocSpritePalette
- mov r2, r8
- ldr r1, [r2]
- adds r1, r5
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _08095C74 @ =0x000021fc
- adds r1, r2
- strh r0, [r1]
- ldrh r0, [r1]
- lsls r0, 4
- movs r2, 0x80
- lsls r2, 1
- adds r0, r2
- strh r0, [r1]
- mov r0, sp
- strh r6, [r0]
- strh r4, [r0, 0x2]
- movs r1, 0
- movs r2, 0
- movs r3, 0xB
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- mov r4, r8
- ldr r2, [r4]
- ldr r6, _08095C78 @ =0x000021f4
- adds r2, r6
- adds r2, r5
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, _08095C7C @ =gSprites
- adds r1, r0
- str r1, [r2]
- adds r1, 0x3E
- ldrb r0, [r1]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r1]
- ldr r0, [r4]
- adds r0, r5
- movs r1, 0x88
- lsls r1, 6
- adds r0, r1
- mov r2, r10
- strb r2, [r0]
- adds r7, 0x1
- cmp r7, 0x2
- ble _08095B9C
-_08095C3C:
- ldr r0, _08095C58 @ =sPSSData
- ldr r0, [r0]
- ldr r4, _08095C80 @ =0x00002224
- adds r0, r4
- movs r1, 0
- strh r1, [r0]
- add sp, 0x20
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08095C58: .4byte sPSSData
-_08095C5C: .4byte gUnknown_3000FE8
-_08095C60: .4byte 0xffff0000
-_08095C64: .4byte gUnknown_83D3728
-_08095C68: .4byte 0x000021f8
-_08095C6C: .4byte 0x06010000
-_08095C70: .4byte 0xffffdacb
-_08095C74: .4byte 0x000021fc
-_08095C78: .4byte 0x000021f4
-_08095C7C: .4byte gSprites
-_08095C80: .4byte 0x00002224
- thumb_func_end sub_8095B5C
-
- thumb_func_start sub_8095C84
-sub_8095C84: @ 8095C84
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r1, 24
- lsrs r7, r1, 24
- ldr r0, _08095CB8 @ =sPSSData
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x3
- bne _08095D36
- mov r0, r8
- adds r1, r7, 0
- bl sub_8096210
- cmp r0, 0
- bne _08095D36
- mov r0, r8
- cmp r0, 0
- beq _08095CBC
- cmp r0, 0x1
- beq _08095CD2
- b _08095D36
- .align 2, 0
-_08095CB8: .4byte sPSSData
-_08095CBC:
- adds r0, r7, 0
- movs r1, 0x5
- bl GetBoxMonDataFromSelectedBox
- cmp r0, 0
- beq _08095D36
- adds r0, r7, 0
- movs r1, 0xC
- bl GetBoxMonDataFromSelectedBox
- b _08095CF0
-_08095CD2:
- movs r0, 0x64
- adds r1, r7, 0
- muls r1, r0
- ldr r0, _08095D40 @ =gPlayerParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0x5
- bl GetMonData
- cmp r0, 0
- beq _08095D36
- adds r0, r4, 0
- movs r1, 0xC
- bl GetMonData
-_08095CF0:
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0
- beq _08095D36
- adds r0, r4, 0
- bl GetItemIconPic
- adds r6, r0, 0
- adds r0, r4, 0
- bl GetItemIconPalette
- adds r5, r0, 0
- bl sub_80961D8
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- mov r1, r8
- adds r2, r7, 0
- bl sub_80962F0
- adds r0, r4, 0
- adds r1, r6, 0
- adds r2, r5, 0
- bl sub_8096408
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_80964B8
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_8096624
-_08095D36:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08095D40: .4byte gPlayerParty
- thumb_func_end sub_8095C84
-
- thumb_func_start sub_8095D44
-sub_8095D44: @ 8095D44
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- ldr r0, _08095D80 @ =sPSSData
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x3
- bne _08095D7A
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_8096258
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- movs r1, 0x2
- bl sub_80964B8
- adds r0, r4, 0
- movs r1, 0
- adds r2, r6, 0
- adds r3, r5, 0
- bl sub_80964E8
-_08095D7A:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08095D80: .4byte sPSSData
- thumb_func_end sub_8095D44
-
- thumb_func_start sub_8095D84
-sub_8095D84: @ 8095D84
- push {r4-r7,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- adds r7, r5, 0
- ldr r0, _08095DE8 @ =sPSSData
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x3
- bne _08095E14
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_8096258
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r1, 0
- mov r0, sp
- strh r1, [r0]
- adds r0, r4, 0
- movs r1, 0x3
- bl sub_80964B8
- adds r0, r4, 0
- movs r1, 0x1
- adds r2, r6, 0
- adds r3, r5, 0
- bl sub_80964E8
- adds r0, r4, 0
- movs r1, 0x2
- movs r2, 0
- bl sub_80962F0
- cmp r6, 0
- bne _08095DEC
- adds r0, r5, 0
- movs r1, 0xC
- mov r2, sp
- bl SetBoxMonDataFromSelectedBox
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_8090850
- b _08095E04
- .align 2, 0
-_08095DE8: .4byte sPSSData
-_08095DEC:
- movs r0, 0x64
- muls r0, r7
- ldr r1, _08095E1C @ =gPlayerParty
- adds r0, r1
- movs r1, 0xC
- mov r2, sp
- bl SetMonData
- adds r0, r7, 0
- movs r1, 0x1
- bl sub_8090C84
-_08095E04:
- ldr r0, _08095E20 @ =sPSSData
- ldr r0, [r0]
- ldr r2, _08095E24 @ =0x00000ce2
- adds r1, r0, r2
- ldrh r1, [r1]
- ldr r2, _08095E28 @ =0x00002224
- adds r0, r2
- strh r1, [r0]
-_08095E14:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08095E1C: .4byte gPlayerParty
-_08095E20: .4byte sPSSData
-_08095E24: .4byte 0x00000ce2
-_08095E28: .4byte 0x00002224
- thumb_func_end sub_8095D84
-
- thumb_func_start sub_8095E2C
-sub_8095E2C: @ 8095E2C
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- adds r5, r0, 0
- lsls r5, 16
- lsrs r5, 16
- adds r0, r5, 0
- bl GetItemIconPic
- mov r8, r0
- adds r0, r5, 0
- bl GetItemIconPalette
- adds r6, r0, 0
- bl sub_80961D8
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- mov r1, r8
- adds r2, r6, 0
- bl sub_8096408
- adds r0, r4, 0
- movs r1, 0x6
- bl sub_80964B8
- adds r0, r4, 0
- movs r1, 0x1
- movs r2, 0
- movs r3, 0
- bl sub_80964E8
- adds r0, r4, 0
- movs r1, 0x2
- movs r2, 0
- bl sub_80962F0
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_8096624
- ldr r0, _08095E98 @ =sPSSData
- ldr r0, [r0]
- ldr r1, _08095E9C @ =0x00002224
- adds r0, r1
- strh r5, [r0]
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08095E98: .4byte sPSSData
-_08095E9C: .4byte 0x00002224
- thumb_func_end sub_8095E2C
-
- thumb_func_start sub_8095EA0
-sub_8095EA0: @ 8095EA0
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- lsls r1, 24
- lsrs r7, r1, 24
- ldr r0, _08095F08 @ =sPSSData
- mov r8, r0
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x3
- bne _08095F5E
- mov r0, r9
- adds r1, r7, 0
- bl sub_8096258
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- movs r1, 0x3
- bl sub_80964B8
- adds r0, r4, 0
- movs r1, 0x3
- movs r2, 0x2
- movs r3, 0
- bl sub_80964E8
- mov r1, r9
- cmp r1, 0
- bne _08095F10
- adds r0, r7, 0
- movs r1, 0xC
- bl GetBoxMonDataFromSelectedBox
- lsls r0, 16
- lsrs r6, r0, 16
- mov r0, r8
- ldr r2, [r0]
- ldr r4, _08095F0C @ =0x00002224
- adds r2, r4
- adds r0, r7, 0
- movs r1, 0xC
- bl SetBoxMonDataFromSelectedBox
- mov r1, r8
- ldr r0, [r1]
- adds r0, r4
- b _08095F3C
- .align 2, 0
-_08095F08: .4byte sPSSData
-_08095F0C: .4byte 0x00002224
-_08095F10:
- movs r0, 0x64
- adds r4, r7, 0
- muls r4, r0
- ldr r0, _08095F6C @ =gPlayerParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0xC
- bl GetMonData
- lsls r0, 16
- lsrs r6, r0, 16
- mov r0, r8
- ldr r2, [r0]
- ldr r5, _08095F70 @ =0x00002224
- adds r2, r5
- adds r0, r4, 0
- movs r1, 0xC
- bl SetMonData
- mov r1, r8
- ldr r0, [r1]
- adds r0, r5
-_08095F3C:
- strh r6, [r0]
- movs r0, 0x2
- movs r1, 0
- bl sub_8096258
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- movs r1, 0x4
- bl sub_80964B8
- adds r0, r4, 0
- movs r1, 0x4
- mov r2, r9
- adds r3, r7, 0
- bl sub_80964E8
-_08095F5E:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08095F6C: .4byte gPlayerParty
-_08095F70: .4byte 0x00002224
- thumb_func_end sub_8095EA0
-
- thumb_func_start sub_8095F74
-sub_8095F74: @ 8095F74
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- mov r8, r5
- ldr r6, _08095FCC @ =sPSSData
- ldr r0, [r6]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x3
- bne _08095FF4
- movs r0, 0x2
- movs r1, 0
- bl sub_8096258
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- movs r1, 0x4
- bl sub_80964B8
- adds r0, r4, 0
- movs r1, 0x2
- adds r2, r7, 0
- adds r3, r5, 0
- bl sub_80964E8
- cmp r7, 0
- bne _08095FD4
- ldr r2, [r6]
- ldr r0, _08095FD0 @ =0x00002224
- adds r2, r0
- adds r0, r5, 0
- movs r1, 0xC
- bl SetBoxMonDataFromSelectedBox
- adds r0, r5, 0
- movs r1, 0
- bl sub_8090850
- b _08095FF4
- .align 2, 0
-_08095FCC: .4byte sPSSData
-_08095FD0: .4byte 0x00002224
-_08095FD4:
- movs r0, 0x64
- mov r1, r8
- muls r1, r0
- adds r0, r1, 0
- ldr r1, _08096000 @ =gPlayerParty
- adds r0, r1
- ldr r2, [r6]
- ldr r1, _08096004 @ =0x00002224
- adds r2, r1
- movs r1, 0xC
- bl SetMonData
- mov r0, r8
- movs r1, 0
- bl sub_8090C84
-_08095FF4:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08096000: .4byte gPlayerParty
-_08096004: .4byte 0x00002224
- thumb_func_end sub_8095F74
-
- thumb_func_start sub_8096008
-sub_8096008: @ 8096008
- push {r4-r7,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- adds r7, r5, 0
- ldr r0, _08096060 @ =sPSSData
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x3
- bne _0809607C
- movs r1, 0
- mov r0, sp
- strh r1, [r0]
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_8096258
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- movs r1, 0x2
- bl sub_80964B8
- adds r0, r4, 0
- movs r1, 0
- adds r2, r6, 0
- adds r3, r5, 0
- bl sub_80964E8
- cmp r6, 0
- bne _08096064
- adds r0, r5, 0
- movs r1, 0xC
- mov r2, sp
- bl SetBoxMonDataFromSelectedBox
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_8090850
- b _0809607C
- .align 2, 0
-_08096060: .4byte sPSSData
-_08096064:
- movs r0, 0x64
- muls r0, r7
- ldr r1, _08096084 @ =gPlayerParty
- adds r0, r1
- movs r1, 0xC
- mov r2, sp
- bl SetMonData
- adds r0, r7, 0
- movs r1, 0x1
- bl sub_8090C84
-_0809607C:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08096084: .4byte gPlayerParty
- thumb_func_end sub_8096008
-
- thumb_func_start sub_8096088
-sub_8096088: @ 8096088
- push {r4,lr}
- ldr r0, _080960BC @ =sPSSData
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x3
- bne _080960B6
- movs r0, 0x2
- movs r1, 0
- bl sub_8096258
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- movs r1, 0x5
- bl sub_80964B8
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x2
- movs r3, 0
- bl sub_80964E8
-_080960B6:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080960BC: .4byte sPSSData
- thumb_func_end sub_8096088
-
- thumb_func_start sub_80960C0
-sub_80960C0: @ 80960C0
- push {r4,lr}
- ldr r0, _08096108 @ =sPSSData
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x3
- bne _08096100
- movs r4, 0
-_080960CE:
- ldr r0, _08096108 @ =sPSSData
- ldr r1, [r0]
- lsls r0, r4, 4
- adds r1, r0
- movs r2, 0x88
- lsls r2, 6
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _080960FA
- subs r2, 0x2
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080960FA
- lsls r0, r4, 24
- lsrs r0, 24
- movs r1, 0x7
- movs r2, 0x2
- movs r3, 0
- bl sub_80964E8
-_080960FA:
- adds r4, 0x1
- cmp r4, 0x2
- ble _080960CE
-_08096100:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08096108: .4byte sPSSData
- thumb_func_end sub_80960C0
-
- thumb_func_start sub_809610C
-sub_809610C: @ 809610C
- push {r4,r5,lr}
- movs r5, 0
- ldr r0, _08096148 @ =sPSSData
- ldr r0, [r0]
- ldr r1, _0809614C @ =0x000021f4
- adds r4, r0, r1
- adds r3, r0, 0
-_0809611A:
- movs r1, 0x88
- lsls r1, 6
- adds r0, r3, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _08096158
- ldr r2, [r4]
- adds r0, r2, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x28
- ands r0, r1
- cmp r0, 0x8
- beq _08096144
- ldr r1, [r2, 0x1C]
- ldr r0, _08096150 @ =SpriteCallbackDummy
- cmp r1, r0
- beq _08096158
- ldr r0, _08096154 @ =sub_80969BC
- cmp r1, r0
- beq _08096158
-_08096144:
- movs r0, 0x1
- b _08096164
- .align 2, 0
-_08096148: .4byte sPSSData
-_0809614C: .4byte 0x000021f4
-_08096150: .4byte SpriteCallbackDummy
-_08096154: .4byte sub_80969BC
-_08096158:
- adds r4, 0x10
- adds r3, 0x10
- adds r5, 0x1
- cmp r5, 0x2
- ble _0809611A
- movs r0, 0
-_08096164:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_809610C
-
- thumb_func_start sub_809616C
-sub_809616C: @ 809616C
- push {lr}
- ldr r0, _08096190 @ =sPSSData
- ldr r1, [r0]
- ldrb r0, [r1, 0x1]
- cmp r0, 0x3
- bne _080961A0
- movs r2, 0
- ldr r0, _08096194 @ =0x000021fe
- adds r1, r0
-_0809617E:
- ldrb r0, [r1, 0x2]
- cmp r0, 0
- beq _08096198
- ldrb r0, [r1]
- cmp r0, 0x2
- bne _08096198
- movs r0, 0x1
- b _080961A2
- .align 2, 0
-_08096190: .4byte sPSSData
-_08096194: .4byte 0x000021fe
-_08096198:
- adds r1, 0x10
- adds r2, 0x1
- cmp r2, 0x2
- ble _0809617E
-_080961A0:
- movs r0, 0
-_080961A2:
- pop {r1}
- bx r1
- thumb_func_end sub_809616C
-
- thumb_func_start sub_80961A8
-sub_80961A8: @ 80961A8
- push {lr}
- ldr r0, _080961BC @ =sPSSData
- ldr r0, [r0]
- ldr r1, _080961C0 @ =0x00002224
- adds r0, r1
- ldrh r0, [r0]
- bl ItemId_GetName
- pop {r1}
- bx r1
- .align 2, 0
-_080961BC: .4byte sPSSData
-_080961C0: .4byte 0x00002224
- thumb_func_end sub_80961A8
-
- thumb_func_start sub_80961C4
-sub_80961C4: @ 80961C4
- ldr r0, _080961D0 @ =sPSSData
- ldr r0, [r0]
- ldr r1, _080961D4 @ =0x00002224
- adds r0, r1
- ldrh r0, [r0]
- bx lr
- .align 2, 0
-_080961D0: .4byte sPSSData
-_080961D4: .4byte 0x00002224
- thumb_func_end sub_80961C4
-
- thumb_func_start sub_80961D8
-sub_80961D8: @ 80961D8
- push {r4,r5,lr}
- movs r2, 0
- ldr r5, _080961F8 @ =sPSSData
- movs r3, 0x88
- lsls r3, 6
- movs r4, 0x1
-_080961E4:
- ldr r0, [r5]
- lsls r1, r2, 4
- adds r0, r1
- adds r1, r0, r3
- ldrb r0, [r1]
- cmp r0, 0
- bne _080961FC
- strb r4, [r1]
- adds r0, r2, 0
- b _08096208
- .align 2, 0
-_080961F8: .4byte sPSSData
-_080961FC:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x2
- bls _080961E4
- movs r0, 0x3
-_08096208:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80961D8
-
- thumb_func_start sub_8096210
-sub_8096210: @ 8096210
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r1, 24
- movs r3, 0
- ldr r0, _08096244 @ =sPSSData
- ldr r2, [r0]
-_08096220:
- movs r5, 0x88
- lsls r5, 6
- adds r0, r2, r5
- ldrb r0, [r0]
- cmp r0, 0
- beq _08096248
- subs r5, 0x2
- adds r0, r2, r5
- ldrb r0, [r0]
- cmp r0, r4
- bne _08096248
- adds r5, 0x1
- adds r0, r2, r5
- ldrb r0, [r0]
- cmp r0, r1
- bne _08096248
- movs r0, 0x1
- b _08096252
- .align 2, 0
-_08096244: .4byte sPSSData
-_08096248:
- adds r2, 0x10
- adds r3, 0x1
- cmp r3, 0x2
- ble _08096220
- movs r0, 0
-_08096252:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8096210
-
- thumb_func_start sub_8096258
-sub_8096258: @ 8096258
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- movs r3, 0
- ldr r0, _08096290 @ =sPSSData
- ldr r1, [r0]
-_08096268:
- lsls r0, r3, 4
- adds r2, r1, r0
- movs r6, 0x88
- lsls r6, 6
- adds r0, r2, r6
- ldrb r0, [r0]
- cmp r0, 0
- beq _08096294
- subs r6, 0x2
- adds r0, r2, r6
- ldrb r0, [r0]
- cmp r0, r5
- bne _08096294
- adds r6, 0x1
- adds r0, r2, r6
- ldrb r0, [r0]
- cmp r0, r4
- bne _08096294
- adds r0, r3, 0
- b _080962A0
- .align 2, 0
-_08096290: .4byte sPSSData
-_08096294:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x2
- bls _08096268
- movs r0, 0x3
-_080962A0:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8096258
-
- thumb_func_start sub_80962A8
-sub_80962A8: @ 80962A8
- push {r4-r6,lr}
- adds r5, r0, 0
- movs r2, 0
- ldr r0, _080962D4 @ =sPSSData
- ldr r3, [r0]
- ldr r0, _080962D8 @ =0x000021f4
- adds r4, r3, r0
- movs r6, 0x88
- lsls r6, 6
-_080962BA:
- lsls r1, r2, 4
- adds r0, r3, r1
- adds r0, r6
- ldrb r0, [r0]
- cmp r0, 0
- beq _080962DC
- adds r0, r4, r1
- ldr r0, [r0]
- cmp r0, r5
- bne _080962DC
- adds r0, r2, 0
- b _080962E8
- .align 2, 0
-_080962D4: .4byte sPSSData
-_080962D8: .4byte 0x000021f4
-_080962DC:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x2
- bls _080962BA
- movs r0, 0x3
-_080962E8:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80962A8
-
- thumb_func_start sub_80962F0
-sub_80962F0: @ 80962F0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 24
- lsrs r1, 24
- mov r8, r1
- lsls r2, 24
- lsrs r7, r2, 24
- cmp r5, 0x2
- bhi _080963EE
- cmp r1, 0
- beq _0809631C
- cmp r1, 0x1
- beq _08096378
- ldr r4, _08096318 @ =sPSSData
- lsls r3, r5, 4
- b _080963D8
- .align 2, 0
-_08096318: .4byte sPSSData
-_0809631C:
- adds r0, r7, 0
- movs r1, 0x6
- bl __umodsi3
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r7, 0
- movs r1, 0x6
- bl __udivsi3
- lsls r0, 24
- lsrs r0, 24
- ldr r6, _08096370 @ =sPSSData
- ldr r2, [r6]
- lsls r5, 4
- ldr r1, _08096374 @ =0x000021f4
- adds r2, r1
- adds r2, r5
- ldr r3, [r2]
- lsls r1, r4, 1
- adds r1, r4
- lsls r1, 3
- adds r1, 0x70
- strh r1, [r3, 0x20]
- ldr r3, [r2]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, 0x38
- strh r1, [r3, 0x22]
- ldr r2, [r2]
- ldrb r1, [r2, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- movs r1, 0x8
- orrs r0, r1
- strb r0, [r2, 0x5]
- adds r4, r6, 0
- adds r3, r5, 0
- b _080963D8
- .align 2, 0
-_08096370: .4byte sPSSData
-_08096374: .4byte 0x000021f4
-_08096378:
- cmp r7, 0
- bne _080963A0
- ldr r4, _08096398 @ =sPSSData
- ldr r0, [r4]
- lsls r3, r5, 4
- ldr r1, _0809639C @ =0x000021f4
- adds r0, r1
- adds r0, r3
- ldr r2, [r0]
- movs r1, 0x74
- strh r1, [r2, 0x20]
- ldr r1, [r0]
- movs r0, 0x4C
- strh r0, [r1, 0x22]
- b _080963C0
- .align 2, 0
-_08096398: .4byte sPSSData
-_0809639C: .4byte 0x000021f4
-_080963A0:
- ldr r4, _080963F8 @ =sPSSData
- ldr r0, [r4]
- lsls r3, r5, 4
- ldr r1, _080963FC @ =0x000021f4
- adds r0, r1
- adds r0, r3
- ldr r2, [r0]
- movs r1, 0xA4
- strh r1, [r2, 0x20]
- ldr r2, [r0]
- subs r1, r7, 0x1
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r0, 0x1C
- strh r0, [r2, 0x22]
-_080963C0:
- ldr r0, [r4]
- ldr r1, _080963FC @ =0x000021f4
- adds r0, r1
- adds r0, r3
- ldr r2, [r0]
- ldrb r1, [r2, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2, 0x5]
-_080963D8:
- ldr r0, [r4]
- adds r0, r3
- ldr r1, _08096400 @ =0x000021fe
- adds r0, r1
- mov r1, r8
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, r3
- ldr r1, _08096404 @ =0x000021ff
- adds r0, r1
- strb r7, [r0]
-_080963EE:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080963F8: .4byte sPSSData
-_080963FC: .4byte 0x000021f4
-_08096400: .4byte 0x000021fe
-_08096404: .4byte 0x000021ff
- thumb_func_end sub_80962F0
-
- thumb_func_start sub_8096408
-sub_8096408: @ 8096408
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- mov r8, r1
- mov r9, r2
- lsls r0, 24
- lsrs r7, r0, 24
- cmp r7, 0x2
- bhi _08096490
- movs r0, 0
- str r0, [sp]
- ldr r4, _080964A0 @ =sPSSData
- ldr r1, [r4]
- ldr r6, _080964A4 @ =0x000042bc
- adds r1, r6
- ldr r2, _080964A8 @ =0x01000080
- mov r0, sp
- bl CpuFastSet
- ldr r1, [r4]
- ldr r5, _080964AC @ =0x000022bc
- adds r1, r5
- mov r0, r8
- bl LZ77UnCompWram
- lsls r7, 4
- mov r8, r7
- adds r7, r4, 0
- movs r4, 0x2
-_08096446:
- ldr r1, [r7]
- adds r0, r1, r5
- adds r1, r6
- movs r2, 0x18
- bl CpuFastSet
- adds r6, 0x80
- adds r5, 0x60
- subs r4, 0x1
- cmp r4, 0
- bge _08096446
- ldr r5, _080964A0 @ =sPSSData
- ldr r1, [r5]
- ldr r4, _080964A4 @ =0x000042bc
- adds r0, r1, r4
- ldr r2, _080964B0 @ =0x000021f8
- adds r1, r2
- add r1, r8
- ldr r1, [r1]
- movs r2, 0x80
- bl CpuFastSet
- ldr r1, [r5]
- adds r1, r4
- mov r0, r9
- bl LZ77UnCompWram
- ldr r0, [r5]
- adds r4, r0, r4
- add r0, r8
- ldr r1, _080964B4 @ =0x000021fc
- adds r0, r1
- ldrh r1, [r0]
- adds r0, r4, 0
- movs r2, 0x20
- bl LoadPalette
-_08096490:
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080964A0: .4byte sPSSData
-_080964A4: .4byte 0x000042bc
-_080964A8: .4byte 0x01000080
-_080964AC: .4byte 0x000022bc
-_080964B0: .4byte 0x000021f8
-_080964B4: .4byte 0x000021fc
- thumb_func_end sub_8096408
-
- thumb_func_start sub_80964B8
-sub_80964B8: @ 80964B8
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r1, 24
- lsrs r3, r1, 24
- cmp r2, 0x2
- bhi _080964DA
- ldr r0, _080964E0 @ =sPSSData
- ldr r0, [r0]
- lsls r1, r2, 4
- ldr r2, _080964E4 @ =0x000021f4
- adds r0, r2
- adds r0, r1
- ldr r0, [r0]
- adds r1, r3, 0
- bl StartSpriteAffineAnim
-_080964DA:
- pop {r0}
- bx r0
- .align 2, 0
-_080964E0: .4byte sPSSData
-_080964E4: .4byte 0x000021f4
- thumb_func_end sub_80964B8
-
- thumb_func_start sub_80964E8
-sub_80964E8: @ 80964E8
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r0, r1, 24
- lsls r2, 24
- lsrs r5, r2, 24
- lsls r3, 24
- lsrs r3, 24
- cmp r4, 0x2
- bls _08096500
- b _08096612
-_08096500:
- cmp r0, 0x7
- bls _08096506
- b _08096612
-_08096506:
- lsls r0, 2
- ldr r1, _08096510 @ =_08096514
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08096510: .4byte _08096514
- .align 2, 0
-_08096514:
- .4byte _08096534
- .4byte _08096558
- .4byte _0809657C
- .4byte _080965A8
- .4byte _080965D4
- .4byte _08096612
- .4byte _08096612
- .4byte _08096600
-_08096534:
- ldr r0, _0809654C @ =sPSSData
- ldr r0, [r0]
- lsls r1, r4, 4
- ldr r2, _08096550 @ =0x000021f4
- adds r0, r2
- adds r0, r1
- ldr r1, [r0]
- strh r4, [r1, 0x2E]
- ldr r1, [r0]
- ldr r0, _08096554 @ =sub_809692C
- b _08096610
- .align 2, 0
-_0809654C: .4byte sPSSData
-_08096550: .4byte 0x000021f4
-_08096554: .4byte sub_809692C
-_08096558:
- ldr r0, _08096570 @ =sPSSData
- ldr r0, [r0]
- lsls r1, r4, 4
- ldr r2, _08096574 @ =0x000021f4
- adds r0, r2
- adds r0, r1
- ldr r2, [r0]
- movs r1, 0
- strh r1, [r2, 0x2E]
- ldr r1, [r0]
- ldr r0, _08096578 @ =sub_8096958
- b _08096610
- .align 2, 0
-_08096570: .4byte sPSSData
-_08096574: .4byte 0x000021f4
-_08096578: .4byte sub_8096958
-_0809657C:
- ldr r0, _0809659C @ =sPSSData
- ldr r0, [r0]
- lsls r1, r4, 4
- ldr r2, _080965A0 @ =0x000021f4
- adds r0, r2
- adds r0, r1
- ldr r2, [r0]
- movs r1, 0
- strh r1, [r2, 0x2E]
- ldr r1, [r0]
- strh r5, [r1, 0x3A]
- ldr r1, [r0]
- strh r3, [r1, 0x3C]
- ldr r1, [r0]
- ldr r0, _080965A4 @ =sub_80969F4
- b _08096610
- .align 2, 0
-_0809659C: .4byte sPSSData
-_080965A0: .4byte 0x000021f4
-_080965A4: .4byte sub_80969F4
-_080965A8:
- ldr r0, _080965C8 @ =sPSSData
- ldr r0, [r0]
- lsls r1, r4, 4
- ldr r2, _080965CC @ =0x000021f4
- adds r0, r2
- adds r0, r1
- ldr r2, [r0]
- movs r1, 0
- strh r1, [r2, 0x2E]
- ldr r2, [r0]
- ldr r1, _080965D0 @ =sub_8096A74
- str r1, [r2, 0x1C]
- strh r5, [r2, 0x3A]
- ldr r0, [r0]
- strh r3, [r0, 0x3C]
- b _08096612
- .align 2, 0
-_080965C8: .4byte sPSSData
-_080965CC: .4byte 0x000021f4
-_080965D0: .4byte sub_8096A74
-_080965D4:
- ldr r0, _080965F4 @ =sPSSData
- ldr r0, [r0]
- lsls r1, r4, 4
- ldr r2, _080965F8 @ =0x000021f4
- adds r0, r2
- adds r0, r1
- ldr r2, [r0]
- movs r1, 0
- strh r1, [r2, 0x2E]
- ldr r1, [r0]
- strh r5, [r1, 0x3A]
- ldr r1, [r0]
- strh r3, [r1, 0x3C]
- ldr r1, [r0]
- ldr r0, _080965FC @ =sub_8096B10
- b _08096610
- .align 2, 0
-_080965F4: .4byte sPSSData
-_080965F8: .4byte 0x000021f4
-_080965FC: .4byte sub_8096B10
-_08096600:
- ldr r0, _08096618 @ =sPSSData
- ldr r0, [r0]
- lsls r1, r4, 4
- ldr r2, _0809661C @ =0x000021f4
- adds r0, r2
- adds r0, r1
- ldr r1, [r0]
- ldr r0, _08096620 @ =sub_8096BAC
-_08096610:
- str r0, [r1, 0x1C]
-_08096612:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08096618: .4byte sPSSData
-_0809661C: .4byte 0x000021f4
-_08096620: .4byte sub_8096BAC
- thumb_func_end sub_80964E8
-
- thumb_func_start sub_8096624
-sub_8096624: @ 8096624
- push {r4,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- cmp r2, 0x2
- bhi _08096666
- ldr r1, _0809666C @ =sPSSData
- ldr r0, [r1]
- lsls r2, 4
- adds r0, r2
- movs r3, 0x88
- lsls r3, 6
- adds r0, r3
- strb r4, [r0]
- ldr r0, [r1]
- ldr r1, _08096670 @ =0x000021f4
- adds r0, r1
- adds r0, r2
- ldr r0, [r0]
- movs r3, 0
- cmp r4, 0
- bne _08096654
- movs r3, 0x1
-_08096654:
- adds r2, r0, 0
- adds r2, 0x3E
- lsls r3, 2
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- orrs r0, r3
- strb r0, [r2]
-_08096666:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0809666C: .4byte sPSSData
-_08096670: .4byte 0x000021f4
- thumb_func_end sub_8096624
-
- thumb_func_start GetItemIconPic
-GetItemIconPic: @ 8096674
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0
- bl GetItemIconGfxPtr
- pop {r1}
- bx r1
- thumb_func_end GetItemIconPic
-
- thumb_func_start GetItemIconPalette
-GetItemIconPalette: @ 8096684
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1
- bl GetItemIconGfxPtr
- pop {r1}
- bx r1
- thumb_func_end GetItemIconPalette
-
- thumb_func_start sub_8096694
-sub_8096694: @ 8096694
- push {r4,lr}
- sub sp, 0x14
- bl sub_809616C
- lsls r0, 24
- cmp r0, 0
- beq _080966B4
- ldr r0, _080966AC @ =sPSSData
- ldr r0, [r0]
- ldr r1, _080966B0 @ =0x00002224
- b _080966BA
- .align 2, 0
-_080966AC: .4byte sPSSData
-_080966B0: .4byte 0x00002224
-_080966B4:
- ldr r0, _080966EC @ =sPSSData
- ldr r0, [r0]
- ldr r1, _080966F0 @ =0x00000ce2
-_080966BA:
- adds r0, r1
- ldrh r0, [r0]
- bl ItemId_GetDescription
- adds r4, r0, 0
- movs r0, 0x2
- movs r1, 0x11
- bl FillWindowPixelBuffer
- movs r0, 0
- str r0, [sp]
- str r0, [sp, 0x4]
- str r0, [sp, 0x8]
- str r0, [sp, 0xC]
- str r0, [sp, 0x10]
- movs r0, 0x2
- movs r1, 0x2
- adds r2, r4, 0
- movs r3, 0x2
- bl AddTextPrinterParameterized5
- add sp, 0x14
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080966EC: .4byte sPSSData
-_080966F0: .4byte 0x00000ce2
- thumb_func_end sub_8096694
-
- thumb_func_start sub_80966F4
-sub_80966F4: @ 80966F4
- push {lr}
- ldr r0, _0809671C @ =sPSSData
- ldr r0, [r0]
- ldr r1, _08096720 @ =0x00002226
- adds r0, r1
- movs r1, 0x19
- strh r1, [r0]
- ldr r1, _08096724 @ =gUnknown_83D35DC
- movs r3, 0xD2
- lsls r3, 1
- movs r0, 0
- movs r2, 0x80
- bl LoadBgTiles
- movs r0, 0
- bl sub_8096898
- pop {r0}
- bx r0
- .align 2, 0
-_0809671C: .4byte sPSSData
-_08096720: .4byte 0x00002226
-_08096724: .4byte gUnknown_83D35DC
- thumb_func_end sub_80966F4
-
- thumb_func_start sub_8096728
-sub_8096728: @ 8096728
- push {r4,r5,lr}
- sub sp, 0x10
- ldr r0, _08096740 @ =sPSSData
- ldr r0, [r0]
- ldr r2, _08096744 @ =0x00002226
- adds r1, r0, r2
- ldrh r0, [r1]
- cmp r0, 0
- bne _08096748
- movs r0, 0
- b _080967AE
- .align 2, 0
-_08096740: .4byte sPSSData
-_08096744: .4byte 0x00002226
-_08096748:
- subs r0, 0x1
- strh r0, [r1]
- ldrh r1, [r1]
- movs r0, 0x19
- subs r5, r0, r1
- movs r4, 0
- cmp r4, r5
- bge _08096798
-_08096758:
- movs r0, 0
- movs r1, 0xA
- bl GetBgAttribute
- adds r1, r0, 0
- ldr r0, _080967B8 @ =sPSSData
- ldr r0, [r0]
- ldr r2, _080967BC @ =0x00002226
- adds r0, r2
- adds r1, 0x14
- ldrh r0, [r0]
- adds r1, r0
- adds r1, r4
- lsls r1, 16
- lsrs r1, 16
- lsls r2, r4, 24
- lsrs r2, 24
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0x8
- str r0, [sp, 0x4]
- movs r0, 0xF
- str r0, [sp, 0x8]
- movs r0, 0x19
- str r0, [sp, 0xC]
- movs r0, 0
- movs r3, 0xC
- bl WriteSequenceToBgTilemapBuffer
- adds r4, 0x1
- cmp r4, r5
- blt _08096758
-_08096798:
- adds r0, r5, 0
- bl sub_8096898
- ldr r0, _080967B8 @ =sPSSData
- ldr r0, [r0]
- ldr r1, _080967BC @ =0x00002226
- adds r0, r1
- ldrh r1, [r0]
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
-_080967AE:
- add sp, 0x10
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080967B8: .4byte sPSSData
-_080967BC: .4byte 0x00002226
- thumb_func_end sub_8096728
-
- thumb_func_start sub_80967C0
-sub_80967C0: @ 80967C0
- push {r4,r5,lr}
- sub sp, 0x10
- ldr r5, _080967D8 @ =sPSSData
- ldr r0, [r5]
- ldr r4, _080967DC @ =0x00002226
- adds r0, r4
- ldrh r0, [r0]
- cmp r0, 0x19
- bne _080967E0
- movs r0, 0
- b _08096886
- .align 2, 0
-_080967D8: .4byte sPSSData
-_080967DC: .4byte 0x00002226
-_080967E0:
- cmp r0, 0
- bne _080967FC
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0xA
- str r0, [sp, 0x4]
- movs r0, 0x11
- str r0, [sp, 0x8]
- movs r0, 0
- movs r1, 0
- movs r2, 0x19
- movs r3, 0xB
- bl FillBgTilemapBufferRect
-_080967FC:
- ldr r1, [r5]
- adds r1, r4
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- ldrh r1, [r1]
- movs r0, 0x19
- subs r5, r0, r1
- movs r4, 0
- cmp r4, r5
- bge _08096852
-_08096812:
- movs r0, 0
- movs r1, 0xA
- bl GetBgAttribute
- adds r1, r0, 0
- ldr r0, _08096890 @ =sPSSData
- ldr r0, [r0]
- ldr r2, _08096894 @ =0x00002226
- adds r0, r2
- adds r1, 0x14
- ldrh r0, [r0]
- adds r1, r0
- adds r1, r4
- lsls r1, 16
- lsrs r1, 16
- lsls r2, r4, 24
- lsrs r2, 24
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0x8
- str r0, [sp, 0x4]
- movs r0, 0xF
- str r0, [sp, 0x8]
- movs r0, 0x19
- str r0, [sp, 0xC]
- movs r0, 0
- movs r3, 0xC
- bl WriteSequenceToBgTilemapBuffer
- adds r4, 0x1
- cmp r4, r5
- blt _08096812
-_08096852:
- adds r0, r5, 0
- bl sub_8096898
- lsls r2, r5, 24
- lsrs r2, 24
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0xA
- str r0, [sp, 0x4]
- movs r0, 0x11
- str r0, [sp, 0x8]
- movs r0, 0
- movs r1, 0
- movs r3, 0xB
- bl FillBgTilemapBufferRect
- ldr r0, _08096890 @ =sPSSData
- ldr r0, [r0]
- ldr r1, _08096894 @ =0x00002226
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x19
- eors r1, r0
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
-_08096886:
- add sp, 0x10
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08096890: .4byte sPSSData
-_08096894: .4byte 0x00002226
- thumb_func_end sub_80967C0
-
- thumb_func_start sub_8096898
-sub_8096898: @ 8096898
- push {r4-r7,lr}
- sub sp, 0xC
- adds r7, r0, 0
- cmp r7, 0
- beq _080968D0
- movs r1, 0xD2
- lsls r1, 1
- lsls r4, r7, 24
- lsrs r4, 24
- str r4, [sp]
- movs r6, 0x1
- str r6, [sp, 0x4]
- movs r5, 0xF
- str r5, [sp, 0x8]
- movs r0, 0
- movs r2, 0
- movs r3, 0xB
- bl FillBgTilemapBufferRect
- ldr r1, _08096920 @ =0x000009a4
- str r4, [sp]
- str r6, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0
- movs r2, 0
- movs r3, 0x14
- bl FillBgTilemapBufferRect
-_080968D0:
- ldr r1, _08096924 @ =0x000001a5
- lsls r5, r7, 24
- lsrs r5, 24
- movs r4, 0x1
- str r4, [sp]
- movs r0, 0x8
- str r0, [sp, 0x4]
- movs r6, 0xF
- str r6, [sp, 0x8]
- movs r0, 0
- adds r2, r5, 0
- movs r3, 0xC
- bl FillBgTilemapBufferRect
- movs r1, 0xD3
- lsls r1, 1
- str r4, [sp]
- str r4, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r0, 0
- adds r2, r5, 0
- movs r3, 0xB
- bl FillBgTilemapBufferRect
- ldr r1, _08096928 @ =0x000001a7
- str r4, [sp]
- str r4, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r0, 0
- adds r2, r5, 0
- movs r3, 0x14
- bl FillBgTilemapBufferRect
- movs r0, 0
- bl ScheduleBgCopyTilemapToVram
- add sp, 0xC
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08096920: .4byte 0x000009a4
-_08096924: .4byte 0x000001a5
-_08096928: .4byte 0x000001a7
- thumb_func_end sub_8096898
-
- thumb_func_start sub_809692C
-sub_809692C: @ 809692C
- push {r4,lr}
- adds r4, r0, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _0809694C
- ldrh r0, [r4, 0x2E]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- bl sub_8096624
- ldr r0, _08096954 @ =SpriteCallbackDummy
- str r0, [r4, 0x1C]
-_0809694C:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08096954: .4byte SpriteCallbackDummy
- thumb_func_end sub_809692C
-
- thumb_func_start sub_8096958
-sub_8096958: @ 8096958
- push {lr}
- adds r3, r0, 0
- movs r0, 0x2E
- ldrsh r1, [r3, r0]
- cmp r1, 0
- beq _0809696A
- cmp r1, 0x1
- beq _08096986
- b _080969B4
-_0809696A:
- ldrh r0, [r3, 0x20]
- lsls r0, 4
- strh r0, [r3, 0x30]
- ldrh r0, [r3, 0x22]
- lsls r0, 4
- strh r0, [r3, 0x32]
- movs r0, 0xA
- strh r0, [r3, 0x34]
- movs r0, 0x15
- strh r0, [r3, 0x36]
- strh r1, [r3, 0x38]
- ldrh r0, [r3, 0x2E]
- adds r0, 0x1
- strh r0, [r3, 0x2E]
-_08096986:
- ldrh r1, [r3, 0x30]
- ldrh r0, [r3, 0x34]
- subs r1, r0
- strh r1, [r3, 0x30]
- ldrh r0, [r3, 0x32]
- ldrh r2, [r3, 0x36]
- subs r0, r2
- strh r0, [r3, 0x32]
- lsls r1, 16
- asrs r1, 20
- strh r1, [r3, 0x20]
- lsls r0, 16
- asrs r0, 20
- strh r0, [r3, 0x22]
- ldrh r0, [r3, 0x38]
- adds r0, 0x1
- strh r0, [r3, 0x38]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xB
- ble _080969B4
- ldr r0, _080969B8 @ =sub_80969BC
- str r0, [r3, 0x1C]
-_080969B4:
- pop {r0}
- bx r0
- .align 2, 0
-_080969B8: .4byte sub_80969BC
- thumb_func_end sub_8096958
-
- thumb_func_start sub_80969BC
-sub_80969BC: @ 80969BC
- ldr r1, _080969F0 @ =sPSSData
- ldr r3, [r1]
- movs r1, 0xCB
- lsls r1, 4
- adds r3, r1
- ldr r1, [r3]
- ldrh r1, [r1, 0x20]
- adds r1, 0x4
- strh r1, [r0, 0x20]
- ldr r2, [r3]
- ldrh r1, [r2, 0x26]
- ldrh r2, [r2, 0x22]
- adds r1, r2
- adds r1, 0x8
- strh r1, [r0, 0x22]
- ldr r1, [r3]
- ldrb r1, [r1, 0x5]
- movs r2, 0xC
- ands r2, r1
- ldrb r3, [r0, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r3
- orrs r1, r2
- strb r1, [r0, 0x5]
- bx lr
- .align 2, 0
-_080969F0: .4byte sPSSData
- thumb_func_end sub_80969BC
-
- thumb_func_start sub_80969F4
-sub_80969F4: @ 80969F4
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- cmp r1, 0
- beq _08096A06
- cmp r1, 0x1
- beq _08096A22
- b _08096A6A
-_08096A06:
- ldrh r0, [r4, 0x20]
- lsls r0, 4
- strh r0, [r4, 0x30]
- ldrh r0, [r4, 0x22]
- lsls r0, 4
- strh r0, [r4, 0x32]
- movs r0, 0xA
- strh r0, [r4, 0x34]
- movs r0, 0x15
- strh r0, [r4, 0x36]
- strh r1, [r4, 0x38]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
-_08096A22:
- ldrh r0, [r4, 0x34]
- ldrh r1, [r4, 0x30]
- adds r0, r1
- strh r0, [r4, 0x30]
- ldrh r1, [r4, 0x36]
- ldrh r2, [r4, 0x32]
- adds r1, r2
- strh r1, [r4, 0x32]
- lsls r0, 16
- asrs r0, 20
- strh r0, [r4, 0x20]
- lsls r1, 16
- asrs r1, 20
- strh r1, [r4, 0x22]
- ldrh r0, [r4, 0x38]
- adds r0, 0x1
- strh r0, [r4, 0x38]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xB
- ble _08096A6A
- adds r0, r4, 0
- bl sub_80962A8
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x3A]
- lsls r1, 24
- lsrs r1, 24
- ldrh r2, [r4, 0x3C]
- lsls r2, 24
- lsrs r2, 24
- bl sub_80962F0
- ldr r0, _08096A70 @ =SpriteCallbackDummy
- str r0, [r4, 0x1C]
-_08096A6A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08096A70: .4byte SpriteCallbackDummy
- thumb_func_end sub_80969F4
-
- thumb_func_start sub_8096A74
-sub_8096A74: @ 8096A74
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- cmp r1, 0
- beq _08096A86
- cmp r1, 0x1
- beq _08096AA2
- b _08096B00
-_08096A86:
- ldrh r0, [r4, 0x20]
- lsls r0, 4
- strh r0, [r4, 0x30]
- ldrh r0, [r4, 0x22]
- lsls r0, 4
- strh r0, [r4, 0x32]
- movs r0, 0xA
- strh r0, [r4, 0x34]
- movs r0, 0x15
- strh r0, [r4, 0x36]
- strh r1, [r4, 0x38]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
-_08096AA2:
- ldrh r1, [r4, 0x30]
- ldrh r0, [r4, 0x34]
- subs r1, r0
- strh r1, [r4, 0x30]
- ldrh r0, [r4, 0x32]
- ldrh r2, [r4, 0x36]
- subs r0, r2
- strh r0, [r4, 0x32]
- lsls r1, 16
- asrs r1, 20
- strh r1, [r4, 0x20]
- lsls r0, 16
- asrs r0, 20
- strh r0, [r4, 0x22]
- ldr r1, _08096B08 @ =gSineTable
- movs r2, 0x38
- ldrsh r0, [r4, r2]
- lsls r0, 4
- adds r0, r1
- ldrh r0, [r0]
- lsls r0, 16
- asrs r0, 20
- strh r0, [r4, 0x24]
- ldrh r0, [r4, 0x38]
- adds r0, 0x1
- strh r0, [r4, 0x38]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xB
- ble _08096B00
- adds r0, r4, 0
- bl sub_80962A8
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x3A]
- lsls r1, 24
- lsrs r1, 24
- ldrh r2, [r4, 0x3C]
- lsls r2, 24
- lsrs r2, 24
- bl sub_80962F0
- movs r0, 0
- strh r0, [r4, 0x24]
- ldr r0, _08096B0C @ =sub_80969BC
- str r0, [r4, 0x1C]
-_08096B00:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08096B08: .4byte gSineTable
-_08096B0C: .4byte sub_80969BC
- thumb_func_end sub_8096A74
-
- thumb_func_start sub_8096B10
-sub_8096B10: @ 8096B10
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- cmp r1, 0
- beq _08096B22
- cmp r1, 0x1
- beq _08096B3E
- b _08096B9E
-_08096B22:
- ldrh r0, [r4, 0x20]
- lsls r0, 4
- strh r0, [r4, 0x30]
- ldrh r0, [r4, 0x22]
- lsls r0, 4
- strh r0, [r4, 0x32]
- movs r0, 0xA
- strh r0, [r4, 0x34]
- movs r0, 0x15
- strh r0, [r4, 0x36]
- strh r1, [r4, 0x38]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
-_08096B3E:
- ldrh r0, [r4, 0x34]
- ldrh r1, [r4, 0x30]
- adds r0, r1
- strh r0, [r4, 0x30]
- ldrh r1, [r4, 0x36]
- ldrh r2, [r4, 0x32]
- adds r1, r2
- strh r1, [r4, 0x32]
- lsls r0, 16
- asrs r0, 20
- strh r0, [r4, 0x20]
- lsls r1, 16
- asrs r1, 20
- strh r1, [r4, 0x22]
- ldr r1, _08096BA4 @ =gSineTable
- movs r2, 0x38
- ldrsh r0, [r4, r2]
- lsls r0, 4
- adds r0, r1
- ldrh r0, [r0]
- lsls r0, 16
- asrs r0, 20
- negs r0, r0
- strh r0, [r4, 0x24]
- ldrh r0, [r4, 0x38]
- adds r0, 0x1
- strh r0, [r4, 0x38]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xB
- ble _08096B9E
- adds r0, r4, 0
- bl sub_80962A8
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x3A]
- lsls r1, 24
- lsrs r1, 24
- ldrh r2, [r4, 0x3C]
- lsls r2, 24
- lsrs r2, 24
- bl sub_80962F0
- ldr r0, _08096BA8 @ =SpriteCallbackDummy
- str r0, [r4, 0x1C]
- movs r0, 0
- strh r0, [r4, 0x24]
-_08096B9E:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08096BA4: .4byte gSineTable
-_08096BA8: .4byte SpriteCallbackDummy
- thumb_func_end sub_8096B10
-
- thumb_func_start sub_8096BAC
-sub_8096BAC: @ 8096BAC
- push {lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x22]
- subs r0, 0x8
- strh r0, [r2, 0x22]
- movs r1, 0x22
- ldrsh r0, [r2, r1]
- movs r3, 0x26
- ldrsh r1, [r2, r3]
- adds r0, r1
- movs r1, 0x10
- negs r1, r1
- cmp r0, r1
- bge _08096BDC
- ldr r0, _08096BE0 @ =SpriteCallbackDummy
- str r0, [r2, 0x1C]
- adds r0, r2, 0
- bl sub_80962A8
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- bl sub_8096624
-_08096BDC:
- pop {r0}
- bx r0
- .align 2, 0
-_08096BE0: .4byte SpriteCallbackDummy
- thumb_func_end sub_8096BAC
-
- thumb_func_start sub_8096BE4
-sub_8096BE4: @ 8096BE4
- ldr r3, _08096BF4 @ =gUnknown_203982C
- str r0, [r3]
- str r1, [r0]
- movs r1, 0
- strb r2, [r0, 0x5]
- strb r1, [r0, 0x4]
- bx lr
- .align 2, 0
-_08096BF4: .4byte gUnknown_203982C
- thumb_func_end sub_8096BE4
-
- thumb_func_start sub_8096BF8
-sub_8096BF8: @ 8096BF8
- push {r4,r5,lr}
- ldr r2, _08096C3C @ =gUnknown_203982C
- ldr r1, [r2]
- ldrb r0, [r1, 0x4]
- cmp r0, 0
- beq _08096C36
- movs r4, 0
- ldrb r1, [r1, 0x4]
- cmp r4, r1
- bcs _08096C2E
- adds r5, r2, 0
-_08096C0E:
- ldr r0, [r5]
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 2
- ldr r0, [r0]
- adds r0, r1
- ldr r1, [r0, 0x10]
- bl _call_via_r1
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r0, [r5]
- ldrb r0, [r0, 0x4]
- cmp r4, r0
- bcc _08096C0E
-_08096C2E:
- ldr r0, _08096C3C @ =gUnknown_203982C
- ldr r1, [r0]
- movs r0, 0
- strb r0, [r1, 0x4]
-_08096C36:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08096C3C: .4byte gUnknown_203982C
- thumb_func_end sub_8096BF8
-
- thumb_func_start sub_8096C40
-sub_8096C40: @ 8096C40
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- mov r9, r0
- mov r10, r3
- ldr r0, [sp, 0x24]
- ldr r3, [sp, 0x28]
- ldr r4, [sp, 0x2C]
- ldr r5, [sp, 0x30]
- ldr r6, [sp, 0x34]
- lsls r1, 16
- lsrs r1, 16
- mov r12, r1
- lsls r2, 16
- lsrs r2, 16
- str r2, [sp]
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- lsls r3, 16
- lsrs r3, 16
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 16
- lsrs r5, 16
- lsls r6, 16
- lsrs r6, 16
- ldr r0, _08096CC0 @ =gUnknown_203982C
- ldr r2, [r0]
- ldrb r0, [r2, 0x4]
- adds r1, r0, 0
- ldrb r7, [r2, 0x5]
- cmp r1, r7
- bcs _08096CC8
- adds r0, 0x1
- strb r0, [r2, 0x4]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- ldr r1, [r2]
- adds r1, r0
- lsls r0, r4, 1
- strh r0, [r1, 0x8]
- ldr r2, [sp]
- lsls r0, r2, 5
- add r0, r12
- lsls r0, 1
- add r0, r9
- str r0, [r1, 0x4]
- adds r0, r3, 0
- muls r0, r6
- add r0, r8
- lsls r0, 1
- add r0, r10
- str r0, [r1]
- strh r5, [r1, 0xC]
- strh r6, [r1, 0xA]
- ldr r0, _08096CC4 @ =sub_8096CDC
- str r0, [r1, 0x10]
- movs r0, 0x1
- b _08096CCA
- .align 2, 0
-_08096CC0: .4byte gUnknown_203982C
-_08096CC4: .4byte sub_8096CDC
-_08096CC8:
- movs r0, 0
-_08096CCA:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8096C40
-
- thumb_func_start sub_8096CDC
-sub_8096CDC: @ 8096CDC
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r5, 0
- b _08096D06
-_08096CE4:
- ldr r0, [r4]
- ldr r1, [r4, 0x4]
- ldrh r2, [r4, 0x8]
- lsrs r2, 1
- bl CpuSet
- ldr r0, [r4, 0x4]
- adds r0, 0x40
- str r0, [r4, 0x4]
- ldrh r1, [r4, 0xA]
- lsls r1, 1
- ldr r0, [r4]
- adds r0, r1
- str r0, [r4]
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
-_08096D06:
- ldrh r0, [r4, 0xC]
- cmp r5, r0
- bcc _08096CE4
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8096CDC
-
- thumb_func_start sub_8096D14
-sub_8096D14: @ 8096D14
- push {r4-r7,lr}
- mov r12, r0
- ldr r0, [sp, 0x14]
- lsls r1, 16
- lsrs r6, r1, 16
- lsls r2, 16
- lsrs r4, r2, 16
- lsls r3, 16
- lsrs r3, 16
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r0, _08096D60 @ =gUnknown_203982C
- ldr r2, [r0]
- ldrb r0, [r2, 0x4]
- adds r1, r0, 0
- ldrb r7, [r2, 0x5]
- cmp r1, r7
- bcs _08096D68
- adds r0, 0x1
- strb r0, [r2, 0x4]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- ldr r1, [r2]
- adds r1, r0
- lsls r0, r3, 1
- strh r0, [r1, 0x8]
- lsls r0, r4, 5
- adds r0, r6
- lsls r0, 1
- add r0, r12
- str r0, [r1, 0x4]
- strh r5, [r1, 0xC]
- ldr r0, _08096D64 @ =sub_8096D70
- str r0, [r1, 0x10]
- movs r0, 0x1
- b _08096D6A
- .align 2, 0
-_08096D60: .4byte gUnknown_203982C
-_08096D64: .4byte sub_8096D70
-_08096D68:
- movs r0, 0
-_08096D6A:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8096D14
-
- thumb_func_start sub_8096D70
-sub_8096D70: @ 8096D70
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- adds r6, r0, 0
- movs r0, 0
- ldrh r1, [r6, 0xC]
- cmp r0, r1
- bcs _08096DFE
- movs r7, 0x80
- lsls r7, 5
- mov r5, sp
- ldr r2, _08096DBC @ =0x040000d4
- mov r8, r2
- movs r1, 0x81
- lsls r1, 24
- mov r10, r1
-_08096D96:
- ldr r2, [r6, 0x4]
- ldrh r3, [r6, 0x8]
- mov r12, r2
- adds r0, 0x1
- mov r9, r0
- cmp r3, r7
- bhi _08096DC0
- movs r0, 0
- strh r0, [r5]
- mov r2, sp
- mov r0, r8
- str r2, [r0]
- mov r1, r12
- str r1, [r0, 0x4]
- lsrs r0, r3, 1
- mov r2, r10
- orrs r0, r2
- mov r1, r8
- b _08096DE8
- .align 2, 0
-_08096DBC: .4byte 0x040000d4
-_08096DC0:
- movs r4, 0
- strh r4, [r5]
- ldr r1, _08096E10 @ =0x040000d4
- mov r0, sp
- str r0, [r1]
- str r2, [r1, 0x4]
- ldr r0, _08096E14 @ =0x81000800
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r2, r7
- subs r3, r7
- cmp r3, r7
- bhi _08096DC0
- strh r4, [r5]
- mov r0, sp
- str r0, [r1]
- str r2, [r1, 0x4]
- lsrs r0, r3, 1
- mov r2, r10
- orrs r0, r2
-_08096DE8:
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- mov r0, r12
- adds r0, 0x40
- str r0, [r6, 0x4]
- mov r1, r9
- lsls r0, r1, 16
- lsrs r0, 16
- ldrh r2, [r6, 0xC]
- cmp r0, r2
- bcc _08096D96
-_08096DFE:
- 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
-_08096E10: .4byte 0x040000d4
-_08096E14: .4byte 0x81000800
- thumb_func_end sub_8096D70
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/pokemon_summary_screen.s b/asm/pokemon_summary_screen.s
index b0c2b9a87..bcb9fa04b 100644
--- a/asm/pokemon_summary_screen.s
+++ b/asm/pokemon_summary_screen.s
@@ -13235,7 +13235,7 @@ _0813B16C:
ldrb r2, [r0]
adds r3, r5, 0
adds r0, r4, 0
- bl sub_808BDE8
+ bl SeekToNextMonInBox
b _0813B1CC
.align 2, 0
_0813B190: .4byte 0x000032f4