don't overwrite physical properties with those from the entity during editEntity -- only set those that the script didn't.

This commit is contained in:
Seth Alves 2016-07-19 11:23:21 -07:00
parent 48705d33c5
commit 5f6e608207
2 changed files with 19 additions and 12 deletions

View file

@ -1211,11 +1211,21 @@ EntityItemProperties EntityItem::getProperties(EntityPropertyFlags desiredProper
void EntityItem::getAllTerseUpdateProperties(EntityItemProperties& properties) const {
// a TerseUpdate includes the transform and its derivatives
properties._position = getLocalPosition();
properties._velocity = getLocalVelocity();
properties._rotation = getLocalOrientation();
properties._angularVelocity = getLocalAngularVelocity();
properties._acceleration = _acceleration;
if (!properties._positionChanged) {
properties._position = getLocalPosition();
}
if (!properties._velocityChanged) {
properties._velocity = getLocalVelocity();
}
if (!properties._rotationChanged) {
properties._rotation = getLocalOrientation();
}
if (!properties._angularVelocityChanged) {
properties._angularVelocity = getLocalAngularVelocity();
}
if (!properties._accelerationChanged) {
properties._acceleration = _acceleration;
}
properties._positionChanged = true;
properties._velocityChanged = true;

View file

@ -723,13 +723,10 @@ void EntityTree::fixupTerseEditLogging(EntityItemProperties& properties, QList<Q
int index = changedProperties.indexOf("velocity");
if (index >= 0) {
glm::vec3 value = properties.getVelocity();
QString changeHint = "0";
if (value.x + value.y + value.z > 0) {
changeHint = "+";
} else if (value.x + value.y + value.z < 0) {
changeHint = "-";
}
changedProperties[index] = QString("velocity:") + changeHint;
changedProperties[index] = QString("velocity:") +
QString::number((int)value.x) + "," +
QString::number((int)value.y) + "," +
QString::number((int)value.z);
}
}