Merge branch 'signpostfixes' into 'next'
Fix CLEAR! signpost showing up in unmodded games (& add proper support for SPR2 animated signpost) See merge request STJr/SRB2!775
This commit is contained in:
commit
9498c5ba8e
|
@ -762,7 +762,7 @@ state_t states[NUMSTATES] =
|
||||||
{SPR_PLAY, SPR2_LIFE, 20, {NULL}, 0, 4, S_NULL}, // S_PLAY_ICON3
|
{SPR_PLAY, SPR2_LIFE, 20, {NULL}, 0, 4, S_NULL}, // S_PLAY_ICON3
|
||||||
|
|
||||||
// Level end sign (uses player sprite)
|
// Level end sign (uses player sprite)
|
||||||
{SPR_PLAY, SPR2_SIGN|FF_PAPERSPRITE, -1, {NULL}, 0, 29, S_PLAY_SIGN}, // S_PLAY_SIGN
|
{SPR_PLAY, SPR2_SIGN|FF_PAPERSPRITE, 2, {NULL}, 0, 29, S_PLAY_SIGN}, // S_PLAY_SIGN
|
||||||
|
|
||||||
// NiGHTS Player, transforming
|
// NiGHTS Player, transforming
|
||||||
{SPR_PLAY, SPR2_TRNS|FF_ANIMATE, 7, {NULL}, 0, 4, S_PLAY_NIGHTS_TRANS2}, // S_PLAY_NIGHTS_TRANS1
|
{SPR_PLAY, SPR2_TRNS|FF_ANIMATE, 7, {NULL}, 0, 4, S_PLAY_NIGHTS_TRANS2}, // S_PLAY_NIGHTS_TRANS1
|
||||||
|
|
|
@ -5198,8 +5198,8 @@ void A_SignPlayer(mobj_t *actor)
|
||||||
player_t *player = actor->target ? actor->target->player : NULL;
|
player_t *player = actor->target ? actor->target->player : NULL;
|
||||||
UINT8 skinnum;
|
UINT8 skinnum;
|
||||||
UINT8 skincount = 0;
|
UINT8 skincount = 0;
|
||||||
for (skincount = 0; skincount < numskins; skincount++)
|
for (skinnum = 0; skinnum < numskins; skinnum++)
|
||||||
if (!skincheck(skincount))
|
if (!skincheck(skinnum))
|
||||||
skincount++;
|
skincount++;
|
||||||
skinnum = P_RandomKey(skincount);
|
skinnum = P_RandomKey(skincount);
|
||||||
for (skincount = 0; skincount < numskins; skincount++)
|
for (skincount = 0; skincount < numskins; skincount++)
|
||||||
|
@ -5232,12 +5232,14 @@ void A_SignPlayer(mobj_t *actor)
|
||||||
{
|
{
|
||||||
ov->color = facecolor;
|
ov->color = facecolor;
|
||||||
ov->skin = skin;
|
ov->skin = skin;
|
||||||
|
if ((statenum_t)(ov->state-states) != actor->info->seestate)
|
||||||
P_SetMobjState(ov, actor->info->seestate); // S_PLAY_SIGN
|
P_SetMobjState(ov, actor->info->seestate); // S_PLAY_SIGN
|
||||||
}
|
}
|
||||||
else // CLEAR! sign
|
else // CLEAR! sign
|
||||||
{
|
{
|
||||||
ov->color = SKINCOLOR_NONE;
|
ov->color = SKINCOLOR_NONE;
|
||||||
ov->skin = NULL; // needs to be NULL in the case of SF_HIRES characters
|
ov->skin = NULL; // needs to be NULL in the case of SF_HIRES characters
|
||||||
|
if ((statenum_t)(ov->state-states) != actor->info->missilestate)
|
||||||
P_SetMobjState(ov, actor->info->missilestate); // S_CLEARSIGN
|
P_SetMobjState(ov, actor->info->missilestate); // S_CLEARSIGN
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -5245,6 +5247,7 @@ void A_SignPlayer(mobj_t *actor)
|
||||||
{
|
{
|
||||||
ov->color = SKINCOLOR_NONE;
|
ov->color = SKINCOLOR_NONE;
|
||||||
ov->skin = NULL;
|
ov->skin = NULL;
|
||||||
|
if ((statenum_t)(ov->state-states) != actor->info->meleestate)
|
||||||
P_SetMobjState(ov, actor->info->meleestate); // S_EGGMANSIGN
|
P_SetMobjState(ov, actor->info->meleestate); // S_EGGMANSIGN
|
||||||
if (!signcolor)
|
if (!signcolor)
|
||||||
signcolor = SKINCOLOR_CARBON;
|
signcolor = SKINCOLOR_CARBON;
|
||||||
|
|
Loading…
Reference in a new issue