summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--asm/pokemon_storage_system.s4714
-rw-r--r--data/pokemon_storage_system.s59
-rw-r--r--include/decoration.h6
-rwxr-xr-xinclude/ewram.h6
-rw-r--r--include/gba/macro.h2
-rw-r--r--include/main.h2
-rw-r--r--include/mon_markings.h29
-rw-r--r--include/pc_screen_effect.h21
-rw-r--r--include/pokemon.h8
-rw-r--r--include/sprite.h1
-rw-r--r--ld_script.txt4
-rw-r--r--src/engine/naming_screen.c2
-rw-r--r--src/field/choose_party.c3
-rw-r--r--src/field/field_effect.c1
-rw-r--r--src/field/pc_screen_effect.c17
-rw-r--r--src/field/use_pokeblock.c1
-rw-r--r--src/pokemon/mon_markings.c20
-rw-r--r--src/pokemon/pokemon_storage_system.c2120
-rw-r--r--src/scene/hall_of_fame.c38
-rw-r--r--sym_ewram.txt54
20 files changed, 2444 insertions, 4664 deletions
diff --git a/asm/pokemon_storage_system.s b/asm/pokemon_storage_system.s
index 69c6d9e4f..85e29b183 100644
--- a/asm/pokemon_storage_system.s
+++ b/asm/pokemon_storage_system.s
@@ -5,4184 +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 MenuFillWindowRectWithBlankTile
- 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 MenuDisplayMessageBox
- 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 MenuPrint
- 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 ProcessMenuInput
- 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 MenuPrint
- b _080960F4
- .align 2, 0
-_08095FC0: .4byte gMain
-_08095FC4: .4byte gUnknown_083B600C
-_08095FC8:
- bl HandleDestroyMenuCursors
- movs r0, 0
- movs r1, 0
- movs r2, 0xD
- movs r3, 0x9
- bl MenuZeroFillWindowRect
- 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 MenuPrint
- 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 MoveMenuCursor
- bl GetMenuCursorPos
- 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 MoveMenuCursor
- bl GetMenuCursorPos
- 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 MenuPrint
- 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 MenuDrawTextWindow
- ldr r3, _080961A4 @ =gUnknown_083B600C
- movs r0, 0x1
- movs r1, 0x1
- movs r2, 0x4
- bl PrintMenuItems
- 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 @ =gWindowConfig_81E6D38
- adds r1, r5, 0
- mov r2, r8
- bl sub_8004E3C
- 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 gWindowConfig_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 @ =gWindowConfig_81E6D00
- bl SetUpWindowConfig
- b _0809697A
- .align 2, 0
-_080968F0: .4byte gWindowConfig_81E6D00
-_080968F4:
- ldr r0, _08096900 @ =gWindowConfig_81E6D00
- bl InitMenuWindow
- bl MenuZeroFillScreen
- b _0809697A
- .align 2, 0
-_08096900: .4byte gWindowConfig_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 @ =gWindowConfig_81E6D00
- bl SetUpWindowConfig
- b _08096AD8
- .align 2, 0
-_08096A3C: .4byte gWindowConfig_81E6D00
-_08096A40:
- ldr r0, _08096A4C @ =gWindowConfig_81E6D00
- bl InitMenuWindow
- bl MenuZeroFillScreen
- b _08096AD8
- .align 2, 0
-_08096A4C: .4byte gWindowConfig_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 ProcessMenuInputNoWrap
- 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 ProcessMenuInputNoWrap
- 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}
@@ -4216,7 +38,7 @@ _08097CF4:
movs r0, 0x20
bl PlaySE
movs r0, 0xF
- bl sub_8098898
+ bl PrintStorageActionText
ldr r1, _08097D14 @ =gSharedMem
movs r0, 0x1
strb r0, [r1, 0x4]
@@ -4227,7 +49,7 @@ _08097D18:
movs r0, 0x5
bl PlaySE
movs r0, 0x12
- bl sub_8098898
+ bl PrintStorageActionText
movs r0, 0
bl sub_8098A38
ldr r1, _08097D34 @ =gSharedMem
@@ -4266,7 +88,7 @@ _08097D66:
_08097D6C:
bl sub_8098A5C
ldr r0, _08097D78 @ =sub_8096C84
- bl sub_8096BE0
+ bl SetPSSCallback
b _08097DD0
.align 2, 0
_08097D78: .4byte sub_8096C84
@@ -5778,7 +1600,7 @@ sub_8098B48: @ 8098B48
push {r4,r5,lr}
bl sub_809D51C
movs r2, 0
- ldr r1, _08098BD8 @ =gUnknown_083B6DB4
+ ldr r1, _08098BD8 @ =gPokemonStorageSystemPtr
ldr r0, [r1]
ldr r4, _08098BDC @ =0x000010d0
adds r3, r0, r4
@@ -5794,7 +1616,7 @@ _08098B5C:
cmp r2, 0x27
bls _08098B5C
movs r2, 0
- ldr r0, _08098BD8 @ =gUnknown_083B6DB4
+ ldr r0, _08098BD8 @ =gPokemonStorageSystemPtr
ldr r0, [r0]
movs r1, 0x89
lsls r1, 5
@@ -5810,7 +1632,7 @@ _08098B7A:
cmp r2, 0x27
bls _08098B7A
movs r2, 0
- ldr r0, _08098BD8 @ =gUnknown_083B6DB4
+ ldr r0, _08098BD8 @ =gPokemonStorageSystemPtr
ldr r0, [r0]
ldr r4, _08098BE0 @ =0x00001038
adds r3, r0, r4
@@ -5825,7 +1647,7 @@ _08098B96:
cmp r2, 0x5
bls _08098B96
movs r2, 0
- ldr r0, _08098BD8 @ =gUnknown_083B6DB4
+ ldr r0, _08098BD8 @ =gPokemonStorageSystemPtr
ldr r0, [r0]
ldr r1, _08098BE4 @ =0x00001050
adds r3, r0, r1
@@ -5851,7 +1673,7 @@ _08098BB2:
pop {r0}
bx r0
.align 2, 0
-_08098BD8: .4byte gUnknown_083B6DB4
+_08098BD8: .4byte gPokemonStorageSystemPtr
_08098BDC: .4byte 0x000010d0
_08098BE0: .4byte 0x00001038
_08098BE4: .4byte 0x00001050
@@ -5863,7 +1685,7 @@ _08098BEC: .4byte 0x00000d5c
sub_8098BF0: @ 8098BF0
push {r4-r6,lr}
sub sp, 0x8
- ldr r0, _08098C38 @ =gUnknown_083B6DB4
+ ldr r0, _08098C38 @ =gPokemonStorageSystemPtr
ldr r5, [r0]
ldr r0, _08098C3C @ =0x000025b4
adds r4, r5, r0
@@ -5894,7 +1716,7 @@ sub_8098BF0: @ 8098BF0
pop {r0}
bx r0
.align 2, 0
-_08098C38: .4byte gUnknown_083B6DB4
+_08098C38: .4byte gPokemonStorageSystemPtr
_08098C3C: .4byte 0x000025b4
_08098C40: .4byte 0x00001034
_08098C44: .4byte sub_80999C4
@@ -5958,7 +1780,7 @@ _08098C70:
adds r0, r4, 0
asrs r3, 16
bl sub_8099AFC
- ldr r1, _08098CD0 @ =gUnknown_083B6DB4
+ ldr r1, _08098CD0 @ =gPokemonStorageSystemPtr
ldr r1, [r1]
mov r3, r8
lsls r2, r3, 2
@@ -5969,10 +1791,10 @@ _08098C70:
b _08098CE8
.align 2, 0
_08098CCC: .4byte gPokemonStorage + 0x4
-_08098CD0: .4byte gUnknown_083B6DB4
+_08098CD0: .4byte gPokemonStorageSystemPtr
_08098CD4: .4byte 0x00001050
_08098CD8:
- ldr r0, _08098D18 @ =gUnknown_083B6DB4
+ ldr r0, _08098D18 @ =gPokemonStorageSystemPtr
ldr r0, [r0]
mov r2, r8
lsls r1, r2, 2
@@ -6005,7 +1827,7 @@ _08098CE8:
pop {r0}
bx r0
.align 2, 0
-_08098D18: .4byte gUnknown_083B6DB4
+_08098D18: .4byte gPokemonStorageSystemPtr
_08098D1C: .4byte 0x00001050
thumb_func_end sub_8098C48
@@ -6081,7 +1903,7 @@ sub_8098D20: @ 8098D20
adds r2, r5, 0
adds r3, r4, 0
bl sub_8099AFC
- ldr r1, _08098DD8 @ =gUnknown_083B6DB4
+ ldr r1, _08098DD8 @ =gPokemonStorageSystemPtr
ldr r1, [r1]
ldr r2, _08098DDC @ =0x00001050
adds r1, r2
@@ -6097,7 +1919,7 @@ _08098DC4:
bx r0
.align 2, 0
_08098DD4: .4byte gPokemonStorage + 0x4
-_08098DD8: .4byte gUnknown_083B6DB4
+_08098DD8: .4byte gPokemonStorageSystemPtr
_08098DDC: .4byte 0x00001050
thumb_func_end sub_8098D20
@@ -6107,7 +1929,7 @@ sub_8098DE0: @ 8098DE0
lsls r0, 16
lsrs r4, r0, 16
movs r2, 0
- ldr r0, _08098E18 @ =gUnknown_083B6DB4
+ ldr r0, _08098E18 @ =gPokemonStorageSystemPtr
ldr r0, [r0]
ldr r1, _08098E1C @ =0x00001050
adds r3, r0, r1
@@ -6134,7 +1956,7 @@ _08098E08:
pop {r0}
bx r0
.align 2, 0
-_08098E18: .4byte gUnknown_083B6DB4
+_08098E18: .4byte gPokemonStorageSystemPtr
_08098E1C: .4byte 0x00001050
_08098E20: .4byte sub_8098E68
thumb_func_end sub_8098DE0
@@ -6156,7 +1978,7 @@ sub_8098E24: @ 8098E24
strh r0, [r2, 0x20]
b _08098E56
_08098E40:
- ldr r0, _08098E5C @ =gUnknown_083B6DB4
+ ldr r0, _08098E5C @ =gPokemonStorageSystemPtr
ldr r1, [r0]
ldr r3, _08098E60 @ =0x00001178
adds r1, r3
@@ -6171,7 +1993,7 @@ _08098E56:
pop {r0}
bx r0
.align 2, 0
-_08098E5C: .4byte gUnknown_083B6DB4
+_08098E5C: .4byte gPokemonStorageSystemPtr
_08098E60: .4byte 0x00001178
_08098E64: .4byte SpriteCallbackDummy
thumb_func_end sub_8098E24
@@ -6216,7 +2038,7 @@ sub_8098EA0: @ 8098EA0
lsls r0, 24
lsrs r5, r0, 24
movs r6, 0
- ldr r0, _08098ED8 @ =gUnknown_083B6DB4
+ ldr r0, _08098ED8 @ =gPokemonStorageSystemPtr
ldr r0, [r0]
ldr r1, _08098EDC @ =0x00001050
adds r7, r0, r1
@@ -6242,7 +2064,7 @@ _08098EC2:
pop {r0}
bx r0
.align 2, 0
-_08098ED8: .4byte gUnknown_083B6DB4
+_08098ED8: .4byte gPokemonStorageSystemPtr
_08098EDC: .4byte 0x00001050
thumb_func_end sub_8098EA0
@@ -6287,7 +2109,7 @@ sub_8098EE0: @ 8098EE0
movs r0, 0
str r0, [sp, 0x14]
mov r9, r0
- ldr r0, _08098FF8 @ =gUnknown_083B6DB4
+ ldr r0, _08098FF8 @ =gPokemonStorageSystemPtr
ldr r0, [r0]
ldr r2, _08098FFC @ =0x0000117d
adds r2, r0
@@ -6388,7 +2210,7 @@ _08098FC8:
pop {r1}
bx r1
.align 2, 0
-_08098FF8: .4byte gUnknown_083B6DB4
+_08098FF8: .4byte gPokemonStorageSystemPtr
_08098FFC: .4byte 0x0000117d
_08099000: .4byte 0x00001050
_08099004: .4byte gPokemonStorage + 0x4
@@ -6400,7 +2222,7 @@ sub_809900C: @ 809900C
push {r4-r6,lr}
lsls r1, 24
lsrs r1, 24
- ldr r4, _08099058 @ =gUnknown_083B6DB4
+ ldr r4, _08099058 @ =gPokemonStorageSystemPtr
ldr r5, [r4]
ldr r3, _0809905C @ =0x0000117c
adds r2, r5, r3
@@ -6435,7 +2257,7 @@ sub_809900C: @ 809900C
movs r0, 0
b _08099076
.align 2, 0
-_08099058: .4byte gUnknown_083B6DB4
+_08099058: .4byte gPokemonStorageSystemPtr
_0809905C: .4byte 0x0000117c
_08099060: .4byte 0x0000117d
_08099064: .4byte 0x0000117b
@@ -6475,7 +2297,7 @@ _080990A8: .4byte 0x00001176
thumb_func_start sub_80990AC
sub_80990AC: @ 80990AC
push {r4-r6,lr}
- ldr r0, _080990D4 @ =gUnknown_083B6DB4
+ ldr r0, _080990D4 @ =gPokemonStorageSystemPtr
ldr r4, [r0]
ldr r0, _080990D8 @ =0x00001172
adds r3, r4, r0
@@ -6496,7 +2318,7 @@ _080990C0:
beq _080990E8
b _080991F0
.align 2, 0
-_080990D4: .4byte gUnknown_083B6DB4
+_080990D4: .4byte gPokemonStorageSystemPtr
_080990D8: .4byte 0x00001172
_080990DC: .4byte 0x0000117c
_080990E0:
@@ -6582,7 +2404,7 @@ _08099178:
cmp r0, 0
bne _080991B0
_08099182:
- ldr r0, _080991A8 @ =gUnknown_083B6DB4
+ ldr r0, _080991A8 @ =gPokemonStorageSystemPtr
ldr r1, [r0]
ldr r2, _080991AC @ =0x0000117c
adds r1, r2
@@ -6596,10 +2418,10 @@ _08099198: .4byte 0x00001176
_0809919C: .4byte 0x0000117a
_080991A0: .4byte 0x00001178
_080991A4: .4byte 0x0000117b
-_080991A8: .4byte gUnknown_083B6DB4
+_080991A8: .4byte gPokemonStorageSystemPtr
_080991AC: .4byte 0x0000117c
_080991B0:
- ldr r0, _080991D0 @ =gUnknown_083B6DB4
+ ldr r0, _080991D0 @ =gPokemonStorageSystemPtr
ldr r1, [r0]
ldr r5, _080991D4 @ =0x0000117a
adds r3, r1, r5
@@ -6615,7 +2437,7 @@ _080991B0:
strb r2, [r1]
b _080991F8
.align 2, 0
-_080991D0: .4byte gUnknown_083B6DB4
+_080991D0: .4byte gPokemonStorageSystemPtr
_080991D4: .4byte 0x0000117a
_080991D8: .4byte 0x0000117b
_080991DC: .4byte 0x0000117c
@@ -6668,7 +2490,7 @@ sub_8099200: @ 8099200
movs r2, 0x68
movs r3, 0x40
bl sub_8099AFC
- ldr r1, _080992A4 @ =gUnknown_083B6DB4
+ ldr r1, _080992A4 @ =gPokemonStorageSystemPtr
ldr r1, [r1]
ldr r2, _080992A8 @ =0x00001038
adds r1, r2
@@ -6707,7 +2529,7 @@ _08099246:
adds r0, r5, 0
movs r2, 0x98
bl sub_8099AFC
- ldr r1, _080992A4 @ =gUnknown_083B6DB4
+ ldr r1, _080992A4 @ =gPokemonStorageSystemPtr
ldr r1, [r1]
lsls r2, r6, 2
ldr r3, _080992A8 @ =0x00001038
@@ -6720,10 +2542,10 @@ _08099246:
b _080992BA
.align 2, 0
_080992A0: .4byte gPlayerParty
-_080992A4: .4byte gUnknown_083B6DB4
+_080992A4: .4byte gPokemonStorageSystemPtr
_080992A8: .4byte 0x00001038
_080992AC:
- ldr r0, _08099308 @ =gUnknown_083B6DB4
+ ldr r0, _08099308 @ =gPokemonStorageSystemPtr
ldr r0, [r0]
lsls r1, r6, 2
ldr r2, _0809930C @ =0x00001038
@@ -6742,7 +2564,7 @@ _080992BA:
movs r6, 0
cmp r6, r7
bcs _080992FA
- ldr r0, _08099308 @ =gUnknown_083B6DB4
+ ldr r0, _08099308 @ =gPokemonStorageSystemPtr
ldr r0, [r0]
ldr r1, _0809930C @ =0x00001038
adds r3, r0, r1
@@ -6772,7 +2594,7 @@ _080992FA:
pop {r0}
bx r0
.align 2, 0
-_08099308: .4byte gUnknown_083B6DB4
+_08099308: .4byte gPokemonStorageSystemPtr
_0809930C: .4byte 0x00001038
thumb_func_end sub_8099200
@@ -6781,7 +2603,7 @@ sub_8099310: @ 8099310
push {r4-r7,lr}
mov r7, r8
push {r7}
- ldr r0, _08099368 @ =gUnknown_083B6DB4
+ ldr r0, _08099368 @ =gPokemonStorageSystemPtr
ldr r2, [r0]
ldr r0, _0809936C @ =0x00001171
adds r1, r2, r0
@@ -6825,21 +2647,21 @@ _08099354:
pop {r0}
bx r0
.align 2, 0
-_08099368: .4byte gUnknown_083B6DB4
+_08099368: .4byte gPokemonStorageSystemPtr
_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, _08099380 @ =gPokemonStorageSystemPtr
ldr r0, [r0]
ldr r1, _08099384 @ =0x00001171
adds r0, r1
ldrb r0, [r0]
bx lr
.align 2, 0
-_08099380: .4byte gUnknown_083B6DB4
+_08099380: .4byte gPokemonStorageSystemPtr
_08099384: .4byte 0x00001171
thumb_func_end sub_8099374
@@ -6953,7 +2775,7 @@ _08099446:
strh r0, [r3, 0x22]
ldr r0, _08099470 @ =SpriteCallbackDummy
str r0, [r3, 0x1C]
- ldr r0, _08099474 @ =gUnknown_083B6DB4
+ ldr r0, _08099474 @ =gPokemonStorageSystemPtr
ldr r2, [r0]
movs r0, 0x30
ldrsh r1, [r3, r0]
@@ -6973,7 +2795,7 @@ _08099468:
bx r0
.align 2, 0
_08099470: .4byte SpriteCallbackDummy
-_08099474: .4byte gUnknown_083B6DB4
+_08099474: .4byte gPokemonStorageSystemPtr
_08099478: .4byte 0x00001038
_0809947C: .4byte 0x00001171
thumb_func_end sub_80993F4
@@ -6981,7 +2803,7 @@ _0809947C: .4byte 0x00001171
thumb_func_start sub_8099480
sub_8099480: @ 8099480
push {r4,lr}
- ldr r0, _080994A0 @ =gUnknown_083B6DB4
+ ldr r0, _080994A0 @ =gPokemonStorageSystemPtr
ldr r0, [r0]
ldr r1, _080994A4 @ =0x00001034
adds r4, r0, r1
@@ -6996,7 +2818,7 @@ _08099498:
pop {r0}
bx r0
.align 2, 0
-_080994A0: .4byte gUnknown_083B6DB4
+_080994A0: .4byte gPokemonStorageSystemPtr
_080994A4: .4byte 0x00001034
thumb_func_end sub_8099480
@@ -7004,7 +2826,7 @@ _080994A4: .4byte 0x00001034
sub_80994A8: @ 80994A8
push {r4-r6,lr}
movs r3, 0
- ldr r1, _080994FC @ =gUnknown_083B6DB4
+ ldr r1, _080994FC @ =gPokemonStorageSystemPtr
ldr r1, [r1]
ldr r2, _08099500 @ =0x00001038
adds r5, r1, r2
@@ -7046,7 +2868,7 @@ _080994BC:
strb r1, [r0]
b _0809950E
.align 2, 0
-_080994FC: .4byte gUnknown_083B6DB4
+_080994FC: .4byte gPokemonStorageSystemPtr
_08099500: .4byte 0x00001038
_08099504:
adds r2, 0x3E
@@ -7069,7 +2891,7 @@ _0809950E:
sub_8099520: @ 8099520
push {r4,lr}
lsls r0, 24
- ldr r1, _08099544 @ =gUnknown_083B6DB4
+ ldr r1, _08099544 @ =gPokemonStorageSystemPtr
ldr r1, [r1]
lsrs r0, 22
ldr r2, _08099548 @ =0x00001038
@@ -7086,7 +2908,7 @@ _0809953E:
pop {r0}
bx r0
.align 2, 0
-_08099544: .4byte gUnknown_083B6DB4
+_08099544: .4byte gPokemonStorageSystemPtr
_08099548: .4byte 0x00001038
thumb_func_end sub_8099520
@@ -7094,7 +2916,7 @@ _08099548: .4byte 0x00001038
sub_809954C: @ 809954C
push {r4-r6,lr}
movs r5, 0
- ldr r0, _0809957C @ =gUnknown_083B6DB4
+ ldr r0, _0809957C @ =gPokemonStorageSystemPtr
ldr r0, [r0]
ldr r1, _08099580 @ =0x00001038
adds r6, r0, r1
@@ -7117,7 +2939,7 @@ _0809956A:
pop {r0}
bx r0
.align 2, 0
-_0809957C: .4byte gUnknown_083B6DB4
+_0809957C: .4byte gPokemonStorageSystemPtr
_08099580: .4byte 0x00001038
thumb_func_end sub_809954C
@@ -7131,7 +2953,7 @@ sub_8099584: @ 8099584
adds r5, r1, 0
cmp r4, 0
bne _080995B4
- ldr r3, _080995AC @ =gUnknown_083B6DB4
+ ldr r3, _080995AC @ =gPokemonStorageSystemPtr
ldr r0, [r3]
ldr r5, _080995B0 @ =0x00001034
adds r2, r0, r5
@@ -7144,12 +2966,12 @@ sub_8099584: @ 8099584
str r4, [r0]
b _080995D0
.align 2, 0
-_080995AC: .4byte gUnknown_083B6DB4
+_080995AC: .4byte gPokemonStorageSystemPtr
_080995B0: .4byte 0x00001034
_080995B4:
cmp r4, 0x1
bne _080995F4
- ldr r3, _080995FC @ =gUnknown_083B6DB4
+ ldr r3, _080995FC @ =gPokemonStorageSystemPtr
ldr r0, [r3]
ldr r1, _08099600 @ =0x00001034
adds r2, r0, r1
@@ -7185,7 +3007,7 @@ _080995F4:
pop {r0}
bx r0
.align 2, 0
-_080995FC: .4byte gUnknown_083B6DB4
+_080995FC: .4byte gPokemonStorageSystemPtr
_08099600: .4byte 0x00001034
_08099604: .4byte 0x00001050
_08099608: .4byte sub_80999C4
@@ -7200,7 +3022,7 @@ sub_809960C: @ 809960C
lsrs r6, r1, 24
cmp r0, 0xE
bne _08099654
- ldr r4, _08099648 @ =gUnknown_083B6DB4
+ ldr r4, _08099648 @ =gPokemonStorageSystemPtr
ldr r0, [r4]
lsls r1, r6, 2
ldr r2, _0809964C @ =0x00001038
@@ -7223,11 +3045,11 @@ sub_809960C: @ 809960C
strb r1, [r0]
b _0809968A
.align 2, 0
-_08099648: .4byte gUnknown_083B6DB4
+_08099648: .4byte gPokemonStorageSystemPtr
_0809964C: .4byte 0x00001038
_08099650: .4byte 0x00001034
_08099654:
- ldr r5, _080996A0 @ =gUnknown_083B6DB4
+ ldr r5, _080996A0 @ =gPokemonStorageSystemPtr
ldr r0, [r5]
lsls r1, r6, 2
ldr r2, _080996A4 @ =0x00001050
@@ -7266,7 +3088,7 @@ _0809968A:
pop {r0}
bx r0
.align 2, 0
-_080996A0: .4byte gUnknown_083B6DB4
+_080996A0: .4byte gPokemonStorageSystemPtr
_080996A4: .4byte 0x00001050
_080996A8: .4byte 0x00001034
_080996AC: .4byte SpriteCallbackDummy
@@ -7281,7 +3103,7 @@ sub_80996B0: @ 80996B0
lsrs r4, r1, 24
cmp r0, 0xE
bne _080996D8
- ldr r3, _080996CC @ =gUnknown_083B6DB4
+ ldr r3, _080996CC @ =gPokemonStorageSystemPtr
ldr r1, [r3]
ldr r0, _080996D0 @ =0x000010c8
adds r2, r1, r0
@@ -7289,11 +3111,11 @@ sub_80996B0: @ 80996B0
ldr r4, _080996D4 @ =0x00001038
b _080996E4
.align 2, 0
-_080996CC: .4byte gUnknown_083B6DB4
+_080996CC: .4byte gPokemonStorageSystemPtr
_080996D0: .4byte 0x000010c8
_080996D4: .4byte 0x00001038
_080996D8:
- ldr r3, _08099704 @ =gUnknown_083B6DB4
+ ldr r3, _08099704 @ =gPokemonStorageSystemPtr
ldr r1, [r3]
ldr r0, _08099708 @ =0x000010c8
adds r2, r1, r0
@@ -7317,7 +3139,7 @@ _080996E4:
pop {r0}
bx r0
.align 2, 0
-_08099704: .4byte gUnknown_083B6DB4
+_08099704: .4byte gPokemonStorageSystemPtr
_08099708: .4byte 0x000010c8
_0809970C: .4byte 0x00001050
_08099710: .4byte 0x00001034
@@ -7328,7 +3150,7 @@ _08099718: .4byte 0x00001170
thumb_func_start sub_809971C
sub_809971C: @ 809971C
push {r4-r7,lr}
- ldr r0, _08099730 @ =gUnknown_083B6DB4
+ ldr r0, _08099730 @ =gPokemonStorageSystemPtr
ldr r2, [r0]
ldr r0, _08099734 @ =0x00001170
adds r7, r2, r0
@@ -7338,7 +3160,7 @@ sub_809971C: @ 809971C
movs r0, 0
b _08099800
.align 2, 0
-_08099730: .4byte gUnknown_083B6DB4
+_08099730: .4byte gPokemonStorageSystemPtr
_08099734: .4byte 0x00001170
_08099738:
adds r0, 0x1
@@ -7478,7 +3300,7 @@ _08099836:
beq _0809987C
b _080998C0
_0809983C:
- ldr r3, _0809984C @ =gUnknown_083B6DB4
+ ldr r3, _0809984C @ =gPokemonStorageSystemPtr
ldr r1, [r3]
ldr r0, _08099850 @ =0x000010cc
adds r2, r1, r0
@@ -7486,11 +3308,11 @@ _0809983C:
ldr r4, _08099854 @ =0x00001038
b _08099864
.align 2, 0
-_0809984C: .4byte gUnknown_083B6DB4
+_0809984C: .4byte gPokemonStorageSystemPtr
_08099850: .4byte 0x000010cc
_08099854: .4byte 0x00001038
_08099858:
- ldr r3, _08099870 @ =gUnknown_083B6DB4
+ ldr r3, _08099870 @ =gPokemonStorageSystemPtr
ldr r1, [r3]
ldr r0, _08099874 @ =0x000010cc
adds r2, r1, r0
@@ -7503,11 +3325,11 @@ _08099864:
adds r0, r3, 0
b _0809988A
.align 2, 0
-_08099870: .4byte gUnknown_083B6DB4
+_08099870: .4byte gPokemonStorageSystemPtr
_08099874: .4byte 0x000010cc
_08099878: .4byte 0x00001050
_0809987C:
- ldr r0, _080998C8 @ =gUnknown_083B6DB4
+ ldr r0, _080998C8 @ =gPokemonStorageSystemPtr
ldr r1, [r0]
ldr r3, _080998CC @ =0x000010cc
adds r2, r1, r3
@@ -7545,7 +3367,7 @@ _080998C0:
pop {r0}
bx r0
.align 2, 0
-_080998C8: .4byte gUnknown_083B6DB4
+_080998C8: .4byte gPokemonStorageSystemPtr
_080998CC: .4byte 0x000010cc
_080998D0: .4byte 0x00001034
_080998D4: .4byte gSpriteAffineAnimTable_83B6F5C
@@ -7554,7 +3376,7 @@ _080998D4: .4byte gSpriteAffineAnimTable_83B6F5C
thumb_func_start sub_80998D8
sub_80998D8: @ 80998D8
push {lr}
- ldr r0, _080998FC @ =gUnknown_083B6DB4
+ ldr r0, _080998FC @ =gPokemonStorageSystemPtr
ldr r0, [r0]
ldr r1, _08099900 @ =0x000010cc
adds r0, r1
@@ -7573,7 +3395,7 @@ _080998F8:
movs r0, 0
b _0809991A
.align 2, 0
-_080998FC: .4byte gUnknown_083B6DB4
+_080998FC: .4byte gPokemonStorageSystemPtr
_08099900: .4byte 0x000010cc
_08099904:
adds r0, r1, 0
@@ -7596,7 +3418,7 @@ _0809991A:
thumb_func_start sub_8099920
sub_8099920: @ 8099920
push {r4,lr}
- ldr r0, _08099950 @ =gUnknown_083B6DB4
+ ldr r0, _08099950 @ =gPokemonStorageSystemPtr
ldr r0, [r0]
ldr r1, _08099954 @ =0x000010cc
adds r4, r0, r1
@@ -7619,14 +3441,14 @@ _0809994A:
pop {r0}
bx r0
.align 2, 0
-_08099950: .4byte gUnknown_083B6DB4
+_08099950: .4byte gPokemonStorageSystemPtr
_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, _08099988 @ =gPokemonStorageSystemPtr
ldr r0, [r0]
ldr r1, _0809998C @ =0x000010cc
adds r3, r0, r1
@@ -7649,14 +3471,14 @@ _08099982:
pop {r0}
bx r0
.align 2, 0
-_08099988: .4byte gUnknown_083B6DB4
+_08099988: .4byte gPokemonStorageSystemPtr
_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, _080999A4 @ =gPokemonStorageSystemPtr
ldr r0, [r0]
ldr r1, _080999A8 @ =0x000010cc
adds r2, r0, r1
@@ -7666,7 +3488,7 @@ sub_8099990: @ 8099990
movs r0, 0
b _080999C0
.align 2, 0
-_080999A4: .4byte gUnknown_083B6DB4
+_080999A4: .4byte gPokemonStorageSystemPtr
_080999A8: .4byte 0x000010cc
_080999AC:
ldr r0, [r0]
@@ -7687,7 +3509,7 @@ _080999C0:
thumb_func_start sub_80999C4
sub_80999C4: @ 80999C4
- ldr r1, _080999E4 @ =gUnknown_083B6DB4
+ ldr r1, _080999E4 @ =gPokemonStorageSystemPtr
ldr r1, [r1]
movs r2, 0x8E
lsls r2, 5
@@ -7703,7 +3525,7 @@ sub_80999C4: @ 80999C4
strh r1, [r0, 0x22]
bx lr
.align 2, 0
-_080999E4: .4byte gUnknown_083B6DB4
+_080999E4: .4byte gPokemonStorageSystemPtr
thumb_func_end sub_80999C4
thumb_func_start sub_80999E8
@@ -7712,7 +3534,7 @@ sub_80999E8: @ 80999E8
lsls r0, 16
lsrs r3, r0, 16
movs r4, 0
- ldr r1, _08099A58 @ =gUnknown_083B6DB4
+ ldr r1, _08099A58 @ =gPokemonStorageSystemPtr
ldr r0, [r1]
movs r2, 0x89
lsls r2, 5
@@ -7768,7 +3590,7 @@ _08099A4E:
ldr r0, _08099A5C @ =0x0000ffff
b _08099A94
.align 2, 0
-_08099A58: .4byte gUnknown_083B6DB4
+_08099A58: .4byte gPokemonStorageSystemPtr
_08099A5C: .4byte 0x0000ffff
_08099A60:
ldr r1, [r2]
@@ -7813,7 +3635,7 @@ sub_8099AAC: @ 8099AAC
lsls r0, 16
lsrs r6, r0, 16
movs r3, 0
- ldr r0, _08099AE4 @ =gUnknown_083B6DB4
+ ldr r0, _08099AE4 @ =gPokemonStorageSystemPtr
ldr r0, [r0]
movs r1, 0x89
lsls r1, 5
@@ -7838,7 +3660,7 @@ _08099AC6:
strh r0, [r2]
b _08099AF6
.align 2, 0
-_08099AE4: .4byte gUnknown_083B6DB4
+_08099AE4: .4byte gPokemonStorageSystemPtr
_08099AE8: .4byte 0x0000ffff
_08099AEC:
adds r0, r3, 0x1
@@ -7982,7 +3804,7 @@ sub_8099BF8: @ 8099BF8
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
- ldr r0, _08099C50 @ =gUnknown_083B6DB4
+ ldr r0, _08099C50 @ =gPokemonStorageSystemPtr
ldr r0, [r0]
ldr r1, _08099C54 @ =0x000008ba
adds r2, r0, r1
@@ -8017,7 +3839,7 @@ sub_8099BF8: @ 8099BF8
pop {r0}
bx r0
.align 2, 0
-_08099C50: .4byte gUnknown_083B6DB4
+_08099C50: .4byte gPokemonStorageSystemPtr
_08099C54: .4byte 0x000008ba
_08099C58: .4byte 0x000008b4
_08099C5C: .4byte 0x040000d4
@@ -8039,7 +3861,7 @@ sub_8099C70: @ 8099C70
adds r0, r5, 0
adds r1, r4, 0
bl sub_8099EB0
- ldr r0, _08099D10 @ =gUnknown_083B6DB4
+ ldr r0, _08099D10 @ =gPokemonStorageSystemPtr
ldr r2, [r0]
lsls r0, r4, 1
adds r0, r4
@@ -8107,7 +3929,7 @@ _08099CD6:
pop {r0}
bx r0
.align 2, 0
-_08099D10: .4byte gUnknown_083B6DB4
+_08099D10: .4byte gPokemonStorageSystemPtr
_08099D14: .4byte 0x000008b6
_08099D18: .4byte 0x000008b8
_08099D1C: .4byte 0x000008bb
@@ -8124,7 +3946,7 @@ sub_8099D34: @ 8099D34
bl sub_80990AC
lsls r0, 24
lsrs r2, r0, 24
- ldr r0, _08099D78 @ =gUnknown_083B6DB4
+ ldr r0, _08099D78 @ =gPokemonStorageSystemPtr
ldr r1, [r0]
ldr r0, _08099D7C @ =0x000008b8
adds r3, r1, r0
@@ -8153,7 +3975,7 @@ _08099D74:
movs r0, 0x1
b _08099D8A
.align 2, 0
-_08099D78: .4byte gUnknown_083B6DB4
+_08099D78: .4byte gPokemonStorageSystemPtr
_08099D7C: .4byte 0x000008b8
_08099D80: .4byte 0x000008b4
_08099D84: .4byte 0x000001ff
@@ -8216,7 +4038,7 @@ sub_8099DCC: @ 8099DCC
adds r0, r1
movs r1, 0
strb r4, [r0]
- ldr r0, _08099E00 @ =gUnknown_083B6DB4
+ ldr r0, _08099E00 @ =gPokemonStorageSystemPtr
ldr r0, [r0]
ldr r2, _08099E04 @ =0x00001032
adds r0, r2
@@ -8227,7 +4049,7 @@ sub_8099DCC: @ 8099DCC
.align 2, 0
_08099DF8: .4byte gPokemonStorage
_08099DFC: .4byte 0x000083c2
-_08099E00: .4byte gUnknown_083B6DB4
+_08099E00: .4byte gPokemonStorageSystemPtr
_08099E04: .4byte 0x00001032
thumb_func_end sub_8099DCC
@@ -8235,7 +4057,7 @@ _08099E04: .4byte 0x00001032
sub_8099E08: @ 8099E08
push {r4,r5,lr}
sub sp, 0x4
- ldr r0, _08099E24 @ =gUnknown_083B6DB4
+ ldr r0, _08099E24 @ =gPokemonStorageSystemPtr
ldr r5, [r0]
ldr r0, _08099E28 @ =0x00001032
adds r4, r5, r0
@@ -8248,7 +4070,7 @@ sub_8099E08: @ 8099E08
beq _08099E36
b _08099EA6
.align 2, 0
-_08099E24: .4byte gUnknown_083B6DB4
+_08099E24: .4byte gPokemonStorageSystemPtr
_08099E28: .4byte 0x00001032
_08099E2C:
cmp r0, 0x2
@@ -8325,7 +4147,7 @@ sub_8099EB0: @ 8099EB0
lsrs r7, r1, 24
cmp r1, 0
beq _08099ED8
- ldr r0, _08099F38 @ =gUnknown_083B6DB4
+ ldr r0, _08099F38 @ =gPokemonStorageSystemPtr
ldr r0, [r0]
movs r2, 0
ldr r3, _08099F3C @ =0x000008ba
@@ -8348,7 +4170,7 @@ _08099ED8:
ldr r0, _08099F4C @ =gWallpaperTable
adds r4, r0
ldr r0, [r4, 0xC]
- ldr r1, _08099F38 @ =gUnknown_083B6DB4
+ ldr r1, _08099F38 @ =gPokemonStorageSystemPtr
ldr r5, [r1]
ldr r2, _08099F3C @ =0x000008ba
adds r6, r5, r2
@@ -8383,7 +4205,7 @@ _08099ED8:
pop {r0}
bx r0
.align 2, 0
-_08099F38: .4byte gUnknown_083B6DB4
+_08099F38: .4byte gPokemonStorageSystemPtr
_08099F3C: .4byte 0x000008ba
_08099F40: .4byte 0x0600d000
_08099F44: .4byte gPokemonStorage
@@ -8414,7 +4236,7 @@ sub_8099F58: @ 8099F58
lsls r0, 28
lsrs r0, 16
str r0, [sp, 0x4]
- ldr r0, _08099FB8 @ =gUnknown_083B6DB4
+ ldr r0, _08099FB8 @ =gPokemonStorageSystemPtr
ldr r0, [r0]
ldr r1, _08099FBC @ =0x000008b4
adds r0, r1
@@ -8443,7 +4265,7 @@ sub_8099F58: @ 8099F58
movs r7, 0
b _0809A020
.align 2, 0
-_08099FB8: .4byte gUnknown_083B6DB4
+_08099FB8: .4byte gPokemonStorageSystemPtr
_08099FBC: .4byte 0x000008b4
_08099FC0:
cmp r2, 0x1F
@@ -8666,7 +4488,7 @@ _0809A13A:
sub_809A14C: @ 809A14C
push {r4-r6,lr}
adds r2, r0, 0
- ldr r0, _0809A174 @ =gUnknown_083B6DB4
+ ldr r0, _0809A174 @ =gPokemonStorageSystemPtr
ldr r0, [r0]
ldr r1, _0809A178 @ =0x000008b4
adds r0, r1
@@ -8685,7 +4507,7 @@ sub_809A14C: @ 809A14C
adds r0, r6
b _0809A184
.align 2, 0
-_0809A174: .4byte gUnknown_083B6DB4
+_0809A174: .4byte gPokemonStorageSystemPtr
_0809A178: .4byte 0x000008b4
_0809A17C:
lsls r0, 1
@@ -8801,7 +4623,7 @@ sub_809A23C: @ 809A23C
lsls r0, 24
lsrs r0, 24
mov r8, r0
- ldr r0, _0809A384 @ =gUnknown_083B6DB4
+ ldr r0, _0809A384 @ =gPokemonStorageSystemPtr
ldr r5, [r0]
ldr r1, _0809A388 @ =0x000008ca
adds r7, r5, r1
@@ -8913,7 +4735,7 @@ _0809A328:
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
- ldr r0, _0809A384 @ =gUnknown_083B6DB4
+ ldr r0, _0809A384 @ =gPokemonStorageSystemPtr
ldr r5, [r0]
lsls r0, r4, 2
movs r3, 0xCF
@@ -8947,7 +4769,7 @@ _0809A328:
pop {r0}
bx r0
.align 2, 0
-_0809A384: .4byte gUnknown_083B6DB4
+_0809A384: .4byte gPokemonStorageSystemPtr
_0809A388: .4byte 0x000008ca
_0809A38C: .4byte 0x00030200
_0809A390: .4byte 0x00000ccc
@@ -8982,7 +4804,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 +4847,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 +4933,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 +4996,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 +5006,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 +5017,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 +5041,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 +5120,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 +5142,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 +5218,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 +5247,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 +5256,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 +5294,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 +5338,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 +5374,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 +5384,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 +5409,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 +5433,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 +5491,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 +5530,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 +5545,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 +5619,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 +5629,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 +5648,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 +5664,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 +5673,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 +5688,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 +5858,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 +5868,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 +6033,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 +6056,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 +6064,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 +6077,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 +6267,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 +6284,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 +6304,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 +6327,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 +6337,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 +6372,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 +6441,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 +6464,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 +6514,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 +6529,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 +6538,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 +6549,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 +6569,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 +6628,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 +6641,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 +6690,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 +6703,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 +6731,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 +6753,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 +6794,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 +6812,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 +6826,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 +6842,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 +6959,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 +6974,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 +6990,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 +7008,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 +7027,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 +7036,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 +7065,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 +7116,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 +7128,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 +7143,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 +7152,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 +7173,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 +7186,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 +7231,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 +7246,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 +7264,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 +7292,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 +7304,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 +7319,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 +7332,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 +7383,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 +7396,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 +7406,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 +7426,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 +7438,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 +7457,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 +7479,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 +7489,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 +7497,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 +7542,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 +7562,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 +7573,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 +7584,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 +7599,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 +7654,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 +7686,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 +7794,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,7 +7850,7 @@ _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
@@ -12040,7 +7862,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 +7874,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 +7889,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 +7900,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 +7915,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 +7928,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 +7947,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 +7960,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 +7982,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 +7990,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 +8022,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 +8146,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 +8162,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 +8270,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 +8290,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 +8357,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 +8384,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 +8477,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 +8545,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 +8636,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 +8644,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 +8671,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 +8732,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 +8837,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 +8880,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 +8929,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 +8947,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 +9000,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 +9218,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 +9271,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 +9399,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 +9408,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 +9472,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 +9499,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 +9600,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 +9630,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 +9792,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 +9803,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 +9848,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 +9863,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 +9883,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 +9897,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 +9979,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 +10041,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 +10081,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 +10113,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 +10130,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 +10145,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 +10166,13 @@ _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
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 +10183,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 +10193,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 +10232,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 +10243,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 +10258,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 +10277,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 +10347,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 +10405,7 @@ _0809CF8E:
cmp r5, r0
beq _0809CFB2
bl HandleDestroyMenuCursors
- ldr r0, _0809CFD0 @ =gUnknown_083B6DB4
+ ldr r0, _0809CFD0 @ =gPokemonStorageSystemPtr
ldr r1, [r0]
ldr r2, _0809CFD4 @ =0x000011ba
adds r0, r1, r2
@@ -14597,7 +10419,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 +10433,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
diff --git a/data/pokemon_storage_system.s b/data/pokemon_storage_system.s
index b765656f7..4340301ba 100644
--- a/data/pokemon_storage_system.s
+++ b/data/pokemon_storage_system.s
@@ -4,61 +4,6 @@
.section .rodata
.align 2
-gUnknown_083B600C:: @ 83B600C
- .4byte PCText_WithdrawPoke, PCText_MovePokeToParty
- .4byte PCText_DepositPoke, PCText_StorePokeInBox
- .4byte PCText_MovePoke, PCText_OrganizeBoxesParty
- .4byte PCText_SeeYa, PCText_ReturnToPrevMenu
-
- .align 2
-gSpriteAnim_83B602C:: @ 83B602C
- obj_image_anim_frame 0, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83B6034:: @ 83B6034
- obj_image_anim_frame 4, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83B603C:: @ 83B603C
- obj_image_anim_frame 6, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83B6044:: @ 83B6044
- obj_image_anim_frame 10, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83B604C:: @ 83B604C
- .4byte gSpriteAnim_83B602C
- .4byte gSpriteAnim_83B6034
- .4byte gSpriteAnim_83B603C
- .4byte gSpriteAnim_83B6044
-
- .align 2
-gSpriteAffineAnim_83B605C:: @ 83B605C
- obj_rot_scal_anim_frame 0xE0, 0xE0, 0, 0
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnimTable_83B606C:: @ 83B606C
- .4byte gSpriteAffineAnim_83B605C
-
- .align 2
-gBoxSelectionPopupPalette:: @ 83B6070
- .incbin "graphics/pokemon_storage/box_selection_popup.gbapal"
-
- .align 2
-gBoxSelectionPopupCenterTiles:: @ 83B6090
- .incbin "graphics/pokemon_storage/box_selection_popup_center.4bpp"
-
- .align 2
-gBoxSelectionPopupSidesTiles:: @ 83B6890
- .incbin "graphics/pokemon_storage/box_selection_popup_sides.4bpp"
-
- .align 2
gPokemonStorageScrollingBGPalette:: @ 83B6A10
.incbin "graphics/pokemon_storage/scrolling_bg.gbapal"
@@ -125,7 +70,7 @@ gUnknown_083B6D94:: @ 83B6D94
.incbin "graphics/pokemon_storage/83B6D94.gbapal"
.align 2
-gUnknown_083B6DB4:: @ 83B6DB4
+gPokemonStorageSystemPtr:: @ 83B6DB4
.4byte gSharedMem
.align 2
@@ -153,7 +98,7 @@ gSpriteTemplate_83B6DDC:: @ 83B6DDC
spr_template 2, 56007, gOamData_83B6EAC, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
.align 2
-gUnknown_083B6DF4:: @ 83B6DF4
+gPCStorageActionTexts:: @ 83B6DF4
.4byte PCText_ExitBox, 0
.4byte PCText_WhatYouDo, 0
.4byte PCText_PickATheme, 0
diff --git a/include/decoration.h b/include/decoration.h
index 972e82faf..4ac26998e 100644
--- a/include/decoration.h
+++ b/include/decoration.h
@@ -127,17 +127,12 @@ extern u8 gUnknown_020388F5;
extern u8 gUnknown_020388F6;
extern u8 gUnknown_020388D6[16];
extern u8 gUnknown_020388E6[12];
-extern u16 gSpecialVar_0x8004;
-extern u16 gSpecialVar_0x8005;
-extern u16 gSpecialVar_0x8006;
-extern u16 gSpecialVar_0x8007;
extern u16 gUnknown_020391A4;
extern u16 gUnknown_020391A6;
extern u8 gUnknown_020391A8;
extern u8 gUnknown_020391A9;
extern u8 gUnknown_020391AA;
extern u8 gUnknown_02039234;
-extern void (*gFieldCallback)(void);
extern const struct YesNoFuncTable gUnknown_083EC96C[];
extern struct UnkStruct_020391B4 gUnknown_020391B4[16];
@@ -161,7 +156,6 @@ extern const struct YesNoFuncTable gUnknown_083ECAA0;
extern u8 sub_8134194(u8); // src/decoration_inventory
extern bool8 sub_81341D4(void); // src/decoration_inventory
extern void sub_8134104(u8); // src/decoration_inventory
-extern bool8 sub_807D770(void);
extern void sub_8109DAC(u8); // src/trader
extern void ReshowPlayerPC(u8); // src/player_pc
void Task_SecretBasePC_Decoration(u8);
diff --git a/include/ewram.h b/include/ewram.h
index b07820090..3f627878f 100755
--- a/include/ewram.h
+++ b/include/ewram.h
@@ -28,6 +28,7 @@ extern u8 gSharedMem[];
#define ewram0_9(i) (u8 *)(ewram_addr + (i * 0x20))
#define ewram0_10 (*(struct UnknownPokenav0*)(gSharedMem + 0))
#define ewram0_11 (*(struct UnknownPokenav0_1*)(gSharedMem + 0))
+#define ePokemonStorageSystem (*(struct PokemonStorageSystemData *)(gSharedMem + 0))
#define ewram4 (*(struct UnknownStruct8 *)(gSharedMem + 0x4))
#define ewram520 ((struct UnknownStruct7 *)(gSharedMem + 0x00520))
#define ewram520_2 (u8 *)(ewram_addr + 0x520)
@@ -38,10 +39,6 @@ extern u8 gSharedMem[];
#define ewram01000 (*(struct Unk2001000 *)(gSharedMem + 0x1000))
#define ewramBerryPicTemp (gSharedMem + 0x1000)
#define EWRAM_1000 (*(struct Struct2001000 *)(gSharedMem + 0x1000))
-#define gUnk20011fa (u8 *)(&gSharedMem[0x11FA])
-#define gUnk2002694 (u8 *)(&gSharedMem[0x2694])
-#define gUnk20026A6 (u8 *)(&gSharedMem[0x26A6])
-#define gUnk20026e4 (u8 *)(&gSharedMem[0x26E4])
#define ewram4000 (gSharedMem + 0x4000)
#define gUnknown_02007000 (*(ewramStruct_02007000 *)(gSharedMem + 0x7000))
#define ARRAY_2007800 ((struct EasyChatPair *)(gSharedMem + 0x7800))
@@ -244,6 +241,7 @@ extern u8 gSharedMem[];
#define ewram1C000 (*(struct Unk201C000 *)(gSharedMem + 0x1C000))
#define ewram1c000 (*(struct Unk201C000 *)(gSharedMem + 0x1C000)) // FIXME, names too similar
#define eHallOfFameMons1 (struct HallofFameMons*)(&gSharedMem[0x1C000])
+#define eHOFPCScreenEffect (*(struct PCScreenEffectStruct *)(gSharedMem + 0x1c000))
#define EWRAM_1C800 (*(struct Unk201C800 *)(gSharedMem + 0x1C800))
#define ewram1D000 ((struct Pokemon *)(gSharedMem + 0x1D000))
#define ewram1D000_2 ((u16 *)(gSharedMem + 0x1D000))
diff --git a/include/gba/macro.h b/include/gba/macro.h
index dcad009e1..59b22758e 100644
--- a/include/gba/macro.h
+++ b/include/gba/macro.h
@@ -105,7 +105,7 @@
#define DmaClearLarge(dmaNum, dest, size, block, bit) \
{ \
- const void *_dest = dest; \
+ void *_dest = dest; \
u32 _size = size; \
while (1) \
{ \
diff --git a/include/main.h b/include/main.h
index ff9bb89c7..78403225e 100644
--- a/include/main.h
+++ b/include/main.h
@@ -51,6 +51,8 @@ extern bool8 gLinkVSyncDisabled;
extern const u8 gGameVersion;
extern const u8 gGameLanguage;
+extern u16 gKeyRepeatStartDelay;
+
void AgbMain(void);
void SetMainCallback2(MainCallback callback);
void InitKeys(void);
diff --git a/include/mon_markings.h b/include/mon_markings.h
new file mode 100644
index 000000000..3b4aa333c
--- /dev/null
+++ b/include/mon_markings.h
@@ -0,0 +1,29 @@
+#ifndef POKERUBY_MON_MARKINGS_H
+#define POKERUBY_MON_MARKINGS_H
+
+struct PokemonMarkMenu
+{
+ /*0x0000*/ u16 baseTileTag;
+ /*0x0002*/ u16 basePaletteTag;
+ /*0x0004*/ u8 markings; // bit flags
+ /*0x0005*/ s8 cursorPos;
+ /*0x0006*/ bool8 markingsArray[4];
+ /*0x000A*/ u8 cursorBaseY;
+ /*0x000B*/ bool8 spriteSheetLoadRequired;
+ /*0x000C*/ struct Sprite *menuWindowSprites[2]; // upper and lower halves of menu window
+ /*0x0014*/ struct Sprite *menuMarkingSprites[4];
+ /*0x0024*/ struct Sprite *menuTextSprite;
+ /*0x0028*/ const u8 *frameTiles;
+ /*0x002C*/ const u16 *framePalette;
+ /*0x0030*/ u8 menuWindowSpriteTiles[0x1000];
+ /*0x1030*/ u8 filler1030[0x80];
+ /*0x10B0*/ u8 tileLoadState;
+}; // 10b4
+
+void sub_80F727C(struct PokemonMarkMenu *ptr);
+void sub_80F7404(void);
+void sub_80F7418(u8 markings, s16 x, s16 y);
+void sub_80F7470(void);
+bool8 sub_80F7500(void);
+
+#endif //POKERUBY_MON_MARKINGS_H
diff --git a/include/pc_screen_effect.h b/include/pc_screen_effect.h
new file mode 100644
index 000000000..36661bc3b
--- /dev/null
+++ b/include/pc_screen_effect.h
@@ -0,0 +1,21 @@
+#ifndef POKERUBY_PC_SCREEN_EFFECT_H
+#define POKERUBY_PC_SCREEN_EFFECT_H
+
+struct PCScreenEffectStruct
+{
+ /*0x00*/ u16 tileTag;
+ /*0x02*/ u16 paletteTag;
+ /*0x04*/ u16 unk04;
+ /*0x06*/ u16 unk06;
+ /*0x08*/ u16 unk08;
+ /*0x0A*/ u16 unk0A;
+ /*0x0C*/ s16 unk0C;
+ /*0x10*/ u32 selectedPalettes;
+};
+
+void sub_80C5CD4(struct PCScreenEffectStruct *unkStruct);
+bool8 sub_80C5DCC(void);
+void sub_80C5E38(struct PCScreenEffectStruct *unkStruct);
+bool8 sub_80C5F98(void);
+
+#endif //POKERUBY_PC_SCREEN_EFFECT_H
diff --git a/include/pokemon.h b/include/pokemon.h
index 71b35e65c..fd1709320 100644
--- a/include/pokemon.h
+++ b/include/pokemon.h
@@ -428,10 +428,10 @@ struct BattleMove
struct PokemonStorage
{
- /*0x00*/ u8 currentBox;
- /*0x01*/ struct BoxPokemon boxes[14][30];
- u8 boxNames[14][9];
- u8 unkArray[14];
+ /*0x0000*/ u8 currentBox;
+ /*0x0004*/ struct BoxPokemon boxes[14][30];
+ /*0x8344*/ u8 boxNames[14][9];
+ /*0x83c2*/ u8 wallpaper[14];
};
struct SpindaSpot
diff --git a/include/sprite.h b/include/sprite.h
index b72c09989..3ad418356 100644
--- a/include/sprite.h
+++ b/include/sprite.h
@@ -235,6 +235,7 @@ extern const union AffineAnimCmd *const gDummySpriteAffineAnimTable[];
extern s16 gSpriteCoordOffsetX;
extern s16 gSpriteCoordOffsetY;
extern u8 gReservedSpritePaletteCount;
+extern u16 gReservedSpriteTileCount;
extern u8 gOamLimit;
diff --git a/ld_script.txt b/ld_script.txt
index 11a430764..898c5ae88 100644
--- a/ld_script.txt
+++ b/ld_script.txt
@@ -127,8 +127,9 @@ SECTIONS {
src/engine/save_menu_util.o(.text);
src/battle/battle_party_menu.o(.text);
asm/unk_text_8095904.o(.text);
- asm/pokemon_storage_system.o(.text);
src/pokemon/pokemon_storage_system.o(.text);
+ asm/pokemon_storage_system.o(.text);
+ src/pokemon/pokemon_storage_system.o(.text.8098898);
asm/pokemon_storage_system.o(.text_8098A38);
src/pokemon/pokemon_icon.o(.text);
src/pokemon/pokemon_summary_screen.o(.text);
@@ -509,6 +510,7 @@ SECTIONS {
src/pokemon/pokedex.o(.rodata);
src/engine/trainer_card.o(.rodata);
src/battle/battle_party_menu.o(.rodata);
+ src/pokemon/pokemon_storage_system.o(.rodata);
data/pokemon_storage_system.o(.rodata);
src/pokemon/pokemon_icon.o(.rodata);
src/pokemon/pokemon_summary_screen.o(.rodata);
diff --git a/src/engine/naming_screen.c b/src/engine/naming_screen.c
index 440504d5a..6f34fd678 100644
--- a/src/engine/naming_screen.c
+++ b/src/engine/naming_screen.c
@@ -26,8 +26,6 @@
#define COLUMN_COUNT 10
#endif
-extern u16 gKeyRepeatStartDelay;
-
extern u8 CreateMonIcon(u16 species, void (*callback)(struct Sprite *), s16 x, s16 y, u8 subpriority, u32 personality);
const u8 gSpriteImage_83CE094[] = INCBIN_U8("graphics/naming_screen/pc_icon/0.4bpp");
diff --git a/src/field/choose_party.c b/src/field/choose_party.c
index d278eda4a..52763b911 100644
--- a/src/field/choose_party.c
+++ b/src/field/choose_party.c
@@ -1,5 +1,5 @@
#include "global.h"
-#include "decoration.h"
+#include "event_data.h"
#include "field_fadetransition.h"
#include "main.h"
#include "menu.h"
@@ -7,6 +7,7 @@
#include "palette.h"
#include "party_menu.h"
#include "pokemon_menu.h"
+#include "field_weather.h"
#include "pokemon.h"
#include "pokemon_summary_screen.h"
#include "overworld.h"
diff --git a/src/field/field_effect.c b/src/field/field_effect.c
index 1e2aaa4ed..1fe238901 100644
--- a/src/field/field_effect.c
+++ b/src/field/field_effect.c
@@ -25,6 +25,7 @@
#include "field_map_obj.h"
#include "util.h"
#include "field_effect_helpers.h"
+#include "pokemon_storage_system.h"
#define subsprite_table(ptr) {.subsprites = ptr, .subspriteCount = (sizeof ptr) / (sizeof(struct Subsprite))}
diff --git a/src/field/pc_screen_effect.c b/src/field/pc_screen_effect.c
index 364fca0aa..dda569ea4 100644
--- a/src/field/pc_screen_effect.c
+++ b/src/field/pc_screen_effect.c
@@ -2,18 +2,7 @@
#include "main.h"
#include "palette.h"
#include "sprite.h"
-
-struct UnkStruct
-{
- /*0x00*/ u16 tileTag;
- /*0x02*/ u16 paletteTag;
- /*0x04*/ u16 unk04;
- /*0x06*/ u16 unk06;
- /*0x08*/ u16 unk08;
- /*0x0A*/ u16 unk0A;
- /*0x0C*/ s16 unk0C;
- /*0x10*/ u32 selectedPalettes;
-};
+#include "pc_screen_effect.h"
void sub_80C603C(void);
void sub_80C6078(void);
@@ -30,7 +19,7 @@ extern const u16 gUnknownPal_083D18EC[16];
extern const u8 gUnknownGfx_083D190C[128];
-extern struct UnkStruct *gUnknown_020387EC;
+extern struct PCScreenEffectStruct *gUnknown_020387EC;
const struct SpriteSheet gUnknown_083D1898 = { gUnknownGfx_083D190C, sizeof(gUnknownGfx_083D190C), 0 };
@@ -58,7 +47,7 @@ const struct SpriteTemplate gSpriteTemplate_83D18C0 =
sub_80C6130,
};
-void sub_80C5CD4(struct UnkStruct *unkStruct)
+void sub_80C5CD4(struct PCScreenEffectStruct *unkStruct)
{
u16 i;
diff --git a/src/field/use_pokeblock.c b/src/field/use_pokeblock.c
index 7253ac901..354193c14 100644
--- a/src/field/use_pokeblock.c
+++ b/src/field/use_pokeblock.c
@@ -104,7 +104,6 @@ static EWRAM_DATA struct Pokeblock *gUnknown_0203930C = NULL;
EWRAM_DATA u8 gPokeblockMonID = 0;
EWRAM_DATA s16 gPokeblockGain = 0;
-extern u16 gKeyRepeatStartDelay;
extern u16 gSpecialVar_ItemId; // FIXME: remove after merge of #349 Pokeblock
static void launch_c3_walk_stairs_and_run_once(void (*const)(void));
diff --git a/src/pokemon/mon_markings.c b/src/pokemon/mon_markings.c
index b4144ea34..d27719c4a 100644
--- a/src/pokemon/mon_markings.c
+++ b/src/pokemon/mon_markings.c
@@ -5,6 +5,7 @@
#include "constants/songs.h"
#include "sound.h"
#include "sprite.h"
+#include "mon_markings.h"
#ifdef GERMAN
#define MENU_TEXT_SPRITE_X_OFFSET 24
@@ -12,25 +13,6 @@
#define MENU_TEXT_SPRITE_X_OFFSET 32
#endif
-struct PokemonMarkMenu
-{
- /*0x0000*/ u16 baseTileTag;
- /*0x0002*/ u16 basePaletteTag;
- /*0x0004*/ u8 markings; // bit flags
- /*0x0005*/ s8 cursorPos;
- /*0x0006*/ bool8 markingsArray[4];
- /*0x000A*/ u8 cursorBaseY;
- /*0x000B*/ bool8 spriteSheetLoadRequired;
- /*0x000C*/ struct Sprite *menuWindowSprites[2]; // upper and lower halves of menu window
- /*0x0014*/ struct Sprite *menuMarkingSprites[4];
- /*0x0024*/ struct Sprite *menuTextSprite;
- /*0x0028*/ const u8 *frameTiles;
- /*0x002C*/ const u16 *framePalette;
- /*0x0030*/ u8 menuWindowSpriteTiles[0x1000];
- /*0x1030*/ u8 filler1030[0x80];
- /*0x10B0*/ u8 tileLoadState;
-};
-
extern u8 gPokenavConditionMenuMisc_Gfx[];
extern u16 gUnknown_08E966B8[];
diff --git a/src/pokemon/pokemon_storage_system.c b/src/pokemon/pokemon_storage_system.c
index 4a68b846a..daae82df6 100644
--- a/src/pokemon/pokemon_storage_system.c
+++ b/src/pokemon/pokemon_storage_system.c
@@ -1,93 +1,2155 @@
#include "global.h"
-#include "pokemon_storage_system.h"
+#include "palette.h"
+#include "constants/songs.h"
+#include "sound.h"
+#include "field_weather.h"
+#include "mon_markings.h"
+#include "overworld.h"
+#include "mail_data.h"
+#include "field_fadetransition.h"
#include "menu.h"
+#include "main.h"
+#include "strings.h"
#include "string_util.h"
+#include "event_data.h"
#include "ewram.h"
+#include "script.h"
+#include "pokemon_summary_screen.h"
+#include "pc_screen_effect.h"
+#include "naming_screen.h"
+#include "pokemon_storage_system.h"
+
+enum {
+ PC_TEXT_EXIT_BOX,
+ PC_TEXT_WHAT_YOU_DO,
+ PC_TEXT_PICK_A_THEME,
+ PC_TEXT_PICK_A_WALLPAPER,
+ PC_TEXT_IS_SELECTED,
+ PC_TEXT_JUMP_TO_WHICH_BOX,
+ PC_TEXT_DEPOSIT_IN_WHICH_BOX,
+ PC_TEXT_WAS_DEPOSITED,
+ PC_TEXT_BOX_IS_FULL,
+ PC_TEXT_RELEASE_POKE,
+ PC_TEXT_WAS_RELEASED,
+ PC_TEXT_BYE_BYE,
+ PC_TEXT_MARK_POKE,
+ PC_TEXT_LAST_POKE,
+ PC_TEXT_PARTY_FULL,
+ PC_TEXT_HOLDING_POKE,
+ PC_TEXT_WHICH_ONE_WILL_TAKE,
+ PC_TEXT_CANT_RELEASE_EGG,
+ PC_TEXT_CONTINUE_BOX,
+ PC_TEXT_CAME_BACK,
+ PC_TEXT_WORRIED,
+ PC_TEXT_SURPRISE,
+ PC_TEXT_PLEASE_REMOVE_MAIL
+};
+
+enum {
+ PC_TEXT_FMT_NORMAL,
+ PC_TEXT_FMT_MON_NAME,
+ PC_TEXT_FMT_UNK_02,
+ PC_TEXT_FMT_UNK_03,
+ PC_TEXT_FMT_MON_NAME_2,
+ PC_TEXT_FMT_UNK_05,
+ PC_TEXT_FMT_MON_NAME_AFTER_EXCL_MARK
+};
struct StorageAction {
u8 *text;
u8 format;
};
-extern const struct StorageAction gUnknown_083B6DF4[];
+struct PSS_MenuStringPtrs {
+ const u8 *text;
+ const u8 *desc;
+};
+
+struct UnkStruct_2000020 {
+ struct UnkStruct_2000020 *unk_00;
+ u8 unk_04;
+ u8 unk_05;
+};
+
+struct UnkPSSStruct_2002370 {
+ struct Sprite *unk_0000;
+ struct Sprite *unk_0004[4];
+ u32 unk_0014[3];
+ struct Sprite *unk_0020[2];
+ u8 filler_0028[0x214];
+ u8 curBox;
+ u8 unk_023d;
+ u8 unk_023e;
+ u16 unk_0240;
+ u16 unk_0242;
+}; // 0244
+
+struct PokemonStorageSystemData {
+ void (*unk_0000)(void);
+ u8 unk_0004;
+ u8 unk_0005;
+ u8 unk_0006;
+ u16 unk_0008;
+ u16 unk_000a;
+ struct PCScreenEffectStruct unk_000c;
+ struct UnkStruct_2000020 unk_0020[274]; // refine size later
+ u8 filler_08b0[2];
+ s16 unk_08b2;
+ u16 unk_08b4;
+ u8 filler_08b6[0x4a8];
+ s16 unk_0d5e;
+ s16 unk_0d60;
+ u8 filler_0d62[0x490];
+ u16 unk_11f2;
+ u8 filler_11f4[2];
+ u8 unk_11f6;
+ u8 unk_11f7;
+ u8 unk_11f8;
+ u8 unk_11f9;
+ u8 unk_11fa[0xc2];
+ struct PokemonMarkMenu unk_12bc;
+ struct UnkPSSStruct_2002370 unk_2370;
+ u8 filler_25b4[0xd8];
+ u8 unk_268c;
+ u8 unk_268d;
+ u8 unk_268e;
+ struct Pokemon *unk_2690;
+ u8 unk_2694[18];
+ u8 unk_26a6[62];
+ u8 unk_26e4[80];
+};
+
+void StorageSystemCreatePrimaryMenu(u8 whichMenu);
+void sub_80963D0(u8 curBox);
+void sub_809658C(void);
+void sub_80965F8(void);
+void sub_809662C(void);
+void sub_809665C(void);
+void sub_80966F4(const u8 *sourceString, u16 x, u16 y);
+void sub_8096784(struct Sprite *sprite);
+void task_intro_29(u8 whichMenu);
+void sub_8096884(void);
+void sub_8096AFC(void);
+void sub_8096B38(void);
+void SetPSSCallback(void (*func)(void));
+void sub_8096BF0(void);
+void sub_8096C68(void);
+void sub_8096C84(void);
+void sub_8096FC8(void);
+void sub_8097004(void);
+void sub_8097078(void);
+void sub_80972A8(void);
+void sub_80972FC(void);
+void c3_0808DC50(void);
+void sub_8097390(void);
+void sub_809746C(void);
+void sub_8097594(void);
+void sub_8097788(void);
+void sub_80977E4(void);
+void sub_8097858(void);
+void sub_809789C(void);
+void sub_8097974(void);
+void sub_8097A64(void);
+void sub_8097B44(void);
+void sub_8097BA0(void);
+void sub_8097CC0(void);
+void sub_8097DE0(void);
+void sub_8097E44(void);
+void sub_8097E70(void);
+void BoxSetMosaic(void);
+void sub_809801C(void);
+void sub_8098400(void);
+void add_to_c3_somehow(void);
+bool8 sub_80985CC(void);
+void sub_80986E8(void);
+void sub_8098710(void);
+void sub_8098734(void);
+void sub_80987DC(void);
+void sub_809880C(void);
+bool8 sub_8098830(void);
+void PrintStorageActionText(u8 index);
+void sub_8098A38(u8);
+void sub_8098A5C(void);
+void sub_8098A80(void);
+void sub_8098AA8(u8 a0);
+void sub_8098B48(void);
+void sub_8099310(void);
+bool8 sub_8099374(void);
+void sub_8099958(void);
+bool8 sub_8099990(void);
+void sub_809BB90(void);
+void sub_8099BF8(u8 a0);
+void sub_8099C70(u8 whichBox);
+bool8 sub_8099D34(void);
+void sub_8099DCC(u8 a0);
+bool8 sub_8099E08(void);
+void sub_809A860(u8 a0);
+struct Sprite *sub_809A9A0(u16 a0, u16 a1, u8 a2, u8 a3, u8 a4);
+void sub_809AA24(void);
+void sub_809AA98(void);
+bool8 sub_809AC00(void);
+void sub_809B0C0(u8 a0);
+void sub_809B0D4(void);
+void sub_809B0E0(void);
+u8 sub_809B0F4(void);
+void sub_809B100(u8 a0);
+bool8 sub_809B130(void);
+void sub_809B440(void);
+bool8 sub_809B62C(u8);
+void sub_809B6BC(void);
+void sub_809B6DC(void);
+bool8 sub_809B734(void);
+void sub_809B760(void);
+void sub_809B7AC(void);
+void sub_809B7D4(void);
+s8 sub_809B960(void);
+void sub_809BBC0(void);
+void sub_809BC18(void);
+void sub_809BD14(void);
+void sub_809BDD8(u8 markings);
+bool8 sub_809BE80(void);
+bool8 sub_809BEBC(void);
+bool8 sub_809BF20(void);
+bool8 sub_809BF48(void);
+u8 sub_809CA40(void);
+void sub_809CE84(void);
+s16 sub_809CF30(void);
+void sub_809CFDC(struct UnkStruct_2000020 *a0, struct UnkStruct_2000020 *a1, u8 a2);
+void sub_809CFF0(void);
+
+const struct PSS_MenuStringPtrs gUnknown_083B600C[] = {
+ {PCText_WithdrawPoke, PCText_MovePokeToParty},
+ {PCText_DepositPoke, PCText_StorePokeInBox},
+ {PCText_MovePoke, PCText_OrganizeBoxesParty},
+ {PCText_SeeYa, PCText_ReturnToPrevMenu}
+};
+
+const union AnimCmd gSpriteAnim_83B602C[] = {
+ ANIMCMD_FRAME( 0, 5),
+ ANIMCMD_END
+};
+
+const union AnimCmd gSpriteAnim_83B6034[] = {
+ ANIMCMD_FRAME( 4, 5),
+ ANIMCMD_END
+};
+
+const union AnimCmd gSpriteAnim_83B603C[] = {
+ ANIMCMD_FRAME( 6, 5),
+ ANIMCMD_END
+};
+
+const union AnimCmd gSpriteAnim_83B6044[] = {
+ ANIMCMD_FRAME(10, 5),
+ ANIMCMD_END
+};
+
+const union AnimCmd *const gSpriteAnimTable_83B604C[] = {
+ gSpriteAnim_83B602C,
+ gSpriteAnim_83B6034,
+ gSpriteAnim_83B603C,
+ gSpriteAnim_83B6044
+};
+
+const union AffineAnimCmd gSpriteAffineAnim_83B605C[] = {
+ AFFINEANIMCMD_FRAME(0xe0, 0xe0, 0, 0),
+ AFFINEANIMCMD_END
+};
+
+const union AffineAnimCmd *const gSpriteAffineAnimTable_83B606C[] = {
+ gSpriteAffineAnim_83B605C
+};
+
+const u16 gBoxSelectionPopupPalette[] = INCBIN_U16("graphics/pokemon_storage/box_selection_popup.gbapal");
+
+const u8 gBoxSelectionPopupCenterTiles[] = INCBIN_U8("graphics/pokemon_storage/box_selection_popup_center.4bpp");
+
+const u8 gBoxSelectionPopupSidesTiles[] = INCBIN_U8("graphics/pokemon_storage/box_selection_popup_sides.4bpp");
+
+extern const struct StorageAction gPCStorageActionTexts[];
+extern const struct PokemonStorageSystemData *gPokemonStorageSystemPtr;
+extern u8 *const gUnknown_083B6DB8;
EWRAM_DATA struct PokemonStorage gPokemonStorage = {0};
+EWRAM_DATA u8 gUnknown_02038470[3] = {};
+EWRAM_DATA u8 gUnknown_02038473 = 0;
+EWRAM_DATA u8 gUnknown_02038474 = 0;
+EWRAM_DATA struct UnkPSSStruct_2002370 *gUnknown_02038478 = NULL;
+EWRAM_DATA u8 gUnknown_0203847C = 0;
+EWRAM_DATA u8 gUnknown_0203847D = 0;
+EWRAM_DATA u8 gUnknown_0203847E = 0;
+EWRAM_DATA u8 gUnknown_0203847F = 0;
+EWRAM_DATA struct Pokemon gUnknown_02038480 = {};
+EWRAM_DATA u8 gUnknown_020384E4 = 0;
+EWRAM_DATA u8 gUnknown_020384E5 = 0;
+EWRAM_DATA u8 gUnknown_020384E6 = 0;
+EWRAM_DATA u8 gUnknown_020384E7 = 0;
+EWRAM_DATA u8 gUnknown_020384E8 = 0;
+EWRAM_DATA u8 gUnknown_020384E9 = 0;
+EWRAM_DATA u16 gUnknown_020384EA = 0;
+EWRAM_DATA u32 gUnknown_020384EC = 0;
+
+static u8 CountPokemonInBoxN(u8 boxId)
+{
+ u16 i;
+ u16 count;
+
+ for (i = 0, count = 0; i < 30; i++)
+ {
+ if (GetBoxMonData(gPokemonStorage.boxes[boxId] + i, MON_DATA_SPECIES) != 0)
+ count++;
+ }
+ return count;
+}
+
+s16 GetIndexOfFirstEmptySpaceInBoxN(u8 boxId)
+{
+ u16 i;
+
+ for (i = 0; i < 30; i++)
+ {
+ if (GetBoxMonData(gPokemonStorage.boxes[boxId] + i, MON_DATA_SPECIES) == 0)
+ return i;
+ }
+ return -1;
+}
+
+u8 GetNumValidDaycarePartyMons(void)
+{
+ u16 i;
+ u16 count;
+
+ for (i = 0, count = 0; i < PARTY_SIZE; i++)
+ {
+ struct Pokemon *pokemon = gPlayerParty + i;
+ if (GetMonData(pokemon, MON_DATA_SPECIES) != 0 && !GetMonData(pokemon, MON_DATA_IS_EGG))
+ count++;
+ }
+ return count;
+}
+
+u8 CountAlivePartyMonsExceptOne(u8 toSkip)
+{
+ u16 i;
+ u16 count;
+
+ for (i = 0, count = 0; i < PARTY_SIZE; i++)
+ {
+ if (i != toSkip)
+ {
+ struct Pokemon *pokemon = gPlayerParty + i;
+ if (GetMonData(pokemon, MON_DATA_SPECIES) != 0 && !GetMonData(pokemon, MON_DATA_IS_EGG) && GetMonData(pokemon, MON_DATA_HP) != 0)
+ count++;
+ }
+ }
+ return count;
+}
+
+u8 CountAlivePartyMonsExceptSelectedOne(void)
+{
+ return CountAlivePartyMonsExceptOne(gSpecialVar_0x8004);
+}
+
+u8 StorageSystemGetPartySize(void)
+{
+ u16 i;
+ u16 count;
+
+ for (i = 0, count = 0; i < PARTY_SIZE; i++)
+ {
+ if (GetMonData(gPlayerParty + i, MON_DATA_SPECIES) != 0)
+ count++;
+ }
+ return count;
+}
+
+u8 *unref_sub_8095C60(u8 *dest, const u8 *src, u16 pad)
+{
+ u8 *_dest = StringCopy(dest, src);
+ while (_dest < dest + pad)
+ {
+ *_dest++ = CHAR_SPACE;
+ }
+ *_dest = EOS;
+ return _dest;
+}
+
+void sub_8095C8C(u16 *dest, u16 dest_left, u16 dest_top, const u16 *src, u16 src_left, u16 src_top, u16 dest_width, u16 dest_height, u16 src_width)
+{
+ u16 i;
+
+ dest_width *= 2;
+ dest += dest_top * 0x20 + dest_left;
+ src += src_top * src_width + src_left;
+ for (i = 0; i < dest_height; i++)
+ {
+ CpuCopy16(src, dest, dest_width);
+ dest += 0x20;
+ src += src_width;
+ }
+}
+
+#ifdef NONMATCHING
+void unref_sub_8095D08(u16 *dest, u16 dest_left, u16 dest_top, u16 width, u16 height)
+{
+ u16 i;
+
+ dest += dest_top * 0x20 + dest_left;
+ width *= 2;
+ for (i = 0; i < height; dest += 0x20, i++)
+ {
+ void *_dest = dest;
+ size_t _size = width;
+ if (_size <= 0x1000)
+ {
+ DmaFill16(3, 0, _dest, _size);
+ }
+ else
+ {
+ while (1)
+ {
+ DmaFill16(3, 0, _dest, 0x1000);
+ _dest += 0x1000;
+ _size -= 0x1000;
+ if (_size <= 0x1000)
+ {
+ DmaFill16(3, 0, _dest, _size);
+ break;
+ }
+ }
+ }
+ }
+}
+#else
+__attribute__((naked)) void unref_sub_8095D08(u16 *dest, u16 dest_left, u16 dest_top, u16 width, u16 height)
+{
+ asm_unified("\tpush {r4-r7,lr}\n"
+ "\tmov r7, r10\n"
+ "\tmov r6, r9\n"
+ "\tmov r5, r8\n"
+ "\tpush {r5-r7}\n"
+ "\tsub sp, 0x8\n"
+ "\tadds r4, r0, 0\n"
+ "\tldr r0, [sp, 0x28]\n"
+ "\tlsls r1, 16\n"
+ "\tlsrs r1, 16\n"
+ "\tlsls r2, 16\n"
+ "\tlsls r0, 16\n"
+ "\tlsrs r0, 16\n"
+ "\tmov r10, r0\n"
+ "\tlsrs r2, 11\n"
+ "\tadds r2, r1\n"
+ "\tlsls r2, 1\n"
+ "\tadds r4, r2\n"
+ "\tlsls r3, 17\n"
+ "\tlsrs r0, r3, 16\n"
+ "\tstr r0, [sp, 0x4]\n"
+ "\tmovs r0, 0\n"
+ "\tcmp r0, r10\n"
+ "\tbcs _08095DB2\n"
+ "\tmovs r6, 0x80\n"
+ "\tlsls r6, 5\n"
+ "\tmov r5, sp\n"
+ "\tldr r7, _08095D74 @ =0x040000d4\n"
+ "\tlsrs r3, 17\n"
+ "\tmov r9, r3\n"
+ "\tmov r1, r9\n"
+ "\tmovs r2, 0x81\n"
+ "\tlsls r2, 24\n"
+ "\torrs r1, r2\n"
+ "\tmov r9, r1\n"
+ "_08095D4E:\n"
+ "\tadds r3, r4, 0\n"
+ "\tldr r2, [sp, 0x4]\n"
+ "\tmovs r1, 0x40\n"
+ "\tadds r1, r4\n"
+ "\tmov r8, r1\n"
+ "\tadds r0, 0x1\n"
+ "\tmov r12, r0\n"
+ "\tcmp r2, r6\n"
+ "\tbhi _08095D78\n"
+ "\tmovs r0, 0\n"
+ "\tstrh r0, [r5]\n"
+ "\tmov r2, sp\n"
+ "\tstr r2, [r7]\n"
+ "\tstr r4, [r7, 0x4]\n"
+ "\tmov r0, r9\n"
+ "\tstr r0, [r7, 0x8]\n"
+ "\tldr r0, [r7, 0x8]\n"
+ "\tb _08095DA6\n"
+ "\t.align 2, 0\n"
+ "_08095D74: .4byte 0x040000d4\n"
+ "_08095D78:\n"
+ "\tmovs r4, 0\n"
+ "\tstrh r4, [r5]\n"
+ "\tldr r1, _08095DC4 @ =0x040000d4\n"
+ "\tmov r0, sp\n"
+ "\tstr r0, [r1]\n"
+ "\tstr r3, [r1, 0x4]\n"
+ "\tldr r0, _08095DC8 @ =0x81000800\n"
+ "\tstr r0, [r1, 0x8]\n"
+ "\tldr r0, [r1, 0x8]\n"
+ "\tadds r3, r6\n"
+ "\tsubs r2, r6\n"
+ "\tcmp r2, r6\n"
+ "\tbhi _08095D78\n"
+ "\tstrh r4, [r5]\n"
+ "\tmov r0, sp\n"
+ "\tstr r0, [r1]\n"
+ "\tstr r3, [r1, 0x4]\n"
+ "\tlsrs r0, r2, 1\n"
+ "\tmovs r2, 0x81\n"
+ "\tlsls r2, 24\n"
+ "\torrs r0, r2\n"
+ "\tstr r0, [r1, 0x8]\n"
+ "\tldr r0, [r1, 0x8]\n"
+ "_08095DA6:\n"
+ "\tmov r4, r8\n"
+ "\tmov r1, r12\n"
+ "\tlsls r0, r1, 16\n"
+ "\tlsrs r0, 16\n"
+ "\tcmp r0, r10\n"
+ "\tbcc _08095D4E\n"
+ "_08095DB2:\n"
+ "\tadd sp, 0x8\n"
+ "\tpop {r3-r5}\n"
+ "\tmov r8, r3\n"
+ "\tmov r9, r4\n"
+ "\tmov r10, r5\n"
+ "\tpop {r4-r7}\n"
+ "\tpop {r0}\n"
+ "\tbx r0\n"
+ "\t.align 2, 0\n"
+ "_08095DC4: .4byte 0x040000d4\n"
+ "_08095DC8: .4byte 0x81000800");
+}
+#endif
+
+s16 StorageSystemGetNextMonIndex(struct BoxPokemon *box, s8 startIdx, u8 stopIdx, u8 mode)
+{
+ s16 i;
+ s16 direction;
+ if (mode == 0 || mode == 2)
+ {
+ direction = 1;
+ }
+ else
+ {
+ direction = -1;
+ }
+ if (mode == 2 || mode == 3)
+ {
+ for (i = startIdx + direction; i >= 0 && i <= stopIdx; i += direction)
+ {
+ if (GetBoxMonData(box + i, MON_DATA_SPECIES) != 0)
+ return i;
+ }
+ }
+ else
+ {
+ for (i = startIdx + direction; i >= 0 && i <= stopIdx; i += direction)
+ {
+ if (GetBoxMonData(box + i, MON_DATA_SPECIES) != 0 && !GetBoxMonData(box + i, MON_DATA_IS_EGG))
+ return i;
+ }
+ }
+ return -1;
+}
+
+void StorageSystemClearMessageWindow(void)
+{
+ MenuFillWindowRectWithBlankTile(2, 15, 27, 18);
+}
+
+void Task_PokemonStorageSystem(u8 taskId)
+{
+ struct Task *task = gTasks + taskId;
+ switch (task->data[0])
+ {
+ case 0:
+ StorageSystemCreatePrimaryMenu(task->data[1]);
+ MenuDisplayMessageBox();
+ MenuPrint(gUnknown_083B600C[task->data[1]].desc, 2, 15);
+ task->data[0]++;
+ break;
+ case 1:
+ if (sub_807D770())
+ {
+ task->data[0]++;
+ }
+ break;
+ case 2:
+ task->data[2] = ProcessMenuInput();
+ switch(task->data[2])
+ {
+ case -2:
+ task->data[3] = task->data[1];
+ if (gMain.newKeys & DPAD_UP && --task->data[3] < 0)
+ task->data[3] = 3;
+
+ if (gMain.newKeys & DPAD_DOWN && ++task->data[3] > 3)
+ task->data[3] = 0;
+ if (task->data[1] != task->data[3])
+ {
+ task->data[1] = task->data[3];
+ StorageSystemClearMessageWindow();
+ MenuPrint(gUnknown_083B600C[task->data[1]].desc, 2, 15);
+ }
+ break;
+ case -1:
+ case 3:
+ HandleDestroyMenuCursors();
+ MenuZeroFillWindowRect(0, 0, 13, 9);
+ ScriptContext2_Disable();
+ EnableBothScriptContexts();
+ DestroyTask(taskId);
+ break;
+ default:
+ if (task->data[2] == 0 && StorageSystemGetPartySize() == PARTY_SIZE)
+ {
+ StorageSystemClearMessageWindow();
+ MenuPrint(gPCText_PartyFull2, 2, 15);
+ task->data[0] = 3;
+ }
+ else if (task->data[2] == 1 && StorageSystemGetPartySize() == 1)
+ {
+ StorageSystemClearMessageWindow();
+ MenuPrint(gPCText_OnlyOne, 2, 15);
+ task->data[0] = 3;
+ }
+ else
+ {
+ fade_screen(1, 0);
+ task->data[0] = 4;
+ }
+ break;
+ }
+ break;
+ case 3:
+ if (gMain.newKeys & (A_BUTTON | B_BUTTON))
+ {
+ StorageSystemClearMessageWindow();
+ MenuPrint(gUnknown_083B600C[task->data[1]].desc, 2, 15);
+ task->data[0] = 2;
+ }
+ else if (gMain.newKeys & DPAD_UP)
+ {
+ if (--task->data[1] < 0)
+ task->data[1] = 3;
+ MoveMenuCursor(-1);
+ task->data[1] = GetMenuCursorPos();
+ StorageSystemClearMessageWindow();
+ MenuPrint(gUnknown_083B600C[task->data[1]].desc, 2, 15);
+ task->data[0] = 2;
+ }
+ else if (gMain.newKeys & DPAD_DOWN)
+ {
+ if (++task->data[1] > 3)
+ task->data[1] = 0;
+ MoveMenuCursor(1);
+ task->data[1] = GetMenuCursorPos();
+ StorageSystemClearMessageWindow();
+ MenuPrint(gUnknown_083B600C[task->data[1]].desc, 2, 15);
+ task->data[0] = 2;
+ }
+ break;
+ case 4:
+ if (!gPaletteFade.active)
+ {
+ task_intro_29(task->data[2]);
+ DestroyTask(taskId);
+ }
+ break;
+ }
+}
+
+void ShowPokemonStorageSystem(void)
+{
+ u8 taskId = CreateTask(Task_PokemonStorageSystem, 80);
+ gTasks[taskId].data[0] = 0;
+ gTasks[taskId].data[1] = 0;
+ ScriptContext2_Enable();
+}
+
+void FieldCB_ReturnToOverworld(void)
+{
+ u8 taskId = CreateTask(Task_PokemonStorageSystem, 80);
+ gTasks[taskId].data[0] = 0;
+ gTasks[taskId].data[1] = gUnknown_02038474;
+ pal_fill_black();
+}
+
+void StorageSystemCreatePrimaryMenu(u8 whichMenu)
+{
+ MenuDrawTextWindow(0, 0, 13, 9);
+ PrintMenuItems(1, 1, 4, (const struct MenuAction *)gUnknown_083B600C);
+ InitMenu(0, 1, 1, 4, whichMenu, 12);
+}
+
+void sub_80961A8(void)
+{
+ gUnknown_02038474 = gPokemonStorageSystemPtr->unk_0005;
+ gFieldCallback = FieldCB_ReturnToOverworld;
+ SetMainCallback2(c2_exit_to_overworld_2_switch);
+}
+
+void ResetPokemonStorageSystem(void)
+{
+ u16 boxId;
+ u16 boxMon;
+
+ gPokemonStorage.currentBox = 0;
+ for (boxId = 0; boxId < 14; boxId++)
+ {
+ for (boxMon = 0; boxMon < 30; boxMon++)
+ {
+ ZeroBoxMonData(gPokemonStorage.boxes[boxId] + boxMon);
+ }
+ }
+ for (boxId = 0; boxId < 14; boxId++)
+ {
+ u8 *dest = StringCopy(gPokemonStorage.boxNames[boxId], gPCText_BOX);
+ ConvertIntToDecimalStringN(dest, boxId + 1, STR_CONV_MODE_LEFT_ALIGN, 2);
+ }
+ for (boxId = 0; boxId < 14; boxId++)
+ {
+ gPokemonStorage.wallpaper[boxId] = boxId & 0x03;
+ }
+}
+
+void sub_8096264(struct UnkPSSStruct_2002370 *a0, u16 tileTag, u16 palTag, u8 a3)
+{
+ struct SpritePalette palette = {
+ gBoxSelectionPopupPalette, palTag
+ };
+ struct SpriteSheet sheets[] = {
+ {gBoxSelectionPopupCenterTiles, 0x800, tileTag},
+ {gBoxSelectionPopupSidesTiles, 0x180, tileTag + 1},
+ {}
+ };
+ LoadSpritePalette(&palette);
+ LoadSpriteSheets(sheets);
+ gUnknown_02038478 = a0;
+ a0->unk_0240 = tileTag;
+ a0->unk_0242 = palTag;
+ a0->unk_023e = a3;
+}
+
+void sub_8096310(void)
+{
+ FreeSpritePaletteByTag(gUnknown_02038478->unk_0242);
+ FreeSpriteTilesByTag(gUnknown_02038478->unk_0240);
+ FreeSpriteTilesByTag(gUnknown_02038478->unk_0240 + 1);
+}
+
+void sub_809634C(u8 curBox)
+{
+ sub_80963D0(curBox);
+}
+
+void sub_809635C(void)
+{
+ sub_809658C();
+}
+
+u8 sub_8096368(void)
+{
+ if (gMain.newKeys & B_BUTTON)
+ {
+ PlaySE(SE_SELECT);
+ return 201;
+ }
+ if (gMain.newKeys & A_BUTTON)
+ {
+ PlaySE(SE_SELECT);
+ return gUnknown_02038478->curBox;
+ }
+ if (gMain.newKeys & DPAD_LEFT)
+ {
+ PlaySE(SE_SELECT);
+ sub_809662C();
+ }
+ else if (gMain.newKeys & DPAD_RIGHT)
+ {
+ PlaySE(SE_SELECT);
+ sub_80965F8();
+ }
+ return 200;
+}
+
+void sub_80963D0(u8 curBox)
+{
+ u16 i;
+ u8 spriteId;
+ struct SpriteTemplate template;
+ struct OamData oamData = {};
+ oamData.size = 3;
+ oamData.paletteNum = 1;
+ template = (struct SpriteTemplate){
+ 0, 0, &oamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+ };
+
+ gUnknown_02038478->curBox = curBox;
+ template.tileTag = gUnknown_02038478->unk_0240;
+ template.paletteTag = gUnknown_02038478->unk_0242;
+
+ spriteId = CreateSprite(&template, 0xA0, 0x60, 0);
+ gUnknown_02038478->unk_0000 = gSprites + spriteId;
+
+ oamData.shape = ST_OAM_V_RECTANGLE;
+ oamData.size = 1;
+ template.tileTag = gUnknown_02038478->unk_0240 + 1;
+ template.anims = gSpriteAnimTable_83B604C;
+ for (i = 0; i < 4; i++)
+ {
+ u16 r5;
+ spriteId = CreateSprite(&template, 0x7c, 0x50, gUnknown_02038478->unk_023e);
+ gUnknown_02038478->unk_0004[i] = gSprites + spriteId;
+ r5 = 0;
+ if (i & 2)
+ {
+ gUnknown_02038478->unk_0004[i]->pos1.x = 0xc4;
+ r5 = 2;
+ }
+ if (i & 1)
+ {
+ gUnknown_02038478->unk_0004[i]->pos1.y = 0x70;
+ gUnknown_02038478->unk_0004[i]->oam.size = 0;
+ r5++;
+ }
+ StartSpriteAnim(gUnknown_02038478->unk_0004[i], r5);
+ }
+ for (i = 0; i < 2; i++)
+ {
+ gUnknown_02038478->unk_0020[i] = sub_809A9A0(72 * i + 0x7c, 0x58, i, 0, gUnknown_02038478->unk_023e);
+ if (gUnknown_02038478->unk_0020[i])
+ {
+ gUnknown_02038478->unk_0020[i]->data[0] = (i == 0 ? -1 : 1);
+ gUnknown_02038478->unk_0020[i]->callback = sub_8096784;
+ }
+ }
+ sub_809665C();
+}
+
+void sub_809658C(void)
+{
+ u16 i;
+ if (gUnknown_02038478->unk_0000)
+ {
+ DestroySprite(gUnknown_02038478->unk_0000);
+ gUnknown_02038478->unk_0000 = NULL;
+ }
+ for (i = 0; i < 4; i++)
+ {
+ if (gUnknown_02038478->unk_0004[i])
+ {
+ DestroySprite(gUnknown_02038478->unk_0004[i]);
+ gUnknown_02038478->unk_0004[i] = NULL;
+ }
+ }
+ for (i = 0; i < 2; i++)
+ {
+ if (gUnknown_02038478->unk_0020[i])
+ DestroySprite(gUnknown_02038478->unk_0020[i]);
+ }
+}
+
+void sub_80965F8(void)
+{
+ if (++gUnknown_02038478->curBox > 13)
+ gUnknown_02038478->curBox = 0;
+ sub_809665C();
+}
+
+void sub_809662C(void)
+{
+ gUnknown_02038478->curBox = (gUnknown_02038478->curBox == 0 ? 13 : gUnknown_02038478->curBox - 1);
+ sub_809665C();
+}
+
+void sub_809665C(void)
+{
+ u8 nPokemonInBox = CountPokemonInBoxN(gUnknown_02038478->curBox);
+ u8 *stringVar = gStringVar1;
+
+ stringVar[0] = EXT_CTRL_CODE_BEGIN;
+ stringVar[1] = 0x04; // EXT_CTRL_CODE_COLOR_HIGHLIGHT_SHADOW
+ stringVar[2] = 0x0F; // TEXT_COLOR_WHITE2
+ stringVar[3] = 0x01; // TEXT_COLOR_DARK_GREY
+ stringVar[4] = 0x0E; // TEXT_COLOR_LIGHT_BLUE
+ stringVar += 5;
+
+ stringVar = StringCopy(stringVar, gPokemonStorage.boxNames[gUnknown_02038478->curBox]);
+
+ stringVar[0] = CHAR_NEWLINE;
+ stringVar[1] = EXT_CTRL_CODE_BEGIN;
+ stringVar[2] = 0x11; // EXT_CTRL_CODE_CLEAR
+ if (nPokemonInBox < 10)
+ stringVar[3] = 0x28;
+ else
+ stringVar[3] = 0x22;
+ stringVar += 4;
+
+ stringVar = ConvertIntToDecimalString(stringVar, nPokemonInBox);
+
+ stringVar[0] = CHAR_SLASH;
+ stringVar[1] = CHAR_0 + 3;
+ stringVar[2] = CHAR_0 + 0;
+ stringVar[3] = EOS;
+ sub_80966F4(gStringVar1, 0, 1);
+}
+
+void sub_80966F4(const u8 *sourceString, u16 x, u16 y)
+{
+ u16 *vdest = (u16 *)(BG_CHAR_ADDR(4) + (GetSpriteTileStartByTag(gUnknown_02038478->unk_0240) * 32) + y * 256 + x * 32);
+ u8 *tileBuff = gUnknown_083B6DB8;
+ DmaFill16(3, 0x1111, tileBuff, 0x400);
+ sub_8004E3C(&gWindowConfig_81E6D38, tileBuff, sourceString);
+ DmaCopy16(3, tileBuff, vdest, 0x400);
+}
+
+void sub_8096784(struct Sprite *sprite)
+{
+ if (++sprite->data[1] > 3)
+ {
+ sprite->data[1] = 0;
+ sprite->pos2.x += sprite->data[0];
+ if (++sprite->data[2] > 5)
+ {
+ sprite->data[2] = 0;
+ sprite->pos2.x = 0;
+ }
+ }
+}
+
+void task_intro_29(u8 whichMenu)
+{
+ gUnknown_0203847D = whichMenu;
+ ePokemonStorageSystem.unk_0005 = whichMenu;
+ SetMainCallback2(sub_8096884);
+}
+
+void sub_80967DC(void)
+{
+ REG_BG0HOFS = 0;
+ REG_BG0VOFS = 0;
+ REG_BG1HOFS = 0;
+ REG_BG1VOFS = 0;
+ REG_BG2VOFS = 0;
+ REG_BG2HOFS = 0;
+ REG_BG3HOFS = 0;
+ REG_BG3VOFS = 0;
+}
+
+void sub_8096804(void)
+{
+ ResetPaletteFade();
+ ResetSpriteData();
+ FreeSpriteTileRanges();
+ FreeAllSpritePalettes();
+ ResetTasks();
+ gReservedSpriteTileCount = 0x280;
+ sub_809CFDC(ePokemonStorageSystem.unk_0020, ePokemonStorageSystem.unk_0020 + 1, 8);
+ gKeyRepeatStartDelay = 20;
+}
+
+void sub_8096848(void)
+{
+ sub_809B0D4();
+ gUnknown_0203847C = (ePokemonStorageSystem.unk_0005 == 1 ? 1 : 0);
+ gUnknown_0203847E = 0;
+}
+
+void sub_8096874(void)
+{
+ REG_DISPCNT = DISPCNT_OBJ_1D_MAP | DISPCNT_BG_ALL_ON | DISPCNT_OBJ_ON;
+}
+
+void sub_8096884(void)
+{
+ switch (gMain.state)
+ {
+ case 0:
+ SetVBlankCallback(NULL);
+ REG_DISPCNT = 0;
+ sub_8096804();
+ gMain.state++;
+ break;
+ case 1:
+ SetUpWindowConfig(&gWindowConfig_81E6D00);
+ gMain.state++;
+ break;
+ case 2:
+ InitMenuWindow(&gWindowConfig_81E6D00);
+ MenuZeroFillScreen();
+ gMain.state++;
+ break;
+ case 3:
+ sub_80967DC();
+ sub_8096848();
+ gMain.state++;
+ break;
+ case 4:
+ sub_8098B48();
+ sub_809AA24();
+ gMain.state++;
+ break;
+ case 5:
+ sub_8097DE0();
+ gMain.state++;
+ break;
+ case 6:
+ sub_8097E70();
+ gMain.state++;
+ break;
+ case 7:
+ sub_8098400();
+ gMain.state++;
+ break;
+ case 8:
+ sub_8099BF8(gPokemonStorage.currentBox);
+ ePokemonStorageSystem.unk_12bc.baseTileTag = 0x000a;
+ ePokemonStorageSystem.unk_12bc.basePaletteTag = 0xdacb;
+ sub_80F727C(&ePokemonStorageSystem.unk_12bc);
+ sub_80F7404();
+ gMain.state++;
+ break;
+ case 9:
+ sub_8096874();
+ SetPSSCallback(sub_8096BF0);
+ SetMainCallback2(sub_8096B38);
+ SetVBlankCallback(sub_8096AFC);
+ gMain.state++;
+ break;
+ }
+}
+
+void sub_80969A0(void)
+{
+ switch (gMain.state)
+ {
+ case 0:
+ SetVBlankCallback(NULL);
+ REG_DISPCNT = 0x0000;
+ ePokemonStorageSystem.unk_0005 = gUnknown_0203847D;
+ sub_8096804();
+ if (gUnknown_0203847F == 1)
+ sub_809BBC0();
+ if (gUnknown_0203847F == 0)
+ sub_809BD14();
+ gMain.state++;
+ break;
+ case 1:
+ SetUpWindowConfig(&gWindowConfig_81E6D00);
+ gMain.state++;
+ break;
+ case 2:
+ InitMenuWindow(&gWindowConfig_81E6D00);
+ MenuZeroFillScreen();
+ gMain.state++;
+ break;
+ case 3:
+ sub_80967DC();
+ gMain.state++;
+ break;
+ case 4:
+ sub_8098B48();
+ sub_809AA98();
+ gMain.state++;
+ break;
+ case 5:
+ sub_8097DE0();
+ gMain.state++;
+ break;
+ case 6:
+ sub_8097E70();
+ gMain.state++;
+ break;
+ case 7:
+ sub_8098400();
+ gMain.state++;
+ break;
+ case 8:
+ sub_8099BF8(gPokemonStorage.currentBox);
+ ePokemonStorageSystem.unk_12bc.baseTileTag = 0x000a;
+ ePokemonStorageSystem.unk_12bc.basePaletteTag = 0xdacb;
+ sub_80F727C(&ePokemonStorageSystem.unk_12bc);
+ sub_80F7404();
+ gMain.state++;
+ break;
+ case 9:
+ BeginNormalPaletteFade(0xffffffff, 0, 16, 0, 0);
+ SetVBlankCallback(sub_8096AFC);
+ gMain.state++;
+ break;
+ case 10:
+ sub_8096874();
+ SetPSSCallback(sub_8096C68);
+ SetMainCallback2(sub_8096B38);
+ gMain.state++;
+ break;
+ }
+}
+
+void sub_8096AFC(void)
+{
+ REG_BG2HOFS = ePokemonStorageSystem.unk_08b4;
+ REG_BG3HOFS = ePokemonStorageSystem.unk_000a;
+ REG_BG3VOFS = ePokemonStorageSystem.unk_0008;
+ LoadOam();
+ ProcessSpriteCopyRequests();
+ sub_809CFF0();
+ TransferPlttBuffer();
+}
+
+void sub_8096B38(void)
+{
+ ePokemonStorageSystem.unk_0000();
+ sub_8097E44();
+ sub_8098734();
+ AnimateSprites();
+ BuildOamBuffer();
+}
+
+void sub_8096B5C(void)
+{
+ switch (ePokemonStorageSystem.unk_0006)
+ {
+ case 0:
+ ShowPokemonSummaryScreen(ePokemonStorageSystem.unk_2690, ePokemonStorageSystem.unk_268d, ePokemonStorageSystem.unk_268c, sub_80969A0, ePokemonStorageSystem.unk_268e);
+ break;
+ case 1:
+ DoNamingScreen(1, gPokemonStorage.boxNames[gPokemonStorage.currentBox], 0, 0, 0, sub_80969A0);
+ break;
+ }
+}
+
+void SetPSSCallback(void (*func)(void))
+{
+ ePokemonStorageSystem.unk_0000 = func;
+ ePokemonStorageSystem.unk_0004 = 0;
+}
+
+void sub_8096BF0(void)
+{
+ switch (ePokemonStorageSystem.unk_0004)
+ {
+ case 0:
+ BlendPalettes(0xffffffff, 16, 0);
+ ePokemonStorageSystem.unk_0004++;
+ break;
+ case 1:
+ PlaySE(SE_PC_LOGON);
+ ePokemonStorageSystem.unk_000c.tileTag = 14;
+ ePokemonStorageSystem.unk_000c.paletteTag = 0xdad0;
+ ePokemonStorageSystem.unk_000c.unk04 = 0;
+ ePokemonStorageSystem.unk_000c.unk06 = 0;
+ sub_80C5CD4(&ePokemonStorageSystem.unk_000c);
+ BlendPalettes(0xffffffff, 0, 0);
+ ePokemonStorageSystem.unk_0004++;
+ break;
+ case 2:
+ if (sub_80C5DCC())
+ SetPSSCallback(sub_8096C84);
+ break;
+ }
+}
+
+void sub_8096C68(void)
+{
+ if (!UpdatePaletteFade())
+ SetPSSCallback(sub_8096C84);
+}
+
+void sub_8096C84(void)
+{
+ switch (ePokemonStorageSystem.unk_0004)
+ {
+ case 0:
+ switch (sub_809CA40())
+ {
+ case 1:
+ PlaySE(SE_SELECT);
+ ePokemonStorageSystem.unk_0004 = 1;
+ break;
+ case 5:
+ if (ePokemonStorageSystem.unk_0005 != 2)
+ {
+ PrintStorageActionText(PC_TEXT_WHICH_ONE_WILL_TAKE);
+ ePokemonStorageSystem.unk_0004 = 3;
+ }
+ else
+ {
+ sub_809B0D4();
+ SetPSSCallback(sub_8096FC8);
+ }
+ break;
+ case 6:
+ if (ePokemonStorageSystem.unk_0005 == 2)
+ {
+ if (sub_809BF20() && ItemIsMail(ePokemonStorageSystem.unk_11f2))
+ {
+ ePokemonStorageSystem.unk_0004 = 5;
+ }
+ else
+ {
+ SetPSSCallback(sub_8097004);
+ }
+ }
+ break;
+ case 4:
+ SetPSSCallback(sub_8097BA0);
+ break;
+ case 16:
+ SetPSSCallback(sub_8097CC0);
+ break;
+ case 7:
+ PlaySE(SE_SELECT);
+ SetPSSCallback(sub_809789C);
+ break;
+ case 8:
+ PlaySE(SE_SELECT);
+ SetPSSCallback(sub_8097078);
+ break;
+ case 9:
+ PlaySE(SE_SELECT);
+ ePokemonStorageSystem.unk_08b2 = gPokemonStorage.currentBox + 1;
+ if (ePokemonStorageSystem.unk_08b2 > 13)
+ ePokemonStorageSystem.unk_08b2 = 0;
+ sub_8099C70(ePokemonStorageSystem.unk_08b2);
+ ePokemonStorageSystem.unk_0004 = 2;
+ break;
+ case 10:
+ PlaySE(SE_SELECT);
+ ePokemonStorageSystem.unk_08b2 = gPokemonStorage.currentBox - 1;
+ if (ePokemonStorageSystem.unk_08b2 < 0)
+ ePokemonStorageSystem.unk_08b2 = 13;
+ sub_8099C70(ePokemonStorageSystem.unk_08b2);
+ ePokemonStorageSystem.unk_0004 = 2;
+ break;
+ case 11:
+ if (!sub_809BE80())
+ {
+ if (ItemIsMail(ePokemonStorageSystem.unk_11f2))
+ {
+ ePokemonStorageSystem.unk_0004 = 5;
+ }
+ else
+ {
+ PlaySE(SE_SELECT);
+ SetPSSCallback(sub_809746C);
+ }
+ }
+ else
+ {
+ ePokemonStorageSystem.unk_0004 = 4;
+ }
+ break;
+ case 13:
+ if (sub_809BE80())
+ {
+ ePokemonStorageSystem.unk_0004 = 4;
+ }
+ else
+ {
+ PlaySE(SE_SELECT);
+ SetPSSCallback(sub_80972A8);
+ }
+ break;
+ case 14:
+ if (!sub_809BEBC())
+ {
+ ePokemonStorageSystem.unk_0004 = 4;
+ }
+ else
+ {
+ PlaySE(SE_SELECT);
+ SetPSSCallback(c3_0808DC50);
+ }
+ break;
+ case 12:
+ PlaySE(SE_SELECT);
+ SetPSSCallback(sub_8097390);
+ break;
+ case 15:
+ PlaySE(SE_SELECT);
+ SetPSSCallback(sub_80972FC);
+ break;
+ }
+ break;
+ case 1:
+ if (!sub_809AC00())
+ {
+ if (sub_809BF48())
+ sub_80986E8();
+ else
+ sub_8098710();
+ if (ePokemonStorageSystem.unk_11f6)
+ BoxSetMosaic();
+ ePokemonStorageSystem.unk_0004 = 0;
+ }
+ break;
+ case 2:
+ if (!sub_8099D34())
+ {
+ gPokemonStorage.currentBox = ePokemonStorageSystem.unk_08b2;
+ if (!gUnknown_0203847C && !sub_809BF20())
+ {
+ sub_809B440();
+ BoxSetMosaic();
+ }
+ ePokemonStorageSystem.unk_0004 = 0;
+ }
+ break;
+ case 3:
+ if (gMain.newKeys & (A_BUTTON | B_BUTTON | DPAD_ANY))
+ {
+ sub_8098A5C();
+ ePokemonStorageSystem.unk_0004 = 0;
+ }
+ break;
+ case 4:
+ PlaySE(SE_HAZURE);
+ PrintStorageActionText(PC_TEXT_LAST_POKE);
+ ePokemonStorageSystem.unk_0004 = 6;
+ break;
+ case 5:
+ PlaySE(SE_HAZURE);
+ PrintStorageActionText(PC_TEXT_PLEASE_REMOVE_MAIL);
+ ePokemonStorageSystem.unk_0004 = 6;
+ break;
+ case 6:
+ if (gMain.newKeys & (A_BUTTON | B_BUTTON | DPAD_ANY))
+ {
+ sub_8098A5C();
+ SetPSSCallback(sub_8096C84);
+ }
+ break;
+ }
+}
+
+void sub_8096FC8(void)
+{
+ switch (ePokemonStorageSystem.unk_0004)
+ {
+ case 0:
+ sub_809880C();
+ ePokemonStorageSystem.unk_0004++;
+ break;
+ case 1:
+ if (!sub_8098830())
+ SetPSSCallback(sub_8096C84);
+ break;
+ }
+}
+
+void sub_8097004(void)
+{
+ switch (ePokemonStorageSystem.unk_0004)
+ {
+ case 0:
+ PlaySE(SE_SELECT);
+ add_to_c3_somehow();
+ ePokemonStorageSystem.unk_0004++;
+ break;
+ case 1:
+ if (!sub_80985CC())
+ {
+ sub_809B0C0(sub_809B0F4());
+ ePokemonStorageSystem.unk_0004++;
+ }
+ break;
+ case 2:
+ if (!sub_809AC00())
+ {
+ if (ePokemonStorageSystem.unk_11f6)
+ BoxSetMosaic();
+ SetPSSCallback(sub_8096C84);
+ }
+ break;
+ }
+}
+
+void sub_8097078(void)
+{
+ switch (ePokemonStorageSystem.unk_0004)
+ {
+ case 0:
+ PrintStorageActionText(PC_TEXT_IS_SELECTED);
+ sub_809CE84();
+ ePokemonStorageSystem.unk_0004 = 1;
+ break;
+ case 1:
+ switch (sub_809CF30())
+ {
+ case -1:
+ case 0:
+ sub_8098A5C();
+ SetPSSCallback(sub_8096C84);
+ break;
+ case 3:
+ if (sub_809BE80())
+ {
+ ePokemonStorageSystem.unk_0004 = 2;
+ }
+ else
+ {
+ PlaySE(SE_SELECT);
+ sub_8098A5C();
+ SetPSSCallback(sub_80972A8);
+ }
+ break;
+ case 5:
+ PlaySE(SE_SELECT);
+ sub_8098A5C();
+ SetPSSCallback(sub_80972FC);
+ break;
+ case 4:
+ if (!sub_809BEBC())
+ {
+ ePokemonStorageSystem.unk_0004 = 2;
+ }
+ else
+ {
+ PlaySE(SE_SELECT);
+ sub_8098A5C();
+ SetPSSCallback(c3_0808DC50);
+ }
+ break;
+ case 2:
+ PlaySE(SE_SELECT);
+ sub_8098A5C();
+ SetPSSCallback(sub_8097390);
+ break;
+ case 1:
+ if (sub_809BE80())
+ {
+ ePokemonStorageSystem.unk_0004 = 2;
+ }
+ else if (ItemIsMail(ePokemonStorageSystem.unk_11f2))
+ {
+ ePokemonStorageSystem.unk_0004 = 3;
+ }
+ else
+ {
+ PlaySE(SE_SELECT);
+ sub_8098A5C();
+ SetPSSCallback(sub_809746C);
+ }
+ break;
+ case 7:
+ if (sub_809BE80())
+ {
+ ePokemonStorageSystem.unk_0004 = 2;
+ }
+ else if (ePokemonStorageSystem.unk_11f9)
+ {
+ ePokemonStorageSystem.unk_0004 = 4;
+ }
+ else if (ItemIsMail(ePokemonStorageSystem.unk_11f2))
+ {
+ ePokemonStorageSystem.unk_0004 = 3;
+ }
+ else
+ {
+ PlaySE(SE_SELECT);
+ SetPSSCallback(sub_8097594);
+ }
+ break;
+ case 6:
+ PlaySE(SE_SELECT);
+ SetPSSCallback(sub_8097788);
+ break;
+ case 8:
+ PlaySE(SE_SELECT);
+ SetPSSCallback(sub_80977E4);
+ break;
+ }
+ break;
+ case 2:
+ PlaySE(SE_HAZURE);
+ PrintStorageActionText(PC_TEXT_LAST_POKE);
+ ePokemonStorageSystem.unk_0004 = 5;
+ break;
+ case 4:
+ PlaySE(SE_HAZURE);
+ PrintStorageActionText(PC_TEXT_CANT_RELEASE_EGG);
+ ePokemonStorageSystem.unk_0004 = 5;
+ break;
+ case 3:
+ PlaySE(SE_HAZURE);
+ PrintStorageActionText(PC_TEXT_PLEASE_REMOVE_MAIL);
+ ePokemonStorageSystem.unk_0004 = 5;
+ break;
+ case 5:
+ if (gMain.newKeys & (A_BUTTON | B_BUTTON | DPAD_ANY))
+ {
+ sub_8098A5C();
+ SetPSSCallback(sub_8096C84);
+ }
+ break;
+ }
+}
+
+void sub_80972A8(void)
+{
+ switch (ePokemonStorageSystem.unk_0004)
+ {
+ case 0:
+ sub_809B100(0);
+ ePokemonStorageSystem.unk_0004++;
+ break;
+ case 1:
+ if (!sub_809B130())
+ {
+ if (gUnknown_0203847C)
+ SetPSSCallback(sub_8097858);
+ else
+ SetPSSCallback(sub_8096C84);
+ }
+ break;
+ }
+}
+
+void sub_80972FC(void)
+{
+ switch (ePokemonStorageSystem.unk_0004)
+ {
+ case 0:
+ sub_809B100(1);
+ ePokemonStorageSystem.unk_0004++;
+ break;
+ case 1:
+ if (!sub_809B130())
+ {
+ if (gUnknown_0203847C)
+ SetPSSCallback(sub_8097858);
+ else
+ SetPSSCallback(sub_8096C84);
+ }
+ break;
+ }
+}
+
+void c3_0808DC50(void)
+{
+ switch (ePokemonStorageSystem.unk_0004)
+ {
+ case 0:
+ sub_809B100(2);
+ ePokemonStorageSystem.unk_0004++;
+ break;
+ case 1:
+ if (!sub_809B130())
+ {
+ BoxSetMosaic();
+ SetPSSCallback(sub_8096C84);
+ }
+ break;
+ }
+}
+
+void sub_8097390(void)
+{
+ switch (ePokemonStorageSystem.unk_0004)
+ {
+ case 0:
+ if (CalculatePlayerPartyCount() == 6)
+ {
+ PrintStorageActionText(PC_TEXT_PARTY_FULL);
+ ePokemonStorageSystem.unk_0004 = 1;
+ }
+ else
+ {
+ sub_809B0E0();
+ sub_809B100(0);
+ ePokemonStorageSystem.unk_0004 = 2;
+ }
+ break;
+ case 1:
+ if (gMain.newKeys & (A_BUTTON | B_BUTTON | DPAD_ANY))
+ {
+ sub_8098A5C();
+ SetPSSCallback(sub_8096C84);
+ }
+ break;
+ case 2:
+ if (!sub_809B130())
+ {
+ sub_809880C();
+ ePokemonStorageSystem.unk_0004++;
+ }
+ break;
+ case 3:
+ if (!sub_8098830())
+ {
+ sub_809B100(1);
+ ePokemonStorageSystem.unk_0004++;
+ }
+ break;
+ case 4:
+ if (!sub_809B130())
+ {
+ sub_80987DC();
+ ePokemonStorageSystem.unk_0004++;
+ }
+ break;
+ case 5:
+ SetPSSCallback(sub_8097004);
+ break;
+ }
+}
+
+void sub_809746C(void)
+{
+ u8 r4;
+
+ switch (ePokemonStorageSystem.unk_0004)
+ {
+ case 0:
+ PrintStorageActionText(PC_TEXT_DEPOSIT_IN_WHICH_BOX);
+ sub_8096264(&ePokemonStorageSystem.unk_2370, 0x0007, 0xdaca, 3);
+ sub_809634C(gUnknown_0203847E);
+ ePokemonStorageSystem.unk_0004++;
+ break;
+ case 1:
+ r4 = sub_8096368();
+ if (r4 == 200);
+ else if (r4 == 201)
+ {
+ sub_8098A5C();
+ sub_809635C();
+ sub_8096310();
+ SetPSSCallback(sub_8096C84);
+ }
+ else
+ {
+ if (sub_809B62C(r4))
+ {
+ sub_8098A5C();
+ sub_809635C();
+ sub_8096310();
+ ePokemonStorageSystem.unk_0004 = 2;
+ }
+ else
+ {
+ PrintStorageActionText(PC_TEXT_BOX_IS_FULL);
+ ePokemonStorageSystem.unk_0004 = 4;
+ }
+ gUnknown_0203847E = r4;
+ }
+ break;
+ case 2:
+ party_compaction();
+ sub_8099310();
+ ePokemonStorageSystem.unk_0004++;
+ break;
+ case 3:
+ if (!sub_8099374())
+ {
+ sub_809B6BC();
+ BoxSetMosaic();
+ sub_80987DC();
+ SetPSSCallback(sub_8096C84);
+ }
+ break;
+ case 4:
+ if (gMain.newKeys & (A_BUTTON | B_BUTTON))
+ {
+ PrintStorageActionText(PC_TEXT_DEPOSIT_IN_WHICH_BOX);
+ ePokemonStorageSystem.unk_0004 = 1;
+ }
+ break;
+ }
+}
+
+void sub_8097594(void)
+{
+ switch (ePokemonStorageSystem.unk_0004)
+ {
+ case 0:
+ PrintStorageActionText(PC_TEXT_RELEASE_POKE);
+ sub_8098A38(1);
+ ePokemonStorageSystem.unk_0004++;
+ // fallthrough
+ case 1:
+ switch (ProcessMenuInputNoWrap())
+ {
+ case -1:
+ case 1:
+ sub_8098A5C();
+ SetPSSCallback(sub_8096C84);
+ break;
+ case 0:
+ sub_8098A5C();
+ sub_809B7D4();
+ sub_809B6DC();
+ ePokemonStorageSystem.unk_0004++;
+ break;
+ }
+ break;
+ case 2:
+ sub_809B960();
+ if (!sub_809B734())
+ {
+ while (1)
+ {
+ s8 r0 = sub_809B960();
+ if (r0 == 1)
+ {
+ ePokemonStorageSystem.unk_0004++;
+ break;
+ }
+ if (r0 == 0)
+ {
+ ePokemonStorageSystem.unk_0004 = 8;
+ break;
+ }
+ }
+ }
+ break;
+ case 3:
+ sub_809B760();
+ sub_809801C();
+ PrintStorageActionText(PC_TEXT_WAS_RELEASED);
+ ePokemonStorageSystem.unk_0004++;
+ break;
+ case 4:
+ if (gMain.newKeys & (A_BUTTON | B_BUTTON))
+ {
+ PrintStorageActionText(PC_TEXT_BYE_BYE);
+ ePokemonStorageSystem.unk_0004++;
+ }
+ break;
+ case 5:
+ if (gMain.newKeys & (A_BUTTON | B_BUTTON))
+ {
+ sub_8098A5C();
+ if (gUnknown_0203847C)
+ {
+ party_compaction();
+ sub_8099310();
+ ePokemonStorageSystem.unk_0004++;
+ }
+ else
+ {
+ ePokemonStorageSystem.unk_0004 = 7;
+ }
+ }
+ break;
+ case 6:
+ if (!sub_8099374())
+ {
+ sub_809B440();
+ BoxSetMosaic();
+ sub_80987DC();
+ ePokemonStorageSystem.unk_0004++;
+ }
+ break;
+ case 7:
+ SetPSSCallback(sub_8096C84);
+ break;
+ case 8:
+ PrintStorageActionText(PC_TEXT_WAS_RELEASED);
+ ePokemonStorageSystem.unk_0004++;
+ break;
+ case 9:
+ if (gMain.newKeys & (A_BUTTON | B_BUTTON))
+ {
+ PrintStorageActionText(PC_TEXT_SURPRISE);
+ ePokemonStorageSystem.unk_0004++;
+ }
+ break;
+ case 10:
+ if (gMain.newKeys & (A_BUTTON | B_BUTTON))
+ {
+ sub_8098A5C();
+ sub_8099958();
+ ePokemonStorageSystem.unk_0004++;
+ }
+ break;
+ case 11:
+ if (!sub_8099990())
+ {
+ sub_809B7AC();
+ PrintStorageActionText(PC_TEXT_CAME_BACK);
+ ePokemonStorageSystem.unk_0004++;
+ }
+ break;
+ case 12:
+ if (gMain.newKeys & (A_BUTTON | B_BUTTON))
+ {
+ PrintStorageActionText(PC_TEXT_WORRIED);
+ ePokemonStorageSystem.unk_0004++;
+ }
+ break;
+ case 13:
+ if (gMain.newKeys & (A_BUTTON | B_BUTTON))
+ {
+ sub_8098A5C();
+ SetPSSCallback(sub_8096C84);
+ }
+ break;
+ }
+}
+
+void sub_8097788(void)
+{
+ switch (ePokemonStorageSystem.unk_0004)
+ {
+ case 0:
+ sub_809BC18();
+ BeginNormalPaletteFade(0xffffffff, 0, 0, 16, 0);
+ ePokemonStorageSystem.unk_0004++;
+ break;
+ case 1:
+ if (!UpdatePaletteFade())
+ {
+ gUnknown_0203847F = 0;
+ ePokemonStorageSystem.unk_0006 = 0;
+ SetMainCallback2(sub_8096B5C);
+ }
+ break;
+ }
+}
+
+void sub_80977E4(void)
+{
+ switch (ePokemonStorageSystem.unk_0004)
+ {
+ case 0:
+ PrintStorageActionText(PC_TEXT_MARK_POKE);
+ ePokemonStorageSystem.unk_12bc.markings = ePokemonStorageSystem.unk_11f7;
+ sub_80F7418(ePokemonStorageSystem.unk_11f7, 0xb0, 0x10);
+ ePokemonStorageSystem.unk_0004++;
+ break;
+ case 1:
+ if (!sub_80F7500())
+ {
+ sub_80F7470();
+ sub_8098A5C();
+ sub_809BDD8(ePokemonStorageSystem.unk_12bc.markings);
+ sub_809801C();
+ SetPSSCallback(sub_8096C84);
+ }
+ break;
+ }
+}
+
+void sub_8097858(void)
+{
+ switch (ePokemonStorageSystem.unk_0004)
+ {
+ case 0:
+ party_compaction();
+ sub_8099310();
+ ePokemonStorageSystem.unk_0004++;
+ break;
+ case 1:
+ if (!sub_8099374())
+ {
+ sub_80987DC();
+ SetPSSCallback(sub_8096C84);
+ }
+ break;
+ }
+}
+
+void sub_809789C(void)
+{
+ switch (ePokemonStorageSystem.unk_0004)
+ {
+ case 0:
+ PrintStorageActionText(PC_TEXT_WHAT_YOU_DO);
+ sub_809CE84();
+ ePokemonStorageSystem.unk_0004++;
+ break;
+ case 1:
+ switch (sub_809CF30())
+ {
+ case -1:
+ case 0:
+ sub_809A860(1);
+ sub_8098A5C();
+ SetPSSCallback(sub_8096C84);
+ break;
+ case 11:
+ PlaySE(SE_SELECT);
+ SetPSSCallback(sub_8097B44);
+ break;
+ case 10:
+ PlaySE(SE_SELECT);
+ sub_8098A5C();
+ SetPSSCallback(sub_8097974);
+ break;
+ case 9:
+ PlaySE(SE_SELECT);
+ sub_8098A5C();
+ SetPSSCallback(sub_8097A64);
+ break;
+ }
+ break;
+ }
+}
+
+void sub_8097974(void)
+{
+ switch (ePokemonStorageSystem.unk_0004)
+ {
+ case 0:
+ sub_8098A80();
+ PrintStorageActionText(PC_TEXT_PICK_A_THEME);
+ ePokemonStorageSystem.unk_0004++;
+ break;
+ case 1:
+ ePokemonStorageSystem.unk_0d5e = sub_809CF30();
+ switch (ePokemonStorageSystem.unk_0d5e)
+ {
+ case -1:
+ sub_809A860(1);
+ sub_8098A5C();
+ SetPSSCallback(sub_8096C84);
+ break;
+ case 12 ... 15:
+ PlaySE(SE_SELECT);
+ ePokemonStorageSystem.unk_0d5e -= 12;
+ sub_8098AA8(ePokemonStorageSystem.unk_0d5e);
+ PrintStorageActionText(PC_TEXT_PICK_A_WALLPAPER);
+ ePokemonStorageSystem.unk_0004++;
+ break;
+ }
+ break;
+ case 2:
+ ePokemonStorageSystem.unk_0d60 = sub_809CF30();
+ switch (ePokemonStorageSystem.unk_0d60)
+ {
+ case -1:
+ sub_8098A5C();
+ ePokemonStorageSystem.unk_0004 = 0;
+ break;
+ case -2:
+ break;
+ default:
+ PlaySE(SE_SELECT);
+ sub_8098A5C();
+ ePokemonStorageSystem.unk_0d60 -= 16;
+ sub_8099DCC(ePokemonStorageSystem.unk_0d60);
+ ePokemonStorageSystem.unk_0004++;
+ break;
+ }
+ break;
+ case 3:
+ if (!sub_8099E08())
+ {
+ sub_809A860(1);
+ SetPSSCallback(sub_8096C84);
+ }
+ break;
+ }
+}
+
+void sub_8097A64(void)
+{
+ switch (ePokemonStorageSystem.unk_0004)
+ {
+ case 0:
+ PrintStorageActionText(PC_TEXT_JUMP_TO_WHICH_BOX);
+ sub_8096264(&ePokemonStorageSystem.unk_2370, 0x0007, 0xdaca, 3);
+ sub_809634C(gPokemonStorage.currentBox);
+ ePokemonStorageSystem.unk_0004++;
+ break;
+ case 1:
+ ePokemonStorageSystem.unk_08b2 = sub_8096368();
+ switch (ePokemonStorageSystem.unk_08b2)
+ {
+ case 200:
+ break;
+ default:
+ sub_8098A5C();
+ sub_809635C();
+ sub_8096310();
+ if (ePokemonStorageSystem.unk_08b2 == 201 || ePokemonStorageSystem.unk_08b2 == gPokemonStorage.currentBox)
+ {
+ sub_809A860(1);
+ SetPSSCallback(sub_8096C84);
+ }
+ else
+ {
+ ePokemonStorageSystem.unk_0004++;
+ }
+ break;
+ }
+ break;
+ case 2:
+ sub_8099C70(ePokemonStorageSystem.unk_08b2);
+ ePokemonStorageSystem.unk_0004++;
+ break;
+ case 3:
+ if (!sub_8099D34())
+ {
+ gPokemonStorage.currentBox = ePokemonStorageSystem.unk_08b2;
+ SetPSSCallback(sub_8096C84);
+ }
+ break;
+ }
+}
+
+void sub_8097B44(void)
+{
+ switch (ePokemonStorageSystem.unk_0004)
+ {
+ case 0:
+ sub_809BB90();
+ BeginNormalPaletteFade(0xffffffff, 0, 0, 16, 0);
+ ePokemonStorageSystem.unk_0004++;
+ break;
+ case 1:
+ if (!UpdatePaletteFade())
+ {
+ gUnknown_0203847F = 1;
+ ePokemonStorageSystem.unk_0006 = 1;
+ SetMainCallback2(sub_8096B5C);
+ }
+ break;
+ }
+}
+
+void sub_8097BA0(void)
+{
+ switch (ePokemonStorageSystem.unk_0004)
+ {
+ case 0:
+ if (sub_809BF20())
+ {
+ PlaySE(SE_HAZURE);
+ PrintStorageActionText(PC_TEXT_HOLDING_POKE);
+ ePokemonStorageSystem.unk_0004 = 1;
+ }
+ else
+ {
+ PlaySE(SE_SELECT);
+ PrintStorageActionText(PC_TEXT_EXIT_BOX);
+ sub_8098A38(0);
+ ePokemonStorageSystem.unk_0004 = 2;
+ }
+ break;
+ case 1:
+ if (gMain.newKeys & (A_BUTTON | B_BUTTON | DPAD_ANY))
+ {
+ sub_8098A5C();
+ SetPSSCallback(sub_8096C84);
+ }
+ break;
+ case 2:
+ switch (ProcessMenuInputNoWrap())
+ {
+ case 1:
+ case -1:
+ sub_8098A5C();
+ SetPSSCallback(sub_8096C84);
+ break;
+ case 0:
+ PlaySE(SE_PC_OFF);
+ sub_8098A5C();
+ ePokemonStorageSystem.unk_0004++;
+ break;
+ }
+ break;
+ case 3:
+ ePokemonStorageSystem.unk_000c.tileTag = 0x000e;
+ ePokemonStorageSystem.unk_000c.paletteTag = 0xdad0;
+ ePokemonStorageSystem.unk_000c.unk04 = 20;
+ ePokemonStorageSystem.unk_000c.unk06 = 0;
+ sub_80C5E38(&ePokemonStorageSystem.unk_000c);
+ ePokemonStorageSystem.unk_0004++;
+ break;
+ case 4:
+ if (sub_80C5F98())
+ {
+ gPlayerPartyCount = CalculatePlayerPartyCount();
+ SetMainCallback2(sub_80961A8);
+ }
+ break;
+ }
+}
+
+asm(".section .text.8098898");
-void sub_8098898(u8 index) {
+void PrintStorageActionText(u8 index) {
u8 *ptr;
MenuDrawTextWindow(10, 16, 29, 19);
- switch (gUnknown_083B6DF4[index].format)
+ switch (gPCStorageActionTexts[index].format)
{
- case 2:
- ptr = StringCopy(gUnk2002694, gUnknown_083B6DF4[index].text);
- ptr = StringCopy(ptr, gUnk20011fa);
+ case PC_TEXT_FMT_UNK_02:
+ ptr = StringCopy(ePokemonStorageSystem.unk_2694, gPCStorageActionTexts[index].text);
+ ptr = StringCopy(ptr, ePokemonStorageSystem.unk_11fa);
break;
- case 5:
- ptr = StringCopy(gUnk2002694, gUnknown_083B6DF4[index].text);
- ptr = StringCopy(ptr, gUnk20026e4);
+ case PC_TEXT_FMT_UNK_05:
+ ptr = StringCopy(ePokemonStorageSystem.unk_2694, gPCStorageActionTexts[index].text);
+ ptr = StringCopy(ptr, ePokemonStorageSystem.unk_26e4);
break;
- case 1:
+ case PC_TEXT_FMT_MON_NAME:
// {var} + " is selected."
- ptr = StringCopy(gUnk2002694, gUnk20011fa);
- ptr = StringCopy(ptr, gUnknown_083B6DF4[index].text);
+ ptr = StringCopy(ePokemonStorageSystem.unk_2694, ePokemonStorageSystem.unk_11fa);
+ ptr = StringCopy(ptr, gPCStorageActionTexts[index].text);
break;
- case 4:
+ case PC_TEXT_FMT_MON_NAME_2:
// {var} + " was released."
- ptr = StringCopy(gUnk2002694, gUnk20026e4);
+ ptr = StringCopy(ePokemonStorageSystem.unk_2694, ePokemonStorageSystem.unk_26e4);
#if ENGLISH
- ptr = StringCopy(ptr, gUnknown_083B6DF4[index].text);
+ ptr = StringCopy(ptr, gPCStorageActionTexts[index].text);
#elif GERMAN
- ptr = de_sub_8073174(gUnk2002694, gUnknown_083B6DF4[index].text);
+ ptr = de_sub_8073174(ePokemonStorageSystem.unk_2694, gPCStorageActionTexts[index].text);
#endif
break;
- case 3:
+ case PC_TEXT_FMT_UNK_03:
{
u8 *stringLength;
u8 *text;
- text = gUnknown_083B6DF4[index].text;
+ text = gPCStorageActionTexts[index].text;
stringLength = &text[StringLength(text)] + 1;
- ptr = StringCopy(gUnk2002694, gUnknown_083B6DF4[index].text);
- ptr = StringCopy(ptr, gUnk20011fa);
+ ptr = StringCopy(ePokemonStorageSystem.unk_2694, gPCStorageActionTexts[index].text);
+ ptr = StringCopy(ptr, ePokemonStorageSystem.unk_11fa);
ptr = StringCopy(ptr, stringLength);
}
break;
- case 6:
+ case PC_TEXT_FMT_MON_NAME_AFTER_EXCL_MARK:
// "Bye-bye, ".substr(0, -1) + {var} + "Bye-bye, !".substr(-1, 1)
{
u8 *stringLength;
u8 *text;
- text = gUnknown_083B6DF4[index].text;
+ text = gPCStorageActionTexts[index].text;
stringLength = &text[StringLength(text)] - 1;
- ptr = StringCopy(gUnk2002694, gUnknown_083B6DF4[index].text);
- ptr = StringCopy(ptr - 1, gUnk20026e4);
+ ptr = StringCopy(ePokemonStorageSystem.unk_2694, gPCStorageActionTexts[index].text);
+ ptr = StringCopy(ptr - 1, ePokemonStorageSystem.unk_26e4);
ptr = StringCopy(ptr, stringLength);
}
break;
- case 0:
+ case PC_TEXT_FMT_NORMAL:
default:
- ptr = StringCopy(gUnk2002694, gUnknown_083B6DF4[index].text);
+ ptr = StringCopy(ePokemonStorageSystem.unk_2694, gPCStorageActionTexts[index].text);
break;
}
- while (ptr < gUnk20026A6)
+ while (ptr < ePokemonStorageSystem.unk_26a6)
{
ptr[0] = CHAR_SPACE;
ptr++;
}
ptr[0] = EOS;
- MenuPrint(gUnk2002694, 11, 17);
+ MenuPrint(ePokemonStorageSystem.unk_2694, 11, 17);
}
diff --git a/src/scene/hall_of_fame.c b/src/scene/hall_of_fame.c
index 1751ee99c..4740c086d 100644
--- a/src/scene/hall_of_fame.c
+++ b/src/scene/hall_of_fame.c
@@ -17,6 +17,7 @@
#include "decompress.h"
#include "random.h"
#include "trig.h"
+#include "pc_screen_effect.h"
#include "ewram.h"
static EWRAM_DATA u32 sUnknown_0203931C = 0;
@@ -89,12 +90,7 @@ static bool8 sub_81438C4(void);
// functions from different files
void sub_81439D0(void);
-void sub_80C5CD4(void*); // ?
-void sub_80C5E38(void*); // ?
-bool8 sub_80C5DCC(void);
-bool8 sub_80C5F98(void);
void ReturnFromHallOfFamePC(void);
-u16 SpeciesToPokedexNum(u16 species);
void remove_some_task(void);
// data and gfx
@@ -130,9 +126,9 @@ static const s16 sHallOfFame_MonsHalfTeamPositions[3][4] =
{-41, 214, 184, 64}
};
-static const struct HallofFameMon sDummyFameMon =
-{
- 0x3EA03EA, 0, 0, 0, {0}
+static const struct PCScreenEffectStruct sPCScreenEffectTemplate = {
+ .tileTag = 0x3ea,
+ .paletteTag = 0x3ea
};
static const u8 sUnused2[6] = {2, 1, 3, 6, 4, 5};
@@ -800,20 +796,15 @@ void sub_81428CC(void)
}
break;
case 3:
- {
- struct HallofFameMons* fameMons;
-
- REG_BLDCNT = 0;
- REG_BLDALPHA = 0;
- REG_BLDY = 0;
- sub_81435B8();
+ REG_BLDCNT = 0;
+ REG_BLDALPHA = 0;
+ REG_BLDY = 0;
+ sub_81435B8();
- fameMons = eHallOfFameMons1;
- fameMons->mons[0] = sDummyFameMon;
+ eHOFPCScreenEffect = sPCScreenEffectTemplate;
- sub_80C5CD4(fameMons);
- gMain.state++;
- }
+ sub_80C5CD4(&eHOFPCScreenEffect);
+ gMain.state++;
break;
case 4:
AnimateSprites();
@@ -1022,12 +1013,9 @@ static void sub_8142DF4(u8 taskID)
static void sub_8142F78(u8 taskID)
{
- struct HallofFameMons* fameMons;
-
CpuSet(gPlttBufferFaded, gPlttBufferUnfaded, 0x200);
- fameMons = eHallOfFameMons1;
- fameMons->mons[0] = sDummyFameMon;
- sub_80C5E38(fameMons);
+ eHOFPCScreenEffect = sPCScreenEffectTemplate;
+ sub_80C5E38(&eHOFPCScreenEffect);
gTasks[taskID].func = sub_8142FCC;
}
diff --git a/sym_ewram.txt b/sym_ewram.txt
index fc4ea94ef..62758ab78 100644
--- a/sym_ewram.txt
+++ b/sym_ewram.txt
@@ -379,60 +379,6 @@ gUnknown_0202FFA4: @ 202FFA4
.include "src/engine/trainer_card.o"
.include "src/pokemon/pokemon_storage_system.o"
-@ still pokemon_storage_system
-
- .align 2
-gUnknown_02038470: @ 2038470
- .space 0x3
-
-gUnknown_02038473: @ 2038473
- .space 0x1
-
-gUnknown_02038474: @ 2038474
- .space 0x4
-
-gUnknown_02038478: @ 2038478
- .space 0x4
-
-gUnknown_0203847C: @ 203847C
- .space 0x1
-
-gUnknown_0203847D: @ 203847D
- .space 0x1
-
-gUnknown_0203847E: @ 203847E
- .space 0x1
-
-gUnknown_0203847F: @ 203847F
- .space 0x1
-
-gUnknown_02038480: @ 2038480
- .space 0x64
-
-gUnknown_020384E4: @ 20384E4
- .space 0x1
-
-gUnknown_020384E5: @ 20384E5
- .space 0x1
-
-gUnknown_020384E6: @ 20384E6
- .space 0x1
-
-gUnknown_020384E7: @ 20384E7
- .space 0x1
-
-gUnknown_020384E8: @ 20384E8
- .space 0x1
-
-gUnknown_020384E9: @ 20384E9
- .space 0x1
-
-gUnknown_020384EA: @ 20384EA
- .space 0x2
-
-gUnknown_020384EC: @ 20384EC
- .space 0x4
-
@ pokemon_summary_screen
gUnknown_020384F0: @ 20384F0