From 6916a3d85b004c043874d8c671eedfa6a8382ba1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Lam?= Date: Sun, 14 May 2017 00:00:01 +0200 Subject: Hide non-channel WADs These cannot be booted, so it is bad UX to show them in the UI as if they were regular titles, and yet have different behaviour for them. And technically, there is no reason to allow them to be used to boot in the first place. Another reason they should not be shown is that Dolphin fails spectacularly with WADs that have a valid boot content index, but are not PPC titles (e.g. IOS WADs). The only reliable way to avoid this is to check for the title type and only show channels, just like the Wii System Menu. --- Source/Core/DolphinWX/ISOFile.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'Source/Core/DolphinWX/ISOFile.cpp') diff --git a/Source/Core/DolphinWX/ISOFile.cpp b/Source/Core/DolphinWX/ISOFile.cpp index 46e076d734..e45f8b3fbf 100644 --- a/Source/Core/DolphinWX/ISOFile.cpp +++ b/Source/Core/DolphinWX/ISOFile.cpp @@ -28,6 +28,7 @@ #include "Core/Boot/Boot.h" #include "Core/ConfigManager.h" +#include "Core/IOS/ES/Formats.h" #include "DiscIO/Blob.h" #include "DiscIO/Enums.h" @@ -177,6 +178,17 @@ GameListItem::~GameListItem() { } +bool GameListItem::IsValid() const +{ + if (!m_Valid) + return false; + + if (m_Platform == DiscIO::Platform::WII_WAD && !IOS::ES::IsChannel(m_title_id)) + return false; + + return true; +} + void GameListItem::ReloadINI() { if (!IsValid()) -- cgit v1.2.3