Replaced MISSILE(EVEN)MORE with a real property and added related Dehacked options from Crispy Doom.

This also adds proper deprecation messages to the deprecated flags which were missing due to a bad definition macro.
This commit is contained in:
Christoph Oelckers 2024-10-03 12:24:16 +02:00
commit 8354c4a5c3
19 changed files with 138 additions and 69 deletions

View file

@ -795,13 +795,14 @@ void ZCCDoomCompiler::ProcessDefaultFlag(PClassActor *cls, ZCC_FlagStmt *flg)
auto fd = FindFlag(cls, n1, n2, true);
if (fd != nullptr)
{
if (fd->varflags & VARF_Deprecated)
if ((fd->varflags & VARF_Deprecated) && fd->deprecationVersion <= this->mVersion)
{
Warn(flg, "Deprecated flag '%s%s%s' used", n1, n2 ? "." : "", n2 ? n2 : "");
Warn(flg, "Deprecated flag '%s%s%s' used, deprecated since %d.%d.%d", n1, n2 ? "." : "", n2 ? n2 : "",
fd->deprecationVersion.major, fd->deprecationVersion.minor, fd->deprecationVersion.revision);
}
if (fd->structoffset == -1)
{
HandleDeprecatedFlags((AActor*)cls->Defaults, cls, flg->set, fd->flagbit);
HandleDeprecatedFlags((AActor*)cls->Defaults, flg->set, fd->flagbit);
}
else
{