summaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
authorPikalaxALT <PikalaxALT@gmail.com>2020-03-13 20:53:22 -0400
committerPikalaxALT <PikalaxALT@gmail.com>2020-03-13 20:53:22 -0400
commit6753e18db06fc6636b768bfaae41a68ec8660abf (patch)
tree748fcd7b8a454e1b331ad3bf3cd8f2fcfed9999e /asm
parenta89e8474fdb31e1e1b13a64be4109ce8603f81a3 (diff)
through sub_8090FC4
Diffstat (limited to 'asm')
-rw-r--r--asm/pokemon_storage_system.s2293
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}