diff options
author | PikalaxALT <PikalaxALT@gmail.com> | 2020-03-13 20:53:22 -0400 |
---|---|---|
committer | PikalaxALT <PikalaxALT@gmail.com> | 2020-03-13 20:53:22 -0400 |
commit | 6753e18db06fc6636b768bfaae41a68ec8660abf (patch) | |
tree | 748fcd7b8a454e1b331ad3bf3cd8f2fcfed9999e /asm | |
parent | a89e8474fdb31e1e1b13a64be4109ce8603f81a3 (diff) |
through sub_8090FC4
Diffstat (limited to 'asm')
-rw-r--r-- | asm/pokemon_storage_system.s | 2293 |
1 files changed, 20 insertions, 2273 deletions
diff --git a/asm/pokemon_storage_system.s b/asm/pokemon_storage_system.s index 4c6f57d22..b789c20a8 100644 --- a/asm/pokemon_storage_system.s +++ b/asm/pokemon_storage_system.s @@ -5,2259 +5,6 @@ .text - thumb_func_start sub_808FF70 -sub_808FF70: @ 808FF70 - push {r4,lr} - ldr r4, _0808FFA0 @ =sLastUsedBox - bl StorageGetCurrentBox - ldrb r1, [r4] - lsls r0, 24 - lsrs r0, 24 - cmp r1, r0 - beq _0808FF9A - ldr r0, _0808FFA4 @ =0x00000843 - bl FlagClear - ldr r4, _0808FFA8 @ =0x00004037 - bl StorageGetCurrentBox - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl VarSet -_0808FF9A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0808FFA0: .4byte sLastUsedBox -_0808FFA4: .4byte 0x00000843 -_0808FFA8: .4byte 0x00004037 - thumb_func_end sub_808FF70 - - thumb_func_start sub_808FFAC -sub_808FFAC: @ 808FFAC - push {r4-r6,lr} - bl LoadMonIconPalettes - movs r2, 0 - ldr r3, _0809003C @ =sPSSData - ldr r5, _08090040 @ =0x00000b04 - movs r4, 0 - adds r6, r3, 0 -_0808FFBC: - ldr r0, [r3] - lsls r1, r2, 1 - adds r0, r5 - adds r0, r1 - strh r4, [r0] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0x27 - bls _0808FFBC - movs r2, 0 - ldr r5, _0809003C @ =sPSSData - ldr r4, _08090044 @ =0x00000b54 - movs r3, 0 -_0808FFD8: - ldr r0, [r5] - lsls r1, r2, 1 - adds r0, r4 - adds r0, r1 - strh r3, [r0] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0x27 - bls _0808FFD8 - movs r2, 0 - ldr r5, _0809003C @ =sPSSData - ldr r4, _08090048 @ =0x00000a6c - movs r3, 0 -_0808FFF4: - ldr r0, [r5] - lsls r1, r2, 2 - adds r0, r4 - adds r0, r1 - str r3, [r0] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0x5 - bls _0808FFF4 - movs r2, 0 - ldr r5, _0809003C @ =sPSSData - ldr r4, _0809004C @ =0x00000a84 - movs r3, 0 -_08090010: - ldr r0, [r5] - lsls r1, r2, 2 - adds r0, r4 - adds r0, r1 - str r3, [r0] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0x1D - bls _08090010 - ldr r0, [r6] - ldr r2, _08090050 @ =0x00000a68 - adds r1, r0, r2 - movs r2, 0 - str r2, [r1] - ldr r1, _08090054 @ =0x0000078c - adds r0, r1 - strh r2, [r0] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0809003C: .4byte sPSSData -_08090040: .4byte 0x00000b04 -_08090044: .4byte 0x00000b54 -_08090048: .4byte 0x00000a6c -_0809004C: .4byte 0x00000a84 -_08090050: .4byte 0x00000a68 -_08090054: .4byte 0x0000078c - thumb_func_end sub_808FFAC - - thumb_func_start sub_8090058 -sub_8090058: @ 8090058 - push {lr} - bl sub_80939F4 - lsls r0, 24 - movs r1, 0x1 - cmp r0, 0 - beq _08090068 - movs r1, 0x2 -_08090068: - adds r0, r1, 0 - pop {r1} - bx r1 - thumb_func_end sub_8090058 - - thumb_func_start sub_8090070 -sub_8090070: @ 8090070 - push {r4-r6,lr} - sub sp, 0x8 - ldr r5, _080900C4 @ =sPSSData - ldr r0, [r5] - ldr r4, _080900C8 @ =0x000020a0 - adds r0, r4 - movs r1, 0 - bl GetMonData - adds r6, r0, 0 - ldr r0, [r5] - adds r0, r4 - movs r1, 0x41 - bl GetMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - bl sub_8090058 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp] - movs r0, 0x7 - str r0, [sp, 0x4] - adds r0, r4, 0 - adds r1, r6, 0 - movs r2, 0 - movs r3, 0 - bl sub_80912E0 - ldr r1, [r5] - ldr r2, _080900CC @ =0x00000a68 - adds r1, r2 - str r0, [r1] - ldr r1, _080900D0 @ =sub_80911B0 - str r1, [r0, 0x1C] - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080900C4: .4byte sPSSData -_080900C8: .4byte 0x000020a0 -_080900CC: .4byte 0x00000a68 -_080900D0: .4byte sub_80911B0 - thumb_func_end sub_8090070 - - thumb_func_start sub_80900D4 -sub_80900D4: @ 80900D4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - movs r0, 0 - mov r8, r0 - movs r6, 0 - movs r7, 0 -_080900EE: - movs r5, 0 - adds r1, r7, 0x1 - mov r10, r1 -_080900F4: - mov r0, r9 - adds r1, r6, 0 - movs r2, 0x41 - bl GetBoxMonDataAt - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0 - beq _0809015C - mov r0, r9 - adds r1, r6, 0 - movs r2, 0 - bl GetBoxMonDataAt - adds r1, r0, 0 - lsls r2, r5, 1 - adds r2, r5 - lsls r2, 19 - movs r3, 0xC8 - lsls r3, 15 - adds r2, r3 - asrs r2, 16 - lsls r3, r7, 1 - adds r3, r7 - lsls r3, 19 - movs r0, 0xB0 - lsls r0, 14 - adds r3, r0 - movs r0, 0x2 - str r0, [sp] - movs r0, 0x13 - subs r0, r5 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x4] - adds r0, r4, 0 - asrs r3, 16 - bl sub_80912E0 - ldr r1, _08090154 @ =sPSSData - ldr r1, [r1] - mov r3, r8 - lsls r2, r3, 2 - ldr r3, _08090158 @ =0x00000a84 - adds r1, r3 - adds r1, r2 - str r0, [r1] - b _0809016C - .align 2, 0 -_08090154: .4byte sPSSData -_08090158: .4byte 0x00000a84 -_0809015C: - ldr r0, _080901E4 @ =sPSSData - ldr r0, [r0] - mov r2, r8 - lsls r1, r2, 2 - ldr r3, _080901E8 @ =0x00000a84 - adds r0, r3 - adds r0, r1 - str r4, [r0] -_0809016C: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - mov r0, r8 - adds r0, 0x1 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x5 - bls _080900F4 - mov r1, r10 - lsls r0, r1, 16 - lsrs r7, r0, 16 - cmp r7, 0x4 - bls _080900EE - ldr r0, _080901E4 @ =sPSSData - ldr r0, [r0] - ldrb r0, [r0, 0x1] - cmp r0, 0x3 - bne _080901D2 - movs r6, 0 - movs r2, 0xD - negs r2, r2 - adds r4, r2, 0 -_080901A2: - mov r0, r9 - adds r1, r6, 0 - movs r2, 0xC - bl GetBoxMonDataAt - cmp r0, 0 - bne _080901C8 - ldr r0, _080901E4 @ =sPSSData - ldr r0, [r0] - lsls r1, r6, 2 - ldr r3, _080901E8 @ =0x00000a84 - adds r0, r3 - adds r0, r1 - ldr r2, [r0] - ldrb r0, [r2, 0x1] - ands r0, r4 - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2, 0x1] -_080901C8: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x1D - bls _080901A2 -_080901D2: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080901E4: .4byte sPSSData -_080901E8: .4byte 0x00000a84 - thumb_func_end sub_80900D4 - - thumb_func_start sub_80901EC -sub_80901EC: @ 80901EC - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - lsls r0, 24 - lsrs r7, r0, 24 - adds r0, r7, 0 - movs r1, 0x41 - bl GetCurrentBoxMonData - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - cmp r0, 0 - beq _08090286 - adds r0, r7, 0 - movs r1, 0x6 - bl __umodsi3 - adds r6, r0, 0 - lsls r0, r6, 24 - lsrs r0, 24 - lsls r5, r0, 1 - adds r5, r0 - lsls r5, 19 - movs r0, 0xC8 - lsls r0, 15 - adds r5, r0 - lsrs r5, 16 - adds r0, r7, 0 - movs r1, 0x6 - bl __udivsi3 - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 1 - adds r4, r0 - lsls r4, 19 - movs r0, 0xB0 - lsls r0, 14 - adds r4, r0 - lsrs r4, 16 - adds r0, r7, 0 - movs r1, 0 - bl GetCurrentBoxMonData - adds r1, r0, 0 - movs r0, 0x2 - str r0, [sp] - movs r0, 0x13 - subs r0, r6 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x4] - mov r0, r8 - adds r2, r5, 0 - adds r3, r4, 0 - bl sub_80912E0 - adds r3, r0, 0 - ldr r0, _08090294 @ =sPSSData - ldr r2, [r0] - lsls r1, r7, 2 - ldr r4, _08090298 @ =0x00000a84 - adds r0, r2, r4 - adds r0, r1 - str r3, [r0] - ldrb r0, [r2, 0x1] - cmp r0, 0x3 - bne _08090286 - ldrb r0, [r3, 0x1] - movs r1, 0xD - negs r1, r1 - ands r1, r0 - movs r0, 0x4 - orrs r1, r0 - strb r1, [r3, 0x1] -_08090286: - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08090294: .4byte sPSSData -_08090298: .4byte 0x00000a84 - thumb_func_end sub_80901EC - - thumb_func_start sub_809029C -sub_809029C: @ 809029C - push {r4-r7,lr} - lsls r0, 16 - lsrs r3, r0, 16 - movs r2, 0 - ldr r7, _080902D4 @ =sPSSData - ldr r6, _080902D8 @ =0x00000a84 - movs r5, 0x1 - ldr r4, _080902DC @ =sub_8090324 -_080902AC: - ldr r0, [r7] - lsls r1, r2, 2 - adds r0, r6 - adds r1, r0, r1 - ldr r0, [r1] - cmp r0, 0 - beq _080902C4 - strh r3, [r0, 0x32] - ldr r0, [r1] - strh r5, [r0, 0x36] - ldr r0, [r1] - str r4, [r0, 0x1C] -_080902C4: - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0x1D - bls _080902AC - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080902D4: .4byte sPSSData -_080902D8: .4byte 0x00000a84 -_080902DC: .4byte sub_8090324 - thumb_func_end sub_809029C - - thumb_func_start sub_80902E0 -sub_80902E0: @ 80902E0 - push {lr} - adds r2, r0, 0 - ldrh r1, [r2, 0x30] - movs r3, 0x30 - ldrsh r0, [r2, r3] - cmp r0, 0 - beq _080902FC - subs r0, r1, 0x1 - strh r0, [r2, 0x30] - ldrh r0, [r2, 0x32] - ldrh r1, [r2, 0x20] - adds r0, r1 - strh r0, [r2, 0x20] - b _08090312 -_080902FC: - ldr r0, _08090318 @ =sPSSData - ldr r1, [r0] - ldr r3, _0809031C @ =0x00000c62 - adds r1, r3 - ldrh r0, [r1] - subs r0, 0x1 - strh r0, [r1] - ldrh r0, [r2, 0x34] - strh r0, [r2, 0x20] - ldr r0, _08090320 @ =SpriteCallbackDummy - str r0, [r2, 0x1C] -_08090312: - pop {r0} - bx r0 - .align 2, 0 -_08090318: .4byte sPSSData -_0809031C: .4byte 0x00000c62 -_08090320: .4byte SpriteCallbackDummy - thumb_func_end sub_80902E0 - - thumb_func_start sub_8090324 -sub_8090324: @ 8090324 - push {lr} - adds r2, r0, 0 - ldrh r1, [r2, 0x36] - movs r3, 0x36 - ldrsh r0, [r2, r3] - cmp r0, 0 - beq _08090338 - subs r0, r1, 0x1 - strh r0, [r2, 0x36] - b _08090354 -_08090338: - ldrh r0, [r2, 0x32] - ldrh r1, [r2, 0x20] - adds r0, r1 - strh r0, [r2, 0x20] - ldrh r1, [r2, 0x24] - adds r0, r1 - strh r0, [r2, 0x38] - subs r0, 0x45 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xB6 - bls _08090354 - ldr r0, _08090358 @ =SpriteCallbackDummy - str r0, [r2, 0x1C] -_08090354: - pop {r0} - bx r0 - .align 2, 0 -_08090358: .4byte SpriteCallbackDummy - thumb_func_end sub_8090324 - - thumb_func_start sub_809035C -sub_809035C: @ 809035C - push {r4-r7,lr} - lsls r0, 24 - lsrs r5, r0, 24 - movs r6, 0 - ldr r7, _0809039C @ =sPSSData -_08090366: - ldr r0, [r7] - lsls r4, r5, 2 - ldr r1, _080903A0 @ =0x00000a84 - adds r0, r1 - adds r0, r4 - ldr r0, [r0] - cmp r0, 0 - beq _08090386 - bl sub_80913C4 - ldr r0, [r7] - ldr r1, _080903A0 @ =0x00000a84 - adds r0, r1 - adds r0, r4 - movs r1, 0 - str r1, [r0] -_08090386: - adds r0, r5, 0x6 - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0x4 - bls _08090366 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0809039C: .4byte sPSSData -_080903A0: .4byte 0x00000a84 - thumb_func_end sub_809035C - - thumb_func_start sub_80903A4 -sub_80903A4: @ 80903A4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x1C - lsls r0, 24 - lsrs r0, 24 - lsls r1, 16 - lsrs r1, 16 - str r1, [sp, 0x8] - lsls r2, 16 - movs r1, 0x2C - mov r8, r1 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 19 - movs r3, 0xC8 - lsls r3, 15 - adds r1, r3 - lsrs r1, 16 - str r1, [sp, 0x10] - ldr r1, [sp, 0x8] - adds r1, 0x1 - lsrs r6, r2, 16 - str r6, [sp, 0xC] - asrs r2, 16 - muls r1, r2 - ldr r2, [sp, 0x10] - subs r1, r2, r1 - lsls r1, 16 - lsrs r2, r1, 16 - movs r1, 0x13 - subs r1, r0 - lsls r1, 24 - lsrs r1, 24 - str r1, [sp, 0x14] - movs r3, 0 - mov r9, r3 - adds r5, r0, 0 - ldr r1, _08090488 @ =sPSSData - ldr r0, [r1] - ldrb r0, [r0, 0x1] - cmp r0, 0x3 - beq _08090498 - movs r7, 0x4 - lsls r2, 16 - mov r10, r2 -_08090404: - ldr r6, _08090488 @ =sPSSData - ldr r2, [r6] - lsls r0, r5, 1 - ldr r3, _0809048C @ =0x00000ba4 - adds r1, r2, r3 - adds r1, r0 - ldrh r0, [r1] - cmp r0, 0 - beq _08090470 - lsls r4, r5, 2 - movs r6, 0xBE - lsls r6, 4 - adds r1, r2, r6 - adds r1, r4 - ldr r1, [r1] - mov r2, r8 - lsls r3, r2, 16 - asrs r3, 16 - movs r2, 0x2 - str r2, [sp] - ldr r6, [sp, 0x14] - str r6, [sp, 0x4] - mov r6, r10 - asrs r2, r6, 16 - bl sub_80912E0 - adds r2, r0, 0 - ldr r1, _08090488 @ =sPSSData - ldr r0, [r1] - ldr r3, _08090490 @ =0x00000a84 - adds r0, r3 - adds r1, r0, r4 - str r2, [r1] - cmp r2, 0 - beq _08090470 - mov r6, sp - ldrh r6, [r6, 0x8] - strh r6, [r2, 0x30] - ldr r0, [r1] - mov r2, sp - ldrh r2, [r2, 0xC] - strh r2, [r0, 0x32] - ldr r0, [r1] - mov r3, sp - ldrh r3, [r3, 0x10] - strh r3, [r0, 0x34] - ldr r1, [r1] - ldr r0, _08090494 @ =sub_80902E0 - str r0, [r1, 0x1C] - mov r0, r9 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 -_08090470: - adds r0, r5, 0x6 - lsls r0, 24 - lsrs r5, r0, 24 - mov r0, r8 - adds r0, 0x18 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - subs r7, 0x1 - cmp r7, 0 - bge _08090404 - b _08090550 - .align 2, 0 -_08090488: .4byte sPSSData -_0809048C: .4byte 0x00000ba4 -_08090490: .4byte 0x00000a84 -_08090494: .4byte sub_80902E0 -_08090498: - mov r10, r1 - movs r7, 0x4 - lsls r2, 16 - str r2, [sp, 0x18] -_080904A0: - mov r6, r10 - ldr r2, [r6] - lsls r0, r5, 1 - ldr r3, _08090564 @ =0x00000ba4 - adds r1, r2, r3 - adds r1, r0 - ldrh r0, [r1] - cmp r0, 0 - beq _0809053A - lsls r4, r5, 2 - movs r6, 0xBE - lsls r6, 4 - adds r1, r2, r6 - adds r1, r4 - ldr r1, [r1] - mov r2, r8 - lsls r3, r2, 16 - asrs r3, 16 - movs r2, 0x2 - str r2, [sp] - ldr r6, [sp, 0x14] - str r6, [sp, 0x4] - ldr r6, [sp, 0x18] - asrs r2, r6, 16 - bl sub_80912E0 - adds r2, r0, 0 - mov r0, r10 - ldr r3, [r0] - ldr r1, _08090568 @ =0x00000a84 - adds r0, r3, r1 - adds r1, r0, r4 - str r2, [r1] - cmp r2, 0 - beq _0809053A - mov r6, sp - ldrh r6, [r6, 0x8] - strh r6, [r2, 0x30] - ldr r0, [r1] - mov r2, sp - ldrh r2, [r2, 0xC] - strh r2, [r0, 0x32] - ldr r0, [r1] - mov r6, sp - ldrh r6, [r6, 0x10] - strh r6, [r0, 0x34] - ldr r1, [r1] - ldr r0, _0809056C @ =sub_80902E0 - str r0, [r1, 0x1C] - ldr r1, _08090570 @ =0x00000c58 - adds r0, r3, r1 - ldrb r0, [r0] - adds r1, r5, 0 - movs r2, 0xC - bl GetBoxMonDataAt - cmp r0, 0 - bne _08090530 - mov r2, r10 - ldr r0, [r2] - ldr r3, _08090568 @ =0x00000a84 - adds r0, r3 - adds r0, r4 - ldr r2, [r0] - ldrb r1, [r2, 0x1] - movs r6, 0xD - negs r6, r6 - adds r0, r6, 0 - ands r1, r0 - movs r0, 0x4 - orrs r1, r0 - strb r1, [r2, 0x1] -_08090530: - mov r0, r9 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 -_0809053A: - adds r0, r5, 0x6 - lsls r0, 24 - lsrs r5, r0, 24 - mov r0, r8 - adds r0, 0x18 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - subs r7, 0x1 - cmp r7, 0 - bge _080904A0 -_08090550: - mov r0, r9 - add sp, 0x1C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08090564: .4byte 0x00000ba4 -_08090568: .4byte 0x00000a84 -_0809056C: .4byte sub_80902E0 -_08090570: .4byte 0x00000c58 - thumb_func_end sub_80903A4 - - thumb_func_start sub_8090574 -sub_8090574: @ 8090574 - push {r4-r7,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r0, 24 - lsls r4, 24 - lsrs r4, 24 - ldr r6, _080905D0 @ =sPSSData - ldr r1, [r6] - ldr r2, _080905D4 @ =0x00000c66 - adds r1, r2 - movs r5, 0 - strb r5, [r1] - ldr r1, [r6] - ldr r3, _080905D8 @ =0x00000c67 - adds r1, r3 - strb r0, [r1] - ldr r1, [r6] - ldr r7, _080905DC @ =0x00000c65 - adds r1, r7 - strb r4, [r1] - ldr r3, [r6] - ldr r1, _080905E0 @ =0x00000c5c - adds r2, r3, r1 - movs r1, 0x20 - strh r1, [r2] - lsls r4, 24 - asrs r4, 24 - lsls r1, r4, 1 - adds r1, r4 - lsls r1, 1 - negs r1, r1 - subs r7, 0x5 - adds r2, r3, r7 - strh r1, [r2] - ldr r1, _080905E4 @ =0x00000c62 - adds r3, r1 - strh r5, [r3] - bl sub_8090794 - cmp r4, 0 - ble _080905EC - ldr r0, [r6] - ldr r2, _080905E8 @ =0x00000c64 - adds r0, r2 - movs r1, 0 - b _080905F4 - .align 2, 0 -_080905D0: .4byte sPSSData -_080905D4: .4byte 0x00000c66 -_080905D8: .4byte 0x00000c67 -_080905DC: .4byte 0x00000c65 -_080905E0: .4byte 0x00000c5c -_080905E4: .4byte 0x00000c62 -_080905E8: .4byte 0x00000c64 -_080905EC: - ldr r0, [r6] - ldr r3, _08090620 @ =0x00000c64 - adds r0, r3 - movs r1, 0x5 -_080905F4: - strb r1, [r0] - ldr r0, _08090624 @ =sPSSData - ldr r2, [r0] - ldr r7, _08090620 @ =0x00000c64 - adds r0, r2, r7 - ldrb r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - adds r0, 0x64 - ldr r3, _08090628 @ =0x00000c5e - adds r1, r2, r3 - strh r0, [r1] - subs r7, 0x4 - adds r2, r7 - movs r1, 0 - ldrsh r0, [r2, r1] - bl sub_809029C - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08090620: .4byte 0x00000c64 -_08090624: .4byte sPSSData -_08090628: .4byte 0x00000c5e - thumb_func_end sub_8090574 - - thumb_func_start sub_809062C -sub_809062C: @ 809062C - push {r4-r6,lr} - ldr r5, _08090658 @ =sPSSData - ldr r0, [r5] - ldr r4, _0809065C @ =0x00000c5c - adds r1, r0, r4 - ldrh r0, [r1] - cmp r0, 0 - beq _08090640 - subs r0, 0x1 - strh r0, [r1] -_08090640: - ldr r3, [r5] - ldr r6, _08090660 @ =0x00000c66 - adds r0, r3, r6 - ldrb r0, [r0] - cmp r0, 0x1 - beq _080906C4 - cmp r0, 0x1 - bgt _08090664 - cmp r0, 0 - beq _0809066C - b _08090782 - .align 2, 0 -_08090658: .4byte sPSSData -_0809065C: .4byte 0x00000c5c -_08090660: .4byte 0x00000c66 -_08090664: - cmp r0, 0x2 - bne _0809066A - b _08090770 -_0809066A: - b _08090782 -_0809066C: - ldr r0, _080906B8 @ =0x00000c5e - adds r1, r3, r0 - movs r2, 0xC6 - lsls r2, 4 - adds r0, r3, r2 - ldrh r0, [r0] - ldrh r2, [r1] - adds r0, r2 - strh r0, [r1] - subs r0, 0x41 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xBA - bhi _0809068A - b _0809078C -_0809068A: - ldr r1, _080906BC @ =0x00000c64 - adds r0, r3, r1 - ldrb r0, [r0] - bl sub_809035C - ldr r2, [r5] - ldr r0, _080906B8 @ =0x00000c5e - adds r3, r2, r0 - ldr r1, _080906C0 @ =0x00000c65 - adds r0, r2, r1 - movs r1, 0 - ldrsb r1, [r0, r1] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - ldrh r1, [r3] - adds r0, r1 - strh r0, [r3] - adds r2, r6 - ldrb r0, [r2] - adds r0, 0x1 - strb r0, [r2] - b _0809078C - .align 2, 0 -_080906B8: .4byte 0x00000c5e -_080906BC: .4byte 0x00000c64 -_080906C0: .4byte 0x00000c65 -_080906C4: - ldr r2, _08090728 @ =0x00000c5e - adds r1, r3, r2 - movs r6, 0xC6 - lsls r6, 4 - adds r2, r3, r6 - ldrh r0, [r2] - ldrh r6, [r1] - adds r0, r6 - strh r0, [r1] - ldr r6, _0809072C @ =0x00000c64 - adds r0, r3, r6 - ldrb r0, [r0] - adds r1, r3, r4 - ldrh r1, [r1] - movs r3, 0 - ldrsh r2, [r2, r3] - bl sub_80903A4 - ldr r2, [r5] - ldr r3, _08090730 @ =0x00000c62 - adds r1, r2, r3 - lsls r0, 24 - lsrs r0, 24 - ldrh r3, [r1] - adds r0, r3 - strh r0, [r1] - ldr r1, _08090734 @ =0x00000c65 - adds r0, r2, r1 - movs r1, 0 - ldrsb r1, [r0, r1] - cmp r1, 0 - ble _0809070C - adds r0, r2, r6 - ldrb r0, [r0] - cmp r0, 0x5 - beq _08090718 -_0809070C: - cmp r1, 0 - bge _08090740 - adds r0, r2, r6 - ldrb r0, [r0] - cmp r0, 0 - bne _08090740 -_08090718: - ldr r0, _08090738 @ =sPSSData - ldr r1, [r0] - ldr r2, _0809073C @ =0x00000c66 - adds r1, r2 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0809078C - .align 2, 0 -_08090728: .4byte 0x00000c5e -_0809072C: .4byte 0x00000c64 -_08090730: .4byte 0x00000c62 -_08090734: .4byte 0x00000c65 -_08090738: .4byte sPSSData -_0809073C: .4byte 0x00000c66 -_08090740: - ldr r3, _08090760 @ =sPSSData - ldr r0, [r3] - ldr r6, _08090764 @ =0x00000c64 - adds r1, r0, r6 - ldr r2, _08090768 @ =0x00000c65 - adds r0, r2 - ldrb r0, [r0] - ldrb r6, [r1] - adds r0, r6 - movs r2, 0 - strb r0, [r1] - ldr r0, [r3] - ldr r1, _0809076C @ =0x00000c66 - adds r0, r1 - strb r2, [r0] - b _0809078C - .align 2, 0 -_08090760: .4byte sPSSData -_08090764: .4byte 0x00000c64 -_08090768: .4byte 0x00000c65 -_0809076C: .4byte 0x00000c66 -_08090770: - ldr r2, _08090788 @ =0x00000c62 - adds r0, r3, r2 - ldrh r0, [r0] - cmp r0, 0 - bne _0809078C - adds r1, r3, r4 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_08090782: - movs r0, 0 - b _0809078E - .align 2, 0 -_08090788: .4byte 0x00000c62 -_0809078C: - movs r0, 0x1 -_0809078E: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_809062C - - thumb_func_start sub_8090794 -sub_8090794: @ 8090794 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r6, r0, 24 - movs r5, 0 - movs r0, 0 - ldr r1, _08090810 @ =sPSSData - mov r9, r1 -_080907A8: - adds r0, 0x1 - mov r8, r0 - movs r7, 0x5 -_080907AE: - lsls r0, r5, 24 - lsrs r4, r0, 24 - adds r0, r6, 0 - adds r1, r4, 0 - movs r2, 0x41 - bl GetBoxMonDataAt - mov r2, r9 - ldr r1, [r2] - lsls r2, r5, 1 - ldr r3, _08090814 @ =0x00000ba4 - adds r1, r3 - adds r1, r2 - strh r0, [r1] - lsls r0, 16 - cmp r0, 0 - beq _080907EA - adds r0, r6, 0 - adds r1, r4, 0 - movs r2, 0 - bl GetBoxMonDataAt - mov r2, r9 - ldr r1, [r2] - lsls r2, r5, 2 - movs r3, 0xBE - lsls r3, 4 - adds r1, r3 - adds r1, r2 - str r0, [r1] -_080907EA: - adds r5, 0x1 - subs r7, 0x1 - cmp r7, 0 - bge _080907AE - mov r0, r8 - cmp r0, 0x4 - ble _080907A8 - ldr r0, _08090810 @ =sPSSData - ldr r0, [r0] - ldr r1, _08090818 @ =0x00000c58 - adds r0, r1 - strb r6, [r0] - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08090810: .4byte sPSSData -_08090814: .4byte 0x00000ba4 -_08090818: .4byte 0x00000c58 - thumb_func_end sub_8090794 - - thumb_func_start sub_809081C -sub_809081C: @ 809081C - push {r4,r5,lr} - lsls r0, 24 - ldr r5, _08090848 @ =sPSSData - ldr r1, [r5] - lsrs r4, r0, 22 - ldr r0, _0809084C @ =0x00000a84 - adds r1, r0 - adds r1, r4 - ldr r0, [r1] - cmp r0, 0 - beq _08090842 - bl sub_80913C4 - ldr r0, [r5] - ldr r1, _0809084C @ =0x00000a84 - adds r0, r1 - adds r0, r4 - movs r1, 0 - str r1, [r0] -_08090842: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08090848: .4byte sPSSData -_0809084C: .4byte 0x00000a84 - thumb_func_end sub_809081C - - thumb_func_start sub_8090850 -sub_8090850: @ 8090850 - push {lr} - lsls r0, 24 - lsls r1, 24 - lsrs r2, r1, 24 - ldr r1, _08090884 @ =sPSSData - ldr r1, [r1] - lsrs r0, 22 - ldr r3, _08090888 @ =0x00000a84 - adds r1, r3 - adds r1, r0 - ldr r3, [r1] - cmp r3, 0 - beq _0809087E - movs r0, 0x3 - adds r1, r2, 0 - ands r1, r0 - lsls r1, 2 - ldrb r2, [r3, 0x1] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, 0x1] -_0809087E: - pop {r0} - bx r0 - .align 2, 0 -_08090884: .4byte sPSSData -_08090888: .4byte 0x00000a84 - thumb_func_end sub_8090850 - - thumb_func_start CreatePartyMonsSprites -CreatePartyMonsSprites: @ 809088C - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r4, _0809092C @ =gPlayerParty - adds r0, r4, 0 - movs r1, 0x41 - bl GetMonData - lsls r0, 16 - lsrs r5, r0, 16 - adds r0, r4, 0 - movs r1, 0 - bl GetMonData - adds r1, r0, 0 - movs r0, 0x1 - str r0, [sp] - movs r0, 0xC - str r0, [sp, 0x4] - adds r0, r5, 0 - movs r2, 0x68 - movs r3, 0x40 - bl sub_80912E0 - ldr r1, _08090930 @ =sPSSData - ldr r1, [r1] - ldr r2, _08090934 @ =0x00000a6c - adds r1, r2 - str r0, [r1] - movs r7, 0x1 - movs r6, 0x1 -_080908D2: - movs r0, 0x64 - adds r1, r6, 0 - muls r1, r0 - ldr r0, _0809092C @ =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x41 - bl GetMonData - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0 - beq _08090938 - adds r0, r4, 0 - movs r1, 0 - bl GetMonData - adds r1, r0, 0 - subs r0, r6, 0x1 - lsls r3, r0, 1 - adds r3, r0 - lsls r3, 19 - movs r0, 0x80 - lsls r0, 13 - adds r3, r0 - asrs r3, 16 - movs r0, 0x1 - str r0, [sp] - movs r0, 0xC - str r0, [sp, 0x4] - adds r0, r5, 0 - movs r2, 0x98 - bl sub_80912E0 - ldr r1, _08090930 @ =sPSSData - ldr r1, [r1] - lsls r2, r6, 2 - ldr r3, _08090934 @ =0x00000a6c - adds r1, r3 - adds r1, r2 - str r0, [r1] - adds r0, r7, 0x1 - lsls r0, 16 - lsrs r7, r0, 16 - b _08090946 - .align 2, 0 -_0809092C: .4byte gPlayerParty -_08090930: .4byte sPSSData -_08090934: .4byte 0x00000a6c -_08090938: - ldr r0, _080909E8 @ =sPSSData - ldr r0, [r0] - lsls r1, r6, 2 - ldr r2, _080909EC @ =0x00000a6c - adds r0, r2 - adds r0, r1 - str r5, [r0] -_08090946: - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0x5 - bls _080908D2 - ldr r3, _080909E8 @ =sPSSData - mov r0, r8 - cmp r0, 0 - bne _0809098A - movs r6, 0 - cmp r6, r7 - bcs _0809098A - mov r12, r3 - ldr r5, _080909EC @ =0x00000a6c - movs r4, 0x4 -_08090964: - mov r2, r12 - ldr r1, [r2] - lsls r0, r6, 2 - adds r1, r5 - adds r1, r0 - ldr r2, [r1] - ldrh r0, [r2, 0x22] - subs r0, 0xA0 - strh r0, [r2, 0x22] - ldr r1, [r1] - adds r1, 0x3E - ldrb r0, [r1] - orrs r0, r4 - strb r0, [r1] - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, r7 - bcc _08090964 -_0809098A: - ldr r0, [r3] - ldrb r0, [r0, 0x1] - cmp r0, 0x3 - bne _080909DA - movs r6, 0 - adds r7, r3, 0 - ldr r5, _080909EC @ =0x00000a6c -_08090998: - ldr r0, [r7] - lsls r4, r6, 2 - adds r0, r5 - adds r0, r4 - ldr r0, [r0] - cmp r0, 0 - beq _080909D0 - movs r0, 0x64 - muls r0, r6 - ldr r1, _080909F0 @ =gPlayerParty - adds r0, r1 - movs r1, 0xC - bl GetMonData - cmp r0, 0 - bne _080909D0 - ldr r0, [r7] - adds r0, r5 - adds r0, r4 - ldr r2, [r0] - ldrb r1, [r2, 0x1] - movs r3, 0xD - negs r3, r3 - adds r0, r3, 0 - ands r1, r0 - movs r0, 0x4 - orrs r1, r0 - strb r1, [r2, 0x1] -_080909D0: - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0x5 - bls _08090998 -_080909DA: - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080909E8: .4byte sPSSData -_080909EC: .4byte 0x00000a6c -_080909F0: .4byte gPlayerParty - thumb_func_end CreatePartyMonsSprites - - thumb_func_start sub_80909F4 -sub_80909F4: @ 80909F4 - push {r4-r7,lr} - sub sp, 0x4 - ldr r0, _08090A54 @ =sPSSData - ldr r1, [r0] - ldr r2, _08090A58 @ =0x00000c5a - adds r1, r2 - movs r2, 0 - strb r2, [r1] - movs r5, 0 - movs r6, 0 - adds r3, r0, 0 - ldr r7, _08090A5C @ =0x00000a6c -_08090A0C: - ldr r0, [r3] - lsls r4, r5, 2 - adds r0, r7 - adds r0, r4 - ldr r0, [r0] - cmp r0, 0 - beq _08090A42 - cmp r5, r6 - beq _08090A3C - adds r1, r6, 0 - str r3, [sp] - bl sub_8090A74 - ldr r3, [sp] - ldr r2, [r3] - adds r0, r2, r7 - adds r0, r4 - movs r1, 0 - str r1, [r0] - ldr r0, _08090A58 @ =0x00000c5a - adds r2, r0 - ldrb r0, [r2] - adds r0, 0x1 - strb r0, [r2] -_08090A3C: - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 -_08090A42: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x5 - bls _08090A0C - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08090A54: .4byte sPSSData -_08090A58: .4byte 0x00000c5a -_08090A5C: .4byte 0x00000a6c - thumb_func_end sub_80909F4 - - thumb_func_start sub_8090A60 -sub_8090A60: @ 8090A60 - ldr r0, _08090A6C @ =sPSSData - ldr r0, [r0] - ldr r1, _08090A70 @ =0x00000c5a - adds r0, r1 - ldrb r0, [r0] - bx lr - .align 2, 0 -_08090A6C: .4byte sPSSData -_08090A70: .4byte 0x00000c5a - thumb_func_end sub_8090A60 - - thumb_func_start sub_8090A74 -sub_8090A74: @ 8090A74 - push {r4,lr} - adds r2, r0, 0 - lsls r1, 16 - lsrs r1, 16 - strh r1, [r2, 0x30] - cmp r1, 0 - bne _08090A88 - movs r3, 0x68 - movs r4, 0x40 - b _08090A9A -_08090A88: - movs r3, 0x98 - subs r1, 0x1 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 19 - movs r1, 0x80 - lsls r1, 13 - adds r0, r1 - lsrs r4, r0, 16 -_08090A9A: - ldrh r0, [r2, 0x20] - lsls r0, 3 - strh r0, [r2, 0x32] - ldrh r0, [r2, 0x22] - lsls r0, 3 - strh r0, [r2, 0x34] - lsls r1, r3, 3 - movs r3, 0x32 - ldrsh r0, [r2, r3] - subs r0, r1, r0 - cmp r0, 0 - bge _08090AB4 - adds r0, 0x7 -_08090AB4: - asrs r0, 3 - strh r0, [r2, 0x36] - lsls r0, r4, 16 - asrs r0, 13 - movs r3, 0x34 - ldrsh r1, [r2, r3] - subs r0, r1 - cmp r0, 0 - bge _08090AC8 - adds r0, 0x7 -_08090AC8: - asrs r0, 3 - strh r0, [r2, 0x38] - movs r0, 0x8 - strh r0, [r2, 0x3A] - ldr r0, _08090ADC @ =sub_8090AE0 - str r0, [r2, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08090ADC: .4byte sub_8090AE0 - thumb_func_end sub_8090A74 - - thumb_func_start sub_8090AE0 -sub_8090AE0: @ 8090AE0 - push {r4,lr} - adds r3, r0, 0 - ldrh r2, [r3, 0x3A] - movs r1, 0x3A - ldrsh r0, [r3, r1] - cmp r0, 0 - beq _08090B10 - ldrh r0, [r3, 0x36] - ldrh r4, [r3, 0x32] - adds r0, r4 - strh r0, [r3, 0x32] - ldrh r1, [r3, 0x38] - ldrh r4, [r3, 0x34] - adds r1, r4 - strh r1, [r3, 0x34] - lsls r0, 16 - asrs r0, 19 - strh r0, [r3, 0x20] - lsls r1, 16 - asrs r1, 19 - strh r1, [r3, 0x22] - subs r0, r2, 0x1 - strh r0, [r3, 0x3A] - b _08090B54 -_08090B10: - movs r1, 0x30 - ldrsh r0, [r3, r1] - cmp r0, 0 - bne _08090B20 - movs r0, 0x68 - strh r0, [r3, 0x20] - movs r0, 0x40 - b _08090B32 -_08090B20: - movs r0, 0x98 - strh r0, [r3, 0x20] - movs r4, 0x30 - ldrsh r1, [r3, r4] - subs r1, 0x1 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - adds r0, 0x10 -_08090B32: - strh r0, [r3, 0x22] - ldr r0, _08090B5C @ =SpriteCallbackDummy - str r0, [r3, 0x1C] - ldr r0, _08090B60 @ =sPSSData - ldr r2, [r0] - movs r0, 0x30 - ldrsh r1, [r3, r0] - lsls r1, 2 - ldr r4, _08090B64 @ =0x00000a6c - adds r0, r2, r4 - adds r0, r1 - str r3, [r0] - ldr r0, _08090B68 @ =0x00000c5a - adds r2, r0 - ldrb r0, [r2] - subs r0, 0x1 - strb r0, [r2] -_08090B54: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08090B5C: .4byte SpriteCallbackDummy -_08090B60: .4byte sPSSData -_08090B64: .4byte 0x00000a6c -_08090B68: .4byte 0x00000c5a - thumb_func_end sub_8090AE0 - - thumb_func_start sub_8090B6C -sub_8090B6C: @ 8090B6C - push {r4,lr} - ldr r4, _08090B90 @ =sPSSData - ldr r0, [r4] - ldr r1, _08090B94 @ =0x00000a68 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0 - beq _08090B8A - bl sub_80913C4 - ldr r0, [r4] - ldr r1, _08090B94 @ =0x00000a68 - adds r0, r1 - movs r1, 0 - str r1, [r0] -_08090B8A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08090B90: .4byte sPSSData -_08090B94: .4byte 0x00000a68 - thumb_func_end sub_8090B6C - - thumb_func_start sub_8090B98 -sub_8090B98: @ 8090B98 - push {r4-r6,lr} - movs r3, 0 - ldr r6, _08090BEC @ =sPSSData - lsls r0, 16 - asrs r4, r0, 16 - movs r5, 0x5 - negs r5, r5 -_08090BA6: - ldr r0, [r6] - lsls r1, r3, 2 - ldr r2, _08090BF0 @ =0x00000a6c - adds r0, r2 - adds r2, r0, r1 - ldr r1, [r2] - cmp r1, 0 - beq _08090BFE - ldrh r0, [r1, 0x22] - adds r0, r4, r0 - strh r0, [r1, 0x22] - ldr r2, [r2] - ldrh r1, [r2, 0x26] - ldrh r0, [r2, 0x22] - adds r1, r0 - adds r0, r2, 0 - adds r0, 0x29 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - adds r0, r1 - lsls r0, 16 - movs r1, 0x80 - lsls r1, 13 - adds r0, r1 - lsrs r0, 16 - cmp r0, 0xC0 - bls _08090BF4 - adds r0, r2, 0 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - b _08090BFE - .align 2, 0 -_08090BEC: .4byte sPSSData -_08090BF0: .4byte 0x00000a6c -_08090BF4: - adds r2, 0x3E - ldrb r1, [r2] - adds r0, r5, 0 - ands r0, r1 - strb r0, [r2] -_08090BFE: - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0x5 - bls _08090BA6 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8090B98 - - thumb_func_start sub_8090C10 -sub_8090C10: @ 8090C10 - push {r4,r5,lr} - lsls r0, 24 - ldr r5, _08090C3C @ =sPSSData - ldr r1, [r5] - lsrs r4, r0, 22 - ldr r0, _08090C40 @ =0x00000a6c - adds r1, r0 - adds r1, r4 - ldr r0, [r1] - cmp r0, 0 - beq _08090C36 - bl sub_80913C4 - ldr r0, [r5] - ldr r1, _08090C40 @ =0x00000a6c - adds r0, r1 - adds r0, r4 - movs r1, 0 - str r1, [r0] -_08090C36: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08090C3C: .4byte sPSSData -_08090C40: .4byte 0x00000a6c - thumb_func_end sub_8090C10 - - thumb_func_start DestroyAllPartyMonIcons -DestroyAllPartyMonIcons: @ 8090C44 - push {r4-r6,lr} - movs r5, 0 - ldr r6, _08090C7C @ =sPSSData -_08090C4A: - ldr r0, [r6] - lsls r4, r5, 2 - ldr r1, _08090C80 @ =0x00000a6c - adds r0, r1 - adds r0, r4 - ldr r0, [r0] - cmp r0, 0 - beq _08090C6A - bl sub_80913C4 - ldr r0, [r6] - ldr r1, _08090C80 @ =0x00000a6c - adds r0, r1 - adds r0, r4 - movs r1, 0 - str r1, [r0] -_08090C6A: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x5 - bls _08090C4A - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08090C7C: .4byte sPSSData -_08090C80: .4byte 0x00000a6c - thumb_func_end DestroyAllPartyMonIcons - - thumb_func_start sub_8090C84 -sub_8090C84: @ 8090C84 - push {lr} - lsls r0, 24 - lsls r1, 24 - lsrs r2, r1, 24 - ldr r1, _08090CB8 @ =sPSSData - ldr r1, [r1] - lsrs r0, 22 - ldr r3, _08090CBC @ =0x00000a6c - adds r1, r3 - adds r1, r0 - ldr r3, [r1] - cmp r3, 0 - beq _08090CB2 - movs r0, 0x3 - adds r1, r2, 0 - ands r1, r0 - lsls r1, 2 - ldrb r2, [r3, 0x1] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, 0x1] -_08090CB2: - pop {r0} - bx r0 - .align 2, 0 -_08090CB8: .4byte sPSSData -_08090CBC: .4byte 0x00000a6c - thumb_func_end sub_8090C84 - - thumb_func_start sub_8090CC0 -sub_8090CC0: @ 8090CC0 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 24 - lsrs r1, 24 - adds r5, r1, 0 - cmp r4, 0 - bne _08090CF0 - ldr r3, _08090CE8 @ =sPSSData - ldr r0, [r3] - ldr r5, _08090CEC @ =0x00000a68 - adds r2, r0, r5 - lsls r1, 2 - adds r5, 0x4 - adds r0, r5 - adds r0, r1 - ldr r1, [r0] - str r1, [r2] - str r4, [r0] - b _08090D0C - .align 2, 0 -_08090CE8: .4byte sPSSData -_08090CEC: .4byte 0x00000a68 -_08090CF0: - cmp r4, 0x1 - bne _08090D42 - ldr r3, _08090D48 @ =sPSSData - ldr r0, [r3] - ldr r1, _08090D4C @ =0x00000a68 - adds r2, r0, r1 - lsls r1, r5, 2 - ldr r4, _08090D50 @ =0x00000a84 - adds r0, r4 - adds r0, r1 - ldr r1, [r0] - str r1, [r2] - movs r1, 0 - str r1, [r0] -_08090D0C: - adds r5, r3, 0 - ldr r0, [r5] - ldr r4, _08090D4C @ =0x00000a68 - adds r0, r4 - ldr r1, [r0] - ldr r0, _08090D54 @ =sub_80911B0 - str r0, [r1, 0x1C] - bl sub_8090058 - ldr r1, [r5] - adds r1, r4 - ldr r3, [r1] - movs r1, 0x3 - ands r1, r0 - lsls r1, 2 - ldrb r2, [r3, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, 0x5] - ldr r0, [r5] - adds r0, r4 - ldr r0, [r0] - adds r0, 0x43 - movs r1, 0x7 - strb r1, [r0] -_08090D42: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08090D48: .4byte sPSSData -_08090D4C: .4byte 0x00000a68 -_08090D50: .4byte 0x00000a84 -_08090D54: .4byte sub_80911B0 - thumb_func_end sub_8090CC0 - - thumb_func_start sub_8090D58 -sub_8090D58: @ 8090D58 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r6, r1, 24 - cmp r0, 0xE - bne _08090DA4 - ldr r3, _08090D98 @ =sPSSData - ldr r1, [r3] - lsls r5, r6, 2 - ldr r4, _08090D9C @ =0x00000a6c - adds r0, r1, r4 - adds r0, r5 - ldr r2, _08090DA0 @ =0x00000a68 - adds r1, r2 - ldr r2, [r1] - str r2, [r0] - ldrb r1, [r2, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r1 - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2, 0x5] - ldr r0, [r3] - adds r0, r4 - adds r0, r5 - ldr r0, [r0] - adds r0, 0x43 - movs r1, 0xC - strb r1, [r0] - b _08090DE0 - .align 2, 0 -_08090D98: .4byte sPSSData -_08090D9C: .4byte 0x00000a6c -_08090DA0: .4byte 0x00000a68 -_08090DA4: - ldr r5, _08090DF8 @ =sPSSData - ldr r1, [r5] - lsls r4, r6, 2 - ldr r3, _08090DFC @ =0x00000a84 - adds r0, r1, r3 - adds r0, r4 - ldr r2, _08090E00 @ =0x00000a68 - adds r1, r2 - ldr r2, [r1] - str r2, [r0] - ldrb r1, [r2, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r1 - movs r1, 0x8 - orrs r0, r1 - strb r0, [r2, 0x5] - ldr r0, [r5] - adds r0, r3 - adds r0, r4 - ldr r4, [r0] - adds r0, r6, 0 - movs r1, 0x6 - bl __umodsi3 - movs r1, 0x13 - subs r1, r0 - adds r4, 0x43 - strb r1, [r4] - adds r3, r5, 0 -_08090DE0: - ldr r1, [r3] - ldr r0, _08090E00 @ =0x00000a68 - adds r1, r0 - ldr r2, [r1] - ldr r0, _08090E04 @ =SpriteCallbackDummy - str r0, [r2, 0x1C] - movs r0, 0 - str r0, [r1] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08090DF8: .4byte sPSSData -_08090DFC: .4byte 0x00000a84 -_08090E00: .4byte 0x00000a68 -_08090E04: .4byte SpriteCallbackDummy - thumb_func_end sub_8090D58 - - thumb_func_start sub_8090E08 -sub_8090E08: @ 8090E08 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r4, r1, 24 - cmp r0, 0xE - bne _08090E30 - ldr r3, _08090E24 @ =sPSSData - ldr r1, [r3] - ldr r0, _08090E28 @ =0x00000afc - adds r2, r1, r0 - lsls r0, r4, 2 - ldr r4, _08090E2C @ =0x00000a6c - b _08090E3C - .align 2, 0 -_08090E24: .4byte sPSSData -_08090E28: .4byte 0x00000afc -_08090E2C: .4byte 0x00000a6c -_08090E30: - ldr r3, _08090E5C @ =sPSSData - ldr r1, [r3] - ldr r0, _08090E60 @ =0x00000afc - adds r2, r1, r0 - lsls r0, r4, 2 - ldr r4, _08090E64 @ =0x00000a84 -_08090E3C: - adds r0, r4 - adds r1, r0 - str r1, [r2] - ldr r1, [r3] - ldr r2, _08090E68 @ =0x00000a68 - adds r0, r1, r2 - ldr r2, [r0] - ldr r0, _08090E6C @ =SpriteCallbackDummy - str r0, [r2, 0x1C] - ldr r4, _08090E70 @ =0x00000c59 - adds r1, r4 - movs r0, 0 - strb r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08090E5C: .4byte sPSSData -_08090E60: .4byte 0x00000afc -_08090E64: .4byte 0x00000a84 -_08090E68: .4byte 0x00000a68 -_08090E6C: .4byte SpriteCallbackDummy -_08090E70: .4byte 0x00000c59 - thumb_func_end sub_8090E08 - - thumb_func_start sub_8090E74 -sub_8090E74: @ 8090E74 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - ldr r6, _08090E90 @ =sPSSData - ldr r0, [r6] - ldr r1, _08090E94 @ =0x00000c59 - mov r9, r1 - adds r1, r0, r1 - ldrb r0, [r1] - cmp r0, 0x10 - bne _08090E98 - movs r0, 0 - b _08090FA0 - .align 2, 0 -_08090E90: .4byte sPSSData -_08090E94: .4byte 0x00000c59 -_08090E98: - adds r0, 0x1 - strb r0, [r1] - ldr r2, [r6] - ldr r5, _08090FAC @ =0x00000c59 - adds r0, r2, r5 - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08090EC6 - ldr r1, _08090FB0 @ =0x00000afc - adds r0, r2, r1 - ldr r0, [r0] - ldr r1, [r0] - ldrh r0, [r1, 0x22] - subs r0, 0x1 - strh r0, [r1, 0x22] - ldr r5, _08090FB4 @ =0x00000a68 - adds r0, r2, r5 - ldr r1, [r0] - ldrh r0, [r1, 0x22] - adds r0, 0x1 - strh r0, [r1, 0x22] -_08090EC6: - ldr r3, [r6] - ldr r7, _08090FB0 @ =0x00000afc - adds r4, r3, r7 - ldr r0, [r4] - ldr r0, [r0] - mov r8, r0 - ldr r5, _08090FB8 @ =gSineTable - mov r0, r9 - adds r1, r3, r0 - ldrb r0, [r1] - lsls r0, 4 - adds r0, r5 - movs r2, 0 - ldrsh r0, [r0, r2] - cmp r0, 0 - bge _08090EE8 - adds r0, 0xF -_08090EE8: - asrs r0, 4 - mov r2, r8 - strh r0, [r2, 0x24] - ldr r0, _08090FB4 @ =0x00000a68 - mov r8, r0 - add r3, r8 - ldr r2, [r3] - ldrb r0, [r1] - lsls r0, 4 - adds r0, r5 - movs r5, 0 - ldrsh r0, [r0, r5] - cmp r0, 0 - bge _08090F06 - adds r0, 0xF -_08090F06: - asrs r0, 4 - negs r0, r0 - strh r0, [r2, 0x24] - ldrb r0, [r1] - cmp r0, 0x8 - bne _08090F6A - ldr r3, [r3] - ldr r0, [r4] - ldr r0, [r0] - ldrb r0, [r0, 0x5] - movs r5, 0x3 - movs r1, 0xC - ands r1, r0 - ldrb r2, [r3, 0x5] - movs r4, 0xD - negs r4, r4 - adds r0, r4, 0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, 0x5] - ldr r0, [r6] - mov r2, r8 - adds r1, r0, r2 - ldr r1, [r1] - adds r0, r7 - ldr r0, [r0] - ldr r0, [r0] - adds r0, 0x43 - ldrb r0, [r0] - adds r1, 0x43 - strb r0, [r1] - bl sub_8090058 - ldr r1, [r6] - adds r1, r7 - ldr r1, [r1] - ldr r1, [r1] - ands r5, r0 - lsls r5, 2 - ldrb r0, [r1, 0x5] - ands r4, r0 - orrs r4, r5 - strb r4, [r1, 0x5] - ldr r0, [r6] - adds r0, r7 - ldr r0, [r0] - ldr r0, [r0] - adds r0, 0x43 - movs r1, 0x7 - strb r1, [r0] -_08090F6A: - ldr r1, [r6] - mov r5, r9 - adds r0, r1, r5 - ldrb r0, [r0] - cmp r0, 0x10 - bne _08090F9E - mov r0, r8 - adds r2, r1, r0 - ldr r3, [r2] - adds r1, r7 - ldr r0, [r1] - ldr r0, [r0] - str r0, [r2] - ldr r0, [r1] - str r3, [r0] - ldr r1, [r6] - mov r2, r8 - adds r0, r1, r2 - ldr r2, [r0] - ldr r0, _08090FBC @ =sub_80911B0 - str r0, [r2, 0x1C] - adds r1, r7 - ldr r0, [r1] - ldr r1, [r0] - ldr r0, _08090FC0 @ =SpriteCallbackDummy - str r0, [r1, 0x1C] -_08090F9E: - movs r0, 0x1 -_08090FA0: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08090FAC: .4byte 0x00000c59 -_08090FB0: .4byte 0x00000afc -_08090FB4: .4byte 0x00000a68 -_08090FB8: .4byte gSineTable -_08090FBC: .4byte sub_80911B0 -_08090FC0: .4byte SpriteCallbackDummy - thumb_func_end sub_8090E74 - - thumb_func_start sub_8090FC4 -sub_8090FC4: @ 8090FC4 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - adds r2, r0, 0 - lsls r1, 24 - lsrs r4, r1, 24 - cmp r0, 0x1 - beq _08090FFC - cmp r0, 0x1 - bgt _08090FDE - cmp r0, 0 - beq _08090FE4 - b _08091072 -_08090FDE: - cmp r2, 0x2 - beq _0809101C - b _08091072 -_08090FE4: - ldr r3, _08090FF4 @ =sPSSData - ldr r1, [r3] - movs r0, 0xB0 - lsls r0, 4 - adds r2, r1, r0 - lsls r0, r4, 2 - ldr r4, _08090FF8 @ =0x00000a6c - b _0809100A - .align 2, 0 -_08090FF4: .4byte sPSSData -_08090FF8: .4byte 0x00000a6c -_08090FFC: - ldr r3, _08091014 @ =sPSSData - ldr r1, [r3] - movs r0, 0xB0 - lsls r0, 4 - adds r2, r1, r0 - lsls r0, r4, 2 - ldr r4, _08091018 @ =0x00000a84 -_0809100A: - adds r0, r4 - adds r1, r0 - str r1, [r2] - adds r4, r3, 0 - b _0809102E - .align 2, 0 -_08091014: .4byte sPSSData -_08091018: .4byte 0x00000a84 -_0809101C: - ldr r0, _08091078 @ =sPSSData - ldr r1, [r0] - movs r3, 0xB0 - lsls r3, 4 - adds r2, r1, r3 - ldr r4, _0809107C @ =0x00000a68 - adds r1, r4 - str r1, [r2] - adds r4, r0, 0 -_0809102E: - ldr r0, [r4] - movs r1, 0xB0 - lsls r1, 4 - adds r0, r1 - ldr r0, [r0] - ldr r0, [r0] - cmp r0, 0 - beq _08091072 - bl InitSpriteAffineAnim - ldr r0, [r4] - movs r3, 0xB0 - lsls r3, 4 - adds r0, r3 - ldr r0, [r0] - ldr r2, [r0] - ldrb r1, [r2, 0x1] - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2, 0x1] - ldr r1, [r4] - adds r1, r3 - ldr r0, [r1] - ldr r2, [r0] - ldr r0, _08091080 @ =gUnknown_83CEC38 - str r0, [r2, 0x10] - ldr r0, [r1] - ldr r0, [r0] - movs r1, 0 - bl StartSpriteAffineAnim -_08091072: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08091078: .4byte sPSSData -_0809107C: .4byte 0x00000a68 -_08091080: .4byte gUnknown_83CEC38 - thumb_func_end sub_8090FC4 - thumb_func_start sub_8091084 sub_8091084: @ 8091084 push {lr} @@ -2322,7 +69,7 @@ sub_80910CC: @ 80910CC adds r0, r1 ldr r0, [r0] ldr r0, [r0] - bl sub_80913C4 + bl DestroyBoxMonIcon ldr r0, [r4] movs r1, 0xB0 lsls r1, 4 @@ -2590,8 +337,8 @@ _080912DA: bx r0 thumb_func_end sub_8091290 - thumb_func_start sub_80912E0 -sub_80912E0: @ 80912E0 + thumb_func_start CreateMonIconSprite +CreateMonIconSprite: @ 80912E0 push {r4-r7,lr} mov r7, r10 mov r6, r9 @@ -2698,10 +445,10 @@ _080913B4: pop {r4-r7} pop {r1} bx r1 - thumb_func_end sub_80912E0 + thumb_func_end CreateMonIconSprite - thumb_func_start sub_80913C4 -sub_80913C4: @ 80913C4 + thumb_func_start DestroyBoxMonIcon +DestroyBoxMonIcon: @ 80913C4 push {r4,lr} adds r4, r0, 0 ldrh r0, [r4, 0x2E] @@ -2711,7 +458,7 @@ sub_80913C4: @ 80913C4 pop {r4} pop {r0} bx r0 - thumb_func_end sub_80913C4 + thumb_func_end DestroyBoxMonIcon thumb_func_start sub_80913DC sub_80913DC: @ 80913DC @@ -4708,7 +2455,7 @@ sub_8092340: @ 8092340 ldr r1, _08092394 @ =gUnknown_20397BC movs r2, 0x64 bl memcpy - bl sub_8090070 + bl CreateMovingMonIcon _0809237A: pop {r0} bx r0 @@ -6470,7 +4217,7 @@ _08093102: lsrs r1, r4, 24 adds r0, r6, 0 bl diegohint2 - bl sub_8090B6C + bl DestroyMovingMonIcon movs r0, 0 strb r0, [r5] b _0809313E @@ -6486,7 +4233,7 @@ _08093124: adds r0, r6, 0 bl diegohint2 ldrb r0, [r5] - bl sub_8090C10 + bl DestroyPartyMonIcon _0809313E: bl StorageGetCurrentBox lsls r0, 24 @@ -7592,8 +5339,8 @@ _080939EC: .4byte sBoxCursorArea _080939F0: .4byte sBoxCursorPosition thumb_func_end IsCursorOnCloseBox - thumb_func_start sub_80939F4 -sub_80939F4: @ 80939F4 + thumb_func_start IsCursorInBox +IsCursorInBox: @ 80939F4 push {lr} movs r1, 0 ldr r0, _08093A0C @ =sBoxCursorArea @@ -7609,7 +5356,7 @@ _08093A06: bx r1 .align 2, 0 _08093A0C: .4byte sBoxCursorArea - thumb_func_end sub_80939F4 + thumb_func_end IsCursorInBox thumb_func_start sub_8093A10 sub_8093A10: @ 8093A10 @@ -11585,7 +9332,7 @@ _080958CC: subs r4, r7, r4 _080958E8: adds r0, r5, 0 - bl sub_809081C + bl DestroyBoxMonIconAtPosition mov r0, r8 adds r1, r5, 0 bl ZeroBoxMonAt @@ -12228,7 +9975,7 @@ Item_FromMonToMoving: @ 8095D84 bl SetCurrentBoxMonData adds r0, r5, 0 movs r1, 0x1 - bl sub_8090850 + bl SetBoxMonIconObjMode b _08095E04 .align 2, 0 _08095DE8: .4byte sPSSData @@ -12242,7 +9989,7 @@ _08095DEC: bl SetMonData adds r0, r7, 0 movs r1, 0x1 - bl sub_8090C84 + bl SetPartyMonIconObjMode _08095E04: ldr r0, _08095E20 @ =sPSSData ldr r0, [r0] @@ -12455,7 +10202,7 @@ Item_GiveMovingToMon: @ 8095F74 bl SetCurrentBoxMonData adds r0, r5, 0 movs r1, 0 - bl sub_8090850 + bl SetBoxMonIconObjMode b _08095FF4 .align 2, 0 _08095FCC: .4byte sPSSData @@ -12474,7 +10221,7 @@ _08095FD4: bl SetMonData mov r0, r8 movs r1, 0 - bl sub_8090C84 + bl SetPartyMonIconObjMode _08095FF4: pop {r3} mov r8, r3 @@ -12525,7 +10272,7 @@ Item_TakeMons: @ 8096008 bl SetCurrentBoxMonData adds r0, r5, 0 movs r1, 0x1 - bl sub_8090850 + bl SetBoxMonIconObjMode b _0809607C .align 2, 0 _08096060: .4byte sPSSData @@ -12539,7 +10286,7 @@ _08096064: bl SetMonData adds r0, r7, 0 movs r1, 0x1 - bl sub_8090C84 + bl SetPartyMonIconObjMode _0809607C: add sp, 0x4 pop {r4-r7} |