[Client] Prevent framerate drops caused by invalid rotation values

This commit is contained in:
David Cernat 2017-06-01 21:45:36 +03:00
parent 41de1876a3
commit cf41956cad
2 changed files with 16 additions and 7 deletions

View file

@ -104,9 +104,14 @@ void DedicatedActor::setMovementSettings()
move->mPosition[0] = direction.pos[0]; move->mPosition[0] = direction.pos[0];
move->mPosition[1] = direction.pos[1]; move->mPosition[1] = direction.pos[1];
move->mPosition[2] = direction.pos[2]; move->mPosition[2] = direction.pos[2];
move->mRotation[0] = direction.rot[0];
move->mRotation[1] = direction.rot[1]; // Make sure the values are valid, or we'll get an infinite error loop
move->mRotation[2] = direction.rot[2]; if (!isnan(direction.rot[0]) && !isnan(direction.rot[1]) && !isnan(direction.rot[2]))
{
move->mRotation[0] = direction.rot[0];
move->mRotation[1] = direction.rot[1];
move->mRotation[2] = direction.rot[2];
}
} }
void DedicatedActor::setPosition() void DedicatedActor::setPosition()

View file

@ -123,10 +123,14 @@ void DedicatedPlayer::move(float dt)
move->mPosition[0] = direction.pos[0]; move->mPosition[0] = direction.pos[0];
move->mPosition[1] = direction.pos[1]; move->mPosition[1] = direction.pos[1];
move->mPosition[2] = direction.pos[2]; move->mPosition[2] = direction.pos[2];
move->mRotation[0] = direction.rot[0];
move->mRotation[1] = direction.rot[1]; // Make sure the values are valid, or we'll get an infinite error loop
move->mRotation[2] = direction.rot[2]; if (!isnan(direction.rot[0]) && !isnan(direction.rot[1]) && !isnan(direction.rot[2]))
{
move->mRotation[0] = direction.rot[0];
move->mRotation[1] = direction.rot[1];
move->mRotation[2] = direction.rot[2];
}
} }
void DedicatedPlayer::setAnimFlags() void DedicatedPlayer::setAnimFlags()