Skip to content
Snippets Groups Projects
Commit 2de8c22a authored by SmallJoker's avatar SmallJoker Committed by kwolekr
Browse files

Make getStackMax return the correct maximal stack size

parent aa331663
No related branches found
No related tags found
No related merge requests found
...@@ -80,15 +80,14 @@ struct ItemStack ...@@ -80,15 +80,14 @@ struct ItemStack
// Maximum size of a stack // Maximum size of a stack
u16 getStackMax(IItemDefManager *itemdef) const u16 getStackMax(IItemDefManager *itemdef) const
{ {
s16 max = itemdef->get(name).stack_max; return itemdef->get(name).stack_max;
return (max >= 0) ? max : 0;
} }
// Number of items that can be added to this stack // Number of items that can be added to this stack
u16 freeSpace(IItemDefManager *itemdef) const u16 freeSpace(IItemDefManager *itemdef) const
{ {
u16 max = getStackMax(itemdef); u16 max = getStackMax(itemdef);
if(count > max) if (count >= max)
return 0; return 0;
return max - count; return max - count;
} }
......
...@@ -61,7 +61,7 @@ struct ItemDefinition ...@@ -61,7 +61,7 @@ struct ItemDefinition
/* /*
Item stack and interaction properties Item stack and interaction properties
*/ */
s16 stack_max; u16 stack_max;
bool usable; bool usable;
bool liquids_pointable; bool liquids_pointable;
// May be NULL. If non-NULL, deleted by destructor // May be NULL. If non-NULL, deleted by destructor
......
...@@ -65,9 +65,8 @@ ItemDefinition read_item_definition(lua_State* L,int index, ...@@ -65,9 +65,8 @@ ItemDefinition read_item_definition(lua_State* L,int index,
} }
lua_pop(L, 1); lua_pop(L, 1);
def.stack_max = getintfield_default(L, index, "stack_max", def.stack_max); int stack_max = getintfield_default(L, index, "stack_max", def.stack_max);
if(def.stack_max == 0) def.stack_max = rangelim(stack_max, 1, U16_MAX);
def.stack_max = 1;
lua_getfield(L, index, "on_use"); lua_getfield(L, index, "on_use");
def.usable = lua_isfunction(L, -1); def.usable = lua_isfunction(L, -1);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment