File tree Expand file tree Collapse file tree 2 files changed +14
-6
lines changed
GeneralsMD/Code/GameEngine/Source/GameLogic/Object/Behavior
Generals/Code/GameEngine/Source/GameLogic/Object/Behavior Expand file tree Collapse file tree 2 files changed +14
-6
lines changed Original file line number Diff line number Diff line change 4040#include " GameLogic/Object.h"
4141#include " GameLogic/PartitionManager.h"
4242#include " GameLogic/Weapon.h"
43+ #include " GameLogic/Module/ContainModule.h"
4344#include " GameLogic/Module/PropagandaTowerBehavior.h"
4445#include " GameLogic/Module/BodyModule.h"
4546
@@ -208,9 +209,12 @@ UpdateSleepTime PropagandaTowerBehavior::update( void )
208209#if RETAIL_COMPATIBLE_CRC
209210 Bool contained = self->getContainedBy () && self->getContainedBy ()->getContainedBy ();
210211#else
211- Bool contained = (self->isKindOf (KINDOF_PORTABLE_STRUCTURE)) ?
212- self->getContainedBy () && self->getContainedBy ()->getContainedBy () :
213- self->getContainedBy () != NULL ;
212+ Object* container = self->getContainedBy ();
213+
214+ while (container && container->getContainedBy ())
215+ container = container->getContainedBy ();
216+
217+ Bool contained = (container && container->getContain ()->isEnclosingContainerFor (self));
214218#endif
215219
216220 if (contained)
Original file line number Diff line number Diff line change 4040#include " GameLogic/Object.h"
4141#include " GameLogic/PartitionManager.h"
4242#include " GameLogic/Weapon.h"
43+ #include " GameLogic/Module/ContainModule.h"
4344#include " GameLogic/Module/PropagandaTowerBehavior.h"
4445#include " GameLogic/Module/BodyModule.h"
4546
@@ -210,9 +211,12 @@ UpdateSleepTime PropagandaTowerBehavior::update( void )
210211#if RETAIL_COMPATIBLE_CRC
211212 Bool contained = self->getContainedBy () && self->getContainedBy ()->getContainedBy ();
212213#else
213- Bool contained = (self->isKindOf (KINDOF_PORTABLE_STRUCTURE)) ?
214- self->getContainedBy () && self->getContainedBy ()->getContainedBy () :
215- self->getContainedBy () != NULL ;
214+ Object* container = self->getContainedBy ();
215+
216+ while (container && container->getContainedBy ())
217+ container = container->getContainedBy ();
218+
219+ Bool contained = (container && container->getContain ()->isEnclosingContainerFor (self));
216220#endif
217221
218222 if (contained)
You can’t perform that action at this time.
0 commit comments