diff options
| author | Brandon Rothweiler <brandonrothweiler@gmail.com> | 2019-07-30 20:14:51 -0700 |
|---|---|---|
| committer | Brandon Rothweiler <brandonrothweiler@gmail.com> | 2019-07-30 20:14:51 -0700 |
| commit | fdfa14d9cc412d6ed8db841136ef62b6b3facb3e (patch) | |
| tree | 5e150241f6cecc630ad424a1681d84f49cb97090 /Source/Core | |
| parent | dea2b9c509b96cb58182b883c1df9f9f7f9234bf (diff) | |
Show a message in netplay chat when a player joins or leaves
Diffstat (limited to 'Source/Core')
| -rw-r--r-- | Source/Core/Core/NetPlayClient.cpp | 4 | ||||
| -rw-r--r-- | Source/Core/Core/NetPlayClient.h | 2 | ||||
| -rw-r--r-- | Source/Core/DolphinQt/NetPlay/NetPlayDialog.cpp | 10 | ||||
| -rw-r--r-- | Source/Core/DolphinQt/NetPlay/NetPlayDialog.h | 2 |
4 files changed, 18 insertions, 0 deletions
diff --git a/Source/Core/Core/NetPlayClient.cpp b/Source/Core/Core/NetPlayClient.cpp index d157d892a3..0d97ec26ab 100644 --- a/Source/Core/Core/NetPlayClient.cpp +++ b/Source/Core/Core/NetPlayClient.cpp @@ -305,6 +305,8 @@ unsigned int NetPlayClient::OnData(sf::Packet& packet) m_players[player.pid] = player; } + m_dialog->OnPlayerConnect(player.name); + m_dialog->Update(); } break; @@ -316,6 +318,8 @@ unsigned int NetPlayClient::OnData(sf::Packet& packet) INFO_LOG(NETPLAY, "Player %s (%d) left", m_players.find(pid)->second.name.c_str(), pid); + m_dialog->OnPlayerDisconnect(m_players.find(pid)->second.name); + { std::lock_guard<std::recursive_mutex> lkp(m_crit.players); m_players.erase(m_players.find(pid)); diff --git a/Source/Core/Core/NetPlayClient.h b/Source/Core/Core/NetPlayClient.h index 7ece1a5a68..2e6acf4518 100644 --- a/Source/Core/Core/NetPlayClient.h +++ b/Source/Core/Core/NetPlayClient.h @@ -46,6 +46,8 @@ public: virtual void OnMsgStartGame() = 0; virtual void OnMsgStopGame() = 0; virtual void OnMsgPowerButton() = 0; + virtual void OnPlayerConnect(const std::string& player) = 0; + virtual void OnPlayerDisconnect(const std::string& player) = 0; virtual void OnPadBufferChanged(u32 buffer) = 0; virtual void OnHostInputAuthorityChanged(bool enabled) = 0; virtual void OnDesync(u32 frame, const std::string& player) = 0; diff --git a/Source/Core/DolphinQt/NetPlay/NetPlayDialog.cpp b/Source/Core/DolphinQt/NetPlay/NetPlayDialog.cpp index d8e2a5f4d2..69d01a94a4 100644 --- a/Source/Core/DolphinQt/NetPlay/NetPlayDialog.cpp +++ b/Source/Core/DolphinQt/NetPlay/NetPlayDialog.cpp @@ -887,6 +887,16 @@ void NetPlayDialog::OnMsgPowerButton() QueueOnObject(this, [] { UICommon::TriggerSTMPowerEvent(); }); } +void NetPlayDialog::OnPlayerConnect(const std::string& player) +{ + DisplayMessage(tr("%1 has joined").arg(QString::fromStdString(player)), "darkcyan"); +} + +void NetPlayDialog::OnPlayerDisconnect(const std::string& player) +{ + DisplayMessage(tr("%1 has left").arg(QString::fromStdString(player)), "darkcyan"); +} + void NetPlayDialog::OnPadBufferChanged(u32 buffer) { QueueOnObject(this, [this, buffer] { diff --git a/Source/Core/DolphinQt/NetPlay/NetPlayDialog.h b/Source/Core/DolphinQt/NetPlay/NetPlayDialog.h index 64824d2847..84fc24e5e1 100644 --- a/Source/Core/DolphinQt/NetPlay/NetPlayDialog.h +++ b/Source/Core/DolphinQt/NetPlay/NetPlayDialog.h @@ -49,6 +49,8 @@ public: void OnMsgStartGame() override; void OnMsgStopGame() override; void OnMsgPowerButton() override; + void OnPlayerConnect(const std::string& player) override; + void OnPlayerDisconnect(const std::string& player) override; void OnPadBufferChanged(u32 buffer) override; void OnHostInputAuthorityChanged(bool enabled) override; void OnDesync(u32 frame, const std::string& player) override; |
