diff --git a/asm/include/main_0200D1A8.inc b/asm/include/main_0200D1F0.inc similarity index 94% rename from asm/include/main_0200D1A8.inc rename to asm/include/main_0200D1F0.inc index 3070ab77..86f3c342 100644 --- a/asm/include/main_0200D1A8.inc +++ b/asm/include/main_0200D1F0.inc @@ -12,12 +12,10 @@ .public GetItemCategory .public GetItemName .public GetItemPaletteId -.public GetItemSellPrice .public ITEM_TABLES_PTRS_1 .public InitBitstreamForRead .public InitBitstreamForWrite .public InitItem -.public IsShoppableItem .public IsThrownItem .public MONEY_QUANTITY_TABLE .public MemAlloc diff --git a/asm/main_0200D1A8.s b/asm/main_0200D1F0.s similarity index 98% rename from asm/main_0200D1A8.s rename to asm/main_0200D1F0.s index 313f15a0..184a228b 100644 --- a/asm/main_0200D1A8.s +++ b/asm/main_0200D1F0.s @@ -1,31 +1,8 @@ .include "asm/macros.inc" - .include "main_0200D1A8.inc" + .include "main_0200D1F0.inc" .text - arm_func_start GetActualSellPrice -GetActualSellPrice: ; 0x0200D1A8 - stmdb sp!, {r4, lr} - mov r4, r0 - ldrsh r0, [r4, #4] - bl IsShoppableItem - cmp r0, #0 - moveq r0, #0 - ldmeqia sp!, {r4, pc} - ldrsh r0, [r4, #4] - bl IsThrownItem - cmp r0, #0 - ldrsh r0, [r4, #4] - beq _0200D1E8 - bl GetItemSellPrice - ldrh r1, [r4, #2] - mul r0, r1, r0 - ldmia sp!, {r4, pc} -_0200D1E8: - bl GetItemSellPrice - ldmia sp!, {r4, pc} - arm_func_end GetActualSellPrice - arm_func_start sub_0200D1F0 sub_0200D1F0: ; 0x0200D1F0 ldr ip, _0200D1F8 ; =sub_0200EB64 diff --git a/include/item_util_4.h b/include/item_util_4.h index b5005a16..a3d855c8 100644 --- a/include/item_util_4.h +++ b/include/item_util_4.h @@ -19,6 +19,7 @@ void ItemToBulkItem(struct bulk_item* bulk, struct item* item); s32 GetDisplayedBuyPrice(struct item* item); s32 GetDisplayedSellPrice(struct item* item); s32 GetActualBuyPrice(struct item* item); +s32 GetActualSellPrice(struct item* item); #endif //PMDSKY_ITEM_UTIL_4_H diff --git a/main.lsf b/main.lsf index 262e1680..c0d7448a 100644 --- a/main.lsf +++ b/main.lsf @@ -58,7 +58,7 @@ Static main Object asm/main_0200C5B4.o Object src/item_util.o Object src/item_util_4.o - Object asm/main_0200D1A8.o + Object asm/main_0200D1F0.o Object src/item_util_1.o Object asm/main_0200EB30.o Object src/main_0200ECFC.o diff --git a/src/item_util_4.c b/src/item_util_4.c index 88dd752b..9ecb5e24 100644 --- a/src/item_util_4.c +++ b/src/item_util_4.c @@ -239,3 +239,14 @@ s32 GetActualBuyPrice(struct item* item) } return GetItemBuyPrice(item->id); } + +s32 GetActualSellPrice(struct item* item) +{ + if (!IsShoppableItem(item->id)) { + return 0; + } + if (IsThrownItem(item->id)) { + return item->quantity * GetItemSellPrice(item->id); + } + return GetItemSellPrice(item->id); +}