summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Morph2021-07-14 03:18:19 -0400
committerGravatar Morph2021-07-15 00:31:46 -0400
commit0d88a2bc054cfe969673a9d9587c96b1b5c6cbf4 (patch)
treee9ef5810f79cda37bea3ae6b6772595b1413702a
parentMerge pull request #6639 from Morph1984/optimize-linker (diff)
downloadyuzu-0d88a2bc054cfe969673a9d9587c96b1b5c6cbf4.tar.gz
yuzu-0d88a2bc054cfe969673a9d9587c96b1b5c6cbf4.tar.xz
yuzu-0d88a2bc054cfe969673a9d9587c96b1b5c6cbf4.zip
applets/web: Resolve Nintendo CDN URLs
This fixes the hint videos in New Super Mario Bros. U Deluxe
Diffstat (limited to '')
-rw-r--r--src/core/hle/service/am/applets/applet_web_browser.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/core/hle/service/am/applets/applet_web_browser.cpp b/src/core/hle/service/am/applets/applet_web_browser.cpp
index f96f0fee3..35f194961 100644
--- a/src/core/hle/service/am/applets/applet_web_browser.cpp
+++ b/src/core/hle/service/am/applets/applet_web_browser.cpp
@@ -58,6 +58,16 @@ std::string GetMainURL(const std::string& url) {
58 return url.substr(0, index); 58 return url.substr(0, index);
59} 59}
60 60
61std::string ResolveURL(const std::string& url) {
62 const auto index = url.find_first_of('%');
63
64 if (index == std::string::npos) {
65 return url;
66 }
67
68 return url.substr(0, index) + "lp1" + url.substr(index + 1);
69}
70
61WebArgInputTLVMap ReadWebArgs(const std::vector<u8>& web_arg, WebArgHeader& web_arg_header) { 71WebArgInputTLVMap ReadWebArgs(const std::vector<u8>& web_arg, WebArgHeader& web_arg_header) {
62 std::memcpy(&web_arg_header, web_arg.data(), sizeof(WebArgHeader)); 72 std::memcpy(&web_arg_header, web_arg.data(), sizeof(WebArgHeader));
63 73
@@ -407,6 +417,9 @@ void WebBrowser::InitializeShare() {}
407 417
408void WebBrowser::InitializeWeb() { 418void WebBrowser::InitializeWeb() {
409 external_url = ParseStringValue(GetInputTLVData(WebArgInputTLVType::InitialURL).value()); 419 external_url = ParseStringValue(GetInputTLVData(WebArgInputTLVType::InitialURL).value());
420
421 // Resolve Nintendo CDN URLs.
422 external_url = ResolveURL(external_url);
410} 423}
411 424
412void WebBrowser::InitializeWifi() {} 425void WebBrowser::InitializeWifi() {}