Browse Source

Merge pull request #758 from Azaezel/alpha40/spawnDisplayAug

display the item to be spawned
Brian Roberts 3 years ago
parent
commit
67b5afcfbe
1 changed files with 16 additions and 0 deletions
  1. 16 0
      Engine/source/T3D/missionMarker.cpp

+ 16 - 0
Engine/source/T3D/missionMarker.cpp

@@ -433,7 +433,23 @@ void SpawnSphere::unpackUpdate(NetConnection * con, BitStream * stream)
       mSpawnTransform = stream->readFlag();
 
       stream->read(&mSpawnClass);
+
+      String oldSDB = mSpawnDataBlock;
       stream->read(&mSpawnDataBlock);
+      if (oldSDB != mSpawnDataBlock)
+      {
+         delete mShapeInstance;
+         ShapeBaseData *spawnedDatablock = dynamic_cast<ShapeBaseData *>(Sim::findObject(mSpawnDataBlock.c_str()));
+         if (spawnedDatablock && spawnedDatablock->mShape)
+         {
+               mShapeInstance = new TSShapeInstance(spawnedDatablock->mShape);
+         }
+         else if (mDataBlock)
+         {
+            if (mDataBlock->mShape)
+               mShapeInstance = new TSShapeInstance(mDataBlock->mShape);
+         }
+      }
       stream->read(&mSpawnName);
       stream->read(&mSpawnProperties);
       stream->read(&mSpawnScript);