From 80f166193180beb0a8a8961dc14dca52a51d00b2 Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Tue, 27 Dec 2016 22:44:22 +0100 Subject: [PATCH] - fixed: The player checking code after loading a savegame was not changed when tracer was replaced with alternative for holding the player's unmorphed version. --- src/g_inventory/a_artifacts.cpp | 2 +- src/g_level.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/g_inventory/a_artifacts.cpp b/src/g_inventory/a_artifacts.cpp index 4afe74f1f..131c161dc 100644 --- a/src/g_inventory/a_artifacts.cpp +++ b/src/g_inventory/a_artifacts.cpp @@ -1893,7 +1893,7 @@ void APowerMorph::InitEffect( ) if (Owner != nullptr && Owner->player != nullptr && PlayerClass != nullptr) { player_t *realplayer = Owner->player; // Remember the identity of the player - if (P_MorphPlayer(realplayer, realplayer, PlayerClass, -1/*INDEFINITELY*/, MorphStyle, MorphFlash, UnMorphFlash)) + if (P_MorphPlayer(realplayer, realplayer, PlayerClass, INT_MAX/*INDEFINITELY*/, MorphStyle, MorphFlash, UnMorphFlash)) { Owner = realplayer->mo; // Replace the new owner in our owner; safe because we are not attached to anything yet ItemFlags |= IF_CREATECOPYMOVED; // Let the caller know the "real" owner has changed (to the morphed actor) diff --git a/src/g_level.cpp b/src/g_level.cpp index 321810589..84718a87a 100644 --- a/src/g_level.cpp +++ b/src/g_level.cpp @@ -1568,7 +1568,7 @@ void G_UnSnapshotLevel (bool hubLoad) // If this isn't the unmorphed original copy of a player, destroy it, because it's extra. for (i = 0; i < MAXPLAYERS; ++i) { - if (playeringame[i] && players[i].morphTics && players[i].mo->tracer == pawn) + if (playeringame[i] && players[i].morphTics && players[i].mo->alternative == pawn) { break; }