diff --git a/Source/Core/Core/NetPlayClient.cpp b/Source/Core/Core/NetPlayClient.cpp index 42667f60ef..ae453f5c98 100644 --- a/Source/Core/Core/NetPlayClient.cpp +++ b/Source/Core/Core/NetPlayClient.cpp @@ -1069,6 +1069,24 @@ void NetPlayClient::OnPlayerPingData(sf::Packet& packet) m_dialog->Update(); } +void NetPlayClient::OnSendCodesMsg(sf::Packet& packet) +{ + std::string codeStr; + packet >> codeStr; + auto ss = std::stringstream{codeStr}; + + v_ActiveGeckoCodes = {}; + for (std::string line; std::getline(ss, line, '\n');) + v_ActiveGeckoCodes.push_back(line); + + // add to chat + std::string firstLine = "Active Gecko Codes:"; + m_dialog->OnActiveGeckoCodes(firstLine); + for (const std::string code : v_ActiveGeckoCodes) + m_dialog->OnActiveGeckoCodes(code); +} + + void NetPlayClient::OnDesyncDetected(sf::Packet& packet) { int pid_to_blame; diff --git a/Source/Core/Core/NetPlayClient.h b/Source/Core/Core/NetPlayClient.h index 3b48dbb68a..104fd720ff 100644 --- a/Source/Core/Core/NetPlayClient.h +++ b/Source/Core/Core/NetPlayClient.h @@ -354,6 +354,8 @@ private: void OnGameDigestResult(sf::Packet& packet); void OnGameDigestError(sf::Packet& packet); void OnGameDigestAbort(); + void OnSendCodesMsg(sf::Packet& packet); + bool m_is_connected = false; ConnectionState m_connection_state = ConnectionState::Failure;