mirror of
https://github.com/pret/pmd-sky.git
synced 2026-09-26 12:17:30 -05:00
Decomp GetActualBuyPrice
This commit is contained in:
@@ -9,7 +9,6 @@
|
||||
.public GetDungeonGroup
|
||||
.public GetExclusiveItemType
|
||||
.public GetItemActionName
|
||||
.public GetItemBuyPrice
|
||||
.public GetItemCategory
|
||||
.public GetItemName
|
||||
.public GetItemPaletteId
|
||||
@@ -1,31 +1,8 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "main_0200D160.inc"
|
||||
.include "main_0200D1A8.inc"
|
||||
|
||||
.text
|
||||
|
||||
arm_func_start GetActualBuyPrice
|
||||
GetActualBuyPrice: ; 0x0200D160
|
||||
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 _0200D1A0
|
||||
bl GetItemBuyPrice
|
||||
ldrh r1, [r4, #2]
|
||||
mul r0, r1, r0
|
||||
ldmia sp!, {r4, pc}
|
||||
_0200D1A0:
|
||||
bl GetItemBuyPrice
|
||||
ldmia sp!, {r4, pc}
|
||||
arm_func_end GetActualBuyPrice
|
||||
|
||||
arm_func_start GetActualSellPrice
|
||||
GetActualSellPrice: ; 0x0200D1A8
|
||||
stmdb sp!, {r4, lr}
|
||||
@@ -18,6 +18,7 @@ void BulkItemToItem(struct item* item, struct bulk_item* bulk_item);
|
||||
void ItemToBulkItem(struct bulk_item* bulk, struct item* item);
|
||||
s32 GetDisplayedBuyPrice(struct item* item);
|
||||
s32 GetDisplayedSellPrice(struct item* item);
|
||||
s32 GetActualBuyPrice(struct item* item);
|
||||
|
||||
#endif //PMDSKY_ITEM_UTIL_4_H
|
||||
|
||||
|
||||
2
main.lsf
2
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_0200D160.o
|
||||
Object asm/main_0200D1A8.o
|
||||
Object src/item_util_1.o
|
||||
Object asm/main_0200EB30.o
|
||||
Object src/main_0200ECFC.o
|
||||
|
||||
@@ -10,6 +10,7 @@ extern void ItemZInit();
|
||||
extern u16 GetItemBuyPrice(s16);
|
||||
extern u16 GetItemSellPrice(s16);
|
||||
extern s32 GetMoneyQuantity(struct item*);
|
||||
extern bool8 IsShoppableItem(s16);
|
||||
extern bool8 IsThrownItem(s16);
|
||||
|
||||
BOOL IsLosableItem(struct item* item)
|
||||
@@ -227,3 +228,14 @@ s32 GetDisplayedSellPrice(struct item* item)
|
||||
}
|
||||
return GetItemSellPrice(item->id);
|
||||
}
|
||||
|
||||
s32 GetActualBuyPrice(struct item* item)
|
||||
{
|
||||
if (!IsShoppableItem(item->id)) {
|
||||
return 0;
|
||||
}
|
||||
if (IsThrownItem(item->id)) {
|
||||
return item->quantity * GetItemBuyPrice(item->id);
|
||||
}
|
||||
return GetItemBuyPrice(item->id);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user