equal
deleted
inserted
replaced
6 #include <functional> |
6 #include <functional> |
7 #include <cmath> |
7 #include <cmath> |
8 #include <assert.h> |
8 #include <assert.h> |
9 |
9 |
10 PhysicsWorld::PhysicsWorld (Vector gravity, Vector dimensions) |
10 PhysicsWorld::PhysicsWorld (Vector gravity, Vector dimensions) |
11 : tick_timer(PHYSICS_TICK_MS), gravity(gravity), dimensions(dimensions), terrain(dimensions.x, std::vector<TerrainType>(dimensions.y, DIRT)) { |
11 : tick_timer(PHYSICS_TICK_MS), tick_counter(0), gravity(gravity), dimensions(dimensions), terrain(dimensions.x, std::vector<TerrainType>(dimensions.y, DIRT)) { |
12 |
12 |
13 generateTerrain(1337); |
13 generateTerrain(1337); |
14 |
14 |
15 slots.connect(tick_timer.sig_timer(), this, &PhysicsWorld::tick); |
15 slots.connect(tick_timer.sig_timer(), this, &PhysicsWorld::tick); |
16 tick_timer.enable(); |
16 tick_timer.enable(); |
24 // Engine::log(DEBUG, "physics.apply_force") << "*tick*"; |
24 // Engine::log(DEBUG, "physics.apply_force") << "*tick*"; |
25 |
25 |
26 for (std::vector<PhysicsObject*>::iterator i = objects.begin(); i != objects.end(); i++) { |
26 for (std::vector<PhysicsObject*>::iterator i = objects.begin(); i != objects.end(); i++) { |
27 (*i)->tick(); |
27 (*i)->tick(); |
28 } |
28 } |
|
29 |
|
30 tick_counter++; |
|
31 } |
|
32 |
|
33 uint32_t PhysicsWorld::getTick (void) { |
|
34 return tick_counter; |
29 } |
35 } |
30 |
36 |
31 PhysicsObject::PhysicsObject (PhysicsWorld &world, float mass, Vector position, Vector velocity) |
37 PhysicsObject::PhysicsObject (PhysicsWorld &world, float mass, Vector position, Vector velocity) |
32 : world(world), mass(mass), position(position), velocity(velocity) { |
38 : world(world), mass(mass), position(position), velocity(velocity) { |
33 |
39 |