summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/yuzu/main.cpp62
-rw-r--r--src/yuzu/main.h2
-rw-r--r--src/yuzu/main.ui18
3 files changed, 18 insertions, 64 deletions
diff --git a/src/yuzu/main.cpp b/src/yuzu/main.cpp
index 2c8eb481d..05baec7e1 100644
--- a/src/yuzu/main.cpp
+++ b/src/yuzu/main.cpp
@@ -802,10 +802,6 @@ void GMainWindow::ConnectMenuEvents() {
802 connect(ui.action_Load_Folder, &QAction::triggered, this, &GMainWindow::OnMenuLoadFolder); 802 connect(ui.action_Load_Folder, &QAction::triggered, this, &GMainWindow::OnMenuLoadFolder);
803 connect(ui.action_Install_File_NAND, &QAction::triggered, this, 803 connect(ui.action_Install_File_NAND, &QAction::triggered, this,
804 &GMainWindow::OnMenuInstallToNAND); 804 &GMainWindow::OnMenuInstallToNAND);
805 connect(ui.action_Select_NAND_Directory, &QAction::triggered, this,
806 [this] { OnMenuSelectEmulatedDirectory(EmulatedDirectoryTarget::NAND); });
807 connect(ui.action_Select_SDMC_Directory, &QAction::triggered, this,
808 [this] { OnMenuSelectEmulatedDirectory(EmulatedDirectoryTarget::SDMC); });
809 connect(ui.action_Exit, &QAction::triggered, this, &QMainWindow::close); 805 connect(ui.action_Exit, &QAction::triggered, this, &QMainWindow::close);
810 connect(ui.action_Load_Amiibo, &QAction::triggered, this, &GMainWindow::OnLoadAmiibo); 806 connect(ui.action_Load_Amiibo, &QAction::triggered, this, &GMainWindow::OnLoadAmiibo);
811 807
@@ -940,16 +936,18 @@ bool GMainWindow::LoadROM(const QString& filename) {
940 default: 936 default:
941 if (static_cast<u32>(result) > 937 if (static_cast<u32>(result) >
942 static_cast<u32>(Core::System::ResultStatus::ErrorLoader)) { 938 static_cast<u32>(Core::System::ResultStatus::ErrorLoader)) {
943 LOG_CRITICAL(Frontend, "Failed to load ROM!");
944 const u16 loader_id = static_cast<u16>(Core::System::ResultStatus::ErrorLoader); 939 const u16 loader_id = static_cast<u16>(Core::System::ResultStatus::ErrorLoader);
945 const u16 error_id = static_cast<u16>(result) - loader_id; 940 const u16 error_id = static_cast<u16>(result) - loader_id;
941 const std::string error_code = fmt::format("({:04X}-{:04X})", loader_id, error_id);
942 LOG_CRITICAL(Frontend, "Failed to load ROM! {}", error_code);
946 QMessageBox::critical( 943 QMessageBox::critical(
947 this, tr("Error while loading ROM!"), 944 this,
945 tr("Error while loading ROM! ").append(QString::fromStdString(error_code)),
948 QString::fromStdString(fmt::format( 946 QString::fromStdString(fmt::format(
949 "While attempting to load the ROM requested, an error occured. Please " 947 "{}<br>Please follow <a href='https://yuzu-emu.org/help/quickstart/'>the "
950 "refer to the yuzu wiki for more information or the yuzu discord for " 948 "yuzu quickstart guide</a> to redump your files.<br>You can refer "
951 "additional help.\n\nError Code: {:04X}-{:04X}\nError Description: {}", 949 "to the yuzu wiki</a> or the yuzu Discord</a> for help.",
952 loader_id, error_id, static_cast<Loader::ResultStatus>(error_id)))); 950 static_cast<Loader::ResultStatus>(error_id))));
953 } else { 951 } else {
954 QMessageBox::critical( 952 QMessageBox::critical(
955 this, tr("Error while loading ROM!"), 953 this, tr("Error while loading ROM!"),
@@ -1663,28 +1661,6 @@ void GMainWindow::OnMenuInstallToNAND() {
1663 } 1661 }
1664} 1662}
1665 1663
1666void GMainWindow::OnMenuSelectEmulatedDirectory(EmulatedDirectoryTarget target) {
1667 const auto res = QMessageBox::information(
1668 this, tr("Changing Emulated Directory"),
1669 tr("You are about to change the emulated %1 directory of the system. Please note "
1670 "that this does not also move the contents of the previous directory to the "
1671 "new one and you will have to do that yourself.")
1672 .arg(target == EmulatedDirectoryTarget::SDMC ? tr("SD card") : tr("NAND")),
1673 QMessageBox::StandardButtons{QMessageBox::Ok, QMessageBox::Cancel});
1674
1675 if (res == QMessageBox::Cancel)
1676 return;
1677
1678 QString dir_path = QFileDialog::getExistingDirectory(this, tr("Select Directory"));
1679 if (!dir_path.isEmpty()) {
1680 FileUtil::GetUserPath(target == EmulatedDirectoryTarget::SDMC ? FileUtil::UserPath::SDMCDir
1681 : FileUtil::UserPath::NANDDir,
1682 dir_path.toStdString());
1683 Core::System::GetInstance().GetFileSystemController().CreateFactories(*vfs);
1684 game_list->PopulateAsync(UISettings::values.game_dirs);
1685 }
1686}
1687
1688void GMainWindow::OnMenuRecentFile() { 1664void GMainWindow::OnMenuRecentFile() {
1689 QAction* action = qobject_cast<QAction*>(sender()); 1665 QAction* action = qobject_cast<QAction*>(sender());
1690 assert(action); 1666 assert(action);
@@ -2095,27 +2071,25 @@ void GMainWindow::OnReinitializeKeys(ReinitializeKeyBehavior behavior) {
2095 2071
2096 QString errors; 2072 QString errors;
2097 if (!pdm.HasFuses()) { 2073 if (!pdm.HasFuses()) {
2098 errors += tr("- Missing fuses - Cannot derive SBK\n"); 2074 errors += tr("Missing fuses");
2099 } 2075 }
2100 if (!pdm.HasBoot0()) { 2076 if (!pdm.HasBoot0()) {
2101 errors += tr("- Missing BOOT0 - Cannot derive master keys\n"); 2077 errors += tr(" - Missing BOOT0");
2102 } 2078 }
2103 if (!pdm.HasPackage2()) { 2079 if (!pdm.HasPackage2()) {
2104 errors += tr("- Missing BCPKG2-1-Normal-Main - Cannot derive general keys\n"); 2080 errors += tr(" - Missing BCPKG2-1-Normal-Main");
2105 } 2081 }
2106 if (!pdm.HasProdInfo()) { 2082 if (!pdm.HasProdInfo()) {
2107 errors += tr("- Missing PRODINFO - Cannot derive title keys\n"); 2083 errors += tr(" - Missing PRODINFO");
2108 } 2084 }
2109 if (!errors.isEmpty()) { 2085 if (!errors.isEmpty()) {
2110 QMessageBox::warning( 2086 QMessageBox::warning(
2111 this, tr("Warning Missing Derivation Components"), 2087 this, tr("Derivation Components Missing"),
2112 tr("The following are missing from your configuration that may hinder key " 2088 tr("Components are missing that may hinder key derivation from completing. "
2113 "derivation. It will be attempted but may not complete.<br><br>") + 2089 "<br>Please follow <a href='https://yuzu-emu.org/help/quickstart/'>the yuzu "
2114 errors + 2090 "quickstart guide</a> to get all your keys and "
2115 tr("<br><br>You can get all of these and dump all of your games easily by " 2091 "games.<br><br><small>(%1)</small>")
2116 "following <a href='https://yuzu-emu.org/help/quickstart/'>the " 2092 .arg(errors));
2117 "quickstart guide</a>. Alternatively, you can use another method of dumping "
2118 "to obtain all of your keys."));
2119 } 2093 }
2120 2094
2121 QProgressDialog prog; 2095 QProgressDialog prog;
diff --git a/src/yuzu/main.h b/src/yuzu/main.h
index a67125567..0b750689d 100644
--- a/src/yuzu/main.h
+++ b/src/yuzu/main.h
@@ -196,8 +196,6 @@ private slots:
196 void OnMenuLoadFile(); 196 void OnMenuLoadFile();
197 void OnMenuLoadFolder(); 197 void OnMenuLoadFolder();
198 void OnMenuInstallToNAND(); 198 void OnMenuInstallToNAND();
199 /// Called whenever a user select the "File->Select -- Directory" where -- is NAND or SD Card
200 void OnMenuSelectEmulatedDirectory(EmulatedDirectoryTarget target);
201 void OnMenuRecentFile(); 199 void OnMenuRecentFile();
202 void OnConfigure(); 200 void OnConfigure();
203 void OnLoadAmiibo(); 201 void OnLoadAmiibo();
diff --git a/src/yuzu/main.ui b/src/yuzu/main.ui
index a2c9e4547..ae414241e 100644
--- a/src/yuzu/main.ui
+++ b/src/yuzu/main.ui
@@ -64,8 +64,6 @@
64 <addaction name="separator"/> 64 <addaction name="separator"/>
65 <addaction name="menu_recent_files"/> 65 <addaction name="menu_recent_files"/>
66 <addaction name="separator"/> 66 <addaction name="separator"/>
67 <addaction name="action_Select_NAND_Directory"/>
68 <addaction name="action_Select_SDMC_Directory"/>
69 <addaction name="separator"/> 67 <addaction name="separator"/>
70 <addaction name="action_Load_Amiibo"/> 68 <addaction name="action_Load_Amiibo"/>
71 <addaction name="separator"/> 69 <addaction name="separator"/>
@@ -217,22 +215,6 @@
217 <string>Show Status Bar</string> 215 <string>Show Status Bar</string>
218 </property> 216 </property>
219 </action> 217 </action>
220 <action name="action_Select_NAND_Directory">
221 <property name="text">
222 <string>Select NAND Directory...</string>
223 </property>
224 <property name="toolTip">
225 <string>Selects a folder to use as the root of the emulated NAND</string>
226 </property>
227 </action>
228 <action name="action_Select_SDMC_Directory">
229 <property name="text">
230 <string>Select SD Card Directory...</string>
231 </property>
232 <property name="toolTip">
233 <string>Selects a folder to use as the root of the emulated SD card</string>
234 </property>
235 </action>
236 <action name="action_Fullscreen"> 218 <action name="action_Fullscreen">
237 <property name="checkable"> 219 <property name="checkable">
238 <bool>true</bool> 220 <bool>true</bool>