summaryrefslogtreecommitdiff
path: root/Source/Core/DiscIO/Enums.cpp
diff options
context:
space:
mode:
authorJosJuice <josjuice@gmail.com>2018-10-08 13:48:36 +0200
committerJosJuice <josjuice@gmail.com>2018-10-12 12:32:22 +0200
commit7fd1784b9af49ecfbe98f6f0b589e1f462ca8520 (patch)
tree738fc954639f5fa529d97adc0c7f4278b16ff727 /Source/Core/DiscIO/Enums.cpp
parent7607dc3573923b284f719aef54863b7e163c3052 (diff)
DiscIO: Add more RegionSwitch/CountrySwitch comments
Diffstat (limited to 'Source/Core/DiscIO/Enums.cpp')
-rw-r--r--Source/Core/DiscIO/Enums.cpp31
1 files changed, 22 insertions, 9 deletions
diff --git a/Source/Core/DiscIO/Enums.cpp b/Source/Core/DiscIO/Enums.cpp
index 500bfc3f3c..167b5eb145 100644
--- a/Source/Core/DiscIO/Enums.cpp
+++ b/Source/Core/DiscIO/Enums.cpp
@@ -153,10 +153,16 @@ Region RegionSwitch(u8 country_code, Platform platform, Region expected_region)
return Region::NTSC_J;
case 'W':
- return expected_region == Region::PAL ? Region::PAL : Region::NTSC_J;
+ if (expected_region == Region::PAL)
+ return Region::PAL; // Only the Nordic version of Ratatouille (Wii)
+ else
+ return Region::NTSC_J; // Korean GC games in English or Taiwanese Wii games
case 'E':
- return expected_region == Region::NTSC_J ? Region::NTSC_J : Region::NTSC_U;
+ if (expected_region == Region::NTSC_J)
+ return Region::NTSC_J; // Korean GC games in English
+ else
+ return Region::NTSC_U; // The most common country code for NTSC-U
case 'B':
case 'N':
@@ -165,6 +171,7 @@ Region RegionSwitch(u8 country_code, Platform platform, Region expected_region)
case 'X':
case 'Y':
case 'Z':
+ // Additional language versions, store-exclusive versions, other special versions
return expected_region == Region::NTSC_U ? Region::NTSC_U : Region::PAL;
case 'D':
@@ -183,6 +190,7 @@ Region RegionSwitch(u8 country_code, Platform platform, Region expected_region)
case 'K':
case 'Q':
case 'T':
+ // All of these country codes are Korean, but the NTSC-K region doesn't exist on GC
return platform == Platform::GameCubeDisc ? Region::NTSC_J : Region::NTSC_K;
default:
@@ -202,13 +210,16 @@ Country CountrySwitch(u8 country_code, Platform platform, Region region)
case 'X':
case 'Y':
case 'Z':
+ // Additional language versions, store-exclusive versions, other special versions
return region == Region::NTSC_U ? Country::USA : Country::Europe;
case 'W':
if (region == Region::PAL)
- return Country::Europe;
+ return Country::Europe; // Only the Nordic version of Ratatouille (Wii)
+ else if (platform == Platform::GameCubeDisc)
+ return Country::Korea; // GC games in English released in Korea
else
- return platform == Platform::GameCubeDisc ? Country::Korea : Country::Taiwan;
+ return Country::Taiwan; // Wii games in traditional Chinese released in Taiwan
// PAL
case 'D':
@@ -216,8 +227,8 @@ Country CountrySwitch(u8 country_code, Platform platform, Region region)
case 'L': // NTSC-J games released on PAL VC
case 'M': // NTSC-U games released on PAL VC
- case 'V':
- case 'P':
+ case 'V': // Used by some Nordic Wii releases
+ case 'P': // The most common country code for PAL
return Country::Europe;
case 'U':
@@ -240,7 +251,10 @@ Country CountrySwitch(u8 country_code, Platform platform, Region region)
// NTSC
case 'E':
- return region == Region::NTSC_J ? Country::Korea : Country::USA;
+ if (region == Region::NTSC_J)
+ return Country::Korea; // GC games in English released in Korea
+ else
+ return Country::USA; // The most common country code for NTSC-U
case 'B': // PAL games released on NTSC-U VC
case 'N': // NTSC-J games released on NTSC-U VC
@@ -249,10 +263,9 @@ Country CountrySwitch(u8 country_code, Platform platform, Region region)
case 'J':
return Country::Japan;
- case 'K':
+ case 'K': // Games in Korean released in Korea
case 'Q': // NTSC-J games released on NTSC-K VC
case 'T': // NTSC-U games released on NTSC-K VC
- return Country::Korea;
default:
if (country_code > 'A') // Silently ignore IOS wads