summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAki <please@ignore.pl>2022-03-08 19:33:59 +0100
committerAki <please@ignore.pl>2022-03-08 19:33:59 +0100
commite472d9537ee7919630e5f6039f8425b06f6c4213 (patch)
treec146d59b532ec1ae248727faa182102cab6365e2
parentb563a07d9fcaa58514eeb3ec78438db56ecf2e63 (diff)
downloadstarshatter-e472d9537ee7919630e5f6039f8425b06f6c4213.zip
starshatter-e472d9537ee7919630e5f6039f8425b06f6c4213.tar.gz
starshatter-e472d9537ee7919630e5f6039f8425b06f6c4213.tar.bz2
Replaced time funcs from Game with Clock equivalents
This excludes time compression stuff, as it will need some more attention due to casting. I don't quite like the long invocations that go through game instance first then get the clock. It looks bad. I'll need to rethink how modules are being made available in the codebase.
-rw-r--r--Stars45/Campaign.cpp8
-rw-r--r--Stars45/CarrierAI.cpp14
-rw-r--r--Stars45/CmpLoadDlg.cpp4
-rw-r--r--Stars45/CmpSceneDlg.cpp4
-rw-r--r--Stars45/CmpSelectDlg.cpp2
-rw-r--r--Stars45/Contact.cpp12
-rw-r--r--Stars45/CtlDlg.cpp4
-rw-r--r--Stars45/Debris.cpp2
-rw-r--r--Stars45/DisplayView.cpp2
-rw-r--r--Stars45/Drone.cpp2
-rw-r--r--Stars45/ExitDlg.cpp2
-rw-r--r--Stars45/FadeView.cpp4
-rw-r--r--Stars45/FighterAI.cpp16
-rw-r--r--Stars45/FighterTacticalAI.cpp6
-rw-r--r--Stars45/Game.cpp39
-rw-r--r--Stars45/Game.h6
-rw-r--r--Stars45/GroundAI.cpp4
-rw-r--r--Stars45/HUDView.cpp20
-rw-r--r--Stars45/MenuView.cpp4
-rw-r--r--Stars45/Mfd.cpp8
-rw-r--r--Stars45/ModDlg.cpp4
-rw-r--r--Stars45/MouseController.cpp8
-rw-r--r--Stars45/MsnEditDlg.cpp8
-rw-r--r--Stars45/MusicTrack.cpp2
-rw-r--r--Stars45/NavDlg.cpp4
-rw-r--r--Stars45/NavLight.cpp2
-rw-r--r--Stars45/NetGameClient.cpp2
-rw-r--r--Stars45/NetGameServer.cpp8
-rw-r--r--Stars45/NetLobbyServer.cpp6
-rw-r--r--Stars45/NetUnitDlg.cpp4
-rw-r--r--Stars45/Particles.cpp8
-rw-r--r--Stars45/Player.cpp4
-rw-r--r--Stars45/QuantumView.cpp2
-rw-r--r--Stars45/RadioView.cpp2
-rw-r--r--Stars45/SeekerAI.cpp2
-rw-r--r--Stars45/Ship.cpp34
-rw-r--r--Stars45/ShipAI.cpp8
-rw-r--r--Stars45/ShipCtrl.cpp4
-rw-r--r--Stars45/Shot.cpp2
-rw-r--r--Stars45/Sim.cpp14
-rw-r--r--Stars45/SimEvent.cpp2
-rw-r--r--Stars45/Sprite.cpp4
-rw-r--r--Stars45/StarServer.cpp10
-rw-r--r--Stars45/StarSystem.cpp2
-rw-r--r--Stars45/Starshatter.cpp22
-rw-r--r--Stars45/StarshipAI.cpp10
-rw-r--r--Stars45/StarshipTacticalAI.cpp2
-rw-r--r--Stars45/SteerAI.cpp4
-rw-r--r--Stars45/TacticalAI.cpp4
-rw-r--r--Stars45/TacticalView.cpp10
-rw-r--r--Stars45/Trail.cpp2
-rw-r--r--Stars45/Weapon.cpp4
-rw-r--r--Stars45/WepView.cpp6
53 files changed, 164 insertions, 209 deletions
diff --git a/Stars45/Campaign.cpp b/Stars45/Campaign.cpp
index 7572ea5..e41b24a 100644
--- a/Stars45/Campaign.cpp
+++ b/Stars45/Campaign.cpp
@@ -409,7 +409,7 @@ Campaign::Unload()
{
SetStatus(CAMPAIGN_INIT);
- Game::GetInstance()->ResetGameTime();
+ Game::GetInstance()->GetClock()->ResetGameTime();
StarSystem::SetBaseTime(0);
startTime = Stardate();
@@ -1942,7 +1942,7 @@ Campaign::ExecFrame()
else
time += 20 * 3600;
- StarSystem::SetBaseTime(startTime + time - Game::GetInstance()->GameTime()/1000.0);
+ StarSystem::SetBaseTime(startTime + time - Game::GetInstance()->GetClock()->GameTime()/1000.0);
}
else {
m.reset();
@@ -2044,7 +2044,7 @@ Campaign::StartMission()
::Print("\n\nCampaign Start Mission - %d. '%s'\n", m->Identity(), m->Name());
if (!scripted) {
- long double gtime = (long double) Game::GetInstance()->GameTime() / 1000.0;
+ long double gtime = (long double) Game::GetInstance()->GetClock()->GameTime() / 1000.0;
long double base = startTime + m->Start() - 15 - gtime;
StarSystem::SetBaseTime(base);
@@ -2071,7 +2071,7 @@ Campaign::RollbackMission()
if (m) {
if (!scripted) {
- long double gtime = (long double) Game::GetInstance()->GameTime() / 1000.0;
+ long double gtime = (long double) Game::GetInstance()->GetClock()->GameTime() / 1000.0;
long double base = startTime + m->Start() - 60 - gtime;
StarSystem::SetBaseTime(base);
diff --git a/Stars45/CarrierAI.cpp b/Stars45/CarrierAI.cpp
index d7194a4..235a073 100644
--- a/Stars45/CarrierAI.cpp
+++ b/Stars45/CarrierAI.cpp
@@ -49,7 +49,7 @@ CarrierAI::CarrierAI(Ship* s, int level)
if (ship)
flight_planner = new(__FILE__,__LINE__) FlightPlanner(ship);
- hold_time = (int) Game::GetInstance()->GameTime();
+ hold_time = (int) Game::GetInstance()->GetClock()->GameTime();
}
}
@@ -69,13 +69,13 @@ CarrierAI::ExecFrame(double secs)
if (!sim || !ship || !hangar)
return;
- if (((int) Game::GetInstance()->GameTime() - hold_time >= INIT_HOLD) &&
- ((int) Game::GetInstance()->GameTime() - exec_time > EXEC_PERIOD)) {
+ if (((int) Game::GetInstance()->GetClock()->GameTime() - hold_time >= INIT_HOLD) &&
+ ((int) Game::GetInstance()->GetClock()->GameTime() - exec_time > EXEC_PERIOD)) {
CheckHostileElements();
CheckPatrolCoverage();
- exec_time = (int) Game::GetInstance()->GameTime();
+ exec_time = (int) Game::GetInstance()->GetClock()->GameTime();
}
}
@@ -132,7 +132,7 @@ CarrierAI::CheckPatrolCoverage()
}
}
- else if (Game::GetInstance()->GameTime() - hangar->GetLastPatrolLaunch() > PATROL_PERIOD ||
+ else if (Game::GetInstance()->GetClock()->GameTime() - hangar->GetLastPatrolLaunch() > PATROL_PERIOD ||
hangar->GetLastPatrolLaunch() == 0) {
Element* patrol = CreatePackage(0, 2, Mission::PATROL, 0, "ACM Medium Range");
if (patrol) {
@@ -141,7 +141,7 @@ CarrierAI::CheckPatrolCoverage()
if (flight_planner)
flight_planner->CreatePatrolRoute(patrol, i);
- hangar->SetLastPatrolLaunch(Game::GetInstance()->GameTime());
+ hangar->SetLastPatrolLaunch(Game::GetInstance()->GetClock()->GameTime());
return true;
}
}
@@ -194,7 +194,7 @@ CarrierAI::CheckHostileElements()
// nobody is assigned yet, create an attack package
if (!found && CreateStrike(elem)) {
- hold_time = (int) Game::GetInstance()->GameTime() + 30000;
+ hold_time = (int) Game::GetInstance()->GetClock()->GameTime() + 30000;
return true;
}
}
diff --git a/Stars45/CmpLoadDlg.cpp b/Stars45/CmpLoadDlg.cpp
index 29ba421..7f2fb1f 100644
--- a/Stars45/CmpLoadDlg.cpp
+++ b/Stars45/CmpLoadDlg.cpp
@@ -68,7 +68,7 @@ CmpLoadDlg::Show()
lbl_title->SetText(campaign->Name());
}
- show_time = Game::GetInstance()->RealTime();
+ show_time = Game::GetInstance()->GetClock()->RealTime();
}
// +--------------------------------------------------------------------+
@@ -110,7 +110,7 @@ CmpLoadDlg::MoveTo(const Rect& r)
bool
CmpLoadDlg::IsDone()
{
- if (Game::GetInstance()->RealTime() - show_time < 5000)
+ if (Game::GetInstance()->GetClock()->RealTime() - show_time < 5000)
return false;
return true;
diff --git a/Stars45/CmpSceneDlg.cpp b/Stars45/CmpSceneDlg.cpp
index 96c317e..725d756 100644
--- a/Stars45/CmpSceneDlg.cpp
+++ b/Stars45/CmpSceneDlg.cpp
@@ -163,7 +163,7 @@ CmpSceneDlg::ExecFrame()
if (begin_scene && end_scene) {
double total_time = end_scene->Time() - begin_scene->Time();
subtitles_delay = total_time / nlines;
- subtitles_time = Game::GetInstance()->RealTime() / 1000.0 + subtitles_delay;
+ subtitles_time = Game::GetInstance()->GetClock()->RealTime() / 1000.0 + subtitles_delay;
}
else {
subtitles_delay = -1;
@@ -171,7 +171,7 @@ CmpSceneDlg::ExecFrame()
}
if (subtitles_delay > 0) {
- double seconds = Game::GetInstance()->RealTime() / 1000.0;
+ double seconds = Game::GetInstance()->GetClock()->RealTime() / 1000.0;
if (subtitles_time <= seconds) {
subtitles_time = seconds + subtitles_delay;
diff --git a/Stars45/CmpSelectDlg.cpp b/Stars45/CmpSelectDlg.cpp
index 4e21257..2ceacd9 100644
--- a/Stars45/CmpSelectDlg.cpp
+++ b/Stars45/CmpSelectDlg.cpp
@@ -496,7 +496,7 @@ CmpSelectDlg::OnAccept(AWEvent* event)
if (btn_new->GetButtonState())
Campaign::GetCampaign()->Load();
else
- Game::GetInstance()->ResetGameTime();
+ Game::GetInstance()->GetClock()->ResetGameTime();
Mouse::Show(false);
stars->SetGameMode(Starshatter::CLOD_MODE);
diff --git a/Stars45/Contact.cpp b/Stars45/Contact.cpp
index 97cba6a..a2912cb 100644
--- a/Stars45/Contact.cpp
+++ b/Stars45/Contact.cpp
@@ -34,14 +34,14 @@ Contact::Contact()
: ship(0), shot(0), d_pas(0.0f), d_act(0.0f),
track(0), ntrack(0), time(0), track_time(0), probe(false)
{
- acquire_time = Game::GetInstance()->GameTime();
+ acquire_time = Game::GetInstance()->GetClock()->GameTime();
}
Contact::Contact(Ship* s, float p, float a)
: ship(s), shot(0), d_pas(p), d_act(a),
track(0), ntrack(0), time(0), track_time(0), probe(false)
{
- acquire_time = Game::GetInstance()->GameTime();
+ acquire_time = Game::GetInstance()->GetClock()->GameTime();
Observe(ship);
}
@@ -49,7 +49,7 @@ Contact::Contact(Shot* s, float p, float a)
: ship(0), shot(s), d_pas(p), d_act(a),
track(0), ntrack(0), time(0), track_time(0), probe(false)
{
- acquire_time = Game::GetInstance()->GameTime();
+ acquire_time = Game::GetInstance()->GetClock()->GameTime();
Observe(shot);
}
@@ -116,7 +116,7 @@ Contact::Age() const
if (!ship && !shot)
return age;
- double seconds = (Game::GetInstance()->GameTime() - time) / 1000.0;
+ double seconds = (Game::GetInstance()->GetClock()->GameTime() - time) / 1000.0;
age = 1.0 - seconds/DEFAULT_TRACK_AGE;
@@ -295,7 +295,7 @@ Contact::Reset()
{
if (Game::GetInstance()->Paused()) return;
- float step_down = (float) (Game::GetInstance()->FrameTime() / 10);
+ float step_down = (float) (Game::GetInstance()->GetClock()->Delta() / 10);
if (d_pas > 0)
d_pas -= step_down;
@@ -327,7 +327,7 @@ Contact::ClearTrack()
void
Contact::UpdateTrack()
{
- time = Game::GetInstance()->GameTime();
+ time = Game::GetInstance()->GetClock()->GameTime();
if (shot || (ship && ship->IsGroundUnit()))
return;
diff --git a/Stars45/CtlDlg.cpp b/Stars45/CtlDlg.cpp
index 33f4e1e..8203147 100644
--- a/Stars45/CtlDlg.cpp
+++ b/Stars45/CtlDlg.cpp
@@ -318,7 +318,7 @@ CtlDlg::OnCommand(AWEvent* event)
int list_index = commands->GetListIndex();
// double-click:
- if (list_index == command_index && Game::GetInstance()->RealTime() - command_click_time < 350) {
+ if (list_index == command_index && Game::GetInstance()->GetClock()->RealTime() - command_click_time < 350) {
KeyDlg* key_dlg = 0;
if (manager)
@@ -332,7 +332,7 @@ CtlDlg::OnCommand(AWEvent* event)
manager->ShowKeyDlg();
}
- command_click_time = Game::GetInstance()->RealTime();
+ command_click_time = Game::GetInstance()->GetClock()->RealTime();
command_index = list_index;
}
diff --git a/Stars45/Debris.cpp b/Stars45/Debris.cpp
index 680d314..083b714 100644
--- a/Stars45/Debris.cpp
+++ b/Stars45/Debris.cpp
@@ -148,7 +148,7 @@ Debris::HitBy(Shot* shot, Point& impact)
double effective_damage = shot->Damage() * dscale;
if (shot->IsBeam()) {
- effective_damage *= Game::GetInstance()->FrameTime();
+ effective_damage *= Game::GetInstance()->GetClock()->Delta();
}
else {
ApplyTorque(shot->Velocity() * (float) effective_damage * 1e-6f);
diff --git a/Stars45/DisplayView.cpp b/Stars45/DisplayView.cpp
index 2c55cb6..5a758c8 100644
--- a/Stars45/DisplayView.cpp
+++ b/Stars45/DisplayView.cpp
@@ -157,7 +157,7 @@ DisplayView::Refresh()
void
DisplayView::ExecFrame()
{
- double seconds = Game::GetInstance()->GUITime();
+ double seconds = Game::GetInstance()->GetClock()->GuiDelta();
ListIter<DisplayElement> iter = elements;
while (++iter) {
diff --git a/Stars45/Drone.cpp b/Stars45/Drone.cpp
index ff32d23..68cb384 100644
--- a/Stars45/Drone.cpp
+++ b/Stars45/Drone.cpp
@@ -181,7 +181,7 @@ Drone::HitBy(Shot* shot, Point& impact)
double effective_damage = shot->Damage() * dscale;
if (shot->IsBeam()) {
- effective_damage *= Game::GetInstance()->FrameTime();
+ effective_damage *= Game::GetInstance()->GetClock()->Delta();
}
else {
ApplyTorque(shot->Velocity() * (float) effective_damage * 1e-6f);
diff --git a/Stars45/ExitDlg.cpp b/Stars45/ExitDlg.cpp
index 548d1cb..66aab6b 100644
--- a/Stars45/ExitDlg.cpp
+++ b/Stars45/ExitDlg.cpp
@@ -65,7 +65,7 @@ void
ExitDlg::ExecFrame()
{
if (credits && credits->GetLineCount() > 0) {
- credits->SmoothScroll(ScrollWindow::SCROLL_DOWN, Game::GetInstance()->GUITime());
+ credits->SmoothScroll(ScrollWindow::SCROLL_DOWN, Game::GetInstance()->GetClock()->GuiDelta());
if (credits->GetTopIndex() >= credits->GetLineCount()-1) {
credits->ScrollTo(0);
diff --git a/Stars45/FadeView.cpp b/Stars45/FadeView.cpp
index 16575b9..1f6207e 100644
--- a/Stars45/FadeView.cpp
+++ b/Stars45/FadeView.cpp
@@ -55,10 +55,10 @@ FadeView::Refresh()
double msec = 0;
if (state == StateStart) {
- time = Game::GetInstance()->RealTime();
+ time = Game::GetInstance()->GetClock()->RealTime();
}
else if (state != StateDone) {
- double new_time = Game::GetInstance()->RealTime();
+ double new_time = Game::GetInstance()->GetClock()->RealTime();
msec = new_time - time;
time = new_time;
}
diff --git a/Stars45/FighterAI.cpp b/Stars45/FighterAI.cpp
index 029b928..12f1746 100644
--- a/Stars45/FighterAI.cpp
+++ b/Stars45/FighterAI.cpp
@@ -1563,8 +1563,8 @@ FighterAI::EvadeThreat()
// jink for one second:
else {
- if (Game::GetInstance()->GameTime() - jink_time > 1500) {
- jink_time = Game::GetInstance()->GameTime();
+ if (Game::GetInstance()->GetClock()->GameTime() - jink_time > 1500) {
+ jink_time = Game::GetInstance()->GetClock()->GameTime();
jink = Point(rand() - 16384,
rand() - 16384,
rand() - 16384) * 15e3;
@@ -1587,8 +1587,8 @@ FighterAI::EvadeThreat()
// jink for one second:
else {
- if (Game::GetInstance()->GameTime() - jink_time > 1000) {
- jink_time = Game::GetInstance()->GameTime();
+ if (Game::GetInstance()->GetClock()->GameTime() - jink_time > 1000) {
+ jink_time = Game::GetInstance()->GetClock()->GameTime();
jink = Point(rand() - 16384,
rand() - 16384,
rand() - 16384);
@@ -1647,8 +1647,8 @@ FighterAI::EvadeThreat()
if (!target) {
DWORD jink_rate = 400 + 200 * (3-ai_level);
- if (Game::GetInstance()->GameTime() - jink_time > jink_rate) {
- jink_time = Game::GetInstance()->GameTime();
+ if (Game::GetInstance()->GetClock()->GameTime() - jink_time > jink_rate) {
+ jink_time = Game::GetInstance()->GetClock()->GameTime();
jink = Point(rand() - 16384,
rand() - 16384,
rand() - 16384) * 2000;
@@ -1777,7 +1777,7 @@ FighterAI::FireControl()
if (ship->FireSecondary()) {
missile_time = secondary->Design()->salvo_delay + extra_time;
- if (Game::GetInstance()->GameTime() - last_call_time > 6000) {
+ if (Game::GetInstance()->GetClock()->GameTime() - last_call_time > 6000) {
// call fox:
int call = RadioMessage::FOX_3; // A2A
@@ -1788,7 +1788,7 @@ FighterAI::FireControl()
call = RadioMessage::FOX_2;
RadioTraffic::SendQuickMessage(ship, call);
- last_call_time = Game::GetInstance()->GameTime();
+ last_call_time = Game::GetInstance()->GetClock()->GameTime();
}
}
}
diff --git a/Stars45/FighterTacticalAI.cpp b/Stars45/FighterTacticalAI.cpp
index be40e6e..9cd5839 100644
--- a/Stars45/FighterTacticalAI.cpp
+++ b/Stars45/FighterTacticalAI.cpp
@@ -154,9 +154,9 @@ FighterTacticalAI::SelectTarget()
SimObject* target = ship_ai->GetTarget();
if (target && (target->Type() == SimObject::SIM_SHIP) &&
- (Game::GetInstance()->GameTime() - secondary_selection_time) > THREAT_REACTION_TIME) {
+ (Game::GetInstance()->GetClock()->GameTime() - secondary_selection_time) > THREAT_REACTION_TIME) {
SelectSecondaryForTarget((Ship*) target);
- secondary_selection_time = Game::GetInstance()->GameTime();
+ secondary_selection_time = Game::GetInstance()->GetClock()->GameTime();
}
}
@@ -475,7 +475,7 @@ FighterTacticalAI::FindThreat()
Contact* contact = c_iter.value();
if (contact->Threat(ship) &&
- (Game::GetInstance()->GameTime() - contact->AcquisitionTime()) > THREAT_REACTION_TIME) {
+ (Game::GetInstance()->GetClock()->GameTime() - contact->AcquisitionTime()) > THREAT_REACTION_TIME) {
double rng = contact->Range(ship);
diff --git a/Stars45/Game.cpp b/Stars45/Game.cpp
index 97de488..5dfd828 100644
--- a/Stars45/Game.cpp
+++ b/Stars45/Game.cpp
@@ -182,24 +182,6 @@ Game::FrameRate()
return 0;
}
-double
-Game::FrameTime()
-{
- if (game)
- return game->GetClock()->Delta();
-
- return 0;
-}
-
-double
-Game::GUITime()
-{
- if (game)
- return game->GetClock()->GuiDelta();
-
- return 0;
-}
-
// +--------------------------------------------------------------------+
bool
@@ -1244,16 +1226,6 @@ Game::GetClock()
return &clock;
}
-DWORD Game::RealTime()
-{
- return clock.RealTime();
-}
-
-DWORD Game::GameTime()
-{
- return clock.GameTime();
-}
-
DWORD Game::TimeCompression()
{
return clock.TimeCompression();
@@ -1269,14 +1241,3 @@ DWORD Game::Frame()
{
return frame_number;
}
-
-void Game::ResetGameTime()
-{
- clock.ResetGameTime();
-}
-
-void Game::SkipGameTime(double seconds)
-{
- if (seconds > 0)
- clock.SkipGameTime(seconds);
-}
diff --git a/Stars45/Game.h b/Stars45/Game.h
index d9054e9..7ecb198 100644
--- a/Stars45/Game.h
+++ b/Stars45/Game.h
@@ -77,17 +77,11 @@ public:
void SetMaxTexSize(int n);
Clock* GetClock();
- DWORD RealTime();
- DWORD GameTime();
DWORD TimeCompression();
void SetTimeCompression(DWORD comp);
DWORD Frame();
- void ResetGameTime();
- void SkipGameTime(double seconds);
double FrameRate();
- double FrameTime();
- double GUITime();
void SetMaxFrameLength(double seconds) { max_frame_length = seconds; }
double GetMaxFrameLength() { return max_frame_length; }
diff --git a/Stars45/GroundAI.cpp b/Stars45/GroundAI.cpp
index 5c9150d..c355eba 100644
--- a/Stars45/GroundAI.cpp
+++ b/Stars45/GroundAI.cpp
@@ -161,8 +161,8 @@ GroundAI::ExecFrame(double secs)
{
const int exec_period = 1000;
- if ((int) Game::GetInstance()->GameTime() - exec_time > exec_period) {
- exec_time = (int) Game::GetInstance()->GameTime();
+ if ((int) Game::GetInstance()->GetClock()->GameTime() - exec_time > exec_period) {
+ exec_time = (int) Game::GetInstance()->GetClock()->GameTime();
SelectTarget();
}
diff --git a/Stars45/HUDView.cpp b/Stars45/HUDView.cpp
index 2ca3bf4..2f0ec20 100644
--- a/Stars45/HUDView.cpp
+++ b/Stars45/HUDView.cpp
@@ -863,7 +863,7 @@ HUDView::MarkerColor(Contact* contact)
c = Ship::IFFColor(c_iff) * contact->Age();
if (contact->GetShot() && contact->Threat(ship)) {
- if ((Game::GetInstance()->RealTime()/500) & 1)
+ if ((Game::GetInstance()->GetClock()->RealTime()/500) & 1)
c = c * 2;
else
c = c * 0.5;
@@ -1463,7 +1463,7 @@ HUDView::DrawBars()
else if (threat > 1) {
threat_warn = ContentBundle::GetInstance()->GetText("HUDView.missile-warn");
- show_msg = ((Game::GetInstance()->RealTime()/500) & 1) != 0;
+ show_msg = ((Game::GetInstance()->GetClock()->RealTime()/500) & 1) != 0;
}
if (show_msg) {
@@ -2115,9 +2115,9 @@ HUDView::DrawTarget()
System* sys = ship->GetSubTarget();
if (sys) {
Color stat = hud_color;
- static DWORD blink = Game::GetInstance()->RealTime();
+ static DWORD blink = Game::GetInstance()->GetClock()->RealTime();
- int blink_delta = Game::GetInstance()->RealTime() - blink;
+ int blink_delta = Game::GetInstance()->GetClock()->RealTime() - blink;
sprintf_s(txt, "%s %03d", sys->Abbreviation(), (int) sys->Availability());
switch (sys->Status()) {
@@ -2131,7 +2131,7 @@ HUDView::DrawTarget()
}
if (blink_delta > 500)
- blink = Game::GetInstance()->RealTime();
+ blink = Game::GetInstance()->GetClock()->RealTime();
range_rect.y += 10;
DrawHUDText(TXT_TARGET_SUB, txt, range_rect, DT_RIGHT);
@@ -2657,7 +2657,7 @@ HUDView::DrawWarningPanel()
int y = cockpit_hud_texture ? 410 : height-97;
int c = cockpit_hud_texture ? 3 : 4;
- static DWORD blink = Game::GetInstance()->RealTime();
+ static DWORD blink = Game::GetInstance()->GetClock()->RealTime();
for (int index = 0; index < 12; index++) {
int stat = -1;
@@ -2698,7 +2698,7 @@ HUDView::DrawWarningPanel()
Color tc = status_color;
if (stat != System::NOMINAL) {
- if (Game::GetInstance()->RealTime() - blink < 250) {
+ if (Game::GetInstance()->GetClock()->RealTime() - blink < 250) {
tc = cockpit_hud_texture ? txt_color : Color(8,8,8);
}
}
@@ -2740,8 +2740,8 @@ HUDView::DrawWarningPanel()
}
}
- if (Game::GetInstance()->RealTime() - blink > 500)
- blink = Game::GetInstance()->RealTime();
+ if (Game::GetInstance()->GetClock()->RealTime() - blink > 500)
+ blink = Game::GetInstance()->GetClock()->RealTime();
// reset for next time
SetStatusColor(System::NOMINAL);
@@ -2876,7 +2876,7 @@ HUDView::DrawMessages()
// age messages:
for (int i = 0; i < MAX_MSG; i++) {
if (msg_time[i] > 0) {
- msg_time[i] -= Game::GetInstance()->GUITime();
+ msg_time[i] -= Game::GetInstance()->GetClock()->GuiDelta();
if (msg_time[i] <= 0) {
msg_time[i] = 0;
diff --git a/Stars45/MenuView.cpp b/Stars45/MenuView.cpp
index 6a261a9..00f2dae 100644
--- a/Stars45/MenuView.cpp
+++ b/Stars45/MenuView.cpp
@@ -78,13 +78,13 @@ MenuView::DoMouseFrame()
if (Mouse::RButton()) {
MouseController* mouse_con = MouseController::GetInstance();
if (!right_down && (!mouse_con || !mouse_con->Active())) {
- rbutton_latch = Game::GetInstance()->RealTime();
+ rbutton_latch = Game::GetInstance()->GetClock()->RealTime();
right_down = true;
show_menu = false;
}
}
else {
- if (right_down && (Game::GetInstance()->RealTime() - rbutton_latch < 250)) {
+ if (right_down && (Game::GetInstance()->GetClock()->RealTime() - rbutton_latch < 250)) {
right_start.x = Mouse::X() - offset.x;
right_start.y = Mouse::Y() - offset.y;
show_menu = true;
diff --git a/Stars45/Mfd.cpp b/Stars45/Mfd.cpp
index 6dc4822..37aece0 100644
--- a/Stars45/Mfd.cpp
+++ b/Stars45/Mfd.cpp
@@ -1106,9 +1106,9 @@ MFD::DrawGameMFD()
if (lines <= 2) return;
- int hours = (Game::GetInstance()->GameTime() / 3600000) ;
- int minutes = (Game::GetInstance()->GameTime() / 60000) % 60;
- int seconds = (Game::GetInstance()->GameTime() / 1000) % 60;
+ int hours = (Game::GetInstance()->GetClock()->GameTime() / 3600000) ;
+ int minutes = (Game::GetInstance()->GetClock()->GameTime() / 60000) % 60;
+ int seconds = (Game::GetInstance()->GetClock()->GameTime() / 1000) % 60;
if (ship) {
DWORD clock = ship->MissionClock();
@@ -1282,7 +1282,7 @@ MFD::DrawStatusMFD()
sprintf_s(txt, "%s %d", ContentBundle::GetInstance()->GetText("MFD.status.MODE").data(), ship->GetEMCON());
if (!sensor->IsPowerOn() || sensor->GetEnergy() == 0) {
- if (!Game::GetInstance()->Paused() && (Game::GetInstance()->RealTime()/1000) & 2)
+ if (!Game::GetInstance()->Paused() && (Game::GetInstance()->GetClock()->RealTime()/1000) & 2)
strcpy_s(txt, ContentBundle::GetInstance()->GetText("MFD.status.SENSOR-OFF").data());
}
diff --git a/Stars45/ModDlg.cpp b/Stars45/ModDlg.cpp
index 71eb368..76d0e7e 100644
--- a/Stars45/ModDlg.cpp
+++ b/Stars45/ModDlg.cpp
@@ -212,7 +212,7 @@ ModDlg::OnSelectEnabled(AWEvent* event)
btn_decrease->SetEnabled(lst_enabled->GetSelection() < lst_enabled->NumItems() - 1);
// double-click:
- if (Game::GetInstance()->RealTime() - click_time < 350) {
+ if (Game::GetInstance()->GetClock()->RealTime() - click_time < 350) {
if (lst_enabled->GetSelCount() == 1) {
int index = lst_enabled->GetSelection();
Text mod_name = lst_enabled->GetItemText(index);
@@ -227,7 +227,7 @@ ModDlg::OnSelectEnabled(AWEvent* event)
}
}
- click_time = Game::GetInstance()->RealTime();
+ click_time = Game::GetInstance()->GetClock()->RealTime();
}
void
diff --git a/Stars45/MouseController.cpp b/Stars45/MouseController.cpp
index 1cd9504..3234dfe 100644
--- a/Stars45/MouseController.cpp
+++ b/Stars45/MouseController.cpp
@@ -117,11 +117,11 @@ MouseController::Acquire()
roll_enable = 1;
if (!rbutton_latch)
- rbutton_latch = Game::GetInstance()->RealTime();
+ rbutton_latch = Game::GetInstance()->GetClock()->RealTime();
}
else {
if (rbutton_latch) {
- rbutton_latch = Game::GetInstance()->RealTime() - rbutton_latch;
+ rbutton_latch = Game::GetInstance()->GetClock()->RealTime() - rbutton_latch;
if (rbutton_latch < 250)
action[1] = 1;
}
@@ -131,7 +131,7 @@ MouseController::Acquire()
if (Mouse::MButton()) {
if (!mbutton_latch)
- mbutton_latch = Game::GetInstance()->RealTime();
+ mbutton_latch = Game::GetInstance()->GetClock()->RealTime();
}
else {
if (mbutton_latch) {
@@ -187,7 +187,7 @@ MouseController::Acquire()
if (select == 1) {
::SetCursorPos(cx, cy);
- double drain = cx * 4 * Game::GetInstance()->FrameTime();
+ double drain = cx * 4 * Game::GetInstance()->GetClock()->Delta();
if (dx > drain) {
dx -= drain;
diff --git a/Stars45/MsnEditDlg.cpp b/Stars45/MsnEditDlg.cpp
index 527c451..120eb07 100644
--- a/Stars45/MsnEditDlg.cpp
+++ b/Stars45/MsnEditDlg.cpp
@@ -637,7 +637,7 @@ MsnEditDlg::OnElemSelect(AWEvent* event)
btn_elem_dec->SetEnabled(selection >= 0 && selection < lst_elem->NumItems() - 1);
// double-click:
- if (Game::GetInstance()->RealTime() - click_time < 350) {
+ if (Game::GetInstance()->GetClock()->RealTime() - click_time < 350) {
if (lst_elem->GetSelCount() == 1) {
int index = lst_elem->GetSelection();
MissionElement* elem = mission->GetElements().at(index);
@@ -653,7 +653,7 @@ MsnEditDlg::OnElemSelect(AWEvent* event)
}
}
- click_time = Game::GetInstance()->RealTime();
+ click_time = Game::GetInstance()->GetClock()->RealTime();
}
void
@@ -765,7 +765,7 @@ MsnEditDlg::OnEventSelect(AWEvent* event)
btn_event_dec->SetEnabled(selection >= 0 && selection < lst_event->NumItems() - 1);
// double-click:
- if (Game::GetInstance()->RealTime() - click_time < 350) {
+ if (Game::GetInstance()->GetClock()->RealTime() - click_time < 350) {
if (lst_event->GetSelCount() == 1) {
int index = lst_event->GetSelection();
MissionEvent* event = mission->GetEvents().at(index);
@@ -781,7 +781,7 @@ MsnEditDlg::OnEventSelect(AWEvent* event)
}
}
- click_time = Game::GetInstance()->RealTime();
+ click_time = Game::GetInstance()->GetClock()->RealTime();
}
void
diff --git a/Stars45/MusicTrack.cpp b/Stars45/MusicTrack.cpp
index 0454b11..956d0b5 100644
--- a/Stars45/MusicTrack.cpp
+++ b/Stars45/MusicTrack.cpp
@@ -135,7 +135,7 @@ MusicTrack::ExecFrame()
}
if (fade > 0)
- fade -= Game::GetInstance()->GUITime();
+ fade -= Game::GetInstance()->GetClock()->GuiDelta();
if (fade < 0)
fade = 0;
diff --git a/Stars45/NavDlg.cpp b/Stars45/NavDlg.cpp
index 662f185..bbc4d86 100644
--- a/Stars45/NavDlg.cpp
+++ b/Stars45/NavDlg.cpp
@@ -1046,7 +1046,7 @@ NavDlg::OnMapClick(AWEvent* event)
CoordinateSelection();
// double-click:
- if (Game::GetInstance()->RealTime() - click_time < 350) {
+ if (Game::GetInstance()->GetClock()->RealTime() - click_time < 350) {
MissionElement* elem = star_map->GetSelectedElem();
MsnElemDlg* msn_elem_dlg = manager->GetMsnElemDlg();
@@ -1057,7 +1057,7 @@ NavDlg::OnMapClick(AWEvent* event)
}
}
- click_time = Game::GetInstance()->RealTime();
+ click_time = Game::GetInstance()->GetClock()->RealTime();
}
void
diff --git a/Stars45/NavLight.cpp b/Stars45/NavLight.cpp
index 63712ac..48bd826 100644
--- a/Stars45/NavLight.cpp
+++ b/Stars45/NavLight.cpp
@@ -100,7 +100,7 @@ void
NavLight::ExecFrame(double seconds)
{
if (enable && power_on) {
- double t = (Game::GetInstance()->GameTime()+offset) / 1000.0;
+ double t = (Game::GetInstance()->GetClock()->GameTime()+offset) / 1000.0;
DWORD n = (int) (fmod(t, period) * 32 / period);
DWORD code = 1 << n;
diff --git a/Stars45/NetGameClient.cpp b/Stars45/NetGameClient.cpp
index 4d9d5ae..89e1ff0 100644
--- a/Stars45/NetGameClient.cpp
+++ b/Stars45/NetGameClient.cpp
@@ -936,7 +936,7 @@ NetGameClient::DoSelfDestruct(NetMsg* msg)
void
NetGameClient::Send()
{
- DWORD time = Game::GetInstance()->GameTime();
+ DWORD time = Game::GetInstance()->GetClock()->GameTime();
// don't flood the network...
if (time - last_send_time < MIN_NET_FRAME)
diff --git a/Stars45/NetGameServer.cpp b/Stars45/NetGameServer.cpp
index 76bd4ff..fe53515 100644
--- a/Stars45/NetGameServer.cpp
+++ b/Stars45/NetGameServer.cpp
@@ -141,9 +141,9 @@ NetGameServer::ExecFrame()
static DWORD time_mark = 0;
- if (!time_mark) time_mark = Game::GetInstance()->RealTime();
- else if (Game::GetInstance()->RealTime() - time_mark > 60000) {
- time_mark = Game::GetInstance()->RealTime();
+ if (!time_mark) time_mark = Game::GetInstance()->GetClock()->RealTime();
+ else if (Game::GetInstance()->GetClock()->RealTime() - time_mark > 60000) {
+ time_mark = Game::GetInstance()->GetClock()->RealTime();
if (link && players.size() > 0) {
Print("Server Stats\n-------------\n");
@@ -1009,7 +1009,7 @@ NetGameServer::Send()
if (players.isEmpty())
return;
- DWORD time = Game::GetInstance()->GameTime();
+ DWORD time = Game::GetInstance()->GetClock()->GameTime();
// don't flood the network...
if (time - last_send_time < MIN_NET_FRAME)
diff --git a/Stars45/NetLobbyServer.cpp b/Stars45/NetLobbyServer.cpp
index eecb5c5..5cac691 100644
--- a/Stars45/NetLobbyServer.cpp
+++ b/Stars45/NetLobbyServer.cpp
@@ -256,9 +256,9 @@ NetLobbyServer::ExecFrame()
{
NetLobby::ExecFrame();
- if (announce_time == 0 || Game::GetInstance()->RealTime() - announce_time > 200000) {
+ if (announce_time == 0 || Game::GetInstance()->GetClock()->RealTime() - announce_time > 200000) {
GameOn();
- announce_time = Game::GetInstance()->RealTime();
+ announce_time = Game::GetInstance()->GetClock()->RealTime();
}
if (GetStatus() == NetServerInfo::BRIEFING) {
@@ -377,7 +377,7 @@ NetLobbyServer::CheckSessions()
// announce drop:
char timestr[64];
- FormatTime(timestr, Game::GetInstance()->RealTime()/1000);
+ FormatTime(timestr, Game::GetInstance()->GetClock()->RealTime()/1000);
Print("NetLobbyServer: Dropped inactive connection '%s' %s\n",
u->Name().data(), timestr);
diff --git a/Stars45/NetUnitDlg.cpp b/Stars45/NetUnitDlg.cpp
index 61b9bcd..1df2311 100644
--- a/Stars45/NetUnitDlg.cpp
+++ b/Stars45/NetUnitDlg.cpp
@@ -497,11 +497,11 @@ NetUnitDlg::OnUnit(AWEvent* event)
int list_index = lst_units->GetListIndex();
// double-click:
- if (list_index == unit_index && Game::GetInstance()->RealTime() - unit_click_time < 350) {
+ if (list_index == unit_index && Game::GetInstance()->GetClock()->RealTime() - unit_click_time < 350) {
OnSelect(0);
}
- unit_click_time = Game::GetInstance()->RealTime();
+ unit_click_time = Game::GetInstance()->GetClock()->RealTime();
unit_index = list_index;
}
diff --git a/Stars45/Particles.cpp b/Stars45/Particles.cpp
index 50642f0..5b5c02f 100644
--- a/Stars45/Particles.cpp
+++ b/Stars45/Particles.cpp
@@ -57,7 +57,7 @@ blend(a), extra(0.0f), point_sprite(0), emitting(true)
for (int i = 0; i < nverts; i++) {
intensity[i] = 1.0f;
- timestamp[i] = (float) (Game::GetInstance()->GameTime() / 1000.0);
+ timestamp[i] = (float) (Game::GetInstance()->GetClock()->GameTime() / 1000.0);
scale[i] = (float) (min_scale);
angle[i] = (float) (Random(0, 2*PI));
frame[i] = 0;
@@ -143,7 +143,7 @@ void Particles::ExecFrame(double seconds)
intensity[i] -= (float) (decay * seconds);
if (point_sprite->NumFrames() > 1) {
- double age = Game::GetInstance()->GameTime()/1000.0 - timestamp[i];
+ double age = Game::GetInstance()->GetClock()->GameTime()/1000.0 - timestamp[i];
int n = (int) (age * point_sprite->FrameRate());
if (n >= point_sprite->NumFrames())
@@ -167,7 +167,7 @@ void Particles::ExecFrame(double seconds)
for (int i = nv; i < nverts; i++) {
intensity[i] = 1;
- timestamp[i] = (float) (Game::GetInstance()->GameTime() / 1000.0);
+ timestamp[i] = (float) (Game::GetInstance()->GetClock()->GameTime() / 1000.0);
scale[i] = (float) (min_scale);
angle[i] = (float) (Random(0, 2*PI));
frame[i] = 0;
@@ -189,7 +189,7 @@ void Particles::ExecFrame(double seconds)
release[i] = ref_loc;
intensity[i] = 1;
- timestamp[i] = (float) (Game::GetInstance()->GameTime() / 1000.0);
+ timestamp[i] = (float) (Game::GetInstance()->GetClock()->GameTime() / 1000.0);
scale[i] = (float) (min_scale);
angle[i] = (float) (PI * rand() / 16384.0);
frame[i] = 0;
diff --git a/Stars45/Player.cpp b/Stars45/Player.cpp
index 9ba5c35..e4944e6 100644
--- a/Stars45/Player.cpp
+++ b/Stars45/Player.cpp
@@ -641,7 +641,7 @@ Player::GetMissionPoints(ShipStats* s, DWORD start_time)
if (s) {
result = s->GetPoints();
- int flight_time = (Game::GetInstance()->GameTime() - start_time) / 1000;
+ int flight_time = (Game::GetInstance()->GetClock()->GameTime() - start_time) / 1000;
// if player survived mission, award one experience point
// for each minute of action, in ten point blocks:
@@ -682,7 +682,7 @@ Player::ProcessStats(ShipStats* s, DWORD start_time)
AddLosses(s->GetDeaths());
AddLosses(s->GetColls());
AddMissions(1);
- AddFlightTime((Game::GetInstance()->GameTime() - start_time) / 1000);
+ AddFlightTime((Game::GetInstance()->GetClock()->GameTime() - start_time) / 1000);
int rank = Rank();
diff --git a/Stars45/QuantumView.cpp b/Stars45/QuantumView.cpp
index 67d67d2..889457e 100644
--- a/Stars45/QuantumView.cpp
+++ b/Stars45/QuantumView.cpp
@@ -169,7 +169,7 @@ QuantumView::ExecFrame()
static double time_til_change = 0;
if (time_til_change > 0)
- time_til_change -= Game::GetInstance()->GUITime();
+ time_til_change -= Game::GetInstance()->GetClock()->GuiDelta();
if (time_til_change <= 0) {
time_til_change = 0;
diff --git a/Stars45/RadioView.cpp b/Stars45/RadioView.cpp
index feb696a..315218b 100644
--- a/Stars45/RadioView.cpp
+++ b/Stars45/RadioView.cpp
@@ -280,7 +280,7 @@ RadioView::Refresh()
// age messages:
for (int i = 0; i < MAX_MSG; i++) {
if (msg_time[i] > 0) {
- msg_time[i] -= Game::GetInstance()->GUITime();
+ msg_time[i] -= Game::GetInstance()->GetClock()->GuiDelta();
if (msg_time[i] <= 0) {
msg_time[i] = 0;
diff --git a/Stars45/SeekerAI.cpp b/Stars45/SeekerAI.cpp
index 472c419..173e5b8 100644
--- a/Stars45/SeekerAI.cpp
+++ b/Stars45/SeekerAI.cpp
@@ -61,7 +61,7 @@ void
SeekerAI::Navigator()
{
if (delay > 0) {
- delay -= Game::GetInstance()->FrameTime();
+ delay -= Game::GetInstance()->GetClock()->Delta();
}
else {
Steer s = SeekTarget();
diff --git a/Stars45/Ship.cpp b/Stars45/Ship.cpp
index 45c4c92..3ac957e 100644
--- a/Stars45/Ship.cpp
+++ b/Stars45/Ship.cpp
@@ -1043,7 +1043,7 @@ Ship::ClearTrack()
track[0] = Location();
ntrack = 1;
- track_time = Game::GetInstance()->GameTime();
+ track_time = Game::GetInstance()->GetClock()->GameTime();
}
void
@@ -1052,7 +1052,7 @@ Ship::UpdateTrack()
const int DEFAULT_TRACK_UPDATE = 500; // milliseconds
const int DEFAULT_TRACK_LENGTH = 20; // 10 seconds
- DWORD time = Game::GetInstance()->GameTime();
+ DWORD time = Game::GetInstance()->GetClock()->GameTime();
if (!track) {
track = new(__FILE__,__LINE__) Point[DEFAULT_TRACK_LENGTH];
@@ -1323,7 +1323,7 @@ void
Ship::SetFlightPhase(OP_MODE phase)
{
if (phase == ACTIVE && !launch_time) {
- launch_time = Game::GetInstance()->GameTime() + 1;
+ launch_time = Game::GetInstance()->GetClock()->GameTime() + 1;
dock = 0;
if (element)
@@ -1643,8 +1643,8 @@ Ship::HitBy(Shot* shot, Point& impact)
RadioMessage* warn = new(__FILE__,__LINE__) RadioMessage(s, this, RadioMessage::DECLARE_ROGUE);
RadioTraffic::Transmit(warn);
}
- else if (!s->IsRogue() && (Game::GetInstance()->GameTime() - ff_warn_time) > 5000) {
- ff_warn_time = Game::GetInstance()->GameTime();
+ else if (!s->IsRogue() && (Game::GetInstance()->GetClock()->GameTime() - ff_warn_time) > 5000) {
+ ff_warn_time = Game::GetInstance()->GetClock()->GameTime();
RadioMessage* warn = 0;
if (s->GetTarget() == this)
@@ -1956,7 +1956,7 @@ Ship::CheckFriendlyFire()
return;
// only check once each second
- if (Game::GetInstance()->GameTime() - friendly_fire_time < 1000)
+ if (Game::GetInstance()->GetClock()->GameTime() - friendly_fire_time < 1000)
return;
List<Weapon> w_list;
@@ -2013,7 +2013,7 @@ Ship::CheckFriendlyFire()
}
}
- friendly_fire_time = Game::GetInstance()->GameTime() + (DWORD) Random(0, 500);
+ friendly_fire_time = Game::GetInstance()->GetClock()->GameTime() + (DWORD) Random(0, 500);
}
// +----------------------------------------------------------------------+
@@ -2613,10 +2613,10 @@ Ship::ExecEvalFrame(double seconds)
static DWORD last_eval_frame = 0; // one ship per game frame
if (element && element->NumObjectives() > 0 &&
- Game::GetInstance()->GameTime() - last_eval_time > EVAL_FREQUENCY &&
+ Game::GetInstance()->GetClock()->GameTime() - last_eval_time > EVAL_FREQUENCY &&
last_eval_frame != Game::GetInstance()->Frame()) {
- last_eval_time = Game::GetInstance()->GameTime();
+ last_eval_time = Game::GetInstance()->GetClock()->GameTime();
last_eval_frame = Game::GetInstance()->Frame();
for (int i = 0; i < element->NumObjectives(); i++) {
@@ -3027,7 +3027,7 @@ Ship::StatFrame(double seconds)
{
if (flight_phase != ACTIVE) {
flight_phase = ACTIVE;
- launch_time = Game::GetInstance()->GameTime() + 1;
+ launch_time = Game::GetInstance()->GetClock()->GameTime() + 1;
if (element)
element->SetLaunchTime(launch_time);
@@ -4516,26 +4516,26 @@ Ship::InflictDamage(double damage, Shot* shot, int hit_type, Point impact)
if (shot) {
if (shot->IsBeam()) {
if (design->beam_hit_sound_resource) {
- if (Game::GetInstance()->RealTime() - last_beam_time > 400) {
+ if (Game::GetInstance()->GetClock()->RealTime() - last_beam_time > 400) {
Sound* s = design->beam_hit_sound_resource->Duplicate();
s->SetLocation(impact);
s->SetVolume(AudioConfig::EfxVolume());
s->Play();
- last_beam_time = Game::GetInstance()->RealTime();
+ last_beam_time = Game::GetInstance()->GetClock()->RealTime();
}
}
}
else {
if (design->bolt_hit_sound_resource) {
- if (Game::GetInstance()->RealTime() - last_bolt_time > 400) {
+ if (Game::GetInstance()->GetClock()->RealTime() - last_bolt_time > 400) {
Sound* s = design->bolt_hit_sound_resource->Duplicate();
s->SetLocation(impact);
s->SetVolume(AudioConfig::EfxVolume());
s->Play();
- last_bolt_time = Game::GetInstance()->RealTime();
+ last_bolt_time = Game::GetInstance()->GetClock()->RealTime();
}
}
}
@@ -4814,10 +4814,10 @@ Ship::ExecMaintFrame(double seconds)
static DWORD last_repair_frame = 0; // one ship per game frame
if (auto_repair &&
- Game::GetInstance()->GameTime() - last_repair_time > REPAIR_FREQUENCY &&
+ Game::GetInstance()->GetClock()->GameTime() - last_repair_time > REPAIR_FREQUENCY &&
last_repair_frame != Game::GetInstance()->Frame()) {
- last_repair_time = Game::GetInstance()->GameTime();
+ last_repair_time = Game::GetInstance()->GetClock()->GameTime();
last_repair_frame = Game::GetInstance()->Frame();
ListIter<System> iter = systems;
@@ -5199,7 +5199,7 @@ DWORD
Ship::MissionClock() const
{
if (launch_time > 0)
- return Game::GetInstance()->GameTime() + 1 - launch_time;
+ return Game::GetInstance()->GetClock()->GameTime() + 1 - launch_time;
return 0;
}
diff --git a/Stars45/ShipAI.cpp b/Stars45/ShipAI.cpp
index 892f41e..c3d5a3a 100644
--- a/Stars45/ShipAI.cpp
+++ b/Stars45/ShipAI.cpp
@@ -279,12 +279,12 @@ ShipAI::ExecFrame(double secs)
if (target == ship->GetTarget() && target->Type() == SimObject::SIM_SHIP) {
// if this isn't the same ship we last called out:
- if (target->Identity() != engaged_ship_id && Game::GetInstance()->GameTime() - last_call_time > 10000) {
+ if (target->Identity() != engaged_ship_id && Game::GetInstance()->GetClock()->GameTime() - last_call_time > 10000) {
// call engaging:
RadioMessage* msg = new(__FILE__,__LINE__) RadioMessage(ship->GetElement(), ship, RadioMessage::CALL_ENGAGING);
msg->AddTarget(target);
RadioTraffic::Transmit(msg);
- last_call_time = Game::GetInstance()->GameTime();
+ last_call_time = Game::GetInstance()->GetClock()->GameTime();
engaged_ship_id = target->Identity();
}
@@ -1047,7 +1047,7 @@ ShipAI::AvoidCollision()
last_avoid_time = 0; // check for a new obstacle immediately
}
- if (!other && Game::GetInstance()->GameTime() - last_avoid_time < 500)
+ if (!other && Game::GetInstance()->GetClock()->GameTime() - last_avoid_time < 500)
return avoid;
brake = 0;
@@ -1124,7 +1124,7 @@ ShipAI::AvoidCollision()
}
}
- last_avoid_time = Game::GetInstance()->GameTime();
+ last_avoid_time = Game::GetInstance()->GetClock()->GameTime();
return avoid;
}
diff --git a/Stars45/ShipCtrl.cpp b/Stars45/ShipCtrl.cpp
index 0dcb0b9..8273ec1 100644
--- a/Stars45/ShipCtrl.cpp
+++ b/Stars45/ShipCtrl.cpp
@@ -62,8 +62,8 @@ ShipCtrl::Toggled(int action)
static double last_toggle_time = 0;
if (KeyDown(action)) {
- if ((Game::GetInstance()->RealTime() - last_toggle_time) > 250) {
- last_toggle_time = Game::GetInstance()->RealTime();
+ if ((Game::GetInstance()->GetClock()->RealTime() - last_toggle_time) > 250) {
+ last_toggle_time = Game::GetInstance()->GetClock()->RealTime();
return 1;
}
}
diff --git a/Stars45/Shot.cpp b/Stars45/Shot.cpp
index 7878569..4628615 100644
--- a/Stars45/Shot.cpp
+++ b/Stars45/Shot.cpp
@@ -504,7 +504,7 @@ Shot::Damage() const
fade = (design->length - len) / (design->length - design->min_range);
}
- damage = base_damage * charge * fade * Game::GetInstance()->FrameTime();
+ damage = base_damage * charge * fade * Game::GetInstance()->GetClock()->Delta();
}
// energy wep damage based on time:
diff --git a/Stars45/Sim.cpp b/Stars45/Sim.cpp
index cd2fb87..3933855 100644
--- a/Stars45/Sim.cpp
+++ b/Stars45/Sim.cpp
@@ -395,7 +395,7 @@ Sim::ExecMission()
}
first_frame = true;
- start_time = Game::GetInstance()->GameTime();
+ start_time = Game::GetInstance()->GetClock()->GameTime();
AudioConfig::SetTraining(mission->Type() == Mission::TRAINING);
}
@@ -1896,7 +1896,7 @@ Sim::ProcessEventTrigger(int type, int event_id, const char* ship, int param)
double
Sim::MissionClock() const
{
- return (Game::GetInstance()->GameTime() - start_time) / 1000.0;
+ return (Game::GetInstance()->GetClock()->GameTime() - start_time) / 1000.0;
}
// +--------------------------------------------------------------------+
@@ -1933,7 +1933,7 @@ Sim::SkipCutscene()
double skip_time = end_time - MissionClock();
if (skip_time > 0) {
- Game::GetInstance()->SkipGameTime(skip_time);
+ Game::GetInstance()->GetClock()->SkipGameTime(skip_time);
}
}
}
@@ -1987,7 +1987,7 @@ Sim::ResolveTimeSkip(double seconds)
player_ship->SetControls(0);
}
- Game::GetInstance()->SkipGameTime(skipped);
+ Game::GetInstance()->GetClock()->SkipGameTime(skipped);
CameraDirector::SetCameraMode(CameraDirector::MODE_COCKPIT);
}
@@ -2510,7 +2510,7 @@ SimRegion::ExecFrame(double secs)
// DON'T REALLY KNOW WHAT PURPOSE THIS SERVES....
if (!active) {
double max_frame = 3 * Game::GetInstance()->GetMaxFrameLength();
- long new_time = Game::GetInstance()->GameTime();
+ long new_time = Game::GetInstance()->GetClock()->GameTime();
double delta = new_time - sim_time;
seconds = delta / 1000.0;
@@ -2518,7 +2518,7 @@ SimRegion::ExecFrame(double secs)
seconds = max_frame;
}
- sim_time = Game::GetInstance()->GameTime();
+ sim_time = Game::GetInstance()->GetClock()->GameTime();
if (orbital_region)
location = orbital_region->Location();
@@ -3798,7 +3798,7 @@ const char* FormatGameTime()
{
static char txt[64];
- int t = Game::GetInstance()->GameTime();
+ int t = Game::GetInstance()->GetClock()->GameTime();
int h = ( t / 3600000);
int m = ((t - h*3600000) / 60000);
diff --git a/Stars45/SimEvent.cpp b/Stars45/SimEvent.cpp
index 60d254d..fc4cc7f 100644
--- a/Stars45/SimEvent.cpp
+++ b/Stars45/SimEvent.cpp
@@ -31,7 +31,7 @@ SimEvent::SimEvent(int e, const char* t, const char* i)
time = (int) sim->MissionClock();
}
else {
- time = (int) (Game::GetInstance()->GameTime()/1000);
+ time = (int) (Game::GetInstance()->GetClock()->GameTime()/1000);
}
SetTarget(t);
diff --git a/Stars45/Sprite.cpp b/Stars45/Sprite.cpp
index f519bb3..295833f 100644
--- a/Stars45/Sprite.cpp
+++ b/Stars45/Sprite.cpp
@@ -169,7 +169,7 @@ Sprite::SetAnimation(Bitmap* animation, int length, int repeat, int share)
life = nframes;
}
- last_time = Game::GetInstance()->RealTime() - frame_time;
+ last_time = Game::GetInstance()->GetClock()->RealTime() - frame_time;
}
}
@@ -362,7 +362,7 @@ void
Sprite::Update()
{
if (life > 0 || loop) {
- DWORD time = Game::GetInstance()->RealTime();
+ DWORD time = Game::GetInstance()->GetClock()->RealTime();
while (time - last_time > frame_time) {
life--;
frame_index++;
diff --git a/Stars45/StarServer.cpp b/Stars45/StarServer.cpp
index 34eb77f..25d4dd9 100644
--- a/Stars45/StarServer.cpp
+++ b/Stars45/StarServer.cpp
@@ -168,7 +168,7 @@ StarServer::InitGame()
Shot::Initialize();
RadioTraffic::Initialize();
- time_mark = Game::GetInstance()->GameTime();
+ time_mark = Game::GetInstance()->GetClock()->GameTime();
minutes = 0;
NetServerConfig* server_config = NetServerConfig::GetInstance();
@@ -339,8 +339,8 @@ StarServer::UpdateWorld()
}
static DWORD refresh_time = 0;
- if (RealTime() - refresh_time > 1000) {
- refresh_time = RealTime();
+ if (clock.RealTime() - refresh_time > 1000) {
+ refresh_time = clock.RealTime();
RedrawWindow(hwnd, 0, 0, RDW_ERASE|RDW_INVALIDATE);
}
}
@@ -369,8 +369,8 @@ StarServer::GameState()
}
else if (game_mode == PLAY_MODE) {
- if (Game::GetInstance()->GameTime() - time_mark > 60000) {
- time_mark = Game::GetInstance()->GameTime();
+ if (Game::GetInstance()->GetClock()->GameTime() - time_mark > 60000) {
+ time_mark = Game::GetInstance()->GetClock()->GameTime();
minutes++;
if (minutes > 60)
Print(" TIME %2d:%02d:00\n", minutes/60, minutes%60);
diff --git a/Stars45/StarSystem.cpp b/Stars45/StarSystem.cpp
index 77d92c1..e78d970 100644
--- a/Stars45/StarSystem.cpp
+++ b/Stars45/StarSystem.cpp
@@ -69,7 +69,7 @@ void StarSystem::CalcStardate()
base_time += epoch;
}
- long double gtime = (long double) Game::GetInstance()->GameTime() / 1000.0;
+ long double gtime = (long double) Game::GetInstance()->GetClock()->GameTime() / 1000.0;
long double sdate = gtime + base_time + epoch;
stardate = sdate;
diff --git a/Stars45/Starshatter.cpp b/Stars45/Starshatter.cpp
index eb971e8..6c48e32 100644
--- a/Stars45/Starshatter.cpp
+++ b/Stars45/Starshatter.cpp
@@ -457,7 +457,7 @@ Starshatter::InitGame()
SetupSplash();
}
- time_mark = Game::GetInstance()->GameTime();
+ time_mark = Game::GetInstance()->GetClock()->GameTime();
minutes = 0;
return true;
@@ -1089,7 +1089,7 @@ Starshatter::GameState()
}
if (game_mode == EXIT_MODE) {
- exit_time -= Game::GetInstance()->GUITime();
+ exit_time -= Game::GetInstance()->GetClock()->GuiDelta();
if (exit_time <= 0)
Game::Exit();
@@ -1115,7 +1115,7 @@ Starshatter::DoMenuScreenFrame()
}
if (time_til_change > 0)
- time_til_change -= Game::GetInstance()->GUITime();
+ time_til_change -= Game::GetInstance()->GetClock()->GuiDelta();
if (!menuscreen)
return;
@@ -1177,7 +1177,7 @@ Starshatter::DoPlanScreenFrame()
Mouse::SetCursor(Mouse::ARROW);
if (time_til_change > 0)
- time_til_change -= Game::GetInstance()->GUITime();
+ time_til_change -= Game::GetInstance()->GetClock()->GuiDelta();
if (KeyDown(KEY_EXIT)) {
if (time_til_change <= 0) {
@@ -1210,7 +1210,7 @@ Starshatter::DoCmpnScreenFrame()
Mouse::SetCursor(Mouse::ARROW);
if (time_til_change > 0)
- time_til_change -= Game::GetInstance()->GUITime();
+ time_til_change -= Game::GetInstance()->GetClock()->GuiDelta();
exit_latch = KeyDown(KEY_EXIT) ? true : false;
@@ -1504,7 +1504,7 @@ Starshatter::DoGameScreenFrame()
}
if (time_til_change > 0)
- time_til_change -= Game::GetInstance()->GUITime();
+ time_til_change -= Game::GetInstance()->GetClock()->GuiDelta();
if (exit_latch && !KeyDown(KEY_EXIT))
exit_latch = false;
@@ -1572,8 +1572,8 @@ Starshatter::DoGameScreenFrame()
gamescreen->FrameRate(frame_rate);
gamescreen->ExecFrame();
- if (Game::GetInstance()->GameTime() - time_mark > 60000) {
- time_mark = Game::GetInstance()->GameTime();
+ if (Game::GetInstance()->GetClock()->GameTime() - time_mark > 60000) {
+ time_mark = Game::GetInstance()->GetClock()->GameTime();
minutes++;
if (minutes > 60)
Print(" TIME %2d:%02d:00\n", minutes/60, minutes%60);
@@ -1829,7 +1829,7 @@ Starshatter::DoGameKeys()
}
if (cam_dir) {
- double spin = (PI/2) * Game::GetInstance()->FrameTime(); // Game::GetInstance()->GUITime();
+ double spin = (PI/2) * Game::GetInstance()->GetClock()->Delta(); // Game::GetInstance()->GetClock()->GuiDelta();
if (KeyDown(KEY_CAM_EXT_PLUS_AZ))
cam_dir->ExternalAzimuth(spin);
@@ -1857,13 +1857,13 @@ Starshatter::DoGameKeys()
if (KeyDown(KEY_CAM_EXT_PLUS_RANGE)){
if (!gamescreen->IsNavShown()) {
- cam_dir->ExternalRange((float) (1 + 1.5 * Game::GetInstance()->FrameTime())); // 1.1f);
+ cam_dir->ExternalRange((float) (1 + 1.5 * Game::GetInstance()->GetClock()->Delta())); // 1.1f);
}
}
else if (KeyDown(KEY_CAM_EXT_MINUS_RANGE)) {
if (!gamescreen->IsNavShown()) {
- cam_dir->ExternalRange((float) (1 - 1.5 * Game::GetInstance()->FrameTime())); // 0.9f);
+ cam_dir->ExternalRange((float) (1 - 1.5 * Game::GetInstance()->GetClock()->Delta())); // 0.9f);
}
}
diff --git a/Stars45/StarshipAI.cpp b/Stars45/StarshipAI.cpp
index 3057f1d..5a32391 100644
--- a/Stars45/StarshipAI.cpp
+++ b/Stars45/StarshipAI.cpp
@@ -66,7 +66,7 @@ StarshipAI::StarshipAI(SimObject* s)
tactical = new(__FILE__,__LINE__) StarshipTacticalAI(this);
}
- sub_select_time = Game::GetInstance()->GameTime() + (DWORD) Random(0, 2000);
+ sub_select_time = Game::GetInstance()->GetClock()->GameTime() + (DWORD) Random(0, 2000);
point_defense_time = sub_select_time;
}
@@ -639,7 +639,7 @@ StarshipAI::FireControl()
System*
StarshipAI::SelectSubtarget()
{
- if (Game::GetInstance()->GameTime() - sub_select_time < 2345)
+ if (Game::GetInstance()->GetClock()->GameTime() - sub_select_time < 2345)
return subtarget;
subtarget = 0;
@@ -656,7 +656,7 @@ StarshipAI::SelectSubtarget()
double dist = 50e3;
Point svec = ship->Location() - tgt_ship->Location();
- sub_select_time = Game::GetInstance()->GameTime();
+ sub_select_time = Game::GetInstance()->GetClock()->GameTime();
// first pass: turrets
ListIter<WeaponGroup> g_iter = tgt_ship->Weapons();
@@ -727,7 +727,7 @@ StarshipAI::SelectSubtarget()
bool
StarshipAI::AssessTargetPointDefense()
{
- if (Game::GetInstance()->GameTime() - point_defense_time < 3500)
+ if (Game::GetInstance()->GetClock()->GameTime() - point_defense_time < 3500)
return tgt_point_defense;
tgt_point_defense = false;
@@ -743,7 +743,7 @@ StarshipAI::AssessTargetPointDefense()
Weapon* subtgt = 0;
Point svec = ship->Location() - tgt_ship->Location();
- point_defense_time = Game::GetInstance()->GameTime();
+ point_defense_time = Game::GetInstance()->GetClock()->GameTime();
// first pass: turrets
ListIter<WeaponGroup> g_iter = tgt_ship->Weapons();
diff --git a/Stars45/StarshipTacticalAI.cpp b/Stars45/StarshipTacticalAI.cpp
index 241a06f..1a7db8c 100644
--- a/Stars45/StarshipTacticalAI.cpp
+++ b/Stars45/StarshipTacticalAI.cpp
@@ -124,7 +124,7 @@ StarshipTacticalAI::FindThreat()
}
if (contact->Threat(ship) &&
- (Game::GetInstance()->GameTime() - contact->AcquisitionTime()) > THREAT_REACTION_TIME) {
+ (Game::GetInstance()->GetClock()->GameTime() - contact->AcquisitionTime()) > THREAT_REACTION_TIME) {
if (c_shot) {
threat_missile = c_shot;
diff --git a/Stars45/SteerAI.cpp b/Stars45/SteerAI.cpp
index 8d95b73..441773a 100644
--- a/Stars45/SteerAI.cpp
+++ b/Stars45/SteerAI.cpp
@@ -429,8 +429,8 @@ SteerAI::Evade(const Point& point, const Point& vel)
{
Steer evade;
- if (Game::GetInstance()->GameTime() - evade_time > 1250) {
- evade_time = Game::GetInstance()->GameTime();
+ if (Game::GetInstance()->GetClock()->GameTime() - evade_time > 1250) {
+ evade_time = Game::GetInstance()->GetClock()->GameTime();
int direction = (rand()>>9) & 0x07;
diff --git a/Stars45/TacticalAI.cpp b/Stars45/TacticalAI.cpp
index b2ad350..8a8b155 100644
--- a/Stars45/TacticalAI.cpp
+++ b/Stars45/TacticalAI.cpp
@@ -80,7 +80,7 @@ TacticalAI::ExecFrame(double secs)
navpt = ship->GetNextNavPoint();
orders = ship->GetRadioOrders();
- if ((int) Game::GetInstance()->GameTime() - exec_time > exec_period) {
+ if ((int) Game::GetInstance()->GetClock()->GameTime() - exec_time > exec_period) {
element_index = ship->GetElementIndex();
CheckOrders();
@@ -833,7 +833,7 @@ TacticalAI::FindThreat()
Contact* contact = iter.value();
if (contact->Threat(ship) &&
- (Game::GetInstance()->GameTime() - contact->AcquisitionTime()) > THREAT_REACTION_TIME) {
+ (Game::GetInstance()->GetClock()->GameTime() - contact->AcquisitionTime()) > THREAT_REACTION_TIME) {
if (contact->GetShot()) {
threat_missile = contact->GetShot();
diff --git a/Stars45/TacticalView.cpp b/Stars45/TacticalView.cpp
index 9fe4b87..4bd458c 100644
--- a/Stars45/TacticalView.cpp
+++ b/Stars45/TacticalView.cpp
@@ -549,12 +549,12 @@ TacticalView::DoMouseFrame()
if (Mouse::RButton()) {
MouseController* mouse_con = MouseController::GetInstance();
if (!right_down && (!mouse_con || !mouse_con->Active())) {
- rbutton_latch = Game::GetInstance()->RealTime();
+ rbutton_latch = Game::GetInstance()->GetClock()->RealTime();
right_down = true;
}
}
else {
- if (sim && right_down && (Game::GetInstance()->RealTime() - rbutton_latch < 250)) {
+ if (sim && right_down && (Game::GetInstance()->GetClock()->RealTime() - rbutton_latch < 250)) {
Ship* seln = WillSelectAt(Mouse::X(), Mouse::Y());
if (seln && sim->IsSelected(seln) &&
@@ -656,10 +656,10 @@ TacticalView::DoMouseFrame()
if (dx < 3 && dy < 3) {
bool hit = SelectAt(mouse_x, mouse_y);
- if (ship->IsStarship() && Game::GetInstance()->RealTime() - click_time < 350)
+ if (ship->IsStarship() && Game::GetInstance()->GetClock()->RealTime() - click_time < 350)
SetHelm(hit);
- click_time = Game::GetInstance()->RealTime();
+ click_time = Game::GetInstance()->GetClock()->RealTime();
}
}
}
@@ -1433,7 +1433,7 @@ TacticalView::DrawAction()
}
if (tgt && r) {
- if ((Game::GetInstance()->RealTime()/200) & 1)
+ if ((Game::GetInstance()->GetClock()->RealTime()/200) & 1)
r = 20;
else
r = 15;
diff --git a/Stars45/Trail.cpp b/Stars45/Trail.cpp
index 97e6666..71f224f 100644
--- a/Stars45/Trail.cpp
+++ b/Stars45/Trail.cpp
@@ -141,7 +141,7 @@ Trail::AddPoint(const Point& v)
{
if (ntrail >= maxtrail-1) return;
- double real_time = Game::GetInstance()->RealTime() / 1000.0;
+ double real_time = Game::GetInstance()->GetClock()->RealTime() / 1000.0;
if (ntrail == 0) {
radius = 1000;
diff --git a/Stars45/Weapon.cpp b/Stars45/Weapon.cpp
index 4d3eaa5..2e35157 100644
--- a/Stars45/Weapon.cpp
+++ b/Stars45/Weapon.cpp
@@ -1145,7 +1145,7 @@ Weapon::CanLockPoint(const Point& test, double& az, double& el, Point* obj)
void
Weapon::AimTurret(double az, double el)
{
- double seconds = (Game::GetInstance()->GameTime() - aim_time) / 1000.0;
+ double seconds = (Game::GetInstance()->GetClock()->GameTime() - aim_time) / 1000.0;
// don't let the weapon turn faster than turret slew rate:
double max_turn = design->slew_rate * seconds;
@@ -1170,7 +1170,7 @@ Weapon::AimTurret(double az, double el)
old_azimuth = (float) az;
old_elevation = (float) el;
- aim_time = Game::GetInstance()->GameTime();
+ aim_time = Game::GetInstance()->GetClock()->GameTime();
}
void
diff --git a/Stars45/WepView.cpp b/Stars45/WepView.cpp
index 03363b1..508d269 100644
--- a/Stars45/WepView.cpp
+++ b/Stars45/WepView.cpp
@@ -387,11 +387,11 @@ WepView::DrawOverlay()
Text subtxt;
Color stat = hud_color;
- static DWORD blink = Game::GetInstance()->RealTime();
+ static DWORD blink = Game::GetInstance()->GetClock()->RealTime();
if (ship->GetTarget()) {
if (ship->GetSubTarget()) {
- int blink_delta = Game::GetInstance()->RealTime() - blink;
+ int blink_delta = Game::GetInstance()->GetClock()->RealTime() - blink;
System* sys = ship->GetSubTarget();
subtxt = sys->Abbreviation();
@@ -406,7 +406,7 @@ WepView::DrawOverlay()
}
if (blink_delta > 500)
- blink = Game::GetInstance()->RealTime();
+ blink = Game::GetInstance()->GetClock()->RealTime();
}
else