diff options
-rw-r--r-- | asm/pokemon_storage_system.s | 964 | ||||
-rw-r--r-- | data/pokemon_storage_system.s | 2 | ||||
-rw-r--r-- | src/pokemon/pokemon_storage_system.c | 220 |
3 files changed, 508 insertions, 678 deletions
diff --git a/asm/pokemon_storage_system.s b/asm/pokemon_storage_system.s index 49bb3995e..8dab0b2fd 100644 --- a/asm/pokemon_storage_system.s +++ b/asm/pokemon_storage_system.s @@ -5,374 +5,6 @@ .text - thumb_func_start sub_8096C84 -sub_8096C84: @ 8096C84 - push {r4,lr} - ldr r0, _08096C9C @ =gSharedMem - ldrb r0, [r0, 0x4] - cmp r0, 0x6 - bls _08096C90 - b _08096FBA -_08096C90: - lsls r0, 2 - ldr r1, _08096CA0 @ =_08096CA4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08096C9C: .4byte gSharedMem -_08096CA0: .4byte _08096CA4 - .align 2, 0 -_08096CA4: - .4byte _08096CC0 - .4byte _08096EE0 - .4byte _08096F1C - .4byte _08096F60 - .4byte _08096F80 - .4byte _08096F8A - .4byte _08096FA4 -_08096CC0: - bl sub_809CA40 - lsls r0, 24 - lsrs r0, 24 - subs r0, 0x1 - cmp r0, 0xF - bls _08096CD0 - b _08096FBA -_08096CD0: - lsls r0, 2 - ldr r1, _08096CDC @ =_08096CE0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08096CDC: .4byte _08096CE0 - .align 2, 0 -_08096CE0: - .4byte _08096D20 - .4byte _08096FBA - .4byte _08096FBA - .4byte _08096D94 - .4byte _08096D34 - .4byte _08096D5C - .4byte _08096DAC - .4byte _08096DC0 - .4byte _08096DD4 - .4byte _08096DFC - .4byte _08096E30 - .4byte _08096EB8 - .4byte _08096E70 - .4byte _08096E8C - .4byte _08096ECC - .4byte _08096DA0 -_08096D20: - movs r0, 0x5 - bl PlaySE - ldr r1, _08096D30 @ =gSharedMem - movs r0, 0x1 - strb r0, [r1, 0x4] - b _08096FBA - .align 2, 0 -_08096D30: .4byte gSharedMem -_08096D34: - ldr r4, _08096D48 @ =gSharedMem - ldrb r0, [r4, 0x5] - cmp r0, 0x2 - beq _08096D4C - movs r0, 0x10 - bl sub_8098898 - movs r0, 0x3 - strb r0, [r4, 0x4] - b _08096FBA - .align 2, 0 -_08096D48: .4byte gSharedMem -_08096D4C: - bl sub_809B0D4 - ldr r0, _08096D58 @ =sub_8096FC8 - bl sub_8096BE0 - b _08096FBA - .align 2, 0 -_08096D58: .4byte sub_8096FC8 -_08096D5C: - ldr r4, _08096D88 @ =gSharedMem - ldrb r0, [r4, 0x5] - cmp r0, 0x2 - beq _08096D66 - b _08096FBA -_08096D66: - bl sub_809BF20 - lsls r0, 24 - cmp r0, 0 - beq _08096D80 - ldr r1, _08096D8C @ =0x000011f2 - adds r0, r4, r1 - ldrh r0, [r0] - bl ItemIsMail - lsls r0, 24 - cmp r0, 0 - bne _08096E4C -_08096D80: - ldr r0, _08096D90 @ =sub_8097004 - bl sub_8096BE0 - b _08096FBA - .align 2, 0 -_08096D88: .4byte gSharedMem -_08096D8C: .4byte 0x000011f2 -_08096D90: .4byte sub_8097004 -_08096D94: - ldr r0, _08096D9C @ =sub_8097BA0 - bl sub_8096BE0 - b _08096FBA - .align 2, 0 -_08096D9C: .4byte sub_8097BA0 -_08096DA0: - ldr r0, _08096DA8 @ =sub_8097CC0 - bl sub_8096BE0 - b _08096FBA - .align 2, 0 -_08096DA8: .4byte sub_8097CC0 -_08096DAC: - movs r0, 0x5 - bl PlaySE - ldr r0, _08096DBC @ =sub_809789C - bl sub_8096BE0 - b _08096FBA - .align 2, 0 -_08096DBC: .4byte sub_809789C -_08096DC0: - movs r0, 0x5 - bl PlaySE - ldr r0, _08096DD0 @ =sub_8097078 - bl sub_8096BE0 - b _08096FBA - .align 2, 0 -_08096DD0: .4byte sub_8097078 -_08096DD4: - movs r0, 0x5 - bl PlaySE - ldr r4, _08096DF0 @ =gSharedMem - ldr r0, _08096DF4 @ =gPokemonStorage - ldrb r0, [r0] - adds r0, 0x1 - ldr r2, _08096DF8 @ =0x000008b2 - adds r1, r4, r2 - strh r0, [r1] - cmp r0, 0xD - ble _08096E18 - movs r0, 0 - b _08096E16 - .align 2, 0 -_08096DF0: .4byte gSharedMem -_08096DF4: .4byte gPokemonStorage -_08096DF8: .4byte 0x000008b2 -_08096DFC: - movs r0, 0x5 - bl PlaySE - ldr r4, _08096E24 @ =gSharedMem - ldr r0, _08096E28 @ =gPokemonStorage - ldrb r0, [r0] - subs r0, 0x1 - ldr r2, _08096E2C @ =0x000008b2 - adds r1, r4, r2 - strh r0, [r1] - cmp r0, 0 - bge _08096E18 - movs r0, 0xD -_08096E16: - strh r0, [r1] -_08096E18: - ldrb r0, [r1] - bl sub_8099C70 - movs r0, 0x2 - strb r0, [r4, 0x4] - b _08096FBA - .align 2, 0 -_08096E24: .4byte gSharedMem -_08096E28: .4byte gPokemonStorage -_08096E2C: .4byte 0x000008b2 -_08096E30: - bl sub_809BE80 - lsls r0, 24 - cmp r0, 0 - bne _08096E96 - ldr r4, _08096E54 @ =gSharedMem - ldr r1, _08096E58 @ =0x000011f2 - adds r0, r4, r1 - ldrh r0, [r0] - bl ItemIsMail - lsls r0, 24 - cmp r0, 0 - beq _08096E5C -_08096E4C: - movs r0, 0x5 - strb r0, [r4, 0x4] - b _08096FBA - .align 2, 0 -_08096E54: .4byte gSharedMem -_08096E58: .4byte 0x000011f2 -_08096E5C: - movs r0, 0x5 - bl PlaySE - ldr r0, _08096E6C @ =sub_809746C - bl sub_8096BE0 - b _08096FBA - .align 2, 0 -_08096E6C: .4byte sub_809746C -_08096E70: - bl sub_809BE80 - lsls r0, 24 - cmp r0, 0 - bne _08096E96 - movs r0, 0x5 - bl PlaySE - ldr r0, _08096E88 @ =sub_80972A8 - bl sub_8096BE0 - b _08096FBA - .align 2, 0 -_08096E88: .4byte sub_80972A8 -_08096E8C: - bl sub_809BEBC - lsls r0, 24 - cmp r0, 0 - bne _08096EA4 -_08096E96: - ldr r1, _08096EA0 @ =gSharedMem - movs r0, 0x4 - strb r0, [r1, 0x4] - b _08096FBA - .align 2, 0 -_08096EA0: .4byte gSharedMem -_08096EA4: - movs r0, 0x5 - bl PlaySE - ldr r0, _08096EB4 @ =c3_0808DC50 - bl sub_8096BE0 - b _08096FBA - .align 2, 0 -_08096EB4: .4byte c3_0808DC50 -_08096EB8: - movs r0, 0x5 - bl PlaySE - ldr r0, _08096EC8 @ =sub_8097390 - bl sub_8096BE0 - b _08096FBA - .align 2, 0 -_08096EC8: .4byte sub_8097390 -_08096ECC: - movs r0, 0x5 - bl PlaySE - ldr r0, _08096EDC @ =sub_80972FC - bl sub_8096BE0 - b _08096FBA - .align 2, 0 -_08096EDC: .4byte sub_80972FC -_08096EE0: - bl sub_809AC00 - lsls r0, 24 - cmp r0, 0 - bne _08096FBA - bl sub_809BF48 - lsls r0, 24 - cmp r0, 0 - beq _08096EFA - bl sub_80986E8 - b _08096EFE -_08096EFA: - bl sub_8098710 -_08096EFE: - ldr r4, _08096F14 @ =gSharedMem - ldr r2, _08096F18 @ =0x000011f6 - adds r0, r4, r2 - ldrb r0, [r0] - cmp r0, 0 - beq _08096F0E - bl BoxSetMosaic -_08096F0E: - movs r0, 0 - strb r0, [r4, 0x4] - b _08096FBA - .align 2, 0 -_08096F14: .4byte gSharedMem -_08096F18: .4byte 0x000011f6 -_08096F1C: - bl sub_8099D34 - lsls r0, 24 - cmp r0, 0 - bne _08096FBA - ldr r1, _08096F50 @ =gPokemonStorage - ldr r0, _08096F54 @ =gSharedMem - ldr r2, _08096F58 @ =0x000008b2 - adds r0, r2 - ldrh r0, [r0] - strb r0, [r1] - ldr r0, _08096F5C @ =gUnknown_0203847C - ldrb r0, [r0] - cmp r0, 0 - bne _08096F70 - bl sub_809BF20 - lsls r0, 24 - cmp r0, 0 - bne _08096F70 - bl sub_809B440 - bl BoxSetMosaic - b _08096F70 - .align 2, 0 -_08096F50: .4byte gPokemonStorage -_08096F54: .4byte gSharedMem -_08096F58: .4byte 0x000008b2 -_08096F5C: .4byte gUnknown_0203847C -_08096F60: - ldr r0, _08096F78 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0xF3 - ands r0, r1 - cmp r0, 0 - beq _08096FBA - bl sub_8098A5C -_08096F70: - ldr r1, _08096F7C @ =gSharedMem - movs r0, 0 - strb r0, [r1, 0x4] - b _08096FBA - .align 2, 0 -_08096F78: .4byte gMain -_08096F7C: .4byte gSharedMem -_08096F80: - movs r0, 0x20 - bl PlaySE - movs r0, 0xD - b _08096F92 -_08096F8A: - movs r0, 0x20 - bl PlaySE - movs r0, 0x16 -_08096F92: - bl sub_8098898 - ldr r1, _08096FA0 @ =gSharedMem - movs r0, 0x6 - strb r0, [r1, 0x4] - b _08096FBA - .align 2, 0 -_08096FA0: .4byte gSharedMem -_08096FA4: - ldr r0, _08096FC0 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0xF3 - ands r0, r1 - cmp r0, 0 - beq _08096FBA - bl sub_8098A5C - ldr r0, _08096FC4 @ =sub_8096C84 - bl sub_8096BE0 -_08096FBA: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08096FC0: .4byte gMain -_08096FC4: .4byte sub_8096C84 - thumb_func_end sub_8096C84 - thumb_func_start sub_8096FC8 sub_8096FC8: @ 8096FC8 push {r4,lr} @@ -397,7 +29,7 @@ _08096FE8: cmp r0, 0 bne _08096FF8 ldr r0, _08097000 @ =sub_8096C84 - bl sub_8096BE0 + bl SetPSSCallback _08096FF8: pop {r4} pop {r0} @@ -456,7 +88,7 @@ _0809704C: bl BoxSetMosaic _08097064: ldr r0, _08097074 @ =sub_8096C84 - bl sub_8096BE0 + bl SetPSSCallback _0809706A: pop {r4} pop {r0} @@ -532,7 +164,7 @@ _080970E8: _08097110: bl sub_8098A5C ldr r0, _0809711C @ =sub_8096C84 - bl sub_8096BE0 + bl SetPSSCallback b _0809729A .align 2, 0 _0809711C: .4byte sub_8096C84 @@ -545,7 +177,7 @@ _08097120: bl PlaySE bl sub_8098A5C ldr r0, _0809713C @ =sub_80972A8 - bl sub_8096BE0 + bl SetPSSCallback b _0809729A .align 2, 0 _0809713C: .4byte sub_80972A8 @@ -554,7 +186,7 @@ _08097140: bl PlaySE bl sub_8098A5C ldr r0, _08097154 @ =sub_80972FC - bl sub_8096BE0 + bl SetPSSCallback b _0809729A .align 2, 0 _08097154: .4byte sub_80972FC @@ -567,7 +199,7 @@ _08097158: bl PlaySE bl sub_8098A5C ldr r0, _08097174 @ =c3_0808DC50 - bl sub_8096BE0 + bl SetPSSCallback b _0809729A .align 2, 0 _08097174: .4byte c3_0808DC50 @@ -576,7 +208,7 @@ _08097178: bl PlaySE bl sub_8098A5C ldr r0, _0809718C @ =sub_8097390 - bl sub_8096BE0 + bl SetPSSCallback b _0809729A .align 2, 0 _0809718C: .4byte sub_8097390 @@ -597,7 +229,7 @@ _08097190: bl PlaySE bl sub_8098A5C ldr r0, _080971C8 @ =sub_809746C - bl sub_8096BE0 + bl SetPSSCallback b _0809729A .align 2, 0 _080971C0: .4byte gSharedMem @@ -646,7 +278,7 @@ _0809721C: movs r0, 0x5 bl PlaySE ldr r0, _0809722C @ =sub_8097594 - bl sub_8096BE0 + bl SetPSSCallback b _0809729A .align 2, 0 _0809722C: .4byte sub_8097594 @@ -654,7 +286,7 @@ _08097230: movs r0, 0x5 bl PlaySE ldr r0, _08097240 @ =sub_8097788 - bl sub_8096BE0 + bl SetPSSCallback b _0809729A .align 2, 0 _08097240: .4byte sub_8097788 @@ -662,7 +294,7 @@ _08097244: movs r0, 0x5 bl PlaySE ldr r0, _08097254 @ =sub_80977E4 - bl sub_8096BE0 + bl SetPSSCallback b _0809729A .align 2, 0 _08097254: .4byte sub_80977E4 @@ -697,7 +329,7 @@ _08097284: beq _0809729A bl sub_8098A5C ldr r0, _080972A4 @ =sub_8096C84 - bl sub_8096BE0 + bl SetPSSCallback _0809729A: pop {r4} pop {r0} @@ -736,14 +368,14 @@ _080972CA: cmp r0, 0 beq _080972EC ldr r0, _080972E8 @ =sub_8097858 - bl sub_8096BE0 + bl SetPSSCallback b _080972F2 .align 2, 0 _080972E4: .4byte gUnknown_0203847C _080972E8: .4byte sub_8097858 _080972EC: ldr r0, _080972F8 @ =sub_8096C84 - bl sub_8096BE0 + bl SetPSSCallback _080972F2: pop {r4} pop {r0} @@ -781,14 +413,14 @@ _0809731E: cmp r0, 0 beq _08097340 ldr r0, _0809733C @ =sub_8097858 - bl sub_8096BE0 + bl SetPSSCallback b _08097346 .align 2, 0 _08097338: .4byte gUnknown_0203847C _0809733C: .4byte sub_8097858 _08097340: ldr r0, _0809734C @ =sub_8096C84 - bl sub_8096BE0 + bl SetPSSCallback _08097346: pop {r4} pop {r0} @@ -823,7 +455,7 @@ _08097372: bne _08097386 bl BoxSetMosaic ldr r0, _0809738C @ =sub_8096C84 - bl sub_8096BE0 + bl SetPSSCallback _08097386: pop {r4} pop {r0} @@ -888,7 +520,7 @@ _080973FC: beq _08097462 bl sub_8098A5C ldr r0, _08097418 @ =sub_8096C84 - bl sub_8096BE0 + bl SetPSSCallback b _08097462 .align 2, 0 _08097414: .4byte gMain @@ -924,7 +556,7 @@ _0809744C: _08097458: .4byte gSharedMem _0809745C: ldr r0, _08097468 @ =sub_8097004 - bl sub_8096BE0 + bl SetPSSCallback _08097462: pop {r0} bx r0 @@ -1037,7 +669,7 @@ _08097548: bl sub_80987DC _0809755E: ldr r0, _08097568 @ =sub_8096C84 - bl sub_8096BE0 + bl SetPSSCallback b _08097584 .align 2, 0 _08097568: .4byte sub_8096C84 @@ -1212,7 +844,7 @@ _080976C8: b _08097744 _080976E0: ldr r0, _080976E8 @ =sub_8096C84 - bl sub_8096BE0 + bl SetPSSCallback b _0809777A .align 2, 0 _080976E8: .4byte sub_8096C84 @@ -1285,7 +917,7 @@ _08097764: beq _0809777A bl sub_8098A5C ldr r0, _08097784 @ =sub_8096C84 - bl sub_8096BE0 + bl SetPSSCallback _0809777A: pop {r4} pop {r0} @@ -1388,7 +1020,7 @@ _08097824: bl sub_809BDD8 bl sub_809801C ldr r0, _08097854 @ =sub_8096C84 - bl sub_8096BE0 + bl SetPSSCallback _0809784C: pop {r4} pop {r0} @@ -1423,7 +1055,7 @@ _0809787C: bne _08097890 bl sub_80987DC ldr r0, _08097898 @ =sub_8096C84 - bl sub_8096BE0 + bl SetPSSCallback _08097890: pop {r4} pop {r0} @@ -1486,7 +1118,7 @@ _08097914: bl sub_809A860 bl sub_8098A5C ldr r0, _08097928 @ =sub_8096C84 - bl sub_8096BE0 + bl SetPSSCallback b _08097968 .align 2, 0 _08097928: .4byte sub_8096C84 @@ -1494,7 +1126,7 @@ _0809792C: movs r0, 0x5 bl PlaySE ldr r0, _0809793C @ =sub_8097B44 - bl sub_8096BE0 + bl SetPSSCallback b _08097968 .align 2, 0 _0809793C: .4byte sub_8097B44 @@ -1503,7 +1135,7 @@ _08097940: bl PlaySE bl sub_8098A5C ldr r0, _08097954 @ =sub_8097974 - bl sub_8096BE0 + bl SetPSSCallback b _08097968 .align 2, 0 _08097954: .4byte sub_8097974 @@ -1512,7 +1144,7 @@ _08097958: bl PlaySE bl sub_8098A5C ldr r0, _08097970 @ =sub_8097A64 - bl sub_8096BE0 + bl SetPSSCallback _08097968: pop {r4} pop {r0} @@ -1561,7 +1193,7 @@ _080979A2: bl sub_809A860 bl sub_8098A5C ldr r0, _080979D0 @ =sub_8096C84 - bl sub_8096BE0 + bl SetPSSCallback b _08097A5A .align 2, 0 _080979CC: .4byte 0x00000d5e @@ -1626,7 +1258,7 @@ _08097A44: movs r0, 0x1 bl sub_809A860 ldr r0, _08097A60 @ =sub_8096C84 - bl sub_8096BE0 + bl SetPSSCallback _08097A5A: pop {r4,r5} pop {r0} @@ -1699,7 +1331,7 @@ _08097AE4: movs r0, 0x1 bl sub_809A860 ldr r0, _08097AFC @ =sub_8096C84 - bl sub_8096BE0 + bl SetPSSCallback b _08097B32 .align 2, 0 _08097AF4: .4byte 0x000008b2 @@ -1728,7 +1360,7 @@ _08097B18: ldrh r0, [r0] strb r0, [r1] ldr r0, _08097B40 @ =sub_8096C84 - bl sub_8096BE0 + bl SetPSSCallback _08097B32: pop {r4,r5} pop {r0} @@ -1867,7 +1499,7 @@ _08097C46: _08097C4A: bl sub_8098A5C ldr r0, _08097C58 @ =sub_8096C84 - bl sub_8096BE0 + bl SetPSSCallback b _08097CB0 .align 2, 0 _08097C58: .4byte sub_8096C84 @@ -2002,7 +1634,7 @@ _08097D66: _08097D6C: bl sub_8098A5C ldr r0, _08097D78 @ =sub_8096C84 - bl sub_8096BE0 + bl SetPSSCallback b _08097DD0 .align 2, 0 _08097D78: .4byte sub_8096C84 @@ -3514,7 +3146,7 @@ sub_8098B48: @ 8098B48 push {r4,r5,lr} bl sub_809D51C movs r2, 0 - ldr r1, _08098BD8 @ =gUnknown_083B6DB4 + ldr r1, _08098BD8 @ =gPokemonStorageSystemPtr ldr r0, [r1] ldr r4, _08098BDC @ =0x000010d0 adds r3, r0, r4 @@ -3530,7 +3162,7 @@ _08098B5C: cmp r2, 0x27 bls _08098B5C movs r2, 0 - ldr r0, _08098BD8 @ =gUnknown_083B6DB4 + ldr r0, _08098BD8 @ =gPokemonStorageSystemPtr ldr r0, [r0] movs r1, 0x89 lsls r1, 5 @@ -3546,7 +3178,7 @@ _08098B7A: cmp r2, 0x27 bls _08098B7A movs r2, 0 - ldr r0, _08098BD8 @ =gUnknown_083B6DB4 + ldr r0, _08098BD8 @ =gPokemonStorageSystemPtr ldr r0, [r0] ldr r4, _08098BE0 @ =0x00001038 adds r3, r0, r4 @@ -3561,7 +3193,7 @@ _08098B96: cmp r2, 0x5 bls _08098B96 movs r2, 0 - ldr r0, _08098BD8 @ =gUnknown_083B6DB4 + ldr r0, _08098BD8 @ =gPokemonStorageSystemPtr ldr r0, [r0] ldr r1, _08098BE4 @ =0x00001050 adds r3, r0, r1 @@ -3587,7 +3219,7 @@ _08098BB2: pop {r0} bx r0 .align 2, 0 -_08098BD8: .4byte gUnknown_083B6DB4 +_08098BD8: .4byte gPokemonStorageSystemPtr _08098BDC: .4byte 0x000010d0 _08098BE0: .4byte 0x00001038 _08098BE4: .4byte 0x00001050 @@ -3599,7 +3231,7 @@ _08098BEC: .4byte 0x00000d5c sub_8098BF0: @ 8098BF0 push {r4-r6,lr} sub sp, 0x8 - ldr r0, _08098C38 @ =gUnknown_083B6DB4 + ldr r0, _08098C38 @ =gPokemonStorageSystemPtr ldr r5, [r0] ldr r0, _08098C3C @ =0x000025b4 adds r4, r5, r0 @@ -3630,7 +3262,7 @@ sub_8098BF0: @ 8098BF0 pop {r0} bx r0 .align 2, 0 -_08098C38: .4byte gUnknown_083B6DB4 +_08098C38: .4byte gPokemonStorageSystemPtr _08098C3C: .4byte 0x000025b4 _08098C40: .4byte 0x00001034 _08098C44: .4byte sub_80999C4 @@ -3694,7 +3326,7 @@ _08098C70: adds r0, r4, 0 asrs r3, 16 bl sub_8099AFC - ldr r1, _08098CD0 @ =gUnknown_083B6DB4 + ldr r1, _08098CD0 @ =gPokemonStorageSystemPtr ldr r1, [r1] mov r3, r8 lsls r2, r3, 2 @@ -3705,10 +3337,10 @@ _08098C70: b _08098CE8 .align 2, 0 _08098CCC: .4byte gPokemonStorage + 0x4 -_08098CD0: .4byte gUnknown_083B6DB4 +_08098CD0: .4byte gPokemonStorageSystemPtr _08098CD4: .4byte 0x00001050 _08098CD8: - ldr r0, _08098D18 @ =gUnknown_083B6DB4 + ldr r0, _08098D18 @ =gPokemonStorageSystemPtr ldr r0, [r0] mov r2, r8 lsls r1, r2, 2 @@ -3741,7 +3373,7 @@ _08098CE8: pop {r0} bx r0 .align 2, 0 -_08098D18: .4byte gUnknown_083B6DB4 +_08098D18: .4byte gPokemonStorageSystemPtr _08098D1C: .4byte 0x00001050 thumb_func_end sub_8098C48 @@ -3817,7 +3449,7 @@ sub_8098D20: @ 8098D20 adds r2, r5, 0 adds r3, r4, 0 bl sub_8099AFC - ldr r1, _08098DD8 @ =gUnknown_083B6DB4 + ldr r1, _08098DD8 @ =gPokemonStorageSystemPtr ldr r1, [r1] ldr r2, _08098DDC @ =0x00001050 adds r1, r2 @@ -3833,7 +3465,7 @@ _08098DC4: bx r0 .align 2, 0 _08098DD4: .4byte gPokemonStorage + 0x4 -_08098DD8: .4byte gUnknown_083B6DB4 +_08098DD8: .4byte gPokemonStorageSystemPtr _08098DDC: .4byte 0x00001050 thumb_func_end sub_8098D20 @@ -3843,7 +3475,7 @@ sub_8098DE0: @ 8098DE0 lsls r0, 16 lsrs r4, r0, 16 movs r2, 0 - ldr r0, _08098E18 @ =gUnknown_083B6DB4 + ldr r0, _08098E18 @ =gPokemonStorageSystemPtr ldr r0, [r0] ldr r1, _08098E1C @ =0x00001050 adds r3, r0, r1 @@ -3870,7 +3502,7 @@ _08098E08: pop {r0} bx r0 .align 2, 0 -_08098E18: .4byte gUnknown_083B6DB4 +_08098E18: .4byte gPokemonStorageSystemPtr _08098E1C: .4byte 0x00001050 _08098E20: .4byte sub_8098E68 thumb_func_end sub_8098DE0 @@ -3892,7 +3524,7 @@ sub_8098E24: @ 8098E24 strh r0, [r2, 0x20] b _08098E56 _08098E40: - ldr r0, _08098E5C @ =gUnknown_083B6DB4 + ldr r0, _08098E5C @ =gPokemonStorageSystemPtr ldr r1, [r0] ldr r3, _08098E60 @ =0x00001178 adds r1, r3 @@ -3907,7 +3539,7 @@ _08098E56: pop {r0} bx r0 .align 2, 0 -_08098E5C: .4byte gUnknown_083B6DB4 +_08098E5C: .4byte gPokemonStorageSystemPtr _08098E60: .4byte 0x00001178 _08098E64: .4byte SpriteCallbackDummy thumb_func_end sub_8098E24 @@ -3952,7 +3584,7 @@ sub_8098EA0: @ 8098EA0 lsls r0, 24 lsrs r5, r0, 24 movs r6, 0 - ldr r0, _08098ED8 @ =gUnknown_083B6DB4 + ldr r0, _08098ED8 @ =gPokemonStorageSystemPtr ldr r0, [r0] ldr r1, _08098EDC @ =0x00001050 adds r7, r0, r1 @@ -3978,7 +3610,7 @@ _08098EC2: pop {r0} bx r0 .align 2, 0 -_08098ED8: .4byte gUnknown_083B6DB4 +_08098ED8: .4byte gPokemonStorageSystemPtr _08098EDC: .4byte 0x00001050 thumb_func_end sub_8098EA0 @@ -4023,7 +3655,7 @@ sub_8098EE0: @ 8098EE0 movs r0, 0 str r0, [sp, 0x14] mov r9, r0 - ldr r0, _08098FF8 @ =gUnknown_083B6DB4 + ldr r0, _08098FF8 @ =gPokemonStorageSystemPtr ldr r0, [r0] ldr r2, _08098FFC @ =0x0000117d adds r2, r0 @@ -4124,7 +3756,7 @@ _08098FC8: pop {r1} bx r1 .align 2, 0 -_08098FF8: .4byte gUnknown_083B6DB4 +_08098FF8: .4byte gPokemonStorageSystemPtr _08098FFC: .4byte 0x0000117d _08099000: .4byte 0x00001050 _08099004: .4byte gPokemonStorage + 0x4 @@ -4136,7 +3768,7 @@ sub_809900C: @ 809900C push {r4-r6,lr} lsls r1, 24 lsrs r1, 24 - ldr r4, _08099058 @ =gUnknown_083B6DB4 + ldr r4, _08099058 @ =gPokemonStorageSystemPtr ldr r5, [r4] ldr r3, _0809905C @ =0x0000117c adds r2, r5, r3 @@ -4171,7 +3803,7 @@ sub_809900C: @ 809900C movs r0, 0 b _08099076 .align 2, 0 -_08099058: .4byte gUnknown_083B6DB4 +_08099058: .4byte gPokemonStorageSystemPtr _0809905C: .4byte 0x0000117c _08099060: .4byte 0x0000117d _08099064: .4byte 0x0000117b @@ -4211,7 +3843,7 @@ _080990A8: .4byte 0x00001176 thumb_func_start sub_80990AC sub_80990AC: @ 80990AC push {r4-r6,lr} - ldr r0, _080990D4 @ =gUnknown_083B6DB4 + ldr r0, _080990D4 @ =gPokemonStorageSystemPtr ldr r4, [r0] ldr r0, _080990D8 @ =0x00001172 adds r3, r4, r0 @@ -4232,7 +3864,7 @@ _080990C0: beq _080990E8 b _080991F0 .align 2, 0 -_080990D4: .4byte gUnknown_083B6DB4 +_080990D4: .4byte gPokemonStorageSystemPtr _080990D8: .4byte 0x00001172 _080990DC: .4byte 0x0000117c _080990E0: @@ -4318,7 +3950,7 @@ _08099178: cmp r0, 0 bne _080991B0 _08099182: - ldr r0, _080991A8 @ =gUnknown_083B6DB4 + ldr r0, _080991A8 @ =gPokemonStorageSystemPtr ldr r1, [r0] ldr r2, _080991AC @ =0x0000117c adds r1, r2 @@ -4332,10 +3964,10 @@ _08099198: .4byte 0x00001176 _0809919C: .4byte 0x0000117a _080991A0: .4byte 0x00001178 _080991A4: .4byte 0x0000117b -_080991A8: .4byte gUnknown_083B6DB4 +_080991A8: .4byte gPokemonStorageSystemPtr _080991AC: .4byte 0x0000117c _080991B0: - ldr r0, _080991D0 @ =gUnknown_083B6DB4 + ldr r0, _080991D0 @ =gPokemonStorageSystemPtr ldr r1, [r0] ldr r5, _080991D4 @ =0x0000117a adds r3, r1, r5 @@ -4351,7 +3983,7 @@ _080991B0: strb r2, [r1] b _080991F8 .align 2, 0 -_080991D0: .4byte gUnknown_083B6DB4 +_080991D0: .4byte gPokemonStorageSystemPtr _080991D4: .4byte 0x0000117a _080991D8: .4byte 0x0000117b _080991DC: .4byte 0x0000117c @@ -4404,7 +4036,7 @@ sub_8099200: @ 8099200 movs r2, 0x68 movs r3, 0x40 bl sub_8099AFC - ldr r1, _080992A4 @ =gUnknown_083B6DB4 + ldr r1, _080992A4 @ =gPokemonStorageSystemPtr ldr r1, [r1] ldr r2, _080992A8 @ =0x00001038 adds r1, r2 @@ -4443,7 +4075,7 @@ _08099246: adds r0, r5, 0 movs r2, 0x98 bl sub_8099AFC - ldr r1, _080992A4 @ =gUnknown_083B6DB4 + ldr r1, _080992A4 @ =gPokemonStorageSystemPtr ldr r1, [r1] lsls r2, r6, 2 ldr r3, _080992A8 @ =0x00001038 @@ -4456,10 +4088,10 @@ _08099246: b _080992BA .align 2, 0 _080992A0: .4byte gPlayerParty -_080992A4: .4byte gUnknown_083B6DB4 +_080992A4: .4byte gPokemonStorageSystemPtr _080992A8: .4byte 0x00001038 _080992AC: - ldr r0, _08099308 @ =gUnknown_083B6DB4 + ldr r0, _08099308 @ =gPokemonStorageSystemPtr ldr r0, [r0] lsls r1, r6, 2 ldr r2, _0809930C @ =0x00001038 @@ -4478,7 +4110,7 @@ _080992BA: movs r6, 0 cmp r6, r7 bcs _080992FA - ldr r0, _08099308 @ =gUnknown_083B6DB4 + ldr r0, _08099308 @ =gPokemonStorageSystemPtr ldr r0, [r0] ldr r1, _0809930C @ =0x00001038 adds r3, r0, r1 @@ -4508,7 +4140,7 @@ _080992FA: pop {r0} bx r0 .align 2, 0 -_08099308: .4byte gUnknown_083B6DB4 +_08099308: .4byte gPokemonStorageSystemPtr _0809930C: .4byte 0x00001038 thumb_func_end sub_8099200 @@ -4517,7 +4149,7 @@ sub_8099310: @ 8099310 push {r4-r7,lr} mov r7, r8 push {r7} - ldr r0, _08099368 @ =gUnknown_083B6DB4 + ldr r0, _08099368 @ =gPokemonStorageSystemPtr ldr r2, [r0] ldr r0, _0809936C @ =0x00001171 adds r1, r2, r0 @@ -4561,21 +4193,21 @@ _08099354: pop {r0} bx r0 .align 2, 0 -_08099368: .4byte gUnknown_083B6DB4 +_08099368: .4byte gPokemonStorageSystemPtr _0809936C: .4byte 0x00001171 _08099370: .4byte 0x00001038 thumb_func_end sub_8099310 thumb_func_start sub_8099374 sub_8099374: @ 8099374 - ldr r0, _08099380 @ =gUnknown_083B6DB4 + ldr r0, _08099380 @ =gPokemonStorageSystemPtr ldr r0, [r0] ldr r1, _08099384 @ =0x00001171 adds r0, r1 ldrb r0, [r0] bx lr .align 2, 0 -_08099380: .4byte gUnknown_083B6DB4 +_08099380: .4byte gPokemonStorageSystemPtr _08099384: .4byte 0x00001171 thumb_func_end sub_8099374 @@ -4689,7 +4321,7 @@ _08099446: strh r0, [r3, 0x22] ldr r0, _08099470 @ =SpriteCallbackDummy str r0, [r3, 0x1C] - ldr r0, _08099474 @ =gUnknown_083B6DB4 + ldr r0, _08099474 @ =gPokemonStorageSystemPtr ldr r2, [r0] movs r0, 0x30 ldrsh r1, [r3, r0] @@ -4709,7 +4341,7 @@ _08099468: bx r0 .align 2, 0 _08099470: .4byte SpriteCallbackDummy -_08099474: .4byte gUnknown_083B6DB4 +_08099474: .4byte gPokemonStorageSystemPtr _08099478: .4byte 0x00001038 _0809947C: .4byte 0x00001171 thumb_func_end sub_80993F4 @@ -4717,7 +4349,7 @@ _0809947C: .4byte 0x00001171 thumb_func_start sub_8099480 sub_8099480: @ 8099480 push {r4,lr} - ldr r0, _080994A0 @ =gUnknown_083B6DB4 + ldr r0, _080994A0 @ =gPokemonStorageSystemPtr ldr r0, [r0] ldr r1, _080994A4 @ =0x00001034 adds r4, r0, r1 @@ -4732,7 +4364,7 @@ _08099498: pop {r0} bx r0 .align 2, 0 -_080994A0: .4byte gUnknown_083B6DB4 +_080994A0: .4byte gPokemonStorageSystemPtr _080994A4: .4byte 0x00001034 thumb_func_end sub_8099480 @@ -4740,7 +4372,7 @@ _080994A4: .4byte 0x00001034 sub_80994A8: @ 80994A8 push {r4-r6,lr} movs r3, 0 - ldr r1, _080994FC @ =gUnknown_083B6DB4 + ldr r1, _080994FC @ =gPokemonStorageSystemPtr ldr r1, [r1] ldr r2, _08099500 @ =0x00001038 adds r5, r1, r2 @@ -4782,7 +4414,7 @@ _080994BC: strb r1, [r0] b _0809950E .align 2, 0 -_080994FC: .4byte gUnknown_083B6DB4 +_080994FC: .4byte gPokemonStorageSystemPtr _08099500: .4byte 0x00001038 _08099504: adds r2, 0x3E @@ -4805,7 +4437,7 @@ _0809950E: sub_8099520: @ 8099520 push {r4,lr} lsls r0, 24 - ldr r1, _08099544 @ =gUnknown_083B6DB4 + ldr r1, _08099544 @ =gPokemonStorageSystemPtr ldr r1, [r1] lsrs r0, 22 ldr r2, _08099548 @ =0x00001038 @@ -4822,7 +4454,7 @@ _0809953E: pop {r0} bx r0 .align 2, 0 -_08099544: .4byte gUnknown_083B6DB4 +_08099544: .4byte gPokemonStorageSystemPtr _08099548: .4byte 0x00001038 thumb_func_end sub_8099520 @@ -4830,7 +4462,7 @@ _08099548: .4byte 0x00001038 sub_809954C: @ 809954C push {r4-r6,lr} movs r5, 0 - ldr r0, _0809957C @ =gUnknown_083B6DB4 + ldr r0, _0809957C @ =gPokemonStorageSystemPtr ldr r0, [r0] ldr r1, _08099580 @ =0x00001038 adds r6, r0, r1 @@ -4853,7 +4485,7 @@ _0809956A: pop {r0} bx r0 .align 2, 0 -_0809957C: .4byte gUnknown_083B6DB4 +_0809957C: .4byte gPokemonStorageSystemPtr _08099580: .4byte 0x00001038 thumb_func_end sub_809954C @@ -4867,7 +4499,7 @@ sub_8099584: @ 8099584 adds r5, r1, 0 cmp r4, 0 bne _080995B4 - ldr r3, _080995AC @ =gUnknown_083B6DB4 + ldr r3, _080995AC @ =gPokemonStorageSystemPtr ldr r0, [r3] ldr r5, _080995B0 @ =0x00001034 adds r2, r0, r5 @@ -4880,12 +4512,12 @@ sub_8099584: @ 8099584 str r4, [r0] b _080995D0 .align 2, 0 -_080995AC: .4byte gUnknown_083B6DB4 +_080995AC: .4byte gPokemonStorageSystemPtr _080995B0: .4byte 0x00001034 _080995B4: cmp r4, 0x1 bne _080995F4 - ldr r3, _080995FC @ =gUnknown_083B6DB4 + ldr r3, _080995FC @ =gPokemonStorageSystemPtr ldr r0, [r3] ldr r1, _08099600 @ =0x00001034 adds r2, r0, r1 @@ -4921,7 +4553,7 @@ _080995F4: pop {r0} bx r0 .align 2, 0 -_080995FC: .4byte gUnknown_083B6DB4 +_080995FC: .4byte gPokemonStorageSystemPtr _08099600: .4byte 0x00001034 _08099604: .4byte 0x00001050 _08099608: .4byte sub_80999C4 @@ -4936,7 +4568,7 @@ sub_809960C: @ 809960C lsrs r6, r1, 24 cmp r0, 0xE bne _08099654 - ldr r4, _08099648 @ =gUnknown_083B6DB4 + ldr r4, _08099648 @ =gPokemonStorageSystemPtr ldr r0, [r4] lsls r1, r6, 2 ldr r2, _0809964C @ =0x00001038 @@ -4959,11 +4591,11 @@ sub_809960C: @ 809960C strb r1, [r0] b _0809968A .align 2, 0 -_08099648: .4byte gUnknown_083B6DB4 +_08099648: .4byte gPokemonStorageSystemPtr _0809964C: .4byte 0x00001038 _08099650: .4byte 0x00001034 _08099654: - ldr r5, _080996A0 @ =gUnknown_083B6DB4 + ldr r5, _080996A0 @ =gPokemonStorageSystemPtr ldr r0, [r5] lsls r1, r6, 2 ldr r2, _080996A4 @ =0x00001050 @@ -5002,7 +4634,7 @@ _0809968A: pop {r0} bx r0 .align 2, 0 -_080996A0: .4byte gUnknown_083B6DB4 +_080996A0: .4byte gPokemonStorageSystemPtr _080996A4: .4byte 0x00001050 _080996A8: .4byte 0x00001034 _080996AC: .4byte SpriteCallbackDummy @@ -5017,7 +4649,7 @@ sub_80996B0: @ 80996B0 lsrs r4, r1, 24 cmp r0, 0xE bne _080996D8 - ldr r3, _080996CC @ =gUnknown_083B6DB4 + ldr r3, _080996CC @ =gPokemonStorageSystemPtr ldr r1, [r3] ldr r0, _080996D0 @ =0x000010c8 adds r2, r1, r0 @@ -5025,11 +4657,11 @@ sub_80996B0: @ 80996B0 ldr r4, _080996D4 @ =0x00001038 b _080996E4 .align 2, 0 -_080996CC: .4byte gUnknown_083B6DB4 +_080996CC: .4byte gPokemonStorageSystemPtr _080996D0: .4byte 0x000010c8 _080996D4: .4byte 0x00001038 _080996D8: - ldr r3, _08099704 @ =gUnknown_083B6DB4 + ldr r3, _08099704 @ =gPokemonStorageSystemPtr ldr r1, [r3] ldr r0, _08099708 @ =0x000010c8 adds r2, r1, r0 @@ -5053,7 +4685,7 @@ _080996E4: pop {r0} bx r0 .align 2, 0 -_08099704: .4byte gUnknown_083B6DB4 +_08099704: .4byte gPokemonStorageSystemPtr _08099708: .4byte 0x000010c8 _0809970C: .4byte 0x00001050 _08099710: .4byte 0x00001034 @@ -5064,7 +4696,7 @@ _08099718: .4byte 0x00001170 thumb_func_start sub_809971C sub_809971C: @ 809971C push {r4-r7,lr} - ldr r0, _08099730 @ =gUnknown_083B6DB4 + ldr r0, _08099730 @ =gPokemonStorageSystemPtr ldr r2, [r0] ldr r0, _08099734 @ =0x00001170 adds r7, r2, r0 @@ -5074,7 +4706,7 @@ sub_809971C: @ 809971C movs r0, 0 b _08099800 .align 2, 0 -_08099730: .4byte gUnknown_083B6DB4 +_08099730: .4byte gPokemonStorageSystemPtr _08099734: .4byte 0x00001170 _08099738: adds r0, 0x1 @@ -5214,7 +4846,7 @@ _08099836: beq _0809987C b _080998C0 _0809983C: - ldr r3, _0809984C @ =gUnknown_083B6DB4 + ldr r3, _0809984C @ =gPokemonStorageSystemPtr ldr r1, [r3] ldr r0, _08099850 @ =0x000010cc adds r2, r1, r0 @@ -5222,11 +4854,11 @@ _0809983C: ldr r4, _08099854 @ =0x00001038 b _08099864 .align 2, 0 -_0809984C: .4byte gUnknown_083B6DB4 +_0809984C: .4byte gPokemonStorageSystemPtr _08099850: .4byte 0x000010cc _08099854: .4byte 0x00001038 _08099858: - ldr r3, _08099870 @ =gUnknown_083B6DB4 + ldr r3, _08099870 @ =gPokemonStorageSystemPtr ldr r1, [r3] ldr r0, _08099874 @ =0x000010cc adds r2, r1, r0 @@ -5239,11 +4871,11 @@ _08099864: adds r0, r3, 0 b _0809988A .align 2, 0 -_08099870: .4byte gUnknown_083B6DB4 +_08099870: .4byte gPokemonStorageSystemPtr _08099874: .4byte 0x000010cc _08099878: .4byte 0x00001050 _0809987C: - ldr r0, _080998C8 @ =gUnknown_083B6DB4 + ldr r0, _080998C8 @ =gPokemonStorageSystemPtr ldr r1, [r0] ldr r3, _080998CC @ =0x000010cc adds r2, r1, r3 @@ -5281,7 +4913,7 @@ _080998C0: pop {r0} bx r0 .align 2, 0 -_080998C8: .4byte gUnknown_083B6DB4 +_080998C8: .4byte gPokemonStorageSystemPtr _080998CC: .4byte 0x000010cc _080998D0: .4byte 0x00001034 _080998D4: .4byte gSpriteAffineAnimTable_83B6F5C @@ -5290,7 +4922,7 @@ _080998D4: .4byte gSpriteAffineAnimTable_83B6F5C thumb_func_start sub_80998D8 sub_80998D8: @ 80998D8 push {lr} - ldr r0, _080998FC @ =gUnknown_083B6DB4 + ldr r0, _080998FC @ =gPokemonStorageSystemPtr ldr r0, [r0] ldr r1, _08099900 @ =0x000010cc adds r0, r1 @@ -5309,7 +4941,7 @@ _080998F8: movs r0, 0 b _0809991A .align 2, 0 -_080998FC: .4byte gUnknown_083B6DB4 +_080998FC: .4byte gPokemonStorageSystemPtr _08099900: .4byte 0x000010cc _08099904: adds r0, r1, 0 @@ -5332,7 +4964,7 @@ _0809991A: thumb_func_start sub_8099920 sub_8099920: @ 8099920 push {r4,lr} - ldr r0, _08099950 @ =gUnknown_083B6DB4 + ldr r0, _08099950 @ =gPokemonStorageSystemPtr ldr r0, [r0] ldr r1, _08099954 @ =0x000010cc adds r4, r0, r1 @@ -5355,14 +4987,14 @@ _0809994A: pop {r0} bx r0 .align 2, 0 -_08099950: .4byte gUnknown_083B6DB4 +_08099950: .4byte gPokemonStorageSystemPtr _08099954: .4byte 0x000010cc thumb_func_end sub_8099920 thumb_func_start sub_8099958 sub_8099958: @ 8099958 push {lr} - ldr r0, _08099988 @ =gUnknown_083B6DB4 + ldr r0, _08099988 @ =gPokemonStorageSystemPtr ldr r0, [r0] ldr r1, _0809998C @ =0x000010cc adds r3, r0, r1 @@ -5385,14 +5017,14 @@ _08099982: pop {r0} bx r0 .align 2, 0 -_08099988: .4byte gUnknown_083B6DB4 +_08099988: .4byte gPokemonStorageSystemPtr _0809998C: .4byte 0x000010cc thumb_func_end sub_8099958 thumb_func_start sub_8099990 sub_8099990: @ 8099990 push {lr} - ldr r0, _080999A4 @ =gUnknown_083B6DB4 + ldr r0, _080999A4 @ =gPokemonStorageSystemPtr ldr r0, [r0] ldr r1, _080999A8 @ =0x000010cc adds r2, r0, r1 @@ -5402,7 +5034,7 @@ sub_8099990: @ 8099990 movs r0, 0 b _080999C0 .align 2, 0 -_080999A4: .4byte gUnknown_083B6DB4 +_080999A4: .4byte gPokemonStorageSystemPtr _080999A8: .4byte 0x000010cc _080999AC: ldr r0, [r0] @@ -5423,7 +5055,7 @@ _080999C0: thumb_func_start sub_80999C4 sub_80999C4: @ 80999C4 - ldr r1, _080999E4 @ =gUnknown_083B6DB4 + ldr r1, _080999E4 @ =gPokemonStorageSystemPtr ldr r1, [r1] movs r2, 0x8E lsls r2, 5 @@ -5439,7 +5071,7 @@ sub_80999C4: @ 80999C4 strh r1, [r0, 0x22] bx lr .align 2, 0 -_080999E4: .4byte gUnknown_083B6DB4 +_080999E4: .4byte gPokemonStorageSystemPtr thumb_func_end sub_80999C4 thumb_func_start sub_80999E8 @@ -5448,7 +5080,7 @@ sub_80999E8: @ 80999E8 lsls r0, 16 lsrs r3, r0, 16 movs r4, 0 - ldr r1, _08099A58 @ =gUnknown_083B6DB4 + ldr r1, _08099A58 @ =gPokemonStorageSystemPtr ldr r0, [r1] movs r2, 0x89 lsls r2, 5 @@ -5504,7 +5136,7 @@ _08099A4E: ldr r0, _08099A5C @ =0x0000ffff b _08099A94 .align 2, 0 -_08099A58: .4byte gUnknown_083B6DB4 +_08099A58: .4byte gPokemonStorageSystemPtr _08099A5C: .4byte 0x0000ffff _08099A60: ldr r1, [r2] @@ -5549,7 +5181,7 @@ sub_8099AAC: @ 8099AAC lsls r0, 16 lsrs r6, r0, 16 movs r3, 0 - ldr r0, _08099AE4 @ =gUnknown_083B6DB4 + ldr r0, _08099AE4 @ =gPokemonStorageSystemPtr ldr r0, [r0] movs r1, 0x89 lsls r1, 5 @@ -5574,7 +5206,7 @@ _08099AC6: strh r0, [r2] b _08099AF6 .align 2, 0 -_08099AE4: .4byte gUnknown_083B6DB4 +_08099AE4: .4byte gPokemonStorageSystemPtr _08099AE8: .4byte 0x0000ffff _08099AEC: adds r0, r3, 0x1 @@ -5718,7 +5350,7 @@ sub_8099BF8: @ 8099BF8 adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - ldr r0, _08099C50 @ =gUnknown_083B6DB4 + ldr r0, _08099C50 @ =gPokemonStorageSystemPtr ldr r0, [r0] ldr r1, _08099C54 @ =0x000008ba adds r2, r0, r1 @@ -5753,7 +5385,7 @@ sub_8099BF8: @ 8099BF8 pop {r0} bx r0 .align 2, 0 -_08099C50: .4byte gUnknown_083B6DB4 +_08099C50: .4byte gPokemonStorageSystemPtr _08099C54: .4byte 0x000008ba _08099C58: .4byte 0x000008b4 _08099C5C: .4byte 0x040000d4 @@ -5775,7 +5407,7 @@ sub_8099C70: @ 8099C70 adds r0, r5, 0 adds r1, r4, 0 bl sub_8099EB0 - ldr r0, _08099D10 @ =gUnknown_083B6DB4 + ldr r0, _08099D10 @ =gPokemonStorageSystemPtr ldr r2, [r0] lsls r0, r4, 1 adds r0, r4 @@ -5843,7 +5475,7 @@ _08099CD6: pop {r0} bx r0 .align 2, 0 -_08099D10: .4byte gUnknown_083B6DB4 +_08099D10: .4byte gPokemonStorageSystemPtr _08099D14: .4byte 0x000008b6 _08099D18: .4byte 0x000008b8 _08099D1C: .4byte 0x000008bb @@ -5860,7 +5492,7 @@ sub_8099D34: @ 8099D34 bl sub_80990AC lsls r0, 24 lsrs r2, r0, 24 - ldr r0, _08099D78 @ =gUnknown_083B6DB4 + ldr r0, _08099D78 @ =gPokemonStorageSystemPtr ldr r1, [r0] ldr r0, _08099D7C @ =0x000008b8 adds r3, r1, r0 @@ -5889,7 +5521,7 @@ _08099D74: movs r0, 0x1 b _08099D8A .align 2, 0 -_08099D78: .4byte gUnknown_083B6DB4 +_08099D78: .4byte gPokemonStorageSystemPtr _08099D7C: .4byte 0x000008b8 _08099D80: .4byte 0x000008b4 _08099D84: .4byte 0x000001ff @@ -5952,7 +5584,7 @@ sub_8099DCC: @ 8099DCC adds r0, r1 movs r1, 0 strb r4, [r0] - ldr r0, _08099E00 @ =gUnknown_083B6DB4 + ldr r0, _08099E00 @ =gPokemonStorageSystemPtr ldr r0, [r0] ldr r2, _08099E04 @ =0x00001032 adds r0, r2 @@ -5963,7 +5595,7 @@ sub_8099DCC: @ 8099DCC .align 2, 0 _08099DF8: .4byte gPokemonStorage _08099DFC: .4byte 0x000083c2 -_08099E00: .4byte gUnknown_083B6DB4 +_08099E00: .4byte gPokemonStorageSystemPtr _08099E04: .4byte 0x00001032 thumb_func_end sub_8099DCC @@ -5971,7 +5603,7 @@ _08099E04: .4byte 0x00001032 sub_8099E08: @ 8099E08 push {r4,r5,lr} sub sp, 0x4 - ldr r0, _08099E24 @ =gUnknown_083B6DB4 + ldr r0, _08099E24 @ =gPokemonStorageSystemPtr ldr r5, [r0] ldr r0, _08099E28 @ =0x00001032 adds r4, r5, r0 @@ -5984,7 +5616,7 @@ sub_8099E08: @ 8099E08 beq _08099E36 b _08099EA6 .align 2, 0 -_08099E24: .4byte gUnknown_083B6DB4 +_08099E24: .4byte gPokemonStorageSystemPtr _08099E28: .4byte 0x00001032 _08099E2C: cmp r0, 0x2 @@ -6061,7 +5693,7 @@ sub_8099EB0: @ 8099EB0 lsrs r7, r1, 24 cmp r1, 0 beq _08099ED8 - ldr r0, _08099F38 @ =gUnknown_083B6DB4 + ldr r0, _08099F38 @ =gPokemonStorageSystemPtr ldr r0, [r0] movs r2, 0 ldr r3, _08099F3C @ =0x000008ba @@ -6084,7 +5716,7 @@ _08099ED8: ldr r0, _08099F4C @ =gWallpaperTable adds r4, r0 ldr r0, [r4, 0xC] - ldr r1, _08099F38 @ =gUnknown_083B6DB4 + ldr r1, _08099F38 @ =gPokemonStorageSystemPtr ldr r5, [r1] ldr r2, _08099F3C @ =0x000008ba adds r6, r5, r2 @@ -6119,7 +5751,7 @@ _08099ED8: pop {r0} bx r0 .align 2, 0 -_08099F38: .4byte gUnknown_083B6DB4 +_08099F38: .4byte gPokemonStorageSystemPtr _08099F3C: .4byte 0x000008ba _08099F40: .4byte 0x0600d000 _08099F44: .4byte gPokemonStorage @@ -6150,7 +5782,7 @@ sub_8099F58: @ 8099F58 lsls r0, 28 lsrs r0, 16 str r0, [sp, 0x4] - ldr r0, _08099FB8 @ =gUnknown_083B6DB4 + ldr r0, _08099FB8 @ =gPokemonStorageSystemPtr ldr r0, [r0] ldr r1, _08099FBC @ =0x000008b4 adds r0, r1 @@ -6179,7 +5811,7 @@ sub_8099F58: @ 8099F58 movs r7, 0 b _0809A020 .align 2, 0 -_08099FB8: .4byte gUnknown_083B6DB4 +_08099FB8: .4byte gPokemonStorageSystemPtr _08099FBC: .4byte 0x000008b4 _08099FC0: cmp r2, 0x1F @@ -6402,7 +6034,7 @@ _0809A13A: sub_809A14C: @ 809A14C push {r4-r6,lr} adds r2, r0, 0 - ldr r0, _0809A174 @ =gUnknown_083B6DB4 + ldr r0, _0809A174 @ =gPokemonStorageSystemPtr ldr r0, [r0] ldr r1, _0809A178 @ =0x000008b4 adds r0, r1 @@ -6421,7 +6053,7 @@ sub_809A14C: @ 809A14C adds r0, r6 b _0809A184 .align 2, 0 -_0809A174: .4byte gUnknown_083B6DB4 +_0809A174: .4byte gPokemonStorageSystemPtr _0809A178: .4byte 0x000008b4 _0809A17C: lsls r0, 1 @@ -6537,7 +6169,7 @@ sub_809A23C: @ 809A23C lsls r0, 24 lsrs r0, 24 mov r8, r0 - ldr r0, _0809A384 @ =gUnknown_083B6DB4 + ldr r0, _0809A384 @ =gPokemonStorageSystemPtr ldr r5, [r0] ldr r1, _0809A388 @ =0x000008ca adds r7, r5, r1 @@ -6649,7 +6281,7 @@ _0809A328: adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 - ldr r0, _0809A384 @ =gUnknown_083B6DB4 + ldr r0, _0809A384 @ =gPokemonStorageSystemPtr ldr r5, [r0] lsls r0, r4, 2 movs r3, 0xCF @@ -6683,7 +6315,7 @@ _0809A328: pop {r0} bx r0 .align 2, 0 -_0809A384: .4byte gUnknown_083B6DB4 +_0809A384: .4byte gPokemonStorageSystemPtr _0809A388: .4byte 0x000008ca _0809A38C: .4byte 0x00030200 _0809A390: .4byte 0x00000ccc @@ -6718,7 +6350,7 @@ sub_809A3D0: @ 809A3D0 lsls r1, 24 lsrs r1, 24 mov r10, r1 - ldr r3, _0809A43C @ =gUnknown_083B6DB4 + ldr r3, _0809A43C @ =gPokemonStorageSystemPtr ldr r5, [r3] ldr r1, _0809A440 @ =0x000008ca adds r0, r5, r1 @@ -6761,7 +6393,7 @@ _0809A41E: mov r8, r0 b _0809A478 .align 2, 0 -_0809A43C: .4byte gUnknown_083B6DB4 +_0809A43C: .4byte gPokemonStorageSystemPtr _0809A440: .4byte 0x000008ca _0809A444: .4byte 0x0000ffff _0809A448: .4byte 0x00030200 @@ -6847,7 +6479,7 @@ _0809A4DE: bl CreateSprite lsls r0, 24 lsrs r0, 24 - ldr r1, _0809A584 @ =gUnknown_083B6DB4 + ldr r1, _0809A584 @ =gPokemonStorageSystemPtr ldr r4, [r1] lsls r6, r7, 2 ldr r1, _0809A588 @ =0x00000cf8 @@ -6910,7 +6542,7 @@ _0809A574: .4byte 0x0000dac9 _0809A578: .4byte 0x000008ca _0809A57C: .4byte gPokemonStorage + 0x8344 _0809A580: .4byte gUnknown_083BB0A8 -_0809A584: .4byte gUnknown_083B6DB4 +_0809A584: .4byte gPokemonStorageSystemPtr _0809A588: .4byte 0x00000cf8 _0809A58C: .4byte gSprites _0809A590: .4byte sub_809A5E8 @@ -6920,7 +6552,7 @@ _0809A594: .4byte sub_809A61C thumb_func_start sub_809A598 sub_809A598: @ 809A598 push {lr} - ldr r0, _0809A5B0 @ =gUnknown_083B6DB4 + ldr r0, _0809A5B0 @ =gPokemonStorageSystemPtr ldr r0, [r0] ldr r1, _0809A5B4 @ =0x00000cca adds r0, r1 @@ -6931,13 +6563,13 @@ sub_809A598: @ 809A598 bl FreeSpriteTilesByTag b _0809A5BE .align 2, 0 -_0809A5B0: .4byte gUnknown_083B6DB4 +_0809A5B0: .4byte gPokemonStorageSystemPtr _0809A5B4: .4byte 0x00000cca _0809A5B8: movs r0, 0x3 bl FreeSpriteTilesByTag _0809A5BE: - ldr r0, _0809A5E0 @ =gUnknown_083B6DB4 + ldr r0, _0809A5E0 @ =gPokemonStorageSystemPtr ldr r0, [r0] movs r3, 0xCF lsls r3, 4 @@ -6955,7 +6587,7 @@ _0809A5BE: pop {r0} bx r0 .align 2, 0 -_0809A5E0: .4byte gUnknown_083B6DB4 +_0809A5E0: .4byte gPokemonStorageSystemPtr _0809A5E4: .4byte 0x00000cf4 thumb_func_end sub_809A598 @@ -7034,7 +6666,7 @@ sub_809A654: @ 809A654 adds r1, r2 adds r0, r1 ldrb r1, [r0] - ldr r0, _0809A698 @ =gUnknown_083B6DB4 + ldr r0, _0809A698 @ =gPokemonStorageSystemPtr ldr r2, [r0] ldr r3, _0809A69C @ =0x00000cca adds r0, r2, r3 @@ -7056,7 +6688,7 @@ sub_809A654: @ 809A654 .align 2, 0 _0809A690: .4byte gPokemonStorage _0809A694: .4byte 0x000083c2 -_0809A698: .4byte gUnknown_083B6DB4 +_0809A698: .4byte gPokemonStorageSystemPtr _0809A69C: .4byte 0x00000cca _0809A6A0: .4byte gUnknown_083BB0A8 _0809A6A4: .4byte gPlttBufferUnfaded @@ -7132,7 +6764,7 @@ _0809A6EC: adds r0, r1, 0 _0809A72C: strh r0, [r4, 0x34] - ldr r0, _0809A770 @ =gUnknown_083B6DB4 + ldr r0, _0809A770 @ =gPokemonStorageSystemPtr ldr r0, [r0] lsls r1, r5, 2 movs r2, 0xD0 @@ -7161,7 +6793,7 @@ _0809A760: .4byte gUnknown_083BB288 _0809A764: .4byte gUnknown_083BB290 _0809A768: .4byte gSpriteTemplate_83BB2F0 _0809A76C: .4byte gSprites -_0809A770: .4byte gUnknown_083B6DB4 +_0809A770: .4byte gPokemonStorageSystemPtr thumb_func_end sub_809A6DC thumb_func_start sub_809A774 @@ -7170,7 +6802,7 @@ sub_809A774: @ 809A774 lsls r0, 24 lsrs r6, r0, 24 movs r2, 0 - ldr r7, _0809A7C4 @ =gUnknown_083B6DB4 + ldr r7, _0809A7C4 @ =gPokemonStorageSystemPtr ldr r0, [r7] movs r1, 0xD0 lsls r1, 4 @@ -7208,7 +6840,7 @@ _0809A78A: movs r2, 0x48 b _0809A7E8 .align 2, 0 -_0809A7C4: .4byte gUnknown_083B6DB4 +_0809A7C4: .4byte gPokemonStorageSystemPtr _0809A7C8: .4byte 0x00000d04 _0809A7CC: ldr r1, [r7] @@ -7252,7 +6884,7 @@ _0809A80C: .4byte 0x00000d04 sub_809A810: @ 809A810 push {r4-r6,lr} movs r3, 0 - ldr r0, _0809A85C @ =gUnknown_083B6DB4 + ldr r0, _0809A85C @ =gPokemonStorageSystemPtr ldr r0, [r0] movs r1, 0xD0 lsls r1, 4 @@ -7288,7 +6920,7 @@ _0809A824: pop {r0} bx r0 .align 2, 0 -_0809A85C: .4byte gUnknown_083B6DB4 +_0809A85C: .4byte gPokemonStorageSystemPtr thumb_func_end sub_809A810 thumb_func_start sub_809A860 @@ -7298,7 +6930,7 @@ sub_809A860: @ 809A860 cmp r0, 0 beq _0809A89C movs r2, 0 - ldr r0, _0809A898 @ =gUnknown_083B6DB4 + ldr r0, _0809A898 @ =gPokemonStorageSystemPtr ldr r0, [r0] movs r1, 0xD0 lsls r1, 4 @@ -7323,10 +6955,10 @@ _0809A878: bls _0809A878 b _0809A8BC .align 2, 0 -_0809A898: .4byte gUnknown_083B6DB4 +_0809A898: .4byte gPokemonStorageSystemPtr _0809A89C: movs r2, 0 - ldr r0, _0809A8C4 @ =gUnknown_083B6DB4 + ldr r0, _0809A8C4 @ =gPokemonStorageSystemPtr ldr r0, [r0] movs r3, 0xD0 lsls r3, 4 @@ -7347,7 +6979,7 @@ _0809A8BC: pop {r0} bx r0 .align 2, 0 -_0809A8C4: .4byte gUnknown_083B6DB4 +_0809A8C4: .4byte gPokemonStorageSystemPtr thumb_func_end sub_809A860 thumb_func_start sub_809A8C8 @@ -7405,7 +7037,7 @@ _0809A92C: strh r0, [r2, 0x2E] b _0809A994 _0809A932: - ldr r0, _0809A97C @ =gUnknown_083B6DB4 + ldr r0, _0809A97C @ =gPokemonStorageSystemPtr ldr r1, [r0] ldr r0, _0809A980 @ =0x000008b6 adds r1, r0 @@ -7444,10 +7076,10 @@ _0809A958: strh r0, [r2, 0x2E] b _0809A994 .align 2, 0 -_0809A97C: .4byte gUnknown_083B6DB4 +_0809A97C: .4byte gPokemonStorageSystemPtr _0809A980: .4byte 0x000008b6 _0809A984: - ldr r0, _0809A998 @ =gUnknown_083B6DB4 + ldr r0, _0809A998 @ =gPokemonStorageSystemPtr ldr r0, [r0] ldr r1, _0809A99C @ =0x000008b6 adds r0, r1 @@ -7459,7 +7091,7 @@ _0809A994: pop {r0} bx r0 .align 2, 0 -_0809A998: .4byte gUnknown_083B6DB4 +_0809A998: .4byte gPokemonStorageSystemPtr _0809A99C: .4byte 0x000008b6 thumb_func_end sub_809A8C8 @@ -7533,7 +7165,7 @@ _0809AA1A: thumb_func_start sub_809AA24 sub_809AA24: @ 809AA24 push {lr} - ldr r0, _0809AA38 @ =gUnknown_083B6DB4 + ldr r0, _0809AA38 @ =gPokemonStorageSystemPtr ldr r0, [r0] ldrb r1, [r0, 0x5] cmp r1, 0x1 @@ -7543,7 +7175,7 @@ sub_809AA24: @ 809AA24 strb r0, [r1] b _0809AA44 .align 2, 0 -_0809AA38: .4byte gUnknown_083B6DB4 +_0809AA38: .4byte gPokemonStorageSystemPtr _0809AA3C: .4byte gUnknown_020384E4 _0809AA40: ldr r0, _0809AA78 @ =gUnknown_020384E4 @@ -7562,7 +7194,7 @@ _0809AA44: strb r1, [r0] bl sub_809B0D4 bl sub_809CC04 - ldr r0, _0809AA90 @ =gUnknown_083B6DB4 + ldr r0, _0809AA90 @ =gPokemonStorageSystemPtr ldr r0, [r0] ldr r1, _0809AA94 @ =0x000011e2 adds r0, r1 @@ -7578,7 +7210,7 @@ _0809AA80: .4byte gUnknown_020384E6 _0809AA84: .4byte gUnknown_020384E7 _0809AA88: .4byte gUnknown_020384E8 _0809AA8C: .4byte gUnknown_020384E9 -_0809AA90: .4byte gUnknown_083B6DB4 +_0809AA90: .4byte gPokemonStorageSystemPtr _0809AA94: .4byte 0x000011e2 thumb_func_end sub_809AA24 @@ -7587,7 +7219,7 @@ sub_809AA98: @ 809AA98 push {lr} bl sub_809CC04 bl sub_809C028 - ldr r0, _0809AAC0 @ =gUnknown_083B6DB4 + ldr r0, _0809AAC0 @ =gPokemonStorageSystemPtr ldr r0, [r0] ldr r1, _0809AAC4 @ =0x000011e2 adds r0, r1 @@ -7602,7 +7234,7 @@ _0809AABA: pop {r0} bx r0 .align 2, 0 -_0809AAC0: .4byte gUnknown_083B6DB4 +_0809AAC0: .4byte gPokemonStorageSystemPtr _0809AAC4: .4byte 0x000011e2 _0809AAC8: .4byte gUnknown_020384E6 thumb_func_end sub_809AA98 @@ -7772,7 +7404,7 @@ _0809ABFA: thumb_func_start sub_809AC00 sub_809AC00: @ 809AC00 push {r4-r6,lr} - ldr r0, _0809AC14 @ =gUnknown_083B6DB4 + ldr r0, _0809AC14 @ =gPokemonStorageSystemPtr ldr r4, [r0] ldr r0, _0809AC18 @ =0x000011dc adds r1, r4, r0 @@ -7782,7 +7414,7 @@ sub_809AC00: @ 809AC00 movs r0, 0 b _0809AD2C .align 2, 0 -_0809AC14: .4byte gUnknown_083B6DB4 +_0809AC14: .4byte gPokemonStorageSystemPtr _0809AC18: .4byte 0x000011dc _0809AC1C: subs r0, 0x1 @@ -7947,7 +7579,7 @@ sub_809AD3C: @ 809AD3C mov r2, sp adds r3, r6, 0 bl sub_809AACC - ldr r0, _0809AD88 @ =gUnknown_083B6DB4 + ldr r0, _0809AD88 @ =gPokemonStorageSystemPtr ldr r1, [r0] movs r2, 0x8F lsls r2, 5 @@ -7970,7 +7602,7 @@ sub_809AD3C: @ 809AD3C pop {r0} bx r0 .align 2, 0 -_0809AD88: .4byte gUnknown_083B6DB4 +_0809AD88: .4byte gPokemonStorageSystemPtr _0809AD8C: .4byte 0x000011e1 _0809AD90: .4byte 0x000011da thumb_func_end sub_809AD3C @@ -7978,7 +7610,7 @@ _0809AD90: .4byte 0x000011da thumb_func_start sub_809AD94 sub_809AD94: @ 809AD94 push {r4-r7,lr} - ldr r0, _0809ADB0 @ =gUnknown_083B6DB4 + ldr r0, _0809ADB0 @ =gPokemonStorageSystemPtr ldr r2, [r0] ldr r3, _0809ADB4 @ =0x000011de adds r1, r2, r3 @@ -7991,7 +7623,7 @@ sub_809AD94: @ 809AD94 movs r0, 0xC b _0809ADC2 .align 2, 0 -_0809ADB0: .4byte gUnknown_083B6DB4 +_0809ADB0: .4byte gPokemonStorageSystemPtr _0809ADB4: .4byte 0x000011de _0809ADB8: .4byte 0x000011dc _0809ADBC: @@ -8181,7 +7813,7 @@ sub_809AF18: @ 809AF18 ldrb r0, [r0] cmp r0, 0 bne _0809AF46 - ldr r0, _0809AFA8 @ =gUnknown_083B6DB4 + ldr r0, _0809AFA8 @ =gPokemonStorageSystemPtr ldr r0, [r0] movs r1, 0x8E lsls r1, 5 @@ -8198,7 +7830,7 @@ _0809AF46: asrs r0, 24 cmp r0, 0x1 beq _0809AF70 - ldr r0, _0809AFA8 @ =gUnknown_083B6DB4 + ldr r0, _0809AFA8 @ =gPokemonStorageSystemPtr ldr r0, [r0] ldr r2, _0809AFB0 @ =0x000011e2 adds r1, r0, r2 @@ -8218,7 +7850,7 @@ _0809AF70: blt _0809AF9E cmp r4, 0x3 bgt _0809AF9E - ldr r0, _0809AFA8 @ =gUnknown_083B6DB4 + ldr r0, _0809AFA8 @ =gPokemonStorageSystemPtr ldr r2, [r0] ldr r0, _0809AFB4 @ =0x000011c4 adds r2, r0 @@ -8241,7 +7873,7 @@ _0809AF9E: bx r0 .align 2, 0 _0809AFA4: .4byte gUnknown_020384E6 -_0809AFA8: .4byte gUnknown_083B6DB4 +_0809AFA8: .4byte gPokemonStorageSystemPtr _0809AFAC: .4byte gUnknown_020384E4 _0809AFB0: .4byte 0x000011e2 _0809AFB4: .4byte 0x000011c4 @@ -8251,7 +7883,7 @@ _0809AFB4: .4byte 0x000011c4 sub_809AFB8: @ 809AFB8 push {r4,r5,lr} ldr r5, _0809B000 @ =gUnknown_020384E4 - ldr r0, _0809B004 @ =gUnknown_083B6DB4 + ldr r0, _0809B004 @ =gPokemonStorageSystemPtr ldr r4, [r0] movs r1, 0x8F lsls r1, 5 @@ -8286,7 +7918,7 @@ _0809AFEA: b _0809B05E .align 2, 0 _0809B000: .4byte gUnknown_020384E4 -_0809B004: .4byte gUnknown_083B6DB4 +_0809B004: .4byte gPokemonStorageSystemPtr _0809B008: .4byte gUnknown_020384E5 _0809B00C: .4byte 0x000011e1 _0809B010: .4byte gUnknown_020384E6 @@ -8355,7 +7987,7 @@ _0809B07C: bls _0809B08A movs r3, 0x5 _0809B08A: - ldr r0, _0809B0B8 @ =gUnknown_083B6DB4 + ldr r0, _0809B0B8 @ =gPokemonStorageSystemPtr ldr r2, [r0] movs r1, 0x8E lsls r1, 5 @@ -8378,7 +8010,7 @@ _0809B0AA: pop {r0} bx r0 .align 2, 0 -_0809B0B8: .4byte gUnknown_083B6DB4 +_0809B0B8: .4byte gPokemonStorageSystemPtr _0809B0BC: .4byte 0x000011e3 thumb_func_end sub_809B068 @@ -8428,7 +8060,7 @@ _0809B0FC: .4byte gUnknown_020384EA thumb_func_start sub_809B100 sub_809B100: @ 809B100 lsls r0, 24 - ldr r1, _0809B120 @ =gUnknown_083B6DB4 + ldr r1, _0809B120 @ =gPokemonStorageSystemPtr ldr r1, [r1] ldr r2, _0809B124 @ =0x000012a4 adds r3, r1, r2 @@ -8443,7 +8075,7 @@ sub_809B100: @ 809B100 strb r0, [r1] bx lr .align 2, 0 -_0809B120: .4byte gUnknown_083B6DB4 +_0809B120: .4byte gPokemonStorageSystemPtr _0809B124: .4byte 0x000012a4 _0809B128: .4byte gUnknown_083BBBC8 _0809B12C: .4byte 0x000012a8 @@ -8452,7 +8084,7 @@ _0809B12C: .4byte 0x000012a8 thumb_func_start sub_809B130 sub_809B130: @ 809B130 push {lr} - ldr r0, _0809B148 @ =gUnknown_083B6DB4 + ldr r0, _0809B148 @ =gPokemonStorageSystemPtr ldr r0, [r0] ldr r1, _0809B14C @ =0x000012a4 adds r0, r1 @@ -8463,14 +8095,14 @@ sub_809B130: @ 809B130 pop {r1} bx r1 .align 2, 0 -_0809B148: .4byte gUnknown_083B6DB4 +_0809B148: .4byte gPokemonStorageSystemPtr _0809B14C: .4byte 0x000012a4 thumb_func_end sub_809B130 thumb_func_start sub_809B150 sub_809B150: @ 809B150 push {r4,r5,lr} - ldr r0, _0809B16C @ =gUnknown_083B6DB4 + ldr r0, _0809B16C @ =gPokemonStorageSystemPtr ldr r5, [r0] ldr r0, _0809B170 @ =0x000012a8 adds r4, r5, r0 @@ -8483,7 +8115,7 @@ sub_809B150: @ 809B150 beq _0809B17E b _0809B1CE .align 2, 0 -_0809B16C: .4byte gUnknown_083B6DB4 +_0809B16C: .4byte gPokemonStorageSystemPtr _0809B170: .4byte 0x000012a8 _0809B174: cmp r0, 0x2 @@ -8542,7 +8174,7 @@ _0809B1D0: thumb_func_start sub_809B1D8 sub_809B1D8: @ 809B1D8 push {r4,r5,lr} - ldr r0, _0809B1F4 @ =gUnknown_083B6DB4 + ldr r0, _0809B1F4 @ =gPokemonStorageSystemPtr ldr r4, [r0] ldr r0, _0809B1F8 @ =0x000012a8 adds r5, r4, r0 @@ -8555,7 +8187,7 @@ sub_809B1D8: @ 809B1D8 beq _0809B202 b _0809B244 .align 2, 0 -_0809B1F4: .4byte gUnknown_083B6DB4 +_0809B1F4: .4byte gPokemonStorageSystemPtr _0809B1F8: .4byte 0x000012a8 _0809B1FC: cmp r0, 0x2 @@ -8604,7 +8236,7 @@ _0809B246: thumb_func_start sub_809B24C sub_809B24C: @ 809B24C push {r4,r5,lr} - ldr r0, _0809B268 @ =gUnknown_083B6DB4 + ldr r0, _0809B268 @ =gPokemonStorageSystemPtr ldr r4, [r0] ldr r0, _0809B26C @ =0x000012a8 adds r5, r4, r0 @@ -8617,7 +8249,7 @@ sub_809B24C: @ 809B24C beq _0809B276 b _0809B31C .align 2, 0 -_0809B268: .4byte gUnknown_083B6DB4 +_0809B268: .4byte gPokemonStorageSystemPtr _0809B26C: .4byte 0x000012a8 _0809B270: cmp r0, 0x2 @@ -8645,7 +8277,7 @@ _0809B298: adds r1, r4, r2 _0809B2A0: strb r0, [r1] - ldr r0, _0809B2D4 @ =gUnknown_083B6DB4 + ldr r0, _0809B2D4 @ =gPokemonStorageSystemPtr ldr r4, [r0] movs r1, 0x8E lsls r1, 5 @@ -8667,7 +8299,7 @@ _0809B2A0: b _0809B31C .align 2, 0 _0809B2D0: .4byte 0x000012a9 -_0809B2D4: .4byte gUnknown_083B6DB4 +_0809B2D4: .4byte gPokemonStorageSystemPtr _0809B2D8: .4byte gUnknown_020384E5 _0809B2DC: .4byte 0x000012a8 _0809B2E0: @@ -8708,7 +8340,7 @@ _0809B31E: thumb_func_start sub_809B324 sub_809B324: @ 809B324 push {lr} - ldr r0, _0809B348 @ =gUnknown_083B6DB4 + ldr r0, _0809B348 @ =gPokemonStorageSystemPtr ldr r0, [r0] movs r1, 0x8E lsls r1, 5 @@ -8726,7 +8358,7 @@ _0809B33E: strh r0, [r1, 0x26] b _0809B350 .align 2, 0 -_0809B348: .4byte gUnknown_083B6DB4 +_0809B348: .4byte gPokemonStorageSystemPtr _0809B34C: movs r0, 0 b _0809B352 @@ -8740,7 +8372,7 @@ _0809B352: thumb_func_start sub_809B358 sub_809B358: @ 809B358 push {lr} - ldr r0, _0809B378 @ =gUnknown_083B6DB4 + ldr r0, _0809B378 @ =gPokemonStorageSystemPtr ldr r0, [r0] movs r1, 0x8E lsls r1, 5 @@ -8756,7 +8388,7 @@ sub_809B358: @ 809B358 movs r0, 0x1 b _0809B37E .align 2, 0 -_0809B378: .4byte gUnknown_083B6DB4 +_0809B378: .4byte gPokemonStorageSystemPtr _0809B37C: movs r0, 0 _0809B37E: @@ -8873,7 +8505,7 @@ sub_809B44C: @ 809B44C lsrs r5, r1, 24 cmp r4, 0xE bne _0809B488 - ldr r0, _0809B478 @ =gUnknown_083B6DB4 + ldr r0, _0809B478 @ =gPokemonStorageSystemPtr ldr r0, [r0] ldr r1, _0809B47C @ =0x000025b4 adds r0, r1 @@ -8888,7 +8520,7 @@ sub_809B44C: @ 809B44C bl memcpy b _0809B4AA .align 2, 0 -_0809B478: .4byte gUnknown_083B6DB4 +_0809B478: .4byte gPokemonStorageSystemPtr _0809B47C: .4byte 0x000025b4 _0809B480: .4byte gPlayerParty _0809B484: .4byte gUnknown_020384E5 @@ -8904,7 +8536,7 @@ _0809B488: ldr r2, _0809B4C0 @ =gPokemonStorage + 0x4 adds r1, r2 adds r0, r1 - ldr r1, _0809B4C4 @ =gUnknown_083B6DB4 + ldr r1, _0809B4C4 @ =gPokemonStorageSystemPtr ldr r1, [r1] ldr r2, _0809B4C8 @ =0x000025b4 adds r1, r2 @@ -8922,7 +8554,7 @@ _0809B4AA: bx r0 .align 2, 0 _0809B4C0: .4byte gPokemonStorage + 0x4 -_0809B4C4: .4byte gUnknown_083B6DB4 +_0809B4C4: .4byte gPokemonStorageSystemPtr _0809B4C8: .4byte 0x000025b4 _0809B4CC: .4byte gUnknown_020384E7 _0809B4D0: .4byte gUnknown_020384E8 @@ -8941,7 +8573,7 @@ diegohint2: @ 809B4D4 movs r0, 0x64 muls r0, r5 adds r0, r1 - ldr r1, _0809B500 @ =gUnknown_083B6DB4 + ldr r1, _0809B500 @ =gPokemonStorageSystemPtr ldr r1, [r1] ldr r2, _0809B504 @ =0x000025b4 adds r1, r2 @@ -8950,10 +8582,10 @@ diegohint2: @ 809B4D4 b _0809B536 .align 2, 0 _0809B4FC: .4byte gPlayerParty -_0809B500: .4byte gUnknown_083B6DB4 +_0809B500: .4byte gPokemonStorageSystemPtr _0809B504: .4byte 0x000025b4 _0809B508: - ldr r0, _0809B53C @ =gUnknown_083B6DB4 + ldr r0, _0809B53C @ =gPokemonStorageSystemPtr ldr r4, [r0] ldr r0, _0809B540 @ =0x000025b4 adds r4, r0 @@ -8979,7 +8611,7 @@ _0809B536: pop {r0} bx r0 .align 2, 0 -_0809B53C: .4byte gUnknown_083B6DB4 +_0809B53C: .4byte gPokemonStorageSystemPtr _0809B540: .4byte 0x000025b4 _0809B544: .4byte gPokemonStorage thumb_func_end diegohint2 @@ -9030,7 +8662,7 @@ diegohint1: @ 809B58C lsrs r6, r1, 24 cmp r5, 0xE bne _0809B5C0 - ldr r0, _0809B5B4 @ =gUnknown_083B6DB4 + ldr r0, _0809B5B4 @ =gPokemonStorageSystemPtr ldr r0, [r0] ldr r1, _0809B5B8 @ =0x00002618 adds r0, r1 @@ -9042,7 +8674,7 @@ diegohint1: @ 809B58C bl memcpy b _0809B5E2 .align 2, 0 -_0809B5B4: .4byte gUnknown_083B6DB4 +_0809B5B4: .4byte gPokemonStorageSystemPtr _0809B5B8: .4byte 0x00002618 _0809B5BC: .4byte gPlayerParty _0809B5C0: @@ -9057,7 +8689,7 @@ _0809B5C0: ldr r2, _0809B614 @ =gPokemonStorage + 0x4 adds r1, r2 adds r0, r1 - ldr r1, _0809B618 @ =gUnknown_083B6DB4 + ldr r1, _0809B618 @ =gPokemonStorageSystemPtr ldr r1, [r1] ldr r2, _0809B61C @ =0x00002618 adds r1, r2 @@ -9066,7 +8698,7 @@ _0809B5E2: adds r0, r5, 0 adds r1, r6, 0 bl diegohint2 - ldr r0, _0809B618 @ =gUnknown_083B6DB4 + ldr r0, _0809B618 @ =gPokemonStorageSystemPtr ldr r1, [r0] ldr r0, _0809B620 @ =0x000025b4 adds r4, r1, r0 @@ -9087,7 +8719,7 @@ _0809B5E2: bx r0 .align 2, 0 _0809B614: .4byte gPokemonStorage + 0x4 -_0809B618: .4byte gUnknown_083B6DB4 +_0809B618: .4byte gPokemonStorageSystemPtr _0809B61C: .4byte 0x00002618 _0809B620: .4byte 0x000025b4 _0809B624: .4byte gUnknown_020384E7 @@ -9145,7 +8777,7 @@ _0809B686: lsrs r0, r4, 24 bl sub_8098D20 _0809B698: - ldr r0, _0809B6B8 @ =gUnknown_083B6DB4 + ldr r0, _0809B6B8 @ =gPokemonStorageSystemPtr ldr r0, [r0] movs r1, 0x8E lsls r1, 5 @@ -9160,13 +8792,13 @@ _0809B6AC: bx r1 .align 2, 0 _0809B6B4: .4byte gUnknown_020384E5 -_0809B6B8: .4byte gUnknown_083B6DB4 +_0809B6B8: .4byte gPokemonStorageSystemPtr thumb_func_end sub_809B62C thumb_func_start sub_809B6BC sub_809B6BC: @ 809B6BC push {lr} - ldr r0, _0809B6D8 @ =gUnknown_083B6DB4 + ldr r0, _0809B6D8 @ =gPokemonStorageSystemPtr ldr r0, [r0] movs r1, 0x8E lsls r1, 5 @@ -9178,7 +8810,7 @@ sub_809B6BC: @ 809B6BC pop {r0} bx r0 .align 2, 0 -_0809B6D8: .4byte gUnknown_083B6DB4 +_0809B6D8: .4byte gPokemonStorageSystemPtr thumb_func_end sub_809B6BC thumb_func_start sub_809B6DC @@ -9206,7 +8838,7 @@ _0809B700: ldrb r1, [r0] adds r0, r2, 0 bl sub_809981C - ldr r0, _0809B728 @ =gUnknown_083B6DB4 + ldr r0, _0809B728 @ =gPokemonStorageSystemPtr ldr r1, [r0] ldr r2, _0809B72C @ =0x000026e4 adds r0, r1, r2 @@ -9218,7 +8850,7 @@ _0809B700: .align 2, 0 _0809B720: .4byte gUnknown_020384E4 _0809B724: .4byte gUnknown_020384E5 -_0809B728: .4byte gUnknown_083B6DB4 +_0809B728: .4byte gPokemonStorageSystemPtr _0809B72C: .4byte 0x000026e4 _0809B730: .4byte 0x000011fa thumb_func_end sub_809B6DC @@ -9233,7 +8865,7 @@ sub_809B734: @ 809B734 movs r0, 0x1 b _0809B758 _0809B744: - ldr r0, _0809B75C @ =gUnknown_083B6DB4 + ldr r0, _0809B75C @ =gPokemonStorageSystemPtr ldr r0, [r0] movs r1, 0x8E lsls r1, 5 @@ -9246,7 +8878,7 @@ _0809B758: pop {r1} bx r1 .align 2, 0 -_0809B75C: .4byte gUnknown_083B6DB4 +_0809B75C: .4byte gPokemonStorageSystemPtr thumb_func_end sub_809B734 thumb_func_start sub_809B760 @@ -9297,7 +8929,7 @@ sub_809B7AC: @ 809B7AC ldrb r0, [r0] cmp r0, 0 beq _0809B7C8 - ldr r0, _0809B7D0 @ =gUnknown_083B6DB4 + ldr r0, _0809B7D0 @ =gPokemonStorageSystemPtr ldr r0, [r0] movs r1, 0x8E lsls r1, 5 @@ -9310,7 +8942,7 @@ _0809B7C8: bx r0 .align 2, 0 _0809B7CC: .4byte gUnknown_020384E6 -_0809B7D0: .4byte gUnknown_083B6DB4 +_0809B7D0: .4byte gPokemonStorageSystemPtr thumb_func_end sub_809B7AC thumb_func_start sub_809B7D4 @@ -9320,7 +8952,7 @@ sub_809B7D4: @ 809B7D4 ldrb r0, [r0] cmp r0, 0 beq _0809B81C - ldr r0, _0809B808 @ =gUnknown_083B6DB4 + ldr r0, _0809B808 @ =gPokemonStorageSystemPtr ldr r4, [r0] ldr r1, _0809B80C @ =0x00002618 adds r0, r4, r1 @@ -9340,7 +8972,7 @@ sub_809B7D4: @ 809B7D4 b _0809B8A6 .align 2, 0 _0809B804: .4byte gUnknown_020384E6 -_0809B808: .4byte gUnknown_083B6DB4 +_0809B808: .4byte gPokemonStorageSystemPtr _0809B80C: .4byte 0x00002618 _0809B810: .4byte 0x000025b4 _0809B814: .4byte 0x00002682 @@ -9352,7 +8984,7 @@ _0809B81C: asrs r0, 24 cmp r0, 0x1 bne _0809B864 - ldr r0, _0809B850 @ =gUnknown_083B6DB4 + ldr r0, _0809B850 @ =gPokemonStorageSystemPtr ldr r4, [r0] ldr r2, _0809B854 @ =0x00002618 adds r0, r4, r2 @@ -9371,7 +9003,7 @@ _0809B81C: b _0809B896 .align 2, 0 _0809B84C: .4byte gUnknown_020384E4 -_0809B850: .4byte gUnknown_083B6DB4 +_0809B850: .4byte gPokemonStorageSystemPtr _0809B854: .4byte 0x00002618 _0809B858: .4byte gPlayerParty _0809B85C: .4byte gUnknown_020384E5 @@ -9393,7 +9025,7 @@ _0809B864: adds r2, r5, 0x4 adds r1, r2 adds r0, r1 - ldr r1, _0809B904 @ =gUnknown_083B6DB4 + ldr r1, _0809B904 @ =gPokemonStorageSystemPtr ldr r4, [r1] ldr r2, _0809B908 @ =0x00002618 adds r1, r4, r2 @@ -9403,7 +9035,7 @@ _0809B864: adds r4, r1 _0809B896: strb r0, [r4] - ldr r0, _0809B904 @ =gUnknown_083B6DB4 + ldr r0, _0809B904 @ =gPokemonStorageSystemPtr ldr r0, [r0] ldr r1, _0809B900 @ =gUnknown_020384E5 ldrb r1, [r1] @@ -9411,7 +9043,7 @@ _0809B896: adds r0, r2 strb r1, [r0] _0809B8A6: - ldr r0, _0809B904 @ =gUnknown_083B6DB4 + ldr r0, _0809B904 @ =gPokemonStorageSystemPtr ldr r6, [r0] ldr r0, _0809B914 @ =0x0000267e adds r4, r6, r0 @@ -9456,7 +9088,7 @@ _0809B8A6: .align 2, 0 _0809B8FC: .4byte gPokemonStorage _0809B900: .4byte gUnknown_020384E5 -_0809B904: .4byte gUnknown_083B6DB4 +_0809B904: .4byte gPokemonStorageSystemPtr _0809B908: .4byte 0x00002618 _0809B90C: .4byte 0x00002682 _0809B910: .4byte 0x00002683 @@ -9476,7 +9108,7 @@ _0809B934: adds r0, r6, r2 strb r1, [r0] _0809B940: - ldr r0, _0809B958 @ =gUnknown_083B6DB4 + ldr r0, _0809B958 @ =gPokemonStorageSystemPtr ldr r0, [r0] ldr r1, _0809B95C @ =0x00002684 adds r0, r1 @@ -9487,7 +9119,7 @@ _0809B940: bx r0 .align 2, 0 _0809B954: .4byte 0x0000267d -_0809B958: .4byte gUnknown_083B6DB4 +_0809B958: .4byte gPokemonStorageSystemPtr _0809B95C: .4byte 0x00002684 thumb_func_end sub_809B7D4 @@ -9498,7 +9130,7 @@ sub_809B960: @ 809B960 mov r6, r9 mov r5, r8 push {r5-r7} - ldr r0, _0809B988 @ =gUnknown_083B6DB4 + ldr r0, _0809B988 @ =gPokemonStorageSystemPtr ldr r2, [r0] ldr r3, _0809B98C @ =0x0000267d adds r1, r2, r3 @@ -9513,7 +9145,7 @@ sub_809B960: @ 809B960 asrs r0, 24 b _0809BB5C .align 2, 0 -_0809B988: .4byte gUnknown_083B6DB4 +_0809B988: .4byte gPokemonStorageSystemPtr _0809B98C: .4byte 0x0000267d _0809B990: .4byte 0x0000267c _0809B994: @@ -9568,7 +9200,7 @@ _0809B9CC: _0809B9F0: movs r0, 0x2 ands r3, r0 - ldr r7, _0809BA3C @ =gUnknown_083B6DB4 + ldr r7, _0809BA3C @ =gPokemonStorageSystemPtr mov r12, r7 cmp r3, 0 beq _0809BA02 @@ -9600,7 +9232,7 @@ _0809BA2C: .4byte 0x00002683 _0809BA30: .4byte gPlayerParty _0809BA34: .4byte 0x00002686 _0809BA38: .4byte 0x0000267e -_0809BA3C: .4byte gUnknown_083B6DB4 +_0809BA3C: .4byte gPokemonStorageSystemPtr _0809BA40: .4byte 0x0000267f _0809BA44: .4byte 0x0000267d _0809BA48: .4byte 0x0000267c @@ -9708,7 +9340,7 @@ _0809BB00: strb r0, [r1] lsls r0, 24 asrs r0, 24 - ldr r7, _0809BB88 @ =gUnknown_083B6DB4 + ldr r7, _0809BB88 @ =gPokemonStorageSystemPtr mov r12, r7 cmp r0, 0x1D ble _0809BB32 @@ -9764,7 +9396,7 @@ _0809BB78: .4byte gPokemonStorage + 0x4 _0809BB7C: .4byte 0x00002686 _0809BB80: .4byte 0x00002682 _0809BB84: .4byte 0x0000267e -_0809BB88: .4byte gUnknown_083B6DB4 +_0809BB88: .4byte gPokemonStorageSystemPtr _0809BB8C: .4byte 0x0000267d thumb_func_end sub_809B960 @@ -9776,7 +9408,7 @@ sub_809BB90: @ 809BB90 cmp r0, 0 beq _0809BBAA ldr r0, _0809BBB4 @ =gUnknown_02038480 - ldr r1, _0809BBB8 @ =gUnknown_083B6DB4 + ldr r1, _0809BBB8 @ =gPokemonStorageSystemPtr ldr r1, [r1] ldr r2, _0809BBBC @ =0x000025b4 adds r1, r2 @@ -9788,7 +9420,7 @@ _0809BBAA: .align 2, 0 _0809BBB0: .4byte gUnknown_020384E6 _0809BBB4: .4byte gUnknown_02038480 -_0809BBB8: .4byte gUnknown_083B6DB4 +_0809BBB8: .4byte gPokemonStorageSystemPtr _0809BBBC: .4byte 0x000025b4 thumb_func_end sub_809BB90 @@ -9803,7 +9435,7 @@ sub_809BBC0: @ 809BBC0 ldrb r0, [r0] cmp r0, 0xE bne _0809BBF8 - ldr r0, _0809BBEC @ =gUnknown_083B6DB4 + ldr r0, _0809BBEC @ =gPokemonStorageSystemPtr ldr r0, [r0] ldr r1, _0809BBF0 @ =0x000025b4 adds r0, r1 @@ -9814,11 +9446,11 @@ sub_809BBC0: @ 809BBC0 .align 2, 0 _0809BBE4: .4byte gUnknown_020384E6 _0809BBE8: .4byte gUnknown_020384E7 -_0809BBEC: .4byte gUnknown_083B6DB4 +_0809BBEC: .4byte gPokemonStorageSystemPtr _0809BBF0: .4byte 0x000025b4 _0809BBF4: .4byte gUnknown_02038480 _0809BBF8: - ldr r0, _0809BC0C @ =gUnknown_083B6DB4 + ldr r0, _0809BC0C @ =gPokemonStorageSystemPtr ldr r0, [r0] ldr r1, _0809BC10 @ =0x000025b4 adds r0, r1 @@ -9829,7 +9461,7 @@ _0809BC08: pop {r0} bx r0 .align 2, 0 -_0809BC0C: .4byte gUnknown_083B6DB4 +_0809BC0C: .4byte gPokemonStorageSystemPtr _0809BC10: .4byte 0x000025b4 _0809BC14: .4byte gUnknown_02038480 thumb_func_end sub_809BBC0 @@ -9842,7 +9474,7 @@ sub_809BC18: @ 809BC18 cmp r5, 0 beq _0809BC64 bl sub_809BB90 - ldr r0, _0809BC4C @ =gUnknown_083B6DB4 + ldr r0, _0809BC4C @ =gPokemonStorageSystemPtr ldr r2, [r0] ldr r0, _0809BC50 @ =0x00002690 adds r1, r2, r0 @@ -9861,7 +9493,7 @@ sub_809BC18: @ 809BC18 b _0809BCF2 .align 2, 0 _0809BC48: .4byte gUnknown_020384E6 -_0809BC4C: .4byte gUnknown_083B6DB4 +_0809BC4C: .4byte gPokemonStorageSystemPtr _0809BC50: .4byte 0x00002690 _0809BC54: .4byte gUnknown_02038480 _0809BC58: .4byte 0x0000268d @@ -9874,7 +9506,7 @@ _0809BC64: asrs r0, 24 cmp r0, 0x1 bne _0809BCBC - ldr r0, _0809BCA0 @ =gUnknown_083B6DB4 + ldr r0, _0809BCA0 @ =gPokemonStorageSystemPtr ldr r4, [r0] ldr r2, _0809BCA4 @ =0x00002690 adds r1, r4, r2 @@ -9896,7 +9528,7 @@ _0809BC64: b _0809BCF2 .align 2, 0 _0809BC9C: .4byte gUnknown_020384E4 -_0809BCA0: .4byte gUnknown_083B6DB4 +_0809BCA0: .4byte gPokemonStorageSystemPtr _0809BCA4: .4byte 0x00002690 _0809BCA8: .4byte gPlayerParty _0809BCAC: .4byte gUnknown_020384E5 @@ -9904,7 +9536,7 @@ _0809BCB0: .4byte 0x0000268d _0809BCB4: .4byte 0x0000268c _0809BCB8: .4byte 0x0000268e _0809BCBC: - ldr r0, _0809BCF8 @ =gUnknown_083B6DB4 + ldr r0, _0809BCF8 @ =gPokemonStorageSystemPtr ldr r3, [r0] ldr r0, _0809BCFC @ =0x00002690 adds r4, r3, r0 @@ -9936,7 +9568,7 @@ _0809BCF2: pop {r0} bx r0 .align 2, 0 -_0809BCF8: .4byte gUnknown_083B6DB4 +_0809BCF8: .4byte gPokemonStorageSystemPtr _0809BCFC: .4byte 0x00002690 _0809BD00: .4byte gPokemonStorage _0809BD04: .4byte gUnknown_020384E5 @@ -10060,7 +9692,7 @@ sub_809BDD8: @ 809BDD8 lsrs r0, 24 mov r1, sp strb r0, [r1] - ldr r1, _0809BE04 @ =gUnknown_083B6DB4 + ldr r1, _0809BE04 @ =gPokemonStorageSystemPtr ldr r2, [r1] ldr r3, _0809BE08 @ =0x000011f7 adds r1, r2, r3 @@ -10076,7 +9708,7 @@ sub_809BDD8: @ 809BDD8 bl SetMonData b _0809BE68 .align 2, 0 -_0809BE04: .4byte gUnknown_083B6DB4 +_0809BE04: .4byte gPokemonStorageSystemPtr _0809BE08: .4byte 0x000011f7 _0809BE0C: .4byte gUnknown_020384E6 _0809BE10: .4byte 0x000025b4 @@ -10184,7 +9816,7 @@ sub_809BEBC: @ 809BEBC lsls r0, 24 cmp r0, 0 bne _0809BEFC - ldr r0, _0809BF0C @ =gUnknown_083B6DB4 + ldr r0, _0809BF0C @ =gPokemonStorageSystemPtr ldr r1, [r0] ldr r2, _0809BF10 @ =0x000011f9 adds r0, r1, r2 @@ -10204,7 +9836,7 @@ _0809BEFC: _0809BF00: .4byte gUnknown_020384E6 _0809BF04: .4byte gUnknown_020384E4 _0809BF08: .4byte gUnknown_020384E5 -_0809BF0C: .4byte gUnknown_083B6DB4 +_0809BF0C: .4byte gPokemonStorageSystemPtr _0809BF10: .4byte 0x000011f9 _0809BF14: .4byte 0x000025b4 _0809BF18: @@ -10271,7 +9903,7 @@ _0809BF70: .4byte gUnknown_020384E5 thumb_func_start sub_809BF74 sub_809BF74: @ 809BF74 push {r4,lr} - ldr r0, _0809BFA8 @ =gUnknown_083B6DB4 + ldr r0, _0809BFA8 @ =gPokemonStorageSystemPtr ldr r1, [r0] movs r2, 0 ldr r3, _0809BFAC @ =gUnknown_020384E6 @@ -10298,7 +9930,7 @@ _0809BF86: beq _0809BFEE b _0809C018 .align 2, 0 -_0809BFA8: .4byte gUnknown_083B6DB4 +_0809BFA8: .4byte gPokemonStorageSystemPtr _0809BFAC: .4byte gUnknown_020384E6 _0809BFB0: .4byte 0x000011f6 _0809BFB4: .4byte gUnknown_020384E4 @@ -10391,7 +10023,7 @@ sub_809C04C: @ 809C04C lsrs r1, 24 movs r0, 0 str r0, [sp] - ldr r0, _0809C0FC @ =gUnknown_083B6DB4 + ldr r0, _0809C0FC @ =gPokemonStorageSystemPtr ldr r6, [r0] ldr r2, _0809C100 @ =0x000011f2 adds r2, r6 @@ -10459,7 +10091,7 @@ _0809C08C: bl GetMonData b _0809C1B2 .align 2, 0 -_0809C0FC: .4byte gUnknown_083B6DB4 +_0809C0FC: .4byte gPokemonStorageSystemPtr _0809C100: .4byte 0x000011f2 _0809C104: .4byte 0x000011f0 _0809C108: .4byte 0x000011f9 @@ -10550,7 +10182,7 @@ _0809C1D4: ldrh r1, [r1] strh r1, [r0] _0809C1DE: - ldr r0, _0809C224 @ =gUnknown_083B6DB4 + ldr r0, _0809C224 @ =gPokemonStorageSystemPtr ldr r4, [r0] ldr r2, _0809C220 @ =0x000011f0 adds r0, r4, r2 @@ -10558,7 +10190,7 @@ _0809C1DE: cmp r1, 0 bne _0809C23C _0809C1EC: - ldr r0, _0809C224 @ =gUnknown_083B6DB4 + ldr r0, _0809C224 @ =gPokemonStorageSystemPtr ldr r1, [r0] ldr r0, _0809C228 @ =0x000011fa adds r2, r1, r0 @@ -10585,7 +10217,7 @@ _0809C1EC: b _0809C43E .align 2, 0 _0809C220: .4byte 0x000011f0 -_0809C224: .4byte gUnknown_083B6DB4 +_0809C224: .4byte gPokemonStorageSystemPtr _0809C228: .4byte 0x000011fa _0809C22C: .4byte 0x0000120f _0809C230: .4byte 0x00001234 @@ -10646,7 +10278,7 @@ _0809C2AC: movs r1, 0xFF str r1, [sp] _0809C2B0: - ldr r0, _0809C388 @ =gUnknown_083B6DB4 + ldr r0, _0809C388 @ =gPokemonStorageSystemPtr ldr r4, [r0] ldr r2, _0809C38C @ =0x0000120f adds r7, r4, r2 @@ -10751,7 +10383,7 @@ _0809C2B0: beq _0809C3D0 b _0809C3EA .align 2, 0 -_0809C388: .4byte gUnknown_083B6DB4 +_0809C388: .4byte gPokemonStorageSystemPtr _0809C38C: .4byte 0x0000120f _0809C390: .4byte 0x00001214 _0809C394: .4byte 0x000011fa @@ -10794,7 +10426,7 @@ _0809C3E6: _0809C3EA: movs r5, 0xFF strb r5, [r7] - ldr r0, _0809C450 @ =gUnknown_083B6DB4 + ldr r0, _0809C450 @ =gPokemonStorageSystemPtr ldr r2, [r0] ldr r1, _0809C454 @ =0x0000127a adds r7, r2, r1 @@ -10843,7 +10475,7 @@ _0809C43E: pop {r0} bx r0 .align 2, 0 -_0809C450: .4byte gUnknown_083B6DB4 +_0809C450: .4byte gPokemonStorageSystemPtr _0809C454: .4byte 0x0000127a _0809C458: .4byte 0x000011f2 _0809C45C: .4byte 0x0000127f @@ -10861,7 +10493,7 @@ sub_809C464: @ 809C464 mov r8, r0 ldr r2, _0809C4DC @ =gUnknown_020384E5 ldrb r4, [r2] - ldr r0, _0809C4E0 @ =gUnknown_083B6DB4 + ldr r0, _0809C4E0 @ =gPokemonStorageSystemPtr ldr r1, [r0] ldr r0, _0809C4E4 @ =0x000011de adds r7, r1, r0 @@ -10914,7 +10546,7 @@ _0809C4BE: .align 2, 0 _0809C4D8: .4byte gUnknown_020384E4 _0809C4DC: .4byte gUnknown_020384E5 -_0809C4E0: .4byte gUnknown_083B6DB4 +_0809C4E0: .4byte gPokemonStorageSystemPtr _0809C4E4: .4byte 0x000011de _0809C4E8: .4byte 0x000011df _0809C4EC: .4byte gMain @@ -11132,7 +10764,7 @@ sub_809C664: @ 809C664 mov r10, r0 ldr r7, _0809C6DC @ =gUnknown_020384E5 ldrb r4, [r7] - ldr r2, _0809C6E0 @ =gUnknown_083B6DB4 + ldr r2, _0809C6E0 @ =gPokemonStorageSystemPtr ldr r5, [r2] ldr r1, _0809C6E4 @ =0x000011df adds r0, r5, r1 @@ -11185,7 +10817,7 @@ _0809C6D0: .align 2, 0 _0809C6D8: .4byte gUnknown_020384E4 _0809C6DC: .4byte gUnknown_020384E5 -_0809C6E0: .4byte gUnknown_083B6DB4 +_0809C6E0: .4byte gPokemonStorageSystemPtr _0809C6E4: .4byte 0x000011df _0809C6E8: .4byte 0x000011de _0809C6EC: .4byte gMain @@ -11313,7 +10945,7 @@ _0809C7D0: ands r0, r1 cmp r0, 0 beq _0809C7F8 - ldr r0, _0809C7F0 @ =gUnknown_083B6DB4 + ldr r0, _0809C7F0 @ =gPokemonStorageSystemPtr ldr r0, [r0] ldrb r0, [r0, 0x5] cmp r0, 0x1 @@ -11322,7 +10954,7 @@ _0809C7D0: b _0809C84C .align 2, 0 _0809C7EC: .4byte gMain -_0809C7F0: .4byte gUnknown_083B6DB4 +_0809C7F0: .4byte gPokemonStorageSystemPtr _0809C7F4: movs r3, 0x1 mov r9, r3 @@ -11386,7 +11018,7 @@ _0809C84C: thumb_func_start sub_809C85C sub_809C85C: @ 809C85C push {r4-r6,lr} - ldr r0, _0809C894 @ =gUnknown_083B6DB4 + ldr r0, _0809C894 @ =gPokemonStorageSystemPtr ldr r2, [r0] ldr r1, _0809C898 @ =0x000011df adds r0, r2, r1 @@ -11413,7 +11045,7 @@ sub_809C85C: @ 809C85C movs r5, 0x2 b _0809C922 .align 2, 0 -_0809C894: .4byte gUnknown_083B6DB4 +_0809C894: .4byte gPokemonStorageSystemPtr _0809C898: .4byte 0x000011df _0809C89C: .4byte 0x000011de _0809C8A0: .4byte 0x000011e3 @@ -11514,7 +11146,7 @@ sub_809C944: @ 809C944 mov r12, r0 ldr r7, _0809C98C @ =gUnknown_020384E5 ldrb r3, [r7] - ldr r0, _0809C990 @ =gUnknown_083B6DB4 + ldr r0, _0809C990 @ =gPokemonStorageSystemPtr ldr r1, [r0] ldr r0, _0809C994 @ =0x000011df adds r5, r1, r0 @@ -11544,7 +11176,7 @@ sub_809C944: @ 809C944 .align 2, 0 _0809C988: .4byte gUnknown_020384E4 _0809C98C: .4byte gUnknown_020384E5 -_0809C990: .4byte gUnknown_083B6DB4 +_0809C990: .4byte gPokemonStorageSystemPtr _0809C994: .4byte 0x000011df _0809C998: .4byte 0x000011de _0809C99C: .4byte gMain @@ -11706,7 +11338,7 @@ sub_809CAB0: @ 809CAB0 bl sub_809AB8C lsls r0, 16 lsrs r1, r0, 16 - ldr r0, _0809CAD4 @ =gUnknown_083B6DB4 + ldr r0, _0809CAD4 @ =gPokemonStorageSystemPtr ldr r0, [r0] ldrb r0, [r0, 0x5] cmp r0, 0x1 @@ -11717,7 +11349,7 @@ sub_809CAB0: @ 809CAB0 beq _0809CAEA b _0809CB24 .align 2, 0 -_0809CAD4: .4byte gUnknown_083B6DB4 +_0809CAD4: .4byte gPokemonStorageSystemPtr _0809CAD8: cmp r0, 0x2 beq _0809CAF6 @@ -11762,7 +11394,7 @@ _0809CB24: _0809CB28: movs r0, 0x6 bl sub_809CDEC - ldr r0, _0809CB4C @ =gUnknown_083B6DB4 + ldr r0, _0809CB4C @ =gPokemonStorageSystemPtr ldr r0, [r0] ldrb r0, [r0, 0x5] cmp r0, 0x2 @@ -11777,7 +11409,7 @@ _0809CB28: bl sub_809CDEC b _0809CB5A .align 2, 0 -_0809CB4C: .4byte gUnknown_083B6DB4 +_0809CB4C: .4byte gPokemonStorageSystemPtr _0809CB50: .4byte gUnknown_020384E4 _0809CB54: movs r0, 0x1 @@ -11797,7 +11429,7 @@ _0809CB6E: thumb_func_start sub_809CB74 sub_809CB74: @ 809CB74 - ldr r1, _0809CB90 @ =gUnknown_083B6DB4 + ldr r1, _0809CB90 @ =gPokemonStorageSystemPtr ldr r1, [r1] movs r2, 0x8E lsls r2, 5 @@ -11811,7 +11443,7 @@ sub_809CB74: @ 809CB74 strh r1, [r0, 0x22] bx lr .align 2, 0 -_0809CB90: .4byte gUnknown_083B6DB4 +_0809CB90: .4byte gPokemonStorageSystemPtr thumb_func_end sub_809CB74 thumb_func_start unref_sub_809CB94 @@ -11893,7 +11525,7 @@ sub_809CC04: @ 809CC04 bl LoadSpritePalettes ldr r0, _0809CCB8 @ =0x0000dac6 bl IndexOfSpritePaletteTag - ldr r1, _0809CCBC @ =gUnknown_083B6DB4 + ldr r1, _0809CCBC @ =gPokemonStorageSystemPtr ldr r6, [r1] ldr r4, _0809CCC0 @ =0x000011e4 adds r7, r6, r4 @@ -11955,7 +11587,7 @@ sub_809CC04: @ 809CC04 _0809CCB0: .4byte gHandCursorSpriteSheets _0809CCB4: .4byte gHandCursorSpritePalettes _0809CCB8: .4byte 0x0000dac6 -_0809CCBC: .4byte gUnknown_083B6DB4 +_0809CCBC: .4byte gPokemonStorageSystemPtr _0809CCC0: .4byte 0x000011e4 _0809CCC4: .4byte 0x0000dad1 _0809CCC8: .4byte 0x000011e5 @@ -11995,7 +11627,7 @@ _0809CD08: lsrs r2, r0, 24 cmp r2, 0x40 beq _0809CD6C - ldr r0, _0809CD5C @ =gUnknown_083B6DB4 + ldr r0, _0809CD5C @ =gPokemonStorageSystemPtr ldr r0, [r0] ldr r1, _0809CD60 @ =0x000011c4 adds r4, r0, r1 @@ -12027,12 +11659,12 @@ _0809CD08: b _0809CD78 .align 2, 0 _0809CD58: .4byte gSpriteTemplate_83BBC88 -_0809CD5C: .4byte gUnknown_083B6DB4 +_0809CD5C: .4byte gPokemonStorageSystemPtr _0809CD60: .4byte 0x000011c4 _0809CD64: .4byte gSprites _0809CD68: .4byte gUnknown_020384E4 _0809CD6C: - ldr r0, _0809CD80 @ =gUnknown_083B6DB4 + ldr r0, _0809CD80 @ =gPokemonStorageSystemPtr ldr r0, [r0] ldr r2, _0809CD84 @ =0x000011c4 adds r0, r2 @@ -12044,7 +11676,7 @@ _0809CD78: pop {r0} bx r0 .align 2, 0 -_0809CD80: .4byte gUnknown_083B6DB4 +_0809CD80: .4byte gPokemonStorageSystemPtr _0809CD84: .4byte 0x000011c4 thumb_func_end sub_809CC04 @@ -12059,7 +11691,7 @@ sub_809CD88: @ 809CD88 movs r1, 0x1 _0809CD96: strb r1, [r2] - ldr r0, _0809CDC4 @ =gUnknown_083B6DB4 + ldr r0, _0809CDC4 @ =gPokemonStorageSystemPtr ldr r0, [r0] movs r3, 0x8E lsls r3, 5 @@ -12080,13 +11712,13 @@ _0809CD96: bx r0 .align 2, 0 _0809CDC0: .4byte gUnknown_020384E9 -_0809CDC4: .4byte gUnknown_083B6DB4 +_0809CDC4: .4byte gPokemonStorageSystemPtr _0809CDC8: .4byte 0x000011e4 thumb_func_end sub_809CD88 thumb_func_start sub_809CDCC sub_809CDCC: @ 809CDCC - ldr r0, _0809CDE0 @ =gUnknown_083B6DB4 + ldr r0, _0809CDE0 @ =gPokemonStorageSystemPtr ldr r0, [r0] ldr r2, _0809CDE4 @ =0x000011b8 adds r1, r0, r2 @@ -12097,7 +11729,7 @@ sub_809CDCC: @ 809CDCC strb r2, [r0] bx lr .align 2, 0 -_0809CDE0: .4byte gUnknown_083B6DB4 +_0809CDE0: .4byte gPokemonStorageSystemPtr _0809CDE4: .4byte 0x000011b8 _0809CDE8: .4byte 0x000011b9 thumb_func_end sub_809CDCC @@ -12107,7 +11739,7 @@ sub_809CDEC: @ 809CDEC push {r4,r5,lr} lsls r0, 24 lsrs r3, r0, 24 - ldr r0, _0809CE3C @ =gUnknown_083B6DB4 + ldr r0, _0809CE3C @ =gPokemonStorageSystemPtr ldr r5, [r0] ldr r0, _0809CE40 @ =0x000011b8 adds r4, r5, r0 @@ -12146,7 +11778,7 @@ _0809CE36: pop {r0} bx r0 .align 2, 0 -_0809CE3C: .4byte gUnknown_083B6DB4 +_0809CE3C: .4byte gPokemonStorageSystemPtr _0809CE40: .4byte 0x000011b8 _0809CE44: .4byte gUnknown_083BBCA0 _0809CE48: .4byte 0x000011b9 @@ -12157,7 +11789,7 @@ sub_809CE4C: @ 809CE4C push {lr} lsls r0, 24 lsrs r2, r0, 24 - ldr r0, _0809CE70 @ =gUnknown_083B6DB4 + ldr r0, _0809CE70 @ =gPokemonStorageSystemPtr ldr r1, [r0] ldr r3, _0809CE74 @ =0x000011b8 adds r0, r1, r3 @@ -12172,7 +11804,7 @@ sub_809CE4C: @ 809CE4C ldrsb r0, [r1, r0] b _0809CE80 .align 2, 0 -_0809CE70: .4byte gUnknown_083B6DB4 +_0809CE70: .4byte gPokemonStorageSystemPtr _0809CE74: .4byte 0x000011b8 _0809CE78: .4byte 0x00001184 _0809CE7C: @@ -12191,7 +11823,7 @@ sub_809CE84: @ 809CE84 mov r4, r8 push {r4-r6} sub sp, 0x8 - ldr r0, _0809CF20 @ =gUnknown_083B6DB4 + ldr r0, _0809CF20 @ =gPokemonStorageSystemPtr ldr r4, [r0] ldr r0, _0809CF24 @ =0x000011b8 adds r0, r4 @@ -12261,7 +11893,7 @@ sub_809CE84: @ 809CE84 pop {r0} bx r0 .align 2, 0 -_0809CF20: .4byte gUnknown_083B6DB4 +_0809CF20: .4byte gPokemonStorageSystemPtr _0809CF24: .4byte 0x000011b8 _0809CF28: .4byte 0x000011bc _0809CF2C: .4byte 0x000011b9 @@ -12319,7 +11951,7 @@ _0809CF8E: cmp r5, r0 beq _0809CFB2 bl HandleDestroyMenuCursors - ldr r0, _0809CFD0 @ =gUnknown_083B6DB4 + ldr r0, _0809CFD0 @ =gPokemonStorageSystemPtr ldr r1, [r0] ldr r2, _0809CFD4 @ =0x000011ba adds r0, r1, r2 @@ -12333,7 +11965,7 @@ _0809CF8E: _0809CFB2: cmp r5, 0 blt _0809CFC4 - ldr r0, _0809CFD0 @ =gUnknown_083B6DB4 + ldr r0, _0809CFD0 @ =gPokemonStorageSystemPtr ldr r0, [r0] lsls r1, r5, 3 ldr r2, _0809CFD8 @ =0x00001184 @@ -12347,7 +11979,7 @@ _0809CFC4: pop {r1} bx r1 .align 2, 0 -_0809CFD0: .4byte gUnknown_083B6DB4 +_0809CFD0: .4byte gPokemonStorageSystemPtr _0809CFD4: .4byte 0x000011ba _0809CFD8: .4byte 0x00001184 thumb_func_end sub_809CF30 diff --git a/data/pokemon_storage_system.s b/data/pokemon_storage_system.s index 6bdb0edd0..b9b18e707 100644 --- a/data/pokemon_storage_system.s +++ b/data/pokemon_storage_system.s @@ -70,7 +70,7 @@ gUnknown_083B6D94:: @ 83B6D94 .incbin "graphics/pokemon_storage/83B6D94.gbapal" .align 2 -gUnknown_083B6DB4:: @ 83B6DB4 +gPokemonStorageSystemPtr:: @ 83B6DB4 .4byte gSharedMem .align 2 diff --git a/src/pokemon/pokemon_storage_system.c b/src/pokemon/pokemon_storage_system.c index d6119476c..b0a317cd9 100644 --- a/src/pokemon/pokemon_storage_system.c +++ b/src/pokemon/pokemon_storage_system.c @@ -5,6 +5,7 @@ #include "field_weather.h" #include "mon_markings.h" #include "overworld.h" +#include "mail_data.h" #include "field_fadetransition.h" #include "menu.h" #include "main.h" @@ -56,9 +57,14 @@ struct PokemonStorageSystemData { u16 unk_000a; struct PCScreenEffectStruct unk_000c; struct UnkStruct_2000020 unk_0020[274]; // refine size later - u8 filler_08b0[4]; + u8 filler_08b0[2]; + s16 unk_08b2; u16 unk_08b4; - u8 filler_08b6[0xa06]; + u8 filler_08b6[0x93c]; + u16 unk_11f2; + u8 filler_11f4[2]; + u8 unk_11f6; + u8 filler_11f7[0xc5]; struct PokemonMarkMenu unk_12bc; struct UnkPSSStruct_2002370 unk_2370; u8 filler_25b4[0xd8]; @@ -80,23 +86,48 @@ void task_intro_29(u8 whichMenu); void sub_8096884(void); void sub_8096AFC(void); void sub_8096B38(void); -void sub_8096BE0(void (*func)(void)); +void SetPSSCallback(void (*func)(void)); void sub_8096BF0(void); void sub_8096C68(void); void sub_8096C84(void); +void sub_8097004(void); +void sub_8097078(void); +void sub_80972A8(void); +void sub_80972FC(void); +void c3_0808DC50(void); +void sub_8097390(void); +void sub_809746C(void); +void sub_809789C(void); +void sub_8097BA0(void); +void sub_8097CC0(void); +void BoxSetMosaic(void); +void sub_80986E8(void); +void sub_8098710(void); +void sub_8098A5C(void); +void sub_809B440(void); +void sub_8096FC8(void); void sub_8097DE0(void); void sub_8097E44(void); void sub_8097E70(void); void sub_8098400(void); void sub_8098734(void); -void sub_8099BF8(u8 a0); +void sub_8098898(u8 index); void sub_8098B48(void); +void sub_8099BF8(u8 a0); +void sub_8099C70(u8 whichBox); +bool8 sub_8099D34(void); struct Sprite *sub_809A9A0(u16 a0, u16 a1, u8 a2, u8 a3, u8 a4); void sub_809AA24(void); void sub_809AA98(void); +bool8 sub_809AC00(void); void sub_809B0D4(void); void sub_809BBC0(void); void sub_809BD14(void); +bool8 sub_809BE80(void); +bool8 sub_809BEBC(void); +bool8 sub_809BF20(void); +bool8 sub_809BF48(void); +u8 sub_809CA40(void); void sub_809CFDC(struct UnkStruct_2000020 *a0, struct UnkStruct_2000020 *a1, u8 a2); void sub_809CFF0(void); @@ -150,7 +181,7 @@ const u8 gBoxSelectionPopupCenterTiles[] = INCBIN_U8("graphics/pokemon_storage/b const u8 gBoxSelectionPopupSidesTiles[] = INCBIN_U8("graphics/pokemon_storage/box_selection_popup_sides.4bpp"); extern const struct StorageAction gUnknown_083B6DF4[]; -extern const struct PokemonStorageSystemData *gUnknown_083B6DB4; +extern const struct PokemonStorageSystemData *gPokemonStorageSystemPtr; extern u8 *const gUnknown_083B6DB8; EWRAM_DATA struct PokemonStorage gPokemonStorage = {0}; @@ -571,7 +602,7 @@ void StorageSystemCreatePrimaryMenu(u8 whichMenu) void sub_80961A8(void) { - gUnknown_02038474 = gUnknown_083B6DB4->unk_0005; + gUnknown_02038474 = gPokemonStorageSystemPtr->unk_0005; gFieldCallback = sub_8096130; SetMainCallback2(c2_exit_to_overworld_2_switch); } @@ -899,7 +930,7 @@ void sub_8096884(void) break; case 9: sub_8096874(); - sub_8096BE0(sub_8096BF0); + SetPSSCallback(sub_8096BF0); SetMainCallback2(sub_8096B38); SetVBlankCallback(sub_8096AFC); gMain.state++; @@ -967,7 +998,7 @@ void sub_80969A0(void) break; case 10: sub_8096874(); - sub_8096BE0(sub_8096C68); + SetPSSCallback(sub_8096C68); SetMainCallback2(sub_8096B38); gMain.state++; break; @@ -1007,7 +1038,7 @@ void sub_8096B5C(void) } } -void sub_8096BE0(void (*func)(void)) +void SetPSSCallback(void (*func)(void)) { ePokemonStorageSystem.unk_0000 = func; ePokemonStorageSystem.unk_0004 = 0; @@ -1033,7 +1064,7 @@ void sub_8096BF0(void) break; case 2: if (sub_80C5DCC()) - sub_8096BE0(sub_8096C84); + SetPSSCallback(sub_8096C84); break; } } @@ -1041,7 +1072,174 @@ void sub_8096BF0(void) void sub_8096C68(void) { if (!UpdatePaletteFade()) - sub_8096BE0(sub_8096C84); + SetPSSCallback(sub_8096C84); +} + +void sub_8096C84(void) +{ + switch (ePokemonStorageSystem.unk_0004) + { + case 0: + switch (sub_809CA40()) + { + case 1: + PlaySE(SE_SELECT); + ePokemonStorageSystem.unk_0004 = 1; + break; + case 5: + if (ePokemonStorageSystem.unk_0005 != 2) + { + sub_8098898(16); + ePokemonStorageSystem.unk_0004 = 3; + } + else + { + sub_809B0D4(); + SetPSSCallback(sub_8096FC8); + } + break; + case 6: + if (ePokemonStorageSystem.unk_0005 == 2) + { + if (sub_809BF20() && ItemIsMail(ePokemonStorageSystem.unk_11f2)) + { + ePokemonStorageSystem.unk_0004 = 5; + } + else + { + SetPSSCallback(sub_8097004); + } + } + break; + case 4: + SetPSSCallback(sub_8097BA0); + break; + case 16: + SetPSSCallback(sub_8097CC0); + break; + case 7: + PlaySE(SE_SELECT); + SetPSSCallback(sub_809789C); + break; + case 8: + PlaySE(SE_SELECT); + SetPSSCallback(sub_8097078); + break; + case 9: + PlaySE(SE_SELECT); + ePokemonStorageSystem.unk_08b2 = gPokemonStorage.currentBox + 1; + if (ePokemonStorageSystem.unk_08b2 > 13) + ePokemonStorageSystem.unk_08b2 = 0; + sub_8099C70(ePokemonStorageSystem.unk_08b2); + ePokemonStorageSystem.unk_0004 = 2; + break; + case 10: + PlaySE(SE_SELECT); + ePokemonStorageSystem.unk_08b2 = gPokemonStorage.currentBox - 1; + if (ePokemonStorageSystem.unk_08b2 < 0) + ePokemonStorageSystem.unk_08b2 = 13; + sub_8099C70(ePokemonStorageSystem.unk_08b2); + ePokemonStorageSystem.unk_0004 = 2; + break; + case 11: + if (!sub_809BE80()) + { + if (ItemIsMail(ePokemonStorageSystem.unk_11f2)) + { + ePokemonStorageSystem.unk_0004 = 5; + } + else + { + PlaySE(SE_SELECT); + SetPSSCallback(sub_809746C); + } + } + else + { + ePokemonStorageSystem.unk_0004 = 4; + } + break; + case 13: + if (sub_809BE80()) + { + ePokemonStorageSystem.unk_0004 = 4; + } + else + { + PlaySE(SE_SELECT); + SetPSSCallback(sub_80972A8); + } + break; + case 14: + if (!sub_809BEBC()) + { + ePokemonStorageSystem.unk_0004 = 4; + } + else + { + PlaySE(SE_SELECT); + SetPSSCallback(c3_0808DC50); + } + break; + case 12: + PlaySE(SE_SELECT); + SetPSSCallback(sub_8097390); + break; + case 15: + PlaySE(SE_SELECT); + SetPSSCallback(sub_80972FC); + break; + } + break; + case 1: + if (!sub_809AC00()) + { + if (sub_809BF48()) + sub_80986E8(); + else + sub_8098710(); + if (ePokemonStorageSystem.unk_11f6) + BoxSetMosaic(); + ePokemonStorageSystem.unk_0004 = 0; + } + break; + case 2: + if (!sub_8099D34()) + { + gPokemonStorage.currentBox = ePokemonStorageSystem.unk_08b2; + if (!gUnknown_0203847C && !sub_809BF20()) + { + sub_809B440(); + BoxSetMosaic(); + } + ePokemonStorageSystem.unk_0004 = 0; + } + break; + case 3: + if (gMain.newKeys & (A_BUTTON | B_BUTTON | DPAD_ANY)) + { + sub_8098A5C(); + ePokemonStorageSystem.unk_0004 = 0; + } + break; + case 4: + PlaySE(SE_HAZURE); + sub_8098898(13); + ePokemonStorageSystem.unk_0004 = 6; + break; + case 5: + PlaySE(SE_HAZURE); + sub_8098898(22); + ePokemonStorageSystem.unk_0004 = 6; + break; + case 6: + if (gMain.newKeys & (A_BUTTON | B_BUTTON | DPAD_ANY)) + { + sub_8098A5C(); + SetPSSCallback(sub_8096C84); + } + break; + } } asm(".section .text.8098898"); |