summaryrefslogtreecommitdiffhomepage
path: root/Stars45/Starshatter.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Stars45/Starshatter.cpp')
-rw-r--r--Stars45/Starshatter.cpp44
1 files changed, 21 insertions, 23 deletions
diff --git a/Stars45/Starshatter.cpp b/Stars45/Starshatter.cpp
index 6c48e32..19cbb64 100644
--- a/Stars45/Starshatter.cpp
+++ b/Stars45/Starshatter.cpp
@@ -638,7 +638,7 @@ Starshatter::SetGameMode(int m)
HUDView::ClearMessages();
RadioView::ClearMessages();
- SetTimeCompression(1);
+ clock.SetTimeCompression(1.0);
Pause(false);
Print(" Stardate: %.1f\n", StarSystem::GetBaseTime());
@@ -1254,22 +1254,18 @@ Starshatter::DoCmpnScreenFrame()
else if (KeyDown(KEY_TIME_COMPRESS)) {
time_til_change = 1;
-
- switch (TimeCompression()) {
- case 1: SetTimeCompression(2); break;
- case 2: SetTimeCompression(4); break;
- case 4: SetTimeCompression(8); break;
- }
+ double compression = clock.TimeCompression() * 2;
+ if (compression > 8.0)
+ compression = 8.0;
+ clock.SetTimeCompression(compression);
}
else if (KeyDown(KEY_TIME_EXPAND)) {
time_til_change = 1;
-
- switch (TimeCompression()) {
- case 8: SetTimeCompression( 4); break;
- case 4: SetTimeCompression( 2); break;
- default: SetTimeCompression( 1); break;
- }
+ double compression = clock.TimeCompression() / 2;
+ if (compression < 0.5)
+ compression = 0.5;
+ clock.SetTimeCompression(compression);
}
}
}
@@ -1658,11 +1654,12 @@ Starshatter::DoGameKeys()
else if (KeyDown(KEY_TIME_COMPRESS)) {
time_til_change = 0.5;
if (NetGame::IsNetGame())
- SetTimeCompression(1);
- else
- switch (TimeCompression()) {
- case 1: SetTimeCompression(2); break;
- default: SetTimeCompression(4); break;
+ clock.SetTimeCompression(1.0);
+ else {
+ double compression = clock.TimeCompression() * 2;
+ if (compression > 4.0)
+ compression = 4.0;
+ clock.SetTimeCompression(compression);
}
}
@@ -1670,11 +1667,12 @@ Starshatter::DoGameKeys()
time_til_change = 0.5;
if (NetGame::IsNetGame())
- SetTimeCompression(1);
- else
- switch (TimeCompression()) {
- case 4: SetTimeCompression( 2); break;
- default: SetTimeCompression( 1); break;
+ clock.SetTimeCompression(1.0);
+ else {
+ double compression = clock.TimeCompression() / 2;
+ if (compression < 0.5)
+ compression = 0.5;
+ clock.SetTimeCompression(compression);
}
}