From da18b0f97b858ee2ed31e26b12e8b48eec497a20 Mon Sep 17 00:00:00 2001 From: Juliano Leal Goncalves Date: Sat, 20 Mar 2021 21:00:05 -0300 Subject: [PATCH] :recycle: Reuse 'AutoPlaceItemInInventory' inside 'StoreAutoPlace' --- Source/inv.cpp | 2 +- Source/inv.h | 1 + Source/stores.cpp | 55 ++--------------------------------------------- 3 files changed, 4 insertions(+), 54 deletions(-) diff --git a/Source/inv.cpp b/Source/inv.cpp index 5e89490d2..50adfaba3 100644 --- a/Source/inv.cpp +++ b/Source/inv.cpp @@ -853,7 +853,7 @@ bool AutoEquipEnabled(const PlayerStruct &player, const ItemStruct &item) * @param persistItem Pass 'True' to actually place the item in the inventory. The default is 'False'. * @return 'True' in case the item can be placed on the player's inventory and 'False' otherwise. */ -bool AutoPlaceItemInInventory(int playerNumber, const ItemStruct &item, bool persistItem = false) +bool AutoPlaceItemInInventory(int playerNumber, const ItemStruct &item, bool persistItem) { InvXY itemSize = GetInventorySize(item); bool done = false; diff --git a/Source/inv.h b/Source/inv.h index 031126ceb..706018624 100644 --- a/Source/inv.h +++ b/Source/inv.h @@ -42,6 +42,7 @@ void DrawInv(CelOutputBuffer out); void DrawInvBelt(CelOutputBuffer out); bool AutoEquipEnabled(const PlayerStruct &player, const ItemStruct &item); bool AutoEquip(int playerNumber, const ItemStruct &item, bool persistItem = true); +bool AutoPlaceItemInInventory(int playerNumber, const ItemStruct &item, bool persistItem = false); bool AutoPlaceItemInInventorySlot(int playerNumber, int slotIndex, const ItemStruct &item, bool persistItem); bool AutoPlaceItemInBelt(int playerNumber, const ItemStruct &item, bool persistItem = false); BOOL GoldAutoPlace(int pnum); diff --git a/Source/stores.cpp b/Source/stores.cpp index 87ba2e270..f702e98bb 100644 --- a/Source/stores.cpp +++ b/Source/stores.cpp @@ -205,59 +205,8 @@ void StoreAutoPlace() done = true; } - if (w == 1 && h == 1 && !done) { - done = AutoPlaceItemInBelt(myplr, plr[myplr].HoldItem, true); - - for (i = 30; i <= 39 && !done; i++) { - done = AutoPlaceItemInInventorySlot(myplr, i, plr[myplr].HoldItem, true); - } - for (i = 20; i <= 29 && !done; i++) { - done = AutoPlaceItemInInventorySlot(myplr, i, plr[myplr].HoldItem, true); - } - for (i = 10; i <= 19 && !done; i++) { - done = AutoPlaceItemInInventorySlot(myplr, i, plr[myplr].HoldItem, true); - } - for (i = 0; i <= 9 && !done; i++) { - done = AutoPlaceItemInInventorySlot(myplr, i, plr[myplr].HoldItem, true); - } - } - if (w == 1 && h == 2 && !done) { - for (i = 29; i >= 20 && !done; i--) { - done = AutoPlaceItemInInventorySlot(myplr, i, plr[myplr].HoldItem, true); - } - for (i = 9; i >= 0 && !done; i--) { - done = AutoPlaceItemInInventorySlot(myplr, i, plr[myplr].HoldItem, true); - } - for (i = 19; i >= 10 && !done; i--) { - done = AutoPlaceItemInInventorySlot(myplr, i, plr[myplr].HoldItem, true); - } - } - if (w == 1 && h == 3 && !done) { - for (i = 0; i < 20 && !done; i++) { - done = AutoPlaceItemInInventorySlot(myplr, i, plr[myplr].HoldItem, true); - } - } - if (w == 2 && h == 2 && !done) { - for (i = 0; i < 10 && !done; i++) { - done = AutoPlaceItemInInventorySlot(myplr, AP2x2Tbl[i], plr[myplr].HoldItem, true); - } - for (i = 21; i < 29 && !done; i += 2) { - done = AutoPlaceItemInInventorySlot(myplr, i, plr[myplr].HoldItem, true); - } - for (i = 1; i < 9 && !done; i += 2) { - done = AutoPlaceItemInInventorySlot(myplr, i, plr[myplr].HoldItem, true); - } - for (i = 10; i < 19 && !done; i++) { - done = AutoPlaceItemInInventorySlot(myplr, i, plr[myplr].HoldItem, true); - } - } - if (w == 2 && h == 3 && !done) { - for (i = 0; i < 9 && !done; i++) { - done = AutoPlaceItemInInventorySlot(myplr, i, plr[myplr].HoldItem, true); - } - for (i = 10; i < 19 && !done; i++) { - done = AutoPlaceItemInInventorySlot(myplr, i, plr[myplr].HoldItem, true); - } + if (!done) { + AutoPlaceItemInBelt(myplr, plr[myplr].HoldItem, true) || AutoPlaceItemInInventory(myplr, plr[myplr].HoldItem, true); } }