diff --git a/src/playsim/p_pspr.cpp b/src/playsim/p_pspr.cpp index cc921b86b..6f57fb6d4 100644 --- a/src/playsim/p_pspr.cpp +++ b/src/playsim/p_pspr.cpp @@ -316,7 +316,7 @@ DPSprite *player_t::GetPSprite(PSPLayers layer) newcaller = ReadyWeapon; } - if (newcaller == nullptr) return nullptr; // Error case was not handled properly. This function cannot give a guarantee to always succeed! + if (newcaller == nullptr || layer == PSP_CALLERID) return nullptr; // Error case was not handled properly. This function cannot give a guarantee to always succeed! DPSprite *pspr = FindPSprite(layer); if (pspr == nullptr) diff --git a/src/playsim/p_pspr.h b/src/playsim/p_pspr.h index 31d3ec0bb..a992e90d8 100644 --- a/src/playsim/p_pspr.h +++ b/src/playsim/p_pspr.h @@ -51,6 +51,7 @@ class player_t; enum PSPLayers { PSP_STRIFEHANDS = -1, + PSP_CALLERID = 0, PSP_WEAPON = 1, PSP_FLASH = 1000, PSP_TARGETCENTER = INT_MAX - 2,