From faedf1bc5cd53861e0dc825acc8237f4f56d7189 Mon Sep 17 00:00:00 2001 From: Anthony Serna Date: Tue, 25 Aug 2015 22:13:55 -0700 Subject: Implemented .elf and .dol support in gamelist Fixed a TON of structuring, formatting. removed README.txt files from themes at MaJoR's request Added platform icon for ELFs/DOLs --- Source/Core/DolphinWX/ISOFile.cpp | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) (limited to 'Source/Core/DolphinWX/ISOFile.cpp') diff --git a/Source/Core/DolphinWX/ISOFile.cpp b/Source/Core/DolphinWX/ISOFile.cpp index 2ae56e8fb1..4be36d6fd7 100644 --- a/Source/Core/DolphinWX/ISOFile.cpp +++ b/Source/Core/DolphinWX/ISOFile.cpp @@ -66,10 +66,12 @@ GameListItem::GameListItem(const std::string& _rFileName) , m_emu_state(0) , m_FileSize(0) , m_Revision(0) + , m_Country(DiscIO::IVolume::COUNTRY_UNKNOWN) , m_Valid(false) , m_BlobCompressed(false) , m_ImageWidth(0) , m_ImageHeight(0) + , m_disc_number(0) { if (LoadFromCache()) { @@ -129,6 +131,13 @@ GameListItem::GameListItem(const std::string& _rFileName) ini.GetIfExists("EmuState", "EmulationIssues", &m_issues); } + if (!IsValid() && IsElfOrDol()) + { + m_Valid = true; + m_FileSize = File::GetSize(_rFileName); + m_Platform = DiscIO::IVolume::ELF_DOL; + } + if (!m_pImage.empty()) { wxImage Image(m_ImageWidth, m_ImageHeight, &m_pImage[0], true); @@ -238,8 +247,11 @@ std::string GameListItem::GetName() const std::string name = GetName(SConfig::GetInstance().GetCurrentLanguage(wii)); if (name.empty()) { + std::string ext; + // No usable name, return filename (better than nothing) - SplitPath(GetFileName(), nullptr, &name, nullptr); + SplitPath(GetFileName(), nullptr, &name, &ext); + return name + ext; } return name; } @@ -283,3 +295,18 @@ const std::string GameListItem::GetWiiFSPath() const return ret; } +bool GameListItem::IsElfOrDol() const +{ + const std::string name = GetName(); + const size_t pos = name.rfind('.'); + + if (pos != std::string::npos) + { + std::string ext = name.substr(pos); + std::transform(ext.begin(), ext.end(), ext.begin(), ::tolower); + + return ext == ".elf" || + ext == ".dol"; + } + return false; +} -- cgit v1.2.3 From 0390bd61dfccefc65c1276bc991470738bc8064c Mon Sep 17 00:00:00 2001 From: Anthony Serna Date: Sat, 29 Aug 2015 20:41:59 -0700 Subject: Fixed introduced compiler warning in Linux --- Source/Core/DolphinWX/ISOFile.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Source/Core/DolphinWX/ISOFile.cpp') diff --git a/Source/Core/DolphinWX/ISOFile.cpp b/Source/Core/DolphinWX/ISOFile.cpp index 4be36d6fd7..19246a0f0c 100644 --- a/Source/Core/DolphinWX/ISOFile.cpp +++ b/Source/Core/DolphinWX/ISOFile.cpp @@ -65,8 +65,8 @@ GameListItem::GameListItem(const std::string& _rFileName) : m_FileName(_rFileName) , m_emu_state(0) , m_FileSize(0) - , m_Revision(0) , m_Country(DiscIO::IVolume::COUNTRY_UNKNOWN) + , m_Revision(0) , m_Valid(false) , m_BlobCompressed(false) , m_ImageWidth(0) -- cgit v1.2.3 From 41315b19f113b359ead37e7d6403caf08fb1e5d3 Mon Sep 17 00:00:00 2001 From: JosJuice Date: Fri, 4 Sep 2015 19:08:30 +0200 Subject: DolphinWX: Support banners in Homebrew Channel format HBC uses files named icon.png for icons. This change makes Dolphin support that file name, and also [executable file name].png in case someone wants to have multiple files in one folder. The HBC banner support is mainly intended for DOL and ELF files, but it can also be used to override banners of disc images, something that wasn't possible in the past. There are currently issues with banner scaling not preserving the aspect ratio and looking bad in general. --- Source/Core/DolphinWX/ISOFile.cpp | 67 ++++++++++++++++++++++++++++----------- 1 file changed, 49 insertions(+), 18 deletions(-) (limited to 'Source/Core/DolphinWX/ISOFile.cpp') diff --git a/Source/Core/DolphinWX/ISOFile.cpp b/Source/Core/DolphinWX/ISOFile.cpp index 19246a0f0c..5aeca6d1c1 100644 --- a/Source/Core/DolphinWX/ISOFile.cpp +++ b/Source/Core/DolphinWX/ISOFile.cpp @@ -85,7 +85,7 @@ GameListItem::GameListItem(const std::string& _rFileName) std::unique_ptr volume(DiscIO::CreateVolumeFromFilename(_rFileName)); if (volume != nullptr) { - ReadBanner(*volume); + ReadVolumeBanner(*volume); if (!m_pImage.empty()) SaveToCache(); } @@ -112,7 +112,7 @@ GameListItem::GameListItem(const std::string& _rFileName) m_disc_number = pVolume->GetDiscNumber(); m_Revision = pVolume->GetRevision(); - ReadBanner(*pVolume); + ReadVolumeBanner(*pVolume); delete pVolume; @@ -138,24 +138,28 @@ GameListItem::GameListItem(const std::string& _rFileName) m_Platform = DiscIO::IVolume::ELF_DOL; } + std::string path, name; + SplitPath(m_FileName, &path, &name, nullptr); + + // A bit like the Homebrew Channel icon, except there can be multiple files in a folder with their own icons. + // Useful for those who don't want to have a Homebrew Channel-style folder structure. + if (ReadPNGBanner(path + name + ".png")) + return; + + // Homebrew Channel icon. Typical for DOLs and ELFs, but can be also used with volumes. + if (ReadPNGBanner(path + "icon.png")) + return; + + // Volume banner. Typical for everything that isn't a DOL or ELF. if (!m_pImage.empty()) { - wxImage Image(m_ImageWidth, m_ImageHeight, &m_pImage[0], true); - double Scale = wxTheApp->GetTopWindow()->GetContentScaleFactor(); - // Note: This uses nearest neighbor, which subjectively looks a lot - // better for GC banners than smooth scaling. - Image.Rescale(DVD_BANNER_WIDTH * Scale, DVD_BANNER_HEIGHT * Scale); -#ifdef __APPLE__ - m_Bitmap = wxBitmap(Image, -1, Scale); -#else - m_Bitmap = wxBitmap(Image, -1); -#endif - } - else - { - // default banner - m_Bitmap.LoadFile(StrToWxStr(File::GetThemeDir(SConfig::GetInstance().theme_name)) + "nobanner.png", wxBITMAP_TYPE_PNG); + wxImage image(m_ImageWidth, m_ImageHeight, &m_pImage[0], true); + m_Bitmap = ScaleBanner(&image); + return; } + + // Fallback in case no banner is available. + ReadPNGBanner(File::GetThemeDir(SConfig::GetInstance().theme_name) + "nobanner.png"); } GameListItem::~GameListItem() @@ -211,7 +215,8 @@ std::string GameListItem::CreateCacheFilename() return fullname; } -void GameListItem::ReadBanner(const DiscIO::IVolume& volume) +// Outputs to m_pImage +void GameListItem::ReadVolumeBanner(const DiscIO::IVolume& volume) { std::vector Buffer = volume.GetBanner(&m_ImageWidth, &m_ImageHeight); u32* pData = Buffer.data(); @@ -225,6 +230,32 @@ void GameListItem::ReadBanner(const DiscIO::IVolume& volume) } } +// Outputs to m_Bitmap +bool GameListItem::ReadPNGBanner(const std::string& path) +{ + if (!File::Exists(path)) + return false; + + wxImage image; + image.LoadFile(StrToWxStr(path), wxBITMAP_TYPE_PNG); + m_Bitmap = ScaleBanner(&image); + return true; +} + +wxBitmap GameListItem::ScaleBanner(wxImage* image) +{ + double scale = wxTheApp->GetTopWindow()->GetContentScaleFactor(); + // Note: This uses nearest neighbor, which subjectively looks a lot + // better for GC banners than smooth scaling. + // TODO: Make scaling less bad for Homebrew Channel banners. + image->Rescale(DVD_BANNER_WIDTH * scale, DVD_BANNER_HEIGHT * scale); +#ifdef __APPLE__ + return wxBitmap(*image, -1, scale); +#else + return wxBitmap(*image, -1); +#endif +} + std::string GameListItem::GetDescription(DiscIO::IVolume::ELanguage language) const { return GetLanguageString(language, m_descriptions); -- cgit v1.2.3 From 8fdb013d540cf5d79a23888053fda2897f997e61 Mon Sep 17 00:00:00 2001 From: Lioncash Date: Fri, 4 Sep 2015 19:44:39 -0400 Subject: General: Toss out PRI macro usage Now that VS supports more printf specifiers, these aren't necessary --- Source/Core/DolphinWX/ISOFile.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Source/Core/DolphinWX/ISOFile.cpp') diff --git a/Source/Core/DolphinWX/ISOFile.cpp b/Source/Core/DolphinWX/ISOFile.cpp index 19246a0f0c..b98102981c 100644 --- a/Source/Core/DolphinWX/ISOFile.cpp +++ b/Source/Core/DolphinWX/ISOFile.cpp @@ -202,7 +202,7 @@ std::string GameListItem::CreateCacheFilename() // Filename.extension_HashOfFolderPath_Size.cache // Append hash to prevent ISO name-clashing in different folders. - Filename.append(StringFromFormat("%s_%x_%" PRIx64 ".cache", + Filename.append(StringFromFormat("%s_%x_%llx.cache", extension.c_str(), HashFletcher((const u8 *)LegalPathname.c_str(), LegalPathname.size()), File::GetSize(m_FileName))); -- cgit v1.2.3 From cb3b1b6f445276b8f0a0ccbfafbff04b30b719f7 Mon Sep 17 00:00:00 2001 From: JosJuice Date: Sun, 6 Sep 2015 12:34:48 +0200 Subject: DolphinWX: Don't use IsElfOrDol outside of ISOFile It's redundant because GetPlatform can do the same thing. --- Source/Core/DolphinWX/ISOFile.cpp | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) (limited to 'Source/Core/DolphinWX/ISOFile.cpp') diff --git a/Source/Core/DolphinWX/ISOFile.cpp b/Source/Core/DolphinWX/ISOFile.cpp index 19246a0f0c..461a3e1341 100644 --- a/Source/Core/DolphinWX/ISOFile.cpp +++ b/Source/Core/DolphinWX/ISOFile.cpp @@ -2,6 +2,7 @@ // Licensed under GPLv2+ // Refer to the license.txt file included. +#include #include #include #include @@ -193,7 +194,22 @@ void GameListItem::DoState(PointerWrap &p) p.Do(m_Revision); } -std::string GameListItem::CreateCacheFilename() +bool GameListItem::IsElfOrDol() const +{ + const std::string name = GetName(); + const size_t pos = name.rfind('.'); + + if (pos != std::string::npos) + { + std::string ext = name.substr(pos); + std::transform(ext.begin(), ext.end(), ext.begin(), ::tolower); + + return ext == ".elf" || ext == ".dol"; + } + return false; +} + +std::string GameListItem::CreateCacheFilename() const { std::string Filename, LegalPathname, extension; SplitPath(m_FileName, &LegalPathname, &Filename, &extension); @@ -294,19 +310,3 @@ const std::string GameListItem::GetWiiFSPath() const return ret; } - -bool GameListItem::IsElfOrDol() const -{ - const std::string name = GetName(); - const size_t pos = name.rfind('.'); - - if (pos != std::string::npos) - { - std::string ext = name.substr(pos); - std::transform(ext.begin(), ext.end(), ext.begin(), ::tolower); - - return ext == ".elf" || - ext == ".dol"; - } - return false; -} -- cgit v1.2.3 From 19459e827f6c15f9429598015019ecb66f2e6cad Mon Sep 17 00:00:00 2001 From: Lioncash Date: Tue, 8 Sep 2015 01:44:37 -0400 Subject: Partially revert "General: Toss out PRI macro usage" --- Source/Core/DolphinWX/ISOFile.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Source/Core/DolphinWX/ISOFile.cpp') diff --git a/Source/Core/DolphinWX/ISOFile.cpp b/Source/Core/DolphinWX/ISOFile.cpp index 6e2a07ecaf..5aeca6d1c1 100644 --- a/Source/Core/DolphinWX/ISOFile.cpp +++ b/Source/Core/DolphinWX/ISOFile.cpp @@ -206,7 +206,7 @@ std::string GameListItem::CreateCacheFilename() // Filename.extension_HashOfFolderPath_Size.cache // Append hash to prevent ISO name-clashing in different folders. - Filename.append(StringFromFormat("%s_%x_%llx.cache", + Filename.append(StringFromFormat("%s_%x_%" PRIx64 ".cache", extension.c_str(), HashFletcher((const u8 *)LegalPathname.c_str(), LegalPathname.size()), File::GetSize(m_FileName))); -- cgit v1.2.3 From 10aafff5b94864c150f4f4f45d4e106afc795342 Mon Sep 17 00:00:00 2001 From: JosJuice Date: Sun, 13 Sep 2015 12:45:06 +0200 Subject: DolphinWX: Fix sorting games by custom titles The custom title reading code is moved so that custom titles are returned by GameListItem::GetName(). The comparison code is changed to use GetName() instead of GetName(DiscIO::IVolume::ELanguage). GetName(DiscIO::IVolume::ELanguage) must not return custom titles, because netplay relies on it returning the same name for all players. --- Source/Core/DolphinWX/ISOFile.cpp | 62 +++++++++++++++++++++++++++++++-------- 1 file changed, 50 insertions(+), 12 deletions(-) (limited to 'Source/Core/DolphinWX/ISOFile.cpp') diff --git a/Source/Core/DolphinWX/ISOFile.cpp b/Source/Core/DolphinWX/ISOFile.cpp index 026dda93d8..00f707529b 100644 --- a/Source/Core/DolphinWX/ISOFile.cpp +++ b/Source/Core/DolphinWX/ISOFile.cpp @@ -73,6 +73,7 @@ GameListItem::GameListItem(const std::string& _rFileName) , m_ImageWidth(0) , m_ImageHeight(0) , m_disc_number(0) + , m_has_custom_name(false) { if (LoadFromCache()) { @@ -130,6 +131,44 @@ GameListItem::GameListItem(const std::string& _rFileName) IniFile ini = SConfig::LoadGameIni(m_UniqueID, m_Revision); ini.GetIfExists("EmuState", "EmulationStateId", &m_emu_state); ini.GetIfExists("EmuState", "EmulationIssues", &m_issues); + m_has_custom_name = ini.GetIfExists("EmuState", "Title", &m_custom_name); + + if (!m_has_custom_name) + { + // Attempt to load game titles from titles.txt + // http://www.gametdb.com/Wii/Downloads + std::ifstream titlestxt; + OpenFStream(titlestxt, File::GetUserPath(D_LOAD_IDX) + "titles.txt", std::ios::in); + + if (!titlestxt.is_open()) + OpenFStream(titlestxt, File::GetUserPath(D_LOAD_IDX) + "wiitdb.txt", std::ios::in); + + if (titlestxt.is_open() && GetUniqueID().size() >= 4) + { + while (!titlestxt.eof()) + { + std::string line; + + if (!std::getline(titlestxt, line) && titlestxt.eof()) + break; + + const size_t equals_index = line.find('='); + std::string game_id = m_UniqueID; + + // Ignore publisher ID for WAD files + if (m_Platform == DiscIO::IVolume::WII_WAD) + game_id.erase(game_id.size() - 2); + + if (line.substr(0, equals_index - 1) == game_id) + { + m_custom_name = StripSpaces(line.substr(equals_index + 1)); + m_has_custom_name = true; + break; + } + } + titlestxt.close(); + } + } } if (!IsValid() && IsElfOrDol()) @@ -200,12 +239,10 @@ void GameListItem::DoState(PointerWrap &p) bool GameListItem::IsElfOrDol() const { - const std::string name = GetName(); - const size_t pos = name.rfind('.'); - + const size_t pos = m_FileName.rfind('.'); if (pos != std::string::npos) { - std::string ext = name.substr(pos); + std::string ext = m_FileName.substr(pos); std::transform(ext.begin(), ext.end(), ext.begin(), ::tolower); return ext == ".elf" || ext == ".dol"; @@ -290,17 +327,18 @@ std::string GameListItem::GetName(DiscIO::IVolume::ELanguage language) const std::string GameListItem::GetName() const { + if (m_has_custom_name) + return m_custom_name; + bool wii = m_Platform != DiscIO::IVolume::GAMECUBE_DISC; std::string name = GetName(SConfig::GetInstance().GetCurrentLanguage(wii)); - if (name.empty()) - { - std::string ext; + if (!name.empty()) + return name; - // No usable name, return filename (better than nothing) - SplitPath(GetFileName(), nullptr, &name, &ext); - return name + ext; - } - return name; + // No usable name, return filename (better than nothing) + std::string ext; + SplitPath(GetFileName(), nullptr, &name, &ext); + return name + ext; } std::vector GameListItem::GetLanguages() const -- cgit v1.2.3 From 210aa774d554bb9818d79030bbc26b8eb2c500b2 Mon Sep 17 00:00:00 2001 From: JosJuice Date: Sun, 13 Sep 2015 14:17:58 +0200 Subject: DolphinWX: Only read titles.txt once titles.txt is read into a map and passed to the GameListItem constructor, making game list scanning a bit more efficient. ISOPropreties's constructor is changed to take a GameListItem as an argument instead of creating one on its own, because ISOPropreties doesn't have the titles.txt map that the GameListItem constructor wants. --- Source/Core/DolphinWX/ISOFile.cpp | 41 +++++++++++---------------------------- 1 file changed, 11 insertions(+), 30 deletions(-) (limited to 'Source/Core/DolphinWX/ISOFile.cpp') diff --git a/Source/Core/DolphinWX/ISOFile.cpp b/Source/Core/DolphinWX/ISOFile.cpp index 00f707529b..28051d0fb0 100644 --- a/Source/Core/DolphinWX/ISOFile.cpp +++ b/Source/Core/DolphinWX/ISOFile.cpp @@ -8,6 +8,7 @@ #include #include #include +#include #include #include #include @@ -62,7 +63,7 @@ static std::string GetLanguageString(DiscIO::IVolume::ELanguage language, std::m return ""; } -GameListItem::GameListItem(const std::string& _rFileName) +GameListItem::GameListItem(const std::string& _rFileName, const std::unordered_map& custom_titles) : m_FileName(_rFileName) , m_emu_state(0) , m_FileSize(0) @@ -135,38 +136,18 @@ GameListItem::GameListItem(const std::string& _rFileName) if (!m_has_custom_name) { - // Attempt to load game titles from titles.txt - // http://www.gametdb.com/Wii/Downloads - std::ifstream titlestxt; - OpenFStream(titlestxt, File::GetUserPath(D_LOAD_IDX) + "titles.txt", std::ios::in); + std::string game_id = m_UniqueID; - if (!titlestxt.is_open()) - OpenFStream(titlestxt, File::GetUserPath(D_LOAD_IDX) + "wiitdb.txt", std::ios::in); + // Ignore publisher ID for WAD files + if (m_Platform == DiscIO::IVolume::WII_WAD) + game_id.erase(game_id.size() - 2); - if (titlestxt.is_open() && GetUniqueID().size() >= 4) + auto end = custom_titles.end(); + auto it = custom_titles.find(game_id); + if (it != end) { - while (!titlestxt.eof()) - { - std::string line; - - if (!std::getline(titlestxt, line) && titlestxt.eof()) - break; - - const size_t equals_index = line.find('='); - std::string game_id = m_UniqueID; - - // Ignore publisher ID for WAD files - if (m_Platform == DiscIO::IVolume::WII_WAD) - game_id.erase(game_id.size() - 2); - - if (line.substr(0, equals_index - 1) == game_id) - { - m_custom_name = StripSpaces(line.substr(equals_index + 1)); - m_has_custom_name = true; - break; - } - } - titlestxt.close(); + m_custom_name = it->second; + m_has_custom_name = true; } } } -- cgit v1.2.3 From e2e7fc9029eeb4cb0c6393b1234072627b11aff9 Mon Sep 17 00:00:00 2001 From: JosJuice Date: Sat, 19 Sep 2015 09:23:52 +0200 Subject: Fix 4.0-7767 regression: exception when handling short WAD IDs --- Source/Core/DolphinWX/ISOFile.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'Source/Core/DolphinWX/ISOFile.cpp') diff --git a/Source/Core/DolphinWX/ISOFile.cpp b/Source/Core/DolphinWX/ISOFile.cpp index 28051d0fb0..82cd73fba5 100644 --- a/Source/Core/DolphinWX/ISOFile.cpp +++ b/Source/Core/DolphinWX/ISOFile.cpp @@ -139,8 +139,8 @@ GameListItem::GameListItem(const std::string& _rFileName, const std::unordered_m std::string game_id = m_UniqueID; // Ignore publisher ID for WAD files - if (m_Platform == DiscIO::IVolume::WII_WAD) - game_id.erase(game_id.size() - 2); + if (m_Platform == DiscIO::IVolume::WII_WAD && game_id.size() > 4) + game_id.erase(4); auto end = custom_titles.end(); auto it = custom_titles.find(game_id); -- cgit v1.2.3 From 4b9b82e00016cbb8aa3c8a45bd32aea460f28c07 Mon Sep 17 00:00:00 2001 From: Lioncash Date: Tue, 22 Sep 2015 13:25:54 -0400 Subject: DiscIO: Do swapping in GetTitleID implementations Gets rid of external swaps at every usage. --- Source/Core/DolphinWX/ISOFile.cpp | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) (limited to 'Source/Core/DolphinWX/ISOFile.cpp') diff --git a/Source/Core/DolphinWX/ISOFile.cpp b/Source/Core/DolphinWX/ISOFile.cpp index 82cd73fba5..f7841742cc 100644 --- a/Source/Core/DolphinWX/ISOFile.cpp +++ b/Source/Core/DolphinWX/ISOFile.cpp @@ -340,13 +340,11 @@ const std::string GameListItem::GetWiiFSPath() const if (iso->GetVolumeType() != DiscIO::IVolume::GAMECUBE_DISC) { - u64 title = 0; - - iso->GetTitleID((u8*)&title); - title = Common::swap64(title); + u64 title_id = 0; + iso->GetTitleID(&title_id); const std::string path = StringFromFormat("%s/title/%08x/%08x/data/", - File::GetUserPath(D_WIIROOT_IDX).c_str(), (u32)(title>>32), (u32)title); + File::GetUserPath(D_WIIROOT_IDX).c_str(), (u32)(title_id >> 32), (u32)title_id); if (!File::Exists(path)) File::CreateFullPath(path); -- cgit v1.2.3 From 94ee720a0745939874ff4a663fe071c847369c67 Mon Sep 17 00:00:00 2001 From: JosJuice Date: Sat, 26 Sep 2015 14:46:53 +0200 Subject: Rename IsCompressedBlob to IsGCZBlob for clarity GCZ is just one of the several compressed formats that Dolphin supports. --- Source/Core/DolphinWX/ISOFile.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Source/Core/DolphinWX/ISOFile.cpp') diff --git a/Source/Core/DolphinWX/ISOFile.cpp b/Source/Core/DolphinWX/ISOFile.cpp index f7841742cc..1a7c939fb8 100644 --- a/Source/Core/DolphinWX/ISOFile.cpp +++ b/Source/Core/DolphinWX/ISOFile.cpp @@ -111,7 +111,7 @@ GameListItem::GameListItem(const std::string& _rFileName, const std::unordered_m m_VolumeSize = pVolume->GetSize(); m_UniqueID = pVolume->GetUniqueID(); - m_BlobCompressed = DiscIO::IsCompressedBlob(_rFileName); + m_BlobCompressed = DiscIO::IsGCZBlob(_rFileName); m_disc_number = pVolume->GetDiscNumber(); m_Revision = pVolume->GetRevision(); -- cgit v1.2.3 From 6935d281128ea78169ecde44e869f83a7b67ddb8 Mon Sep 17 00:00:00 2001 From: JosJuice Date: Sat, 26 Sep 2015 15:24:29 +0200 Subject: Display all compressed formats in blue in GUI In the past, only GCZ was shown as compressed, not CISO and WBFS. --- Source/Core/DolphinWX/ISOFile.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Source/Core/DolphinWX/ISOFile.cpp') diff --git a/Source/Core/DolphinWX/ISOFile.cpp b/Source/Core/DolphinWX/ISOFile.cpp index 1a7c939fb8..2f5b89681f 100644 --- a/Source/Core/DolphinWX/ISOFile.cpp +++ b/Source/Core/DolphinWX/ISOFile.cpp @@ -111,7 +111,7 @@ GameListItem::GameListItem(const std::string& _rFileName, const std::unordered_m m_VolumeSize = pVolume->GetSize(); m_UniqueID = pVolume->GetUniqueID(); - m_BlobCompressed = DiscIO::IsGCZBlob(_rFileName); + m_BlobCompressed = pVolume->IsCompressed(); m_disc_number = pVolume->GetDiscNumber(); m_Revision = pVolume->GetRevision(); -- cgit v1.2.3