From fc470b4f7c3336d6e6601dc57e9b9c56f5c9f04f Mon Sep 17 00:00:00 2001 From: Xaser Acheron Date: Mon, 28 Apr 2025 20:24:42 -0500 Subject: [PATCH] fix dsdhacked actors not spawning when placed in a map --- src/gamedata/d_dehacked.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/gamedata/d_dehacked.cpp b/src/gamedata/d_dehacked.cpp index 8ddcc7935..040735874 100644 --- a/src/gamedata/d_dehacked.cpp +++ b/src/gamedata/d_dehacked.cpp @@ -139,6 +139,7 @@ static PClassActor* FindInfoName(int index, bool mustexist = false) cls = static_cast(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(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.