diff options
author | Stijn Buys <ingar@osirion.org> | 2008-04-06 14:45:46 +0000 |
---|---|---|
committer | Stijn Buys <ingar@osirion.org> | 2008-04-06 14:45:46 +0000 |
commit | f36e9bd8190c377836463bdeaf553671d34e8e98 (patch) | |
tree | 69dbd90d9a2b779780478bd471e2c44efde45eb8 /src/game/ship.cc | |
parent | 7b5a6b820d5acef36d402bd5a52d783ec68d33c7 (diff) |
new target_direction model
Diffstat (limited to 'src/game/ship.cc')
-rw-r--r-- | src/game/ship.cc | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/game/ship.cc b/src/game/ship.cc index b82b7a8..7c3d21d 100644 --- a/src/game/ship.cc +++ b/src/game/ship.cc @@ -43,9 +43,14 @@ void Ship::frame(float seconds) entity_thrust = 1.0f; // update direction - float direction_offset = degrees180f(target_direction - entity_direction); - float d = ship_shipmodel->turnspeed() * seconds * direction_offset; - entity_direction = degrees360f(entity_direction + d); + if (target_direction > 1.0f) + target_direction = 1.0f; + else if (target_direction < -1.0f) + target_direction = -1.0f; + + // turnspeed is rotations per second + float direction_offset = 360.0f * ship_shipmodel->turnspeed() * seconds * target_direction; + entity_direction = degrees360f(entity_direction + direction_offset); // update speed if (entity_speed < entity_thrust * ship_shipmodel->maxspeed()) { |