K_GetEffectiveFollowerColor: Handle playercolor being default/NONE in a cleaner, more direct fashion

Fixes the FOLLOWERCOLOR_OPPOSITE handling being wrong in this circumstance
This commit is contained in:
toaster 2023-04-23 21:31:51 +01:00
parent 0fe6fb2fa5
commit 0d203f5dbb

View file

@ -250,17 +250,23 @@ UINT16 K_GetEffectiveFollowerColor(UINT16 followercolor, follower_t *follower, U
return followercolor;
}
if (playercolor == SKINCOLOR_NONE) // get default color
{
if (playerskin == NULL)
{
// Nothing from this line down is valid if playerskin is invalid, just guess Eggman?
playerskin = &skins[0];
}
playercolor = playerskin->prefcolor;
}
if (followercolor == FOLLOWERCOLOR_OPPOSITE) // "Opposite"
{
return skincolors[playercolor].invcolor;
}
// "Match"
if (playercolor == SKINCOLOR_NONE && playerskin != NULL)
{
return playerskin->prefcolor;
}
return playercolor;
}