main: Only show DRD deprecation warning once

This commit is contained in:
Zach Hilman 2018-09-04 14:44:40 -04:00
parent e973cceadd
commit 87be4bc283
7 changed files with 19 additions and 6 deletions

View file

@ -10,7 +10,6 @@
#include "common/common_types.h" #include "common/common_types.h"
#include "common/swap.h" #include "common/swap.h"
#include "core/file_sys/vfs.h" #include "core/file_sys/vfs.h"
#include "core/loader/loader.h"
namespace Loader { namespace Loader {
enum class ResultStatus : u16; enum class ResultStatus : u16;

View file

@ -13,6 +13,7 @@
#include "core/file_sys/content_archive.h" #include "core/file_sys/content_archive.h"
#include "core/file_sys/nca_metadata.h" #include "core/file_sys/nca_metadata.h"
#include "core/file_sys/registered_cache.h" #include "core/file_sys/registered_cache.h"
#include "core/file_sys/submission_package.h"
#include "core/file_sys/vfs_concat.h" #include "core/file_sys/vfs_concat.h"
#include "core/loader/loader.h" #include "core/loader/loader.h"

View file

@ -17,6 +17,7 @@
namespace FileSys { namespace FileSys {
class CNMT; class CNMT;
class NCA; class NCA;
class NSP;
class XCI; class XCI;
enum class ContentRecordType : u8; enum class ContentRecordType : u8;

View file

@ -7,6 +7,7 @@
#include "common/hex_util.h" #include "common/hex_util.h"
#include "core/file_sys/content_archive.h" #include "core/file_sys/content_archive.h"
#include "core/file_sys/nca_metadata.h" #include "core/file_sys/nca_metadata.h"
#include "core/file_sys/partition_filesystem.h"
#include "core/file_sys/submission_package.h" #include "core/file_sys/submission_package.h"
#include "core/loader/loader.h" #include "core/loader/loader.h"

View file

@ -13,10 +13,11 @@
#include "core/file_sys/romfs_factory.h" #include "core/file_sys/romfs_factory.h"
#include "core/file_sys/vfs.h" #include "core/file_sys/vfs.h"
#include "core/loader/loader.h" #include "core/loader/loader.h"
#include "romfs_factory.h"
namespace FileSys { namespace FileSys {
class PartitionFilesystem;
class NSP : public ReadOnlyVfsDirectory { class NSP : public ReadOnlyVfsDirectory {
public: public:
explicit NSP(VirtualFile file); explicit NSP(VirtualFile file);

View file

@ -8,7 +8,7 @@
#include "core/file_sys/card_image.h" #include "core/file_sys/card_image.h"
#include "core/file_sys/content_archive.h" #include "core/file_sys/content_archive.h"
#include "core/file_sys/control_metadata.h" #include "core/file_sys/control_metadata.h"
#include "core/file_sys/registered_cache.h" #include "core/file_sys/nca_metadata.h"
#include "core/file_sys/romfs.h" #include "core/file_sys/romfs.h"
#include "core/file_sys/submission_package.h" #include "core/file_sys/submission_package.h"
#include "core/hle/kernel/process.h" #include "core/hle/kernel/process.h"

View file

@ -34,7 +34,9 @@
#include "core/file_sys/content_archive.h" #include "core/file_sys/content_archive.h"
#include "core/file_sys/registered_cache.h" #include "core/file_sys/registered_cache.h"
#include "core/file_sys/savedata_factory.h" #include "core/file_sys/savedata_factory.h"
#include "core/file_sys/submission_package.h"
#include "core/file_sys/vfs_real.h" #include "core/file_sys/vfs_real.h"
#include "core/hle/kernel/process.h"
#include "core/hle/service/filesystem/filesystem.h" #include "core/hle/service/filesystem/filesystem.h"
#include "core/loader/loader.h" #include "core/loader/loader.h"
#include "core/perf_stats.h" #include "core/perf_stats.h"
@ -76,6 +78,7 @@ __declspec(dllexport) int AmdPowerXpressRequestHighPerformance = 1;
*/ */
enum class CalloutFlag : uint32_t { enum class CalloutFlag : uint32_t {
Telemetry = 0x1, Telemetry = 0x1,
DRDDeprecation = 0x2,
}; };
static void ShowCalloutMessage(const QString& message, CalloutFlag flag) { static void ShowCalloutMessage(const QString& message, CalloutFlag flag) {
@ -488,14 +491,21 @@ bool GMainWindow::LoadROM(const QString& filename) {
const Core::System::ResultStatus result{system.Load(*render_window, filename.toStdString())}; const Core::System::ResultStatus result{system.Load(*render_window, filename.toStdString())};
if (system.GetAppLoader().GetFileType() == Loader::FileType::DeconstructedRomDirectory) { const auto drd_callout =
(UISettings::values.callout_flags & static_cast<u32>(CalloutFlag::DRDDeprecation)) == 0;
if (result == Core::System::ResultStatus::Success &&
system.GetAppLoader().GetFileType() == Loader::FileType::DeconstructedRomDirectory &&
drd_callout) {
UISettings::values.callout_flags |= static_cast<u32>(CalloutFlag::DRDDeprecation);
QMessageBox::warning( QMessageBox::warning(
this, tr("Warning Outdated Game Format"), this, tr("Warning Outdated Game Format"),
tr("You are using the deconstructed ROM directory format for this game, which is an " tr("You are using the deconstructed ROM directory format for this game, which is an "
"outdated format that has been superseded by others such as NCA, NAX, XCI, or " "outdated format that has been superseded by others such as NCA, NAX, XCI, or "
"NSP.<br><br>For an explanation of the various Switch formats yuzu supports, <a " "NSP. Deconstructed ROM directories lack icons, metadata, and update "
"support.<br><br>For an explanation of the various Switch formats yuzu supports, <a "
"href='https://yuzu-emu.org/wiki/overview-of-switch-game-formats'>check out our " "href='https://yuzu-emu.org/wiki/overview-of-switch-game-formats'>check out our "
"wiki</a>.")); "wiki</a>. This message will not be shown again."));
} }
render_window->DoneCurrent(); render_window->DoneCurrent();