X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=src%2Fscript%2Fcpp_api%2Fs_entity.cpp;h=4c1e296d4925e63fa2aba18af9a0ac99fc24737f;hb=772944daf69ab463568fbbf35a9011e4c8e6c44a;hp=2a5a6066d559eed04bec914d84be9444a35f2174;hpb=1dfc2e02b3c358af4bb20bb3cb60ac7bd3ed1124;p=dragonfireclient.git diff --git a/src/script/cpp_api/s_entity.cpp b/src/script/cpp_api/s_entity.cpp index 2a5a6066d..4c1e296d4 100644 --- a/src/script/cpp_api/s_entity.cpp +++ b/src/script/cpp_api/s_entity.cpp @@ -18,14 +18,12 @@ with this program; if not, write to the Free Software Foundation, Inc., */ #include "cpp_api/s_entity.h" +#include "cpp_api/s_internal.h" #include "log.h" #include "object_properties.h" #include "common/c_converter.h" #include "common/c_content.h" - -extern "C" { -#include "lauxlib.h" -} +#include "server.h" bool ScriptApiEntity::luaentity_Add(u16 id, const char *name) { @@ -34,15 +32,15 @@ bool ScriptApiEntity::luaentity_Add(u16 id, const char *name) verbosestream<<"scriptapi_luaentity_add: id="<physical); + getboolfield(L, -1, "collide_with_objects", prop->collideWithObjects); getfloatfield(L, -1, "weight", prop->weight); lua_getfield(L, -1, "collisionbox"); - if(lua_istable(L, -1)) + if (lua_istable(L, -1)) prop->collisionbox = read_aabb3f(L, -1, 1.0); lua_pop(L, 1); @@ -182,11 +188,11 @@ void ScriptApiEntity::luaentity_GetProperties(u16 id, getstringfield(L, -1, "mesh", prop->mesh); // Deprecated: read object properties directly - read_object_properties(L, -1, prop); + read_object_properties(L, -1, prop, getServer()->idef()); // Read initial_properties lua_getfield(L, -1, "initial_properties"); - read_object_properties(L, -1, prop); + read_object_properties(L, -1, prop, getServer()->idef()); lua_pop(L, 1); } @@ -196,49 +202,64 @@ void ScriptApiEntity::luaentity_Step(u16 id, float dtime) //infostream<<"scriptapi_luaentity_step: id="<