From d59280eadbdb7ca0f8bd32a71ef346dfd6fec304 Mon Sep 17 00:00:00 2001 From: Randy Heit Date: Tue, 28 Feb 2012 01:54:35 +0000 Subject: [PATCH] - Preserve the MF_BLOCKED flag on level-spawned actors that have it in their default properties. SVN r3395 (trunk) --- src/p_mobj.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/p_mobj.cpp b/src/p_mobj.cpp index 3ff207d49..5a421b586 100644 --- a/src/p_mobj.cpp +++ b/src/p_mobj.cpp @@ -3691,8 +3691,15 @@ AActor *Spawn (FName classname, fixed_t x, fixed_t y, fixed_t z, replace_t allow void AActor::LevelSpawned () { if (tics > 0 && !(flags4 & MF4_SYNCHRONIZED)) + { tics = 1 + (pr_spawnmapthing() % tics); - flags &= ~MF_DROPPED; // [RH] clear MF_DROPPED flag + } + // [RH] Clear MF_DROPPED flag if the default version doesn't have it set. + // (AInventory::BeginPlay() makes all inventory items spawn with it set.) + if (!(GetDefault()->flags & MF_DROPPED)) + { + flags &= ~MF_DROPPED; + } HandleSpawnFlags (); }