diff options
Diffstat (limited to 'src/core/physics.cc')
-rw-r--r-- | src/core/physics.cc | 14 |
1 files changed, 3 insertions, 11 deletions
diff --git a/src/core/physics.cc b/src/core/physics.cc index 90fb184..9ffe13c 100644 --- a/src/core/physics.cc +++ b/src/core/physics.cc @@ -15,7 +15,6 @@ namespace core { btDefaultCollisionConfiguration *Physics::physics_configuration = 0; btCollisionDispatcher *Physics::physics_dispatcher = 0; btSequentialImpulseConstraintSolver *Physics::physics_solver = 0; -unsigned long Physics::physics_timestamp = 0; void Physics::init() { @@ -27,8 +26,6 @@ void Physics::init() physics_dispatcher = new btCollisionDispatcher(physics_configuration); btGImpactCollisionAlgorithm::registerAlgorithm(physics_dispatcher); physics_solver = new btSequentialImpulseConstraintSolver; - - physics_timestamp = 0; } void Physics::done() @@ -46,18 +43,13 @@ void Physics::done() physics_solver = 0; } -void Physics::frame(const unsigned long timestamp) +void Physics::frame(const unsigned long elapsed) { - if (!timestamp) - return; - - const float seconds = (float) (timestamp - physics_timestamp) / 1000.0f; + const float seconds = (float) elapsed / 1000.0f; for (core::Zone::Registry::iterator it = core::Zone::registry().begin(); it != core::Zone::registry().end(); it++) { - (*it).second->physics()->stepSimulation(seconds); + (*it).second->physics()->stepSimulation(seconds, 8); } - - physics_timestamp = timestamp; } } // namespace core |