- 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:
Christoph Oelckers 2016-01-06 01:50:45 +01:00
commit 6a63effa1f
15 changed files with 67 additions and 38 deletions

View file

@ -398,15 +398,25 @@ void P_SerializeWorld (FArchive &arc)
}
}
arc << sec->SoundTarget
arc << sec->SoundTarget
<< sec->SecActTarget
<< sec->sky
<< sec->MoreFlags
<< sec->Flags
<< sec->FloorSkyBox << sec->CeilingSkyBox
<< sec->ZoneNumber
<< sec->secretsector
<< sec->interpolations[0]
<< sec->ZoneNumber;
if (SaveVersion < 4529)
{
short secretsector;
arc << secretsector;
if (secretsector) sec->Flags |= SECF_WASSECRET;
if (sec->special & SECRET_MASK)
{
sec->Flags |= SECF_SECRET;
sec->special &= ~SECRET_MASK;
}
}
arc << sec->interpolations[0]
<< sec->interpolations[1]
<< sec->interpolations[2]
<< sec->interpolations[3]