]> git.lizzy.rs Git - minetest.git/blobdiff - src/inventory.cpp
Set acceleration only once in falling node
[minetest.git] / src / inventory.cpp
index ff2c15b651b431a5a3f333f31bfeee489e9ba54c..e89993e63d773f43cd610ee54cb9a1ab26be12db 100644 (file)
@@ -126,7 +126,7 @@ ItemStack::ItemStack(std::string name_, u16 count_,
 
 void ItemStack::serialize(std::ostream &os) const
 {
-       DSTACK(__FUNCTION_NAME);
+       DSTACK(FUNCTION_NAME);
 
        if(empty())
                return;
@@ -151,7 +151,7 @@ void ItemStack::serialize(std::ostream &os) const
 
 void ItemStack::deSerialize(std::istream &is, IItemDefManager *itemdef)
 {
-       DSTACK(__FUNCTION_NAME);
+       DSTACK(FUNCTION_NAME);
 
        clear();
 
@@ -163,7 +163,7 @@ void ItemStack::deSerialize(std::istream &is, IItemDefManager *itemdef)
        std::getline(is, tmp, ' ');
        if(!tmp.empty())
                throw SerializationError("Unexpected text after item name");
-       
+
        if(name == "MaterialItem")
        {
                // Obsoleted on 2011-07-30
@@ -478,7 +478,7 @@ void InventoryList::setName(const std::string &name)
 void InventoryList::serialize(std::ostream &os) const
 {
        //os.imbue(std::locale("C"));
-       
+
        os<<"Width "<<m_width<<"\n";
 
        for(u32 i=0; i<m_items.size(); i++)
@@ -653,7 +653,7 @@ ItemStack InventoryList::addItem(const ItemStack &newitem_)
 
        if(newitem.empty())
                return newitem;
-       
+
        /*
                First try to find if it could be added to some existing items
        */
@@ -730,7 +730,7 @@ bool InventoryList::containsItem(const ItemStack &item) const
                return true;
        for(std::vector<ItemStack>::const_reverse_iterator
                        i = m_items.rbegin();
-                       i != m_items.rend(); i++)
+                       i != m_items.rend(); ++i)
        {
                if(count == 0)
                        break;
@@ -750,7 +750,7 @@ ItemStack InventoryList::removeItem(const ItemStack &item)
        ItemStack removed;
        for(std::vector<ItemStack>::reverse_iterator
                        i = m_items.rbegin();
-                       i != m_items.rend(); i++)
+                       i != m_items.rend(); ++i)
        {
                if(i->name == item.name)
                {
@@ -795,7 +795,6 @@ void InventoryList::moveItemSomewhere(u32 i, InventoryList *dest, u32 count)
                return;
 
        // Try to add the item to destination list
-       u32 oldcount = item1.count;
        u32 dest_size = dest->getSize();
        // First try all the non-empty slots
        for (u32 dest_i = 0; dest_i < dest_size; dest_i++) {
@@ -819,7 +818,7 @@ void InventoryList::moveItemSomewhere(u32 i, InventoryList *dest, u32 count)
 }
 
 u32 InventoryList::moveItem(u32 i, InventoryList *dest, u32 dest_i,
-               u32 count, bool swap_if_needed)
+               u32 count, bool swap_if_needed, bool *did_swap)
 {
        if(this == dest && i == dest_i)
                return count;
@@ -851,6 +850,10 @@ u32 InventoryList::moveItem(u32 i, InventoryList *dest, u32 dest_i,
                // If olditem is returned, nothing was added.
                // Swap the items
                if (nothing_added && swap_if_needed) {
+                       // Tell that we swapped
+                       if (did_swap != NULL) {
+                               *did_swap = true;
+                       }
                        // Take item from source list
                        item1 = changeItem(i, ItemStack());
                        // Adding was not possible, swap the items.