diff --git a/.forgejo/workflows/ci.yml b/.forgejo/workflows/ci.yml index 143ad8982e70c8430e7a7f4122da04916bdec845..39bbbdf2c6478cb7e69bd7bb6341579473ed0529 100644 --- a/.forgejo/workflows/ci.yml +++ b/.forgejo/workflows/ci.yml @@ -29,7 +29,8 @@ jobs: # TX_TOKEN: ${{ secrets.TRANSIFEX_API_TOKEN }} reuse: - runs-on: ubuntu-latest + name: Check REUSE Specification + runs-on: verify if: ${{ github.repository == 'suyu/suyu' }} steps: - uses: https://code.forgejo.org/actions/checkout@v3 diff --git a/.forgejo/workflows/codespell.yml b/.forgejo/workflows/codespell.yml index bf6d35d1e86157b0c59e79ff4bc7820483cb2bfb..d711137d3a9119e0ba6de6818b9e62d7098d7bdc 100644 --- a/.forgejo/workflows/codespell.yml +++ b/.forgejo/workflows/codespell.yml @@ -20,7 +20,7 @@ permissions: {} jobs: codespell: name: Check for spelling errors - runs-on: ubuntu-latest + runs-on: verify steps: - uses: https://code.forgejo.org/actions/checkout@v3 with: diff --git a/.gitea/ISSUE_TEMPLATE/blank_issue_template.yml b/.gitea/ISSUE_TEMPLATE/blank_issue_template.yml new file mode 100644 index 0000000000000000000000000000000000000000..49b7f38228c3d11a0b8c4974379732aab5f50af7 --- /dev/null +++ b/.gitea/ISSUE_TEMPLATE/blank_issue_template.yml @@ -0,0 +1,10 @@ +name: New Issue (Developers Only) +description: A blank issue template for developers only. If you are not a developer, do not use this issue template. Your issue WILL BE CLOSED if you do not use the appropriate issue template. +body: + - type: markdown + attributes: + value: | + **If you are not a developer, do not use this issue template. Your issue WILL BE CLOSED if you do not use the appropriate issue template.** + - type: textarea + attributes: + label: "Issue" diff --git a/.gitea/ISSUE_TEMPLATE/bug_report.yml b/.gitea/ISSUE_TEMPLATE/bug_report.yml new file mode 100644 index 0000000000000000000000000000000000000000..041a4ff3bfcfa1c28a6bfb1f55a7a7ca702e59aa --- /dev/null +++ b/.gitea/ISSUE_TEMPLATE/bug_report.yml @@ -0,0 +1,64 @@ +name: Bug Report +description: File a bug report +body: + - type: markdown + attributes: + value: Tech support does not belong here. You should only file an issue here if you think you have experienced an actual bug with suyu. + - type: checkboxes + attributes: + label: Is there an existing issue for this? + description: Please search to see if an issue already exists for the bug you encountered. + options: + - label: I have searched the existing issues + required: true + - type: input + attributes: + label: Affected Commit or Release + description: List the affected commits that this issue applies to. + placeholder: Mainline 1234 / Early Access 1234 + validations: + required: true + - type: textarea + id: issue-desc + attributes: + label: Description of Issue + description: A brief description of the issue encountered along with any images and/or videos. + validations: + required: true + - type: textarea + id: expected-behavior + attributes: + label: Expected Behavior + description: A brief description of how it is expected to work along with any images and/or videos. + validations: + required: true + - type: textarea + id: reproduction-steps + attributes: + label: Reproduction Steps + description: A brief explanation of how to reproduce this issue. If possible, provide a save file to aid in reproducing the issue. + validations: + required: true + - type: textarea + id: log + attributes: + label: Log File + description: A log file will help our developers to better diagnose and fix the issue. Instructions can be found [here](https://suyu.dev/help/reference/log-files). + validations: + required: true + - type: textarea + id: system-config + attributes: + label: System Configuration + placeholder: | + CPU: Intel i5-10400 / AMD Ryzen 5 3600 + GPU/Driver: NVIDIA GeForce GTX 1060 (Driver 512.95) + RAM: 16GB DDR4-3200 + OS: Windows 11 22H2 (Build 22621.819) + value: | + CPU: + GPU/Driver: + RAM: + OS: + validations: + required: true diff --git a/.gitea/ISSUE_TEMPLATE/config.yml b/.gitea/ISSUE_TEMPLATE/config.yml new file mode 100644 index 0000000000000000000000000000000000000000..0be63fdb7a033ded1016db41e39c36a57d89e7aa --- /dev/null +++ b/.gitea/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,5 @@ +blank_issues_enabled: false +contact_links: + - name: suyu Discord + url: https://discord.com/invite/suyu + about: If you are experiencing an issue with suyu, and you need tech support, or if you have a general question, try asking in the official suyu Discord linked here. Piracy is not allowed. diff --git a/.gitea/ISSUE_TEMPLATE/feature_request.yml b/.gitea/ISSUE_TEMPLATE/feature_request.yml new file mode 100644 index 0000000000000000000000000000000000000000..c0c27fc0a687191298ae1807f5895045fa924785 --- /dev/null +++ b/.gitea/ISSUE_TEMPLATE/feature_request.yml @@ -0,0 +1,28 @@ +name: Feature Request +description: File a feature request +labels: "enhancement" +body: + - type: markdown + attributes: + value: Tech support does not belong here. You should only file an issue here if you are requesting a feature you believe would make suyu better. + - type: checkboxes + attributes: + label: Is there an existing issue for this? + description: Please search to see if an issue already exists for the feature you are requesting. + options: + - label: I have searched the existing issues + required: true + - type: textarea + id: what-feature + attributes: + label: What feature are you suggesting? + description: A brief description of the requested feature. + validations: + required: true + - type: textarea + id: why-feature + attributes: + label: Why would this feature be useful? + description: A brief description of why this feature would make suyu better. + validations: + required: true diff --git a/src/android/app/src/main/res/values/arrays.xml b/src/android/app/src/main/res/values/arrays.xml index 0500bb2a4f1992b4b6e114d3fb0627ebafaada50..1bd6455b4c8fd7f0ef0f04bce9eaa8b5de0a60e3 100644 --- a/src/android/app/src/main/res/values/arrays.xml +++ b/src/android/app/src/main/res/values/arrays.xml @@ -142,7 +142,6 @@ <item>@string/ratio_force_four_three</item> <item>@string/ratio_force_twenty_one_nine</item> <item>@string/ratio_force_sixteen_ten</item> - <item>@string/ratio_thirty_two_nine</item> <item>@string/ratio_stretch</item> </string-array> @@ -152,7 +151,6 @@ <item>2</item> <item>3</item> <item>4</item> - <item>5</item> </integer-array> <string-array name="rendererScalingFilterNames"> diff --git a/src/android/app/src/main/res/values/strings.xml b/src/android/app/src/main/res/values/strings.xml index 5331f2b419a7f5cde8f6830cef63eb08f716504f..a2487f4f11d31eac2c5c47e39f6a4a083d6e453e 100644 --- a/src/android/app/src/main/res/values/strings.xml +++ b/src/android/app/src/main/res/values/strings.xml @@ -601,7 +601,6 @@ <string name="ratio_force_four_three">Force 4:3</string> <string name="ratio_force_twenty_one_nine">Force 21:9</string> <string name="ratio_force_sixteen_ten">Force 16:10</string> - <string name="ratio_force_thirty_two_nine">Force 32:9</string> <string name="ratio_stretch">Stretch to window</string> <!-- CPU Backend --> diff --git a/src/suyu/main.cpp b/src/suyu/main.cpp index 0d07c8d6d0b21a8fc5cdd95a709c1fe853d14569..19148fcfc3af4c5978e94b8b5dedbebc6423fa40 100644 --- a/src/suyu/main.cpp +++ b/src/suyu/main.cpp @@ -12,6 +12,7 @@ #include <thread> #include "core/hle/service/am/applet_manager.h" #include "core/loader/nca.h" +#include "core/loader/nro.h" #include "core/tools/renderdoc.h" #ifdef __APPLE__ @@ -1747,18 +1748,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::AppLoader_NRO::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... @@ -4630,8 +4634,8 @@ void GMainWindow::OnCheckFirmwareDecryption() { 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 use this emulator, " + "you need to provide your own encryption keys " "in order to play them.")); }