summaryrefslogtreecommitdiff
path: root/asm/kecleon_items_1.s
diff options
context:
space:
mode:
Diffstat (limited to 'asm/kecleon_items_1.s')
-rw-r--r--asm/kecleon_items_1.s730
1 files changed, 730 insertions, 0 deletions
diff --git a/asm/kecleon_items_1.s b/asm/kecleon_items_1.s
new file mode 100644
index 0000000..1b20264
--- /dev/null
+++ b/asm/kecleon_items_1.s
@@ -0,0 +1,730 @@
+ .include "constants/gba_constants.inc"
+ .include "asm/macros.inc"
+
+ .syntax unified
+
+ .text
+
+ thumb_func_start sub_801A9E0
+sub_801A9E0:
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ sub sp, 0xCC
+ ldr r4, _0801AA2C
+ ldr r0, [r4]
+ adds r0, 0x88
+ ldr r0, [r0]
+ bl sub_8008C54
+ ldr r0, [r4]
+ adds r0, 0x88
+ ldr r0, [r0]
+ bl sub_80073B8
+ ldr r4, [r4]
+ adds r1, r4, 0
+ adds r1, 0x72
+ movs r2, 0
+ ldrsh r0, [r1, r2]
+ lsls r0, 3
+ adds r5, r0, 0
+ adds r5, 0xA
+ movs r3, 0
+ ldrsh r1, [r1, r3]
+ cmp r1, 0
+ bne _0801AA34
+ ldr r2, _0801AA30
+ adds r0, r4, 0
+ adds r0, 0x88
+ ldr r3, [r0]
+ str r1, [sp]
+ adds r0, r5, 0
+ movs r1, 0
+ bl xxx_call_draw_string
+ b _0801AA48
+ .align 2, 0
+_0801AA2C: .4byte gUnknown_203B224
+_0801AA30: .4byte gTeamToolboxA
+_0801AA34:
+ ldr r2, _0801AA58
+ adds r0, r4, 0
+ adds r0, 0x88
+ ldr r3, [r0]
+ movs r0, 0
+ str r0, [sp]
+ adds r0, r5, 0
+ movs r1, 0
+ bl xxx_call_draw_string
+_0801AA48:
+ movs r7, 0
+ ldr r1, _0801AA5C
+ ldr r0, [r1]
+ adds r0, 0x6E
+ movs r4, 0
+ ldrsh r0, [r0, r4]
+ b _0801AD0A
+ .align 2, 0
+_0801AA58: .4byte gTeamToolboxB
+_0801AA5C: .4byte gUnknown_203B224
+_0801AA60:
+ ldr r2, [r1]
+ adds r0, r2, 0
+ adds r0, 0x72
+ movs r3, 0
+ ldrsh r1, [r0, r3]
+ subs r0, 0x2
+ movs r4, 0
+ ldrsh r0, [r0, r4]
+ muls r0, r1
+ adds r0, r7
+ mov r8, r0
+ ldr r0, _0801AA9C
+ ldr r0, [r0]
+ mov r3, r8
+ lsls r1, r3, 2
+ adds r0, r1
+ ldr r0, [r0]
+ add r1, sp, 0xC8
+ str r0, [r1]
+ ldr r0, [r2]
+ adds r4, r1, 0
+ cmp r0, 0x5
+ bls _0801AA90
+ b _0801ACC4
+_0801AA90:
+ lsls r0, 2
+ ldr r1, _0801AAA0
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0801AA9C: .4byte gTeamInventory_203B460
+_0801AAA0: .4byte _0801AAA4
+ .align 2, 0
+_0801AAA4:
+ .4byte _0801AABC
+ .4byte _0801AAE4
+ .4byte _0801AAE4
+ .4byte _0801AB18
+ .4byte _0801AB90
+ .4byte _0801AC50
+_0801AABC:
+ add r0, sp, 0x4
+ adds r1, r4, 0
+ movs r2, 0
+ bl sub_8090E14
+ ldr r4, _0801AAE0
+ ldr r0, [r4]
+ adds r0, 0x54
+ adds r1, r7, 0
+ bl sub_8013800
+ adds r1, r0, 0
+ ldr r0, [r4]
+ adds r0, 0x88
+ ldr r3, [r0]
+ movs r0, 0
+ str r0, [sp]
+ b _0801AC8C
+ .align 2, 0
+_0801AAE0: .4byte gUnknown_203B224
+_0801AAE4:
+ add r2, sp, 0x54
+ movs r5, 0
+ str r5, [sp, 0x54]
+ strb r5, [r2, 0x4]
+ movs r0, 0x1
+ strb r0, [r2, 0x8]
+ strb r0, [r4]
+ add r1, sp, 0xC8
+ add r0, sp, 0x4
+ bl sub_8090E14
+ ldr r4, _0801AB14
+ ldr r0, [r4]
+ adds r0, 0x54
+ adds r1, r7, 0
+ bl sub_8013800
+ adds r1, r0, 0
+ ldr r0, [r4]
+ adds r0, 0x88
+ ldr r3, [r0]
+ str r5, [sp]
+ b _0801AC8C
+ .align 2, 0
+_0801AB14: .4byte gUnknown_203B224
+_0801AB18:
+ add r2, sp, 0x60
+ movs r6, 0
+ str r6, [sp, 0x60]
+ strb r6, [r2, 0x4]
+ movs r0, 0x1
+ strb r0, [r2, 0x8]
+ strb r0, [r4]
+ add r1, sp, 0xC8
+ add r0, sp, 0x4
+ bl sub_8090E14
+ ldr r5, _0801AB60
+ ldr r0, [r5]
+ mov r4, r8
+ lsls r1, r4, 2
+ adds r0, 0x4
+ adds r0, r1
+ ldr r0, [r0]
+ cmp r0, 0
+ bne _0801AB4E
+ mov r0, r8
+ bl sub_801ADA0
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0
+ beq _0801AB64
+_0801AB4E:
+ ldr r0, [r5]
+ adds r0, 0x54
+ adds r1, r7, 0
+ bl sub_8013800
+ adds r1, r0, 0
+ ldr r0, [r5]
+ b _0801AC86
+ .align 2, 0
+_0801AB60: .4byte gUnknown_203B224
+_0801AB64:
+ ldr r0, _0801AB88
+ add r1, sp, 0x4
+ movs r2, 0x50
+ bl strncpy
+ ldr r0, [r5]
+ adds r0, 0x54
+ adds r1, r7, 0
+ bl sub_8013800
+ adds r1, r0, 0
+ ldr r2, _0801AB8C
+ ldr r0, [r5]
+ adds r0, 0x88
+ ldr r3, [r0]
+ str r4, [sp]
+ b _0801AC3C
+ .align 2, 0
+_0801AB88: .4byte gUnknown_202DE58
+_0801AB8C: .4byte gUnknown_80DB994
+_0801AB90:
+ ldrb r0, [r4, 0x2]
+ bl CanSellItem
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, 0
+ beq _0801AC10
+ add r2, sp, 0x6C
+ movs r1, 0x3
+ str r1, [sp, 0x6C]
+ movs r6, 0
+ strb r6, [r2, 0x4]
+ movs r0, 0x58
+ strh r0, [r2, 0x6]
+ movs r0, 0x1
+ strb r0, [r2, 0x8]
+ strb r1, [r4]
+ add r0, sp, 0x4
+ adds r1, r4, 0
+ bl sub_8090E14
+ adds r0, r4, 0
+ bl GetStackSellPrice
+ ldr r1, _0801AC00
+ ldr r1, [r1]
+ movs r2, 0x98
+ lsls r2, 2
+ adds r1, r2
+ ldr r1, [r1]
+ adds r0, r1
+ ldr r1, _0801AC04
+ cmp r0, r1
+ ble _0801AC76
+ add r5, sp, 0x78
+ ldr r1, _0801AC08
+ adds r0, r5, 0
+ add r2, sp, 0x4
+ bl ExpandPlaceholdersBuffer
+ ldr r4, _0801AC0C
+ ldr r0, [r4]
+ adds r0, 0x54
+ adds r1, r7, 0
+ bl sub_8013800
+ adds r1, r0, 0
+ ldr r0, [r4]
+ adds r0, 0x88
+ ldr r3, [r0]
+ str r6, [sp]
+ movs r0, 0x8
+ adds r2, r5, 0
+ bl xxx_call_draw_string
+ b _0801ACC4
+ .align 2, 0
+_0801AC00: .4byte gTeamInventory_203B460
+_0801AC04: .4byte 0x0001869f
+_0801AC08: .4byte gUnknown_80DB9A0
+_0801AC0C: .4byte gUnknown_203B224
+_0801AC10:
+ add r0, sp, 0x4
+ adds r1, r4, 0
+ movs r2, 0
+ bl sub_8090E14
+ ldr r0, _0801AC44
+ add r1, sp, 0x4
+ movs r2, 0x50
+ bl strncpy
+ ldr r4, _0801AC48
+ ldr r0, [r4]
+ adds r0, 0x54
+ adds r1, r7, 0
+ bl sub_8013800
+ adds r1, r0, 0
+ ldr r2, _0801AC4C
+ ldr r0, [r4]
+ adds r0, 0x88
+ ldr r3, [r0]
+ str r5, [sp]
+_0801AC3C:
+ movs r0, 0x8
+ bl xxx_format_and_draw
+ b _0801ACC4
+ .align 2, 0
+_0801AC44: .4byte gUnknown_202DE58
+_0801AC48: .4byte gUnknown_203B224
+_0801AC4C: .4byte gUnknown_80DB994
+_0801AC50:
+ add r2, sp, 0x78
+ movs r6, 0
+ str r6, [sp, 0x78]
+ strb r6, [r2, 0x4]
+ movs r0, 0x1
+ strb r0, [r2, 0x8]
+ strb r0, [r4]
+ add r4, sp, 0xC8
+ add r0, sp, 0x4
+ adds r1, r4, 0
+ bl sub_8090E14
+ ldrb r0, [r4, 0x2]
+ bl IsGummiItem
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, 0
+ beq _0801AC9C
+_0801AC76:
+ ldr r4, _0801AC98
+ ldr r0, [r4]
+ adds r0, 0x54
+ adds r1, r7, 0
+ bl sub_8013800
+ adds r1, r0, 0
+ ldr r0, [r4]
+_0801AC86:
+ adds r0, 0x88
+ ldr r3, [r0]
+ str r6, [sp]
+_0801AC8C:
+ movs r0, 0x8
+ add r2, sp, 0x4
+ bl xxx_call_draw_string
+ b _0801ACC4
+ .align 2, 0
+_0801AC98: .4byte gUnknown_203B224
+_0801AC9C:
+ ldr r0, _0801AD28
+ add r1, sp, 0x4
+ movs r2, 0x50
+ bl strncpy
+ ldr r4, _0801AD2C
+ ldr r0, [r4]
+ adds r0, 0x54
+ adds r1, r7, 0
+ bl sub_8013800
+ adds r1, r0, 0
+ ldr r2, _0801AD30
+ ldr r0, [r4]
+ adds r0, 0x88
+ ldr r3, [r0]
+ str r5, [sp]
+ movs r0, 0x8
+ bl xxx_format_and_draw
+_0801ACC4:
+ mov r0, r8
+ bl sub_801AED0
+ movs r1, 0x1
+ ands r1, r0
+ cmp r1, 0
+ beq _0801ACFE
+ ldr r4, _0801AD2C
+ ldr r0, [r4]
+ adds r0, 0x54
+ adds r1, r7, 0
+ bl sub_8013800
+ adds r2, r0, 0
+ ldr r1, [r4]
+ adds r0, r1, 0
+ adds r0, 0x88
+ ldr r0, [r0]
+ adds r1, 0x8C
+ ldr r1, [r1]
+ movs r4, 0xC
+ ldrsh r3, [r1, r4]
+ subs r3, 0x2
+ lsls r3, 3
+ movs r1, 0xA
+ str r1, [sp]
+ movs r1, 0x8
+ bl sub_8007B7C
+_0801ACFE:
+ adds r7, 0x1
+ ldr r1, _0801AD2C
+ ldr r0, [r1]
+ adds r0, 0x6E
+ movs r2, 0
+ ldrsh r0, [r0, r2]
+_0801AD0A:
+ adds r2, r1, 0
+ cmp r7, r0
+ bge _0801AD12
+ b _0801AA60
+_0801AD12:
+ ldr r0, [r2]
+ adds r0, 0x88
+ ldr r0, [r0]
+ bl sub_80073E0
+ add sp, 0xCC
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801AD28: .4byte gUnknown_202DE58
+_0801AD2C: .4byte gUnknown_203B224
+_0801AD30: .4byte gUnknown_80DB994
+ thumb_func_end sub_801A9E0
+
+ thumb_func_start sub_801AD34
+sub_801AD34:
+ push {r4-r6,lr}
+ sub sp, 0x8
+ adds r4, r0, 0
+ bl sub_8008C54
+ adds r0, r4, 0
+ bl sub_80073B8
+ ldr r2, _0801AD98
+ movs r6, 0
+ str r6, [sp]
+ movs r0, 0x6
+ movs r1, 0
+ adds r3, r4, 0
+ bl xxx_call_draw_string
+ bl GetNumberOfFilledInventorySlots
+ adds r2, r0, 0
+ movs r5, 0x7
+ str r5, [sp]
+ str r4, [sp, 0x4]
+ movs r0, 0x12
+ movs r1, 0xD
+ movs r3, 0x2
+ bl sub_8012BC4
+ ldr r2, _0801AD9C
+ str r6, [sp]
+ movs r0, 0x16
+ movs r1, 0xD
+ adds r3, r4, 0
+ bl xxx_call_draw_string
+ str r5, [sp]
+ str r4, [sp, 0x4]
+ movs r0, 0x2B
+ movs r1, 0xD
+ movs r2, 0x14
+ movs r3, 0x2
+ bl sub_8012BC4
+ adds r0, r4, 0
+ bl sub_80073E0
+ add sp, 0x8
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801AD98: .4byte gUnknown_80DB9A8
+_0801AD9C: .4byte gUnknown_80DB9B0
+ thumb_func_end sub_801AD34
+
+ thumb_func_start sub_801ADA0
+sub_801ADA0:
+ push {r4-r6,lr}
+ ldr r5, _0801ADEC
+ ldr r1, [r5]
+ lsls r0, 2
+ adds r1, r0
+ ldr r6, [r1]
+ lsls r4, r6, 8
+ lsrs r0, r4, 24
+ bl IsNotMoneyOrUsedTMItem
+ lsls r0, 24
+ cmp r0, 0
+ beq _0801AE12
+ lsrs r0, r4, 24
+ bl IsThrowableItem
+ lsls r0, 24
+ cmp r0, 0
+ beq _0801ADF4
+ lsrs r0, r4, 24
+ bl sub_801AE24
+ ldr r2, [r5]
+ lsrs r1, r4, 24
+ lsls r1, 1
+ adds r2, 0x50
+ adds r2, r1
+ lsls r0, 16
+ lsrs r0, 16
+ ldrh r2, [r2]
+ adds r0, r2
+ lsrs r1, r6, 8
+ lsls r1, 24
+ lsrs r1, 24
+ adds r0, r1
+ ldr r1, _0801ADF0
+ b _0801AE0E
+ .align 2, 0
+_0801ADEC: .4byte gTeamInventory_203B460
+_0801ADF0: .4byte 0x000003e7
+_0801ADF4:
+ lsrs r0, r4, 24
+ bl sub_801AE24
+ ldr r2, [r5]
+ lsrs r1, r4, 24
+ lsls r1, 1
+ adds r2, 0x50
+ adds r2, r1
+ lsls r0, 16
+ lsrs r0, 16
+ ldrh r2, [r2]
+ adds r0, r2
+ ldr r1, _0801AE18
+_0801AE0E:
+ cmp r0, r1
+ ble _0801AE1C
+_0801AE12:
+ movs r0, 0
+ b _0801AE1E
+ .align 2, 0
+_0801AE18: .4byte 0x000003e6
+_0801AE1C:
+ movs r0, 0x1
+_0801AE1E:
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_801ADA0
+
+ thumb_func_start sub_801AE24
+sub_801AE24:
+ push {r4-r7,lr}
+ adds r7, r0, 0
+ movs r5, 0
+ movs r6, 0
+ b _0801AE74
+_0801AE2E:
+ ldr r0, _0801AE64
+ ldr r0, [r0]
+ lsls r1, r6, 2
+ adds r0, 0x4
+ adds r0, r1
+ ldr r0, [r0]
+ cmp r0, 0
+ beq _0801AE72
+ ldr r0, _0801AE68
+ ldr r0, [r0]
+ adds r0, r1
+ ldr r4, [r0]
+ lsls r1, r4, 8
+ lsrs r0, r1, 24
+ cmp r0, r7
+ bne _0801AE72
+ bl IsThrowableItem
+ lsls r0, 24
+ cmp r0, 0
+ beq _0801AE6C
+ lsrs r0, r4, 8
+ lsls r0, 24
+ lsrs r0, 24
+ adds r0, r5, r0
+ b _0801AE6E
+ .align 2, 0
+_0801AE64: .4byte gUnknown_203B224
+_0801AE68: .4byte gTeamInventory_203B460
+_0801AE6C:
+ adds r0, r5, 0x1
+_0801AE6E:
+ lsls r0, 16
+ lsrs r5, r0, 16
+_0801AE72:
+ adds r6, 0x1
+_0801AE74:
+ bl GetNumberOfFilledInventorySlots
+ cmp r6, r0
+ blt _0801AE2E
+ adds r0, r5, 0
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_801AE24
+
+ thumb_func_start sub_801AE84
+sub_801AE84:
+ push {r4,lr}
+ movs r2, 0
+ ldr r4, _0801AEA4
+ movs r3, 0
+_0801AE8C:
+ ldr r0, [r4]
+ lsls r1, r2, 2
+ adds r0, 0x4
+ adds r0, r1
+ str r3, [r0]
+ adds r2, 0x1
+ cmp r2, 0x13
+ ble _0801AE8C
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801AEA4: .4byte gUnknown_203B224
+ thumb_func_end sub_801AE84
+
+ thumb_func_start sub_801AEA8
+sub_801AEA8:
+ push {lr}
+ movs r3, 0
+ ldr r0, _0801AECC
+ ldr r0, [r0]
+ adds r1, r0, 0x4
+ movs r2, 0x13
+_0801AEB4:
+ ldr r0, [r1]
+ cmp r0, 0
+ beq _0801AEBC
+ adds r3, 0x1
+_0801AEBC:
+ adds r1, 0x4
+ subs r2, 0x1
+ cmp r2, 0
+ bge _0801AEB4
+ adds r0, r3, 0
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0801AECC: .4byte gUnknown_203B224
+ thumb_func_end sub_801AEA8
+
+ thumb_func_start sub_801AED0
+sub_801AED0:
+ ldr r1, _0801AEE0
+ ldr r1, [r1]
+ lsls r0, 2
+ adds r1, 0x4
+ adds r1, r0
+ ldr r0, [r1]
+ bx lr
+ .align 2, 0
+_0801AEE0: .4byte gUnknown_203B224
+ thumb_func_end sub_801AED0
+
+ thumb_func_start sub_801AEE4
+sub_801AEE4:
+ ldr r2, _0801AEF4
+ ldr r2, [r2]
+ lsls r0, 2
+ adds r2, 0x4
+ adds r2, r0
+ str r1, [r2]
+ bx lr
+ .align 2, 0
+_0801AEF4: .4byte gUnknown_203B224
+ thumb_func_end sub_801AEE4
+
+ thumb_func_start sub_801AEF8
+sub_801AEF8:
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ sub sp, 0x4
+ movs r0, 0
+ mov r9, r0
+ b _0801AF78
+_0801AF08:
+ movs r1, 0x1
+ add r1, r9
+ mov r8, r1
+ mov r7, r8
+ b _0801AF6E
+_0801AF12:
+ ldr r2, _0801AF90
+ ldr r0, [r2]
+ mov r1, r9
+ lsls r6, r1, 2
+ adds r0, r6
+ ldrb r0, [r0, 0x2]
+ str r2, [sp]
+ bl GetItemOrder
+ adds r4, r0, 0
+ ldr r2, [sp]
+ ldr r0, [r2]
+ lsls r5, r7, 2
+ adds r0, r5
+ ldrb r0, [r0, 0x2]
+ bl GetItemOrder
+ ldr r2, [sp]
+ cmp r4, r0
+ bgt _0801AF4C
+ cmp r4, r0
+ bne _0801AF6C
+ ldr r0, [r2]
+ adds r1, r0, r6
+ adds r0, r5
+ ldrb r1, [r1, 0x1]
+ ldrb r0, [r0, 0x1]
+ cmp r1, r0
+ bcs _0801AF6C
+_0801AF4C:
+ ldr r0, [r2]
+ adds r2, r0, r6
+ ldr r3, [r2]
+ adds r0, r5
+ ldr r1, [r0]
+ str r1, [r2]
+ str r3, [r0]
+ ldr r0, _0801AF94
+ ldr r0, [r0]
+ adds r0, 0x4
+ adds r2, r0, r6
+ ldr r3, [r2]
+ adds r0, r5
+ ldr r1, [r0]
+ str r1, [r2]
+ str r3, [r0]
+_0801AF6C:
+ adds r7, 0x1
+_0801AF6E:
+ bl GetNumberOfFilledInventorySlots
+ cmp r7, r0
+ blt _0801AF12
+ mov r9, r8
+_0801AF78:
+ bl GetNumberOfFilledInventorySlots
+ subs r0, 0x1
+ cmp r9, r0
+ blt _0801AF08
+ add sp, 0x4
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801AF90: .4byte gTeamInventory_203B460
+_0801AF94: .4byte gUnknown_203B224
+ thumb_func_end sub_801AEF8
+
+ .align 2,0