diff options
Diffstat (limited to 'asm')
-rw-r--r-- | asm/item.s | 1308 |
1 files changed, 0 insertions, 1308 deletions
diff --git a/asm/item.s b/asm/item.s deleted file mode 100644 index b86eab8e6..000000000 --- a/asm/item.s +++ /dev/null @@ -1,1308 +0,0 @@ - .include "constants/gba_constants.inc" - .include "constants/species_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start CopyItemName -CopyItemName: @ 80A9224 - push {r4,lr} - adds r4, r1, 0 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xAF - bne _080A924C - movs r0, 0x2B - bl GetBerryInfo - adds r1, r0, 0 - adds r0, r4, 0 - bl StringCopy - ldr r1, _080A9248 @ =gOtherText_Berry2 - adds r0, r4, 0 - bl StringAppend - b _080A9258 - .align 2, 0 -_080A9248: .4byte gOtherText_Berry2 -_080A924C: - bl ItemId_GetItem - adds r1, r0, 0 - adds r0, r4, 0 - bl StringCopy -_080A9258: - pop {r4} - pop {r0} - bx r0 - thumb_func_end CopyItemName - - thumb_func_start CountUsedBagPocketSlots -CountUsedBagPocketSlots: @ 80A9260 - push {lr} - lsls r0, 24 - movs r2, 0 - ldr r1, _080A9284 @ =gBagPockets - lsrs r0, 21 - adds r0, r1 - ldrb r1, [r0, 0x4] - cmp r2, r1 - bcs _080A9292 - ldr r3, [r0] -_080A9274: - lsls r0, r2, 2 - adds r0, r3 - ldrh r0, [r0] - cmp r0, 0 - bne _080A9288 - lsls r0, r2, 24 - asrs r0, 24 - b _080A9296 - .align 2, 0 -_080A9284: .4byte gBagPockets -_080A9288: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, r1 - bcc _080A9274 -_080A9292: - movs r0, 0x1 - negs r0, r0 -_080A9296: - pop {r1} - bx r1 - thumb_func_end CountUsedBagPocketSlots - - thumb_func_start IsBagPocketNonEmpty -IsBagPocketNonEmpty: @ 80A929C - push {lr} - lsls r0, 24 - movs r2, 0 - ldr r1, _080A92C0 @ =gBagPockets - lsrs r0, 21 - subs r0, 0x8 - adds r0, r1 - ldrb r1, [r0, 0x4] - cmp r2, r1 - bcs _080A92CE - ldr r3, [r0] -_080A92B2: - lsls r0, r2, 2 - adds r0, r3 - ldrh r0, [r0] - cmp r0, 0 - beq _080A92C4 - movs r0, 0x1 - b _080A92D0 - .align 2, 0 -_080A92C0: .4byte gBagPockets -_080A92C4: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, r1 - bcc _080A92B2 -_080A92CE: - movs r0, 0 -_080A92D0: - pop {r1} - bx r1 - thumb_func_end IsBagPocketNonEmpty - - thumb_func_start CheckBagHasItem -CheckBagHasItem: @ 80A92D4 - push {r4-r7,lr} - lsls r0, 16 - lsrs r5, r0, 16 - lsls r1, 16 - lsrs r4, r1, 16 - adds r0, r5, 0 - bl ItemId_GetPocket - lsls r0, 24 - cmp r0, 0 - bne _080A92F0 - b _080A9336 -_080A92EC: - movs r0, 0x1 - b _080A9338 -_080A92F0: - adds r0, r5, 0 - bl ItemId_GetPocket - subs r0, 0x1 - lsls r0, 24 - movs r3, 0 - ldr r6, _080A9340 @ =gBagPockets - lsrs r2, r0, 21 - adds r0, r2, r6 - ldrb r0, [r0, 0x4] - cmp r3, r0 - bcs _080A9336 - adds r7, r6, 0 -_080A930A: - adds r0, r2, r7 - ldr r1, [r0] - lsls r0, r3, 2 - adds r1, r0, r1 - ldrh r0, [r1] - cmp r0, r5 - bne _080A9328 - ldrh r0, [r1, 0x2] - cmp r0, r4 - bcs _080A92EC - subs r0, r4, r0 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0 - beq _080A92EC -_080A9328: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - adds r0, r2, r6 - ldrb r0, [r0, 0x4] - cmp r3, r0 - bcc _080A930A -_080A9336: - movs r0, 0 -_080A9338: - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080A9340: .4byte gBagPockets - thumb_func_end CheckBagHasItem - - thumb_func_start CheckBagHasSpace -CheckBagHasSpace: @ 80A9344 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 16 - lsrs r6, r0, 16 - lsls r1, 16 - lsrs r4, r1, 16 - adds r0, r6, 0 - bl ItemId_GetPocket - lsls r0, 24 - cmp r0, 0 - beq _080A9408 - adds r0, r6, 0 - bl ItemId_GetPocket - subs r0, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - ldr r5, _080A940C @ =0x000003e7 - cmp r1, 0x3 - beq _080A9376 - movs r5, 0x63 -_080A9376: - movs r3, 0 - ldr r0, _080A9410 @ =gBagPockets - mov r8, r0 - lsls r2, r1, 3 - adds r0, r2, r0 - mov r12, r8 - mov r9, r2 - ldrb r0, [r0, 0x4] - cmp r3, r0 - bcs _080A93CA - mov r10, r12 - subs r0, r1, 0x2 - lsls r0, 24 - lsrs r7, r0, 24 -_080A9392: - mov r1, r10 - adds r0, r2, r1 - ldr r1, [r0] - lsls r0, r3, 2 - adds r1, r0, r1 - ldrh r0, [r1] - cmp r0, r6 - bne _080A93BA - ldrh r1, [r1, 0x2] - adds r0, r1, r4 - cmp r0, r5 - ble _080A9414 - cmp r7, 0x1 - bls _080A9408 - subs r0, r5, r1 - subs r0, r4, r0 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0 - beq _080A9414 -_080A93BA: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - mov r1, r8 - adds r0, r2, r1 - ldrb r0, [r0, 0x4] - cmp r3, r0 - bcc _080A9392 -_080A93CA: - cmp r4, 0 - beq _080A9414 - movs r3, 0 - mov r6, r12 - mov r2, r9 - adds r0, r2, r6 - ldrb r0, [r0, 0x4] - cmp r3, r0 - bcs _080A9404 - adds r7, r6, 0 -_080A93DE: - adds r0, r2, r7 - ldr r1, [r0] - lsls r0, r3, 2 - adds r0, r1 - ldrh r0, [r0] - cmp r0, 0 - bne _080A93F6 - cmp r4, r5 - bls _080A9414 - subs r0, r4, r5 - lsls r0, 16 - lsrs r4, r0, 16 -_080A93F6: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - adds r0, r2, r6 - ldrb r0, [r0, 0x4] - cmp r3, r0 - bcc _080A93DE -_080A9404: - cmp r4, 0 - beq _080A9414 -_080A9408: - movs r0, 0 - b _080A9416 - .align 2, 0 -_080A940C: .4byte 0x000003e7 -_080A9410: .4byte gBagPockets -_080A9414: - movs r0, 0x1 -_080A9416: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end CheckBagHasSpace - - thumb_func_start AddBagItem -AddBagItem: @ 80A9424 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x100 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - lsls r1, 16 - lsrs r4, r1, 16 - bl ItemId_GetPocket - lsls r0, 24 - cmp r0, 0 - beq _080A9510 - mov r0, r8 - bl ItemId_GetPocket - subs r0, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r1, _080A94F8 @ =gBagPockets - lsls r0, r6, 3 - adds r5, r0, r1 - ldr r1, [r5] - ldrb r2, [r5, 0x4] - lsls r2, 2 - mov r0, sp - bl memcpy - ldr r7, _080A94FC @ =0x000003e7 - cmp r6, 0x3 - beq _080A9468 - movs r7, 0x63 -_080A9468: - movs r1, 0 - ldrb r0, [r5, 0x4] - cmp r1, r0 - bcs _080A94B2 - subs r0, r6, 0x2 - lsls r0, 24 - lsrs r0, 24 - mov r12, r0 -_080A9478: - lsls r0, r1, 2 - mov r2, sp - adds r3, r2, r0 - ldrh r0, [r3] - cmp r0, r8 - bne _080A94A6 - ldrh r2, [r3, 0x2] - adds r0, r2, r4 - cmp r0, r7 - ble _080A9500 - mov r0, r12 - cmp r0, 0x1 - bls _080A9510 - subs r0, r7, r2 - subs r0, r4, r0 - lsls r0, 16 - lsrs r4, r0, 16 - strh r7, [r3, 0x2] - ldr r2, _080A94F8 @ =gBagPockets - mov r9, r2 - lsls r3, r6, 3 - cmp r4, 0 - beq _080A9516 -_080A94A6: - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - ldrb r0, [r5, 0x4] - cmp r1, r0 - bcc _080A9478 -_080A94B2: - ldr r2, _080A94F8 @ =gBagPockets - mov r9, r2 - lsls r3, r6, 3 - cmp r4, 0 - beq _080A9516 - movs r1, 0 - adds r0, r3, r2 - ldrb r0, [r0, 0x4] - cmp r1, r0 - bcs _080A94F2 - mov r6, r9 - adds r5, r3, r6 -_080A94CA: - lsls r0, r1, 2 - mov r6, sp - adds r2, r6, r0 - ldrh r0, [r2] - cmp r0, 0 - bne _080A94E6 - mov r0, r8 - strh r0, [r2] - cmp r4, r7 - bls _080A9514 - subs r0, r4, r7 - lsls r0, 16 - lsrs r4, r0, 16 - strh r7, [r2, 0x2] -_080A94E6: - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - ldrb r2, [r5, 0x4] - cmp r1, r2 - bcc _080A94CA -_080A94F2: - cmp r4, 0 - beq _080A9516 - b _080A9510 - .align 2, 0 -_080A94F8: .4byte gBagPockets -_080A94FC: .4byte 0x000003e7 -_080A9500: - strh r0, [r3, 0x2] - ldr r0, _080A950C @ =gBagPockets - lsls r1, r6, 3 - adds r1, r0 - b _080A951A - .align 2, 0 -_080A950C: .4byte gBagPockets -_080A9510: - movs r0, 0 - b _080A9528 -_080A9514: - strh r4, [r2, 0x2] -_080A9516: - mov r6, r9 - adds r1, r3, r6 -_080A951A: - ldr r0, [r1] - ldrb r2, [r1, 0x4] - lsls r2, 2 - mov r1, sp - bl memcpy - movs r0, 0x1 -_080A9528: - add sp, 0x100 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end AddBagItem - - thumb_func_start RemoveBagItem -RemoveBagItem: @ 80A9538 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 16 - lsrs r6, r0, 16 - lsls r1, 16 - lsrs r4, r1, 16 - movs r7, 0 - adds r0, r6, 0 - bl ItemId_GetPocket - lsls r0, 24 - cmp r0, 0 - beq _080A959E - cmp r6, 0 - beq _080A959E - adds r0, r6, 0 - bl ItemId_GetPocket - subs r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r12, r0 - movs r5, 0 - ldr r1, _080A95A4 @ =gBagPockets - lsls r2, r0, 3 - adds r0, r2, r1 - ldrb r0, [r0, 0x4] - cmp r5, r0 - bcs _080A959A - mov r8, r1 -_080A9576: - mov r0, r8 - adds r3, r2, r0 - ldr r0, [r3] - lsls r1, r5, 2 - adds r1, r0 - ldrh r0, [r1] - cmp r0, r6 - bne _080A958E - ldrh r0, [r1, 0x2] - adds r0, r7, r0 - lsls r0, 16 - lsrs r7, r0, 16 -_080A958E: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - ldrb r3, [r3, 0x4] - cmp r5, r3 - bcc _080A9576 -_080A959A: - cmp r7, r4 - bcs _080A95A8 -_080A959E: - movs r0, 0 - b _080A9664 - .align 2, 0 -_080A95A4: .4byte gBagPockets -_080A95A8: - ldr r0, _080A95DC @ =gBagPockets - mov r2, r12 - lsls r1, r2, 3 - adds r5, r1, r0 - ldr r2, _080A95E0 @ =gUnknown_02038560 - ldrb r3, [r5, 0x4] - mov r8, r0 - adds r7, r1, 0 - ldrb r0, [r2] - cmp r3, r0 - bls _080A9606 - ldrb r0, [r2] - ldr r1, [r5] - lsls r0, 2 - adds r1, r0, r1 - ldrh r0, [r1] - cmp r0, r6 - bne _080A9606 - ldrh r0, [r1, 0x2] - cmp r0, r4 - bcc _080A95E4 - subs r0, r4 - strh r0, [r1, 0x2] - movs r4, 0 - b _080A95EE - .align 2, 0 -_080A95DC: .4byte gBagPockets -_080A95E0: .4byte gUnknown_02038560 -_080A95E4: - subs r0, r4, r0 - lsls r0, 16 - lsrs r4, r0, 16 - movs r0, 0 - strh r0, [r1, 0x2] -_080A95EE: - mov r1, r8 - adds r0, r7, r1 - ldrb r1, [r2] - ldr r0, [r0] - lsls r1, 2 - adds r1, r0 - ldrh r0, [r1, 0x2] - cmp r0, 0 - bne _080A9602 - strh r0, [r1] -_080A9602: - cmp r4, 0 - beq _080A9662 -_080A9606: - movs r5, 0 - adds r1, r7, 0 - mov r2, r8 - adds r0, r1, r2 - ldrb r2, [r0, 0x4] - cmp r5, r2 - bcs _080A9662 - mov r12, r8 - adds r3, r0, 0 -_080A9618: - mov r2, r12 - adds r0, r1, r2 - ldr r0, [r0] - lsls r1, r5, 2 - adds r2, r1, r0 - ldrh r0, [r2] - cmp r0, r6 - bne _080A9650 - ldrh r0, [r2, 0x2] - cmp r0, r4 - bcc _080A9636 - subs r0, r4 - strh r0, [r2, 0x2] - movs r4, 0 - b _080A9640 -_080A9636: - subs r0, r4, r0 - lsls r0, 16 - lsrs r4, r0, 16 - movs r0, 0 - strh r0, [r2, 0x2] -_080A9640: - ldr r0, [r3] - adds r1, r0 - ldrh r0, [r1, 0x2] - cmp r0, 0 - bne _080A964C - strh r0, [r1] -_080A964C: - cmp r4, 0 - beq _080A9662 -_080A9650: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - adds r1, r7, 0 - mov r2, r8 - adds r0, r1, r2 - ldrb r0, [r0, 0x4] - cmp r5, r0 - bcc _080A9618 -_080A9662: - movs r0, 0x1 -_080A9664: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end RemoveBagItem - - thumb_func_start GetPocketByItemId -GetPocketByItemId: @ 80A9670 - push {lr} - lsls r0, 16 - lsrs r0, 16 - bl ItemId_GetPocket - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end GetPocketByItemId - - thumb_func_start ClearItemSlots -ClearItemSlots: @ 80A9684 - push {r4,lr} - adds r4, r0, 0 - lsls r1, 24 - movs r2, 0 - lsrs r1, 24 - cmp r2, r1 - bcs _080A96A6 - movs r3, 0 -_080A9694: - lsls r0, r2, 2 - adds r0, r4 - strh r3, [r0] - strh r3, [r0, 0x2] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, r1 - bcc _080A9694 -_080A96A6: - pop {r4} - pop {r0} - bx r0 - thumb_func_end ClearItemSlots - - thumb_func_start FindFreePCItemSlot -FindFreePCItemSlot: @ 80A96AC - push {lr} - movs r1, 0 - ldr r3, _080A96CC @ =gSaveBlock1 - movs r2, 0x93 - lsls r2, 3 -_080A96B6: - lsls r0, r1, 24 - asrs r1, r0, 24 - lsls r0, r1, 2 - adds r0, r3 - adds r0, r2 - ldrh r0, [r0] - cmp r0, 0 - bne _080A96D0 - adds r0, r1, 0 - b _080A96E0 - .align 2, 0 -_080A96CC: .4byte gSaveBlock1 -_080A96D0: - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - asrs r0, 24 - cmp r0, 0x31 - ble _080A96B6 - movs r0, 0x1 - negs r0, r0 -_080A96E0: - pop {r1} - bx r1 - thumb_func_end FindFreePCItemSlot - - thumb_func_start CountUsedPCItemSlots -CountUsedPCItemSlots: @ 80A96E4 - push {r4,lr} - movs r2, 0 - movs r1, 0 - ldr r4, _080A9714 @ =gSaveBlock1 - movs r3, 0x93 - lsls r3, 3 -_080A96F0: - lsls r0, r1, 2 - adds r0, r4 - adds r0, r3 - ldrh r0, [r0] - cmp r0, 0 - beq _080A9702 - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 -_080A9702: - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x31 - bls _080A96F0 - adds r0, r2, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080A9714: .4byte gSaveBlock1 - thumb_func_end CountUsedPCItemSlots - - thumb_func_start CheckPCHasItem -CheckPCHasItem: @ 80A9718 - push {r4-r7,lr} - lsls r0, 16 - lsrs r4, r0, 16 - lsls r1, 16 - lsrs r1, 16 - movs r3, 0 - ldr r7, _080A9744 @ =gSaveBlock1 - movs r6, 0x93 - lsls r6, 3 - ldr r5, _080A9748 @ =0x0000049a -_080A972C: - lsls r0, r3, 2 - adds r2, r0, r7 - adds r0, r2, r6 - ldrh r0, [r0] - cmp r0, r4 - bne _080A974C - adds r0, r2, r5 - ldrh r0, [r0] - cmp r0, r1 - bcc _080A974C - movs r0, 0x1 - b _080A9758 - .align 2, 0 -_080A9744: .4byte gSaveBlock1 -_080A9748: .4byte 0x0000049a -_080A974C: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x31 - bls _080A972C - movs r0, 0 -_080A9758: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end CheckPCHasItem - - thumb_func_start AddPCItem -AddPCItem: @ 80A9760 - push {r4-r7,lr} - sub sp, 0xC8 - lsls r0, 16 - lsrs r6, r0, 16 - lsls r1, 16 - lsrs r4, r1, 16 - ldr r1, _080A97C4 @ =gSaveBlock1 + 0x498 - mov r0, sp - movs r2, 0xC8 - bl memcpy - movs r5, 0 - ldr r0, _080A97C8 @ =0x0000fc19 - adds r7, r0, 0 -_080A977C: - lsls r0, r5, 2 - mov r1, sp - adds r2, r1, r0 - ldrh r0, [r2] - cmp r0, r6 - bne _080A97A0 - ldrh r1, [r2, 0x2] - adds r0, r1, r4 - ldr r3, _080A97CC @ =0x000003e7 - cmp r0, r3 - ble _080A97D0 - adds r0, r4, r7 - adds r0, r1, r0 - lsls r0, 16 - lsrs r4, r0, 16 - strh r3, [r2, 0x2] - cmp r4, 0 - beq _080A97DC -_080A97A0: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x31 - bls _080A977C - cmp r4, 0 - beq _080A97DC - bl FindFreePCItemSlot - lsls r0, 24 - asrs r1, r0, 24 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - bne _080A97D4 - movs r0, 0 - b _080A97E8 - .align 2, 0 -_080A97C4: .4byte gSaveBlock1 + 0x498 -_080A97C8: .4byte 0x0000fc19 -_080A97CC: .4byte 0x000003e7 -_080A97D0: - strh r0, [r2, 0x2] - b _080A97DC -_080A97D4: - lsls r0, r1, 2 - add r0, sp - strh r6, [r0] - strh r4, [r0, 0x2] -_080A97DC: - ldr r0, _080A97F0 @ =gSaveBlock1 + 0x498 - mov r1, sp - movs r2, 0xC8 - bl memcpy - movs r0, 0x1 -_080A97E8: - add sp, 0xC8 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080A97F0: .4byte gSaveBlock1 + 0x498 - thumb_func_end AddPCItem - - thumb_func_start RemovePCItem -RemovePCItem: @ 80A97F4 - push {lr} - lsls r0, 24 - lsls r1, 16 - lsrs r1, 16 - ldr r2, _080A9824 @ =gSaveBlock1 - lsrs r0, 22 - adds r3, r0, r2 - ldr r0, _080A9828 @ =0x0000049a - adds r2, r3, r0 - ldrh r0, [r2] - subs r0, r1 - strh r0, [r2] - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0 - bne _080A9820 - movs r2, 0x93 - lsls r2, 3 - adds r0, r3, r2 - strh r1, [r0] - bl CompactPCItems -_080A9820: - pop {r0} - bx r0 - .align 2, 0 -_080A9824: .4byte gSaveBlock1 -_080A9828: .4byte 0x0000049a - thumb_func_end RemovePCItem - - thumb_func_start CompactPCItems -CompactPCItems: @ 80A982C - push {r4-r7,lr} - movs r2, 0 - ldr r0, _080A987C @ =gSaveBlock1 - mov r12, r0 -_080A9834: - adds r1, r2, 0x1 - lsls r0, r1, 16 - lsrs r3, r0, 16 - adds r7, r1, 0 - cmp r3, 0x31 - bhi _080A986C - lsls r1, r2, 2 - mov r2, r12 - adds r0, r1, r2 - movs r2, 0x93 - lsls r2, 3 - adds r5, r0, r2 - ldr r6, _080A9880 @ =gSaveBlock1 + 0x498 - adds r4, r1, r6 -_080A9850: - ldrh r0, [r5] - cmp r0, 0 - bne _080A9862 - ldr r2, [r4] - lsls r1, r3, 2 - adds r1, r6 - ldr r0, [r1] - str r0, [r4] - str r2, [r1] -_080A9862: - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0x31 - bls _080A9850 -_080A986C: - lsls r0, r7, 16 - lsrs r2, r0, 16 - cmp r2, 0x30 - bls _080A9834 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080A987C: .4byte gSaveBlock1 -_080A9880: .4byte gSaveBlock1 + 0x498 - thumb_func_end CompactPCItems - - thumb_func_start SwapRegisteredBike -SwapRegisteredBike: @ 80A9884 - push {lr} - ldr r0, _080A98A0 @ =gSaveBlock1 - ldr r1, _080A98A4 @ =0x00000496 - adds r2, r0, r1 - ldrh r1, [r2] - ldr r3, _080A98A8 @ =0x00000103 - cmp r1, r3 - beq _080A98AC - movs r0, 0x88 - lsls r0, 1 - cmp r1, r0 - beq _080A98B4 - b _080A98B6 - .align 2, 0 -_080A98A0: .4byte gSaveBlock1 -_080A98A4: .4byte 0x00000496 -_080A98A8: .4byte 0x00000103 -_080A98AC: - movs r0, 0x88 - lsls r0, 1 - strh r0, [r2] - b _080A98B6 -_080A98B4: - strh r3, [r2] -_080A98B6: - pop {r0} - bx r0 - thumb_func_end SwapRegisteredBike - - thumb_func_start SanitizeItemId -SanitizeItemId: @ 80A98BC - push {lr} - lsls r0, 16 - lsrs r1, r0, 16 - movs r0, 0xAE - lsls r0, 1 - cmp r1, r0 - bhi _080A98CE - adds r0, r1, 0 - b _080A98D0 -_080A98CE: - movs r0, 0 -_080A98D0: - pop {r1} - bx r1 - thumb_func_end SanitizeItemId - - thumb_func_start ItemId_GetItem -ItemId_GetItem: @ 80A98D4 - push {lr} - lsls r0, 16 - lsrs r0, 16 - bl SanitizeItemId - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x2C - muls r0, r1 - ldr r1, _080A98F0 @ =gItems - adds r0, r1 - pop {r1} - bx r1 - .align 2, 0 -_080A98F0: .4byte gItems - thumb_func_end ItemId_GetItem - - thumb_func_start ItemId_GetId -ItemId_GetId: @ 80A98F4 - push {r4,lr} - lsls r0, 16 - lsrs r0, 16 - ldr r4, _080A9914 @ =gItems - bl SanitizeItemId - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x2C - muls r0, r1 - adds r0, r4 - ldrh r0, [r0, 0xE] - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080A9914: .4byte gItems - thumb_func_end ItemId_GetId - - thumb_func_start ItemId_GetPrice -ItemId_GetPrice: @ 80A9918 - push {r4,lr} - lsls r0, 16 - lsrs r0, 16 - ldr r4, _080A9938 @ =gItems - bl SanitizeItemId - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x2C - muls r0, r1 - adds r0, r4 - ldrh r0, [r0, 0x10] - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080A9938: .4byte gItems - thumb_func_end ItemId_GetPrice - - thumb_func_start ItemId_GetHoldEffect -ItemId_GetHoldEffect: @ 80A993C - push {r4,lr} - lsls r0, 16 - lsrs r0, 16 - ldr r4, _080A995C @ =gItems - bl SanitizeItemId - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x2C - muls r0, r1 - adds r0, r4 - ldrb r0, [r0, 0x12] - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080A995C: .4byte gItems - thumb_func_end ItemId_GetHoldEffect - - thumb_func_start ItemId_GetHoldEffectParam -ItemId_GetHoldEffectParam: @ 80A9960 - push {r4,lr} - lsls r0, 16 - lsrs r0, 16 - ldr r4, _080A9980 @ =gItems - bl SanitizeItemId - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x2C - muls r0, r1 - adds r0, r4 - ldrb r0, [r0, 0x13] - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080A9980: .4byte gItems - thumb_func_end ItemId_GetHoldEffectParam - - thumb_func_start ItemId_GetDescription -ItemId_GetDescription: @ 80A9984 - push {r4,lr} - lsls r0, 16 - lsrs r0, 16 - ldr r4, _080A99A4 @ =gItems - bl SanitizeItemId - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x2C - muls r0, r1 - adds r4, 0x14 - adds r0, r4 - ldr r0, [r0] - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080A99A4: .4byte gItems - thumb_func_end ItemId_GetDescription - - thumb_func_start ItemId_CopyDescription -ItemId_CopyDescription: @ 80A99A8 - push {r4-r6,lr} - adds r6, r0, 0 - adds r0, r1, 0 - adds r5, r2, 0x1 - ldr r4, _080A99E4 @ =gItems - lsls r0, 16 - lsrs r0, 16 - bl SanitizeItemId - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x2C - muls r0, r1 - adds r4, 0x14 - adds r0, r4 - ldr r3, [r0] - adds r2, r6, 0 -_080A99CA: - ldrb r1, [r3] - adds r0, r1, 0x2 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bhi _080A99FA - subs r5, 0x1 - cmp r5, 0 - bne _080A99E8 - movs r0, 0xFF - strb r0, [r2] - movs r0, 0x1 - b _080A9A02 - .align 2, 0 -_080A99E4: .4byte gItems -_080A99E8: - lsls r0, r1, 24 - lsrs r0, 24 - cmp r0, 0xFF - bne _080A99F4 - movs r0, 0 - b _080A9A02 -_080A99F4: - adds r2, r6, 0 - adds r3, 0x1 - b _080A99CA -_080A99FA: - strb r1, [r2] - adds r3, 0x1 - adds r2, 0x1 - b _080A99CA -_080A9A02: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end ItemId_CopyDescription - - thumb_func_start ItemId_GetImportance -ItemId_GetImportance: @ 80A9A08 - push {r4,lr} - lsls r0, 16 - lsrs r0, 16 - ldr r4, _080A9A28 @ =gItems - bl SanitizeItemId - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x2C - muls r0, r1 - adds r0, r4 - ldrb r0, [r0, 0x18] - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080A9A28: .4byte gItems - thumb_func_end ItemId_GetImportance - - thumb_func_start ItemId_GetUnknownValue -ItemId_GetUnknownValue: @ 80A9A2C - push {r4,lr} - lsls r0, 16 - lsrs r0, 16 - ldr r4, _080A9A4C @ =gItems - bl SanitizeItemId - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x2C - muls r0, r1 - adds r0, r4 - ldrb r0, [r0, 0x19] - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080A9A4C: .4byte gItems - thumb_func_end ItemId_GetUnknownValue - - thumb_func_start ItemId_GetPocket -ItemId_GetPocket: @ 80A9A50 - push {r4,lr} - lsls r0, 16 - lsrs r0, 16 - ldr r4, _080A9A70 @ =gItems - bl SanitizeItemId - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x2C - muls r0, r1 - adds r0, r4 - ldrb r0, [r0, 0x1A] - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080A9A70: .4byte gItems - thumb_func_end ItemId_GetPocket - - thumb_func_start ItemId_GetType -ItemId_GetType: @ 80A9A74 - push {r4,lr} - lsls r0, 16 - lsrs r0, 16 - ldr r4, _080A9A94 @ =gItems - bl SanitizeItemId - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x2C - muls r0, r1 - adds r0, r4 - ldrb r0, [r0, 0x1B] - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080A9A94: .4byte gItems - thumb_func_end ItemId_GetType - - thumb_func_start ItemId_GetFieldFunc -ItemId_GetFieldFunc: @ 80A9A98 - push {r4,lr} - lsls r0, 16 - lsrs r0, 16 - ldr r4, _080A9AB8 @ =gItems - bl SanitizeItemId - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x2C - muls r0, r1 - adds r4, 0x1C - adds r0, r4 - ldr r0, [r0] - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080A9AB8: .4byte gItems - thumb_func_end ItemId_GetFieldFunc - - thumb_func_start ItemId_GetBattleUsage -ItemId_GetBattleUsage: @ 80A9ABC - push {r4,lr} - lsls r0, 16 - lsrs r0, 16 - ldr r4, _080A9ADC @ =gItems - bl SanitizeItemId - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x2C - muls r0, r1 - adds r0, r4 - adds r0, 0x20 - ldrb r0, [r0] - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080A9ADC: .4byte gItems - thumb_func_end ItemId_GetBattleUsage - - thumb_func_start ItemId_GetBattleFunc -ItemId_GetBattleFunc: @ 80A9AE0 - push {r4,lr} - lsls r0, 16 - lsrs r0, 16 - ldr r4, _080A9B00 @ =gItems - bl SanitizeItemId - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x2C - muls r0, r1 - adds r4, 0x24 - adds r0, r4 - ldr r0, [r0] - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080A9B00: .4byte gItems - thumb_func_end ItemId_GetBattleFunc - - thumb_func_start ItemId_GetSecondaryId -ItemId_GetSecondaryId: @ 80A9B04 - push {r4,lr} - lsls r0, 16 - lsrs r0, 16 - ldr r4, _080A9B24 @ =gItems - bl SanitizeItemId - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x2C - muls r0, r1 - adds r0, r4 - adds r0, 0x28 - ldrb r0, [r0] - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080A9B24: .4byte gItems - thumb_func_end ItemId_GetSecondaryId - - .align 2, 0 @ Don't pad with nop. |