1
0
mirror of https://foundry.openuru.org/gitblit/r/CWE-ou-minkata.git synced 2025-07-18 11:19:10 +00:00

Remove PhysX Dependency from plExcludeRegionMod

This commit is contained in:
2013-05-20 20:33:22 -04:00
parent 99019becb0
commit 061f129e70
4 changed files with 8 additions and 10 deletions

View File

@ -4,7 +4,6 @@ include_directories("../../NucleusLib/inc")
include_directories("../../NucleusLib")
include_directories("../../PubUtilLib")
include_directories(${PHYSX_INCLUDE_DIRS})
include_directories(${OPENAL_INCLUDE_DIR})
set(plModifier_SOURCES

View File

@ -62,7 +62,7 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
//for hack
#include "plPhysX/plPXPhysical.h"
#include "plPhysX/plPXPhysicalControllerCore.h"
#include <NxCapsule.h>
static plPhysical* GetPhysical(plSceneObject* obj)
{
if (obj)
@ -309,10 +309,8 @@ void plExcludeRegionModifier::IMoveAvatars()
int actualCount = plPXPhysicalControllerCore::GetControllersInThisSubWorld(phys->GetWorldKey(), numControllers, controllers);
for (int i=0;i<actualCount;i++)
{
NxCapsule cap;
controllers[i]->GetWorldSpaceCapsule(cap);
if(phys->OverlapWithCapsule(cap))
{
if (phys->OverlapWithController(controllers[i]))
{
plSceneObject* so = plSceneObject::ConvertNoRef(controllers[i]->GetOwner()->ObjectIsLoaded());
const plArmatureMod* constAvMod = (plArmatureMod*)so->GetModifierByType(plArmatureMod::Index());

View File

@ -1080,8 +1080,10 @@ void plPXPhysical::ExcludeRegionHack(bool cleared)
plPXPhysicalControllerCore::RebuildCache();
}
bool plPXPhysical::OverlapWithCapsule(NxCapsule& cap)
bool plPXPhysical::OverlapWithController(const plPXPhysicalControllerCore* controller)
{
NxCapsule cap;
controller->GetWorldSpaceCapsule(cap);
NxShape* shape = fActor->getShapes()[0];
return shape->checkOverlapCapsule(cap);
}

View File

@ -182,9 +182,8 @@ public:
// This weeds those out.
bool IsDynamic() const;
//Hack to check if there is an overlap with the capsule
//this partially for exclude regions vs avatar capsule
virtual bool OverlapWithCapsule(NxCapsule& cap);
//Hack to check if there is an overlap with the avatar controller
bool OverlapWithController(const class plPXPhysicalControllerCore* controller);
virtual float GetMass() {return fMass;}
protected: