- added an option to FindClassTentative to make eventual failure to declare the missing class non-fatal.

Damn those old mods with broken actor references. Thanks to those FxClassTypeCast may not throw fatal errors.
This commit is contained in:
Christoph Oelckers 2016-02-09 12:26:00 +01:00
commit 6c92525fcd
4 changed files with 32 additions and 24 deletions

View file

@ -340,10 +340,15 @@ static void FinishThingdef()
{
PClassActor *ti = PClassActor::AllActorClasses[i];
if (ti->Size == (unsigned)-1)
if (ti->Size == TClass_Fatal || ti->Size == TClass_Nonfatal)
{
Printf("Class %s referenced but not defined\n", ti->TypeName.GetChars());
errorcount++;
Printf(TEXTCOLOR_RED "Class %s referenced but not defined\n", ti->TypeName.GetChars());
if (ti->Size == TClass_Fatal) errorcount++;
else
{
// In order to prevent a crash, this class needs to be completed, even though it defines nothing.
ti->ParentClass->CreateDerivedClass(ti->TypeName, ti->ParentClass->Size);
}
continue;
}