diff options
| author | JosJuice <josjuice@gmail.com> | 2017-12-31 20:33:36 +0100 |
|---|---|---|
| committer | JosJuice <josjuice@gmail.com> | 2018-03-09 13:08:38 +0100 |
| commit | 1f1dae367d8aeb525df5558ce648d6f287983008 (patch) | |
| tree | 7933d673aad8869eef5fb3e74e1260274323e673 /Source/Core/DolphinWX/FrameTools.cpp | |
| parent | 1add238a284ab4baf5d5550d5f1af525226172c7 (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.cpp | 19 |
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); |
