From d97b4463c68250bd3df95dbd5afd19dc4e836702 Mon Sep 17 00:00:00 2001 From: madmaxoft Date: Sun, 11 Aug 2013 14:54:45 +0200 Subject: [PATCH] Added an AllowEmptyStacks param to cItemGrid::HowManyCanFit(). --- source/ItemGrid.cpp | 7 +++++-- source/ItemGrid.h | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/source/ItemGrid.cpp b/source/ItemGrid.cpp index a977a9b6d..e9b86173e 100644 --- a/source/ItemGrid.cpp +++ b/source/ItemGrid.cpp @@ -213,7 +213,7 @@ void cItemGrid::Clear(void) -int cItemGrid::HowManyCanFit(const cItem & a_ItemStack) +int cItemGrid::HowManyCanFit(const cItem & a_ItemStack, bool a_AllowNewStacks) { char NumLeft = a_ItemStack.m_ItemCount; int MaxStack = ItemHandler(a_ItemStack.m_ItemType)->GetMaxStackSize(); @@ -221,7 +221,10 @@ int cItemGrid::HowManyCanFit(const cItem & a_ItemStack) { if (m_Slots[i].IsEmpty()) { - NumLeft -= MaxStack; + if (a_AllowNewStacks) + { + NumLeft -= MaxStack; + } } else if (m_Slots[i].IsStackableWith(a_ItemStack)) { diff --git a/source/ItemGrid.h b/source/ItemGrid.h index 9eba5b452..a4af523cf 100644 --- a/source/ItemGrid.h +++ b/source/ItemGrid.h @@ -72,7 +72,7 @@ public: void Clear(void); /// Returns number of items out of a_ItemStack that can fit in the storage - int HowManyCanFit(const cItem & a_ItemStack); + int HowManyCanFit(const cItem & a_ItemStack, bool a_AllowNewStacks = true); /** Adds as many items out of a_ItemStack as can fit. If a_AllowNewStacks is set to false, only existing stacks can be topped up;