mirror of
https://foundry.openuru.org/gitblit/r/CWE-ou-minkata.git
synced 2025-07-14 02:27:40 -04:00
Revert hacks and do it right.
Now that we properly suspend/resume the simulation AND filter out false positives in the PanicLink region, we can use the correct PhysX apis have have regions that work 100%
This commit is contained in:
@ -395,7 +395,7 @@ void plPXPhysicalControllerCore::IMatchKinematicToController()
|
|||||||
kinPos.z = (NxReal)cPos.z;
|
kinPos.z = (NxReal)cPos.z;
|
||||||
if (plSimulationMgr::fExtraProfile)
|
if (plSimulationMgr::fExtraProfile)
|
||||||
SimLog("Match setting kinematic from %f,%f,%f to %f,%f,%f",prevKinPos.x,prevKinPos.y,prevKinPos.z,kinPos.x,kinPos.y,kinPos.z );
|
SimLog("Match setting kinematic from %f,%f,%f to %f,%f,%f",prevKinPos.x,prevKinPos.y,prevKinPos.z,kinPos.x,kinPos.y,kinPos.z );
|
||||||
if (fBehavingLikeAnimatedPhys && fKinematic) // if NX_BF_KINEMATIC && (avatar is on a ladder or something)
|
if (fKinematicActor->readBodyFlag(NX_BF_KINEMATIC))
|
||||||
fKinematicActor->moveGlobalPosition(kinPos);
|
fKinematicActor->moveGlobalPosition(kinPos);
|
||||||
else
|
else
|
||||||
fKinematicActor->setGlobalPosition(kinPos);
|
fKinematicActor->setGlobalPosition(kinPos);
|
||||||
@ -409,7 +409,7 @@ void plPXPhysicalControllerCore::UpdateControllerAndPhysicalRep()
|
|||||||
{//this means we are moving the controller and then synchnig the kin
|
{//this means we are moving the controller and then synchnig the kin
|
||||||
NxExtendedVec3 ControllerPos= fController->getPosition();
|
NxExtendedVec3 ControllerPos= fController->getPosition();
|
||||||
NxVec3 NewKinPos((NxReal)ControllerPos.x, (NxReal)ControllerPos.y, (NxReal)ControllerPos.z);
|
NxVec3 NewKinPos((NxReal)ControllerPos.x, (NxReal)ControllerPos.y, (NxReal)ControllerPos.z);
|
||||||
if (fEnabled || fKinematic)
|
if (fKinematicActor->readBodyFlag(NX_BF_KINEMATIC))
|
||||||
{
|
{
|
||||||
if (plSimulationMgr::fExtraProfile)
|
if (plSimulationMgr::fExtraProfile)
|
||||||
SimLog("Moving kinematic to %f,%f,%f",NewKinPos.x, NewKinPos.y, NewKinPos.z );
|
SimLog("Moving kinematic to %f,%f,%f",NewKinPos.x, NewKinPos.y, NewKinPos.z );
|
||||||
@ -449,7 +449,7 @@ void plPXPhysicalControllerCore::MoveKinematicToController(hsPoint3& pos)
|
|||||||
newPos.x = (NxReal)pos.fX;
|
newPos.x = (NxReal)pos.fX;
|
||||||
newPos.y = (NxReal)pos.fY;
|
newPos.y = (NxReal)pos.fY;
|
||||||
newPos.z = (NxReal)pos.fZ+kPhysZOffset;
|
newPos.z = (NxReal)pos.fZ+kPhysZOffset;
|
||||||
if (fBehavingLikeAnimatedPhys)
|
if (fKinematicActor->readBodyFlag(NX_BF_KINEMATIC))
|
||||||
{
|
{
|
||||||
if (plSimulationMgr::fExtraProfile)
|
if (plSimulationMgr::fExtraProfile)
|
||||||
SimLog("Moving kinematic from %f,%f,%f to %f,%f,%f",pos.fX,pos.fY,pos.fZ+kPhysZOffset,kinPos.x,kinPos.y,kinPos.z );
|
SimLog("Moving kinematic from %f,%f,%f to %f,%f,%f",pos.fX,pos.fY,pos.fZ+kPhysZOffset,kinPos.x,kinPos.y,kinPos.z );
|
||||||
@ -491,7 +491,7 @@ void plPXPhysicalControllerCore::ISetKinematicLoc(const hsMatrix44& l2w)
|
|||||||
// add z offset
|
// add z offset
|
||||||
kPos.fZ += kPhysZOffset;
|
kPos.fZ += kPhysZOffset;
|
||||||
// Update the physical position of kinematic
|
// Update the physical position of kinematic
|
||||||
if (fBehavingLikeAnimatedPhys)
|
if (fKinematicActor->readBodyFlag(NX_BF_KINEMATIC))
|
||||||
fKinematicActor->moveGlobalPosition(plPXConvert::Point(kPos));
|
fKinematicActor->moveGlobalPosition(plPXConvert::Point(kPos));
|
||||||
else
|
else
|
||||||
fKinematicActor->setGlobalPosition(plPXConvert::Point(kPos));
|
fKinematicActor->setGlobalPosition(plPXConvert::Point(kPos));
|
||||||
|
Reference in New Issue
Block a user