Add K_UpdateMobjItemOverlay

This commit is contained in:
James R 2022-12-27 22:32:57 -08:00 committed by NepDisk
parent 05e926f540
commit 152bb32609
3 changed files with 26 additions and 19 deletions

View file

@ -10091,4 +10091,27 @@ boolean K_RingsActive(void)
return true;
}
void K_UpdateMobjItemOverlay(mobj_t *part, SINT8 itemType, UINT8 itemCount)
{
switch (itemType)
{
case KITEM_ORBINAUT:
part->sprite = SPR_ITMO;
part->frame = FF_FULLBRIGHT|FF_PAPERSPRITE|K_GetOrbinautItemFrame(itemCount);
break;
case KITEM_INVINCIBILITY:
part->sprite = SPR_ITMI;
part->frame = FF_FULLBRIGHT|FF_PAPERSPRITE|K_GetInvincibilityItemFrame();
break;
case KITEM_SAD:
part->sprite = SPR_ITEM;
part->frame = FF_FULLBRIGHT|FF_PAPERSPRITE;
break;
default:
part->sprite = SPR_ITEM;
part->frame = FF_FULLBRIGHT|FF_PAPERSPRITE|(itemType);
break;
}
}
//}

View file

@ -184,6 +184,8 @@ boolean K_SafeRespawnPosition(mobj_t * mo);
boolean K_RingsActive(void);
void K_UpdateMobjItemOverlay(mobj_t *part, SINT8 itemType, UINT8 itemCount);
#ifdef __cplusplus
} // extern "C"
#endif

View file

@ -4135,25 +4135,7 @@ static void P_RefreshItemCapsuleParts(mobj_t *mobj)
part->threshold = mobj->threshold;
part->movecount = mobj->movecount;
switch (itemType)
{
case KITEM_ORBINAUT:
part->sprite = SPR_ITMO;
part->frame = FF_FULLBRIGHT|FF_PAPERSPRITE|K_GetOrbinautItemFrame(mobj->movecount);
break;
case KITEM_INVINCIBILITY:
part->sprite = SPR_ITMI;
part->frame = FF_FULLBRIGHT|FF_PAPERSPRITE|K_GetInvincibilityItemFrame();
break;
case KITEM_SAD:
part->sprite = SPR_ITEM;
part->frame = FF_FULLBRIGHT|FF_PAPERSPRITE;
break;
default:
part->sprite = SPR_ITEM;
part->frame = FF_FULLBRIGHT|FF_PAPERSPRITE|(itemType);
break;
}
K_UpdateMobjItemOverlay(part, itemType, mobj->movecount);
// update number frame
if (K_GetShieldFromItem(itemType) != KSHIELD_NONE) // shields don't stack, so don't show a number