From c5bcb67bb871a445b20bbc0c226bc290dc5ba6bc Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Fri, 8 Jun 2018 19:59:00 -0500 Subject: Label decoration_inventory --- include/decoration.h | 3 - include/decoration_inventory.h | 12 ++-- src/decoration.c | 15 ++--- src/decoration_inventory.c | 135 +++++++++++++++++++---------------------- src/scrcmd.c | 6 +- src/trader.c | 6 +- 6 files changed, 82 insertions(+), 95 deletions(-) diff --git a/include/decoration.h b/include/decoration.h index a2e2bf8f8..7676c0add 100644 --- a/include/decoration.h +++ b/include/decoration.h @@ -152,9 +152,6 @@ extern const struct YesNoFuncTable gUnknown_083EC9CC; extern const struct YesNoFuncTable gUnknown_083EC9D4; extern const struct YesNoFuncTable gUnknown_083ECAA0; -extern u8 sub_8134194(u8); // src/decoration_inventory -extern bool8 sub_81341D4(void); // src/decoration_inventory -extern void sub_8134104(u8); // src/decoration_inventory extern void sub_8109DAC(u8); // src/trader extern void ReshowPlayerPC(u8); // src/player_pc void Task_SecretBasePC_Decoration(u8); diff --git a/include/decoration_inventory.h b/include/decoration_inventory.h index e2e31bee9..65bfcc8c0 100644 --- a/include/decoration_inventory.h +++ b/include/decoration_inventory.h @@ -2,12 +2,14 @@ #define GUARD_DECORATION_INVENTORY_H void ClearDecorationInventories(void); -s8 sub_8133F9C(u8); -u8 sub_8133FE4(u8); +s8 FindFreeDecorationInventorySlot(u8); +u8 InventoryContainsDecoration(u8); u8 GiveDecoration(u8); -u8 sub_8134074(u8); -s8 sub_81340A8(u8); -u8 sub_8134194(u8); +u8 CheckDecorationInventoryHasSpace(u8); +s8 RemoveDecorationFromInventory(u8); +void SortDecorationInventory(u8); +u8 GetNumDecorationsInInventoryCategory(u8); +bool8 GetNumDecorationsInInventory(void); #if DEBUG void Debug_GiveAllDecorations(void); #endif // DEBUG diff --git a/src/decoration.c b/src/decoration.c index 4c9e4509a..96cf61548 100644 --- a/src/decoration.c +++ b/src/decoration.c @@ -19,6 +19,7 @@ #include "event_data.h" #include "field_weather.h" #include "decoration.h" +#include "decoration_inventory.h" #include "shop.h" #include "ewram.h" @@ -1555,7 +1556,7 @@ void sub_80FE470(u8 decoCat, u8 left, u8 top, u8 palIdx) // PrintDecorationCateg strptr[2] = palIdx; strptr += 3; strptr = StringCopy(strptr, gUnknown_083EC5E4[decoCat]); - strptr = sub_8072C14(strptr, sub_8134194(decoCat), 0x56, 1); + strptr = sub_8072C14(strptr, GetNumDecorationsInInventoryCategory(decoCat), 0x56, 1); *strptr++ = 0xba; strptr = sub_8072C14(strptr, gDecorationInventories[decoCat].size, 0x68, 1); strptr[0] = EXT_CTRL_CODE_BEGIN; @@ -1609,10 +1610,10 @@ void sub_80FE604(u8 taskId) gUnknown_020388F6 = Menu_GetCursorPos(); if (gUnknown_020388F6 != 8) { - gUnknown_020388D5 = sub_8134194(gUnknown_020388F6); + gUnknown_020388D5 = GetNumDecorationsInInventoryCategory(gUnknown_020388F6); if (gUnknown_020388D5) { - sub_8134104(gUnknown_020388F6); + SortDecorationInventory(gUnknown_020388F6); gUnknown_020388D0 = gDecorationInventories[gUnknown_020388F6].items; sub_80FEF50(taskId); ClearVerticalScrollIndicatorPalettes(); @@ -2022,7 +2023,7 @@ void sub_80FF098(u8 taskId) { gUnknown_020388F4--; } - sub_8134104(gUnknown_020388F6); + SortDecorationInventory(gUnknown_020388F6); sub_80FED90(taskId); sub_80FEF28(); } @@ -2042,7 +2043,7 @@ void sub_80FF114(u8 taskId) } void sub_80FF160(u8 taskId) { - if (!sub_81341D4()) + if (!GetNumDecorationsInInventory()) { DisplayItemMessageOnField(taskId, gSecretBaseText_NoDecors, sub_80FE428, 0); } else @@ -4190,7 +4191,7 @@ void sub_81016F4(void) void sub_8101700(u8 taskId) { - if (!sub_81341D4()) + if (!GetNumDecorationsInInventory()) { DisplayItemMessageOnField(taskId, gSecretBaseText_NoDecors, sub_80FE428, 0); } else @@ -4203,7 +4204,7 @@ void sub_8101700(u8 taskId) void sub_8101750(u8 taskId) { - if (!sub_81341D4()) + if (!GetNumDecorationsInInventory()) { DisplayItemMessageOnField(taskId, gSecretBaseText_NoDecors, sub_80FE428, 0); } else diff --git a/src/decoration_inventory.c b/src/decoration_inventory.c index d4ef2d589..feec11670 100644 --- a/src/decoration_inventory.c +++ b/src/decoration_inventory.c @@ -1,9 +1,9 @@ #include "global.h" -#include "constants/decorations.h" -#include "sprite.h" -#include "task.h" #include "decoration.h" #include "decoration_inventory.h" +#include "sprite.h" +#include "task.h" +#include "constants/decorations.h" #define DECOR_INV(ptr) {.items = ptr, .size = sizeof ptr} @@ -18,154 +18,141 @@ struct DecorationInventory const gDecorationInventories[] = { DECOR_INV(gSaveBlock1.decorCushion) }; -void ClearDecorationInventory(u8 invIdx) +void ClearDecorationInventory(u8 category) { u8 i; - for (i=0; i gDecorationInventories[invIdx].items[j])) + if (gDecorationInventories[category].items[j] != 0 && (gDecorationInventories[category].items[i] == DECOR_NONE || gDecorationInventories[category].items[i] > gDecorationInventories[category].items[j])) { - tmp = gDecorationInventories[invIdx].items[i]; - gDecorationInventories[invIdx].items[i] = gDecorationInventories[invIdx].items[j]; - gDecorationInventories[invIdx].items[j] = tmp; + tmp = gDecorationInventories[category].items[i]; + gDecorationInventories[category].items[i] = gDecorationInventories[category].items[j]; + gDecorationInventories[category].items[j] = tmp; } } } } -u8 sub_8134194(u8 invIdx) +u8 GetNumDecorationsInInventoryCategory(u8 category) { u8 i; - u8 count; - count = 0; - for (i=0; iunk5[gSpecialVar_0x8005], gSaveBlock2.playerName); trader->unk1[gSpecialVar_0x8005] = gSpecialVar_0x8006; -- cgit v1.2.3