summaryrefslogtreecommitdiff
path: root/Source/Core/DolphinWX/FrameTools.cpp
diff options
context:
space:
mode:
authorJosJuice <josjuice@gmail.com>2017-12-31 20:33:36 +0100
committerJosJuice <josjuice@gmail.com>2018-03-09 13:08:38 +0100
commit1f1dae367d8aeb525df5558ce648d6f287983008 (patch)
tree7933d673aad8869eef5fb3e74e1260274323e673 /Source/Core/DolphinWX/FrameTools.cpp
parent1add238a284ab4baf5d5550d5f1af525226172c7 (diff)
Unify ISOFile (wx) with GameFile (Qt) and put it in UICommon
The original reason I wanted to do this was so that we can replace the Android-specific code with this in the future, but of course, just deduplicating between DolphinWX and DolphinQt2 is nice too. Fixes: - DolphinQt2 showing the wrong size for split WBFS disc images. - DolphinQt2 being case sensitive when checking if a file is a DOL/ELF. - DolphinQt2 not detecting when a Wii banner has become available after the game list cache was created. Removes: - DolphinWX's ability to load PNGs as custom banners. But it was already rather broken (see https://bugs.dolphin-emu.org/issues/10365 and https://bugs.dolphin-emu.org/issues/10366). The reason I removed this was because PNG decoding relied on wx code and we don't have any good non-wx/Qt code for loading PNG files right now (let's not use SOIL), but we should be able to use libpng directly to implement PNG loading in the future. - DolphinQt2's ability to ignore a cached game if the last modified time differs. We currently don't have a non-wx/Qt way to get the time.
Diffstat (limited to 'Source/Core/DolphinWX/FrameTools.cpp')
-rw-r--r--Source/Core/DolphinWX/FrameTools.cpp19
1 files changed, 9 insertions, 10 deletions
diff --git a/Source/Core/DolphinWX/FrameTools.cpp b/Source/Core/DolphinWX/FrameTools.cpp
index ded328f7bc..a61b98f9c2 100644
--- a/Source/Core/DolphinWX/FrameTools.cpp
+++ b/Source/Core/DolphinWX/FrameTools.cpp
@@ -77,7 +77,6 @@
#include "DolphinWX/Frame.h"
#include "DolphinWX/GameListCtrl.h"
#include "DolphinWX/Globals.h"
-#include "DolphinWX/ISOFile.h"
#include "DolphinWX/Input/HotkeyInputConfigDiag.h"
#include "DolphinWX/Input/InputConfigDiag.h"
#include "DolphinWX/LogWindow.h"
@@ -92,6 +91,7 @@
#include "InputCommon/ControllerInterface/ControllerInterface.h"
+#include "UICommon/GameFile.h"
#include "UICommon/UICommon.h"
#include "VideoCommon/RenderBase.h"
@@ -318,7 +318,7 @@ void CFrame::BootGame(const std::string& filename, const std::optional<std::stri
if (m_game_list_ctrl->GetSelectedISO() != nullptr)
{
if (m_game_list_ctrl->GetSelectedISO()->IsValid())
- bootfile = m_game_list_ctrl->GetSelectedISO()->GetFileName();
+ bootfile = m_game_list_ctrl->GetSelectedISO()->GetFilePath();
}
else if (!StartUp.m_strDefaultISO.empty() && File::Exists(StartUp.m_strDefaultISO))
{
@@ -1229,10 +1229,10 @@ void CFrame::OnInstallWAD(wxCommandEvent& event)
{
case IDM_LIST_INSTALL_WAD:
{
- const GameListItem* iso = m_game_list_ctrl->GetSelectedISO();
+ const UICommon::GameFile* iso = m_game_list_ctrl->GetSelectedISO();
if (!iso)
return;
- fileName = iso->GetFileName();
+ fileName = iso->GetFilePath();
break;
}
case IDM_MENU_INSTALL_WAD:
@@ -1258,7 +1258,7 @@ void CFrame::OnInstallWAD(wxCommandEvent& event)
void CFrame::OnUninstallWAD(wxCommandEvent&)
{
- const GameListItem* file = m_game_list_ctrl->GetSelectedISO();
+ const UICommon::GameFile* file = m_game_list_ctrl->GetSelectedISO();
if (!file)
return;
@@ -1268,9 +1268,8 @@ void CFrame::OnUninstallWAD(wxCommandEvent&)
return;
}
- u64 title_id = file->GetTitleID();
- IOS::HLE::Kernel ios;
- if (ios.GetES()->DeleteTitleContent(title_id) < 0)
+ const u64 title_id = file->GetTitleID();
+ if (!WiiUtils::UninstallTitle(title_id))
{
PanicAlertT("Failed to remove this title from the NAND.");
return;
@@ -1490,11 +1489,11 @@ void CFrame::OnPerformOnlineWiiUpdate(wxCommandEvent& event)
void CFrame::OnPerformDiscWiiUpdate(wxCommandEvent&)
{
- const GameListItem* iso = m_game_list_ctrl->GetSelectedISO();
+ const UICommon::GameFile* iso = m_game_list_ctrl->GetSelectedISO();
if (!iso)
return;
- const std::string file_name = iso->GetFileName();
+ const std::string file_name = iso->GetFilePath();
const WiiUtils::UpdateResult result = ShowUpdateProgress(this, WiiUtils::DoDiscUpdate, file_name);
ShowUpdateResult(result);