diff options
| author | LC <mathew1800@gmail.com> | 2020-07-19 17:35:34 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-07-19 17:35:34 -0400 |
| commit | ae2348023ba0e554f209c8a5aab35f853b41b802 (patch) | |
| tree | 4c6bab5d54151fdf60b3db25581b3abc0edd962b /Source/Core/UICommon/GameFile.cpp | |
| parent | d48056c1cda5759ffed0918e0ccc50157b5f2908 (diff) | |
| parent | fe5e92f706be7e52b84d9a1d94781612e5146f59 (diff) | |
Merge pull request #8964 from JosJuice/list-wad-file-type
DolphinQt: Show WAD as "WAD" instead of "" in file format column
Diffstat (limited to 'Source/Core/UICommon/GameFile.cpp')
| -rw-r--r-- | Source/Core/UICommon/GameFile.cpp | 34 |
1 files changed, 28 insertions, 6 deletions
diff --git a/Source/Core/UICommon/GameFile.cpp b/Source/Core/UICommon/GameFile.cpp index 25892bca67..b28d54e944 100644 --- a/Source/Core/UICommon/GameFile.cpp +++ b/Source/Core/UICommon/GameFile.cpp @@ -336,14 +336,17 @@ void GameFile::DoState(PointerWrap& p) m_custom_cover.DoState(p); } -bool GameFile::IsElfOrDol() const +std::string GameFile::GetExtension() const { - if (m_file_path.size() < 4) - return false; + std::string extension; + SplitPath(m_file_path, nullptr, nullptr, &extension); + return extension; +} - std::string name_end = m_file_path.substr(m_file_path.size() - 4); - std::transform(name_end.begin(), name_end.end(), name_end.begin(), ::tolower); - return name_end == ".elf" || name_end == ".dol"; +bool GameFile::IsElfOrDol() const +{ + const std::string extension = GetExtension(); + return extension == ".elf" || extension == ".dol"; } bool GameFile::ReadXMLMetadata(const std::string& path) @@ -592,6 +595,25 @@ bool GameFile::ShouldShowFileFormatDetails() const } } +std::string GameFile::GetFileFormatName() const +{ + switch (m_platform) + { + case DiscIO::Platform::WiiWAD: + return "WAD"; + case DiscIO::Platform::ELFOrDOL: + { + std::string extension = GetExtension(); + std::transform(extension.begin(), extension.end(), extension.begin(), ::toupper); + + // substr removes the dot + return extension.substr(std::min<size_t>(1, extension.size())); + } + default: + return DiscIO::GetName(m_blob_type, true); + } +} + const GameBanner& GameFile::GetBannerImage() const { return m_custom_banner.empty() ? m_volume_banner : m_custom_banner; |
