summaryrefslogtreecommitdiff
path: root/src/content_sao.cpp
diff options
context:
space:
mode:
authorPerttu Ahola <celeron55@gmail.com>2011-11-12 10:39:44 +0200
committerPerttu Ahola <celeron55@gmail.com>2011-11-29 19:13:39 +0200
commitdcedfdacd1ba77591cdc0aa2b8c123c6a5ef2f5d (patch)
treeb52f1ec55269db3c0691e0292de4d1bb64f41389 /src/content_sao.cpp
parentea8d6d7abd86b33169b8c2b80cd382d82ba84b8b (diff)
downloadminetest-dcedfdacd1ba77591cdc0aa2b8c123c6a5ef2f5d.tar.gz
minetest-dcedfdacd1ba77591cdc0aa2b8c123c6a5ef2f5d.tar.bz2
minetest-dcedfdacd1ba77591cdc0aa2b8c123c6a5ef2f5d.zip
Scripting WIP
Diffstat (limited to 'src/content_sao.cpp')
-rw-r--r--src/content_sao.cpp11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/content_sao.cpp b/src/content_sao.cpp
index 8a0e67a21..3802129cb 100644
--- a/src/content_sao.cpp
+++ b/src/content_sao.cpp
@@ -1495,6 +1495,7 @@ void MobV2SAO::doDamage(u16 d)
*/
#include "scriptapi.h"
+#include "luaentity_common.h"
// Prototype
LuaEntitySAO proto_LuaEntitySAO(NULL, v3f(0,0,0), "_prototype", "");
@@ -1527,14 +1528,13 @@ void LuaEntitySAO::addedToEnvironment(u16 id)
{
ServerActiveObject::addedToEnvironment(id);
- // Create entity by name and state
+ // Create entity from name and state
m_registered = true;
lua_State *L = m_env->getLua();
scriptapi_luaentity_add(L, id, m_init_name.c_str(), m_init_state.c_str());
// Get properties
- *m_prop = scriptapi_luaentity_get_properties(L, m_id);
- infostream<<"m_prop->visual="<<m_prop->visual<<std::endl;
+ scriptapi_luaentity_get_properties(L, m_id, m_prop);
}
ServerActiveObject* LuaEntitySAO::create(ServerEnvironment *env, v3f pos,
@@ -1571,6 +1571,11 @@ std::string LuaEntitySAO::getClientInitializationData()
writeU8(os, 0);
// pos
writeV3F1000(os, m_base_position);
+ // properties
+ std::ostringstream prop_os(std::ios::binary);
+ m_prop->serialize(prop_os);
+ os<<serializeLongString(prop_os.str());
+ // return result
return os.str();
}