diff --git a/src/suyu/main.cpp b/src/suyu/main.cpp index e7354e8fa5..b1a3211823 100644 --- a/src/suyu/main.cpp +++ b/src/suyu/main.cpp @@ -1747,18 +1747,21 @@ void GMainWindow::AllowOSSleep() { } bool GMainWindow::LoadROM(const QString& filename, Service::AM::FrontendAppletParameters params) { - if (!CheckFirmwarePresence()) { - QMessageBox::critical(this, tr("Component Missing"), tr("Missing Firmware.")); - return false; - } + if (Loader::IdentifyType(Core::GetGameFileFromPath(vfs, filename.toStdString())) != + Loader::FileType::NRO) { + if (!CheckFirmwarePresence()) { + QMessageBox::critical(this, tr("Component Missing"), tr("Missing Firmware.")); + return false; + } - if (!ContentManager::AreKeysPresent()) { - QMessageBox::warning(this, tr("Derivation Components Missing"), - tr("Encryption keys are missing. " - "In order to use this emulator, " - "you need to provide your own encryption keys " - "in order to play them.")); - return false; + if (!ContentManager::AreKeysPresent()) { + QMessageBox::warning(this, tr("Derivation Components Missing"), + tr("Encryption keys are missing. " + "In order to use this emulator, " + "you need to provide your own encryption keys " + "in order to play them.")); + return false; + } } // Shutdown previous session if the emu thread is still active...