mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2026-04-27 12:31:54 +00:00
P_SpawnPlayer: Guarantee correct fake skin on player object at spawn
This commit is contained in:
parent
c18e7e6c3c
commit
1ae8a6dec5
1 changed files with 20 additions and 1 deletions
21
src/p_mobj.c
21
src/p_mobj.c
|
|
@ -11729,7 +11729,26 @@ void P_SpawnPlayer(INT32 playernum)
|
||||||
// set 'spritedef' override in mobj for player skins.. (see ProjectSprite)
|
// set 'spritedef' override in mobj for player skins.. (see ProjectSprite)
|
||||||
// (usefulness: when body mobj is detached from player (who respawns),
|
// (usefulness: when body mobj is detached from player (who respawns),
|
||||||
// the dead body mobj retains the skin through the 'spritedef' override).
|
// the dead body mobj retains the skin through the 'spritedef' override).
|
||||||
mobj->skin = &skins[p->skin];
|
|
||||||
|
// Loading skins from a player is a little more complicated, now.
|
||||||
|
{
|
||||||
|
UINT32 skinflags = (demo.playback)
|
||||||
|
? demo.skinlist[demo.currentskinid[p-players]].flags
|
||||||
|
: skins[p->skin].flags;
|
||||||
|
UINT32 skinid = p->skin;
|
||||||
|
|
||||||
|
if ((skinflags & SF_IRONMAN) && (p->fakeskin != MAXSKINS))
|
||||||
|
{
|
||||||
|
skinid = p->fakeskin;
|
||||||
|
if (demo.playback)
|
||||||
|
{
|
||||||
|
skinid = demo.skinlist[skinid].mapping;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
mobj->skin = &skins[skinid];
|
||||||
|
}
|
||||||
|
|
||||||
P_SetupStateAnimation(mobj, mobj->state);
|
P_SetupStateAnimation(mobj, mobj->state);
|
||||||
|
|
||||||
mobj->health = 1;
|
mobj->health = 1;
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue