@@ -475,7 +475,7 @@ internal T Update(float deltaTime, double tickLatencyAsTime, double minDeltaTime
475475 /// This version of TryConsumeFromBuffer adheres to the original BufferedLinearInterpolator buffer consumption pattern.
476476 /// </remarks>
477477 /// <param name="renderTime"></param>
478- private void TryConsumeFromBuffer ( double renderTime )
478+ private void TryConsumeFromBuffer ( double renderTime , double serverTime )
479479 {
480480 BufferedItem ? previousItem = null ;
481481 var alreadyHasBufferItem = false ;
@@ -488,7 +488,7 @@ private void TryConsumeFromBuffer(double renderTime)
488488 break ;
489489 }
490490
491- if ( ( potentialItem . TimeSent <= renderTime ) &&
491+ if ( ( potentialItem . TimeSent <= serverTime ) &&
492492 ( ! InterpolateState . Target . HasValue || InterpolateState . Target . Value . TimeSent < potentialItem . TimeSent ) )
493493 {
494494 if ( m_BufferQueue . TryDequeue ( out BufferedItem target ) )
@@ -500,7 +500,6 @@ private void TryConsumeFromBuffer(double renderTime)
500500 InterpolateState . PreviousValue = InterpolateState . CurrentValue ;
501501 InterpolateState . StartTime = target . TimeSent ;
502502 InterpolateState . EndTime = target . TimeSent ;
503- InterpolateState . TargetReached = false ;
504503 }
505504 else
506505 {
@@ -542,7 +541,7 @@ private void TryConsumeFromBuffer(double renderTime)
542541 /// <returns>The newly interpolated value of type 'T'</returns>
543542 public T Update ( float deltaTime , double renderTime , double serverTime )
544543 {
545- TryConsumeFromBuffer ( renderTime ) ;
544+ TryConsumeFromBuffer ( renderTime , serverTime ) ;
546545 // Only interpolate when there is a start and end point and we have not already reached the end value
547546 if ( InterpolateState . Target . HasValue && ! InterpolateState . TargetReached )
548547 {
@@ -603,9 +602,9 @@ public T Update(float deltaTime, NetworkTime serverTime)
603602 /// <summary>
604603 /// Used for internal testing
605604 /// </summary>
606- internal T UpdateInternal ( float deltaTime , NetworkTime serverTime )
605+ internal T UpdateInternal ( float deltaTime , NetworkTime serverTime , int ticksAgo = 1 )
607606 {
608- return Update ( deltaTime , serverTime . TimeTicksAgo ( 1 ) . Time , serverTime . Time ) ;
607+ return Update ( deltaTime , serverTime . TimeTicksAgo ( ticksAgo ) . Time , serverTime . Time ) ;
609608 }
610609
611610 /// <summary>
0 commit comments