diff --git a/.forgejo/workflows/ci.yml b/.forgejo/workflows/ci.yml
index 143ad8982e..39bbbdf2c6 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 bf6d35d1e8..d711137d3a 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 0000000000..49b7f38228
--- /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 0000000000..041a4ff3bf
--- /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 0000000000..0be63fdb7a
--- /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 0000000000..c0c27fc0a6
--- /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 0500bb2a4f..1bd6455b4c 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 @@
- @string/ratio_force_four_three
- @string/ratio_force_twenty_one_nine
- @string/ratio_force_sixteen_ten
- - @string/ratio_thirty_two_nine
- @string/ratio_stretch
@@ -152,7 +151,6 @@
- 2
- 3
- 4
- - 5
diff --git a/src/android/app/src/main/res/values/strings.xml b/src/android/app/src/main/res/values/strings.xml
index 5331f2b419..a2487f4f11 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 @@
Force 4:3
Force 21:9
Force 16:10
- Force 32:9
Stretch to window
diff --git a/src/suyu/main.cpp b/src/suyu/main.cpp
index 0d07c8d6d0..19148fcfc3 100644
--- a/src/suyu/main.cpp
+++ b/src/suyu/main.cpp
@@ -12,6 +12,7 @@
#include
#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."));
}