summaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
Diffstat (limited to 'asm')
-rw-r--r--asm/pokemon_storage_system.s9291
1 files changed, 166 insertions, 9125 deletions
diff --git a/asm/pokemon_storage_system.s b/asm/pokemon_storage_system.s
index 2ac873fcd..81e0729a1 100644
--- a/asm/pokemon_storage_system.s
+++ b/asm/pokemon_storage_system.s
@@ -5,8969 +5,6 @@
.text
- thumb_func_start sub_8095ADC
-sub_8095ADC: @ 8095ADC
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- movs r4, 0
- movs r5, 0
- lsls r1, r0, 2
- adds r1, r0
- lsls r0, r1, 4
- subs r0, r1
- lsls r6, r0, 5
-_08095AF0:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 4
- ldr r1, _08095B20 @ =gPokemonStorage + 0x4
- adds r0, r1
- adds r0, r6, r0
- movs r1, 0xB
- bl GetBoxMonData
- cmp r0, 0
- beq _08095B0C
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
-_08095B0C:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x1D
- bls _08095AF0
- lsls r0, r5, 24
- lsrs r0, 24
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08095B20: .4byte gPokemonStorage + 0x4
- thumb_func_end sub_8095ADC
-
- thumb_func_start sub_8095B24
-sub_8095B24: @ 8095B24
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- movs r4, 0
- lsls r1, r0, 2
- adds r1, r0
- lsls r0, r1, 4
- subs r0, r1
- lsls r5, r0, 5
-_08095B36:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 4
- ldr r1, _08095B54 @ =gPokemonStorage + 0x4
- adds r0, r1
- adds r0, r5, r0
- movs r1, 0xB
- bl GetBoxMonData
- cmp r0, 0
- bne _08095B58
- lsls r0, r4, 16
- asrs r0, 16
- b _08095B66
- .align 2, 0
-_08095B54: .4byte gPokemonStorage + 0x4
-_08095B58:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x1D
- bls _08095B36
- movs r0, 0x1
- negs r0, r0
-_08095B66:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8095B24
-
- thumb_func_start GetNumValidDaycarePartyMons
-GetNumValidDaycarePartyMons: @ 8095B6C
- push {r4-r6,lr}
- movs r5, 0
- movs r6, 0
-_08095B72:
- movs r0, 0x64
- adds r1, r5, 0
- muls r1, r0
- ldr r0, _08095BB0 @ =gPlayerParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _08095B9A
- adds r0, r4, 0
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0
- bne _08095B9A
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
-_08095B9A:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x5
- bls _08095B72
- lsls r0, r6, 24
- lsrs r0, 24
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08095BB0: .4byte gPlayerParty
- thumb_func_end GetNumValidDaycarePartyMons
-
- thumb_func_start CountAlivePartyMonsExceptOne
-CountAlivePartyMonsExceptOne: @ 8095BB4
- push {r4-r7,lr}
- lsls r0, 24
- movs r5, 0
- movs r6, 0
- lsrs r7, r0, 24
-_08095BBE:
- cmp r5, r7
- beq _08095BF6
- movs r0, 0x64
- adds r1, r5, 0
- muls r1, r0
- ldr r0, _08095C0C @ =gPlayerParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _08095BF6
- adds r0, r4, 0
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0
- bne _08095BF6
- adds r0, r4, 0
- movs r1, 0x39
- bl GetMonData
- cmp r0, 0
- beq _08095BF6
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
-_08095BF6:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x5
- bls _08095BBE
- lsls r0, r6, 24
- lsrs r0, 24
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08095C0C: .4byte gPlayerParty
- thumb_func_end CountAlivePartyMonsExceptOne
-
- thumb_func_start CountAlivePartyMonsExceptSelectedOne
-CountAlivePartyMonsExceptSelectedOne: @ 8095C10
- push {lr}
- ldr r0, _08095C24 @ =gSpecialVar_0x8004
- ldrb r0, [r0]
- bl CountAlivePartyMonsExceptOne
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .align 2, 0
-_08095C24: .4byte gSpecialVar_0x8004
- thumb_func_end CountAlivePartyMonsExceptSelectedOne
-
- thumb_func_start StorageSystemGetPartySize
-StorageSystemGetPartySize: @ 8095C28
- push {r4,r5,lr}
- movs r4, 0
- movs r5, 0
-_08095C2E:
- movs r0, 0x64
- muls r0, r4
- ldr r1, _08095C5C @ =gPlayerParty
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _08095C46
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
-_08095C46:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x5
- bls _08095C2E
- lsls r0, r5, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08095C5C: .4byte gPlayerParty
- thumb_func_end StorageSystemGetPartySize
-
- thumb_func_start unref_sub_8095C60
-unref_sub_8095C60: @ 8095C60
- 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 _08095C7E
- movs r0, 0
-_08095C76:
- strb r0, [r1]
- adds r1, 0x1
- cmp r1, r5
- bcc _08095C76
-_08095C7E:
- movs r0, 0xFF
- strb r0, [r1]
- adds r0, r1, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end unref_sub_8095C60
-
- thumb_func_start sub_8095C8C
-sub_8095C8C: @ 8095C8C
- 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 _08095CFC
- mov r0, r9
- lsrs r0, 1
- mov r9, r0
- lsls r5, r3, 1
-_08095CE2:
- 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 _08095CE2
-_08095CFC:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8095C8C
-
- thumb_func_start unref_sub_8095D08
-unref_sub_8095D08: @ 8095D08
- 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 _08095DB2
- movs r6, 0x80
- lsls r6, 5
- mov r5, sp
- ldr r7, _08095D74 @ =0x040000d4
- lsrs r3, 17
- mov r9, r3
- mov r1, r9
- movs r2, 0x81
- lsls r2, 24
- orrs r1, r2
- mov r9, r1
-_08095D4E:
- 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 _08095D78
- 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 _08095DA6
- .align 2, 0
-_08095D74: .4byte 0x040000d4
-_08095D78:
- movs r4, 0
- strh r4, [r5]
- ldr r1, _08095DC4 @ =0x040000d4
- mov r0, sp
- str r0, [r1]
- str r3, [r1, 0x4]
- ldr r0, _08095DC8 @ =0x81000800
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r3, r6
- subs r2, r6
- cmp r2, r6
- bhi _08095D78
- 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]
-_08095DA6:
- mov r4, r8
- mov r1, r12
- lsls r0, r1, 16
- lsrs r0, 16
- cmp r0, r10
- bcc _08095D4E
-_08095DB2:
- 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
-_08095DC4: .4byte 0x040000d4
-_08095DC8: .4byte 0x81000800
- thumb_func_end unref_sub_8095D08
-
- thumb_func_start StorageSystemGetNextMonIndex
-StorageSystemGetNextMonIndex: @ 8095DCC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- mov r8, r0
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r7, r2, 24
- lsls r3, 24
- lsrs r0, r3, 24
- cmp r0, 0
- beq _08095DE8
- cmp r0, 0x2
- bne _08095DEC
-_08095DE8:
- movs r2, 0x1
- b _08095DEE
-_08095DEC:
- ldr r2, _08095E38 @ =0x0000ffff
-_08095DEE:
- subs r0, 0x2
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _08095E44
- lsls r0, r1, 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 _08095E90
- cmp r1, r7
- bgt _08095E90
-_08095E10:
- 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 _08095E3C
- asrs r0, r6, 16
- adds r0, r4, r0
- lsls r0, 16
- asrs r2, r0, 16
- cmp r2, 0
- blt _08095E90
- cmp r2, r7
- ble _08095E10
- b _08095E90
- .align 2, 0
-_08095E38: .4byte 0x0000ffff
-_08095E3C:
- adds r0, r4, 0
- b _08095E94
-_08095E40:
- adds r0, r5, 0
- b _08095E94
-_08095E44:
- lsls r0, r1, 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 _08095E90
- cmp r1, r7
- bgt _08095E90
-_08095E5C:
- 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 _08095E80
- adds r0, r4, 0
- movs r1, 0x2D
- bl GetBoxMonData
- cmp r0, 0
- beq _08095E40
-_08095E80:
- asrs r0, r6, 16
- adds r0, r5, r0
- lsls r0, 16
- asrs r2, r0, 16
- cmp r2, 0
- blt _08095E90
- cmp r2, r7
- ble _08095E5C
-_08095E90:
- movs r0, 0x1
- negs r0, r0
-_08095E94:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end StorageSystemGetNextMonIndex
-
- thumb_func_start StorageSystemClearMessageWindow
-StorageSystemClearMessageWindow: @ 8095EA0
- push {lr}
- movs r0, 0x2
- movs r1, 0xF
- movs r2, 0x1B
- movs r3, 0x12
- bl Menu_BlankWindowRect
- pop {r0}
- bx r0
- thumb_func_end StorageSystemClearMessageWindow
-
- thumb_func_start Task_PokemonStorageSystem
-Task_PokemonStorageSystem: @ 8095EB4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, _08095ED8 @ =gTasks
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x4
- bls _08095ECE
- b _080960F4
-_08095ECE:
- lsls r0, 2
- ldr r1, _08095EDC @ =_08095EE0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08095ED8: .4byte gTasks
-_08095EDC: .4byte _08095EE0
- .align 2, 0
-_08095EE0:
- .4byte _08095EF4
- .4byte _08095F1C
- .4byte _08095F30
- .4byte _08096042
- .4byte _080960DC
-_08095EF4:
- ldrb r0, [r4, 0xA]
- bl StorageSystemCreatePrimaryMenu
- bl Menu_DisplayDialogueFrame
- ldr r1, _08095F18 @ =gUnknown_083B600C
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- lsls r0, 3
- adds r1, 0x4
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x2
- movs r2, 0xF
- bl Menu_PrintText
- b _08095F28
- .align 2, 0
-_08095F18: .4byte gUnknown_083B600C
-_08095F1C:
- bl sub_807D770
- lsls r0, 24
- cmp r0, 0
- bne _08095F28
- b _080960F4
-_08095F28:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080960F4
-_08095F30:
- bl Menu_ProcessInput
- lsls r0, 24
- asrs r0, 24
- strh r0, [r4, 0xC]
- movs r3, 0xC
- ldrsh r1, [r4, r3]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _08095FC8
- cmp r1, r0
- bgt _08095F52
- subs r0, 0x1
- cmp r1, r0
- beq _08095F58
- b _08095FE8
-_08095F52:
- cmp r1, 0x3
- beq _08095FC8
- b _08095FE8
-_08095F58:
- ldrh r3, [r4, 0xA]
- strh r3, [r4, 0xE]
- ldr r2, _08095FC0 @ =gMain
- ldrh r1, [r2, 0x2E]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08095F76
- subs r0, r3, 0x1
- strh r0, [r4, 0xE]
- lsls r0, 16
- cmp r0, 0
- bge _08095F76
- movs r0, 0x3
- strh r0, [r4, 0xE]
-_08095F76:
- ldrh r1, [r2, 0x2E]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08095F92
- ldrh r0, [r4, 0xE]
- adds r0, 0x1
- strh r0, [r4, 0xE]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3
- ble _08095F92
- movs r0, 0
- strh r0, [r4, 0xE]
-_08095F92:
- lsls r0, r3, 16
- asrs r0, 16
- ldrh r2, [r4, 0xE]
- movs r3, 0xE
- ldrsh r1, [r4, r3]
- cmp r0, r1
- bne _08095FA2
- b _080960F4
-_08095FA2:
- strh r2, [r4, 0xA]
- bl StorageSystemClearMessageWindow
- ldr r0, _08095FC4 @ =gUnknown_083B600C
- movs r2, 0xA
- ldrsh r1, [r4, r2]
- lsls r1, 3
- adds r0, 0x4
- adds r1, r0
- ldr r0, [r1]
- movs r1, 0x2
- movs r2, 0xF
- bl Menu_PrintText
- b _080960F4
- .align 2, 0
-_08095FC0: .4byte gMain
-_08095FC4: .4byte gUnknown_083B600C
-_08095FC8:
- bl Menu_DestroyCursor
- movs r0, 0
- movs r1, 0
- movs r2, 0xD
- movs r3, 0x9
- bl Menu_EraseWindowRect
- bl ScriptContext2_Disable
- bl EnableBothScriptContexts
- adds r0, r5, 0
- bl DestroyTask
- b _080960F4
-_08095FE8:
- movs r3, 0xC
- ldrsh r0, [r4, r3]
- cmp r0, 0
- bne _08096008
- bl StorageSystemGetPartySize
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x6
- bne _08096008
- bl StorageSystemClearMessageWindow
- ldr r0, _08096004 @ =gPCText_PartyFull2
- b _08096022
- .align 2, 0
-_08096004: .4byte gPCText_PartyFull2
-_08096008:
- movs r1, 0xC
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- bne _08096034
- bl StorageSystemGetPartySize
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08096034
- bl StorageSystemClearMessageWindow
- ldr r0, _08096030 @ =gPCText_OnlyOne
-_08096022:
- movs r1, 0x2
- movs r2, 0xF
- bl Menu_PrintText
- movs r0, 0x3
- strh r0, [r4, 0x8]
- b _080960F4
- .align 2, 0
-_08096030: .4byte gPCText_OnlyOne
-_08096034:
- movs r0, 0x1
- movs r1, 0
- bl fade_screen
- movs r0, 0x4
- strh r0, [r4, 0x8]
- b _080960F4
-_08096042:
- ldr r0, _08096088 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r3, 0x3
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- bne _080960B8
- movs r0, 0x40
- ands r0, r1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0
- beq _08096090
- ldrh r0, [r4, 0xA]
- subs r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- cmp r0, 0
- bge _0809606A
- strh r3, [r4, 0xA]
-_0809606A:
- movs r0, 0x1
- negs r0, r0
- bl Menu_MoveCursor
- bl Menu_GetCursorPos
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0xA]
- bl StorageSystemClearMessageWindow
- ldr r1, _0809608C @ =gUnknown_083B600C
- movs r3, 0xA
- ldrsh r0, [r4, r3]
- b _080960C2
- .align 2, 0
-_08096088: .4byte gMain
-_0809608C: .4byte gUnknown_083B600C
-_08096090:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080960F4
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3
- ble _080960A8
- strh r2, [r4, 0xA]
-_080960A8:
- movs r0, 0x1
- bl Menu_MoveCursor
- bl Menu_GetCursorPos
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0xA]
-_080960B8:
- bl StorageSystemClearMessageWindow
- ldr r1, _080960D8 @ =gUnknown_083B600C
- movs r2, 0xA
- ldrsh r0, [r4, r2]
-_080960C2:
- lsls r0, 3
- adds r1, 0x4
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x2
- movs r2, 0xF
- bl Menu_PrintText
- movs r0, 0x2
- strh r0, [r4, 0x8]
- b _080960F4
- .align 2, 0
-_080960D8: .4byte gUnknown_083B600C
-_080960DC:
- ldr r0, _080960FC @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080960F4
- ldrb r0, [r4, 0xC]
- bl task_intro_29
- adds r0, r5, 0
- bl DestroyTask
-_080960F4:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080960FC: .4byte gPaletteFade
- thumb_func_end Task_PokemonStorageSystem
-
- thumb_func_start ShowPokemonStorageSystem
-ShowPokemonStorageSystem: @ 8096100
- push {lr}
- ldr r0, _08096128 @ =Task_PokemonStorageSystem
- movs r1, 0x50
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0809612C @ =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
-_08096128: .4byte Task_PokemonStorageSystem
-_0809612C: .4byte gTasks
- thumb_func_end ShowPokemonStorageSystem
-
- thumb_func_start sub_8096130
-sub_8096130: @ 8096130
- push {lr}
- ldr r0, _0809615C @ =Task_PokemonStorageSystem
- movs r1, 0x50
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _08096160 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r0, 0
- strh r0, [r1, 0x8]
- ldr r0, _08096164 @ =gUnknown_02038474
- ldrb r0, [r0]
- strh r0, [r1, 0xA]
- bl pal_fill_black
- pop {r0}
- bx r0
- .align 2, 0
-_0809615C: .4byte Task_PokemonStorageSystem
-_08096160: .4byte gTasks
-_08096164: .4byte gUnknown_02038474
- thumb_func_end sub_8096130
-
- thumb_func_start StorageSystemCreatePrimaryMenu
-StorageSystemCreatePrimaryMenu: @ 8096168
- push {r4,lr}
- sub sp, 0x8
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- movs r1, 0
- movs r2, 0xD
- movs r3, 0x9
- bl Menu_DrawStdWindowFrame
- ldr r3, _080961A4 @ =gUnknown_083B600C
- movs r0, 0x1
- movs r1, 0x1
- movs r2, 0x4
- bl Menu_PrintItems
- str r4, [sp]
- movs r0, 0xC
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- movs r3, 0x4
- bl InitMenu
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080961A4: .4byte gUnknown_083B600C
- thumb_func_end StorageSystemCreatePrimaryMenu
-
- thumb_func_start sub_80961A8
-sub_80961A8: @ 80961A8
- push {lr}
- ldr r1, _080961C4 @ =gUnknown_02038474
- ldr r0, _080961C8 @ =gUnknown_083B6DB4
- ldr r0, [r0]
- ldrb r0, [r0, 0x5]
- strb r0, [r1]
- ldr r1, _080961CC @ =gFieldCallback
- ldr r0, _080961D0 @ =sub_8096130
- str r0, [r1]
- ldr r0, _080961D4 @ =c2_exit_to_overworld_2_switch
- bl SetMainCallback2
- pop {r0}
- bx r0
- .align 2, 0
-_080961C4: .4byte gUnknown_02038474
-_080961C8: .4byte gUnknown_083B6DB4
-_080961CC: .4byte gFieldCallback
-_080961D0: .4byte sub_8096130
-_080961D4: .4byte c2_exit_to_overworld_2_switch
- thumb_func_end sub_80961A8
-
- thumb_func_start ResetPokemonStorageSystem
-ResetPokemonStorageSystem: @ 80961D8
- push {r4-r7,lr}
- ldr r1, _08096258 @ =gPokemonStorage
- movs r0, 0
- strb r0, [r1]
- movs r5, 0
- adds r7, r1, 0x4
-_080961E4:
- movs r4, 0
- lsls r1, r5, 2
- adds r1, r5
- lsls r0, r1, 4
- subs r0, r1
- lsls r6, r0, 5
-_080961F0:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 4
- adds r0, r7
- adds r0, r6, r0
- bl ZeroBoxMonData
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x1D
- bls _080961F0
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0xD
- bls _080961E4
- movs r5, 0
-_08096214:
- lsls r0, r5, 3
- adds r0, r5
- ldr r6, _0809625C @ =gPokemonStorage + 0x8344
- adds r0, r6
- ldr r1, _08096260 @ =gPCText_BOX
- 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 _08096214
- movs r5, 0
- adds r3, r6, 0
- adds r3, 0x7E
- movs r2, 0x3
-_0809623E:
- adds r0, r5, r3
- adds r1, r5, 0
- ands r1, r2
- strb r1, [r0]
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0xD
- bls _0809623E
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08096258: .4byte gPokemonStorage
-_0809625C: .4byte gPokemonStorage + 0x8344
-_08096260: .4byte gPCText_BOX
- thumb_func_end ResetPokemonStorageSystem
-
- thumb_func_start sub_8096264
-sub_8096264: @ 8096264
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0x20
- mov r8, r0
- adds r4, r1, 0
- adds r6, r2, 0
- mov r9, r3
- lsls r4, 16
- lsrs r4, 16
- lsls r6, 16
- lsrs r6, 16
- mov r0, r9
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- ldr r0, _080962F4 @ =gBoxSelectionPopupPalette
- str r0, [sp, 0x18]
- ldr r1, _080962F8 @ =0xffff0000
- add r5, sp, 0x18
- ldr r0, [r5, 0x4]
- ands r0, r1
- orrs r0, r6
- str r0, [r5, 0x4]
- mov r1, sp
- ldr r0, _080962FC @ =gBoxSelectionPopupCenterTiles
- str r0, [sp]
- movs r0, 0x80
- lsls r0, 4
- strh r0, [r1, 0x4]
- strh r4, [r1, 0x6]
- ldr r0, _08096300 @ =gBoxSelectionPopupSidesTiles
- str r0, [sp, 0x8]
- movs r0, 0xC0
- lsls r0, 1
- strh r0, [r1, 0xC]
- adds r0, r4, 0x1
- strh r0, [r1, 0xE]
- add r0, sp, 0x10
- movs r1, 0
- movs r2, 0x8
- bl memset
- adds r0, r5, 0
- bl LoadSpritePalette
- mov r0, sp
- bl LoadSpriteSheets
- ldr r0, _08096304 @ =gUnknown_02038478
- mov r1, r8
- str r1, [r0]
- movs r0, 0x90
- lsls r0, 2
- add r0, r8
- strh r4, [r0]
- ldr r0, _08096308 @ =0x00000242
- add r0, r8
- strh r6, [r0]
- ldr r0, _0809630C @ =0x0000023e
- add r8, r0
- mov r0, r9
- mov r1, r8
- strb r0, [r1]
- add sp, 0x20
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080962F4: .4byte gBoxSelectionPopupPalette
-_080962F8: .4byte 0xffff0000
-_080962FC: .4byte gBoxSelectionPopupCenterTiles
-_08096300: .4byte gBoxSelectionPopupSidesTiles
-_08096304: .4byte gUnknown_02038478
-_08096308: .4byte 0x00000242
-_0809630C: .4byte 0x0000023e
- thumb_func_end sub_8096264
-
- thumb_func_start sub_8096310
-sub_8096310: @ 8096310
- push {r4,r5,lr}
- ldr r4, _08096344 @ =gUnknown_02038478
- ldr r0, [r4]
- ldr r1, _08096348 @ =0x00000242
- adds r0, r1
- ldrh r0, [r0]
- bl FreeSpritePaletteByTag
- ldr r0, [r4]
- movs r5, 0x90
- lsls r5, 2
- adds r0, r5
- ldrh r0, [r0]
- bl FreeSpriteTilesByTag
- ldr r0, [r4]
- adds r0, r5
- ldrh r0, [r0]
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- bl FreeSpriteTilesByTag
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08096344: .4byte gUnknown_02038478
-_08096348: .4byte 0x00000242
- thumb_func_end sub_8096310
-
- thumb_func_start sub_809634C
-sub_809634C: @ 809634C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl sub_80963D0
- pop {r0}
- bx r0
- thumb_func_end sub_809634C
-
- thumb_func_start sub_809635C
-sub_809635C: @ 809635C
- push {lr}
- bl sub_809658C
- pop {r0}
- bx r0
- thumb_func_end sub_809635C
-
- thumb_func_start sub_8096368
-sub_8096368: @ 8096368
- push {lr}
- ldr r0, _08096380 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08096384
- movs r0, 0x5
- bl PlaySE
- movs r0, 0xC9
- b _080963CC
- .align 2, 0
-_08096380: .4byte gMain
-_08096384:
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080963A4
- movs r0, 0x5
- bl PlaySE
- ldr r0, _080963A0 @ =gUnknown_02038478
- ldr r0, [r0]
- movs r1, 0x8F
- lsls r1, 2
- adds r0, r1
- ldrb r0, [r0]
- b _080963CC
- .align 2, 0
-_080963A0: .4byte gUnknown_02038478
-_080963A4:
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080963B8
- movs r0, 0x5
- bl PlaySE
- bl sub_809662C
- b _080963CA
-_080963B8:
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080963CA
- movs r0, 0x5
- bl PlaySE
- bl sub_80965F8
-_080963CA:
- movs r0, 0xC8
-_080963CC:
- pop {r1}
- bx r1
- thumb_func_end sub_8096368
-
- thumb_func_start sub_80963D0
-sub_80963D0: @ 80963D0
- push {r4-r6,lr}
- 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, _08096564 @ =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 r1, sp, 0x1C
- movs r2, 0
- strh r2, [r1]
- mov r0, sp
- adds r0, 0x1E
- strh r2, [r0]
- str r4, [sp, 0x20]
- ldr r0, _08096568 @ =gDummySpriteAnimTable
- str r0, [sp, 0x24]
- str r2, [sp, 0x28]
- ldr r0, _0809656C @ =gDummySpriteAffineAnimTable
- str r0, [sp, 0x2C]
- ldr r0, _08096570 @ =SpriteCallbackDummy
- str r0, [sp, 0x30]
- add r0, sp, 0x4
- movs r2, 0x18
- bl memcpy
- ldr r6, _08096574 @ =gUnknown_02038478
- ldr r0, [r6]
- movs r1, 0x8F
- 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, _08096578 @ =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, _0809657C @ =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, _08096580 @ =gSpriteAnimTable_83B604C
- str r0, [sp, 0xC]
- movs r4, 0
-_08096488:
- ldr r0, [r6]
- ldr r1, _08096584 @ =0x0000023e
- 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, _0809657C @ =gSprites
- adds r1, r0, r1
- str r1, [r2]
- movs r5, 0
- movs r0, 0x2
- ands r0, r4
- cmp r0, 0
- beq _080964C2
- movs r0, 0xC4
- strh r0, [r1, 0x20]
- movs r5, 0x2
-_080964C2:
- movs r0, 0x1
- ands r0, r4
- cmp r0, 0
- beq _080964E6
- 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
-_080964E6:
- 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 _08096488
- movs r4, 0
- ldr r5, _08096574 @ =gUnknown_02038478
-_08096504:
- 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, _08096584 @ =0x0000023e
- adds r1, r3
- ldrb r1, [r1]
- str r1, [sp]
- movs r1, 0x58
- movs r3, 0
- bl sub_809A9A0
- adds r2, r0, 0
- ldr r0, [r5]
- lsls r1, r4, 2
- adds r0, 0x20
- adds r0, r1
- str r2, [r0]
- cmp r2, 0
- beq _0809654C
- movs r1, 0x1
- cmp r4, 0
- bne _08096544
- movs r3, 0x1
- negs r3, r3
- adds r1, r3, 0
-_08096544:
- strh r1, [r2, 0x2E]
- ldr r1, [r0]
- ldr r0, _08096588 @ =sub_8096784
- str r0, [r1, 0x1C]
-_0809654C:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x1
- bls _08096504
- bl sub_809665C
- add sp, 0x3C
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08096564: .4byte 0xffff0fff
-_08096568: .4byte gDummySpriteAnimTable
-_0809656C: .4byte gDummySpriteAffineAnimTable
-_08096570: .4byte SpriteCallbackDummy
-_08096574: .4byte gUnknown_02038478
-_08096578: .4byte 0x00000242
-_0809657C: .4byte gSprites
-_08096580: .4byte gSpriteAnimTable_83B604C
-_08096584: .4byte 0x0000023e
-_08096588: .4byte sub_8096784
- thumb_func_end sub_80963D0
-
- thumb_func_start sub_809658C
-sub_809658C: @ 809658C
- push {r4-r6,lr}
- ldr r4, _080965F4 @ =gUnknown_02038478
- ldr r0, [r4]
- ldr r0, [r0]
- cmp r0, 0
- beq _080965A2
- bl DestroySprite
- ldr r1, [r4]
- movs r0, 0
- str r0, [r1]
-_080965A2:
- movs r5, 0
- adds r6, r4, 0
-_080965A6:
- ldr r0, [r6]
- lsls r4, r5, 2
- adds r0, 0x4
- adds r0, r4
- ldr r0, [r0]
- cmp r0, 0
- beq _080965C2
- bl DestroySprite
- ldr r0, [r6]
- adds r0, 0x4
- adds r0, r4
- movs r1, 0
- str r1, [r0]
-_080965C2:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x3
- bls _080965A6
- movs r5, 0
-_080965CE:
- ldr r0, _080965F4 @ =gUnknown_02038478
- ldr r0, [r0]
- lsls r1, r5, 2
- adds r0, 0x20
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0
- beq _080965E2
- bl DestroySprite
-_080965E2:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x1
- bls _080965CE
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080965F4: .4byte gUnknown_02038478
- thumb_func_end sub_809658C
-
- thumb_func_start sub_80965F8
-sub_80965F8: @ 80965F8
- push {lr}
- ldr r2, _08096628 @ =gUnknown_02038478
- ldr r1, [r2]
- movs r0, 0x8F
- 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 _0809661E
- ldr r0, [r2]
- movs r1, 0x8F
- lsls r1, 2
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
-_0809661E:
- bl sub_809665C
- pop {r0}
- bx r0
- .align 2, 0
-_08096628: .4byte gUnknown_02038478
- thumb_func_end sub_80965F8
-
- thumb_func_start sub_809662C
-sub_809662C: @ 809662C
- push {lr}
- ldr r0, _08096644 @ =gUnknown_02038478
- ldr r2, [r0]
- movs r1, 0x8F
- lsls r1, 2
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _08096648
- subs r1, r0, 0x1
- b _0809664A
- .align 2, 0
-_08096644: .4byte gUnknown_02038478
-_08096648:
- movs r1, 0xD
-_0809664A:
- movs r3, 0x8F
- lsls r3, 2
- adds r0, r2, r3
- strb r1, [r0]
- bl sub_809665C
- pop {r0}
- bx r0
- thumb_func_end sub_809662C
-
- thumb_func_start sub_809665C
-sub_809665C: @ 809665C
- push {r4-r7,lr}
- ldr r5, _080966B4 @ =gUnknown_02038478
- ldr r0, [r5]
- movs r4, 0x8F
- lsls r4, 2
- adds r0, r4
- ldrb r0, [r0]
- bl sub_8095ADC
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r2, _080966B8 @ =gStringVar1
- movs r6, 0xFC
- strb r6, [r2]
- movs r0, 0x4
- strb r0, [r2, 0x1]
- movs r0, 0xF
- strb r0, [r2, 0x2]
- movs r0, 0x1
- strb r0, [r2, 0x3]
- movs r0, 0xE
- strb r0, [r2, 0x4]
- adds r2, 0x5
- ldr r0, [r5]
- adds r0, r4
- ldrb r0, [r0]
- lsls r1, r0, 3
- adds r1, r0
- ldr r0, _080966BC @ =gPokemonStorage + 0x8344
- adds r1, r0
- adds r0, r2, 0
- bl StringCopy
- adds r2, r0, 0
- movs r0, 0xFE
- strb r0, [r2]
- strb r6, [r2, 0x1]
- movs r0, 0x11
- strb r0, [r2, 0x2]
- cmp r7, 0x9
- bhi _080966C0
- movs r0, 0x28
- b _080966C2
- .align 2, 0
-_080966B4: .4byte gUnknown_02038478
-_080966B8: .4byte gStringVar1
-_080966BC: .4byte gPokemonStorage + 0x8344
-_080966C0:
- movs r0, 0x22
-_080966C2:
- strb r0, [r2, 0x3]
- adds r2, 0x4
- adds r0, r2, 0
- adds r1, r7, 0
- bl ConvertIntToDecimalString
- adds r2, r0, 0
- movs r0, 0xBA
- strb r0, [r2]
- movs r0, 0xA4
- strb r0, [r2, 0x1]
- movs r0, 0xA1
- strb r0, [r2, 0x2]
- movs r0, 0xFF
- strb r0, [r2, 0x3]
- ldr r0, _080966F0 @ =gStringVar1
- movs r1, 0
- movs r2, 0x1
- bl sub_80966F4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080966F0: .4byte gStringVar1
- thumb_func_end sub_809665C
-
- thumb_func_start sub_80966F4
-sub_80966F4: @ 80966F4
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x4
- mov r8, r0
- adds r5, r1, 0
- adds r4, r2, 0
- lsls r5, 16
- lsrs r5, 16
- lsls r4, 16
- lsrs r4, 16
- ldr r0, _08096764 @ =gUnknown_02038478
- ldr r0, [r0]
- movs r1, 0x90
- lsls r1, 2
- adds r0, r1
- ldrh r0, [r0]
- bl GetSpriteTileStartByTag
- adds r6, r0, 0
- lsls r6, 16
- lsrs r6, 11
- lsls r4, 8
- ldr r2, _08096768 @ =0x06010000
- adds r4, r2
- adds r6, r4
- lsls r5, 5
- adds r6, r5
- ldr r0, _0809676C @ =gUnknown_083B6DB8
- ldr r5, [r0]
- mov r1, sp
- ldr r2, _08096770 @ =0x00001111
- adds r0, r2, 0
- strh r0, [r1]
- ldr r4, _08096774 @ =0x040000d4
- str r1, [r4]
- str r5, [r4, 0x4]
- ldr r0, _08096778 @ =0x81000200
- str r0, [r4, 0x8]
- ldr r0, [r4, 0x8]
- ldr r0, _0809677C @ =gWindowTemplate_81E6D38
- adds r1, r5, 0
- mov r2, r8
- bl Text_InitWindow8004E3C
- str r5, [r4]
- str r6, [r4, 0x4]
- ldr r0, _08096780 @ =0x80000200
- str r0, [r4, 0x8]
- ldr r0, [r4, 0x8]
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08096764: .4byte gUnknown_02038478
-_08096768: .4byte 0x06010000
-_0809676C: .4byte gUnknown_083B6DB8
-_08096770: .4byte 0x00001111
-_08096774: .4byte 0x040000d4
-_08096778: .4byte 0x81000200
-_0809677C: .4byte gWindowTemplate_81E6D38
-_08096780: .4byte 0x80000200
- thumb_func_end sub_80966F4
-
- thumb_func_start sub_8096784
-sub_8096784: @ 8096784
- 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 _080967B4
- 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 _080967B4
- strh r2, [r1, 0x32]
- strh r2, [r1, 0x24]
-_080967B4:
- pop {r0}
- bx r0
- thumb_func_end sub_8096784
-
- thumb_func_start task_intro_29
-task_intro_29: @ 80967B8
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080967D0 @ =gUnknown_0203847D
- strb r0, [r1]
- ldr r1, _080967D4 @ =gSharedMem
- strb r0, [r1, 0x5]
- ldr r0, _080967D8 @ =sub_8096884
- bl SetMainCallback2
- pop {r0}
- bx r0
- .align 2, 0
-_080967D0: .4byte gUnknown_0203847D
-_080967D4: .4byte gSharedMem
-_080967D8: .4byte sub_8096884
- thumb_func_end task_intro_29
-
- thumb_func_start sub_80967DC
-sub_80967DC: @ 80967DC
- ldr r0, _08096800 @ =REG_BG0HOFS
- movs r1, 0
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x4
- strh r1, [r0]
- subs r0, 0x2
- strh r1, [r0]
- adds r0, 0x4
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- bx lr
- .align 2, 0
-_08096800: .4byte REG_BG0HOFS
- thumb_func_end sub_80967DC
-
- thumb_func_start sub_8096804
-sub_8096804: @ 8096804
- push {lr}
- bl ResetPaletteFade
- bl ResetSpriteData
- bl FreeSpriteTileRanges
- bl FreeAllSpritePalettes
- bl ResetTasks
- ldr r1, _0809683C @ =gReservedSpriteTileCount
- movs r2, 0xA0
- lsls r2, 2
- adds r0, r2, 0
- strh r0, [r1]
- ldr r0, _08096840 @ =gSharedMem + 0x20
- adds r1, r0, 0
- adds r1, 0x8
- movs r2, 0x8
- bl sub_809CFDC
- ldr r1, _08096844 @ =gKeyRepeatStartDelay
- movs r0, 0x14
- strh r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_0809683C: .4byte gReservedSpriteTileCount
-_08096840: .4byte gSharedMem + 0x20
-_08096844: .4byte gKeyRepeatStartDelay
- thumb_func_end sub_8096804
-
- thumb_func_start sub_8096848
-sub_8096848: @ 8096848
- push {lr}
- bl sub_809B0D4
- ldr r2, _08096868 @ =gUnknown_0203847C
- movs r1, 0
- ldr r0, _0809686C @ =gSharedMem
- ldrb r0, [r0, 0x5]
- cmp r0, 0x1
- bne _0809685C
- movs r1, 0x1
-_0809685C:
- strb r1, [r2]
- ldr r1, _08096870 @ =gUnknown_0203847E
- movs r0, 0
- strb r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_08096868: .4byte gUnknown_0203847C
-_0809686C: .4byte gSharedMem
-_08096870: .4byte gUnknown_0203847E
- thumb_func_end sub_8096848
-
- thumb_func_start sub_8096874
-sub_8096874: @ 8096874
- movs r1, 0x80
- lsls r1, 19
- movs r2, 0xFA
- lsls r2, 5
- adds r0, r2, 0
- strh r0, [r1]
- bx lr
- thumb_func_end sub_8096874
-
- thumb_func_start sub_8096884
-sub_8096884: @ 8096884
- push {lr}
- ldr r0, _080968A0 @ =gMain
- ldr r1, _080968A4 @ =0x0000043c
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x9
- bls _08096894
- b _08096986
-_08096894:
- lsls r0, 2
- ldr r1, _080968A8 @ =_080968AC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080968A0: .4byte gMain
-_080968A4: .4byte 0x0000043c
-_080968A8: .4byte _080968AC
- .align 2, 0
-_080968AC:
- .4byte _080968D4
- .4byte _080968E8
- .4byte _080968F4
- .4byte _08096904
- .4byte _0809690E
- .4byte _08096918
- .4byte _0809691E
- .4byte _08096924
- .4byte _0809692A
- .4byte _08096964
-_080968D4:
- movs r0, 0
- bl SetVBlankCallback
- movs r1, 0x80
- lsls r1, 19
- movs r0, 0
- strh r0, [r1]
- bl sub_8096804
- b _0809697A
-_080968E8:
- ldr r0, _080968F0 @ =gWindowTemplate_81E6D00
- bl Text_LoadWindowTemplate
- b _0809697A
- .align 2, 0
-_080968F0: .4byte gWindowTemplate_81E6D00
-_080968F4:
- ldr r0, _08096900 @ =gWindowTemplate_81E6D00
- bl InitMenuWindow
- bl Menu_EraseScreen
- b _0809697A
- .align 2, 0
-_08096900: .4byte gWindowTemplate_81E6D00
-_08096904:
- bl sub_80967DC
- bl sub_8096848
- b _0809697A
-_0809690E:
- bl sub_8098B48
- bl sub_809AA24
- b _0809697A
-_08096918:
- bl sub_8097DE0
- b _0809697A
-_0809691E:
- bl sub_8097E70
- b _0809697A
-_08096924:
- bl sub_8098400
- b _0809697A
-_0809692A:
- ldr r0, _08096950 @ =gPokemonStorage
- ldrb r0, [r0]
- bl sub_8099BF8
- ldr r2, _08096954 @ =gSharedMem
- ldr r1, _08096958 @ =0x000012bc
- adds r0, r2, r1
- movs r1, 0xA
- strh r1, [r0]
- ldr r1, _0809695C @ =0x000012be
- adds r2, r1
- ldr r1, _08096960 @ =0x0000dacb
- strh r1, [r2]
- bl sub_80F727C
- bl sub_80F7404
- b _0809697A
- .align 2, 0
-_08096950: .4byte gPokemonStorage
-_08096954: .4byte gSharedMem
-_08096958: .4byte 0x000012bc
-_0809695C: .4byte 0x000012be
-_08096960: .4byte 0x0000dacb
-_08096964:
- bl sub_8096874
- ldr r0, _0809698C @ =sub_8096BF0
- bl sub_8096BE0
- ldr r0, _08096990 @ =sub_8096B38
- bl SetMainCallback2
- ldr r0, _08096994 @ =sub_8096AFC
- bl SetVBlankCallback
-_0809697A:
- ldr r1, _08096998 @ =gMain
- ldr r0, _0809699C @ =0x0000043c
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_08096986:
- pop {r0}
- bx r0
- .align 2, 0
-_0809698C: .4byte sub_8096BF0
-_08096990: .4byte sub_8096B38
-_08096994: .4byte sub_8096AFC
-_08096998: .4byte gMain
-_0809699C: .4byte 0x0000043c
- thumb_func_end sub_8096884
-
- thumb_func_start sub_80969A0
-sub_80969A0: @ 80969A0
- push {r4,lr}
- sub sp, 0x4
- ldr r0, _080969BC @ =gMain
- ldr r1, _080969C0 @ =0x0000043c
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0xA
- bls _080969B2
- b _08096AE4
-_080969B2:
- lsls r0, 2
- ldr r1, _080969C4 @ =_080969C8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080969BC: .4byte gMain
-_080969C0: .4byte 0x0000043c
-_080969C4: .4byte _080969C8
- .align 2, 0
-_080969C8:
- .4byte _080969F4
- .4byte _08096A34
- .4byte _08096A40
- .4byte _08096A50
- .4byte _08096A56
- .4byte _08096A60
- .4byte _08096A66
- .4byte _08096A6C
- .4byte _08096A72
- .4byte _08096AAC
- .4byte _08096AC8
-_080969F4:
- movs r0, 0
- bl SetVBlankCallback
- movs r1, 0x80
- lsls r1, 19
- movs r0, 0
- strh r0, [r1]
- ldr r1, _08096A28 @ =gSharedMem
- ldr r0, _08096A2C @ =gUnknown_0203847D
- ldrb r0, [r0]
- strb r0, [r1, 0x5]
- bl sub_8096804
- ldr r4, _08096A30 @ =gUnknown_0203847F
- ldrb r0, [r4]
- cmp r0, 0x1
- bne _08096A1A
- bl sub_809BBC0
-_08096A1A:
- ldrb r0, [r4]
- cmp r0, 0
- bne _08096AD8
- bl sub_809BD14
- b _08096AD8
- .align 2, 0
-_08096A28: .4byte gSharedMem
-_08096A2C: .4byte gUnknown_0203847D
-_08096A30: .4byte gUnknown_0203847F
-_08096A34:
- ldr r0, _08096A3C @ =gWindowTemplate_81E6D00
- bl Text_LoadWindowTemplate
- b _08096AD8
- .align 2, 0
-_08096A3C: .4byte gWindowTemplate_81E6D00
-_08096A40:
- ldr r0, _08096A4C @ =gWindowTemplate_81E6D00
- bl InitMenuWindow
- bl Menu_EraseScreen
- b _08096AD8
- .align 2, 0
-_08096A4C: .4byte gWindowTemplate_81E6D00
-_08096A50:
- bl sub_80967DC
- b _08096AD8
-_08096A56:
- bl sub_8098B48
- bl sub_809AA98
- b _08096AD8
-_08096A60:
- bl sub_8097DE0
- b _08096AD8
-_08096A66:
- bl sub_8097E70
- b _08096AD8
-_08096A6C:
- bl sub_8098400
- b _08096AD8
-_08096A72:
- ldr r0, _08096A98 @ =gPokemonStorage
- ldrb r0, [r0]
- bl sub_8099BF8
- ldr r2, _08096A9C @ =gSharedMem
- ldr r1, _08096AA0 @ =0x000012bc
- adds r0, r2, r1
- movs r1, 0xA
- strh r1, [r0]
- ldr r1, _08096AA4 @ =0x000012be
- adds r2, r1
- ldr r1, _08096AA8 @ =0x0000dacb
- strh r1, [r2]
- bl sub_80F727C
- bl sub_80F7404
- b _08096AD8
- .align 2, 0
-_08096A98: .4byte gPokemonStorage
-_08096A9C: .4byte gSharedMem
-_08096AA0: .4byte 0x000012bc
-_08096AA4: .4byte 0x000012be
-_08096AA8: .4byte 0x0000dacb
-_08096AAC:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r0, _08096AC4 @ =sub_8096AFC
- bl SetVBlankCallback
- b _08096AD8
- .align 2, 0
-_08096AC4: .4byte sub_8096AFC
-_08096AC8:
- bl sub_8096874
- ldr r0, _08096AEC @ =sub_8096C68
- bl sub_8096BE0
- ldr r0, _08096AF0 @ =sub_8096B38
- bl SetMainCallback2
-_08096AD8:
- ldr r1, _08096AF4 @ =gMain
- ldr r0, _08096AF8 @ =0x0000043c
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_08096AE4:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08096AEC: .4byte sub_8096C68
-_08096AF0: .4byte sub_8096B38
-_08096AF4: .4byte gMain
-_08096AF8: .4byte 0x0000043c
- thumb_func_end sub_80969A0
-
- thumb_func_start sub_8096AFC
-sub_8096AFC: @ 8096AFC
- push {lr}
- ldr r2, _08096B2C @ =REG_BG2HOFS
- ldr r1, _08096B30 @ =gSharedMem
- ldr r3, _08096B34 @ =0x000008b4
- adds r0, r1, r3
- ldrh r0, [r0]
- strh r0, [r2]
- adds r2, 0x4
- ldrh r0, [r1, 0xA]
- strh r0, [r2]
- adds r2, 0x2
- ldrh r0, [r1, 0x8]
- strh r0, [r2]
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl sub_809CFF0
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- .align 2, 0
-_08096B2C: .4byte REG_BG2HOFS
-_08096B30: .4byte gSharedMem
-_08096B34: .4byte 0x000008b4
- thumb_func_end sub_8096AFC
-
- thumb_func_start sub_8096B38
-sub_8096B38: @ 8096B38
- push {lr}
- ldr r0, _08096B58 @ =gSharedMem
- ldr r0, [r0]
- bl _call_via_r0
- bl sub_8097E44
- bl sub_8098734
- bl AnimateSprites
- bl BuildOamBuffer
- pop {r0}
- bx r0
- .align 2, 0
-_08096B58: .4byte gSharedMem
- thumb_func_end sub_8096B38
-
- thumb_func_start sub_8096B5C
-sub_8096B5C: @ 8096B5C
- push {r4,r5,lr}
- sub sp, 0x8
- ldr r4, _08096B70 @ =gSharedMem
- ldrb r0, [r4, 0x6]
- cmp r0, 0
- beq _08096B74
- cmp r0, 0x1
- beq _08096BAC
- b _08096BCC
- .align 2, 0
-_08096B70: .4byte gSharedMem
-_08096B74:
- ldr r1, _08096B98 @ =0x00002690
- adds r0, r4, r1
- ldr r0, [r0]
- ldr r2, _08096B9C @ =0x0000268d
- adds r1, r4, r2
- ldrb r1, [r1]
- ldr r3, _08096BA0 @ =0x0000268c
- adds r2, r4, r3
- ldrb r2, [r2]
- ldr r3, _08096BA4 @ =sub_80969A0
- ldr r5, _08096BA8 @ =0x0000268e
- adds r4, r5
- ldrb r4, [r4]
- str r4, [sp]
- bl ShowPokemonSummaryScreen
- b _08096BCC
- .align 2, 0
-_08096B98: .4byte 0x00002690
-_08096B9C: .4byte 0x0000268d
-_08096BA0: .4byte 0x0000268c
-_08096BA4: .4byte sub_80969A0
-_08096BA8: .4byte 0x0000268e
-_08096BAC:
- ldr r0, _08096BD4 @ =gPokemonStorage
- ldrb r2, [r0]
- lsls r1, r2, 3
- adds r1, r2
- ldr r2, _08096BD8 @ =0x00008344
- adds r0, r2
- adds r1, r0
- movs r0, 0
- str r0, [sp]
- ldr r0, _08096BDC @ =sub_80969A0
- str r0, [sp, 0x4]
- movs r0, 0x1
- movs r2, 0
- movs r3, 0
- bl DoNamingScreen
-_08096BCC:
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08096BD4: .4byte gPokemonStorage
-_08096BD8: .4byte 0x00008344
-_08096BDC: .4byte sub_80969A0
- thumb_func_end sub_8096B5C
-
- thumb_func_start sub_8096BE0
-sub_8096BE0: @ 8096BE0
- ldr r1, _08096BEC @ =gSharedMem
- str r0, [r1]
- movs r0, 0
- strb r0, [r1, 0x4]
- bx lr
- .align 2, 0
-_08096BEC: .4byte gSharedMem
- thumb_func_end sub_8096BE0
-
- thumb_func_start sub_8096BF0
-sub_8096BF0: @ 8096BF0
- push {r4,lr}
- ldr r4, _08096C04 @ =gSharedMem
- ldrb r0, [r4, 0x4]
- cmp r0, 0x1
- beq _08096C16
- cmp r0, 0x1
- bgt _08096C08
- cmp r0, 0
- beq _08096C0E
- b _08096C5C
- .align 2, 0
-_08096C04: .4byte gSharedMem
-_08096C08:
- cmp r0, 0x2
- beq _08096C4C
- b _08096C5C
-_08096C0E:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0x10
- b _08096C38
-_08096C16:
- movs r0, 0x2
- bl PlaySE
- movs r1, 0
- movs r0, 0xE
- strh r0, [r4, 0xC]
- ldr r0, _08096C48 @ =0x0000dad0
- strh r0, [r4, 0xE]
- strh r1, [r4, 0x10]
- strh r1, [r4, 0x12]
- adds r0, r4, 0
- adds r0, 0xC
- bl sub_80C5CD4
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
-_08096C38:
- movs r2, 0
- bl BlendPalettes
- ldrb r0, [r4, 0x4]
- adds r0, 0x1
- strb r0, [r4, 0x4]
- b _08096C5C
- .align 2, 0
-_08096C48: .4byte 0x0000dad0
-_08096C4C:
- bl sub_80C5DCC
- lsls r0, 24
- cmp r0, 0
- beq _08096C5C
- ldr r0, _08096C64 @ =sub_8096C84
- bl sub_8096BE0
-_08096C5C:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08096C64: .4byte sub_8096C84
- thumb_func_end sub_8096BF0
-
- thumb_func_start sub_8096C68
-sub_8096C68: @ 8096C68
- push {lr}
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- bne _08096C7A
- ldr r0, _08096C80 @ =sub_8096C84
- bl sub_8096BE0
-_08096C7A:
- pop {r0}
- bx r0
- .align 2, 0
-_08096C80: .4byte sub_8096C84
- thumb_func_end sub_8096C68
-
- thumb_func_start sub_8096C84
-sub_8096C84: @ 8096C84
- push {r4,lr}
- ldr r0, _08096C9C @ =gSharedMem
- ldrb r0, [r0, 0x4]
- cmp r0, 0x6
- bls _08096C90
- b _08096FBA
-_08096C90:
- lsls r0, 2
- ldr r1, _08096CA0 @ =_08096CA4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08096C9C: .4byte gSharedMem
-_08096CA0: .4byte _08096CA4
- .align 2, 0
-_08096CA4:
- .4byte _08096CC0
- .4byte _08096EE0
- .4byte _08096F1C
- .4byte _08096F60
- .4byte _08096F80
- .4byte _08096F8A
- .4byte _08096FA4
-_08096CC0:
- bl sub_809CA40
- lsls r0, 24
- lsrs r0, 24
- subs r0, 0x1
- cmp r0, 0xF
- bls _08096CD0
- b _08096FBA
-_08096CD0:
- lsls r0, 2
- ldr r1, _08096CDC @ =_08096CE0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08096CDC: .4byte _08096CE0
- .align 2, 0
-_08096CE0:
- .4byte _08096D20
- .4byte _08096FBA
- .4byte _08096FBA
- .4byte _08096D94
- .4byte _08096D34
- .4byte _08096D5C
- .4byte _08096DAC
- .4byte _08096DC0
- .4byte _08096DD4
- .4byte _08096DFC
- .4byte _08096E30
- .4byte _08096EB8
- .4byte _08096E70
- .4byte _08096E8C
- .4byte _08096ECC
- .4byte _08096DA0
-_08096D20:
- movs r0, 0x5
- bl PlaySE
- ldr r1, _08096D30 @ =gSharedMem
- movs r0, 0x1
- strb r0, [r1, 0x4]
- b _08096FBA
- .align 2, 0
-_08096D30: .4byte gSharedMem
-_08096D34:
- ldr r4, _08096D48 @ =gSharedMem
- ldrb r0, [r4, 0x5]
- cmp r0, 0x2
- beq _08096D4C
- movs r0, 0x10
- bl sub_8098898
- movs r0, 0x3
- strb r0, [r4, 0x4]
- b _08096FBA
- .align 2, 0
-_08096D48: .4byte gSharedMem
-_08096D4C:
- bl sub_809B0D4
- ldr r0, _08096D58 @ =sub_8096FC8
- bl sub_8096BE0
- b _08096FBA
- .align 2, 0
-_08096D58: .4byte sub_8096FC8
-_08096D5C:
- ldr r4, _08096D88 @ =gSharedMem
- ldrb r0, [r4, 0x5]
- cmp r0, 0x2
- beq _08096D66
- b _08096FBA
-_08096D66:
- bl sub_809BF20
- lsls r0, 24
- cmp r0, 0
- beq _08096D80
- ldr r1, _08096D8C @ =0x000011f2
- adds r0, r4, r1
- ldrh r0, [r0]
- bl ItemIsMail
- lsls r0, 24
- cmp r0, 0
- bne _08096E4C
-_08096D80:
- ldr r0, _08096D90 @ =sub_8097004
- bl sub_8096BE0
- b _08096FBA
- .align 2, 0
-_08096D88: .4byte gSharedMem
-_08096D8C: .4byte 0x000011f2
-_08096D90: .4byte sub_8097004
-_08096D94:
- ldr r0, _08096D9C @ =sub_8097BA0
- bl sub_8096BE0
- b _08096FBA
- .align 2, 0
-_08096D9C: .4byte sub_8097BA0
-_08096DA0:
- ldr r0, _08096DA8 @ =sub_8097CC0
- bl sub_8096BE0
- b _08096FBA
- .align 2, 0
-_08096DA8: .4byte sub_8097CC0
-_08096DAC:
- movs r0, 0x5
- bl PlaySE
- ldr r0, _08096DBC @ =sub_809789C
- bl sub_8096BE0
- b _08096FBA
- .align 2, 0
-_08096DBC: .4byte sub_809789C
-_08096DC0:
- movs r0, 0x5
- bl PlaySE
- ldr r0, _08096DD0 @ =sub_8097078
- bl sub_8096BE0
- b _08096FBA
- .align 2, 0
-_08096DD0: .4byte sub_8097078
-_08096DD4:
- movs r0, 0x5
- bl PlaySE
- ldr r4, _08096DF0 @ =gSharedMem
- ldr r0, _08096DF4 @ =gPokemonStorage
- ldrb r0, [r0]
- adds r0, 0x1
- ldr r2, _08096DF8 @ =0x000008b2
- adds r1, r4, r2
- strh r0, [r1]
- cmp r0, 0xD
- ble _08096E18
- movs r0, 0
- b _08096E16
- .align 2, 0
-_08096DF0: .4byte gSharedMem
-_08096DF4: .4byte gPokemonStorage
-_08096DF8: .4byte 0x000008b2
-_08096DFC:
- movs r0, 0x5
- bl PlaySE
- ldr r4, _08096E24 @ =gSharedMem
- ldr r0, _08096E28 @ =gPokemonStorage
- ldrb r0, [r0]
- subs r0, 0x1
- ldr r2, _08096E2C @ =0x000008b2
- adds r1, r4, r2
- strh r0, [r1]
- cmp r0, 0
- bge _08096E18
- movs r0, 0xD
-_08096E16:
- strh r0, [r1]
-_08096E18:
- ldrb r0, [r1]
- bl sub_8099C70
- movs r0, 0x2
- strb r0, [r4, 0x4]
- b _08096FBA
- .align 2, 0
-_08096E24: .4byte gSharedMem
-_08096E28: .4byte gPokemonStorage
-_08096E2C: .4byte 0x000008b2
-_08096E30:
- bl sub_809BE80
- lsls r0, 24
- cmp r0, 0
- bne _08096E96
- ldr r4, _08096E54 @ =gSharedMem
- ldr r1, _08096E58 @ =0x000011f2
- adds r0, r4, r1
- ldrh r0, [r0]
- bl ItemIsMail
- lsls r0, 24
- cmp r0, 0
- beq _08096E5C
-_08096E4C:
- movs r0, 0x5
- strb r0, [r4, 0x4]
- b _08096FBA
- .align 2, 0
-_08096E54: .4byte gSharedMem
-_08096E58: .4byte 0x000011f2
-_08096E5C:
- movs r0, 0x5
- bl PlaySE
- ldr r0, _08096E6C @ =sub_809746C
- bl sub_8096BE0
- b _08096FBA
- .align 2, 0
-_08096E6C: .4byte sub_809746C
-_08096E70:
- bl sub_809BE80
- lsls r0, 24
- cmp r0, 0
- bne _08096E96
- movs r0, 0x5
- bl PlaySE
- ldr r0, _08096E88 @ =sub_80972A8
- bl sub_8096BE0
- b _08096FBA
- .align 2, 0
-_08096E88: .4byte sub_80972A8
-_08096E8C:
- bl sub_809BEBC
- lsls r0, 24
- cmp r0, 0
- bne _08096EA4
-_08096E96:
- ldr r1, _08096EA0 @ =gSharedMem
- movs r0, 0x4
- strb r0, [r1, 0x4]
- b _08096FBA
- .align 2, 0
-_08096EA0: .4byte gSharedMem
-_08096EA4:
- movs r0, 0x5
- bl PlaySE
- ldr r0, _08096EB4 @ =c3_0808DC50
- bl sub_8096BE0
- b _08096FBA
- .align 2, 0
-_08096EB4: .4byte c3_0808DC50
-_08096EB8:
- movs r0, 0x5
- bl PlaySE
- ldr r0, _08096EC8 @ =sub_8097390
- bl sub_8096BE0
- b _08096FBA
- .align 2, 0
-_08096EC8: .4byte sub_8097390
-_08096ECC:
- movs r0, 0x5
- bl PlaySE
- ldr r0, _08096EDC @ =sub_80972FC
- bl sub_8096BE0
- b _08096FBA
- .align 2, 0
-_08096EDC: .4byte sub_80972FC
-_08096EE0:
- bl sub_809AC00
- lsls r0, 24
- cmp r0, 0
- bne _08096FBA
- bl sub_809BF48
- lsls r0, 24
- cmp r0, 0
- beq _08096EFA
- bl sub_80986E8
- b _08096EFE
-_08096EFA:
- bl sub_8098710
-_08096EFE:
- ldr r4, _08096F14 @ =gSharedMem
- ldr r2, _08096F18 @ =0x000011f6
- adds r0, r4, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _08096F0E
- bl BoxSetMosaic
-_08096F0E:
- movs r0, 0
- strb r0, [r4, 0x4]
- b _08096FBA
- .align 2, 0
-_08096F14: .4byte gSharedMem
-_08096F18: .4byte 0x000011f6
-_08096F1C:
- bl sub_8099D34
- lsls r0, 24
- cmp r0, 0
- bne _08096FBA
- ldr r1, _08096F50 @ =gPokemonStorage
- ldr r0, _08096F54 @ =gSharedMem
- ldr r2, _08096F58 @ =0x000008b2
- adds r0, r2
- ldrh r0, [r0]
- strb r0, [r1]
- ldr r0, _08096F5C @ =gUnknown_0203847C
- ldrb r0, [r0]
- cmp r0, 0
- bne _08096F70
- bl sub_809BF20
- lsls r0, 24
- cmp r0, 0
- bne _08096F70
- bl sub_809B440
- bl BoxSetMosaic
- b _08096F70
- .align 2, 0
-_08096F50: .4byte gPokemonStorage
-_08096F54: .4byte gSharedMem
-_08096F58: .4byte 0x000008b2
-_08096F5C: .4byte gUnknown_0203847C
-_08096F60:
- ldr r0, _08096F78 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0xF3
- ands r0, r1
- cmp r0, 0
- beq _08096FBA
- bl sub_8098A5C
-_08096F70:
- ldr r1, _08096F7C @ =gSharedMem
- movs r0, 0
- strb r0, [r1, 0x4]
- b _08096FBA
- .align 2, 0
-_08096F78: .4byte gMain
-_08096F7C: .4byte gSharedMem
-_08096F80:
- movs r0, 0x20
- bl PlaySE
- movs r0, 0xD
- b _08096F92
-_08096F8A:
- movs r0, 0x20
- bl PlaySE
- movs r0, 0x16
-_08096F92:
- bl sub_8098898
- ldr r1, _08096FA0 @ =gSharedMem
- movs r0, 0x6
- strb r0, [r1, 0x4]
- b _08096FBA
- .align 2, 0
-_08096FA0: .4byte gSharedMem
-_08096FA4:
- ldr r0, _08096FC0 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0xF3
- ands r0, r1
- cmp r0, 0
- beq _08096FBA
- bl sub_8098A5C
- ldr r0, _08096FC4 @ =sub_8096C84
- bl sub_8096BE0
-_08096FBA:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08096FC0: .4byte gMain
-_08096FC4: .4byte sub_8096C84
- thumb_func_end sub_8096C84
-
- thumb_func_start sub_8096FC8
-sub_8096FC8: @ 8096FC8
- push {r4,lr}
- ldr r4, _08096FD8 @ =gSharedMem
- ldrb r0, [r4, 0x4]
- cmp r0, 0
- beq _08096FDC
- cmp r0, 0x1
- beq _08096FE8
- b _08096FF8
- .align 2, 0
-_08096FD8: .4byte gSharedMem
-_08096FDC:
- bl sub_809880C
- ldrb r0, [r4, 0x4]
- adds r0, 0x1
- strb r0, [r4, 0x4]
- b _08096FF8
-_08096FE8:
- bl sub_8098830
- lsls r0, 24
- cmp r0, 0
- bne _08096FF8
- ldr r0, _08097000 @ =sub_8096C84
- bl sub_8096BE0
-_08096FF8:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08097000: .4byte sub_8096C84
- thumb_func_end sub_8096FC8
-
- thumb_func_start sub_8097004
-sub_8097004: @ 8097004
- push {r4,lr}
- ldr r4, _08097018 @ =gSharedMem
- ldrb r0, [r4, 0x4]
- cmp r0, 0x1
- beq _0809702E
- cmp r0, 0x1
- bgt _0809701C
- cmp r0, 0
- beq _08097022
- b _0809706A
- .align 2, 0
-_08097018: .4byte gSharedMem
-_0809701C:
- cmp r0, 0x2
- beq _0809704C
- b _0809706A
-_08097022:
- movs r0, 0x5
- bl PlaySE
- bl add_to_c3_somehow
- b _08097044
-_0809702E:
- bl sub_80985CC
- lsls r0, 24
- cmp r0, 0
- bne _0809706A
- bl sub_809B0F4
- lsls r0, 24
- lsrs r0, 24
- bl sub_809B0C0
-_08097044:
- ldrb r0, [r4, 0x4]
- adds r0, 0x1
- strb r0, [r4, 0x4]
- b _0809706A
-_0809704C:
- bl sub_809AC00
- lsls r0, 24
- cmp r0, 0
- bne _0809706A
- ldr r1, _08097070 @ =0x000011f6
- adds r0, r4, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _08097064
- bl BoxSetMosaic
-_08097064:
- ldr r0, _08097074 @ =sub_8096C84
- bl sub_8096BE0
-_0809706A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08097070: .4byte 0x000011f6
-_08097074: .4byte sub_8096C84
- thumb_func_end sub_8097004
-
- thumb_func_start sub_8097078
-sub_8097078: @ 8097078
- push {r4,lr}
- ldr r0, _08097090 @ =gSharedMem
- ldrb r0, [r0, 0x4]
- cmp r0, 0x5
- bls _08097084
- b _0809729A
-_08097084:
- lsls r0, 2
- ldr r1, _08097094 @ =_08097098
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08097090: .4byte gSharedMem
-_08097094: .4byte _08097098
- .align 2, 0
-_08097098:
- .4byte _080970B0
- .4byte _080970C8
- .4byte _08097258
- .4byte _0809726C
- .4byte _08097262
- .4byte _08097284
-_080970B0:
- movs r0, 0x4
- bl sub_8098898
- bl sub_809CE84
- ldr r1, _080970C4 @ =gSharedMem
- movs r0, 0x1
- strb r0, [r1, 0x4]
- b _0809729A
- .align 2, 0
-_080970C4: .4byte gSharedMem
-_080970C8:
- bl sub_809CF30
- adds r0, 0x1
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x9
- bls _080970D8
- b _0809729A
-_080970D8:
- lsls r0, 2
- ldr r1, _080970E4 @ =_080970E8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080970E4: .4byte _080970E8
- .align 2, 0
-_080970E8:
- .4byte _08097110
- .4byte _08097110
- .4byte _08097190
- .4byte _08097178
- .4byte _08097120
- .4byte _08097158
- .4byte _08097140
- .4byte _08097230
- .4byte _080971CC
- .4byte _08097244
-_08097110:
- bl sub_8098A5C
- ldr r0, _0809711C @ =sub_8096C84
- bl sub_8096BE0
- b _0809729A
- .align 2, 0
-_0809711C: .4byte sub_8096C84
-_08097120:
- bl sub_809BE80
- lsls r0, 24
- cmp r0, 0
- bne _080971D6
- movs r0, 0x5
- bl PlaySE
- bl sub_8098A5C
- ldr r0, _0809713C @ =sub_80972A8
- bl sub_8096BE0
- b _0809729A
- .align 2, 0
-_0809713C: .4byte sub_80972A8
-_08097140:
- movs r0, 0x5
- bl PlaySE
- bl sub_8098A5C
- ldr r0, _08097154 @ =sub_80972FC
- bl sub_8096BE0
- b _0809729A
- .align 2, 0
-_08097154: .4byte sub_80972FC
-_08097158:
- bl sub_809BEBC
- lsls r0, 24
- cmp r0, 0
- beq _080971D6
- movs r0, 0x5
- bl PlaySE
- bl sub_8098A5C
- ldr r0, _08097174 @ =c3_0808DC50
- bl sub_8096BE0
- b _0809729A
- .align 2, 0
-_08097174: .4byte c3_0808DC50
-_08097178:
- movs r0, 0x5
- bl PlaySE
- bl sub_8098A5C
- ldr r0, _0809718C @ =sub_8097390
- bl sub_8096BE0
- b _0809729A
- .align 2, 0
-_0809718C: .4byte sub_8097390
-_08097190:
- bl sub_809BE80
- lsls r0, 24
- cmp r0, 0
- bne _080971D6
- ldr r4, _080971C0 @ =gSharedMem
- ldr r1, _080971C4 @ =0x000011f2
- adds r0, r4, r1
- ldrh r0, [r0]
- bl ItemIsMail
- lsls r0, 24
- cmp r0, 0
- bne _08097210
- movs r0, 0x5
- bl PlaySE
- bl sub_8098A5C
- ldr r0, _080971C8 @ =sub_809746C
- bl sub_8096BE0
- b _0809729A
- .align 2, 0
-_080971C0: .4byte gSharedMem
-_080971C4: .4byte 0x000011f2
-_080971C8: .4byte sub_809746C
-_080971CC:
- bl sub_809BE80
- lsls r0, 24
- cmp r0, 0
- beq _080971E4
-_080971D6:
- ldr r1, _080971E0 @ =gSharedMem
- movs r0, 0x2
- strb r0, [r1, 0x4]
- b _0809729A
- .align 2, 0
-_080971E0: .4byte gSharedMem
-_080971E4:
- ldr r4, _080971F8 @ =gSharedMem
- ldr r1, _080971FC @ =0x000011f9
- adds r0, r4, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _08097200
- movs r0, 0x4
- strb r0, [r4, 0x4]
- b _0809729A
- .align 2, 0
-_080971F8: .4byte gSharedMem
-_080971FC: .4byte 0x000011f9
-_08097200:
- ldr r1, _08097218 @ =0x000011f2
- adds r0, r4, r1
- ldrh r0, [r0]
- bl ItemIsMail
- lsls r0, 24
- cmp r0, 0
- beq _0809721C
-_08097210:
- movs r0, 0x3
- strb r0, [r4, 0x4]
- b _0809729A
- .align 2, 0
-_08097218: .4byte 0x000011f2
-_0809721C:
- movs r0, 0x5
- bl PlaySE
- ldr r0, _0809722C @ =sub_8097594
- bl sub_8096BE0
- b _0809729A
- .align 2, 0
-_0809722C: .4byte sub_8097594
-_08097230:
- movs r0, 0x5
- bl PlaySE
- ldr r0, _08097240 @ =sub_8097788
- bl sub_8096BE0
- b _0809729A
- .align 2, 0
-_08097240: .4byte sub_8097788
-_08097244:
- movs r0, 0x5
- bl PlaySE
- ldr r0, _08097254 @ =sub_80977E4
- bl sub_8096BE0
- b _0809729A
- .align 2, 0
-_08097254: .4byte sub_80977E4
-_08097258:
- movs r0, 0x20
- bl PlaySE
- movs r0, 0xD
- b _08097274
-_08097262:
- movs r0, 0x20
- bl PlaySE
- movs r0, 0x11
- b _08097274
-_0809726C:
- movs r0, 0x20
- bl PlaySE
- movs r0, 0x16
-_08097274:
- bl sub_8098898
- ldr r1, _08097280 @ =gSharedMem
- movs r0, 0x5
- strb r0, [r1, 0x4]
- b _0809729A
- .align 2, 0
-_08097280: .4byte gSharedMem
-_08097284:
- ldr r0, _080972A0 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0xF3
- ands r0, r1
- cmp r0, 0
- beq _0809729A
- bl sub_8098A5C
- ldr r0, _080972A4 @ =sub_8096C84
- bl sub_8096BE0
-_0809729A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080972A0: .4byte gMain
-_080972A4: .4byte sub_8096C84
- thumb_func_end sub_8097078
-
- thumb_func_start sub_80972A8
-sub_80972A8: @ 80972A8
- push {r4,lr}
- ldr r4, _080972B8 @ =gSharedMem
- ldrb r0, [r4, 0x4]
- cmp r0, 0
- beq _080972BC
- cmp r0, 0x1
- beq _080972CA
- b _080972F2
- .align 2, 0
-_080972B8: .4byte gSharedMem
-_080972BC:
- movs r0, 0
- bl sub_809B100
- ldrb r0, [r4, 0x4]
- adds r0, 0x1
- strb r0, [r4, 0x4]
- b _080972F2
-_080972CA:
- bl sub_809B130
- lsls r0, 24
- cmp r0, 0
- bne _080972F2
- ldr r0, _080972E4 @ =gUnknown_0203847C
- ldrb r0, [r0]
- cmp r0, 0
- beq _080972EC
- ldr r0, _080972E8 @ =sub_8097858
- bl sub_8096BE0
- b _080972F2
- .align 2, 0
-_080972E4: .4byte gUnknown_0203847C
-_080972E8: .4byte sub_8097858
-_080972EC:
- ldr r0, _080972F8 @ =sub_8096C84
- bl sub_8096BE0
-_080972F2:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080972F8: .4byte sub_8096C84
- thumb_func_end sub_80972A8
-
- thumb_func_start sub_80972FC
-sub_80972FC: @ 80972FC
- push {r4,lr}
- ldr r4, _0809730C @ =gSharedMem
- ldrb r0, [r4, 0x4]
- cmp r0, 0
- beq _08097310
- cmp r0, 0x1
- beq _0809731E
- b _08097346
- .align 2, 0
-_0809730C: .4byte gSharedMem
-_08097310:
- movs r0, 0x1
- bl sub_809B100
- ldrb r0, [r4, 0x4]
- adds r0, 0x1
- strb r0, [r4, 0x4]
- b _08097346
-_0809731E:
- bl sub_809B130
- lsls r0, 24
- cmp r0, 0
- bne _08097346
- ldr r0, _08097338 @ =gUnknown_0203847C
- ldrb r0, [r0]
- cmp r0, 0
- beq _08097340
- ldr r0, _0809733C @ =sub_8097858
- bl sub_8096BE0
- b _08097346
- .align 2, 0
-_08097338: .4byte gUnknown_0203847C
-_0809733C: .4byte sub_8097858
-_08097340:
- ldr r0, _0809734C @ =sub_8096C84
- bl sub_8096BE0
-_08097346:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0809734C: .4byte sub_8096C84
- thumb_func_end sub_80972FC
-
- thumb_func_start c3_0808DC50
-c3_0808DC50: @ 8097350
- push {r4,lr}
- ldr r4, _08097360 @ =gSharedMem
- ldrb r0, [r4, 0x4]
- cmp r0, 0
- beq _08097364
- cmp r0, 0x1
- beq _08097372
- b _08097386
- .align 2, 0
-_08097360: .4byte gSharedMem
-_08097364:
- movs r0, 0x2
- bl sub_809B100
- ldrb r0, [r4, 0x4]
- adds r0, 0x1
- strb r0, [r4, 0x4]
- b _08097386
-_08097372:
- bl sub_809B130
- lsls r0, 24
- cmp r0, 0
- bne _08097386
- bl BoxSetMosaic
- ldr r0, _0809738C @ =sub_8096C84
- bl sub_8096BE0
-_08097386:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0809738C: .4byte sub_8096C84
- thumb_func_end c3_0808DC50
-
- thumb_func_start sub_8097390
-sub_8097390: @ 8097390
- push {lr}
- ldr r0, _080973A4 @ =gSharedMem
- ldrb r0, [r0, 0x4]
- cmp r0, 0x5
- bhi _08097462
- lsls r0, 2
- ldr r1, _080973A8 @ =_080973AC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080973A4: .4byte gSharedMem
-_080973A8: .4byte _080973AC
- .align 2, 0
-_080973AC:
- .4byte _080973C4
- .4byte _080973FC
- .4byte _0809741C
- .4byte _0809742C
- .4byte _0809743E
- .4byte _0809745C
-_080973C4:
- bl CalculatePlayerPartyCount
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x6
- bne _080973E4
- movs r0, 0xE
- bl sub_8098898
- ldr r1, _080973E0 @ =gSharedMem
- movs r0, 0x1
- strb r0, [r1, 0x4]
- b _08097462
- .align 2, 0
-_080973E0: .4byte gSharedMem
-_080973E4:
- bl sub_809B0E0
- movs r0, 0
- bl sub_809B100
- ldr r1, _080973F8 @ =gSharedMem
- movs r0, 0x2
- strb r0, [r1, 0x4]
- b _08097462
- .align 2, 0
-_080973F8: .4byte gSharedMem
-_080973FC:
- ldr r0, _08097414 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0xF3
- ands r0, r1
- cmp r0, 0
- beq _08097462
- bl sub_8098A5C
- ldr r0, _08097418 @ =sub_8096C84
- bl sub_8096BE0
- b _08097462
- .align 2, 0
-_08097414: .4byte gMain
-_08097418: .4byte sub_8096C84
-_0809741C:
- bl sub_809B130
- lsls r0, 24
- cmp r0, 0
- bne _08097462
- bl sub_809880C
- b _0809744C
-_0809742C:
- bl sub_8098830
- lsls r0, 24
- cmp r0, 0
- bne _08097462
- movs r0, 0x1
- bl sub_809B100
- b _0809744C
-_0809743E:
- bl sub_809B130
- lsls r0, 24
- cmp r0, 0
- bne _08097462
- bl sub_80987DC
-_0809744C:
- ldr r1, _08097458 @ =gSharedMem
- ldrb r0, [r1, 0x4]
- adds r0, 0x1
- strb r0, [r1, 0x4]
- b _08097462
- .align 2, 0
-_08097458: .4byte gSharedMem
-_0809745C:
- ldr r0, _08097468 @ =sub_8097004
- bl sub_8096BE0
-_08097462:
- pop {r0}
- bx r0
- .align 2, 0
-_08097468: .4byte sub_8097004
- thumb_func_end sub_8097390
-
- thumb_func_start sub_809746C
-sub_809746C: @ 809746C
- push {r4,lr}
- ldr r0, _08097484 @ =gSharedMem
- ldrb r0, [r0, 0x4]
- cmp r0, 0x4
- bls _08097478
- b _08097584
-_08097478:
- lsls r0, 2
- ldr r1, _08097488 @ =_0809748C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08097484: .4byte gSharedMem
-_08097488: .4byte _0809748C
- .align 2, 0
-_0809748C:
- .4byte _080974A0
- .4byte _080974D8
- .4byte _08097534
- .4byte _08097548
- .4byte _0809756C
-_080974A0:
- movs r0, 0x6
- bl sub_8098898
- ldr r4, _080974C8 @ =gSharedMem + 0x2370
- ldr r2, _080974CC @ =0x0000daca
- adds r0, r4, 0
- movs r1, 0x7
- movs r3, 0x3
- bl sub_8096264
- ldr r0, _080974D0 @ =gUnknown_0203847E
- ldrb r0, [r0]
- bl sub_809634C
- ldr r0, _080974D4 @ =0xffffdc90
- adds r4, r0
- ldrb r0, [r4, 0x4]
- adds r0, 0x1
- strb r0, [r4, 0x4]
- b _08097584
- .align 2, 0
-_080974C8: .4byte gSharedMem + 0x2370
-_080974CC: .4byte 0x0000daca
-_080974D0: .4byte gUnknown_0203847E
-_080974D4: .4byte 0xffffdc90
-_080974D8:
- bl sub_8096368
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0xC8
- beq _08097584
- cmp r4, 0xC9
- bne _080974F6
- bl sub_8098A5C
- bl sub_809635C
- bl sub_8096310
- b _0809755E
-_080974F6:
- adds r0, r4, 0
- bl sub_809B62C
- lsls r0, 24
- cmp r0, 0
- beq _08097518
- bl sub_8098A5C
- bl sub_809635C
- bl sub_8096310
- ldr r1, _08097514 @ =gSharedMem
- movs r0, 0x2
- b _08097522
- .align 2, 0
-_08097514: .4byte gSharedMem
-_08097518:
- movs r0, 0x8
- bl sub_8098898
- ldr r1, _0809752C @ =gSharedMem
- movs r0, 0x4
-_08097522:
- strb r0, [r1, 0x4]
- ldr r0, _08097530 @ =gUnknown_0203847E
- strb r4, [r0]
- b _08097584
- .align 2, 0
-_0809752C: .4byte gSharedMem
-_08097530: .4byte gUnknown_0203847E
-_08097534:
- bl party_compaction
- bl sub_8099310
- ldr r1, _08097544 @ =gSharedMem
- ldrb r0, [r1, 0x4]
- adds r0, 0x1
- b _08097582
- .align 2, 0
-_08097544: .4byte gSharedMem
-_08097548:
- bl sub_8099374
- lsls r0, 24
- cmp r0, 0
- bne _08097584
- bl sub_809B6BC
- bl BoxSetMosaic
- bl sub_80987DC
-_0809755E:
- ldr r0, _08097568 @ =sub_8096C84
- bl sub_8096BE0
- b _08097584
- .align 2, 0
-_08097568: .4byte sub_8096C84
-_0809756C:
- ldr r0, _0809758C @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _08097584
- movs r0, 0x6
- bl sub_8098898
- ldr r1, _08097590 @ =gSharedMem
- movs r0, 0x1
-_08097582:
- strb r0, [r1, 0x4]
-_08097584:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0809758C: .4byte gMain
-_08097590: .4byte gSharedMem
- thumb_func_end sub_809746C
-
- thumb_func_start sub_8097594
-sub_8097594: @ 8097594
- push {r4,lr}
- ldr r0, _080975AC @ =gSharedMem
- ldrb r0, [r0, 0x4]
- cmp r0, 0xD
- bls _080975A0
- b _0809777A
-_080975A0:
- lsls r0, 2
- ldr r1, _080975B0 @ =_080975B4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080975AC: .4byte gSharedMem
-_080975B0: .4byte _080975B4
- .align 2, 0
-_080975B4:
- .4byte _080975EC
- .4byte _08097600
- .4byte _0809763A
- .4byte _0809766E
- .4byte _0809767A
- .4byte _08097690
- .4byte _080976C8
- .4byte _080976E0
- .4byte _080976EC
- .4byte _080976F0
- .4byte _08097704
- .4byte _08097720
- .4byte _08097732
- .4byte _08097764
-_080975EC:
- movs r0, 0x9
- bl sub_8098898
- movs r0, 0x1
- bl sub_8098A38
- ldr r1, _0809761C @ =gSharedMem
- ldrb r0, [r1, 0x4]
- adds r0, 0x1
- strb r0, [r1, 0x4]
-_08097600:
- bl Menu_ProcessInputNoWrap
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _0809762C
- cmp r1, 0
- bgt _08097620
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _08097626
- b _0809777A
- .align 2, 0
-_0809761C: .4byte gSharedMem
-_08097620:
- cmp r1, 0x1
- beq _08097626
- b _0809777A
-_08097626:
- bl sub_8098A5C
- b _080976E0
-_0809762C:
- bl sub_8098A5C
- bl sub_809B7D4
- bl sub_809B6DC
- b _08097744
-_0809763A:
- bl sub_809B960
- bl sub_809B734
- lsls r0, 24
- cmp r0, 0
- beq _0809764A
- b _0809777A
-_0809764A:
- ldr r4, _08097650 @ =gSharedMem
- b _0809765A
- .align 2, 0
-_08097650: .4byte gSharedMem
-_08097654:
- cmp r0, 0
- bne _0809765A
- b _08097758
-_0809765A:
- bl sub_809B960
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x1
- bne _08097654
- ldrb r0, [r4, 0x4]
- adds r0, 0x1
- strb r0, [r4, 0x4]
- b _0809777A
-_0809766E:
- bl sub_809B760
- bl sub_809801C
- movs r0, 0xA
- b _08097740
-_0809767A:
- ldr r0, _0809768C @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- bne _08097688
- b _0809777A
-_08097688:
- movs r0, 0xB
- b _08097740
- .align 2, 0
-_0809768C: .4byte gMain
-_08097690:
- ldr r0, _080976B4 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _0809777A
- bl sub_8098A5C
- ldr r0, _080976B8 @ =gUnknown_0203847C
- ldrb r0, [r0]
- cmp r0, 0
- beq _080976BC
- bl party_compaction
- bl sub_8099310
- b _08097744
- .align 2, 0
-_080976B4: .4byte gMain
-_080976B8: .4byte gUnknown_0203847C
-_080976BC:
- ldr r1, _080976C4 @ =gSharedMem
- movs r0, 0x7
- strb r0, [r1, 0x4]
- b _0809777A
- .align 2, 0
-_080976C4: .4byte gSharedMem
-_080976C8:
- bl sub_8099374
- lsls r0, 24
- cmp r0, 0
- bne _0809777A
- bl sub_809B440
- bl BoxSetMosaic
- bl sub_80987DC
- b _08097744
-_080976E0:
- ldr r0, _080976E8 @ =sub_8096C84
- bl sub_8096BE0
- b _0809777A
- .align 2, 0
-_080976E8: .4byte sub_8096C84
-_080976EC:
- movs r0, 0xA
- b _08097740
-_080976F0:
- ldr r0, _08097700 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _0809777A
- movs r0, 0x15
- b _08097740
- .align 2, 0
-_08097700: .4byte gMain
-_08097704:
- ldr r0, _0809771C @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _0809777A
- bl sub_8098A5C
- bl sub_8099958
- b _08097744
- .align 2, 0
-_0809771C: .4byte gMain
-_08097720:
- bl sub_8099990
- lsls r0, 24
- cmp r0, 0
- bne _0809777A
- bl sub_809B7AC
- movs r0, 0x13
- b _08097740
-_08097732:
- ldr r0, _08097750 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _0809777A
- movs r0, 0x14
-_08097740:
- bl sub_8098898
-_08097744:
- ldr r1, _08097754 @ =gSharedMem
- ldrb r0, [r1, 0x4]
- adds r0, 0x1
- strb r0, [r1, 0x4]
- b _0809777A
- .align 2, 0
-_08097750: .4byte gMain
-_08097754: .4byte gSharedMem
-_08097758:
- ldr r1, _08097760 @ =gSharedMem
- movs r0, 0x8
- strb r0, [r1, 0x4]
- b _0809777A
- .align 2, 0
-_08097760: .4byte gSharedMem
-_08097764:
- ldr r0, _08097780 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _0809777A
- bl sub_8098A5C
- ldr r0, _08097784 @ =sub_8096C84
- bl sub_8096BE0
-_0809777A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08097780: .4byte gMain
-_08097784: .4byte sub_8096C84
- thumb_func_end sub_8097594
-
- thumb_func_start sub_8097788
-sub_8097788: @ 8097788
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r5, _0809779C @ =gSharedMem
- ldrb r4, [r5, 0x4]
- cmp r4, 0
- beq _080977A0
- cmp r4, 0x1
- beq _080977BC
- b _080977D4
- .align 2, 0
-_0809779C: .4byte gSharedMem
-_080977A0:
- bl sub_809BC18
- movs r0, 0x1
- negs r0, r0
- str r4, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldrb r0, [r5, 0x4]
- adds r0, 0x1
- strb r0, [r5, 0x4]
- b _080977D4
-_080977BC:
- bl UpdatePaletteFade
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- bne _080977D4
- ldr r0, _080977DC @ =gUnknown_0203847F
- strb r1, [r0]
- strb r1, [r5, 0x6]
- ldr r0, _080977E0 @ =sub_8096B5C
- bl SetMainCallback2
-_080977D4:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080977DC: .4byte gUnknown_0203847F
-_080977E0: .4byte sub_8096B5C
- thumb_func_end sub_8097788
-
- thumb_func_start sub_80977E4
-sub_80977E4: @ 80977E4
- push {r4,lr}
- ldr r4, _080977F4 @ =gSharedMem
- ldrb r0, [r4, 0x4]
- cmp r0, 0
- beq _080977F8
- cmp r0, 0x1
- beq _08097824
- b _0809784C
- .align 2, 0
-_080977F4: .4byte gSharedMem
-_080977F8:
- movs r0, 0xC
- bl sub_8098898
- ldr r0, _08097820 @ =0x000011f7
- adds r2, r4, r0
- ldrb r1, [r2]
- movs r3, 0x96
- lsls r3, 5
- adds r0, r4, r3
- strb r1, [r0]
- ldrb r0, [r2]
- movs r1, 0xB0
- movs r2, 0x10
- bl sub_80F7418
- ldrb r0, [r4, 0x4]
- adds r0, 0x1
- strb r0, [r4, 0x4]
- b _0809784C
- .align 2, 0
-_08097820: .4byte 0x000011f7
-_08097824:
- bl sub_80F7500
- lsls r0, 24
- cmp r0, 0
- bne _0809784C
- bl sub_80F7470
- bl sub_8098A5C
- movs r1, 0x96
- lsls r1, 5
- adds r0, r4, r1
- ldrb r0, [r0]
- bl sub_809BDD8
- bl sub_809801C
- ldr r0, _08097854 @ =sub_8096C84
- bl sub_8096BE0
-_0809784C:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08097854: .4byte sub_8096C84
- thumb_func_end sub_80977E4
-
- thumb_func_start sub_8097858
-sub_8097858: @ 8097858
- push {r4,lr}
- ldr r4, _08097868 @ =gSharedMem
- ldrb r0, [r4, 0x4]
- cmp r0, 0
- beq _0809786C
- cmp r0, 0x1
- beq _0809787C
- b _08097890
- .align 2, 0
-_08097868: .4byte gSharedMem
-_0809786C:
- bl party_compaction
- bl sub_8099310
- ldrb r0, [r4, 0x4]
- adds r0, 0x1
- strb r0, [r4, 0x4]
- b _08097890
-_0809787C:
- bl sub_8099374
- lsls r0, 24
- cmp r0, 0
- bne _08097890
- bl sub_80987DC
- ldr r0, _08097898 @ =sub_8096C84
- bl sub_8096BE0
-_08097890:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08097898: .4byte sub_8096C84
- thumb_func_end sub_8097858
-
- thumb_func_start sub_809789C
-sub_809789C: @ 809789C
- push {r4,lr}
- ldr r4, _080978AC @ =gSharedMem
- ldrb r0, [r4, 0x4]
- cmp r0, 0
- beq _080978B0
- cmp r0, 0x1
- beq _080978C2
- b _08097968
- .align 2, 0
-_080978AC: .4byte gSharedMem
-_080978B0:
- movs r0, 0x1
- bl sub_8098898
- bl sub_809CE84
- ldrb r0, [r4, 0x4]
- adds r0, 0x1
- strb r0, [r4, 0x4]
- b _08097968
-_080978C2:
- bl sub_809CF30
- adds r0, 0x1
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xC
- bhi _08097968
- lsls r0, 2
- ldr r1, _080978DC @ =_080978E0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080978DC: .4byte _080978E0
- .align 2, 0
-_080978E0:
- .4byte _08097914
- .4byte _08097914
- .4byte _08097968
- .4byte _08097968
- .4byte _08097968
- .4byte _08097968
- .4byte _08097968
- .4byte _08097968
- .4byte _08097968
- .4byte _08097968
- .4byte _08097958
- .4byte _08097940
- .4byte _0809792C
-_08097914:
- movs r0, 0x1
- bl sub_809A860
- bl sub_8098A5C
- ldr r0, _08097928 @ =sub_8096C84
- bl sub_8096BE0
- b _08097968
- .align 2, 0
-_08097928: .4byte sub_8096C84
-_0809792C:
- movs r0, 0x5
- bl PlaySE
- ldr r0, _0809793C @ =sub_8097B44
- bl sub_8096BE0
- b _08097968
- .align 2, 0
-_0809793C: .4byte sub_8097B44
-_08097940:
- movs r0, 0x5
- bl PlaySE
- bl sub_8098A5C
- ldr r0, _08097954 @ =sub_8097974
- bl sub_8096BE0
- b _08097968
- .align 2, 0
-_08097954: .4byte sub_8097974
-_08097958:
- movs r0, 0x5
- bl PlaySE
- bl sub_8098A5C
- ldr r0, _08097970 @ =sub_8097A64
- bl sub_8096BE0
-_08097968:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08097970: .4byte sub_8097A64
- thumb_func_end sub_809789C
-
- thumb_func_start sub_8097974
-sub_8097974: @ 8097974
- push {r4,r5,lr}
- ldr r5, _08097988 @ =gSharedMem
- ldrb r0, [r5, 0x4]
- cmp r0, 0x1
- beq _080979A2
- cmp r0, 0x1
- bgt _0809798C
- cmp r0, 0
- beq _08097996
- b _08097A5A
- .align 2, 0
-_08097988: .4byte gSharedMem
-_0809798C:
- cmp r0, 0x2
- beq _080979FC
- cmp r0, 0x3
- beq _08097A44
- b _08097A5A
-_08097996:
- bl sub_8098A80
- movs r0, 0x2
- bl sub_8098898
- b _08097A3C
-_080979A2:
- bl sub_809CF30
- ldr r1, _080979CC @ =0x00000d5e
- adds r4, r5, r1
- strh r0, [r4]
- movs r1, 0
- ldrsh r0, [r4, r1]
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- bne _080979D4
- movs r0, 0x1
- bl sub_809A860
- bl sub_8098A5C
- ldr r0, _080979D0 @ =sub_8096C84
- bl sub_8096BE0
- b _08097A5A
- .align 2, 0
-_080979CC: .4byte 0x00000d5e
-_080979D0: .4byte sub_8096C84
-_080979D4:
- cmp r0, r1
- blt _08097A5A
- cmp r0, 0xF
- bgt _08097A5A
- cmp r0, 0xC
- blt _08097A5A
- movs r0, 0x5
- bl PlaySE
- ldrh r0, [r4]
- subs r0, 0xC
- strh r0, [r4]
- lsls r0, 24
- lsrs r0, 24
- bl sub_8098AA8
- movs r0, 0x3
- bl sub_8098898
- b _08097A3C
-_080979FC:
- bl sub_809CF30
- movs r1, 0xD6
- lsls r1, 4
- adds r4, r5, r1
- strh r0, [r4]
- movs r0, 0
- ldrsh r1, [r4, r0]
- movs r0, 0x2
- negs r0, r0
- cmp r1, r0
- beq _08097A5A
- adds r0, 0x1
- cmp r1, r0
- bne _08097A24
- bl sub_8098A5C
- movs r0, 0
- strb r0, [r5, 0x4]
- b _08097A5A
-_08097A24:
- movs r0, 0x5
- bl PlaySE
- bl sub_8098A5C
- ldrh r0, [r4]
- subs r0, 0x10
- strh r0, [r4]
- lsls r0, 24
- lsrs r0, 24
- bl sub_8099DCC
-_08097A3C:
- ldrb r0, [r5, 0x4]
- adds r0, 0x1
- strb r0, [r5, 0x4]
- b _08097A5A
-_08097A44:
- bl sub_8099E08
- lsls r0, 24
- cmp r0, 0
- bne _08097A5A
- movs r0, 0x1
- bl sub_809A860
- ldr r0, _08097A60 @ =sub_8096C84
- bl sub_8096BE0
-_08097A5A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08097A60: .4byte sub_8096C84
- thumb_func_end sub_8097974
-
- thumb_func_start sub_8097A64
-sub_8097A64: @ 8097A64
- push {r4,r5,lr}
- ldr r5, _08097A78 @ =gSharedMem
- ldrb r0, [r5, 0x4]
- cmp r0, 0x1
- beq _08097AB0
- cmp r0, 0x1
- bgt _08097A7C
- cmp r0, 0
- beq _08097A86
- b _08097B32
- .align 2, 0
-_08097A78: .4byte gSharedMem
-_08097A7C:
- cmp r0, 0x2
- beq _08097B00
- cmp r0, 0x3
- beq _08097B18
- b _08097B32
-_08097A86:
- movs r0, 0x5
- bl sub_8098898
- ldr r1, _08097AA4 @ =0x00002370
- adds r0, r5, r1
- ldr r2, _08097AA8 @ =0x0000daca
- movs r1, 0x7
- movs r3, 0x3
- bl sub_8096264
- ldr r0, _08097AAC @ =gPokemonStorage
- ldrb r0, [r0]
- bl sub_809634C
- b _08097B0A
- .align 2, 0
-_08097AA4: .4byte 0x00002370
-_08097AA8: .4byte 0x0000daca
-_08097AAC: .4byte gPokemonStorage
-_08097AB0:
- bl sub_8096368
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _08097AF4 @ =0x000008b2
- adds r4, r5, r2
- strh r0, [r4]
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, 0xC8
- beq _08097B32
- bl sub_8098A5C
- bl sub_809635C
- bl sub_8096310
- movs r2, 0
- ldrsh r0, [r4, r2]
- cmp r0, 0xC9
- beq _08097AE4
- adds r1, r0, 0
- ldr r0, _08097AF8 @ =gPokemonStorage
- ldrb r0, [r0]
- cmp r1, r0
- bne _08097B0A
-_08097AE4:
- movs r0, 0x1
- bl sub_809A860
- ldr r0, _08097AFC @ =sub_8096C84
- bl sub_8096BE0
- b _08097B32
- .align 2, 0
-_08097AF4: .4byte 0x000008b2
-_08097AF8: .4byte gPokemonStorage
-_08097AFC: .4byte sub_8096C84
-_08097B00:
- ldr r1, _08097B14 @ =0x000008b2
- adds r0, r5, r1
- ldrb r0, [r0]
- bl sub_8099C70
-_08097B0A:
- ldrb r0, [r5, 0x4]
- adds r0, 0x1
- strb r0, [r5, 0x4]
- b _08097B32
- .align 2, 0
-_08097B14: .4byte 0x000008b2
-_08097B18:
- bl sub_8099D34
- lsls r0, 24
- cmp r0, 0
- bne _08097B32
- ldr r1, _08097B38 @ =gPokemonStorage
- ldr r2, _08097B3C @ =0x000008b2
- adds r0, r5, r2
- ldrh r0, [r0]
- strb r0, [r1]
- ldr r0, _08097B40 @ =sub_8096C84
- bl sub_8096BE0
-_08097B32:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08097B38: .4byte gPokemonStorage
-_08097B3C: .4byte 0x000008b2
-_08097B40: .4byte sub_8096C84
- thumb_func_end sub_8097A64
-
- thumb_func_start sub_8097B44
-sub_8097B44: @ 8097B44
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r5, _08097B58 @ =gSharedMem
- ldrb r4, [r5, 0x4]
- cmp r4, 0
- beq _08097B5C
- cmp r4, 0x1
- beq _08097B78
- b _08097B8E
- .align 2, 0
-_08097B58: .4byte gSharedMem
-_08097B5C:
- bl sub_809BB90
- movs r0, 0x1
- negs r0, r0
- str r4, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldrb r0, [r5, 0x4]
- adds r0, 0x1
- strb r0, [r5, 0x4]
- b _08097B8E
-_08097B78:
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- bne _08097B8E
- ldr r0, _08097B98 @ =gUnknown_0203847F
- strb r4, [r0]
- strb r4, [r5, 0x6]
- ldr r0, _08097B9C @ =sub_8096B5C
- bl SetMainCallback2
-_08097B8E:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08097B98: .4byte gUnknown_0203847F
-_08097B9C: .4byte sub_8096B5C
- thumb_func_end sub_8097B44
-
- thumb_func_start sub_8097BA0
-sub_8097BA0: @ 8097BA0
- push {r4,lr}
- ldr r0, _08097BB8 @ =gSharedMem
- ldrb r1, [r0, 0x4]
- adds r4, r0, 0
- cmp r1, 0x4
- bls _08097BAE
- b _08097CB0
-_08097BAE:
- lsls r0, r1, 2
- ldr r1, _08097BBC @ =_08097BC0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08097BB8: .4byte gSharedMem
-_08097BBC: .4byte _08097BC0
- .align 2, 0
-_08097BC0:
- .4byte _08097BD4
- .4byte _08097C18
- .4byte _08097C2C
- .4byte _08097C74
- .4byte _08097C98
-_08097BD4:
- bl sub_809BF20
- lsls r0, 24
- cmp r0, 0
- beq _08097BF8
- movs r0, 0x20
- bl PlaySE
- movs r0, 0xF
- bl sub_8098898
- ldr r1, _08097BF4 @ =gSharedMem
- movs r0, 0x1
- strb r0, [r1, 0x4]
- b _08097CB0
- .align 2, 0
-_08097BF4: .4byte gSharedMem
-_08097BF8:
- movs r0, 0x5
- bl PlaySE
- movs r0, 0
- bl sub_8098898
- movs r0, 0
- bl sub_8098A38
- ldr r1, _08097C14 @ =gSharedMem
- movs r0, 0x2
- strb r0, [r1, 0x4]
- b _08097CB0
- .align 2, 0
-_08097C14: .4byte gSharedMem
-_08097C18:
- ldr r0, _08097C28 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0xF3
- ands r0, r1
- cmp r0, 0
- beq _08097CB0
- b _08097C4A
- .align 2, 0
-_08097C28: .4byte gMain
-_08097C2C:
- bl Menu_ProcessInputNoWrap
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _08097C5C
- cmp r1, 0
- bgt _08097C46
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _08097C4A
- b _08097CB0
-_08097C46:
- cmp r1, 0x1
- bne _08097CB0
-_08097C4A:
- bl sub_8098A5C
- ldr r0, _08097C58 @ =sub_8096C84
- bl sub_8096BE0
- b _08097CB0
- .align 2, 0
-_08097C58: .4byte sub_8096C84
-_08097C5C:
- movs r0, 0x3
- bl PlaySE
- bl sub_8098A5C
- ldr r1, _08097C70 @ =gSharedMem
- ldrb r0, [r1, 0x4]
- adds r0, 0x1
- strb r0, [r1, 0x4]
- b _08097CB0
- .align 2, 0
-_08097C70: .4byte gSharedMem
-_08097C74:
- movs r1, 0
- movs r0, 0xE
- strh r0, [r4, 0xC]
- ldr r0, _08097C94 @ =0x0000dad0
- strh r0, [r4, 0xE]
- movs r0, 0x14
- strh r0, [r4, 0x10]
- strh r1, [r4, 0x12]
- adds r0, r4, 0
- adds r0, 0xC
- bl sub_80C5E38
- ldrb r0, [r4, 0x4]
- adds r0, 0x1
- strb r0, [r4, 0x4]
- b _08097CB0
- .align 2, 0
-_08097C94: .4byte 0x0000dad0
-_08097C98:
- bl sub_80C5F98
- lsls r0, 24
- cmp r0, 0
- beq _08097CB0
- bl CalculatePlayerPartyCount
- ldr r1, _08097CB8 @ =gPlayerPartyCount
- strb r0, [r1]
- ldr r0, _08097CBC @ =sub_80961A8
- bl SetMainCallback2
-_08097CB0:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08097CB8: .4byte gPlayerPartyCount
-_08097CBC: .4byte sub_80961A8
- thumb_func_end sub_8097BA0
-
- thumb_func_start sub_8097CC0
-sub_8097CC0: @ 8097CC0
- push {r4,lr}
- ldr r0, _08097CD8 @ =gSharedMem
- ldrb r1, [r0, 0x4]
- adds r4, r0, 0
- cmp r1, 0x4
- bls _08097CCE
- b _08097DD0
-_08097CCE:
- lsls r0, r1, 2
- ldr r1, _08097CDC @ =_08097CE0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08097CD8: .4byte gSharedMem
-_08097CDC: .4byte _08097CE0
- .align 2, 0
-_08097CE0:
- .4byte _08097CF4
- .4byte _08097D38
- .4byte _08097D4C
- .4byte _08097D94
- .4byte _08097DB8
-_08097CF4:
- bl sub_809BF20
- lsls r0, 24
- cmp r0, 0
- beq _08097D18
- movs r0, 0x20
- bl PlaySE
- movs r0, 0xF
- bl sub_8098898
- ldr r1, _08097D14 @ =gSharedMem
- movs r0, 0x1
- strb r0, [r1, 0x4]
- b _08097DD0
- .align 2, 0
-_08097D14: .4byte gSharedMem
-_08097D18:
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x12
- bl sub_8098898
- movs r0, 0
- bl sub_8098A38
- ldr r1, _08097D34 @ =gSharedMem
- movs r0, 0x2
- strb r0, [r1, 0x4]
- b _08097DD0
- .align 2, 0
-_08097D34: .4byte gSharedMem
-_08097D38:
- ldr r0, _08097D48 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0xF3
- ands r0, r1
- cmp r0, 0
- beq _08097DD0
- b _08097D6C
- .align 2, 0
-_08097D48: .4byte gMain
-_08097D4C:
- bl Menu_ProcessInputNoWrap
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _08097D6C
- cmp r1, 0
- bgt _08097D66
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _08097D7C
- b _08097DD0
-_08097D66:
- cmp r1, 0x1
- beq _08097D7C
- b _08097DD0
-_08097D6C:
- bl sub_8098A5C
- ldr r0, _08097D78 @ =sub_8096C84
- bl sub_8096BE0
- b _08097DD0
- .align 2, 0
-_08097D78: .4byte sub_8096C84
-_08097D7C:
- movs r0, 0x3
- bl PlaySE
- bl sub_8098A5C
- ldr r1, _08097D90 @ =gSharedMem
- ldrb r0, [r1, 0x4]
- adds r0, 0x1
- strb r0, [r1, 0x4]
- b _08097DD0
- .align 2, 0
-_08097D90: .4byte gSharedMem
-_08097D94:
- movs r1, 0
- movs r0, 0xE
- strh r0, [r4, 0xC]
- ldr r0, _08097DB4 @ =0x0000dad0
- strh r0, [r4, 0xE]
- movs r0, 0x14
- strh r0, [r4, 0x10]
- strh r1, [r4, 0x12]
- adds r0, r4, 0
- adds r0, 0xC
- bl sub_80C5E38
- ldrb r0, [r4, 0x4]
- adds r0, 0x1
- strb r0, [r4, 0x4]
- b _08097DD0
- .align 2, 0
-_08097DB4: .4byte 0x0000dad0
-_08097DB8:
- bl sub_80C5F98
- lsls r0, 24
- cmp r0, 0
- beq _08097DD0
- bl CalculatePlayerPartyCount
- ldr r1, _08097DD8 @ =gPlayerPartyCount
- strb r0, [r1]
- ldr r0, _08097DDC @ =sub_80961A8
- bl SetMainCallback2
-_08097DD0:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08097DD8: .4byte gPlayerPartyCount
-_08097DDC: .4byte sub_80961A8
- thumb_func_end sub_8097CC0
-
- thumb_func_start sub_8097DE0
-sub_8097DE0: @ 8097DE0
- push {lr}
- ldr r1, _08097E1C @ =gSharedMem
- movs r0, 0
- strb r0, [r1, 0x7]
- strh r0, [r1, 0x8]
- strh r0, [r1, 0xA]
- ldr r1, _08097E20 @ =REG_BG3CNT
- ldr r2, _08097E24 @ =0x00001e0f
- adds r0, r2, 0
- strh r0, [r1]
- ldr r1, _08097E28 @ =gPokemonStorageScrollingBGTile
- ldr r2, _08097E2C @ =0x0600e000
- ldr r0, _08097E30 @ =0x040000d4
- str r1, [r0]
- str r2, [r0, 0x4]
- ldr r1, _08097E34 @ =0x80000010
- str r1, [r0, 0x8]
- ldr r0, [r0, 0x8]
- ldr r0, _08097E38 @ =gPokemonStorageScrollingBGTilemap
- ldr r1, _08097E3C @ =0x0600f000
- bl LZ77UnCompVram
- ldr r0, _08097E40 @ =gPokemonStorageScrollingBGPalette
- movs r1, 0xD0
- movs r2, 0x10
- bl LoadPalette
- pop {r0}
- bx r0
- .align 2, 0
-_08097E1C: .4byte gSharedMem
-_08097E20: .4byte REG_BG3CNT
-_08097E24: .4byte 0x00001e0f
-_08097E28: .4byte gPokemonStorageScrollingBGTile
-_08097E2C: .4byte 0x0600e000
-_08097E30: .4byte 0x040000d4
-_08097E34: .4byte 0x80000010
-_08097E38: .4byte gPokemonStorageScrollingBGTilemap
-_08097E3C: .4byte 0x0600f000
-_08097E40: .4byte gPokemonStorageScrollingBGPalette
- thumb_func_end sub_8097DE0
-
- thumb_func_start sub_8097E44
-sub_8097E44: @ 8097E44
- push {lr}
- ldr r1, _08097E6C @ =gSharedMem
- ldrb r0, [r1, 0x7]
- adds r0, 0x1
- strb r0, [r1, 0x7]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bls _08097E66
- movs r0, 0
- strb r0, [r1, 0x7]
- ldrh r0, [r1, 0x8]
- subs r0, 0x1
- strh r0, [r1, 0x8]
- ldrh r0, [r1, 0xA]
- adds r0, 0x1
- strh r0, [r1, 0xA]
-_08097E66:
- pop {r0}
- bx r0
- .align 2, 0
-_08097E6C: .4byte gSharedMem
- thumb_func_end sub_8097E44
-
- thumb_func_start sub_8097E70
-sub_8097E70: @ 8097E70
- push {r4,lr}
- sub sp, 0x10
- ldr r0, _08097F2C @ =gPSSMenuHeader_Gfx
- ldr r1, _08097F30 @ =0x06005000
- bl LZ77UnCompVram
- ldr r0, _08097F34 @ =gPSSMenuHeader_Tilemap
- ldr r4, _08097F38 @ =gUnknown_02039760
- adds r1, r4, 0
- bl LZ77UnCompWram
- ldr r0, _08097F3C @ =0x06007800
- movs r1, 0
- str r1, [sp]
- str r1, [sp, 0x4]
- movs r1, 0xA
- str r1, [sp, 0x8]
- movs r1, 0x14
- str r1, [sp, 0xC]
- movs r1, 0
- movs r2, 0
- adds r3, r4, 0
- bl sub_809D034
- ldr r0, _08097F40 @ =gPSSMenu1_Pal
- movs r1, 0x10
- movs r2, 0x20
- bl LoadPalette
- ldr r0, _08097F44 @ =gPSSMenu2_Pal
- movs r1, 0
- movs r2, 0x20
- bl LoadPalette
- ldr r0, _08097F48 @ =gUnknown_083B6D74
- movs r1, 0xB0
- movs r2, 0x20
- bl LoadPalette
- ldr r0, _08097F4C @ =gUnknown_083B6D94
- movs r1, 0xC0
- movs r2, 0x20
- bl LoadPalette
- ldr r4, _08097F50 @ =gUnknownPalette_81E6692+0x2
- adds r0, r4, 0
- movs r1, 0xF1
- movs r2, 0x2
- bl LoadPalette
- adds r0, r4, 0
- movs r1, 0xF2
- movs r2, 0x2
- bl LoadPalette
- adds r0, r4, 0
- adds r0, 0x8
- movs r1, 0xF3
- movs r2, 0x2
- bl LoadPalette
- adds r0, r4, 0
- adds r0, 0x16
- movs r1, 0xF4
- movs r2, 0x4
- bl LoadPalette
- adds r0, r4, 0
- adds r0, 0x12
- movs r1, 0xF6
- movs r2, 0x4
- bl LoadPalette
- adds r4, 0x2
- adds r0, r4, 0
- movs r1, 0xFF
- movs r2, 0x2
- bl LoadPalette
- ldr r0, _08097F54 @ =gWaveformSpritePalette
- bl LoadSpritePalette
- bl sub_80980D4
- bl sub_8097F58
- bl sub_8097FB8
- bl sub_809801C
- add sp, 0x10
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08097F2C: .4byte gPSSMenuHeader_Gfx
-_08097F30: .4byte 0x06005000
-_08097F34: .4byte gPSSMenuHeader_Tilemap
-_08097F38: .4byte gUnknown_02039760
-_08097F3C: .4byte 0x06007800
-_08097F40: .4byte gPSSMenu1_Pal
-_08097F44: .4byte gPSSMenu2_Pal
-_08097F48: .4byte gUnknown_083B6D74
-_08097F4C: .4byte gUnknown_083B6D94
-_08097F50: .4byte gUnknownPalette_81E6692+0x2
-_08097F54: .4byte gWaveformSpritePalette
- thumb_func_end sub_8097E70
-
- thumb_func_start sub_8097F58
-sub_8097F58: @ 8097F58
- push {r4,lr}
- ldr r1, _08097FA4 @ =0x0000dace
- movs r0, 0xD
- movs r2, 0
- bl sub_80F7940
- ldr r4, _08097FA8 @ =gSharedMem
- ldr r1, _08097FAC @ =0x000012ac
- adds r3, r4, r1
- str r0, [r3]
- ldrb r2, [r0, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r2
- strb r1, [r0, 0x5]
- ldr r0, [r3]
- adds r0, 0x43
- movs r1, 0x1
- strb r1, [r0]
- ldr r1, [r3]
- movs r0, 0x28
- strh r0, [r1, 0x20]
- ldr r1, [r3]
- movs r0, 0x95
- strh r0, [r1, 0x22]
- movs r0, 0xD
- bl GetSpriteTileStartByTag
- ldr r1, _08097FB0 @ =0x000012b8
- adds r4, r1
- lsls r0, 16
- lsrs r0, 11
- ldr r1, _08097FB4 @ =0x06010000
- adds r0, r1
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08097FA4: .4byte 0x0000dace
-_08097FA8: .4byte gSharedMem
-_08097FAC: .4byte 0x000012ac
-_08097FB0: .4byte 0x000012b8
-_08097FB4: .4byte 0x06010000
- thumb_func_end sub_8097F58
-
- thumb_func_start sub_8097FB8
-sub_8097FB8: @ 8097FB8
- push {r4,r5,lr}
- sub sp, 0x8
- ldr r0, _0809800C @ =gWaveformSpriteSheet
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp]
- str r1, [sp, 0x4]
- mov r0, sp
- bl LoadSpriteSheet
- movs r4, 0
- ldr r5, _08098010 @ =gSharedMem + 0x12B0
-_08097FD0:
- lsls r1, r4, 6
- subs r1, r4
- adds r1, 0x8
- lsls r1, 16
- asrs r1, 16
- ldr r0, _08098014 @ =gSpriteTemplate_83B6EFC
- movs r2, 0x9
- movs r3, 0x2
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r2, r4, 2
- adds r2, r5
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, _08098018 @ =gSprites
- adds r1, r0
- str r1, [r2]
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x1
- bls _08097FD0
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0809800C: .4byte gWaveformSpriteSheet
-_08098010: .4byte gSharedMem + 0x12B0
-_08098014: .4byte gSpriteTemplate_83B6EFC
-_08098018: .4byte gSprites
- thumb_func_end sub_8097FB8
-
- thumb_func_start sub_809801C
-sub_809801C: @ 809801C
- push {lr}
- ldr r1, _0809803C @ =gSharedMem
- ldr r2, _08098040 @ =0x000011f0
- adds r0, r1, r2
- ldrh r0, [r0]
- subs r2, 0x4
- adds r1, r2
- ldr r1, [r1]
- bl sub_80981F0
- bl sub_80982B4
- bl sub_8098350
- pop {r0}
- bx r0
- .align 2, 0
-_0809803C: .4byte gSharedMem
-_08098040: .4byte 0x000011f0
- thumb_func_end sub_809801C
-
- thumb_func_start BoxSetMosaic
-BoxSetMosaic: @ 8098044
- push {lr}
- bl sub_809801C
- ldr r0, _08098084 @ =gSharedMem
- movs r1, 0x9C
- lsls r1, 6
- adds r3, r0, r1
- ldr r2, [r3]
- cmp r2, 0
- beq _08098080
- ldrb r0, [r2, 0x1]
- movs r1, 0x10
- orrs r0, r1
- strb r0, [r2, 0x1]
- ldr r1, [r3]
- movs r0, 0xA
- strh r0, [r1, 0x2E]
- ldr r1, [r3]
- movs r0, 0x1
- strh r0, [r1, 0x30]
- ldr r1, [r3]
- ldr r0, _08098088 @ =sub_8098090
- str r0, [r1, 0x1C]
- ldr r2, _0809808C @ =REG_MOSAIC
- ldr r0, [r3]
- ldrh r0, [r0, 0x2E]
- lsls r1, r0, 12
- lsls r0, 8
- orrs r1, r0
- strh r1, [r2]
-_08098080:
- pop {r0}
- bx r0
- .align 2, 0
-_08098084: .4byte gSharedMem
-_08098088: .4byte sub_8098090
-_0809808C: .4byte REG_MOSAIC
- thumb_func_end BoxSetMosaic
-
- thumb_func_start sub_8098090
-sub_8098090: @ 8098090
- push {lr}
- adds r3, r0, 0
- ldrh r0, [r3, 0x2E]
- ldrh r1, [r3, 0x30]
- subs r0, r1
- strh r0, [r3, 0x2E]
- lsls r0, 16
- cmp r0, 0
- bge _080980A6
- movs r0, 0
- strh r0, [r3, 0x2E]
-_080980A6:
- ldr r2, _080980CC @ =REG_MOSAIC
- ldrh r0, [r3, 0x2E]
- lsls r1, r0, 12
- lsls r0, 8
- orrs r1, r0
- strh r1, [r2]
- movs r1, 0x2E
- ldrsh r0, [r3, r1]
- cmp r0, 0
- bne _080980C8
- ldrb r0, [r3, 0x1]
- movs r1, 0x11
- negs r1, r1
- ands r1, r0
- strb r1, [r3, 0x1]
- ldr r0, _080980D0 @ =SpriteCallbackDummy
- str r0, [r3, 0x1C]
-_080980C8:
- pop {r0}
- bx r0
- .align 2, 0
-_080980CC: .4byte REG_MOSAIC
-_080980D0: .4byte SpriteCallbackDummy
- thumb_func_end sub_8098090
-
- thumb_func_start sub_80980D4
-sub_80980D4: @ 80980D4
- push {r4,r5,lr}
- sub sp, 0x28
- ldr r0, _08098150 @ =gUnknown_083B6DCC
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp, 0x18]
- str r1, [sp, 0x1C]
- ldr r0, _08098154 @ =gUnknown_083B6DD4
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp, 0x20]
- str r1, [sp, 0x24]
- mov r1, sp
- ldr r0, _08098158 @ =gSpriteTemplate_83B6DDC
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- movs r1, 0
- add r5, sp, 0x18
- ldr r4, _0809815C @ =gSharedMem + 0x2784
- movs r3, 0
- ldr r2, _08098160 @ =0x000007ff
-_08098102:
- adds r0, r1, r4
- strb r3, [r0]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, r2
- bls _08098102
- movs r1, 0
- ldr r3, _08098164 @ =gSharedMem + 0x2704
- movs r2, 0
-_08098116:
- lsls r0, r1, 1
- adds r0, r3
- strh r2, [r0]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0xF
- bls _08098116
- ldr r0, _08098168 @ =gSharedMem
- movs r1, 0x9C
- lsls r1, 6
- adds r0, r1
- movs r1, 0
- str r1, [r0]
- adds r0, r5, 0
- bl LoadSpriteSheet
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0
- beq _080981C4
- add r0, sp, 0x20
- bl LoadSpritePalette
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0xFF
- beq _080981C4
- b _080981B0
- .align 2, 0
-_08098150: .4byte gUnknown_083B6DCC
-_08098154: .4byte gUnknown_083B6DD4
-_08098158: .4byte gSpriteTemplate_83B6DDC
-_0809815C: .4byte gSharedMem + 0x2784
-_08098160: .4byte 0x000007ff
-_08098164: .4byte gSharedMem + 0x2704
-_08098168: .4byte gSharedMem
-_0809816C:
- ldr r2, _0809819C @ =gSharedMem
- movs r0, 0x9C
- lsls r0, 6
- adds r3, r2, r0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080981A0 @ =gSprites
- adds r0, r1
- str r0, [r3]
- lsls r0, r4, 4
- movs r1, 0x80
- lsls r1, 1
- adds r0, r1
- ldr r3, _080981A4 @ =0x000026fa
- adds r1, r2, r3
- strh r0, [r1]
- ldr r4, _080981A8 @ =0x000026fc
- adds r2, r4
- lsls r0, r5, 5
- ldr r1, _080981AC @ =0x06010000
- adds r0, r1
- str r0, [r2]
- b _080981C4
- .align 2, 0
-_0809819C: .4byte gSharedMem
-_080981A0: .4byte gSprites
-_080981A4: .4byte 0x000026fa
-_080981A8: .4byte 0x000026fc
-_080981AC: .4byte 0x06010000
-_080981B0:
- 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 _0809816C
-_080981C4:
- ldr r0, _080981E8 @ =gSharedMem
- movs r2, 0x9C
- lsls r2, 6
- adds r0, r2
- ldr r0, [r0]
- cmp r0, 0
- bne _080981DE
- movs r0, 0x2
- bl FreeSpriteTilesByTag
- ldr r0, _080981EC @ =0x0000dac7
- bl FreeSpritePaletteByTag
-_080981DE:
- add sp, 0x28
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080981E8: .4byte gSharedMem
-_080981EC: .4byte 0x0000dac7
- thumb_func_end sub_80980D4
-
- thumb_func_start sub_80981F0
-sub_80981F0: @ 80981F0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0xC
- adds r7, r1, 0
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r6, _08098274 @ =gSharedMem
- movs r0, 0x9C
- lsls r0, 6
- adds r0, r6
- mov r8, r0
- ldr r0, [r0]
- cmp r0, 0
- beq _080982A6
- cmp r4, 0
- beq _0809829C
- lsls r0, r4, 3
- ldr r1, _08098278 @ =gMonFrontPicTable
- adds r0, r1
- ldr r2, _0809827C @ =gMonFrontPicCoords
- lsls r1, r4, 2
- adds r1, r2
- ldrb r1, [r1]
- ldr r2, _08098280 @ =0x00004784
- adds r3, r6, r2
- ldr r2, _08098284 @ =0x00002784
- adds r5, r6, r2
- str r5, [sp]
- str r4, [sp, 0x4]
- str r7, [sp, 0x8]
- movs r2, 0x1
- bl HandleLoadSpecialPokePic
- ldr r1, _08098288 @ =0x000011e8
- adds r0, r6, r1
- ldr r0, [r0]
- ldr r2, _0809828C @ =0x00002704
- adds r4, r6, r2
- adds r1, r4, 0
- bl LZ77UnCompWram
- ldr r1, _08098290 @ =0x000026fc
- adds r0, r6, r1
- ldr r1, [r0]
- ldr r2, _08098294 @ =0x04000200
- adds r0, r5, 0
- bl CpuSet
- ldr r2, _08098298 @ =0x000026fa
- adds r0, r6, r2
- ldrh r1, [r0]
- adds r0, r4, 0
- movs r2, 0x20
- bl LoadPalette
- mov r0, r8
- ldr r1, [r0]
- adds r1, 0x3E
- ldrb r2, [r1]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- b _080982A6
- .align 2, 0
-_08098274: .4byte gSharedMem
-_08098278: .4byte gMonFrontPicTable
-_0809827C: .4byte gMonFrontPicCoords
-_08098280: .4byte 0x00004784
-_08098284: .4byte 0x00002784
-_08098288: .4byte 0x000011e8
-_0809828C: .4byte 0x00002704
-_08098290: .4byte 0x000026fc
-_08098294: .4byte 0x04000200
-_08098298: .4byte 0x000026fa
-_0809829C:
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
-_080982A6:
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80981F0
-
- thumb_func_start sub_80982B4
-sub_80982B4: @ 80982B4
- push {r4,lr}
- ldr r4, _080982E4 @ =gSharedMem
- ldr r1, _080982E8 @ =0x000011f0
- adds r0, r4, r1
- ldrh r0, [r0]
- cmp r0, 0
- beq _080982F4
- ldr r2, _080982EC @ =0x000011f7
- adds r0, r4, r2
- ldrb r0, [r0]
- adds r2, 0xC1
- adds r1, r4, r2
- ldr r1, [r1]
- bl sub_80F7A10
- ldr r1, _080982F0 @ =0x000012ac
- adds r0, r4, r1
- ldr r1, [r0]
- adds r1, 0x3E
- ldrb r2, [r1]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- b _08098302
- .align 2, 0
-_080982E4: .4byte gSharedMem
-_080982E8: .4byte 0x000011f0
-_080982EC: .4byte 0x000011f7
-_080982F0: .4byte 0x000012ac
-_080982F4:
- ldr r2, _08098348 @ =0x000012ac
- adds r0, r4, r2
- ldr r1, [r0]
- adds r1, 0x3E
- ldrb r0, [r1]
- movs r2, 0x4
- orrs r0, r2
-_08098302:
- strb r0, [r1]
- movs r0, 0
- movs r1, 0xB
- movs r2, 0x9
- movs r3, 0x11
- bl Menu_EraseWindowRect
- ldr r4, _0809834C @ =gSharedMem + 0x127A
- adds r0, r4, 0
- movs r1, 0x1
- movs r2, 0x10
- bl Menu_PrintText
- adds r0, r4, 0
- subs r0, 0x6B
- movs r1, 0x1
- movs r2, 0xB
- bl Menu_PrintText
- adds r0, r4, 0
- subs r0, 0x46
- movs r1, 0
- movs r2, 0xD
- bl Menu_PrintText
- subs r4, 0x21
- adds r0, r4, 0
- movs r1, 0x1
- movs r2, 0xF
- bl Menu_PrintText
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08098348: .4byte 0x000012ac
-_0809834C: .4byte gSharedMem + 0x127A
- thumb_func_end sub_80982B4
-
- thumb_func_start sub_8098350
-sub_8098350: @ 8098350
- push {r4,r5,lr}
- sub sp, 0x10
- ldr r5, _080983A0 @ =gSharedMem
- ldr r1, _080983A4 @ =0x000011f0
- adds r0, r5, r1
- ldrh r2, [r0]
- cmp r2, 0
- beq _080983B4
- ldr r0, _080983A8 @ =0x06007800
- ldr r3, _080983AC @ =gUnknown_02039760
- movs r1, 0x1
- str r1, [sp]
- movs r1, 0
- str r1, [sp, 0x4]
- movs r1, 0x8
- str r1, [sp, 0x8]
- movs r1, 0x2
- str r1, [sp, 0xC]
- movs r1, 0x1
- movs r2, 0
- bl sub_809D034
- movs r4, 0
- ldr r0, _080983B0 @ =0x000012b0
- adds r5, r0
-_08098382:
- lsls r0, r4, 2
- adds r0, r5
- 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 _08098382
- b _080983EC
- .align 2, 0
-_080983A0: .4byte gSharedMem
-_080983A4: .4byte 0x000011f0
-_080983A8: .4byte 0x06007800
-_080983AC: .4byte gUnknown_02039760
-_080983B0: .4byte 0x000012b0
-_080983B4:
- ldr r0, _080983F4 @ =0x06007800
- ldr r3, _080983F8 @ =gUnknown_02039760
- movs r1, 0xA
- str r1, [sp]
- str r2, [sp, 0x4]
- movs r1, 0x8
- str r1, [sp, 0x8]
- movs r1, 0x2
- str r1, [sp, 0xC]
- movs r1, 0x1
- movs r2, 0
- bl sub_809D034
- movs r4, 0
- ldr r1, _080983FC @ =0x000012b0
- adds r5, r1
-_080983D4:
- lsls r0, r4, 2
- adds r0, r5
- 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 _080983D4
-_080983EC:
- add sp, 0x10
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080983F4: .4byte 0x06007800
-_080983F8: .4byte gUnknown_02039760
-_080983FC: .4byte 0x000012b0
- thumb_func_end sub_8098350
-
- thumb_func_start sub_8098400
-sub_8098400: @ 8098400
- push {r4,r5,lr}
- sub sp, 0x14
- ldr r1, _0809847C @ =REG_BG1CNT
- ldr r2, _08098480 @ =0x00000f01
- adds r0, r2, 0
- strh r0, [r1]
- ldr r0, _08098484 @ =gPSSMenuMisc_Gfx
- ldr r1, _08098488 @ =0x06006800
- bl LZ77UnCompVram
- ldr r0, _0809848C @ =gPSSMenuMisc_Tilemap
- ldr r5, _08098490 @ =gSharedMem + 0xA8
- adds r1, r5, 0
- bl LZ77UnCompWram
- ldr r0, _08098494 @ =gPSSMenu3_Pal
- movs r1, 0x20
- movs r2, 0x20
- bl LoadPalette
- ldr r0, _08098498 @ =gPSSMenu4_Pal
- movs r1, 0x30
- movs r2, 0x20
- bl LoadPalette
- ldr r4, _0809849C @ =0x06007800
- add r1, sp, 0x10
- movs r0, 0
- strh r0, [r1]
- ldr r0, _080984A0 @ =0x040000d4
- str r1, [r0]
- str r4, [r0, 0x4]
- ldr r1, _080984A4 @ =0x81000400
- str r1, [r0, 0x8]
- ldr r0, [r0, 0x8]
- bl sub_8098780
- ldr r0, _080984A8 @ =gUnknown_0203847C
- ldrb r0, [r0]
- cmp r0, 0
- beq _080984AC
- movs r0, 0x1
- bl sub_8098690
- movs r0, 0x1
- bl sub_8099200
- movs r0, 0
- str r0, [sp]
- str r0, [sp, 0x4]
- movs r0, 0xC
- str r0, [sp, 0x8]
- movs r0, 0x16
- str r0, [sp, 0xC]
- adds r0, r4, 0
- movs r1, 0xA
- movs r2, 0
- adds r3, r5, 0
- bl sub_809D034
- b _080984CC
- .align 2, 0
-_0809847C: .4byte REG_BG1CNT
-_08098480: .4byte 0x00000f01
-_08098484: .4byte gPSSMenuMisc_Gfx
-_08098488: .4byte 0x06006800
-_0809848C: .4byte gPSSMenuMisc_Tilemap
-_08098490: .4byte gSharedMem + 0xA8
-_08098494: .4byte gPSSMenu3_Pal
-_08098498: .4byte gPSSMenu4_Pal
-_0809849C: .4byte 0x06007800
-_080984A0: .4byte 0x040000d4
-_080984A4: .4byte 0x81000400
-_080984A8: .4byte gUnknown_0203847C
-_080984AC:
- str r0, [sp]
- movs r0, 0x14
- str r0, [sp, 0x4]
- movs r0, 0xC
- str r0, [sp, 0x8]
- movs r0, 0x2
- str r0, [sp, 0xC]
- adds r0, r4, 0
- movs r1, 0xA
- movs r2, 0
- adds r3, r5, 0
- bl sub_809D034
- movs r0, 0x1
- bl sub_8098690
-_080984CC:
- ldr r0, _080984E0 @ =gSharedMem
- ldr r1, _080984E4 @ =0x000008af
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- add sp, 0x14
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080984E0: .4byte gSharedMem
-_080984E4: .4byte 0x000008af
- thumb_func_end sub_8098400
-
- thumb_func_start sub_80984E8
-sub_80984E8: @ 80984E8
- push {lr}
- ldr r1, _08098510 @ =gSharedMem
- ldr r0, _08098514 @ =0x000008a8
- adds r2, r1, r0
- movs r3, 0
- movs r0, 0x14
- strh r0, [r2]
- ldr r0, _08098518 @ =0x000008aa
- adds r2, r1, r0
- movs r0, 0x2
- strh r0, [r2]
- ldr r0, _0809851C @ =0x000008ad
- adds r1, r0
- strb r3, [r1]
- movs r0, 0
- bl sub_8099200
- pop {r0}
- bx r0
- .align 2, 0
-_08098510: .4byte gSharedMem
-_08098514: .4byte 0x000008a8
-_08098518: .4byte 0x000008aa
-_0809851C: .4byte 0x000008ad
- thumb_func_end sub_80984E8
-
- thumb_func_start sub_8098520
-sub_8098520: @ 8098520
- push {r4,r5,lr}
- sub sp, 0x10
- ldr r3, _08098578 @ =gSharedMem
- ldr r0, _0809857C @ =0x000008ad
- adds r5, r3, r0
- ldrb r0, [r5]
- cmp r0, 0x14
- beq _08098592
- ldr r0, _08098580 @ =0x000008a8
- adds r1, r3, r0
- ldrh r0, [r1]
- subs r0, 0x1
- movs r4, 0
- strh r0, [r1]
- ldr r0, _08098584 @ =0x000008aa
- adds r2, r3, r0
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- ldr r0, _08098588 @ =0x06007800
- adds r3, 0xA8
- str r4, [sp]
- ldrh r1, [r1]
- str r1, [sp, 0x4]
- movs r1, 0xC
- str r1, [sp, 0x8]
- ldrh r1, [r2]
- str r1, [sp, 0xC]
- movs r1, 0xA
- movs r2, 0
- bl sub_809D034
- movs r0, 0x8
- bl sub_80994A8
- ldrb r0, [r5]
- adds r0, 0x1
- strb r0, [r5]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x14
- beq _0809858C
- movs r0, 0x1
- b _08098594
- .align 2, 0
-_08098578: .4byte gSharedMem
-_0809857C: .4byte 0x000008ad
-_08098580: .4byte 0x000008a8
-_08098584: .4byte 0x000008aa
-_08098588: .4byte 0x06007800
-_0809858C:
- ldr r1, _0809859C @ =gUnknown_0203847C
- movs r0, 0x1
- strb r0, [r1]
-_08098592:
- movs r0, 0
-_08098594:
- add sp, 0x10
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0809859C: .4byte gUnknown_0203847C
- thumb_func_end sub_8098520
-
- thumb_func_start add_to_c3_somehow
-add_to_c3_somehow: @ 80985A0
- ldr r1, _080985BC @ =gSharedMem
- ldr r0, _080985C0 @ =0x000008a8
- adds r2, r1, r0
- movs r3, 0
- movs r0, 0
- strh r0, [r2]
- ldr r0, _080985C4 @ =0x000008aa
- adds r2, r1, r0
- movs r0, 0x16
- strh r0, [r2]
- ldr r0, _080985C8 @ =0x000008ad
- adds r1, r0
- strb r3, [r1]
- bx lr
- .align 2, 0
-_080985BC: .4byte gSharedMem
-_080985C0: .4byte 0x000008a8
-_080985C4: .4byte 0x000008aa
-_080985C8: .4byte 0x000008ad
- thumb_func_end add_to_c3_somehow
-
- thumb_func_start sub_80985CC
-sub_80985CC: @ 80985CC
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x10
- ldr r3, _08098640 @ =gSharedMem
- ldr r0, _08098644 @ =0x000008ad
- adds r6, r3, r0
- ldrb r0, [r6]
- cmp r0, 0x14
- beq _0809867A
- ldr r2, _08098648 @ =0x000008a8
- adds r1, r3, r2
- ldrh r0, [r1]
- adds r0, 0x1
- movs r2, 0
- mov r9, r2
- strh r0, [r1]
- ldr r0, _0809864C @ =0x000008aa
- adds r4, r3, r0
- ldrh r0, [r4]
- subs r0, 0x1
- strh r0, [r4]
- ldr r5, _08098650 @ =0x06007800
- adds r3, 0xA8
- mov r8, r3
- str r2, [sp]
- ldrh r0, [r1]
- str r0, [sp, 0x4]
- movs r7, 0xC
- str r7, [sp, 0x8]
- ldrh r0, [r4]
- str r0, [sp, 0xC]
- adds r0, r5, 0
- movs r1, 0xA
- bl sub_809D034
- ldrh r2, [r4]
- movs r4, 0x1
- str r4, [sp]
- adds r0, r5, 0
- movs r1, 0xA
- movs r3, 0xC
- bl sub_809D16C
- movs r0, 0x8
- negs r0, r0
- bl sub_80994A8
- ldrb r0, [r6]
- adds r0, 0x1
- strb r0, [r6]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x14
- beq _08098654
- movs r0, 0x1
- b _0809867C
- .align 2, 0
-_08098640: .4byte gSharedMem
-_08098644: .4byte 0x000008ad
-_08098648: .4byte 0x000008a8
-_0809864C: .4byte 0x000008aa
-_08098650: .4byte 0x06007800
-_08098654:
- ldr r0, _0809868C @ =gUnknown_0203847C
- movs r1, 0
- strb r1, [r0]
- bl sub_809954C
- bl party_compaction
- str r7, [sp]
- mov r2, r9
- str r2, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r0, 0x2
- str r0, [sp, 0xC]
- adds r0, r5, 0
- movs r1, 0x15
- movs r2, 0
- mov r3, r8
- bl sub_809D034
-_0809867A:
- movs r0, 0
-_0809867C:
- add sp, 0x10
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0809868C: .4byte gUnknown_0203847C
- thumb_func_end sub_80985CC
-
- thumb_func_start sub_8098690
-sub_8098690: @ 8098690
- push {lr}
- sub sp, 0x10
- lsls r0, 24
- cmp r0, 0
- beq _080986C0
- ldr r0, _080986B8 @ =0x06007800
- ldr r3, _080986BC @ =gSharedMem + 0xA8
- movs r1, 0xC
- str r1, [sp]
- movs r1, 0
- str r1, [sp, 0x4]
- movs r1, 0x9
- str r1, [sp, 0x8]
- movs r1, 0x2
- str r1, [sp, 0xC]
- movs r1, 0x15
- movs r2, 0
- bl sub_809D034
- b _080986DA
- .align 2, 0
-_080986B8: .4byte 0x06007800
-_080986BC: .4byte gSharedMem + 0xA8
-_080986C0:
- ldr r0, _080986E0 @ =0x06007800
- ldr r3, _080986E4 @ =gSharedMem + 0xA8
- movs r1, 0xC
- str r1, [sp]
- movs r2, 0x2
- str r2, [sp, 0x4]
- movs r1, 0x9
- str r1, [sp, 0x8]
- str r2, [sp, 0xC]
- movs r1, 0x15
- movs r2, 0
- bl sub_809D034
-_080986DA:
- add sp, 0x10
- pop {r0}
- bx r0
- .align 2, 0
-_080986E0: .4byte 0x06007800
-_080986E4: .4byte gSharedMem + 0xA8
- thumb_func_end sub_8098690
-
- thumb_func_start sub_80986E8
-sub_80986E8: @ 80986E8
- ldr r1, _08098704 @ =gSharedMem
- ldr r2, _08098708 @ =0x000008af
- adds r0, r1, r2
- movs r3, 0x1
- strb r3, [r0]
- movs r0, 0x8B
- lsls r0, 4
- adds r2, r1, r0
- movs r0, 0x1E
- strb r0, [r2]
- ldr r2, _0809870C @ =0x000008b1
- adds r1, r2
- strb r3, [r1]
- bx lr
- .align 2, 0
-_08098704: .4byte gSharedMem
-_08098708: .4byte 0x000008af
-_0809870C: .4byte 0x000008b1
- thumb_func_end sub_80986E8
-
- thumb_func_start sub_8098710
-sub_8098710: @ 8098710
- push {lr}
- ldr r0, _0809872C @ =gSharedMem
- ldr r2, _08098730 @ =0x000008af
- adds r1, r0, r2
- ldrb r0, [r1]
- cmp r0, 0
- beq _08098728
- movs r0, 0
- strb r0, [r1]
- movs r0, 0x1
- bl sub_8098690
-_08098728:
- pop {r0}
- bx r0
- .align 2, 0
-_0809872C: .4byte gSharedMem
-_08098730: .4byte 0x000008af
- thumb_func_end sub_8098710
-
- thumb_func_start sub_8098734
-sub_8098734: @ 8098734
- push {lr}
- ldr r2, _08098774 @ =gSharedMem
- ldr r1, _08098778 @ =0x000008af
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _08098770
- movs r0, 0x8B
- lsls r0, 4
- adds r1, r2, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1E
- bls _08098770
- movs r0, 0
- strb r0, [r1]
- movs r3, 0
- ldr r0, _0809877C @ =0x000008b1
- adds r1, r2, r0
- ldrb r0, [r1]
- cmp r0, 0
- bne _08098768
- movs r3, 0x1
-_08098768:
- strb r3, [r1]
- ldrb r0, [r1]
- bl sub_8098690
-_08098770:
- pop {r0}
- bx r0
- .align 2, 0
-_08098774: .4byte gSharedMem
-_08098778: .4byte 0x000008af
-_0809877C: .4byte 0x000008b1
- thumb_func_end sub_8098734
-
- thumb_func_start sub_8098780
-sub_8098780: @ 8098780
- push {r4-r6,lr}
- sub sp, 0x10
- movs r4, 0x1
- ldr r6, _080987D4 @ =gSharedMem + 0xA8
- movs r5, 0x80
- lsls r5, 9
-_0809878C:
- movs r0, 0x64
- muls r0, r4
- ldr r1, _080987D8 @ =gPlayerParty
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _080987A0
- movs r0, 0x1
-_080987A0:
- movs r1, 0x10
- cmp r0, 0
- beq _080987A8
- movs r1, 0xC
-_080987A8:
- lsrs r2, r5, 16
- str r1, [sp]
- movs r0, 0x4
- str r0, [sp, 0x4]
- str r0, [sp, 0x8]
- movs r0, 0x3
- str r0, [sp, 0xC]
- adds r0, r6, 0
- movs r1, 0x7
- adds r3, r6, 0
- bl sub_809D104
- movs r0, 0xC0
- lsls r0, 10
- adds r5, r0
- adds r4, 0x1
- cmp r4, 0x5
- ble _0809878C
- add sp, 0x10
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080987D4: .4byte gSharedMem + 0xA8
-_080987D8: .4byte gPlayerParty
- thumb_func_end sub_8098780
-
- thumb_func_start sub_80987DC
-sub_80987DC: @ 80987DC
- push {lr}
- sub sp, 0x10
- bl sub_8098780
- ldr r0, _08098804 @ =0x06007800
- ldr r3, _08098808 @ =gSharedMem + 0xA8
- movs r1, 0
- str r1, [sp]
- str r1, [sp, 0x4]
- movs r1, 0xC
- str r1, [sp, 0x8]
- movs r1, 0x16
- str r1, [sp, 0xC]
- movs r1, 0xA
- movs r2, 0
- bl sub_809D034
- add sp, 0x10
- pop {r0}
- bx r0
- .align 2, 0
-_08098804: .4byte 0x06007800
-_08098808: .4byte gSharedMem + 0xA8
- thumb_func_end sub_80987DC
-
- thumb_func_start sub_809880C
-sub_809880C: @ 809880C
- push {lr}
- ldr r0, _08098828 @ =gSharedMem
- ldr r1, _0809882C @ =0x000008ae
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- movs r0, 0x6
- bl PlaySE
- bl sub_80984E8
- pop {r0}
- bx r0
- .align 2, 0
-_08098828: .4byte gSharedMem
-_0809882C: .4byte 0x000008ae
- thumb_func_end sub_809880C
-
- thumb_func_start sub_8098830
-sub_8098830: @ 8098830
- push {r4,r5,lr}
- ldr r5, _08098848 @ =gSharedMem
- ldr r0, _0809884C @ =0x000008ae
- adds r4, r5, r0
- ldrb r0, [r4]
- cmp r0, 0x1
- beq _08098866
- cmp r0, 0x1
- bgt _08098850
- cmp r0, 0
- beq _08098856
- b _08098890
- .align 2, 0
-_08098848: .4byte gSharedMem
-_0809884C: .4byte 0x000008ae
-_08098850:
- cmp r0, 0x2
- beq _0809888C
- b _08098890
-_08098856:
- bl sub_8098520
- lsls r0, 24
- cmp r0, 0
- bne _08098890
- bl sub_809B068
- b _0809887E
-_08098866:
- bl sub_809AC00
- lsls r0, 24
- cmp r0, 0
- bne _08098890
- ldr r1, _08098888 @ =0x000011f6
- adds r0, r5, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _0809887E
- bl BoxSetMosaic
-_0809887E:
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- b _08098890
- .align 2, 0
-_08098888: .4byte 0x000011f6
-_0809888C:
- movs r0, 0
- b _08098892
-_08098890:
- movs r0, 0x1
-_08098892:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8098830
-
-.section .text_8098A38
-
- thumb_func_start sub_8098A38
-sub_8098A38: @ 8098A38
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x17
- movs r1, 0xA
- movs r2, 0
- bl DisplayYesNoMenu
- lsls r4, 24
- asrs r4, 24
- adds r0, r4, 0
- bl Menu_MoveCursor
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8098A38
-
- thumb_func_start sub_8098A5C
-sub_8098A5C: @ 8098A5C
- push {lr}
- bl Menu_DestroyCursor
- movs r0, 0xA
- movs r1, 0x10
- movs r2, 0x1D
- movs r3, 0x13
- bl Menu_EraseWindowRect
- movs r0, 0x17
- movs r1, 0xA
- movs r2, 0x1D
- movs r3, 0xF
- bl Menu_EraseWindowRect
- pop {r0}
- bx r0
- thumb_func_end sub_8098A5C
-
- thumb_func_start sub_8098A80
-sub_8098A80: @ 8098A80
- push {lr}
- bl sub_809CDCC
- movs r0, 0xC
- bl sub_809CDEC
- movs r0, 0xD
- bl sub_809CDEC
- movs r0, 0xE
- bl sub_809CDEC
- movs r0, 0xF
- bl sub_809CDEC
- bl sub_809CE84
- pop {r0}
- bx r0
- thumb_func_end sub_8098A80
-
- thumb_func_start sub_8098AA8
-sub_8098AA8: @ 8098AA8
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r5, r4, 0
- bl sub_809CDCC
- cmp r4, 0x1
- beq _08098AE6
- cmp r4, 0x1
- bgt _08098AC2
- cmp r4, 0
- beq _08098ACC
- b _08098B32
-_08098AC2:
- cmp r5, 0x2
- beq _08098B00
- cmp r5, 0x3
- beq _08098B1A
- b _08098B32
-_08098ACC:
- movs r0, 0x10
- bl sub_809CDEC
- movs r0, 0x11
- bl sub_809CDEC
- movs r0, 0x12
- bl sub_809CDEC
- movs r0, 0x13
- bl sub_809CDEC
- b _08098B32
-_08098AE6:
- movs r0, 0x14
- bl sub_809CDEC
- movs r0, 0x15
- bl sub_809CDEC
- movs r0, 0x16
- bl sub_809CDEC
- movs r0, 0x17
- bl sub_809CDEC
- b _08098B32
-_08098B00:
- movs r0, 0x18
- bl sub_809CDEC
- movs r0, 0x19
- bl sub_809CDEC
- movs r0, 0x1A
- bl sub_809CDEC
- movs r0, 0x1B
- bl sub_809CDEC
- b _08098B32
-_08098B1A:
- movs r0, 0x1C
- bl sub_809CDEC
- movs r0, 0x1D
- bl sub_809CDEC
- movs r0, 0x1E
- bl sub_809CDEC
- movs r0, 0x1F
- bl sub_809CDEC
-_08098B32:
- bl sub_809CE84
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8098AA8
-
- thumb_func_start get_preferred_box
-get_preferred_box: @ 8098B3C
- ldr r0, _08098B44 @ =gPokemonStorage
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_08098B44: .4byte gPokemonStorage
- thumb_func_end get_preferred_box
-
- thumb_func_start sub_8098B48
-sub_8098B48: @ 8098B48
- push {r4,r5,lr}
- bl sub_809D51C
- movs r2, 0
- ldr r1, _08098BD8 @ =gUnknown_083B6DB4
- ldr r0, [r1]
- ldr r4, _08098BDC @ =0x000010d0
- adds r3, r0, r4
- movs r4, 0
- adds r5, r1, 0
-_08098B5C:
- lsls r0, r2, 1
- adds r0, r3, r0
- strh r4, [r0]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x27
- bls _08098B5C
- movs r2, 0
- ldr r0, _08098BD8 @ =gUnknown_083B6DB4
- ldr r0, [r0]
- movs r1, 0x89
- lsls r1, 5
- adds r3, r0, r1
- movs r1, 0
-_08098B7A:
- lsls r0, r2, 1
- adds r0, r3, r0
- strh r1, [r0]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x27
- bls _08098B7A
- movs r2, 0
- ldr r0, _08098BD8 @ =gUnknown_083B6DB4
- ldr r0, [r0]
- ldr r4, _08098BE0 @ =0x00001038
- adds r3, r0, r4
- movs r1, 0
-_08098B96:
- lsls r0, r2, 2
- adds r0, r3, r0
- str r1, [r0]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x5
- bls _08098B96
- movs r2, 0
- ldr r0, _08098BD8 @ =gUnknown_083B6DB4
- ldr r0, [r0]
- ldr r1, _08098BE4 @ =0x00001050
- adds r3, r0, r1
- movs r1, 0
-_08098BB2:
- lsls r0, r2, 2
- adds r0, r3, r0
- str r1, [r0]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x1D
- bls _08098BB2
- ldr r0, [r5]
- ldr r2, _08098BE8 @ =0x00001034
- adds r1, r0, r2
- movs r2, 0
- str r2, [r1]
- ldr r4, _08098BEC @ =0x00000d5c
- adds r0, r4
- strh r2, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08098BD8: .4byte gUnknown_083B6DB4
-_08098BDC: .4byte 0x000010d0
-_08098BE0: .4byte 0x00001038
-_08098BE4: .4byte 0x00001050
-_08098BE8: .4byte 0x00001034
-_08098BEC: .4byte 0x00000d5c
- thumb_func_end sub_8098B48
-
- thumb_func_start sub_8098BF0
-sub_8098BF0: @ 8098BF0
- push {r4-r6,lr}
- sub sp, 0x8
- ldr r0, _08098C38 @ =gUnknown_083B6DB4
- ldr r5, [r0]
- ldr r0, _08098C3C @ =0x000025b4
- adds r4, r5, r0
- adds r0, r4, 0
- movs r1, 0
- bl GetMonData
- adds r6, r0, 0
- adds r0, r4, 0
- movs r1, 0x41
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1
- str r1, [sp]
- movs r1, 0x7
- str r1, [sp, 0x4]
- adds r1, r6, 0
- movs r2, 0
- movs r3, 0
- bl sub_8099AFC
- ldr r1, _08098C40 @ =0x00001034
- adds r5, r1
- str r0, [r5]
- ldr r1, _08098C44 @ =sub_80999C4
- str r1, [r0, 0x1C]
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08098C38: .4byte gUnknown_083B6DB4
-_08098C3C: .4byte 0x000025b4
-_08098C40: .4byte 0x00001034
-_08098C44: .4byte sub_80999C4
- thumb_func_end sub_8098BF0
-
- thumb_func_start sub_8098C48
-sub_8098C48: @ 8098C48
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x8
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 5
- ldr r1, _08098CCC @ =gPokemonStorage + 0x4
- adds r6, r0, r1
- movs r0, 0
- mov r8, r0
- movs r7, 0
-_08098C6A:
- movs r5, 0
- adds r1, r7, 0x1
- mov r9, r1
-_08098C70:
- adds r0, r6, 0
- movs r1, 0x41
- bl GetBoxMonData
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0
- beq _08098CD8
- adds r0, r6, 0
- movs r1, 0
- bl GetBoxMonData
- 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, 0x12
- subs r0, r5
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x4]
- adds r0, r4, 0
- asrs r3, 16
- bl sub_8099AFC
- ldr r1, _08098CD0 @ =gUnknown_083B6DB4
- ldr r1, [r1]
- mov r3, r8
- lsls r2, r3, 2
- ldr r3, _08098CD4 @ =0x00001050
- adds r1, r3
- adds r1, r2
- str r0, [r1]
- b _08098CE8
- .align 2, 0
-_08098CCC: .4byte gPokemonStorage + 0x4
-_08098CD0: .4byte gUnknown_083B6DB4
-_08098CD4: .4byte 0x00001050
-_08098CD8:
- ldr r0, _08098D18 @ =gUnknown_083B6DB4
- ldr r0, [r0]
- mov r2, r8
- lsls r1, r2, 2
- ldr r3, _08098D1C @ =0x00001050
- adds r0, r3
- adds r0, r1
- str r4, [r0]
-_08098CE8:
- adds r6, 0x50
- 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 _08098C70
- mov r1, r9
- lsls r0, r1, 16
- lsrs r7, r0, 16
- cmp r7, 0x4
- bls _08098C6A
- add sp, 0x8
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08098D18: .4byte gUnknown_083B6DB4
-_08098D1C: .4byte 0x00001050
- thumb_func_end sub_8098C48
-
- thumb_func_start sub_8098D20
-sub_8098D20: @ 8098D20
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
- bl get_preferred_box
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r2, r1, 4
- subs r2, r1
- lsls r2, 5
- lsls r0, r4, 2
- mov r9, r0
- adds r0, r4
- lsls r0, 4
- ldr r1, _08098DD4 @ =gPokemonStorage + 0x4
- adds r0, r1
- adds r7, r2, r0
- adds r0, r7, 0
- movs r1, 0x41
- bl GetBoxMonData
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- cmp r0, 0
- beq _08098DC4
- adds r0, r4, 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 r1, 0xC8
- lsls r1, 15
- adds r5, r1
- lsrs r5, 16
- adds r0, r4, 0
- movs r1, 0x6
- bl __udivsi3
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 1
- adds r4, r0
- lsls r4, 19
- movs r2, 0xB0
- lsls r2, 14
- adds r4, r2
- lsrs r4, 16
- adds r0, r7, 0
- movs r1, 0
- bl GetBoxMonData
- adds r1, r0, 0
- movs r0, 0x2
- str r0, [sp]
- movs r0, 0x12
- 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_8099AFC
- ldr r1, _08098DD8 @ =gUnknown_083B6DB4
- ldr r1, [r1]
- ldr r2, _08098DDC @ =0x00001050
- adds r1, r2
- add r1, r9
- str r0, [r1]
-_08098DC4:
- add sp, 0x8
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08098DD4: .4byte gPokemonStorage + 0x4
-_08098DD8: .4byte gUnknown_083B6DB4
-_08098DDC: .4byte 0x00001050
- thumb_func_end sub_8098D20
-
- thumb_func_start sub_8098DE0
-sub_8098DE0: @ 8098DE0
- push {r4-r6,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- movs r2, 0
- ldr r0, _08098E18 @ =gUnknown_083B6DB4
- ldr r0, [r0]
- ldr r1, _08098E1C @ =0x00001050
- adds r3, r0, r1
- movs r6, 0x1
- ldr r5, _08098E20 @ =sub_8098E68
-_08098DF4:
- lsls r0, r2, 2
- adds r1, r3, r0
- ldr r0, [r1]
- cmp r0, 0
- beq _08098E08
- strh r4, [r0, 0x32]
- ldr r0, [r1]
- strh r6, [r0, 0x36]
- ldr r0, [r1]
- str r5, [r0, 0x1C]
-_08098E08:
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x1D
- bls _08098DF4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08098E18: .4byte gUnknown_083B6DB4
-_08098E1C: .4byte 0x00001050
-_08098E20: .4byte sub_8098E68
- thumb_func_end sub_8098DE0
-
- thumb_func_start sub_8098E24
-sub_8098E24: @ 8098E24
- push {lr}
- adds r2, r0, 0
- ldrh r1, [r2, 0x30]
- movs r3, 0x30
- ldrsh r0, [r2, r3]
- cmp r0, 0
- beq _08098E40
- subs r0, r1, 0x1
- strh r0, [r2, 0x30]
- ldrh r0, [r2, 0x32]
- ldrh r1, [r2, 0x20]
- adds r0, r1
- strh r0, [r2, 0x20]
- b _08098E56
-_08098E40:
- ldr r0, _08098E5C @ =gUnknown_083B6DB4
- ldr r1, [r0]
- ldr r3, _08098E60 @ =0x00001178
- adds r1, r3
- ldrh r0, [r1]
- subs r0, 0x1
- strh r0, [r1]
- ldrh r0, [r2, 0x34]
- strh r0, [r2, 0x20]
- ldr r0, _08098E64 @ =SpriteCallbackDummy
- str r0, [r2, 0x1C]
-_08098E56:
- pop {r0}
- bx r0
- .align 2, 0
-_08098E5C: .4byte gUnknown_083B6DB4
-_08098E60: .4byte 0x00001178
-_08098E64: .4byte SpriteCallbackDummy
- thumb_func_end sub_8098E24
-
- thumb_func_start sub_8098E68
-sub_8098E68: @ 8098E68
- push {lr}
- adds r2, r0, 0
- ldrh r1, [r2, 0x36]
- movs r3, 0x36
- ldrsh r0, [r2, r3]
- cmp r0, 0
- beq _08098E7C
- subs r0, r1, 0x1
- strh r0, [r2, 0x36]
- b _08098E98
-_08098E7C:
- 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 _08098E98
- ldr r0, _08098E9C @ =SpriteCallbackDummy
- str r0, [r2, 0x1C]
-_08098E98:
- pop {r0}
- bx r0
- .align 2, 0
-_08098E9C: .4byte SpriteCallbackDummy
- thumb_func_end sub_8098E68
-
- thumb_func_start sub_8098EA0
-sub_8098EA0: @ 8098EA0
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r6, 0
- ldr r0, _08098ED8 @ =gUnknown_083B6DB4
- ldr r0, [r0]
- ldr r1, _08098EDC @ =0x00001050
- adds r7, r0, r1
-_08098EB0:
- lsls r0, r5, 2
- adds r4, r7, r0
- ldr r0, [r4]
- cmp r0, 0
- beq _08098EC2
- bl sub_8099BE0
- movs r0, 0
- str r0, [r4]
-_08098EC2:
- 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 _08098EB0
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08098ED8: .4byte gUnknown_083B6DB4
-_08098EDC: .4byte 0x00001050
- thumb_func_end sub_8098EA0
-
- thumb_func_start sub_8098EE0
-sub_8098EE0: @ 8098EE0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x24
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 16
- lsrs r1, 16
- str r1, [sp, 0x8]
- lsls r2, 16
- movs r0, 0x2C
- str r0, [sp, 0x10]
- lsls r0, r6, 1
- adds r0, r6
- lsls r0, 19
- movs r1, 0xC8
- lsls r1, 15
- adds r0, r1
- lsrs r0, 16
- mov r10, r0
- ldr r0, [sp, 0x8]
- adds r0, 0x1
- lsrs r3, r2, 16
- str r3, [sp, 0xC]
- asrs r2, 16
- adds r1, r0, 0
- muls r1, r2
- mov r4, r10
- subs r1, r4, r1
- movs r0, 0x12
- subs r0, r6
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x18]
- movs r0, 0
- str r0, [sp, 0x14]
- mov r9, r0
- ldr r0, _08098FF8 @ =gUnknown_083B6DB4
- ldr r0, [r0]
- ldr r2, _08098FFC @ =0x0000117d
- adds r2, r0
- mov r8, r2
- ldr r3, _08099000 @ =0x00001050
- adds r3, r0, r3
- str r3, [sp, 0x20]
- lsls r1, 16
- str r1, [sp, 0x1C]
-_08098F42:
- mov r4, r8
- ldrb r0, [r4]
- lsls r1, r0, 2
- adds r1, r0
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 5
- lsls r7, r6, 2
- adds r1, r7, r6
- lsls r1, 4
- ldr r2, _08099004 @ =gPokemonStorage + 0x4
- adds r4, r1, r2
- adds r0, r4
- movs r1, 0x41
- bl GetBoxMonData
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0
- beq _08098FC8
- mov r1, r8
- ldrb r0, [r1]
- lsls r1, r0, 2
- adds r1, r0
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 5
- adds r0, r4
- movs r1, 0
- bl GetBoxMonData
- adds r1, r0, 0
- ldr r2, [sp, 0x10]
- lsls r3, r2, 16
- asrs r3, 16
- movs r0, 0x2
- str r0, [sp]
- ldr r4, [sp, 0x18]
- str r4, [sp, 0x4]
- adds r0, r5, 0
- ldr r4, [sp, 0x1C]
- asrs r2, r4, 16
- bl sub_8099AFC
- ldr r2, [sp, 0x20]
- adds r1, r2, r7
- str r0, [r1]
- cmp r0, 0
- beq _08098FC8
- mov r3, sp
- ldrh r3, [r3, 0x8]
- strh r3, [r0, 0x30]
- ldr r0, [r1]
- mov r4, sp
- ldrh r4, [r4, 0xC]
- strh r4, [r0, 0x32]
- ldr r0, [r1]
- mov r2, r10
- strh r2, [r0, 0x34]
- ldr r1, [r1]
- ldr r0, _08099008 @ =sub_8098E24
- str r0, [r1, 0x1C]
- ldr r0, [sp, 0x14]
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x14]
-_08098FC8:
- adds r0, r6, 0x6
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r0, [sp, 0x10]
- adds r0, 0x18
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0x10]
- mov r0, r9
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- cmp r0, 0x4
- bls _08098F42
- ldr r0, [sp, 0x14]
- add sp, 0x24
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08098FF8: .4byte gUnknown_083B6DB4
-_08098FFC: .4byte 0x0000117d
-_08099000: .4byte 0x00001050
-_08099004: .4byte gPokemonStorage + 0x4
-_08099008: .4byte sub_8098E24
- thumb_func_end sub_8098EE0
-
- thumb_func_start sub_809900C
-sub_809900C: @ 809900C
- push {r4-r6,lr}
- lsls r1, 24
- lsrs r1, 24
- ldr r4, _08099058 @ =gUnknown_083B6DB4
- ldr r5, [r4]
- ldr r3, _0809905C @ =0x0000117c
- adds r2, r5, r3
- movs r3, 0
- strb r3, [r2]
- ldr r6, _08099060 @ =0x0000117d
- adds r2, r5, r6
- strb r0, [r2]
- ldr r2, _08099064 @ =0x0000117b
- adds r0, r5, r2
- strb r1, [r0]
- subs r6, 0xB
- adds r2, r5, r6
- movs r0, 0x20
- strh r0, [r2]
- lsls r1, 24
- asrs r1, 24
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 1
- negs r0, r0
- adds r6, 0x4
- adds r2, r5, r6
- strh r0, [r2]
- ldr r2, _08099068 @ =0x00001178
- adds r0, r5, r2
- strh r3, [r0]
- cmp r1, 0
- ble _08099070
- ldr r3, _0809906C @ =0x0000117a
- adds r1, r5, r3
- movs r0, 0
- b _08099076
- .align 2, 0
-_08099058: .4byte gUnknown_083B6DB4
-_0809905C: .4byte 0x0000117c
-_08099060: .4byte 0x0000117d
-_08099064: .4byte 0x0000117b
-_08099068: .4byte 0x00001178
-_0809906C: .4byte 0x0000117a
-_08099070:
- ldr r6, _080990A0 @ =0x0000117a
- adds r1, r5, r6
- movs r0, 0x5
-_08099076:
- strb r0, [r1]
- ldr r2, [r4]
- ldr r1, _080990A0 @ =0x0000117a
- adds r0, r2, r1
- ldrb r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r0, 0x64
- ldr r3, _080990A4 @ =0x00001174
- adds r1, r2, r3
- strh r0, [r1]
- ldr r6, _080990A8 @ =0x00001176
- adds r2, r6
- movs r1, 0
- ldrsh r0, [r2, r1]
- bl sub_8098DE0
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080990A0: .4byte 0x0000117a
-_080990A4: .4byte 0x00001174
-_080990A8: .4byte 0x00001176
- thumb_func_end sub_809900C
-
- thumb_func_start sub_80990AC
-sub_80990AC: @ 80990AC
- push {r4-r6,lr}
- ldr r0, _080990D4 @ =gUnknown_083B6DB4
- ldr r4, [r0]
- ldr r0, _080990D8 @ =0x00001172
- adds r3, r4, r0
- ldrh r0, [r3]
- cmp r0, 0
- beq _080990C0
- subs r0, 0x1
- strh r0, [r3]
-_080990C0:
- ldr r1, _080990DC @ =0x0000117c
- adds r6, r4, r1
- ldrb r0, [r6]
- cmp r0, 0x1
- beq _08099138
- cmp r0, 0x1
- bgt _080990E0
- cmp r0, 0
- beq _080990E8
- b _080991F0
- .align 2, 0
-_080990D4: .4byte gUnknown_083B6DB4
-_080990D8: .4byte 0x00001172
-_080990DC: .4byte 0x0000117c
-_080990E0:
- cmp r0, 0x2
- bne _080990E6
- b _080991E0
-_080990E6:
- b _080991F0
-_080990E8:
- ldr r2, _0809912C @ =0x00001174
- adds r5, r4, r2
- ldr r3, _08099130 @ =0x00001176
- adds r0, r4, r3
- ldrh r0, [r0]
- ldrh r1, [r5]
- adds r0, r1
- strh r0, [r5]
- subs r0, 0x41
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xBA
- bhi _08099104
- b _080991F8
-_08099104:
- adds r2, 0x6
- adds r0, r4, r2
- ldrb r0, [r0]
- bl sub_8098EA0
- ldr r3, _08099134 @ =0x0000117b
- adds r0, r4, r3
- movs r1, 0
- ldrsb r1, [r0, r1]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- ldrh r1, [r5]
- adds r0, r1
- strh r0, [r5]
- ldrb r0, [r6]
- adds r0, 0x1
- strb r0, [r6]
- b _080991F8
- .align 2, 0
-_0809912C: .4byte 0x00001174
-_08099130: .4byte 0x00001176
-_08099134: .4byte 0x0000117b
-_08099138:
- ldr r2, _08099194 @ =0x00001174
- adds r1, r4, r2
- ldr r5, _08099198 @ =0x00001176
- adds r2, r4, r5
- ldrh r0, [r2]
- ldrh r5, [r1]
- adds r0, r5
- strh r0, [r1]
- ldr r0, _0809919C @ =0x0000117a
- adds r5, r4, r0
- ldrb r0, [r5]
- ldrh r1, [r3]
- movs r3, 0
- ldrsh r2, [r2, r3]
- bl sub_8098EE0
- ldr r2, _080991A0 @ =0x00001178
- adds r1, r4, r2
- lsls r0, 24
- lsrs r0, 24
- ldrh r3, [r1]
- adds r0, r3
- strh r0, [r1]
- ldr r1, _080991A4 @ =0x0000117b
- adds r0, r4, r1
- movs r1, 0
- ldrsb r1, [r0, r1]
- cmp r1, 0
- ble _08099178
- ldrb r0, [r5]
- cmp r0, 0x5
- beq _08099182
-_08099178:
- cmp r1, 0
- bge _080991B0
- ldrb r0, [r5]
- cmp r0, 0
- bne _080991B0
-_08099182:
- ldr r0, _080991A8 @ =gUnknown_083B6DB4
- ldr r1, [r0]
- ldr r2, _080991AC @ =0x0000117c
- adds r1, r2
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080991F8
- .align 2, 0
-_08099194: .4byte 0x00001174
-_08099198: .4byte 0x00001176
-_0809919C: .4byte 0x0000117a
-_080991A0: .4byte 0x00001178
-_080991A4: .4byte 0x0000117b
-_080991A8: .4byte gUnknown_083B6DB4
-_080991AC: .4byte 0x0000117c
-_080991B0:
- ldr r0, _080991D0 @ =gUnknown_083B6DB4
- ldr r1, [r0]
- ldr r5, _080991D4 @ =0x0000117a
- adds r3, r1, r5
- ldr r2, _080991D8 @ =0x0000117b
- adds r0, r1, r2
- ldrb r0, [r0]
- ldrb r5, [r3]
- adds r0, r5
- movs r2, 0
- strb r0, [r3]
- ldr r0, _080991DC @ =0x0000117c
- adds r1, r0
- strb r2, [r1]
- b _080991F8
- .align 2, 0
-_080991D0: .4byte gUnknown_083B6DB4
-_080991D4: .4byte 0x0000117a
-_080991D8: .4byte 0x0000117b
-_080991DC: .4byte 0x0000117c
-_080991E0:
- ldr r1, _080991F4 @ =0x00001178
- adds r0, r4, r1
- ldrh r0, [r0]
- cmp r0, 0
- bne _080991F8
- ldrh r0, [r3]
- adds r0, 0x1
- strh r0, [r3]
-_080991F0:
- movs r0, 0
- b _080991FA
- .align 2, 0
-_080991F4: .4byte 0x00001178
-_080991F8:
- movs r0, 0x1
-_080991FA:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80990AC
-
- thumb_func_start sub_8099200
-sub_8099200: @ 8099200
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r4, _080992A0 @ =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, 0xB
- str r0, [sp, 0x4]
- adds r0, r5, 0
- movs r2, 0x68
- movs r3, 0x40
- bl sub_8099AFC
- ldr r1, _080992A4 @ =gUnknown_083B6DB4
- ldr r1, [r1]
- ldr r2, _080992A8 @ =0x00001038
- adds r1, r2
- str r0, [r1]
- movs r7, 0x1
- movs r6, 0x1
-_08099246:
- movs r0, 0x64
- adds r1, r6, 0
- muls r1, r0
- ldr r0, _080992A0 @ =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 _080992AC
- 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, 0xB
- str r0, [sp, 0x4]
- adds r0, r5, 0
- movs r2, 0x98
- bl sub_8099AFC
- ldr r1, _080992A4 @ =gUnknown_083B6DB4
- ldr r1, [r1]
- lsls r2, r6, 2
- ldr r3, _080992A8 @ =0x00001038
- adds r1, r3
- adds r1, r2
- str r0, [r1]
- adds r0, r7, 0x1
- lsls r0, 16
- lsrs r7, r0, 16
- b _080992BA
- .align 2, 0
-_080992A0: .4byte gPlayerParty
-_080992A4: .4byte gUnknown_083B6DB4
-_080992A8: .4byte 0x00001038
-_080992AC:
- ldr r0, _08099308 @ =gUnknown_083B6DB4
- ldr r0, [r0]
- lsls r1, r6, 2
- ldr r2, _0809930C @ =0x00001038
- adds r0, r2
- adds r0, r1
- str r5, [r0]
-_080992BA:
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0x5
- bls _08099246
- mov r3, r8
- cmp r3, 0
- bne _080992FA
- movs r6, 0
- cmp r6, r7
- bcs _080992FA
- ldr r0, _08099308 @ =gUnknown_083B6DB4
- ldr r0, [r0]
- ldr r1, _0809930C @ =0x00001038
- adds r3, r0, r1
- movs r4, 0x4
-_080992DA:
- lsls r1, r6, 2
- adds r1, r3, r1
- 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 _080992DA
-_080992FA:
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08099308: .4byte gUnknown_083B6DB4
-_0809930C: .4byte 0x00001038
- thumb_func_end sub_8099200
-
- thumb_func_start sub_8099310
-sub_8099310: @ 8099310
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r0, _08099368 @ =gUnknown_083B6DB4
- ldr r2, [r0]
- ldr r0, _0809936C @ =0x00001171
- adds r1, r2, r0
- movs r0, 0
- strb r0, [r1]
- movs r5, 0
- movs r6, 0
- mov r8, r2
- ldr r7, _0809936C @ =0x00001171
- add r7, r8
-_0809932C:
- lsls r1, r5, 2
- ldr r0, _08099370 @ =0x00001038
- add r0, r8
- adds r4, r0, r1
- ldr r0, [r4]
- cmp r0, 0
- beq _08099354
- cmp r5, r6
- beq _0809934E
- adds r1, r6, 0
- bl sub_8099388
- movs r0, 0
- str r0, [r4]
- ldrb r0, [r7]
- adds r0, 0x1
- strb r0, [r7]
-_0809934E:
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
-_08099354:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x5
- bls _0809932C
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08099368: .4byte gUnknown_083B6DB4
-_0809936C: .4byte 0x00001171
-_08099370: .4byte 0x00001038
- thumb_func_end sub_8099310
-
- thumb_func_start sub_8099374
-sub_8099374: @ 8099374
- ldr r0, _08099380 @ =gUnknown_083B6DB4
- ldr r0, [r0]
- ldr r1, _08099384 @ =0x00001171
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_08099380: .4byte gUnknown_083B6DB4
-_08099384: .4byte 0x00001171
- thumb_func_end sub_8099374
-
- thumb_func_start sub_8099388
-sub_8099388: @ 8099388
- push {r4,lr}
- adds r2, r0, 0
- lsls r1, 16
- lsrs r1, 16
- strh r1, [r2, 0x30]
- cmp r1, 0
- bne _0809939C
- movs r3, 0x68
- movs r4, 0x40
- b _080993AE
-_0809939C:
- 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
-_080993AE:
- 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 _080993C8
- adds r0, 0x7
-_080993C8:
- 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 _080993DC
- adds r0, 0x7
-_080993DC:
- asrs r0, 3
- strh r0, [r2, 0x38]
- movs r0, 0x8
- strh r0, [r2, 0x3A]
- ldr r0, _080993F0 @ =sub_80993F4
- str r0, [r2, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080993F0: .4byte sub_80993F4
- thumb_func_end sub_8099388
-
- thumb_func_start sub_80993F4
-sub_80993F4: @ 80993F4
- push {r4,lr}
- adds r3, r0, 0
- ldrh r2, [r3, 0x3A]
- movs r1, 0x3A
- ldrsh r0, [r3, r1]
- cmp r0, 0
- beq _08099424
- 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 _08099468
-_08099424:
- movs r1, 0x30
- ldrsh r0, [r3, r1]
- cmp r0, 0
- bne _08099434
- movs r0, 0x68
- strh r0, [r3, 0x20]
- movs r0, 0x40
- b _08099446
-_08099434:
- 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
-_08099446:
- strh r0, [r3, 0x22]
- ldr r0, _08099470 @ =SpriteCallbackDummy
- str r0, [r3, 0x1C]
- ldr r0, _08099474 @ =gUnknown_083B6DB4
- ldr r2, [r0]
- movs r0, 0x30
- ldrsh r1, [r3, r0]
- lsls r1, 2
- ldr r4, _08099478 @ =0x00001038
- adds r0, r2, r4
- adds r0, r1
- str r3, [r0]
- ldr r0, _0809947C @ =0x00001171
- adds r2, r0
- ldrb r0, [r2]
- subs r0, 0x1
- strb r0, [r2]
-_08099468:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08099470: .4byte SpriteCallbackDummy
-_08099474: .4byte gUnknown_083B6DB4
-_08099478: .4byte 0x00001038
-_0809947C: .4byte 0x00001171
- thumb_func_end sub_80993F4
-
- thumb_func_start sub_8099480
-sub_8099480: @ 8099480
- push {r4,lr}
- ldr r0, _080994A0 @ =gUnknown_083B6DB4
- ldr r0, [r0]
- ldr r1, _080994A4 @ =0x00001034
- adds r4, r0, r1
- ldr r0, [r4]
- cmp r0, 0
- beq _08099498
- bl sub_8099BE0
- movs r0, 0
- str r0, [r4]
-_08099498:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080994A0: .4byte gUnknown_083B6DB4
-_080994A4: .4byte 0x00001034
- thumb_func_end sub_8099480
-
- thumb_func_start sub_80994A8
-sub_80994A8: @ 80994A8
- push {r4-r6,lr}
- movs r3, 0
- ldr r1, _080994FC @ =gUnknown_083B6DB4
- ldr r1, [r1]
- ldr r2, _08099500 @ =0x00001038
- adds r5, r1, r2
- lsls r0, 16
- asrs r4, r0, 16
- movs r6, 0x5
- negs r6, r6
-_080994BC:
- lsls r0, r3, 2
- adds r2, r5, r0
- ldr r1, [r2]
- cmp r1, 0
- beq _0809950E
- 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 _08099504
- adds r0, r2, 0
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- b _0809950E
- .align 2, 0
-_080994FC: .4byte gUnknown_083B6DB4
-_08099500: .4byte 0x00001038
-_08099504:
- adds r2, 0x3E
- ldrb r1, [r2]
- adds r0, r6, 0
- ands r0, r1
- strb r0, [r2]
-_0809950E:
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x5
- bls _080994BC
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80994A8
-
- thumb_func_start sub_8099520
-sub_8099520: @ 8099520
- push {r4,lr}
- lsls r0, 24
- ldr r1, _08099544 @ =gUnknown_083B6DB4
- ldr r1, [r1]
- lsrs r0, 22
- ldr r2, _08099548 @ =0x00001038
- adds r1, r2
- adds r4, r1, r0
- ldr r0, [r4]
- cmp r0, 0
- beq _0809953E
- bl sub_8099BE0
- movs r0, 0
- str r0, [r4]
-_0809953E:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08099544: .4byte gUnknown_083B6DB4
-_08099548: .4byte 0x00001038
- thumb_func_end sub_8099520
-
- thumb_func_start sub_809954C
-sub_809954C: @ 809954C
- push {r4-r6,lr}
- movs r5, 0
- ldr r0, _0809957C @ =gUnknown_083B6DB4
- ldr r0, [r0]
- ldr r1, _08099580 @ =0x00001038
- adds r6, r0, r1
-_08099558:
- lsls r0, r5, 2
- adds r4, r6, r0
- ldr r0, [r4]
- cmp r0, 0
- beq _0809956A
- bl sub_8099BE0
- movs r0, 0
- str r0, [r4]
-_0809956A:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x5
- bls _08099558
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0809957C: .4byte gUnknown_083B6DB4
-_08099580: .4byte 0x00001038
- thumb_func_end sub_809954C
-
- thumb_func_start sub_8099584
-sub_8099584: @ 8099584
- 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 _080995B4
- ldr r3, _080995AC @ =gUnknown_083B6DB4
- ldr r0, [r3]
- ldr r5, _080995B0 @ =0x00001034
- 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 _080995D0
- .align 2, 0
-_080995AC: .4byte gUnknown_083B6DB4
-_080995B0: .4byte 0x00001034
-_080995B4:
- cmp r4, 0x1
- bne _080995F4
- ldr r3, _080995FC @ =gUnknown_083B6DB4
- ldr r0, [r3]
- ldr r1, _08099600 @ =0x00001034
- adds r2, r0, r1
- lsls r1, r5, 2
- ldr r4, _08099604 @ =0x00001050
- adds r0, r4
- adds r0, r1
- ldr r1, [r0]
- str r1, [r2]
- movs r1, 0
- str r1, [r0]
-_080995D0:
- ldr r2, [r3]
- ldr r5, _08099600 @ =0x00001034
- adds r2, r5
- ldr r1, [r2]
- ldr r0, _08099608 @ =sub_80999C4
- str r0, [r1, 0x1C]
- ldr r3, [r2]
- ldrb r1, [r3, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r3, 0x5]
- ldr r0, [r2]
- adds r0, 0x43
- movs r1, 0x7
- strb r1, [r0]
-_080995F4:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080995FC: .4byte gUnknown_083B6DB4
-_08099600: .4byte 0x00001034
-_08099604: .4byte 0x00001050
-_08099608: .4byte sub_80999C4
- thumb_func_end sub_8099584
-
- thumb_func_start sub_809960C
-sub_809960C: @ 809960C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r6, r1, 24
- cmp r0, 0xE
- bne _08099654
- ldr r4, _08099648 @ =gUnknown_083B6DB4
- ldr r0, [r4]
- lsls r1, r6, 2
- ldr r2, _0809964C @ =0x00001038
- adds r3, r0, r2
- adds r3, r1
- ldr r1, _08099650 @ =0x00001034
- adds r0, r1
- ldr r2, [r0]
- str r2, [r3]
- 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, 0x43
- movs r1, 0xB
- strb r1, [r0]
- b _0809968A
- .align 2, 0
-_08099648: .4byte gUnknown_083B6DB4
-_0809964C: .4byte 0x00001038
-_08099650: .4byte 0x00001034
-_08099654:
- ldr r5, _080996A0 @ =gUnknown_083B6DB4
- ldr r0, [r5]
- lsls r1, r6, 2
- ldr r2, _080996A4 @ =0x00001050
- adds r3, r0, r2
- adds r3, r1
- ldr r1, _080996A8 @ =0x00001034
- adds r0, r1
- ldr r2, [r0]
- str r2, [r3]
- ldrb r1, [r2, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- movs r1, 0x8
- orrs r0, r1
- strb r0, [r2, 0x5]
- ldr r4, [r3]
- adds r0, r6, 0
- movs r1, 0x6
- bl __umodsi3
- movs r1, 0x12
- subs r1, r0
- adds r4, 0x43
- strb r1, [r4]
- adds r4, r5, 0
-_0809968A:
- ldr r1, [r4]
- ldr r2, _080996A8 @ =0x00001034
- adds r1, r2
- ldr r2, [r1]
- ldr r0, _080996AC @ =SpriteCallbackDummy
- str r0, [r2, 0x1C]
- movs r0, 0
- str r0, [r1]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080996A0: .4byte gUnknown_083B6DB4
-_080996A4: .4byte 0x00001050
-_080996A8: .4byte 0x00001034
-_080996AC: .4byte SpriteCallbackDummy
- thumb_func_end sub_809960C
-
- thumb_func_start sub_80996B0
-sub_80996B0: @ 80996B0
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- cmp r0, 0xE
- bne _080996D8
- ldr r3, _080996CC @ =gUnknown_083B6DB4
- ldr r1, [r3]
- ldr r0, _080996D0 @ =0x000010c8
- adds r2, r1, r0
- lsls r0, r4, 2
- ldr r4, _080996D4 @ =0x00001038
- b _080996E4
- .align 2, 0
-_080996CC: .4byte gUnknown_083B6DB4
-_080996D0: .4byte 0x000010c8
-_080996D4: .4byte 0x00001038
-_080996D8:
- ldr r3, _08099704 @ =gUnknown_083B6DB4
- ldr r1, [r3]
- ldr r0, _08099708 @ =0x000010c8
- adds r2, r1, r0
- lsls r0, r4, 2
- ldr r4, _0809970C @ =0x00001050
-_080996E4:
- adds r0, r4
- adds r1, r0
- str r1, [r2]
- ldr r1, [r3]
- ldr r2, _08099710 @ =0x00001034
- adds r0, r1, r2
- ldr r2, [r0]
- ldr r0, _08099714 @ =SpriteCallbackDummy
- str r0, [r2, 0x1C]
- ldr r4, _08099718 @ =0x00001170
- adds r1, r4
- movs r0, 0
- strb r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08099704: .4byte gUnknown_083B6DB4
-_08099708: .4byte 0x000010c8
-_0809970C: .4byte 0x00001050
-_08099710: .4byte 0x00001034
-_08099714: .4byte SpriteCallbackDummy
-_08099718: .4byte 0x00001170
- thumb_func_end sub_80996B0
-
- thumb_func_start sub_809971C
-sub_809971C: @ 809971C
- push {r4-r7,lr}
- ldr r0, _08099730 @ =gUnknown_083B6DB4
- ldr r2, [r0]
- ldr r0, _08099734 @ =0x00001170
- adds r7, r2, r0
- ldrb r0, [r7]
- cmp r0, 0x10
- bne _08099738
- movs r0, 0
- b _08099800
- .align 2, 0
-_08099730: .4byte gUnknown_083B6DB4
-_08099734: .4byte 0x00001170
-_08099738:
- adds r0, 0x1
- strb r0, [r7]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0809975E
- ldr r1, _08099808 @ =0x000010c8
- adds r0, r2, r1
- ldr r0, [r0]
- ldr r1, [r0]
- ldrh r0, [r1, 0x22]
- subs r0, 0x1
- strh r0, [r1, 0x22]
- ldr r4, _0809980C @ =0x00001034
- adds r0, r2, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x22]
- adds r0, 0x1
- strh r0, [r1, 0x22]
-_0809975E:
- ldr r0, _08099808 @ =0x000010c8
- adds r5, r2, r0
- ldr r0, [r5]
- ldr r1, [r0]
- ldr r3, _08099810 @ =gSineTable
- ldrb r0, [r7]
- lsls r0, 4
- adds r0, r3
- movs r4, 0
- ldrsh r0, [r0, r4]
- cmp r0, 0
- bge _08099778
- adds r0, 0xF
-_08099778:
- asrs r0, 4
- strh r0, [r1, 0x24]
- ldr r0, _0809980C @ =0x00001034
- adds r6, r2, r0
- ldr r1, [r6]
- ldrb r0, [r7]
- lsls r0, 4
- adds r0, r3
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r0, 0
- bge _08099792
- adds r0, 0xF
-_08099792:
- asrs r0, 4
- negs r0, r0
- strh r0, [r1, 0x24]
- ldrb r0, [r7]
- cmp r0, 0x8
- bne _080997DE
- ldr r4, [r6]
- ldr r0, [r5]
- ldr r0, [r0]
- ldrb r0, [r0, 0x5]
- movs r2, 0xC
- ands r2, r0
- ldrb r3, [r4, 0x5]
- movs r1, 0xD
- negs r1, r1
- adds r0, r1, 0
- ands r0, r3
- orrs r0, r2
- strb r0, [r4, 0x5]
- ldr r2, [r6]
- ldr r0, [r5]
- ldr r0, [r0]
- adds r0, 0x43
- ldrb r0, [r0]
- adds r2, 0x43
- strb r0, [r2]
- ldr r0, [r5]
- ldr r2, [r0]
- ldrb r0, [r2, 0x5]
- ands r1, r0
- movs r0, 0x4
- orrs r1, r0
- strb r1, [r2, 0x5]
- ldr r0, [r5]
- ldr r0, [r0]
- adds r0, 0x43
- movs r1, 0x7
- strb r1, [r0]
-_080997DE:
- ldrb r0, [r7]
- cmp r0, 0x10
- bne _080997FE
- ldr r1, [r6]
- ldr r0, [r5]
- ldr r0, [r0]
- str r0, [r6]
- ldr r0, [r5]
- str r1, [r0]
- ldr r1, [r6]
- ldr r0, _08099814 @ =sub_80999C4
- str r0, [r1, 0x1C]
- ldr r0, [r5]
- ldr r1, [r0]
- ldr r0, _08099818 @ =SpriteCallbackDummy
- str r0, [r1, 0x1C]
-_080997FE:
- movs r0, 0x1
-_08099800:
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08099808: .4byte 0x000010c8
-_0809980C: .4byte 0x00001034
-_08099810: .4byte gSineTable
-_08099814: .4byte sub_80999C4
-_08099818: .4byte SpriteCallbackDummy
- thumb_func_end sub_809971C
-
- thumb_func_start sub_809981C
-sub_809981C: @ 809981C
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r2, r0, 0
- lsls r1, 24
- lsrs r4, r1, 24
- cmp r0, 0x1
- beq _08099858
- cmp r0, 0x1
- bgt _08099836
- cmp r0, 0
- beq _0809983C
- b _080998C0
-_08099836:
- cmp r2, 0x2
- beq _0809987C
- b _080998C0
-_0809983C:
- ldr r3, _0809984C @ =gUnknown_083B6DB4
- ldr r1, [r3]
- ldr r0, _08099850 @ =0x000010cc
- adds r2, r1, r0
- lsls r0, r4, 2
- ldr r4, _08099854 @ =0x00001038
- b _08099864
- .align 2, 0
-_0809984C: .4byte gUnknown_083B6DB4
-_08099850: .4byte 0x000010cc
-_08099854: .4byte 0x00001038
-_08099858:
- ldr r3, _08099870 @ =gUnknown_083B6DB4
- ldr r1, [r3]
- ldr r0, _08099874 @ =0x000010cc
- adds r2, r1, r0
- lsls r0, r4, 2
- ldr r4, _08099878 @ =0x00001050
-_08099864:
- adds r0, r4
- adds r1, r0
- str r1, [r2]
- adds r0, r3, 0
- b _0809988A
- .align 2, 0
-_08099870: .4byte gUnknown_083B6DB4
-_08099874: .4byte 0x000010cc
-_08099878: .4byte 0x00001050
-_0809987C:
- ldr r0, _080998C8 @ =gUnknown_083B6DB4
- ldr r1, [r0]
- ldr r3, _080998CC @ =0x000010cc
- adds r2, r1, r3
- ldr r4, _080998D0 @ =0x00001034
- adds r1, r4
- str r1, [r2]
-_0809988A:
- ldr r0, [r0]
- ldr r1, _080998CC @ =0x000010cc
- adds r4, r0, r1
- ldr r0, [r4]
- ldr r0, [r0]
- cmp r0, 0
- beq _080998C0
- bl InitSpriteAffineAnim
- ldr r0, [r4]
- 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 r0, [r4]
- ldr r1, [r0]
- ldr r0, _080998D4 @ =gSpriteAffineAnimTable_83B6F5C
- str r0, [r1, 0x10]
- ldr r0, [r4]
- ldr r0, [r0]
- movs r1, 0
- bl StartSpriteAffineAnim
-_080998C0:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080998C8: .4byte gUnknown_083B6DB4
-_080998CC: .4byte 0x000010cc
-_080998D0: .4byte 0x00001034
-_080998D4: .4byte gSpriteAffineAnimTable_83B6F5C
- thumb_func_end sub_809981C
-
- thumb_func_start sub_80998D8
-sub_80998D8: @ 80998D8
- push {lr}
- ldr r0, _080998FC @ =gUnknown_083B6DB4
- ldr r0, [r0]
- ldr r1, _08099900 @ =0x000010cc
- adds r0, r1
- ldr r0, [r0]
- ldr r1, [r0]
- cmp r1, 0
- beq _080998F8
- adds r3, r1, 0
- adds r3, 0x3E
- ldrb r2, [r3]
- movs r0, 0x4
- ands r0, r2
- cmp r0, 0
- beq _08099904
-_080998F8:
- movs r0, 0
- b _0809991A
- .align 2, 0
-_080998FC: .4byte gUnknown_083B6DB4
-_08099900: .4byte 0x000010cc
-_08099904:
- adds r0, r1, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _08099918
- movs r0, 0x4
- orrs r0, r2
- strb r0, [r3]
-_08099918:
- movs r0, 0x1
-_0809991A:
- pop {r1}
- bx r1
- thumb_func_end sub_80998D8
-
- thumb_func_start sub_8099920
-sub_8099920: @ 8099920
- push {r4,lr}
- ldr r0, _08099950 @ =gUnknown_083B6DB4
- ldr r0, [r0]
- ldr r1, _08099954 @ =0x000010cc
- adds r4, r0, r1
- ldr r0, [r4]
- ldr r0, [r0]
- cmp r0, 0
- beq _0809994A
- ldrb r0, [r0, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
- ldr r0, [r4]
- ldr r0, [r0]
- bl sub_8099BE0
- ldr r1, [r4]
- movs r0, 0
- str r0, [r1]
-_0809994A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08099950: .4byte gUnknown_083B6DB4
-_08099954: .4byte 0x000010cc
- thumb_func_end sub_8099920
-
- thumb_func_start sub_8099958
-sub_8099958: @ 8099958
- push {lr}
- ldr r0, _08099988 @ =gUnknown_083B6DB4
- ldr r0, [r0]
- ldr r1, _0809998C @ =0x000010cc
- adds r3, r0, r1
- ldr r0, [r3]
- ldr r0, [r0]
- cmp r0, 0
- beq _08099982
- 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]
- ldr r0, [r0]
- movs r1, 0x1
- bl StartSpriteAffineAnim
-_08099982:
- pop {r0}
- bx r0
- .align 2, 0
-_08099988: .4byte gUnknown_083B6DB4
-_0809998C: .4byte 0x000010cc
- thumb_func_end sub_8099958
-
- thumb_func_start sub_8099990
-sub_8099990: @ 8099990
- push {lr}
- ldr r0, _080999A4 @ =gUnknown_083B6DB4
- ldr r0, [r0]
- ldr r1, _080999A8 @ =0x000010cc
- adds r2, r0, r1
- ldr r0, [r2]
- cmp r0, 0
- bne _080999AC
- movs r0, 0
- b _080999C0
- .align 2, 0
-_080999A4: .4byte gUnknown_083B6DB4
-_080999A8: .4byte 0x000010cc
-_080999AC:
- ldr r0, [r0]
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080999BE
- movs r0, 0
- str r0, [r2]
-_080999BE:
- movs r0, 0x1
-_080999C0:
- pop {r1}
- bx r1
- thumb_func_end sub_8099990
-
- thumb_func_start sub_80999C4
-sub_80999C4: @ 80999C4
- ldr r1, _080999E4 @ =gUnknown_083B6DB4
- ldr r1, [r1]
- movs r2, 0x8E
- lsls r2, 5
- 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
-_080999E4: .4byte gUnknown_083B6DB4
- thumb_func_end sub_80999C4
-
- thumb_func_start sub_80999E8
-sub_80999E8: @ 80999E8
- push {r4-r6,lr}
- lsls r0, 16
- lsrs r3, r0, 16
- movs r4, 0
- ldr r1, _08099A58 @ =gUnknown_083B6DB4
- ldr r0, [r1]
- movs r2, 0x89
- lsls r2, 5
- adds r0, r2
- ldrh r0, [r0]
- adds r2, r1, 0
- cmp r0, r3
- beq _08099A20
- adds r6, r2, 0
- movs r5, 0x89
- lsls r5, 5
-_08099A08:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x27
- bhi _08099A20
- ldr r0, [r6]
- lsls r1, r4, 1
- adds r0, r5
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, r3
- bne _08099A08
-_08099A20:
- cmp r4, 0x28
- bne _08099A60
- movs r4, 0
- ldr r0, [r2]
- movs r5, 0x89
- lsls r5, 5
- adds r0, r5
- ldrh r0, [r0]
- cmp r0, 0
- beq _08099A4E
- adds r6, r2, 0
-_08099A36:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x27
- bhi _08099A4E
- ldr r0, [r6]
- lsls r1, r4, 1
- adds r0, r5
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, 0
- bne _08099A36
-_08099A4E:
- cmp r4, 0x28
- bne _08099A60
- ldr r0, _08099A5C @ =0x0000ffff
- b _08099A94
- .align 2, 0
-_08099A58: .4byte gUnknown_083B6DB4
-_08099A5C: .4byte 0x0000ffff
-_08099A60:
- ldr r1, [r2]
- lsls r2, r4, 1
- movs r5, 0x89
- lsls r5, 5
- adds r0, r1, r5
- adds r0, r2
- strh r3, [r0]
- ldr r0, _08099A9C @ =0x000010d0
- adds r1, r0
- adds r1, r2
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- lsls r4, 20
- lsrs r4, 16
- ldr r1, _08099AA0 @ =gMonIconTable
- lsls r0, r3, 2
- adds r0, r1
- ldr r0, [r0]
- lsls r1, r4, 5
- ldr r2, _08099AA4 @ =0x06010000
- adds r1, r2
- ldr r2, _08099AA8 @ =0x04000080
- bl CpuSet
- adds r0, r4, 0
-_08099A94:
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08099A9C: .4byte 0x000010d0
-_08099AA0: .4byte gMonIconTable
-_08099AA4: .4byte 0x06010000
-_08099AA8: .4byte 0x04000080
- thumb_func_end sub_80999E8
-
- thumb_func_start sub_8099AAC
-sub_8099AAC: @ 8099AAC
- push {r4-r7,lr}
- lsls r0, 16
- lsrs r6, r0, 16
- movs r3, 0
- ldr r0, _08099AE4 @ =gUnknown_083B6DB4
- ldr r0, [r0]
- movs r1, 0x89
- lsls r1, 5
- adds r5, r0, r1
- subs r1, 0x50
- adds r4, r0, r1
- ldr r0, _08099AE8 @ =0x0000ffff
- adds r7, r0, 0
-_08099AC6:
- lsls r1, r3, 1
- adds r2, r5, r1
- ldrh r0, [r2]
- cmp r0, r6
- bne _08099AEC
- adds r1, r4, r1
- ldrh r0, [r1]
- subs r0, 0x1
- strh r0, [r1]
- ands r0, r7
- cmp r0, 0
- bne _08099AF6
- strh r0, [r2]
- b _08099AF6
- .align 2, 0
-_08099AE4: .4byte gUnknown_083B6DB4
-_08099AE8: .4byte 0x0000ffff
-_08099AEC:
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x27
- bls _08099AC6
-_08099AF6:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8099AAC
-
- thumb_func_start sub_8099AFC
-sub_8099AFC: @ 8099AFC
- 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, _08099BAC @ =gSpriteTemplate_83B6F14
- 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 mon_icon_convert_unown_species_id
- mov r10, r0
- mov r6, r10
- mov r2, sp
- ldr r1, _08099BB0 @ =gMonIconPaletteIndices
- adds r1, r6, r1
- ldr r3, _08099BB4 @ =0x0000dac0
- adds r0, r3, 0
- ldrb r1, [r1]
- adds r0, r1
- strh r0, [r2, 0x2]
- adds r0, r6, 0
- bl sub_80999E8
- lsls r0, 16
- lsrs r0, 16
- adds r5, r0, 0
- ldr r0, _08099BB8 @ =0x0000ffff
- cmp r5, r0
- beq _08099BCE
- 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 _08099BC8
- ldr r1, _08099BBC @ =gSprites
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- ldr r2, _08099BC0 @ =0x000003ff
- ands r2, r5
- ldrh r3, [r0, 0x4]
- ldr r1, _08099BC4 @ =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 _08099BD0
- .align 2, 0
-_08099BAC: .4byte gSpriteTemplate_83B6F14
-_08099BB0: .4byte gMonIconPaletteIndices
-_08099BB4: .4byte 0x0000dac0
-_08099BB8: .4byte 0x0000ffff
-_08099BBC: .4byte gSprites
-_08099BC0: .4byte 0x000003ff
-_08099BC4: .4byte 0xfffffc00
-_08099BC8:
- adds r0, r6, 0
- bl sub_8099AAC
-_08099BCE:
- movs r0, 0
-_08099BD0:
- 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_8099AFC
-
- thumb_func_start sub_8099BE0
-sub_8099BE0: @ 8099BE0
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x2E]
- bl sub_8099AAC
- adds r0, r4, 0
- bl DestroySprite
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8099BE0
-
- thumb_func_start sub_8099BF8
-sub_8099BF8: @ 8099BF8
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _08099C50 @ =gUnknown_083B6DB4
- ldr r0, [r0]
- ldr r1, _08099C54 @ =0x000008ba
- adds r2, r0, r1
- movs r1, 0
- strb r1, [r2]
- ldr r2, _08099C58 @ =0x000008b4
- adds r0, r2
- strh r1, [r0]
- str r1, [sp]
- ldr r1, _08099C5C @ =0x040000d4
- mov r0, sp
- str r0, [r1]
- ldr r0, _08099C60 @ =0x0600d000
- str r0, [r1, 0x4]
- ldr r0, _08099C64 @ =0x85000400
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r0, r4, 0
- movs r1, 0
- bl sub_8099EB0
- adds r0, r4, 0
- bl sub_809A23C
- bl sub_809A6DC
- adds r0, r4, 0
- bl sub_8098C48
- ldr r1, _08099C68 @ =REG_BG2CNT
- ldr r2, _08099C6C @ =0x00005a0a
- adds r0, r2, 0
- strh r0, [r1]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08099C50: .4byte gUnknown_083B6DB4
-_08099C54: .4byte 0x000008ba
-_08099C58: .4byte 0x000008b4
-_08099C5C: .4byte 0x040000d4
-_08099C60: .4byte 0x0600d000
-_08099C64: .4byte 0x85000400
-_08099C68: .4byte REG_BG2CNT
-_08099C6C: .4byte 0x00005a0a
- thumb_func_end sub_8099BF8
-
- thumb_func_start sub_8099C70
-sub_8099C70: @ 8099C70
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r5, r0, 0
- bl sub_8099D90
- lsls r0, 24
- asrs r4, r0, 24
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8099EB0
- ldr r0, _08099D10 @ =gUnknown_083B6DB4
- ldr r2, [r0]
- lsls r0, r4, 1
- adds r0, r4
- lsls r0, 1
- ldr r3, _08099D14 @ =0x000008b6
- adds r1, r2, r3
- strh r0, [r1]
- ldr r0, _08099D18 @ =0x000008b8
- adds r1, r2, r0
- movs r0, 0x20
- strh r0, [r1]
- ldr r1, _08099D1C @ =0x000008bb
- adds r0, r2, r1
- strb r5, [r0]
- movs r1, 0
- cmp r4, 0
- bgt _08099CAE
- movs r1, 0x5
-_08099CAE:
- ldr r3, _08099D20 @ =0x000008bc
- adds r0, r2, r3
- strh r1, [r0]
- ldr r1, _08099D24 @ =0x000008be
- adds r0, r2, r1
- strh r4, [r0]
- movs r1, 0x38
- cmp r4, 0
- ble _08099CC6
- movs r3, 0x84
- lsls r3, 1
- adds r1, r3, 0
-_08099CC6:
- movs r3, 0x8C
- lsls r3, 4
- adds r0, r2, r3
- strh r1, [r0]
- movs r1, 0
- cmp r4, 0
- bgt _08099CD6
- movs r1, 0x5
-_08099CD6:
- ldr r3, _08099D28 @ =0x000008c2
- adds r0, r2, r3
- strh r1, [r0]
- ldr r1, _08099D2C @ =0x000008c4
- adds r0, r2, r1
- strh r4, [r0]
- adds r3, 0x4
- adds r1, r2, r3
- movs r0, 0
- strh r0, [r1]
- ldr r0, _08099D30 @ =0x000008c8
- adds r1, r2, r0
- movs r0, 0x2
- strh r0, [r1]
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_809900C
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_809A3D0
- adds r0, r4, 0
- bl sub_809A774
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08099D10: .4byte gUnknown_083B6DB4
-_08099D14: .4byte 0x000008b6
-_08099D18: .4byte 0x000008b8
-_08099D1C: .4byte 0x000008bb
-_08099D20: .4byte 0x000008bc
-_08099D24: .4byte 0x000008be
-_08099D28: .4byte 0x000008c2
-_08099D2C: .4byte 0x000008c4
-_08099D30: .4byte 0x000008c8
- thumb_func_end sub_8099C70
-
- thumb_func_start sub_8099D34
-sub_8099D34: @ 8099D34
- push {r4,lr}
- bl sub_80990AC
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, _08099D78 @ =gUnknown_083B6DB4
- ldr r1, [r0]
- ldr r0, _08099D7C @ =0x000008b8
- adds r3, r1, r0
- ldrh r0, [r3]
- cmp r0, 0
- beq _08099D88
- ldr r4, _08099D80 @ =0x000008b4
- adds r2, r1, r4
- adds r4, 0x2
- adds r0, r1, r4
- ldrh r0, [r0]
- ldrh r1, [r2]
- adds r0, r1
- ldr r1, _08099D84 @ =0x000001ff
- ands r0, r1
- strh r0, [r2]
- ldrh r0, [r3]
- subs r0, 0x1
- strh r0, [r3]
- lsls r0, 16
- cmp r0, 0
- bne _08099D74
- bl sub_809A598
- bl sub_809A810
-_08099D74:
- movs r0, 0x1
- b _08099D8A
- .align 2, 0
-_08099D78: .4byte gUnknown_083B6DB4
-_08099D7C: .4byte 0x000008b8
-_08099D80: .4byte 0x000008b4
-_08099D84: .4byte 0x000001ff
-_08099D88:
- adds r0, r2, 0
-_08099D8A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8099D34
-
- thumb_func_start sub_8099D90
-sub_8099D90: @ 8099D90
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl get_preferred_box
- lsls r0, 24
- lsrs r1, r0, 24
- movs r2, 0
- cmp r1, r4
- beq _08099DBA
-_08099DA4:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0xD
- bls _08099DB0
- movs r1, 0
-_08099DB0:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r1, r4
- bne _08099DA4
-_08099DBA:
- movs r0, 0x1
- negs r0, r0
- cmp r2, 0x6
- bhi _08099DC4
- movs r0, 0x1
-_08099DC4:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8099D90
-
- thumb_func_start sub_8099DCC
-sub_8099DCC: @ 8099DCC
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl get_preferred_box
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _08099DF8 @ =gPokemonStorage
- ldr r2, _08099DFC @ =0x000083c2
- adds r1, r2
- adds r0, r1
- movs r1, 0
- strb r4, [r0]
- ldr r0, _08099E00 @ =gUnknown_083B6DB4
- ldr r0, [r0]
- ldr r2, _08099E04 @ =0x00001032
- adds r0, r2
- strb r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08099DF8: .4byte gPokemonStorage
-_08099DFC: .4byte 0x000083c2
-_08099E00: .4byte gUnknown_083B6DB4
-_08099E04: .4byte 0x00001032
- thumb_func_end sub_8099DCC
-
- thumb_func_start sub_8099E08
-sub_8099E08: @ 8099E08
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r0, _08099E24 @ =gUnknown_083B6DB4
- ldr r5, [r0]
- ldr r0, _08099E28 @ =0x00001032
- adds r4, r5, r0
- ldrb r0, [r4]
- cmp r0, 0x1
- beq _08099E54
- cmp r0, 0x1
- bgt _08099E2C
- cmp r0, 0
- beq _08099E36
- b _08099EA6
- .align 2, 0
-_08099E24: .4byte gUnknown_083B6DB4
-_08099E28: .4byte 0x00001032
-_08099E2C:
- cmp r0, 0x2
- beq _08099E90
- cmp r0, 0x3
- beq _08099EA2
- b _08099EA6
-_08099E36:
- ldr r1, _08099E4C @ =0x00000d08
- adds r0, r5, r1
- ldr r0, [r0]
- ldr r1, _08099E50 @ =0x0000ffff
- str r1, [sp]
- movs r1, 0x1
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- b _08099E9A
- .align 2, 0
-_08099E4C: .4byte 0x00000d08
-_08099E50: .4byte 0x0000ffff
-_08099E54:
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- bne _08099EA6
- bl get_preferred_box
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- bl sub_8099EB0
- bl sub_809A654
- ldr r1, _08099E88 @ =0x00000d08
- adds r0, r5, r1
- ldr r0, [r0]
- ldr r1, _08099E8C @ =0x0000ffff
- str r1, [sp]
- movs r1, 0x1
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- b _08099E9A
- .align 2, 0
-_08099E88: .4byte 0x00000d08
-_08099E8C: .4byte 0x0000ffff
-_08099E90:
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- bne _08099EA6
-_08099E9A:
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- b _08099EA6
-_08099EA2:
- movs r0, 0
- b _08099EA8
-_08099EA6:
- movs r0, 0x1
-_08099EA8:
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8099E08
-
- thumb_func_start sub_8099EB0
-sub_8099EB0: @ 8099EB0
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r7, r1, 24
- cmp r1, 0
- beq _08099ED8
- ldr r0, _08099F38 @ =gUnknown_083B6DB4
- ldr r0, [r0]
- movs r2, 0
- ldr r3, _08099F3C @ =0x000008ba
- adds r1, r0, r3
- ldrb r0, [r1]
- cmp r0, 0
- bne _08099ED0
- movs r2, 0x1
-_08099ED0:
- strb r2, [r1]
- ldr r0, _08099F40 @ =0x0600d000
- bl sub_809A14C
-_08099ED8:
- ldr r0, _08099F44 @ =gPokemonStorage
- ldr r1, _08099F48 @ =0x000083c2
- adds r0, r1
- adds r0, r4, r0
- ldrb r4, [r0]
- lsls r4, 4
- ldr r0, _08099F4C @ =gWallpaperTable
- adds r4, r0
- ldr r0, [r4, 0xC]
- ldr r1, _08099F38 @ =gUnknown_083B6DB4
- ldr r5, [r1]
- ldr r2, _08099F3C @ =0x000008ba
- adds r6, r5, r2
- ldrb r2, [r6]
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 20
- movs r3, 0x80
- lsls r3, 15
- adds r1, r3
- lsrs r1, 16
- movs r2, 0x60
- bl LoadPalette
- ldr r0, [r4, 0x8]
- ldr r1, _08099F50 @ =0x00000d62
- adds r5, r1
- adds r1, r5, 0
- bl LZ77UnCompWram
- ldr r0, _08099F40 @ =0x0600d000
- lsls r2, r7, 24
- asrs r2, 24
- ldrb r3, [r6]
- adds r1, r5, 0
- bl sub_8099F58
- ldr r0, [r4]
- ldrb r1, [r6]
- lsls r1, 13
- ldr r2, _08099F54 @ =0x06008000
- adds r1, r2
- bl LZ77UnCompVram
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08099F38: .4byte gUnknown_083B6DB4
-_08099F3C: .4byte 0x000008ba
-_08099F40: .4byte 0x0600d000
-_08099F44: .4byte gPokemonStorage
-_08099F48: .4byte 0x000083c2
-_08099F4C: .4byte gWallpaperTable
-_08099F50: .4byte 0x00000d62
-_08099F54: .4byte 0x06008000
- thumb_func_end sub_8099EB0
-
- thumb_func_start sub_8099F58
-sub_8099F58: @ 8099F58
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x20
- mov r9, r0
- adds r5, r1, 0
- lsls r2, 24
- lsls r3, 24
- lsrs r3, 24
- lsls r0, r3, 8
- str r0, [sp]
- lsls r0, r3, 1
- adds r0, r3
- adds r0, 0x4
- lsls r0, 28
- lsrs r0, 16
- str r0, [sp, 0x4]
- ldr r0, _08099FB8 @ =gUnknown_083B6DB4
- ldr r0, [r0]
- ldr r1, _08099FBC @ =0x000008b4
- adds r0, r1
- ldrh r1, [r0]
- lsrs r1, 3
- adds r1, 0xA
- lsrs r0, r2, 24
- mov r8, r0
- asrs r2, 24
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- movs r0, 0x3F
- ands r1, r0
- str r1, [sp, 0x8]
- adds r2, r1, 0
- cmp r2, 0xC
- bgt _08099FC0
- movs r6, 0x14
- movs r3, 0
- lsls r0, r2, 1
- adds r0, 0x80
- mov r1, r9
- adds r4, r1, r0
- movs r7, 0
- b _0809A020
- .align 2, 0
-_08099FB8: .4byte gUnknown_083B6DB4
-_08099FBC: .4byte 0x000008b4
-_08099FC0:
- cmp r2, 0x1F
- bgt _08099FE6
- movs r0, 0x20
- subs r0, r2
- lsls r0, 16
- movs r1, 0x14
- lsrs r6, r0, 16
- asrs r0, 16
- subs r1, r0
- lsls r1, 16
- lsrs r3, r1, 16
- lsls r0, r2, 1
- adds r0, 0x80
- mov r2, r9
- adds r4, r2, r0
- movs r7, 0x88
- lsls r7, 4
- add r7, r9
- b _0809A020
-_08099FE6:
- cmp r2, 0x2C
- bgt _08099FFE
- movs r6, 0x14
- movs r3, 0
- lsls r0, r2, 1
- movs r1, 0x84
- lsls r1, 4
- adds r0, r1
- mov r2, r9
- adds r4, r2, r0
- movs r7, 0
- b _0809A020
-_08099FFE:
- movs r0, 0x40
- subs r0, r2
- lsls r0, 16
- movs r1, 0x14
- lsrs r6, r0, 16
- asrs r0, 16
- subs r1, r0
- lsls r1, 16
- lsrs r3, r1, 16
- lsls r0, r2, 1
- movs r1, 0x84
- lsls r1, 4
- adds r0, r1
- mov r2, r9
- adds r4, r2, r0
- mov r7, r9
- adds r7, 0x80
-_0809A020:
- movs r1, 0
- mov r0, r8
- lsls r0, 24
- str r0, [sp, 0x14]
- lsls r0, r6, 16
- asrs r0, 16
- mov r8, r0
- lsls r3, 16
- str r3, [sp, 0xC]
- asrs r2, r3, 16
- str r2, [sp, 0x10]
-_0809A036:
- movs r3, 0
- adds r0, r4, 0
- adds r0, 0x40
- str r0, [sp, 0x18]
- adds r2, r7, 0
- adds r2, 0x40
- str r2, [sp, 0x1C]
- adds r1, 0x1
- mov r10, r1
- cmp r3, r8
- bge _0809A07A
- ldr r0, _0809A0D4 @ =0x00000fff
- mov r12, r0
- movs r6, 0xF0
- lsls r6, 8
-_0809A054:
- ldrh r2, [r5]
- mov r0, r12
- ands r0, r2
- ldr r1, [sp]
- adds r0, r1, r0
- adds r1, r6, 0
- ands r1, r2
- ldr r2, [sp, 0x4]
- adds r1, r2, r1
- orrs r1, r0
- lsls r0, r3, 1
- adds r0, r4
- strh r1, [r0]
- adds r5, 0x2
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, r8
- blt _0809A054
-_0809A07A:
- movs r3, 0
- ldr r0, [sp, 0x10]
- cmp r3, r0
- bge _0809A0B4
- ldr r1, _0809A0D4 @ =0x00000fff
- mov r12, r1
- movs r6, 0xF0
- lsls r6, 8
- ldr r2, [sp, 0xC]
- asrs r4, r2, 16
-_0809A08E:
- ldrh r2, [r5]
- mov r0, r12
- ands r0, r2
- ldr r1, [sp]
- adds r0, r1, r0
- adds r1, r6, 0
- ands r1, r2
- ldr r2, [sp, 0x4]
- adds r1, r2, r1
- orrs r1, r0
- lsls r0, r3, 1
- adds r0, r7
- strh r1, [r0]
- adds r5, 0x2
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, r4
- blt _0809A08E
-_0809A0B4:
- ldr r4, [sp, 0x18]
- ldr r7, [sp, 0x1C]
- mov r1, r10
- lsls r0, r1, 16
- lsrs r1, r0, 16
- cmp r1, 0x11
- bls _0809A036
- ldr r0, [sp, 0x14]
- asrs r2, r0, 24
- cmp r2, 0
- beq _0809A13A
- cmp r2, 0
- ble _0809A0D8
- ldr r1, [sp, 0x8]
- adds r1, 0x14
- b _0809A0DC
- .align 2, 0
-_0809A0D4: .4byte 0x00000fff
-_0809A0D8:
- ldr r1, [sp, 0x8]
- subs r1, 0x4
-_0809A0DC:
- movs r0, 0x3F
- ands r1, r0
- adds r4, r1, 0
- adds r0, r4, 0
- cmp r0, 0x1F
- bgt _0809A0EE
- lsls r0, 1
- adds r0, 0x80
- b _0809A0F6
-_0809A0EE:
- lsls r0, 1
- movs r2, 0x84
- lsls r2, 4
- adds r0, r2
-_0809A0F6:
- mov r1, r9
- adds r2, r1, r0
- movs r3, 0
- movs r6, 0
-_0809A0FE:
- movs r1, 0
- adds r5, r3, 0x1
- lsls r3, r4, 16
-_0809A104:
- strh r6, [r2]
- adds r2, 0x40
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0x11
- bls _0809A104
- asrs r0, r3, 16
- adds r4, r0, 0x1
- movs r0, 0x3F
- ands r4, r0
- adds r0, r4, 0
- cmp r0, 0x1F
- bgt _0809A126
- lsls r0, 1
- adds r0, 0x80
- b _0809A12E
-_0809A126:
- lsls r0, 1
- movs r2, 0x84
- lsls r2, 4
- adds r0, r2
-_0809A12E:
- mov r1, r9
- adds r2, r1, r0
- lsls r0, r5, 16
- lsrs r3, r0, 16
- cmp r3, 0x3
- bls _0809A0FE
-_0809A13A:
- add sp, 0x20
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8099F58
-
- thumb_func_start sub_809A14C
-sub_809A14C: @ 809A14C
- push {r4-r6,lr}
- adds r2, r0, 0
- ldr r0, _0809A174 @ =gUnknown_083B6DB4
- ldr r0, [r0]
- ldr r1, _0809A178 @ =0x000008b4
- 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 _0809A17C
- lsls r0, 1
- movs r6, 0x98
- lsls r6, 3
- adds r0, r6
- b _0809A184
- .align 2, 0
-_0809A174: .4byte gUnknown_083B6DB4
-_0809A178: .4byte 0x000008b4
-_0809A17C:
- lsls r0, 1
- movs r1, 0xC8
- lsls r1, 4
- adds r0, r1
-_0809A184:
- adds r2, r0
- movs r0, 0
- movs r5, 0
- movs r4, 0x3F
-_0809A18C:
- strh r5, [r2]
- adds r2, 0x2
- adds r3, 0x1
- ands r3, r4
- adds r1, r3, 0
- cmp r1, 0
- bne _0809A19E
- ldr r6, _0809A1B8 @ =0xfffff7c0
- adds r2, r6
-_0809A19E:
- cmp r1, 0x20
- bne _0809A1A8
- movs r1, 0xF8
- lsls r1, 3
- adds r2, r1
-_0809A1A8:
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x2B
- bls _0809A18C
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0809A1B8: .4byte 0xfffff7c0
- thumb_func_end sub_809A14C
-
- thumb_func_start sub_809A1BC
-sub_809A1BC: @ 809A1BC
- push {r4-r6,lr}
- sub sp, 0x8
- adds r3, r0, 0
- adds r2, r1, 0
- ldr r0, _0809A228 @ =gUnknown_083B6DB8
- ldr r5, [r0]
- mov r1, sp
- movs r0, 0
- strh r0, [r1]
- ldr r4, _0809A22C @ =0x040000d4
- str r1, [r4]
- str r5, [r4, 0x4]
- movs r6, 0x80
- lsls r6, 1
- ldr r0, _0809A230 @ =0x81000100
- str r0, [r4, 0x8]
- ldr r0, [r4, 0x8]
- ldr r0, _0809A234 @ =gWindowTemplate_81E6D38
- adds r1, r5, 0
- str r3, [sp, 0x4]
- bl Text_InitWindow8004E3C
- str r5, [r4]
- ldr r3, [sp, 0x4]
- str r3, [r4, 0x4]
- ldr r1, _0809A238 @ =0x80000040
- str r1, [r4, 0x8]
- ldr r0, [r4, 0x8]
- adds r0, r5, r6
- str r0, [r4]
- adds r0, r3, 0
- adds r0, 0x80
- str r0, [r4, 0x4]
- str r1, [r4, 0x8]
- ldr r0, [r4, 0x8]
- adds r0, r5, 0
- adds r0, 0x80
- str r0, [r4]
- adds r6, r3, r6
- str r6, [r4, 0x4]
- str r1, [r4, 0x8]
- ldr r0, [r4, 0x8]
- movs r0, 0xC0
- lsls r0, 1
- adds r5, r0
- str r5, [r4]
- adds r3, r0
- str r3, [r4, 0x4]
- str r1, [r4, 0x8]
- ldr r0, [r4, 0x8]
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0809A228: .4byte gUnknown_083B6DB8
-_0809A22C: .4byte 0x040000d4
-_0809A230: .4byte 0x81000100
-_0809A234: .4byte gWindowTemplate_81E6D38
-_0809A238: .4byte 0x80000040
- thumb_func_end sub_809A1BC
-
- thumb_func_start sub_809A23C
-sub_809A23C: @ 809A23C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x24
- mov r8, r0
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r0, _0809A384 @ =gUnknown_083B6DB4
- ldr r5, [r0]
- ldr r1, _0809A388 @ =0x000008ca
- adds r7, r5, r1
- str r7, [sp, 0x18]
- mov r2, sp
- adds r2, 0x18
- str r2, [sp, 0x20]
- ldr r0, _0809A38C @ =0x00030200
- str r0, [r2, 0x4]
- mov r1, sp
- ldr r3, _0809A390 @ =0x00000ccc
- adds r0, r5, r3
- str r0, [sp]
- ldr r4, _0809A394 @ =0x0000dac8
- strh r4, [r1, 0x4]
- str r0, [sp, 0x8]
- ldr r6, _0809A398 @ =0xffffdac9
- strh r6, [r1, 0xC]
- add r0, sp, 0x10
- movs r1, 0
- movs r2, 0x8
- bl memset
- ldr r0, _0809A39C @ =gPokemonStorage
- mov r9, r0
- ldr r0, _0809A3A0 @ =0x000083c2
- add r0, r9
- add r0, r8
- ldrb r1, [r0]
- ldr r2, _0809A3A4 @ =gUnknown_083BB0A8
- lsls r1, 2
- adds r0, r1, r2
- ldrh r3, [r0]
- ldr r6, _0809A3A8 @ =0x00000ce8
- adds r0, r5, r6
- strh r3, [r0]
- adds r2, 0x2
- adds r1, r2
- ldrh r1, [r1]
- ldr r2, _0809A3AC @ =0x00000cea
- adds r0, r5, r2
- strh r1, [r0]
- mov r0, sp
- bl LoadSpritePalettes
- ldr r3, _0809A3B0 @ =0x00000d08
- adds r6, r5, r3
- movs r0, 0xFC
- lsls r0, 2
- str r0, [r6]
- adds r0, r4, 0
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- movs r2, 0x87
- lsls r2, 1
- mov r10, r2
- add r1, r10
- ldr r3, _0809A3B4 @ =0x00000cec
- adds r2, r5, r3
- strh r1, [r2]
- movs r4, 0x80
- lsls r4, 9
- adds r1, r4, 0
- lsls r1, r0
- ldr r0, [r6]
- orrs r0, r1
- str r0, [r6]
- ldr r0, _0809A3B8 @ =0x0000dac9
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- add r1, r10
- ldr r2, _0809A3BC @ =0x00000cee
- adds r5, r2
- strh r1, [r5]
- lsls r4, r0
- ldr r0, [r6]
- orrs r0, r4
- str r0, [r6]
- mov r3, r8
- lsls r4, r3, 3
- add r4, r8
- ldr r6, _0809A3C0 @ =0x00008344
- add r9, r6
- add r4, r9
- adds r0, r7, 0
- adds r1, r4, 0
- bl sub_809A1BC
- ldr r0, [sp, 0x20]
- bl LoadSpriteSheet
- adds r0, r4, 0
- bl sub_8072CA4
- lsls r0, 24
- lsrs r0, 24
- bl sub_809A6D0
- movs r4, 0
- lsls r0, 16
- asrs r6, r0, 16
-_0809A328:
- lsls r1, r4, 5
- adds r1, r6, r1
- lsls r1, 16
- asrs r1, 16
- ldr r0, _0809A3C4 @ =gSpriteTemplate_83BB2B8
- movs r2, 0x1C
- movs r3, 0x17
- bl CreateSprite
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r0, _0809A384 @ =gUnknown_083B6DB4
- ldr r5, [r0]
- lsls r0, r4, 2
- movs r3, 0xCF
- lsls r3, 4
- adds r2, r5, r3
- adds r2, r0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _0809A3C8 @ =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 _0809A328
- ldr r6, _0809A3CC @ =0x00000cca
- adds r1, r5, r6
- movs r0, 0
- strb r0, [r1]
- add sp, 0x24
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0809A384: .4byte gUnknown_083B6DB4
-_0809A388: .4byte 0x000008ca
-_0809A38C: .4byte 0x00030200
-_0809A390: .4byte 0x00000ccc
-_0809A394: .4byte 0x0000dac8
-_0809A398: .4byte 0xffffdac9
-_0809A39C: .4byte gPokemonStorage
-_0809A3A0: .4byte 0x000083c2
-_0809A3A4: .4byte gUnknown_083BB0A8
-_0809A3A8: .4byte 0x00000ce8
-_0809A3AC: .4byte 0x00000cea
-_0809A3B0: .4byte 0x00000d08
-_0809A3B4: .4byte 0x00000cec
-_0809A3B8: .4byte 0x0000dac9
-_0809A3BC: .4byte 0x00000cee
-_0809A3C0: .4byte 0x00008344
-_0809A3C4: .4byte gSpriteTemplate_83BB2B8
-_0809A3C8: .4byte gSprites
-_0809A3CC: .4byte 0x00000cca
- thumb_func_end sub_809A23C
-
thumb_func_start sub_809A3D0
sub_809A3D0: @ 809A3D0
push {r4-r7,lr}
@@ -8982,7 +19,7 @@ sub_809A3D0: @ 809A3D0
lsls r1, 24
lsrs r1, 24
mov r10, r1
- ldr r3, _0809A43C @ =gUnknown_083B6DB4
+ ldr r3, _0809A43C @ =gPokemonStorageSystemPtr
ldr r5, [r3]
ldr r1, _0809A440 @ =0x000008ca
adds r0, r5, r1
@@ -9025,7 +62,7 @@ _0809A41E:
mov r8, r0
b _0809A478
.align 2, 0
-_0809A43C: .4byte gUnknown_083B6DB4
+_0809A43C: .4byte gPokemonStorageSystemPtr
_0809A440: .4byte 0x000008ca
_0809A444: .4byte 0x0000ffff
_0809A448: .4byte 0x00030200
@@ -9111,7 +148,7 @@ _0809A4DE:
bl CreateSprite
lsls r0, 24
lsrs r0, 24
- ldr r1, _0809A584 @ =gUnknown_083B6DB4
+ ldr r1, _0809A584 @ =gPokemonStorageSystemPtr
ldr r4, [r1]
lsls r6, r7, 2
ldr r1, _0809A588 @ =0x00000cf8
@@ -9174,7 +211,7 @@ _0809A574: .4byte 0x0000dac9
_0809A578: .4byte 0x000008ca
_0809A57C: .4byte gPokemonStorage + 0x8344
_0809A580: .4byte gUnknown_083BB0A8
-_0809A584: .4byte gUnknown_083B6DB4
+_0809A584: .4byte gPokemonStorageSystemPtr
_0809A588: .4byte 0x00000cf8
_0809A58C: .4byte gSprites
_0809A590: .4byte sub_809A5E8
@@ -9184,7 +221,7 @@ _0809A594: .4byte sub_809A61C
thumb_func_start sub_809A598
sub_809A598: @ 809A598
push {lr}
- ldr r0, _0809A5B0 @ =gUnknown_083B6DB4
+ ldr r0, _0809A5B0 @ =gPokemonStorageSystemPtr
ldr r0, [r0]
ldr r1, _0809A5B4 @ =0x00000cca
adds r0, r1
@@ -9195,13 +232,13 @@ sub_809A598: @ 809A598
bl FreeSpriteTilesByTag
b _0809A5BE
.align 2, 0
-_0809A5B0: .4byte gUnknown_083B6DB4
+_0809A5B0: .4byte gPokemonStorageSystemPtr
_0809A5B4: .4byte 0x00000cca
_0809A5B8:
movs r0, 0x3
bl FreeSpriteTilesByTag
_0809A5BE:
- ldr r0, _0809A5E0 @ =gUnknown_083B6DB4
+ ldr r0, _0809A5E0 @ =gPokemonStorageSystemPtr
ldr r0, [r0]
movs r3, 0xCF
lsls r3, 4
@@ -9219,7 +256,7 @@ _0809A5BE:
pop {r0}
bx r0
.align 2, 0
-_0809A5E0: .4byte gUnknown_083B6DB4
+_0809A5E0: .4byte gPokemonStorageSystemPtr
_0809A5E4: .4byte 0x00000cf4
thumb_func_end sub_809A598
@@ -9298,7 +335,7 @@ sub_809A654: @ 809A654
adds r1, r2
adds r0, r1
ldrb r1, [r0]
- ldr r0, _0809A698 @ =gUnknown_083B6DB4
+ ldr r0, _0809A698 @ =gPokemonStorageSystemPtr
ldr r2, [r0]
ldr r3, _0809A69C @ =0x00000cca
adds r0, r2, r3
@@ -9320,7 +357,7 @@ sub_809A654: @ 809A654
.align 2, 0
_0809A690: .4byte gPokemonStorage
_0809A694: .4byte 0x000083c2
-_0809A698: .4byte gUnknown_083B6DB4
+_0809A698: .4byte gPokemonStorageSystemPtr
_0809A69C: .4byte 0x00000cca
_0809A6A0: .4byte gUnknown_083BB0A8
_0809A6A4: .4byte gPlttBufferUnfaded
@@ -9396,7 +433,7 @@ _0809A6EC:
adds r0, r1, 0
_0809A72C:
strh r0, [r4, 0x34]
- ldr r0, _0809A770 @ =gUnknown_083B6DB4
+ ldr r0, _0809A770 @ =gPokemonStorageSystemPtr
ldr r0, [r0]
lsls r1, r5, 2
movs r2, 0xD0
@@ -9425,7 +462,7 @@ _0809A760: .4byte gUnknown_083BB288
_0809A764: .4byte gUnknown_083BB290
_0809A768: .4byte gSpriteTemplate_83BB2F0
_0809A76C: .4byte gSprites
-_0809A770: .4byte gUnknown_083B6DB4
+_0809A770: .4byte gPokemonStorageSystemPtr
thumb_func_end sub_809A6DC
thumb_func_start sub_809A774
@@ -9434,7 +471,7 @@ sub_809A774: @ 809A774
lsls r0, 24
lsrs r6, r0, 24
movs r2, 0
- ldr r7, _0809A7C4 @ =gUnknown_083B6DB4
+ ldr r7, _0809A7C4 @ =gPokemonStorageSystemPtr
ldr r0, [r7]
movs r1, 0xD0
lsls r1, 4
@@ -9472,7 +509,7 @@ _0809A78A:
movs r2, 0x48
b _0809A7E8
.align 2, 0
-_0809A7C4: .4byte gUnknown_083B6DB4
+_0809A7C4: .4byte gPokemonStorageSystemPtr
_0809A7C8: .4byte 0x00000d04
_0809A7CC:
ldr r1, [r7]
@@ -9516,7 +553,7 @@ _0809A80C: .4byte 0x00000d04
sub_809A810: @ 809A810
push {r4-r6,lr}
movs r3, 0
- ldr r0, _0809A85C @ =gUnknown_083B6DB4
+ ldr r0, _0809A85C @ =gPokemonStorageSystemPtr
ldr r0, [r0]
movs r1, 0xD0
lsls r1, 4
@@ -9552,7 +589,7 @@ _0809A824:
pop {r0}
bx r0
.align 2, 0
-_0809A85C: .4byte gUnknown_083B6DB4
+_0809A85C: .4byte gPokemonStorageSystemPtr
thumb_func_end sub_809A810
thumb_func_start sub_809A860
@@ -9562,7 +599,7 @@ sub_809A860: @ 809A860
cmp r0, 0
beq _0809A89C
movs r2, 0
- ldr r0, _0809A898 @ =gUnknown_083B6DB4
+ ldr r0, _0809A898 @ =gPokemonStorageSystemPtr
ldr r0, [r0]
movs r1, 0xD0
lsls r1, 4
@@ -9587,10 +624,10 @@ _0809A878:
bls _0809A878
b _0809A8BC
.align 2, 0
-_0809A898: .4byte gUnknown_083B6DB4
+_0809A898: .4byte gPokemonStorageSystemPtr
_0809A89C:
movs r2, 0
- ldr r0, _0809A8C4 @ =gUnknown_083B6DB4
+ ldr r0, _0809A8C4 @ =gPokemonStorageSystemPtr
ldr r0, [r0]
movs r3, 0xD0
lsls r3, 4
@@ -9611,7 +648,7 @@ _0809A8BC:
pop {r0}
bx r0
.align 2, 0
-_0809A8C4: .4byte gUnknown_083B6DB4
+_0809A8C4: .4byte gPokemonStorageSystemPtr
thumb_func_end sub_809A860
thumb_func_start sub_809A8C8
@@ -9669,7 +706,7 @@ _0809A92C:
strh r0, [r2, 0x2E]
b _0809A994
_0809A932:
- ldr r0, _0809A97C @ =gUnknown_083B6DB4
+ ldr r0, _0809A97C @ =gPokemonStorageSystemPtr
ldr r1, [r0]
ldr r0, _0809A980 @ =0x000008b6
adds r1, r0
@@ -9708,10 +745,10 @@ _0809A958:
strh r0, [r2, 0x2E]
b _0809A994
.align 2, 0
-_0809A97C: .4byte gUnknown_083B6DB4
+_0809A97C: .4byte gPokemonStorageSystemPtr
_0809A980: .4byte 0x000008b6
_0809A984:
- ldr r0, _0809A998 @ =gUnknown_083B6DB4
+ ldr r0, _0809A998 @ =gPokemonStorageSystemPtr
ldr r0, [r0]
ldr r1, _0809A99C @ =0x000008b6
adds r0, r1
@@ -9723,7 +760,7 @@ _0809A994:
pop {r0}
bx r0
.align 2, 0
-_0809A998: .4byte gUnknown_083B6DB4
+_0809A998: .4byte gPokemonStorageSystemPtr
_0809A99C: .4byte 0x000008b6
thumb_func_end sub_809A8C8
@@ -9797,7 +834,7 @@ _0809AA1A:
thumb_func_start sub_809AA24
sub_809AA24: @ 809AA24
push {lr}
- ldr r0, _0809AA38 @ =gUnknown_083B6DB4
+ ldr r0, _0809AA38 @ =gPokemonStorageSystemPtr
ldr r0, [r0]
ldrb r1, [r0, 0x5]
cmp r1, 0x1
@@ -9807,7 +844,7 @@ sub_809AA24: @ 809AA24
strb r0, [r1]
b _0809AA44
.align 2, 0
-_0809AA38: .4byte gUnknown_083B6DB4
+_0809AA38: .4byte gPokemonStorageSystemPtr
_0809AA3C: .4byte gUnknown_020384E4
_0809AA40:
ldr r0, _0809AA78 @ =gUnknown_020384E4
@@ -9826,7 +863,7 @@ _0809AA44:
strb r1, [r0]
bl sub_809B0D4
bl sub_809CC04
- ldr r0, _0809AA90 @ =gUnknown_083B6DB4
+ ldr r0, _0809AA90 @ =gPokemonStorageSystemPtr
ldr r0, [r0]
ldr r1, _0809AA94 @ =0x000011e2
adds r0, r1
@@ -9842,7 +879,7 @@ _0809AA80: .4byte gUnknown_020384E6
_0809AA84: .4byte gUnknown_020384E7
_0809AA88: .4byte gUnknown_020384E8
_0809AA8C: .4byte gUnknown_020384E9
-_0809AA90: .4byte gUnknown_083B6DB4
+_0809AA90: .4byte gPokemonStorageSystemPtr
_0809AA94: .4byte 0x000011e2
thumb_func_end sub_809AA24
@@ -9851,7 +888,7 @@ sub_809AA98: @ 809AA98
push {lr}
bl sub_809CC04
bl sub_809C028
- ldr r0, _0809AAC0 @ =gUnknown_083B6DB4
+ ldr r0, _0809AAC0 @ =gPokemonStorageSystemPtr
ldr r0, [r0]
ldr r1, _0809AAC4 @ =0x000011e2
adds r0, r1
@@ -9866,7 +903,7 @@ _0809AABA:
pop {r0}
bx r0
.align 2, 0
-_0809AAC0: .4byte gUnknown_083B6DB4
+_0809AAC0: .4byte gPokemonStorageSystemPtr
_0809AAC4: .4byte 0x000011e2
_0809AAC8: .4byte gUnknown_020384E6
thumb_func_end sub_809AA98
@@ -10036,7 +1073,7 @@ _0809ABFA:
thumb_func_start sub_809AC00
sub_809AC00: @ 809AC00
push {r4-r6,lr}
- ldr r0, _0809AC14 @ =gUnknown_083B6DB4
+ ldr r0, _0809AC14 @ =gPokemonStorageSystemPtr
ldr r4, [r0]
ldr r0, _0809AC18 @ =0x000011dc
adds r1, r4, r0
@@ -10046,7 +1083,7 @@ sub_809AC00: @ 809AC00
movs r0, 0
b _0809AD2C
.align 2, 0
-_0809AC14: .4byte gUnknown_083B6DB4
+_0809AC14: .4byte gPokemonStorageSystemPtr
_0809AC18: .4byte 0x000011dc
_0809AC1C:
subs r0, 0x1
@@ -10211,7 +1248,7 @@ sub_809AD3C: @ 809AD3C
mov r2, sp
adds r3, r6, 0
bl sub_809AACC
- ldr r0, _0809AD88 @ =gUnknown_083B6DB4
+ ldr r0, _0809AD88 @ =gPokemonStorageSystemPtr
ldr r1, [r0]
movs r2, 0x8F
lsls r2, 5
@@ -10234,7 +1271,7 @@ sub_809AD3C: @ 809AD3C
pop {r0}
bx r0
.align 2, 0
-_0809AD88: .4byte gUnknown_083B6DB4
+_0809AD88: .4byte gPokemonStorageSystemPtr
_0809AD8C: .4byte 0x000011e1
_0809AD90: .4byte 0x000011da
thumb_func_end sub_809AD3C
@@ -10242,7 +1279,7 @@ _0809AD90: .4byte 0x000011da
thumb_func_start sub_809AD94
sub_809AD94: @ 809AD94
push {r4-r7,lr}
- ldr r0, _0809ADB0 @ =gUnknown_083B6DB4
+ ldr r0, _0809ADB0 @ =gPokemonStorageSystemPtr
ldr r2, [r0]
ldr r3, _0809ADB4 @ =0x000011de
adds r1, r2, r3
@@ -10255,7 +1292,7 @@ sub_809AD94: @ 809AD94
movs r0, 0xC
b _0809ADC2
.align 2, 0
-_0809ADB0: .4byte gUnknown_083B6DB4
+_0809ADB0: .4byte gPokemonStorageSystemPtr
_0809ADB4: .4byte 0x000011de
_0809ADB8: .4byte 0x000011dc
_0809ADBC:
@@ -10445,7 +1482,7 @@ sub_809AF18: @ 809AF18
ldrb r0, [r0]
cmp r0, 0
bne _0809AF46
- ldr r0, _0809AFA8 @ =gUnknown_083B6DB4
+ ldr r0, _0809AFA8 @ =gPokemonStorageSystemPtr
ldr r0, [r0]
movs r1, 0x8E
lsls r1, 5
@@ -10462,7 +1499,7 @@ _0809AF46:
asrs r0, 24
cmp r0, 0x1
beq _0809AF70
- ldr r0, _0809AFA8 @ =gUnknown_083B6DB4
+ ldr r0, _0809AFA8 @ =gPokemonStorageSystemPtr
ldr r0, [r0]
ldr r2, _0809AFB0 @ =0x000011e2
adds r1, r0, r2
@@ -10482,7 +1519,7 @@ _0809AF70:
blt _0809AF9E
cmp r4, 0x3
bgt _0809AF9E
- ldr r0, _0809AFA8 @ =gUnknown_083B6DB4
+ ldr r0, _0809AFA8 @ =gPokemonStorageSystemPtr
ldr r2, [r0]
ldr r0, _0809AFB4 @ =0x000011c4
adds r2, r0
@@ -10505,7 +1542,7 @@ _0809AF9E:
bx r0
.align 2, 0
_0809AFA4: .4byte gUnknown_020384E6
-_0809AFA8: .4byte gUnknown_083B6DB4
+_0809AFA8: .4byte gPokemonStorageSystemPtr
_0809AFAC: .4byte gUnknown_020384E4
_0809AFB0: .4byte 0x000011e2
_0809AFB4: .4byte 0x000011c4
@@ -10515,7 +1552,7 @@ _0809AFB4: .4byte 0x000011c4
sub_809AFB8: @ 809AFB8
push {r4,r5,lr}
ldr r5, _0809B000 @ =gUnknown_020384E4
- ldr r0, _0809B004 @ =gUnknown_083B6DB4
+ ldr r0, _0809B004 @ =gPokemonStorageSystemPtr
ldr r4, [r0]
movs r1, 0x8F
lsls r1, 5
@@ -10550,7 +1587,7 @@ _0809AFEA:
b _0809B05E
.align 2, 0
_0809B000: .4byte gUnknown_020384E4
-_0809B004: .4byte gUnknown_083B6DB4
+_0809B004: .4byte gPokemonStorageSystemPtr
_0809B008: .4byte gUnknown_020384E5
_0809B00C: .4byte 0x000011e1
_0809B010: .4byte gUnknown_020384E6
@@ -10619,7 +1656,7 @@ _0809B07C:
bls _0809B08A
movs r3, 0x5
_0809B08A:
- ldr r0, _0809B0B8 @ =gUnknown_083B6DB4
+ ldr r0, _0809B0B8 @ =gPokemonStorageSystemPtr
ldr r2, [r0]
movs r1, 0x8E
lsls r1, 5
@@ -10642,7 +1679,7 @@ _0809B0AA:
pop {r0}
bx r0
.align 2, 0
-_0809B0B8: .4byte gUnknown_083B6DB4
+_0809B0B8: .4byte gPokemonStorageSystemPtr
_0809B0BC: .4byte 0x000011e3
thumb_func_end sub_809B068
@@ -10692,7 +1729,7 @@ _0809B0FC: .4byte gUnknown_020384EA
thumb_func_start sub_809B100
sub_809B100: @ 809B100
lsls r0, 24
- ldr r1, _0809B120 @ =gUnknown_083B6DB4
+ ldr r1, _0809B120 @ =gPokemonStorageSystemPtr
ldr r1, [r1]
ldr r2, _0809B124 @ =0x000012a4
adds r3, r1, r2
@@ -10707,7 +1744,7 @@ sub_809B100: @ 809B100
strb r0, [r1]
bx lr
.align 2, 0
-_0809B120: .4byte gUnknown_083B6DB4
+_0809B120: .4byte gPokemonStorageSystemPtr
_0809B124: .4byte 0x000012a4
_0809B128: .4byte gUnknown_083BBBC8
_0809B12C: .4byte 0x000012a8
@@ -10716,7 +1753,7 @@ _0809B12C: .4byte 0x000012a8
thumb_func_start sub_809B130
sub_809B130: @ 809B130
push {lr}
- ldr r0, _0809B148 @ =gUnknown_083B6DB4
+ ldr r0, _0809B148 @ =gPokemonStorageSystemPtr
ldr r0, [r0]
ldr r1, _0809B14C @ =0x000012a4
adds r0, r1
@@ -10727,14 +1764,14 @@ sub_809B130: @ 809B130
pop {r1}
bx r1
.align 2, 0
-_0809B148: .4byte gUnknown_083B6DB4
+_0809B148: .4byte gPokemonStorageSystemPtr
_0809B14C: .4byte 0x000012a4
thumb_func_end sub_809B130
thumb_func_start sub_809B150
sub_809B150: @ 809B150
push {r4,r5,lr}
- ldr r0, _0809B16C @ =gUnknown_083B6DB4
+ ldr r0, _0809B16C @ =gPokemonStorageSystemPtr
ldr r5, [r0]
ldr r0, _0809B170 @ =0x000012a8
adds r4, r5, r0
@@ -10747,7 +1784,7 @@ sub_809B150: @ 809B150
beq _0809B17E
b _0809B1CE
.align 2, 0
-_0809B16C: .4byte gUnknown_083B6DB4
+_0809B16C: .4byte gPokemonStorageSystemPtr
_0809B170: .4byte 0x000012a8
_0809B174:
cmp r0, 0x2
@@ -10806,7 +1843,7 @@ _0809B1D0:
thumb_func_start sub_809B1D8
sub_809B1D8: @ 809B1D8
push {r4,r5,lr}
- ldr r0, _0809B1F4 @ =gUnknown_083B6DB4
+ ldr r0, _0809B1F4 @ =gPokemonStorageSystemPtr
ldr r4, [r0]
ldr r0, _0809B1F8 @ =0x000012a8
adds r5, r4, r0
@@ -10819,7 +1856,7 @@ sub_809B1D8: @ 809B1D8
beq _0809B202
b _0809B244
.align 2, 0
-_0809B1F4: .4byte gUnknown_083B6DB4
+_0809B1F4: .4byte gPokemonStorageSystemPtr
_0809B1F8: .4byte 0x000012a8
_0809B1FC:
cmp r0, 0x2
@@ -10868,7 +1905,7 @@ _0809B246:
thumb_func_start sub_809B24C
sub_809B24C: @ 809B24C
push {r4,r5,lr}
- ldr r0, _0809B268 @ =gUnknown_083B6DB4
+ ldr r0, _0809B268 @ =gPokemonStorageSystemPtr
ldr r4, [r0]
ldr r0, _0809B26C @ =0x000012a8
adds r5, r4, r0
@@ -10881,7 +1918,7 @@ sub_809B24C: @ 809B24C
beq _0809B276
b _0809B31C
.align 2, 0
-_0809B268: .4byte gUnknown_083B6DB4
+_0809B268: .4byte gPokemonStorageSystemPtr
_0809B26C: .4byte 0x000012a8
_0809B270:
cmp r0, 0x2
@@ -10909,7 +1946,7 @@ _0809B298:
adds r1, r4, r2
_0809B2A0:
strb r0, [r1]
- ldr r0, _0809B2D4 @ =gUnknown_083B6DB4
+ ldr r0, _0809B2D4 @ =gPokemonStorageSystemPtr
ldr r4, [r0]
movs r1, 0x8E
lsls r1, 5
@@ -10931,7 +1968,7 @@ _0809B2A0:
b _0809B31C
.align 2, 0
_0809B2D0: .4byte 0x000012a9
-_0809B2D4: .4byte gUnknown_083B6DB4
+_0809B2D4: .4byte gPokemonStorageSystemPtr
_0809B2D8: .4byte gUnknown_020384E5
_0809B2DC: .4byte 0x000012a8
_0809B2E0:
@@ -10972,7 +2009,7 @@ _0809B31E:
thumb_func_start sub_809B324
sub_809B324: @ 809B324
push {lr}
- ldr r0, _0809B348 @ =gUnknown_083B6DB4
+ ldr r0, _0809B348 @ =gPokemonStorageSystemPtr
ldr r0, [r0]
movs r1, 0x8E
lsls r1, 5
@@ -10990,7 +2027,7 @@ _0809B33E:
strh r0, [r1, 0x26]
b _0809B350
.align 2, 0
-_0809B348: .4byte gUnknown_083B6DB4
+_0809B348: .4byte gPokemonStorageSystemPtr
_0809B34C:
movs r0, 0
b _0809B352
@@ -11004,7 +2041,7 @@ _0809B352:
thumb_func_start sub_809B358
sub_809B358: @ 809B358
push {lr}
- ldr r0, _0809B378 @ =gUnknown_083B6DB4
+ ldr r0, _0809B378 @ =gPokemonStorageSystemPtr
ldr r0, [r0]
movs r1, 0x8E
lsls r1, 5
@@ -11020,7 +2057,7 @@ sub_809B358: @ 809B358
movs r0, 0x1
b _0809B37E
.align 2, 0
-_0809B378: .4byte gUnknown_083B6DB4
+_0809B378: .4byte gPokemonStorageSystemPtr
_0809B37C:
movs r0, 0
_0809B37E:
@@ -11137,7 +2174,7 @@ sub_809B44C: @ 809B44C
lsrs r5, r1, 24
cmp r4, 0xE
bne _0809B488
- ldr r0, _0809B478 @ =gUnknown_083B6DB4
+ ldr r0, _0809B478 @ =gPokemonStorageSystemPtr
ldr r0, [r0]
ldr r1, _0809B47C @ =0x000025b4
adds r0, r1
@@ -11152,7 +2189,7 @@ sub_809B44C: @ 809B44C
bl memcpy
b _0809B4AA
.align 2, 0
-_0809B478: .4byte gUnknown_083B6DB4
+_0809B478: .4byte gPokemonStorageSystemPtr
_0809B47C: .4byte 0x000025b4
_0809B480: .4byte gPlayerParty
_0809B484: .4byte gUnknown_020384E5
@@ -11168,7 +2205,7 @@ _0809B488:
ldr r2, _0809B4C0 @ =gPokemonStorage + 0x4
adds r1, r2
adds r0, r1
- ldr r1, _0809B4C4 @ =gUnknown_083B6DB4
+ ldr r1, _0809B4C4 @ =gPokemonStorageSystemPtr
ldr r1, [r1]
ldr r2, _0809B4C8 @ =0x000025b4
adds r1, r2
@@ -11186,7 +2223,7 @@ _0809B4AA:
bx r0
.align 2, 0
_0809B4C0: .4byte gPokemonStorage + 0x4
-_0809B4C4: .4byte gUnknown_083B6DB4
+_0809B4C4: .4byte gPokemonStorageSystemPtr
_0809B4C8: .4byte 0x000025b4
_0809B4CC: .4byte gUnknown_020384E7
_0809B4D0: .4byte gUnknown_020384E8
@@ -11205,7 +2242,7 @@ diegohint2: @ 809B4D4
movs r0, 0x64
muls r0, r5
adds r0, r1
- ldr r1, _0809B500 @ =gUnknown_083B6DB4
+ ldr r1, _0809B500 @ =gPokemonStorageSystemPtr
ldr r1, [r1]
ldr r2, _0809B504 @ =0x000025b4
adds r1, r2
@@ -11214,10 +2251,10 @@ diegohint2: @ 809B4D4
b _0809B536
.align 2, 0
_0809B4FC: .4byte gPlayerParty
-_0809B500: .4byte gUnknown_083B6DB4
+_0809B500: .4byte gPokemonStorageSystemPtr
_0809B504: .4byte 0x000025b4
_0809B508:
- ldr r0, _0809B53C @ =gUnknown_083B6DB4
+ ldr r0, _0809B53C @ =gPokemonStorageSystemPtr
ldr r4, [r0]
ldr r0, _0809B540 @ =0x000025b4
adds r4, r0
@@ -11243,7 +2280,7 @@ _0809B536:
pop {r0}
bx r0
.align 2, 0
-_0809B53C: .4byte gUnknown_083B6DB4
+_0809B53C: .4byte gPokemonStorageSystemPtr
_0809B540: .4byte 0x000025b4
_0809B544: .4byte gPokemonStorage
thumb_func_end diegohint2
@@ -11294,7 +2331,7 @@ diegohint1: @ 809B58C
lsrs r6, r1, 24
cmp r5, 0xE
bne _0809B5C0
- ldr r0, _0809B5B4 @ =gUnknown_083B6DB4
+ ldr r0, _0809B5B4 @ =gPokemonStorageSystemPtr
ldr r0, [r0]
ldr r1, _0809B5B8 @ =0x00002618
adds r0, r1
@@ -11306,7 +2343,7 @@ diegohint1: @ 809B58C
bl memcpy
b _0809B5E2
.align 2, 0
-_0809B5B4: .4byte gUnknown_083B6DB4
+_0809B5B4: .4byte gPokemonStorageSystemPtr
_0809B5B8: .4byte 0x00002618
_0809B5BC: .4byte gPlayerParty
_0809B5C0:
@@ -11321,7 +2358,7 @@ _0809B5C0:
ldr r2, _0809B614 @ =gPokemonStorage + 0x4
adds r1, r2
adds r0, r1
- ldr r1, _0809B618 @ =gUnknown_083B6DB4
+ ldr r1, _0809B618 @ =gPokemonStorageSystemPtr
ldr r1, [r1]
ldr r2, _0809B61C @ =0x00002618
adds r1, r2
@@ -11330,7 +2367,7 @@ _0809B5E2:
adds r0, r5, 0
adds r1, r6, 0
bl diegohint2
- ldr r0, _0809B618 @ =gUnknown_083B6DB4
+ ldr r0, _0809B618 @ =gPokemonStorageSystemPtr
ldr r1, [r0]
ldr r0, _0809B620 @ =0x000025b4
adds r4, r1, r0
@@ -11351,7 +2388,7 @@ _0809B5E2:
bx r0
.align 2, 0
_0809B614: .4byte gPokemonStorage + 0x4
-_0809B618: .4byte gUnknown_083B6DB4
+_0809B618: .4byte gPokemonStorageSystemPtr
_0809B61C: .4byte 0x00002618
_0809B620: .4byte 0x000025b4
_0809B624: .4byte gUnknown_020384E7
@@ -11364,7 +2401,7 @@ sub_809B62C: @ 809B62C
lsls r0, 24
lsrs r6, r0, 24
adds r0, r6, 0
- bl sub_8095B24
+ bl GetIndexOfFirstEmptySpaceInBoxN
lsls r0, 16
lsrs r4, r0, 16
asrs r0, 16
@@ -11409,7 +2446,7 @@ _0809B686:
lsrs r0, r4, 24
bl sub_8098D20
_0809B698:
- ldr r0, _0809B6B8 @ =gUnknown_083B6DB4
+ ldr r0, _0809B6B8 @ =gPokemonStorageSystemPtr
ldr r0, [r0]
movs r1, 0x8E
lsls r1, 5
@@ -11424,13 +2461,13 @@ _0809B6AC:
bx r1
.align 2, 0
_0809B6B4: .4byte gUnknown_020384E5
-_0809B6B8: .4byte gUnknown_083B6DB4
+_0809B6B8: .4byte gPokemonStorageSystemPtr
thumb_func_end sub_809B62C
thumb_func_start sub_809B6BC
sub_809B6BC: @ 809B6BC
push {lr}
- ldr r0, _0809B6D8 @ =gUnknown_083B6DB4
+ ldr r0, _0809B6D8 @ =gPokemonStorageSystemPtr
ldr r0, [r0]
movs r1, 0x8E
lsls r1, 5
@@ -11442,7 +2479,7 @@ sub_809B6BC: @ 809B6BC
pop {r0}
bx r0
.align 2, 0
-_0809B6D8: .4byte gUnknown_083B6DB4
+_0809B6D8: .4byte gPokemonStorageSystemPtr
thumb_func_end sub_809B6BC
thumb_func_start sub_809B6DC
@@ -11470,7 +2507,7 @@ _0809B700:
ldrb r1, [r0]
adds r0, r2, 0
bl sub_809981C
- ldr r0, _0809B728 @ =gUnknown_083B6DB4
+ ldr r0, _0809B728 @ =gPokemonStorageSystemPtr
ldr r1, [r0]
ldr r2, _0809B72C @ =0x000026e4
adds r0, r1, r2
@@ -11482,7 +2519,7 @@ _0809B700:
.align 2, 0
_0809B720: .4byte gUnknown_020384E4
_0809B724: .4byte gUnknown_020384E5
-_0809B728: .4byte gUnknown_083B6DB4
+_0809B728: .4byte gPokemonStorageSystemPtr
_0809B72C: .4byte 0x000026e4
_0809B730: .4byte 0x000011fa
thumb_func_end sub_809B6DC
@@ -11497,7 +2534,7 @@ sub_809B734: @ 809B734
movs r0, 0x1
b _0809B758
_0809B744:
- ldr r0, _0809B75C @ =gUnknown_083B6DB4
+ ldr r0, _0809B75C @ =gPokemonStorageSystemPtr
ldr r0, [r0]
movs r1, 0x8E
lsls r1, 5
@@ -11510,7 +2547,7 @@ _0809B758:
pop {r1}
bx r1
.align 2, 0
-_0809B75C: .4byte gUnknown_083B6DB4
+_0809B75C: .4byte gPokemonStorageSystemPtr
thumb_func_end sub_809B734
thumb_func_start sub_809B760
@@ -11561,7 +2598,7 @@ sub_809B7AC: @ 809B7AC
ldrb r0, [r0]
cmp r0, 0
beq _0809B7C8
- ldr r0, _0809B7D0 @ =gUnknown_083B6DB4
+ ldr r0, _0809B7D0 @ =gPokemonStorageSystemPtr
ldr r0, [r0]
movs r1, 0x8E
lsls r1, 5
@@ -11574,7 +2611,7 @@ _0809B7C8:
bx r0
.align 2, 0
_0809B7CC: .4byte gUnknown_020384E6
-_0809B7D0: .4byte gUnknown_083B6DB4
+_0809B7D0: .4byte gPokemonStorageSystemPtr
thumb_func_end sub_809B7AC
thumb_func_start sub_809B7D4
@@ -11584,7 +2621,7 @@ sub_809B7D4: @ 809B7D4
ldrb r0, [r0]
cmp r0, 0
beq _0809B81C
- ldr r0, _0809B808 @ =gUnknown_083B6DB4
+ ldr r0, _0809B808 @ =gPokemonStorageSystemPtr
ldr r4, [r0]
ldr r1, _0809B80C @ =0x00002618
adds r0, r4, r1
@@ -11604,7 +2641,7 @@ sub_809B7D4: @ 809B7D4
b _0809B8A6
.align 2, 0
_0809B804: .4byte gUnknown_020384E6
-_0809B808: .4byte gUnknown_083B6DB4
+_0809B808: .4byte gPokemonStorageSystemPtr
_0809B80C: .4byte 0x00002618
_0809B810: .4byte 0x000025b4
_0809B814: .4byte 0x00002682
@@ -11616,7 +2653,7 @@ _0809B81C:
asrs r0, 24
cmp r0, 0x1
bne _0809B864
- ldr r0, _0809B850 @ =gUnknown_083B6DB4
+ ldr r0, _0809B850 @ =gPokemonStorageSystemPtr
ldr r4, [r0]
ldr r2, _0809B854 @ =0x00002618
adds r0, r4, r2
@@ -11635,7 +2672,7 @@ _0809B81C:
b _0809B896
.align 2, 0
_0809B84C: .4byte gUnknown_020384E4
-_0809B850: .4byte gUnknown_083B6DB4
+_0809B850: .4byte gPokemonStorageSystemPtr
_0809B854: .4byte 0x00002618
_0809B858: .4byte gPlayerParty
_0809B85C: .4byte gUnknown_020384E5
@@ -11657,7 +2694,7 @@ _0809B864:
adds r2, r5, 0x4
adds r1, r2
adds r0, r1
- ldr r1, _0809B904 @ =gUnknown_083B6DB4
+ ldr r1, _0809B904 @ =gPokemonStorageSystemPtr
ldr r4, [r1]
ldr r2, _0809B908 @ =0x00002618
adds r1, r4, r2
@@ -11667,7 +2704,7 @@ _0809B864:
adds r4, r1
_0809B896:
strb r0, [r4]
- ldr r0, _0809B904 @ =gUnknown_083B6DB4
+ ldr r0, _0809B904 @ =gPokemonStorageSystemPtr
ldr r0, [r0]
ldr r1, _0809B900 @ =gUnknown_020384E5
ldrb r1, [r1]
@@ -11675,7 +2712,7 @@ _0809B896:
adds r0, r2
strb r1, [r0]
_0809B8A6:
- ldr r0, _0809B904 @ =gUnknown_083B6DB4
+ ldr r0, _0809B904 @ =gPokemonStorageSystemPtr
ldr r6, [r0]
ldr r0, _0809B914 @ =0x0000267e
adds r4, r6, r0
@@ -11720,7 +2757,7 @@ _0809B8A6:
.align 2, 0
_0809B8FC: .4byte gPokemonStorage
_0809B900: .4byte gUnknown_020384E5
-_0809B904: .4byte gUnknown_083B6DB4
+_0809B904: .4byte gPokemonStorageSystemPtr
_0809B908: .4byte 0x00002618
_0809B90C: .4byte 0x00002682
_0809B910: .4byte 0x00002683
@@ -11740,7 +2777,7 @@ _0809B934:
adds r0, r6, r2
strb r1, [r0]
_0809B940:
- ldr r0, _0809B958 @ =gUnknown_083B6DB4
+ ldr r0, _0809B958 @ =gPokemonStorageSystemPtr
ldr r0, [r0]
ldr r1, _0809B95C @ =0x00002684
adds r0, r1
@@ -11751,7 +2788,7 @@ _0809B940:
bx r0
.align 2, 0
_0809B954: .4byte 0x0000267d
-_0809B958: .4byte gUnknown_083B6DB4
+_0809B958: .4byte gPokemonStorageSystemPtr
_0809B95C: .4byte 0x00002684
thumb_func_end sub_809B7D4
@@ -11762,7 +2799,7 @@ sub_809B960: @ 809B960
mov r6, r9
mov r5, r8
push {r5-r7}
- ldr r0, _0809B988 @ =gUnknown_083B6DB4
+ ldr r0, _0809B988 @ =gPokemonStorageSystemPtr
ldr r2, [r0]
ldr r3, _0809B98C @ =0x0000267d
adds r1, r2, r3
@@ -11777,7 +2814,7 @@ sub_809B960: @ 809B960
asrs r0, 24
b _0809BB5C
.align 2, 0
-_0809B988: .4byte gUnknown_083B6DB4
+_0809B988: .4byte gPokemonStorageSystemPtr
_0809B98C: .4byte 0x0000267d
_0809B990: .4byte 0x0000267c
_0809B994:
@@ -11832,7 +2869,7 @@ _0809B9CC:
_0809B9F0:
movs r0, 0x2
ands r3, r0
- ldr r7, _0809BA3C @ =gUnknown_083B6DB4
+ ldr r7, _0809BA3C @ =gPokemonStorageSystemPtr
mov r12, r7
cmp r3, 0
beq _0809BA02
@@ -11864,7 +2901,7 @@ _0809BA2C: .4byte 0x00002683
_0809BA30: .4byte gPlayerParty
_0809BA34: .4byte 0x00002686
_0809BA38: .4byte 0x0000267e
-_0809BA3C: .4byte gUnknown_083B6DB4
+_0809BA3C: .4byte gPokemonStorageSystemPtr
_0809BA40: .4byte 0x0000267f
_0809BA44: .4byte 0x0000267d
_0809BA48: .4byte 0x0000267c
@@ -11972,7 +3009,7 @@ _0809BB00:
strb r0, [r1]
lsls r0, 24
asrs r0, 24
- ldr r7, _0809BB88 @ =gUnknown_083B6DB4
+ ldr r7, _0809BB88 @ =gPokemonStorageSystemPtr
mov r12, r7
cmp r0, 0x1D
ble _0809BB32
@@ -12028,10 +3065,12 @@ _0809BB78: .4byte gPokemonStorage + 0x4
_0809BB7C: .4byte 0x00002686
_0809BB80: .4byte 0x00002682
_0809BB84: .4byte 0x0000267e
-_0809BB88: .4byte gUnknown_083B6DB4
+_0809BB88: .4byte gPokemonStorageSystemPtr
_0809BB8C: .4byte 0x0000267d
thumb_func_end sub_809B960
+// file boundary at or before here
+
thumb_func_start sub_809BB90
sub_809BB90: @ 809BB90
push {lr}
@@ -12040,7 +3079,7 @@ sub_809BB90: @ 809BB90
cmp r0, 0
beq _0809BBAA
ldr r0, _0809BBB4 @ =gUnknown_02038480
- ldr r1, _0809BBB8 @ =gUnknown_083B6DB4
+ ldr r1, _0809BBB8 @ =gPokemonStorageSystemPtr
ldr r1, [r1]
ldr r2, _0809BBBC @ =0x000025b4
adds r1, r2
@@ -12052,7 +3091,7 @@ _0809BBAA:
.align 2, 0
_0809BBB0: .4byte gUnknown_020384E6
_0809BBB4: .4byte gUnknown_02038480
-_0809BBB8: .4byte gUnknown_083B6DB4
+_0809BBB8: .4byte gPokemonStorageSystemPtr
_0809BBBC: .4byte 0x000025b4
thumb_func_end sub_809BB90
@@ -12067,7 +3106,7 @@ sub_809BBC0: @ 809BBC0
ldrb r0, [r0]
cmp r0, 0xE
bne _0809BBF8
- ldr r0, _0809BBEC @ =gUnknown_083B6DB4
+ ldr r0, _0809BBEC @ =gPokemonStorageSystemPtr
ldr r0, [r0]
ldr r1, _0809BBF0 @ =0x000025b4
adds r0, r1
@@ -12078,11 +3117,11 @@ sub_809BBC0: @ 809BBC0
.align 2, 0
_0809BBE4: .4byte gUnknown_020384E6
_0809BBE8: .4byte gUnknown_020384E7
-_0809BBEC: .4byte gUnknown_083B6DB4
+_0809BBEC: .4byte gPokemonStorageSystemPtr
_0809BBF0: .4byte 0x000025b4
_0809BBF4: .4byte gUnknown_02038480
_0809BBF8:
- ldr r0, _0809BC0C @ =gUnknown_083B6DB4
+ ldr r0, _0809BC0C @ =gPokemonStorageSystemPtr
ldr r0, [r0]
ldr r1, _0809BC10 @ =0x000025b4
adds r0, r1
@@ -12093,7 +3132,7 @@ _0809BC08:
pop {r0}
bx r0
.align 2, 0
-_0809BC0C: .4byte gUnknown_083B6DB4
+_0809BC0C: .4byte gPokemonStorageSystemPtr
_0809BC10: .4byte 0x000025b4
_0809BC14: .4byte gUnknown_02038480
thumb_func_end sub_809BBC0
@@ -12106,7 +3145,7 @@ sub_809BC18: @ 809BC18
cmp r5, 0
beq _0809BC64
bl sub_809BB90
- ldr r0, _0809BC4C @ =gUnknown_083B6DB4
+ ldr r0, _0809BC4C @ =gPokemonStorageSystemPtr
ldr r2, [r0]
ldr r0, _0809BC50 @ =0x00002690
adds r1, r2, r0
@@ -12125,7 +3164,7 @@ sub_809BC18: @ 809BC18
b _0809BCF2
.align 2, 0
_0809BC48: .4byte gUnknown_020384E6
-_0809BC4C: .4byte gUnknown_083B6DB4
+_0809BC4C: .4byte gPokemonStorageSystemPtr
_0809BC50: .4byte 0x00002690
_0809BC54: .4byte gUnknown_02038480
_0809BC58: .4byte 0x0000268d
@@ -12138,7 +3177,7 @@ _0809BC64:
asrs r0, 24
cmp r0, 0x1
bne _0809BCBC
- ldr r0, _0809BCA0 @ =gUnknown_083B6DB4
+ ldr r0, _0809BCA0 @ =gPokemonStorageSystemPtr
ldr r4, [r0]
ldr r2, _0809BCA4 @ =0x00002690
adds r1, r4, r2
@@ -12160,7 +3199,7 @@ _0809BC64:
b _0809BCF2
.align 2, 0
_0809BC9C: .4byte gUnknown_020384E4
-_0809BCA0: .4byte gUnknown_083B6DB4
+_0809BCA0: .4byte gPokemonStorageSystemPtr
_0809BCA4: .4byte 0x00002690
_0809BCA8: .4byte gPlayerParty
_0809BCAC: .4byte gUnknown_020384E5
@@ -12168,7 +3207,7 @@ _0809BCB0: .4byte 0x0000268d
_0809BCB4: .4byte 0x0000268c
_0809BCB8: .4byte 0x0000268e
_0809BCBC:
- ldr r0, _0809BCF8 @ =gUnknown_083B6DB4
+ ldr r0, _0809BCF8 @ =gPokemonStorageSystemPtr
ldr r3, [r0]
ldr r0, _0809BCFC @ =0x00002690
adds r4, r3, r0
@@ -12200,7 +3239,7 @@ _0809BCF2:
pop {r0}
bx r0
.align 2, 0
-_0809BCF8: .4byte gUnknown_083B6DB4
+_0809BCF8: .4byte gPokemonStorageSystemPtr
_0809BCFC: .4byte 0x00002690
_0809BD00: .4byte gPokemonStorage
_0809BD04: .4byte gUnknown_020384E5
@@ -12324,7 +3363,7 @@ sub_809BDD8: @ 809BDD8
lsrs r0, 24
mov r1, sp
strb r0, [r1]
- ldr r1, _0809BE04 @ =gUnknown_083B6DB4
+ ldr r1, _0809BE04 @ =gPokemonStorageSystemPtr
ldr r2, [r1]
ldr r3, _0809BE08 @ =0x000011f7
adds r1, r2, r3
@@ -12340,7 +3379,7 @@ sub_809BDD8: @ 809BDD8
bl SetMonData
b _0809BE68
.align 2, 0
-_0809BE04: .4byte gUnknown_083B6DB4
+_0809BE04: .4byte gPokemonStorageSystemPtr
_0809BE08: .4byte 0x000011f7
_0809BE0C: .4byte gUnknown_020384E6
_0809BE10: .4byte 0x000025b4
@@ -12448,7 +3487,7 @@ sub_809BEBC: @ 809BEBC
lsls r0, 24
cmp r0, 0
bne _0809BEFC
- ldr r0, _0809BF0C @ =gUnknown_083B6DB4
+ ldr r0, _0809BF0C @ =gPokemonStorageSystemPtr
ldr r1, [r0]
ldr r2, _0809BF10 @ =0x000011f9
adds r0, r1, r2
@@ -12468,7 +3507,7 @@ _0809BEFC:
_0809BF00: .4byte gUnknown_020384E6
_0809BF04: .4byte gUnknown_020384E4
_0809BF08: .4byte gUnknown_020384E5
-_0809BF0C: .4byte gUnknown_083B6DB4
+_0809BF0C: .4byte gPokemonStorageSystemPtr
_0809BF10: .4byte 0x000011f9
_0809BF14: .4byte 0x000025b4
_0809BF18:
@@ -12535,7 +3574,7 @@ _0809BF70: .4byte gUnknown_020384E5
thumb_func_start sub_809BF74
sub_809BF74: @ 809BF74
push {r4,lr}
- ldr r0, _0809BFA8 @ =gUnknown_083B6DB4
+ ldr r0, _0809BFA8 @ =gPokemonStorageSystemPtr
ldr r1, [r0]
movs r2, 0
ldr r3, _0809BFAC @ =gUnknown_020384E6
@@ -12562,7 +3601,7 @@ _0809BF86:
beq _0809BFEE
b _0809C018
.align 2, 0
-_0809BFA8: .4byte gUnknown_083B6DB4
+_0809BFA8: .4byte gPokemonStorageSystemPtr
_0809BFAC: .4byte gUnknown_020384E6
_0809BFB0: .4byte 0x000011f6
_0809BFB4: .4byte gUnknown_020384E4
@@ -12655,7 +3694,7 @@ sub_809C04C: @ 809C04C
lsrs r1, 24
movs r0, 0
str r0, [sp]
- ldr r0, _0809C0FC @ =gUnknown_083B6DB4
+ ldr r0, _0809C0FC @ =gPokemonStorageSystemPtr
ldr r6, [r0]
ldr r2, _0809C100 @ =0x000011f2
adds r2, r6
@@ -12723,7 +3762,7 @@ _0809C08C:
bl GetMonData
b _0809C1B2
.align 2, 0
-_0809C0FC: .4byte gUnknown_083B6DB4
+_0809C0FC: .4byte gPokemonStorageSystemPtr
_0809C100: .4byte 0x000011f2
_0809C104: .4byte 0x000011f0
_0809C108: .4byte 0x000011f9
@@ -12814,7 +3853,7 @@ _0809C1D4:
ldrh r1, [r1]
strh r1, [r0]
_0809C1DE:
- ldr r0, _0809C224 @ =gUnknown_083B6DB4
+ ldr r0, _0809C224 @ =gPokemonStorageSystemPtr
ldr r4, [r0]
ldr r2, _0809C220 @ =0x000011f0
adds r0, r4, r2
@@ -12822,7 +3861,7 @@ _0809C1DE:
cmp r1, 0
bne _0809C23C
_0809C1EC:
- ldr r0, _0809C224 @ =gUnknown_083B6DB4
+ ldr r0, _0809C224 @ =gPokemonStorageSystemPtr
ldr r1, [r0]
ldr r0, _0809C228 @ =0x000011fa
adds r2, r1, r0
@@ -12849,7 +3888,7 @@ _0809C1EC:
b _0809C43E
.align 2, 0
_0809C220: .4byte 0x000011f0
-_0809C224: .4byte gUnknown_083B6DB4
+_0809C224: .4byte gPokemonStorageSystemPtr
_0809C228: .4byte 0x000011fa
_0809C22C: .4byte 0x0000120f
_0809C230: .4byte 0x00001234
@@ -12910,7 +3949,7 @@ _0809C2AC:
movs r1, 0xFF
str r1, [sp]
_0809C2B0:
- ldr r0, _0809C388 @ =gUnknown_083B6DB4
+ ldr r0, _0809C388 @ =gPokemonStorageSystemPtr
ldr r4, [r0]
ldr r2, _0809C38C @ =0x0000120f
adds r7, r4, r2
@@ -13015,7 +4054,7 @@ _0809C2B0:
beq _0809C3D0
b _0809C3EA
.align 2, 0
-_0809C388: .4byte gUnknown_083B6DB4
+_0809C388: .4byte gPokemonStorageSystemPtr
_0809C38C: .4byte 0x0000120f
_0809C390: .4byte 0x00001214
_0809C394: .4byte 0x000011fa
@@ -13058,7 +4097,7 @@ _0809C3E6:
_0809C3EA:
movs r5, 0xFF
strb r5, [r7]
- ldr r0, _0809C450 @ =gUnknown_083B6DB4
+ ldr r0, _0809C450 @ =gPokemonStorageSystemPtr
ldr r2, [r0]
ldr r1, _0809C454 @ =0x0000127a
adds r7, r2, r1
@@ -13107,7 +4146,7 @@ _0809C43E:
pop {r0}
bx r0
.align 2, 0
-_0809C450: .4byte gUnknown_083B6DB4
+_0809C450: .4byte gPokemonStorageSystemPtr
_0809C454: .4byte 0x0000127a
_0809C458: .4byte 0x000011f2
_0809C45C: .4byte 0x0000127f
@@ -13125,7 +4164,7 @@ sub_809C464: @ 809C464
mov r8, r0
ldr r2, _0809C4DC @ =gUnknown_020384E5
ldrb r4, [r2]
- ldr r0, _0809C4E0 @ =gUnknown_083B6DB4
+ ldr r0, _0809C4E0 @ =gPokemonStorageSystemPtr
ldr r1, [r0]
ldr r0, _0809C4E4 @ =0x000011de
adds r7, r1, r0
@@ -13178,7 +4217,7 @@ _0809C4BE:
.align 2, 0
_0809C4D8: .4byte gUnknown_020384E4
_0809C4DC: .4byte gUnknown_020384E5
-_0809C4E0: .4byte gUnknown_083B6DB4
+_0809C4E0: .4byte gPokemonStorageSystemPtr
_0809C4E4: .4byte 0x000011de
_0809C4E8: .4byte 0x000011df
_0809C4EC: .4byte gMain
@@ -13396,7 +4435,7 @@ sub_809C664: @ 809C664
mov r10, r0
ldr r7, _0809C6DC @ =gUnknown_020384E5
ldrb r4, [r7]
- ldr r2, _0809C6E0 @ =gUnknown_083B6DB4
+ ldr r2, _0809C6E0 @ =gPokemonStorageSystemPtr
ldr r5, [r2]
ldr r1, _0809C6E4 @ =0x000011df
adds r0, r5, r1
@@ -13449,7 +4488,7 @@ _0809C6D0:
.align 2, 0
_0809C6D8: .4byte gUnknown_020384E4
_0809C6DC: .4byte gUnknown_020384E5
-_0809C6E0: .4byte gUnknown_083B6DB4
+_0809C6E0: .4byte gPokemonStorageSystemPtr
_0809C6E4: .4byte 0x000011df
_0809C6E8: .4byte 0x000011de
_0809C6EC: .4byte gMain
@@ -13577,7 +4616,7 @@ _0809C7D0:
ands r0, r1
cmp r0, 0
beq _0809C7F8
- ldr r0, _0809C7F0 @ =gUnknown_083B6DB4
+ ldr r0, _0809C7F0 @ =gPokemonStorageSystemPtr
ldr r0, [r0]
ldrb r0, [r0, 0x5]
cmp r0, 0x1
@@ -13586,7 +4625,7 @@ _0809C7D0:
b _0809C84C
.align 2, 0
_0809C7EC: .4byte gMain
-_0809C7F0: .4byte gUnknown_083B6DB4
+_0809C7F0: .4byte gPokemonStorageSystemPtr
_0809C7F4:
movs r3, 0x1
mov r9, r3
@@ -13650,7 +4689,7 @@ _0809C84C:
thumb_func_start sub_809C85C
sub_809C85C: @ 809C85C
push {r4-r6,lr}
- ldr r0, _0809C894 @ =gUnknown_083B6DB4
+ ldr r0, _0809C894 @ =gPokemonStorageSystemPtr
ldr r2, [r0]
ldr r1, _0809C898 @ =0x000011df
adds r0, r2, r1
@@ -13677,7 +4716,7 @@ sub_809C85C: @ 809C85C
movs r5, 0x2
b _0809C922
.align 2, 0
-_0809C894: .4byte gUnknown_083B6DB4
+_0809C894: .4byte gPokemonStorageSystemPtr
_0809C898: .4byte 0x000011df
_0809C89C: .4byte 0x000011de
_0809C8A0: .4byte 0x000011e3
@@ -13778,7 +4817,7 @@ sub_809C944: @ 809C944
mov r12, r0
ldr r7, _0809C98C @ =gUnknown_020384E5
ldrb r3, [r7]
- ldr r0, _0809C990 @ =gUnknown_083B6DB4
+ ldr r0, _0809C990 @ =gPokemonStorageSystemPtr
ldr r1, [r0]
ldr r0, _0809C994 @ =0x000011df
adds r5, r1, r0
@@ -13808,7 +4847,7 @@ sub_809C944: @ 809C944
.align 2, 0
_0809C988: .4byte gUnknown_020384E4
_0809C98C: .4byte gUnknown_020384E5
-_0809C990: .4byte gUnknown_083B6DB4
+_0809C990: .4byte gPokemonStorageSystemPtr
_0809C994: .4byte 0x000011df
_0809C998: .4byte 0x000011de
_0809C99C: .4byte gMain
@@ -13970,7 +5009,7 @@ sub_809CAB0: @ 809CAB0
bl sub_809AB8C
lsls r0, 16
lsrs r1, r0, 16
- ldr r0, _0809CAD4 @ =gUnknown_083B6DB4
+ ldr r0, _0809CAD4 @ =gPokemonStorageSystemPtr
ldr r0, [r0]
ldrb r0, [r0, 0x5]
cmp r0, 0x1
@@ -13981,7 +5020,7 @@ sub_809CAB0: @ 809CAB0
beq _0809CAEA
b _0809CB24
.align 2, 0
-_0809CAD4: .4byte gUnknown_083B6DB4
+_0809CAD4: .4byte gPokemonStorageSystemPtr
_0809CAD8:
cmp r0, 0x2
beq _0809CAF6
@@ -14026,7 +5065,7 @@ _0809CB24:
_0809CB28:
movs r0, 0x6
bl sub_809CDEC
- ldr r0, _0809CB4C @ =gUnknown_083B6DB4
+ ldr r0, _0809CB4C @ =gPokemonStorageSystemPtr
ldr r0, [r0]
ldrb r0, [r0, 0x5]
cmp r0, 0x2
@@ -14041,7 +5080,7 @@ _0809CB28:
bl sub_809CDEC
b _0809CB5A
.align 2, 0
-_0809CB4C: .4byte gUnknown_083B6DB4
+_0809CB4C: .4byte gPokemonStorageSystemPtr
_0809CB50: .4byte gUnknown_020384E4
_0809CB54:
movs r0, 0x1
@@ -14061,7 +5100,7 @@ _0809CB6E:
thumb_func_start sub_809CB74
sub_809CB74: @ 809CB74
- ldr r1, _0809CB90 @ =gUnknown_083B6DB4
+ ldr r1, _0809CB90 @ =gPokemonStorageSystemPtr
ldr r1, [r1]
movs r2, 0x8E
lsls r2, 5
@@ -14075,7 +5114,7 @@ sub_809CB74: @ 809CB74
strh r1, [r0, 0x22]
bx lr
.align 2, 0
-_0809CB90: .4byte gUnknown_083B6DB4
+_0809CB90: .4byte gPokemonStorageSystemPtr
thumb_func_end sub_809CB74
thumb_func_start unref_sub_809CB94
@@ -14157,7 +5196,7 @@ sub_809CC04: @ 809CC04
bl LoadSpritePalettes
ldr r0, _0809CCB8 @ =0x0000dac6
bl IndexOfSpritePaletteTag
- ldr r1, _0809CCBC @ =gUnknown_083B6DB4
+ ldr r1, _0809CCBC @ =gPokemonStorageSystemPtr
ldr r6, [r1]
ldr r4, _0809CCC0 @ =0x000011e4
adds r7, r6, r4
@@ -14219,7 +5258,7 @@ sub_809CC04: @ 809CC04
_0809CCB0: .4byte gHandCursorSpriteSheets
_0809CCB4: .4byte gHandCursorSpritePalettes
_0809CCB8: .4byte 0x0000dac6
-_0809CCBC: .4byte gUnknown_083B6DB4
+_0809CCBC: .4byte gPokemonStorageSystemPtr
_0809CCC0: .4byte 0x000011e4
_0809CCC4: .4byte 0x0000dad1
_0809CCC8: .4byte 0x000011e5
@@ -14259,7 +5298,7 @@ _0809CD08:
lsrs r2, r0, 24
cmp r2, 0x40
beq _0809CD6C
- ldr r0, _0809CD5C @ =gUnknown_083B6DB4
+ ldr r0, _0809CD5C @ =gPokemonStorageSystemPtr
ldr r0, [r0]
ldr r1, _0809CD60 @ =0x000011c4
adds r4, r0, r1
@@ -14291,12 +5330,12 @@ _0809CD08:
b _0809CD78
.align 2, 0
_0809CD58: .4byte gSpriteTemplate_83BBC88
-_0809CD5C: .4byte gUnknown_083B6DB4
+_0809CD5C: .4byte gPokemonStorageSystemPtr
_0809CD60: .4byte 0x000011c4
_0809CD64: .4byte gSprites
_0809CD68: .4byte gUnknown_020384E4
_0809CD6C:
- ldr r0, _0809CD80 @ =gUnknown_083B6DB4
+ ldr r0, _0809CD80 @ =gPokemonStorageSystemPtr
ldr r0, [r0]
ldr r2, _0809CD84 @ =0x000011c4
adds r0, r2
@@ -14308,7 +5347,7 @@ _0809CD78:
pop {r0}
bx r0
.align 2, 0
-_0809CD80: .4byte gUnknown_083B6DB4
+_0809CD80: .4byte gPokemonStorageSystemPtr
_0809CD84: .4byte 0x000011c4
thumb_func_end sub_809CC04
@@ -14323,7 +5362,7 @@ sub_809CD88: @ 809CD88
movs r1, 0x1
_0809CD96:
strb r1, [r2]
- ldr r0, _0809CDC4 @ =gUnknown_083B6DB4
+ ldr r0, _0809CDC4 @ =gPokemonStorageSystemPtr
ldr r0, [r0]
movs r3, 0x8E
lsls r3, 5
@@ -14344,13 +5383,15 @@ _0809CD96:
bx r0
.align 2, 0
_0809CDC0: .4byte gUnknown_020384E9
-_0809CDC4: .4byte gUnknown_083B6DB4
+_0809CDC4: .4byte gPokemonStorageSystemPtr
_0809CDC8: .4byte 0x000011e4
thumb_func_end sub_809CD88
+// file boundary here
+
thumb_func_start sub_809CDCC
sub_809CDCC: @ 809CDCC
- ldr r0, _0809CDE0 @ =gUnknown_083B6DB4
+ ldr r0, _0809CDE0 @ =gPokemonStorageSystemPtr
ldr r0, [r0]
ldr r2, _0809CDE4 @ =0x000011b8
adds r1, r0, r2
@@ -14361,7 +5402,7 @@ sub_809CDCC: @ 809CDCC
strb r2, [r0]
bx lr
.align 2, 0
-_0809CDE0: .4byte gUnknown_083B6DB4
+_0809CDE0: .4byte gPokemonStorageSystemPtr
_0809CDE4: .4byte 0x000011b8
_0809CDE8: .4byte 0x000011b9
thumb_func_end sub_809CDCC
@@ -14371,7 +5412,7 @@ sub_809CDEC: @ 809CDEC
push {r4,r5,lr}
lsls r0, 24
lsrs r3, r0, 24
- ldr r0, _0809CE3C @ =gUnknown_083B6DB4
+ ldr r0, _0809CE3C @ =gPokemonStorageSystemPtr
ldr r5, [r0]
ldr r0, _0809CE40 @ =0x000011b8
adds r4, r5, r0
@@ -14410,7 +5451,7 @@ _0809CE36:
pop {r0}
bx r0
.align 2, 0
-_0809CE3C: .4byte gUnknown_083B6DB4
+_0809CE3C: .4byte gPokemonStorageSystemPtr
_0809CE40: .4byte 0x000011b8
_0809CE44: .4byte gUnknown_083BBCA0
_0809CE48: .4byte 0x000011b9
@@ -14421,7 +5462,7 @@ sub_809CE4C: @ 809CE4C
push {lr}
lsls r0, 24
lsrs r2, r0, 24
- ldr r0, _0809CE70 @ =gUnknown_083B6DB4
+ ldr r0, _0809CE70 @ =gPokemonStorageSystemPtr
ldr r1, [r0]
ldr r3, _0809CE74 @ =0x000011b8
adds r0, r1, r3
@@ -14436,7 +5477,7 @@ sub_809CE4C: @ 809CE4C
ldrsb r0, [r1, r0]
b _0809CE80
.align 2, 0
-_0809CE70: .4byte gUnknown_083B6DB4
+_0809CE70: .4byte gPokemonStorageSystemPtr
_0809CE74: .4byte 0x000011b8
_0809CE78: .4byte 0x00001184
_0809CE7C:
@@ -14455,7 +5496,7 @@ sub_809CE84: @ 809CE84
mov r4, r8
push {r4-r6}
sub sp, 0x8
- ldr r0, _0809CF20 @ =gUnknown_083B6DB4
+ ldr r0, _0809CF20 @ =gPokemonStorageSystemPtr
ldr r4, [r0]
ldr r0, _0809CF24 @ =0x000011b8
adds r0, r4
@@ -14525,7 +5566,7 @@ sub_809CE84: @ 809CE84
pop {r0}
bx r0
.align 2, 0
-_0809CF20: .4byte gUnknown_083B6DB4
+_0809CF20: .4byte gPokemonStorageSystemPtr
_0809CF24: .4byte 0x000011b8
_0809CF28: .4byte 0x000011bc
_0809CF2C: .4byte 0x000011b9
@@ -14583,7 +5624,7 @@ _0809CF8E:
cmp r5, r0
beq _0809CFB2
bl Menu_DestroyCursor
- ldr r0, _0809CFD0 @ =gUnknown_083B6DB4
+ ldr r0, _0809CFD0 @ =gPokemonStorageSystemPtr
ldr r1, [r0]
ldr r2, _0809CFD4 @ =0x000011ba
adds r0, r1, r2
@@ -14597,7 +5638,7 @@ _0809CF8E:
_0809CFB2:
cmp r5, 0
blt _0809CFC4
- ldr r0, _0809CFD0 @ =gUnknown_083B6DB4
+ ldr r0, _0809CFD0 @ =gPokemonStorageSystemPtr
ldr r0, [r0]
lsls r1, r5, 3
ldr r2, _0809CFD8 @ =0x00001184
@@ -14611,7 +5652,7 @@ _0809CFC4:
pop {r1}
bx r1
.align 2, 0
-_0809CFD0: .4byte gUnknown_083B6DB4
+_0809CFD0: .4byte gPokemonStorageSystemPtr
_0809CFD4: .4byte 0x000011ba
_0809CFD8: .4byte 0x00001184
thumb_func_end sub_809CF30