diff options
author | Aki <please@ignore.pl> | 2024-04-01 23:54:24 +0200 |
---|---|---|
committer | Aki <please@ignore.pl> | 2024-04-01 23:54:24 +0200 |
commit | 068ebfe61d0ab59a7c2c58dcc19edcc2ddacf039 (patch) | |
tree | 0fee184235980fcbb2a7557d1a10b6e48143e9c4 /StarsEx/Campaign.cpp | |
parent | 3be3bfaa17773550a696ed2b756136debfe79ae2 (diff) | |
download | starshatter-068ebfe61d0ab59a7c2c58dcc19edcc2ddacf039.zip starshatter-068ebfe61d0ab59a7c2c58dcc19edcc2ddacf039.tar.gz starshatter-068ebfe61d0ab59a7c2c58dcc19edcc2ddacf039.tar.bz2 |
Each Campaign now has a specific start date and time
Diffstat (limited to 'StarsEx/Campaign.cpp')
-rw-r--r-- | StarsEx/Campaign.cpp | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/StarsEx/Campaign.cpp b/StarsEx/Campaign.cpp index b139787..3751db8 100644 --- a/StarsEx/Campaign.cpp +++ b/StarsEx/Campaign.cpp @@ -109,7 +109,7 @@ static Campaign* current_campaign = 0; Campaign::Campaign(int id, const char* n) : campaign_id(id), name(n), mission_id(-1), mission(0), net_mission(0), - scripted(false), sequential(false), time(0), load_time(0), + scripted(false), sequential(false), time(0), load_time(0), start_time(0), player_group(0), player_unit(0), status(CAMPAIGN_INIT), lockout(0), loaded_from_savegame(false) { @@ -119,7 +119,7 @@ Campaign::Campaign(int id, const char* n) Campaign::Campaign(int id, const char* n, const char* p) : campaign_id(id), name(n), mission_id(-1), mission(0), net_mission(0), - scripted(false), sequential(false), time(0), load_time(0), + scripted(false), sequential(false), time(0), load_time(0), start_time(0), player_group(0), player_unit(0), status(CAMPAIGN_INIT), lockout(0), loaded_from_savegame(false) { @@ -487,6 +487,9 @@ Campaign::LoadCampaign(DataLoader* loader, bool full) orders = ContentBundle::GetInstance()->GetText(orders); } } + else if (def->name()->value() == "stardate") { + GetDefNumber(start_time, def, filename); + } else if (def->name()->value() == "scripted") { if (def->term() && def->term()->isBool()) { scripted = def->term()->isBool()->value(); @@ -1880,7 +1883,7 @@ Campaign::Prep() LoadCampaign(loader, true); } - starshatter::engine::SetOperationStart(); + starshatter::engine::SetOperationStart(start_time); starshatter::engine::SetMissionStart(); Clock::GetInstance()->ResetGameTime(load_time); @@ -2083,6 +2086,20 @@ Campaign::SetLoadTime(long double value) load_time = value; } + +long double +Campaign::StartTime() const +{ + return start_time; +} + + +void +Campaign::SetStartTime(long double value) +{ + start_time = value; +} + // +--------------------------------------------------------------------+ bool |