summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/core/file_sys/card_image.h1
-rw-r--r--src/core/file_sys/registered_cache.cpp1
-rw-r--r--src/core/file_sys/registered_cache.h1
-rw-r--r--src/core/file_sys/submission_package.cpp1
-rw-r--r--src/core/file_sys/submission_package.h3
-rw-r--r--src/core/loader/nsp.cpp2
-rw-r--r--src/yuzu/main.cpp16
7 files changed, 19 insertions, 6 deletions
diff --git a/src/core/file_sys/card_image.h b/src/core/file_sys/card_image.h
index bd8c0fcbf..ce514dfa0 100644
--- a/src/core/file_sys/card_image.h
+++ b/src/core/file_sys/card_image.h
@@ -10,7 +10,6 @@
#include "common/common_types.h"
#include "common/swap.h"
#include "core/file_sys/vfs.h"
-#include "core/loader/loader.h"
namespace Loader {
enum class ResultStatus : u16;
diff --git a/src/core/file_sys/registered_cache.cpp b/src/core/file_sys/registered_cache.cpp
index 94268d127..cf6f77401 100644
--- a/src/core/file_sys/registered_cache.cpp
+++ b/src/core/file_sys/registered_cache.cpp
@@ -13,6 +13,7 @@
#include "core/file_sys/content_archive.h"
#include "core/file_sys/nca_metadata.h"
#include "core/file_sys/registered_cache.h"
+#include "core/file_sys/submission_package.h"
#include "core/file_sys/vfs_concat.h"
#include "core/loader/loader.h"
diff --git a/src/core/file_sys/registered_cache.h b/src/core/file_sys/registered_cache.h
index 50e26f8fb..467ceeef1 100644
--- a/src/core/file_sys/registered_cache.h
+++ b/src/core/file_sys/registered_cache.h
@@ -17,6 +17,7 @@
namespace FileSys {
class CNMT;
class NCA;
+class NSP;
class XCI;
enum class ContentRecordType : u8;
diff --git a/src/core/file_sys/submission_package.cpp b/src/core/file_sys/submission_package.cpp
index ce05a5845..bde879861 100644
--- a/src/core/file_sys/submission_package.cpp
+++ b/src/core/file_sys/submission_package.cpp
@@ -7,6 +7,7 @@
#include "common/hex_util.h"
#include "core/file_sys/content_archive.h"
#include "core/file_sys/nca_metadata.h"
+#include "core/file_sys/partition_filesystem.h"
#include "core/file_sys/submission_package.h"
#include "core/loader/loader.h"
diff --git a/src/core/file_sys/submission_package.h b/src/core/file_sys/submission_package.h
index 482a8b71f..0292164f9 100644
--- a/src/core/file_sys/submission_package.h
+++ b/src/core/file_sys/submission_package.h
@@ -13,10 +13,11 @@
#include "core/file_sys/romfs_factory.h"
#include "core/file_sys/vfs.h"
#include "core/loader/loader.h"
-#include "romfs_factory.h"
namespace FileSys {
+class PartitionFilesystem;
+
class NSP : public ReadOnlyVfsDirectory {
public:
explicit NSP(VirtualFile file);
diff --git a/src/core/loader/nsp.cpp b/src/core/loader/nsp.cpp
index b59d40052..7c06239f2 100644
--- a/src/core/loader/nsp.cpp
+++ b/src/core/loader/nsp.cpp
@@ -8,7 +8,7 @@
#include "core/file_sys/card_image.h"
#include "core/file_sys/content_archive.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/submission_package.h"
#include "core/hle/kernel/process.h"
diff --git a/src/yuzu/main.cpp b/src/yuzu/main.cpp
index 037bf2aef..56bd3ee2e 100644
--- a/src/yuzu/main.cpp
+++ b/src/yuzu/main.cpp
@@ -34,7 +34,9 @@
#include "core/file_sys/content_archive.h"
#include "core/file_sys/registered_cache.h"
#include "core/file_sys/savedata_factory.h"
+#include "core/file_sys/submission_package.h"
#include "core/file_sys/vfs_real.h"
+#include "core/hle/kernel/process.h"
#include "core/hle/service/filesystem/filesystem.h"
#include "core/loader/loader.h"
#include "core/perf_stats.h"
@@ -76,6 +78,7 @@ __declspec(dllexport) int AmdPowerXpressRequestHighPerformance = 1;
*/
enum class CalloutFlag : uint32_t {
Telemetry = 0x1,
+ DRDDeprecation = 0x2,
};
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())};
- 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(
this, tr("Warning Outdated Game Format"),
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 "
- "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 "
- "wiki</a>."));
+ "wiki</a>. This message will not be shown again."));
}
render_window->DoneCurrent();