From 202137ed69aa6c96c2ae193be250025d97dcfafc Mon Sep 17 00:00:00 2001
From: Mitchell Richters <mjr4077au@gmail.com>
Date: Tue, 15 Nov 2022 21:25:13 +1100
Subject: [PATCH] - Duke: Fix interpolation issues with player's XY coordinates
 while drawing using the sprite.

---
 source/games/duke/src/actors_d.cpp | 2 +-
 source/games/duke/src/actors_r.cpp | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/source/games/duke/src/actors_d.cpp b/source/games/duke/src/actors_d.cpp
index cfd040f3f..3ceec1382 100644
--- a/source/games/duke/src/actors_d.cpp
+++ b/source/games/duke/src/actors_d.cpp
@@ -3073,7 +3073,7 @@ void move_d(DDukeActor *actor, int playernum, int xvel)
 	{
 		if ((badguy(actor) && actor->spr.extra <= 0) || (actor->opos.X != actor->spr.pos.X) || (actor->opos.Y != actor->spr.pos.Y))
 		{
-			actor->backupvec2();
+			if (actor->spr.picnum != APLAYER) actor->backupvec2();
 			SetActor(actor, actor->spr.pos);
 		}
 		return;
diff --git a/source/games/duke/src/actors_r.cpp b/source/games/duke/src/actors_r.cpp
index 273f8852e..01882e5ec 100644
--- a/source/games/duke/src/actors_r.cpp
+++ b/source/games/duke/src/actors_r.cpp
@@ -3307,7 +3307,7 @@ void move_r(DDukeActor *actor, int pnum, int xvel)
 	{
 		if ((badguy(actor) && actor->spr.extra <= 0) || (actor->opos.X != actor->spr.pos.X) || (actor->opos.Y != actor->spr.pos.Y))
 		{
-			actor->backupvec2();
+			if (actor->spr.picnum != APLAYER) actor->backupvec2();
 			SetActor(actor, actor->spr.pos);
 		}
 		if (badguy(actor) && actor->spr.extra <= 0)