Fix stuff

This commit is contained in:
Sardelka9515
2022-08-18 22:08:06 +08:00
parent 5075289657
commit f234830c54
2 changed files with 10 additions and 8 deletions

View File

@ -71,6 +71,7 @@ namespace RageCoop.Client{
internal int _lastLivery = -1;
List<Vector3> _predictedTrace = new List<Vector3>();
List<Vector3> _orgTrace = new List<Vector3>();
private Vector3 _predictedPosition;
float _elapsed;
#endregion

View File

@ -261,20 +261,21 @@ namespace RageCoop.Client
}
void DisplayVehicle(bool touching)
{
_elapsed = Owner.PacketTravelTime+0.001f*LastSyncedStopWatch.ElapsedMilliseconds;
Position += _elapsed*Velocity;
_elapsed = Owner.PacketTravelTime + 0.001f * LastSyncedStopWatch.ElapsedMilliseconds;
_predictedPosition = Position + _elapsed * Velocity;
var current = MainVehicle.ReadPosition();
var dist = current.DistanceTo(Position);
var cali = dist*(Position - current);
if (Velocity.Length()<0.1) { cali*=10; }
if (dist>10)
var dist = current.DistanceTo(_predictedPosition);
var cali = dist * (_predictedPosition - current);
if (Velocity.Length() < 0.1) { cali *= 10; }
if (dist > 10)
{
MainVehicle.Position = Position;
MainVehicle.Position = _predictedPosition;
MainVehicle.Velocity = Velocity;
MainVehicle.Quaternion = Quaternion;
return;
}
MainVehicle.Velocity = Velocity+cali;
if (IsFlipped)