diff options
author | Aki <please@ignore.pl> | 2024-03-23 00:41:20 +0100 |
---|---|---|
committer | Aki <please@ignore.pl> | 2024-03-23 00:41:20 +0100 |
commit | a5f3eadd4239bfa5df64badabb2b9897f686aded (patch) | |
tree | 516021d23f7a0b288a14641df3b34d8b30213536 /StarsEx | |
parent | 30346e276d6a6c127b41f3085e47fcc87c4b80ea (diff) | |
download | starshatter-a5f3eadd4239bfa5df64badabb2b9897f686aded.zip starshatter-a5f3eadd4239bfa5df64badabb2b9897f686aded.tar.gz starshatter-a5f3eadd4239bfa5df64badabb2b9897f686aded.tar.bz2 |
Show server version in multiplayer server list
Version replaced Type which was unused at the moment.
Diffstat (limited to 'StarsEx')
-rw-r--r-- | StarsEx/NetClientDlg.cpp | 6 | ||||
-rw-r--r-- | StarsEx/NetLobby.h | 2 | ||||
-rw-r--r-- | StarsEx/NetLobbyClient.cpp | 9 | ||||
-rw-r--r-- | StarsEx/NetLobbyClient.h | 1 |
4 files changed, 17 insertions, 1 deletions
diff --git a/StarsEx/NetClientDlg.cpp b/StarsEx/NetClientDlg.cpp index ea30f5e..a478d15 100644 --- a/StarsEx/NetClientDlg.cpp +++ b/StarsEx/NetClientDlg.cpp @@ -164,7 +164,7 @@ NetClientDlg::ShowServers() NetServerInfo* info = iter.value(); lst_servers->AddItemWithData(info->name, (DWORD) i); - lst_servers->SetItemText(i, 1, info->type); + lst_servers->SetItemText(i, 1, info->version); lst_servers->SetItemText(i, 2, info->password); lst_servers->SetItemText(i, 3, ContentBundle::GetInstance()->GetText("NetClientDlg.offline")); lst_servers->SetItemText(i, 4, "0"); @@ -196,6 +196,7 @@ NetClientDlg::UpdateServers() NetServerInfo* info = config->GetServerList().at(n); lst_servers->SetItemText(i, 0, info->name); + lst_servers->SetItemText(i, 1, info->version); Text status = ContentBundle::GetInstance()->GetText("NetClientDlg.offline"); @@ -276,6 +277,7 @@ NetClientDlg::PingComplete() if (info) { // copy result back into server list info->machine_info = ping_info.machine_info; + info->version = ping_info.version; info->gameport = ping_info.gameport; info->status = ping_info.status; info->nplayers = ping_info.nplayers; @@ -315,6 +317,7 @@ DWORD WINAPI NetClientPingProc(LPVOID link) if (conn.Ping()) { info->machine_info = conn.GetMachineInfo(); + info->version = conn.GetVersion(); info->gameport = conn.GetGamePort(); info->status = conn.GetStatus(); info->nplayers = conn.NumUsers(); @@ -324,6 +327,7 @@ DWORD WINAPI NetClientPingProc(LPVOID link) else { info->machine_info = Text(); + info->version = Text(); info->nplayers = 0; info->hosted = 0; info->status = NetServerInfo::OFFLINE; diff --git a/StarsEx/NetLobby.h b/StarsEx/NetLobby.h index 55e7ee8..e484ea1 100644 --- a/StarsEx/NetLobby.h +++ b/StarsEx/NetLobby.h @@ -99,6 +99,7 @@ public: virtual void SelectMission(DWORD id); virtual const Text& GetMachineInfo() { return machine_info; } + virtual const Text& GetVersion() { return version; } virtual WORD GetGamePort() { return 0; } // actions: @@ -141,6 +142,7 @@ protected: List<NetCampaignInfo> campaigns; List<NetUnitEntry> unit_map; Text machine_info; + Text version; List<ModInfo> server_mods; bool active; diff --git a/StarsEx/NetLobbyClient.cpp b/StarsEx/NetLobbyClient.cpp index 603c1cb..33f54ce 100644 --- a/StarsEx/NetLobbyClient.cpp +++ b/StarsEx/NetLobbyClient.cpp @@ -248,6 +248,15 @@ NetLobbyClient::GetMachineInfo() return NetLobby::GetMachineInfo(); } +const Text& +NetLobbyClient::GetVersion() +{ + if (server_info.status > NetServerInfo::OFFLINE) + return server_info.version; + + return NetLobby::GetVersion(); +} + int NetLobbyClient::GetStatus() const { diff --git a/StarsEx/NetLobbyClient.h b/StarsEx/NetLobbyClient.h index 594d374..6d9ef43 100644 --- a/StarsEx/NetLobbyClient.h +++ b/StarsEx/NetLobbyClient.h @@ -60,6 +60,7 @@ public: // overrides for ping support: virtual const Text& GetMachineInfo(); + virtual const Text& GetVersion(); virtual int GetStatus() const; virtual int NumUsers(); virtual bool HasHost(); |