diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/core/entity.cc | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/core/entity.cc b/src/core/entity.cc index fe33d2a..35164dc 100644 --- a/src/core/entity.cc +++ b/src/core/entity.cc @@ -501,7 +501,7 @@ void Entity::remove_menu(std::string const &label) void Entity::reset() { - if (!radius()) { + if (!radius() || flag_is_set(NonSolid)) { return; } @@ -577,6 +577,10 @@ void EntityDynamic::set_state(int state) void EntityDynamic::reset() { + if (!radius() || flag_is_set(NonSolid)) { + return; + } + Entity::reset(); if (entity_state == Docked) { @@ -933,9 +937,10 @@ void EntityControlable::set_zone(Zone *zone) void EntityControlable::reset() { - if (!radius()) + if (!radius() || flag_is_set(NonSolid)) { return; - + } + // location and orientation btTransform t; t.setIdentity(); |