- did some cleanup on p_mobj.cpp

* deleting some unused code
* turned several class methods into static local functions in cases where they never were used outside this file.
* inlined the dangerous assignment operator in the only place where it was used.
This commit is contained in:
Christoph Oelckers 2022-11-05 12:00:43 +01:00
commit 72aa6fe3b8
5 changed files with 110 additions and 164 deletions

View file

@ -528,7 +528,9 @@ DEFINE_PROPERTY(skip_super, 0, Actor)
return;
}
*defaults = *GetDefault<AActor>();
// major hack job alert. This is only supposed to copy the parts that actually are defined by AActor itself.
memcpy(&defaults->snext, &GetDefault<AActor>()->snext, (uint8_t*)&defaults[1] - (uint8_t*)&defaults->snext);
ResetBaggage (&bag, RUNTIME_CLASS(AActor));
static_cast<PClassActor*>(bag.Info)->ActorInfo()->SkipSuperSet = true; // ZScript processes the states later so this property must be flagged for later handling.
}