diff options
Diffstat (limited to 'src/inventory.h')
-rw-r--r-- | src/inventory.h | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/inventory.h b/src/inventory.h index e4a97e1d3..a690eb5ae 100644 --- a/src/inventory.h +++ b/src/inventory.h @@ -71,7 +71,7 @@ struct ItemStack void remove(u16 n) { - assert(count >= n); + assert(count >= n); // Pre-condition count -= n; if(count == 0) clear(); // reset name, wear and metadata too @@ -244,7 +244,13 @@ public: // Move an item to a different list (or a different stack in the same list) // count is the maximum number of items to move (0 for everything) - void moveItem(u32 i, InventoryList *dest, u32 dest_i, u32 count = 0); + // returns number of moved items + u32 moveItem(u32 i, InventoryList *dest, u32 dest_i, + u32 count = 0, bool swap_if_needed = true, bool *did_swap = NULL); + + // like moveItem, but without a fixed destination index + // also with optional rollback recording + void moveItemSomewhere(u32 i, InventoryList *dest, u32 count); private: std::vector<ItemStack> m_items; |