Просмотр исходного кода

Merge branch 'dev' into dev-fork

Fijxu 2 лет назад
Родитель
Сommit
cb9f9da7b6

+ 2 - 1
.forgejo/workflows/ci.yml

@@ -29,7 +29,8 @@ jobs:
 #           TX_TOKEN: ${{ secrets.TRANSIFEX_API_TOKEN }}
 #           TX_TOKEN: ${{ secrets.TRANSIFEX_API_TOKEN }}
 
 
   reuse:
   reuse:
-    runs-on: ubuntu-latest
+    name: Check REUSE Specification
+    runs-on: verify
     if: ${{ github.repository == 'suyu/suyu' }}
     if: ${{ github.repository == 'suyu/suyu' }}
     steps:
     steps:
     - uses: https://code.forgejo.org/actions/checkout@v3
     - uses: https://code.forgejo.org/actions/checkout@v3

+ 1 - 1
.forgejo/workflows/codespell.yml

@@ -20,7 +20,7 @@ permissions: {}
 jobs:
 jobs:
   codespell:
   codespell:
     name: Check for spelling errors
     name: Check for spelling errors
-    runs-on: ubuntu-latest
+    runs-on: verify
     steps:
     steps:
       - uses: https://code.forgejo.org/actions/checkout@v3
       - uses: https://code.forgejo.org/actions/checkout@v3
         with:
         with:

+ 10 - 0
.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"

+ 64 - 0
.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

+ 5 - 0
.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.

+ 28 - 0
.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

+ 0 - 2
src/android/app/src/main/res/values/arrays.xml

@@ -142,7 +142,6 @@
         <item>@string/ratio_force_four_three</item>
         <item>@string/ratio_force_four_three</item>
         <item>@string/ratio_force_twenty_one_nine</item>
         <item>@string/ratio_force_twenty_one_nine</item>
         <item>@string/ratio_force_sixteen_ten</item>
         <item>@string/ratio_force_sixteen_ten</item>
-        <item>@string/ratio_thirty_two_nine</item>
         <item>@string/ratio_stretch</item>
         <item>@string/ratio_stretch</item>
     </string-array>
     </string-array>
 
 
@@ -152,7 +151,6 @@
         <item>2</item>
         <item>2</item>
         <item>3</item>
         <item>3</item>
         <item>4</item>
         <item>4</item>
-        <item>5</item>
     </integer-array>
     </integer-array>
 
 
     <string-array name="rendererScalingFilterNames">
     <string-array name="rendererScalingFilterNames">

+ 0 - 1
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_four_three">Force 4:3</string>
     <string name="ratio_force_twenty_one_nine">Force 21:9</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_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>
     <string name="ratio_stretch">Stretch to window</string>
 
 
     <!-- CPU Backend -->
     <!-- CPU Backend -->

+ 17 - 13
src/suyu/main.cpp

@@ -12,6 +12,7 @@
 #include <thread>
 #include <thread>
 #include "core/hle/service/am/applet_manager.h"
 #include "core/hle/service/am/applet_manager.h"
 #include "core/loader/nca.h"
 #include "core/loader/nca.h"
+#include "core/loader/nro.h"
 #include "core/tools/renderdoc.h"
 #include "core/tools/renderdoc.h"
 
 
 #ifdef __APPLE__
 #ifdef __APPLE__
@@ -1747,18 +1748,21 @@ void GMainWindow::AllowOSSleep() {
 }
 }
 
 
 bool GMainWindow::LoadROM(const QString& filename, Service::AM::FrontendAppletParameters params) {
 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...
     // Shutdown previous session if the emu thread is still active...
@@ -4630,8 +4634,8 @@ void GMainWindow::OnCheckFirmwareDecryption() {
     if (!ContentManager::AreKeysPresent()) {
     if (!ContentManager::AreKeysPresent()) {
         QMessageBox::warning(this, tr("Derivation Components Missing"),
         QMessageBox::warning(this, tr("Derivation Components Missing"),
                              tr("Encryption keys are 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."));
                                 "in order to play them."));
     }
     }