- fixed: A_CheckTerrain did not use the proper damage type for processing an instant death sector.
- moved sector secret information from sector_t::special and secretsector to two flag bits in sector_t::Flags. This is to get rid of the bit masking madness in the floor/ceiling thinkers which need to preserve this bit when they change a sector's type.
This commit is contained in:
parent
1c6a00059f
commit
6a63effa1f
15 changed files with 67 additions and 38 deletions
|
|
@ -437,7 +437,7 @@ void P_PlayerInSpecialSector (player_t *player, sector_t * sector)
|
|||
}
|
||||
}
|
||||
|
||||
int special = sector->special & ~SECRET_MASK;
|
||||
int special = sector->special;
|
||||
|
||||
// Has hit ground.
|
||||
AInventory *ironfeet;
|
||||
|
|
@ -574,9 +574,9 @@ void P_PlayerInSpecialSector (player_t *player, sector_t * sector)
|
|||
}
|
||||
}
|
||||
|
||||
if (sector->special & SECRET_MASK)
|
||||
if (sector->isSecret())
|
||||
{
|
||||
sector->special &= ~SECRET_MASK;
|
||||
sector->ClearSecret();
|
||||
P_GiveSecret(player->mo, true, true, int(sector - sectors));
|
||||
}
|
||||
}
|
||||
|
|
@ -1189,7 +1189,11 @@ void P_SpawnSpecials (void)
|
|||
|
||||
// [RH] All secret sectors are marked with a BOOM-ish bitfield
|
||||
if (sector->special & SECRET_MASK)
|
||||
{
|
||||
sector->Flags |= SECF_SECRET | SECF_WASSECRET;
|
||||
sector->special &= ~SECRET_MASK;
|
||||
level.total_secrets++;
|
||||
}
|
||||
|
||||
switch (sector->special & 0xff)
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue