DiscIO: Don't return GameTDB ID for any Datel disc

DTLX01 can be either a Freeloader or Action Replay, so it's
inappropriate to always use the same title and cover for it.
This commit is contained in:
JosJuice 2022-03-15 18:56:49 +01:00
parent bf261f6144
commit 479489c999
1 changed files with 14 additions and 3 deletions

View File

@ -61,10 +61,21 @@ const FileSystem* VolumeGC::GetFileSystem(const Partition& partition) const
std::string VolumeGC::GetGameTDBID(const Partition& partition) const
{
const std::string game_id = GetGameID(partition);
// Datel discs for the GameCube can have one of two different game IDs:
//
// 1: GNHE5d. (Yes, with a lowercase d.) This game ID is used not only for
// all kinds of Datel discs, but also for the licensed release NHL Hitz 2002.
//
// 2: DTLX01. This game ID is used for a few late Datel releases. Both Action Replay
// and FreeLoader are known to have been released under this game ID.
//
// Since no game ID used for Datel discs uniquely represents one product,
// never use the game ID of a Datel disc for looking up the title or cover art.
if (IsDatelDisc())
return "";
// Don't return an ID for Datel discs that are using the game ID of NHL Hitz 2002
return game_id == "GNHE5d" && IsDatelDisc() ? "" : game_id;
// Normal case. Just return the usual game ID.
return GetGameID(partition);
}
Region VolumeGC::GetRegion() const