diff options
| author | GaryOderNichts <12049776+GaryOderNichts@users.noreply.github.com> | 2022-10-21 23:22:49 +0200 |
|---|---|---|
| committer | GaryOderNichts <12049776+GaryOderNichts@users.noreply.github.com> | 2022-10-22 13:36:55 +0200 |
| commit | 88c57a00a351148c7c66787dc3af1c2e5e641305 (patch) | |
| tree | 8ad36558cb020734631d9f5d33028390b957e8d4 /Source/Core/DiscIO | |
| parent | 82d20ce352f51d05fbdc998cc1abd4514d5623cc (diff) | |
Show vWii System Menu version in Menu Bar
Diffstat (limited to 'Source/Core/DiscIO')
| -rw-r--r-- | Source/Core/DiscIO/Enums.cpp | 114 | ||||
| -rw-r--r-- | Source/Core/DiscIO/Enums.h | 2 |
2 files changed, 69 insertions, 47 deletions
diff --git a/Source/Core/DiscIO/Enums.cpp b/Source/Core/DiscIO/Enums.cpp index 0594e3161a..393f30076f 100644 --- a/Source/Core/DiscIO/Enums.cpp +++ b/Source/Core/DiscIO/Enums.cpp @@ -362,7 +362,7 @@ Region GetSysMenuRegion(u16 title_version) } } -std::string GetSysMenuVersionString(u16 title_version) +std::string GetSysMenuVersionString(u16 title_version, bool is_vwii) { std::string version; char region_letter = '\0'; @@ -386,52 +386,74 @@ std::string GetSysMenuVersionString(u16 title_version) break; } - switch (title_version & 0xff0) + if (is_vwii) { - case 32: - version = "1.0"; - break; - case 96: - case 128: - version = "2.0"; - break; - case 160: - version = "2.1"; - break; - case 192: - version = "2.2"; - break; - case 224: - version = "3.0"; - break; - case 256: - version = "3.1"; - break; - case 288: - version = "3.2"; - break; - case 320: - case 352: - version = "3.3"; - break; - case 384: - version = (region_letter != 'K' ? "3.4" : "3.5"); - break; - case 416: - version = "4.0"; - break; - case 448: - version = "4.1"; - break; - case 480: - version = "4.2"; - break; - case 512: - version = "4.3"; - break; - default: - version = "?.?"; - break; + // For vWii return the Wii U version which installed the menu + switch (title_version & 0xff0) + { + case 512: + version = "1.0.0"; + break; + case 544: + version = "4.0.0"; + break; + case 608: + version = "5.2.0"; + break; + default: + version = "?.?.?"; + break; + } + } + else + { + switch (title_version & 0xff0) + { + case 32: + version = "1.0"; + break; + case 96: + case 128: + version = "2.0"; + break; + case 160: + version = "2.1"; + break; + case 192: + version = "2.2"; + break; + case 224: + version = "3.0"; + break; + case 256: + version = "3.1"; + break; + case 288: + version = "3.2"; + break; + case 320: + case 352: + version = "3.3"; + break; + case 384: + version = (region_letter != 'K' ? "3.4" : "3.5"); + break; + case 416: + version = "4.0"; + break; + case 448: + version = "4.1"; + break; + case 480: + version = "4.2"; + break; + case 512: + version = "4.3"; + break; + default: + version = "?.?"; + break; + } } if (region_letter != '\0') diff --git a/Source/Core/DiscIO/Enums.h b/Source/Core/DiscIO/Enums.h index 087234b59d..ebbef8cd42 100644 --- a/Source/Core/DiscIO/Enums.h +++ b/Source/Core/DiscIO/Enums.h @@ -88,7 +88,7 @@ Country CountryCodeToCountry(u8 country_code, Platform platform, Region region = std::optional<u16> revision = {}); Region GetSysMenuRegion(u16 title_version); -std::string GetSysMenuVersionString(u16 title_version); +std::string GetSysMenuVersionString(u16 title_version, bool is_vwii); const std::string& GetCompanyFromID(const std::string& company_id); } // namespace DiscIO |
