fix dsdhacked actors not spawning when placed in a map

This commit is contained in:
Xaser Acheron 2025-04-28 20:24:42 -05:00 committed by Ricardo Luís Vaz Silva
commit fc470b4f7c

View file

@ -139,6 +139,7 @@ static PClassActor* FindInfoName(int index, bool mustexist = false)
cls = static_cast<PClassActor*>(RUNTIME_CLASS(AActor)->CreateDerivedClass(name.GetChars(), (unsigned)sizeof(AActor)));
NewClassType(cls, -1); // This needs a VM type to work as intended.
cls->InitializeDefaults();
PClassActor::AllActorClasses.Push(cls);
}
if (cls)
{
@ -3714,7 +3715,11 @@ void FinishDehPatch ()
mysnprintf(typeNameBuilder, countof(typeNameBuilder), "DehackedPickup%d", nameindex++);
bool newlycreated;
subclass = static_cast<PClassActor *>(dehtype->CreateDerivedClass(typeNameBuilder, dehtype->Size, &newlycreated, 0));
if (newlycreated) subclass->InitializeDefaults();
if (newlycreated)
{
subclass->InitializeDefaults();
PClassActor::AllActorClasses.Push(subclass);
}
}
while (subclass == nullptr);
NewClassType(subclass, 0); // This needs a VM type to work as intended.