diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/inventory.cpp | 9 | ||||
-rw-r--r-- | src/inventory.h | 15 |
2 files changed, 16 insertions, 8 deletions
diff --git a/src/inventory.cpp b/src/inventory.cpp index 3bc67da1b..2335136b1 100644 --- a/src/inventory.cpp +++ b/src/inventory.cpp @@ -508,14 +508,9 @@ bool InventoryList::operator == (const InventoryList &other) const return false; if(m_name != other.m_name) return false; - for(u32 i=0; i<m_items.size(); i++) - { - ItemStack s1 = m_items[i]; - ItemStack s2 = other.m_items[i]; - if(s1.name != s2.name || s1.wear!= s2.wear || s1.count != s2.count || - s1.metadata != s2.metadata) + for (u32 i = 0; i < m_items.size(); i++) + if (m_items[i] != other.m_items[i]) return false; - } return true; } diff --git a/src/inventory.h b/src/inventory.h index 465aa66db..95a0bb43e 100644 --- a/src/inventory.h +++ b/src/inventory.h @@ -41,7 +41,7 @@ struct ItemStack // Serialization void serialize(std::ostream &os) const; - // Deserialization. Pass itemdef unless you don't want aliases resolved. + // Deserialization. Pass itemdef unless you don't want aliases resolved. void deSerialize(std::istream &is, IItemDefManager *itemdef = NULL); void deSerialize(const std::string &s, IItemDefManager *itemdef = NULL); @@ -161,6 +161,19 @@ struct ItemStack // Similar to takeItem, but keeps this ItemStack intact. ItemStack peekItem(u32 peekcount) const; + bool operator ==(const ItemStack &s) const + { + return (this->name == s.name && + this->count == s.count && + this->wear == s.wear && + this->metadata == s.metadata); + } + + bool operator !=(const ItemStack &s) const + { + return !(*this == s); + } + /* Properties */ |