summaryrefslogtreecommitdiffhomepage
path: root/StarsEx
diff options
context:
space:
mode:
authorAki <please@ignore.pl>2022-04-06 23:10:50 +0200
committerAki <please@ignore.pl>2022-04-06 23:10:50 +0200
commit33a3136c1ee854cc8cafa53fe3447911482cf5c3 (patch)
tree4a3433f94a6d6f418a2b99377285b47c22c78b44 /StarsEx
parentbf1636c63eabbe05dcd9699482fc1f858a45e578 (diff)
downloadstarshatter-33a3136c1ee854cc8cafa53fe3447911482cf5c3.zip
starshatter-33a3136c1ee854cc8cafa53fe3447911482cf5c3.tar.gz
starshatter-33a3136c1ee854cc8cafa53fe3447911482cf5c3.tar.bz2
NetLobbyServer now uses Game interface to manage game modes
Diffstat (limited to 'StarsEx')
-rw-r--r--StarsEx/NetLobbyServer.cpp40
1 files changed, 16 insertions, 24 deletions
diff --git a/StarsEx/NetLobbyServer.cpp b/StarsEx/NetLobbyServer.cpp
index b3afc9f..371310f 100644
--- a/StarsEx/NetLobbyServer.cpp
+++ b/StarsEx/NetLobbyServer.cpp
@@ -20,9 +20,6 @@
#include "NetUser.h"
#include "Campaign.h"
#include "Mission.h"
-#include "StarServer.h"
-#include "Starshatter.h"
-#include "StarServer.h"
#include "ShipDesign.h"
#include "Sim.h"
#include "Text.h"
@@ -76,11 +73,11 @@ NetLobbyServer::NetLobbyServer()
LoadMOTD();
- StarServer* star_server = StarServer::GetInstance();
+ auto game = Game::GetInstance();
DWORD mission_id = 0;
// only one mission:
- if (star_server && server_mission.length() > 0) {
+ if (game->Server() && server_mission.length() > 0) {
NetCampaignInfo* c = new NetCampaignInfo;
c->id = Campaign::MULTIPLAYER_MISSIONS;
c->name = "Persistent Multiplayer";
@@ -100,7 +97,7 @@ NetLobbyServer::NetLobbyServer()
mission_id = (Campaign::MULTIPLAYER_MISSIONS << NET_CAMPAIGN_SHIFT) + m->id;
SelectMission(mission_id);
- star_server->SetGameMode(Game::LOAD_MODE);
+ game->SetGameMode(Game::LOAD_MODE);
// lock in mission:
SetStatus(NetServerInfo::PERSISTENT);
@@ -269,14 +266,11 @@ NetLobbyServer::ExecFrame()
}
}
- StarServer* star_server = StarServer::GetInstance();
+ auto game = Game::GetInstance();
DWORD mission_id = 0;
// restart persistent mission?
- if (star_server &&
- star_server->GetGameMode() == Game::MENU_MODE &&
- server_mission.length() > 0) {
-
+ if (game->Server() && game->GetGameMode() == Game::MENU_MODE && server_mission.length() > 0) {
NetCampaignInfo* c = campaigns.last();
if (!c || c->name != "Persistent Multiplayer") {
@@ -307,8 +301,8 @@ NetLobbyServer::ExecFrame()
SelectMission(mission_id);
- if (star_server->GetGameMode() == Game::MENU_MODE) {
- star_server->SetGameMode(Game::LOAD_MODE);
+ if (game->GetGameMode() == Game::MENU_MODE) {
+ game->SetGameMode(Game::LOAD_MODE);
}
// lock in new mission:
@@ -407,15 +401,14 @@ NetLobbyServer::GameStart()
{
if (status < NetServerInfo::ACTIVE) {
SetStatus(NetServerInfo::BRIEFING);
-
- if (Starshatter::GetInstance()) {
- Starshatter::GetInstance()->SetGameMode(Game::PREP_MODE);
+ auto game = Game::GetInstance();
+ if (game->Server()) {
+ if (game->GetGameMode() == Game::MENU_MODE) {
+ game->SetGameMode(Game::LOAD_MODE);
+ }
}
else {
- StarServer* s = StarServer::GetInstance();
- if (s && s->GetGameMode() == Game::MENU_MODE) {
- s->SetGameMode(Game::LOAD_MODE);
- }
+ game->SetGameMode(Game::PREP_MODE);
}
}
}
@@ -425,10 +418,9 @@ NetLobbyServer::GameStop()
{
if (GetStatus() != NetServerInfo::PERSISTENT) {
SetStatus(NetServerInfo::LOBBY);
-
- StarServer* s = StarServer::GetInstance();
- if (s && s->GetGameMode() != Game::MENU_MODE) {
- s->SetGameMode(Game::MENU_MODE);
+ auto game = Game::GetInstance();
+ if (game->Server() && game->GetGameMode() != Game::MENU_MODE) {
+ game->SetGameMode(Game::MENU_MODE);
}
}
}