diff --git a/libraries/entities/src/EntityItem.cpp b/libraries/entities/src/EntityItem.cpp index ac349ad74d..9ac24b4324 100644 --- a/libraries/entities/src/EntityItem.cpp +++ b/libraries/entities/src/EntityItem.cpp @@ -2834,7 +2834,7 @@ DEFINE_PROPERTY_ACCESSOR(quint32, StaticCertificateVersion, staticCertificateVer uint32_t EntityItem::getDirtyFlags() const { uint32_t result; withReadLock([&] { - result = _flags & 0x0000ffff; + result = _flags & ~Simulation::SPECIAL_FLAGS; }); return result; } @@ -2842,14 +2842,14 @@ uint32_t EntityItem::getDirtyFlags() const { void EntityItem::markDirtyFlags(uint32_t mask) { withWriteLock([&] { - mask &= 0x0000ffff; + mask &= ~Simulation::SPECIAL_FLAGS; _flags |= mask; }); } void EntityItem::clearDirtyFlags(uint32_t mask) { withWriteLock([&] { - mask &= 0x0000ffff; + mask &= ~Simulation::SPECIAL_FLAGS; _flags &= ~mask; }); } @@ -2857,21 +2857,21 @@ void EntityItem::clearDirtyFlags(uint32_t mask) { uint32_t EntityItem::getSpecialFlags() const { uint32_t result; withReadLock([&] { - result = _flags & 0xffff0000; + result = _flags & ~Simulation::DIRTY_FLAGS; }); return result; } void EntityItem::markSpecialFlags(uint32_t mask) { withWriteLock([&] { - mask &= 0xffff0000; + mask &= ~Simulation::DIRTY_FLAGS; _flags |= mask; }); } void EntityItem::clearSpecialFlags(uint32_t mask) { withWriteLock([&] { - mask &= 0xffff0000; + mask &= ~Simulation::DIRTY_FLAGS; _flags &= ~mask; }); } diff --git a/libraries/entities/src/SimulationFlags.h b/libraries/entities/src/SimulationFlags.h index da82916fe3..c45b333b29 100644 --- a/libraries/entities/src/SimulationFlags.h +++ b/libraries/entities/src/SimulationFlags.h @@ -33,6 +33,22 @@ namespace Simulation { const uint32_t DIRTY_TRANSFORM = DIRTY_POSITION | DIRTY_ROTATION; const uint32_t DIRTY_VELOCITIES = DIRTY_LINEAR_VELOCITY | DIRTY_ANGULAR_VELOCITY; + const uint32_t SPECIAL_FLAGS = SPECIAL_FLAGS_NO_BOOTSTRAPPING; + + const uint32_t DIRTY_FLAGS = DIRTY_POSITION | + DIRTY_ROTATION | + DIRTY_LINEAR_VELOCITY | + DIRTY_ANGULAR_VELOCITY | + DIRTY_MASS | + DIRTY_COLLISION_GROUP | + DIRTY_MOTION_TYPE | + DIRTY_SHAPE | + DIRTY_LIFETIME | + DIRTY_UPDATEABLE | + DIRTY_MATERIAL | + DIRTY_PHYSICS_ACTIVATION | + DIRTY_SIMULATOR_ID | + DIRTY_SIMULATION_OWNERSHIP_PRIORITY; }; #endif // hifi_SimulationFlags_h