- Duke: Back up all sprites as soon as possible.

* The player's input is processed before the sprites were backed up, causing interpolation issues with the player's Z.
This commit is contained in:
Mitchell Richters 2022-11-14 20:55:29 +11:00 committed by Christoph Oelckers
parent abd6275f17
commit 9972c65842
5 changed files with 6 additions and 21 deletions

View file

@ -4370,24 +4370,6 @@ DDukeActor *LocateTheLocator(int n, sectortype* sect)
//
//---------------------------------------------------------------------------
void recordoldspritepos()
{
for (int statNum = 0; statNum < MAXSTATUS; statNum++)
{
DukeStatIterator it(statNum);
while (auto ac = it.Next())
{
ac->backuploc();
}
}
}
//---------------------------------------------------------------------------
//
//
//
//---------------------------------------------------------------------------
void movefta(void)
{

View file

@ -3270,7 +3270,6 @@ void think_d(void)
{
thinktime.Reset();
thinktime.Clock();
recordoldspritepos();
movefta(); //ST 2
moveweapons_d(); //ST 4

View file

@ -3739,7 +3739,6 @@ void think_r(void)
{
thinktime.Reset();
thinktime.Clock();
recordoldspritepos();
movefta(); //ST 2
moveweapons_r(); //ST 4

View file

@ -226,7 +226,6 @@ int playercolor2lookup(int color);
void PlayerColorChanged(void);
bool movementBlocked(player_struct *p);
void loadcons();
void recordoldspritepos();
void DrawStatusBar();
inline int32_t krand(void)

View file

@ -69,6 +69,12 @@ void GameInterface::Ticker()
ud.cameraactor = nullptr;
everyothertime++;
DukeSpriteIterator it;
while (auto ac = it.Next())
{
ac->backuploc();
}
global_random = krand();
fi.movetransports();//ST 9
movedummyplayers();//ST 13