Project::OSiRiON - Git repositories
Project::OSiRiON
News . About . Screenshots . Downloads . Forum . Wiki . Tracker . Git
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStijn Buys <ingar@osirion.org>2011-05-11 14:48:17 +0000
committerStijn Buys <ingar@osirion.org>2011-05-11 14:48:17 +0000
commit1c63cbf204b1d2c667ce9f821ccb197d0ffb0ac3 (patch)
treec2d0ff7cc4a8a264657abd0ac99017a5b664ecd2 /src/game/base/jumppoint.cc
parentbb0f860989f84b901f80017ae0139a3fc0446dc1 (diff)
Review of the main loop timer, converted timers from float to unsigned long,
corrected a number of timing bugs, improved client framerate stability.
Diffstat (limited to 'src/game/base/jumppoint.cc')
-rw-r--r--src/game/base/jumppoint.cc14
1 files changed, 6 insertions, 8 deletions
diff --git a/src/game/base/jumppoint.cc b/src/game/base/jumppoint.cc
index 80c99ef..3d9fd01 100644
--- a/src/game/base/jumppoint.cc
+++ b/src/game/base/jumppoint.cc
@@ -179,19 +179,17 @@ void JumpGate::func_dock(Ship *ship)
void JumpGate::activate()
{
- jumpgate_timer = jump_timer_delay;
+ jumpgate_timer = jump_timer_delay * 1000;
set_state(core::Entity::Normal);
}
-void JumpGate::frame(float elapsed)
+void JumpGate::frame(const unsigned long elapsed)
{
- if (jumpgate_timer > 0) {
+ if (jumpgate_timer > elapsed) {
jumpgate_timer -= elapsed;
-
- if (jumpgate_timer < 0) {
- set_state(core::Entity::NoPower);
- jumpgate_timer = 0;
- }
+ } else if (state() != core::Entity::NoPower) {
+ set_state(core::Entity::NoPower);
+ jumpgate_timer = 0;
}
}