summaryrefslogtreecommitdiff
path: root/src/core/loader
diff options
context:
space:
mode:
authorGravatar bunnei2019-01-10 17:04:38 -0500
committerGravatar GitHub2019-01-10 17:04:38 -0500
commit83e8ad23310937bb72f4412c15f45231a19202f7 (patch)
tree80301af69b14a701f16e21d41ced436850085031 /src/core/loader
parentMerge pull request #2010 from ReinUsesLisp/gmem (diff)
parentbuild: Copy web engine resources to correct location (diff)
downloadyuzu-83e8ad23310937bb72f4412c15f45231a19202f7.tar.gz
yuzu-83e8ad23310937bb72f4412c15f45231a19202f7.tar.xz
yuzu-83e8ad23310937bb72f4412c15f45231a19202f7.zip
Merge pull request #1939 from DarkLordZach/web-applet
applets: Implement HLE web browser applet (LibAppletOff)
Diffstat (limited to 'src/core/loader')
-rw-r--r--src/core/loader/loader.h9
-rw-r--r--src/core/loader/nsp.cpp8
-rw-r--r--src/core/loader/nsp.h1
-rw-r--r--src/core/loader/xci.cpp9
-rw-r--r--src/core/loader/xci.h1
5 files changed, 28 insertions, 0 deletions
diff --git a/src/core/loader/loader.h b/src/core/loader/loader.h
index 30eacd803..01f984098 100644
--- a/src/core/loader/loader.h
+++ b/src/core/loader/loader.h
@@ -259,6 +259,15 @@ public:
259 return ResultStatus::ErrorNotImplemented; 259 return ResultStatus::ErrorNotImplemented;
260 } 260 }
261 261
262 /**
263 * Get the RomFS of the manual of the application
264 * @param file The raw manual RomFS of the game
265 * @return ResultStatus result of function
266 */
267 virtual ResultStatus ReadManualRomFS(FileSys::VirtualFile& file) {
268 return ResultStatus::ErrorNotImplemented;
269 }
270
262protected: 271protected:
263 FileSys::VirtualFile file; 272 FileSys::VirtualFile file;
264 bool is_loaded = false; 273 bool is_loaded = false;
diff --git a/src/core/loader/nsp.cpp b/src/core/loader/nsp.cpp
index 4d4b44571..7fcb12aa2 100644
--- a/src/core/loader/nsp.cpp
+++ b/src/core/loader/nsp.cpp
@@ -158,4 +158,12 @@ ResultStatus AppLoader_NSP::ReadControlData(FileSys::NACP& nacp) {
158 nacp = *nacp_file; 158 nacp = *nacp_file;
159 return ResultStatus::Success; 159 return ResultStatus::Success;
160} 160}
161
162ResultStatus AppLoader_NSP::ReadManualRomFS(FileSys::VirtualFile& file) {
163 const auto nca = nsp->GetNCA(nsp->GetProgramTitleID(), FileSys::ContentRecordType::Manual);
164 if (nsp->GetStatus() != ResultStatus::Success || nca == nullptr)
165 return ResultStatus::ErrorNoRomFS;
166 file = nca->GetRomFS();
167 return file == nullptr ? ResultStatus::ErrorNoRomFS : ResultStatus::Success;
168}
161} // namespace Loader 169} // namespace Loader
diff --git a/src/core/loader/nsp.h b/src/core/loader/nsp.h
index 32eb0193d..b6b309400 100644
--- a/src/core/loader/nsp.h
+++ b/src/core/loader/nsp.h
@@ -44,6 +44,7 @@ public:
44 ResultStatus ReadIcon(std::vector<u8>& buffer) override; 44 ResultStatus ReadIcon(std::vector<u8>& buffer) override;
45 ResultStatus ReadTitle(std::string& title) override; 45 ResultStatus ReadTitle(std::string& title) override;
46 ResultStatus ReadControlData(FileSys::NACP& nacp) override; 46 ResultStatus ReadControlData(FileSys::NACP& nacp) override;
47 ResultStatus ReadManualRomFS(FileSys::VirtualFile& file) override;
47 48
48private: 49private:
49 std::unique_ptr<FileSys::NSP> nsp; 50 std::unique_ptr<FileSys::NSP> nsp;
diff --git a/src/core/loader/xci.cpp b/src/core/loader/xci.cpp
index e67e43c69..ff60a3756 100644
--- a/src/core/loader/xci.cpp
+++ b/src/core/loader/xci.cpp
@@ -128,4 +128,13 @@ ResultStatus AppLoader_XCI::ReadControlData(FileSys::NACP& control) {
128 return ResultStatus::Success; 128 return ResultStatus::Success;
129} 129}
130 130
131ResultStatus AppLoader_XCI::ReadManualRomFS(FileSys::VirtualFile& file) {
132 const auto nca = xci->GetSecurePartitionNSP()->GetNCA(xci->GetProgramTitleID(),
133 FileSys::ContentRecordType::Manual);
134 if (xci->GetStatus() != ResultStatus::Success || nca == nullptr)
135 return ResultStatus::ErrorXCIMissingPartition;
136 file = nca->GetRomFS();
137 return file == nullptr ? ResultStatus::ErrorNoRomFS : ResultStatus::Success;
138}
139
131} // namespace Loader 140} // namespace Loader
diff --git a/src/core/loader/xci.h b/src/core/loader/xci.h
index 9d3923f62..e18531c93 100644
--- a/src/core/loader/xci.h
+++ b/src/core/loader/xci.h
@@ -44,6 +44,7 @@ public:
44 ResultStatus ReadIcon(std::vector<u8>& buffer) override; 44 ResultStatus ReadIcon(std::vector<u8>& buffer) override;
45 ResultStatus ReadTitle(std::string& title) override; 45 ResultStatus ReadTitle(std::string& title) override;
46 ResultStatus ReadControlData(FileSys::NACP& control) override; 46 ResultStatus ReadControlData(FileSys::NACP& control) override;
47 ResultStatus ReadManualRomFS(FileSys::VirtualFile& file) override;
47 48
48private: 49private:
49 std::unique_ptr<FileSys::XCI> xci; 50 std::unique_ptr<FileSys::XCI> xci;