summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--arm9/arm9.lsf2
-rw-r--r--arm9/asm/bag.s (renamed from arm9/asm/unk_0206EB80.s)179
-rw-r--r--arm9/asm/save.s13
-rw-r--r--arm9/asm/scrcmd.s8
-rw-r--r--arm9/asm/scrcmd_12.s40
-rw-r--r--arm9/asm/scrcmd_19.s8
-rw-r--r--arm9/asm/scrcmd_22.s16
-rw-r--r--arm9/asm/unk_02035068.s25
-rw-r--r--arm9/asm/unk_020377F0.s82
-rw-r--r--arm9/asm/unk_020476CC.s22
-rw-r--r--arm9/asm/unk_0204B34C.s4
-rw-r--r--arm9/asm/unk_02050E48.s2
-rw-r--r--arm9/asm/unk_0205CE48.s18
-rw-r--r--arm9/asm/unk_0205DD18.s4
-rw-r--r--arm9/asm/unk_0205FA2C.s2
-rw-r--r--arm9/asm/unk_02060CCC.s8
-rw-r--r--arm9/asm/unk_020653EC.s14
-rw-r--r--arm9/asm/unk_0206C700.s4
-rw-r--r--arm9/asm/unk_0206E2F0.s8
-rw-r--r--arm9/asm/unk_0206F3FC.s12
-rw-r--r--arm9/asm/unk_02073DA8.s4
-rw-r--r--arm9/asm/unk_0207550C.s6
-rw-r--r--arm9/asm/unk_020859C0.s2
-rw-r--r--arm9/asm/unk_02087D00.s2
-rw-r--r--arm9/asm/unk_0208890C.s2
-rw-r--r--arm9/asm/unk_02088AAC.s8
-rw-r--r--arm9/global.inc36
-rw-r--r--arm9/modules/05/asm/mod05_021E1374.s4
-rw-r--r--arm9/modules/05/asm/module_05.s4
-rw-r--r--arm9/modules/06/asm/module_06.s22
-rw-r--r--arm9/modules/09/asm/module_09.s8
-rw-r--r--arm9/modules/11/asm/module_11_thumb1.s6
-rw-r--r--arm9/modules/11/asm/module_11_thumb2.s2
-rw-r--r--arm9/modules/14/asm/module_14.s16
-rw-r--r--arm9/modules/18/asm/module_18.s4
-rw-r--r--arm9/modules/71/asm/module_71.s4
-rw-r--r--arm9/modules/73/asm/module_73.s2
-rw-r--r--arm9/modules/75/asm/module_75.s8
-rw-r--r--arm9/src/main.c16
-rw-r--r--arm9/src/sound.c2
-rw-r--r--include/bag.h19
-rw-r--r--include/constants/items.h9
-rw-r--r--include/save_block_2.h9
-rw-r--r--include/sound.h4
44 files changed, 377 insertions, 293 deletions
diff --git a/arm9/arm9.lsf b/arm9/arm9.lsf
index 2265303b..297c54fe 100644
--- a/arm9/arm9.lsf
+++ b/arm9/arm9.lsf
@@ -257,7 +257,7 @@ Static arm9
Object unk_0206E0F0.o
Object unk_0206E2F0.o
Object itemtool.o
- Object unk_0206EB80.o
+ Object bag.o
Object unk_0206F1F0.o
Object unk_0206F3FC.o
Object unk_02072548.o
diff --git a/arm9/asm/unk_0206EB80.s b/arm9/asm/bag.s
index bca18f77..dba33611 100644
--- a/arm9/asm/unk_0206EB80.s
+++ b/arm9/asm/bag.s
@@ -3,27 +3,27 @@
.text
- thumb_func_start FUN_0206EB80
-FUN_0206EB80: ; 0x0206EB80
+ thumb_func_start Sav2_Bag_sizeof
+Sav2_Bag_sizeof: ; 0x0206EB80
ldr r0, _0206EB84 ; =0x00000774
bx lr
.balign 4
_0206EB84: .word 0x00000774
- thumb_func_start FUN_0206EB88
-FUN_0206EB88: ; 0x0206EB88
+ thumb_func_start Sav2_Bag_new
+Sav2_Bag_new: ; 0x0206EB88
push {r4, lr}
ldr r1, _0206EB9C ; =0x00000774
bl AllocFromHeap
add r4, r0, #0x0
- bl FUN_0206EBA0
+ bl Sav2_Bag_init
add r0, r4, #0x0
pop {r4, pc}
nop
_0206EB9C: .word 0x00000774
- thumb_func_start FUN_0206EBA0
-FUN_0206EBA0: ; 0x0206EBA0
+ thumb_func_start Sav2_Bag_init
+Sav2_Bag_init: ; 0x0206EBA0
ldr r3, _0206EBAC ; =MIi_CpuClear16
add r1, r0, #0x0
mov r0, #0x0
@@ -33,8 +33,8 @@ FUN_0206EBA0: ; 0x0206EBA0
_0206EBAC: .word MIi_CpuClear16
_0206EBB0: .word 0x00000774
- thumb_func_start FUN_0206EBB4
-FUN_0206EBB4: ; 0x0206EBB4
+ thumb_func_start Sav2_Bag_copy
+Sav2_Bag_copy: ; 0x0206EBB4
ldr r3, _0206EBBC ; =MI_CpuCopy8
ldr r2, _0206EBC0 ; =0x00000774
bx r3
@@ -56,8 +56,11 @@ FUN_0206EBCC: ; 0x0206EBCC
str r1, [r0, r2]
bx lr
- thumb_func_start FUN_0206EBD4
-FUN_0206EBD4: ; 0x0206EBD4
+ thumb_func_start GetItemPocket
+GetItemPocket: ; 0x0206EBD4
+ ; int GetItemPocket(struct BagData * bag, u16 item_id, struct ItemSlot ** slot_p, u32 * count_p, u32 heap_id)
+ ; Loads pocket pointer and capacity into passed pointers
+ ; Returns pocket ID
push {r4-r6, lr}
add r5, r2, #0x0
add r4, r0, #0x0
@@ -75,14 +78,14 @@ FUN_0206EBD4: ; 0x0206EBD4
asr r1, r1, #0x10
add pc, r1
_0206EBF6: ; jump table (using 16-bit offset)
- .short _0206EC14 - _0206EBF6 - 2; case 0
- .short _0206EC28 - _0206EBF6 - 2; case 1
- .short _0206EC34 - _0206EBF6 - 2; case 2
- .short _0206EC58 - _0206EBF6 - 2; case 3
- .short _0206EC1C - _0206EBF6 - 2; case 4
- .short _0206EC4C - _0206EBF6 - 2; case 5
- .short _0206EC40 - _0206EBF6 - 2; case 6
- .short _0206EC06 - _0206EBF6 - 2; case 7
+ .short _0206EC14 - _0206EBF6 - 2; case 0 (POCKET_ITEMS)
+ .short _0206EC28 - _0206EBF6 - 2; case 1 (POCKET_MEDICINE)
+ .short _0206EC34 - _0206EBF6 - 2; case 2 (POCKET_BALLS)
+ .short _0206EC58 - _0206EBF6 - 2; case 3 (POCKET_TMHMS)
+ .short _0206EC1C - _0206EBF6 - 2; case 4 (POCKET_BERRIES)
+ .short _0206EC4C - _0206EBF6 - 2; case 5 (POCKET_MAIL)
+ .short _0206EC40 - _0206EBF6 - 2; case 6 (POCKET_BATTLE_ITEMS)
+ .short _0206EC06 - _0206EBF6 - 2; case 7 (POCKET_KEY_ITEMS)
_0206EC06:
mov r1, #0xa5
lsl r1, r1, #0x2
@@ -147,8 +150,11 @@ _0206EC70: .word 0x000006BC
_0206EC74: .word 0x000006F8
_0206EC78: .word 0x000004EC
- thumb_func_start FUN_0206EC7C
-FUN_0206EC7C: ; 0x0206EC7C
+ thumb_func_start BagGetItemSlotForAddInternal
+BagGetItemSlotForAddInternal: ; 0x0206EC7C
+ ; Returns a pointer to the bag item slot in the current pocket
+ ; that has capacity for the item/quantity being added
+ ; NULL if no such luck
push {r4-r7}
add r5, r1, #0x0
mov r1, #0x0
@@ -206,8 +212,11 @@ _0206ECDC:
pop {r4-r7}
bx lr
- thumb_func_start FUN_0206ECE0
-FUN_0206ECE0: ; 0x0206ECE0
+ thumb_func_start BagGetItemSlotForAdd
+BagGetItemSlotForAdd: ; 0x0206ECE0
+ ; Returns a pointer to the bag item slot that has capacity
+ ; for the item/quantity being added
+ ; NULL if no such luck
push {r4-r5, lr}
sub sp, #0xc
add r4, r2, #0x0
@@ -215,8 +224,8 @@ FUN_0206ECE0: ; 0x0206ECE0
add r2, sp, #0x8
add r3, sp, #0x4
add r5, r1, #0x0
- bl FUN_0206EBD4
- cmp r0, #0x3
+ bl GetItemPocket
+ cmp r0, #0x3 ; POCKET_TMHMS
bne _0206ED0A
mov r0, #0x63
str r0, [sp, #0x0]
@@ -224,7 +233,7 @@ FUN_0206ECE0: ; 0x0206ECE0
ldr r1, [sp, #0x4]
add r2, r5, #0x0
add r3, r4, #0x0
- bl FUN_0206EC7C
+ bl BagGetItemSlotForAddInternal
add sp, #0xc
pop {r4-r5, pc}
_0206ED0A:
@@ -234,16 +243,17 @@ _0206ED0A:
ldr r0, [sp, #0x8]
ldr r1, [sp, #0x4]
add r3, r4, #0x0
- bl FUN_0206EC7C
+ bl BagGetItemSlotForAddInternal
add sp, #0xc
pop {r4-r5, pc}
nop
_0206ED20: .word 0x000003E7
- thumb_func_start FUN_0206ED24
-FUN_0206ED24: ; 0x0206ED24
+ thumb_func_start BagHasSpaceForItem
+BagHasSpaceForItem: ; 0x0206ED24
+ ; Returns bool whether space exists for the item being added
push {r3, lr}
- bl FUN_0206ECE0
+ bl BagGetItemSlotForAdd
cmp r0, #0x0
beq _0206ED32
mov r0, #0x1
@@ -253,15 +263,15 @@ _0206ED32:
pop {r3, pc}
.balign 4
- thumb_func_start FUN_0206ED38
-FUN_0206ED38: ; 0x0206ED38
+ thumb_func_start BagAddItem
+BagAddItem: ; 0x0206ED38
push {r4-r7, lr}
sub sp, #0xc
add r7, r0, #0x0
add r5, r1, #0x0
add r4, r2, #0x0
add r6, r3, #0x0
- bl FUN_0206ECE0
+ bl BagGetItemSlotForAdd
str r0, [sp, #0x8]
cmp r0, #0x0
bne _0206ED54
@@ -279,20 +289,21 @@ _0206ED54:
add r0, r7, #0x0
add r1, r5, #0x0
str r6, [sp, #0x0]
- bl FUN_0206EBD4
+ bl GetItemPocket
sub r0, r0, #0x3
cmp r0, #0x1
bhi _0206ED7A
+ ; POCKET_TMHMS, POCKET_BERRIES
ldr r0, [sp, #0x8]
ldr r1, [sp, #0x4]
- bl FUN_0206EF94
+ bl SortPocket
_0206ED7A:
mov r0, #0x1
add sp, #0xc
pop {r4-r7, pc}
- thumb_func_start FUN_0206ED80
-FUN_0206ED80: ; 0x0206ED80
+ thumb_func_start BagGetItemSlotForRemoveInternal
+BagGetItemSlotForRemoveInternal: ; 0x0206ED80
push {r3-r6}
mov r5, #0x0
cmp r1, #0x0
@@ -322,8 +333,8 @@ _0206EDAA:
bx lr
.balign 4
- thumb_func_start FUN_0206EDB0
-FUN_0206EDB0: ; 0x0206EDB0
+ thumb_func_start BagGetItemSlotForRemove
+BagGetItemSlotForRemove: ; 0x0206EDB0
push {r4-r5, lr}
sub sp, #0xc
add r4, r2, #0x0
@@ -331,25 +342,25 @@ FUN_0206EDB0: ; 0x0206EDB0
add r2, sp, #0x8
add r3, sp, #0x4
add r5, r1, #0x0
- bl FUN_0206EBD4
+ bl GetItemPocket
ldr r0, [sp, #0x8]
ldr r1, [sp, #0x4]
add r2, r5, #0x0
add r3, r4, #0x0
- bl FUN_0206ED80
+ bl BagGetItemSlotForRemoveInternal
add sp, #0xc
pop {r4-r5, pc}
.balign 4
- thumb_func_start FUN_0206EDD4
-FUN_0206EDD4: ; 0x0206EDD4
+ thumb_func_start BagTakeItem
+BagTakeItem: ; 0x0206EDD4
push {r4-r7, lr}
sub sp, #0xc
add r6, r0, #0x0
add r7, r1, #0x0
add r5, r2, #0x0
add r4, r3, #0x0
- bl FUN_0206EDB0
+ bl BagGetItemSlotForRemove
str r0, [sp, #0x8]
cmp r0, #0x0
bne _0206EDF0
@@ -372,22 +383,22 @@ _0206EE02:
add r1, r7, #0x0
add r2, sp, #0x8
add r3, sp, #0x4
- bl FUN_0206EBD4
+ bl GetItemPocket
ldr r0, [sp, #0x8]
ldr r1, [sp, #0x4]
- bl FUN_0206EF48
+ bl PocketCompaction
mov r0, #0x1
add sp, #0xc
pop {r4-r7, pc}
.balign 4
- thumb_func_start FUN_0206EE20
-FUN_0206EE20: ; 0x0206EE20
+ thumb_func_start BagTakeItem2
+BagTakeItem2: ; 0x0206EE20
push {r4-r6, lr}
add r5, r0, #0x0
add r6, r1, #0x0
add r4, r3, #0x0
- bl FUN_0206ED80
+ bl BagGetItemSlotForRemoveInternal
cmp r0, #0x0
bne _0206EE34
mov r0, #0x0
@@ -404,14 +415,14 @@ _0206EE34:
_0206EE44:
add r0, r5, #0x0
add r1, r6, #0x0
- bl FUN_0206EF48
+ bl PocketCompaction
mov r0, #0x1
pop {r4-r6, pc}
- thumb_func_start FUN_0206EE50
-FUN_0206EE50: ; 0x0206EE50
+ thumb_func_start BagHasItem
+BagHasItem: ; 0x0206EE50
push {r3, lr}
- bl FUN_0206EDB0
+ bl BagGetItemSlotForRemove
cmp r0, #0x0
beq _0206EE5E
mov r0, #0x1
@@ -421,8 +432,8 @@ _0206EE5E:
pop {r3, pc}
.balign 4
- thumb_func_start FUN_0206EE64
-FUN_0206EE64: ; 0x0206EE64
+ thumb_func_start BagPocketNotEmpty
+BagPocketNotEmpty: ; 0x0206EE64
cmp r1, #0x7
bhi _0206EEC4
add r1, r1, r1
@@ -508,12 +519,12 @@ _0206EEEC: .word 0x000006BC
_0206EEF0: .word 0x000006F8
_0206EEF4: .word 0x000004EC
- thumb_func_start FUN_0206EEF8
-FUN_0206EEF8: ; 0x0206EEF8
+ thumb_func_start BagGetQuantity
+BagGetQuantity: ; 0x0206EEF8
push {r3, lr}
add r3, r2, #0x0
mov r2, #0x1
- bl FUN_0206EDB0
+ bl BagGetItemSlotForRemove
cmp r0, #0x0
bne _0206EF0A
mov r0, #0x0
@@ -523,11 +534,11 @@ _0206EF0A:
pop {r3, pc}
.balign 4
- thumb_func_start FUN_0206EF10
-FUN_0206EF10: ; 0x0206EF10
+ thumb_func_start PocketGetQuantity
+PocketGetQuantity: ; 0x0206EF10
push {r3, lr}
mov r3, #0x1
- bl FUN_0206ED80
+ bl BagGetItemSlotForRemoveInternal
cmp r0, #0x0
bne _0206EF20
mov r0, #0x0
@@ -536,8 +547,8 @@ _0206EF20:
ldrh r0, [r0, #0x2]
pop {r3, pc}
- thumb_func_start FUN_0206EF24
-FUN_0206EF24: ; 0x0206EF24
+ thumb_func_start SwapItemSlots
+SwapItemSlots: ; 0x0206EF24
push {r3}
sub sp, #0x4
ldrh r3, [r0, #0x0]
@@ -557,8 +568,8 @@ FUN_0206EF24: ; 0x0206EF24
pop {r3}
bx lr
- thumb_func_start FUN_0206EF48
-FUN_0206EF48: ; 0x0206EF48
+ thumb_func_start PocketCompaction
+PocketCompaction: ; 0x0206EF48
push {r4-r7, lr}
sub sp, #0xc
str r0, [sp, #0x0]
@@ -583,7 +594,7 @@ _0206EF6A:
bne _0206EF78
add r0, r4, #0x0
add r1, r5, #0x0
- bl FUN_0206EF24
+ bl SwapItemSlots
_0206EF78:
add r6, r6, #0x1
add r5, r5, #0x4
@@ -602,8 +613,8 @@ _0206EF8E:
pop {r4-r7, pc}
.balign 4
- thumb_func_start FUN_0206EF94
-FUN_0206EF94: ; 0x0206EF94
+ thumb_func_start SortPocket
+SortPocket: ; 0x0206EF94
push {r4-r7, lr}
sub sp, #0xc
str r0, [sp, #0x0]
@@ -636,7 +647,7 @@ _0206EFB6:
_0206EFCA:
add r0, r4, #0x0
add r1, r5, #0x0
- bl FUN_0206EF24
+ bl SwapItemSlots
_0206EFD2:
add r6, r6, #0x1
add r5, r5, #0x4
@@ -654,14 +665,14 @@ _0206EFE8:
add sp, #0xc
pop {r4-r7, pc}
- thumb_func_start FUN_0206EFEC
-FUN_0206EFEC: ; 0x0206EFEC
+ thumb_func_start CreateBagView
+CreateBagView: ; 0x0206EFEC
push {r3-r7, lr}
add r5, r0, #0x0
lsl r0, r2, #0x18
add r7, r1, #0x0
lsr r0, r0, #0x18
- bl FUN_0206E2F0
+ bl BagView_new
add r6, r0, #0x0
ldrb r0, [r7, #0x0]
mov r4, #0x0
@@ -694,7 +705,7 @@ _0206F026:
add r1, r5, r1
mov r2, #0x7
lsr r3, r3, #0x18
- bl FUN_0206E330
+ bl BagView_setitem
b _0206F0B6
_0206F03A:
lsl r3, r4, #0x18
@@ -702,7 +713,7 @@ _0206F03A:
add r1, r5, #0x0
mov r2, #0x0
lsr r3, r3, #0x18
- bl FUN_0206E330
+ bl BagView_setitem
b _0206F0B6
_0206F04A:
ldr r1, _0206F0C4 ; =0x000005BC
@@ -711,7 +722,7 @@ _0206F04A:
add r1, r5, r1
mov r2, #0x4
lsr r3, r3, #0x18
- bl FUN_0206E330
+ bl BagView_setitem
b _0206F0B6
_0206F05C:
ldr r1, _0206F0C8 ; =0x0000051C
@@ -720,7 +731,7 @@ _0206F05C:
add r1, r5, r1
mov r2, #0x1
lsr r3, r3, #0x18
- bl FUN_0206E330
+ bl BagView_setitem
b _0206F0B6
_0206F06E:
ldr r1, _0206F0CC ; =0x000006BC
@@ -729,7 +740,7 @@ _0206F06E:
add r1, r5, r1
mov r2, #0x2
lsr r3, r3, #0x18
- bl FUN_0206E330
+ bl BagView_setitem
b _0206F0B6
_0206F080:
ldr r1, _0206F0D0 ; =0x000006F8
@@ -738,7 +749,7 @@ _0206F080:
add r1, r5, r1
mov r2, #0x6
lsr r3, r3, #0x18
- bl FUN_0206E330
+ bl BagView_setitem
b _0206F0B6
_0206F092:
ldr r1, _0206F0D4 ; =0x000004EC
@@ -747,7 +758,7 @@ _0206F092:
add r1, r5, r1
mov r2, #0x5
lsr r3, r3, #0x18
- bl FUN_0206E330
+ bl BagView_setitem
b _0206F0B6
_0206F0A4:
mov r1, #0xd7
@@ -757,7 +768,7 @@ _0206F0A4:
add r1, r5, r1
mov r2, #0x3
lsr r3, r3, #0x18
- bl FUN_0206E330
+ bl BagView_setitem
_0206F0B6:
add r4, r4, #0x1
ldrb r0, [r7, r4]
@@ -773,8 +784,8 @@ _0206F0CC: .word 0x000006BC
_0206F0D0: .word 0x000006F8
_0206F0D4: .word 0x000004EC
- thumb_func_start FUN_0206F0D8
-FUN_0206F0D8: ; 0x0206F0D8
+ thumb_func_start BagGetPocketSlotN
+BagGetPocketSlotN: ; 0x0206F0D8
cmp r1, #0x7
bhi _0206F136
add r1, r1, r1
@@ -847,8 +858,8 @@ _0206F14C: .word 0x000006BC
_0206F150: .word 0x000006F8
_0206F154: .word 0x000004EC
- thumb_func_start FUN_0206F158
-FUN_0206F158: ; 0x0206F158
+ thumb_func_start Sav2_Bag_get
+Sav2_Bag_get: ; 0x0206F158
ldr r3, _0206F160 ; =SavArray_get
mov r1, #0x3
bx r3
diff --git a/arm9/asm/save.s b/arm9/asm/save.s
index 4278bd36..ee94c018 100644
--- a/arm9/asm/save.s
+++ b/arm9/asm/save.s
@@ -21,7 +21,7 @@ UNK_020EE700: ; 0x020EE700
.word 0x00, 0x00, FUN_0202376C, FUN_02023770
.word 0x01, 0x00, Sav2_PlayerData_sizeof, Sav2_PlayerData_init
.word 0x02, 0x00, SavArray_Party_sizeof, SavArray_Party_init
- .word 0x03, 0x00, FUN_0206EB80, FUN_0206EBA0
+ .word 0x03, 0x00, Sav2_Bag_sizeof, Sav2_Bag_init
.word 0x04, 0x00, SavArray_Flags_sizeof, SavArray_Flags_init
.word 0x05, 0x00, FUN_0204BE14, FUN_0204BE18
.word 0x06, 0x00, FUN_02034D7C, FUN_02034D98
@@ -63,8 +63,8 @@ UNK_021C59C8: ; 0x021C59C8
.text
- thumb_func_start FUN_0202254C
-FUN_0202254C: ; 0x0202254C
+ thumb_func_start SaveBlock2_new
+SaveBlock2_new: ; 0x0202254C
push {r4, lr}
ldr r1, _020225E0 ; =0x000204A8
mov r0, #0x1
@@ -89,7 +89,7 @@ FUN_0202254C: ; 0x0202254C
bl MATHi_CRC16InitTable
ldr r0, _020225EC ; =0x00020224
add r0, r4, r0
- bl FUN_020230E4
+ bl SaveBlock2_InitSubstructs
ldr r0, _020225F0 ; =0x00020464
ldr r1, _020225EC ; =0x00020224
add r0, r4, r0
@@ -1638,8 +1638,8 @@ _020230BE:
_020230DC: .word UNK_020EE6DC
_020230E0: .word UNK_020EE700
- thumb_func_start FUN_020230E4
-FUN_020230E4: ; 0x020230E4
+ thumb_func_start SaveBlock2_InitSubstructs
+SaveBlock2_InitSubstructs: ; 0x020230E4
push {r3-r7, lr}
sub sp, #0x8
add r5, r0, #0x0
@@ -1831,6 +1831,7 @@ _02023244: .word UNK_020EE6DC
thumb_func_start FUN_02023248
FUN_02023248: ; 0x02023248
+ ; void FUN_02023248(struct SaveBlock2 * sav2, void * data, u16 id, u32 size)
push {r3-r5, lr}
ldr r5, _0202326C ; =0x20060623
add r4, r1, r3
diff --git a/arm9/asm/scrcmd.s b/arm9/asm/scrcmd.s
index 7ffad1f7..8eb78baf 100644
--- a/arm9/asm/scrcmd.s
+++ b/arm9/asm/scrcmd.s
@@ -5091,9 +5091,9 @@ FUN_0203C1AC: ; 0x0203C1AC
add r0, #0x80
ldr r0, [r0, #0x0]
ldr r0, [r0, #0xc]
- bl FUN_0206F158
+ bl Sav2_Bag_get
mov r1, #0x4
- bl FUN_0206EE64
+ bl BagPocketNotEmpty
cmp r0, #0x0
bne _0203C1E0
mov r0, #0x1
@@ -8033,9 +8033,9 @@ FUN_0203D958: ; 0x0203D958
add r4, r0, #0x0
ldr r0, [r5, #0x0]
ldr r0, [r0, #0xc]
- bl FUN_0206F158
+ bl Sav2_Bag_get
add r1, r6, #0x0
- bl FUN_0206EE64
+ bl BagPocketNotEmpty
strh r0, [r4, #0x0]
mov r0, #0x0
pop {r4-r6, pc}
diff --git a/arm9/asm/scrcmd_12.s b/arm9/asm/scrcmd_12.s
index 2566edfd..325e85b5 100644
--- a/arm9/asm/scrcmd_12.s
+++ b/arm9/asm/scrcmd_12.s
@@ -755,7 +755,7 @@ FUN_02043308: ; 0x02043308
push {r3-r5, lr}
add r5, r0, #0x0
ldr r0, [r5, #0xc]
- bl FUN_0206F158
+ bl Sav2_Bag_get
add r4, r0, #0x0
add r0, r5, #0x0
bl FUN_02042D04
@@ -766,7 +766,7 @@ FUN_02043308: ; 0x02043308
lsr r1, r1, #0x10
mov r2, #0x1
mov r3, #0x20
- bl FUN_0206ED24
+ bl BagHasSpaceForItem
pop {r3-r5, pc}
.balign 4
@@ -775,7 +775,7 @@ FUN_02043330: ; 0x02043330
push {r3-r5, lr}
add r5, r0, #0x0
ldr r0, [r5, #0xc]
- bl FUN_0206F158
+ bl Sav2_Bag_get
add r4, r0, #0x0
add r0, r5, #0x0
bl FUN_02042D04
@@ -786,7 +786,7 @@ FUN_02043330: ; 0x02043330
lsr r1, r1, #0x10
mov r2, #0x1
mov r3, #0x20
- bl FUN_0206ED38
+ bl BagAddItem
pop {r3-r5, pc}
.balign 4
@@ -827,7 +827,7 @@ FUN_02043394: ; 0x02043394
add r4, r1, #0x0
ldr r0, [r0, #0xc]
add r6, r2, #0x0
- bl FUN_0206F158
+ bl Sav2_Bag_get
ldr r0, [r5, #0x0]
bl FUN_02042D04
ldr r0, [r0, #0x0]
@@ -1099,7 +1099,7 @@ FUN_020435A0: ; 0x020435A0
push {r3-r5, lr}
add r5, r0, #0x0
ldr r0, [r5, #0xc]
- bl FUN_0206F158
+ bl Sav2_Bag_get
add r4, r0, #0x0
add r0, r5, #0x0
bl FUN_02042D04
@@ -1107,7 +1107,7 @@ FUN_020435A0: ; 0x020435A0
add r0, r4, #0x0
mov r2, #0x1
mov r3, #0x20
- bl FUN_0206ED24
+ bl BagHasSpaceForItem
pop {r3-r5, pc}
.balign 4
_020435C0: .word 0x000001C6
@@ -1117,7 +1117,7 @@ FUN_020435C4: ; 0x020435C4
push {r3-r5, lr}
add r4, r0, #0x0
ldr r0, [r4, #0xc]
- bl FUN_0206F158
+ bl Sav2_Bag_get
add r5, r0, #0x0
add r0, r4, #0x0
bl FUN_02042D04
@@ -1128,7 +1128,7 @@ FUN_020435C4: ; 0x020435C4
add r0, r5, #0x0
mov r2, #0x1
mov r3, #0x20
- bl FUN_0206ED38
+ bl BagAddItem
add r0, r4, #0x0
mov r1, #0x0
bl FUN_0205F478
@@ -1172,7 +1172,7 @@ FUN_02043634: ; 0x02043634
add r4, r1, #0x0
ldr r0, [r0, #0xc]
add r6, r2, #0x0
- bl FUN_0206F158
+ bl Sav2_Bag_get
ldr r0, [r5, #0x0]
bl FUN_02042D04
mov r2, #0x53
@@ -1191,7 +1191,7 @@ FUN_02043660: ; 0x02043660
push {r3-r5, lr}
add r5, r0, #0x0
ldr r0, [r5, #0xc]
- bl FUN_0206F158
+ bl Sav2_Bag_get
add r4, r0, #0x0
add r0, r5, #0x0
bl FUN_02042D04
@@ -1200,7 +1200,7 @@ FUN_02043660: ; 0x02043660
lsl r1, r1, #0x2
mov r2, #0x1
mov r3, #0x20
- bl FUN_0206ED24
+ bl BagHasSpaceForItem
pop {r3-r5, pc}
.balign 4
@@ -1209,7 +1209,7 @@ FUN_02043684: ; 0x02043684
push {r3-r5, lr}
add r4, r0, #0x0
ldr r0, [r4, #0xc]
- bl FUN_0206F158
+ bl Sav2_Bag_get
add r5, r0, #0x0
add r0, r4, #0x0
bl FUN_02042D04
@@ -1221,7 +1221,7 @@ FUN_02043684: ; 0x02043684
lsl r1, r1, #0x2
mov r2, #0x1
mov r3, #0x20
- bl FUN_0206ED38
+ bl BagAddItem
add r0, r4, #0x0
mov r1, #0x1
bl FUN_0205F478
@@ -1263,7 +1263,7 @@ FUN_020436F0: ; 0x020436F0
add r4, r1, #0x0
ldr r0, [r0, #0xc]
add r6, r2, #0x0
- bl FUN_0206F158
+ bl Sav2_Bag_get
ldr r0, [r5, #0x0]
bl FUN_02042D04
mov r2, #0x53
@@ -1282,7 +1282,7 @@ FUN_0204371C: ; 0x0204371C
push {r3-r5, lr}
add r5, r0, #0x0
ldr r0, [r5, #0xc]
- bl FUN_0206F158
+ bl Sav2_Bag_get
add r4, r0, #0x0
add r0, r5, #0x0
bl FUN_02042D04
@@ -1290,7 +1290,7 @@ FUN_0204371C: ; 0x0204371C
add r0, r4, #0x0
mov r2, #0x1
mov r3, #0x20
- bl FUN_0206ED24
+ bl BagHasSpaceForItem
pop {r3-r5, pc}
.balign 4
_0204373C: .word 0x000001C7
@@ -1300,7 +1300,7 @@ FUN_02043740: ; 0x02043740
push {r3-r5, lr}
add r4, r0, #0x0
ldr r0, [r4, #0xc]
- bl FUN_0206F158
+ bl Sav2_Bag_get
add r5, r0, #0x0
add r0, r4, #0x0
bl FUN_02042D04
@@ -1311,7 +1311,7 @@ FUN_02043740: ; 0x02043740
add r0, r5, #0x0
mov r2, #0x1
mov r3, #0x20
- bl FUN_0206ED38
+ bl BagAddItem
add r0, r4, #0x0
mov r1, #0x2
bl FUN_0205F478
@@ -1355,7 +1355,7 @@ FUN_020437B0: ; 0x020437B0
add r4, r1, #0x0
ldr r0, [r0, #0xc]
add r6, r2, #0x0
- bl FUN_0206F158
+ bl Sav2_Bag_get
ldr r0, [r5, #0x0]
bl FUN_02042D04
mov r2, #0x53
diff --git a/arm9/asm/scrcmd_19.s b/arm9/asm/scrcmd_19.s
index 0e036f08..c22bcd47 100644
--- a/arm9/asm/scrcmd_19.s
+++ b/arm9/asm/scrcmd_19.s
@@ -32,11 +32,11 @@ FUN_02045268: ; 0x02045268
add r5, r4, #0x0
_02045288:
ldr r0, [r6, #0xc]
- bl FUN_0206F158
+ bl Sav2_Bag_get
lsl r1, r4, #0x2
ldrh r1, [r7, r1]
mov r2, #0x4
- bl FUN_0206EEF8
+ bl BagGetQuantity
add r0, r5, r0
lsl r0, r0, #0x10
lsr r5, r0, #0x10
@@ -133,11 +133,11 @@ FUN_02045308: ; 0x02045308
_02045358:
ldr r0, [r7, #0xc]
lsl r5, r4, #0x2
- bl FUN_0206F158
+ bl Sav2_Bag_get
ldr r1, _02045394 ; =UNK_020F450C
mov r2, #0x4
ldrh r1, [r1, r5]
- bl FUN_0206EEF8
+ bl BagGetQuantity
add r0, r6, r0
lsl r0, r0, #0x10
lsr r6, r0, #0x10
diff --git a/arm9/asm/scrcmd_22.s b/arm9/asm/scrcmd_22.s
index d0563546..718e511d 100644
--- a/arm9/asm/scrcmd_22.s
+++ b/arm9/asm/scrcmd_22.s
@@ -33,11 +33,11 @@ FUN_02045784: ; 0x02045784
bl GetVarPointer
add r4, r0, #0x0
ldr r0, [r5, #0xc]
- bl FUN_0206F158
+ bl Sav2_Bag_get
add r1, r6, #0x0
add r2, r7, #0x0
mov r3, #0x4
- bl FUN_0206ED38
+ bl BagAddItem
strh r0, [r4, #0x0]
mov r0, #0x0
pop {r3-r7, pc}
@@ -72,11 +72,11 @@ FUN_020457DC: ; 0x020457DC
bl GetVarPointer
add r4, r0, #0x0
ldr r0, [r5, #0xc]
- bl FUN_0206F158
+ bl Sav2_Bag_get
add r1, r6, #0x0
add r2, r7, #0x0
mov r3, #0x4
- bl FUN_0206EDD4
+ bl BagTakeItem
strh r0, [r4, #0x0]
mov r0, #0x0
pop {r3-r7, pc}
@@ -111,11 +111,11 @@ FUN_02045834: ; 0x02045834
bl GetVarPointer
add r4, r0, #0x0
ldr r0, [r5, #0xc]
- bl FUN_0206F158
+ bl Sav2_Bag_get
add r1, r6, #0x0
add r2, r7, #0x0
mov r3, #0x4
- bl FUN_0206ED24
+ bl BagHasSpaceForItem
strh r0, [r4, #0x0]
mov r0, #0x0
pop {r3-r7, pc}
@@ -150,11 +150,11 @@ FUN_0204588C: ; 0x0204588C
bl GetVarPointer
add r4, r0, #0x0
ldr r0, [r5, #0xc]
- bl FUN_0206F158
+ bl Sav2_Bag_get
add r1, r6, #0x0
add r2, r7, #0x0
mov r3, #0xb
- bl FUN_0206EE50
+ bl BagHasItem
strh r0, [r4, #0x0]
mov r0, #0x0
pop {r3-r7, pc}
diff --git a/arm9/asm/unk_02035068.s b/arm9/asm/unk_02035068.s
index 093c06e6..8fc11a20 100644
--- a/arm9/asm/unk_02035068.s
+++ b/arm9/asm/unk_02035068.s
@@ -10,8 +10,9 @@ UNK_020F2A8C: ; 0x020F2A8C
.global UNK_020F2A90
UNK_020F2A90: ; 0x020F2A90
- .byte 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0xFF, 0x00, 0x00, 0x00
+ .byte 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0xFF
+ .balign 4, 0
.global UNK_020F2A9C
UNK_020F2A9C: ; 0x020F2A9C
.byte 0x00, 0x01, 0x02, 0x04, 0x03, 0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00
@@ -2088,14 +2089,14 @@ _020360EA:
lsl r1, r1, #0x2
str r0, [r4, r1]
ldr r0, [r5, #0xc]
- bl FUN_0206F158
+ bl Sav2_Bag_get
add r7, r0, #0x0
ldr r0, [r5, #0xc]
bl Sav2_PlayerData_GetProfileAddr
ldr r1, _0203627C ; =UNK_020F2A90
add r0, r7, #0x0
mov r2, #0xb
- bl FUN_0206EFEC
+ bl CreateBagView
mov r1, #0x7e
lsl r1, r1, #0x2
add r3, r5, #0x0
@@ -2325,7 +2326,7 @@ FUN_020362E4: ; 0x020362E4
bl FUN_0204652C
add r4, r0, #0x0
mov r0, #0xb
- bl FUN_0206E2F0
+ bl BagView_new
str r0, [sp, #0x8]
bl FUN_0206E308
mov r1, #0x7e
@@ -2402,7 +2403,7 @@ _0203638A:
bl SavArray_PlayerParty_get
str r0, [r5, #0x0]
ldr r0, [r6, #0xc]
- bl FUN_0206F158
+ bl Sav2_Bag_get
str r0, [r5, #0x4]
ldr r0, [r6, #0xc]
bl FUN_02025838
@@ -2501,7 +2502,7 @@ _02036474:
ldr r0, [sp, #0x4]
str r0, [r5, #0x0]
ldr r0, [r6, #0xc]
- bl FUN_0206F158
+ bl Sav2_Bag_get
str r0, [r5, #0x4]
ldr r0, [r6, #0xc]
bl FUN_02025838
@@ -2994,7 +2995,7 @@ FUN_0203684C: ; 0x0203684C
bl SavArray_PlayerParty_get
str r0, [r5, #0x0]
ldr r0, [r6, #0xc]
- bl FUN_0206F158
+ bl Sav2_Bag_get
str r0, [r5, #0x4]
ldr r0, [r6, #0xc]
bl FUN_02025838
@@ -3097,7 +3098,7 @@ FUN_0203695C: ; 0x0203695C
str r0, [r6, r1]
ldr r0, [sp, #0x4]
ldr r0, [r0, #0xc]
- bl FUN_0206F158
+ bl Sav2_Bag_get
str r0, [sp, #0x0]
mov r0, #0x7e
lsl r0, r0, #0x2
@@ -3115,7 +3116,7 @@ _0203699A:
add r1, r7, #0x0
mov r2, #0x1
mov r3, #0xb
- bl FUN_0206EE50
+ bl BagHasItem
cmp r0, #0x1
bne _020369C6
mov r0, #0x7e
@@ -3523,7 +3524,7 @@ FUN_02036CEC: ; 0x02036CEC
bl SavArray_PlayerParty_get
str r0, [r4, #0x0]
ldr r0, [r5, #0xc]
- bl FUN_0206F158
+ bl Sav2_Bag_get
str r0, [r4, #0x4]
ldr r0, [r5, #0xc]
bl FUN_02025838
@@ -3668,7 +3669,7 @@ FUN_02036E08: ; 0x02036E08
bl FUN_02024DA0
str r0, [sp, #0x2c]
ldr r0, [r4, #0xc]
- bl FUN_0206F158
+ bl Sav2_Bag_get
str r0, [sp, #0x30]
ldr r0, [r4, #0xc]
bl FUN_02029FC8
@@ -3705,7 +3706,7 @@ _02036E9E:
bl FUN_02024DA0
str r0, [sp, #0x3c]
ldr r0, [r4, #0xc]
- bl FUN_0206F158
+ bl Sav2_Bag_get
str r0, [sp, #0x40]
ldr r0, [r4, #0xc]
bl FUN_02029FC8
diff --git a/arm9/asm/unk_020377F0.s b/arm9/asm/unk_020377F0.s
index 48d33a87..5f7dd028 100644
--- a/arm9/asm/unk_020377F0.s
+++ b/arm9/asm/unk_020377F0.s
@@ -10,165 +10,197 @@
.section .rodata
+ .balign 4
.global UNK_020F2BC4
UNK_020F2BC4: ; 0x020F2BC4
- .byte 0x04, 0xFF, 0x00, 0x00
+ .byte 0x04, 0xFF
+ .balign 4
.global UNK_020F2BC8
UNK_020F2BC8: ; 0x020F2BC8
- .byte 0x00, 0xFF, 0x00, 0x00
+ .byte 0x00, 0xFF
+ .balign 4
.global UNK_020F2BCC
UNK_020F2BCC: ; 0x020F2BCC
- .byte 0x03, 0x05, 0x08, 0x00
+ .byte 0x03, 0x05, 0x08
+ .balign 4
.global UNK_020F2BD0
UNK_020F2BD0: ; 0x020F2BD0
- .byte 0x00, 0x01, 0x02, 0x04, 0x03, 0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00
+ .byte 0x00, 0x01, 0x02, 0x04, 0x03, 0x05, 0x06, 0x07, 0x08
+ .balign 4
.global UNK_020F2BDC
UNK_020F2BDC: ; 0x020F2BDC
- .byte 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0xFF, 0x00, 0x00, 0x00
+ .byte 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0xFF
+ .balign 4
.global UNK_020F2BE8
UNK_020F2BE8: ; 0x020F2BE8
.byte 0x00, 0x05, 0x01, 0x01, 0x04, 0x04, 0x02, 0x02, 0x02, 0x03, 0x03, 0x03
+ .balign 4
.global UNK_020F2BF4
UNK_020F2BF4: ; 0x020F2BF4
.word MOD70_021D74E0, MOD70_021D758C, MOD70_021D755C, SDK_OVERLAY_MODULE_70_ID
+ .balign 4
.global UNK_020F2C04
UNK_020F2C04: ; 0x020F2C04
.word MOD84_021D74E0, MOD84_021D7748, MOD84_021D76A4, SDK_OVERLAY_MODULE_84_ID
+ .balign 4
.global UNK_020F2C14
UNK_020F2C14: ; 0x020F2C14
.word MOD85_021D74E0, MOD85_021D75A0, MOD85_021D7644, SDK_OVERLAY_MODULE_85_ID
+ .balign 4
.global UNK_020F2C24
UNK_020F2C24: ; 0x020F2C24
.word MOD58_021D9A20, MOD58_021D9B8C, MOD58_021D9BF0, SDK_OVERLAY_MODULE_58_ID
+ .balign 4
.global UNK_020F2C34
UNK_020F2C34: ; 0x020F2C34
.word MOD64_021D74E0, MOD64_021D7640, MOD64_021D76F4, SDK_OVERLAY_MODULE_64_ID
+ .balign 4
.global UNK_020F2C44
UNK_020F2C44: ; 0x020F2C44
.word MOD16_021D74E0, MOD16_021D7588, MOD16_021D7614, SDK_OVERLAY_MODULE_16_ID
+ .balign 4
.global UNK_020F2C54
UNK_020F2C54: ; 0x020F2C54
.word MOD57_021D74E0, MOD57_021D7714, MOD57_021D7944, SDK_OVERLAY_MODULE_57_ID
+ .balign 4
.global UNK_020F2C64
UNK_020F2C64: ; 0x020F2C64
.word MOD80_0222DFD0, MOD80_0222E134, MOD80_0222E25C, SDK_OVERLAY_MODULE_80_ID
+ .balign 4
.global UNK_020F2C74
UNK_020F2C74: ; 0x020F2C74
.word MOD82_0222DA34, MOD82_0222DB7C, MOD82_0222DC50, SDK_OVERLAY_MODULE_82_ID
+ .balign 4
.global UNK_020F2C84
UNK_020F2C84: ; 0x020F2C84
.word MOD76_021D74E0, MOD76_021D7568, MOD76_021D761C, SDK_OVERLAY_MODULE_76_ID
+ .balign 4
.global UNK_020F2C94
UNK_020F2C94: ; 0x020F2C94
.word MOD53_021D74E0, MOD53_021D7654, MOD53_021D7764, SDK_OVERLAY_MODULE_53_ID
+ .balign 4
.global UNK_020F2CA4
UNK_020F2CA4: ; 0x020F2CA4
.word MOD81_02237E40, MOD81_02238064, MOD81_02238004, SDK_OVERLAY_MODULE_81_ID
+ .balign 4
.global UNK_020F2CB4
UNK_020F2CB4: ; 0x020F2CB4
.word MOD74_021D74E0, MOD74_021D755C, MOD74_021D7540, SDK_OVERLAY_MODULE_74_ID
+ .balign 4
.global UNK_020F2CC4
UNK_020F2CC4: ; 0x020F2CC4
.word MOD60_021D74E0, MOD60_021D76B8, MOD60_021D75B0, SDK_OVERLAY_MODULE_60_ID
+ .balign 4
.global UNK_020F2CD4
UNK_020F2CD4: ; 0x020F2CD4
.word MOD66_021D74E0, MOD66_021D7538, MOD66_021D75B0, SDK_OVERLAY_MODULE_66_ID
+ .balign 4
.global UNK_020F2CE4
UNK_020F2CE4: ; 0x020F2CE4
.word MOD15_021D74E0, MOD15_021D7558, MOD15_021D7608, SDK_OVERLAY_MODULE_15_ID
+ .balign 4
.global UNK_020F2CF4
UNK_020F2CF4: ; 0x020F2CF4
.word MOD14_021D74E0, MOD14_021D754C, MOD14_021D75B8, SDK_OVERLAY_MODULE_14_ID
+ .balign 4
.global UNK_020F2D04
UNK_020F2D04: ; 0x020F2D04
.word MOD54_021D74E0, MOD54_021D764C, MOD54_021D7740, SDK_OVERLAY_MODULE_54_ID
+ .balign 4
.global UNK_020F2D14
UNK_020F2D14: ; 0x020F2D14
.word MOD77_021D74E0, MOD77_021D7604, MOD77_021D7BAC, SDK_OVERLAY_MODULE_77_ID
+ .balign 4
.global UNK_020F2D24
UNK_020F2D24: ; 0x020F2D24
.word MOD67_021D74E0, MOD67_021D75D0, MOD67_021D7624, SDK_OVERLAY_MODULE_67_ID
+
+ .balign 4
+ .global UNK_020F2D34
+UNK_020F2D34: ; 0x020F2D34
.word MOD55_021D7614, MOD55_021D76BC, MOD55_021D77AC, SDK_OVERLAY_MODULE_55_ID
+ .balign 4
.global UNK_020F2D44
UNK_020F2D44: ; 0x020F2D44
.word MOD68_021D74E0, MOD68_021D75D8, MOD68_021D762C, SDK_OVERLAY_MODULE_68_ID
+ .balign 4
.global UNK_020F2D54
UNK_020F2D54: ; 0x020F2D54
.word MOD55_021D756C, MOD55_021D76BC, MOD55_021D77AC, SDK_OVERLAY_MODULE_55_ID
+ .balign 4
.global UNK_020F2D64
UNK_020F2D64: ; 0x020F2D64
.word HOF_OverlayInit, HOF_OverlayRun, HOF_OverlayTeardown, SDK_OVERLAY_MODULE_69_ID
+ .balign 4
.global UNK_020F2D74
UNK_020F2D74: ; 0x020F2D74
.word MOD75_021E6BA0, MOD75_021E6D6C, MOD75_021E6F00, SDK_OVERLAY_MODULE_75_ID
+ .balign 4
.global UNK_020F2D84
UNK_020F2D84: ; 0x020F2D84
.word MOD78_021D74E0, MOD78_021D75D0, MOD78_021D76B8, SDK_OVERLAY_MODULE_78_ID
+ .balign 4
.global UNK_020F2D94
UNK_020F2D94: ; 0x020F2D94
.word FUN_020377F0, FUN_020377F4, FUN_02037808, SDK_OVERLAY_MODULE_11_ID
+ .balign 4
.global UNK_020F2DA4
UNK_020F2DA4: ; 0x020F2DA4
.word MOD86_021D74E0, MOD86_021D758C, MOD86_021D76B0, SDK_OVERLAY_MODULE_86_ID
.section .data
+ .balign 4
.global UNK_02105DB8
UNK_02105DB8: ; 0x02105DB8
- .byte 0x00, 0x00, 0x00, 0x00
+ .word 0 ; u8 *
+ .balign 4
.global UNK_02105DBC
UNK_02105DBC: ; 0x02105DBC
- .word MOD71_0222D5C0
- .word MOD71_0222D9C8
- .word MOD71_0222E438
- .word SDK_OVERLAY_MODULE_71_ID
+ .word MOD71_0222D5C0, MOD71_0222D9C8, MOD71_0222E438, SDK_OVERLAY_MODULE_71_ID
+ .balign 4
.global UNK_02105DCC
UNK_02105DCC: ; 0x02105DCC
- .word MOD17_021DDB58
- .word MOD17_021DDC30
- .word MOD17_021DDCF4
- .word SDK_OVERLAY_MODULE_17_ID
+ .word MOD17_021DDB58, MOD17_021DDC30, MOD17_021DDCF4, SDK_OVERLAY_MODULE_17_ID
+ .balign 4
.global UNK_02105DDC
UNK_02105DDC: ; 0x02105DDC
- .word MOD17_021D83E4
- .word MOD17_021D84F0
- .word MOD17_021D8738
- .word SDK_OVERLAY_MODULE_17_ID
+ .word MOD17_021D83E4, MOD17_021D84F0, MOD17_021D8738, SDK_OVERLAY_MODULE_17_ID
.text
@@ -232,10 +264,10 @@ FUN_02037844: ; 0x02037844
add r5, r0, #0x0
ldr r0, [r5, #0xc]
add r6, r1, #0x0
- bl FUN_0206F158
+ bl Sav2_Bag_get
ldr r1, _02037898 ; =UNK_020F2BDC
mov r2, #0xb
- bl FUN_0206EFEC
+ bl CreateBagView
add r3, r5, #0x0
add r3, #0x94
ldr r1, [r5, #0xc]
@@ -272,7 +304,7 @@ FUN_0203789C: ; 0x0203789C
add r5, r0, #0x0
ldr r0, [r5, #0xc]
add r4, r1, #0x0
- bl FUN_0206F158
+ bl Sav2_Bag_get
add r6, r0, #0x0
cmp r4, #0x0
beq _020378B4
@@ -296,7 +328,7 @@ _020378C8:
add r0, r6, #0x0
ldr r1, [r1, #0x0]
mov r2, #0x20
- bl FUN_0206EFEC
+ bl CreateBagView
add r3, r5, #0x0
add r3, #0x94
ldr r1, [r5, #0xc]
@@ -400,7 +432,7 @@ FUN_0203797C: ; 0x0203797C
bl SavArray_PlayerParty_get
str r0, [r4, #0x0]
ldr r0, [r5, #0xc]
- bl FUN_0206F158
+ bl Sav2_Bag_get
str r0, [r4, #0x4]
ldr r0, [r5, #0xc]
bl FUN_02025838
@@ -1612,7 +1644,7 @@ _020382F6:
bl FUN_02024DA0
add r7, r0, #0x0
ldr r0, [r5, #0xc]
- bl FUN_0206F158
+ bl Sav2_Bag_get
str r0, [sp, #0x28]
ldr r0, [r5, #0xc]
bl FUN_02029FC8
@@ -2131,7 +2163,7 @@ FUN_020386E0: ; 0x020386E0
bl FUN_02033830
str r0, [r4, #0x38]
ldr r0, [r5, #0xc]
- bl FUN_0206F158
+ bl Sav2_Bag_get
str r0, [r4, #0x30]
add r0, r5, #0x0
add r1, sp, #0x0
diff --git a/arm9/asm/unk_020476CC.s b/arm9/asm/unk_020476CC.s
index 0936ad10..37b92559 100644
--- a/arm9/asm/unk_020476CC.s
+++ b/arm9/asm/unk_020476CC.s
@@ -106,7 +106,7 @@ _02047774:
cmp r6, #0x4
blt _02047774
add r0, r5, #0x0
- bl FUN_0206EB88
+ bl Sav2_Bag_new
mov r1, #0x42
lsl r1, r1, #0x2
str r0, [r7, r1]
@@ -248,7 +248,7 @@ FUN_02047814: ; 0x02047814
mov r1, #0x4
mov r2, #0x14
add r3, r6, #0x0
- bl FUN_0206ED38
+ bl BagAddItem
add r0, r6, #0x0
bl AllocMonZeroed
add r6, r0, #0x0
@@ -474,7 +474,7 @@ FUN_02047A78: ; 0x02047A78
bl SavArray_PlayerParty_get
add r7, r0, #0x0
ldr r0, [r4, #0xc]
- bl FUN_0206F158
+ bl Sav2_Bag_get
str r0, [sp, #0x0]
ldr r0, [r4, #0xc]
bl FUN_02024DA0
@@ -503,7 +503,7 @@ FUN_02047A78: ; 0x02047A78
lsl r1, r1, #0x2
ldr r0, [sp, #0x0]
ldr r1, [r5, r1]
- bl FUN_0206EBB4
+ bl Sav2_Bag_copy
mov r1, #0x11
lsl r1, r1, #0x4
ldr r0, [sp, #0x4]
@@ -620,7 +620,7 @@ FUN_02047BC0: ; 0x02047BC0
str r0, [sp, #0x14]
ldr r0, [sp, #0x0]
ldr r0, [r0, #0xc]
- bl FUN_0206F158
+ bl Sav2_Bag_get
str r0, [sp, #0x10]
ldr r0, [sp, #0x0]
ldr r0, [r0, #0xc]
@@ -702,7 +702,7 @@ _02047C98:
lsl r1, r1, #0x2
ldr r0, [sp, #0x10]
ldr r1, [r6, r1]
- bl FUN_0206EBB4
+ bl Sav2_Bag_copy
mov r1, #0x11
lsl r1, r1, #0x4
ldr r0, [sp, #0xc]
@@ -787,7 +787,7 @@ FUN_02047D48: ; 0x02047D48
str r0, [sp, #0x20]
ldr r0, [sp, #0x0]
ldr r0, [r0, #0xc]
- bl FUN_0206F158
+ bl Sav2_Bag_get
str r0, [sp, #0x1c]
ldr r0, [sp, #0x0]
ldr r0, [r0, #0xc]
@@ -886,7 +886,7 @@ _02047E2C:
lsl r1, r1, #0x2
ldr r0, [sp, #0x1c]
ldr r1, [r5, r1]
- bl FUN_0206EBB4
+ bl Sav2_Bag_copy
mov r1, #0x11
lsl r1, r1, #0x4
ldr r0, [sp, #0x18]
@@ -1016,7 +1016,7 @@ FUN_02047F38: ; 0x02047F38
bl SavArray_PlayerParty_get
add r7, r0, #0x0
ldr r0, [r5, #0xc]
- bl FUN_0206F158
+ bl Sav2_Bag_get
str r0, [sp, #0x0]
ldr r0, [r5, #0xc]
bl FUN_02024DA0
@@ -1037,7 +1037,7 @@ FUN_02047F38: ; 0x02047F38
lsl r0, r0, #0x2
ldr r0, [r4, r0]
ldr r1, [sp, #0x0]
- bl FUN_0206EBB4
+ bl Sav2_Bag_copy
mov r0, #0x11
lsl r0, r0, #0x4
ldr r0, [r4, r0]
@@ -1060,7 +1060,7 @@ FUN_02047FA4: ; 0x02047FA4
ldr r0, [r5, #0xc]
bl SavArray_PlayerParty_get
ldr r0, [r5, #0xc]
- bl FUN_0206F158
+ bl Sav2_Bag_get
ldr r0, [r5, #0xc]
bl FUN_02024DA0
add r1, r0, #0x0
diff --git a/arm9/asm/unk_0204B34C.s b/arm9/asm/unk_0204B34C.s
index ac1c53ff..8276cb17 100644
--- a/arm9/asm/unk_0204B34C.s
+++ b/arm9/asm/unk_0204B34C.s
@@ -288,7 +288,7 @@ FUN_0204B4FC: ; 0x0204B4FC
add r0, r7, #0x0
bl FUN_0205C374
ldr r0, [r5, #0xc]
- bl FUN_0206F158
+ bl Sav2_Bag_get
add r4, r0, #0x0
ldr r0, [sp, #0x4]
bl FUN_0204B34C
@@ -297,7 +297,7 @@ FUN_0204B4FC: ; 0x0204B4FC
add r0, r4, #0x0
lsr r2, r2, #0x10
mov r3, #0x4
- bl FUN_0206ED38
+ bl BagAddItem
add sp, #0xc
pop {r4-r7, pc}
.balign 4
diff --git a/arm9/asm/unk_02050E48.s b/arm9/asm/unk_02050E48.s
index 74026711..51c42247 100644
--- a/arm9/asm/unk_02050E48.s
+++ b/arm9/asm/unk_02050E48.s
@@ -98,7 +98,7 @@ FUN_02050ED4: ; 0x02050ED4
str r0, [r4, #0x0]
ldr r0, [r5, #0x24]
ldr r0, [r0, #0xc]
- bl FUN_0206F158
+ bl Sav2_Bag_get
str r0, [r4, #0x4]
add r0, r4, #0x0
mov r1, #0x0
diff --git a/arm9/asm/unk_0205CE48.s b/arm9/asm/unk_0205CE48.s
index 631cedd6..d492b9a9 100644
--- a/arm9/asm/unk_0205CE48.s
+++ b/arm9/asm/unk_0205CE48.s
@@ -291,7 +291,7 @@ FUN_0205D024: ; 0x0205D024
bl SavArray_PlayerParty_get
str r0, [r4, #0x0]
ldr r0, [r5, #0xc]
- bl FUN_0206F158
+ bl Sav2_Bag_get
str r0, [r4, #0x4]
ldr r0, [r5, #0xc]
bl FUN_02025838
@@ -774,7 +774,7 @@ FUN_0205D400: ; 0x0205D400
bl SavArray_PlayerParty_get
str r0, [r4, #0x0]
ldr r0, [r5, #0xc]
- bl FUN_0206F158
+ bl Sav2_Bag_get
str r0, [r4, #0x4]
ldr r0, [r5, #0xc]
bl FUN_02025838
@@ -1146,11 +1146,11 @@ FUN_0205D6BC: ; 0x0205D6BC
mov r0, #0xa
strh r0, [r4, #0x2a]
ldr r0, [r6, #0xc]
- bl FUN_0206F158
+ bl Sav2_Bag_get
ldrh r1, [r5, #0x4]
mov r2, #0x1
mov r3, #0xb
- bl FUN_0206EDD4
+ bl BagTakeItem
pop {r3-r7, pc}
.balign 4
_0205D710: .word MOD05_021F57F0
@@ -1389,7 +1389,7 @@ FUN_0205D8B8: ; 0x0205D8B8
str r0, [r4, #0x10]
ldr r0, [r5, #0x0]
ldr r0, [r0, #0xc]
- bl FUN_0206F158
+ bl Sav2_Bag_get
bl FUN_0206EBC4
add r2, r0, #0x0
ldr r0, [r5, #0x0]
@@ -1505,7 +1505,7 @@ FUN_0205D9A8: ; 0x0205D9A8
bl SavArray_PlayerParty_get
str r0, [r4, #0x0]
ldr r0, [r5, #0xc]
- bl FUN_0206F158
+ bl Sav2_Bag_get
str r0, [r4, #0x4]
ldr r0, [r5, #0xc]
bl FUN_02025838
@@ -1571,11 +1571,11 @@ FUN_0205DA3C: ; 0x0205DA3C
mov r0, #0xa
strh r0, [r4, #0x2a]
ldr r0, [r6, #0xc]
- bl FUN_0206F158
+ bl Sav2_Bag_get
ldrh r1, [r5, #0x4]
mov r2, #0x1
mov r3, #0xb
- bl FUN_0206EDD4
+ bl BagTakeItem
pop {r4-r6, pc}
nop
_0205DA7C: .word FUN_0205DAAC
@@ -1704,7 +1704,7 @@ _0205DB54:
pop {r3-r7, pc}
_0205DB66:
ldr r0, [r5, #0xc]
- bl FUN_0206F158
+ bl Sav2_Bag_get
bl FUN_0206EBC4
lsl r0, r0, #0x10
lsr r0, r0, #0x10
diff --git a/arm9/asm/unk_0205DD18.s b/arm9/asm/unk_0205DD18.s
index f5987509..deac026a 100644
--- a/arm9/asm/unk_0205DD18.s
+++ b/arm9/asm/unk_0205DD18.s
@@ -1037,11 +1037,11 @@ FUN_0205E4A4: ; 0x0205E4A4
push {r4, lr}
add r4, r0, #0x0
ldr r0, [r4, #0xc]
- bl FUN_0206F158
+ bl Sav2_Bag_get
ldr r1, _0205E4D4 ; =0x000001AF
mov r2, #0x1
mov r3, #0x4
- bl FUN_0206EE50
+ bl BagHasItem
cmp r0, #0x1
bne _0205E4D0
ldr r0, [r4, #0xc]
diff --git a/arm9/asm/unk_0205FA2C.s b/arm9/asm/unk_0205FA2C.s
index fc7d7a17..ae0d9d3f 100644
--- a/arm9/asm/unk_0205FA2C.s
+++ b/arm9/asm/unk_0205FA2C.s
@@ -32,7 +32,7 @@ FUN_0205FA2C: ; 0x0205FA2C
bl SavArray_PlayerParty_get
str r0, [r4, #0x0]
add r0, r6, #0x0
- bl FUN_0206F158
+ bl Sav2_Bag_get
str r0, [r4, #0x4]
add r0, r4, #0x0
mov r1, #0x0
diff --git a/arm9/asm/unk_02060CCC.s b/arm9/asm/unk_02060CCC.s
index 11145e7b..98c412a7 100644
--- a/arm9/asm/unk_02060CCC.s
+++ b/arm9/asm/unk_02060CCC.s
@@ -1726,12 +1726,12 @@ FUN_020618E0: ; 0x020618E0
FUN_020618EC: ; 0x020618EC
push {r3, lr}
ldr r0, [r0, #0xc]
- bl FUN_0206F158
+ bl Sav2_Bag_get
mov r1, #0x6b
lsl r1, r1, #0x2
mov r2, #0x1
mov r3, #0x20
- bl FUN_0206EE50
+ bl BagHasItem
pop {r3, pc}
.balign 4
@@ -2083,12 +2083,12 @@ FUN_02061B80: ; 0x02061B80
FUN_02061BB4: ; 0x02061BB4
push {r3, lr}
ldr r0, [r0, #0xc]
- bl FUN_0206F158
+ bl Sav2_Bag_get
mov r1, #0x6b
lsl r1, r1, #0x2
mov r2, #0x1
mov r3, #0x20
- bl FUN_0206EE50
+ bl BagHasItem
pop {r3, pc}
.balign 4
diff --git a/arm9/asm/unk_020653EC.s b/arm9/asm/unk_020653EC.s
index 452513ab..d1a47bb3 100644
--- a/arm9/asm/unk_020653EC.s
+++ b/arm9/asm/unk_020653EC.s
@@ -800,7 +800,7 @@ _020659DC:
add r1, r4, r1
ldrh r1, [r1, #0x22]
ldr r2, [r4, #0x0]
- bl FUN_0206EEF8
+ bl BagGetQuantity
cmp r0, #0x0
ldr r1, _02065AE8 ; =0x0000013B
beq _02065A1A
@@ -1612,7 +1612,7 @@ FUN_02066070: ; 0x02066070
str r0, [sp, #0x4]
str r0, [r6, r1]
add r0, r4, #0x0
- bl FUN_0206F158
+ bl Sav2_Bag_get
mov r1, #0x1b
lsl r1, r1, #0x4
str r0, [r6, r1]
@@ -1762,7 +1762,7 @@ FUN_020661A0: ; 0x020661A0
ldr r0, [r5, r0]
ldr r3, [r5, #0x0]
mov r2, #0x1
- bl FUN_0206ED24
+ bl BagHasSpaceForItem
add r6, r0, #0x0
beq _020661D4
mov r0, #0x1b
@@ -1771,7 +1771,7 @@ FUN_020661A0: ; 0x020661A0
ldr r0, [r5, r0]
ldr r3, [r5, #0x0]
mov r2, #0x1
- bl FUN_0206ED38
+ bl BagAddItem
_020661D4:
mov r0, #0x6b
lsl r0, r0, #0x2
@@ -1826,7 +1826,7 @@ FUN_020661F8: ; 0x020661F8
ldr r0, [r5, r0]
ldr r3, [r5, #0x0]
mov r2, #0x1
- bl FUN_0206ED24
+ bl BagHasSpaceForItem
cmp r0, #0x0
beq _0206625E
mov r0, #0x1b
@@ -1835,7 +1835,7 @@ FUN_020661F8: ; 0x020661F8
ldr r0, [r5, r0]
ldr r3, [r5, #0x0]
mov r2, #0x1
- bl FUN_0206ED38
+ bl BagAddItem
_0206625E:
ldrb r1, [r5, #0x18]
add r0, r5, #0x0
@@ -2383,7 +2383,7 @@ _02066676:
lsl r0, r0, #0x2
ldr r0, [r5, r0]
bl FUN_020377AC
- bl FUN_0206F158
+ bl Sav2_Bag_get
str r0, [r4, #0x4]
mov r0, #0x5b
lsl r0, r0, #0x2
diff --git a/arm9/asm/unk_0206C700.s b/arm9/asm/unk_0206C700.s
index 94b4217b..0cf92670 100644
--- a/arm9/asm/unk_0206C700.s
+++ b/arm9/asm/unk_0206C700.s
@@ -2081,7 +2081,7 @@ _0206D854:
ldr r0, [r4, #0x4c]
ldr r2, [r4, #0x5c]
mov r1, #0x4
- bl FUN_0206EEF8
+ bl BagGetQuantity
cmp r0, #0x0
beq _0206D86C
ldr r0, [r4, #0x24]
@@ -2216,7 +2216,7 @@ _0206D8EA:
ldr r3, [r4, #0x5c]
mov r1, #0x4
mov r2, #0x1
- bl FUN_0206EDD4
+ bl BagTakeItem
add sp, #0x20
pop {r4-r6, pc}
_0206D9A0:
diff --git a/arm9/asm/unk_0206E2F0.s b/arm9/asm/unk_0206E2F0.s
index 264f9294..d2649dcb 100644
--- a/arm9/asm/unk_0206E2F0.s
+++ b/arm9/asm/unk_0206E2F0.s
@@ -3,8 +3,8 @@
.text
- thumb_func_start FUN_0206E2F0
-FUN_0206E2F0: ; 0x0206E2F0
+ thumb_func_start BagView_new
+BagView_new: ; 0x0206E2F0
push {r4, lr}
mov r1, #0x78
bl AllocFromHeap
@@ -44,8 +44,8 @@ FUN_0206E314: ; 0x0206E314
pop {r4-r6, pc}
.balign 4
- thumb_func_start FUN_0206E330
-FUN_0206E330: ; 0x0206E330
+ thumb_func_start BagView_setitem
+BagView_setitem: ; 0x0206E330
push {r3-r4}
mov r4, #0xc
mul r4, r3
diff --git a/arm9/asm/unk_0206F3FC.s b/arm9/asm/unk_0206F3FC.s
index 4dc1be07..6b3d7016 100644
--- a/arm9/asm/unk_0206F3FC.s
+++ b/arm9/asm/unk_0206F3FC.s
@@ -5415,7 +5415,7 @@ _02071E5A:
mov r3, #0xc
ldr r0, [r1, #0x4]
ldrh r1, [r1, #0x24]
- bl FUN_0206EDD4
+ bl BagTakeItem
add r0, r4, #0x0
mov r1, #0x1a
bl GetItemAttr_PreloadedItemData
@@ -5666,7 +5666,7 @@ FUN_02072080: ; 0x02072080
ldr r1, [r4, r0]
ldr r0, [r1, #0x4]
ldrh r1, [r1, #0x24]
- bl FUN_0206EDD4
+ bl BagTakeItem
add r0, r5, #0x0
mov r1, #0x6
add r2, sp, #0x0
@@ -5709,7 +5709,7 @@ FUN_020720E0: ; 0x020720E0
lsr r1, r1, #0x10
mov r2, #0x1
mov r3, #0xc
- bl FUN_0206ED38
+ bl BagAddItem
add r0, r5, #0x0
mov r1, #0x6
add r2, sp, #0x1c
@@ -5825,7 +5825,7 @@ _020721B0:
mov r2, #0x1
ldr r0, [r0, #0x4]
mov r3, #0xc
- bl FUN_0206ED38
+ bl BagAddItem
cmp r0, #0x0
bne _0207220C
add r0, r5, #0x0
@@ -5854,7 +5854,7 @@ _0207220C:
ldr r0, [r0, #0x4]
mov r2, #0x1
mov r3, #0xc
- bl FUN_0206EDD4
+ bl BagTakeItem
add r0, r5, #0x0
add r1, r7, #0x0
add r2, r6, #0x0
@@ -6024,7 +6024,7 @@ _02072388:
ldr r0, [r0, #0x4]
mov r2, #0x1
mov r3, #0xc
- bl FUN_0206ED38
+ bl BagAddItem
ldr r2, _0207241C ; =0x0000069C
mov r1, #0x54
ldr r0, [r5, r2]
diff --git a/arm9/asm/unk_02073DA8.s b/arm9/asm/unk_02073DA8.s
index cf11907a..2f6de2fc 100644
--- a/arm9/asm/unk_02073DA8.s
+++ b/arm9/asm/unk_02073DA8.s
@@ -230,7 +230,7 @@ _02073F66:
ldr r0, [r0, #0x4]
mov r2, #0x1
mov r3, #0xc
- bl FUN_0206ED38
+ bl BagAddItem
cmp r0, #0x1
bne _0207400A
ldr r0, _02074054 ; =0x000005A4
@@ -617,7 +617,7 @@ FUN_020742A8: ; 0x020742A8
ldr r0, [r0, #0x4]
mov r2, #0x1
mov r3, #0xc
- bl FUN_0206ED38
+ bl BagAddItem
cmp r0, #0x1
bne _0207431A
ldr r0, _02074334 ; =0x000005A4
diff --git a/arm9/asm/unk_0207550C.s b/arm9/asm/unk_0207550C.s
index d2c20b95..fac7015d 100644
--- a/arm9/asm/unk_0207550C.s
+++ b/arm9/asm/unk_0207550C.s
@@ -1744,7 +1744,7 @@ _020763B2:
mov r3, #0xc
ldr r0, [r1, #0x4]
ldrh r1, [r1, #0x24]
- bl FUN_0206EDD4
+ bl BagTakeItem
ldr r0, _020763F0 ; =0x000005A4
mov r1, #0x0
ldr r0, [r4, r0]
@@ -3114,7 +3114,7 @@ FUN_02076F2C: ; 0x02076F2C
mov r3, #0xc
ldr r0, [r1, #0x4]
ldrh r1, [r1, #0x24]
- bl FUN_0206EDD4
+ bl BagTakeItem
_02076F98:
add r0, r5, #0x0
bl FUN_020772CC
@@ -3392,7 +3392,7 @@ _0207716A:
mov r3, #0xc
ldr r0, [r1, #0x4]
ldrh r1, [r1, #0x24]
- bl FUN_0206EDD4
+ bl BagTakeItem
ldr r0, _0207723C ; =0x000005EC
bl FUN_020054C8
b _02077204
diff --git a/arm9/asm/unk_020859C0.s b/arm9/asm/unk_020859C0.s
index 410345d4..8f1aa043 100644
--- a/arm9/asm/unk_020859C0.s
+++ b/arm9/asm/unk_020859C0.s
@@ -635,7 +635,7 @@ _02085E66:
ldr r0, [r7, #0x1c]
str r0, [r4, #0x0]
ldr r0, [r6, #0x10]
- bl FUN_0206F158
+ bl Sav2_Bag_get
str r0, [r4, #0x4]
ldr r0, [r6, #0x10]
bl FUN_02025838
diff --git a/arm9/asm/unk_02087D00.s b/arm9/asm/unk_02087D00.s
index 46f48b7a..5676baf3 100644
--- a/arm9/asm/unk_02087D00.s
+++ b/arm9/asm/unk_02087D00.s
@@ -66,7 +66,7 @@ FUN_02087D00: ; 0x02087D00
bl SavArray_PlayerParty_get
str r0, [r7, #0x10]
add r0, r4, #0x0
- bl FUN_0206F158
+ bl Sav2_Bag_get
str r0, [r7, #0x14]
add r0, r4, #0x0
bl Sav2_PlayerData_GetOptionsAddr
diff --git a/arm9/asm/unk_0208890C.s b/arm9/asm/unk_0208890C.s
index 92bfc9b5..58ffb9d8 100644
--- a/arm9/asm/unk_0208890C.s
+++ b/arm9/asm/unk_0208890C.s
@@ -30,7 +30,7 @@ FUN_0208890C: ; 0x0208890C
bl Sav2_PlayerData_GetProfileAddr
str r0, [r4, #0x10]
add r0, r5, #0x0
- bl FUN_0206F158
+ bl Sav2_Bag_get
str r0, [r4, #0x14]
add r0, r5, #0x0
bl Sav2_PlayerData_GetOptionsAddr
diff --git a/arm9/asm/unk_02088AAC.s b/arm9/asm/unk_02088AAC.s
index b8a83eab..612547e0 100644
--- a/arm9/asm/unk_02088AAC.s
+++ b/arm9/asm/unk_02088AAC.s
@@ -131,7 +131,7 @@ FUN_02088B4C: ; 0x02088B4C
ldr r1, _02088BA4 ; =UNK_020FD6F4
ldr r0, [r0, #0x14]
ldr r2, [r5, #0x0]
- bl FUN_0206EFEC
+ bl CreateBagView
add r4, r0, #0x0
ldrh r0, [r5, #0x6]
lsl r0, r0, #0x18
@@ -177,7 +177,7 @@ _02088BBA:
ldr r0, [r4, #0x0]
lsl r0, r0, #0x18
lsr r0, r0, #0x18
- bl FUN_0206E2F0
+ bl BagView_new
add r5, r0, #0x0
bl FUN_0206E308
add r2, r0, #0x0
@@ -228,7 +228,7 @@ _02088C1E:
ldr r3, [r4, #0x0]
lsr r1, r1, #0x10
mov r2, #0x1
- bl FUN_0206EDD4
+ bl BagTakeItem
cmp r0, #0x0
bne _02088C38
bl ErrorHandling
@@ -271,7 +271,7 @@ _02088C70:
ldr r3, [r5, #0x0]
add r1, r7, #0x0
mov r2, #0x1
- bl FUN_0206EE50
+ bl BagHasItem
cmp r0, #0x1
bne _02088C9A
ldr r0, [r5, #0x18]
diff --git a/arm9/global.inc b/arm9/global.inc
index c8eaec71..a64545ad 100644
--- a/arm9/global.inc
+++ b/arm9/global.inc
@@ -1433,7 +1433,7 @@
.extern FUN_02022528
.extern FUN_02022534
.extern FUN_02022540
-.extern FUN_0202254C
+.extern SaveBlock2_new
.extern FUN_020225F8
.extern SavArray_get
.extern FUN_02022634
@@ -4975,10 +4975,10 @@
.extern FUN_0206E2AC
.extern FUN_0206E2E0
.extern FUN_0206E2E8
-.extern FUN_0206E2F0
+.extern BagView_new
.extern FUN_0206E308
.extern FUN_0206E314
-.extern FUN_0206E330
+.extern BagView_setitem
.extern FUN_0206E340
.extern FUN_0206E354
.extern FUN_0206E358
@@ -5011,23 +5011,23 @@
.extern ItemIsBitter
.extern LoadAllItemData
.extern GetItemDataPtrFromArray
-.extern FUN_0206EB80
-.extern FUN_0206EB88
-.extern FUN_0206EBA0
-.extern FUN_0206EBB4
+.extern Sav2_Bag_sizeof
+.extern Sav2_Bag_new
+.extern Sav2_Bag_init
+.extern Sav2_Bag_copy
.extern FUN_0206EBC4
.extern FUN_0206EBCC
-.extern FUN_0206ED24
-.extern FUN_0206ED38
-.extern FUN_0206EDD4
-.extern FUN_0206EE20
-.extern FUN_0206EE50
-.extern FUN_0206EE64
-.extern FUN_0206EEF8
-.extern FUN_0206EF10
-.extern FUN_0206EFEC
-.extern FUN_0206F0D8
-.extern FUN_0206F158
+.extern BagHasSpaceForItem
+.extern BagAddItem
+.extern BagTakeItem
+.extern BagTakeItem2
+.extern BagHasItem
+.extern BagPocketNotEmpty
+.extern BagGetQuantity
+.extern PocketGetQuantity
+.extern CreateBagView
+.extern BagGetPocketSlotN
+.extern Sav2_Bag_get
.extern FUN_0206F164
.extern FUN_0206F17C
.extern FUN_0206F18C
diff --git a/arm9/modules/05/asm/mod05_021E1374.s b/arm9/modules/05/asm/mod05_021E1374.s
index 018f4d8c..f4fc02fe 100644
--- a/arm9/modules/05/asm/mod05_021E1374.s
+++ b/arm9/modules/05/asm/mod05_021E1374.s
@@ -396,11 +396,11 @@ MOD05_021E1654: ; 0x021E1654
bl FUN_0205F43C
add r5, r0, #0
ldr r0, [r7, #0xc]
- bl FUN_0206F158
+ bl Sav2_Bag_get
ldr r1, _021E16C4 ; =0x000001BB
mov r2, #1
mov r3, #4
- bl FUN_0206EE50
+ bl BagHasItem
cmp r0, #1
bne _021E1692
cmp r6, #0x64
diff --git a/arm9/modules/05/asm/module_05.s b/arm9/modules/05/asm/module_05.s
index bcebfd49..cb2a013d 100644
--- a/arm9/modules/05/asm/module_05.s
+++ b/arm9/modules/05/asm/module_05.s
@@ -26807,11 +26807,11 @@ _021EFCB0:
pop {r3, r4, r5, r6, pc}
_021EFCC4:
ldr r0, [r6, #0x34]
- bl FUN_0206F158
+ bl Sav2_Bag_get
ldr r1, _021EFD3C ; =0x000001B5
mov r2, #1
mov r3, #4
- bl FUN_0206EE50
+ bl BagHasItem
cmp r0, #1
bne _021EFCFE
add r0, r6, #0
diff --git a/arm9/modules/06/asm/module_06.s b/arm9/modules/06/asm/module_06.s
index 164e4d16..5ba98611 100644
--- a/arm9/modules/06/asm/module_06.s
+++ b/arm9/modules/06/asm/module_06.s
@@ -8162,7 +8162,7 @@ MOD06_0223D3D0: ; 0x0223D3D0
cmp r0, #0
bne _0223D456
ldr r0, [r5, #0xc]
- bl FUN_0206F158
+ bl Sav2_Bag_get
mov r1, #0x21
lsl r1, r1, #4
str r0, [r4, r1]
@@ -9811,7 +9811,7 @@ MOD06_0223E1D8: ; 0x0223E1D8
ldrh r1, [r5, r1]
ldr r0, [r5, r0]
mov r2, #0xb
- bl FUN_0206EEF8
+ bl BagGetQuantity
add r4, r0, #0
b _0223E214
_0223E1FA:
@@ -10005,7 +10005,7 @@ MOD06_0223E384: ; 0x0223E384
ldrh r2, [r4, r2]
ldr r0, [r4, r0]
mov r3, #0xb
- bl FUN_0206ED24
+ bl BagHasSpaceForItem
b _0223E3D2
_0223E3A8:
cmp r0, #1
@@ -10507,7 +10507,7 @@ _0223E7B2:
ldrh r2, [r4, r2]
ldr r0, [r4, r0]
mov r3, #0xb
- bl FUN_0206ED38
+ bl BagAddItem
b _0223E7F6
_0223E7D0:
cmp r0, #1
@@ -10622,7 +10622,7 @@ _0223E88A:
mov r1, #0xc
mov r2, #1
mov r3, #0xb
- bl FUN_0206ED38
+ bl BagAddItem
cmp r0, #1
bne _0223E902
add r0, r5, #0
@@ -11160,10 +11160,10 @@ MOD06_0223ECF0: ; 0x0223ECF0
add r4, r0, #0
bl MOD06_0223D7B8
ldr r0, [r5, #0xc]
- bl FUN_0206F158
+ bl Sav2_Bag_get
ldr r1, _0223ED48 ; =0x0224F47C
mov r2, #0xb
- bl FUN_0206EFEC
+ bl CreateBagView
add r3, r5, #0
str r0, [r4, #4]
add r3, #0x94
@@ -41161,7 +41161,7 @@ MOD06_0224D70C: ; 0x0224D70C
bl FUN_0202708C
str r0, [r4, #0xc]
add r0, r6, #0
- bl FUN_0206F158
+ bl Sav2_Bag_get
str r0, [r4, #0x10]
mov r2, #0x81
ldr r3, [r4, #0x18]
@@ -42756,7 +42756,7 @@ MOD06_0224E410: ; 0x0224E410
add r1, #0x95
lsl r1, r1, #0x10
lsr r1, r1, #0x10
- bl FUN_0206EEF8
+ bl BagGetQuantity
ldr r1, [r5, #0xc]
add r3, r0, #0
add r2, r1, r4
@@ -42870,7 +42870,7 @@ MOD06_0224E4E4: ; 0x0224E4E4
add r1, #0x95
lsl r1, r1, #0x10
lsr r1, r1, #0x10
- bl FUN_0206EEF8
+ bl BagGetQuantity
add r1, r5, r4
ldr r1, [r1, #8]
cmp r0, r1
@@ -42912,7 +42912,7 @@ MOD06_0224E520: ; 0x0224E520
add r0, r6, #0
lsr r1, r1, #0x10
lsr r2, r2, #0x10
- bl FUN_0206EDD4
+ bl BagTakeItem
cmp r0, #1
beq _0224E550
bl ErrorHandling
diff --git a/arm9/modules/09/asm/module_09.s b/arm9/modules/09/asm/module_09.s
index 115ee3cb..97479bc1 100644
--- a/arm9/modules/09/asm/module_09.s
+++ b/arm9/modules/09/asm/module_09.s
@@ -3802,7 +3802,7 @@ MOD09_02213C84: ; 0x02213C84
add r1, r4, #0
mov r2, #1
add r3, r7, #0
- bl FUN_0206EDD4
+ bl BagTakeItem
_02213CA8:
add r0, r5, #0
bl MOD11_02230218
@@ -14295,7 +14295,7 @@ MOD09_0221944C: ; 0x0221944C
add r1, r4, #0
mov r2, #1
add r3, r7, #0
- bl FUN_0206EDD4
+ bl BagTakeItem
add r0, r5, #0
bl MOD11_02230218
add r1, r4, #0
@@ -15275,7 +15275,7 @@ _02219C48:
ldr r0, [r3, #8]
ldr r3, [r3, #0xc]
mov r2, #1
- bl FUN_0206EE50
+ bl BagHasItem
cmp r0, #0
bne _02219C62
ldr r1, [r4]
@@ -15351,7 +15351,7 @@ _02219CCA:
lsl r2, r2, #0x10
ldr r1, [sp, #8]
lsr r2, r2, #0x10
- bl FUN_0206F0D8
+ bl BagGetPocketSlotN
add r5, r0, #0
beq _02219D3C
ldrh r0, [r5]
diff --git a/arm9/modules/11/asm/module_11_thumb1.s b/arm9/modules/11/asm/module_11_thumb1.s
index 235b01d0..a5298ae9 100644
--- a/arm9/modules/11/asm/module_11_thumb1.s
+++ b/arm9/modules/11/asm/module_11_thumb1.s
@@ -1178,7 +1178,7 @@ _0222DFEC:
lsl r1, r1, #2
ldr r0, [r4, #0x58]
ldr r1, [r7, r1]
- bl FUN_0206EBB4
+ bl Sav2_Bag_copy
ldr r0, [r4, #0x58]
bl FreeToHeap
mov r1, #0x11
@@ -1758,14 +1758,14 @@ _0222E532:
cmp r7, #4
blt _0222E532
mov r0, #5
- bl FUN_0206EB88
+ bl Sav2_Bag_new
str r0, [r4, #0x58]
mov r1, #0x42
ldr r0, [sp, #4]
lsl r1, r1, #2
ldr r0, [r0, r1]
ldr r1, [r4, #0x58]
- bl FUN_0206EBB4
+ bl Sav2_Bag_copy
mov r0, #5
bl FUN_02023D6C
str r0, [r4, #0x60]
diff --git a/arm9/modules/11/asm/module_11_thumb2.s b/arm9/modules/11/asm/module_11_thumb2.s
index b3f10c3b..06169afb 100644
--- a/arm9/modules/11/asm/module_11_thumb2.s
+++ b/arm9/modules/11/asm/module_11_thumb2.s
@@ -33053,7 +33053,7 @@ _0223F598:
ldrh r1, [r6]
mov r2, #1
mov r3, #5
- bl FUN_0206EDD4
+ bl BagTakeItem
add r0, r7, #0
bl MOD11_02230218
ldrh r1, [r6]
diff --git a/arm9/modules/14/asm/module_14.s b/arm9/modules/14/asm/module_14.s
index 738bf429..9f0f7265 100644
--- a/arm9/modules/14/asm/module_14.s
+++ b/arm9/modules/14/asm/module_14.s
@@ -5807,10 +5807,10 @@ _021DA41E:
mov r0, #0x47
lsl r0, r0, #2
ldr r0, [r4, r0]
- bl FUN_0206F158
+ bl Sav2_Bag_get
ldr r1, _021DA5D8 ; =MOD14_021E6264
mov r2, #9
- bl FUN_0206EFEC
+ bl CreateBagView
mov r1, #0x85
lsl r1, r1, #2
str r0, [r4, r1]
@@ -5869,12 +5869,12 @@ _021DA498:
mov r0, #0x47
lsl r0, r0, #2
ldr r0, [r4, r0]
- bl FUN_0206F158
+ bl Sav2_Bag_get
lsl r1, r6, #0x10
lsr r1, r1, #0x10
mov r2, #1
mov r3, #9
- bl FUN_0206EDD4
+ bl BagTakeItem
ldr r1, _021DA5E4 ; =MOD14_021E6A00
add r0, r4, #0
ldr r1, [r1, #8]
@@ -6122,14 +6122,14 @@ _021DA6E4:
mov r0, #0x47
lsl r0, r0, #2
ldr r0, [r4, r0]
- bl FUN_0206F158
+ bl Sav2_Bag_get
ldr r1, _021DA7B4 ; =MOD14_021E6A00
mov r2, #1
ldr r1, [r1, #4]
mov r3, #9
lsl r1, r1, #0x10
lsr r1, r1, #0x10
- bl FUN_0206ED38
+ bl BagAddItem
cmp r0, #0
beq _021DA72A
add r0, r4, #0
@@ -6344,14 +6344,14 @@ _021DA8BA:
mov r0, #0x47
lsl r0, r0, #2
ldr r0, [r4, r0]
- bl FUN_0206F158
+ bl Sav2_Bag_get
ldr r1, _021DA9C0 ; =MOD14_021E6A00
mov r2, #1
ldr r1, [r1]
mov r3, #9
lsl r1, r1, #0x10
lsr r1, r1, #0x10
- bl FUN_0206ED38
+ bl BagAddItem
cmp r0, #0
beq _021DA908
add r0, r4, #0
diff --git a/arm9/modules/18/asm/module_18.s b/arm9/modules/18/asm/module_18.s
index 3fbc762e..92b27707 100644
--- a/arm9/modules/18/asm/module_18.s
+++ b/arm9/modules/18/asm/module_18.s
@@ -34906,7 +34906,7 @@ _0224A5A6:
add r4, r0, #0
ldr r0, [r5, #0xc]
ldr r0, [r0, #0xc]
- bl FUN_0206F158
+ bl Sav2_Bag_get
add r6, r0, #0
ldr r0, _0224A694 ; =0x000005DC
bl FUN_020054C8
@@ -34915,7 +34915,7 @@ _0224A5A6:
lsr r1, r1, #0x10
mov r2, #1
mov r3, #4
- bl FUN_0206ED38
+ bl BagAddItem
cmp r0, #0
beq _0224A62A
ldr r0, _0224A69C ; =0x022513F8
diff --git a/arm9/modules/71/asm/module_71.s b/arm9/modules/71/asm/module_71.s
index 9c4c00c9..91abbba9 100644
--- a/arm9/modules/71/asm/module_71.s
+++ b/arm9/modules/71/asm/module_71.s
@@ -4681,11 +4681,11 @@ _0222FC2C:
pop {r3, r4, r5, r6, r7, pc}
_0222FC70:
ldr r0, [r6, #4]
- bl FUN_0206F158
+ bl Sav2_Bag_get
ldr r1, _0222FCFC ; =0x000001B5
mov r2, #1
mov r3, #0x1a
- bl FUN_0206EE50
+ bl BagHasItem
cmp r0, #1
bne _0222FCAA
ldr r0, _0222FCE4 ; =0x0000366C
diff --git a/arm9/modules/73/asm/module_73.s b/arm9/modules/73/asm/module_73.s
index b9d19767..800b7543 100644
--- a/arm9/modules/73/asm/module_73.s
+++ b/arm9/modules/73/asm/module_73.s
@@ -1159,7 +1159,7 @@ _021D7E68:
ldr r0, [r6, #0x10]
mov r1, #4
ldr r0, [r0, #0x14]
- bl FUN_0206EE64
+ bl BagPocketNotEmpty
cmp r0, #0
bne _021D7E8A
ldr r0, _021D7F44 ; =0x0000063C
diff --git a/arm9/modules/75/asm/module_75.s b/arm9/modules/75/asm/module_75.s
index 59d25787..22f2d1a4 100644
--- a/arm9/modules/75/asm/module_75.s
+++ b/arm9/modules/75/asm/module_75.s
@@ -473,7 +473,7 @@ MOD75_021E6FA4: ; 0x021E6FA4
add r0, #0xc4
ldr r0, [r0]
ldr r0, [r0]
- bl FUN_0206F158
+ bl Sav2_Bag_get
add r1, r4, #0
add r1, #0xc8
str r0, [r1]
@@ -5004,7 +5004,7 @@ MOD75_021E92BC: ; 0x021E92BC
ldrh r2, [r2]
ldrh r3, [r4, r3]
sub r1, r1, #3
- bl FUN_0206EE20
+ bl BagTakeItem2
add r0, r4, #0
add r0, #0xc4
ldr r3, [r0]
@@ -5226,7 +5226,7 @@ MOD75_021E947C: ; 0x021E947C
add r2, #0x66
ldrh r2, [r2]
sub r1, r1, #3
- bl FUN_0206EF10
+ bl PocketGetQuantity
cmp r0, #1
bne _021E94BA
add r0, r4, #0
@@ -5954,7 +5954,7 @@ _021E9A6E:
add r2, #0x66
ldrh r2, [r2]
sub r1, r1, #3
- bl FUN_0206EF10
+ bl PocketGetQuantity
cmp r0, #1
bne _021E9AF4
mov r0, #0x45
diff --git a/arm9/src/main.c b/arm9/src/main.c
index 3de65c45..e5e03343 100644
--- a/arm9/src/main.c
+++ b/arm9/src/main.c
@@ -32,8 +32,8 @@ extern void FUN_02022294(void);
extern void FUN_0201259C(void);
extern void FUN_02002C14(void);
extern void FUN_02002C50(int, int);
-extern struct SaveBlock2 * FUN_0202254C(void);
-extern u32 FUN_02029EF8(struct SaveBlock2 *);
+extern struct SaveBlock2 * SaveBlock2_new(void);
+extern void * FUN_02029EF8(struct SaveBlock2 *);
extern void FUN_02020AFC(void);
extern int FUN_020337E8(int);
extern void FUN_02034188(int, int);
@@ -73,7 +73,7 @@ THUMB_FUNC void NitroMain(void)
FUN_02002C50(1, 3);
FUN_02002C50(3, 3);
gBacklightTop.unk18 = -1;
- gBacklightTop.unk20 = FUN_0202254C();
+ gBacklightTop.unk20 = SaveBlock2_new();
InitSoundData(FUN_02029EF8(gBacklightTop.unk20), Sav2_PlayerData_GetOptionsAddr(gBacklightTop.unk20));
FUN_02020AFC();
if (FUN_020337E8(3) == 3)
@@ -87,15 +87,17 @@ THUMB_FUNC void NitroMain(void)
switch (OS_GetResetParameter())
{
case 0:
+ // Title Demo
gBacklightTop.unk1C = 0;
FUN_02000E7C(FS_OVERLAY_ID(MODULE_63), &MOD63_021DBE18);
break;
case 1:
+ // Reset transition?
gBacklightTop.unk1C = 1;
FUN_02000E7C(FS_OVERLAY_ID(MODULE_52), &MOD52_021D76C8);
break;
default:
- ErrorHandling();
+ GF_ASSERT(0);
break;
}
}
@@ -215,7 +217,7 @@ THUMB_FUNC void FUN_02000EE8(void)
}
}
-extern void FUN_0200E3A0(int, int);
+extern void FUN_0200E3A0(PMLCDTarget, int);
extern BOOL FUN_02032DAC(void);
extern void FUN_020225F8(void);
extern void FUN_0202287C(void);
@@ -223,8 +225,8 @@ extern void FUN_0202287C(void);
// No Return
THUMB_FUNC void DoSoftReset(u32 parameter)
{
- FUN_0200E3A0(0, 0x7FFF);
- FUN_0200E3A0(1, 0x7FFF);
+ FUN_0200E3A0(PM_LCD_TOP, 0x7FFF);
+ FUN_0200E3A0(PM_LCD_BOTTOM, 0x7FFF);
if (FUN_02032DAC())
{
FUN_020225F8();
diff --git a/arm9/src/sound.c b/arm9/src/sound.c
index d971872f..dd928287 100644
--- a/arm9/src/sound.c
+++ b/arm9/src/sound.c
@@ -25,7 +25,7 @@ extern void FUN_0200538C(int, int, int);
extern BOOL FUN_02005404(void);
extern void FUN_02005CFC(void);
-void InitSoundData(u32 a0, struct Options * a1)
+void InitSoundData(void * a0, struct Options * a1)
{
struct SoundData * sdat = GetSoundDataPointer();
SDAT_Init();
diff --git a/include/bag.h b/include/bag.h
new file mode 100644
index 00000000..d4b4ff3c
--- /dev/null
+++ b/include/bag.h
@@ -0,0 +1,19 @@
+#ifndef POKEDIAMOND_BAG_H
+#define POKEDIAMOND_BAG_H
+
+#include "itemtool.h"
+
+struct Bag
+{
+ struct ItemSlot items[NUM_BAG_ITEMS];
+ struct ItemSlot keyItems[NUM_BAG_KEY_ITEMS];
+ struct ItemSlot TMsHMs[NUM_BAG_TMS_HMS];
+ struct ItemSlot mail[NUM_BAG_MAIL];
+ struct ItemSlot medicine[NUM_BAG_MEDICINE];
+ struct ItemSlot berries[NUM_BAG_BERRIES];
+ struct ItemSlot balls[NUM_BAG_BALLS];
+ struct ItemSlot battleItems[NUM_BAG_BATTLE_ITEMS];
+ u32 registeredItem;
+};
+
+#endif //POKEDIAMOND_BAG_H
diff --git a/include/constants/items.h b/include/constants/items.h
index 5fb58947..f1649cf3 100644
--- a/include/constants/items.h
+++ b/include/constants/items.h
@@ -10,6 +10,15 @@
#define POCKET_BATTLE_ITEMS 6
#define POCKET_KEY_ITEMS 7
+#define NUM_BAG_ITEMS 165
+#define NUM_BAG_KEY_ITEMS 50
+#define NUM_BAG_TMS_HMS 100
+#define NUM_BAG_MAIL 12
+#define NUM_BAG_MEDICINE 40
+#define NUM_BAG_BERRIES 64
+#define NUM_BAG_BALLS 15
+#define NUM_BAG_BATTLE_ITEMS 30
+
#define HOLD_EFFECT_NONE 0
#define HOLD_EFFECT_HP_RESTORE 1
#define HOLD_EFFECT_DIALGA_BOOST 2
diff --git a/include/save_block_2.h b/include/save_block_2.h
index fe052b1d..8ab96183 100644
--- a/include/save_block_2.h
+++ b/include/save_block_2.h
@@ -13,6 +13,15 @@ struct SavArrayHeader
u16 field_E;
};
+struct SavArrayFooter
+{
+ u32 magic;
+ u32 next;
+ u32 size;
+ u16 id;
+ u16 crc;
+};
+
struct SaveBlock2_Sub_20464 {
u8 unk_0;
u8 padding[3];
diff --git a/include/sound.h b/include/sound.h
index 6e78bfa4..9cec824d 100644
--- a/include/sound.h
+++ b/include/sound.h
@@ -42,7 +42,7 @@ struct SoundData
u32 unk_BCD3C;
u64 unk_BCD40;
u32 unk_BCD48;
- u32 unk_BCD4C;
+ void * unk_BCD4C;
u32 unk_BCD50;
u32 unk_BCD54;
u32 unk_BCD58;
@@ -50,7 +50,7 @@ struct SoundData
};
struct SoundData * GetSoundDataPointer(void);
-void InitSoundData(u32 a0, struct Options * a1);
+void InitSoundData(void * a0, struct Options * a1);
void * FUN_02003D38(u32 a0);
int FUN_02003F3C(int * a0);
void FUN_02003F64(int a0);