diff --git a/dtool/Config.pp b/dtool/Config.pp index 337194163e..013cbb8dab 100644 --- a/dtool/Config.pp +++ b/dtool/Config.pp @@ -930,8 +930,8 @@ #defer HAVE_OPENAL $[or $[OPENAL_FRAMEWORK],$[libtest $[OPENAL_LPATH],$[OPENAL_LIBS]]] // Info for the NVIDIA PhysX SDK -#define PHYSX_IPATH -#define PHYSX_LPATH +#define PHYSX_IPATH /usr/include/PhysX/v2.8.3/SDKs/Cooking/include /usr/include/PhysX/v2.8.3/SDKs/Foundation/include /usr/include/PhysX/v2.8.3/SDKs/NxCharacter/include /usr/include/PhysX/v2.8.3/SDKs/Physics/include /usr/include/PhysX/v2.8.3/SDKs/PhysXLoader/include +#define PHYSX_LPATH /usr/lib/PhysX/v2.8.3 #define PHYSX_LIBS $[if $[WINDOWS_PLATFORM],PhysXLoader.lib NxCharacter.lib NxCooking.lib NxExtensions.lib,PhysXLoader NxCharacter NxCooking] #defer HAVE_PHYSX $[libtest $[PHYSX_LPATH],$[PHYSX_LIBS]] diff --git a/dtool/LocalSetup.pp b/dtool/LocalSetup.pp index 8c878c279d..e2e70c3c05 100644 --- a/dtool/LocalSetup.pp +++ b/dtool/LocalSetup.pp @@ -251,9 +251,6 @@ $[cdefine HAVE_FMODEX] /* Define if we have OpenAL installed. */ $[cdefine HAVE_OPENAL] -/* Define if we have Ageia PhysX SDK installed. */ -$[cdefine HAVE_PHYSX] - /* Define if we have Freetype 2.0 or better available. */ $[cdefine HAVE_FREETYPE] diff --git a/makepanda/makepandacore.py b/makepanda/makepandacore.py index 6a776dedab..ea4174c250 100644 --- a/makepanda/makepandacore.py +++ b/makepanda/makepandacore.py @@ -1478,7 +1478,7 @@ def SdkLocatePhysX(): if folder.endswith("NVIDIA PhysX SDK\\%s\\SDKs\\" % key): SDK["PHYSX"] = folder SDK["PHYSXVERSION"] = ver - elif (sys.platform.startswith("linux") and platform.architecture()[0] != "64bit"): + elif (sys.platform.startswith("linux")): incpath = "/usr/include/PhysX/%s/SDKs" % key libpath = "/usr/lib/PhysX/%s" % key if (os.path.isdir(incpath) and os.path.isdir(libpath)): diff --git a/panda/src/physx/Sources.pp b/panda/src/physx/Sources.pp index 48ef1d968f..ccbb483113 100644 --- a/panda/src/physx/Sources.pp +++ b/panda/src/physx/Sources.pp @@ -30,8 +30,11 @@ physxCapsuleForceFieldShapeDesc.I physxCapsuleForceFieldShapeDesc.h \ physxCapsuleShape.I physxCapsuleShape.h \ physxCapsuleShapeDesc.I physxCapsuleShapeDesc.h \ + physxCloth.I physxCloth.h \ + physxClothDesc.I physxClothDesc.h \ physxClothMesh.I physxClothMesh.h \ physxClothMeshDesc.I physxClothMeshDesc.h \ + physxClothNode.I physxClothNode.h \ physxConstraintDominance.I physxConstraintDominance.h \ physxContactPair.I physxContactPair.h \ physxContactPoint.I physxContactPoint.h \ @@ -124,7 +127,7 @@ physxVehicle.I physxVehicle.h \ physxVehicleDesc.I physxVehicleDesc.h \ physxWheel.I physxWheel.h \ - physxWheelDesc.I physxWheel.h \ + physxWheelDesc.I physxWheelDesc.h \ physxWheelShape.I physxWheelShape.h \ physxWheelShapeDesc.I physxWheelShapeDesc.h \ @@ -148,8 +151,11 @@ physxCapsuleForceFieldShapeDesc.cxx \ physxCapsuleShape.cxx \ physxCapsuleShapeDesc.cxx \ + physxCloth.cxx \ + physxClothDesc.cxx \ physxClothMesh.cxx \ physxClothMeshDesc.cxx \ + physxClothNode.cxx \ physxConstraintDominance.cxx \ physxContactPair.cxx \ physxContactPoint.cxx \ @@ -266,8 +272,11 @@ physxCapsuleForceFieldShapeDesc.I physxCapsuleForceFieldShapeDesc.h \ physxCapsuleShape.I physxCapsuleShape.h \ physxCapsuleShapeDesc.I physxCapsuleShapeDesc.h \ + physxCloth.I physxCloth.h \ + physxClothDesc.I physxClothDesc.h \ physxClothMesh.I physxClothMesh.h \ physxClothMeshDesc.I physxClothMeshDesc.h \ + physxClothNode.I physxClothNode.h \ physxConstraintDominance.I physxConstraintDominance.h \ physxContactPair.I physxContactPair.h \ physxContactPoint.I physxContactPoint.h \ @@ -360,7 +369,7 @@ physxVehicle.I physxVehicle.h \ physxVehicleDesc.I physxVehicleDesc.h \ physxWheel.I physxWheel.h \ - physxWheelDesc.I physxWheel.h \ + physxWheelDesc.I physxWheelDesc.h \ physxWheelShape.I physxWheelShape.h \ physxWheelShapeDesc.I physxWheelShapeDesc.h \ diff --git a/panda/src/physx/physxScene.cxx b/panda/src/physx/physxScene.cxx index 3d7f1dd12b..768be5a148 100644 --- a/panda/src/physx/physxScene.cxx +++ b/panda/src/physx/physxScene.cxx @@ -242,6 +242,7 @@ void PhysxScene:: fetch_results() { nassertv(_error_type == ET_ok); + nassertv(_ptr != NULL); _pcollector_fetch_results.start(); _ptr->fetchResults(NX_RIGID_BODY_FINISHED, true); diff --git a/panda/src/physx/physx_includes.h b/panda/src/physx/physx_includes.h index b70f81bbdd..a7fb072502 100644 --- a/panda/src/physx/physx_includes.h +++ b/panda/src/physx/physx_includes.h @@ -23,7 +23,11 @@ #ifdef IS_LINUX #define LINUX 1 +#ifdef _LP64 +#define NX64 1 +#else #define NX32 1 +#endif #define CORELIB 1 #define NX_DISABLE_FLUIDS 1 #endif