diff options
Diffstat (limited to 'asm')
-rw-r--r-- | asm/pokemon_storage_system.s | 1508 |
1 files changed, 6 insertions, 1502 deletions
diff --git a/asm/pokemon_storage_system.s b/asm/pokemon_storage_system.s index bf7e54b2b..b7d7c2896 100644 --- a/asm/pokemon_storage_system.s +++ b/asm/pokemon_storage_system.s @@ -5,1504 +5,8 @@ .text - thumb_func_start sub_8093630 -sub_8093630: @ 8093630 - push {lr} - ldr r0, _08093650 @ =sIsMonBeingMoved - ldrb r0, [r0] - cmp r0, 0 - beq _0809364A - ldr r0, _08093654 @ =gUnknown_20397BC - ldr r1, _08093658 @ =sPSSData - ldr r1, [r1] - ldr r2, _0809365C @ =0x000020a0 - adds r1, r2 - movs r2, 0x64 - bl memcpy -_0809364A: - pop {r0} - bx r0 - .align 2, 0 -_08093650: .4byte sIsMonBeingMoved -_08093654: .4byte gUnknown_20397BC -_08093658: .4byte sPSSData -_0809365C: .4byte 0x000020a0 - thumb_func_end sub_8093630 - - thumb_func_start sub_8093660 -sub_8093660: @ 8093660 - push {lr} - ldr r0, _08093684 @ =sIsMonBeingMoved - ldrb r0, [r0] - cmp r0, 0 - beq _080936A8 - ldr r0, _08093688 @ =sMovingMonOrigBoxId - ldrb r0, [r0] - cmp r0, 0xE - bne _08093698 - ldr r0, _0809368C @ =sPSSData - ldr r0, [r0] - ldr r1, _08093690 @ =0x000020a0 - adds r0, r1 - ldr r1, _08093694 @ =gUnknown_20397BC - movs r2, 0x64 - bl memcpy - b _080936A8 - .align 2, 0 -_08093684: .4byte sIsMonBeingMoved -_08093688: .4byte sMovingMonOrigBoxId -_0809368C: .4byte sPSSData -_08093690: .4byte 0x000020a0 -_08093694: .4byte gUnknown_20397BC -_08093698: - ldr r0, _080936AC @ =sPSSData - ldr r0, [r0] - ldr r1, _080936B0 @ =0x000020a0 - adds r0, r1 - ldr r1, _080936B4 @ =gUnknown_20397BC - movs r2, 0x50 - bl memcpy -_080936A8: - pop {r0} - bx r0 - .align 2, 0 -_080936AC: .4byte sPSSData -_080936B0: .4byte 0x000020a0 -_080936B4: .4byte gUnknown_20397BC - thumb_func_end sub_8093660 - - thumb_func_start sub_80936B8 -sub_80936B8: @ 80936B8 - push {r4,r5,lr} - ldr r0, _080936EC @ =sIsMonBeingMoved - ldrb r5, [r0] - cmp r5, 0 - beq _08093708 - bl sub_8093630 - ldr r3, _080936F0 @ =sPSSData - ldr r1, [r3] - ldr r0, _080936F4 @ =0x0000217c - adds r2, r1, r0 - ldr r0, _080936F8 @ =gUnknown_20397BC - str r0, [r2] - ldr r2, _080936FC @ =0x00002179 - adds r1, r2 - movs r2, 0 - strb r2, [r1] - ldr r0, [r3] - ldr r4, _08093700 @ =0x00002178 - adds r0, r4 - strb r2, [r0] - ldr r0, [r3] - ldr r1, _08093704 @ =0x0000217a - adds r0, r1 - strb r2, [r0] - b _0809379A - .align 2, 0 -_080936EC: .4byte sIsMonBeingMoved -_080936F0: .4byte sPSSData -_080936F4: .4byte 0x0000217c -_080936F8: .4byte gUnknown_20397BC -_080936FC: .4byte 0x00002179 -_08093700: .4byte 0x00002178 -_08093704: .4byte 0x0000217a -_08093708: - ldr r0, _08093744 @ =sBoxCursorArea - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x1 - bne _08093764 - ldr r4, _08093748 @ =sPSSData - ldr r1, [r4] - ldr r0, _0809374C @ =0x0000217c - adds r2, r1, r0 - ldr r0, _08093750 @ =gPlayerParty - str r0, [r2] - ldr r0, _08093754 @ =sBoxCursorPosition - ldrb r0, [r0] - ldr r2, _08093758 @ =0x00002179 - adds r1, r2 - strb r0, [r1] - bl CountPartyMons - ldr r1, [r4] - subs r0, 0x1 - ldr r2, _0809375C @ =0x00002178 - adds r1, r2 - strb r0, [r1] - ldr r0, [r4] - ldr r4, _08093760 @ =0x0000217a - adds r0, r4 - strb r5, [r0] - b _0809379A - .align 2, 0 -_08093744: .4byte sBoxCursorArea -_08093748: .4byte sPSSData -_0809374C: .4byte 0x0000217c -_08093750: .4byte gPlayerParty -_08093754: .4byte sBoxCursorPosition -_08093758: .4byte 0x00002179 -_0809375C: .4byte 0x00002178 -_08093760: .4byte 0x0000217a -_08093764: - bl StorageGetCurrentBox - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl GetBoxedMonPtr - ldr r3, _080937A0 @ =sPSSData - ldr r2, [r3] - ldr r4, _080937A4 @ =0x0000217c - adds r1, r2, r4 - str r0, [r1] - ldr r0, _080937A8 @ =sBoxCursorPosition - ldrb r0, [r0] - ldr r1, _080937AC @ =0x00002179 - adds r2, r1 - strb r0, [r2] - ldr r0, [r3] - ldr r2, _080937B0 @ =0x00002178 - adds r0, r2 - movs r1, 0x1D - strb r1, [r0] - ldr r0, [r3] - subs r4, 0x2 - adds r0, r4 - movs r1, 0x5 - strb r1, [r0] -_0809379A: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080937A0: .4byte sPSSData -_080937A4: .4byte 0x0000217c -_080937A8: .4byte sBoxCursorPosition -_080937AC: .4byte 0x00002179 -_080937B0: .4byte 0x00002178 - thumb_func_end sub_80936B8 - - thumb_func_start sub_80937B4 -sub_80937B4: @ 80937B4 - push {r4,lr} - ldr r0, _080937C4 @ =sIsMonBeingMoved - ldrb r0, [r0] - cmp r0, 0 - beq _080937C8 - bl sub_8093660 - b _080937D0 - .align 2, 0 -_080937C4: .4byte sIsMonBeingMoved -_080937C8: - ldr r4, _080937D8 @ =sBoxCursorPosition - bl GetLastViewedMonIndex - strb r0, [r4] -_080937D0: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080937D8: .4byte sBoxCursorPosition - thumb_func_end sub_80937B4 - - thumb_func_start CompactPartySlots -CompactPartySlots: @ 80937DC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r7, _08093828 @ =0x0000ffff - movs r6, 0 - movs r5, 0 - movs r0, 0x64 - mov r9, r0 - ldr r1, _0809382C @ =gPlayerParty - mov r8, r1 - subs r0, 0x65 - mov r10, r0 -_080937F8: - mov r0, r9 - muls r0, r6 - mov r1, r8 - adds r4, r0, r1 - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - cmp r0, 0 - beq _08093830 - cmp r6, r5 - beq _08093820 - mov r0, r9 - muls r0, r5 - add r0, r8 - adds r1, r4, 0 - movs r2, 0x64 - bl memcpy -_08093820: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - b _0809383A - .align 2, 0 -_08093828: .4byte 0x0000ffff -_0809382C: .4byte gPlayerParty -_08093830: - lsls r0, r7, 16 - asrs r0, 16 - cmp r0, r10 - bne _0809383A - adds r7, r6, 0 -_0809383A: - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0x5 - bls _080937F8 - lsls r7, 16 - cmp r5, 0x5 - bhi _08093862 - movs r6, 0x64 - ldr r4, _08093874 @ =gPlayerParty -_0809384E: - adds r0, r5, 0 - muls r0, r6 - adds r0, r4 - bl ZeroMonData - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x5 - bls _0809384E -_08093862: - asrs r0, r7, 16 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08093874: .4byte gPlayerParty - thumb_func_end CompactPartySlots - - thumb_func_start SetMonMarkings -SetMonMarkings: @ 8093878 - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - mov r1, sp - strb r0, [r1] - ldr r2, _080938A8 @ =sPSSData - ldr r1, [r2] - ldr r3, _080938AC @ =0x00000ce7 - adds r1, r3 - strb r0, [r1] - ldr r0, _080938B0 @ =sIsMonBeingMoved - ldrb r0, [r0] - cmp r0, 0 - beq _080938B8 - ldr r0, [r2] - ldr r1, _080938B4 @ =0x000020a0 - adds r0, r1 - movs r1, 0x8 - mov r2, sp - bl SetMonData - b _080938EC - .align 2, 0 -_080938A8: .4byte sPSSData -_080938AC: .4byte 0x00000ce7 -_080938B0: .4byte sIsMonBeingMoved -_080938B4: .4byte 0x000020a0 -_080938B8: - ldr r4, _080938F4 @ =sBoxCursorArea - movs r0, 0 - ldrsb r0, [r4, r0] - cmp r0, 0x1 - bne _080938D8 - ldr r0, _080938F8 @ =sBoxCursorPosition - movs r1, 0 - ldrsb r1, [r0, r1] - movs r0, 0x64 - muls r0, r1 - ldr r1, _080938FC @ =gPlayerParty - adds r0, r1 - movs r1, 0x8 - mov r2, sp - bl SetMonData -_080938D8: - movs r0, 0 - ldrsb r0, [r4, r0] - cmp r0, 0 - bne _080938EC - ldr r0, _080938F8 @ =sBoxCursorPosition - ldrb r0, [r0] - movs r1, 0x8 - mov r2, sp - bl SetCurrentBoxMonData -_080938EC: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080938F4: .4byte sBoxCursorArea -_080938F8: .4byte sBoxCursorPosition -_080938FC: .4byte gPlayerParty - thumb_func_end SetMonMarkings - - thumb_func_start CanMovePartyMon -CanMovePartyMon: @ 8093900 - push {lr} - ldr r0, _08093928 @ =sBoxCursorArea - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x1 - bne _08093934 - ldr r0, _0809392C @ =sIsMonBeingMoved - ldrb r0, [r0] - cmp r0, 0 - bne _08093934 - ldr r0, _08093930 @ =sBoxCursorPosition - ldrb r0, [r0] - bl CountPartyAliveNonEggMonsExcept - lsls r0, 24 - cmp r0, 0 - bne _08093934 - movs r0, 0x1 - b _08093936 - .align 2, 0 -_08093928: .4byte sBoxCursorArea -_0809392C: .4byte sIsMonBeingMoved -_08093930: .4byte sBoxCursorPosition -_08093934: - movs r0, 0 -_08093936: - pop {r1} - bx r1 - thumb_func_end CanMovePartyMon - - thumb_func_start CanShiftMon -CanShiftMon: @ 809393C - push {lr} - ldr r0, _08093980 @ =sIsMonBeingMoved - ldrb r0, [r0] - cmp r0, 0 - beq _08093998 - ldr r0, _08093984 @ =sBoxCursorArea - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x1 - bne _0809397C - ldr r0, _08093988 @ =sBoxCursorPosition - ldrb r0, [r0] - bl CountPartyAliveNonEggMonsExcept - lsls r0, 24 - cmp r0, 0 - bne _0809397C - ldr r0, _0809398C @ =sPSSData - ldr r1, [r0] - ldr r2, _08093990 @ =0x00000ce9 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0 - bne _08093998 - ldr r2, _08093994 @ =0x000020a0 - adds r0, r1, r2 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - beq _08093998 -_0809397C: - movs r0, 0x1 - b _0809399A - .align 2, 0 -_08093980: .4byte sIsMonBeingMoved -_08093984: .4byte sBoxCursorArea -_08093988: .4byte sBoxCursorPosition -_0809398C: .4byte sPSSData -_08093990: .4byte 0x00000ce9 -_08093994: .4byte 0x000020a0 -_08093998: - movs r0, 0 -_0809399A: - pop {r1} - bx r1 - thumb_func_end CanShiftMon - - thumb_func_start IsMonBeingMoved -IsMonBeingMoved: @ 80939A0 - ldr r0, _080939A8 @ =sIsMonBeingMoved - ldrb r0, [r0] - bx lr - .align 2, 0 -_080939A8: .4byte sIsMonBeingMoved - thumb_func_end IsMonBeingMoved - - thumb_func_start IsCursorOnBox -IsCursorOnBox: @ 80939AC - push {lr} - movs r1, 0 - ldr r0, _080939C4 @ =sBoxCursorArea - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x2 - bne _080939BE - movs r1, 0x1 -_080939BE: - adds r0, r1, 0 - pop {r1} - bx r1 - .align 2, 0 -_080939C4: .4byte sBoxCursorArea - thumb_func_end IsCursorOnBox - - thumb_func_start IsCursorOnCloseBox -IsCursorOnCloseBox: @ 80939C8 - push {lr} - movs r1, 0 - ldr r0, _080939EC @ =sBoxCursorArea - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x3 - bne _080939E6 - ldr r0, _080939F0 @ =sBoxCursorPosition - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x1 - bne _080939E6 - movs r1, 0x1 -_080939E6: - adds r0, r1, 0 - pop {r1} - bx r1 - .align 2, 0 -_080939EC: .4byte sBoxCursorArea -_080939F0: .4byte sBoxCursorPosition - thumb_func_end IsCursorOnCloseBox - - thumb_func_start IsCursorInBox -IsCursorInBox: @ 80939F4 - push {lr} - movs r1, 0 - ldr r0, _08093A0C @ =sBoxCursorArea - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - bne _08093A06 - movs r1, 0x1 -_08093A06: - adds r0, r1, 0 - pop {r1} - bx r1 - .align 2, 0 -_08093A0C: .4byte sBoxCursorArea - thumb_func_end IsCursorInBox - - thumb_func_start sub_8093A10 -sub_8093A10: @ 8093A10 - push {r4,lr} - ldr r0, _08093A44 @ =sPSSData - ldr r1, [r0] - movs r2, 0 - ldr r3, _08093A48 @ =sIsMonBeingMoved - ldrb r0, [r3] - cmp r0, 0 - bne _08093A22 - movs r2, 0x1 -_08093A22: - ldr r4, _08093A4C @ =0x00000ce6 - adds r0, r1, r4 - strb r2, [r0] - ldrb r0, [r3] - cmp r0, 0 - bne _08093AA0 - ldr r0, _08093A50 @ =sBoxCursorArea - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x1 - beq _08093A5A - cmp r0, 0x1 - bgt _08093A54 - cmp r0, 0 - beq _08093A8A - b _08093AA0 - .align 2, 0 -_08093A44: .4byte sPSSData -_08093A48: .4byte sIsMonBeingMoved -_08093A4C: .4byte 0x00000ce6 -_08093A50: .4byte sBoxCursorArea -_08093A54: - cmp r0, 0x3 - bgt _08093AA0 - b _08093A80 -_08093A5A: - ldr r1, _08093A78 @ =sBoxCursorPosition - movs r0, 0 - ldrsb r0, [r1, r0] - cmp r0, 0x5 - bgt _08093A80 - adds r1, r0, 0 - movs r0, 0x64 - muls r0, r1 - ldr r1, _08093A7C @ =gPlayerParty - adds r0, r1 - movs r1, 0 - bl SetCursorMonData - b _08093AA0 - .align 2, 0 -_08093A78: .4byte sBoxCursorPosition -_08093A7C: .4byte gPlayerParty -_08093A80: - movs r0, 0 - movs r1, 0x2 - bl SetCursorMonData - b _08093AA0 -_08093A8A: - bl StorageGetCurrentBox - lsls r0, 24 - lsrs r0, 24 - ldr r1, _08093AA8 @ =sBoxCursorPosition - ldrb r1, [r1] - bl GetBoxedMonPtr - movs r1, 0x1 - bl SetCursorMonData -_08093AA0: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08093AA8: .4byte sBoxCursorPosition - thumb_func_end sub_8093A10 - - thumb_func_start sub_8093AAC -sub_8093AAC: @ 8093AAC - push {lr} - ldr r0, _08093AC0 @ =sIsMonBeingMoved - ldrb r0, [r0] - cmp r0, 0 - beq _08093AC8 - ldr r0, _08093AC4 @ =gUnknown_20397BC - movs r1, 0 - bl SetCursorMonData - b _08093ACC - .align 2, 0 -_08093AC0: .4byte sIsMonBeingMoved -_08093AC4: .4byte gUnknown_20397BC -_08093AC8: - bl sub_8093A10 -_08093ACC: - pop {r0} - bx r0 - thumb_func_end sub_8093AAC - - thumb_func_start SetCursorMonData -SetCursorMonData: @ 8093AD0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - adds r4, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r5, r1, 0 - ldr r0, _08093B38 @ =sPSSData - mov r8, r0 - ldr r1, [r0] - ldr r3, _08093B3C @ =0x00000ce2 - adds r2, r1, r3 - movs r0, 0 - strh r0, [r2] - mov r9, r0 - mov r10, r0 - cmp r5, 0 - bne _08093BEC - adds r6, r4, 0 - adds r0, r4, 0 - movs r1, 0x41 - bl GetMonData - mov r2, r8 - ldr r1, [r2] - movs r3, 0xCE - lsls r3, 4 - adds r1, r3 - strh r0, [r1] - lsls r0, 16 - cmp r0, 0 - bne _08093B16 - b _08093D0C -_08093B16: - adds r0, r4, 0 - movs r1, 0x4 - bl GetMonData - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - cmp r0, 0 - beq _08093B44 - mov r1, r8 - ldr r0, [r1] - ldr r2, _08093B40 @ =0x00000ce9 - adds r0, r2 - movs r1, 0x1 - strb r1, [r0] - b _08093B56 - .align 2, 0 -_08093B38: .4byte sPSSData -_08093B3C: .4byte 0x00000ce2 -_08093B40: .4byte 0x00000ce9 -_08093B44: - adds r0, r4, 0 - movs r1, 0x2D - bl GetMonData - mov r3, r8 - ldr r1, [r3] - ldr r2, _08093BCC @ =0x00000ce9 - adds r1, r2 - strb r0, [r1] -_08093B56: - ldr r4, _08093BD0 @ =sPSSData - ldr r2, [r4] - ldr r5, _08093BD4 @ =0x00000cea - adds r2, r5 - adds r0, r6, 0 - movs r1, 0x2 - bl GetMonData - ldr r0, [r4] - adds r0, r5 - bl StringGetEnd10 - adds r0, r6, 0 - movs r1, 0x38 - bl GetMonData - ldr r1, [r4] - ldr r3, _08093BD8 @ =0x00000ce8 - adds r1, r3 - strb r0, [r1] - adds r0, r6, 0 - movs r1, 0x8 - bl GetMonData - ldr r1, [r4] - ldr r2, _08093BDC @ =0x00000ce7 - adds r1, r2 - strb r0, [r1] - adds r0, r6, 0 - movs r1, 0 - bl GetMonData - ldr r1, [r4] - ldr r3, _08093BE0 @ =0x00000cdc - adds r1, r3 - str r0, [r1] - adds r0, r6, 0 - bl GetMonFrontSpritePal - ldr r1, [r4] - ldr r2, _08093BE4 @ =0x00000cd8 - adds r1, r2 - str r0, [r1] - adds r0, r6, 0 - bl GetMonGender - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - adds r0, r6, 0 - movs r1, 0xC - bl GetMonData - ldr r1, [r4] - ldr r3, _08093BE8 @ =0x00000ce2 - adds r1, r3 - strh r0, [r1] - b _08093CFC - .align 2, 0 -_08093BCC: .4byte 0x00000ce9 -_08093BD0: .4byte sPSSData -_08093BD4: .4byte 0x00000cea -_08093BD8: .4byte 0x00000ce8 -_08093BDC: .4byte 0x00000ce7 -_08093BE0: .4byte 0x00000cdc -_08093BE4: .4byte 0x00000cd8 -_08093BE8: .4byte 0x00000ce2 -_08093BEC: - cmp r5, 0x1 - beq _08093BF2 - b _08093CF0 -_08093BF2: - adds r7, r4, 0 - adds r0, r7, 0 - movs r1, 0x41 - bl GetBoxMonData - mov r2, r8 - ldr r1, [r2] - movs r3, 0xCE - lsls r3, 4 - adds r1, r3 - strh r0, [r1] - lsls r0, 16 - cmp r0, 0 - bne _08093C10 - b _08093D0C -_08093C10: - adds r0, r7, 0 - movs r1, 0x1 - bl GetBoxMonData - mov r9, r0 - adds r0, r7, 0 - movs r1, 0x4 - bl GetBoxMonData - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - cmp r0, 0 - beq _08093C3C - mov r1, r8 - ldr r0, [r1] - ldr r2, _08093C38 @ =0x00000ce9 - adds r0, r2 - strb r5, [r0] - b _08093C4E - .align 2, 0 -_08093C38: .4byte 0x00000ce9 -_08093C3C: - adds r0, r7, 0 - movs r1, 0x2D - bl GetBoxMonData - mov r3, r8 - ldr r1, [r3] - ldr r2, _08093CD0 @ =0x00000ce9 - adds r1, r2 - strb r0, [r1] -_08093C4E: - ldr r5, _08093CD4 @ =sPSSData - ldr r2, [r5] - ldr r4, _08093CD8 @ =0x00000cea - adds r2, r4 - adds r0, r7, 0 - movs r1, 0x2 - bl GetBoxMonData - ldr r0, [r5] - adds r0, r4 - bl StringGetEnd10 - adds r0, r7, 0 - bl GetLevelFromBoxMonExp - ldr r1, [r5] - ldr r3, _08093CDC @ =0x00000ce8 - adds r1, r3 - strb r0, [r1] - adds r0, r7, 0 - movs r1, 0x8 - bl GetBoxMonData - ldr r1, [r5] - ldr r2, _08093CE0 @ =0x00000ce7 - adds r1, r2 - strb r0, [r1] - adds r0, r7, 0 - movs r1, 0 - bl GetBoxMonData - adds r2, r0, 0 - ldr r1, [r5] - ldr r6, _08093CE4 @ =0x00000cdc - adds r0, r1, r6 - str r2, [r0] - subs r4, 0xA - adds r1, r4 - ldrh r0, [r1] - mov r1, r9 - bl GetMonSpritePalFromSpeciesAndPersonality - ldr r1, [r5] - ldr r3, _08093CE8 @ =0x00000cd8 - adds r2, r1, r3 - str r0, [r2] - adds r4, r1, r4 - ldrh r0, [r4] - adds r1, r6 - ldr r1, [r1] - bl GetGenderFromSpeciesAndPersonality - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - adds r0, r7, 0 - movs r1, 0xC - bl GetBoxMonData - ldr r1, [r5] - ldr r2, _08093CEC @ =0x00000ce2 - adds r1, r2 - strh r0, [r1] - b _08093CFC - .align 2, 0 -_08093CD0: .4byte 0x00000ce9 -_08093CD4: .4byte sPSSData -_08093CD8: .4byte 0x00000cea -_08093CDC: .4byte 0x00000ce8 -_08093CE0: .4byte 0x00000ce7 -_08093CE4: .4byte 0x00000cdc -_08093CE8: .4byte 0x00000cd8 -_08093CEC: .4byte 0x00000ce2 -_08093CF0: - movs r3, 0xCE - lsls r3, 4 - adds r0, r1, r3 - mov r1, r9 - strh r1, [r0] - strh r1, [r2] -_08093CFC: - ldr r0, _08093D50 @ =sPSSData - ldr r1, [r0] - movs r2, 0xCE - lsls r2, 4 - adds r0, r1, r2 - ldrh r2, [r0] - cmp r2, 0 - bne _08093D68 -_08093D0C: - ldr r4, _08093D50 @ =sPSSData - ldr r0, [r4] - ldr r3, _08093D54 @ =0x00000cea - adds r0, r3 - movs r1, 0 - movs r2, 0x5 - bl StringFill - ldr r0, [r4] - ldr r1, _08093D58 @ =0x00000cf5 - adds r0, r1 - movs r1, 0 - movs r2, 0x8 - bl StringFill - ldr r0, [r4] - ldr r2, _08093D5C @ =0x00000d19 - adds r0, r2 - movs r1, 0 - movs r2, 0x8 - bl StringFill - ldr r0, [r4] - ldr r3, _08093D60 @ =0x00000d3d - adds r0, r3 - movs r1, 0 - movs r2, 0x8 - bl StringFill - ldr r0, [r4] - ldr r1, _08093D64 @ =0x00000d61 - adds r0, r1 - b _08093DC6 - .align 2, 0 -_08093D50: .4byte sPSSData -_08093D54: .4byte 0x00000cea -_08093D58: .4byte 0x00000cf5 -_08093D5C: .4byte 0x00000d19 -_08093D60: .4byte 0x00000d3d -_08093D64: .4byte 0x00000d61 -_08093D68: - ldr r3, _08093D8C @ =0x00000ce9 - adds r0, r1, r3 - ldrb r0, [r0] - cmp r0, 0 - beq _08093DE8 - mov r0, r10 - cmp r0, 0 - beq _08093D94 - ldr r2, _08093D90 @ =0x00000cf5 - adds r0, r1, r2 - adds r3, 0x1 - adds r1, r3 - movs r2, 0 - movs r3, 0x5 - bl StringCopyPadded - b _08093DA2 - .align 2, 0 -_08093D8C: .4byte 0x00000ce9 -_08093D90: .4byte 0x00000cf5 -_08093D94: - ldr r2, _08093DD0 @ =0x00000cf5 - adds r0, r1, r2 - ldr r1, _08093DD4 @ =gText_EggNickname - movs r2, 0 - movs r3, 0x8 - bl StringCopyPadded -_08093DA2: - ldr r4, _08093DD8 @ =sPSSData - ldr r0, [r4] - ldr r3, _08093DDC @ =0x00000d19 - adds r0, r3 - movs r1, 0 - movs r2, 0x8 - bl StringFill - ldr r0, [r4] - ldr r1, _08093DE0 @ =0x00000d3d - adds r0, r1 - movs r1, 0 - movs r2, 0x8 - bl StringFill - ldr r0, [r4] - ldr r2, _08093DE4 @ =0x00000d61 - adds r0, r2 -_08093DC6: - movs r1, 0 - movs r2, 0x8 - bl StringFill - b _08093F84 - .align 2, 0 -_08093DD0: .4byte 0x00000cf5 -_08093DD4: .4byte gText_EggNickname -_08093DD8: .4byte sPSSData -_08093DDC: .4byte 0x00000d19 -_08093DE0: .4byte 0x00000d3d -_08093DE4: .4byte 0x00000d61 -_08093DE8: - cmp r2, 0x1D - beq _08093DF0 - cmp r2, 0x20 - bne _08093DF4 -_08093DF0: - movs r3, 0xFF - mov r9, r3 -_08093DF4: - ldr r4, _08093E78 @ =sPSSData - ldr r1, [r4] - ldr r2, _08093E7C @ =0x00000cf5 - adds r0, r1, r2 - ldr r3, _08093E80 @ =0x00000cea - adds r1, r3 - movs r2, 0 - movs r3, 0x5 - bl StringCopyPadded - ldr r1, [r4] - ldr r0, _08093E84 @ =0x00000d19 - adds r2, r1, r0 - movs r0, 0xBA - strb r0, [r2] - ldr r3, _08093E88 @ =0x00000d1a - adds r2, r1, r3 - ldr r0, [r4] - movs r1, 0xCE - lsls r1, 4 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0xB - muls r1, r0 - ldr r0, _08093E8C @ =gSpeciesNames - adds r1, r0 - adds r0, r2, 0 - movs r2, 0 - movs r3, 0x5 - bl StringCopyPadded - ldr r4, [r4] - ldr r3, _08093E90 @ =0x00000d3d - adds r2, r4, r3 - movs r0, 0xFC - strb r0, [r2] - ldr r0, _08093E94 @ =0x00000d3e - adds r2, r4, r0 - movs r0, 0x4 - strb r0, [r2] - ldr r1, _08093E98 @ =0x00000d3f - adds r2, r4, r1 - mov r3, r9 - cmp r3, 0 - beq _08093EA4 - cmp r3, 0xFE - beq _08093ED0 - movs r0, 0x2 - strb r0, [r2] - movs r0, 0xD4 - lsls r0, 4 - adds r2, r4, r0 - movs r0, 0x1 - strb r0, [r2] - adds r1, 0x2 - adds r2, r4, r1 - movs r0, 0x3 - strb r0, [r2] - ldr r3, _08093E9C @ =0x00000d42 - adds r2, r4, r3 - movs r0, 0 - strb r0, [r2] - ldr r0, _08093EA0 @ =0x00000d43 - adds r2, r4, r0 - b _08093EF2 - .align 2, 0 -_08093E78: .4byte sPSSData -_08093E7C: .4byte 0x00000cf5 -_08093E80: .4byte 0x00000cea -_08093E84: .4byte 0x00000d19 -_08093E88: .4byte 0x00000d1a -_08093E8C: .4byte gSpeciesNames -_08093E90: .4byte 0x00000d3d -_08093E94: .4byte 0x00000d3e -_08093E98: .4byte 0x00000d3f -_08093E9C: .4byte 0x00000d42 -_08093EA0: .4byte 0x00000d43 -_08093EA4: - strb r0, [r2] - movs r1, 0xD4 - lsls r1, 4 - adds r2, r4, r1 - movs r0, 0x1 - strb r0, [r2] - ldr r3, _08093EC8 @ =0x00000d41 - adds r2, r4, r3 - movs r0, 0x5 - strb r0, [r2] - ldr r0, _08093ECC @ =0x00000d42 - adds r2, r4, r0 - movs r0, 0xB5 - strb r0, [r2] - adds r1, 0x3 - adds r2, r4, r1 - b _08093EF2 - .align 2, 0 -_08093EC8: .4byte 0x00000d41 -_08093ECC: .4byte 0x00000d42 -_08093ED0: - movs r0, 0x6 - strb r0, [r2] - movs r3, 0xD4 - lsls r3, 4 - adds r2, r4, r3 - movs r0, 0x1 - strb r0, [r2] - ldr r0, _08093F60 @ =0x00000d41 - adds r2, r4, r0 - movs r0, 0x7 - strb r0, [r2] - ldr r1, _08093F64 @ =0x00000d42 - adds r2, r4, r1 - movs r0, 0xB6 - strb r0, [r2] - adds r3, 0x3 - adds r2, r4, r3 -_08093EF2: - movs r0, 0xFC - strb r0, [r2] - adds r2, 0x1 - movs r0, 0x4 - strb r0, [r2] - adds r2, 0x1 - movs r0, 0x2 - strb r0, [r2] - adds r2, 0x1 - movs r0, 0x1 - strb r0, [r2] - adds r2, 0x1 - movs r0, 0x3 - strb r0, [r2] - adds r2, 0x1 - movs r5, 0 - strb r5, [r2] - adds r2, 0x1 - movs r0, 0xF9 - strb r0, [r2] - adds r2, 0x1 - movs r0, 0x5 - strb r0, [r2] - adds r2, 0x1 - ldr r4, _08093F68 @ =sPSSData - ldr r0, [r4] - ldr r1, _08093F6C @ =0x00000ce8 - adds r0, r1 - ldrb r1, [r0] - adds r0, r2, 0 - movs r2, 0 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - adds r2, r0, 0 - strb r5, [r2] - movs r0, 0xFF - strb r0, [r2, 0x1] - ldr r4, [r4] - ldr r2, _08093F70 @ =0x00000ce2 - adds r1, r4, r2 - ldrh r0, [r1] - cmp r0, 0 - beq _08093F78 - ldr r3, _08093F74 @ =0x00000d61 - adds r4, r3 - bl ItemId_GetName - adds r1, r0, 0 - adds r0, r4, 0 - movs r2, 0 - movs r3, 0x8 - bl StringCopyPadded - b _08093F84 - .align 2, 0 -_08093F60: .4byte 0x00000d41 -_08093F64: .4byte 0x00000d42 -_08093F68: .4byte sPSSData -_08093F6C: .4byte 0x00000ce8 -_08093F70: .4byte 0x00000ce2 -_08093F74: .4byte 0x00000d61 -_08093F78: - ldr r1, _08093F94 @ =0x00000d61 - adds r0, r4, r1 - movs r1, 0 - movs r2, 0x8 - bl StringFill -_08093F84: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08093F94: .4byte 0x00000d61 - thumb_func_end SetCursorMonData - - thumb_func_start sub_8093F98 -sub_8093F98: @ 8093F98 - push {lr} - ldr r0, _08093FB8 @ =sPSSData - ldr r0, [r0] - ldr r1, _08093FBC @ =0x000021ef - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x1 - beq _08093FC0 - cmp r0, 0x1 - ble _08093FB0 - cmp r0, 0x2 - beq _08093FC6 -_08093FB0: - bl sub_8093FD4 - b _08093FCA - .align 2, 0 -_08093FB8: .4byte sPSSData -_08093FBC: .4byte 0x000021ef -_08093FC0: - bl sub_8094240 - b _08093FCA -_08093FC6: - bl sub_8094378 -_08093FCA: - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end sub_8093F98 - - thumb_func_start sub_8093FD4 -sub_8093FD4: @ 8093FD4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r0, _08094058 @ =sBoxCursorArea - ldrb r0, [r0] - mov r8, r0 - ldr r2, _0809405C @ =sBoxCursorPosition - ldrb r4, [r2] - ldr r5, _08094060 @ =sPSSData - ldr r0, [r5] - ldr r1, _08094064 @ =0x00000cce - mov r10, r1 - add r0, r10 - movs r1, 0 - strb r1, [r0] - ldr r0, [r5] - ldr r7, _08094068 @ =0x00000ccf - adds r0, r7 - strb r1, [r0] - ldr r0, [r5] - ldr r3, _0809406C @ =0x00000cd3 - mov r9, r3 - add r0, r9 - strb r1, [r0] - ldr r6, _08094070 @ =gMain - ldrh r1, [r6, 0x30] - movs r0, 0x40 - ands r0, r1 - adds r3, r2, 0 - cmp r0, 0 - beq _08094018 - b _08094208 -_08094018: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08094074 - movs r6, 0x1 - lsls r0, r4, 24 - movs r1, 0xC0 - lsls r1, 19 - adds r0, r1 - lsrs r4, r0, 24 - asrs r0, 24 - cmp r0, 0x1D - bgt _08094034 - b _08094224 -_08094034: - movs r2, 0x3 - mov r8, r2 - subs r0, 0x1E - lsls r0, 24 - asrs r0, 24 - movs r1, 0x3 - bl __divsi3 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, [r5] - add r0, r10 - strb r6, [r0] - ldr r0, [r5] - add r0, r9 - strb r6, [r0] - b _08094224 - .align 2, 0 -_08094058: .4byte sBoxCursorArea -_0809405C: .4byte sBoxCursorPosition -_08094060: .4byte sPSSData -_08094064: .4byte 0x00000cce -_08094068: .4byte 0x00000ccf -_0809406C: .4byte 0x00000cd3 -_08094070: .4byte gMain -_08094074: - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _080940AA - movs r6, 0x1 - movs r0, 0 - ldrsb r0, [r3, r0] - movs r1, 0x6 - bl __modsi3 - lsls r0, 24 - cmp r0, 0 - beq _08094096 - lsls r0, r4, 24 - movs r3, 0xFF - lsls r3, 24 - b _08094218 -_08094096: - ldr r0, [r5] - adds r0, r7 - movs r1, 0xFF - strb r1, [r0] - lsls r0, r4, 24 - movs r1, 0xA0 - lsls r1, 19 - adds r0, r1 - lsrs r4, r0, 24 - b _08094224 -_080940AA: - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080940DE - movs r6, 0x1 - movs r0, 0 - ldrsb r0, [r3, r0] - adds r0, 0x1 - movs r1, 0x6 - bl __modsi3 - cmp r0, 0 - beq _080940D0 - lsls r0, r4, 24 - movs r2, 0x80 - lsls r2, 17 - adds r0, r2 - lsrs r4, r0, 24 - b _08094224 -_080940D0: - ldr r0, [r5] - adds r0, r7 - strb r6, [r0] - lsls r0, r4, 24 - movs r3, 0xFB - lsls r3, 24 - b _08094218 -_080940DE: - ldrh r1, [r6, 0x2E] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _080940EC - movs r6, 0x1 - b _0809421E -_080940EC: - movs r4, 0x1 - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080941B0 - bl sub_8094924 - lsls r0, 24 - cmp r0, 0 - beq _080941B0 - ldr r0, _0809410C @ =sCanOnlyMove - ldrb r0, [r0] - cmp r0, 0 - bne _08094110 - movs r0, 0x8 - b _08094232 - .align 2, 0 -_0809410C: .4byte sCanOnlyMove -_08094110: - ldr r1, [r5] - ldrb r0, [r1, 0x1] - cmp r0, 0x2 - bne _08094120 - ldr r0, _0809413C @ =sIsMonBeingMoved - ldrb r0, [r0] - cmp r0, 0x1 - bne _080941A0 -_08094120: - movs r0, 0 - bl sub_8094E50 - subs r0, 0x1 - lsls r0, 24 - asrs r0, 24 - cmp r0, 0xE - bhi _080941B0 - lsls r0, 2 - ldr r1, _08094140 @ =_08094144 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0809413C: .4byte sIsMonBeingMoved -_08094140: .4byte _08094144 - .align 2, 0 -_08094144: - .4byte _08094180 - .4byte _08094184 - .4byte _08094188 - .4byte _0809418C - .4byte _08094190 - .4byte _080941B0 - .4byte _080941B0 - .4byte _080941B0 - .4byte _080941B0 - .4byte _080941B0 - .4byte _080941B0 - .4byte _08094194 - .4byte _08094198 - .4byte _080941B0 - .4byte _0809419C -_08094180: - movs r0, 0xB - b _08094232 -_08094184: - movs r0, 0xC - b _08094232 -_08094188: - movs r0, 0xD - b _08094232 -_0809418C: - movs r0, 0xE - b _08094232 -_08094190: - movs r0, 0xF - b _08094232 -_08094194: - movs r0, 0x10 - b _08094232 -_08094198: - movs r0, 0x11 - b _08094232 -_0809419C: - movs r0, 0x12 - b _08094232 -_080941A0: - ldr r2, _080941AC @ =0x000021ef - adds r0, r1, r2 - strb r4, [r0] - movs r0, 0x14 - b _08094232 - .align 2, 0 -_080941AC: .4byte 0x000021ef -_080941B0: - ldr r2, _080941C0 @ =gMain - ldrh r1, [r2, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080941C4 - movs r0, 0x13 - b _08094232 - .align 2, 0 -_080941C0: .4byte gMain -_080941C4: - ldr r0, _080941E0 @ =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x13] - cmp r0, 0x1 - bne _080941F2 - ldrh r1, [r2, 0x2C] - movs r0, 0x80 - lsls r0, 2 - ands r0, r1 - cmp r0, 0 - beq _080941E4 - movs r0, 0xA - b _08094232 - .align 2, 0 -_080941E0: .4byte gSaveBlock2Ptr -_080941E4: - movs r0, 0x80 - lsls r0, 1 - ands r0, r1 - cmp r0, 0 - beq _080941F2 - movs r0, 0x9 - b _08094232 -_080941F2: - ldrh r1, [r2, 0x2E] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _08094204 - bl sub_8094C84 - movs r0, 0 - b _08094232 -_08094204: - movs r6, 0 - b _08094230 -_08094208: - movs r6, 0x1 - movs r0, 0 - ldrsb r0, [r2, r0] - cmp r0, 0x5 - ble _0809421E - lsls r0, r4, 24 - movs r3, 0xFA - lsls r3, 24 -_08094218: - adds r0, r3 - lsrs r4, r0, 24 - b _08094224 -_0809421E: - movs r0, 0x2 - mov r8, r0 - movs r4, 0 -_08094224: - cmp r6, 0 - beq _08094230 - mov r0, r8 - adds r1, r4, 0 - bl sub_80927E8 -_08094230: - adds r0, r6, 0 -_08094232: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8093FD4 - - thumb_func_start sub_8094240 -sub_8094240: @ 8094240 + thumb_func_start InBoxInput_GrabbingMultiple +InBoxInput_GrabbingMultiple: @ 8094240 push {r4,lr} ldr r1, _08094270 @ =gMain ldrh r0, [r1, 0x2C] @@ -1653,10 +157,10 @@ _08094364: _0809436C: .4byte sPSSData _08094370: .4byte 0x000021ef _08094374: .4byte 0x00000cb4 - thumb_func_end sub_8094240 + thumb_func_end InBoxInput_GrabbingMultiple - thumb_func_start sub_8094378 -sub_8094378: @ 8094378 + thumb_func_start InBoxInput_MovingMultiple +InBoxInput_MovingMultiple: @ 8094378 push {r4,lr} ldr r2, _0809439C @ =gMain ldrh r1, [r2, 0x30] @@ -1795,7 +299,7 @@ _08094484: pop {r4} pop {r1} bx r1 - thumb_func_end sub_8094378 + thumb_func_end InBoxInput_MovingMultiple thumb_func_start sub_809448C sub_809448C: @ 809448C |