From 41e7c43d0d2809bf7f0bc99f6fac4bb4e20539ae Mon Sep 17 00:00:00 2001 From: Shawn Hoffman Date: Mon, 3 Oct 2016 05:35:27 -0700 Subject: NetPlay: add one click host Add a context menu entry in main game list to host a netplay game based on saved settings. Original commit: commit 91aaa958e6af0275c07b63443938a0be471e0669 Author: Aestek Date: Sun Jul 24 14:51:37 2016 +0200 --- Source/Core/DolphinWX/ISOFile.cpp | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) (limited to 'Source/Core/DolphinWX/ISOFile.cpp') diff --git a/Source/Core/DolphinWX/ISOFile.cpp b/Source/Core/DolphinWX/ISOFile.cpp index 7173a6aeda..1b986c02c6 100644 --- a/Source/Core/DolphinWX/ISOFile.cpp +++ b/Source/Core/DolphinWX/ISOFile.cpp @@ -330,6 +330,41 @@ std::string GameListItem::GetName() const return name + ext; } +std::string GameListItem::GetUniqueIdentifier() const +{ + const DiscIO::Language lang = DiscIO::Language::LANGUAGE_ENGLISH; + std::vector info; + if (!GetUniqueID().empty()) + info.push_back(GetUniqueID()); + if (GetRevision() != 0) + { + std::string rev_str = "Revision "; + info.push_back(rev_str + std::to_string((long long)GetRevision())); + } + + std::string name(GetName(lang)); + if (name.empty()) + name = GetName(); + + int disc_number = GetDiscNumber() + 1; + + std::string lower_name = name; + std::transform(lower_name.begin(), lower_name.end(), lower_name.begin(), ::tolower); + if (disc_number > 1 && + lower_name.find(std::string(wxString::Format("disc %i", disc_number))) == std::string::npos && + lower_name.find(std::string(wxString::Format("disc%i", disc_number))) == std::string::npos) + { + std::string disc_text = "Disc "; + info.push_back(disc_text + std::to_string(disc_number)); + } + if (info.empty()) + return name; + std::ostringstream ss; + std::copy(info.begin(), info.end() - 1, std::ostream_iterator(ss, ", ")); + ss << info.back(); + return name + " (" + ss.str() + ")"; +} + std::vector GameListItem::GetLanguages() const { std::vector languages; -- cgit v1.2.3