diff --git a/src/dobject.cpp b/src/dobject.cpp index 6644c90b3..64236bcba 100644 --- a/src/dobject.cpp +++ b/src/dobject.cpp @@ -584,13 +584,20 @@ void DObject::SerializeUserVars(FSerializer &arc) void DObject::Serialize(FSerializer &arc) { - int fresh = ObjectFlags & OF_JustSpawned; - int freshdef = 0; - arc("justspawned", fresh, freshdef); - if (arc.isReading()) + const auto SerializeFlag = [&](const char *const name, const EObjectFlags flag) { - ObjectFlags |= fresh; - } + int value = ObjectFlags & flag; + int defaultvalue = 0; + arc(name, value, defaultvalue); + if (arc.isReading()) + { + ObjectFlags |= value; + } + }; + + SerializeFlag("justspawned", OF_JustSpawned); + SerializeFlag("spawned", OF_Spawned); + ObjectFlags |= OF_SerialSuccess; }