- SW: generalize the resetting of the one-sided flag for pickup items instead of trying to handle each case explicitly.

Fixes #202
This commit is contained in:
Christoph Oelckers 2020-11-27 20:21:13 +01:00
parent daf71fa470
commit a587a1a888
2 changed files with 2 additions and 23 deletions

View file

@ -349,27 +349,6 @@ void InitLevel(MapRecord *maprec)
engineLoadBoard(maprec->fileName, SW_SHAREWARE ? 1 : 0, (vec3_t*)&Player[0], &ang, &Player[0].cursectnum);
currentLevel = maprec;
// Fixme. This needs to be done better.
if (!maprec->labelName.CompareNoCase("$hidtemp") && !maprec->name.CompareNoCase("$TXTS_T_MAP10"))
{
// flip the inverted card reader in TD's level 10.
if (sprite[179].picnum == 1852 && sprite[179].cstat == 92) sprite[179].cstat &= ~12;
}
if (!maprec->labelName.CompareNoCase("$subbase") && !maprec->name.CompareNoCase("$TXTS_MAP16"))
{
// clear accidental one-sided flag off a key card.
if (sprite[492].picnum == 1770 && sprite[492].cstat == 80) sprite[492].cstat &= ~64;
}
if (!maprec->labelName.CompareNoCase("$bath") && !maprec->name.CompareNoCase("$TXTS_T_MAP12"))
{
// clear accidental one-sided flag off another key card.
if (sprite[212].picnum == 1778 && sprite[212].cstat == 80) sprite[212].cstat &= ~64;
}
if (!maprec->labelName.CompareNoCase("$bath") && !maprec->name.CompareNoCase("$TXTS_W_MAP08"))
{
// clear accidental one-sided flag off yet another key card.
if (sprite[333].picnum == 1774 && sprite[333].cstat == 81) sprite[333].cstat &= ~64;
}
if (!maprec->labelName.CompareNoCase("$outpost") && !maprec->name.CompareNoCase("$TXTS_MAP09"))
{
// silence a misplaced and *very* annoying ambient sound.

View file

@ -1048,7 +1048,7 @@ IconSpawn(SPRITEp sp)
if (numplayers <= 1 || gNet.MultiGameType == MULTI_GAME_COOPERATIVE)
return false;
}
sp->cstat &= ~(CSTAT_SPRITE_BLOCK | CSTAT_SPRITE_BLOCK_HITSCAN | CSTAT_SPRITE_ONE_SIDED | CSTAT_SPRITE_ALIGNMENT_FLOOR);
return true;
}
@ -3151,7 +3151,7 @@ KeyMain:
RESET(picanm[sp->picnum].sf, PICANM_ANIMTYPE_MASK);
RESET(picanm[sp->picnum + 1].sf, PICANM_ANIMTYPE_MASK);
change_sprite_stat(SpriteNum, STAT_ITEM);
RESET(sp->cstat, CSTAT_SPRITE_BLOCK | CSTAT_SPRITE_BLOCK_HITSCAN);
RESET(sp->cstat, CSTAT_SPRITE_BLOCK | CSTAT_SPRITE_BLOCK_HITSCAN | CSTAT_SPRITE_ONE_SIDED);
u->Radius = 500;
sp->hitag = LUMINOUS; //Set so keys over ride colored lighting