aboutsummaryrefslogtreecommitdiff
path: root/src/core/loader/nca.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/loader/nca.h')
-rw-r--r--src/core/loader/nca.h12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/core/loader/nca.h b/src/core/loader/nca.h
index 96779e27fc..cf63822120 100644
--- a/src/core/loader/nca.h
+++ b/src/core/loader/nca.h
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
+// SPDX-License-Identifier: GPL-3.0-or-later
+
// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
@@ -11,6 +14,7 @@ class System;
}
namespace FileSys {
+class NACP;
class NCA;
}
@@ -21,7 +25,7 @@ class AppLoader_DeconstructedRomDirectory;
/// Loads an NCA file
class AppLoader_NCA final : public AppLoader {
public:
- explicit AppLoader_NCA(FileSys::VirtualFile file_);
+ explicit AppLoader_NCA(FileSys::VirtualFile file_, u64 update_only_program_id = 0);
~AppLoader_NCA() override;
/**
@@ -43,14 +47,20 @@ public:
ResultStatus ReadRomFS(FileSys::VirtualFile& dir) override;
ResultStatus ReadProgramId(u64& out_program_id) override;
+ ResultStatus ReadControlData(FileSys::NACP& out_control) override;
+ ResultStatus ReadTitle(std::string& out_title) override;
ResultStatus ReadBanner(std::vector<u8>& buffer) override;
ResultStatus ReadLogo(std::vector<u8>& buffer) override;
ResultStatus ReadNSOModules(Modules& modules) override;
+ u64 GetProgramId() const;
+
private:
std::unique_ptr<FileSys::NCA> nca;
+ u64 update_only_program_id{};
+ std::unique_ptr<FileSys::NACP> nacp;
std::unique_ptr<AppLoader_DeconstructedRomDirectory> directory_loader;
};