From 33a3136c1ee854cc8cafa53fe3447911482cf5c3 Mon Sep 17 00:00:00 2001 From: Aki Date: Wed, 6 Apr 2022 23:10:50 +0200 Subject: NetLobbyServer now uses Game interface to manage game modes --- StarsEx/NetLobbyServer.cpp | 40 ++++++++++++++++------------------------ 1 file changed, 16 insertions(+), 24 deletions(-) (limited to 'StarsEx') 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); } } } -- cgit v1.1