NetPlay: rename md5 -> game digest

This commit is contained in:
Shawn Hoffman
2022-07-27 18:43:16 -07:00
parent 7d2d5d914b
commit c7ce035a7f
11 changed files with 169 additions and 168 deletions

View File

@ -90,10 +90,10 @@ NetPlayClient::~NetPlayClient()
if (m_is_connected)
{
m_should_compute_MD5 = false;
m_dialog->AbortMD5();
if (m_MD5_thread.joinable())
m_MD5_thread.join();
m_should_compute_game_digest = false;
m_dialog->AbortGameDigest();
if (m_game_digest_thread.joinable())
m_game_digest_thread.join();
m_do_loop.Clear();
m_thread.join();
@ -442,24 +442,24 @@ void NetPlayClient::OnData(sf::Packet& packet)
OnSyncCodes(packet);
break;
case MessageID::ComputeMD5:
OnComputeMD5(packet);
case MessageID::ComputeGameDigest:
OnComputeGameDigest(packet);
break;
case MessageID::MD5Progress:
OnMD5Progress(packet);
case MessageID::GameDigestProgress:
OnGameDigestProgress(packet);
break;
case MessageID::MD5Result:
OnMD5Result(packet);
case MessageID::GameDigestResult:
OnGameDigestResult(packet);
break;
case MessageID::MD5Error:
OnMD5Error(packet);
case MessageID::GameDigestError:
OnGameDigestError(packet);
break;
case MessageID::MD5Abort:
OnMD5Abort();
case MessageID::GameDigestAbort:
OnGameDigestAbort();
break;
default:
@ -1419,48 +1419,48 @@ void NetPlayClient::OnSyncCodesDataAR(sf::Packet& packet)
ActionReplay::UpdateSyncedCodes(synced_codes);
}
void NetPlayClient::OnComputeMD5(sf::Packet& packet)
void NetPlayClient::OnComputeGameDigest(sf::Packet& packet)
{
SyncIdentifier sync_identifier;
ReceiveSyncIdentifier(packet, sync_identifier);
ComputeMD5(sync_identifier);
ComputeGameDigest(sync_identifier);
}
void NetPlayClient::OnMD5Progress(sf::Packet& packet)
void NetPlayClient::OnGameDigestProgress(sf::Packet& packet)
{
PlayerId pid;
int progress;
packet >> pid;
packet >> progress;
m_dialog->SetMD5Progress(pid, progress);
m_dialog->SetGameDigestProgress(pid, progress);
}
void NetPlayClient::OnMD5Result(sf::Packet& packet)
void NetPlayClient::OnGameDigestResult(sf::Packet& packet)
{
PlayerId pid;
std::string result;
packet >> pid;
packet >> result;
m_dialog->SetMD5Result(pid, result);
m_dialog->SetGameDigestResult(pid, result);
}
void NetPlayClient::OnMD5Error(sf::Packet& packet)
void NetPlayClient::OnGameDigestError(sf::Packet& packet)
{
PlayerId pid;
std::string error;
packet >> pid;
packet >> error;
m_dialog->SetMD5Result(pid, error);
m_dialog->SetGameDigestResult(pid, error);
}
void NetPlayClient::OnMD5Abort()
void NetPlayClient::OnGameDigestAbort()
{
m_should_compute_MD5 = false;
m_dialog->AbortMD5();
m_should_compute_game_digest = false;
m_dialog->AbortGameDigest();
}
void NetPlayClient::Send(const sf::Packet& packet, const u8 channel_id)
@ -2469,13 +2469,13 @@ static std::string MD5Sum(const std::string& file_path, std::function<bool(int)>
return fmt::format("{:02x}", fmt::join(output, ""));
}
void NetPlayClient::ComputeMD5(const SyncIdentifier& sync_identifier)
void NetPlayClient::ComputeGameDigest(const SyncIdentifier& sync_identifier)
{
if (m_should_compute_MD5)
if (m_should_compute_game_digest)
return;
m_dialog->ShowMD5Dialog(sync_identifier.game_id);
m_should_compute_MD5 = true;
m_dialog->ShowGameDigestDialog(sync_identifier.game_id);
m_should_compute_game_digest = true;
std::string file;
if (sync_identifier == GetSDCardIdentifier())
@ -2486,26 +2486,26 @@ void NetPlayClient::ComputeMD5(const SyncIdentifier& sync_identifier)
if (file.empty() || !File::Exists(file))
{
sf::Packet packet;
packet << MessageID::MD5Error;
packet << MessageID::GameDigestError;
packet << "file not found";
Send(packet);
return;
}
if (m_MD5_thread.joinable())
m_MD5_thread.join();
m_MD5_thread = std::thread([this, file]() {
if (m_game_digest_thread.joinable())
m_game_digest_thread.join();
m_game_digest_thread = std::thread([this, file]() {
std::string sum = MD5Sum(file, [&](int progress) {
sf::Packet packet;
packet << MessageID::MD5Progress;
packet << MessageID::GameDigestProgress;
packet << progress;
SendAsync(std::move(packet));
return m_should_compute_MD5;
return m_should_compute_game_digest;
});
sf::Packet packet;
packet << MessageID::MD5Result;
packet << MessageID::GameDigestResult;
packet << sum;
SendAsync(std::move(packet));
});