| @@ -20,13 +20,6 @@ | |||
| <Win32Defines>HAVE_SDL_H;USE_SDL;$(Win32Defines)</Win32Defines> | |||
| <Win32Defines>USE_SDL_MIXER;USE_SDL_IMAGE;$(Win32Defines)</Win32Defines> | |||
| <!-- BulletPhysics --> | |||
| <BtPhysDir>$(ExternalDir)\bullet-2.80-rev2531</BtPhysDir> | |||
| <BtPhysIncludes>$(BtPhysDir)\include;$(BtPhysDir)\include\bullet</BtPhysIncludes> | |||
| <Win32Defines Condition="'$(UseBullet)'=='true'">HAVE_PHYS_USE_BULLET;$(Win32Defines)</Win32Defines> | |||
| <Ps3Defines Condition="'$(UseBullet)'=='true'">HAVE_PHYS_USE_BULLET;$(Ps3Defines)</Ps3Defines> | |||
| <XboxDefines Condition="'$(UseBullet)'=='true'">HAVE_PHYS_USE_BULLET;$(XboxDefines)</XboxDefines> | |||
| <!-- GTK+ & GtkGl --> | |||
| <GtkDir>$(ExternalDir)\gtk-2.22.1</GtkDir> | |||
| <GtkGlDir>$(ExternalDir)\gtkglarea-2.0.1</GtkGlDir> | |||
| @@ -9,8 +9,5 @@ | |||
| <!-- Use OpenGL instead of Direct3D? --> | |||
| <UseOpenGL>true</UseOpenGL> | |||
| <!-- Use Bullet for our physics solver? --> | |||
| <UseBullet>true</UseBullet> | |||
| </PropertyGroup> | |||
| </Project> | |||
| @@ -20,13 +20,6 @@ | |||
| <Win32Defines>HAVE_SDL_H;USE_SDL;$(Win32Defines)</Win32Defines> | |||
| <Win32Defines>USE_SDL_MIXER;USE_SDL_IMAGE;$(Win32Defines)</Win32Defines> | |||
| <!-- BulletPhysics --> | |||
| <BtPhysDir>$(ExternalDir)\bullet-2.80-rev2531</BtPhysDir> | |||
| <BtPhysIncludes>$(BtPhysDir)\include;$(BtPhysDir)\include\bullet</BtPhysIncludes> | |||
| <Win32Defines Condition="'$(UseBullet)'=='true'">HAVE_PHYS_USE_BULLET;$(Win32Defines)</Win32Defines> | |||
| <Ps3Defines Condition="'$(UseBullet)'=='true'">HAVE_PHYS_USE_BULLET;$(Ps3Defines)</Ps3Defines> | |||
| <XboxDefines Condition="'$(UseBullet)'=='true'">HAVE_PHYS_USE_BULLET;$(XboxDefines)</XboxDefines> | |||
| <!-- GTK+ & GtkGl --> | |||
| <GtkDir>$(ExternalDir)\gtk-2.22.1</GtkDir> | |||
| <GtkGlDir>$(ExternalDir)\gtkglarea-2.0.1</GtkGlDir> | |||
| @@ -14,10 +14,6 @@ | |||
| using namespace lol; | |||
| #ifndef HAVE_PHYS_USE_BULLET | |||
| #define HAVE_PHYS_USE_BULLET | |||
| #endif /* HAVE_PHYS_USE_BULLET */ | |||
| #include "physics/lolphysics.h" | |||
| #include "physics/easyphysics.h" | |||
| @@ -14,10 +14,6 @@ | |||
| using namespace lol; | |||
| #ifndef HAVE_PHYS_USE_BULLET | |||
| #define HAVE_PHYS_USE_BULLET | |||
| #endif /* HAVE_PHYS_USE_BULLET */ | |||
| //#include "physics/lolphysics.h" | |||
| //#include "physics/easyphysics.h" | |||
| @@ -16,7 +16,6 @@ | |||
| #define USE_LOL_CTRLR_CHARAC | |||
| #ifdef HAVE_PHYS_USE_BULLET | |||
| #include "core.h" | |||
| #include <stdio.h> | |||
| #include "lolbtphysicsintegration.h" | |||
| @@ -30,8 +29,6 @@ | |||
| //#include "BulletCollision/BroadphaseCollision/btCollisionAlgorithm.h" | |||
| //#include "BulletCollision/CollisionDispatch/btCollisionWorld.h" | |||
| //#include "LinearMath/btDefaultMotionState.h" | |||
| #endif //HAVE_PHYS_USE_BULLET | |||
| namespace lol | |||
| { | |||
| @@ -40,7 +37,6 @@ namespace phys | |||
| { | |||
| #ifdef USE_LOL_CTRLR_CHARAC | |||
| #ifdef HAVE_PHYS_USE_BULLET | |||
| //When called, will try to remove Character controller from its collision. | |||
| bool BulletKinematicCharacterController::RecoverFromPenetration(btCollisionWorld* CollisionWorld) | |||
| @@ -238,7 +234,6 @@ void BulletKinematicCharacterController::Jump() | |||
| m_was_jumping = true; | |||
| } | |||
| #endif // HAVE_PHYS_USE_BULLET | |||
| #endif // USE_LOL_CTRLR_CHARAC | |||
| } /* namespace phys */ | |||
| @@ -18,11 +18,9 @@ | |||
| #if !defined __BULLETCHARACTERCONTROLLER_BULLETCHARACTERCONTROLLER_H__ | |||
| #define __BULLETCHARACTERCONTROLLER_BULLETCHARACTERCONTROLLER_H__ | |||
| #ifdef HAVE_PHYS_USE_BULLET | |||
| #include "core.h" | |||
| #include "easyphysics.h" | |||
| //#include "BulletDynamics\Character\btCharacterControllerInterface.h" | |||
| #endif | |||
| #define USE_LOL_CTRLR_CHARAC | |||
| @@ -33,7 +31,6 @@ namespace lol | |||
| { | |||
| #ifdef USE_LOL_CTRLR_CHARAC | |||
| #ifdef HAVE_PHYS_USE_BULLET | |||
| //SweepCallback used for Swweep Tests. | |||
| class ClosestNotMeConvexResultCallback : public btCollisionWorld::ClosestConvexResultCallback | |||
| @@ -278,7 +275,6 @@ namespace lol | |||
| vec3 m_velocity; | |||
| }; | |||
| #endif // HAVE_PHYS_USE_BULLET | |||
| #endif // USE_LOL_CTRLR_CHARAC | |||
| } /* namespace phys */ | |||
| @@ -24,8 +24,6 @@ namespace lol | |||
| namespace phys | |||
| { | |||
| #ifdef HAVE_PHYS_USE_BULLET | |||
| //------------------------------------------------------------------------- | |||
| //EASY_CHARACTER_CONTROLLER | |||
| //-- | |||
| @@ -146,8 +144,6 @@ void EasyCharacterController::TickGame(float seconds) | |||
| } | |||
| } | |||
| #endif // HAVE_PHYS_USE_BULLET | |||
| } /* namespace phys */ | |||
| } /* namespace lol */ | |||
| @@ -20,12 +20,10 @@ | |||
| #if !defined __EASYCHARACTERCONTROLLER_EASYCHARACTERCONTROLLER_H__ | |||
| #define __EASYCHARACTERCONTROLLER_EASYCHARACTERCONTROLLER_H__ | |||
| #ifdef HAVE_PHYS_USE_BULLET | |||
| #include "core.h" | |||
| #include "easyphysics.h" | |||
| #include "bulletcharactercontroller.h" | |||
| #include <BulletDynamics/Character/btKinematicCharacterController.h> | |||
| #endif | |||
| namespace lol | |||
| { | |||
| @@ -40,8 +38,6 @@ class EasyCharacterController : public EasyPhysic, | |||
| friend class Simulation; | |||
| friend class EasyPhysic; | |||
| #ifdef HAVE_PHYS_USE_BULLET | |||
| public: | |||
| EasyCharacterController(WorldEntity* NewOwnerEntity) : | |||
| EasyPhysic(NewOwnerEntity), | |||
| @@ -101,17 +97,6 @@ protected: | |||
| //---- | |||
| vec3 m_walk_velocity; | |||
| vec3 m_current_velocity; | |||
| #else // NO PHYSIC IMPLEMENTATION | |||
| virtual void InitBodyToRigid(bool ZeroMassIsKinematic=false) { } | |||
| virtual void InitBodyToGhost() { } | |||
| virtual void AddToSimulation(class Simulation* current_simulation) { } | |||
| virtual void RemoveFromSimulation(class Simulation* current_simulation) { } | |||
| virtual void SetMovementForFrame(vec3 const &MoveQuantity) { } | |||
| #endif // PHYSIC IMPLEMENTATION | |||
| }; | |||
| } /* namespace phys */ | |||
| @@ -13,8 +13,6 @@ namespace lol | |||
| namespace phys | |||
| { | |||
| #ifdef HAVE_PHYS_USE_BULLET | |||
| //------------------------------------------------------------------------- | |||
| //EASY_CONSTRAINT | |||
| //-- | |||
| @@ -39,8 +37,7 @@ void EasyConstraint::RemoveFromSimulation(class Simulation* current_simulation) | |||
| } | |||
| } | |||
| #endif // HAVE_PHYS_USE_BULLET | |||
| } /* namespace phys */ | |||
| } /* namespace lol */ | |||
| @@ -17,10 +17,8 @@ | |||
| #if !defined __EASYCONSTRAINT_EASYCONSTRAINT_H__ | |||
| #define __EASYCONSTRAINT_EASYCONSTRAINT_H__ | |||
| #ifdef HAVE_PHYS_USE_BULLET | |||
| #include "core.h" | |||
| #include "easyphysics.h" | |||
| #endif | |||
| namespace lol | |||
| { | |||
| @@ -34,8 +32,6 @@ class EasyConstraint | |||
| friend class Simulation; | |||
| friend class EasyPhysic; | |||
| #ifdef HAVE_PHYS_USE_BULLET | |||
| public: | |||
| EasyConstraint() : | |||
| m_typed_constraint(NULL), | |||
| @@ -133,34 +129,6 @@ private: | |||
| btConeTwistConstraint* m_cone_twist_constraint; | |||
| btGeneric6DofConstraint* m_6dof_constraint; | |||
| #else // NO PHYSIC IMPLEMENTATION | |||
| public: | |||
| EasyConstraint() : | |||
| m_a_physobj(NULL), | |||
| m_b_physobj(NULL), | |||
| m_a_transform(lol::mat4(1.f)), | |||
| m_b_transform(lol::mat4(1.f)), | |||
| m_using_ref_a(false), | |||
| m_disable_a2b_collision(false) | |||
| { | |||
| } | |||
| private: | |||
| void AddToSimulation(class Simulation* current_simulation) { } | |||
| void RemoveFromSimulation(class Simulation* current_simulation) { } | |||
| //check if Init can be done | |||
| bool CanProceedWithInit() { return false; } | |||
| void CustomInitConstraintToPoint2Point() { } | |||
| void CustomInitConstraintToHinge() { } | |||
| void CustomInitConstraintToSlider() { } | |||
| void CustomInitConstraintToConeTwist() { } | |||
| void CustomInitConstraintTo6Dof() { } | |||
| #endif // PHYSIC IMPLEMENTATION | |||
| public: | |||
| void InitConstraintToPoint2Point() { if (CanProceedWithInit()) CustomInitConstraintToPoint2Point(); } | |||
| void InitConstraintToHinge() { if (CanProceedWithInit()) CustomInitConstraintToHinge(); } | |||
| @@ -23,8 +23,6 @@ namespace lol | |||
| namespace phys | |||
| { | |||
| #ifdef HAVE_PHYS_USE_BULLET | |||
| //------------------------------------------------------------------------- | |||
| //EASY_PHYSIC | |||
| //-- | |||
| @@ -425,8 +423,6 @@ void EasyPhysic::SetLocalInertia(float mass) | |||
| m_local_inertia = btVector3(.0f, .0f, .0f); | |||
| } | |||
| #endif // HAVE_PHYS_USE_BULLET | |||
| } /* namespace phys */ | |||
| } /* namespace lol */ | |||
| @@ -17,12 +17,10 @@ | |||
| #if !defined __EASYPHYSICS_EASYPHYSICS_H__ | |||
| #define __EASYPHYSICS_EASYPHYSICS_H__ | |||
| #ifdef HAVE_PHYS_USE_BULLET | |||
| #include "core.h" | |||
| #include <bullet/btBulletDynamicsCommon.h> | |||
| #include <bullet/btBulletCollisionCommon.h> | |||
| #include <bullet/BulletCollision/CollisionDispatch/btGhostObject.h> | |||
| #endif //HAVE_PHYS_USE_BULLET | |||
| namespace lol | |||
| { | |||
| @@ -36,8 +34,6 @@ class EasyPhysic | |||
| friend class Simulation; | |||
| friend class EasyConstraint; | |||
| #ifdef HAVE_PHYS_USE_BULLET | |||
| public: | |||
| EasyPhysic(WorldEntity* NewOwnerEntity); | |||
| ~EasyPhysic(); | |||
| @@ -93,49 +89,6 @@ protected: | |||
| btConvexShape* m_convex_shape; | |||
| btMotionState* m_motion_state; | |||
| #else // NO PHYSIC IMPLEMENTATION | |||
| public: | |||
| EasyPhysic(WorldEntity* NewOwnerEntity) { m_owner_entity = NewOwnerEntity; } | |||
| virtual void SetShapeToBox(lol::vec3& BoxSize) { } | |||
| virtual void SetShapeToSphere(float radius) { } | |||
| virtual void SetShapeToCone(float radius, float height) { } | |||
| virtual void SetShapeToCylinder(lol::vec3& cyl_size) { } | |||
| virtual void SetShapeToCapsule(float radius, float height) { } | |||
| virtual bool CanChangeCollisionChannel() { return true; } | |||
| virtual mat4 GetTransform() { return mat4(1.0f); } | |||
| virtual void SetTransform(const lol::vec3& base_location, const lol::quat& base_rotation=lol::quat(lol::mat4(1.0f))) { } | |||
| private: | |||
| virtual void BaseTransformChanged(const lol::mat4& PreviousMatrix, const lol::mat4& NewMatrix) { } | |||
| public: | |||
| virtual void SetMass(float mass) { } | |||
| virtual float GetMass() { return .0f; } | |||
| virtual void SetHitRestitution(float hit_restitution) { } | |||
| virtual void InitBodyToRigid() { } | |||
| virtual void InitBodyToGhost() { } | |||
| virtual void AddToSimulation(class Simulation* current_simulation) { } | |||
| virtual void RemoveFromSimulation(class Simulation* current_simulation) { } | |||
| //Force/Impulse functions | |||
| virtual void AddImpulse(const lol::vec3& impulse) { } | |||
| virtual void AddImpulse(const lol::vec3& impulse, const lol::vec3& rel_pos) { } | |||
| virtual void AddImpulseTorque(const lol::vec3& torque) { } | |||
| virtual void AddForce(const lol::vec3& force) { } | |||
| virtual void AddForce(const lol::vec3& force, const lol::vec3& rel_pos) { } | |||
| virtual void AddForceTorque(const lol::vec3& torque) { } | |||
| //Movements getter | |||
| lol::vec3 GetLinearVelocity() const { return lol::vec3(.0f); } | |||
| lol::vec3 GetLinearForce() const { return lol::vec3(.0f); } | |||
| lol::vec3 GetAngularVelocity() const { return lol::vec3(.0f); } | |||
| lol::vec3 GetAngularForce() const { return lol::vec3(.0f); } | |||
| virtual void InitBodyToGhost() { } | |||
| #endif // PHYSIC IMPLEMENTATION | |||
| public: | |||
| //Sets the collision Group & Mask. | |||
| //Mask can change at runtime, not group ! | |||
| @@ -28,8 +28,6 @@ namespace lol | |||
| #define GAMEGROUP_EZP_CHAR_CTRLR GAMEGROUP_AFTER_0 | |||
| #define GAMEGROUP_SIMULATION GAMEGROUP_AFTER_1 | |||
| #ifdef HAVE_PHYS_USE_BULLET | |||
| #define LOL2BT_UNIT 1.0f | |||
| #define BT2LOL_UNIT 1.0f | |||
| @@ -46,8 +44,6 @@ namespace lol | |||
| #define LOL2BT_QUAT(ELEMENT) btQuaternion((ELEMENT).x, (ELEMENT).y, (ELEMENT).z, (ELEMENT).w) | |||
| #define BT2LOL_QUAT(ELEMENT) lol::quat((ELEMENT).getW(), BT2LOL_VEC3((ELEMENT).getAxis()) | |||
| #endif // HAVE_PHYS_USE_BULLET | |||
| } /* namespace lol */ | |||
| #endif /* __LOLBTPHYSICSINTEGRATION_H__ */ | |||
| @@ -8,7 +8,6 @@ | |||
| #if !defined __LOLPHYSICS_H__ | |||
| #define __LOLPHYSICS_H__ | |||
| #ifdef HAVE_PHYS_USE_BULLET | |||
| #include <cstring> | |||
| #include <bullet/btBulletDynamicsCommon.h> | |||
| #include <bullet/btBulletCollisionCommon.h> | |||
| @@ -16,7 +15,6 @@ | |||
| #include "lolbtphysicsintegration.h" | |||
| #include "easyphysics.h" | |||
| #include "easyconstraint.h" | |||
| #endif | |||
| namespace lol | |||
| { | |||
| @@ -80,7 +78,6 @@ public: | |||
| char const *GetName() { return "<Simulation>"; } | |||
| #ifdef HAVE_PHYS_USE_BULLET | |||
| public: | |||
| void Init() | |||
| { | |||
| @@ -267,21 +264,6 @@ private: | |||
| // The world. | |||
| btDiscreteDynamicsWorld* m_dynamics_world; | |||
| #else // NO PHYSIC IMPLEMENTATION | |||
| public: | |||
| void Init() { } | |||
| void TickGame(float seconds) { } | |||
| bool RayHits(RayCastResult& HitResult, eRaycastType RaycastType, const vec3& RayFrom, const vec3& RayTo, EasyPhysic* SourceCaster=NULL) { return false; } | |||
| void Exit() { } | |||
| private: | |||
| void CustomSetContinuousDetection(bool ShouldUseCCD) { } | |||
| void CustomSetGravity(vec3 &NewGravity) { } | |||
| void CustomSetWorldLimit(vec3 &NewWorldMin, vec3 &NewWorldMax) { } | |||
| void CustomSetTimestep(float NewTimestep) { } | |||
| #endif // PHYSIC IMPLEMENTATION | |||
| public: | |||
| //Main logic : | |||
| //The Set*() functions do the all-lib-independent data storage. | |||