Browse Source

Fix Gira basket explosions

Tweak the GZ marker detector region fix to only wake up kinematic detector
regions... waking up regular dynamic actors before we position them causes bad
things to happen.
Adam Johnson 13 years ago
parent
commit
54b5e4cf24
  1. 7
      Sources/Plasma/PubUtilLib/plPhysX/plPXPhysical.cpp

7
Sources/Plasma/PubUtilLib/plPhysX/plPXPhysical.cpp

@ -827,7 +827,12 @@ void plPXPhysical::ApplyHitForce()
void plPXPhysical::ISetTransformGlobal(const hsMatrix44& l2w)
{
hsAssert(fActor->isDynamic(), "Shouldn't move a static actor");
fActor->wakeUp();
// If we wake up normal dynamic actors, they might explode.
// However, kinematics won't update if they are asleep. Thankfully, kinematics don't
// explode, move, or cause spontaneous nuclear warfare.
if (fActor->readBodyFlag(NX_BF_KINEMATIC))
fActor->wakeUp();
NxMat34 mat;

Loading…
Cancel
Save