From 4e1f50035e860a00636ca5d804c267119df99601 Mon Sep 17 00:00:00 2001 From: Kahrl Date: Sun, 11 Aug 2013 04:09:45 +0200 Subject: Omnicleanup: header cleanup, add ModApiUtil shared between game and mainmenu --- src/script/lua_api/l_item.cpp | 66 +++++++++++++++++++------------------------ 1 file changed, 29 insertions(+), 37 deletions(-) (limited to 'src/script/lua_api/l_item.cpp') diff --git a/src/script/lua_api/l_item.cpp b/src/script/lua_api/l_item.cpp index 6182c037b..a43b2858f 100644 --- a/src/script/lua_api/l_item.cpp +++ b/src/script/lua_api/l_item.cpp @@ -18,11 +18,16 @@ with this program; if not, write to the Free Software Foundation, Inc., */ #include "lua_api/l_item.h" +#include "lua_api/l_internal.h" #include "common/c_converter.h" #include "common/c_content.h" -#include "cpp_api/scriptapi.h" +#include "itemdef.h" +#include "nodedef.h" #include "server.h" -#include "common/c_internal.h" +#include "content_sao.h" +#include "inventory.h" +#include "log.h" + // garbage collector int LuaItemStack::gc_object(lua_State *L) @@ -97,7 +102,7 @@ int LuaItemStack::l_replace(lua_State *L) { NO_MAP_LOCK_REQUIRED; LuaItemStack *o = checkobject(L, 1); - o->m_stack = read_item(L,2,STACK_TO_SERVER(L)); + o->m_stack = read_item(L,2,getServer(L)); lua_pushboolean(L, true); return 1; } @@ -143,7 +148,7 @@ int LuaItemStack::l_get_stack_max(lua_State *L) NO_MAP_LOCK_REQUIRED; LuaItemStack *o = checkobject(L, 1); ItemStack &item = o->m_stack; - lua_pushinteger(L, item.getStackMax(STACK_TO_SERVER(L)->idef())); + lua_pushinteger(L, item.getStackMax(getServer(L)->idef())); return 1; } @@ -153,7 +158,7 @@ int LuaItemStack::l_get_free_space(lua_State *L) NO_MAP_LOCK_REQUIRED; LuaItemStack *o = checkobject(L, 1); ItemStack &item = o->m_stack; - lua_pushinteger(L, item.freeSpace(STACK_TO_SERVER(L)->idef())); + lua_pushinteger(L, item.freeSpace(getServer(L)->idef())); return 1; } @@ -164,7 +169,7 @@ int LuaItemStack::l_is_known(lua_State *L) NO_MAP_LOCK_REQUIRED; LuaItemStack *o = checkobject(L, 1); ItemStack &item = o->m_stack; - bool is_known = item.isKnown(STACK_TO_SERVER(L)->idef()); + bool is_known = item.isKnown(getServer(L)->idef()); lua_pushboolean(L, is_known); return 1; } @@ -200,7 +205,7 @@ int LuaItemStack::l_get_tool_capabilities(lua_State *L) LuaItemStack *o = checkobject(L, 1); ItemStack &item = o->m_stack; const ToolCapabilities &prop = - item.getToolCapabilities(STACK_TO_SERVER(L)->idef()); + item.getToolCapabilities(getServer(L)->idef()); push_tool_capabilities(L, prop); return 1; } @@ -215,7 +220,7 @@ int LuaItemStack::l_add_wear(lua_State *L) LuaItemStack *o = checkobject(L, 1); ItemStack &item = o->m_stack; int amount = lua_tointeger(L, 2); - bool result = item.addWear(amount, STACK_TO_SERVER(L)->idef()); + bool result = item.addWear(amount, getServer(L)->idef()); lua_pushboolean(L, result); return 1; } @@ -227,8 +232,8 @@ int LuaItemStack::l_add_item(lua_State *L) NO_MAP_LOCK_REQUIRED; LuaItemStack *o = checkobject(L, 1); ItemStack &item = o->m_stack; - ItemStack newitem = read_item(L,-1, STACK_TO_SERVER(L)); - ItemStack leftover = item.addItem(newitem, STACK_TO_SERVER(L)->idef()); + ItemStack newitem = read_item(L,-1, getServer(L)); + ItemStack leftover = item.addItem(newitem, getServer(L)->idef()); create(L, leftover); return 1; } @@ -241,9 +246,9 @@ int LuaItemStack::l_item_fits(lua_State *L) NO_MAP_LOCK_REQUIRED; LuaItemStack *o = checkobject(L, 1); ItemStack &item = o->m_stack; - ItemStack newitem = read_item(L, 2 ,STACK_TO_SERVER(L)); + ItemStack newitem = read_item(L, 2, getServer(L)); ItemStack restitem; - bool fits = item.itemFits(newitem, &restitem, STACK_TO_SERVER(L)->idef()); + bool fits = item.itemFits(newitem, &restitem, getServer(L)->idef()); lua_pushboolean(L, fits); // first return value create(L, restitem); // second return value return 2; @@ -300,7 +305,7 @@ ItemStack& LuaItemStack::getItem() int LuaItemStack::create_object(lua_State *L) { NO_MAP_LOCK_REQUIRED; - ItemStack item = read_item(L,1,STACK_TO_SERVER(L)); + ItemStack item = read_item(L, 1, getServer(L)); LuaItemStack *o = new LuaItemStack(item); *(void **)(lua_newuserdata(L, sizeof(void *))) = o; luaL_getmetatable(L, className); @@ -378,9 +383,6 @@ const luaL_reg LuaItemStack::methods[] = { {0,0} }; -ModApiItemMod::ModApiItemMod() { -} - /* ItemDefinition */ @@ -392,13 +394,11 @@ int ModApiItemMod::l_register_item_raw(lua_State *L) luaL_checktype(L, 1, LUA_TTABLE); int table = 1; - ScriptApi* scriptIface = get_scriptapi(L); - // Get the writable item and node definition managers from the server IWritableItemDefManager *idef = - scriptIface->getServer()->getWritableItemDefManager(); + getServer(L)->getWritableItemDefManager(); IWritableNodeDefManager *ndef = - scriptIface->getServer()->getWritableNodeDefManager(); + getServer(L)->getWritableNodeDefManager(); // Check if name is defined std::string name; @@ -455,7 +455,7 @@ int ModApiItemMod::l_register_alias_raw(lua_State *L) // Get the writable item definition manager from the server IWritableItemDefManager *idef = - STACK_TO_SERVER(L)->getWritableItemDefManager(); + getServer(L)->getWritableItemDefManager(); idef->registerAlias(name, convert_to); @@ -468,7 +468,7 @@ int ModApiItemMod::l_get_content_id(lua_State *L) NO_MAP_LOCK_REQUIRED; std::string name = luaL_checkstring(L, 1); - INodeDefManager *ndef = STACK_TO_SERVER(L)->getNodeDefManager(); + INodeDefManager *ndef = getServer(L)->getNodeDefManager(); content_t c = ndef->getId(name); lua_pushinteger(L, c); @@ -481,25 +481,17 @@ int ModApiItemMod::l_get_name_from_content_id(lua_State *L) NO_MAP_LOCK_REQUIRED; content_t c = luaL_checkint(L, 1); - INodeDefManager *ndef = STACK_TO_SERVER(L)->getNodeDefManager(); + INodeDefManager *ndef = getServer(L)->getNodeDefManager(); const char *name = ndef->get(c).name.c_str(); lua_pushstring(L, name); return 1; /* number of results */ } -bool ModApiItemMod::Initialize(lua_State *L,int top) { - - bool retval = true; - - retval &= API_FCT(register_item_raw); - retval &= API_FCT(register_alias_raw); - retval &= API_FCT(get_content_id); - retval &= API_FCT(get_name_from_content_id); - - LuaItemStack::Register(L); - - return retval; +void ModApiItemMod::Initialize(lua_State *L, int top) +{ + API_FCT(register_item_raw); + API_FCT(register_alias_raw); + API_FCT(get_content_id); + API_FCT(get_name_from_content_id); } - -ModApiItemMod modapi_item_prototyp; -- cgit v1.2.3