mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-21 21:30:19 -06:00
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.
This commit is contained in:
@ -5,6 +5,7 @@
|
||||
|
||||
#include <QApplication>
|
||||
#include <QCloseEvent>
|
||||
#include <QDateTime>
|
||||
#include <QDir>
|
||||
#include <QDragEnterEvent>
|
||||
#include <QDropEvent>
|
||||
@ -386,7 +387,7 @@ void MainWindow::Play(const std::optional<std::string>& savestate_path)
|
||||
}
|
||||
else
|
||||
{
|
||||
QSharedPointer<GameFile> selection = m_game_list->GetSelectedGame();
|
||||
std::shared_ptr<const UICommon::GameFile> selection = m_game_list->GetSelectedGame();
|
||||
if (selection)
|
||||
{
|
||||
StartGame(selection->GetFilePath(), savestate_path);
|
||||
@ -394,7 +395,7 @@ void MainWindow::Play(const std::optional<std::string>& savestate_path)
|
||||
}
|
||||
else
|
||||
{
|
||||
auto default_path = QString::fromStdString(SConfig::GetInstance().m_strDefaultISO);
|
||||
QString default_path = QString::fromStdString(SConfig::GetInstance().m_strDefaultISO);
|
||||
if (!default_path.isEmpty() && QFile::exists(default_path))
|
||||
{
|
||||
StartGame(default_path, savestate_path);
|
||||
@ -536,7 +537,13 @@ void MainWindow::ScreenShot()
|
||||
|
||||
void MainWindow::StartGame(const QString& path, const std::optional<std::string>& savestate_path)
|
||||
{
|
||||
StartGame(BootParameters::GenerateFromFile(path.toStdString(), savestate_path));
|
||||
StartGame(path.toStdString(), savestate_path);
|
||||
}
|
||||
|
||||
void MainWindow::StartGame(const std::string& path,
|
||||
const std::optional<std::string>& savestate_path)
|
||||
{
|
||||
StartGame(BootParameters::GenerateFromFile(path, savestate_path));
|
||||
}
|
||||
|
||||
void MainWindow::StartGame(std::unique_ptr<BootParameters>&& parameters)
|
||||
|
Reference in New Issue
Block a user