summaryrefslogtreecommitdiff
path: root/src/content_sao.cpp
diff options
context:
space:
mode:
authorPilzAdam <pilzadam@minetest.net>2013-06-14 12:04:46 +0000
committerRealBadAngel <mk@realbadangel.pl>2013-07-20 20:43:11 +0200
commit8cae65978611476d0da215acf61819a905c68267 (patch)
tree2fec7ef03de8946149c8d118b49ca472e0d048a6 /src/content_sao.cpp
parent413f0d0353d49d7baed32540d73cbec99e35658a (diff)
downloadminetest-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.cpp22
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;
+}