summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDizzyEggg <jajkodizzy@wp.pl>2018-12-09 16:44:01 +0100
committerDizzyEggg <jajkodizzy@wp.pl>2018-12-09 16:44:01 +0100
commite0f3de0b7483afe2b751ea9fb8204e7da49a371b (patch)
treec8260bd46c4b8f5eacc6b4dee5471575ff862ca4
parent0b91d2948a431a5d44166544897a550061c01a31 (diff)
Start pokemon storage system
-rw-r--r--asm/pokemon_storage_system.s1124
-rw-r--r--data/pokemon_storage_system.s122
-rw-r--r--include/mon_markings.h2
-rw-r--r--include/pokemon_storage_system.h26
-rw-r--r--include/strings.h32
-rw-r--r--src/mon_markings.c1
-rw-r--r--src/pokemon_storage_system.c743
-rw-r--r--sym_ewram.txt16
8 files changed, 1084 insertions, 982 deletions
diff --git a/asm/pokemon_storage_system.s b/asm/pokemon_storage_system.s
index 3fefdd530..f57b8fc9a 100644
--- a/asm/pokemon_storage_system.s
+++ b/asm/pokemon_storage_system.s
@@ -8,576 +8,6 @@
-
- thumb_func_start sub_80C7D74
-sub_80C7D74: @ 80C7D74
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- bl ResetTasks
- ldr r0, =gUnknown_02039D0D
- strb r5, [r0]
- ldr r4, =gUnknown_02039D08
- ldr r0, =0x000062c4
- bl Alloc
- str r0, [r4]
- cmp r0, 0
- bne _080C7DA8
- ldr r0, =sub_80C7678
- bl SetMainCallback2
- b _080C7DD4
- .pool
-_080C7DA8:
- movs r2, 0
- strb r5, [r0, 0x1]
- ldr r0, [r4]
- strb r2, [r0, 0x3]
- ldr r0, =gUnknown_02039D12
- movs r1, 0
- strh r2, [r0]
- ldr r0, [r4]
- strb r1, [r0]
- ldr r0, =task_box_related_3
- movs r1, 0x3
- bl CreateTask
- ldr r1, [r4]
- strb r0, [r1, 0x4]
- bl StorageGetCurrentBox
- ldr r1, =gUnknown_02039D10
- strb r0, [r1]
- ldr r0, =c2_Box
- bl SetMainCallback2
-_080C7DD4:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C7D74
-
- thumb_func_start c2_808CE60
-c2_808CE60: @ 80C7DEC
- push {r4,lr}
- bl ResetTasks
- ldr r4, =gUnknown_02039D08
- ldr r0, =0x000062c4
- bl Alloc
- adds r1, r0, 0
- str r1, [r4]
- cmp r1, 0
- bne _080C7E18
- ldr r0, =sub_80C7678
- bl SetMainCallback2
- b _080C7E3C
- .pool
-_080C7E18:
- ldr r0, =gUnknown_02039D0D
- ldrb r0, [r0]
- movs r2, 0
- strb r0, [r1, 0x1]
- ldr r1, [r4]
- movs r0, 0x1
- strb r0, [r1, 0x3]
- ldr r0, [r4]
- strb r2, [r0]
- ldr r0, =task_box_related_3
- movs r1, 0x3
- bl CreateTask
- ldr r1, [r4]
- strb r0, [r1, 0x4]
- ldr r0, =c2_Box
- bl SetMainCallback2
-_080C7E3C:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end c2_808CE60
-
- thumb_func_start sub_80C7E50
-sub_80C7E50: @ 80C7E50
- push {lr}
- movs r0, 0x10
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x12
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x14
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x16
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x18
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1A
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1C
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1E
- movs r1, 0
- bl SetGpuReg
- pop {r0}
- bx r0
- thumb_func_end sub_80C7E50
-
- thumb_func_start sub_80C7E98
-sub_80C7E98: @ 80C7E98
- push {r4,lr}
- sub sp, 0x4
- bl ResetPaletteFade
- bl ResetSpriteData
- bl FreeSpriteTileRanges
- bl FreeAllSpritePalettes
- bl ClearDma3Requests
- ldr r1, =gReservedSpriteTileCount
- movs r2, 0xA0
- lsls r2, 2
- adds r0, r2, 0
- strh r0, [r1]
- ldr r4, =gUnknown_02039D08
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x8
- adds r1, 0x10
- movs r2, 0x8
- bl sub_80D2A90
- ldr r1, =gKeyRepeatStartDelay
- movs r0, 0x14
- strh r0, [r1]
- bl clear_scheduled_bg_copies_to_vram
- movs r0, 0x3
- bl sub_80D259C
- ldr r2, =gUnknown_0857239C
- movs r0, 0x4
- str r0, [sp]
- movs r0, 0
- movs r1, 0x1
- movs r3, 0x8
- bl sub_80D2644
- movs r0, 0
- movs r1, 0x1
- movs r2, 0
- bl sub_80D2770
- ldr r0, [r4]
- ldr r1, =0x000002c7
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C7E98
-
- thumb_func_start sub_80C7F1C
-sub_80C7F1C: @ 80C7F1C
- push {lr}
- bl sub_80CDC0C
- ldr r2, =gUnknown_02039D0C
- movs r1, 0
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x1
- bne _080C7F32
- movs r1, 0x1
-_080C7F32:
- strb r1, [r2]
- ldr r1, =gUnknown_02039D0E
- movs r0, 0
- strb r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C7F1C
-
- thumb_func_start sub_80C7F4C
-sub_80C7F4C: @ 80C7F4C
- push {lr}
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x3
- bne _080C7F6A
- movs r1, 0xFC
- lsls r1, 6
- movs r0, 0x50
- bl SetGpuReg
- ldr r1, =0x00000b07
- movs r0, 0x52
- bl SetGpuReg
-_080C7F6A:
- movs r1, 0xFA
- lsls r1, 5
- movs r0, 0
- bl SetGpuReg
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C7F4C
-
- thumb_func_start add_to_c3_somehow
-add_to_c3_somehow: @ 80C7F80
- push {r4,lr}
- ldr r4, =gTasks
- ldr r1, =gUnknown_02039D08
- ldr r3, [r1]
- ldrb r2, [r3, 0x4]
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r4
- str r0, [r1]
- movs r0, 0
- strb r0, [r3]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end add_to_c3_somehow
-
- thumb_func_start task_box_related_3
-task_box_related_3: @ 80C7FA8
- push {lr}
- sub sp, 0x4
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0xA
- bls _080C7FB8
- b _080C81A2
-_080C7FB8:
- lsls r0, 2
- ldr r1, =_080C7FCC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080C7FCC:
- .4byte _080C7FF8
- .4byte _080C8050
- .4byte _080C805E
- .4byte _080C808C
- .4byte _080C80A8
- .4byte _080C80C6
- .4byte _080C80E6
- .4byte _080C80EC
- .4byte _080C80F2
- .4byte _080C8100
- .4byte _080C814A
-_080C7FF8:
- movs r0, 0
- bl SetVBlankCallback
- movs r0, 0
- movs r1, 0
- bl SetGpuReg
- bl sub_80C7E98
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldrb r0, [r0, 0x3]
- cmp r0, 0
- beq _080C8046
- ldr r0, =gUnknown_02039D0F
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _080C8036
- cmp r0, 0x1
- bgt _080C8030
- cmp r0, 0
- beq _080C803C
- b _080C8046
- .pool
-_080C8030:
- cmp r0, 0x2
- beq _080C8042
- b _080C8046
-_080C8036:
- bl sub_80CE790
- b _080C8046
-_080C803C:
- bl sub_80CE8E4
- b _080C8046
-_080C8042:
- bl sub_80C9F6C
-_080C8046:
- bl sub_80CA044
- bl sub_80CA0C8
- b _080C8198
-_080C8050:
- bl sub_80CA0A4
- lsls r0, 24
- cmp r0, 0
- beq _080C805C
- b _080C8198
-_080C805C:
- b _080C80D0
-_080C805E:
- movs r0, 0
- bl PutWindowTilemap
- movs r0, 0x1
- bl ClearWindowTilemap
- movs r0, 0
- str r0, [sp]
- movs r1, 0xC0
- lsls r1, 19
- ldr r2, =0x05000080
- mov r0, sp
- bl CpuSet
- movs r0, 0x1
- movs r1, 0xB
- movs r2, 0xE0
- bl LoadUserWindowBorderGfx
- b _080C8198
- .pool
-_080C808C:
- bl sub_80C7E50
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldrb r0, [r0, 0x3]
- cmp r0, 0
- beq _080C809C
- b _080C8198
-_080C809C:
- bl sub_80C7F1C
- b _080C8198
- .pool
-_080C80A8:
- bl sub_80CAF04
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldrb r0, [r0, 0x3]
- cmp r0, 0
- bne _080C80C0
- bl sub_80CD36C
- b _080C8198
- .pool
-_080C80C0:
- bl sub_80CD3EC
- b _080C8198
-_080C80C6:
- bl sub_80D0164
- lsls r0, 24
- cmp r0, 0
- bne _080C80DC
-_080C80D0:
- ldr r0, =sub_80C9E50
- bl add_to_c3_somehow
- b _080C81A2
- .pool
-_080C80DC:
- bl sub_80C9FEC
- bl sub_80CAC1C
- b _080C8198
-_080C80E6:
- bl sub_80CA0D8
- b _080C8198
-_080C80EC:
- bl sub_80CA704
- b _080C8198
-_080C80F2:
- bl StorageGetCurrentBox
- lsls r0, 24
- lsrs r0, 24
- bl sub_80CC32C
- b _080C8198
-_080C8100:
- bl sub_80CC35C
- lsls r0, 24
- cmp r0, 0
- bne _080C81A2
- ldr r0, =gUnknown_02039D08
- ldr r2, [r0]
- ldrb r0, [r2, 0x1]
- cmp r0, 0x3
- beq _080C8140
- ldr r1, =0x00000da4
- adds r0, r2, r1
- movs r1, 0xD
- strh r1, [r0]
- ldr r1, =0x00000da6
- adds r2, r1
- ldr r1, =0x0000dace
- strh r1, [r2]
- bl sub_811F90C
- bl sub_811FA90
- b _080C8198
- .pool
-_080C8140:
- bl sub_80D0C60
- bl sub_80CAEAC
- b _080C8198
-_080C814A:
- bl sub_80C7F4C
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldrb r0, [r0, 0x3]
- cmp r0, 0
- bne _080C8174
- movs r0, 0x1
- negs r0, r0
- movs r1, 0x10
- movs r2, 0
- bl BlendPalettes
- ldr r0, =sub_80C81AC
- bl add_to_c3_somehow
- b _080C8186
- .pool
-_080C8174:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0x10
- movs r2, 0
- bl BlendPalettes
- ldr r0, =box_related_2
- bl add_to_c3_somehow
-_080C8186:
- ldr r0, =sub_80C7D28
- bl SetVBlankCallback
- b _080C81A2
- .pool
-_080C8198:
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_080C81A2:
- add sp, 0x4
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_box_related_3
-
- thumb_func_start sub_80C81AC
-sub_80C81AC: @ 80C81AC
- push {r4,lr}
- ldr r4, =gUnknown_02039D08
- ldr r0, [r4]
- ldrb r0, [r0]
- cmp r0, 0
- beq _080C81C4
- cmp r0, 0x1
- beq _080C81DE
- b _080C81EE
- .pool
-_080C81C4:
- movs r0, 0x2
- bl PlaySE
- movs r0, 0x14
- movs r1, 0
- movs r2, 0x1
- bl sub_80F9BCC
- ldr r1, [r4]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080C81EE
-_080C81DE:
- bl sub_80F9C1C
- lsls r0, 24
- cmp r0, 0
- bne _080C81EE
- ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
-_080C81EE:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C81AC
-
- thumb_func_start box_related_2
-box_related_2: @ 80C81F8
- push {r4,lr}
- sub sp, 0x4
- ldr r4, =gUnknown_02039D08
- ldr r0, [r4]
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _080C8230
- cmp r0, 0x1
- bgt _080C8214
- cmp r0, 0
- beq _080C821E
- b _080C82A0
- .pool
-_080C8214:
- cmp r0, 0x2
- beq _080C8268
- cmp r0, 0x3
- beq _080C8290
- b _080C82A0
-_080C821E:
- movs r1, 0x1
- negs r1, r1
- str r0, [sp]
- adds r0, r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- b _080C8282
-_080C8230:
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- bne _080C82A0
- ldr r0, =gUnknown_02039D0F
- ldrb r0, [r0]
- cmp r0, 0x2
- bne _080C825C
- ldr r0, =gSpecialVar_ItemId
- ldrh r0, [r0]
- cmp r0, 0
- beq _080C825C
- movs r0, 0x1C
- bl sub_80CAC58
- b _080C8282
- .pool
-_080C825C:
- ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
- b _080C82A0
- .pool
-_080C8268:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _080C82A0
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _080C82A0
- bl sub_80CADC4
-_080C8282:
- ldr r1, [r4]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080C82A0
- .pool
-_080C8290:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _080C82A0
- ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
-_080C82A0:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end box_related_2
-
thumb_func_start task_pokemon_box_related
task_pokemon_box_related: @ 80C82AC
push {r4,r5,lr}
@@ -670,7 +100,7 @@ _080C8398:
cmp r0, 0x1
bls _080C83BC
movs r0, 0x10
- bl sub_80CAC58
+ bl PrintStorageActionText
ldr r1, [r4]
movs r0, 0x3
strb r0, [r1]
@@ -679,7 +109,7 @@ _080C8398:
_080C83BC:
bl sub_80CDC0C
ldr r0, =sub_80C87A8
- bl add_to_c3_somehow
+ bl SetPSSCallback
b _080C879E
.pool
_080C83CC:
@@ -688,7 +118,7 @@ _080C83CC:
ldrb r0, [r0, 0x1]
cmp r0, 0x2
bne _080C8400
- bl sub_80CEAD0
+ bl IsMonBeingMoved
lsls r0, 24
cmp r0, 0
beq _080C8406
@@ -710,29 +140,29 @@ _080C8400:
b _080C879E
_080C8406:
ldr r0, =sub_80C87E8
- bl add_to_c3_somehow
+ bl SetPSSCallback
b _080C879E
.pool
_080C8414:
ldr r0, =sub_80C9BE8
- bl add_to_c3_somehow
+ bl SetPSSCallback
b _080C879E
.pool
_080C8420:
ldr r0, =sub_80C9D1C
- bl add_to_c3_somehow
+ bl SetPSSCallback
b _080C879E
.pool
_080C842C:
movs r0, 0x5
bl PlaySE
ldr r0, =box_related
- bl add_to_c3_somehow
+ bl SetPSSCallback
b _080C879E
.pool
_080C8440:
ldr r0, =sub_80C8864
- bl add_to_c3_somehow
+ bl SetPSSCallback
b _080C879E
.pool
_080C844C:
@@ -790,7 +220,7 @@ _080C84BC:
strb r0, [r1]
b _080C879E
_080C84C8:
- bl sub_80CEA30
+ bl CanMoveMon
lsls r0, 24
cmp r0, 0
bne _080C8528
@@ -813,11 +243,11 @@ _080C84F8:
movs r0, 0x5
bl PlaySE
ldr r0, =sub_80C8D78
- bl add_to_c3_somehow
+ bl SetPSSCallback
b _080C879E
.pool
_080C850C:
- bl sub_80CEA30
+ bl CanMoveMon
lsls r0, 24
cmp r0, 0
bne _080C8528
@@ -825,7 +255,7 @@ _080C850C:
bl PlaySE
b _080C872C
_080C851E:
- bl sub_80CEA6C
+ bl CanShifMon
lsls r0, 24
cmp r0, 0
bne _080C8538
@@ -840,42 +270,42 @@ _080C8538:
movs r0, 0x5
bl PlaySE
ldr r0, =c3_0808DC50
- bl add_to_c3_somehow
+ bl SetPSSCallback
b _080C879E
.pool
_080C854C:
movs r0, 0x5
bl PlaySE
ldr r0, =sub_80C8C90
- bl add_to_c3_somehow
+ bl SetPSSCallback
b _080C879E
.pool
_080C8560:
movs r0, 0x5
bl PlaySE
ldr r0, =sub_80C8BEC
- bl add_to_c3_somehow
+ bl SetPSSCallback
b _080C879E
.pool
_080C8574:
movs r0, 0x5
bl PlaySE
ldr r0, =sub_80C9128
- bl add_to_c3_somehow
+ bl SetPSSCallback
b _080C879E
.pool
_080C8588:
movs r0, 0x5
bl PlaySE
ldr r0, =sub_80C91DC
- bl add_to_c3_somehow
+ bl SetPSSCallback
b _080C879E
.pool
_080C859C:
movs r0, 0x5
bl PlaySE
ldr r0, =sub_80C93B0
- bl add_to_c3_somehow
+ bl SetPSSCallback
b _080C879E
.pool
_080C85B0:
@@ -935,7 +365,7 @@ _080C861C:
beq _080C8628
b _080C879E
_080C8628:
- bl sub_80CEAF8
+ bl IsCursorOnCloseBox
lsls r0, 24
cmp r0, 0
beq _080C8638
@@ -969,11 +399,11 @@ _080C8668:
adds r0, r1
ldrb r0, [r0]
bl SetCurrentBox
- ldr r0, =gUnknown_02039D0C
+ ldr r0, =sInPartyMenu
ldrb r0, [r0]
cmp r0, 0
bne _080C8690
- bl sub_80CEAD0
+ bl IsMonBeingMoved
lsls r0, 24
cmp r0, 0
bne _080C8690
@@ -1016,7 +446,7 @@ _080C86E2:
bl PlaySE
movs r0, 0x16
_080C86EA:
- bl sub_80CAC58
+ bl PrintStorageActionText
ldr r0, =gUnknown_02039D08
ldr r1, [r0]
movs r0, 0x6
@@ -1032,7 +462,7 @@ _080C86FC:
beq _080C879E
bl sub_80CADC4
ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
+ bl SetPSSCallback
b _080C879E
.pool
_080C871C:
@@ -1045,7 +475,7 @@ _080C8722:
bne _080C879E
_080C872C:
ldr r0, =sub_80C8B90
- bl add_to_c3_somehow
+ bl SetPSSCallback
b _080C879E
.pool
_080C8738:
@@ -1126,7 +556,7 @@ _080C87CE:
cmp r0, 0
bne _080C87DE
ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
+ bl SetPSSCallback
_080C87DE:
pop {r4}
pop {r0}
@@ -1186,7 +616,7 @@ _080C8836:
bl BoxSetMosaic
_080C8850:
ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
+ bl SetPSSCallback
_080C8856:
pop {r4}
pop {r0}
@@ -1234,7 +664,7 @@ _080C88AC:
cmp r0, 0x3
beq _080C88C8
movs r0, 0x4
- bl sub_80CAC58
+ bl PrintStorageActionText
b _080C88F2
.pool
_080C88C8:
@@ -1250,12 +680,12 @@ _080C88C8:
beq _080C88EC
_080C88DE:
movs r0, 0x17
- bl sub_80CAC58
+ bl PrintStorageActionText
b _080C88F2
.pool
_080C88EC:
movs r0, 0x18
- bl sub_80CAC58
+ bl PrintStorageActionText
_080C88F2:
bl sub_80CFFD0
ldr r0, =gUnknown_02039D08
@@ -1316,11 +746,11 @@ _080C8940:
_080C898C:
bl sub_80CADC4
ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
+ bl SetPSSCallback
b _080C8B82
.pool
_080C899C:
- bl sub_80CEA30
+ bl CanMoveMon
lsls r0, 24
cmp r0, 0
bne _080C8A52
@@ -1328,7 +758,7 @@ _080C899C:
bl PlaySE
bl sub_80CADC4
ldr r0, =sub_80C8B90
- bl add_to_c3_somehow
+ bl SetPSSCallback
b _080C8B82
.pool
_080C89BC:
@@ -1336,11 +766,11 @@ _080C89BC:
bl PlaySE
bl sub_80CADC4
ldr r0, =sub_80C8BEC
- bl add_to_c3_somehow
+ bl SetPSSCallback
b _080C8B82
.pool
_080C89D4:
- bl sub_80CEA6C
+ bl CanShifMon
lsls r0, 24
cmp r0, 0
beq _080C8A52
@@ -1348,7 +778,7 @@ _080C89D4:
bl PlaySE
bl sub_80CADC4
ldr r0, =c3_0808DC50
- bl add_to_c3_somehow
+ bl SetPSSCallback
b _080C8B82
.pool
_080C89F4:
@@ -1356,11 +786,11 @@ _080C89F4:
bl PlaySE
bl sub_80CADC4
ldr r0, =sub_80C8C90
- bl add_to_c3_somehow
+ bl SetPSSCallback
b _080C8B82
.pool
_080C8A0C:
- bl sub_80CEA30
+ bl CanMoveMon
lsls r0, 24
cmp r0, 0
bne _080C8A52
@@ -1377,11 +807,11 @@ _080C8A0C:
bl PlaySE
bl sub_80CADC4
ldr r0, =sub_80C8D78
- bl add_to_c3_somehow
+ bl SetPSSCallback
b _080C8B82
.pool
_080C8A48:
- bl sub_80CEA30
+ bl CanMoveMon
lsls r0, 24
cmp r0, 0
beq _080C8A60
@@ -1422,59 +852,59 @@ _080C8A98:
movs r0, 0x5
bl PlaySE
ldr r0, =sub_80C8EB4
- bl add_to_c3_somehow
+ bl SetPSSCallback
b _080C8B82
.pool
_080C8AAC:
movs r0, 0x5
bl PlaySE
ldr r0, =sub_80C9B28
- bl add_to_c3_somehow
+ bl SetPSSCallback
b _080C8B82
.pool
_080C8AC0:
movs r0, 0x5
bl PlaySE
ldr r0, =sub_80C90A4
- bl add_to_c3_somehow
+ bl SetPSSCallback
b _080C8B82
.pool
_080C8AD4:
movs r0, 0x5
bl PlaySE
ldr r0, =sub_80C9128
- bl add_to_c3_somehow
+ bl SetPSSCallback
b _080C8B82
.pool
_080C8AE8:
movs r0, 0x5
bl PlaySE
ldr r0, =sub_80C91DC
- bl add_to_c3_somehow
+ bl SetPSSCallback
b _080C8B82
.pool
_080C8AFC:
ldr r0, =sub_80C9298
- bl add_to_c3_somehow
+ bl SetPSSCallback
b _080C8B82
.pool
_080C8B08:
movs r0, 0x5
bl PlaySE
ldr r0, =sub_80C93B0
- bl add_to_c3_somehow
+ bl SetPSSCallback
b _080C8B82
.pool
_080C8B1C:
movs r0, 0x5
bl PlaySE
ldr r0, =sub_80C9B88
- bl add_to_c3_somehow
+ bl SetPSSCallback
b _080C8B82
.pool
_080C8B30:
ldr r0, =sub_80C9498
- bl add_to_c3_somehow
+ bl SetPSSCallback
b _080C8B82
.pool
_080C8B3C:
@@ -1492,7 +922,7 @@ _080C8B50:
bl PlaySE
movs r0, 0x16
_080C8B58:
- bl sub_80CAC58
+ bl PrintStorageActionText
ldr r0, =gUnknown_02039D08
ldr r1, [r0]
movs r0, 0x6
@@ -1508,7 +938,7 @@ _080C8B6C:
beq _080C8B82
bl sub_80CADC4
ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
+ bl SetPSSCallback
_080C8B82:
pop {r4}
pop {r0}
@@ -1541,17 +971,17 @@ _080C8BB8:
lsls r0, 24
cmp r0, 0
bne _080C8BE2
- ldr r0, =gUnknown_02039D0C
+ ldr r0, =sInPartyMenu
ldrb r0, [r0]
cmp r0, 0
beq _080C8BDC
ldr r0, =sub_80C9670
- bl add_to_c3_somehow
+ bl SetPSSCallback
b _080C8BE2
.pool
_080C8BDC:
ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
+ bl SetPSSCallback
_080C8BE2:
pop {r4}
pop {r0}
@@ -1584,17 +1014,17 @@ _080C8C14:
lsls r0, 24
cmp r0, 0
bne _080C8C3E
- ldr r0, =gUnknown_02039D0C
+ ldr r0, =sInPartyMenu
ldrb r0, [r0]
cmp r0, 0
beq _080C8C38
ldr r0, =sub_80C9670
- bl add_to_c3_somehow
+ bl SetPSSCallback
b _080C8C3E
.pool
_080C8C38:
ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
+ bl SetPSSCallback
_080C8C3E:
pop {r4}
pop {r0}
@@ -1629,7 +1059,7 @@ _080C8C70:
bne _080C8C84
bl BoxSetMosaic
ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
+ bl SetPSSCallback
_080C8C84:
pop {r4}
pop {r0}
@@ -1666,7 +1096,7 @@ _080C8CC8:
cmp r0, 0x6
bne _080C8CE8
movs r0, 0xE
- bl sub_80CAC58
+ bl PrintStorageActionText
ldr r0, =gUnknown_02039D08
ldr r1, [r0]
movs r0, 0x1
@@ -1692,7 +1122,7 @@ _080C8D00:
beq _080C8D6E
bl sub_80CADC4
ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
+ bl SetPSSCallback
b _080C8D6E
.pool
_080C8D20:
@@ -1728,7 +1158,7 @@ _080C8D56:
.pool
_080C8D68:
ldr r0, =sub_80C87E8
- bl add_to_c3_somehow
+ bl SetPSSCallback
_080C8D6E:
pop {r0}
bx r0
@@ -1761,7 +1191,7 @@ _080C8D9C:
.4byte _080C8E88
_080C8DB0:
movs r0, 0x6
- bl sub_80CAC58
+ bl PrintStorageActionText
ldr r4, =gUnknown_02039D08
ldr r0, [r4]
ldr r1, =0x00001e5c
@@ -1811,7 +1241,7 @@ _080C8E0C:
.pool
_080C8E38:
movs r0, 0x8
- bl sub_80CAC58
+ bl PrintStorageActionText
ldr r0, =gUnknown_02039D08
ldr r1, [r0]
movs r0, 0x4
@@ -1836,7 +1266,7 @@ _080C8E64:
bl sub_80CAB20
_080C8E7A:
ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
+ bl SetPSSCallback
b _080C8EA2
.pool
_080C8E88:
@@ -1847,7 +1277,7 @@ _080C8E88:
cmp r0, 0
beq _080C8EA2
movs r0, 0x6
- bl sub_80CAC58
+ bl PrintStorageActionText
ldr r0, =gUnknown_02039D08
ldr r1, [r0]
movs r0, 0x1
@@ -1895,7 +1325,7 @@ _080C8ED4:
.4byte _080C9080
_080C8F0C:
movs r0, 0x9
- bl sub_80CAC58
+ bl PrintStorageActionText
movs r0, 0x1
bl sub_80CAD9C
ldr r0, =gUnknown_02039D08
@@ -1974,7 +1404,7 @@ _080C8FA4:
cmp r0, 0
beq _080C9096
bl sub_80CADC4
- ldr r0, =gUnknown_02039D0C
+ ldr r0, =sInPartyMenu
ldrb r0, [r0]
cmp r0, 0
beq _080C8FD0
@@ -2000,7 +1430,7 @@ _080C8FE0:
b _080C905C
_080C8FF8:
ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
+ bl SetPSSCallback
b _080C9096
.pool
_080C9004:
@@ -2044,7 +1474,7 @@ _080C904A:
beq _080C9096
movs r0, 0x14
_080C9058:
- bl sub_80CAC58
+ bl PrintStorageActionText
_080C905C:
ldr r0, =gUnknown_02039D08
ldr r1, [r0]
@@ -2069,7 +1499,7 @@ _080C9080:
beq _080C9096
bl sub_80CADC4
ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
+ bl SetPSSCallback
_080C9096:
pop {r0}
bx r0
@@ -2090,7 +1520,7 @@ sub_80C90A4: @ 80C90A4
.pool
_080C90BC:
movs r0, 0xC
- bl sub_80CAC58
+ bl PrintStorageActionText
ldr r0, [r4]
ldr r2, =0x00000ceb
adds r1, r0, r2
@@ -2124,7 +1554,7 @@ _080C90F0:
bl sub_80CE9A8
bl sub_80CA230
ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
+ bl SetPSSCallback
_080C9118:
pop {r4}
pop {r0}
@@ -2165,13 +1595,13 @@ _080C914E:
.pool
_080C9168:
ldr r0, =sub_80C96B8
- bl add_to_c3_somehow
+ bl SetPSSCallback
b _080C91D2
.pool
_080C9174:
movs r0, 0x2
bl sub_80CFE54
- ldr r0, =gUnknown_02039D0C
+ ldr r0, =sInPartyMenu
ldrb r0, [r0]
negs r4, r0
orrs r4, r0
@@ -2206,7 +1636,7 @@ _080C91C2:
cmp r0, 0
bne _080C91D2
ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
+ bl SetPSSCallback
_080C91D2:
pop {r4,r5}
pop {r0}
@@ -2238,7 +1668,7 @@ _080C91FC:
_080C9210:
movs r0, 0x2
bl sub_80CFE54
- ldr r0, =gUnknown_02039D0C
+ ldr r0, =sInPartyMenu
ldrb r0, [r0]
negs r4, r0
orrs r4, r0
@@ -2261,7 +1691,7 @@ _080C9238:
bl sub_80CE00C
bl sub_80CA4FC
movs r0, 0x1C
- bl sub_80CAC58
+ bl PrintStorageActionText
b _080C9268
_080C9258:
ldr r0, =gMain
@@ -2286,7 +1716,7 @@ _080C927C:
cmp r0, 0
bne _080C928C
ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
+ bl SetPSSCallback
_080C928C:
pop {r4}
pop {r0}
@@ -2331,7 +1761,7 @@ _080C92D0:
movs r0, 0x20
bl PlaySE
movs r0, 0x1A
- bl sub_80CAC58
+ bl PrintStorageActionText
ldr r1, [r5]
movs r0, 0x3
strb r0, [r1]
@@ -2340,7 +1770,7 @@ _080C92D0:
_080C92FC:
movs r0, 0x5
bl PlaySE
- ldr r0, =gUnknown_02039D0C
+ ldr r0, =sInPartyMenu
ldrb r0, [r0]
negs r4, r0
orrs r4, r0
@@ -2362,7 +1792,7 @@ _080C9328:
cmp r0, 0
bne _080C93A2
movs r0, 0x19
- bl sub_80CAC58
+ bl PrintStorageActionText
ldr r0, =gUnknown_02039D08
ldr r1, [r0]
movs r0, 0x2
@@ -2391,7 +1821,7 @@ _080C9374:
cmp r0, 0
bne _080C93A2
ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
+ bl SetPSSCallback
b _080C93A2
.pool
_080C938C:
@@ -2403,7 +1833,7 @@ _080C938C:
beq _080C93A2
bl sub_80CADC4
ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
+ bl SetPSSCallback
_080C93A2:
pop {r4,r5}
pop {r0}
@@ -2448,13 +1878,13 @@ _080C93E4:
.pool
_080C9404:
ldr r0, =sub_80C96B8
- bl add_to_c3_somehow
+ bl SetPSSCallback
b _080C948C
.pool
_080C9410:
movs r0, 0x2
bl sub_80CFE54
- ldr r0, =gUnknown_02039D0C
+ ldr r0, =sInPartyMenu
ldrb r0, [r0]
negs r4, r0
orrs r4, r0
@@ -2477,7 +1907,7 @@ _080C9438:
bl sub_80CE00C
bl sub_80CA4FC
movs r0, 0x1D
- bl sub_80CAC58
+ bl PrintStorageActionText
b _080C9468
_080C9458:
ldr r0, =gMain
@@ -2502,7 +1932,7 @@ _080C947C:
cmp r0, 0
bne _080C948C
ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
+ bl SetPSSCallback
_080C948C:
pop {r4}
pop {r0}
@@ -2583,7 +2013,7 @@ _080C9534:
cmp r0, 0
bne _080C9544
ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
+ bl SetPSSCallback
_080C9544:
pop {r0}
bx r0
@@ -2618,7 +2048,7 @@ _080C9584:
movs r0, 0x5
bl PlaySE
movs r0, 0x1B
- bl sub_80CAC58
+ bl PrintStorageActionText
movs r0, 0
bl sub_80CAD9C
ldr r0, =gUnknown_02039D08
@@ -2666,7 +2096,7 @@ _080C95C8:
.pool
_080C95F4:
movs r0, 0x1A
- bl sub_80CAC58
+ bl PrintStorageActionText
ldr r1, [r4]
movs r0, 0x2
strb r0, [r1]
@@ -2702,7 +2132,7 @@ _080C9638:
bl sub_80CFE54
_080C9648:
ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
+ bl SetPSSCallback
b _080C9664
.pool
_080C9654:
@@ -2711,7 +2141,7 @@ _080C9654:
cmp r0, 0
bne _080C9664
ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
+ bl SetPSSCallback
_080C9664:
pop {r4}
pop {r0}
@@ -2746,7 +2176,7 @@ _080C969A:
bne _080C96AE
bl sub_80CAB20
ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
+ bl SetPSSCallback
_080C96AE:
pop {r4}
pop {r0}
@@ -2776,7 +2206,7 @@ _080C96D4:
b _080C9720
_080C96DE:
movs r0, 0x1E
- bl sub_80CAC58
+ bl PrintStorageActionText
b _080C9702
_080C96E6:
bl IsDma3ManagerBusyWithBgCopy
@@ -2805,7 +2235,7 @@ _080C9710:
cmp r0, 0
bne _080C9720
ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
+ bl SetPSSCallback
_080C9720:
pop {r4}
pop {r0}
@@ -2833,7 +2263,7 @@ _080C9748:
b _080C9818
_080C974E:
movs r0, 0x1
- bl sub_80CAC58
+ bl PrintStorageActionText
bl sub_80CFFD0
ldr r1, [r4]
ldrb r0, [r1]
@@ -2882,14 +2312,14 @@ _080C97C4:
bl sub_80CD1A8
bl sub_80CADC4
ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
+ bl SetPSSCallback
b _080C9818
.pool
_080C97DC:
movs r0, 0x5
bl PlaySE
ldr r0, =sub_80C9AC8
- bl add_to_c3_somehow
+ bl SetPSSCallback
b _080C9818
.pool
_080C97F0:
@@ -2897,7 +2327,7 @@ _080C97F0:
bl PlaySE
bl sub_80CADC4
ldr r0, =sub_80C9824
- bl add_to_c3_somehow
+ bl SetPSSCallback
b _080C9818
.pool
_080C9808:
@@ -2905,7 +2335,7 @@ _080C9808:
bl PlaySE
bl sub_80CADC4
ldr r0, =sub_80C99D8
- bl add_to_c3_somehow
+ bl SetPSSCallback
_080C9818:
pop {r4}
pop {r0}
@@ -2941,7 +2371,7 @@ _080C9844:
_080C9860:
bl sub_80CADD8
movs r0, 0x2
- bl sub_80CAC58
+ bl PrintStorageActionText
ldr r0, =gUnknown_02039D08
ldr r1, [r0]
ldrb r0, [r1]
@@ -3027,7 +2457,7 @@ _080C990C:
ldrb r0, [r0]
bl sub_80CAE0C
movs r0, 0x3
- bl sub_80CAC58
+ bl PrintStorageActionText
ldr r1, [r4]
ldrb r0, [r1]
adds r0, 0x1
@@ -3080,7 +2510,7 @@ _080C9990:
bl sub_80CD1A8
_080C99A0:
ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
+ bl SetPSSCallback
b _080C99CC
.pool
_080C99AC:
@@ -3129,7 +2559,7 @@ _080C99F4:
b _080C9AB8
_080C99FE:
movs r0, 0x5
- bl sub_80CAC58
+ bl PrintStorageActionText
ldr r0, [r5]
ldr r1, =0x00001e5c
adds r0, r1
@@ -3176,7 +2606,7 @@ _080C9A6C:
movs r0, 0x1
bl sub_80CD1A8
ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
+ bl SetPSSCallback
b _080C9AB8
.pool
_080C9A84:
@@ -3202,7 +2632,7 @@ _080C9A9C:
ldrb r0, [r0]
bl SetCurrentBox
ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
+ bl SetPSSCallback
_080C9AB8:
add sp, 0x4
pop {r4,r5}
@@ -3249,7 +2679,7 @@ _080C9AFE:
movs r0, 0x2
strb r0, [r1, 0x2]
ldr r0, =sub_80C9E50
- bl add_to_c3_somehow
+ bl SetPSSCallback
_080C9B18:
add sp, 0x4
pop {r4,r5}
@@ -3296,7 +2726,7 @@ _080C9B5E:
ldr r0, [r5]
strb r4, [r0, 0x2]
ldr r0, =sub_80C9E50
- bl add_to_c3_somehow
+ bl SetPSSCallback
_080C9B78:
add sp, 0x4
pop {r4,r5}
@@ -3343,7 +2773,7 @@ _080C9BBA:
movs r0, 0x3
strb r0, [r1, 0x2]
ldr r0, =sub_80C9E50
- bl add_to_c3_somehow
+ bl SetPSSCallback
_080C9BD6:
add sp, 0x4
pop {r4}
@@ -3376,14 +2806,14 @@ _080C9C08:
.4byte _080C9CC8
.4byte _080C9CE4
_080C9C1C:
- bl sub_80CEAD0
+ bl IsMonBeingMoved
lsls r0, 24
cmp r0, 0
beq _080C9C40
movs r0, 0x20
bl PlaySE
movs r0, 0xF
- bl sub_80CAC58
+ bl PrintStorageActionText
ldr r0, =gUnknown_02039D08
ldr r1, [r0]
movs r0, 0x1
@@ -3396,14 +2826,14 @@ _080C9C40:
cmp r0, 0
beq _080C9C58
ldr r0, =sub_80C954C
- bl add_to_c3_somehow
+ bl SetPSSCallback
b _080C9D08
.pool
_080C9C58:
movs r0, 0x5
bl PlaySE
movs r0, 0
- bl sub_80CAC58
+ bl PrintStorageActionText
movs r0, 0
bl sub_80CAD9C
ldr r0, =gUnknown_02039D08
@@ -3440,7 +2870,7 @@ _080C9CA6:
_080C9CAA:
bl sub_80CADC4
ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
+ bl SetPSSCallback
b _080C9D08
.pool
_080C9CBC:
@@ -3475,7 +2905,7 @@ _080C9CE4:
ldr r0, [r0]
strb r4, [r0, 0x2]
ldr r0, =sub_80C9E50
- bl add_to_c3_somehow
+ bl SetPSSCallback
_080C9D08:
pop {r4}
pop {r0}
@@ -3507,14 +2937,14 @@ _080C9D3C:
.4byte _080C9DFC
.4byte _080C9E18
_080C9D50:
- bl sub_80CEAD0
+ bl IsMonBeingMoved
lsls r0, 24
cmp r0, 0
beq _080C9D74
movs r0, 0x20
bl PlaySE
movs r0, 0xF
- bl sub_80CAC58
+ bl PrintStorageActionText
ldr r0, =gUnknown_02039D08
ldr r1, [r0]
movs r0, 0x1
@@ -3527,14 +2957,14 @@ _080C9D74:
cmp r0, 0
beq _080C9D8C
ldr r0, =sub_80C954C
- bl add_to_c3_somehow
+ bl SetPSSCallback
b _080C9E3C
.pool
_080C9D8C:
movs r0, 0x5
bl PlaySE
movs r0, 0x12
- bl sub_80CAC58
+ bl PrintStorageActionText
movs r0, 0
bl sub_80CAD9C
ldr r0, =gUnknown_02039D08
@@ -3572,7 +3002,7 @@ _080C9DDA:
_080C9DE0:
bl sub_80CADC4
ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
+ bl SetPSSCallback
b _080C9E3C
.pool
_080C9DF0:
@@ -3607,7 +3037,7 @@ _080C9E18:
ldr r0, [r0]
strb r4, [r0, 0x2]
ldr r0, =sub_80C9E50
- bl add_to_c3_somehow
+ bl SetPSSCallback
_080C9E3C:
pop {r4}
pop {r0}
@@ -3746,7 +3176,7 @@ sub_80C9F6C: @ 80C9F6C
bl sub_80CFE08
lsls r0, 24
lsrs r1, r0, 24
- ldr r0, =gUnknown_02039D0C
+ ldr r0, =sInPartyMenu
ldrb r0, [r0]
cmp r0, 0
beq _080C9FAC
@@ -4627,7 +4057,7 @@ sub_80CA704: @ 80CA704
movs r2, 0
bl sub_80D2770
bl sub_80CAA74
- ldr r0, =gUnknown_02039D0C
+ ldr r0, =sInPartyMenu
ldrb r0, [r0]
cmp r0, 0
beq _080CA790
@@ -4741,7 +4171,7 @@ sub_80CA80C: @ 80CA80C
b _080CA87C
.pool
_080CA874:
- ldr r1, =gUnknown_02039D0C
+ ldr r1, =sInPartyMenu
movs r0, 0x1
strb r0, [r1]
_080CA87A:
@@ -4842,7 +4272,7 @@ sub_80CA8C8: @ 80CA8C8
b _080CA976
.pool
_080CA94C:
- ldr r0, =gUnknown_02039D0C
+ ldr r0, =sInPartyMenu
movs r1, 0
strb r1, [r0]
bl sub_80CBB9C
@@ -5226,14 +4656,14 @@ sub_80CAC1C: @ 80CAC1C
bx r0
thumb_func_end sub_80CAC1C
- thumb_func_start sub_80CAC58
-sub_80CAC58: @ 80CAC58
+ thumb_func_start PrintStorageActionText
+PrintStorageActionText: @ 80CAC58
push {r4-r6,lr}
sub sp, 0xC
lsls r0, 24
lsrs r6, r0, 24
bl DynamicPlaceholderTextUtil_Reset
- ldr r1, =gUnknown_0857276C
+ ldr r1, =gPCStorageActionTexts
lsls r0, r6, 3
adds r0, r1
ldrb r0, [r0, 0x4]
@@ -5318,7 +4748,7 @@ _080CAD30:
ldr r0, [r5]
ldr r4, =0x00002190
adds r0, r4
- ldr r2, =gUnknown_0857276C
+ ldr r2, =gPCStorageActionTexts
lsls r1, r6, 3
adds r1, r2
ldr r1, [r1]
@@ -5354,7 +4784,7 @@ _080CAD30:
pop {r0}
bx r0
.pool
- thumb_func_end sub_80CAC58
+ thumb_func_end PrintStorageActionText
thumb_func_start sub_80CAD9C
sub_80CAD9C: @ 80CAD9C
@@ -5480,7 +4910,7 @@ _080CAE96:
thumb_func_start sub_80CAEA0
sub_80CAEA0: @ 80CAEA0
- ldr r0, =gUnknown_02039D0D
+ ldr r0, =sBoxOption
ldrb r0, [r0]
bx lr
.pool
@@ -5489,11 +4919,11 @@ sub_80CAEA0: @ 80CAEA0
thumb_func_start sub_80CAEAC
sub_80CAEAC: @ 80CAEAC
push {lr}
- bl sub_80CEADC
+ bl IsCursorOnBox
lsls r0, 24
cmp r0, 0
bne _080CAEE8
- ldr r0, =gUnknown_02039D0C
+ ldr r0, =sInPartyMenu
ldrb r0, [r0]
cmp r0, 0
beq _080CAED8
@@ -5609,7 +5039,7 @@ _080CAF6A:
thumb_func_start sub_80CAFAC
sub_80CAFAC: @ 80CAFAC
push {lr}
- bl sub_80CEB24
+ bl IsCursorInBox
lsls r0, 24
movs r1, 0x1
cmp r0, 0
@@ -9625,7 +9055,7 @@ _080CD088:
lsrs r5, r0, 16
cmp r5, 0x1
bls _080CD036
- bl sub_80CEADC
+ bl IsCursorOnBox
lsls r0, 24
cmp r0, 0
beq _080CD0A2
@@ -10000,25 +9430,25 @@ sub_80CD36C: @ 80CD36C
ldrb r1, [r0, 0x1]
cmp r1, 0x1
beq _080CD388
- ldr r1, =gUnknown_02039D78
+ ldr r1, =sBoxCursorAction
movs r0, 0
strb r0, [r1]
b _080CD38C
.pool
_080CD388:
- ldr r0, =gUnknown_02039D78
+ ldr r0, =sBoxCursorAction
strb r1, [r0]
_080CD38C:
- ldr r0, =gUnknown_02039D79
+ ldr r0, =sBoxCursorPosition
movs r1, 0
strb r1, [r0]
- ldr r0, =gUnknown_02039D7A
+ ldr r0, =sIsMonBeingMoved
strb r1, [r0]
- ldr r0, =gUnknown_02039D7B
+ ldr r0, =sMovingMonOrigBoxId
strb r1, [r0]
- ldr r0, =gUnknown_02039D7C
+ ldr r0, =sMovingMonOrigBoxPos
strb r1, [r0]
- ldr r0, =gUnknown_02039D7D
+ ldr r0, =sCanOnlyMove
strb r1, [r0]
bl sub_80CDC0C
bl sub_80CFC14
@@ -10055,7 +9485,7 @@ sub_80CD3EC: @ 80CD3EC
ldr r1, =0x000021ff
adds r0, r1
strb r2, [r0]
- ldr r0, =gUnknown_02039D7A
+ ldr r0, =sIsMonBeingMoved
ldrb r0, [r0]
cmp r0, 0
beq _080CD426
@@ -10147,7 +9577,7 @@ _080CD4CE:
movs r0, 0xC
b _080CD4FA
_080CD4D6:
- ldr r0, =gUnknown_02039D7A
+ ldr r0, =sIsMonBeingMoved
ldrb r0, [r0]
movs r1, 0xE
cmp r0, 0
@@ -10176,7 +9606,7 @@ _080CD4FC:
thumb_func_start sub_80CD504
sub_80CD504: @ 80CD504
push {lr}
- ldr r0, =gUnknown_02039D78
+ ldr r0, =sBoxCursorAction
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
@@ -10184,7 +9614,7 @@ sub_80CD504: @ 80CD504
beq _080CD538
cmp r0, 0x1
bne _080CD54C
- ldr r0, =gUnknown_02039D79
+ ldr r0, =sBoxCursorPosition
movs r1, 0
ldrsb r1, [r0, r1]
movs r0, 0x64
@@ -10196,7 +9626,7 @@ sub_80CD504: @ 80CD504
b _080CD542
.pool
_080CD538:
- ldr r0, =gUnknown_02039D79
+ ldr r0, =sBoxCursorPosition
ldrb r0, [r0]
movs r1, 0xB
bl GetBoxMonDataFromSelectedBox
@@ -10617,7 +10047,7 @@ sub_80CD894: @ 80CD894
ldrb r0, [r0]
cmp r0, 0
bne _080CD8FC
- ldr r0, =gUnknown_02039D7A
+ ldr r0, =sIsMonBeingMoved
ldrb r0, [r0]
cmp r0, 0
bne _080CD8FC
@@ -10645,13 +10075,13 @@ _080CD8FC:
ldrb r0, [r0, 0x1]
cmp r0, 0x3
bne _080CD95C
- ldr r0, =gUnknown_02039D78
+ ldr r0, =sBoxCursorAction
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
cmp r0, 0
bne _080CD930
- ldr r0, =gUnknown_02039D79
+ ldr r0, =sBoxCursorPosition
ldrb r1, [r0]
movs r0, 0
bl sub_80D0E50
@@ -10660,7 +10090,7 @@ _080CD8FC:
_080CD930:
cmp r0, 0x1
bne _080CD93E
- ldr r0, =gUnknown_02039D79
+ ldr r0, =sBoxCursorPosition
ldrb r1, [r0]
movs r0, 0x1
bl sub_80D0E50
@@ -10681,7 +10111,7 @@ _080CD950:
_080CD95C:
cmp r4, 0x1
bne _080CD988
- ldr r0, =gUnknown_02039D78
+ ldr r0, =sBoxCursorAction
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
@@ -10776,13 +10206,13 @@ _080CDA28:
movs r1, 0x8
orrs r0, r1
strb r0, [r2, 0x5]
- ldr r0, =gUnknown_02039D78
+ ldr r0, =sBoxCursorAction
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
cmp r0, 0
bne _080CDA56
- ldr r0, =gUnknown_02039D7A
+ ldr r0, =sIsMonBeingMoved
ldrb r0, [r0]
cmp r0, 0
beq _080CDA56
@@ -10798,14 +10228,14 @@ _080CDA56:
thumb_func_start sub_80CDA68
sub_80CDA68: @ 80CDA68
push {r4,lr}
- ldr r1, =gUnknown_02039D78
+ ldr r1, =sBoxCursorAction
ldr r4, =gUnknown_02039D08
ldr r2, [r4]
ldr r3, =0x00000cd4
adds r0, r2, r3
ldrb r0, [r0]
strb r0, [r1]
- ldr r1, =gUnknown_02039D79
+ ldr r1, =sBoxCursorPosition
adds r3, 0x1
adds r0, r2, r3
ldrb r0, [r0]
@@ -10818,7 +10248,7 @@ sub_80CDA68: @ 80CDA68
ldrb r0, [r0]
cmp r0, 0
bne _080CDAD8
- ldr r0, =gUnknown_02039D7A
+ ldr r0, =sIsMonBeingMoved
ldrb r0, [r0]
cmp r0, 0
bne _080CDAD8
@@ -10842,7 +10272,7 @@ _080CDAC0:
bl StartSpriteAnim
_080CDAD8:
bl sub_80CEB40
- ldr r0, =gUnknown_02039D78
+ ldr r0, =sBoxCursorAction
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
@@ -10933,7 +10363,7 @@ _080CDB8A:
thumb_func_start sub_80CDBA0
sub_80CDBA0: @ 80CDBA0
push {lr}
- ldr r0, =gUnknown_02039D7A
+ ldr r0, =sIsMonBeingMoved
ldrb r0, [r0]
cmp r0, 0
bne _080CDBB4
@@ -10996,7 +10426,7 @@ sub_80CDC0C: @ 80CDC0C
thumb_func_start sub_80CDC18
sub_80CDC18: @ 80CDC18
ldr r0, =gUnknown_02039D7E
- ldr r1, =gUnknown_02039D79
+ ldr r1, =sBoxCursorPosition
ldrb r1, [r1]
strb r1, [r0]
bx lr
@@ -11104,7 +10534,7 @@ _080CDCEC:
beq _080CDCFE
b _080CDD54
_080CDCF6:
- ldr r0, =gUnknown_02039D7A
+ ldr r0, =sIsMonBeingMoved
ldrb r0, [r0]
cmp r0, 0
beq _080CDD08
@@ -11240,7 +10670,7 @@ _080CDDF8:
beq _080CDEA8
b _080CDEAC
_080CDDFE:
- ldr r0, =gUnknown_02039D78
+ ldr r0, =sBoxCursorAction
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
@@ -11271,7 +10701,7 @@ _080CDE2A:
ldr r2, =0x00000d91
adds r0, r2
ldrb r0, [r0]
- ldr r1, =gUnknown_02039D79
+ ldr r1, =sBoxCursorPosition
ldrb r1, [r1]
bl sub_80CBD5C
ldr r1, [r4]
@@ -11295,7 +10725,7 @@ _080CDE68:
ldr r2, =0x00000d91
adds r0, r2
ldrb r0, [r0]
- ldr r1, =gUnknown_02039D79
+ ldr r1, =sBoxCursorPosition
ldrb r1, [r1]
bl diegohint1
ldr r1, [r4]
@@ -11395,7 +10825,7 @@ _080CDF32:
thumb_func_start sub_80CDF38
sub_80CDF38: @ 80CDF38
push {r4,lr}
- ldr r0, =gUnknown_02039D78
+ ldr r0, =sBoxCursorAction
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
@@ -11403,7 +10833,7 @@ sub_80CDF38: @ 80CDF38
beq _080CDF68
cmp r0, 0x1
bne _080CDF94
- ldr r4, =gUnknown_02039D79
+ ldr r4, =sBoxCursorPosition
ldrb r1, [r4]
movs r0, 0xE
bl sub_80CE018
@@ -11423,14 +10853,14 @@ _080CDF68:
bl StorageGetCurrentBox
lsls r0, 24
lsrs r0, 24
- ldr r4, =gUnknown_02039D79
+ ldr r4, =sBoxCursorPosition
ldrb r1, [r4]
bl sub_80CE018
ldrb r1, [r4]
movs r0, 0x1
bl sub_80CBC14
_080CDF8E:
- ldr r1, =gUnknown_02039D7A
+ ldr r1, =sIsMonBeingMoved
movs r0, 0x1
strb r0, [r1]
_080CDF94:
@@ -11443,7 +10873,7 @@ _080CDF94:
thumb_func_start sub_80CDFAC
sub_80CDFAC: @ 80CDFAC
push {r4,r5,lr}
- ldr r0, =gUnknown_02039D78
+ ldr r0, =sBoxCursorAction
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
@@ -11451,7 +10881,7 @@ sub_80CDFAC: @ 80CDFAC
beq _080CDFDC
cmp r0, 0x1
bne _080CDFFE
- ldr r4, =gUnknown_02039D79
+ ldr r4, =sBoxCursorPosition
ldrb r1, [r4]
movs r0, 0xE
bl diegohint2
@@ -11465,7 +10895,7 @@ _080CDFDC:
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
- ldr r5, =gUnknown_02039D79
+ ldr r5, =sBoxCursorPosition
ldrb r1, [r5]
adds r0, r4, 0
bl diegohint2
@@ -11473,7 +10903,7 @@ _080CDFDC:
adds r0, r4, 0
bl sub_80CBCAC
_080CDFF8:
- ldr r1, =gUnknown_02039D7A
+ ldr r1, =sIsMonBeingMoved
movs r0, 0
strb r0, [r1]
_080CDFFE:
@@ -11505,7 +10935,7 @@ sub_80CE018: @ 80CE018
ldr r1, =0x000020a4
adds r0, r1
ldr r3, =gPlayerParty
- ldr r1, =gUnknown_02039D79
+ ldr r1, =sBoxCursorPosition
movs r2, 0
ldrsb r2, [r1, r2]
movs r1, 0x64
@@ -11527,9 +10957,9 @@ _080CE064:
adds r0, r4, 0
adds r1, r5, 0
bl sub_80CE0E8
- ldr r0, =gUnknown_02039D7B
+ ldr r0, =sMovingMonOrigBoxId
strb r4, [r0]
- ldr r0, =gUnknown_02039D7C
+ ldr r0, =sMovingMonOrigBoxPos
strb r5, [r0]
pop {r4,r5}
pop {r0}
@@ -11644,9 +11074,9 @@ _080CE154:
adds r0, r4
movs r1, 0
bl sub_80CEC00
- ldr r0, =gUnknown_02039D7B
+ ldr r0, =sMovingMonOrigBoxId
strb r6, [r0]
- ldr r0, =gUnknown_02039D7C
+ ldr r0, =sMovingMonOrigBoxPos
strb r7, [r0]
pop {r4-r7}
pop {r0}
@@ -11671,7 +11101,7 @@ sub_80CE19C: @ 80CE19C
movs r0, 0
b _080CE21A
_080CE1BA:
- ldr r5, =gUnknown_02039D7A
+ ldr r5, =sIsMonBeingMoved
ldrb r0, [r5]
cmp r0, 0
beq _080CE1DC
@@ -11685,7 +11115,7 @@ _080CE1BA:
b _080CE1F6
.pool
_080CE1DC:
- ldr r5, =gUnknown_02039D79
+ ldr r5, =sBoxCursorPosition
ldrb r1, [r5]
movs r0, 0xE
bl sub_80CE018
@@ -11738,7 +11168,7 @@ sub_80CE22C: @ 80CE22C
thumb_func_start sub_80CE250
sub_80CE250: @ 80CE250
push {lr}
- ldr r0, =gUnknown_02039D7A
+ ldr r0, =sIsMonBeingMoved
ldrb r0, [r0]
cmp r0, 0
beq _080CE264
@@ -11746,7 +11176,7 @@ sub_80CE250: @ 80CE250
b _080CE274
.pool
_080CE264:
- ldr r0, =gUnknown_02039D78
+ ldr r0, =sBoxCursorAction
movs r1, 0
ldrsb r1, [r0, r1]
movs r2, 0x1
@@ -11755,7 +11185,7 @@ _080CE264:
orrs r0, r1
lsrs r2, r0, 31
_080CE274:
- ldr r0, =gUnknown_02039D79
+ ldr r0, =sBoxCursorPosition
ldrb r1, [r0]
adds r0, r2, 0
bl sub_80CBF14
@@ -11799,7 +11229,7 @@ _080CE2CA:
sub_80CE2D8: @ 80CE2D8
push {lr}
bl sub_80CC020
- ldr r1, =gUnknown_02039D7A
+ ldr r1, =sIsMonBeingMoved
ldrb r0, [r1]
cmp r0, 0
beq _080CE2F0
@@ -11808,7 +11238,7 @@ sub_80CE2D8: @ 80CE2D8
b _080CE316
.pool
_080CE2F0:
- ldr r0, =gUnknown_02039D78
+ ldr r0, =sBoxCursorAction
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
@@ -11822,7 +11252,7 @@ _080CE304:
lsls r0, 24
lsrs r2, r0, 24
_080CE30C:
- ldr r0, =gUnknown_02039D79
+ ldr r0, =sBoxCursorPosition
ldrb r1, [r0]
adds r0, r2, 0
bl sub_80CE0E8
@@ -11836,7 +11266,7 @@ _080CE316:
thumb_func_start sub_80CE324
sub_80CE324: @ 80CE324
push {lr}
- ldr r0, =gUnknown_02039D7A
+ ldr r0, =sIsMonBeingMoved
ldrb r0, [r0]
cmp r0, 0
beq _080CE33E
@@ -11914,7 +11344,7 @@ sub_80CE3A0: @ 80CE3A0
b _080CE504
.pool
_080CE3D0:
- ldr r0, =gUnknown_02039D7A
+ ldr r0, =sIsMonBeingMoved
ldrb r0, [r0]
cmp r0, 0
beq _080CE418
@@ -11939,7 +11369,7 @@ _080CE3D0:
b _080CE494
.pool
_080CE418:
- ldr r0, =gUnknown_02039D78
+ ldr r0, =sBoxCursorAction
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
@@ -11950,7 +11380,7 @@ _080CE418:
ldr r2, =0x00002108
adds r0, r2
ldr r3, =gPlayerParty
- ldr r1, =gUnknown_02039D79
+ ldr r1, =sBoxCursorPosition
movs r2, 0
ldrsb r2, [r1, r2]
movs r1, 0x64
@@ -11969,7 +11399,7 @@ _080CE464:
bl StorageGetCurrentBox
lsls r0, 24
lsrs r0, 24
- ldr r1, =gUnknown_02039D79
+ ldr r1, =sBoxCursorPosition
ldrb r1, [r1]
ldr r4, =gUnknown_02039D08
ldr r2, [r4]
@@ -11984,7 +11414,7 @@ _080CE464:
_080CE488:
ldr r0, =gUnknown_02039D08
ldr r0, [r0]
- ldr r1, =gUnknown_02039D79
+ ldr r1, =sBoxCursorPosition
ldrb r1, [r1]
ldr r3, =0x00002171
adds r0, r3
@@ -12040,7 +11470,7 @@ _080CE504:
thumb_func_start sub_80CE51C
sub_80CE51C: @ 80CE51C
push {r4-r6,lr}
- ldr r0, =gUnknown_02039D7A
+ ldr r0, =sIsMonBeingMoved
ldrb r1, [r0]
negs r0, r1
orrs r0, r1
@@ -12309,7 +11739,7 @@ _080CE736:
thumb_func_start sub_80CE760
sub_80CE760: @ 80CE760
push {lr}
- ldr r0, =gUnknown_02039D7A
+ ldr r0, =sIsMonBeingMoved
ldrb r0, [r0]
cmp r0, 0
beq _080CE77A
@@ -12329,11 +11759,11 @@ _080CE77A:
thumb_func_start sub_80CE790
sub_80CE790: @ 80CE790
push {lr}
- ldr r0, =gUnknown_02039D7A
+ ldr r0, =sIsMonBeingMoved
ldrb r0, [r0]
cmp r0, 0
beq _080CE7D8
- ldr r0, =gUnknown_02039D7B
+ ldr r0, =sMovingMonOrigBoxId
ldrb r0, [r0]
cmp r0, 0xE
bne _080CE7C8
@@ -12363,7 +11793,7 @@ _080CE7D8:
thumb_func_start sub_80CE7E8
sub_80CE7E8: @ 80CE7E8
push {r4,r5,lr}
- ldr r0, =gUnknown_02039D7A
+ ldr r0, =sIsMonBeingMoved
ldrb r5, [r0]
cmp r5, 0
beq _080CE838
@@ -12389,7 +11819,7 @@ sub_80CE7E8: @ 80CE7E8
b _080CE8CA
.pool
_080CE838:
- ldr r0, =gUnknown_02039D78
+ ldr r0, =sBoxCursorAction
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
@@ -12401,7 +11831,7 @@ _080CE838:
adds r2, r1, r0
ldr r0, =gPlayerParty
str r0, [r2]
- ldr r0, =gUnknown_02039D79
+ ldr r0, =sBoxCursorPosition
ldrb r0, [r0]
ldr r2, =0x00002187
adds r1, r2
@@ -12429,7 +11859,7 @@ _080CE894:
ldr r4, =0x0000218c
adds r1, r2, r4
str r0, [r1]
- ldr r0, =gUnknown_02039D79
+ ldr r0, =sBoxCursorPosition
ldrb r0, [r0]
ldr r1, =0x00002187
adds r2, r1
@@ -12454,7 +11884,7 @@ _080CE8CA:
thumb_func_start sub_80CE8E4
sub_80CE8E4: @ 80CE8E4
push {lr}
- ldr r0, =gUnknown_02039D7A
+ ldr r0, =sIsMonBeingMoved
ldrb r0, [r0]
cmp r0, 0
beq _080CE8F8
@@ -12462,7 +11892,7 @@ sub_80CE8E4: @ 80CE8E4
b _080CE900
.pool
_080CE8F8:
- ldr r0, =gUnknown_02039D79
+ ldr r0, =sBoxCursorPosition
ldr r1, =gUnknown_0203CF20
ldrb r1, [r1]
strb r1, [r0]
@@ -12565,7 +11995,7 @@ sub_80CE9A8: @ 80CE9A8
ldr r3, =0x00000ceb
adds r1, r3
strb r0, [r1]
- ldr r0, =gUnknown_02039D7A
+ ldr r0, =sIsMonBeingMoved
ldrb r0, [r0]
cmp r0, 0
beq _080CE9E8
@@ -12578,12 +12008,12 @@ sub_80CE9A8: @ 80CE9A8
b _080CEA1C
.pool
_080CE9E8:
- ldr r4, =gUnknown_02039D78
+ ldr r4, =sBoxCursorAction
movs r0, 0
ldrsb r0, [r4, r0]
cmp r0, 0x1
bne _080CEA08
- ldr r0, =gUnknown_02039D79
+ ldr r0, =sBoxCursorPosition
movs r1, 0
ldrsb r1, [r0, r1]
movs r0, 0x64
@@ -12598,7 +12028,7 @@ _080CEA08:
ldrsb r0, [r4, r0]
cmp r0, 0
bne _080CEA1C
- ldr r0, =gUnknown_02039D79
+ ldr r0, =sBoxCursorPosition
ldrb r0, [r0]
movs r1, 0x8
mov r2, sp
@@ -12611,20 +12041,20 @@ _080CEA1C:
.pool
thumb_func_end sub_80CE9A8
- thumb_func_start sub_80CEA30
-sub_80CEA30: @ 80CEA30
+ thumb_func_start CanMoveMon
+CanMoveMon: @ 80CEA30
push {lr}
- ldr r0, =gUnknown_02039D78
+ ldr r0, =sBoxCursorAction
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
cmp r0, 0x1
bne _080CEA64
- ldr r0, =gUnknown_02039D7A
+ ldr r0, =sIsMonBeingMoved
ldrb r0, [r0]
cmp r0, 0
bne _080CEA64
- ldr r0, =gUnknown_02039D79
+ ldr r0, =sBoxCursorPosition
ldrb r0, [r0]
bl CountPartyAliveNonEggMonsExcept
lsls r0, 24
@@ -12638,22 +12068,22 @@ _080CEA64:
_080CEA66:
pop {r1}
bx r1
- thumb_func_end sub_80CEA30
+ thumb_func_end CanMoveMon
- thumb_func_start sub_80CEA6C
-sub_80CEA6C: @ 80CEA6C
+ thumb_func_start CanShifMon
+CanShifMon: @ 80CEA6C
push {lr}
- ldr r0, =gUnknown_02039D7A
+ ldr r0, =sIsMonBeingMoved
ldrb r0, [r0]
cmp r0, 0
beq _080CEAC8
- ldr r0, =gUnknown_02039D78
+ ldr r0, =sBoxCursorAction
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
cmp r0, 0x1
bne _080CEAAC
- ldr r0, =gUnknown_02039D79
+ ldr r0, =sBoxCursorPosition
ldrb r0, [r0]
bl CountPartyAliveNonEggMonsExcept
lsls r0, 24
@@ -12681,21 +12111,21 @@ _080CEAC8:
_080CEACA:
pop {r1}
bx r1
- thumb_func_end sub_80CEA6C
+ thumb_func_end CanShifMon
- thumb_func_start sub_80CEAD0
-sub_80CEAD0: @ 80CEAD0
- ldr r0, =gUnknown_02039D7A
+ thumb_func_start IsMonBeingMoved
+IsMonBeingMoved: @ 80CEAD0
+ ldr r0, =sIsMonBeingMoved
ldrb r0, [r0]
bx lr
.pool
- thumb_func_end sub_80CEAD0
+ thumb_func_end IsMonBeingMoved
- thumb_func_start sub_80CEADC
-sub_80CEADC: @ 80CEADC
+ thumb_func_start IsCursorOnBox
+IsCursorOnBox: @ 80CEADC
push {lr}
movs r1, 0
- ldr r0, =gUnknown_02039D78
+ ldr r0, =sBoxCursorAction
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
@@ -12707,19 +12137,19 @@ _080CEAEE:
pop {r1}
bx r1
.pool
- thumb_func_end sub_80CEADC
+ thumb_func_end IsCursorOnBox
- thumb_func_start sub_80CEAF8
-sub_80CEAF8: @ 80CEAF8
+ thumb_func_start IsCursorOnCloseBox
+IsCursorOnCloseBox: @ 80CEAF8
push {lr}
movs r1, 0
- ldr r0, =gUnknown_02039D78
+ ldr r0, =sBoxCursorAction
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
cmp r0, 0x3
bne _080CEB16
- ldr r0, =gUnknown_02039D79
+ ldr r0, =sBoxCursorPosition
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
@@ -12731,13 +12161,13 @@ _080CEB16:
pop {r1}
bx r1
.pool
- thumb_func_end sub_80CEAF8
+ thumb_func_end IsCursorOnCloseBox
- thumb_func_start sub_80CEB24
-sub_80CEB24: @ 80CEB24
+ thumb_func_start IsCursorInBox
+IsCursorInBox: @ 80CEB24
push {lr}
movs r1, 0
- ldr r0, =gUnknown_02039D78
+ ldr r0, =sBoxCursorAction
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
@@ -12749,7 +12179,7 @@ _080CEB36:
pop {r1}
bx r1
.pool
- thumb_func_end sub_80CEB24
+ thumb_func_end IsCursorInBox
thumb_func_start sub_80CEB40
sub_80CEB40: @ 80CEB40
@@ -12757,7 +12187,7 @@ sub_80CEB40: @ 80CEB40
ldr r0, =gUnknown_02039D08
ldr r1, [r0]
movs r2, 0
- ldr r3, =gUnknown_02039D7A
+ ldr r3, =sIsMonBeingMoved
ldrb r0, [r3]
cmp r0, 0
bne _080CEB52
@@ -12769,7 +12199,7 @@ _080CEB52:
ldrb r0, [r3]
cmp r0, 0
bne _080CEBD0
- ldr r0, =gUnknown_02039D78
+ ldr r0, =sBoxCursorAction
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
@@ -12786,7 +12216,7 @@ _080CEB84:
bgt _080CEBD0
b _080CEBB0
_080CEB8A:
- ldr r1, =gUnknown_02039D79
+ ldr r1, =sBoxCursorPosition
movs r0, 0
ldrsb r0, [r1, r0]
cmp r0, 0x5
@@ -12809,7 +12239,7 @@ _080CEBBA:
bl StorageGetCurrentBox
lsls r0, 24
lsrs r0, 24
- ldr r1, =gUnknown_02039D79
+ ldr r1, =sBoxCursorPosition
ldrb r1, [r1]
bl GetBoxedMonPtr
movs r1, 0x1
@@ -12824,7 +12254,7 @@ _080CEBD0:
thumb_func_start sub_80CEBDC
sub_80CEBDC: @ 80CEBDC
push {lr}
- ldr r0, =gUnknown_02039D7A
+ ldr r0, =sIsMonBeingMoved
ldrb r0, [r0]
cmp r0, 0
beq _080CEBF8
@@ -13367,10 +12797,10 @@ sub_80CF108: @ 80CF108
mov r6, r9
mov r5, r8
push {r5-r7}
- ldr r0, =gUnknown_02039D78
+ ldr r0, =sBoxCursorAction
ldrb r0, [r0]
mov r8, r0
- ldr r2, =gUnknown_02039D79
+ ldr r2, =sBoxCursorPosition
ldrb r4, [r2]
ldr r5, =gUnknown_02039D08
ldr r0, [r5]
@@ -13502,7 +12932,7 @@ _080CF220:
lsls r0, 24
cmp r0, 0
beq _080CF2E4
- ldr r0, =gUnknown_02039D7D
+ ldr r0, =sCanOnlyMove
ldrb r0, [r0]
cmp r0, 0
bne _080CF244
@@ -13514,7 +12944,7 @@ _080CF244:
ldrb r0, [r1, 0x1]
cmp r0, 0x2
bne _080CF254
- ldr r0, =gUnknown_02039D7A
+ ldr r0, =sIsMonBeingMoved
ldrb r0, [r0]
cmp r0, 0x1
bne _080CF2D4
@@ -13674,7 +13104,7 @@ sub_80CF374: @ 80CF374
ands r0, r1
cmp r0, 0
beq _080CF3AC
- ldr r4, =gUnknown_02039D79
+ ldr r4, =sBoxCursorPosition
movs r0, 0
ldrsb r0, [r4, r0]
movs r1, 0x6
@@ -13691,7 +13121,7 @@ _080CF3AC:
ands r0, r1
cmp r0, 0
beq _080CF3CC
- ldr r1, =gUnknown_02039D79
+ ldr r1, =sBoxCursorPosition
movs r0, 0
ldrsb r0, [r1, r0]
adds r0, 0x6
@@ -13706,7 +13136,7 @@ _080CF3CC:
ands r0, r1
cmp r0, 0
beq _080CF3F0
- ldr r4, =gUnknown_02039D79
+ ldr r4, =sBoxCursorPosition
movs r0, 0
ldrsb r0, [r4, r0]
movs r1, 0x6
@@ -13723,7 +13153,7 @@ _080CF3F0:
ands r0, r1
cmp r0, 0
beq _080CF424
- ldr r4, =gUnknown_02039D79
+ ldr r4, =sBoxCursorPosition
movs r0, 0
ldrsb r0, [r4, r0]
adds r0, 0x1
@@ -13751,13 +13181,13 @@ _080CF428:
bl sub_80D0BA4
lsls r0, 24
lsrs r0, 24
- ldr r1, =gUnknown_02039D79
+ ldr r1, =sBoxCursorPosition
ldrb r1, [r1]
lsls r1, 24
asrs r1, 24
cmp r0, r1
beq _080CF47C
- ldr r2, =gUnknown_02039D7A
+ ldr r2, =sIsMonBeingMoved
ldr r0, =gUnknown_02039D08
ldr r1, [r0]
ldr r3, =0x00000ce4
@@ -13771,7 +13201,7 @@ _080CF428:
movs r0, 0x2
strb r0, [r1]
bl StorageGetCurrentBox
- ldr r1, =gUnknown_02039D7B
+ ldr r1, =sMovingMonOrigBoxId
strb r0, [r1]
movs r0, 0x17
b _080CF49C
@@ -13814,7 +13244,7 @@ sub_80CF4B0: @ 80CF4B0
lsls r0, 24
cmp r0, 0
beq _080CF588
- ldr r0, =gUnknown_02039D79
+ ldr r0, =sBoxCursorPosition
ldrb r1, [r0]
subs r1, 0x6
b _080CF53A
@@ -13829,7 +13259,7 @@ _080CF4DC:
lsls r0, 24
cmp r0, 0
beq _080CF588
- ldr r0, =gUnknown_02039D79
+ ldr r0, =sBoxCursorPosition
ldrb r1, [r0]
adds r1, 0x6
b _080CF53A
@@ -13844,7 +13274,7 @@ _080CF4FC:
lsls r0, 24
cmp r0, 0
beq _080CF5A2
- ldr r0, =gUnknown_02039D79
+ ldr r0, =sBoxCursorPosition
ldrb r1, [r0]
subs r1, 0x1
b _080CF53A
@@ -13861,7 +13291,7 @@ _080CF51C:
lsls r0, 24
cmp r0, 0
beq _080CF5B6
- ldr r0, =gUnknown_02039D79
+ ldr r0, =sBoxCursorPosition
ldrb r1, [r0]
adds r1, 0x1
_080CF53A:
@@ -13882,7 +13312,7 @@ _080CF54C:
lsls r0, 24
cmp r0, 0
beq _080CF588
- ldr r0, =gUnknown_02039D7A
+ ldr r0, =sIsMonBeingMoved
strb r4, [r0]
ldr r0, =gUnknown_02039D08
ldr r0, [r0]
@@ -13939,10 +13369,10 @@ sub_80CF5C4: @ 80CF5C4
mov r7, r9
mov r6, r8
push {r6,r7}
- ldr r0, =gUnknown_02039D78
+ ldr r0, =sBoxCursorAction
ldrb r0, [r0]
mov r9, r0
- ldr r6, =gUnknown_02039D79
+ ldr r6, =sBoxCursorPosition
ldrb r4, [r6]
ldr r2, =gUnknown_02039D08
ldr r0, [r2]
@@ -14063,7 +13493,7 @@ _080CF6C4:
lsls r0, 24
cmp r0, 0
beq _080CF75C
- ldr r0, =gUnknown_02039D7D
+ ldr r0, =sCanOnlyMove
ldrb r0, [r0]
cmp r0, 0
bne _080CF6E0
@@ -14327,10 +13757,10 @@ sub_80CF8D8: @ 80CF8D8
push {r4-r7,lr}
mov r7, r8
push {r7}
- ldr r0, =gUnknown_02039D78
+ ldr r0, =sBoxCursorAction
ldrb r0, [r0]
mov r8, r0
- ldr r0, =gUnknown_02039D79
+ ldr r0, =sBoxCursorPosition
mov r12, r0
ldrb r2, [r0]
ldr r3, =gUnknown_02039D08
@@ -14470,7 +13900,7 @@ sub_80CF9EC: @ 80CF9EC
adds r4, r0, 0
cmp r1, 0
beq _080CFA30
- ldr r5, =gUnknown_02039D78
+ ldr r5, =sBoxCursorAction
_080CF9FC:
lsls r0, r3, 3
adds r2, r0, r4
@@ -14574,7 +14004,7 @@ _080CFABA:
bl sub_80CFF34
b _080CFAF8
_080CFAC6:
- ldr r0, =gUnknown_02039D7A
+ ldr r0, =sIsMonBeingMoved
ldrb r0, [r0]
cmp r0, 0
beq _080CFAE8
@@ -14605,7 +14035,7 @@ _080CFAF8:
ldrb r0, [r0, 0x1]
cmp r0, 0x2
bne _080CFB2A
- ldr r0, =gUnknown_02039D78
+ ldr r0, =sBoxCursorAction
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
@@ -14764,9 +14194,9 @@ sub_80CFC14: @ 80CFC14
ldr r5, =0x00000cd9
adds r1, r5
strb r0, [r1]
- ldr r0, =gUnknown_02039D78
+ ldr r0, =sBoxCursorAction
ldrb r0, [r0]
- ldr r1, =gUnknown_02039D79
+ ldr r1, =sBoxCursorPosition
ldrb r1, [r1]
add r4, sp, 0x28
mov r5, sp
@@ -14794,7 +14224,7 @@ sub_80CFC14: @ 80CFC14
ldr r0, =gSprites
adds r1, r0
str r1, [r3]
- ldr r0, =gUnknown_02039D7D
+ ldr r0, =sCanOnlyMove
ldr r5, =0x00000cd8
adds r2, r5
ldrb r0, [r0]
@@ -14816,7 +14246,7 @@ sub_80CFC14: @ 80CFC14
movs r1, 0x4
orrs r0, r1
strb r0, [r2, 0x5]
- ldr r0, =gUnknown_02039D7A
+ ldr r0, =sIsMonBeingMoved
ldrb r0, [r0]
cmp r0, 0
beq _080CFD22
@@ -14834,7 +14264,7 @@ _080CFD18:
movs r1, 0
str r1, [r0]
_080CFD22:
- ldr r0, =gUnknown_02039D78
+ ldr r0, =sBoxCursorAction
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
@@ -14873,7 +14303,7 @@ _080CFD40:
ands r0, r2
orrs r0, r3
strb r0, [r1, 0x5]
- ldr r0, =gUnknown_02039D78
+ ldr r0, =sBoxCursorAction
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
@@ -14908,7 +14338,7 @@ _080CFDB4:
thumb_func_start sub_80CFDC4
sub_80CFDC4: @ 80CFDC4
push {lr}
- ldr r2, =gUnknown_02039D7D
+ ldr r2, =sCanOnlyMove
movs r1, 0
ldrb r0, [r2]
cmp r0, 0
@@ -14939,7 +14369,7 @@ _080CFDD2:
thumb_func_start sub_80CFE08
sub_80CFE08: @ 80CFE08
- ldr r0, =gUnknown_02039D79
+ ldr r0, =sBoxCursorPosition
ldrb r0, [r0]
bx lr
.pool
@@ -14950,13 +14380,13 @@ sub_80CFE14: @ 80CFE14
push {r4-r6,lr}
adds r5, r0, 0
adds r6, r1, 0
- ldr r0, =gUnknown_02039D78
+ ldr r0, =sBoxCursorAction
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
cmp r0, 0
bne _080CFE48
- ldr r4, =gUnknown_02039D79
+ ldr r4, =sBoxCursorPosition
movs r0, 0
ldrsb r0, [r4, r0]
movs r1, 0x6
@@ -14997,7 +14427,7 @@ sub_80CFE54: @ 80CFE54
thumb_func_start sub_80CFE78
sub_80CFE78: @ 80CFE78
- ldr r0, =gUnknown_02039D7B
+ ldr r0, =sMovingMonOrigBoxId
ldrb r0, [r0]
bx lr
.pool
@@ -15024,13 +14454,13 @@ sub_80CFE84: @ 80CFE84
thumb_func_start sub_80CFEA8
sub_80CFEA8: @ 80CFEA8
push {lr}
- ldr r0, =gUnknown_02039D78
+ ldr r0, =sBoxCursorAction
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
cmp r0, 0
bne _080CFEC0
- ldr r0, =gUnknown_02039D79
+ ldr r0, =sBoxCursorPosition
ldrb r1, [r0]
movs r0, 0
bl sub_80D0E50
@@ -15043,13 +14473,13 @@ _080CFEC0:
thumb_func_start sub_80CFECC
sub_80CFECC: @ 80CFECC
push {lr}
- ldr r0, =gUnknown_02039D78
+ ldr r0, =sBoxCursorAction
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
cmp r0, 0
bne _080CFEE4
- ldr r0, =gUnknown_02039D79
+ ldr r0, =sBoxCursorPosition
ldrb r1, [r0]
movs r0, 0
bl sub_80D0D8C
diff --git a/data/pokemon_storage_system.s b/data/pokemon_storage_system.s
index b859133a6..e9693f5f1 100644
--- a/data/pokemon_storage_system.s
+++ b/data/pokemon_storage_system.s
@@ -4,128 +4,6 @@
.section .rodata
.align 2
-gUnknown_085720DC:: @ 85720DC
- .incbin "graphics/pokemon_storage/scrolling_bg.4bpp.lz"
-
- .align 2
-gUnknown_08572174:: @ 8572174
- .incbin "graphics/pokemon_storage/scrolling_bg.bin.lz"
-
- .align 2
-gUnknown_08572280:: @ 8572280
- .incbin "graphics/unknown/unknown_572280.gbapal"
-
- .align 2
-gUnknown_085722A0:: @ 85722A0
- .incbin "graphics/unknown/unknown_5722A0.bin.lz"
-
- .align 1
-gUnknown_0857239C:: @ 857239C
- .2byte 0x0101, 0x0102, 0x0103, 0x0104, 0x0105, 0x0106, 0x0107, 0x0108, 0x0111, 0x0112, 0x0113, 0x0114, 0x0115, 0x0116, 0x0117, 0x0118
- .2byte 0x2101, 0x2102, 0x2103, 0x2104, 0x2105, 0x2106, 0x2107, 0x2108, 0x2111, 0x2112, 0x2113, 0x2114, 0x2115, 0x2116, 0x2117, 0x2118
-
- .align 2
-gUnknown_085723DC:: @ 85723DC
- .incbin "graphics/unknown/unknown_5723DC.gbapal"
-
- .align 2
-gUnknown_085723FC:: @ 85723FC
- .incbin "graphics/unknown/unknown_5723FC.gbapal"
-
- .align 2
-gUnknown_0857241C:: @ 857241C
- .incbin "graphics/unknown/unknown_57241C.gbapal"
-
- .align 2
-gUnknown_0857243C:: @ 857243C
- .incbin "graphics/unknown/unknown_57243C.gbapal"
-
- .align 1
-gUnknown_0857245C:: @ 857245C
- .2byte 0x014c, 0x014d, 0x014e, 0x014f, 0x0170, 0x0171, 0x0172, 0x0173, 0x0174, 0x015c, 0x015d, 0x015e, 0x015f, 0x0180, 0x0181, 0x0182
- .2byte 0x0183, 0x0184, 0x0175, 0x0176, 0x0177, 0x0178, 0x0179, 0x017a, 0x017b, 0x017c, 0x017d, 0x0185, 0x0186, 0x0187, 0x0188, 0x0189
- .2byte 0x018a, 0x018b, 0x018c, 0x018d
-
- .align 1
-gUnknown_085724A4:: @ 85724A4
- .2byte 0x1140, 0x1141, 0x1141, 0x1142, 0x1150, 0x1151, 0x1151, 0x1152, 0x1160, 0x1161, 0x1161, 0x1162
-
- .align 1
-gUnknown_085724BC:: @ 85724BC
- .2byte 0x1143, 0x1144, 0x1144, 0x1145, 0x1153, 0x1154, 0x1154, 0x1155, 0x1163, 0x1164, 0x1164, 0x1165
-
- .align 2
-WaveformPalette:: @ 85724D4
- .incbin "graphics/pokemon_storage/waveform.gbapal"
-
- .align 2
-WaveformTiles:: @ 85724F4
- .incbin "graphics/pokemon_storage/waveform.4bpp"
-
- .align 2
-gUnknown_085726B4:: @ 85726B4
- .incbin "graphics/unused/unknown_5726B4.gbapal"
-
- .align 2
-gUnknown_085726F4:: @ 85726F4
- .incbin "graphics/unknown/unknown_5726F4.gbapal"
-
- .align 2
-gUnknown_08572714:: @ 8572714
- window_template 0x01, 0x00, 0x0b, 0x09, 0x07, 0x03, 0x00c0
- window_template 0x00, 0x0b, 0x11, 0x12, 0x02, 0x0f, 0x0014
- window_template 0x00, 0x00, 0x0d, 0x15, 0x07, 0x0f, 0x0014
- null_window_template
-
- .align 2
-gUnknown_08572734:: @ 8572734
- .4byte 0x000001d0, 0x004011e5, 0x000023ba, 0x000031ff
-
- .align 2
-gWaveformSpritePalette:: @ 8572744
- obj_pal WaveformPalette, 0xDACA
-
- .align 2
-gWaveformSpriteSheet:: @ 857274C
- obj_tiles WaveformTiles, 0x1C0, 5
-
-gUnknown_08572754:: @ 8572754
- spr_template 2, 0xDAC6, gOamData_857286C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
-gUnknown_0857276C:: @ 857276C
- .4byte gText_ExitFromBox, 0
- .4byte gText_WhatDoYouWantToDo, 0
- .4byte gText_PleasePickATheme, 0
- .4byte gText_PickTheWallpaper, 0
- .4byte gText_PkmnIsSelected, 1
- .4byte gText_JumpToWhichBox, 0
- .4byte gText_DepositInWhichBox, 0
- .4byte gText_PkmnWasDeposited, 1
- .4byte gText_BoxIsFull2, 0
- .4byte gText_ReleaseThisPokemon, 0
- .4byte gText_PkmnWasReleased, 4
- .4byte gText_ByeByePkmn, 6
- .4byte gText_MarkYourPkmn, 0
- .4byte gText_ThatsYourLastPkmn, 0
- .4byte gText_YourPartysFull, 0
- .4byte gText_YoureHoldingAPkmn, 0
- .4byte gText_WhichOneWillYouTake, 0
- .4byte gText_YouCantReleaseAnEgg, 0
- .4byte gText_ContinueBoxOperations, 0
- .4byte gText_PkmnCameBack, 1
- .4byte gText_WasItWorriedAboutYou, 0
- .4byte gText_FourEllipsesExclamation, 0
- .4byte gText_PleaseRemoveTheMail, 0
- .4byte gText_PkmnIsSelected, 7
- .4byte gText_GiveToAPkmn, 0
- .4byte gText_PlacedItemInBag, 7
- .4byte gText_BagIsFull2, 0
- .4byte gText_PutItemInBag, 0
- .4byte gText_ItemIsNowHeld, 7
- .4byte gText_ChangedToNewItem, 7
- .4byte gText_MailCantBeStored, 0
-
- .align 2
gUnknown_08572864:: @ 8572864
window_template 0, 0x18, 0xB, 5, 4, 0xF, 0x5C
diff --git a/include/mon_markings.h b/include/mon_markings.h
index 22c3f14a4..00df6815a 100644
--- a/include/mon_markings.h
+++ b/include/mon_markings.h
@@ -21,6 +21,8 @@ struct PokemonMarkMenu
/*0x10B4*/ u8 tileLoadState;
}; // 10b8
+void sub_811F90C(struct PokemonMarkMenu *ptr);
+void sub_811FA90(void);
struct Sprite *sub_811FF94(u16 tileTag, u16 paletteTag, const u16 *palette);
#endif //POKEEMERALD_MON_MARKINGS_H
diff --git a/include/pokemon_storage_system.h b/include/pokemon_storage_system.h
index 9b5358f06..4a3adec78 100644
--- a/include/pokemon_storage_system.h
+++ b/include/pokemon_storage_system.h
@@ -69,8 +69,32 @@ struct PokemonStorageSystemData
u8 unk_0002;
u8 unk_0003;
u8 taskId;
- u8 unk_0005[710];
+ u8 unk_0005;
+ struct UnkStruct_2000020 unk_0020;
+ struct UnkStruct_2000028 unk_0028[8];
+ u8 unk_90[567];
+ u8 unk_02C7;
+ u8 unk_02C8;
+ u8 unk_02C9;
+ s16 field_2CA;
u16 bg2_X;
+ u8 field_2CE;
+ u8 field_2CF[1217];
+ u8 changeWallpaper;
+ u8 field_791;
+ u8 wallpaperTilemap[180 * 4];
+ u8 wallpaperChangeState;
+ u8 field_A63;
+ u8 field_A64;
+ u8 field_A65;
+ u8 field_A66;
+ u8 field_A67;
+ u8 *wallpaperTilemapPtr;
+ u8 field_A6C;
+ u8 field_A6D[633];
+ u16 field_CE6;
+ u8 field_CE8[188];
+ struct PokemonMarkMenu field_DA4;
};
extern struct UnkPSSStruct_2002370 *gUnknown_02039D04;
diff --git a/include/strings.h b/include/strings.h
index e17ea8646..744859c3e 100644
--- a/include/strings.h
+++ b/include/strings.h
@@ -1403,4 +1403,36 @@ extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_254F47[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_254F0E[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_254ED3[];
+// PC strings
+extern const u8 gText_ExitFromBox[];
+extern const u8 gText_WhatDoYouWantToDo[];
+extern const u8 gText_PleasePickATheme[];
+extern const u8 gText_PickTheWallpaper[];
+extern const u8 gText_PkmnIsSelected[];
+extern const u8 gText_JumpToWhichBox[];
+extern const u8 gText_DepositInWhichBox[];
+extern const u8 gText_PkmnWasDeposited[];
+extern const u8 gText_BoxIsFull2[];
+extern const u8 gText_ReleaseThisPokemon[];
+extern const u8 gText_PkmnWasReleased[];
+extern const u8 gText_ByeByePkmn[];
+extern const u8 gText_MarkYourPkmn[];
+extern const u8 gText_ThatsYourLastPkmn[];
+extern const u8 gText_YourPartysFull[];
+extern const u8 gText_YoureHoldingAPkmn[];
+extern const u8 gText_WhichOneWillYouTake[];
+extern const u8 gText_YouCantReleaseAnEgg[];
+extern const u8 gText_ContinueBoxOperations[];
+extern const u8 gText_PkmnCameBack[];
+extern const u8 gText_WasItWorriedAboutYou[];
+extern const u8 gText_FourEllipsesExclamation[];
+extern const u8 gText_PleaseRemoveTheMail[];
+extern const u8 gText_GiveToAPkmn[];
+extern const u8 gText_PlacedItemInBag[];
+extern const u8 gText_BagIsFull2[];
+extern const u8 gText_PutItemInBag[];
+extern const u8 gText_ItemIsNowHeld[];
+extern const u8 gText_ChangedToNewItem[];
+extern const u8 gText_MailCantBeStored[];
+
#endif //GUARD_STRINGS_H
diff --git a/src/mon_markings.c b/src/mon_markings.c
index 30015dbef..48f0f5ecb 100644
--- a/src/mon_markings.c
+++ b/src/mon_markings.c
@@ -390,7 +390,6 @@ void sub_811FAF8(void)
}
}
-
bool8 sub_811FBA4(void)
{
u16 i;
diff --git a/src/pokemon_storage_system.c b/src/pokemon_storage_system.c
index 465b97da2..b7b0e1295 100644
--- a/src/pokemon_storage_system.c
+++ b/src/pokemon_storage_system.c
@@ -1,12 +1,16 @@
#include "global.h"
+#include "alloc.h"
#include "bg.h"
+#include "dma3.h"
#include "event_data.h"
#include "field_screen.h"
#include "field_weather.h"
#include "gpu_regs.h"
#include "international_string_util.h"
+#include "item_menu.h"
#include "main.h"
#include "menu.h"
+#include "mon_markings.h"
#include "overworld.h"
#include "palette.h"
#include "pokemon.h"
@@ -16,11 +20,57 @@
#include "string_util.h"
#include "strings.h"
#include "text.h"
+#include "text_window.h"
#include "walda_phrase.h"
#include "window.h"
+#include "constants/rgb.h"
#include "constants/songs.h"
#include "constants/species.h"
+enum
+{
+ BOX_OPTION_WITHDRAW,
+ BOX_OPTION_DEPOSIT,
+ BOX_OPTION_MOVE_MONS,
+ BOX_OPTION_MOVE_ITEMS,
+ BOX_OPTION_EXIT,
+};
+
+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,
+ PC_TEXT_IS_SELECTED2,
+ PC_TEXT_GIVE_TO_MON,
+ PC_TEXT_PLACED_IN_BAG,
+ PC_TEXT_BAG_FULL,
+ PC_TEXT_PUT_IN_BAG,
+ PC_TEXT_ITEM_IS_HELD,
+ PC_TEXT_CHANGED_TO_ITEM,
+ PC_TEXT_CANT_STORE_MAIL,
+};
+
IWRAM_DATA u8 gUnknown_03000F78[0x188];
extern const u8 gText_PartyFull[];
@@ -28,16 +78,26 @@ extern const u8 gText_Box[];
extern const u8 gText_JustOnePkmn[];
extern u8 gUnknown_02039D00;
+extern u8 sBoxOption;
+extern u8 gUnknown_02039D10;
+extern u8 gUnknown_02039D0E;
+extern bool8 sInPartyMenu;
+extern u8 gUnknown_02039D0F;
+extern u16 gUnknown_02039D12;
+
+extern void sub_80F9BCC(u16, u16, u8);
+extern bool8 sub_80F9C1C(void);
// This file's functions.
void StorageSystemCreatePrimaryMenu(u8 whichMenu, s16 *windowIdPtr);
-void sub_80C7D74(u8);
+void sub_80C7D74(u8 boxOption);
u8 sub_80CAEA0(void);
void SetBoxWallpaper(u8 boxId, u8 wallpaperId);
void SetCurrentBox(u8 boxId);
+void sub_80CC32C(u8 boxId);
void ClearMonInBox(u8 boxId, u8 boxPos);
-void ResetWaldaWallpaper(void);
void sub_80C7958(u8 curBox);
+void ResetWaldaWallpaper(void);
void sub_80C7B14(void);
void sub_80C7BB4(void);
void sub_80CA028(void);
@@ -45,7 +105,37 @@ void sub_80C7B80(void);
void sub_80D2AA4(void);
void sub_80C7BE4(void);
void sub_80CAA14(void);
+void sub_80CE790(void);
+void sub_80CE8E4(void);
+void sub_80C9F6C(void);
+void sub_80CA044(void);
+void sub_80CA0C8(void);
+void sub_80CD36C(void);
+void sub_80CD3EC(void);
+void sub_80CAC1C(void);
+void sub_80C9FEC(void);
+void sub_80CAEAC(void);
+void sub_80D0C60(void);
+void sub_80CDC0C(void);
+void sub_80CAF04(void);
+void sub_80CA0D8(void);
+void sub_80CADC4(void);
+void sub_80CA704(void);
void sub_80C7CF4(struct Sprite *sprite);
+bool8 sub_80CA0A4(void);
+bool8 sub_80D0164(void);
+bool8 sub_80CC35C(void);
+void sub_80C7FA8(u8 taskId);
+void sub_80C9E50(u8 taskId);
+void sub_80C81AC(u8 taskId);
+void box_related_2(u8 taskId);
+void task_pokemon_box_related(u8 taskId);
+void sub_80D2A90(struct UnkStruct_2000020 *arg0, struct UnkStruct_2000028 *arg1, u32 arg2);
+void sub_80D259C(u8 arg0);
+void sub_80D01D0(u8 arg0);
+void sub_80D2644(u8 arg0, u16 arg1, const u16 *arg2, u16 arg3, u16 arg4);
+void sub_80D2770(u8 arg0, u16 arg1, u16 arg2);
+void PrintStorageActionText(u8 arg0);
struct Sprite *sub_80CD2E8(u16 x, u16 y, u8 animId, u8 priority, u8 subpriority);
// const rom data
@@ -58,7 +148,16 @@ const struct PSS_MenuStringPtrs gUnknown_085716C0[] =
{gText_SeeYa, gText_SeeYaDescription}
};
-const struct WindowTemplate gUnknown_085716E8 = {0, 1, 1, 0x11, 0xA, 0xF, 1};
+const struct WindowTemplate gUnknown_085716E8 =
+{
+ .bg = 0,
+ .tilemapLeft = 1,
+ .tilemapTop = 1,
+ .width = 17,
+ .height = 10,
+ .paletteNum = 15,
+ .baseBlock = 0x1,
+};
static const union AnimCmd sSpriteAnim_85716F0[] =
{
@@ -109,6 +208,170 @@ const u8 gUnknown_08571737[] = _("/30");
const u16 gBoxSelectionPopupPalette[] = INCBIN_U16("graphics/unknown/unknown_57173C.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");
+const u32 gUnknown_085720DC[] = INCBIN_U32("graphics/pokemon_storage/scrolling_bg.4bpp.lz");
+const u32 gUnknown_08572174[] = INCBIN_U32("graphics/pokemon_storage/scrolling_bg.bin.lz");
+const u32 gUnknown_08572280[] = INCBIN_U32("graphics/unknown/unknown_572280.gbapal");
+const u32 gUnknown_085722A0[] = INCBIN_U32("graphics/unknown/unknown_5722A0.bin.lz");
+
+const u16 gUnknown_0857239C[] =
+{
+ 0x0101, 0x0102, 0x0103, 0x0104, 0x0105, 0x0106, 0x0107, 0x0108, 0x0111, 0x0112, 0x0113, 0x0114, 0x0115, 0x0116, 0x0117, 0x0118,
+ 0x2101, 0x2102, 0x2103, 0x2104, 0x2105, 0x2106, 0x2107, 0x2108, 0x2111, 0x2112, 0x2113, 0x2114, 0x2115, 0x2116, 0x2117, 0x2118,
+};
+
+const u16 gUnknown_085723DC[] = INCBIN_U16("graphics/unknown/unknown_5723DC.gbapal");
+const u16 gUnknown_085723FC[] = INCBIN_U16("graphics/unknown/unknown_5723FC.gbapal");
+const u16 gUnknown_0857241C[] = INCBIN_U16("graphics/unknown/unknown_57241C.gbapal");
+const u16 gUnknown_0857243C[] = INCBIN_U16("graphics/unknown/unknown_57243C.gbapal");
+
+const u16 gUnknown_0857245C[] =
+{
+ 0x014c, 0x014d, 0x014e, 0x014f, 0x0170, 0x0171, 0x0172, 0x0173, 0x0174, 0x015c, 0x015d, 0x015e, 0x015f, 0x0180, 0x0181, 0x0182,
+ 0x0183, 0x0184, 0x0175, 0x0176, 0x0177, 0x0178, 0x0179, 0x017a, 0x017b, 0x017c, 0x017d, 0x0185, 0x0186, 0x0187, 0x0188, 0x0189,
+ 0x018a, 0x018b, 0x018c, 0x018d
+};
+const u16 gUnknown_085724A4[] =
+{
+ 0x1140, 0x1141, 0x1141, 0x1142, 0x1150, 0x1151, 0x1151, 0x1152, 0x1160, 0x1161, 0x1161, 0x1162,
+};
+const u16 gUnknown_085724BC[] =
+{
+ 0x1143, 0x1144, 0x1144, 0x1145, 0x1153, 0x1154, 0x1154, 0x1155, 0x1163, 0x1164, 0x1164, 0x1165,
+};
+
+const u16 gWaveformPalette[] = INCBIN_U16("graphics/pokemon_storage/waveform.gbapal");
+const u32 gWaveformTiles[] = INCBIN_U32("graphics/pokemon_storage/waveform.4bpp");
+const u32 gUnknown_085726B4[] = INCBIN_U32("graphics/unused/unknown_5726B4.gbapal");
+const u32 gUnknown_085726F4[] = INCBIN_U32("graphics/unknown/unknown_5726F4.gbapal");
+
+const struct WindowTemplate gUnknown_08572714[] =
+{
+ { // 0
+ .bg = 1,
+ .tilemapLeft = 0,
+ .tilemapTop = 11,
+ .width = 9,
+ .height = 7,
+ .paletteNum = 3,
+ .baseBlock = 0xC0,
+ },
+ { // 1
+ .bg = 0,
+ .tilemapLeft = 11,
+ .tilemapTop = 17,
+ .width = 18,
+ .height = 2,
+ .paletteNum = 15,
+ .baseBlock = 0x14,
+ },
+ { // 2
+ .bg = 0,
+ .tilemapLeft = 0,
+ .tilemapTop = 13,
+ .width = 21,
+ .height = 7,
+ .paletteNum = 15,
+ .baseBlock = 0x14,
+ },
+ DUMMY_WIN_TEMPLATE
+};
+
+const struct BgTemplate gUnknown_08572734[] =
+{
+ {
+ .bg = 0,
+ .charBaseIndex = 0,
+ .mapBaseIndex = 29,
+ .screenSize = 0,
+ .paletteMode = 0,
+ .priority = 0,
+ .baseTile = 0
+ },
+ {
+ .bg = 1,
+ .charBaseIndex = 1,
+ .mapBaseIndex = 30,
+ .screenSize = 0,
+ .paletteMode = 0,
+ .priority = 1,
+ .baseTile = 0x100
+ },
+ {
+ .bg = 2,
+ .charBaseIndex = 2,
+ .mapBaseIndex = 27,
+ .screenSize = 1,
+ .paletteMode = 0,
+ .priority = 2,
+ .baseTile = 0
+ },
+ {
+ .bg = 3,
+ .charBaseIndex = 3,
+ .mapBaseIndex = 31,
+ .screenSize = 0,
+ .paletteMode = 0,
+ .priority = 3,
+ .baseTile = 0
+ },
+};
+
+const struct SpritePalette gWaveformSpritePalette =
+{
+ gWaveformPalette, 0xDACA
+};
+
+const struct SpriteSheet gWaveformSpriteSheet =
+{
+ gWaveformTiles, sizeof(gWaveformTiles), 5
+};
+
+const struct OamData gOamData_857286C;
+const struct SpriteTemplate gUnknown_08572754 =
+{
+ .tileTag = 2,
+ .paletteTag = 0xDAC6,
+ .oam = &gOamData_857286C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+};
+
+const struct StorageAction gPCStorageActionTexts[] =
+{
+ {gText_ExitFromBox, 0},
+ {gText_WhatDoYouWantToDo, 0},
+ {gText_PleasePickATheme, 0},
+ {gText_PickTheWallpaper, 0},
+ {gText_PkmnIsSelected, 1},
+ {gText_JumpToWhichBox, 0},
+ {gText_DepositInWhichBox, 0},
+ {gText_PkmnWasDeposited, 1},
+ {gText_BoxIsFull2, 0},
+ {gText_ReleaseThisPokemon, 0},
+ {gText_PkmnWasReleased, 4},
+ {gText_ByeByePkmn, 6},
+ {gText_MarkYourPkmn, 0},
+ {gText_ThatsYourLastPkmn, 0},
+ {gText_YourPartysFull, 0},
+ {gText_YoureHoldingAPkmn, 0},
+ {gText_WhichOneWillYouTake, 0},
+ {gText_YouCantReleaseAnEgg, 0},
+ {gText_ContinueBoxOperations, 0},
+ {gText_PkmnCameBack, 1},
+ {gText_WasItWorriedAboutYou, 0},
+ {gText_FourEllipsesExclamation, 0},
+ {gText_PleaseRemoveTheMail, 0},
+ {gText_PkmnIsSelected, 7},
+ {gText_GiveToAPkmn, 0},
+ {gText_PlacedItemInBag, 7},
+ {gText_BagIsFull2, 0},
+ {gText_PutItemInBag, 0},
+ {gText_ItemIsNowHeld, 7},
+ {gText_ChangedToNewItem, 7},
+ {gText_MailCantBeStored, 0},
+};
// code
u8 CountMonsInBox(u8 boxId)
@@ -672,3 +935,477 @@ void c2_Box(void)
AnimateSprites();
BuildOamBuffer();
}
+
+void sub_80C7D74(u8 boxOption)
+{
+ ResetTasks();
+ sBoxOption = boxOption;
+ gUnknown_02039D08 = Alloc(0x62C4);
+ if (gUnknown_02039D08 == NULL)
+ {
+ SetMainCallback2(sub_80C7678);
+ }
+ else
+ {
+ gUnknown_02039D08->boxOption = boxOption;
+ gUnknown_02039D08->unk_0003 = 0;
+ gUnknown_02039D12 = 0;
+ gUnknown_02039D08->state = 0;
+ gUnknown_02039D08->taskId = CreateTask(sub_80C7FA8, 3);
+ gUnknown_02039D10 = StorageGetCurrentBox();
+ SetMainCallback2(c2_Box);
+ }
+}
+
+void c2_808CE60(void)
+{
+ ResetTasks();
+ gUnknown_02039D08 = Alloc(0x62C4);
+ if (gUnknown_02039D08 == NULL)
+ {
+ SetMainCallback2(sub_80C7678);
+ }
+ else
+ {
+ gUnknown_02039D08->boxOption = sBoxOption;
+ gUnknown_02039D08->unk_0003 = 1;
+ gUnknown_02039D08->state = 0;
+ gUnknown_02039D08->taskId = CreateTask(sub_80C7FA8, 3);
+ SetMainCallback2(c2_Box);
+ }
+}
+
+void sub_80C7E50(void)
+{
+ SetGpuReg(REG_OFFSET_BG0HOFS, 0);
+ SetGpuReg(REG_OFFSET_BG0VOFS, 0);
+ SetGpuReg(REG_OFFSET_BG1HOFS, 0);
+ SetGpuReg(REG_OFFSET_BG1VOFS, 0);
+ SetGpuReg(REG_OFFSET_BG2HOFS, 0);
+ SetGpuReg(REG_OFFSET_BG2VOFS, 0);
+ SetGpuReg(REG_OFFSET_BG3HOFS, 0);
+ SetGpuReg(REG_OFFSET_BG3VOFS, 0);
+}
+
+void sub_80C7E98(void)
+{
+ ResetPaletteFade();
+ ResetSpriteData();
+ FreeSpriteTileRanges();
+ FreeAllSpritePalettes();
+ ClearDma3Requests();
+ gReservedSpriteTileCount = 0x280;
+ sub_80D2A90(&gUnknown_02039D08->unk_0020, gUnknown_02039D08->unk_0028, 8);
+ gKeyRepeatStartDelay = 20;
+ clear_scheduled_bg_copies_to_vram();
+ sub_80D259C(3);
+ sub_80D2644(0, 1, gUnknown_0857239C, 8, 4);
+ sub_80D2770(0, 1, 0);
+ gUnknown_02039D08->unk_02C7 = 0;
+}
+
+void sub_80C7F1C(void)
+{
+ sub_80CDC0C();
+ sInPartyMenu = (gUnknown_02039D08->boxOption == BOX_OPTION_DEPOSIT);
+ gUnknown_02039D0E = 0;
+}
+
+void sub_80C7F4C(void)
+{
+ if (gUnknown_02039D08->boxOption == BOX_OPTION_MOVE_ITEMS)
+ {
+ SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL);
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(7, 11));
+ }
+ SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_BG_ALL_ON | DISPCNT_OBJ_1D_MAP);
+}
+
+void SetPSSCallback(TaskFunc newFunc)
+{
+ gTasks[gUnknown_02039D08->taskId].func = newFunc;
+ gUnknown_02039D08->state = 0;
+}
+
+void sub_80C7FA8(u8 taskId)
+{
+ switch (gUnknown_02039D08->state)
+ {
+ case 0:
+ SetVBlankCallback(NULL);
+ SetGpuReg(REG_OFFSET_DISPCNT, 0);
+ sub_80C7E98();
+ if (gUnknown_02039D08->unk_0003 != 0)
+ {
+ switch (gUnknown_02039D0F)
+ {
+ case 1:
+ sub_80CE790();
+ break;
+ case 0:
+ sub_80CE8E4();
+ break;
+ case 2:
+ sub_80C9F6C();
+ break;
+ }
+ }
+ sub_80CA044();
+ sub_80CA0C8();
+ break;
+ case 1:
+ if (!sub_80CA0A4())
+ {
+ SetPSSCallback(sub_80C9E50);
+ return;
+ }
+ break;
+ case 2:
+ PutWindowTilemap(0);
+ ClearWindowTilemap(1);
+ CpuFill32(0, (void *)VRAM, 0x200);
+ LoadUserWindowBorderGfx(1, 0xB, 0xE0);
+ break;
+ case 3:
+ sub_80C7E50();
+ if (gUnknown_02039D08->unk_0003 == 0)
+ sub_80C7F1C();
+ break;
+ case 4:
+ sub_80CAF04();
+ if (gUnknown_02039D08->unk_0003 == 0)
+ sub_80CD36C();
+ else
+ sub_80CD3EC();
+ break;
+ case 5:
+ if (!sub_80D0164())
+ {
+ SetPSSCallback(sub_80C9E50);
+ return;
+ }
+ else
+ {
+ sub_80C9FEC();
+ sub_80CAC1C();
+ }
+ break;
+ case 6:
+ sub_80CA0D8();
+ break;
+ case 7:
+ sub_80CA704();
+ break;
+ case 8:
+ sub_80CC32C(StorageGetCurrentBox());
+ break;
+ case 9:
+ if (sub_80CC35C())
+ return;
+
+ if (gUnknown_02039D08->boxOption != BOX_OPTION_MOVE_ITEMS)
+ {
+ gUnknown_02039D08->field_DA4.baseTileTag = 0xD;
+ gUnknown_02039D08->field_DA4.basePaletteTag = 0xDACE;
+ sub_811F90C(&gUnknown_02039D08->field_DA4);
+ sub_811FA90();
+ }
+ else
+ {
+ sub_80D0C60();
+ sub_80CAEAC();
+ }
+ break;
+ case 10:
+ sub_80C7F4C();
+ if (gUnknown_02039D08->unk_0003 == 0)
+ {
+ BlendPalettes(0xFFFFFFFF, 0x10, 0);
+ SetPSSCallback(sub_80C81AC);
+ }
+ else
+ {
+ BlendPalettes(0xFFFFFFFF, 0x10, 0);
+ SetPSSCallback(box_related_2);
+ }
+ SetVBlankCallback(sub_80C7D28);
+ return;
+ default:
+ return;
+ }
+
+ gUnknown_02039D08->state++;
+}
+
+void sub_80C81AC(u8 taskId)
+{
+ switch (gUnknown_02039D08->state)
+ {
+ case 0:
+ PlaySE(SE_PC_LOGIN);
+ sub_80F9BCC(0x14, 0, 1);
+ gUnknown_02039D08->state++;
+ break;
+ case 1:
+ if (!sub_80F9C1C())
+ SetPSSCallback(task_pokemon_box_related);
+ break;
+ }
+}
+
+void box_related_2(u8 taskId)
+{
+ switch (gUnknown_02039D08->state)
+ {
+ case 0:
+ BeginNormalPaletteFade(0xFFFFFFFF, -1, 0x10, 0, RGB_BLACK);
+ gUnknown_02039D08->state++;
+ break;
+ case 1:
+ if (!UpdatePaletteFade())
+ {
+ if (gUnknown_02039D0F == 2 && gSpecialVar_ItemId != 0)
+ {
+ PrintStorageActionText(0x1C);
+ gUnknown_02039D08->state++;
+ }
+ else
+ {
+ SetPSSCallback(task_pokemon_box_related);
+ }
+ }
+ break;
+ case 2:
+ if (!IsDma3ManagerBusyWithBgCopy() && gMain.newKeys & (A_BUTTON | B_BUTTON))
+ {
+ sub_80CADC4();
+ gUnknown_02039D08->state++;
+ }
+ break;
+ case 3:
+ if (!IsDma3ManagerBusyWithBgCopy())
+ SetPSSCallback(task_pokemon_box_related);
+ break;
+ }
+}
+
+/*
+void task_pokemon_box_related(u8 taskId)
+{
+ switch (gUnknown_02039D08->state)
+ {
+ case 0:
+ switch (sub_80CF9EC())
+ {
+ case 1:
+ PlaySE(SE_SELECT);
+ gUnknown_02039D08->state = 1;
+ break;
+ case 5:
+ if (gUnknown_02039D08->boxOption != 0 && gUnknown_02039D08->boxOption != 1)
+ {
+ PrintStorageActionText(PC_TEXT_WHICH_ONE_WILL_TAKE);
+ gUnknown_02039D08->state = 3;
+ }
+ else
+ {
+ sub_80CDC0C();
+ SetPSSCallback(sub_80C87A8);
+ }
+ break;
+ case 6:
+ if (gUnknown_02039D08->unk_0005 == 2)
+ {
+ if (sub_80CEAD0() && ItemIsMail(gUnknown_02039D08->field_CE6))
+ gUnknown_02039D08->state = 5;
+ else
+ SetPSSCallback(sub_80C87E8);
+ }
+ break;
+ case 4:
+ SetPSSCallback(sub_80C9BE8);
+ break;
+ case 16:
+ SetPSSCallback(sub_80C9D1C);
+ break;
+ case 7:
+ PlaySE(SE_SELECT);
+ SetPSSCallback(sub_80C972C);
+ break;
+ case 8:
+ PlaySE(SE_SELECT);
+ SetPSSCallback(sub_80C8864);
+ break;
+ case 9:
+ PlaySE(SE_SELECT);
+ gUnknown_02039D08->field_2CA = StorageGetCurrentBox() + 1;
+ if (gUnknown_02039D08->field_2C >= TOTAL_BOXES_COUNT)
+ gUnknown_02039D08->field_2CA = 0;
+ if (gUnknown_02039D08->boxOption != 3)
+ {
+ sub_80CC464(gUnknown_02039D08->field_2CA);
+ gUnknown_02039D08->state = 2;
+ }
+ else
+ {
+ sub_80CFEA8();
+ gUnknown_02039D08->state = 10;
+ }
+ break;
+ case 10:
+ PlaySE(SE_SELECT);
+ gUnknown_02039D08->field_2CA = StorageGetCurrentBox() - 1;
+ if (gUnknown_02039D08->field_2CA < 0)
+ gUnknown_02039D08->field_2CA = TOTAL_BOXES_COUNT;
+ if (gUnknown_02039D08->boxOption != 3)
+ {
+ sub_80CC464(gUnknown_02039D08->field_2CA);
+ gUnknown_02039D08->state = 2;
+ }
+ else
+ {
+ sub_80CFEA8();
+ gUnknown_02039D08->state = 10;
+ }
+ break;
+ case 11:
+ if (!sub_80CEA30())
+ {
+ if (ItemIsMail(gUnknown_02039D08->field_CE6))
+ {
+ gUnknown_02039D08->state = 5;
+ }
+ else
+ {
+ PlaySE(SE_SELECT);
+ SetPSSCallback(sub_80C8D78);
+ }
+ }
+ else
+ {
+ gUnknown_02039D08->state = 4;
+ }
+ break;
+ case 13:
+ if (sub_80CEA30())
+ {
+ gUnknown_02039D08->state = 4;
+ }
+ else
+ {
+ PlaySE(SE_SELECT);
+ SetPSSCallback(sub_80C8B90);
+ }
+ break;
+ case 14:
+ if (!sub_80CEA30())
+ {
+ gUnknown_02039D08->state = 4;
+ }
+ else
+ {
+ PlaySE(SE_SELECT);
+ SetPSSCallback(c3_0808DC50);
+ }
+ break;
+ case 12:
+ PlaySE(SE_SELECT);
+ SetPSSCallback(sub_80C8C90);
+ break;
+ case 15:
+ PlaySE(SE_SELECT);
+ SetPSSCallback(sub_80C8BEC);
+ break;
+ case 16:
+ PlaySE(SE_SELECT);
+ SetPSSCallback(sub_80C9128);
+ break;
+ case 17:
+ PlaySE(SE_SELECT);
+ SetPSSCallback(sub_80C91DC);
+ break;
+ case 18:
+ PlaySE(SE_SELECT);
+ SetPSSCallback(sub_80C93B0);
+ break;
+ case 20:
+ PlaySE(SE_SELECT);
+ sub_80D01D0(0);
+ gUnknown_02039D08->state = 7;
+ break;
+ case 22:
+ sub_80D01D0(1);
+ gUnknown_02039D08->state = 8;
+ break;
+ case 21:
+ PlaySE(SE_SELECT);
+ sub_80D01D0(2);
+ gUnknown_02039D08->state = 9;
+ break;
+ case 23:
+ sub_80D01D0(4);
+ gUnknown_02039D08->state = 7;
+ break;
+ case 25:
+ PlaySE(SE_SELECT);
+ sub_80D01D0(4);
+ gUnknown_02039D08->state = 9;
+ break;
+ case 26:
+ PlaySE(SE_SELECT);
+ sub_80D01D0(5);
+ gUnknown_02039D08->state = 7;
+ break;
+ }
+ break;
+ case 1:
+ if (!sub_809AC00())
+ {
+ if (sub_809BF48())
+ sub_80986E8();
+ else
+ sub_8098710();
+ if (gUnknown_02039D08->unk_11f6)
+ BoxSetMosaic();
+ gUnknown_02039D08->state = 0;
+ }
+ break;
+ case 2:
+ if (!sub_8099D34())
+ {
+ gPokemonStorage.currentBox = gUnknown_02039D08->unk_08b2;
+ if (!gUnknown_0203847C && !sub_80CEAD0())
+ {
+ sub_809B440();
+ BoxSetMosaic();
+ }
+ gUnknown_02039D08->state = 0;
+ }
+ break;
+ case 3:
+ if (gMain.newKeys & (A_BUTTON | B_BUTTON | DPAD_ANY))
+ {
+ sub_8098A5C();
+ gUnknown_02039D08->state = 0;
+ }
+ break;
+ case 4:
+ PlaySE(SE_HAZURE);
+ PrintStorageActionText(PC_TEXT_LAST_POKE);
+ gUnknown_02039D08->state = 6;
+ break;
+ case 5:
+ PlaySE(SE_HAZURE);
+ PrintStorageActionText(PC_TEXT_PLEASE_REMOVE_MAIL);
+ gUnknown_02039D08->state = 6;
+ break;
+ case 6:
+ if (gMain.newKeys & (A_BUTTON | B_BUTTON | DPAD_ANY))
+ {
+ sub_8098A5C();
+ SetPSSCallback(sub_8096C84);
+ }
+ break;
+ }
+}
+*/
diff --git a/sym_ewram.txt b/sym_ewram.txt
index af6480536..c8d323310 100644
--- a/sym_ewram.txt
+++ b/sym_ewram.txt
@@ -216,10 +216,10 @@ gUnknown_02039D04: @ 2039D04
gUnknown_02039D08: @ 2039D08
.space 0x4
-gUnknown_02039D0C: @ 2039D0C
+sInPartyMenu: @ 2039D0C
.space 0x1
-gUnknown_02039D0D: @ 2039D0D
+sBoxOption: @ 2039D0D
.space 0x1
gUnknown_02039D0E: @ 2039D0E
@@ -237,22 +237,22 @@ gUnknown_02039D12: @ 2039D12
gUnknown_02039D14: @ 2039D14
.space 0x64
-gUnknown_02039D78: @ 2039D78
+sBoxCursorAction: @ 2039D78
.space 0x1
-gUnknown_02039D79: @ 2039D79
+sBoxCursorPosition: @ 2039D79
.space 0x1
-gUnknown_02039D7A: @ 2039D7A
+sIsMonBeingMoved: @ 2039D7A
.space 0x1
-gUnknown_02039D7B: @ 2039D7B
+sMovingMonOrigBoxId: @ 2039D7B
.space 0x1
-gUnknown_02039D7C: @ 2039D7C
+sMovingMonOrigBoxPos: @ 2039D7C
.space 0x1
-gUnknown_02039D7D: @ 2039D7D
+sCanOnlyMove: @ 2039D7D
.space 0x1
gUnknown_02039D7E: @ 2039D7E