diff options
author | PilzAdam <pilzadam@minetest.net> | 2013-06-14 12:04:46 +0000 |
---|---|---|
committer | RealBadAngel <mk@realbadangel.pl> | 2013-07-20 20:43:11 +0200 |
commit | 8cae65978611476d0da215acf61819a905c68267 (patch) | |
tree | 2fec7ef03de8946149c8d118b49ca472e0d048a6 /src/content_sao.cpp | |
parent | 413f0d0353d49d7baed32540d73cbec99e35658a (diff) | |
download | minetest-8cae65978611476d0da215acf61819a905c68267.tar.gz minetest-8cae65978611476d0da215acf61819a905c68267.tar.bz2 minetest-8cae65978611476d0da215acf61819a905c68267.zip |
Add an option to disable object <-> object collision for Lua entities
Diffstat (limited to 'src/content_sao.cpp')
-rw-r--r-- | src/content_sao.cpp | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/src/content_sao.cpp b/src/content_sao.cpp index 993859f1c..6b3593ec7 100644 --- a/src/content_sao.cpp +++ b/src/content_sao.cpp @@ -68,6 +68,10 @@ public: return false; } + bool collideWithObjects() { + return false; + } + private: }; @@ -140,6 +144,10 @@ public: return false; } + bool collideWithObjects() { + return false; + } + private: float m_timer1; float m_age; @@ -325,6 +333,9 @@ public: return false; } + bool collideWithObjects() { + return false; + } private: std::string m_itemstring; @@ -500,7 +511,8 @@ void LuaEntitySAO::step(float dtime, bool send_recommended) v3f p_acceleration = m_acceleration; moveresult = collisionMoveSimple(m_env,m_env->getGameDef(), pos_max_d, box, stepheight, dtime, - p_pos, p_velocity, p_acceleration,this); + p_pos, p_velocity, p_acceleration, + this, m_prop.collideWithObjects); // Apply results m_base_position = p_pos; m_velocity = p_velocity; @@ -905,6 +917,10 @@ bool LuaEntitySAO::getCollisionBox(aabb3f *toset) { return false; } +bool LuaEntitySAO::collideWithObjects(){ + return m_prop.collideWithObjects; +} + /* PlayerSAO */ @@ -1496,3 +1512,7 @@ bool PlayerSAO::getCollisionBox(aabb3f *toset) { return true; } + +bool PlayerSAO::collideWithObjects(){ + return true; +} |