From 2570c2d24018c9e4c17712ce4fe59aceffb264bd Mon Sep 17 00:00:00 2001 From: obligaron Date: Sat, 6 May 2023 09:51:29 +0200 Subject: [PATCH] Don't recalculate player position when loading a game --- Source/diablo.cpp | 3 ++- Source/loadsave.cpp | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/Source/diablo.cpp b/Source/diablo.cpp index 836a57169..534173da6 100644 --- a/Source/diablo.cpp +++ b/Source/diablo.cpp @@ -2916,7 +2916,8 @@ void LoadGameLevel(bool firstflag, lvl_entry lvldir) for (Player &player : Players) { if (player.plractive && player.isOnActiveLevel() && (!player._pLvlChanging || &player == MyPlayer)) { if (player._pHitPoints > 0) { - SyncInitPlrPos(player); + if (lvldir != ENTRY_LOAD) + SyncInitPlrPos(player); } else { dFlags[player.position.tile.x][player.position.tile.y] |= DungeonFlag::DeadPlayer; } diff --git a/Source/loadsave.cpp b/Source/loadsave.cpp index ae2bac9f5..c895f598b 100644 --- a/Source/loadsave.cpp +++ b/Source/loadsave.cpp @@ -2115,7 +2115,7 @@ void LoadGame(bool firstflag) } LoadGameLevel(firstflag, ENTRY_LOAD); - SyncInitPlr(myPlayer); + SetPlrAnims(myPlayer); SyncPlrAnim(myPlayer); ViewPosition = { viewX, viewY };