diff --git a/.ci/scripts/android/build.sh b/.ci/scripts/android/build.sh index 885ebfee4c..d0811adf7b 100755 --- a/.ci/scripts/android/build.sh +++ b/.ci/scripts/android/build.sh @@ -1,18 +1,15 @@ #!/bin/bash -ex # SPDX-FileCopyrightText: 2023 yuzu Emulator Project -# SPDX-FileCopyrightText: 2024 suyu Emulator Project # SPDX-License-Identifier: GPL-3.0-or-later export NDK_CCACHE="$(which ccache)" ccache -s -git submodule update --init --recursive - BUILD_FLAVOR="mainline" BUILD_TYPE="release" -if [ "${GITHUB_REPOSITORY}" == "suyu/suyu" ]; then +if [ "${GITHUB_REPOSITORY}" == "suyu-emu/suyu" ]; then BUILD_TYPE="relWithDebInfo" fi diff --git a/.ci/scripts/android/upload.sh b/.ci/scripts/android/upload.sh index 1db05bec11..05ccff2aa9 100755 --- a/.ci/scripts/android/upload.sh +++ b/.ci/scripts/android/upload.sh @@ -11,7 +11,7 @@ BUILD_FLAVOR="mainline" BUILD_TYPE_LOWER="release" BUILD_TYPE_UPPER="Release" -if [ "${GITHUB_REPOSITORY}" == "suyu/suyu" ]; then +if [ "${GITHUB_REPOSITORY}" == "suyu-emu/suyu" ]; then BUILD_TYPE_LOWER="relWithDebInfo" BUILD_TYPE_UPPER="RelWithDebInfo" fi diff --git a/.ci/scripts/clang/docker.sh b/.ci/scripts/clang/docker.sh index d59f672087..7b5c6ec4df 100755 --- a/.ci/scripts/clang/docker.sh +++ b/.ci/scripts/clang/docker.sh @@ -1,7 +1,6 @@ #!/bin/bash -ex # SPDX-FileCopyrightText: 2021 yuzu Emulator Project -# SPDX-FileCopyrightText: 2024 suyu Emulator Project # SPDX-License-Identifier: GPL-2.0-or-later # Exit on error, rather than continuing with the rest of the script. @@ -9,16 +8,12 @@ set -e ccache -s -git submodule update --init --recursive - mkdir build || true && cd build cmake .. \ -DCMAKE_BUILD_TYPE=Release \ - -DSUYU_USE_PRECOMPILED_HEADERS=OFF \ - -DDYNARMIC_USE_PRECOMPILED_HEADERS=OFF \ -DCMAKE_CXX_FLAGS="-march=x86-64-v2" \ - -DCMAKE_CXX_COMPILER=/usr/bin/clang++ \ - -DCMAKE_C_COMPILER=/usr/bin/clang \ + -DCMAKE_CXX_COMPILER=/usr/lib/ccache/clang++ \ + -DCMAKE_C_COMPILER=/usr/lib/ccache/clang \ -DCMAKE_INSTALL_PREFIX="/usr" \ -DDISPLAY_VERSION=$1 \ -DENABLE_COMPATIBILITY_LIST_DOWNLOAD=ON \ @@ -27,12 +22,11 @@ cmake .. \ -DSUYU_CRASH_DUMPS=ON \ -DSUYU_ENABLE_COMPATIBILITY_REPORTING=${ENABLE_COMPATIBILITY_REPORTING:-"OFF"} \ -DSUYU_USE_BUNDLED_FFMPEG=ON \ - -DSUYU_USE_FASTER_LD=ON \ -GNinja ninja -ccache -sv +ccache -s ctest -VV -C Release diff --git a/.ci/scripts/clang/upload.sh b/.ci/scripts/clang/upload.sh index 713f4d2103..3851693ec0 100755 --- a/.ci/scripts/clang/upload.sh +++ b/.ci/scripts/clang/upload.sh @@ -1,6 +1,6 @@ #!/bin/bash -ex -# SPDX-FileCopyrightText: 2021 yuzu Emulator Project +# SPDX-FileCopyrightText: 2021 yuzu Emulator Project & 2024 suyu Emulator Project # SPDX-License-Identifier: GPL-2.0-or-later . .ci/scripts/common/pre-upload.sh diff --git a/.ci/scripts/linux/docker.sh b/.ci/scripts/linux/docker.sh index 9854429257..b6b8efeea4 100755 --- a/.ci/scripts/linux/docker.sh +++ b/.ci/scripts/linux/docker.sh @@ -8,8 +8,6 @@ set -e ccache -s -git submodule update --init --recursive - mkdir build || true && cd build cmake .. \ -DBoost_USE_STATIC_LIBS=ON \ @@ -17,8 +15,8 @@ cmake .. \ -DSUYU_USE_PRECOMPILED_HEADERS=OFF \ -DDYNARMIC_USE_PRECOMPILED_HEADERS=OFF \ -DCMAKE_CXX_FLAGS="-march=x86-64-v2" \ - -DCMAKE_CXX_COMPILER=/usr/local/bin/g++ \ - -DCMAKE_C_COMPILER=/usr/local/bin/gcc \ + -DCMAKE_CXX_COMPILER=/usr/lib/ccache/g++ \ + -DCMAKE_C_COMPILER=/usr/lib/ccache/gcc \ -DCMAKE_INSTALL_PREFIX="/usr" \ -DDISPLAY_VERSION=$1 \ -DENABLE_COMPATIBILITY_LIST_DOWNLOAD=OFF \ @@ -26,14 +24,14 @@ cmake .. \ -DUSE_DISCORD_PRESENCE=ON \ -DSUYU_ENABLE_COMPATIBILITY_REPORTING=${ENABLE_COMPATIBILITY_REPORTING:-"OFF"} \ -DSUYU_USE_BUNDLED_FFMPEG=ON \ - -DSUYU_ENABLE_LTO=OFF \ + -DSUYU_ENABLE_LTO=ON \ -DSUYU_CRASH_DUMPS=ON \ -DSUYU_USE_FASTER_LD=ON \ -GNinja ninja -ccache -sv +ccache -s ctest -VV -C Release @@ -54,9 +52,9 @@ DESTDIR="$PWD/AppDir" ninja install rm -vf AppDir/usr/bin/suyu-cmd AppDir/usr/bin/suyu-tester # Download tools needed to build an AppImage -wget -nc https://git.suyu.dev/suyu/ext-linux-bin/raw/branch/main/appimage/deploy-linux.sh -wget -nc https://git.suyu.dev/suyu/ext-linux-bin/raw/branch/main/appimage/exec-x86_64.so -wget -nc https://git.suyu.dev/suyu/AppImageKit-checkrt/raw/branch/gh-workflow/AppRun +wget -nc https://gitlab.com/suyu-emu/ext-linux-bin/-/raw/main/appimage/deploy-linux.sh +wget -nc https://gitlab.com/suyu-emu/ext-linux-bin/-/raw/main/appimage/exec-x86_64.so +wget -nc https://gitlab.com/suyu-emu/AppImageKit-checkrt/-/raw/old/AppRun.sh # Set executable bit chmod 755 \ diff --git a/.ci/scripts/linux/upload.sh b/.ci/scripts/linux/upload.sh index 0e383fd059..a88b018195 100755 --- a/.ci/scripts/linux/upload.sh +++ b/.ci/scripts/linux/upload.sh @@ -1,6 +1,6 @@ #!/bin/bash -ex -# SPDX-FileCopyrightText: 2019 yuzu Emulator Project +# SPDX-FileCopyrightText: 2019 yuzu Emulator Project & 2024 suyu Emulator Project # SPDX-License-Identifier: GPL-2.0-or-later . .ci/scripts/common/pre-upload.sh @@ -37,7 +37,7 @@ fi # Don't let AppImageLauncher ask to integrate EA if [ "${RELEASE_NAME}" = "mainline" ] || [ "${RELEASE_NAME}" = "early-access" ]; then - echo "X-AppImage-Integrate=false" >> AppDir/dev.suyu_emu.suyu.desktop + echo "X-AppImage-Integrate=false" >> AppDir/org.suyu_emu.suyu.desktop fi if [ "${RELEASE_NAME}" = "mainline" ]; then diff --git a/.ci/scripts/windows/docker.sh b/.ci/scripts/windows/docker.sh index ba40e5dbbb..446da7d3e5 100755 --- a/.ci/scripts/windows/docker.sh +++ b/.ci/scripts/windows/docker.sh @@ -1,26 +1,20 @@ #!/bin/bash -ex -# SPDX-FileCopyrightText: 2019 yuzu Emulator Project -# SPDX-FileCopyrightText: 2024 suyu Emulator Project +# SPDX-FileCopyrightText: 2019 yuzu Emulator Project & 2024 suyu Emulator Project # SPDX-License-Identifier: GPL-2.0-or-later set -e #cd /suyu -ccache -s +ccache -sv -git submodule update --init --recursive - -rm -rf build mkdir -p build && cd build -/usr/bin/x86_64-w64-mingw32-cmake .. \ +cmake .. \ -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_TOOLCHAIN_FILE="${PWD}/../CMakeModules/MinGWCross.cmake" \ -DDISPLAY_VERSION="$1" \ - -DDYNARMIC_USE_PRECOMPILED_HEADERS=OFF \ - -DSUYU_USE_PRECOMPILED_HEADERS=OFF \ - -DENABLE_COMPATIBILITY_LIST_DOWNLOAD=OFF \ - -DUSE_DISCORD_PRESENCE=ON \ + -DENABLE_COMPATIBILITY_LIST_DOWNLOAD=ON \ -DENABLE_QT_TRANSLATION=ON \ -DUSE_CCACHE=ON \ -DSUYU_USE_BUNDLED_SDL2=OFF \ diff --git a/.forgejo/ISSUE_TEMPLATE/config.yml b/.forgejo/ISSUE_TEMPLATE/config.yml deleted file mode 100644 index 1a365db1a9..0000000000 --- a/.forgejo/ISSUE_TEMPLATE/config.yml +++ /dev/null @@ -1,5 +0,0 @@ -blank_issues_enabled: false -contact_links: - - name: suyu chat - url: https://chat.suyu.dev/ - 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 chat linked here. Piracy is not allowed. diff --git a/.forgejo/workflows/codespell.yml b/.forgejo/workflows/codespell.yml deleted file mode 100644 index 951e1583ef..0000000000 --- a/.forgejo/workflows/codespell.yml +++ /dev/null @@ -1,29 +0,0 @@ -# SPDX-FileCopyrightText: 2023 yuzu Emulator Project -# SPDX-FileCopyrightText: 2024 suyu Emulator Project -# SPDX-License-Identifier: GPL-2.0-or-later -# -# GitHub Action to automate the identification of common misspellings in text files. -# https://github.com/codespell-project/actions-codespell -# https://github.com/codespell-project/codespell - -# Actions Documentation: https://forgejo.org/docs/next/user/actions/#list-of-tasks-in-a-repository - -name: codespell -on: - push: - branches: [ "*" ] - tags: [ "*" ] - pull_request: - branches: [ "*" ] - -permissions: {} -jobs: - codespell: - name: Check for spelling errors - runs-on: docker - steps: - - uses: https://code.forgejo.org/actions/checkout@v3 - with: - persist-credentials: false - - uses: https://github.com/codespell-project/actions-codespell@master - diff --git a/.forgejo/workflows/reuse.yml b/.forgejo/workflows/reuse.yml deleted file mode 100644 index ba2fe448b5..0000000000 --- a/.forgejo/workflows/reuse.yml +++ /dev/null @@ -1,38 +0,0 @@ -# SPDX-FileCopyrightText: 2021 yuzu Emulator Project -# SPDX-FileCopyrightText: 2024 suyu Emulator Project -# SPDX-License-Identifier: GPL-2.0-or-later - -# Actions Documentation: https://forgejo.org/docs/next/user/actions/#list-of-tasks-in-a-repository - -name: suyu-ci - -on: - push: - branches: [ "dev" ] - tags: [ "*" ] - pull_request: - branches: [ "dev" ] - -jobs: -# transifex: -# runs-on: ubuntu-latest -# container: fijxu/build-environments:linux-transifex -# if: ${{ GITHUB_REPOSITORY == 'suyu/suyu' && !GITHUB_HEAD_REF }} -# steps: -# - uses: https://code.forgejo.org/actions/checkout@v3 -# with: -# submodules: recursive -# fetch-depth: 0 -# - name: Update Translation -# run: ./.ci/scripts/transifex/docker.sh -# env: -# TX_TOKEN: ${{ secrets.TRANSIFEX_API_TOKEN }} - - reuse: - name: Check REUSE Specification - runs-on: docker - if: ${{ github.repository == 'suyu/suyu' }} - steps: - - uses: https://code.forgejo.org/actions/checkout@v3 - - uses: https://github.com/fsfe/reuse-action@v1 - diff --git a/.forgejo/workflows/verify.yml b/.forgejo/workflows/verify.yml deleted file mode 100644 index aebb79e616..0000000000 --- a/.forgejo/workflows/verify.yml +++ /dev/null @@ -1,217 +0,0 @@ -# SPDX-FileCopyrightText: 2022 yuzu Emulator Project -# SPDX-FileCopyrightText: 2024 suyu Emulator Project -# SPDX-License-Identifier: GPL-3.0-or-later - -# Actions Documentation: https://forgejo.org/docs/next/user/actions/#list-of-tasks-in-a-repository - -name: 'suyu verify' - -on: - pull_request: - # branches: [ "dev" ] - paths: - - 'src/**' - - 'CMakeModules/**' - - 'dist/**' - - 'externals/**' - - 'CMakeLists.txt' - - 'vcpkg.json' - # paths-ignore: - # - 'src/android/**' - push: - # branches: [ "dev" ] - paths: - - 'src/**' - - 'CMakeModules/**' - - 'dist/**' - - 'externals/**' - - 'CMakeLists.txt' - - 'vcpkg.json' - - '.forgejo/workflows/verify.yml' - - '.ci/**' - # paths-ignore: - # - 'src/android/**' - -env: - PR_NUMBER: pr${{ github.event.number }} - -jobs: - format: - name: 'Verify Format' - runs-on: docker - container: fijxu/build-environments:linux-clang-format - steps: - - uses: https://code.forgejo.org/actions/checkout@v3 - with: - submodules: false - # - name: set up JDK 17 - # uses: https://github.com/actions/setup-java@v3 - # with: - # java-version: '17' - # distribution: 'temurin' - - name: 'Verify Formatting' - run: bash -ex ./.ci/scripts/format/script.sh - build-linux: - name: 'test build' - needs: format - runs-on: docker - strategy: - fail-fast: false - matrix: - include: - - type: clang - image: linux-fresh - - type: linux - image: linux-fresh - - type: windows - image: linux-mingw - container: fijxu/build-environments:${{ matrix.image }} - # User 1001 doesn't exists on the images. - # options: -u 1001 - steps: - - uses: https://code.forgejo.org/actions/checkout@v3 - with: - submodules: recursive - fetch-depth: 0 - - name: Set up cache - uses: https://code.forgejo.org/actions/cache@v3 - id: ccache-restore - with: - path: ~/.ccache - key: ${{ runner.os }}-${{ matrix.type }}-${{ github.sha }} - restore-keys: | - ${{ runner.os }}-${{ matrix.type }}- - - name: Create ccache directory - if: steps.ccache-restore.outputs.cache-hit != 'true' - run: mkdir -p ~/.ccache - - name: Build - run: ./.ci/scripts/${{ matrix.type }}/docker.sh - env: - ENABLE_COMPATIBILITY_REPORTING: "ON" - - name: Pack - run: ./.ci/scripts/${{ matrix.type }}/upload.sh - env: - NO_SOURCE_PACK: "YES" - - name: Upload - uses: https://code.forgejo.org/actions/upload-artifact@v3 - with: - name: ${{ matrix.type }} - path: artifacts/ - # build-mac: - # name: 'test build (macos)' - # needs: format - # runs-on: macos-14 - # steps: - # - uses: https://code.forgejo.org/actions/checkout@v3 - # with: - # submodules: recursive - # fetch-depth: 0 - # - name: Install dependencies - # run: | - # brew install autoconf automake boost ccache ffmpeg fmt glslang hidapi libtool libusb lz4 ninja nlohmann-json openssl pkg-config qt@5 sdl2 speexdsp zlib zlib zstd - # - name: Build - # run: | - # mkdir build - # cd build - # export Qt5_DIR="$(brew --prefix qt@5)/lib/cmake" - # cmake .. -GNinja -DCMAKE_BUILD_TYPE=RelWithDebInfo -DSUYU_USE_BUNDLED_VCPKG=OFF -DSUYU_TESTS=OFF -DENABLE_WEB_SERVICE=OFF -DENABLE_LIBUSB=OFF - # ninja - # build-msvc: - # name: 'test build (windows, msvc)' - # needs: format - # runs-on: windows-2022 - # steps: - # - uses: https://code.forgejo.org/actions/checkout@v3 - # with: - # submodules: recursive - # fetch-depth: 0 - # - name: Set up cache - # uses: https://code.forgejo.org/actions/cache@v3 - # with: - # path: ~/.buildcache - # key: ${{ runner.os }}-msvc-${{ github.sha }} - # restore-keys: | - # ${{ runner.os }}-msvc- - # - name: Install dependencies - # shell: pwsh - # run: | - # $ErrorActionPreference = "Stop" - # $BuildCacheVer = "v0.28.4" - # $File = "buildcache-windows.zip" - # $Uri = "https://github.com/mbitsnbites/buildcache/releases/download/$BuildCacheVer/$File" - # $WebClient = New-Object System.Net.WebClient - # $WebClient.DownloadFile($Uri, $File) - # 7z x $File - # $CurrentDir = Convert-Path . - # echo "$CurrentDir/buildcache/bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append - # - name: Install Vulkan SDK - # shell: pwsh - # run: .\.ci\scripts\windows\install-vulkan-sdk.ps1 - # - name: Set up MSVC - # uses: https://github.com/ilammy/msvc-dev-cmd@v1 - # - name: Configure - # env: - # CC: cl.exe - # CXX: cl.exe - # run: | - # glslangValidator --version - # mkdir build - # cmake . -B build -GNinja -DCMAKE_TOOLCHAIN_FILE="CMakeModules/MSVCCache.cmake" -DUSE_CCACHE=ON -DSUYU_USE_BUNDLED_QT=1 -DSUYU_USE_BUNDLED_SDL2=1 -DSUYU_USE_QT_WEB_ENGINE=ON -DENABLE_COMPATIBILITY_LIST_DOWNLOAD=ON -DSUYU_ENABLE_COMPATIBILITY_REPORTING=ON -DUSE_DISCORD_PRESENCE=ON -DENABLE_QT_TRANSLATION=ON -DCMAKE_BUILD_TYPE=Release -DGIT_BRANCH=pr-verify -DSUYU_CRASH_DUMPS=ON - # - name: Build - # run: cmake --build build - # - name: Cache Summary - # run: buildcache -s - # - name: Pack - # shell: pwsh - # run: .\.ci\scripts\windows\upload.ps1 - # - name: Upload - # uses: https://code.forgejo.org/actions/upload-artifact@v3 - # with: - # name: msvc - # path: artifacts/ - # - name: Upload EXE - # uses: https://code.forgejo.org/actions/upload-artifact@v3 - # with: - # name: ${{ env.INDIVIDUAL_EXE }} - # path: ${{ env.INDIVIDUAL_EXE }} - android: - runs-on: docker - container: fijxu/build-environments:android - needs: format - steps: - - uses: https://code.forgejo.org/actions/checkout@v3 - with: - submodules: recursive - fetch-depth: 0 - - name: set up JDK 17 - uses: https://github.com/actions/setup-java@v3 - with: - java-version: '17' - distribution: 'temurin' - - name: Set up cache - uses: https://code.forgejo.org/actions/cache@v3 - with: - path: | - ~/.gradle/caches - ~/.gradle/wrapper - ~/.ccache - key: ${{ runner.os }}-android-${{ github.sha }} - restore-keys: | - ${{ runner.os }}-android- - - name: Query tag name - uses: https://github.com/olegtarasov/get-tag@v2.1.2 - id: tagName - - name: Build - run: ./.ci/scripts/android/build.sh - - name: Copy and sign artifacts - env: - ANDROID_KEYSTORE_B64: ${{ secrets.ANDROID_KEYSTORE_B64 }} - ANDROID_KEY_ALIAS: ${{ secrets.ANDROID_KEY_ALIAS }} - ANDROID_KEYSTORE_PASS: ${{ secrets.ANDROID_KEYSTORE_PASS }} - run: ./.ci/scripts/android/upload.sh - - name: Upload - uses: https://code.forgejo.org/actions/upload-artifact@v3 - with: - name: android - path: artifacts/ - diff --git a/.gitea/ISSUE_TEMPLATE/blank_issue_template.yml b/.gitea/ISSUE_TEMPLATE/blank_issue_template.yml deleted file mode 100644 index 49b7f38228..0000000000 --- a/.gitea/ISSUE_TEMPLATE/blank_issue_template.yml +++ /dev/null @@ -1,10 +0,0 @@ -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 deleted file mode 100644 index 8121611b02..0000000000 --- a/.gitea/ISSUE_TEMPLATE/bug_report.yml +++ /dev/null @@ -1,65 +0,0 @@ -name: Bug Report -description: File a bug report -labels: "bug" -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 deleted file mode 100644 index 1a365db1a9..0000000000 --- a/.gitea/ISSUE_TEMPLATE/config.yml +++ /dev/null @@ -1,5 +0,0 @@ -blank_issues_enabled: false -contact_links: - - name: suyu chat - url: https://chat.suyu.dev/ - 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 chat linked here. Piracy is not allowed. diff --git a/.gitea/ISSUE_TEMPLATE/feature_request.yml b/.gitea/ISSUE_TEMPLATE/feature_request.yml deleted file mode 100644 index c0c27fc0a6..0000000000 --- a/.gitea/ISSUE_TEMPLATE/feature_request.yml +++ /dev/null @@ -1,28 +0,0 @@ -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/.github-archive/ISSUE_TEMPLATE/blank_issue_template.yml b/.github-archive/ISSUE_TEMPLATE/blank_issue_template.yml deleted file mode 100644 index 49b7f38228..0000000000 --- a/.github-archive/ISSUE_TEMPLATE/blank_issue_template.yml +++ /dev/null @@ -1,10 +0,0 @@ -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/.github-archive/ISSUE_TEMPLATE/bug_report.yml b/.github-archive/ISSUE_TEMPLATE/bug_report.yml deleted file mode 100644 index a274cf3607..0000000000 --- a/.github-archive/ISSUE_TEMPLATE/bug_report.yml +++ /dev/null @@ -1,64 +0,0 @@ -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 Build(s) - description: List the affected build(s) 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/.github-archive/ISSUE_TEMPLATE/feature_request.yml b/.github-archive/ISSUE_TEMPLATE/feature_request.yml deleted file mode 100644 index e5a65dae89..0000000000 --- a/.github-archive/ISSUE_TEMPLATE/feature_request.yml +++ /dev/null @@ -1,28 +0,0 @@ -name: Feature Request -description: File a feature request -labels: "request" -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/.github-archive/workflows/android-build.yml b/.github-archive/workflows/android-build.yml deleted file mode 100644 index 5efda89230..0000000000 --- a/.github-archive/workflows/android-build.yml +++ /dev/null @@ -1,80 +0,0 @@ -# SPDX-FileCopyrightText: 2022 yuzu Emulator Project -# SPDX-License-Identifier: GPL-3.0-or-later - -name: 'suyu-android-build' - -on: - push: - tags: [ "*" ] - -jobs: - android: - runs-on: ubuntu-latest - if: ${{ github.repository == 'suyu-emu/suyu-android' }} - steps: - - uses: actions/checkout@v3 - with: - submodules: recursive - fetch-depth: 0 - - name: Set up JDK 17 - uses: actions/setup-java@v3 - with: - java-version: '17' - distribution: 'temurin' - - name: Set up cache - uses: actions/cache@v3 - with: - path: | - ~/.gradle/caches - ~/.gradle/wrapper - ~/.ccache - key: ${{ runner.os }}-android-${{ github.sha }} - restore-keys: | - ${{ runner.os }}-android- - - name: Query tag name - uses: olegtarasov/get-tag@v2.1.2 - id: tagName - - name: Install dependencies - run: | - sudo apt-get update - sudo apt-get install -y ccache apksigner glslang-dev glslang-tools - - name: Build - run: ./.ci/scripts/android/build.sh - env: - ANDROID_KEYSTORE_B64: ${{ secrets.ANDROID_KEYSTORE_B64 }} - ANDROID_KEY_ALIAS: ${{ secrets.ANDROID_KEY_ALIAS }} - ANDROID_KEYSTORE_PASS: ${{ secrets.ANDROID_KEYSTORE_PASS }} - - name: Copy artifacts - run: ./.ci/scripts/android/upload.sh - - name: Upload - uses: actions/upload-artifact@v3 - with: - name: android - path: artifacts/ - # release steps - release-android: - runs-on: ubuntu-latest - needs: [android] - if: ${{ startsWith(github.ref, 'refs/tags/') }} - permissions: - contents: write - steps: - - uses: actions/download-artifact@v3 - - name: Query tag name - uses: olegtarasov/get-tag@v2.1.2 - id: tagName - - name: Create release - uses: actions/create-release@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - tag_name: ${{ steps.tagName.outputs.tag }} - release_name: ${{ steps.tagName.outputs.tag }} - draft: false - prerelease: false - - name: Upload artifacts - uses: alexellis/upload-assets@0.2.3 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - asset_paths: '["./**/*.apk","./**/*.aab"]' diff --git a/.github-archive/workflows/android-ea-play-release.yml b/.github-archive/workflows/android-ea-play-release.yml deleted file mode 100644 index 0f7406ba7e..0000000000 --- a/.github-archive/workflows/android-ea-play-release.yml +++ /dev/null @@ -1,66 +0,0 @@ -# SPDX-FileCopyrightText: 2024 yuzu Emulator Project -# SPDX-License-Identifier: GPL-2.0-or-later - -name: suyu-android-ea-play-release - -on: - workflow_dispatch: - inputs: - release-track: - description: 'Play store release track (internal/alpha/beta/production)' - required: true - default: 'alpha' - -jobs: - android: - runs-on: ubuntu-latest - if: ${{ github.repository == 'suyu-emu/suyu' }} - steps: - - uses: actions/checkout@v3 - name: Checkout - with: - fetch-depth: 0 - submodules: true - token: ${{ secrets.ALT_GITHUB_TOKEN }} - - run: npm install execa@5 - - uses: actions/github-script@v5 - name: 'Merge and publish Android EA changes' - env: - ALT_GITHUB_TOKEN: ${{ secrets.ALT_GITHUB_TOKEN }} - BUILD_EA: true - with: - script: | - const execa = require("execa"); - const mergebot = require('./.github/workflows/android-merge.js').mergebot; - process.chdir('${{ github.workspace }}'); - mergebot(github, context, execa); - - name: Get tag name - run: echo "GIT_TAG_NAME=$(cat tag-name.txt)" >> $GITHUB_ENV - - name: Set up JDK 17 - uses: actions/setup-java@v3 - with: - java-version: '17' - distribution: 'temurin' - - name: Install dependencies - run: | - sudo apt-get update - sudo apt-get install -y ccache apksigner glslang-dev glslang-tools - - name: Build - run: ./.ci/scripts/android/eabuild.sh - env: - EA_PLAY_ANDROID_KEYSTORE_B64: ${{ secrets.PLAY_ANDROID_KEYSTORE_B64 }} - PLAY_ANDROID_KEY_ALIAS: ${{ secrets.PLAY_ANDROID_KEY_ALIAS }} - PLAY_ANDROID_KEYSTORE_PASS: ${{ secrets.PLAY_ANDROID_KEYSTORE_PASS }} - EA_SERVICE_ACCOUNT_KEY_B64: ${{ secrets.EA_SERVICE_ACCOUNT_KEY_B64 }} - STORE_TRACK: ${{ github.event.inputs.release-track }} - AUTO_VERSIONED: true - BUILD_EA: true - - name: Create release - uses: softprops/action-gh-release@v1 - with: - tag_name: ${{ env.EA_TAG_NAME }} - name: ${{ env.EA_TAG_NAME }} - draft: false - prerelease: false - repository: suyu/suyu-android - token: ${{ secrets.ALT_GITHUB_TOKEN }} diff --git a/.github-archive/workflows/android-mainline-play-release.yml b/.github-archive/workflows/android-mainline-play-release.yml deleted file mode 100644 index 91982ad538..0000000000 --- a/.github-archive/workflows/android-mainline-play-release.yml +++ /dev/null @@ -1,59 +0,0 @@ -# SPDX-FileCopyrightText: 2024 yuzu Emulator Project -# SPDX-License-Identifier: GPL-2.0-or-later - -name: suyu-android-mainline-play-release - -on: - workflow_dispatch: - inputs: - release-tag: - description: 'Tag # from suyu-android that you want to build and publish' - required: true - default: '200' - release-track: - description: 'Play store release track (internal/alpha/beta/production)' - required: true - default: 'alpha' - -jobs: - android: - runs-on: ubuntu-latest - if: ${{ github.repository == 'suyu-emu/suyu' }} - steps: - - uses: actions/checkout@v3 - name: Checkout - with: - fetch-depth: 0 - submodules: true - token: ${{ secrets.ALT_GITHUB_TOKEN }} - - run: npm install execa@5 - - uses: actions/github-script@v5 - name: 'Pull mainline tag' - env: - MAINLINE_TAG: ${{ github.event.inputs.release-tag }} - with: - script: | - const execa = require("execa"); - const mergebot = require('./.github/workflows/android-merge.js').getMainlineTag; - process.chdir('${{ github.workspace }}'); - mergebot(execa); - - name: Set up JDK 17 - uses: actions/setup-java@v3 - with: - java-version: '17' - distribution: 'temurin' - - name: Install dependencies - run: | - sudo apt-get update - sudo apt-get install -y ccache apksigner glslang-dev glslang-tools - - name: Build - run: | - echo "GIT_TAG_NAME=android-${{ github.event.inputs.releast-tag }}" >> $GITHUB_ENV - ./.ci/scripts/android/mainlinebuild.sh - env: - MAINLINE_PLAY_ANDROID_KEYSTORE_B64: ${{ secrets.PLAY_ANDROID_KEYSTORE_B64 }} - PLAY_ANDROID_KEY_ALIAS: ${{ secrets.PLAY_ANDROID_KEY_ALIAS }} - PLAY_ANDROID_KEYSTORE_PASS: ${{ secrets.PLAY_ANDROID_KEYSTORE_PASS }} - SERVICE_ACCOUNT_KEY_B64: ${{ secrets.MAINLINE_SERVICE_ACCOUNT_KEY_B64 }} - STORE_TRACK: ${{ github.event.inputs.release-track }} - AUTO_VERSIONED: true diff --git a/.github-archive/workflows/android-merge.js b/.github-archive/workflows/android-merge.js deleted file mode 100644 index 18e3c8a648..0000000000 --- a/.github-archive/workflows/android-merge.js +++ /dev/null @@ -1,318 +0,0 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project -// SPDX-License-Identifier: GPL-2.0-or-later - -// Note: This is a GitHub Actions script -// It is not meant to be executed directly on your machine without modifications - -const fs = require("fs"); -// which label to check for changes -const CHANGE_LABEL_MAINLINE = 'android-merge'; -const CHANGE_LABEL_EA = 'android-ea-merge'; -// how far back in time should we consider the changes are "recent"? (default: 24 hours) -const DETECTION_TIME_FRAME = (parseInt(process.env.DETECTION_TIME_FRAME)) || (24 * 3600 * 1000); -const BUILD_EA = process.env.BUILD_EA == 'true'; -const MAINLINE_TAG = process.env.MAINLINE_TAG; - -async function checkBaseChanges(github) { - // query the commit date of the latest commit on this branch - const query = `query($owner:String!, $name:String!, $ref:String!) { - repository(name:$name, owner:$owner) { - ref(qualifiedName:$ref) { - target { - ... on Commit { id pushedDate oid } - } - } - } - }`; - const variables = { - owner: 'suyu-emu', - name: 'suyu', - ref: 'refs/heads/master', - }; - const result = await github.graphql(query, variables); - const pushedAt = result.repository.ref.target.pushedDate; - console.log(`Last commit pushed at ${pushedAt}.`); - const delta = new Date() - new Date(pushedAt); - if (delta <= DETECTION_TIME_FRAME) { - console.info('New changes detected, triggering a new build.'); - return true; - } - console.info('No new changes detected.'); - return false; -} - -async function checkAndroidChanges(github) { - if (checkBaseChanges(github)) return true; - const pulls = getPulls(github, false); - for (let i = 0; i < pulls.length; i++) { - let pull = pulls[i]; - if (new Date() - new Date(pull.headRepository.pushedAt) <= DETECTION_TIME_FRAME) { - console.info(`${pull.number} updated at ${pull.headRepository.pushedAt}`); - return true; - } - } - console.info("No changes detected in any tagged pull requests."); - return false; -} - -async function tagAndPush(github, owner, repo, execa, commit=false) { - let altToken = process.env.ALT_GITHUB_TOKEN; - if (!altToken) { - throw `Please set ALT_GITHUB_TOKEN environment variable. This token should have write access to ${owner}/${repo}.`; - } - const query = `query ($owner:String!, $name:String!) { - repository(name:$name, owner:$owner) { - refs(refPrefix: "refs/tags/", orderBy: {field: TAG_COMMIT_DATE, direction: DESC}, first: 10) { - nodes { name } - } - } - }`; - const variables = { - owner: owner, - name: repo, - }; - const tags = await github.graphql(query, variables); - const tagList = tags.repository.refs.nodes; - let lastTag = 'android-1'; - for (let i = 0; i < tagList.length; ++i) { - if (tagList[i].name.includes('android-')) { - lastTag = tagList[i].name; - break; - } - } - const tagNumber = /\w+-(\d+)/.exec(lastTag)[1] | 0; - const channel = repo.split('-')[1]; - const newTag = `${channel}-${tagNumber + 1}`; - console.log(`New tag: ${newTag}`); - if (commit) { - let channelName = channel[0].toUpperCase() + channel.slice(1); - console.info(`Committing pending commit as ${channelName} ${tagNumber + 1}`); - await execa("git", ['commit', '-m', `${channelName} ${tagNumber + 1}`]); - } - console.info('Pushing tags to GitHub ...'); - await execa("git", ['tag', newTag]); - await execa("git", ['remote', 'add', 'target', `https://${altToken}@github.com/${owner}/${repo}.git`]); - await execa("git", ['push', 'target', 'master', '-f']); - await execa("git", ['push', 'target', 'master', '--tags']); - console.info('Successfully pushed new changes.'); -} - -async function tagAndPushEA(github, owner, repo, execa) { - let altToken = process.env.ALT_GITHUB_TOKEN; - if (!altToken) { - throw `Please set ALT_GITHUB_TOKEN environment variable. This token should have write access to ${owner}/${repo}.`; - } - const query = `query ($owner:String!, $name:String!) { - repository(name:$name, owner:$owner) { - refs(refPrefix: "refs/tags/", orderBy: {field: TAG_COMMIT_DATE, direction: DESC}, first: 10) { - nodes { name } - } - } - }`; - const variables = { - owner: owner, - name: repo, - }; - const tags = await github.graphql(query, variables); - const tagList = tags.repository.refs.nodes; - let lastTag = 'ea-1'; - for (let i = 0; i < tagList.length; ++i) { - if (tagList[i].name.includes('ea-')) { - lastTag = tagList[i].name; - break; - } - } - const tagNumber = /\w+-(\d+)/.exec(lastTag)[1] | 0; - const newTag = `ea-${tagNumber + 1}`; - console.log(`New tag: ${newTag}`); - console.info('Pushing tags to GitHub ...'); - await execa("git", ["remote", "add", "android", "https://gitlab.com/suyu-emu/suyu-android.git"]); - await execa("git", ["fetch", "android"]); - - await execa("git", ['tag', newTag]); - await execa("git", ['push', 'android', `${newTag}`]); - - fs.writeFile('tag-name.txt', newTag, (err) => { - if (err) throw 'Could not write tag name to file!' - }) - - console.info('Successfully pushed new changes.'); -} - -async function generateReadme(pulls, context, mergeResults, execa) { - let baseUrl = `https://github.com/${context.repo.owner}/${context.repo.repo}/`; - let output = - "| Pull Request | Commit | Title | Author | Merged? |\n|----|----|----|----|----|\n"; - for (let pull of pulls) { - let pr = pull.number; - let result = mergeResults[pr]; - output += `| [${pr}](${baseUrl}/pull/${pr}) | [\`${result.rev || "N/A"}\`](${baseUrl}/pull/${pr}/files) | ${pull.title} | [${pull.author.login}](https://github.com/${pull.author.login}/) | ${result.success ? "Yes" : "No"} |\n`; - } - output += - "\n\nEnd of merge log. You can find the original README.md below the break.\n\n-----\n\n"; - output += fs.readFileSync("./README.md"); - fs.writeFileSync("./README.md", output); - await execa("git", ["add", "README.md"]); -} - -async function fetchPullRequests(pulls, repoUrl, execa) { - console.log("::group::Fetch pull requests"); - for (let pull of pulls) { - let pr = pull.number; - console.info(`Fetching PR ${pr} ...`); - await execa("git", [ - "fetch", - "-f", - "--no-recurse-submodules", - repoUrl, - `pull/${pr}/head:pr-${pr}`, - ]); - } - console.log("::endgroup::"); -} - -async function mergePullRequests(pulls, execa) { - let mergeResults = {}; - console.log("::group::Merge pull requests"); - await execa("git", ["config", "--global", "user.name", "suyubot"]); - await execa("git", [ - "config", - "--global", - "user.email", - "suyu\x40suyu-emu\x2eorg", // prevent email harvesters from scraping the address - ]); - let hasFailed = false; - for (let pull of pulls) { - let pr = pull.number; - console.info(`Merging PR ${pr} ...`); - try { - const process1 = execa("git", [ - "merge", - "--squash", - "--no-edit", - `pr-${pr}`, - ]); - process1.stdout.pipe(process.stdout); - await process1; - - const process2 = execa("git", ["commit", "-m", `Merge suyu-emu#${pr}`]); - process2.stdout.pipe(process.stdout); - await process2; - - const process3 = await execa("git", ["rev-parse", "--short", `pr-${pr}`]); - mergeResults[pr] = { - success: true, - rev: process3.stdout, - }; - } catch (err) { - console.log( - `::error title=#${pr} not merged::Failed to merge pull request: ${pr}: ${err}` - ); - mergeResults[pr] = { success: false }; - hasFailed = true; - await execa("git", ["reset", "--hard"]); - } - } - console.log("::endgroup::"); - if (hasFailed) { - throw 'There are merge failures. Aborting!'; - } - return mergeResults; -} - -async function resetBranch(execa) { - console.log("::group::Reset master branch"); - let hasFailed = false; - try { - await execa("git", ["remote", "add", "source", "https://gitlab.com/suyu-emu/suyu.git"]); - await execa("git", ["fetch", "source"]); - const process1 = await execa("git", ["rev-parse", "source/master"]); - const headCommit = process1.stdout; - - await execa("git", ["reset", "--hard", headCommit]); - } catch (err) { - console.log(`::error title=Failed to reset master branch`); - hasFailed = true; - } - console.log("::endgroup::"); - if (hasFailed) { - throw 'Failed to reset the master branch. Aborting!'; - } -} - -async function getPulls(github) { - const query = `query ($owner:String!, $name:String!, $label:String!) { - repository(name:$name, owner:$owner) { - pullRequests(labels: [$label], states: OPEN, first: 100) { - nodes { - number title author { login } - } - } - } - }`; - const mainlineVariables = { - owner: 'suyu-emu', - name: 'suyu', - label: CHANGE_LABEL_MAINLINE, - }; - const mainlineResult = await github.graphql(query, mainlineVariables); - const pulls = mainlineResult.repository.pullRequests.nodes; - if (BUILD_EA) { - const eaVariables = { - owner: 'suyu-emu', - name: 'suyu', - label: CHANGE_LABEL_EA, - }; - const eaResult = await github.graphql(query, eaVariables); - const eaPulls = eaResult.repository.pullRequests.nodes; - return pulls.concat(eaPulls); - } - return pulls; -} - -async function getMainlineTag(execa) { - console.log(`::group::Getting mainline tag android-${MAINLINE_TAG}`); - let hasFailed = false; - try { - await execa("git", ["remote", "add", "mainline", "https://gitlab.com/suyu-emu/suyu-android.git"]); - await execa("git", ["fetch", "mainline", "--tags"]); - await execa("git", ["checkout", `tags/android-${MAINLINE_TAG}`]); - await execa("git", ["submodule", "update", "--init", "--recursive"]); - } catch (err) { - console.log('::error title=Failed pull tag'); - hasFailed = true; - } - console.log("::endgroup::"); - if (hasFailed) { - throw 'Failed pull mainline tag. Aborting!'; - } -} - -async function mergebot(github, context, execa) { - // Reset our local copy of master to what appears on suyu-emu/suyu - master - await resetBranch(execa); - - const pulls = await getPulls(github); - let displayList = []; - for (let i = 0; i < pulls.length; i++) { - let pull = pulls[i]; - displayList.push({ PR: pull.number, Title: pull.title }); - } - console.info("The following pull requests will be merged:"); - console.table(displayList); - await fetchPullRequests(pulls, "https://gitlab.com/suyu-emu/suyu", execa); - const mergeResults = await mergePullRequests(pulls, execa); - - if (BUILD_EA) { - await tagAndPushEA(github, 'suyu-emu', `suyu-android`, execa); - } else { - await generateReadme(pulls, context, mergeResults, execa); - await tagAndPush(github, 'suyu-emu', `suyu-android`, execa, true); - } -} - -module.exports.mergebot = mergebot; -module.exports.checkAndroidChanges = checkAndroidChanges; -module.exports.tagAndPush = tagAndPush; -module.exports.checkBaseChanges = checkBaseChanges; -module.exports.getMainlineTag = getMainlineTag; diff --git a/.github-archive/workflows/android-publish.yml b/.github-archive/workflows/android-publish.yml deleted file mode 100644 index 61f739e96a..0000000000 --- a/.github-archive/workflows/android-publish.yml +++ /dev/null @@ -1,57 +0,0 @@ -# SPDX-FileCopyrightText: 2024 yuzu Emulator Project -# SPDX-License-Identifier: GPL-2.0-or-later - -name: yuzu-android-publish - -on: - schedule: - - cron: '37 0 * * *' - workflow_dispatch: - inputs: - android: - description: 'Whether to trigger an Android build (true/false/auto)' - required: false - default: 'true' - -jobs: - android: - runs-on: ubuntu-latest - if: ${{ github.event.inputs.android != 'false' && github.repository == 'yuzu-emu/yuzu' }} - steps: - # this checkout is required to make sure the GitHub Actions scripts are available - - uses: actions/checkout@v3 - name: Pre-checkout - with: - submodules: false - - uses: actions/github-script@v6 - id: check-changes - name: 'Check for new changes' - env: - # 24 hours - DETECTION_TIME_FRAME: 86400000 - with: - script: | - if (context.payload.inputs && context.payload.inputs.android === 'true') return true; - const checkAndroidChanges = require('./.github/workflows/android-merge.js').checkAndroidChanges; - return checkAndroidChanges(github); - - run: npm install execa@5 - if: ${{ steps.check-changes.outputs.result == 'true' }} - - uses: actions/checkout@v3 - name: Checkout - if: ${{ steps.check-changes.outputs.result == 'true' }} - with: - path: 'yuzu-merge' - fetch-depth: 0 - submodules: true - token: ${{ secrets.ALT_GITHUB_TOKEN }} - - uses: actions/github-script@v5 - name: 'Check and merge Android changes' - if: ${{ steps.check-changes.outputs.result == 'true' }} - env: - ALT_GITHUB_TOKEN: ${{ secrets.ALT_GITHUB_TOKEN }} - with: - script: | - const execa = require("execa"); - const mergebot = require('./.github/workflows/android-merge.js').mergebot; - process.chdir('${{ github.workspace }}/yuzu-merge'); - mergebot(github, context, execa); diff --git a/.forgejo/ISSUE_TEMPLATE/blank_issue_template.yml b/.github/ISSUE_TEMPLATE/blank_issue_template.yml similarity index 100% rename from .forgejo/ISSUE_TEMPLATE/blank_issue_template.yml rename to .github/ISSUE_TEMPLATE/blank_issue_template.yml diff --git a/.forgejo/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml similarity index 100% rename from .forgejo/ISSUE_TEMPLATE/bug_report.yml rename to .github/ISSUE_TEMPLATE/bug_report.yml diff --git a/.github-archive/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml similarity index 100% rename from .github-archive/ISSUE_TEMPLATE/config.yml rename to .github/ISSUE_TEMPLATE/config.yml diff --git a/.forgejo/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml similarity index 100% rename from .forgejo/ISSUE_TEMPLATE/feature_request.yml rename to .github/ISSUE_TEMPLATE/feature_request.yml diff --git a/.forgejo/workflows/android-build.yml b/.github/workflows/android-build.yml similarity index 100% rename from .forgejo/workflows/android-build.yml rename to .github/workflows/android-build.yml diff --git a/.forgejo/workflows/android-ea-play-release.yml b/.github/workflows/android-ea-play-release.yml similarity index 100% rename from .forgejo/workflows/android-ea-play-release.yml rename to .github/workflows/android-ea-play-release.yml diff --git a/.forgejo/workflows/android-mainline-play-release.yml b/.github/workflows/android-mainline-play-release.yml similarity index 100% rename from .forgejo/workflows/android-mainline-play-release.yml rename to .github/workflows/android-mainline-play-release.yml diff --git a/.forgejo/workflows/android-merge.js b/.github/workflows/android-merge.js similarity index 100% rename from .forgejo/workflows/android-merge.js rename to .github/workflows/android-merge.js diff --git a/.forgejo/workflows/android-publish.yml b/.github/workflows/android-publish.yml similarity index 100% rename from .forgejo/workflows/android-publish.yml rename to .github/workflows/android-publish.yml diff --git a/.github-archive/workflows/ci.yml b/.github/workflows/ci.yml similarity index 100% rename from .github-archive/workflows/ci.yml rename to .github/workflows/ci.yml diff --git a/.github-archive/workflows/codespell.yml b/.github/workflows/codespell.yml similarity index 100% rename from .github-archive/workflows/codespell.yml rename to .github/workflows/codespell.yml diff --git a/.github-archive/workflows/verify.yml b/.github/workflows/verify.yml similarity index 100% rename from .github-archive/workflows/verify.yml rename to .github/workflows/verify.yml diff --git a/.gitignore b/.gitignore index 3fb4eca6ec..2bf2c86d8c 100644 --- a/.gitignore +++ b/.gitignore @@ -40,6 +40,3 @@ Thumbs.db # Local Gitlab CI Runner .gitlab-ci-local/ - -# clangd compile_commands.json -compile_commands.json diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 3963969db6..fec8089f0b 100755 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -8,9 +8,9 @@ variables: ARTIFACT_COMPRESSION_LEVEL: "fast" CACHE_COMPRESSION_LEVEL: "fastest" CACHE_REQUEST_TIMEOUT: 5 - # Use FASTZIP for faster compression in cache and artifacts (boolean) + # Use FASTZIP for faster compression in cache and artifacts # https://docs.gitlab.com/runner/configuration/feature-flags.html#available-feature-flags - FF_USE_FASTZIP: 1 + FF_USE_FASTZIP: true # Our Variables CACHE_DIR: "$CI_PROJECT_DIR/ccache" diff --git a/.gitmodules b/.gitmodules index d9fbaf3971..318fa81c66 100644 --- a/.gitmodules +++ b/.gitmodules @@ -9,22 +9,22 @@ url = https://github.com/mozilla/cubeb.git [submodule "dynarmic"] path = externals/dynarmic - url = https://git.suyu.dev/suyu/dynarmic.git + url = https://gitlab.com/suyu-emu/dynarmic.git [submodule "libusb"] path = externals/libusb/libusb url = https://github.com/libusb/libusb.git [submodule "discord-rpc"] path = externals/discord-rpc - url = https://git.suyu.dev/suyu/discord-rpc.git + url = https://gitlab.com/suyu-emu/discord-rpc.git [submodule "Vulkan-Headers"] path = externals/Vulkan-Headers url = https://github.com/KhronosGroup/Vulkan-Headers.git [submodule "sirit"] path = externals/sirit - url = https://git.suyu.dev/suyu/sirit.git + url = https://gitlab.com/suyu-emu/sirit.git [submodule "mbedtls"] path = externals/mbedtls - url = https://git.suyu.dev/suyu/mbedtls.git + url = https://gitlab.com/suyu-emu/mbedtls.git [submodule "xbyak"] path = externals/xbyak url = https://github.com/herumi/xbyak.git @@ -57,7 +57,7 @@ url = https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator.git [submodule "breakpad"] path = externals/breakpad - url = https://git.suyu.dev/suyu/breakpad.git + url = https://gitlab.com/suyu-emu/breakpad.git [submodule "simpleini"] path = externals/simpleini url = https://github.com/brofield/simpleini.git diff --git a/.reuse/dep5 b/.reuse/dep5 index 9779726e3f..926ddd097d 100644 --- a/.reuse/dep5 +++ b/.reuse/dep5 @@ -5,15 +5,11 @@ Comment: It is best to use this file to record copyright information about Files: dist/english_plurals/* dist/icons/controller/*.png dist/icons/overlay/*.png - dist/icons/overlay_dark/*.png dist/languages/* dist/qt_themes/*/icons/48x48/sd_card.png dist/qt_themes/*/icons/index.theme dist/qt_themes/default/style.qss - dist/qt_themes/*/icons.qrc - dist/qt_themes/*/style.qrc -Copyright: yuzu Emulator Project - suyu Emulator Project +Copyright: suyu Emulator Project License: GPL-2.0-or-later Files: dist/qt_themes/default/icons/256x256/suyu.png @@ -25,7 +21,8 @@ Copyright: suyu Emulator Project License: GPL-2.0-or-later Files: dist/qt_themes/qdarkstyle*/LICENSE.* - dist/qt_themes/qdarkstyle*/dark.qss + dist/qt_themes/qdarkstyle*/style.qrc + dist/qt_themes/qdarkstyle*/style.qss Copyright: 2013 Colin Duquesnoy 2019 Daniel Cosmo Pizetta License: MIT @@ -35,28 +32,28 @@ Copyright: 2013 Colin Duquesnoy 2019 Daniel Cosmo Pizetta License: CC-BY-4.0 -Files: dist/qt_themes/monochrome/icons/256x256/plus_folder.png - dist/qt_themes/monochrome/icons/48x48/bad_folder.png - dist/qt_themes/monochrome/icons/48x48/chip.png - dist/qt_themes/monochrome/icons/48x48/folder.png - dist/qt_themes/monochrome/icons/48x48/star.png - dist/qt_themes/monochrome_dark/icons/48x48/bad_folder.png - dist/qt_themes/monochrome_dark/icons/48x48/chip.png - dist/qt_themes/monochrome_dark/icons/48x48/folder.png - dist/qt_themes/monochrome_dark/icons/48x48/star.png - dist/qt_themes/monochrome_dark/icons/256x256/plus_folder.png +Files: dist/qt_themes/default/icons/256x256/plus_folder.png + dist/qt_themes/default/icons/48x48/bad_folder.png + dist/qt_themes/default/icons/48x48/chip.png + dist/qt_themes/default/icons/48x48/folder.png + dist/qt_themes/default/icons/48x48/star.png + dist/qt_themes/qdarkstyle/icons/256x256/plus_folder.png + dist/qt_themes/qdarkstyle/icons/48x48/bad_folder.png + dist/qt_themes/qdarkstyle/icons/48x48/chip.png + dist/qt_themes/qdarkstyle/icons/48x48/folder.png + dist/qt_themes/qdarkstyle/icons/48x48/star.png Copyright: Refactoring UI Inc. License: MIT Comment: https://github.com/tailwindlabs/heroicons -Files: dist/qt_themes/default/icons/16x16/lock.png - dist/qt_themes/default/icons/256x256/plus_folder.png - dist/qt_themes/default/icons/48x48/bad_folder.png - dist/qt_themes/default/icons/48x48/chip.png - dist/qt_themes/default/icons/48x48/folder.png - dist/qt_themes/default_dark/icons/16x16/lock.png - dist/qt_themes/default/icons/16x16/info.png - dist/qt_themes/default/icons/16x16/sync.png +Files: dist/qt_themes/colorful/icons/16x16/lock.png + dist/qt_themes/colorful/icons/256x256/plus_folder.png + dist/qt_themes/colorful/icons/48x48/bad_folder.png + dist/qt_themes/colorful/icons/48x48/chip.png + dist/qt_themes/colorful/icons/48x48/folder.png + dist/qt_themes/colorful_dark/icons/16x16/lock.png + dist/qt_themes/colorful/icons/16x16/info.png + dist/qt_themes/colorful/icons/16x16/sync.png Copyright: Icons8 License: MIT Comment: https://github.com/icons8/flat-color-icons @@ -72,15 +69,15 @@ Files: dist/qt_themes/*/icons/48x48/no_avatar.png Copyright: Ionic (http://ionic.io/) License: MIT -Files: dist/qt_themes/default/icons/48x48/star.png - dist/qt_themes/default/icons/16x16/checked.png - dist/qt_themes/default/icons/16x16/failed.png +Files: dist/qt_themes/colorful/icons/48x48/star.png + dist/qt_themes/colorful/icons/16x16/checked.png + dist/qt_themes/colorful/icons/16x16/failed.png Copyright: SVG Repo License: CC0-1.0 Files: dist/qt_themes/*/icons/16x16/view-refresh.png - dist/qt_themes/monochrome/icons/16x16/lock.png - dist/qt_themes/monochrome_dark/icons/16x16/lock.png + dist/qt_themes/default/icons/16x16/lock.png + dist/qt_themes/qdarkstyle/icons/16x16/lock.png Copyright: Google, Inc. License: Apache-2.0 @@ -162,27 +159,3 @@ License: BSD-3-Clause Files: src/android/app/debug.keystore Copyright: 2023 yuzu Emulator Project License: GPL-3.0-or-later - -Files: .github-archive/ISSUE_TEMPLATE/* -Copyright: 2022 yuzu Emulator Project -License: GPL-2.0-or-later - -Files: .forgejo/ISSUE_TEMPLATE/* -Copyright: 2024 suyu Emulator Project -License: GPL-3.0-or-later - -Files: .gitea/ISSUE_TEMPLATE/* -Copyright: 2024 suyu Emulator Project -License: GPL-3.0-or-later - -Files: .gitlab-ci.yml -Copyright: 2024 suyu Emulator Project -License: GPL-3.0-or-later - -Files: dist/icns_generator.sh -Copyright: 2024 suyu Emulator Project -License: GPL-3.0-or-later - -Files: img/* -Copyright: 2024 suyu Emulator Project -License: CC0-1.0 diff --git a/CMakeLists.txt b/CMakeLists.txt index 67bdf6afe9..16f8074f0c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,5 +1,4 @@ -# SPDX-FileCopyrightText: 2018 yuzu Emulator Project -# SPDX-FileCopyrightText: 2024 suyu Emulator Project +# SPDX-FileCopyrightText: 2018 yuzu Emulator Project & 2024 suyu Emulator Project # SPDX-License-Identifier: GPL-2.0-or-later cmake_minimum_required(VERSION 3.22) @@ -72,7 +71,7 @@ option(SUYU_ENABLE_PORTABLE "Allow suyu to enable portable mode if a user folder CMAKE_DEPENDENT_OPTION(SUYU_USE_FASTER_LD "Check if a faster linker is available" ON "NOT WIN32" OFF) -CMAKE_DEPENDENT_OPTION(USE_SYSTEM_MOLTENVK "Use the system MoltenVK lib (instead of the bundled one)" OFF "APPLE" OFF) +CMAKE_DEPENDENT_OPTION(USE_SYSTEM_MOLTENVK "Use the system MoltenVK lib (instead of the bundled one)" OFF "APPLE" ON) option(USE_CCACHE "Use CCache for faster building" ON) @@ -132,7 +131,7 @@ if (SUYU_USE_BUNDLED_VCPKG) set(VCPKG_DOWNLOADS_PATH ${PROJECT_SOURCE_DIR}/externals/vcpkg/downloads) set(NASM_VERSION "2.16.01") set(NASM_DESTINATION_PATH ${VCPKG_DOWNLOADS_PATH}/nasm-${NASM_VERSION}-win64.zip) - set(NASM_DOWNLOAD_URL "https://git.suyu.dev/suyu/ext-windows-bin/raw/branch/master/nasm/nasm-${NASM_VERSION}-win64.zip") + set(NASM_DOWNLOAD_URL "https://gitlab.com/suyu-emu/ext-windows-bin/raw/master/nasm/nasm-${NASM_VERSION}-win64.zip") if (NOT EXISTS ${NASM_DESTINATION_PATH}) file(DOWNLOAD ${NASM_DOWNLOAD_URL} ${NASM_DESTINATION_PATH} SHOW_PROGRESS STATUS NASM_STATUS) @@ -279,6 +278,8 @@ endif() # Configure C++ standard # =========================== +# boost asio's concept usage doesn't play nicely with some compilers yet. +add_definitions(-DBOOST_ASIO_DISABLE_CONCEPTS) if (MSVC) add_compile_options($<$:/std:c++20>) @@ -372,7 +373,6 @@ if(ENABLE_QT6 AND Qt6_LOCATION) list(APPEND CMAKE_PREFIX_PATH "${Qt6_LOCATION}") endif() - function(set_suyu_qt_components) # Best practice is to ask for all components at once, so they are from the same version set(SUYU_QT_COMPONENTS2 Core Widgets Concurrent) @@ -394,71 +394,7 @@ function(set_suyu_qt_components) set(SUYU_QT_COMPONENTS ${SUYU_QT_COMPONENTS2} PARENT_SCOPE) endfunction(set_suyu_qt_components) -# find SDL2 exports a bunch of variables that are needed, so its easier to do this outside of the suyu_find_package -if (ENABLE_SDL2) - if (SUYU_USE_BUNDLED_SDL2) - # Detect toolchain and platform - if ((MSVC_VERSION GREATER_EQUAL 1920 AND MSVC_VERSION LESS 1940) AND ARCHITECTURE_x86_64) - set(SDL2_VER "SDL2-2.28.2") - else() - message(FATAL_ERROR "No bundled SDL2 binaries for your toolchain. Disable SUYU_USE_BUNDLED_SDL2 and provide your own.") - endif() - - if (DEFINED SDL2_VER) - download_bundled_external("sdl2/" ${SDL2_VER} SDL2_PREFIX) - endif() - - set(SDL2_FOUND YES) - set(SDL2_INCLUDE_DIR "${SDL2_PREFIX}/include" CACHE PATH "Path to SDL2 headers") - set(SDL2_LIBRARY "${SDL2_PREFIX}/lib/x64/SDL2.lib" CACHE PATH "Path to SDL2 library") - set(SDL2_DLL_DIR "${SDL2_PREFIX}/lib/x64/" CACHE PATH "Path to SDL2.dll") - - add_library(SDL2::SDL2 INTERFACE IMPORTED) - target_link_libraries(SDL2::SDL2 INTERFACE "${SDL2_LIBRARY}") - target_include_directories(SDL2::SDL2 INTERFACE "${SDL2_INCLUDE_DIR}") - elseif (SUYU_USE_EXTERNAL_SDL2) - message(STATUS "Using SDL2 from externals.") - else() - find_package(SDL2 2.26.4 REQUIRED) - endif() -endif() - -# List of all FFmpeg components required -set(FFmpeg_COMPONENTS - avcodec - avfilter - avutil - swscale) - -if (UNIX AND NOT APPLE AND NOT ANDROID) - find_package(PkgConfig REQUIRED) - pkg_check_modules(LIBVA libva) -endif() -if (NOT SUYU_USE_BUNDLED_FFMPEG) - # Use system installed FFmpeg - find_package(FFmpeg 4.3 REQUIRED QUIET COMPONENTS ${FFmpeg_COMPONENTS}) -endif() - -if (WIN32 AND SUYU_CRASH_DUMPS) - set(BREAKPAD_VER "breakpad-c89f9dd") - download_bundled_external("breakpad/" ${BREAKPAD_VER} BREAKPAD_PREFIX) - - set(BREAKPAD_CLIENT_INCLUDE_DIR "${BREAKPAD_PREFIX}/include") - set(BREAKPAD_CLIENT_LIBRARY "${BREAKPAD_PREFIX}/lib/libbreakpad_client.lib") - - add_library(libbreakpad_client INTERFACE IMPORTED) - target_link_libraries(libbreakpad_client INTERFACE "${BREAKPAD_CLIENT_LIBRARY}") - target_include_directories(libbreakpad_client INTERFACE "${BREAKPAD_CLIENT_INCLUDE_DIR}") -endif() - -# Prefer the -pthread flag on Linux. -set(THREADS_PREFER_PTHREAD_FLAG ON) -find_package(Threads REQUIRED) - -add_subdirectory(externals) - # Qt5 requires that we find components, so it doesn't fit our pretty little find package function -# Qt6 sets Vulkan::Headers, so Qt search has to come after externals, so it doesn't get to do it. if(ENABLE_QT) set(QT_VERSION 5.15) # These are used to specify minimum versions @@ -597,6 +533,67 @@ if(ENABLE_QT) endif() +# find SDL2 exports a bunch of variables that are needed, so its easier to do this outside of the suyu_find_package +if (ENABLE_SDL2) + if (SUYU_USE_BUNDLED_SDL2) + # Detect toolchain and platform + if ((MSVC_VERSION GREATER_EQUAL 1920 AND MSVC_VERSION LESS 1940) AND ARCHITECTURE_x86_64) + set(SDL2_VER "SDL2-2.28.2") + else() + message(FATAL_ERROR "No bundled SDL2 binaries for your toolchain. Disable SUYU_USE_BUNDLED_SDL2 and provide your own.") + endif() + + if (DEFINED SDL2_VER) + download_bundled_external("sdl2/" ${SDL2_VER} SDL2_PREFIX) + endif() + + set(SDL2_FOUND YES) + set(SDL2_INCLUDE_DIR "${SDL2_PREFIX}/include" CACHE PATH "Path to SDL2 headers") + set(SDL2_LIBRARY "${SDL2_PREFIX}/lib/x64/SDL2.lib" CACHE PATH "Path to SDL2 library") + set(SDL2_DLL_DIR "${SDL2_PREFIX}/lib/x64/" CACHE PATH "Path to SDL2.dll") + + add_library(SDL2::SDL2 INTERFACE IMPORTED) + target_link_libraries(SDL2::SDL2 INTERFACE "${SDL2_LIBRARY}") + target_include_directories(SDL2::SDL2 INTERFACE "${SDL2_INCLUDE_DIR}") + elseif (SUYU_USE_EXTERNAL_SDL2) + message(STATUS "Using SDL2 from externals.") + else() + find_package(SDL2 2.26.4 REQUIRED) + endif() +endif() + +# List of all FFmpeg components required +set(FFmpeg_COMPONENTS + avcodec + avfilter + avutil + swscale) + +if (UNIX AND NOT APPLE AND NOT ANDROID) + find_package(PkgConfig REQUIRED) + pkg_check_modules(LIBVA libva) +endif() +if (NOT SUYU_USE_BUNDLED_FFMPEG) + # Use system installed FFmpeg + find_package(FFmpeg 4.3 REQUIRED QUIET COMPONENTS ${FFmpeg_COMPONENTS}) +endif() + +if (WIN32 AND SUYU_CRASH_DUMPS) + set(BREAKPAD_VER "breakpad-c89f9dd") + download_bundled_external("breakpad/" ${BREAKPAD_VER} BREAKPAD_PREFIX) + + set(BREAKPAD_CLIENT_INCLUDE_DIR "${BREAKPAD_PREFIX}/include") + set(BREAKPAD_CLIENT_LIBRARY "${BREAKPAD_PREFIX}/lib/libbreakpad_client.lib") + + add_library(libbreakpad_client INTERFACE IMPORTED) + target_link_libraries(libbreakpad_client INTERFACE "${BREAKPAD_CLIENT_LIBRARY}") + target_include_directories(libbreakpad_client INTERFACE "${BREAKPAD_CLIENT_INCLUDE_DIR}") +endif() + +# Prefer the -pthread flag on Linux. +set(THREADS_PREFER_PTHREAD_FLAG ON) +find_package(Threads REQUIRED) + # Platform-specific library requirements # ====================================== @@ -631,7 +628,7 @@ if (NOT CLANG_FORMAT) message(STATUS "Clang format not found! Downloading...") set(CLANG_FORMAT "${PROJECT_BINARY_DIR}/externals/clang-format${CLANG_FORMAT_POSTFIX}.exe") file(DOWNLOAD - https://git.suyu.dev/suyu/ext-windows-bin/raw/branch/master/clang-format${CLANG_FORMAT_POSTFIX}.exe + https://gitlab.com/suyu-emu/ext-windows-bin/raw/master/clang-format${CLANG_FORMAT_POSTFIX}.exe "${CLANG_FORMAT}" SHOW_PROGRESS STATUS DOWNLOAD_SUCCESS) if (NOT DOWNLOAD_SUCCESS EQUAL 0) @@ -711,6 +708,7 @@ if (SUYU_USE_FASTER_LD AND CMAKE_CXX_COMPILER_ID STREQUAL "GNU") endif() endif() +add_subdirectory(externals) add_subdirectory(src) # Set suyu project or suyu-cmd project as default StartUp Project in Visual Studio depending on whether QT is enabled or not @@ -730,14 +728,14 @@ endif() # https://specifications.freedesktop.org/shared-mime-info-spec/shared-mime-info-spec-latest.html # https://www.freedesktop.org/software/appstream/docs/ if(ENABLE_QT AND UNIX AND NOT APPLE) - install(FILES "dist/dev.suyu_emu.suyu.desktop" + install(FILES "dist/org.suyu_emu.suyu.desktop" DESTINATION "share/applications") install(FILES "dist/suyu.svg" DESTINATION "share/icons/hicolor/scalable/apps" - RENAME "dev.suyu_emu.suyu.svg") - install(FILES "dist/dev.suyu_emu.suyu.xml" + RENAME "org.suyu_emu.suyu.svg") + install(FILES "dist/org.suyu_emu.suyu.xml" DESTINATION "share/mime/packages") - install(FILES "dist/dev.suyu_emu.suyu.metainfo.xml" + install(FILES "dist/org.suyu_emu.suyu.metainfo.xml" DESTINATION "share/metainfo") endif() diff --git a/CMakeModules/CopySuyuFFmpegDeps.cmake b/CMakeModules/CopySuyuFFmpegDeps.cmake index 88d9c44eaa..69648407e6 100644 --- a/CMakeModules/CopySuyuFFmpegDeps.cmake +++ b/CMakeModules/CopySuyuFFmpegDeps.cmake @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2020 yuzu Emulator Project +# SPDX-FileCopyrightText: 2020 yuzu Emulator Project & 2024 suyu Emulator Project # SPDX-License-Identifier: GPL-2.0-or-later function(copy_suyu_FFmpeg_deps target_dir) diff --git a/CMakeModules/CopySuyuQt5Deps.cmake b/CMakeModules/CopySuyuQt5Deps.cmake index 8274d25ee5..3be8815dd5 100644 --- a/CMakeModules/CopySuyuQt5Deps.cmake +++ b/CMakeModules/CopySuyuQt5Deps.cmake @@ -1,5 +1,4 @@ -# SPDX-FileCopyrightText: 2016 Citra Emulator Project -# SPDX-FileCopyrightText: 2024 suyu Emulator Project +# SPDX-FileCopyrightText: 2016 Citra Emulator Project & 2024 suyu Emulator Project # SPDX-License-Identifier: GPL-2.0-or-later function(copy_suyu_Qt5_deps target_dir) diff --git a/CMakeModules/CopySuyuSDLDeps.cmake b/CMakeModules/CopySuyuSDLDeps.cmake index fbdfe8e6e0..4938b30832 100644 --- a/CMakeModules/CopySuyuSDLDeps.cmake +++ b/CMakeModules/CopySuyuSDLDeps.cmake @@ -1,5 +1,4 @@ -# SPDX-FileCopyrightText: 2016 Citra Emulator Project -# SPDX-FileCopyrightText: 2024 suyu Emulator Project +# SPDX-FileCopyrightText: 2016 Citra Emulator Project & 2024 suyu Emulator Project # SPDX-License-Identifier: GPL-2.0-or-later function(copy_suyu_SDL_deps target_dir) diff --git a/CMakeModules/DownloadExternals.cmake b/CMakeModules/DownloadExternals.cmake index 858bce8771..575a478a8e 100644 --- a/CMakeModules/DownloadExternals.cmake +++ b/CMakeModules/DownloadExternals.cmake @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2017 yuzu Emulator Project +# SPDX-FileCopyrightText: 2017 yuzu Emulator Project & 2024 suyu Emulator Project # SPDX-License-Identifier: GPL-2.0-or-later # This function downloads a binary library package from our external repo. @@ -7,21 +7,21 @@ # prefix_var: name of a variable which will be set with the path to the extracted contents function(download_bundled_external remote_path lib_name prefix_var) -set(package_base_url "https://git.suyu.dev/suyu/") +set(package_base_url "https://gitlab.com/suyu-emu/") set(package_repo "no_platform") set(package_extension "no_platform") set(package_head "?ref_type=heads") if (WIN32) - set(package_repo "ext-windows-bin/raw/branch/master/") + set(package_repo "ext-windows-bin/-/raw/master/") set(package_extension ".7z") elseif (${CMAKE_SYSTEM_NAME} STREQUAL "Linux") - set(package_repo "ext-linux-bin/raw/branch/main/") + set(package_repo "ext-linux-bin/-/raw/main/") set(package_extension ".tar.xz") # elseif (APPLE) # set(package_repo "ext-osx-bin/-/raw/main/") # set(package_extension ".dmg") elseif (ANDROID) - set(package_repo "ext-android-bin/raw/branch/main/") + set(package_repo "ext-android-bin/-/raw/main/") set(package_extension ".tar.xz") else() message(FATAL_ERROR "No package available for this platform") diff --git a/CMakeModules/FindLLVM.cmake b/CMakeModules/FindLLVM.cmake index c27bd44090..216b5a79aa 100644 --- a/CMakeModules/FindLLVM.cmake +++ b/CMakeModules/FindLLVM.cmake @@ -1,5 +1,4 @@ # SPDX-FileCopyrightText: 2023 Alexandre Bouvier -# SPDX-FileCopyrightText: 2024 suyu Emulator Project # # SPDX-License-Identifier: GPL-3.0-or-later diff --git a/CMakeModules/GenerateSCMRev.cmake b/CMakeModules/GenerateSCMRev.cmake index 498412a444..229e3ff910 100644 --- a/CMakeModules/GenerateSCMRev.cmake +++ b/CMakeModules/GenerateSCMRev.cmake @@ -1,5 +1,4 @@ -# SPDX-FileCopyrightText: 2019 yuzu Emulator Project -# SPDX-FileCopyrightText: 2024 suyu Emulator Project +# SPDX-FileCopyrightText: 2019 yuzu Emulator Project & 2024 suyu Emulator Project # SPDX-License-Identifier: GPL-2.0-or-later # Gets a UTC timestamp and sets the provided variable to it @@ -28,7 +27,7 @@ set(BUILD_VERSION "0") set(BUILD_ID ${DISPLAY_VERSION}) if (BUILD_REPOSITORY) # regex capture the string nightly or canary into CMAKE_MATCH_1 - string(REGEX MATCH "suyu/suyu-?(.*)" OUTVAR ${BUILD_REPOSITORY}) + string(REGEX MATCH "suyu-emu/suyu-?(.*)" OUTVAR ${BUILD_REPOSITORY}) if ("${CMAKE_MATCH_COUNT}" GREATER 0) # capitalize the first letter of each word in the repo name. string(REPLACE "-" ";" REPO_NAME_LIST ${CMAKE_MATCH_1}) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 1ff49d5b1f..b9eee375ad 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,10 +1,9 @@ Please check out the - * [Contributors's guide](https://git.suyu.dev/suyu/suyu/wiki/Contributing). - * [Merge request guidelines](https://git.suyu.dev/suyu/suyu/wiki/Typical-Git-Workflow#once-your-pull-request-is-ready-to-be-merged) + * [Contributors's guide](https://gitlab.com/suyu-emu/suyu/-/wikis/Contributing). + * [Merge request guidelines](https://gitlab.com/suyu-emu/suyu/-/wikis/Merge-requests) diff --git a/LICENSES/CC-BY-NC-SA-4.0.txt b/LICENSES/CC-BY-NC-SA-4.0.txt deleted file mode 100644 index 7cdbe0b482..0000000000 --- a/LICENSES/CC-BY-NC-SA-4.0.txt +++ /dev/null @@ -1,438 +0,0 @@ -Attribution-NonCommercial-ShareAlike 4.0 International - -======================================================================= - -Creative Commons Corporation ("Creative Commons") is not a law firm and -does not provide legal services or legal advice. Distribution of -Creative Commons public licenses does not create a lawyer-client or -other relationship. Creative Commons makes its licenses and related -information available on an "as-is" basis. Creative Commons gives no -warranties regarding its licenses, any material licensed under their -terms and conditions, or any related information. Creative Commons -disclaims all liability for damages resulting from their use to the -fullest extent possible. - -Using Creative Commons Public Licenses - -Creative Commons public licenses provide a standard set of terms and -conditions that creators and other rights holders may use to share -original works of authorship and other material subject to copyright -and certain other rights specified in the public license below. The -following considerations are for informational purposes only, are not -exhaustive, and do not form part of our licenses. - - Considerations for licensors: Our public licenses are - intended for use by those authorized to give the public - permission to use material in ways otherwise restricted by - copyright and certain other rights. Our licenses are - irrevocable. Licensors should read and understand the terms - and conditions of the license they choose before applying it. - Licensors should also secure all rights necessary before - applying our licenses so that the public can reuse the - material as expected. Licensors should clearly mark any - material not subject to the license. This includes other CC- - licensed material, or material used under an exception or - limitation to copyright. More considerations for licensors: - wiki.creativecommons.org/Considerations_for_licensors - - Considerations for the public: By using one of our public - licenses, a licensor grants the public permission to use the - licensed material under specified terms and conditions. If - the licensor's permission is not necessary for any reason--for - example, because of any applicable exception or limitation to - copyright--then that use is not regulated by the license. Our - licenses grant only permissions under copyright and certain - other rights that a licensor has authority to grant. Use of - the licensed material may still be restricted for other - reasons, including because others have copyright or other - rights in the material. A licensor may make special requests, - such as asking that all changes be marked or described. - Although not required by our licenses, you are encouraged to - respect those requests where reasonable. More considerations - for the public: - wiki.creativecommons.org/Considerations_for_licensees - -======================================================================= - -Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International -Public License - -By exercising the Licensed Rights (defined below), You accept and agree -to be bound by the terms and conditions of this Creative Commons -Attribution-NonCommercial-ShareAlike 4.0 International Public License -("Public License"). To the extent this Public License may be -interpreted as a contract, You are granted the Licensed Rights in -consideration of Your acceptance of these terms and conditions, and the -Licensor grants You such rights in consideration of benefits the -Licensor receives from making the Licensed Material available under -these terms and conditions. - - -Section 1 -- Definitions. - - a. Adapted Material means material subject to Copyright and Similar - Rights that is derived from or based upon the Licensed Material - and in which the Licensed Material is translated, altered, - arranged, transformed, or otherwise modified in a manner requiring - permission under the Copyright and Similar Rights held by the - Licensor. For purposes of this Public License, where the Licensed - Material is a musical work, performance, or sound recording, - Adapted Material is always produced where the Licensed Material is - synched in timed relation with a moving image. - - b. Adapter's License means the license You apply to Your Copyright - and Similar Rights in Your contributions to Adapted Material in - accordance with the terms and conditions of this Public License. - - c. BY-NC-SA Compatible License means a license listed at - creativecommons.org/compatiblelicenses, approved by Creative - Commons as essentially the equivalent of this Public License. - - d. Copyright and Similar Rights means copyright and/or similar rights - closely related to copyright including, without limitation, - performance, broadcast, sound recording, and Sui Generis Database - Rights, without regard to how the rights are labeled or - categorized. For purposes of this Public License, the rights - specified in Section 2(b)(1)-(2) are not Copyright and Similar - Rights. - - e. Effective Technological Measures means those measures that, in the - absence of proper authority, may not be circumvented under laws - fulfilling obligations under Article 11 of the WIPO Copyright - Treaty adopted on December 20, 1996, and/or similar international - agreements. - - f. Exceptions and Limitations means fair use, fair dealing, and/or - any other exception or limitation to Copyright and Similar Rights - that applies to Your use of the Licensed Material. - - g. License Elements means the license attributes listed in the name - of a Creative Commons Public License. The License Elements of this - Public License are Attribution, NonCommercial, and ShareAlike. - - h. Licensed Material means the artistic or literary work, database, - or other material to which the Licensor applied this Public - License. - - i. Licensed Rights means the rights granted to You subject to the - terms and conditions of this Public License, which are limited to - all Copyright and Similar Rights that apply to Your use of the - Licensed Material and that the Licensor has authority to license. - - j. Licensor means the individual(s) or entity(ies) granting rights - under this Public License. - - k. NonCommercial means not primarily intended for or directed towards - commercial advantage or monetary compensation. For purposes of - this Public License, the exchange of the Licensed Material for - other material subject to Copyright and Similar Rights by digital - file-sharing or similar means is NonCommercial provided there is - no payment of monetary compensation in connection with the - exchange. - - l. Share means to provide material to the public by any means or - process that requires permission under the Licensed Rights, such - as reproduction, public display, public performance, distribution, - dissemination, communication, or importation, and to make material - available to the public including in ways that members of the - public may access the material from a place and at a time - individually chosen by them. - - m. Sui Generis Database Rights means rights other than copyright - resulting from Directive 96/9/EC of the European Parliament and of - the Council of 11 March 1996 on the legal protection of databases, - as amended and/or succeeded, as well as other essentially - equivalent rights anywhere in the world. - - n. You means the individual or entity exercising the Licensed Rights - under this Public License. Your has a corresponding meaning. - - -Section 2 -- Scope. - - a. License grant. - - 1. Subject to the terms and conditions of this Public License, - the Licensor hereby grants You a worldwide, royalty-free, - non-sublicensable, non-exclusive, irrevocable license to - exercise the Licensed Rights in the Licensed Material to: - - a. reproduce and Share the Licensed Material, in whole or - in part, for NonCommercial purposes only; and - - b. produce, reproduce, and Share Adapted Material for - NonCommercial purposes only. - - 2. Exceptions and Limitations. For the avoidance of doubt, where - Exceptions and Limitations apply to Your use, this Public - License does not apply, and You do not need to comply with - its terms and conditions. - - 3. Term. The term of this Public License is specified in Section - 6(a). - - 4. Media and formats; technical modifications allowed. The - Licensor authorizes You to exercise the Licensed Rights in - all media and formats whether now known or hereafter created, - and to make technical modifications necessary to do so. The - Licensor waives and/or agrees not to assert any right or - authority to forbid You from making technical modifications - necessary to exercise the Licensed Rights, including - technical modifications necessary to circumvent Effective - Technological Measures. For purposes of this Public License, - simply making modifications authorized by this Section 2(a) - (4) never produces Adapted Material. - - 5. Downstream recipients. - - a. Offer from the Licensor -- Licensed Material. Every - recipient of the Licensed Material automatically - receives an offer from the Licensor to exercise the - Licensed Rights under the terms and conditions of this - Public License. - - b. Additional offer from the Licensor -- Adapted Material. - Every recipient of Adapted Material from You - automatically receives an offer from the Licensor to - exercise the Licensed Rights in the Adapted Material - under the conditions of the Adapter's License You apply. - - c. No downstream restrictions. You may not offer or impose - any additional or different terms or conditions on, or - apply any Effective Technological Measures to, the - Licensed Material if doing so restricts exercise of the - Licensed Rights by any recipient of the Licensed - Material. - - 6. No endorsement. Nothing in this Public License constitutes or - may be construed as permission to assert or imply that You - are, or that Your use of the Licensed Material is, connected - with, or sponsored, endorsed, or granted official status by, - the Licensor or others designated to receive attribution as - provided in Section 3(a)(1)(A)(i). - - b. Other rights. - - 1. Moral rights, such as the right of integrity, are not - licensed under this Public License, nor are publicity, - privacy, and/or other similar personality rights; however, to - the extent possible, the Licensor waives and/or agrees not to - assert any such rights held by the Licensor to the limited - extent necessary to allow You to exercise the Licensed - Rights, but not otherwise. - - 2. Patent and trademark rights are not licensed under this - Public License. - - 3. To the extent possible, the Licensor waives any right to - collect royalties from You for the exercise of the Licensed - Rights, whether directly or through a collecting society - under any voluntary or waivable statutory or compulsory - licensing scheme. In all other cases the Licensor expressly - reserves any right to collect such royalties, including when - the Licensed Material is used other than for NonCommercial - purposes. - - -Section 3 -- License Conditions. - -Your exercise of the Licensed Rights is expressly made subject to the -following conditions. - - a. Attribution. - - 1. If You Share the Licensed Material (including in modified - form), You must: - - a. retain the following if it is supplied by the Licensor - with the Licensed Material: - - i. identification of the creator(s) of the Licensed - Material and any others designated to receive - attribution, in any reasonable manner requested by - the Licensor (including by pseudonym if - designated); - - ii. a copyright notice; - - iii. a notice that refers to this Public License; - - iv. a notice that refers to the disclaimer of - warranties; - - v. a URI or hyperlink to the Licensed Material to the - extent reasonably practicable; - - b. indicate if You modified the Licensed Material and - retain an indication of any previous modifications; and - - c. indicate the Licensed Material is licensed under this - Public License, and include the text of, or the URI or - hyperlink to, this Public License. - - 2. You may satisfy the conditions in Section 3(a)(1) in any - reasonable manner based on the medium, means, and context in - which You Share the Licensed Material. For example, it may be - reasonable to satisfy the conditions by providing a URI or - hyperlink to a resource that includes the required - information. - 3. If requested by the Licensor, You must remove any of the - information required by Section 3(a)(1)(A) to the extent - reasonably practicable. - - b. ShareAlike. - - In addition to the conditions in Section 3(a), if You Share - Adapted Material You produce, the following conditions also apply. - - 1. The Adapter's License You apply must be a Creative Commons - license with the same License Elements, this version or - later, or a BY-NC-SA Compatible License. - - 2. You must include the text of, or the URI or hyperlink to, the - Adapter's License You apply. You may satisfy this condition - in any reasonable manner based on the medium, means, and - context in which You Share Adapted Material. - - 3. You may not offer or impose any additional or different terms - or conditions on, or apply any Effective Technological - Measures to, Adapted Material that restrict exercise of the - rights granted under the Adapter's License You apply. - - -Section 4 -- Sui Generis Database Rights. - -Where the Licensed Rights include Sui Generis Database Rights that -apply to Your use of the Licensed Material: - - a. for the avoidance of doubt, Section 2(a)(1) grants You the right - to extract, reuse, reproduce, and Share all or a substantial - portion of the contents of the database for NonCommercial purposes - only; - - b. if You include all or a substantial portion of the database - contents in a database in which You have Sui Generis Database - Rights, then the database in which You have Sui Generis Database - Rights (but not its individual contents) is Adapted Material, - including for purposes of Section 3(b); and - - c. You must comply with the conditions in Section 3(a) if You Share - all or a substantial portion of the contents of the database. - -For the avoidance of doubt, this Section 4 supplements and does not -replace Your obligations under this Public License where the Licensed -Rights include other Copyright and Similar Rights. - - -Section 5 -- Disclaimer of Warranties and Limitation of Liability. - - a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE - EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS - AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF - ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS, - IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION, - WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR - PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS, - ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT - KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT - ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU. - - b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE - TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, - NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT, - INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES, - COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR - USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN - ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR - DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR - IN PART, THIS LIMITATION MAY NOT APPLY TO YOU. - - c. The disclaimer of warranties and limitation of liability provided - above shall be interpreted in a manner that, to the extent - possible, most closely approximates an absolute disclaimer and - waiver of all liability. - - -Section 6 -- Term and Termination. - - a. This Public License applies for the term of the Copyright and - Similar Rights licensed here. However, if You fail to comply with - this Public License, then Your rights under this Public License - terminate automatically. - - b. Where Your right to use the Licensed Material has terminated under - Section 6(a), it reinstates: - - 1. automatically as of the date the violation is cured, provided - it is cured within 30 days of Your discovery of the - violation; or - - 2. upon express reinstatement by the Licensor. - - For the avoidance of doubt, this Section 6(b) does not affect any - right the Licensor may have to seek remedies for Your violations - of this Public License. - - c. For the avoidance of doubt, the Licensor may also offer the - Licensed Material under separate terms or conditions or stop - distributing the Licensed Material at any time; however, doing so - will not terminate this Public License. - - d. Sections 1, 5, 6, 7, and 8 survive termination of this Public - License. - - -Section 7 -- Other Terms and Conditions. - - a. The Licensor shall not be bound by any additional or different - terms or conditions communicated by You unless expressly agreed. - - b. Any arrangements, understandings, or agreements regarding the - Licensed Material not stated herein are separate from and - independent of the terms and conditions of this Public License. - - -Section 8 -- Interpretation. - - a. For the avoidance of doubt, this Public License does not, and - shall not be interpreted to, reduce, limit, restrict, or impose - conditions on any use of the Licensed Material that could lawfully - be made without permission under this Public License. - - b. To the extent possible, if any provision of this Public License is - deemed unenforceable, it shall be automatically reformed to the - minimum extent necessary to make it enforceable. If the provision - cannot be reformed, it shall be severed from this Public License - without affecting the enforceability of the remaining terms and - conditions. - - c. No term or condition of this Public License will be waived and no - failure to comply consented to unless expressly agreed to by the - Licensor. - - d. Nothing in this Public License constitutes or may be interpreted - as a limitation upon, or waiver of, any privileges and immunities - that apply to the Licensor or You, including from the legal - processes of any jurisdiction or authority. - -======================================================================= - -Creative Commons is not a party to its public -licenses. Notwithstanding, Creative Commons may elect to apply one of -its public licenses to material it publishes and in those instances -will be considered the “Licensor.” The text of the Creative Commons -public licenses is dedicated to the public domain under the CC0 Public -Domain Dedication. Except for the limited purpose of indicating that -material is shared under a Creative Commons public license or as -otherwise permitted by the Creative Commons policies published at -creativecommons.org/policies, Creative Commons does not authorize the -use of the trademark "Creative Commons" or any other trademark or logo -of Creative Commons without its prior written consent including, -without limitation, in connection with any unauthorized modifications -to any of its public licenses or any other arrangements, -understandings, or agreements concerning use of licensed material. For -the avoidance of doubt, this paragraph does not form part of the -public licenses. - -Creative Commons may be contacted at creativecommons.org. - diff --git a/MIGRATION.md b/MIGRATION.md deleted file mode 100644 index 3963b5004f..0000000000 --- a/MIGRATION.md +++ /dev/null @@ -1,25 +0,0 @@ - -# Migrating from yuzu - -When coming from yuzu, the migration is as easy as renaming some directories. - -## Windows - -Use the run dialog to go to `%APPDATA%` or manually go to `C:\Users\{USERNAME}\AppData\Roaming` (you may have to enable hidden files) and simply rename the `yuzu` directories and simply rename those to `suyu`. - -## Unix (macOS/Linux) -Similarly, you can simply rename the folders `~/.local/share/yuzu` and `~/.config/yuzu` to `suyu`, either via a file manager or with the following commands: -```sh - $ mv ~/.local/share/yuzu ~/.local/share/suyu - $ mv ~/.config/yuzu ~/.config/suyu -``` -There is also `~/.cache/yuzu`, which you can safely delete. Suyu will build a fresh cache in its own directory. - -### Linux -Depending on your setup, you may want to substitute those base paths for `$XDG_DATA_HOME` and `$XDG_CONFIG_HOME` respectively. - -## Android -TBD \ No newline at end of file diff --git a/README.md b/README.md index 6211f5f1c2..bfcaab36ca 100644 --- a/README.md +++ b/README.md @@ -1,15 +1,12 @@ **Note**: We do not support or condone piracy in any form. In order to use suyu, you'll need keys from your real Switch system, and games which you have legally obtained and paid for. We do not intend to make money or profit from this project. -We're in need of developers. Please join our chat below or DM a dev if you want to contribute! -This repo is currently based on Yuzu EA 4176 but the code will be rewritten for legal and performance reasons. - -Our only website is suyu.dev so please be cautious when using other sites offering builds/downloads. +We're in need of developers. Please join our Discord server below if you want to contribute! +This repo is based on Yuzu EA 4176.
@@ -21,34 +18,25 @@ Our only website is suyu.dev so please be cautious when using other sites offeri
-

suyu was the continuation of the world's most popular, open-source Nintendo Switch emulator, yuzu, but is now something more. +

suyu is the continuation of the world's most popular, open-source, Nintendo Switch emulator, yuzu.
-It is written in C++ with portability in mind, and we actively provide builds for Windows, Linux and Android, iOS may come later. - +It is written in C++ with portability in mind, and we're actively working on builds for Windows, Linux and Android.

- Chat | - Reddit | + Discord | Status | Development | Downloads | Building | Support | License | - Pipelines + Pipelines

-## Hardware Requirements -[Click here to see the Hardware Requirements](https://git.suyu.dev/suyu/suyu/wiki/Hardware-Requirements) - -## Migrating from yuzu - -See [MIGRATION.md](MIGRATION.md). - ## Status -We currently have builds over at the [Releases](https://git.suyu.dev/suyu/suyu/releases) page. +Although we're able to make builds, we don't have a version ready for distribution yet. But we can always use more help! You can make a merge request if you'd like to see something changed, or you can [chat with other developers to find out what needs work](https://discord.gg/suyu). **Note**: We try to update this README whenever we can, but some links might be broken, and some information may be outdated or irrelevant. @@ -56,40 +44,30 @@ We currently have builds over at the [Releases](https://git.suyu.dev/suyu/suyu/r This project is completely free and open source, and anyone can contribute to help improve suyu. -Most of the development happens on Git. For development discussion, please join us in our [Chat](https://chat.suyu.dev) or [Subreddit](reddit.com/r/suyu/), you can also contact a developer. +Most of the development happens on GitLab. For development discussion, please join us on [Discord](https://discord.gg/suyu). -If you want to contribute, please take a look at the [Contributor's Guide](https://git.suyu.dev/suyu/suyu/wiki/Contributing) and [Developer Information](https://git.suyu.dev/suyu/suyu/wiki/Developer-Information). -You can also contact any of the developers on the Chat to learn more about the current state of suyu. +If you want to contribute, please take a look at the [Contributor's Guide](https://gitlab.com/suyu-emu/suyu/-/wikis/Contributing) and [Developer Information](https://gitlab.com/suyu-emu/suyu/-/wikis/Developer-Information). +You can also contact any of the developers on Discord to learn more about the current state of suyu. ## Downloads -* __Windows__: [Releases](https://git.suyu.dev/suyu/suyu/releases) -* __Linux__: [Releases](https://git.suyu.dev/suyu/suyu/releases) -* __macOS__: [Releases](https://git.suyu.dev/suyu/suyu/releases) -* __Android__: [Releases](https://git.suyu.dev/suyu/suyu/releases) -###### We currently do not provide builds for iOS, however if you would like, you could try the experimental [Sudachi Emulator](https://sudachi.emuplace.app/) and it's bigger project: [Folium](https://apps.apple.com/us/app/folium/id6498623389). +* __Windows__: WIP +* __Linux__: WIP -If you want daily builds then [Click here](https://git.suyu.dev/suyu/suyu/actions). -If you don't know how to download the daily builds then [Click here](https://git.suyu.dev/suyu/suyu/raw/branch/dev/img/daily-builds.png) - -We have official builds [here.](https://git.suyu.dev/suyu/suyu/releases)
If any website or person is claiming to have a build for suyu, take that with a grain of salt and let us know. - -For Multiplayer, we recommend using the "Yuzu Online" patch, install instructions can be found on Reddit and their Discord. +We don't have any official builds yet! If any website or person is claiming to have a build for suyu, take that with a grain of salt, because it might contain malware. Until we do have an official build, it might be a better idea to keep using the last version of yuzu. ## Building -* __Windows__: [Windows Build](https://git.suyu.dev/suyu/suyu/wiki/Building-For-Windows) -* __Linux__: [Linux Build](https://git.suyu.dev/suyu/suyu/wiki/Building-For-Linux) -* __Android__: [Android Build](https://git.suyu.dev/suyu/suyu/wiki/Building-For-Android) -* __MacOS__: [MacOS Build](https://git.suyu.dev/suyu/suyu/wiki/Building-for-macOS) +* __Windows__: [Wiki page](https://gitlab.com/suyu-emu/suyu/-/wikis/Building-for-Windows) +* __Linux__: [Wiki page](https://gitlab.com/suyu-emu/suyu/-/wikis/Building-for-Linux) ## Support -If you have any questions, don't hesitate to ask us in our [Chat](https://chat.suyu.dev) or [Subreddit](https://www.reddit.com/r/suyu/), make an issue or contact a developer. We don't bite! +If you have any questions, don't hesitate to ask us on [Discord](https://discord.gg/suyu). We don't bite! ## License -suyu is licensed under the free and open-source GPL-3.0-or-later license. +suyu is licensed under the free and open-source GPL v3 license. diff --git a/dist/72-suyu-input.rules b/dist/72-suyu-input.rules index 354bf38dba..9b7e284e34 100644 --- a/dist/72-suyu-input.rules +++ b/dist/72-suyu-input.rules @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2023 yuzu Emulator Project +# SPDX-FileCopyrightText: 2023 yuzu Emulator Project & 2024 suyu Emulator Project # SPDX-License-Identifier: GPL-2.0-or-later # Allow systemd-logind to manage user access to hidraw with this file diff --git a/dist/icons/overlay_dark/arrow_left.png b/dist/icons/overlay/arrow_left_dark.png similarity index 100% rename from dist/icons/overlay_dark/arrow_left.png rename to dist/icons/overlay/arrow_left_dark.png diff --git a/dist/icons/overlay_dark/arrow_right.png b/dist/icons/overlay/arrow_right_dark.png similarity index 100% rename from dist/icons/overlay_dark/arrow_right.png rename to dist/icons/overlay/arrow_right_dark.png diff --git a/dist/icons/overlay_dark/button_A.png b/dist/icons/overlay/button_A_dark.png similarity index 100% rename from dist/icons/overlay_dark/button_A.png rename to dist/icons/overlay/button_A_dark.png diff --git a/dist/icons/overlay_dark/button_B.png b/dist/icons/overlay/button_B_dark.png similarity index 100% rename from dist/icons/overlay_dark/button_B.png rename to dist/icons/overlay/button_B_dark.png diff --git a/dist/icons/overlay_dark/button_L.png b/dist/icons/overlay/button_L_dark.png similarity index 100% rename from dist/icons/overlay_dark/button_L.png rename to dist/icons/overlay/button_L_dark.png diff --git a/dist/icons/overlay_dark/button_R.png b/dist/icons/overlay/button_R_dark.png similarity index 100% rename from dist/icons/overlay_dark/button_R.png rename to dist/icons/overlay/button_R_dark.png diff --git a/dist/icons/overlay_dark/button_X.png b/dist/icons/overlay/button_X_dark.png similarity index 100% rename from dist/icons/overlay_dark/button_X.png rename to dist/icons/overlay/button_X_dark.png diff --git a/dist/icons/overlay_dark/button_Y.png b/dist/icons/overlay/button_Y_dark.png similarity index 100% rename from dist/icons/overlay_dark/button_Y.png rename to dist/icons/overlay/button_Y_dark.png diff --git a/dist/icons/overlay_dark/button_minus.png b/dist/icons/overlay/button_minus_dark.png similarity index 100% rename from dist/icons/overlay_dark/button_minus.png rename to dist/icons/overlay/button_minus_dark.png diff --git a/dist/icons/overlay_dark/button_plus.png b/dist/icons/overlay/button_plus_dark.png similarity index 100% rename from dist/icons/overlay_dark/button_plus.png rename to dist/icons/overlay/button_plus_dark.png diff --git a/dist/icons/overlay_dark/button_press_stick.png b/dist/icons/overlay/button_press_stick_dark.png similarity index 100% rename from dist/icons/overlay_dark/button_press_stick.png rename to dist/icons/overlay/button_press_stick_dark.png diff --git a/dist/icons/overlay_dark/controller_dual_joycon.png b/dist/icons/overlay/controller_dual_joycon_dark.png similarity index 100% rename from dist/icons/overlay_dark/controller_dual_joycon.png rename to dist/icons/overlay/controller_dual_joycon_dark.png diff --git a/dist/icons/overlay_dark/controller_handheld.png b/dist/icons/overlay/controller_handheld_dark.png similarity index 100% rename from dist/icons/overlay_dark/controller_handheld.png rename to dist/icons/overlay/controller_handheld_dark.png diff --git a/dist/icons/overlay_dark/controller_pro.png b/dist/icons/overlay/controller_pro_dark.png similarity index 100% rename from dist/icons/overlay_dark/controller_pro.png rename to dist/icons/overlay/controller_pro_dark.png diff --git a/dist/icons/overlay_dark/controller_single_joycon_left_a.png b/dist/icons/overlay/controller_single_joycon_left_a_dark.png similarity index 100% rename from dist/icons/overlay_dark/controller_single_joycon_left_a.png rename to dist/icons/overlay/controller_single_joycon_left_a_dark.png diff --git a/dist/icons/overlay_dark/controller_single_joycon_left_b.png b/dist/icons/overlay/controller_single_joycon_left_b_dark.png similarity index 100% rename from dist/icons/overlay_dark/controller_single_joycon_left_b.png rename to dist/icons/overlay/controller_single_joycon_left_b_dark.png diff --git a/dist/icons/overlay_dark/controller_single_joycon_left.png b/dist/icons/overlay/controller_single_joycon_left_dark.png similarity index 100% rename from dist/icons/overlay_dark/controller_single_joycon_left.png rename to dist/icons/overlay/controller_single_joycon_left_dark.png diff --git a/dist/icons/overlay_dark/controller_single_joycon_left_x.png b/dist/icons/overlay/controller_single_joycon_left_x_dark.png similarity index 100% rename from dist/icons/overlay_dark/controller_single_joycon_left_x.png rename to dist/icons/overlay/controller_single_joycon_left_x_dark.png diff --git a/dist/icons/overlay_dark/controller_single_joycon_left_y.png b/dist/icons/overlay/controller_single_joycon_left_y_dark.png similarity index 100% rename from dist/icons/overlay_dark/controller_single_joycon_left_y.png rename to dist/icons/overlay/controller_single_joycon_left_y_dark.png diff --git a/dist/icons/overlay_dark/controller_single_joycon_right.png b/dist/icons/overlay/controller_single_joycon_right_dark.png similarity index 100% rename from dist/icons/overlay_dark/controller_single_joycon_right.png rename to dist/icons/overlay/controller_single_joycon_right_dark.png diff --git a/dist/icons/overlay_dark/osk_button_B.png b/dist/icons/overlay/osk_button_B_dark.png similarity index 100% rename from dist/icons/overlay_dark/osk_button_B.png rename to dist/icons/overlay/osk_button_B_dark.png diff --git a/dist/icons/overlay_dark/osk_button_B_disabled.png b/dist/icons/overlay/osk_button_B_dark_disabled.png similarity index 100% rename from dist/icons/overlay_dark/osk_button_B_disabled.png rename to dist/icons/overlay/osk_button_B_dark_disabled.png diff --git a/dist/icons/overlay_dark/osk_button_Y.png b/dist/icons/overlay/osk_button_Y_dark.png similarity index 100% rename from dist/icons/overlay_dark/osk_button_Y.png rename to dist/icons/overlay/osk_button_Y_dark.png diff --git a/dist/icons/overlay_dark/osk_button_Y_disabled.png b/dist/icons/overlay/osk_button_Y_dark_disabled.png similarity index 100% rename from dist/icons/overlay_dark/osk_button_Y_disabled.png rename to dist/icons/overlay/osk_button_Y_dark_disabled.png diff --git a/dist/icons/overlay/osk_button_backspace.png b/dist/icons/overlay/osk_button_backspace.png index b212efbbc3..b7dc332282 100644 Binary files a/dist/icons/overlay/osk_button_backspace.png and b/dist/icons/overlay/osk_button_backspace.png differ diff --git a/dist/icons/overlay_dark/osk_button_backspace.png b/dist/icons/overlay/osk_button_backspace_dark.png similarity index 100% rename from dist/icons/overlay_dark/osk_button_backspace.png rename to dist/icons/overlay/osk_button_backspace_dark.png diff --git a/dist/icons/overlay_dark/osk_button_plus.png b/dist/icons/overlay/osk_button_plus_dark.png similarity index 100% rename from dist/icons/overlay_dark/osk_button_plus.png rename to dist/icons/overlay/osk_button_plus_dark.png diff --git a/dist/icons/overlay_dark/osk_button_plus_disabled.png b/dist/icons/overlay/osk_button_plus_dark_disabled.png similarity index 100% rename from dist/icons/overlay_dark/osk_button_plus_disabled.png rename to dist/icons/overlay/osk_button_plus_dark_disabled.png diff --git a/dist/icons/overlay_dark/osk_button_shift.png b/dist/icons/overlay/osk_button_shift_dark.png similarity index 100% rename from dist/icons/overlay_dark/osk_button_shift.png rename to dist/icons/overlay/osk_button_shift_dark.png diff --git a/dist/icons/overlay_dark/osk_button_shift_on.png b/dist/icons/overlay/osk_button_shift_on_dark.png similarity index 100% rename from dist/icons/overlay_dark/osk_button_shift_on.png rename to dist/icons/overlay/osk_button_shift_on_dark.png diff --git a/dist/icons/overlay/overlay.qrc b/dist/icons/overlay/overlay.qrc index 2319e6dd28..8d7833aca0 100644 --- a/dist/icons/overlay/overlay.qrc +++ b/dist/icons/overlay/overlay.qrc @@ -6,66 +6,64 @@ SPDX-License-Identifier: GPL-2.0-or-later arrow_left.png + arrow_left_dark.png arrow_right.png + arrow_right_dark.png button_minus.png + button_minus_dark.png button_plus.png + button_plus_dark.png button_A.png + button_A_dark.png button_B.png + button_B_dark.png button_X.png + button_X_dark.png button_Y.png + button_Y_dark.png button_L.png + button_L_dark.png button_R.png + button_R_dark.png button_press_stick.png + button_press_stick_dark.png osk_button_B.png osk_button_B_disabled.png + osk_button_B_dark.png + osk_button_B_dark_disabled.png osk_button_Y.png osk_button_Y_disabled.png + osk_button_Y_dark.png + osk_button_Y_dark_disabled.png osk_button_backspace.png + osk_button_backspace_dark.png osk_button_plus.png osk_button_plus_disabled.png + osk_button_plus_dark.png + osk_button_plus_dark_disabled.png osk_button_shift.png + osk_button_shift_dark.png osk_button_shift_on.png + osk_button_shift_on_dark.png osk_button_shift_lock_on.png osk_button_shift_lock_off.png controller_dual_joycon.png + controller_dual_joycon_dark.png controller_pro.png + controller_pro_dark.png controller_handheld.png + controller_handheld_dark.png controller_single_joycon_left.png + controller_single_joycon_left_dark.png controller_single_joycon_right.png + controller_single_joycon_right_dark.png controller_single_joycon_left_a.png + controller_single_joycon_left_a_dark.png controller_single_joycon_left_b.png + controller_single_joycon_left_b_dark.png controller_single_joycon_left_x.png + controller_single_joycon_left_x_dark.png controller_single_joycon_left_y.png - - - ../overlay_dark/arrow_left.png - ../overlay_dark/arrow_right.png - ../overlay_dark/button_minus.png - ../overlay_dark/button_plus.png - ../overlay_dark/button_A.png - ../overlay_dark/button_B.png - ../overlay_dark/button_X.png - ../overlay_dark/button_Y.png - ../overlay_dark/button_L.png - ../overlay_dark/button_R.png - ../overlay_dark/button_press_stick.png - ../overlay_dark/osk_button_B.png - ../overlay_dark/osk_button_B.png - ../overlay_dark/osk_button_Y.png - ../overlay_dark/osk_button_Y.png - ../overlay_dark/osk_button_backspace.png - ../overlay_dark/osk_button_plus.png - ../overlay_dark/osk_button_plus.png - ../overlay_dark/osk_button_shift.png - ../overlay_dark/osk_button_shift_on.png - ../overlay_dark/controller_dual_joycon.png - ../overlay_dark/controller_pro.png - ../overlay_dark/controller_handheld.png - ../overlay_dark/controller_single_joycon_left.png - ../overlay_dark/controller_single_joycon_right.png - ../overlay_dark/controller_single_joycon_left_a.png - ../overlay_dark/controller_single_joycon_left_b.png - ../overlay_dark/controller_single_joycon_left_x.png - ../overlay_dark/controller_single_joycon_left_y.png + controller_single_joycon_left_y_dark.png diff --git a/dist/languages/ar.ts b/dist/languages/ar.ts index dacbcdf68d..d9017ada62 100644 --- a/dist/languages/ar.ts +++ b/dist/languages/ar.ts @@ -35,8 +35,8 @@ p, li { white-space: pre-wrap; } - <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">Website</span></a> | <a href="https://git.suyu.dev/suyu"><span style=" text-decoration: underline; color:#039be5;">Source Code</span></a> | <a href="https://git.suyu.dev/suyu/suyu/activity"><span style=" text-decoration: underline; color:#039be5;">Contributors</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">License</span></a></p></body></html> - <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">موقعنا</span></a>|<a href="https://git.suyu.dev/suyu"><span style=" text-decoration: underline; color:#039be5;">رماز المصدر</span></a>|<a href="https://git.suyu.dev/suyu/suyu/activity"><span style=" text-decoration: underline; color:#039be5;">المساهمون</span></a>|<a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">الرخصة</span></a></p></body></html> + <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">Website</span></a> | <a href="https://gitlab.com/suyu-emu"><span style=" text-decoration: underline; color:#039be5;">Source Code</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/graphs/contributors"><span style=" text-decoration: underline; color:#039be5;">Contributors</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">License</span></a></p></body></html> + <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">موقعنا</span></a>|<a href="https://gitlab.com/suyu-emu"><span style=" text-decoration: underline; color:#039be5;">رماز المصدر</span></a>|<a href="https://gitlab.com/suyu-emu/suyu/graphs/contributors"><span style=" text-decoration: underline; color:#039be5;">المساهمون</span></a>|<a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">الرخصة</span></a></p></body></html> diff --git a/dist/languages/ca.ts b/dist/languages/ca.ts index a131d85022..61ad09bf06 100644 --- a/dist/languages/ca.ts +++ b/dist/languages/ca.ts @@ -35,8 +35,8 @@ p, li { white-space: pre-wrap; } - <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">Website</span></a> | <a href="https://git.suyu.dev/suyu"><span style=" text-decoration: underline; color:#039be5;">Source Code</span></a> | <a href="https://git.suyu.dev/suyu/suyu/activity"><span style=" text-decoration: underline; color:#039be5;">Contributors</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">License</span></a></p></body></html> - <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">Pàgina web</span></a> | <a href="https://git.suyu.dev/suyu"><span style=" text-decoration: underline; color:#039be5;">Codi Font</span></a>|<a href="https://git.suyu.dev/suyu/suyu/activity"><span style=" text-decoration: underline; color:#039be5;">Contribuïdors</span></a>|<a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">Llicència</span></a></p></body></html> + <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">Website</span></a> | <a href="https://gitlab.com/suyu-emu"><span style=" text-decoration: underline; color:#039be5;">Source Code</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/graphs/contributors"><span style=" text-decoration: underline; color:#039be5;">Contributors</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">License</span></a></p></body></html> + <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">Pàgina web</span></a> | <a href="https://gitlab.com/suyu-emu"><span style=" text-decoration: underline; color:#039be5;">Codi Font</span></a>|<a href="https://gitlab.com/suyu-emu/suyu/graphs/contributors"><span style=" text-decoration: underline; color:#039be5;">Contribuïdors</span></a>|<a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">Llicència</span></a></p></body></html> diff --git a/dist/languages/cs.ts b/dist/languages/cs.ts index ff25846b5a..9b6f5fc25a 100644 --- a/dist/languages/cs.ts +++ b/dist/languages/cs.ts @@ -35,8 +35,8 @@ p, li { white-space: pre-wrap; } - <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">Website</span></a> | <a href="https://git.suyu.dev/suyu"><span style=" text-decoration: underline; color:#039be5;">Source Code</span></a> | <a href="https://git.suyu.dev/suyu/suyu/activity"><span style=" text-decoration: underline; color:#039be5;">Contributors</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">License</span></a></p></body></html> - <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">Webové stránky</span></a> | <a href="https://git.suyu.dev/suyu"><span style=" text-decoration: underline; color:#039be5;">Zdrojový kód</span></a> | <a href="https://git.suyu.dev/suyu/suyu/activity"><span style=" text-decoration: underline; color:#039be5;">Přispěvatelé</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">Licence</span></a></p></body></html> + <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">Website</span></a> | <a href="https://gitlab.com/suyu-emu"><span style=" text-decoration: underline; color:#039be5;">Source Code</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/graphs/contributors"><span style=" text-decoration: underline; color:#039be5;">Contributors</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">License</span></a></p></body></html> + <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">Webové stránky</span></a> | <a href="https://gitlab.com/suyu-emu"><span style=" text-decoration: underline; color:#039be5;">Zdrojový kód</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/graphs/contributors"><span style=" text-decoration: underline; color:#039be5;">Přispěvatelé</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">Licence</span></a></p></body></html> diff --git a/dist/languages/da.ts b/dist/languages/da.ts index 3ca2244fb2..ddc4c96d3d 100644 --- a/dist/languages/da.ts +++ b/dist/languages/da.ts @@ -35,8 +35,8 @@ p, li { white-space: pre-wrap; } - <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">Website</span></a> | <a href="https://git.suyu.dev/suyu"><span style=" text-decoration: underline; color:#039be5;">Source Code</span></a> | <a href="https://git.suyu.dev/suyu/suyu/activity"><span style=" text-decoration: underline; color:#039be5;">Contributors</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">License</span></a></p></body></html> - <html><head/><body><p><a href="https://suyu.dev/">Netsted<span style=" text-decoration: underline; color:#039be5;"></a> | <a href="https://git.suyu.dev/suyu"><span style=" text-decoration: underline; color:#039be5;">Kildekode</span></a> | <a href="https://git.suyu.dev/suyu/suyu/activity"><span style=" text-decoration: underline; color:#039be5;">Bidragsydere</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">Licens</span></a></p></body></html> + <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">Website</span></a> | <a href="https://gitlab.com/suyu-emu"><span style=" text-decoration: underline; color:#039be5;">Source Code</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/graphs/contributors"><span style=" text-decoration: underline; color:#039be5;">Contributors</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">License</span></a></p></body></html> + <html><head/><body><p><a href="https://suyu.dev/">Netsted<span style=" text-decoration: underline; color:#039be5;"></a> | <a href="https://gitlab.com/suyu-emu"><span style=" text-decoration: underline; color:#039be5;">Kildekode</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/graphs/contributors"><span style=" text-decoration: underline; color:#039be5;">Bidragsydere</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">Licens</span></a></p></body></html> diff --git a/dist/languages/de.ts b/dist/languages/de.ts index 8d862a62b9..e1ddd36975 100644 --- a/dist/languages/de.ts +++ b/dist/languages/de.ts @@ -35,8 +35,8 @@ p, li { white-space: pre-wrap; } - <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">Website</span></a> | <a href="https://git.suyu.dev/suyu"><span style=" text-decoration: underline; color:#039be5;">Source Code</span></a> | <a href="https://git.suyu.dev/suyu/suyu/activity"><span style=" text-decoration: underline; color:#039be5;">Contributors</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">License</span></a></p></body></html> - <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">Webseite</span></a> | <a href="https://git.suyu.dev/suyu"><span style=" text-decoration: underline; color:#039be5;">Quellcode</span></a> | <a href="https://git.suyu.dev/suyu/suyu/activity"><span style=" text-decoration: underline; color:#039be5;">Mitwirkende</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">Lizenz</span></a></p></body></html> + <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">Website</span></a> | <a href="https://gitlab.com/suyu-emu"><span style=" text-decoration: underline; color:#039be5;">Source Code</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/graphs/contributors"><span style=" text-decoration: underline; color:#039be5;">Contributors</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">License</span></a></p></body></html> + <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">Webseite</span></a> | <a href="https://gitlab.com/suyu-emu"><span style=" text-decoration: underline; color:#039be5;">Quellcode</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/graphs/contributors"><span style=" text-decoration: underline; color:#039be5;">Mitwirkende</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">Lizenz</span></a></p></body></html> diff --git a/dist/languages/el.ts b/dist/languages/el.ts index 4f8f6a5aac..b8eb0ed3b8 100644 --- a/dist/languages/el.ts +++ b/dist/languages/el.ts @@ -35,8 +35,8 @@ p, li { white-space: pre-wrap; } - <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">Website</span></a> | <a href="https://git.suyu.dev/suyu"><span style=" text-decoration: underline; color:#039be5;">Source Code</span></a> | <a href="https://git.suyu.dev/suyu/suyu/activity"><span style=" text-decoration: underline; color:#039be5;">Contributors</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">License</span></a></p></body></html> - <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">Ιστοσελίδα</span></a> | <a href="https://git.suyu.dev/suyu"><span style=" text-decoration: underline; color:#039be5;">Πηγαίος Κώδικας</span></a> | <a href="https://git.suyu.dev/suyu/suyu/activity"><span style=" text-decoration: underline; color:#039be5;">Συνεργάτες</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"></span>Άδεια</span></a></p></body></html> + <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">Website</span></a> | <a href="https://gitlab.com/suyu-emu"><span style=" text-decoration: underline; color:#039be5;">Source Code</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/graphs/contributors"><span style=" text-decoration: underline; color:#039be5;">Contributors</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">License</span></a></p></body></html> + <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">Ιστοσελίδα</span></a> | <a href="https://gitlab.com/suyu-emu"><span style=" text-decoration: underline; color:#039be5;">Πηγαίος Κώδικας</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/graphs/contributors"><span style=" text-decoration: underline; color:#039be5;">Συνεργάτες</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"></span>Άδεια</span></a></p></body></html> diff --git a/dist/languages/es.ts b/dist/languages/es.ts index e9824bc5fc..5690a95dec 100644 --- a/dist/languages/es.ts +++ b/dist/languages/es.ts @@ -35,8 +35,8 @@ p, li { white-space: pre-wrap; } - <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">Website</span></a> | <a href="https://git.suyu.dev/suyu"><span style=" text-decoration: underline; color:#039be5;">Source Code</span></a> | <a href="https://git.suyu.dev/suyu/suyu/activity"><span style=" text-decoration: underline; color:#039be5;">Contributors</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">License</span></a></p></body></html> - <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">Página web</span></a> | <a href="https://git.suyu.dev/suyu"><span style=" text-decoration: underline; color:#039be5;">Código fuente</span></a> | <a href="https://git.suyu.dev/suyu/suyu/activity"><span style=" text-decoration: underline; color:#039be5;">Contribuidores</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">Licencia</span></a></p></body></html> + <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">Website</span></a> | <a href="https://gitlab.com/suyu-emu"><span style=" text-decoration: underline; color:#039be5;">Source Code</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/graphs/contributors"><span style=" text-decoration: underline; color:#039be5;">Contributors</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">License</span></a></p></body></html> + <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">Página web</span></a> | <a href="https://gitlab.com/suyu-emu"><span style=" text-decoration: underline; color:#039be5;">Código fuente</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/graphs/contributors"><span style=" text-decoration: underline; color:#039be5;">Contribuidores</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">Licencia</span></a></p></body></html> diff --git a/dist/languages/fi.ts b/dist/languages/fi.ts index 0f22433d5b..146d4e1dd9 100644 --- a/dist/languages/fi.ts +++ b/dist/languages/fi.ts @@ -40,8 +40,8 @@ p, li { white-space: pre-wrap; } - <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">Website</span></a> | <a href="https://git.suyu.dev/suyu"><span style=" text-decoration: underline; color:#039be5;">Source Code</span></a> | <a href="https://git.suyu.dev/suyu/suyu/activity"><span style=" text-decoration: underline; color:#039be5;">Contributors</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/blob/master/license.txt"><span style=" text-decoration: underline; color:#039be5;">License</span></a></p></body></html> - <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">Nettisivu</span></a> | <a href="https://git.suyu.dev/suyu"><span style=" text-decoration: underline; color:#039be5;">Lähdekoodi</span></a> | <a href="https://git.suyu.dev/suyu/suyu/activity"><span style=" text-decoration: underline; color:#039be5;">Lahjoittajat</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/blob/master/license.txt"><span style=" text-decoration: underline; color:#039be5;">Lisenssi</span></a></p></body></html> + <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">Website</span></a> | <a href="https://gitlab.com/suyu-emu"><span style=" text-decoration: underline; color:#039be5;">Source Code</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/graphs/contributors"><span style=" text-decoration: underline; color:#039be5;">Contributors</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/blob/master/license.txt"><span style=" text-decoration: underline; color:#039be5;">License</span></a></p></body></html> + <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">Nettisivu</span></a> | <a href="https://gitlab.com/suyu-emu"><span style=" text-decoration: underline; color:#039be5;">Lähdekoodi</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/graphs/contributors"><span style=" text-decoration: underline; color:#039be5;">Lahjoittajat</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/blob/master/license.txt"><span style=" text-decoration: underline; color:#039be5;">Lisenssi</span></a></p></body></html> diff --git a/dist/languages/fr.ts b/dist/languages/fr.ts index 3619e564c7..a45580d312 100644 --- a/dist/languages/fr.ts +++ b/dist/languages/fr.ts @@ -35,8 +35,8 @@ p, li { white-space: pre-wrap; } - <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">Website</span></a> | <a href="https://git.suyu.dev/suyu"><span style=" text-decoration: underline; color:#039be5;">Source Code</span></a> | <a href="https://git.suyu.dev/suyu/suyu/activity"><span style=" text-decoration: underline; color:#039be5;">Contributors</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">License</span></a></p></body></html> - <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">Site Web</span></a> | <a href="https://git.suyu.dev/suyu"><span style=" text-decoration: underline; color:#039be5;">Code Source</span></a> | <a href="https://git.suyu.dev/suyu/suyu/activity"><span style=" text-decoration: underline; color:#039be5;">Contributeurs</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">Licence</span></a></p></body></html> + <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">Website</span></a> | <a href="https://gitlab.com/suyu-emu"><span style=" text-decoration: underline; color:#039be5;">Source Code</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/graphs/contributors"><span style=" text-decoration: underline; color:#039be5;">Contributors</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">License</span></a></p></body></html> + <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">Site Web</span></a> | <a href="https://gitlab.com/suyu-emu"><span style=" text-decoration: underline; color:#039be5;">Code Source</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/graphs/contributors"><span style=" text-decoration: underline; color:#039be5;">Contributeurs</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">Licence</span></a></p></body></html> diff --git a/dist/languages/hu.ts b/dist/languages/hu.ts index 1b43397f17..bd7d056e04 100644 --- a/dist/languages/hu.ts +++ b/dist/languages/hu.ts @@ -35,8 +35,8 @@ p, li { white-space: pre-wrap; } - <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">Website</span></a> | <a href="https://git.suyu.dev/suyu"><span style=" text-decoration: underline; color:#039be5;">Source Code</span></a> | <a href="https://git.suyu.dev/suyu/suyu/activity"><span style=" text-decoration: underline; color:#039be5;">Contributors</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">License</span></a></p></body></html> - <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">Weboldal</span></a> | <a href="https://git.suyu.dev/suyu"><span style=" text-decoration: underline; color:#039be5;">Forráskód</span></a> | <a href="https://git.suyu.dev/suyu/suyu/activity"><span style=" text-decoration: underline; color:#039be5;">Közreműködők</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">Licensz</span></a></p></body></html> + <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">Website</span></a> | <a href="https://gitlab.com/suyu-emu"><span style=" text-decoration: underline; color:#039be5;">Source Code</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/graphs/contributors"><span style=" text-decoration: underline; color:#039be5;">Contributors</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">License</span></a></p></body></html> + <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">Weboldal</span></a> | <a href="https://gitlab.com/suyu-emu"><span style=" text-decoration: underline; color:#039be5;">Forráskód</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/graphs/contributors"><span style=" text-decoration: underline; color:#039be5;">Közreműködők</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">Licensz</span></a></p></body></html> diff --git a/dist/languages/id.ts b/dist/languages/id.ts index 3bce2fc749..1a03da74e3 100644 --- a/dist/languages/id.ts +++ b/dist/languages/id.ts @@ -35,8 +35,8 @@ p, li { white-space: pre-wrap; } - <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">Website</span></a> | <a href="https://git.suyu.dev/suyu"><span style=" text-decoration: underline; color:#039be5;">Source Code</span></a> | <a href="https://git.suyu.dev/suyu/suyu/activity"><span style=" text-decoration: underline; color:#039be5;">Contributors</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">License</span></a></p></body></html> - <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">Situs web</span></a> | <a href="https://git.suyu.dev/suyu"><span style=" text-decoration: underline; color:#039be5;">Kode Sumber</span></a> | <a href="https://git.suyu.dev/suyu/suyu/activity"><span style=" text-decoration: underline; color:#039be5;">Kontributor</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">Lisensi</span></a></p></body></html> + <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">Website</span></a> | <a href="https://gitlab.com/suyu-emu"><span style=" text-decoration: underline; color:#039be5;">Source Code</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/graphs/contributors"><span style=" text-decoration: underline; color:#039be5;">Contributors</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">License</span></a></p></body></html> + <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">Situs web</span></a> | <a href="https://gitlab.com/suyu-emu"><span style=" text-decoration: underline; color:#039be5;">Kode Sumber</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/graphs/contributors"><span style=" text-decoration: underline; color:#039be5;">Kontributor</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">Lisensi</span></a></p></body></html> diff --git a/dist/languages/it.ts b/dist/languages/it.ts index ec70f9d809..6155074272 100644 --- a/dist/languages/it.ts +++ b/dist/languages/it.ts @@ -35,8 +35,8 @@ p, li { white-space: pre-wrap; } - <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">Website</span></a> | <a href="https://git.suyu.dev/suyu"><span style=" text-decoration: underline; color:#039be5;">Source Code</span></a> | <a href="https://git.suyu.dev/suyu/suyu/activity"><span style=" text-decoration: underline; color:#039be5;">Contributors</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">License</span></a></p></body></html> - <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">Sito web</span></a> | <a href="https://git.suyu.dev/suyu"><span style=" text-decoration: underline; color:#039be5;">Codice sorgente</span></a> | <a href="https://git.suyu.dev/suyu/suyu/activity"><span style=" text-decoration: underline; color:#039be5;">Contributori</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">Licenza</span></a></p></body></html> + <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">Website</span></a> | <a href="https://gitlab.com/suyu-emu"><span style=" text-decoration: underline; color:#039be5;">Source Code</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/graphs/contributors"><span style=" text-decoration: underline; color:#039be5;">Contributors</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">License</span></a></p></body></html> + <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">Sito web</span></a> | <a href="https://gitlab.com/suyu-emu"><span style=" text-decoration: underline; color:#039be5;">Codice sorgente</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/graphs/contributors"><span style=" text-decoration: underline; color:#039be5;">Contributori</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">Licenza</span></a></p></body></html> diff --git a/dist/languages/ja_JP.ts b/dist/languages/ja_JP.ts index 39bd1ba0a7..c5d15f14f6 100644 --- a/dist/languages/ja_JP.ts +++ b/dist/languages/ja_JP.ts @@ -35,8 +35,8 @@ p, li { white-space: pre-wrap; } - <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">Website</span></a> | <a href="https://git.suyu.dev/suyu"><span style=" text-decoration: underline; color:#039be5;">Source Code</span></a> | <a href="https://git.suyu.dev/suyu/suyu/activity"><span style=" text-decoration: underline; color:#039be5;">Contributors</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">License</span></a></p></body></html> - <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">ウェブサイト</span></a> | <a href="https://git.suyu.dev/suyu"><span style=" text-decoration: underline; color:#039be5;">ソースコード</span></a> | <a href="https://git.suyu.dev/suyu/suyu/activity"><span style=" text-decoration: underline; color:#039be5;">貢献者</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">ライセンス</span></a></p></body></html> + <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">Website</span></a> | <a href="https://gitlab.com/suyu-emu"><span style=" text-decoration: underline; color:#039be5;">Source Code</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/graphs/contributors"><span style=" text-decoration: underline; color:#039be5;">Contributors</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">License</span></a></p></body></html> + <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">ウェブサイト</span></a> | <a href="https://gitlab.com/suyu-emu"><span style=" text-decoration: underline; color:#039be5;">ソースコード</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/graphs/contributors"><span style=" text-decoration: underline; color:#039be5;">貢献者</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">ライセンス</span></a></p></body></html> diff --git a/dist/languages/ko_KR.ts b/dist/languages/ko_KR.ts index 4fe347f6d5..57fdcced57 100644 --- a/dist/languages/ko_KR.ts +++ b/dist/languages/ko_KR.ts @@ -35,8 +35,8 @@ p, li { white-space: pre-wrap; } - <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">Website</span></a> | <a href="https://git.suyu.dev/suyu"><span style=" text-decoration: underline; color:#039be5;">Source Code</span></a> | <a href="https://git.suyu.dev/suyu/suyu/activity"><span style=" text-decoration: underline; color:#039be5;">Contributors</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">License</span></a></p></body></html> - <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">웹사이트</span></a> | <a href="https://git.suyu.dev/suyu"><span style=" text-decoration: underline; color:#039be5;">소스 코드</span></a> | <a href="https://git.suyu.dev/suyu/suyu/activity"><span style=" text-decoration: underline; color:#039be5;">기여자</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">라이센스</span></a></p></body></html> + <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">Website</span></a> | <a href="https://gitlab.com/suyu-emu"><span style=" text-decoration: underline; color:#039be5;">Source Code</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/graphs/contributors"><span style=" text-decoration: underline; color:#039be5;">Contributors</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">License</span></a></p></body></html> + <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">웹사이트</span></a> | <a href="https://gitlab.com/suyu-emu"><span style=" text-decoration: underline; color:#039be5;">소스 코드</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/graphs/contributors"><span style=" text-decoration: underline; color:#039be5;">기여자</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">라이센스</span></a></p></body></html> diff --git a/dist/languages/nb.ts b/dist/languages/nb.ts index 7ee7b5878b..6feaaecb77 100644 --- a/dist/languages/nb.ts +++ b/dist/languages/nb.ts @@ -35,8 +35,8 @@ p, li { white-space: pre-wrap; } - <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">Website</span></a> | <a href="https://git.suyu.dev/suyu"><span style=" text-decoration: underline; color:#039be5;">Source Code</span></a> | <a href="https://git.suyu.dev/suyu/suyu/activity"><span style=" text-decoration: underline; color:#039be5;">Contributors</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">License</span></a></p></body></html> - <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">Nettside</span></a>|<a href="https://git.suyu.dev/suyu"><span style=" text-decoration: underline; color:#039be5;">Kildekode</span></a>|<a href="https://git.suyu.dev/suyu/suyu/activity"><span style=" text-decoration: underline; color:#039be5;">Bidragsytere</span></a>|<a href="https://gitlab.com/suyu-emu/suyu/blob/master/license.txt"><span style=" text-decoration: underline; color:#039be5;">Lisens</span></a></p></body></html> + <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">Website</span></a> | <a href="https://gitlab.com/suyu-emu"><span style=" text-decoration: underline; color:#039be5;">Source Code</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/graphs/contributors"><span style=" text-decoration: underline; color:#039be5;">Contributors</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">License</span></a></p></body></html> + <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">Nettside</span></a>|<a href="https://gitlab.com/suyu-emu"><span style=" text-decoration: underline; color:#039be5;">Kildekode</span></a>|<a href="https://gitlab.com/suyu-emu/suyu/graphs/contributors"><span style=" text-decoration: underline; color:#039be5;">Bidragsytere</span></a>|<a href="https://gitlab.com/suyu-emu/suyu/blob/master/license.txt"><span style=" text-decoration: underline; color:#039be5;">Lisens</span></a></p></body></html> diff --git a/dist/languages/nl.ts b/dist/languages/nl.ts index 7fdba359b8..6cf1353919 100644 --- a/dist/languages/nl.ts +++ b/dist/languages/nl.ts @@ -35,8 +35,8 @@ p, li { white-space: pre-wrap; } - <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">Website</span></a> | <a href="https://git.suyu.dev/suyu"><span style=" text-decoration: underline; color:#039be5;">Source Code</span></a> | <a href="https://git.suyu.dev/suyu/suyu/activity"><span style=" text-decoration: underline; color:#039be5;">Contributors</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">License</span></a></p></body></html> - <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">Website</span></a> | <a href="https://git.suyu.dev/suyu"><span style=" text-decoration: underline; color:#039be5;">Broncode</span></a> | <a href="https://git.suyu.dev/suyu/suyu/activity"><span style=" text-decoration: underline; color:#039be5;">Bijdragers</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">Licentie</span></a></p></body></html> + <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">Website</span></a> | <a href="https://gitlab.com/suyu-emu"><span style=" text-decoration: underline; color:#039be5;">Source Code</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/graphs/contributors"><span style=" text-decoration: underline; color:#039be5;">Contributors</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">License</span></a></p></body></html> + <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">Website</span></a> | <a href="https://gitlab.com/suyu-emu"><span style=" text-decoration: underline; color:#039be5;">Broncode</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/graphs/contributors"><span style=" text-decoration: underline; color:#039be5;">Bijdragers</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">Licentie</span></a></p></body></html> diff --git a/dist/languages/pl.ts b/dist/languages/pl.ts index b60eca3648..218983e0c6 100644 --- a/dist/languages/pl.ts +++ b/dist/languages/pl.ts @@ -35,8 +35,8 @@ p, li { white-space: pre-wrap; } - <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">Website</span></a> | <a href="https://git.suyu.dev/suyu"><span style=" text-decoration: underline; color:#039be5;">Source Code</span></a> | <a href="https://gitlab.com/suyu-emu/graphs/contributors"><span style=" text-decoration: underline; color:#039be5;">Contributors</span></a> | <a href="https://gitlab.com/suyu-emu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">License</span></a></p></body></html> - <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">Strona</span></a>I<a href="https://git.suyu.dev/suyu"><span style=" text-decoration: underline; color:#039be5;">Kod Źródłowy</span></a>I<a href="https://gitlab.com/suyu-emu/graphs/contributors"><span style=" text-decoration: underline; color:#039be5;">Kontrybutorzy</span></a>I<a href="https://gitlab.com/suyu-emu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">Licencja</span></a></p></body></html> + <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">Website</span></a> | <a href="https://gitlab.com/suyu-emu"><span style=" text-decoration: underline; color:#039be5;">Source Code</span></a> | <a href="https://gitlab.com/suyu-emu/graphs/contributors"><span style=" text-decoration: underline; color:#039be5;">Contributors</span></a> | <a href="https://gitlab.com/suyu-emu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">License</span></a></p></body></html> + <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">Strona</span></a>I<a href="https://gitlab.com/suyu-emu"><span style=" text-decoration: underline; color:#039be5;">Kod Źródłowy</span></a>I<a href="https://gitlab.com/suyu-emu/graphs/contributors"><span style=" text-decoration: underline; color:#039be5;">Kontrybutorzy</span></a>I<a href="https://gitlab.com/suyu-emu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">Licencja</span></a></p></body></html> diff --git a/dist/languages/pt_BR.ts b/dist/languages/pt_BR.ts index caf2f84078..644edd310f 100644 --- a/dist/languages/pt_BR.ts +++ b/dist/languages/pt_BR.ts @@ -35,8 +35,8 @@ p, li { white-space: pre-wrap; } - <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">Website</span></a> | <a href="https://git.suyu.dev/suyu"><span style=" text-decoration: underline; color:#039be5;">Source Code</span></a> | <a href="https://git.suyu.dev/suyu/suyu/activity"><span style=" text-decoration: underline; color:#039be5;">Contributors</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">License</span></a></p></body></html> - <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">Site</span></a> | <a href="https://git.suyu.dev/suyu"><span style=" text-decoration: underline; color:#039be5;">Código-fonte</span></a> | <a href="https://git.suyu.dev/suyu/suyu/activity"><span style=" text-decoration: underline; color:#039be5;">Colaboradores</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">Licença</span></a></p></body></html> + <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">Website</span></a> | <a href="https://gitlab.com/suyu-emu"><span style=" text-decoration: underline; color:#039be5;">Source Code</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/graphs/contributors"><span style=" text-decoration: underline; color:#039be5;">Contributors</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">License</span></a></p></body></html> + <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">Site</span></a> | <a href="https://gitlab.com/suyu-emu"><span style=" text-decoration: underline; color:#039be5;">Código-fonte</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/graphs/contributors"><span style=" text-decoration: underline; color:#039be5;">Colaboradores</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">Licença</span></a></p></body></html> diff --git a/dist/languages/pt_PT.ts b/dist/languages/pt_PT.ts index 8cd779e40a..d14540c667 100644 --- a/dist/languages/pt_PT.ts +++ b/dist/languages/pt_PT.ts @@ -35,8 +35,8 @@ p, li { white-space: pre-wrap; } - <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">Website</span></a> | <a href="https://git.suyu.dev/suyu"><span style=" text-decoration: underline; color:#039be5;">Source Code</span></a> | <a href="https://git.suyu.dev/suyu/suyu/activity"><span style=" text-decoration: underline; color:#039be5;">Contributors</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">License</span></a></p></body></html> - Site | <a href="https://git.suyu.dev/suyu"><span style=" text-decoration: underline; color:#039be5;">Código fonte | <a href="https://git.suyu.dev/suyu/suyu/activity"><span style=" text-decoration: underline; color:#039be5;">Contribuidores</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">Licença</span></a></p></body></html> + <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">Website</span></a> | <a href="https://gitlab.com/suyu-emu"><span style=" text-decoration: underline; color:#039be5;">Source Code</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/graphs/contributors"><span style=" text-decoration: underline; color:#039be5;">Contributors</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">License</span></a></p></body></html> + Site | <a href="https://gitlab.com/suyu-emu"><span style=" text-decoration: underline; color:#039be5;">Código fonte | <a href="https://gitlab.com/suyu-emu/suyu/graphs/contributors"><span style=" text-decoration: underline; color:#039be5;">Contribuidores</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">Licença</span></a></p></body></html> diff --git a/dist/languages/ru_RU.ts b/dist/languages/ru_RU.ts index 924cca9909..66d56b73f3 100644 --- a/dist/languages/ru_RU.ts +++ b/dist/languages/ru_RU.ts @@ -35,8 +35,8 @@ p, li { white-space: pre-wrap; } - <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">Website</span></a> | <a href="https://git.suyu.dev/suyu"><span style=" text-decoration: underline; color:#039be5;">Source Code</span></a> | <a href="https://git.suyu.dev/suyu/suyu/activity"><span style=" text-decoration: underline; color:#039be5;">Contributors</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">License</span></a></p></body></html> - <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">Веб-сайт</span></a> | <a href="https://git.suyu.dev/suyu"><span style=" text-decoration: underline; color:#039be5;">Исходный код</span></a> | <a href="https://git.suyu.dev/suyu/suyu/activity"><span style=" text-decoration: underline; color:#039be5;">Контрибьюторы</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">Лицензия</span></a></p></body></html> + <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">Website</span></a> | <a href="https://gitlab.com/suyu-emu"><span style=" text-decoration: underline; color:#039be5;">Source Code</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/graphs/contributors"><span style=" text-decoration: underline; color:#039be5;">Contributors</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">License</span></a></p></body></html> + <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">Веб-сайт</span></a> | <a href="https://gitlab.com/suyu-emu"><span style=" text-decoration: underline; color:#039be5;">Исходный код</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/graphs/contributors"><span style=" text-decoration: underline; color:#039be5;">Контрибьюторы</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">Лицензия</span></a></p></body></html> diff --git a/dist/languages/sv.ts b/dist/languages/sv.ts index 26d4e8e497..140189c779 100644 --- a/dist/languages/sv.ts +++ b/dist/languages/sv.ts @@ -35,8 +35,8 @@ p, li { white-space: pre-wrap; } - <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">Website</span></a> | <a href="https://git.suyu.dev/suyu"><span style=" text-decoration: underline; color:#039be5;">Source Code</span></a> | <a href="https://git.suyu.dev/suyu/suyu/activity"><span style=" text-decoration: underline; color:#039be5;">Contributors</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">License</span></a></p></body></html> - <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">Hemsida</span></a>I<a href="https://git.suyu.dev/suyu"><span style=" text-decoration: underline; color:#039be5;">Källkod</span></a>I<a href="https://git.suyu.dev/suyu/suyu/activity"><span style=" text-decoration: underline; color:#039be5;">Bidragsgivare</span></a>I<a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">Licens</span></a></p></body></html> + <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">Website</span></a> | <a href="https://gitlab.com/suyu-emu"><span style=" text-decoration: underline; color:#039be5;">Source Code</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/graphs/contributors"><span style=" text-decoration: underline; color:#039be5;">Contributors</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">License</span></a></p></body></html> + <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">Hemsida</span></a>I<a href="https://gitlab.com/suyu-emu"><span style=" text-decoration: underline; color:#039be5;">Källkod</span></a>I<a href="https://gitlab.com/suyu-emu/suyu/graphs/contributors"><span style=" text-decoration: underline; color:#039be5;">Bidragsgivare</span></a>I<a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">Licens</span></a></p></body></html> diff --git a/dist/languages/tr_TR.ts b/dist/languages/tr_TR.ts index 3f17dd29d7..61532becdb 100644 --- a/dist/languages/tr_TR.ts +++ b/dist/languages/tr_TR.ts @@ -35,8 +35,8 @@ p, li { white-space: pre-wrap; } - <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">Website</span></a> | <a href="https://git.suyu.dev/suyu"><span style=" text-decoration: underline; color:#039be5;">Source Code</span></a> | <a href="https://git.suyu.dev/suyu/suyu/activity"><span style=" text-decoration: underline; color:#039be5;">Contributors</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">License</span></a></p></body></html> - <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">Website</span></a>|<a href="https://git.suyu.dev/suyu"><span style=" text-decoration: underline; color:#039be5;">Kaynak Kodu</span></a>|<a href="https://git.suyu.dev/suyu/suyu/activity"><span style=" text-decoration: underline; color:#039be5;">Katkıda Bulunanlar</span></a>|<a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">Lisans</span></a></p></body></html> + <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">Website</span></a> | <a href="https://gitlab.com/suyu-emu"><span style=" text-decoration: underline; color:#039be5;">Source Code</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/graphs/contributors"><span style=" text-decoration: underline; color:#039be5;">Contributors</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">License</span></a></p></body></html> + <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">Website</span></a>|<a href="https://gitlab.com/suyu-emu"><span style=" text-decoration: underline; color:#039be5;">Kaynak Kodu</span></a>|<a href="https://gitlab.com/suyu-emu/suyu/graphs/contributors"><span style=" text-decoration: underline; color:#039be5;">Katkıda Bulunanlar</span></a>|<a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">Lisans</span></a></p></body></html> diff --git a/dist/languages/uk.ts b/dist/languages/uk.ts index b3b77aa3e0..aeb837b4c2 100644 --- a/dist/languages/uk.ts +++ b/dist/languages/uk.ts @@ -35,8 +35,8 @@ p, li { white-space: pre-wrap; } - <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">Website</span></a> | <a href="https://git.suyu.dev/suyu"><span style=" text-decoration: underline; color:#039be5;">Source Code</span></a> | <a href="https://git.suyu.dev/suyu/suyu/activity"><span style=" text-decoration: underline; color:#039be5;">Contributors</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">License</span></a></p></body></html> - <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">Веб-сайт</span></a> | <a href="https://git.suyu.dev/suyu"><span style=" text-decoration: underline; color:#039be5;">Першокод</span></a> | <a href="https://git.suyu.dev/suyu/suyu/activity"><span style=" text-decoration: underline; color:#039be5;">Вкладники</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">Ліцензія</span></a></p></body></html> + <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">Website</span></a> | <a href="https://gitlab.com/suyu-emu"><span style=" text-decoration: underline; color:#039be5;">Source Code</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/graphs/contributors"><span style=" text-decoration: underline; color:#039be5;">Contributors</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">License</span></a></p></body></html> + <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">Веб-сайт</span></a> | <a href="https://gitlab.com/suyu-emu"><span style=" text-decoration: underline; color:#039be5;">Першокод</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/graphs/contributors"><span style=" text-decoration: underline; color:#039be5;">Вкладники</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">Ліцензія</span></a></p></body></html> diff --git a/dist/languages/vi.ts b/dist/languages/vi.ts index 07f153deca..38bdc29076 100644 --- a/dist/languages/vi.ts +++ b/dist/languages/vi.ts @@ -35,8 +35,8 @@ p, li { white-space: pre-wrap; } - <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">Website</span></a> | <a href="https://git.suyu.dev/suyu"><span style=" text-decoration: underline; color:#039be5;">Source Code</span></a> | <a href="https://git.suyu.dev/suyu/suyu/activity"><span style=" text-decoration: underline; color:#039be5;">Contributors</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">License</span></a></p></body></html> - <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">Trang web</span></a> | <a href="https://git.suyu.dev/suyu"><span style=" text-decoration: underline; color:#039be5;">Mã nguồn</span></a> | <a href="https://git.suyu.dev/suyu/suyu/activity"><span style=" text-decoration: underline; color:#039be5;">Người đóng góp</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">Giấy phép</span></a></p></body></html> + <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">Website</span></a> | <a href="https://gitlab.com/suyu-emu"><span style=" text-decoration: underline; color:#039be5;">Source Code</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/graphs/contributors"><span style=" text-decoration: underline; color:#039be5;">Contributors</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">License</span></a></p></body></html> + <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">Trang web</span></a> | <a href="https://gitlab.com/suyu-emu"><span style=" text-decoration: underline; color:#039be5;">Mã nguồn</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/graphs/contributors"><span style=" text-decoration: underline; color:#039be5;">Người đóng góp</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">Giấy phép</span></a></p></body></html> diff --git a/dist/languages/vi_VN.ts b/dist/languages/vi_VN.ts index e619e8ad8f..81cb3647fd 100644 --- a/dist/languages/vi_VN.ts +++ b/dist/languages/vi_VN.ts @@ -35,8 +35,8 @@ p, li { white-space: pre-wrap; } - <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">Website</span></a> | <a href="https://git.suyu.dev/suyu"><span style=" text-decoration: underline; color:#039be5;">Source Code</span></a> | <a href="https://git.suyu.dev/suyu/suyu/activity"><span style=" text-decoration: underline; color:#039be5;">Contributors</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">License</span></a></p></body></html> - <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">Trang web</span></a> | <a href="https://git.suyu.dev/suyu"><span style=" text-decoration: underline; color:#039be5;">Mã nguồn</span></a> | <a href="https://git.suyu.dev/suyu/suyu/activity"><span style=" text-decoration: underline; color:#039be5;">Đóng góp</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/blob/master/license.txt"><span style=" text-decoration: underline; color:#039be5;">Giấy phép</span></a></p></body></html> + <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">Website</span></a> | <a href="https://gitlab.com/suyu-emu"><span style=" text-decoration: underline; color:#039be5;">Source Code</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/graphs/contributors"><span style=" text-decoration: underline; color:#039be5;">Contributors</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">License</span></a></p></body></html> + <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">Trang web</span></a> | <a href="https://gitlab.com/suyu-emu"><span style=" text-decoration: underline; color:#039be5;">Mã nguồn</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/graphs/contributors"><span style=" text-decoration: underline; color:#039be5;">Đóng góp</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/blob/master/license.txt"><span style=" text-decoration: underline; color:#039be5;">Giấy phép</span></a></p></body></html> diff --git a/dist/languages/zh_CN.ts b/dist/languages/zh_CN.ts index 09b8431f20..688a0eae01 100644 --- a/dist/languages/zh_CN.ts +++ b/dist/languages/zh_CN.ts @@ -35,8 +35,8 @@ p, li { white-space: pre-wrap; } - <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">Website</span></a> | <a href="https://git.suyu.dev/suyu"><span style=" text-decoration: underline; color:#039be5;">Source Code</span></a> | <a href="https://git.suyu.dev/suyu/suyu/activity"><span style=" text-decoration: underline; color:#039be5;">Contributors</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">License</span></a></p></body></html> - <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">官方网站</span></a> | <a href="https://git.suyu.dev/suyu"><span style=" text-decoration: underline; color:#039be5;">源代码</span></a> | <a href="https://git.suyu.dev/suyu/suyu/activity"><span style=" text-decoration: underline; color:#039be5;">贡献者</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">许可证</span></a></p></body></html> + <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">Website</span></a> | <a href="https://gitlab.com/suyu-emu"><span style=" text-decoration: underline; color:#039be5;">Source Code</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/graphs/contributors"><span style=" text-decoration: underline; color:#039be5;">Contributors</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">License</span></a></p></body></html> + <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">官方网站</span></a> | <a href="https://gitlab.com/suyu-emu"><span style=" text-decoration: underline; color:#039be5;">源代码</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/graphs/contributors"><span style=" text-decoration: underline; color:#039be5;">贡献者</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">许可证</span></a></p></body></html> diff --git a/dist/languages/zh_TW.ts b/dist/languages/zh_TW.ts index 399195b394..29bdb89afd 100644 --- a/dist/languages/zh_TW.ts +++ b/dist/languages/zh_TW.ts @@ -35,8 +35,8 @@ p, li { white-space: pre-wrap; } - <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">Website</span></a> | <a href="https://git.suyu.dev/suyu"><span style=" text-decoration: underline; color:#039be5;">Source Code</span></a> | <a href="https://git.suyu.dev/suyu/suyu/activity"><span style=" text-decoration: underline; color:#039be5;">Contributors</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">License</span></a></p></body></html> - <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">官網</span></a> | <a href="https://git.suyu.dev/suyu"><span style=" text-decoration: underline; color:#039be5;">原始碼</span></a> | <a href="https://git.suyu.dev/suyu/suyu/activity"><span style=" text-decoration: underline; color:#039be5;">貢獻者</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">許可證</span></a></p></body></html> + <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">Website</span></a> | <a href="https://gitlab.com/suyu-emu"><span style=" text-decoration: underline; color:#039be5;">Source Code</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/graphs/contributors"><span style=" text-decoration: underline; color:#039be5;">Contributors</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">License</span></a></p></body></html> + <html><head/><body><p><a href="https://suyu.dev/"><span style=" text-decoration: underline; color:#039be5;">官網</span></a> | <a href="https://gitlab.com/suyu-emu"><span style=" text-decoration: underline; color:#039be5;">原始碼</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/graphs/contributors"><span style=" text-decoration: underline; color:#039be5;">貢獻者</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">許可證</span></a></p></body></html> diff --git a/dist/dev.suyu_emu.suyu.desktop b/dist/org.suyu_emu.suyu.desktop similarity index 74% rename from dist/dev.suyu_emu.suyu.desktop rename to dist/org.suyu_emu.suyu.desktop index 215c9d884a..0f619d7e7e 100644 --- a/dist/dev.suyu_emu.suyu.desktop +++ b/dist/org.suyu_emu.suyu.desktop @@ -1,5 +1,4 @@ -# SPDX-FileCopyrightText: 2018 yuzu Emulator Project -# SPDX-FileCopyrightText: 2024 suyu Emulator Project +# SPDX-FileCopyrightText: 2018 yuzu Emulator Project & 2024 suyu Emulator Project # SPDX-License-Identifier: GPL-2.0-or-later [Desktop Entry] @@ -8,7 +7,7 @@ Type=Application Name=suyu GenericName=Switch Emulator Comment=Nintendo Switch video game console emulator -Icon=dev.suyu_emu.suyu +Icon=org.suyu_emu.suyu TryExec=suyu Exec=suyu %f Categories=Game;Emulator;Qt; diff --git a/dist/dev.suyu_emu.suyu.metainfo.xml b/dist/org.suyu_emu.suyu.metainfo.xml similarity index 93% rename from dist/dev.suyu_emu.suyu.metainfo.xml rename to dist/org.suyu_emu.suyu.metainfo.xml index 7677919f77..74c72ad977 100644 --- a/dist/dev.suyu_emu.suyu.metainfo.xml +++ b/dist/org.suyu_emu.suyu.metainfo.xml @@ -1,13 +1,12 @@ - dev.suyu_emu.suyu + org.suyu_emu.suyu CC0-1.0 suyu Nintendo Switch emulator @@ -34,7 +33,7 @@ SPDX-License-Identifier: CC0-1.0 https://community.citra-emu.org/ https://gitlab.com/suyu-emu/suyu https://suyu-emu.org/wiki/contributing/ - dev.suyu_emu.suyu.desktop + org.suyu_emu.suyu.desktop suyu suyu-cmd diff --git a/dist/dev.suyu_emu.suyu.xml b/dist/org.suyu_emu.suyu.xml similarity index 80% rename from dist/dev.suyu_emu.suyu.xml rename to dist/org.suyu_emu.suyu.xml index 7e1414ce17..c54c8bd8ec 100644 --- a/dist/dev.suyu_emu.suyu.xml +++ b/dist/org.suyu_emu.suyu.xml @@ -1,8 +1,7 @@ @@ -10,7 +9,7 @@ SPDX-License-Identifier: GPL-2.0-or-later Nintendo Switch homebrew executable NRO - + @@ -18,7 +17,7 @@ SPDX-License-Identifier: GPL-2.0-or-later Nintendo Switch homebrew executable NSO - + @@ -26,7 +25,7 @@ SPDX-License-Identifier: GPL-2.0-or-later Nintendo Switch Package NSP - + @@ -34,7 +33,7 @@ SPDX-License-Identifier: GPL-2.0-or-later Nintendo Switch Card Image XCI - + diff --git a/dist/qt_themes/default/icons/16x16/checked.png b/dist/qt_themes/colorful/icons/16x16/checked.png similarity index 100% rename from dist/qt_themes/default/icons/16x16/checked.png rename to dist/qt_themes/colorful/icons/16x16/checked.png diff --git a/dist/qt_themes/colorful/icons/16x16/connected.png b/dist/qt_themes/colorful/icons/16x16/connected.png new file mode 100644 index 0000000000..0afc18cb7a Binary files /dev/null and b/dist/qt_themes/colorful/icons/16x16/connected.png differ diff --git a/dist/qt_themes/colorful/icons/16x16/connected_notification.png b/dist/qt_themes/colorful/icons/16x16/connected_notification.png new file mode 100644 index 0000000000..72466e098e Binary files /dev/null and b/dist/qt_themes/colorful/icons/16x16/connected_notification.png differ diff --git a/dist/qt_themes/colorful/icons/16x16/disconnected.png b/dist/qt_themes/colorful/icons/16x16/disconnected.png new file mode 100644 index 0000000000..7258a8cfe5 Binary files /dev/null and b/dist/qt_themes/colorful/icons/16x16/disconnected.png differ diff --git a/dist/qt_themes/default/icons/16x16/failed.png b/dist/qt_themes/colorful/icons/16x16/failed.png similarity index 100% rename from dist/qt_themes/default/icons/16x16/failed.png rename to dist/qt_themes/colorful/icons/16x16/failed.png diff --git a/dist/qt_themes/default/icons/16x16/info.png b/dist/qt_themes/colorful/icons/16x16/info.png similarity index 100% rename from dist/qt_themes/default/icons/16x16/info.png rename to dist/qt_themes/colorful/icons/16x16/info.png diff --git a/dist/qt_themes/colorful/icons/16x16/lock.png b/dist/qt_themes/colorful/icons/16x16/lock.png new file mode 100644 index 0000000000..fd27069d80 Binary files /dev/null and b/dist/qt_themes/colorful/icons/16x16/lock.png differ diff --git a/dist/qt_themes/default/icons/16x16/sync.png b/dist/qt_themes/colorful/icons/16x16/sync.png similarity index 100% rename from dist/qt_themes/default/icons/16x16/sync.png rename to dist/qt_themes/colorful/icons/16x16/sync.png diff --git a/dist/qt_themes/default/icons/16x16/view-refresh.png b/dist/qt_themes/colorful/icons/16x16/view-refresh.png similarity index 100% rename from dist/qt_themes/default/icons/16x16/view-refresh.png rename to dist/qt_themes/colorful/icons/16x16/view-refresh.png diff --git a/dist/qt_themes/colorful/icons/256x256/plus_folder.png b/dist/qt_themes/colorful/icons/256x256/plus_folder.png new file mode 100644 index 0000000000..760fe6245e Binary files /dev/null and b/dist/qt_themes/colorful/icons/256x256/plus_folder.png differ diff --git a/dist/qt_themes/colorful/icons/48x48/bad_folder.png b/dist/qt_themes/colorful/icons/48x48/bad_folder.png new file mode 100644 index 0000000000..34069c6b23 Binary files /dev/null and b/dist/qt_themes/colorful/icons/48x48/bad_folder.png differ diff --git a/dist/qt_themes/colorful/icons/48x48/chip.png b/dist/qt_themes/colorful/icons/48x48/chip.png new file mode 100644 index 0000000000..6fa1589995 Binary files /dev/null and b/dist/qt_themes/colorful/icons/48x48/chip.png differ diff --git a/dist/qt_themes/colorful/icons/48x48/folder.png b/dist/qt_themes/colorful/icons/48x48/folder.png new file mode 100644 index 0000000000..498de4c629 Binary files /dev/null and b/dist/qt_themes/colorful/icons/48x48/folder.png differ diff --git a/dist/qt_themes/colorful/icons/48x48/list-add.png b/dist/qt_themes/colorful/icons/48x48/list-add.png new file mode 100644 index 0000000000..74e4882aae Binary files /dev/null and b/dist/qt_themes/colorful/icons/48x48/list-add.png differ diff --git a/dist/qt_themes/default/icons/48x48/no_avatar.png b/dist/qt_themes/colorful/icons/48x48/no_avatar.png similarity index 100% rename from dist/qt_themes/default/icons/48x48/no_avatar.png rename to dist/qt_themes/colorful/icons/48x48/no_avatar.png diff --git a/dist/qt_themes/colorful/icons/48x48/sd_card.png b/dist/qt_themes/colorful/icons/48x48/sd_card.png new file mode 100644 index 0000000000..652d61bc32 Binary files /dev/null and b/dist/qt_themes/colorful/icons/48x48/sd_card.png differ diff --git a/dist/qt_themes/colorful/icons/48x48/star.png b/dist/qt_themes/colorful/icons/48x48/star.png new file mode 100644 index 0000000000..19d55a0a80 Binary files /dev/null and b/dist/qt_themes/colorful/icons/48x48/star.png differ diff --git a/dist/qt_themes/monochrome/icons/index.theme b/dist/qt_themes/colorful/icons/index.theme similarity index 60% rename from dist/qt_themes/monochrome/icons/index.theme rename to dist/qt_themes/colorful/icons/index.theme index c2764622e0..6eb3c69495 100644 --- a/dist/qt_themes/monochrome/icons/index.theme +++ b/dist/qt_themes/colorful/icons/index.theme @@ -1,9 +1,8 @@ [Icon Theme] -Name=monochrome -Comment=Monochrome light icons -Inherits=default +Name=colorful +Comment=Colorful theme Directories=16x16,48x48,256x256 - + [16x16] Size=16 diff --git a/dist/qt_themes/colorful/style.qrc b/dist/qt_themes/colorful/style.qrc new file mode 100644 index 0000000000..82cd367be9 --- /dev/null +++ b/dist/qt_themes/colorful/style.qrc @@ -0,0 +1,30 @@ + + + + + icons/index.theme + icons/16x16/checked.png + icons/16x16/connected.png + icons/16x16/connected_notification.png + icons/16x16/disconnected.png + icons/16x16/failed.png + icons/16x16/info.png + icons/16x16/lock.png + icons/16x16/sync.png + icons/16x16/view-refresh.png + icons/48x48/bad_folder.png + icons/48x48/chip.png + icons/48x48/folder.png + icons/48x48/list-add.png + icons/48x48/no_avatar.png + icons/48x48/sd_card.png + icons/48x48/star.png + icons/256x256/plus_folder.png + + + ../default/style.qss + + diff --git a/dist/qt_themes/default_dark/icons/16x16/lock.png b/dist/qt_themes/colorful_dark/icons/16x16/lock.png similarity index 100% rename from dist/qt_themes/default_dark/icons/16x16/lock.png rename to dist/qt_themes/colorful_dark/icons/16x16/lock.png diff --git a/dist/qt_themes/default_dark/icons/16x16/view-refresh.png b/dist/qt_themes/colorful_dark/icons/16x16/view-refresh.png similarity index 100% rename from dist/qt_themes/default_dark/icons/16x16/view-refresh.png rename to dist/qt_themes/colorful_dark/icons/16x16/view-refresh.png diff --git a/dist/qt_themes/colorful_dark/icons/index.theme b/dist/qt_themes/colorful_dark/icons/index.theme new file mode 100644 index 0000000000..b37a06df78 --- /dev/null +++ b/dist/qt_themes/colorful_dark/icons/index.theme @@ -0,0 +1,8 @@ +[Icon Theme] +Name=colorful_dark +Comment=Colorful theme (Dark style) +Inherits=colorful +Directories=16x16 + +[16x16] +Size=16 diff --git a/dist/qt_themes/colorful_dark/style.qrc b/dist/qt_themes/colorful_dark/style.qrc new file mode 100644 index 0000000000..72451ef023 --- /dev/null +++ b/dist/qt_themes/colorful_dark/style.qrc @@ -0,0 +1,57 @@ + + + + + icons/index.theme + icons/16x16/lock.png + icons/16x16/view-refresh.png + + + + ../qdarkstyle/rc/up_arrow_disabled.png + ../qdarkstyle/rc/Hmovetoolbar.png + ../qdarkstyle/rc/stylesheet-branch-end.png + ../qdarkstyle/rc/branch_closed-on.png + ../qdarkstyle/rc/stylesheet-vline.png + ../qdarkstyle/rc/branch_closed.png + ../qdarkstyle/rc/branch_open-on.png + ../qdarkstyle/rc/transparent.png + ../qdarkstyle/rc/right_arrow_disabled.png + ../qdarkstyle/rc/sizegrip.png + ../qdarkstyle/rc/close.png + ../qdarkstyle/rc/close-hover.png + ../qdarkstyle/rc/close-pressed.png + ../qdarkstyle/rc/down_arrow.png + ../qdarkstyle/rc/Vmovetoolbar.png + ../qdarkstyle/rc/left_arrow.png + ../qdarkstyle/rc/stylesheet-branch-more.png + ../qdarkstyle/rc/up_arrow.png + ../qdarkstyle/rc/right_arrow.png + ../qdarkstyle/rc/left_arrow_disabled.png + ../qdarkstyle/rc/Hsepartoolbar.png + ../qdarkstyle/rc/branch_open.png + ../qdarkstyle/rc/Vsepartoolbar.png + ../qdarkstyle/rc/down_arrow_disabled.png + ../qdarkstyle/rc/undock.png + ../qdarkstyle/rc/checkbox_checked_disabled.png + ../qdarkstyle/rc/checkbox_checked_focus.png + ../qdarkstyle/rc/checkbox_checked.png + ../qdarkstyle/rc/checkbox_indeterminate.png + ../qdarkstyle/rc/checkbox_indeterminate_focus.png + ../qdarkstyle/rc/checkbox_unchecked_disabled.png + ../qdarkstyle/rc/checkbox_unchecked_focus.png + ../qdarkstyle/rc/checkbox_unchecked.png + ../qdarkstyle/rc/radio_checked_disabled.png + ../qdarkstyle/rc/radio_checked_focus.png + ../qdarkstyle/rc/radio_checked.png + ../qdarkstyle/rc/radio_unchecked_disabled.png + ../qdarkstyle/rc/radio_unchecked_focus.png + ../qdarkstyle/rc/radio_unchecked.png + + + ../qdarkstyle/style.qss + + diff --git a/dist/qt_themes/colorful_midnight_blue/icons/index.theme b/dist/qt_themes/colorful_midnight_blue/icons/index.theme new file mode 100644 index 0000000000..dcb2c50d68 --- /dev/null +++ b/dist/qt_themes/colorful_midnight_blue/icons/index.theme @@ -0,0 +1,8 @@ +[Icon Theme] +Name=colorful_midnight_blue +Comment=Colorful theme (Midnight Blue style) +Inherits=colorful +Directories=16x16 + +[16x16] +Size=16 diff --git a/dist/qt_themes/colorful_midnight_blue/style.qrc b/dist/qt_themes/colorful_midnight_blue/style.qrc new file mode 100644 index 0000000000..b9821c6722 --- /dev/null +++ b/dist/qt_themes/colorful_midnight_blue/style.qrc @@ -0,0 +1,63 @@ + + + + + icons/index.theme + ../colorful_dark/icons/16x16/lock.png + ../qdarkstyle/icons/16x16/view-refresh.png + ../colorful/icons/48x48/bad_folder.png + ../colorful/icons/48x48/chip.png + ../colorful/icons/48x48/folder.png + ../colorful/icons/48x48/list-add.png + ../colorful/icons/48x48/sd_card.png + ../colorful/icons/256x256/plus_folder.png + + + + ../qdarkstyle_midnight_blue/rc/up_arrow_disabled.png + ../qdarkstyle_midnight_blue/rc/Hmovetoolbar.png + ../qdarkstyle_midnight_blue/rc/stylesheet-branch-end.png + ../qdarkstyle_midnight_blue/rc/branch_closed-on.png + ../qdarkstyle_midnight_blue/rc/stylesheet-vline.png + ../qdarkstyle_midnight_blue/rc/branch_closed.png + ../qdarkstyle_midnight_blue/rc/branch_open-on.png + ../qdarkstyle_midnight_blue/rc/transparent.png + ../qdarkstyle_midnight_blue/rc/right_arrow_disabled.png + ../qdarkstyle_midnight_blue/rc/sizegrip.png + ../qdarkstyle_midnight_blue/rc/close.png + ../qdarkstyle_midnight_blue/rc/close-hover.png + ../qdarkstyle_midnight_blue/rc/close-pressed.png + ../qdarkstyle_midnight_blue/rc/down_arrow.png + ../qdarkstyle_midnight_blue/rc/Vmovetoolbar.png + ../qdarkstyle_midnight_blue/rc/left_arrow.png + ../qdarkstyle_midnight_blue/rc/stylesheet-branch-more.png + ../qdarkstyle_midnight_blue/rc/up_arrow.png + ../qdarkstyle_midnight_blue/rc/right_arrow.png + ../qdarkstyle_midnight_blue/rc/left_arrow_disabled.png + ../qdarkstyle_midnight_blue/rc/Hsepartoolbar.png + ../qdarkstyle_midnight_blue/rc/branch_open.png + ../qdarkstyle_midnight_blue/rc/Vsepartoolbar.png + ../qdarkstyle_midnight_blue/rc/down_arrow_disabled.png + ../qdarkstyle_midnight_blue/rc/undock.png + ../qdarkstyle_midnight_blue/rc/checkbox_checked_disabled.png + ../qdarkstyle_midnight_blue/rc/checkbox_checked_focus.png + ../qdarkstyle_midnight_blue/rc/checkbox_checked.png + ../qdarkstyle_midnight_blue/rc/checkbox_indeterminate.png + ../qdarkstyle_midnight_blue/rc/checkbox_indeterminate_focus.png + ../qdarkstyle_midnight_blue/rc/checkbox_unchecked_disabled.png + ../qdarkstyle_midnight_blue/rc/checkbox_unchecked_focus.png + ../qdarkstyle_midnight_blue/rc/checkbox_unchecked.png + ../qdarkstyle_midnight_blue/rc/radio_checked_disabled.png + ../qdarkstyle_midnight_blue/rc/radio_checked_focus.png + ../qdarkstyle_midnight_blue/rc/radio_checked.png + ../qdarkstyle_midnight_blue/rc/radio_unchecked_disabled.png + ../qdarkstyle_midnight_blue/rc/radio_unchecked_focus.png + ../qdarkstyle_midnight_blue/rc/radio_unchecked.png + + + ../qdarkstyle_midnight_blue/style.qss + + diff --git a/dist/qt_themes/default/default.qrc b/dist/qt_themes/default/default.qrc index 125bc3f342..784b2b1657 100644 --- a/dist/qt_themes/default/default.qrc +++ b/dist/qt_themes/default/default.qrc @@ -1,40 +1,26 @@ - - - style.qss - - - + icons/index.theme icons/16x16/connected.png icons/16x16/connected_notification.png icons/16x16/disconnected.png - icons/16x16/failed.png - icons/16x16/info.png icons/16x16/lock.png - icons/16x16/sync.png - icons/16x16/view-refresh.png icons/48x48/bad_folder.png icons/48x48/chip.png icons/48x48/folder.png icons/48x48/list-add.png - icons/48x48/no_avatar.png icons/48x48/sd_card.png icons/48x48/star.png icons/256x256/plus_folder.png icons/256x256/suyu.png - - - - ../default_dark/icons/index.theme - ../default_dark/icons/16x16/lock.png - ../default_dark/icons/16x16/view-refresh.png + + style.qss diff --git a/dist/qt_themes/default/icons/16x16/lock.png b/dist/qt_themes/default/icons/16x16/lock.png index fd27069d80..69d3990508 100644 Binary files a/dist/qt_themes/default/icons/16x16/lock.png and b/dist/qt_themes/default/icons/16x16/lock.png differ diff --git a/dist/qt_themes/default/icons/256x256/plus_folder.png b/dist/qt_themes/default/icons/256x256/plus_folder.png index 760fe6245e..f44c80c3ae 100644 Binary files a/dist/qt_themes/default/icons/256x256/plus_folder.png and b/dist/qt_themes/default/icons/256x256/plus_folder.png differ diff --git a/dist/qt_themes/default/icons/48x48/bad_folder.png b/dist/qt_themes/default/icons/48x48/bad_folder.png index 34069c6b23..364ec646f6 100644 Binary files a/dist/qt_themes/default/icons/48x48/bad_folder.png and b/dist/qt_themes/default/icons/48x48/bad_folder.png differ diff --git a/dist/qt_themes/default/icons/48x48/chip.png b/dist/qt_themes/default/icons/48x48/chip.png index 6fa1589995..1b573d51af 100644 Binary files a/dist/qt_themes/default/icons/48x48/chip.png and b/dist/qt_themes/default/icons/48x48/chip.png differ diff --git a/dist/qt_themes/default/icons/48x48/folder.png b/dist/qt_themes/default/icons/48x48/folder.png index 498de4c629..507337fae5 100644 Binary files a/dist/qt_themes/default/icons/48x48/folder.png and b/dist/qt_themes/default/icons/48x48/folder.png differ diff --git a/dist/qt_themes/default/icons/48x48/list-add.png b/dist/qt_themes/default/icons/48x48/list-add.png index 74e4882aae..fd8a06132c 100644 Binary files a/dist/qt_themes/default/icons/48x48/list-add.png and b/dist/qt_themes/default/icons/48x48/list-add.png differ diff --git a/dist/qt_themes/default/icons/48x48/sd_card.png b/dist/qt_themes/default/icons/48x48/sd_card.png index 652d61bc32..6bcb7f6b1d 100644 Binary files a/dist/qt_themes/default/icons/48x48/sd_card.png and b/dist/qt_themes/default/icons/48x48/sd_card.png differ diff --git a/dist/qt_themes/default/icons/48x48/star.png b/dist/qt_themes/default/icons/48x48/star.png index 19d55a0a80..c2b78f0c3e 100644 Binary files a/dist/qt_themes/default/icons/48x48/star.png and b/dist/qt_themes/default/icons/48x48/star.png differ diff --git a/dist/qt_themes/default/icons/index.theme b/dist/qt_themes/default/icons/index.theme index 6c455463ee..21b35e3e3c 100644 --- a/dist/qt_themes/default/icons/index.theme +++ b/dist/qt_themes/default/icons/index.theme @@ -1,6 +1,7 @@ [Icon Theme] Name=default -Comment=Colorful theme +Comment=default theme +Inherits=colorful Directories=16x16,48x48,256x256 [16x16] @@ -8,6 +9,6 @@ Size=16 [48x48] Size=48 - + [256x256] Size=256 diff --git a/dist/qt_themes/default/style.qss b/dist/qt_themes/default/style.qss index 16b779b1b8..921950c6c0 100644 --- a/dist/qt_themes/default/style.qss +++ b/dist/qt_themes/default/style.qss @@ -1,14 +1,3 @@ -/* -* SPDX-FileCopyrightText: 2018 yuzu Emulator Project -* SPDX-FileCopyrightText: 2024 suyu Emulator Project -* SPDX-License-Identifier: GPL-2.0-or-later -*/ - -QWidget:item:hover { - background-color: #28668d; - color: #eff0f1; -} - QAbstractSpinBox { min-height: 19px; } @@ -22,7 +11,7 @@ QPushButton#TogglableStatusBarButton { } QPushButton#TogglableStatusBarButton:checked { - color: palette(text); + color: #000000; } QPushButton#TogglableStatusBarButton:hover { @@ -49,10 +38,6 @@ QPushButton#RendererStatusBarButton:!checked { color: #0066ff; } -QPushButton#RendererStatusBarButton:!checked[dark=true] { - color: #00ccdd; -} - QPushButton#GPUStatusBarButton { color: #656565; border: 1px solid transparent; @@ -69,21 +54,13 @@ QPushButton#GPUStatusBarButton:checked { color: #b06020; } -QPushButton#GPUStatusBarButton:checked[dark=true] { - color: #ff8040; -} - QPushButton#GPUStatusBarButton:!checked { color: #109010; } -QPushButton#GPUStatusBarButton:!checked[dark=true] { - color: #40dd40; -} - QPushButton#DockingStatusBarButton { min-width: 0px; - color: palette(text); + color: #000000; border: 1px solid transparent; background-color: transparent; padding: 0px 3px 0px 3px; @@ -117,21 +94,21 @@ QGroupBox#groupPlayer5Connected:checked, QGroupBox#groupPlayer6Connected:checked, QGroupBox#groupPlayer7Connected:checked, QGroupBox#groupPlayer8Connected:checked { - background-color: palette(window); + background-color: #f5f5f5; } QWidget#topControllerApplet { - border-bottom: 1px solid palette(dark) + border-bottom: 1px solid #828790 } QWidget#bottomPerGameInput, QWidget#bottomControllerApplet { - border-top: 1px solid palette(dark) + border-top: 1px solid #828790 } QWidget#topPerGameInput, QWidget#middleControllerApplet { - background-color: palette(base) + background-color: #fff; } QWidget#topPerGameInput QComboBox, @@ -143,6 +120,10 @@ QWidget#connectedControllers { background: transparent; } +QWidget#closeButtons { + background: transparent; +} + QWidget#playersSupported, QWidget#controllersSupported, QWidget#controllerSupported1, @@ -364,7 +345,7 @@ QWidget#lineDialog { QStackedWidget#bottomOSK, QWidget#contentDialog, QWidget#contentRichDialog { - background: palette(base); + background: rgba(240, 240, 240, 1); } QWidget#contentDialog, @@ -391,7 +372,7 @@ QStackedWidget#stackedDialog QTextBrowser QScrollBar::vertical { border-radius: 4px; } -QStackedWidget#stackedDialog QTextBrowser QScrollBar::horizontal { +QStackedWidget#stackedDialog QTextBrowser QScrollBar::horizoncal { background: #cdcdcd; height: 15px; margin: 3px 15px 3px 15px; @@ -421,7 +402,6 @@ QWidget#inputOSK QLineEdit { background: transparent; border: none; color: #ccc; - padding: 0px; } QWidget#inputBoxOSK { @@ -451,27 +431,6 @@ QWidget#boxOSK QLabel#label_characters_box { color: #ccc; } -QWidget#buttonsDialog, -QWidget#buttonsRichDialog, -QWidget#mainOSK, -QWidget#headerOSK, -QWidget#normalOSK, -QWidget#shiftOSK, -QWidget#numOSK, -QWidget#subOSK, -QWidget#inputOSK, -QWidget#inputBoxOSK, -QWidget#charactersOSK, -QWidget#charactersBoxOSK, -QWidget#legendOSK, -QWidget#legendOSK QWidget, -QWidget#legendOSKshift, -QWidget#legendOSKshift QWidget, -QWidget#legendOSKnum, -QWidget#legendOSKnum QWidget { - background: transparent; -} - QWidget#contentDialog QLabel#label_title, QWidget#contentRichDialog QLabel#label_title_rich { color: #888; @@ -512,8 +471,8 @@ QDialog#OverlayDialog QPushButton:pressed { } QDialog#QtSoftwareKeyboardDialog QPushButton { - background: palette(window); - border: 2px solid palette(base); + background: rgba(232, 232, 232, 1); + border: 2px solid rgba(240, 240, 240, 1); } QDialog#QtSoftwareKeyboardDialog QPushButton#button_shift, @@ -522,35 +481,27 @@ QDialog#QtSoftwareKeyboardDialog QPushButton#button_space, QDialog#QtSoftwareKeyboardDialog QPushButton#button_shift_shift, QDialog#QtSoftwareKeyboardDialog QPushButton#button_return_shift, QDialog#QtSoftwareKeyboardDialog QPushButton#button_space_shift { - background: palette(alternate-base); - border: 2px solid palette(base); + background: rgba(218, 218, 218, 1); + border: 2px solid rgba(240, 240, 240, 1); } QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace, QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_shift, QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_num { - color: palette(base); - background: palette(mid); - border: 2px solid palette(base); + color: rgba(240, 240, 240, 1); + background: rgba(44, 44, 44, 1); + border: 2px solid rgba(240, 240, 240, 1); } QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok, QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_shift, QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_num { - color: palette(base); - background: palette(highlight); - border: 2px solid palette(base); + color: rgba(240, 240, 240, 1); + background: rgba(49, 79, 239, 1); + border: 2px solid rgba(240, 240, 240, 1); } QDialog#QtSoftwareKeyboardDialog QPushButton:focus, -QDialog#QtSoftwareKeyboardDialog QPushButton:hover -{ - background: palette(base); - border: 5px solid rgba(148, 250, 202, 1); - border-radius: 6px; - outline: none; -} - QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok:focus, QDialog#QtSoftwareKeyboardDialog QPushButton#button_shift:focus, QDialog#QtSoftwareKeyboardDialog QPushButton#button_space:focus, @@ -563,6 +514,8 @@ QDialog#QtSoftwareKeyboardDialog QPushButton#button_return_shift:focus, QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_shift:focus, QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_num:focus, QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_num:focus, + +QDialog#QtSoftwareKeyboardDialog QPushButton:hover, QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok:hover, QDialog#QtSoftwareKeyboardDialog QPushButton#button_shift:hover, QDialog#QtSoftwareKeyboardDialog QPushButton#button_space:hover, @@ -571,11 +524,12 @@ QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace:hover, QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_shift:hover, QDialog#QtSoftwareKeyboardDialog QPushButton#button_shift_shift:hover, QDialog#QtSoftwareKeyboardDialog QPushButton#button_space_shift:hover, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_return_shift:hover, QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_shift:hover, QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_num:hover, -QDialog#QtSoftwareKeyboardDialog QPushButton#button_return_shift:hover, -QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_num:hover -{ +QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_num:hover { + color: rgba(0, 0, 0, 1); + background: rgba(255, 255, 255, 1); border: 5px solid rgba(148, 250, 202, 1); border-radius: 6px; outline: none; @@ -594,12 +548,48 @@ QDialog#QtSoftwareKeyboardDialog QPushButton#button_return_shift:pressed, QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_shift:pressed, QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_num:pressed, QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_num:pressed { - color: palette(base); + color: rgba(240, 240, 240, 1); background: rgba(150, 150, 150, 1); border: 5px solid rgba(148, 250, 202, 1); border-radius: 6px; } +QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_shift, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_num { + image: url(:/overlay/osk_button_B.png); + image-position: right; + qproperty-icon: url(:/overlay/osk_button_backspace.png); + qproperty-iconSize: 36px; +} + +QDialog#QtSoftwareKeyboardDialog QPushButton#button_space, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_space_shift { + image: url(:/overlay/osk_button_Y.png); + image-position: right; +} + +QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_shift, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_num { + image: url(:/overlay/osk_button_plus.png); + image-position: right; +} + +QDialog#QtSoftwareKeyboardDialog QPushButton#button_shift { + image: url(:/overlay/osk_button_shift_lock_off.png); + image-position: left; + qproperty-icon: url(:/overlay/osk_button_shift.png); + qproperty-iconSize: 36px; +} + +QDialog#QtSoftwareKeyboardDialog QPushButton#button_shift_shift { + image: url(:/overlay/osk_button_shift_lock_off.png); + image-position: left; + qproperty-icon: url(:/overlay/osk_button_shift_on.png); + qproperty-iconSize: 36px; +} + QDialog#QtSoftwareKeyboardDialog QPushButton#button_left_bracket, QDialog#QtSoftwareKeyboardDialog QPushButton#button_right_bracket, QDialog#QtSoftwareKeyboardDialog QPushButton#button_left_parenthesis, @@ -612,6 +602,47 @@ QDialog#QtSoftwareKeyboardDialog QWidget#titleOSK QLabel { color: #ccc; } +QDialog#QtSoftwareKeyboardDialog QWidget#button_L, +QDialog#QtSoftwareKeyboardDialog QWidget#button_L_shift, +QDialog#QtSoftwareKeyboardDialog QWidget#button_L_num { + image: url(:/overlay/button_L.png); +} + +QDialog#QtSoftwareKeyboardDialog QWidget#arrow_left, +QDialog#QtSoftwareKeyboardDialog QWidget#arrow_left_shift, +QDialog#QtSoftwareKeyboardDialog QWidget#arrow_left_num { + image: url(:/overlay/arrow_left.png); +} + +QDialog#QtSoftwareKeyboardDialog QWidget#button_R, +QDialog#QtSoftwareKeyboardDialog QWidget#button_R_shift, +QDialog#QtSoftwareKeyboardDialog QWidget#button_R_num { + image: url(:/overlay/button_R.png); +} + +QDialog#QtSoftwareKeyboardDialog QWidget#arrow_right, +QDialog#QtSoftwareKeyboardDialog QWidget#arrow_right_shift, +QDialog#QtSoftwareKeyboardDialog QWidget#arrow_right_num { + image: url(:/overlay/arrow_right.png); +} + +QDialog#QtSoftwareKeyboardDialog QWidget#button_press_stick, +QDialog#QtSoftwareKeyboardDialog QWidget#button_press_stick_shift { + image: url(:/overlay/button_press_stick.png); +} + +QDialog#QtSoftwareKeyboardDialog QWidget#button_X, +QDialog#QtSoftwareKeyboardDialog QWidget#button_X_shift, +QDialog#QtSoftwareKeyboardDialog QWidget#button_X_num { + image: url(:/overlay/button_X.png); +} + +QDialog#QtSoftwareKeyboardDialog QWidget#button_A, +QDialog#QtSoftwareKeyboardDialog QWidget#button_A_shift, +QDialog#QtSoftwareKeyboardDialog QWidget#button_A_num { + image: url(:/overlay/button_A.png); +} + QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok:disabled, QDialog#QtSoftwareKeyboardDialog QPushButton#button_space:disabled, QDialog#QtSoftwareKeyboardDialog QPushButton#button_return:disabled, @@ -622,8 +653,8 @@ QDialog#QtSoftwareKeyboardDialog QPushButton#button_return_shift:disabled, QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_shift:disabled, QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_num:disabled, QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_num:disabled { - color: palette(midlight); - background-color: palette(alternate-base); + color: rgba(164, 164, 164, 1); + background-color: rgba(218, 218, 218, 1); } QDialog#QtSoftwareKeyboardDialog QPushButton#button_at:disabled, @@ -640,5 +671,22 @@ QDialog#QtSoftwareKeyboardDialog QPushButton#button_8:disabled, QDialog#QtSoftwareKeyboardDialog QPushButton#button_9:disabled, QDialog#QtSoftwareKeyboardDialog QPushButton#button_0:disabled, QDialog#QtSoftwareKeyboardDialog QPushButton#button_return:disabled { - color: palette(midlight); + color: rgba(164, 164, 164, 1); +} + +QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok:disabled, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_shift:disabled, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_num:disabled { + image: url(:/overlay/osk_button_plus_disabled.png); +} + +QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace:disabled, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_shift:disabled, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_num:disabled { + image: url(:/overlay/osk_button_B_disabled.png); +} + +QDialog#QtSoftwareKeyboardDialog QPushButton#button_space:disabled, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_space_shift:disabled { + image: url(:/overlay/osk_button_Y_disabled.png); } diff --git a/dist/qt_themes/default_dark/icons/index.theme b/dist/qt_themes/default_dark/icons/index.theme index 32d84fa9bd..60a072d1d6 100644 --- a/dist/qt_themes/default_dark/icons/index.theme +++ b/dist/qt_themes/default_dark/icons/index.theme @@ -1,7 +1,7 @@ [Icon Theme] Name=default_dark Comment=Colorful theme (Dark style) -Inherits=default +Inherits=colorful Directories=16x16 [16x16] diff --git a/dist/qt_themes/default_dark/style.qrc b/dist/qt_themes/default_dark/style.qrc new file mode 100644 index 0000000000..7de4737c2c --- /dev/null +++ b/dist/qt_themes/default_dark/style.qrc @@ -0,0 +1,25 @@ + + + + ../colorful/icons/16x16/connected.png + ../colorful/icons/16x16/connected_notification.png + ../colorful/icons/16x16/disconnected.png + icons/index.theme + ../colorful_dark/icons/16x16/lock.png + ../colorful_dark/icons/16x16/view-refresh.png + ../colorful/icons/48x48/bad_folder.png + ../colorful/icons/48x48/chip.png + ../colorful/icons/48x48/folder.png + ../qdarkstyle/icons/48x48/no_avatar.png + ../colorful/icons/48x48/list-add.png + ../colorful/icons/48x48/sd_card.png + ../colorful/icons/256x256/plus_folder.png + + + + style.qss + + diff --git a/dist/qt_themes/default_dark/style.qss b/dist/qt_themes/default_dark/style.qss new file mode 100644 index 0000000000..ca6daa2d52 --- /dev/null +++ b/dist/qt_themes/default_dark/style.qss @@ -0,0 +1,687 @@ +/* +* SPDX-FileCopyrightText: 2018 yuzu Emulator Project +* SPDX-License-Identifier: GPL-2.0-or-later +*/ +QAbstractSpinBox { + min-height: 19px; +} + +QPushButton#TogglableStatusBarButton { + color: #959595; + border: 1px solid transparent; + background-color: transparent; + padding: 0px 3px 0px 3px; + text-align: center; +} + +QPushButton#TogglableStatusBarButton:checked { + color: palette(text); +} + +QPushButton#TogglableStatusBarButton:hover { + border: 1px solid #76797C; +} + +QPushButton#RendererStatusBarButton { + color: #656565; + border: 1px solid transparent; + background-color: transparent; + padding: 0px 3px 0px 3px; + text-align: center; +} + +QPushButton#RendererStatusBarButton:hover { + border: 1px solid #76797C; +} + +QPushButton#RendererStatusBarButton:checked { + color: #e85c00; +} + +QPushButton#RendererStatusBarButton:!checked { + color: #00ccdd; +} + +QPushButton#GPUStatusBarButton { + color: #656565; + border: 1px solid transparent; + background-color: transparent; + padding: 0px 3px 0px 3px; + text-align: center; +} + +QPushButton#GPUStatusBarButton:hover { + border: 1px solid #76797C; +} + +QPushButton#GPUStatusBarButton:checked { + color: #ff8040; +} + +QPushButton#GPUStatusBarButton:!checked { + color: #40dd40; +} + +QPushButton#DockingStatusBarButton { + min-width: 0px; + color: palette(text); + border: 1px solid transparent; + background-color: transparent; + padding: 0px 3px 0px 3px; + text-align: center; +} + +QPushButton#DockingStatusBarButton:hover { + border: 1px solid #76797C; +} + +QPushButton#buttonRefreshDevices { + min-width: 21px; + min-height: 21px; + max-width: 21px; + max-height: 21px; +} + +QWidget#bottomPerGameInput, +QWidget#topControllerApplet, +QWidget#bottomControllerApplet, +QGroupBox#groupPlayer1Connected:checked, +QGroupBox#groupPlayer2Connected:checked, +QGroupBox#groupPlayer3Connected:checked, +QGroupBox#groupPlayer4Connected:checked, +QGroupBox#groupPlayer5Connected:checked, +QGroupBox#groupPlayer6Connected:checked, +QGroupBox#groupPlayer7Connected:checked, +QGroupBox#groupPlayer8Connected:checked { + background-color: #f5f5f5; +} + +QWidget#topControllerApplet { + border-bottom: 1px solid #828790 +} + +QWidget#bottomPerGameInput, +QWidget#bottomControllerApplet { + border-top: 1px solid #828790 +} + +QWidget#topPerGameInput, +QWidget#middleControllerApplet { + background-color: #fff; +} + +QWidget#topPerGameInput QComboBox, +QWidget#middleControllerApplet QComboBox { + width: 120px; +} + +QWidget#connectedControllers { + background: transparent; +} + +QWidget#playersSupported, +QWidget#controllersSupported, +QWidget#controllerSupported1, +QWidget#controllerSupported2, +QWidget#controllerSupported3, +QWidget#controllerSupported4, +QWidget#controllerSupported5, +QWidget#controllerSupported6 { + border: none; + background: transparent; +} + +QGroupBox#groupPlayer1Connected, +QGroupBox#groupPlayer2Connected, +QGroupBox#groupPlayer3Connected, +QGroupBox#groupPlayer4Connected, +QGroupBox#groupPlayer5Connected, +QGroupBox#groupPlayer6Connected, +QGroupBox#groupPlayer7Connected, +QGroupBox#groupPlayer8Connected { + border: 1px solid #828790; + border-radius: 3px; + padding: 0px; + min-height: 98px; + max-height: 98px; +} + +QGroupBox#groupPlayer1Connected:unchecked, +QGroupBox#groupPlayer2Connected:unchecked, +QGroupBox#groupPlayer3Connected:unchecked, +QGroupBox#groupPlayer4Connected:unchecked, +QGroupBox#groupPlayer5Connected:unchecked, +QGroupBox#groupPlayer6Connected:unchecked, +QGroupBox#groupPlayer7Connected:unchecked, +QGroupBox#groupPlayer8Connected:unchecked { + border: 1px solid #d9d9d9; +} + +QGroupBox#groupPlayer1Connected::title, +QGroupBox#groupPlayer2Connected::title, +QGroupBox#groupPlayer3Connected::title, +QGroupBox#groupPlayer4Connected::title, +QGroupBox#groupPlayer5Connected::title, +QGroupBox#groupPlayer6Connected::title, +QGroupBox#groupPlayer7Connected::title, +QGroupBox#groupPlayer8Connected::title { + subcontrol-origin: margin; + subcontrol-position: top left; + padding-left: 0px; + padding-right: 0px; + padding-top: 1px; + margin-left: 0px; + margin-right: -4px; + margin-bottom: 4px; +} + +QCheckBox#checkboxPlayer1Connected, +QCheckBox#checkboxPlayer2Connected, +QCheckBox#checkboxPlayer3Connected, +QCheckBox#checkboxPlayer4Connected, +QCheckBox#checkboxPlayer5Connected, +QCheckBox#checkboxPlayer6Connected, +QCheckBox#checkboxPlayer7Connected, +QCheckBox#checkboxPlayer8Connected { + spacing: 0px; +} + +QWidget#Player1LEDs QCheckBox, +QWidget#Player2LEDs QCheckBox, +QWidget#Player3LEDs QCheckBox, +QWidget#Player4LEDs QCheckBox, +QWidget#Player5LEDs QCheckBox, +QWidget#Player6LEDs QCheckBox, +QWidget#Player7LEDs QCheckBox, +QWidget#Player8LEDs QCheckBox { + spacing: 0px; +} + +QWidget#Player1LEDs QCheckBox::indicator, +QWidget#Player2LEDs QCheckBox::indicator, +QWidget#Player3LEDs QCheckBox::indicator, +QWidget#Player4LEDs QCheckBox::indicator, +QWidget#Player5LEDs QCheckBox::indicator, +QWidget#Player6LEDs QCheckBox::indicator, +QWidget#Player7LEDs QCheckBox::indicator, +QWidget#Player8LEDs QCheckBox::indicator { + width: 6px; + height: 6px; + margin-left: 0px; +} + +QWidget#bottomPerGameInput QCheckBox#checkboxPlayer1Connected::indicator, +QWidget#bottomPerGameInput QCheckBox#checkboxPlayer2Connected::indicator, +QWidget#bottomPerGameInput QCheckBox#checkboxPlayer3Connected::indicator, +QWidget#bottomPerGameInput QCheckBox#checkboxPlayer4Connected::indicator, +QWidget#bottomPerGameInput QCheckBox#checkboxPlayer5Connected::indicator, +QWidget#bottomPerGameInput QCheckBox#checkboxPlayer6Connected::indicator, +QWidget#bottomPerGameInput QCheckBox#checkboxPlayer7Connected::indicator, +QWidget#bottomPerGameInput QCheckBox#checkboxPlayer8Connected::indicator { + width: 12px; + height: 12px; +} + +QCheckBox#checkboxPlayer1Connected::indicator, +QCheckBox#checkboxPlayer2Connected::indicator, +QCheckBox#checkboxPlayer3Connected::indicator, +QCheckBox#checkboxPlayer4Connected::indicator, +QCheckBox#checkboxPlayer5Connected::indicator, +QCheckBox#checkboxPlayer6Connected::indicator, +QCheckBox#checkboxPlayer7Connected::indicator, +QCheckBox#checkboxPlayer8Connected::indicator { + width: 14px; + height: 14px; +} + +QGroupBox#groupPlayer1Connected::indicator, +QGroupBox#groupPlayer2Connected::indicator, +QGroupBox#groupPlayer3Connected::indicator, +QGroupBox#groupPlayer4Connected::indicator, +QGroupBox#groupPlayer5Connected::indicator, +QGroupBox#groupPlayer6Connected::indicator, +QGroupBox#groupPlayer7Connected::indicator, +QGroupBox#groupPlayer8Connected::indicator { + width: 16px; + height: 16px; +} + +QWidget#Player1LEDs QCheckBox::indicator:checked, +QWidget#Player2LEDs QCheckBox::indicator:checked, +QWidget#Player3LEDs QCheckBox::indicator:checked, +QWidget#Player4LEDs QCheckBox::indicator:checked, +QWidget#Player5LEDs QCheckBox::indicator:checked, +QWidget#Player6LEDs QCheckBox::indicator:checked, +QWidget#Player7LEDs QCheckBox::indicator:checked, +QWidget#Player8LEDs QCheckBox::indicator:checked, +QGroupBox#groupPlayer1Connected::indicator:checked, +QGroupBox#groupPlayer2Connected::indicator:checked, +QGroupBox#groupPlayer3Connected::indicator:checked, +QGroupBox#groupPlayer4Connected::indicator:checked, +QGroupBox#groupPlayer5Connected::indicator:checked, +QGroupBox#groupPlayer6Connected::indicator:checked, +QGroupBox#groupPlayer7Connected::indicator:checked, +QGroupBox#groupPlayer8Connected::indicator:checked, +QCheckBox#checkboxPlayer1Connected::indicator:checked, +QCheckBox#checkboxPlayer2Connected::indicator:checked, +QCheckBox#checkboxPlayer3Connected::indicator:checked, +QCheckBox#checkboxPlayer4Connected::indicator:checked, +QCheckBox#checkboxPlayer5Connected::indicator:checked, +QCheckBox#checkboxPlayer6Connected::indicator:checked, +QCheckBox#checkboxPlayer7Connected::indicator:checked, +QCheckBox#checkboxPlayer8Connected::indicator:checked, +QGroupBox#groupConnectedController::indicator:checked { + border-radius: 2px; + border: 1px solid #929192; + background: #39ff14; + image: none; +} + +QWidget#Player1LEDs QCheckBox::indicator:unchecked, +QWidget#Player2LEDs QCheckBox::indicator:unchecked, +QWidget#Player3LEDs QCheckBox::indicator:unchecked, +QWidget#Player4LEDs QCheckBox::indicator:unchecked, +QWidget#Player5LEDs QCheckBox::indicator:unchecked, +QWidget#Player6LEDs QCheckBox::indicator:unchecked, +QWidget#Player7LEDs QCheckBox::indicator:unchecked, +QWidget#Player8LEDs QCheckBox::indicator:unchecked, +QGroupBox#groupPlayer1Connected::indicator:unchecked, +QGroupBox#groupPlayer2Connected::indicator:unchecked, +QGroupBox#groupPlayer3Connected::indicator:unchecked, +QGroupBox#groupPlayer4Connected::indicator:unchecked, +QGroupBox#groupPlayer5Connected::indicator:unchecked, +QGroupBox#groupPlayer6Connected::indicator:unchecked, +QGroupBox#groupPlayer7Connected::indicator:unchecked, +QGroupBox#groupPlayer8Connected::indicator:unchecked, +QCheckBox#checkboxPlayer1Connected::indicator:unchecked, +QCheckBox#checkboxPlayer2Connected::indicator:unchecked, +QCheckBox#checkboxPlayer3Connected::indicator:unchecked, +QCheckBox#checkboxPlayer4Connected::indicator:unchecked, +QCheckBox#checkboxPlayer5Connected::indicator:unchecked, +QCheckBox#checkboxPlayer6Connected::indicator:unchecked, +QCheckBox#checkboxPlayer7Connected::indicator:unchecked, +QCheckBox#checkboxPlayer8Connected::indicator:unchecked, +QGroupBox#groupConnectedController::indicator:unchecked { + border-radius: 2px; + border: 1px solid #929192; + background: transparent; + image: none; +} + +QWidget#controllerPlayer1, +QWidget#controllerPlayer2, +QWidget#controllerPlayer3, +QWidget#controllerPlayer4, +QWidget#controllerPlayer5, +QWidget#controllerPlayer6, +QWidget#controllerPlayer7, +QWidget#controllerPlayer8 { + background: transparent; +} + +QDialog#QtSoftwareKeyboardDialog, +QStackedWidget#topOSK { + background: rgba(51, 51, 51, .9); +} + + +QDialog#OverlayDialog, +QStackedWidget#stackedDialog { + background: rgba(51, 51, 51, .7); +} + +QWidget#boxOSK, +QWidget#lineOSK, +QWidget#richDialog, +QWidget#lineDialog { + background: transparent; +} + +QStackedWidget#bottomOSK, +QWidget#contentDialog, +QWidget#contentRichDialog { + background: rgba(240, 240, 240, 1); +} + +QWidget#contentDialog, +QWidget#contentRichDialog { + margin: 5px; + border-radius: 6px; +} + +QWidget#buttonsDialog, +QWidget#buttonsRichDialog { + margin: 5px; + border-top: 2px solid rgba(44, 44, 44, 1); +} + +QWidget#legendOSKnum { + border-top: 1px solid rgba(44, 44, 44, 1); +} + +QStackedWidget#stackedDialog QTextBrowser QScrollBar::vertical { + background: #cdcdcd; + width: 15px; + margin: 15px 3px 15px 3px; + border: 1px transparent; + border-radius: 4px; +} + +QStackedWidget#stackedDialog QTextBrowser QScrollBar::horizoncal { + background: #cdcdcd; + height: 15px; + margin: 3px 15px 3px 15px; + border: 1px transparent; + border-radius: 4px; +} + +QStackedWidget#stackedDialog QTextBrowser QScrollBar::handle { + background: #fff; + border-radius: 4px; + min-height: 5px; + min-width: 5px; +} + +QStackedWidget#stackedDialog QTextBrowser QScrollBar::add-line, +QStackedWidget#stackedDialog QTextBrowser QScrollBar::sub-line, +QStackedWidget#stackedDialog QTextBrowser QScrollBar::add-page, +QStackedWidget#stackedDialog QTextBrowser QScrollBar::sub-page { + background: none; +} + +QWidget#inputOSK { + border-bottom: 3px solid rgba(255, 255, 255, .9); +} + +QWidget#inputOSK QLineEdit { + background: transparent; + border: none; + color: #ccc; +} + +QWidget#inputBoxOSK { + border: 2px solid rgba(255, 255, 255, .9); +} + +QWidget#inputBoxOSK QTextEdit { + background: transparent; + border: none; + color: #ccc; +} + +QWidget#richDialog QTextBrowser { + background: transparent; + border: none; + padding: 35px 65px; +} + + +QWidget#lineOSK QLabel#label_header { + color: #f0f0f0; +} + +QWidget#lineOSK QLabel#label_sub, +QWidget#lineOSK QLabel#label_characters, +QWidget#boxOSK QLabel#label_characters_box { + color: #ccc; +} + +QWidget#contentDialog QLabel#label_title, +QWidget#contentRichDialog QLabel#label_title_rich { + color: #888; +} + +QWidget#contentDialog QLabel#label_dialog { + padding: 20px 65px; +} + +QWidget#contentDialog QLabel#label_title, +QWidget#contentRichDialog QLabel#label_title_rich { + padding: 0px 65px; +} + +QDialog#OverlayDialog QPushButton { + color: rgba(49, 79, 239, 1); + background: transparent; + border: none; + padding: 0px; + min-width: 0px; +} + +QDialog#OverlayDialog QPushButton:focus, +QDialog#OverlayDialog QPushButton:hover { + color: rgba(49, 79, 239, 1); + background: rgba(255, 255, 255, 1); + border: 5px solid rgba(148, 250, 202, 1); + border-radius: 6px; + outline: none; +} + +QDialog#OverlayDialog QPushButton:pressed { + color: rgba(240, 240, 240, 1); + background: rgba(150, 150, 150, 1); + border: 5px solid rgba(148, 250, 202, 1); + border-radius: 6px; + outline: none; +} + +QDialog#QtSoftwareKeyboardDialog QPushButton { + background: rgba(232, 232, 232, 1); + border: 2px solid rgba(240, 240, 240, 1); +} + +QDialog#QtSoftwareKeyboardDialog QPushButton#button_shift, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_return, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_space, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_shift_shift, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_return_shift, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_space_shift { + background: rgba(218, 218, 218, 1); + border: 2px solid rgba(240, 240, 240, 1); +} + +QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_shift, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_num { + color: rgba(240, 240, 240, 1); + background: rgba(44, 44, 44, 1); + border: 2px solid rgba(240, 240, 240, 1); +} + +QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_shift, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_num { + color: rgba(240, 240, 240, 1); + background: rgba(49, 79, 239, 1); + border: 2px solid rgba(240, 240, 240, 1); +} + +QDialog#QtSoftwareKeyboardDialog QPushButton:focus, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok:focus, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_shift:focus, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_space:focus, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_return:focus, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace:focus, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_shift:focus, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_shift_shift:focus, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_space_shift:focus, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_return_shift:focus, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_shift:focus, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_num:focus, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_num:focus, + +QDialog#QtSoftwareKeyboardDialog QPushButton:hover, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok:hover, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_shift:hover, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_space:hover, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_return:hover, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace:hover, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_shift:hover, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_shift_shift:hover, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_space_shift:hover, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_return_shift:hover, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_shift:hover, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_num:hover, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_num:hover { + color: rgba(0, 0, 0, 1); + background: rgba(255, 255, 255, 1); + border: 5px solid rgba(148, 250, 202, 1); + border-radius: 6px; + outline: none; +} + +QDialog#QtSoftwareKeyboardDialog QPushButton:pressed, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok:pressed, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_shift:pressed, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_space:pressed, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_return:pressed, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace:pressed, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_shift:pressed, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_shift_shift:pressed, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_space_shift:pressed, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_return_shift:pressed, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_shift:pressed, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_num:pressed, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_num:pressed { + color: rgba(240, 240, 240, 1); + background: rgba(150, 150, 150, 1); + border: 5px solid rgba(148, 250, 202, 1); + border-radius: 6px; +} + +QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_shift, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_num { + image: url(:/overlay/osk_button_B.png); + image-position: right; + qproperty-icon: url(:/overlay/osk_button_backspace.png); + qproperty-iconSize: 36px; +} + +QDialog#QtSoftwareKeyboardDialog QPushButton#button_space, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_space_shift { + image: url(:/overlay/osk_button_Y.png); + image-position: right; +} + +QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_shift, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_num { + image: url(:/overlay/osk_button_plus.png); + image-position: right; +} + +QDialog#QtSoftwareKeyboardDialog QPushButton#button_shift { + image: url(:/overlay/osk_button_shift_lock_off.png); + image-position: left; + qproperty-icon: url(:/overlay/osk_button_shift.png); + qproperty-iconSize: 36px; +} + +QDialog#QtSoftwareKeyboardDialog QPushButton#button_shift_shift { + image: url(:/overlay/osk_button_shift_lock_off.png); + image-position: left; + qproperty-icon: url(:/overlay/osk_button_shift_on.png); + qproperty-iconSize: 36px; +} + +QDialog#QtSoftwareKeyboardDialog QPushButton#button_left_bracket, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_right_bracket, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_left_parenthesis, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_right_parenthesis { + padding-bottom: 7px; +} + +QDialog#QtSoftwareKeyboardDialog QWidget#titleOSK QLabel { + background: transparent; + color: #ccc; +} + +QDialog#QtSoftwareKeyboardDialog QWidget#button_L, +QDialog#QtSoftwareKeyboardDialog QWidget#button_L_shift, +QDialog#QtSoftwareKeyboardDialog QWidget#button_L_num { + image: url(:/overlay/button_L.png); +} + +QDialog#QtSoftwareKeyboardDialog QWidget#arrow_left, +QDialog#QtSoftwareKeyboardDialog QWidget#arrow_left_shift, +QDialog#QtSoftwareKeyboardDialog QWidget#arrow_left_num { + image: url(:/overlay/arrow_left.png); +} + +QDialog#QtSoftwareKeyboardDialog QWidget#button_R, +QDialog#QtSoftwareKeyboardDialog QWidget#button_R_shift, +QDialog#QtSoftwareKeyboardDialog QWidget#button_R_num { + image: url(:/overlay/button_R.png); +} + +QDialog#QtSoftwareKeyboardDialog QWidget#arrow_right, +QDialog#QtSoftwareKeyboardDialog QWidget#arrow_right_shift, +QDialog#QtSoftwareKeyboardDialog QWidget#arrow_right_num { + image: url(:/overlay/arrow_right.png); +} + +QDialog#QtSoftwareKeyboardDialog QWidget#button_press_stick, +QDialog#QtSoftwareKeyboardDialog QWidget#button_press_stick_shift { + image: url(:/overlay/button_press_stick.png); +} + +QDialog#QtSoftwareKeyboardDialog QWidget#button_X, +QDialog#QtSoftwareKeyboardDialog QWidget#button_X_shift, +QDialog#QtSoftwareKeyboardDialog QWidget#button_X_num { + image: url(:/overlay/button_X.png); +} + +QDialog#QtSoftwareKeyboardDialog QWidget#button_A, +QDialog#QtSoftwareKeyboardDialog QWidget#button_A_shift, +QDialog#QtSoftwareKeyboardDialog QWidget#button_A_num { + image: url(:/overlay/button_A.png); +} + +QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok:disabled, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_space:disabled, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_return:disabled, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace:disabled, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_shift:disabled, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_space_shift:disabled, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_return_shift:disabled, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_shift:disabled, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_num:disabled, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_num:disabled { + color: rgba(164, 164, 164, 1); + background-color: rgba(218, 218, 218, 1); +} + +QDialog#QtSoftwareKeyboardDialog QPushButton#button_at:disabled, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_slash:disabled, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_percent:disabled, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_1:disabled, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_2:disabled, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_3:disabled, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_4:disabled, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_5:disabled, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_6:disabled, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_7:disabled, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_8:disabled, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_9:disabled, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_0:disabled, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_return:disabled { + color: rgba(164, 164, 164, 1); +} + +QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok:disabled, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_shift:disabled, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_num:disabled { + image: url(:/overlay/osk_button_plus_disabled.png); +} + +QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace:disabled, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_shift:disabled, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_num:disabled { + image: url(:/overlay/osk_button_B_disabled.png); +} + +QDialog#QtSoftwareKeyboardDialog QPushButton#button_space:disabled, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_space_shift:disabled { + image: url(:/overlay/osk_button_Y_disabled.png); +} diff --git a/dist/qt_themes/monochrome/icons.qrc b/dist/qt_themes/monochrome/icons.qrc deleted file mode 100644 index 4eb16294fe..0000000000 --- a/dist/qt_themes/monochrome/icons.qrc +++ /dev/null @@ -1,32 +0,0 @@ - - - - - icons/index.theme - icons/16x16/lock.png - icons/48x48/bad_folder.png - icons/48x48/chip.png - icons/48x48/folder.png - icons/48x48/list-add.png - icons/48x48/sd_card.png - icons/48x48/star.png - icons/256x256/plus_folder.png - - - - - ../monochrome_dark/icons/index.theme - ../monochrome_dark/icons/16x16/lock.png - ../monochrome_dark/icons/48x48/bad_folder.png - ../monochrome_dark/icons/48x48/chip.png - ../monochrome_dark/icons/48x48/folder.png - ../monochrome_dark/icons/48x48/list-add.png - ../monochrome_dark/icons/48x48/no_avatar.png - ../monochrome_dark/icons/48x48/sd_card.png - ../monochrome_dark/icons/48x48/star.png - ../monochrome_dark/icons/256x256/plus_folder.png - - diff --git a/dist/qt_themes/monochrome/icons/16x16/lock.png b/dist/qt_themes/monochrome/icons/16x16/lock.png deleted file mode 100644 index 69d3990508..0000000000 Binary files a/dist/qt_themes/monochrome/icons/16x16/lock.png and /dev/null differ diff --git a/dist/qt_themes/monochrome/icons/256x256/plus_folder.png b/dist/qt_themes/monochrome/icons/256x256/plus_folder.png deleted file mode 100644 index f44c80c3ae..0000000000 Binary files a/dist/qt_themes/monochrome/icons/256x256/plus_folder.png and /dev/null differ diff --git a/dist/qt_themes/monochrome/icons/48x48/bad_folder.png b/dist/qt_themes/monochrome/icons/48x48/bad_folder.png deleted file mode 100644 index 364ec646f6..0000000000 Binary files a/dist/qt_themes/monochrome/icons/48x48/bad_folder.png and /dev/null differ diff --git a/dist/qt_themes/monochrome/icons/48x48/chip.png b/dist/qt_themes/monochrome/icons/48x48/chip.png deleted file mode 100644 index 1b573d51af..0000000000 Binary files a/dist/qt_themes/monochrome/icons/48x48/chip.png and /dev/null differ diff --git a/dist/qt_themes/monochrome/icons/48x48/folder.png b/dist/qt_themes/monochrome/icons/48x48/folder.png deleted file mode 100644 index 507337fae5..0000000000 Binary files a/dist/qt_themes/monochrome/icons/48x48/folder.png and /dev/null differ diff --git a/dist/qt_themes/monochrome/icons/48x48/list-add.png b/dist/qt_themes/monochrome/icons/48x48/list-add.png deleted file mode 100644 index fd8a06132c..0000000000 Binary files a/dist/qt_themes/monochrome/icons/48x48/list-add.png and /dev/null differ diff --git a/dist/qt_themes/monochrome/icons/48x48/sd_card.png b/dist/qt_themes/monochrome/icons/48x48/sd_card.png deleted file mode 100644 index 6bcb7f6b1d..0000000000 Binary files a/dist/qt_themes/monochrome/icons/48x48/sd_card.png and /dev/null differ diff --git a/dist/qt_themes/monochrome/icons/48x48/star.png b/dist/qt_themes/monochrome/icons/48x48/star.png deleted file mode 100644 index c2b78f0c3e..0000000000 Binary files a/dist/qt_themes/monochrome/icons/48x48/star.png and /dev/null differ diff --git a/dist/qt_themes/monochrome/style.qrc b/dist/qt_themes/monochrome/style.qrc deleted file mode 100644 index 54778e2f54..0000000000 --- a/dist/qt_themes/monochrome/style.qrc +++ /dev/null @@ -1,5 +0,0 @@ - - - ../default/style.qss - - diff --git a/dist/qt_themes/monochrome_dark/icons/index.theme b/dist/qt_themes/monochrome_dark/icons/index.theme deleted file mode 100644 index 9ca318d09e..0000000000 --- a/dist/qt_themes/monochrome_dark/icons/index.theme +++ /dev/null @@ -1,14 +0,0 @@ -[Icon Theme] -Name=monochrome_dark -Comment=Monochrome dark icons -Inherits=default_dark -Directories=16x16,48x48,256x256 - -[16x16] -Size=16 - -[48x48] -Size=48 - -[256x256] -Size=256 diff --git a/dist/qt_themes/qdarkstyle/icons.qrc b/dist/qt_themes/qdarkstyle/icons.qrc deleted file mode 100644 index d7ec900649..0000000000 --- a/dist/qt_themes/qdarkstyle/icons.qrc +++ /dev/null @@ -1,51 +0,0 @@ - - - icons/index.theme - ../default_dark/icons/16x16/lock.png - - - icons/index.theme - ../default_dark/icons/16x16/lock.png - - - rc/branch_closed-on.png - rc/branch_closed.png - rc/branch_open-on.png - rc/branch_open.png - rc/checkbox_checked.png - rc/checkbox_checked_disabled.png - rc/checkbox_checked_focus.png - rc/checkbox_indeterminate.png - rc/checkbox_indeterminate_focus.png - rc/checkbox_unchecked.png - rc/checkbox_unchecked_disabled.png - rc/checkbox_unchecked_focus.png - rc/close-hover.png - rc/close-pressed.png - rc/close.png - rc/down_arrow.png - rc/down_arrow_disabled.png - rc/Hmovetoolbar.png - rc/Hsepartoolbar.png - rc/left_arrow.png - rc/left_arrow_disabled.png - rc/radio_checked.png - rc/radio_checked_disabled.png - rc/radio_checked_focus.png - rc/radio_unchecked.png - rc/radio_unchecked_disabled.png - rc/radio_unchecked_focus.png - rc/right_arrow.png - rc/right_arrow_disabled.png - rc/sizegrip.png - rc/stylesheet-branch-end.png - rc/stylesheet-branch-more.png - rc/stylesheet-vline.png - rc/transparent.png - rc/undock.png - rc/up_arrow.png - rc/up_arrow_disabled.png - rc/Vmovetoolbar.png - rc/Vsepartoolbar.png - - diff --git a/dist/qt_themes/qdarkstyle/icons/16x16/connected.png b/dist/qt_themes/qdarkstyle/icons/16x16/connected.png new file mode 100644 index 0000000000..0afc18cb7a Binary files /dev/null and b/dist/qt_themes/qdarkstyle/icons/16x16/connected.png differ diff --git a/dist/qt_themes/qdarkstyle/icons/16x16/connected_notification.png b/dist/qt_themes/qdarkstyle/icons/16x16/connected_notification.png new file mode 100644 index 0000000000..72466e098e Binary files /dev/null and b/dist/qt_themes/qdarkstyle/icons/16x16/connected_notification.png differ diff --git a/dist/qt_themes/qdarkstyle/icons/16x16/disconnected.png b/dist/qt_themes/qdarkstyle/icons/16x16/disconnected.png new file mode 100644 index 0000000000..7258a8cfe5 Binary files /dev/null and b/dist/qt_themes/qdarkstyle/icons/16x16/disconnected.png differ diff --git a/dist/qt_themes/monochrome_dark/icons/16x16/lock.png b/dist/qt_themes/qdarkstyle/icons/16x16/lock.png similarity index 100% rename from dist/qt_themes/monochrome_dark/icons/16x16/lock.png rename to dist/qt_themes/qdarkstyle/icons/16x16/lock.png diff --git a/dist/qt_themes/qdarkstyle/icons/16x16/view-refresh.png b/dist/qt_themes/qdarkstyle/icons/16x16/view-refresh.png new file mode 100644 index 0000000000..d4afd76f94 Binary files /dev/null and b/dist/qt_themes/qdarkstyle/icons/16x16/view-refresh.png differ diff --git a/dist/qt_themes/monochrome_dark/icons/256x256/plus_folder.png b/dist/qt_themes/qdarkstyle/icons/256x256/plus_folder.png similarity index 100% rename from dist/qt_themes/monochrome_dark/icons/256x256/plus_folder.png rename to dist/qt_themes/qdarkstyle/icons/256x256/plus_folder.png diff --git a/dist/qt_themes/monochrome_dark/icons/48x48/bad_folder.png b/dist/qt_themes/qdarkstyle/icons/48x48/bad_folder.png similarity index 100% rename from dist/qt_themes/monochrome_dark/icons/48x48/bad_folder.png rename to dist/qt_themes/qdarkstyle/icons/48x48/bad_folder.png diff --git a/dist/qt_themes/monochrome_dark/icons/48x48/chip.png b/dist/qt_themes/qdarkstyle/icons/48x48/chip.png similarity index 100% rename from dist/qt_themes/monochrome_dark/icons/48x48/chip.png rename to dist/qt_themes/qdarkstyle/icons/48x48/chip.png diff --git a/dist/qt_themes/monochrome_dark/icons/48x48/folder.png b/dist/qt_themes/qdarkstyle/icons/48x48/folder.png similarity index 100% rename from dist/qt_themes/monochrome_dark/icons/48x48/folder.png rename to dist/qt_themes/qdarkstyle/icons/48x48/folder.png diff --git a/dist/qt_themes/monochrome_dark/icons/48x48/list-add.png b/dist/qt_themes/qdarkstyle/icons/48x48/list-add.png similarity index 100% rename from dist/qt_themes/monochrome_dark/icons/48x48/list-add.png rename to dist/qt_themes/qdarkstyle/icons/48x48/list-add.png diff --git a/dist/qt_themes/monochrome_dark/icons/48x48/no_avatar.png b/dist/qt_themes/qdarkstyle/icons/48x48/no_avatar.png similarity index 100% rename from dist/qt_themes/monochrome_dark/icons/48x48/no_avatar.png rename to dist/qt_themes/qdarkstyle/icons/48x48/no_avatar.png diff --git a/dist/qt_themes/monochrome_dark/icons/48x48/sd_card.png b/dist/qt_themes/qdarkstyle/icons/48x48/sd_card.png similarity index 100% rename from dist/qt_themes/monochrome_dark/icons/48x48/sd_card.png rename to dist/qt_themes/qdarkstyle/icons/48x48/sd_card.png diff --git a/dist/qt_themes/monochrome_dark/icons/48x48/star.png b/dist/qt_themes/qdarkstyle/icons/48x48/star.png similarity index 100% rename from dist/qt_themes/monochrome_dark/icons/48x48/star.png rename to dist/qt_themes/qdarkstyle/icons/48x48/star.png diff --git a/dist/qt_themes/qdarkstyle/icons/index.theme b/dist/qt_themes/qdarkstyle/icons/index.theme index 0059b7ac96..502717617c 100644 --- a/dist/qt_themes/qdarkstyle/icons/index.theme +++ b/dist/qt_themes/qdarkstyle/icons/index.theme @@ -1,4 +1,14 @@ [Icon Theme] Name=qdarkstyle -Comment=Dark theme (Mine Shaft style) -Inherits=default_dark +Comment=dark theme +Inherits=colorful +Directories=16x16,48x48,256x256 + +[16x16] +Size=16 + +[48x48] +Size=48 + +[256x256] +Size=256 diff --git a/dist/qt_themes/qdarkstyle/style.qrc b/dist/qt_themes/qdarkstyle/style.qrc index b1180c3e0a..a89fb26c68 100644 --- a/dist/qt_themes/qdarkstyle/style.qrc +++ b/dist/qt_themes/qdarkstyle/style.qrc @@ -1,5 +1,62 @@ - - dark.qss - + + icons/index.theme + icons/16x16/connected.png + icons/16x16/disconnected.png + icons/16x16/connected_notification.png + icons/16x16/lock.png + icons/16x16/view-refresh.png + icons/48x48/bad_folder.png + icons/48x48/chip.png + icons/48x48/folder.png + icons/48x48/no_avatar.png + icons/48x48/list-add.png + icons/48x48/sd_card.png + icons/48x48/star.png + icons/256x256/plus_folder.png + + + rc/up_arrow_disabled.png + rc/Hmovetoolbar.png + rc/stylesheet-branch-end.png + rc/branch_closed-on.png + rc/stylesheet-vline.png + rc/branch_closed.png + rc/branch_open-on.png + rc/transparent.png + rc/right_arrow_disabled.png + rc/sizegrip.png + rc/close.png + rc/close-hover.png + rc/close-pressed.png + rc/down_arrow.png + rc/Vmovetoolbar.png + rc/left_arrow.png + rc/stylesheet-branch-more.png + rc/up_arrow.png + rc/right_arrow.png + rc/left_arrow_disabled.png + rc/Hsepartoolbar.png + rc/branch_open.png + rc/Vsepartoolbar.png + rc/down_arrow_disabled.png + rc/undock.png + rc/checkbox_checked_disabled.png + rc/checkbox_checked_focus.png + rc/checkbox_checked.png + rc/checkbox_indeterminate.png + rc/checkbox_indeterminate_focus.png + rc/checkbox_unchecked_disabled.png + rc/checkbox_unchecked_focus.png + rc/checkbox_unchecked.png + rc/radio_checked_disabled.png + rc/radio_checked_focus.png + rc/radio_checked.png + rc/radio_unchecked_disabled.png + rc/radio_unchecked_focus.png + rc/radio_unchecked.png + + + style.qss + diff --git a/dist/qt_themes/qdarkstyle/dark.qss b/dist/qt_themes/qdarkstyle/style.qss similarity index 93% rename from dist/qt_themes/qdarkstyle/dark.qss rename to dist/qt_themes/qdarkstyle/style.qss index 95e575c42f..328ac942fc 100644 --- a/dist/qt_themes/qdarkstyle/dark.qss +++ b/dist/qt_themes/qdarkstyle/style.qss @@ -944,10 +944,6 @@ QListView::indicator:indeterminate:pressed { image: url(:/qss_icons/rc/checkbox_indeterminate_focus.png); } -QSlider:horizontal { - height: 20px; -} - QSlider::groove:horizontal { border: 1px solid #565a5e; height: 4px; @@ -1384,6 +1380,10 @@ QWidget#connectedControllers { background: transparent; } +QWidget#closeButtons { + background: transparent; +} + QWidget#playersSupported, QWidget#controllersSupported, QWidget#controllerSupported1, @@ -1843,17 +1843,40 @@ QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_num:pressed { QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace, QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_shift, QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_num { + image: url(:/overlay/osk_button_B_dark.png); image-position: right; + qproperty-icon: url(:/overlay/osk_button_backspace_dark.png); qproperty-iconSize: 36px; } +QDialog#QtSoftwareKeyboardDialog QPushButton#button_space, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_space_shift { + image: url(:/overlay/osk_button_Y_dark.png); + image-position: right; +} + QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok, QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_shift, QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_num { color: rgba(44, 44, 44, 1); + image: url(:/overlay/osk_button_plus_dark.png); image-position: right; } +QDialog#QtSoftwareKeyboardDialog QPushButton#button_shift { + image: url(:/overlay/osk_button_shift_lock_off.png); + image-position: left; + qproperty-icon: url(:/overlay/osk_button_shift_dark.png); + qproperty-iconSize: 36px; +} + +QDialog#QtSoftwareKeyboardDialog QPushButton#button_shift_shift { + image: url(:/overlay/osk_button_shift_lock_off.png); + image-position: left; + qproperty-icon: url(:/overlay/osk_button_shift_on_dark.png); + qproperty-iconSize: 36px; +} + QDialog#QtSoftwareKeyboardDialog QPushButton#button_left_bracket, QDialog#QtSoftwareKeyboardDialog QPushButton#button_right_bracket, QDialog#QtSoftwareKeyboardDialog QPushButton#button_left_parenthesis, @@ -1866,6 +1889,47 @@ QDialog#QtSoftwareKeyboardDialog QWidget#titleOSK QLabel { color: #ccc; } +QDialog#QtSoftwareKeyboardDialog QWidget#button_L, +QDialog#QtSoftwareKeyboardDialog QWidget#button_L_shift, +QDialog#QtSoftwareKeyboardDialog QWidget#button_L_num { + image: url(:/overlay/button_L_dark.png); +} + +QDialog#QtSoftwareKeyboardDialog QWidget#arrow_left, +QDialog#QtSoftwareKeyboardDialog QWidget#arrow_left_shift, +QDialog#QtSoftwareKeyboardDialog QWidget#arrow_left_num { + image: url(:/overlay/arrow_left_dark.png); +} + +QDialog#QtSoftwareKeyboardDialog QWidget#button_R, +QDialog#QtSoftwareKeyboardDialog QWidget#button_R_shift, +QDialog#QtSoftwareKeyboardDialog QWidget#button_R_num { + image: url(:/overlay/button_R_dark.png); +} + +QDialog#QtSoftwareKeyboardDialog QWidget#arrow_right, +QDialog#QtSoftwareKeyboardDialog QWidget#arrow_right_shift, +QDialog#QtSoftwareKeyboardDialog QWidget#arrow_right_num { + image: url(:/overlay/arrow_right_dark.png); +} + +QDialog#QtSoftwareKeyboardDialog QWidget#button_press_stick, +QDialog#QtSoftwareKeyboardDialog QWidget#button_press_stick_shift { + image: url(:/overlay/button_press_stick_dark.png); +} + +QDialog#QtSoftwareKeyboardDialog QWidget#button_X, +QDialog#QtSoftwareKeyboardDialog QWidget#button_X_shift, +QDialog#QtSoftwareKeyboardDialog QWidget#button_X_num { + image: url(:/overlay/button_X_dark.png); +} + +QDialog#QtSoftwareKeyboardDialog QWidget#button_A, +QDialog#QtSoftwareKeyboardDialog QWidget#button_A_shift, +QDialog#QtSoftwareKeyboardDialog QWidget#button_A_num { + image: url(:/overlay/button_A_dark.png); +} + QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok:disabled, QDialog#QtSoftwareKeyboardDialog QPushButton#button_space:disabled, QDialog#QtSoftwareKeyboardDialog QPushButton#button_return:disabled, @@ -1897,6 +1961,23 @@ QDialog#QtSoftwareKeyboardDialog QPushButton#button_return:disabled { color: rgba(144, 144, 144, 1); } +QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok:disabled, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_shift:disabled, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_num:disabled { + image: url(:/overlay/osk_button_plus_dark_disabled.png); +} + +QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace:disabled, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_shift:disabled, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_num:disabled { + image: url(:/overlay/osk_button_B_dark_disabled.png); +} + +QDialog#QtSoftwareKeyboardDialog QPushButton#button_space:disabled, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_space_shift:disabled { + image: url(:/overlay/osk_button_Y_dark_disabled.png); +} + QDialog#QtSoftwareKeyboardDialog QFrame, QDialog#QtSoftwareKeyboardDialog QFrame[frameShape="0"], QDialog#OverlayDialog QFrame, diff --git a/dist/qt_themes/qdarkstyle_midnight_blue/icons.qrc b/dist/qt_themes/qdarkstyle_midnight_blue/icons.qrc deleted file mode 100644 index 1a071adda6..0000000000 --- a/dist/qt_themes/qdarkstyle_midnight_blue/icons.qrc +++ /dev/null @@ -1,224 +0,0 @@ - - - - - icons/index.theme - - - icons/index.theme - - - - rc/arrow_down.png - rc/arrow_down@2x.png - rc/arrow_down_disabled.png - rc/arrow_down_disabled@2x.png - rc/arrow_down_focus.png - rc/arrow_down_focus@2x.png - rc/arrow_down_pressed.png - rc/arrow_down_pressed@2x.png - rc/arrow_left.png - rc/arrow_left@2x.png - rc/arrow_left_disabled.png - rc/arrow_left_disabled@2x.png - rc/arrow_left_focus.png - rc/arrow_left_focus@2x.png - rc/arrow_left_pressed.png - rc/arrow_left_pressed@2x.png - rc/arrow_right.png - rc/arrow_right@2x.png - rc/arrow_right_disabled.png - rc/arrow_right_disabled@2x.png - rc/arrow_right_focus.png - rc/arrow_right_focus@2x.png - rc/arrow_right_pressed.png - rc/arrow_right_pressed@2x.png - rc/arrow_up.png - rc/arrow_up@2x.png - rc/arrow_up_disabled.png - rc/arrow_up_disabled@2x.png - rc/arrow_up_focus.png - rc/arrow_up_focus@2x.png - rc/arrow_up_pressed.png - rc/arrow_up_pressed@2x.png - rc/base_icon.png - rc/base_icon@2x.png - rc/base_icon_disabled.png - rc/base_icon_disabled@2x.png - rc/base_icon_focus.png - rc/base_icon_focus@2x.png - rc/base_icon_pressed.png - rc/base_icon_pressed@2x.png - rc/branch_closed.png - rc/branch_closed@2x.png - rc/branch_closed_disabled.png - rc/branch_closed_disabled@2x.png - rc/branch_closed_focus.png - rc/branch_closed_focus@2x.png - rc/branch_closed_pressed.png - rc/branch_closed_pressed@2x.png - rc/branch_end.png - rc/branch_end@2x.png - rc/branch_end_disabled.png - rc/branch_end_disabled@2x.png - rc/branch_end_focus.png - rc/branch_end_focus@2x.png - rc/branch_end_pressed.png - rc/branch_end_pressed@2x.png - rc/branch_line.png - rc/branch_line@2x.png - rc/branch_line_disabled.png - rc/branch_line_disabled@2x.png - rc/branch_line_focus.png - rc/branch_line_focus@2x.png - rc/branch_line_pressed.png - rc/branch_line_pressed@2x.png - rc/branch_more.png - rc/branch_more@2x.png - rc/branch_more_disabled.png - rc/branch_more_disabled@2x.png - rc/branch_more_focus.png - rc/branch_more_focus@2x.png - rc/branch_more_pressed.png - rc/branch_more_pressed@2x.png - rc/branch_open.png - rc/branch_open@2x.png - rc/branch_open_disabled.png - rc/branch_open_disabled@2x.png - rc/branch_open_focus.png - rc/branch_open_focus@2x.png - rc/branch_open_pressed.png - rc/branch_open_pressed@2x.png - rc/checkbox_checked.png - rc/checkbox_checked@2x.png - rc/checkbox_checked_disabled.png - rc/checkbox_checked_disabled@2x.png - rc/checkbox_checked_focus.png - rc/checkbox_checked_focus@2x.png - rc/checkbox_checked_pressed.png - rc/checkbox_checked_pressed@2x.png - rc/checkbox_indeterminate.png - rc/checkbox_indeterminate@2x.png - rc/checkbox_indeterminate_disabled.png - rc/checkbox_indeterminate_disabled@2x.png - rc/checkbox_indeterminate_focus.png - rc/checkbox_indeterminate_focus@2x.png - rc/checkbox_indeterminate_pressed.png - rc/checkbox_indeterminate_pressed@2x.png - rc/checkbox_unchecked.png - rc/checkbox_unchecked@2x.png - rc/checkbox_unchecked_disabled.png - rc/checkbox_unchecked_disabled@2x.png - rc/checkbox_unchecked_focus.png - rc/checkbox_unchecked_focus@2x.png - rc/checkbox_unchecked_pressed.png - rc/checkbox_unchecked_pressed@2x.png - rc/line_horizontal.png - rc/line_horizontal@2x.png - rc/line_horizontal_disabled.png - rc/line_horizontal_disabled@2x.png - rc/line_horizontal_focus.png - rc/line_horizontal_focus@2x.png - rc/line_horizontal_pressed.png - rc/line_horizontal_pressed@2x.png - rc/line_vertical.png - rc/line_vertical@2x.png - rc/line_vertical_disabled.png - rc/line_vertical_disabled@2x.png - rc/line_vertical_focus.png - rc/line_vertical_focus@2x.png - rc/line_vertical_pressed.png - rc/line_vertical_pressed@2x.png - rc/radio_checked.png - rc/radio_checked@2x.png - rc/radio_checked_disabled.png - rc/radio_checked_disabled@2x.png - rc/radio_checked_focus.png - rc/radio_checked_focus@2x.png - rc/radio_checked_pressed.png - rc/radio_checked_pressed@2x.png - rc/radio_unchecked.png - rc/radio_unchecked@2x.png - rc/radio_unchecked_disabled.png - rc/radio_unchecked_disabled@2x.png - rc/radio_unchecked_focus.png - rc/radio_unchecked_focus@2x.png - rc/radio_unchecked_pressed.png - rc/radio_unchecked_pressed@2x.png - rc/toolbar_move_horizontal.png - rc/toolbar_move_horizontal@2x.png - rc/toolbar_move_horizontal_disabled.png - rc/toolbar_move_horizontal_disabled@2x.png - rc/toolbar_move_horizontal_focus.png - rc/toolbar_move_horizontal_focus@2x.png - rc/toolbar_move_horizontal_pressed.png - rc/toolbar_move_horizontal_pressed@2x.png - rc/toolbar_move_vertical.png - rc/toolbar_move_vertical@2x.png - rc/toolbar_move_vertical_disabled.png - rc/toolbar_move_vertical_disabled@2x.png - rc/toolbar_move_vertical_focus.png - rc/toolbar_move_vertical_focus@2x.png - rc/toolbar_move_vertical_pressed.png - rc/toolbar_move_vertical_pressed@2x.png - rc/toolbar_separator_horizontal.png - rc/toolbar_separator_horizontal@2x.png - rc/toolbar_separator_horizontal_disabled.png - rc/toolbar_separator_horizontal_disabled@2x.png - rc/toolbar_separator_horizontal_focus.png - rc/toolbar_separator_horizontal_focus@2x.png - rc/toolbar_separator_horizontal_pressed.png - rc/toolbar_separator_horizontal_pressed@2x.png - rc/toolbar_separator_vertical.png - rc/toolbar_separator_vertical@2x.png - rc/toolbar_separator_vertical_disabled.png - rc/toolbar_separator_vertical_disabled@2x.png - rc/toolbar_separator_vertical_focus.png - rc/toolbar_separator_vertical_focus@2x.png - rc/toolbar_separator_vertical_pressed.png - rc/toolbar_separator_vertical_pressed@2x.png - rc/transparent.png - rc/transparent@2x.png - rc/transparent_disabled.png - rc/transparent_disabled@2x.png - rc/transparent_focus.png - rc/transparent_focus@2x.png - rc/transparent_pressed.png - rc/transparent_pressed@2x.png - rc/window_close.png - rc/window_close@2x.png - rc/window_close_disabled.png - rc/window_close_disabled@2x.png - rc/window_close_focus.png - rc/window_close_focus@2x.png - rc/window_close_pressed.png - rc/window_close_pressed@2x.png - rc/window_grip.png - rc/window_grip@2x.png - rc/window_grip_disabled.png - rc/window_grip_disabled@2x.png - rc/window_grip_focus.png - rc/window_grip_focus@2x.png - rc/window_grip_pressed.png - rc/window_grip_pressed@2x.png - rc/window_minimize.png - rc/window_minimize@2x.png - rc/window_minimize_disabled.png - rc/window_minimize_disabled@2x.png - rc/window_minimize_focus.png - rc/window_minimize_focus@2x.png - rc/window_minimize_pressed.png - rc/window_minimize_pressed@2x.png - rc/window_undock.png - rc/window_undock@2x.png - rc/window_undock_disabled.png - rc/window_undock_disabled@2x.png - rc/window_undock_focus.png - rc/window_undock_focus@2x.png - rc/window_undock_pressed.png - rc/window_undock_pressed@2x.png - - diff --git a/dist/qt_themes/qdarkstyle_midnight_blue/icons/index.theme b/dist/qt_themes/qdarkstyle_midnight_blue/icons/index.theme index 34c449f19a..20f9f6d633 100644 --- a/dist/qt_themes/qdarkstyle_midnight_blue/icons/index.theme +++ b/dist/qt_themes/qdarkstyle_midnight_blue/icons/index.theme @@ -1,4 +1,14 @@ [Icon Theme] Name=qdarkstyle_midnight_blue -Comment=Dark theme (Midnight Blue style) -Inherits=default_dark +Comment=dark theme +Inherits=colorful +Directories=16x16,48x48,256x256 + +[16x16] +Size=16 + +[48x48] +Size=48 + +[256x256] +Size=256 diff --git a/dist/qt_themes/qdarkstyle_midnight_blue/style.qrc b/dist/qt_themes/qdarkstyle_midnight_blue/style.qrc index 0cdaefa035..dc3d7fecbd 100644 --- a/dist/qt_themes/qdarkstyle_midnight_blue/style.qrc +++ b/dist/qt_themes/qdarkstyle_midnight_blue/style.qrc @@ -1,5 +1,228 @@ - - dark.qss - + + icons/index.theme + ../qdarkstyle/icons/16x16/lock.png + ../qdarkstyle/icons/16x16/view-refresh.png + ../qdarkstyle/icons/48x48/bad_folder.png + ../qdarkstyle/icons/48x48/chip.png + ../qdarkstyle/icons/48x48/folder.png + ../qdarkstyle/icons/48x48/no_avatar.png + ../qdarkstyle/icons/48x48/list-add.png + ../qdarkstyle/icons/48x48/sd_card.png + ../qdarkstyle/icons/48x48/star.png + ../qdarkstyle/icons/256x256/plus_folder.png + + + rc/arrow_down.png + rc/arrow_down@2x.png + rc/arrow_down_disabled.png + rc/arrow_down_disabled@2x.png + rc/arrow_down_focus.png + rc/arrow_down_focus@2x.png + rc/arrow_down_pressed.png + rc/arrow_down_pressed@2x.png + rc/arrow_left.png + rc/arrow_left@2x.png + rc/arrow_left_disabled.png + rc/arrow_left_disabled@2x.png + rc/arrow_left_focus.png + rc/arrow_left_focus@2x.png + rc/arrow_left_pressed.png + rc/arrow_left_pressed@2x.png + rc/arrow_right.png + rc/arrow_right@2x.png + rc/arrow_right_disabled.png + rc/arrow_right_disabled@2x.png + rc/arrow_right_focus.png + rc/arrow_right_focus@2x.png + rc/arrow_right_pressed.png + rc/arrow_right_pressed@2x.png + rc/arrow_up.png + rc/arrow_up@2x.png + rc/arrow_up_disabled.png + rc/arrow_up_disabled@2x.png + rc/arrow_up_focus.png + rc/arrow_up_focus@2x.png + rc/arrow_up_pressed.png + rc/arrow_up_pressed@2x.png + rc/base_icon.png + rc/base_icon@2x.png + rc/base_icon_disabled.png + rc/base_icon_disabled@2x.png + rc/base_icon_focus.png + rc/base_icon_focus@2x.png + rc/base_icon_pressed.png + rc/base_icon_pressed@2x.png + rc/branch_closed.png + rc/branch_closed@2x.png + rc/branch_closed_disabled.png + rc/branch_closed_disabled@2x.png + rc/branch_closed_focus.png + rc/branch_closed_focus@2x.png + rc/branch_closed_pressed.png + rc/branch_closed_pressed@2x.png + rc/branch_end.png + rc/branch_end@2x.png + rc/branch_end_disabled.png + rc/branch_end_disabled@2x.png + rc/branch_end_focus.png + rc/branch_end_focus@2x.png + rc/branch_end_pressed.png + rc/branch_end_pressed@2x.png + rc/branch_line.png + rc/branch_line@2x.png + rc/branch_line_disabled.png + rc/branch_line_disabled@2x.png + rc/branch_line_focus.png + rc/branch_line_focus@2x.png + rc/branch_line_pressed.png + rc/branch_line_pressed@2x.png + rc/branch_more.png + rc/branch_more@2x.png + rc/branch_more_disabled.png + rc/branch_more_disabled@2x.png + rc/branch_more_focus.png + rc/branch_more_focus@2x.png + rc/branch_more_pressed.png + rc/branch_more_pressed@2x.png + rc/branch_open.png + rc/branch_open@2x.png + rc/branch_open_disabled.png + rc/branch_open_disabled@2x.png + rc/branch_open_focus.png + rc/branch_open_focus@2x.png + rc/branch_open_pressed.png + rc/branch_open_pressed@2x.png + rc/checkbox_checked.png + rc/checkbox_checked@2x.png + rc/checkbox_checked_disabled.png + rc/checkbox_checked_disabled@2x.png + rc/checkbox_checked_focus.png + rc/checkbox_checked_focus@2x.png + rc/checkbox_checked_pressed.png + rc/checkbox_checked_pressed@2x.png + rc/checkbox_indeterminate.png + rc/checkbox_indeterminate@2x.png + rc/checkbox_indeterminate_disabled.png + rc/checkbox_indeterminate_disabled@2x.png + rc/checkbox_indeterminate_focus.png + rc/checkbox_indeterminate_focus@2x.png + rc/checkbox_indeterminate_pressed.png + rc/checkbox_indeterminate_pressed@2x.png + rc/checkbox_unchecked.png + rc/checkbox_unchecked@2x.png + rc/checkbox_unchecked_disabled.png + rc/checkbox_unchecked_disabled@2x.png + rc/checkbox_unchecked_focus.png + rc/checkbox_unchecked_focus@2x.png + rc/checkbox_unchecked_pressed.png + rc/checkbox_unchecked_pressed@2x.png + rc/line_horizontal.png + rc/line_horizontal@2x.png + rc/line_horizontal_disabled.png + rc/line_horizontal_disabled@2x.png + rc/line_horizontal_focus.png + rc/line_horizontal_focus@2x.png + rc/line_horizontal_pressed.png + rc/line_horizontal_pressed@2x.png + rc/line_vertical.png + rc/line_vertical@2x.png + rc/line_vertical_disabled.png + rc/line_vertical_disabled@2x.png + rc/line_vertical_focus.png + rc/line_vertical_focus@2x.png + rc/line_vertical_pressed.png + rc/line_vertical_pressed@2x.png + rc/radio_checked.png + rc/radio_checked@2x.png + rc/radio_checked_disabled.png + rc/radio_checked_disabled@2x.png + rc/radio_checked_focus.png + rc/radio_checked_focus@2x.png + rc/radio_checked_pressed.png + rc/radio_checked_pressed@2x.png + rc/radio_unchecked.png + rc/radio_unchecked@2x.png + rc/radio_unchecked_disabled.png + rc/radio_unchecked_disabled@2x.png + rc/radio_unchecked_focus.png + rc/radio_unchecked_focus@2x.png + rc/radio_unchecked_pressed.png + rc/radio_unchecked_pressed@2x.png + rc/toolbar_move_horizontal.png + rc/toolbar_move_horizontal@2x.png + rc/toolbar_move_horizontal_disabled.png + rc/toolbar_move_horizontal_disabled@2x.png + rc/toolbar_move_horizontal_focus.png + rc/toolbar_move_horizontal_focus@2x.png + rc/toolbar_move_horizontal_pressed.png + rc/toolbar_move_horizontal_pressed@2x.png + rc/toolbar_move_vertical.png + rc/toolbar_move_vertical@2x.png + rc/toolbar_move_vertical_disabled.png + rc/toolbar_move_vertical_disabled@2x.png + rc/toolbar_move_vertical_focus.png + rc/toolbar_move_vertical_focus@2x.png + rc/toolbar_move_vertical_pressed.png + rc/toolbar_move_vertical_pressed@2x.png + rc/toolbar_separator_horizontal.png + rc/toolbar_separator_horizontal@2x.png + rc/toolbar_separator_horizontal_disabled.png + rc/toolbar_separator_horizontal_disabled@2x.png + rc/toolbar_separator_horizontal_focus.png + rc/toolbar_separator_horizontal_focus@2x.png + rc/toolbar_separator_horizontal_pressed.png + rc/toolbar_separator_horizontal_pressed@2x.png + rc/toolbar_separator_vertical.png + rc/toolbar_separator_vertical@2x.png + rc/toolbar_separator_vertical_disabled.png + rc/toolbar_separator_vertical_disabled@2x.png + rc/toolbar_separator_vertical_focus.png + rc/toolbar_separator_vertical_focus@2x.png + rc/toolbar_separator_vertical_pressed.png + rc/toolbar_separator_vertical_pressed@2x.png + rc/transparent.png + rc/transparent@2x.png + rc/transparent_disabled.png + rc/transparent_disabled@2x.png + rc/transparent_focus.png + rc/transparent_focus@2x.png + rc/transparent_pressed.png + rc/transparent_pressed@2x.png + rc/window_close.png + rc/window_close@2x.png + rc/window_close_disabled.png + rc/window_close_disabled@2x.png + rc/window_close_focus.png + rc/window_close_focus@2x.png + rc/window_close_pressed.png + rc/window_close_pressed@2x.png + rc/window_grip.png + rc/window_grip@2x.png + rc/window_grip_disabled.png + rc/window_grip_disabled@2x.png + rc/window_grip_focus.png + rc/window_grip_focus@2x.png + rc/window_grip_pressed.png + rc/window_grip_pressed@2x.png + rc/window_minimize.png + rc/window_minimize@2x.png + rc/window_minimize_disabled.png + rc/window_minimize_disabled@2x.png + rc/window_minimize_focus.png + rc/window_minimize_focus@2x.png + rc/window_minimize_pressed.png + rc/window_minimize_pressed@2x.png + rc/window_undock.png + rc/window_undock@2x.png + rc/window_undock_disabled.png + rc/window_undock_disabled@2x.png + rc/window_undock_focus.png + rc/window_undock_focus@2x.png + rc/window_undock_pressed.png + rc/window_undock_pressed@2x.png + + + style.qss + diff --git a/dist/qt_themes/qdarkstyle_midnight_blue/dark.qss b/dist/qt_themes/qdarkstyle_midnight_blue/style.qss similarity index 95% rename from dist/qt_themes/qdarkstyle_midnight_blue/dark.qss rename to dist/qt_themes/qdarkstyle_midnight_blue/style.qss index 3086b90ade..eb0889b139 100644 --- a/dist/qt_themes/qdarkstyle_midnight_blue/dark.qss +++ b/dist/qt_themes/qdarkstyle_midnight_blue/style.qss @@ -1296,10 +1296,6 @@ QSlider:focus { border: none; } -QSlider:horizontal { - height: 20px; -} - QSlider::groove:horizontal { background: #32414B; border: 1px solid #32414B; @@ -2783,10 +2779,41 @@ QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_num:pressed { border-radius: 6px; } +QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_shift, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_num { + image: url(:/overlay/osk_button_B_dark.png); + image-position: right; + qproperty-icon: url(:/overlay/osk_button_backspace_dark.png); + qproperty-iconSize: 36px; +} + +QDialog#QtSoftwareKeyboardDialog QPushButton#button_space, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_space_shift { + image: url(:/overlay/osk_button_Y_dark.png); + image-position: right; +} + QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok, QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_shift, QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_num { color: rgba(44, 44, 44, 1); + image: url(:/overlay/osk_button_plus_dark.png); + image-position: right; +} + +QDialog#QtSoftwareKeyboardDialog QPushButton#button_shift { + image: url(:/overlay/osk_button_shift_lock_off.png); + image-position: left; + qproperty-icon: url(:/overlay/osk_button_shift_dark.png); + qproperty-iconSize: 36px; +} + +QDialog#QtSoftwareKeyboardDialog QPushButton#button_shift_shift { + image: url(:/overlay/osk_button_shift_lock_off.png); + image-position: left; + qproperty-icon: url(:/overlay/osk_button_shift_on_dark.png); + qproperty-iconSize: 36px; } QDialog#QtSoftwareKeyboardDialog QPushButton#button_left_bracket, @@ -2801,6 +2828,47 @@ QDialog#QtSoftwareKeyboardDialog QWidget#titleOSK QLabel { color: #ccc; } +QDialog#QtSoftwareKeyboardDialog QWidget#button_L, +QDialog#QtSoftwareKeyboardDialog QWidget#button_L_shift, +QDialog#QtSoftwareKeyboardDialog QWidget#button_L_num { + image: url(:/overlay/button_L_dark.png); +} + +QDialog#QtSoftwareKeyboardDialog QWidget#arrow_left, +QDialog#QtSoftwareKeyboardDialog QWidget#arrow_left_shift, +QDialog#QtSoftwareKeyboardDialog QWidget#arrow_left_num { + image: url(:/overlay/arrow_left_dark.png); +} + +QDialog#QtSoftwareKeyboardDialog QWidget#button_R, +QDialog#QtSoftwareKeyboardDialog QWidget#button_R_shift, +QDialog#QtSoftwareKeyboardDialog QWidget#button_R_num { + image: url(:/overlay/button_R_dark.png); +} + +QDialog#QtSoftwareKeyboardDialog QWidget#arrow_right, +QDialog#QtSoftwareKeyboardDialog QWidget#arrow_right_shift, +QDialog#QtSoftwareKeyboardDialog QWidget#arrow_right_num { + image: url(:/overlay/arrow_right_dark.png); +} + +QDialog#QtSoftwareKeyboardDialog QWidget#button_press_stick, +QDialog#QtSoftwareKeyboardDialog QWidget#button_press_stick_shift { + image: url(:/overlay/button_press_stick_dark.png); +} + +QDialog#QtSoftwareKeyboardDialog QWidget#button_X, +QDialog#QtSoftwareKeyboardDialog QWidget#button_X_shift, +QDialog#QtSoftwareKeyboardDialog QWidget#button_X_num { + image: url(:/overlay/button_X_dark.png); +} + +QDialog#QtSoftwareKeyboardDialog QWidget#button_A, +QDialog#QtSoftwareKeyboardDialog QWidget#button_A_shift, +QDialog#QtSoftwareKeyboardDialog QWidget#button_A_num { + image: url(:/overlay/button_A_dark.png); +} + QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok:disabled, QDialog#QtSoftwareKeyboardDialog QPushButton#button_space:disabled, QDialog#QtSoftwareKeyboardDialog QPushButton#button_return:disabled, @@ -2831,3 +2899,20 @@ QDialog#QtSoftwareKeyboardDialog QPushButton#button_0:disabled, QDialog#QtSoftwareKeyboardDialog QPushButton#button_return:disabled { color: rgba(144, 144, 144, 1); } + +QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok:disabled, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_shift:disabled, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_ok_num:disabled { + image: url(:/overlay/osk_button_plus_dark_disabled.png); +} + +QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace:disabled, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_shift:disabled, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_backspace_num:disabled { + image: url(:/overlay/osk_button_B_dark_disabled.png); +} + +QDialog#QtSoftwareKeyboardDialog QPushButton#button_space:disabled, +QDialog#QtSoftwareKeyboardDialog QPushButton#button_space_shift:disabled { + image: url(:/overlay/osk_button_Y_dark_disabled.png); +} diff --git a/dist/qt_themes/qdarkstyle_midnight_blue_monochrome/icons.qrc b/dist/qt_themes/qdarkstyle_midnight_blue_monochrome/icons.qrc deleted file mode 100644 index 60b95db02a..0000000000 --- a/dist/qt_themes/qdarkstyle_midnight_blue_monochrome/icons.qrc +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - icons/index.theme - ../monochrome_dark/icons/16x16/lock.png - ../monochrome_dark/icons/48x48/bad_folder.png - ../monochrome_dark/icons/48x48/chip.png - ../monochrome_dark/icons/48x48/folder.png - ../monochrome_dark/icons/48x48/list-add.png - ../monochrome_dark/icons/48x48/sd_card.png - ../monochrome_dark/icons/48x48/star.png - ../monochrome_dark/icons/256x256/plus_folder.png - - - - icons/index.theme - ../monochrome_dark/icons/16x16/lock.png - ../monochrome_dark/icons/48x48/bad_folder.png - ../monochrome_dark/icons/48x48/chip.png - ../monochrome_dark/icons/48x48/folder.png - ../monochrome_dark/icons/48x48/list-add.png - ../monochrome_dark/icons/48x48/no_avatar.png - ../monochrome_dark/icons/48x48/sd_card.png - ../monochrome_dark/icons/48x48/star.png - ../monochrome_dark/icons/256x256/plus_folder.png - - diff --git a/dist/qt_themes/qdarkstyle_midnight_blue_monochrome/icons/index.theme b/dist/qt_themes/qdarkstyle_midnight_blue_monochrome/icons/index.theme deleted file mode 100644 index d6ed7d55ec..0000000000 --- a/dist/qt_themes/qdarkstyle_midnight_blue_monochrome/icons/index.theme +++ /dev/null @@ -1,14 +0,0 @@ -[Icon Theme] -Name=qdarkstyle_midnight_blue_monochrome -Comment=Monochrome dark theme (Midnight Blue style) -Inherits=qdarkstyle_midnight_blue -Directories=16x16,48x48,256x256 - -[16x16] -Size=16 - -[48x48] -Size=48 - -[256x256] -Size=256 diff --git a/dist/qt_themes/qdarkstyle_midnight_blue_monochrome/style.qrc b/dist/qt_themes/qdarkstyle_midnight_blue_monochrome/style.qrc deleted file mode 100644 index eeb5f34cbb..0000000000 --- a/dist/qt_themes/qdarkstyle_midnight_blue_monochrome/style.qrc +++ /dev/null @@ -1,8 +0,0 @@ - - - ../qdarkstyle_midnight_blue/dark.qss - - - ../qdarkstyle/dark.qss - - diff --git a/dist/qt_themes/qdarkstyle_monochrome/icons.qrc b/dist/qt_themes/qdarkstyle_monochrome/icons.qrc deleted file mode 100644 index 355fe22beb..0000000000 --- a/dist/qt_themes/qdarkstyle_monochrome/icons.qrc +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - icons/index.theme - ../monochrome_dark/icons/16x16/lock.png - ../monochrome_dark/icons/48x48/bad_folder.png - ../monochrome_dark/icons/48x48/chip.png - ../monochrome_dark/icons/48x48/folder.png - ../monochrome_dark/icons/48x48/list-add.png - ../monochrome_dark/icons/48x48/sd_card.png - ../monochrome_dark/icons/48x48/star.png - ../monochrome_dark/icons/256x256/plus_folder.png - - - - icons/index.theme - ../monochrome_dark/icons/16x16/lock.png - ../monochrome_dark/icons/48x48/bad_folder.png - ../monochrome_dark/icons/48x48/chip.png - ../monochrome_dark/icons/48x48/folder.png - ../monochrome_dark/icons/48x48/list-add.png - ../monochrome_dark/icons/48x48/no_avatar.png - ../monochrome_dark/icons/48x48/sd_card.png - ../monochrome_dark/icons/48x48/star.png - ../monochrome_dark/icons/256x256/plus_folder.png - - diff --git a/dist/qt_themes/qdarkstyle_monochrome/icons/index.theme b/dist/qt_themes/qdarkstyle_monochrome/icons/index.theme deleted file mode 100644 index a8fd60ba29..0000000000 --- a/dist/qt_themes/qdarkstyle_monochrome/icons/index.theme +++ /dev/null @@ -1,14 +0,0 @@ -[Icon Theme] -Name=qdarkstyle_monochrome -Comment=Monochrome dark theme (Mine Shaft style) -Inherits=qdarkstyle -Directories=16x16,48x48,256x256 - -[16x16] -Size=16 - -[48x48] -Size=48 - -[256x256] -Size=256 diff --git a/dist/qt_themes/qdarkstyle_monochrome/style.qrc b/dist/qt_themes/qdarkstyle_monochrome/style.qrc deleted file mode 100644 index 76f7767ca8..0000000000 --- a/dist/qt_themes/qdarkstyle_monochrome/style.qrc +++ /dev/null @@ -1,8 +0,0 @@ - - - ../qdarkstyle/dark.qss - - - ../qdarkstyle/dark.qss - - diff --git a/dist/readme/suyu__Logo-Pill.svg b/dist/readme/suyu__Logo-Pill.svg index 673732798a..e34ab989c8 100644 --- a/dist/readme/suyu__Logo-Pill.svg +++ b/dist/readme/suyu__Logo-Pill.svg @@ -1,8 +1,3 @@ - - diff --git a/dist/suyu.manifest b/dist/suyu.manifest index 71bdd9f0c0..7467607c00 100644 --- a/dist/suyu.manifest +++ b/dist/suyu.manifest @@ -1,8 +1,7 @@ diff --git a/externals/CMakeLists.txt b/externals/CMakeLists.txt index c44457f177..7ce75c96e8 100644 --- a/externals/CMakeLists.txt +++ b/externals/CMakeLists.txt @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2016 Citra Emulator Project +# SPDX-FileCopyrightText: 2016 Citra Emulator Project & 2024 suyu Emulator Project # SPDX-License-Identifier: GPL-2.0-or-later # Dynarmic has cmake_minimum_required(3.12) and we may want to override diff --git a/hooks/pre-commit b/hooks/pre-commit index 0739ea64cf..0855bd565e 100755 --- a/hooks/pre-commit +++ b/hooks/pre-commit @@ -1,7 +1,6 @@ #!/bin/sh # SPDX-FileCopyrightText: 2015 Citra Emulator Project -# SPDX-FileCopyrightText: 2024 suyu Emulator Project # SPDX-License-Identifier: GPL-2.0-or-later # Enforce suyu's whitespace policy diff --git a/img/daily-builds.png b/img/daily-builds.png deleted file mode 100644 index 9eb0653a05..0000000000 Binary files a/img/daily-builds.png and /dev/null differ diff --git a/img/maximum-clocks.png b/img/maximum-clocks.png deleted file mode 100644 index 0353c0bf83..0000000000 Binary files a/img/maximum-clocks.png and /dev/null differ diff --git a/img/need to fix bugs.png b/img/need to fix bugs.png deleted file mode 100644 index 124c55c91a..0000000000 Binary files a/img/need to fix bugs.png and /dev/null differ diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 20d3112f8a..2c2d08aa02 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,5 +1,4 @@ -# SPDX-FileCopyrightText: 2018 yuzu Emulator Project -# SPDX-FileCopyrightText: 2024 suyu Emulator Project +# SPDX-FileCopyrightText: 2018 yuzu Emulator Project & 2024 suyu Emulator Project # SPDX-License-Identifier: GPL-2.0-or-later # Enable modules to include each other's files diff --git a/src/android/.gitignore b/src/android/.gitignore index ff7121acd1..ef140fad38 100644 --- a/src/android/.gitignore +++ b/src/android/.gitignore @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2023 yuzu Emulator Project +# SPDX-FileCopyrightText: 2023 suyu Emulator Project # SPDX-License-Identifier: GPL-3.0-or-later # Built application files diff --git a/src/android/app/build.gradle.kts b/src/android/app/build.gradle.kts index 9312d48c33..cdc8cd9c6b 100644 --- a/src/android/app/build.gradle.kts +++ b/src/android/app/build.gradle.kts @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-3.0-or-later import android.annotation.SuppressLint @@ -25,7 +25,7 @@ val autoVersion = (((System.currentTimeMillis() / 1000) - 1451606400) / 10).toIn @Suppress("UnstableApiUsage") android { - namespace = "dev.suyu.suyu_emu" + namespace = "org.suyu.suyu_emu" compileSdkVersion = "android-34" ndkVersion = "26.1.10909125" @@ -54,7 +54,7 @@ android { defaultConfig { // TODO If this is ever modified, change application_id in strings.xml - applicationId = "dev.suyu.suyu_emu" + applicationId = "org.suyu.suyu_emu" minSdk = 30 targetSdk = 34 versionName = getGitVersion() diff --git a/src/android/app/proguard-rules.pro b/src/android/app/proguard-rules.pro index 691e08fd03..8d853a1d3b 100644 --- a/src/android/app/proguard-rules.pro +++ b/src/android/app/proguard-rules.pro @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2023 yuzu Emulator Project +# SPDX-FileCopyrightText: 2023 suyu Emulator Project # SPDX-License-Identifier: GPL-3.0-or-later # To get usable stack traces diff --git a/src/android/app/src/main/AndroidManifest.xml b/src/android/app/src/main/AndroidManifest.xml index 5f893cd986..02d08c00be 100644 --- a/src/android/app/src/main/AndroidManifest.xml +++ b/src/android/app/src/main/AndroidManifest.xml @@ -17,7 +17,7 @@ SPDX-License-Identifier: GPL-3.0-or-later @@ -48,12 +48,12 @@ SPDX-License-Identifier: GPL-3.0-or-later () { diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/adapters/AppletAdapter.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/adapters/AppletAdapter.kt similarity index 83% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/adapters/AppletAdapter.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/adapters/AppletAdapter.kt index c6d373f7a5..ab4651afe5 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/adapters/AppletAdapter.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/adapters/AppletAdapter.kt @@ -1,7 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.adapters +package org.suyu.suyu_emu.adapters import android.view.LayoutInflater import android.view.ViewGroup @@ -9,15 +9,15 @@ import android.widget.Toast import androidx.core.content.res.ResourcesCompat import androidx.fragment.app.FragmentActivity import androidx.navigation.findNavController -import dev.suyu.suyu_emu.HomeNavigationDirections -import dev.suyu.suyu_emu.NativeLibrary -import dev.suyu.suyu_emu.R -import dev.suyu.suyu_emu.SuyuApplication -import dev.suyu.suyu_emu.databinding.CardSimpleOutlinedBinding -import dev.suyu.suyu_emu.model.Applet -import dev.suyu.suyu_emu.model.AppletInfo -import dev.suyu.suyu_emu.model.Game -import dev.suyu.suyu_emu.viewholder.AbstractViewHolder +import org.suyu.suyu_emu.HomeNavigationDirections +import org.suyu.suyu_emu.NativeLibrary +import org.suyu.suyu_emu.R +import org.suyu.suyu_emu.SuyuApplication +import org.suyu.suyu_emu.databinding.CardSimpleOutlinedBinding +import org.suyu.suyu_emu.model.Applet +import org.suyu.suyu_emu.model.AppletInfo +import org.suyu.suyu_emu.model.Game +import org.suyu.suyu_emu.viewholder.AbstractViewHolder class AppletAdapter(val activity: FragmentActivity, applets: List) : AbstractListAdapter(applets) { diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/adapters/CabinetLauncherDialogAdapter.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/adapters/CabinetLauncherDialogAdapter.kt similarity index 77% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/adapters/CabinetLauncherDialogAdapter.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/adapters/CabinetLauncherDialogAdapter.kt index d7125d8603..42d5d98b02 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/adapters/CabinetLauncherDialogAdapter.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/adapters/CabinetLauncherDialogAdapter.kt @@ -1,23 +1,23 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.adapters +package org.suyu.suyu_emu.adapters import android.view.LayoutInflater import android.view.ViewGroup import androidx.core.content.res.ResourcesCompat import androidx.fragment.app.Fragment import androidx.navigation.fragment.findNavController -import dev.suyu.suyu_emu.HomeNavigationDirections -import dev.suyu.suyu_emu.NativeLibrary -import dev.suyu.suyu_emu.R -import dev.suyu.suyu_emu.SuyuApplication -import dev.suyu.suyu_emu.databinding.DialogListItemBinding -import dev.suyu.suyu_emu.model.CabinetMode -import dev.suyu.suyu_emu.adapters.CabinetLauncherDialogAdapter.CabinetModeViewHolder -import dev.suyu.suyu_emu.model.AppletInfo -import dev.suyu.suyu_emu.model.Game -import dev.suyu.suyu_emu.viewholder.AbstractViewHolder +import org.suyu.suyu_emu.HomeNavigationDirections +import org.suyu.suyu_emu.NativeLibrary +import org.suyu.suyu_emu.R +import org.suyu.suyu_emu.SuyuApplication +import org.suyu.suyu_emu.databinding.DialogListItemBinding +import org.suyu.suyu_emu.model.CabinetMode +import org.suyu.suyu_emu.adapters.CabinetLauncherDialogAdapter.CabinetModeViewHolder +import org.suyu.suyu_emu.model.AppletInfo +import org.suyu.suyu_emu.model.Game +import org.suyu.suyu_emu.viewholder.AbstractViewHolder class CabinetLauncherDialogAdapter(val fragment: Fragment) : AbstractListAdapter( diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/adapters/DriverAdapter.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/adapters/DriverAdapter.kt similarity index 80% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/adapters/DriverAdapter.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/adapters/DriverAdapter.kt index 58c8555750..cfd5c13590 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/adapters/DriverAdapter.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/adapters/DriverAdapter.kt @@ -1,18 +1,18 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.adapters +package org.suyu.suyu_emu.adapters import android.view.LayoutInflater import android.view.ViewGroup -import dev.suyu.suyu_emu.R -import dev.suyu.suyu_emu.databinding.CardDriverOptionBinding -import dev.suyu.suyu_emu.features.settings.model.StringSetting -import dev.suyu.suyu_emu.model.Driver -import dev.suyu.suyu_emu.model.DriverViewModel -import dev.suyu.suyu_emu.utils.ViewUtils.marquee -import dev.suyu.suyu_emu.utils.ViewUtils.setVisible -import dev.suyu.suyu_emu.viewholder.AbstractViewHolder +import org.suyu.suyu_emu.R +import org.suyu.suyu_emu.databinding.CardDriverOptionBinding +import org.suyu.suyu_emu.features.settings.model.StringSetting +import org.suyu.suyu_emu.model.Driver +import org.suyu.suyu_emu.model.DriverViewModel +import org.suyu.suyu_emu.utils.ViewUtils.marquee +import org.suyu.suyu_emu.utils.ViewUtils.setVisible +import org.suyu.suyu_emu.viewholder.AbstractViewHolder class DriverAdapter(private val driverViewModel: DriverViewModel) : AbstractSingleSelectionList( diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/adapters/FolderAdapter.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/adapters/FolderAdapter.kt similarity index 77% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/adapters/FolderAdapter.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/adapters/FolderAdapter.kt index ce73151938..30762b765e 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/adapters/FolderAdapter.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/adapters/FolderAdapter.kt @@ -1,18 +1,18 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.adapters +package org.suyu.suyu_emu.adapters import android.net.Uri import android.view.LayoutInflater import android.view.ViewGroup import androidx.fragment.app.FragmentActivity -import dev.suyu.suyu_emu.databinding.CardFolderBinding -import dev.suyu.suyu_emu.fragments.GameFolderPropertiesDialogFragment -import dev.suyu.suyu_emu.model.GameDir -import dev.suyu.suyu_emu.model.GamesViewModel -import dev.suyu.suyu_emu.utils.ViewUtils.marquee -import dev.suyu.suyu_emu.viewholder.AbstractViewHolder +import org.suyu.suyu_emu.databinding.CardFolderBinding +import org.suyu.suyu_emu.fragments.GameFolderPropertiesDialogFragment +import org.suyu.suyu_emu.model.GameDir +import org.suyu.suyu_emu.model.GamesViewModel +import org.suyu.suyu_emu.utils.ViewUtils.marquee +import org.suyu.suyu_emu.viewholder.AbstractViewHolder class FolderAdapter(val activity: FragmentActivity, val gamesViewModel: GamesViewModel) : AbstractDiffAdapter() { diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/adapters/GameAdapter.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/adapters/GameAdapter.kt similarity index 87% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/adapters/GameAdapter.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/adapters/GameAdapter.kt index 7cca8b9aec..bf58a1499f 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/adapters/GameAdapter.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/adapters/GameAdapter.kt @@ -1,7 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.adapters +package org.suyu.suyu_emu.adapters import android.net.Uri import android.view.LayoutInflater @@ -19,15 +19,15 @@ import androidx.preference.PreferenceManager import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch import kotlinx.coroutines.withContext -import dev.suyu.suyu_emu.HomeNavigationDirections -import dev.suyu.suyu_emu.R -import dev.suyu.suyu_emu.SuyuApplication -import dev.suyu.suyu_emu.databinding.CardGameBinding -import dev.suyu.suyu_emu.model.Game -import dev.suyu.suyu_emu.model.GamesViewModel -import dev.suyu.suyu_emu.utils.GameIconUtils -import dev.suyu.suyu_emu.utils.ViewUtils.marquee -import dev.suyu.suyu_emu.viewholder.AbstractViewHolder +import org.suyu.suyu_emu.HomeNavigationDirections +import org.suyu.suyu_emu.R +import org.suyu.suyu_emu.SuyuApplication +import org.suyu.suyu_emu.databinding.CardGameBinding +import org.suyu.suyu_emu.model.Game +import org.suyu.suyu_emu.model.GamesViewModel +import org.suyu.suyu_emu.utils.GameIconUtils +import org.suyu.suyu_emu.utils.ViewUtils.marquee +import org.suyu.suyu_emu.viewholder.AbstractViewHolder class GameAdapter(private val activity: AppCompatActivity) : AbstractDiffAdapter(exact = false) { diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/adapters/GamePropertiesAdapter.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/adapters/GamePropertiesAdapter.kt similarity index 87% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/adapters/GamePropertiesAdapter.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/adapters/GamePropertiesAdapter.kt index 6cc783d2c2..8286711df5 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/adapters/GamePropertiesAdapter.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/adapters/GamePropertiesAdapter.kt @@ -1,21 +1,21 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.adapters +package org.suyu.suyu_emu.adapters import android.view.LayoutInflater import android.view.ViewGroup import androidx.core.content.res.ResourcesCompat import androidx.lifecycle.LifecycleOwner -import dev.suyu.suyu_emu.databinding.CardInstallableIconBinding -import dev.suyu.suyu_emu.databinding.CardSimpleOutlinedBinding -import dev.suyu.suyu_emu.model.GameProperty -import dev.suyu.suyu_emu.model.InstallableProperty -import dev.suyu.suyu_emu.model.SubmenuProperty -import dev.suyu.suyu_emu.utils.ViewUtils.marquee -import dev.suyu.suyu_emu.utils.ViewUtils.setVisible -import dev.suyu.suyu_emu.utils.collect -import dev.suyu.suyu_emu.viewholder.AbstractViewHolder +import org.suyu.suyu_emu.databinding.CardInstallableIconBinding +import org.suyu.suyu_emu.databinding.CardSimpleOutlinedBinding +import org.suyu.suyu_emu.model.GameProperty +import org.suyu.suyu_emu.model.InstallableProperty +import org.suyu.suyu_emu.model.SubmenuProperty +import org.suyu.suyu_emu.utils.ViewUtils.marquee +import org.suyu.suyu_emu.utils.ViewUtils.setVisible +import org.suyu.suyu_emu.utils.collect +import org.suyu.suyu_emu.viewholder.AbstractViewHolder class GamePropertiesAdapter( private val viewLifecycle: LifecycleOwner, diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/adapters/HomeSettingAdapter.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/adapters/HomeSettingAdapter.kt similarity index 85% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/adapters/HomeSettingAdapter.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/adapters/HomeSettingAdapter.kt index 8ecc0e6f90..2544ea1571 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/adapters/HomeSettingAdapter.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/adapters/HomeSettingAdapter.kt @@ -1,7 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.adapters +package org.suyu.suyu_emu.adapters import android.view.LayoutInflater import android.view.ViewGroup @@ -9,14 +9,14 @@ import androidx.appcompat.app.AppCompatActivity import androidx.core.content.ContextCompat import androidx.core.content.res.ResourcesCompat import androidx.lifecycle.LifecycleOwner -import dev.suyu.suyu_emu.R -import dev.suyu.suyu_emu.databinding.CardHomeOptionBinding -import dev.suyu.suyu_emu.fragments.MessageDialogFragment -import dev.suyu.suyu_emu.model.HomeSetting -import dev.suyu.suyu_emu.utils.ViewUtils.marquee -import dev.suyu.suyu_emu.utils.ViewUtils.setVisible -import dev.suyu.suyu_emu.utils.collect -import dev.suyu.suyu_emu.viewholder.AbstractViewHolder +import org.suyu.suyu_emu.R +import org.suyu.suyu_emu.databinding.CardHomeOptionBinding +import org.suyu.suyu_emu.fragments.MessageDialogFragment +import org.suyu.suyu_emu.model.HomeSetting +import org.suyu.suyu_emu.utils.ViewUtils.marquee +import org.suyu.suyu_emu.utils.ViewUtils.setVisible +import org.suyu.suyu_emu.utils.collect +import org.suyu.suyu_emu.viewholder.AbstractViewHolder class HomeSettingAdapter( private val activity: AppCompatActivity, diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/adapters/InstallableAdapter.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/adapters/InstallableAdapter.kt similarity index 79% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/adapters/InstallableAdapter.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/adapters/InstallableAdapter.kt index e4bef9e2b6..22063447d9 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/adapters/InstallableAdapter.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/adapters/InstallableAdapter.kt @@ -1,14 +1,14 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.adapters +package org.suyu.suyu_emu.adapters import android.view.LayoutInflater import android.view.ViewGroup -import dev.suyu.suyu_emu.databinding.CardInstallableBinding -import dev.suyu.suyu_emu.model.Installable -import dev.suyu.suyu_emu.utils.ViewUtils.setVisible -import dev.suyu.suyu_emu.viewholder.AbstractViewHolder +import org.suyu.suyu_emu.databinding.CardInstallableBinding +import org.suyu.suyu_emu.model.Installable +import org.suyu.suyu_emu.utils.ViewUtils.setVisible +import org.suyu.suyu_emu.viewholder.AbstractViewHolder class InstallableAdapter(installables: List) : AbstractListAdapter(installables) { diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/adapters/LicenseAdapter.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/adapters/LicenseAdapter.kt similarity index 78% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/adapters/LicenseAdapter.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/adapters/LicenseAdapter.kt index dec98c8032..5ddd98cda3 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/adapters/LicenseAdapter.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/adapters/LicenseAdapter.kt @@ -1,16 +1,16 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.adapters +package org.suyu.suyu_emu.adapters import android.view.LayoutInflater import android.view.ViewGroup import androidx.appcompat.app.AppCompatActivity -import dev.suyu.suyu_emu.databinding.ListItemSettingBinding -import dev.suyu.suyu_emu.fragments.LicenseBottomSheetDialogFragment -import dev.suyu.suyu_emu.model.License -import dev.suyu.suyu_emu.utils.ViewUtils.setVisible -import dev.suyu.suyu_emu.viewholder.AbstractViewHolder +import org.suyu.suyu_emu.databinding.ListItemSettingBinding +import org.suyu.suyu_emu.fragments.LicenseBottomSheetDialogFragment +import org.suyu.suyu_emu.model.License +import org.suyu.suyu_emu.utils.ViewUtils.setVisible +import org.suyu.suyu_emu.viewholder.AbstractViewHolder class LicenseAdapter(private val activity: AppCompatActivity, licenses: List) : AbstractListAdapter(licenses) { diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/adapters/SetupAdapter.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/adapters/SetupAdapter.kt similarity index 84% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/adapters/SetupAdapter.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/adapters/SetupAdapter.kt index 134de7cfc3..c6b96cb2f9 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/adapters/SetupAdapter.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/adapters/SetupAdapter.kt @@ -1,7 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.adapters +package org.suyu.suyu_emu.adapters import android.text.Html import android.view.LayoutInflater @@ -10,14 +10,14 @@ import androidx.appcompat.app.AppCompatActivity import androidx.core.content.res.ResourcesCompat import androidx.lifecycle.ViewModelProvider import com.google.android.material.button.MaterialButton -import dev.suyu.suyu_emu.databinding.PageSetupBinding -import dev.suyu.suyu_emu.model.HomeViewModel -import dev.suyu.suyu_emu.model.SetupCallback -import dev.suyu.suyu_emu.model.SetupPage -import dev.suyu.suyu_emu.model.StepState -import dev.suyu.suyu_emu.utils.ViewUtils -import dev.suyu.suyu_emu.utils.ViewUtils.setVisible -import dev.suyu.suyu_emu.viewholder.AbstractViewHolder +import org.suyu.suyu_emu.databinding.PageSetupBinding +import org.suyu.suyu_emu.model.HomeViewModel +import org.suyu.suyu_emu.model.SetupCallback +import org.suyu.suyu_emu.model.SetupPage +import org.suyu.suyu_emu.model.StepState +import org.suyu.suyu_emu.utils.ViewUtils +import org.suyu.suyu_emu.utils.ViewUtils.setVisible +import org.suyu.suyu_emu.viewholder.AbstractViewHolder class SetupAdapter(val activity: AppCompatActivity, pages: List) : AbstractListAdapter(pages) { diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/applets/keyboard/SoftwareKeyboard.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/applets/keyboard/SoftwareKeyboard.kt similarity index 94% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/applets/keyboard/SoftwareKeyboard.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/applets/keyboard/SoftwareKeyboard.kt index 8831c0d439..786fb5d936 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/applets/keyboard/SoftwareKeyboard.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/applets/keyboard/SoftwareKeyboard.kt @@ -1,7 +1,7 @@ -// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.applets.keyboard +package org.suyu.suyu_emu.applets.keyboard import android.content.Context import android.os.Handler @@ -13,9 +13,9 @@ import android.view.inputmethod.InputMethodManager import androidx.annotation.Keep import androidx.core.view.ViewCompat import java.io.Serializable -import dev.suyu.suyu_emu.NativeLibrary -import dev.suyu.suyu_emu.R -import dev.suyu.suyu_emu.applets.keyboard.ui.KeyboardDialogFragment +import org.suyu.suyu_emu.NativeLibrary +import org.suyu.suyu_emu.R +import org.suyu.suyu_emu.applets.keyboard.ui.KeyboardDialogFragment @Keep object SoftwareKeyboard { diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/applets/keyboard/ui/KeyboardDialogFragment.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/applets/keyboard/ui/KeyboardDialogFragment.kt similarity index 90% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/applets/keyboard/ui/KeyboardDialogFragment.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/applets/keyboard/ui/KeyboardDialogFragment.kt index c6ea6a8f67..c89f7b035d 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/applets/keyboard/ui/KeyboardDialogFragment.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/applets/keyboard/ui/KeyboardDialogFragment.kt @@ -1,7 +1,7 @@ -// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.applets.keyboard.ui +package org.suyu.suyu_emu.applets.keyboard.ui import android.app.Dialog import android.content.DialogInterface @@ -10,11 +10,11 @@ import android.text.InputFilter import android.text.InputType import androidx.fragment.app.DialogFragment import com.google.android.material.dialog.MaterialAlertDialogBuilder -import dev.suyu.suyu_emu.R -import dev.suyu.suyu_emu.applets.keyboard.SoftwareKeyboard -import dev.suyu.suyu_emu.applets.keyboard.SoftwareKeyboard.KeyboardConfig -import dev.suyu.suyu_emu.databinding.DialogEditTextBinding -import dev.suyu.suyu_emu.utils.SerializableHelper.serializable +import org.suyu.suyu_emu.R +import org.suyu.suyu_emu.applets.keyboard.SoftwareKeyboard +import org.suyu.suyu_emu.applets.keyboard.SoftwareKeyboard.KeyboardConfig +import org.suyu.suyu_emu.databinding.DialogEditTextBinding +import org.suyu.suyu_emu.utils.SerializableHelper.serializable class KeyboardDialogFragment : DialogFragment() { private lateinit var binding: DialogEditTextBinding diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/disk_shader_cache/DiskShaderCacheProgress.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/disk_shader_cache/DiskShaderCacheProgress.kt similarity index 81% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/disk_shader_cache/DiskShaderCacheProgress.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/disk_shader_cache/DiskShaderCacheProgress.kt index 48dd975538..548a1bf947 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/disk_shader_cache/DiskShaderCacheProgress.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/disk_shader_cache/DiskShaderCacheProgress.kt @@ -1,15 +1,15 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.disk_shader_cache +package org.suyu.suyu_emu.disk_shader_cache import androidx.annotation.Keep import androidx.lifecycle.ViewModelProvider -import dev.suyu.suyu_emu.NativeLibrary -import dev.suyu.suyu_emu.R -import dev.suyu.suyu_emu.activities.EmulationActivity -import dev.suyu.suyu_emu.model.EmulationViewModel -import dev.suyu.suyu_emu.utils.Log +import org.suyu.suyu_emu.NativeLibrary +import org.suyu.suyu_emu.R +import org.suyu.suyu_emu.activities.EmulationActivity +import org.suyu.suyu_emu.model.EmulationViewModel +import org.suyu.suyu_emu.utils.Log @Keep object DiskShaderCacheProgress { diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/DocumentProvider.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/features/DocumentProvider.kt similarity index 98% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/features/DocumentProvider.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/features/DocumentProvider.kt index 9d77f36d54..47497520c0 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/DocumentProvider.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/features/DocumentProvider.kt @@ -1,10 +1,10 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: MPL-2.0 // Copyright © 2023 Skyline Team and Contributors (https://github.com/skyline-emu/) -package dev.suyu.suyu_emu.features +package org.suyu.suyu_emu.features import android.database.Cursor import android.database.MatrixCursor @@ -14,10 +14,10 @@ import android.provider.DocumentsContract import android.provider.DocumentsProvider import android.webkit.MimeTypeMap import java.io.* -import dev.suyu.suyu_emu.BuildConfig -import dev.suyu.suyu_emu.R -import dev.suyu.suyu_emu.SuyuApplication -import dev.suyu.suyu_emu.getPublicFilesDir +import org.suyu.suyu_emu.BuildConfig +import org.suyu.suyu_emu.R +import org.suyu.suyu_emu.SuyuApplication +import org.suyu.suyu_emu.getPublicFilesDir class DocumentProvider : DocumentsProvider() { private val baseDirectory: File diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/input/NativeInput.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/features/input/NativeInput.kt similarity index 96% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/features/input/NativeInput.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/features/input/NativeInput.kt index f9485c3642..0edb7fc453 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/input/NativeInput.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/features/input/NativeInput.kt @@ -1,16 +1,15 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.features.input +package org.suyu.suyu_emu.features.input -import dev.suyu.suyu_emu.features.input.model.NativeButton -import dev.suyu.suyu_emu.features.input.model.NativeAnalog -import dev.suyu.suyu_emu.features.input.model.InputType -import dev.suyu.suyu_emu.features.input.model.ButtonName -import dev.suyu.suyu_emu.features.input.model.NpadStyleIndex -import dev.suyu.suyu_emu.utils.NativeConfig -import dev.suyu.suyu_emu.utils.ParamPackage +import org.suyu.suyu_emu.features.input.model.NativeButton +import org.suyu.suyu_emu.features.input.model.NativeAnalog +import org.suyu.suyu_emu.features.input.model.InputType +import org.suyu.suyu_emu.features.input.model.ButtonName +import org.suyu.suyu_emu.features.input.model.NpadStyleIndex +import org.suyu.suyu_emu.utils.NativeConfig +import org.suyu.suyu_emu.utils.ParamPackage import android.view.InputDevice object NativeInput { diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/input/SuyuInputDevice.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/features/input/SuyuInputDevice.kt similarity index 90% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/features/input/SuyuInputDevice.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/features/input/SuyuInputDevice.kt index f04ebb5253..6f9b1cd374 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/input/SuyuInputDevice.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/features/input/SuyuInputDevice.kt @@ -1,14 +1,13 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.features.input +package org.suyu.suyu_emu.features.input import android.view.InputDevice import androidx.annotation.Keep -import dev.suyu.suyu_emu.SuyuApplication -import dev.suyu.suyu_emu.R -import dev.suyu.suyu_emu.utils.InputHandler.getGUID +import org.suyu.suyu_emu.SuyuApplication +import org.suyu.suyu_emu.R +import org.suyu.suyu_emu.utils.InputHandler.getGUID @Keep interface SuyuInputDevice { diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/input/SuyuVibrator.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/features/input/SuyuVibrator.kt similarity index 94% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/features/input/SuyuVibrator.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/features/input/SuyuVibrator.kt index b1e3dad1a6..d6e5baaf87 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/input/SuyuVibrator.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/features/input/SuyuVibrator.kt @@ -1,8 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.features.input +package org.suyu.suyu_emu.features.input import android.content.Context import android.os.Build @@ -13,7 +12,7 @@ import android.os.VibratorManager import android.view.InputDevice import androidx.annotation.Keep import androidx.annotation.RequiresApi -import dev.suyu.suyu_emu.SuyuApplication +import org.suyu.suyu_emu.SuyuApplication @Keep @Suppress("DEPRECATION") diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/input/model/AnalogDirection.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/features/input/model/AnalogDirection.kt similarity index 70% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/features/input/model/AnalogDirection.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/features/input/model/AnalogDirection.kt index f2cf59a23c..60b0f97658 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/input/model/AnalogDirection.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/features/input/model/AnalogDirection.kt @@ -1,8 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.features.input.model +package org.suyu.suyu_emu.features.input.model enum class AnalogDirection(val int: Int, val param: String) { Up(0, "up"), diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/input/model/ButtonName.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/features/input/model/ButtonName.kt similarity index 83% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/features/input/model/ButtonName.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/features/input/model/ButtonName.kt index ccbb555bd3..b33a973665 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/input/model/ButtonName.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/features/input/model/ButtonName.kt @@ -1,8 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.features.input.model +package org.suyu.suyu_emu.features.input.model // Loosely matches the enum in common/input.h enum class ButtonName(val int: Int) { diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/input/model/InputType.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/features/input/model/InputType.kt similarity index 72% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/features/input/model/InputType.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/features/input/model/InputType.kt index 1b93341e0d..b33e3f3c2f 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/input/model/InputType.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/features/input/model/InputType.kt @@ -1,8 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.features.input.model +package org.suyu.suyu_emu.features.input.model // Must match the corresponding enum in input_common/main.h enum class InputType(val int: Int) { diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/input/model/NativeAnalog.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/features/input/model/NativeAnalog.kt similarity index 77% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/features/input/model/NativeAnalog.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/features/input/model/NativeAnalog.kt index 7d8cced220..5ba3fe846f 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/input/model/NativeAnalog.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/features/input/model/NativeAnalog.kt @@ -1,8 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.features.input.model +package org.suyu.suyu_emu.features.input.model // Must match enum in src/common/settings_input.h enum class NativeAnalog(val int: Int) { diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/input/model/NativeButton.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/features/input/model/NativeButton.kt similarity index 85% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/features/input/model/NativeButton.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/features/input/model/NativeButton.kt index 29ad0b7b97..24ae9b8b70 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/input/model/NativeButton.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/features/input/model/NativeButton.kt @@ -1,8 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.features.input.model +package org.suyu.suyu_emu.features.input.model // Must match enum in src/common/settings_input.h enum class NativeButton(val int: Int) { diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/input/model/NativeTrigger.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/features/input/model/NativeTrigger.kt similarity index 69% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/features/input/model/NativeTrigger.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/features/input/model/NativeTrigger.kt index 8ce026c19b..d25f6cb756 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/input/model/NativeTrigger.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/features/input/model/NativeTrigger.kt @@ -1,8 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.features.input.model +package org.suyu.suyu_emu.features.input.model // Must match enum in src/common/settings_input.h enum class NativeTrigger(val int: Int) { diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/input/model/NpadStyleIndex.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/features/input/model/NpadStyleIndex.kt similarity index 85% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/features/input/model/NpadStyleIndex.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/features/input/model/NpadStyleIndex.kt index a884de8de3..3c6ed84318 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/input/model/NpadStyleIndex.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/features/input/model/NpadStyleIndex.kt @@ -1,11 +1,10 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.features.input.model +package org.suyu.suyu_emu.features.input.model import androidx.annotation.StringRes -import dev.suyu.suyu_emu.R +import org.suyu.suyu_emu.R // Must match enum in src/core/hid/hid_types.h enum class NpadStyleIndex(val int: Int, @StringRes val nameId: Int = 0) { diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/input/model/PlayerInput.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/features/input/model/PlayerInput.kt similarity index 96% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/features/input/model/PlayerInput.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/features/input/model/PlayerInput.kt index d6c9178984..b2f291017a 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/input/model/PlayerInput.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/features/input/model/PlayerInput.kt @@ -1,8 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.features.input.model +package org.suyu.suyu_emu.features.input.model import androidx.annotation.Keep diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/AbstractBooleanSetting.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/AbstractBooleanSetting.kt similarity index 65% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/AbstractBooleanSetting.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/AbstractBooleanSetting.kt index 4066805d12..a110cb6a55 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/AbstractBooleanSetting.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/AbstractBooleanSetting.kt @@ -1,7 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.features.settings.model +package org.suyu.suyu_emu.features.settings.model interface AbstractBooleanSetting : AbstractSetting { fun getBoolean(needsGlobal: Boolean = false): Boolean diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/AbstractByteSetting.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/AbstractByteSetting.kt similarity index 63% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/AbstractByteSetting.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/AbstractByteSetting.kt index d8cd03f295..13a4076c32 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/AbstractByteSetting.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/AbstractByteSetting.kt @@ -1,7 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.features.settings.model +package org.suyu.suyu_emu.features.settings.model interface AbstractByteSetting : AbstractSetting { fun getByte(needsGlobal: Boolean = false): Byte diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/AbstractFloatSetting.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/AbstractFloatSetting.kt similarity index 64% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/AbstractFloatSetting.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/AbstractFloatSetting.kt index bd95009db8..2af7b8d3a2 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/AbstractFloatSetting.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/AbstractFloatSetting.kt @@ -1,7 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.features.settings.model +package org.suyu.suyu_emu.features.settings.model interface AbstractFloatSetting : AbstractSetting { fun getFloat(needsGlobal: Boolean = false): Float diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/AbstractIntSetting.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/AbstractIntSetting.kt similarity index 62% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/AbstractIntSetting.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/AbstractIntSetting.kt index c9269cde37..625cf78dc1 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/AbstractIntSetting.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/AbstractIntSetting.kt @@ -1,7 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.features.settings.model +package org.suyu.suyu_emu.features.settings.model interface AbstractIntSetting : AbstractSetting { fun getInt(needsGlobal: Boolean = false): Int diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/AbstractLongSetting.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/AbstractLongSetting.kt similarity index 63% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/AbstractLongSetting.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/AbstractLongSetting.kt index b74a150c12..54b29dd62a 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/AbstractLongSetting.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/AbstractLongSetting.kt @@ -1,7 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.features.settings.model +package org.suyu.suyu_emu.features.settings.model interface AbstractLongSetting : AbstractSetting { fun getLong(needsGlobal: Boolean = false): Long diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/AbstractSetting.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/AbstractSetting.kt similarity index 81% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/AbstractSetting.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/AbstractSetting.kt index 41bbf62d46..201be29a2e 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/AbstractSetting.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/AbstractSetting.kt @@ -1,9 +1,9 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.features.settings.model +package org.suyu.suyu_emu.features.settings.model -import dev.suyu.suyu_emu.utils.NativeConfig +import org.suyu.suyu_emu.utils.NativeConfig interface AbstractSetting { val key: String diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/AbstractShortSetting.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/AbstractShortSetting.kt similarity index 64% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/AbstractShortSetting.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/AbstractShortSetting.kt index e8c3bcf9ab..559123c1d7 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/AbstractShortSetting.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/AbstractShortSetting.kt @@ -1,7 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.features.settings.model +package org.suyu.suyu_emu.features.settings.model interface AbstractShortSetting : AbstractSetting { fun getShort(needsGlobal: Boolean = false): Short diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/AbstractStringSetting.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/AbstractStringSetting.kt similarity index 64% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/AbstractStringSetting.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/AbstractStringSetting.kt index 5820192b74..9342e5cf1e 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/AbstractStringSetting.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/AbstractStringSetting.kt @@ -1,7 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.features.settings.model +package org.suyu.suyu_emu.features.settings.model interface AbstractStringSetting : AbstractSetting { fun getString(needsGlobal: Boolean = false): String diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/BooleanSetting.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/BooleanSetting.kt similarity index 91% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/BooleanSetting.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/BooleanSetting.kt index 2958f02ca1..1157ca5677 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/BooleanSetting.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/BooleanSetting.kt @@ -1,9 +1,9 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.features.settings.model +package org.suyu.suyu_emu.features.settings.model -import dev.suyu.suyu_emu.utils.NativeConfig +import org.suyu.suyu_emu.utils.NativeConfig enum class BooleanSetting(override val key: String) : AbstractBooleanSetting { AUDIO_MUTED("audio_muted"), diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/ByteSetting.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/ByteSetting.kt similarity index 82% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/ByteSetting.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/ByteSetting.kt index fe6f84a0f6..6c9c9d1c5a 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/ByteSetting.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/ByteSetting.kt @@ -1,9 +1,9 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.features.settings.model +package org.suyu.suyu_emu.features.settings.model -import dev.suyu.suyu_emu.utils.NativeConfig +import org.suyu.suyu_emu.utils.NativeConfig enum class ByteSetting(override val key: String) : AbstractByteSetting { AUDIO_VOLUME("volume"); diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/FloatSetting.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/FloatSetting.kt similarity index 83% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/FloatSetting.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/FloatSetting.kt index a6d744d68b..0dc40e45b4 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/FloatSetting.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/FloatSetting.kt @@ -1,9 +1,9 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.features.settings.model +package org.suyu.suyu_emu.features.settings.model -import dev.suyu.suyu_emu.utils.NativeConfig +import org.suyu.suyu_emu.utils.NativeConfig enum class FloatSetting(override val key: String) : AbstractFloatSetting { // No float settings currently exist diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/IntSetting.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/IntSetting.kt similarity index 90% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/IntSetting.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/IntSetting.kt index 4e9f0a00c4..9aa5be3d77 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/IntSetting.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/IntSetting.kt @@ -1,9 +1,9 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.features.settings.model +package org.suyu.suyu_emu.features.settings.model -import dev.suyu.suyu_emu.utils.NativeConfig +import org.suyu.suyu_emu.utils.NativeConfig enum class IntSetting(override val key: String) : AbstractIntSetting { CPU_BACKEND("cpu_backend"), diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/LongSetting.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/LongSetting.kt similarity index 82% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/LongSetting.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/LongSetting.kt index e6bc2116eb..41e8451772 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/LongSetting.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/LongSetting.kt @@ -1,9 +1,9 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.features.settings.model +package org.suyu.suyu_emu.features.settings.model -import dev.suyu.suyu_emu.utils.NativeConfig +import org.suyu.suyu_emu.utils.NativeConfig enum class LongSetting(override val key: String) : AbstractLongSetting { CUSTOM_RTC("custom_rtc"); diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/Settings.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/Settings.kt similarity index 95% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/Settings.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/Settings.kt index b4cfca4c77..24cd36563e 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/Settings.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/Settings.kt @@ -1,10 +1,10 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.features.settings.model +package org.suyu.suyu_emu.features.settings.model -import dev.suyu.suyu_emu.R -import dev.suyu.suyu_emu.SuyuApplication +import org.suyu.suyu_emu.R +import org.suyu.suyu_emu.SuyuApplication object Settings { enum class MenuTag(val titleId: Int = 0) { diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/ShortSetting.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/ShortSetting.kt similarity index 82% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/ShortSetting.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/ShortSetting.kt index 2525e6d63a..523b0347f1 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/ShortSetting.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/ShortSetting.kt @@ -1,9 +1,9 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.features.settings.model +package org.suyu.suyu_emu.features.settings.model -import dev.suyu.suyu_emu.utils.NativeConfig +import org.suyu.suyu_emu.utils.NativeConfig enum class ShortSetting(override val key: String) : AbstractShortSetting { RENDERER_SPEED_LIMIT("speed_limit"); diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/StringSetting.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/StringSetting.kt similarity index 83% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/StringSetting.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/StringSetting.kt index 61a169ae8a..90fe4abf40 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/StringSetting.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/StringSetting.kt @@ -1,9 +1,9 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.features.settings.model +package org.suyu.suyu_emu.features.settings.model -import dev.suyu.suyu_emu.utils.NativeConfig +import org.suyu.suyu_emu.utils.NativeConfig enum class StringSetting(override val key: String) : AbstractStringSetting { DRIVER_PATH("driver_path"), diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/view/AnalogInputSetting.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/view/AnalogInputSetting.kt similarity index 68% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/view/AnalogInputSetting.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/view/AnalogInputSetting.kt index bea116f229..2479306a4d 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/view/AnalogInputSetting.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/view/AnalogInputSetting.kt @@ -1,15 +1,14 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.features.settings.model.view +package org.suyu.suyu_emu.features.settings.model.view import androidx.annotation.StringRes -import dev.suyu.suyu_emu.features.input.NativeInput -import dev.suyu.suyu_emu.features.input.model.AnalogDirection -import dev.suyu.suyu_emu.features.input.model.InputType -import dev.suyu.suyu_emu.features.input.model.NativeAnalog -import dev.suyu.suyu_emu.utils.ParamPackage +import org.suyu.suyu_emu.features.input.NativeInput +import org.suyu.suyu_emu.features.input.model.AnalogDirection +import org.suyu.suyu_emu.features.input.model.InputType +import org.suyu.suyu_emu.features.input.model.NativeAnalog +import org.suyu.suyu_emu.utils.ParamPackage class AnalogInputSetting( override val playerIndex: Int, diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/view/ButtonInputSetting.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/view/ButtonInputSetting.kt similarity index 70% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/view/ButtonInputSetting.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/view/ButtonInputSetting.kt index 6279ef7b92..32bb6ef570 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/view/ButtonInputSetting.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/view/ButtonInputSetting.kt @@ -1,14 +1,13 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.features.settings.model.view +package org.suyu.suyu_emu.features.settings.model.view import androidx.annotation.StringRes -import dev.suyu.suyu_emu.utils.ParamPackage -import dev.suyu.suyu_emu.features.input.NativeInput -import dev.suyu.suyu_emu.features.input.model.InputType -import dev.suyu.suyu_emu.features.input.model.NativeButton +import org.suyu.suyu_emu.utils.ParamPackage +import org.suyu.suyu_emu.features.input.NativeInput +import org.suyu.suyu_emu.features.input.model.InputType +import org.suyu.suyu_emu.features.input.model.NativeButton class ButtonInputSetting( override val playerIndex: Int, diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/view/DateTimeSetting.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/view/DateTimeSetting.kt similarity index 77% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/view/DateTimeSetting.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/view/DateTimeSetting.kt index 72fe741c0e..e54cd679ef 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/view/DateTimeSetting.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/view/DateTimeSetting.kt @@ -1,10 +1,10 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.features.settings.model.view +package org.suyu.suyu_emu.features.settings.model.view import androidx.annotation.StringRes -import dev.suyu.suyu_emu.features.settings.model.AbstractLongSetting +import org.suyu.suyu_emu.features.settings.model.AbstractLongSetting class DateTimeSetting( private val longSetting: AbstractLongSetting, diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/view/HeaderSetting.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/view/HeaderSetting.kt similarity index 71% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/view/HeaderSetting.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/view/HeaderSetting.kt index df6bdfb129..91221326ed 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/view/HeaderSetting.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/view/HeaderSetting.kt @@ -1,7 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.features.settings.model.view +package org.suyu.suyu_emu.features.settings.model.view import androidx.annotation.StringRes diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/view/InputProfileSetting.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/view/InputProfileSetting.kt similarity index 81% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/view/InputProfileSetting.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/view/InputProfileSetting.kt index 708e0ae40f..abe1b5513d 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/view/InputProfileSetting.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/view/InputProfileSetting.kt @@ -1,12 +1,11 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.features.settings.model.view +package org.suyu.suyu_emu.features.settings.model.view -import dev.suyu.suyu_emu.R -import dev.suyu.suyu_emu.features.input.NativeInput -import dev.suyu.suyu_emu.utils.NativeConfig +import org.suyu.suyu_emu.R +import org.suyu.suyu_emu.features.input.NativeInput +import org.suyu.suyu_emu.utils.NativeConfig class InputProfileSetting(private val playerIndex: Int) : SettingsItem(emptySetting, R.string.profile, "", 0, "") { diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/view/InputSetting.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/view/InputSetting.kt similarity index 91% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/view/InputSetting.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/view/InputSetting.kt index 417e8f2655..0c45b1ca82 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/view/InputSetting.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/view/InputSetting.kt @@ -1,16 +1,15 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.features.settings.model.view +package org.suyu.suyu_emu.features.settings.model.view import androidx.annotation.StringRes -import dev.suyu.suyu_emu.R -import dev.suyu.suyu_emu.SuyuApplication -import dev.suyu.suyu_emu.features.input.NativeInput -import dev.suyu.suyu_emu.features.input.model.ButtonName -import dev.suyu.suyu_emu.features.input.model.InputType -import dev.suyu.suyu_emu.utils.ParamPackage +import org.suyu.suyu_emu.R +import org.suyu.suyu_emu.SuyuApplication +import org.suyu.suyu_emu.features.input.NativeInput +import org.suyu.suyu_emu.features.input.model.ButtonName +import org.suyu.suyu_emu.features.input.model.InputType +import org.suyu.suyu_emu.utils.ParamPackage sealed class InputSetting( @StringRes titleId: Int, diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/view/IntSingleChoiceSetting.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/view/IntSingleChoiceSetting.kt similarity index 86% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/view/IntSingleChoiceSetting.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/view/IntSingleChoiceSetting.kt index f61a60be15..9d7d04cf3f 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/view/IntSingleChoiceSetting.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/view/IntSingleChoiceSetting.kt @@ -1,10 +1,10 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.features.settings.model.view +package org.suyu.suyu_emu.features.settings.model.view import androidx.annotation.StringRes -import dev.suyu.suyu_emu.features.settings.model.AbstractIntSetting +import org.suyu.suyu_emu.features.settings.model.AbstractIntSetting class IntSingleChoiceSetting( private val intSetting: AbstractIntSetting, diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/view/ModifierInputSetting.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/view/ModifierInputSetting.kt similarity index 73% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/view/ModifierInputSetting.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/view/ModifierInputSetting.kt index 611160286e..3d64b5e785 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/view/ModifierInputSetting.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/view/ModifierInputSetting.kt @@ -1,14 +1,13 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.features.settings.model.view +package org.suyu.suyu_emu.features.settings.model.view import androidx.annotation.StringRes -import dev.suyu.suyu_emu.features.input.NativeInput -import dev.suyu.suyu_emu.features.input.model.InputType -import dev.suyu.suyu_emu.features.input.model.NativeAnalog -import dev.suyu.suyu_emu.utils.ParamPackage +import org.suyu.suyu_emu.features.input.NativeInput +import org.suyu.suyu_emu.features.input.model.InputType +import org.suyu.suyu_emu.features.input.model.NativeAnalog +import org.suyu.suyu_emu.utils.ParamPackage class ModifierInputSetting( override val playerIndex: Int, diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/view/RunnableSetting.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/view/RunnableSetting.kt similarity index 82% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/view/RunnableSetting.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/view/RunnableSetting.kt index 8a7f88ebb5..900c44116c 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/view/RunnableSetting.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/view/RunnableSetting.kt @@ -1,7 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.features.settings.model.view +package org.suyu.suyu_emu.features.settings.model.view import androidx.annotation.DrawableRes import androidx.annotation.StringRes diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/view/SettingsItem.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/view/SettingsItem.kt similarity index 93% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/view/SettingsItem.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/view/SettingsItem.kt index ea59f5ff63..a956c734aa 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/view/SettingsItem.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/view/SettingsItem.kt @@ -1,23 +1,23 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.features.settings.model.view +package org.suyu.suyu_emu.features.settings.model.view import androidx.annotation.StringRes -import dev.suyu.suyu_emu.NativeLibrary -import dev.suyu.suyu_emu.R -import dev.suyu.suyu_emu.SuyuApplication -import dev.suyu.suyu_emu.features.input.NativeInput -import dev.suyu.suyu_emu.features.input.model.NpadStyleIndex -import dev.suyu.suyu_emu.features.settings.model.AbstractBooleanSetting -import dev.suyu.suyu_emu.features.settings.model.AbstractSetting -import dev.suyu.suyu_emu.features.settings.model.BooleanSetting -import dev.suyu.suyu_emu.features.settings.model.ByteSetting -import dev.suyu.suyu_emu.features.settings.model.IntSetting -import dev.suyu.suyu_emu.features.settings.model.LongSetting -import dev.suyu.suyu_emu.features.settings.model.ShortSetting -import dev.suyu.suyu_emu.features.settings.model.StringSetting -import dev.suyu.suyu_emu.utils.NativeConfig +import org.suyu.suyu_emu.NativeLibrary +import org.suyu.suyu_emu.R +import org.suyu.suyu_emu.SuyuApplication +import org.suyu.suyu_emu.features.input.NativeInput +import org.suyu.suyu_emu.features.input.model.NpadStyleIndex +import org.suyu.suyu_emu.features.settings.model.AbstractBooleanSetting +import org.suyu.suyu_emu.features.settings.model.AbstractSetting +import org.suyu.suyu_emu.features.settings.model.BooleanSetting +import org.suyu.suyu_emu.features.settings.model.ByteSetting +import org.suyu.suyu_emu.features.settings.model.IntSetting +import org.suyu.suyu_emu.features.settings.model.LongSetting +import org.suyu.suyu_emu.features.settings.model.ShortSetting +import org.suyu.suyu_emu.features.settings.model.StringSetting +import org.suyu.suyu_emu.utils.NativeConfig /** * ViewModel abstraction for an Item in the RecyclerView powering SettingsFragments. @@ -241,8 +241,6 @@ abstract class SettingsItem( IntSetting.FSR_SHARPENING_SLIDER, titleId = R.string.fsr_sharpness, descriptionId = R.string.fsr_sharpness_description, - min = 0, - max = 200, units = "%" ) ) @@ -329,8 +327,6 @@ abstract class SettingsItem( ByteSetting.AUDIO_VOLUME, titleId = R.string.audio_volume, descriptionId = R.string.audio_volume_description, - min = 0, - max = 120, units = "%" ) ) diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/view/SingleChoiceSetting.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/view/SingleChoiceSetting.kt similarity index 76% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/view/SingleChoiceSetting.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/view/SingleChoiceSetting.kt index 70fc58941f..a153bfaf4e 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/view/SingleChoiceSetting.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/view/SingleChoiceSetting.kt @@ -1,12 +1,12 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.features.settings.model.view +package org.suyu.suyu_emu.features.settings.model.view import androidx.annotation.ArrayRes import androidx.annotation.StringRes -import dev.suyu.suyu_emu.features.settings.model.AbstractIntSetting -import dev.suyu.suyu_emu.features.settings.model.AbstractSetting +import org.suyu.suyu_emu.features.settings.model.AbstractIntSetting +import org.suyu.suyu_emu.features.settings.model.AbstractSetting class SingleChoiceSetting( setting: AbstractSetting, diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/view/SliderSetting.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/view/SliderSetting.kt similarity index 75% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/view/SliderSetting.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/view/SliderSetting.kt index 1ad5caeb7e..af34dfdef8 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/view/SliderSetting.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/view/SliderSetting.kt @@ -1,14 +1,14 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.features.settings.model.view +package org.suyu.suyu_emu.features.settings.model.view import androidx.annotation.StringRes -import dev.suyu.suyu_emu.features.settings.model.AbstractByteSetting -import dev.suyu.suyu_emu.features.settings.model.AbstractFloatSetting -import dev.suyu.suyu_emu.features.settings.model.AbstractIntSetting -import dev.suyu.suyu_emu.features.settings.model.AbstractSetting -import dev.suyu.suyu_emu.features.settings.model.AbstractShortSetting +import org.suyu.suyu_emu.features.settings.model.AbstractByteSetting +import org.suyu.suyu_emu.features.settings.model.AbstractFloatSetting +import org.suyu.suyu_emu.features.settings.model.AbstractIntSetting +import org.suyu.suyu_emu.features.settings.model.AbstractSetting +import org.suyu.suyu_emu.features.settings.model.AbstractShortSetting import kotlin.math.roundToInt class SliderSetting( diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/view/StringInputSetting.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/view/StringInputSetting.kt similarity index 79% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/view/StringInputSetting.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/view/StringInputSetting.kt index 82c36b622d..fa439e9ed7 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/view/StringInputSetting.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/view/StringInputSetting.kt @@ -1,11 +1,10 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.features.settings.model.view +package org.suyu.suyu_emu.features.settings.model.view import androidx.annotation.StringRes -import dev.suyu.suyu_emu.features.settings.model.AbstractStringSetting +import org.suyu.suyu_emu.features.settings.model.AbstractStringSetting class StringInputSetting( setting: AbstractStringSetting, diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/view/StringSingleChoiceSetting.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/view/StringSingleChoiceSetting.kt similarity index 85% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/view/StringSingleChoiceSetting.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/view/StringSingleChoiceSetting.kt index f3556eb415..eb18f191e7 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/view/StringSingleChoiceSetting.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/view/StringSingleChoiceSetting.kt @@ -1,10 +1,10 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.features.settings.model.view +package org.suyu.suyu_emu.features.settings.model.view import androidx.annotation.StringRes -import dev.suyu.suyu_emu.features.settings.model.AbstractStringSetting +import org.suyu.suyu_emu.features.settings.model.AbstractStringSetting class StringSingleChoiceSetting( private val stringSetting: AbstractStringSetting, diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/view/SubmenuSetting.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/view/SubmenuSetting.kt similarity index 74% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/view/SubmenuSetting.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/view/SubmenuSetting.kt index c88a6014c1..a5e9f8556f 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/view/SubmenuSetting.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/view/SubmenuSetting.kt @@ -1,11 +1,11 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.features.settings.model.view +package org.suyu.suyu_emu.features.settings.model.view import androidx.annotation.DrawableRes import androidx.annotation.StringRes -import dev.suyu.suyu_emu.features.settings.model.Settings +import org.suyu.suyu_emu.features.settings.model.Settings class SubmenuSetting( @StringRes titleId: Int = 0, diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/view/SwitchSetting.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/view/SwitchSetting.kt similarity index 75% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/view/SwitchSetting.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/view/SwitchSetting.kt index afa83ccfc0..534e6ef8aa 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/model/view/SwitchSetting.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/model/view/SwitchSetting.kt @@ -1,12 +1,12 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.features.settings.model.view +package org.suyu.suyu_emu.features.settings.model.view import androidx.annotation.StringRes -import dev.suyu.suyu_emu.features.settings.model.AbstractBooleanSetting -import dev.suyu.suyu_emu.features.settings.model.AbstractIntSetting -import dev.suyu.suyu_emu.features.settings.model.AbstractSetting +import org.suyu.suyu_emu.features.settings.model.AbstractBooleanSetting +import org.suyu.suyu_emu.features.settings.model.AbstractIntSetting +import org.suyu.suyu_emu.features.settings.model.AbstractSetting class SwitchSetting( setting: AbstractSetting, diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/ui/InputDialogFragment.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/ui/InputDialogFragment.kt similarity index 93% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/ui/InputDialogFragment.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/ui/InputDialogFragment.kt index 904fdeef15..4218344bb3 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/ui/InputDialogFragment.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/ui/InputDialogFragment.kt @@ -1,8 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.features.settings.ui +package org.suyu.suyu_emu.features.settings.ui import android.app.Dialog import android.graphics.drawable.Animatable2 @@ -18,17 +17,17 @@ import android.view.ViewGroup import androidx.fragment.app.DialogFragment import androidx.fragment.app.activityViewModels import com.google.android.material.dialog.MaterialAlertDialogBuilder -import dev.suyu.suyu_emu.R -import dev.suyu.suyu_emu.databinding.DialogMappingBinding -import dev.suyu.suyu_emu.features.input.NativeInput -import dev.suyu.suyu_emu.features.input.model.NativeAnalog -import dev.suyu.suyu_emu.features.input.model.NativeButton -import dev.suyu.suyu_emu.features.settings.model.view.AnalogInputSetting -import dev.suyu.suyu_emu.features.settings.model.view.ButtonInputSetting -import dev.suyu.suyu_emu.features.settings.model.view.InputSetting -import dev.suyu.suyu_emu.features.settings.model.view.ModifierInputSetting -import dev.suyu.suyu_emu.utils.InputHandler -import dev.suyu.suyu_emu.utils.ParamPackage +import org.suyu.suyu_emu.R +import org.suyu.suyu_emu.databinding.DialogMappingBinding +import org.suyu.suyu_emu.features.input.NativeInput +import org.suyu.suyu_emu.features.input.model.NativeAnalog +import org.suyu.suyu_emu.features.input.model.NativeButton +import org.suyu.suyu_emu.features.settings.model.view.AnalogInputSetting +import org.suyu.suyu_emu.features.settings.model.view.ButtonInputSetting +import org.suyu.suyu_emu.features.settings.model.view.InputSetting +import org.suyu.suyu_emu.features.settings.model.view.ModifierInputSetting +import org.suyu.suyu_emu.utils.InputHandler +import org.suyu.suyu_emu.utils.ParamPackage class InputDialogFragment : DialogFragment() { private var inputAccepted = false diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/ui/InputProfileAdapter.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/ui/InputProfileAdapter.kt similarity index 87% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/ui/InputProfileAdapter.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/ui/InputProfileAdapter.kt index 2b4dd0f98e..ad8db207b2 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/ui/InputProfileAdapter.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/ui/InputProfileAdapter.kt @@ -1,17 +1,16 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.features.settings.ui +package org.suyu.suyu_emu.features.settings.ui import android.view.LayoutInflater import android.view.View import android.view.ViewGroup -import dev.suyu.suyu_emu.SuyuApplication -import dev.suyu.suyu_emu.adapters.AbstractListAdapter -import dev.suyu.suyu_emu.databinding.ListItemInputProfileBinding -import dev.suyu.suyu_emu.viewholder.AbstractViewHolder -import dev.suyu.suyu_emu.R +import org.suyu.suyu_emu.SuyuApplication +import org.suyu.suyu_emu.adapters.AbstractListAdapter +import org.suyu.suyu_emu.databinding.ListItemInputProfileBinding +import org.suyu.suyu_emu.viewholder.AbstractViewHolder +import org.suyu.suyu_emu.R class InputProfileAdapter(options: List) : AbstractListAdapter>(options) { diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/ui/InputProfileDialogFragment.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/ui/InputProfileDialogFragment.kt similarity index 93% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/ui/InputProfileDialogFragment.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/ui/InputProfileDialogFragment.kt index aa37d86817..b286e27445 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/ui/InputProfileDialogFragment.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/ui/InputProfileDialogFragment.kt @@ -1,8 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.features.settings.ui +package org.suyu.suyu_emu.features.settings.ui import android.app.Dialog import android.os.Bundle @@ -14,11 +13,11 @@ import androidx.fragment.app.DialogFragment import androidx.fragment.app.activityViewModels import androidx.recyclerview.widget.LinearLayoutManager import com.google.android.material.dialog.MaterialAlertDialogBuilder -import dev.suyu.suyu_emu.R -import dev.suyu.suyu_emu.databinding.DialogInputProfilesBinding -import dev.suyu.suyu_emu.features.settings.model.view.InputProfileSetting -import dev.suyu.suyu_emu.fragments.MessageDialogFragment -import dev.suyu.suyu_emu.utils.collect +import org.suyu.suyu_emu.R +import org.suyu.suyu_emu.databinding.DialogInputProfilesBinding +import org.suyu.suyu_emu.features.settings.model.view.InputProfileSetting +import org.suyu.suyu_emu.fragments.MessageDialogFragment +import org.suyu.suyu_emu.utils.collect class InputProfileDialogFragment : DialogFragment() { private var position = 0 diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/ui/NewInputProfileDialogFragment.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/ui/NewInputProfileDialogFragment.kt similarity index 91% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/ui/NewInputProfileDialogFragment.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/ui/NewInputProfileDialogFragment.kt index abf02cf804..3dfefdf14f 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/ui/NewInputProfileDialogFragment.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/ui/NewInputProfileDialogFragment.kt @@ -1,8 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.features.settings.ui +package org.suyu.suyu_emu.features.settings.ui import android.app.Dialog import android.os.Bundle @@ -10,9 +9,9 @@ import android.widget.Toast import androidx.fragment.app.DialogFragment import androidx.fragment.app.activityViewModels import com.google.android.material.dialog.MaterialAlertDialogBuilder -import dev.suyu.suyu_emu.databinding.DialogEditTextBinding -import dev.suyu.suyu_emu.features.settings.model.view.InputProfileSetting -import dev.suyu.suyu_emu.R +import org.suyu.suyu_emu.databinding.DialogEditTextBinding +import org.suyu.suyu_emu.features.settings.model.view.InputProfileSetting +import org.suyu.suyu_emu.R class NewInputProfileDialogFragment : DialogFragment() { private var position = 0 diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/ui/SettingsActivity.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/ui/SettingsActivity.kt similarity index 92% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/ui/SettingsActivity.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/ui/SettingsActivity.kt index aa33a4afd6..753e196acd 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/ui/SettingsActivity.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/ui/SettingsActivity.kt @@ -1,7 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.features.settings.ui +package org.suyu.suyu_emu.features.settings.ui import android.os.Bundle import android.view.View @@ -16,14 +16,14 @@ import androidx.core.view.WindowInsetsCompat import androidx.navigation.fragment.NavHostFragment import androidx.navigation.navArgs import com.google.android.material.color.MaterialColors -import dev.suyu.suyu_emu.NativeLibrary +import org.suyu.suyu_emu.NativeLibrary import java.io.IOException -import dev.suyu.suyu_emu.R -import dev.suyu.suyu_emu.databinding.ActivitySettingsBinding -import dev.suyu.suyu_emu.features.input.NativeInput -import dev.suyu.suyu_emu.features.settings.utils.SettingsFile -import dev.suyu.suyu_emu.fragments.ResetSettingsDialogFragment -import dev.suyu.suyu_emu.utils.* +import org.suyu.suyu_emu.R +import org.suyu.suyu_emu.databinding.ActivitySettingsBinding +import org.suyu.suyu_emu.features.input.NativeInput +import org.suyu.suyu_emu.features.settings.utils.SettingsFile +import org.suyu.suyu_emu.fragments.ResetSettingsDialogFragment +import org.suyu.suyu_emu.utils.* class SettingsActivity : AppCompatActivity() { private lateinit var binding: ActivitySettingsBinding diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/ui/SettingsAdapter.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/ui/SettingsAdapter.kt similarity index 95% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/ui/SettingsAdapter.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/ui/SettingsAdapter.kt index e72eb6a67e..dd69c2ed59 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/ui/SettingsAdapter.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/ui/SettingsAdapter.kt @@ -1,7 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.features.settings.ui +package org.suyu.suyu_emu.features.settings.ui import android.content.Context import android.icu.util.Calendar @@ -20,18 +20,18 @@ import androidx.recyclerview.widget.ListAdapter import com.google.android.material.datepicker.MaterialDatePicker import com.google.android.material.timepicker.MaterialTimePicker import com.google.android.material.timepicker.TimeFormat -import dev.suyu.suyu_emu.R -import dev.suyu.suyu_emu.SettingsNavigationDirections -import dev.suyu.suyu_emu.databinding.ListItemSettingBinding -import dev.suyu.suyu_emu.databinding.ListItemSettingInputBinding -import dev.suyu.suyu_emu.databinding.ListItemSettingSwitchBinding -import dev.suyu.suyu_emu.databinding.ListItemSettingsHeaderBinding -import dev.suyu.suyu_emu.features.input.NativeInput -import dev.suyu.suyu_emu.features.input.model.AnalogDirection -import dev.suyu.suyu_emu.features.settings.model.AbstractIntSetting -import dev.suyu.suyu_emu.features.settings.model.view.* -import dev.suyu.suyu_emu.features.settings.ui.viewholder.* -import dev.suyu.suyu_emu.utils.ParamPackage +import org.suyu.suyu_emu.R +import org.suyu.suyu_emu.SettingsNavigationDirections +import org.suyu.suyu_emu.databinding.ListItemSettingBinding +import org.suyu.suyu_emu.databinding.ListItemSettingInputBinding +import org.suyu.suyu_emu.databinding.ListItemSettingSwitchBinding +import org.suyu.suyu_emu.databinding.ListItemSettingsHeaderBinding +import org.suyu.suyu_emu.features.input.NativeInput +import org.suyu.suyu_emu.features.input.model.AnalogDirection +import org.suyu.suyu_emu.features.settings.model.AbstractIntSetting +import org.suyu.suyu_emu.features.settings.model.view.* +import org.suyu.suyu_emu.features.settings.ui.viewholder.* +import org.suyu.suyu_emu.utils.ParamPackage class SettingsAdapter( private val fragment: Fragment, diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/ui/SettingsDialogFragment.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/ui/SettingsDialogFragment.kt similarity index 92% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/ui/SettingsDialogFragment.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/ui/SettingsDialogFragment.kt index 11b46e9338..748b845ade 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/ui/SettingsDialogFragment.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/ui/SettingsDialogFragment.kt @@ -1,7 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.features.settings.ui +package org.suyu.suyu_emu.features.settings.ui import android.app.Dialog import android.content.DialogInterface @@ -13,21 +13,21 @@ import androidx.fragment.app.DialogFragment import androidx.fragment.app.activityViewModels import com.google.android.material.dialog.MaterialAlertDialogBuilder import com.google.android.material.slider.Slider -import dev.suyu.suyu_emu.R -import dev.suyu.suyu_emu.databinding.DialogEditTextBinding -import dev.suyu.suyu_emu.databinding.DialogSliderBinding -import dev.suyu.suyu_emu.features.input.NativeInput -import dev.suyu.suyu_emu.features.input.model.AnalogDirection -import dev.suyu.suyu_emu.features.settings.model.view.AnalogInputSetting -import dev.suyu.suyu_emu.features.settings.model.view.ButtonInputSetting -import dev.suyu.suyu_emu.features.settings.model.view.IntSingleChoiceSetting -import dev.suyu.suyu_emu.features.settings.model.view.SettingsItem -import dev.suyu.suyu_emu.features.settings.model.view.SingleChoiceSetting -import dev.suyu.suyu_emu.features.settings.model.view.SliderSetting -import dev.suyu.suyu_emu.features.settings.model.view.StringInputSetting -import dev.suyu.suyu_emu.features.settings.model.view.StringSingleChoiceSetting -import dev.suyu.suyu_emu.utils.ParamPackage -import dev.suyu.suyu_emu.utils.collect +import org.suyu.suyu_emu.R +import org.suyu.suyu_emu.databinding.DialogEditTextBinding +import org.suyu.suyu_emu.databinding.DialogSliderBinding +import org.suyu.suyu_emu.features.input.NativeInput +import org.suyu.suyu_emu.features.input.model.AnalogDirection +import org.suyu.suyu_emu.features.settings.model.view.AnalogInputSetting +import org.suyu.suyu_emu.features.settings.model.view.ButtonInputSetting +import org.suyu.suyu_emu.features.settings.model.view.IntSingleChoiceSetting +import org.suyu.suyu_emu.features.settings.model.view.SettingsItem +import org.suyu.suyu_emu.features.settings.model.view.SingleChoiceSetting +import org.suyu.suyu_emu.features.settings.model.view.SliderSetting +import org.suyu.suyu_emu.features.settings.model.view.StringInputSetting +import org.suyu.suyu_emu.features.settings.model.view.StringSingleChoiceSetting +import org.suyu.suyu_emu.utils.ParamPackage +import org.suyu.suyu_emu.utils.collect class SettingsDialogFragment : DialogFragment(), DialogInterface.OnClickListener { private var type = 0 diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/ui/SettingsFragment.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/ui/SettingsFragment.kt similarity index 94% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/ui/SettingsFragment.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/ui/SettingsFragment.kt index 4e53f925ac..0d0acda788 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/ui/SettingsFragment.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/ui/SettingsFragment.kt @@ -1,7 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.features.settings.ui +package org.suyu.suyu_emu.features.settings.ui import android.annotation.SuppressLint import android.os.Bundle @@ -17,13 +17,13 @@ import androidx.navigation.findNavController import androidx.navigation.fragment.navArgs import androidx.recyclerview.widget.LinearLayoutManager import com.google.android.material.transition.MaterialSharedAxis -import dev.suyu.suyu_emu.R -import dev.suyu.suyu_emu.databinding.FragmentSettingsBinding -import dev.suyu.suyu_emu.features.input.NativeInput -import dev.suyu.suyu_emu.features.settings.model.Settings -import dev.suyu.suyu_emu.fragments.MessageDialogFragment -import dev.suyu.suyu_emu.utils.ViewUtils.updateMargins -import dev.suyu.suyu_emu.utils.collect +import org.suyu.suyu_emu.R +import org.suyu.suyu_emu.databinding.FragmentSettingsBinding +import org.suyu.suyu_emu.features.input.NativeInput +import org.suyu.suyu_emu.features.settings.model.Settings +import org.suyu.suyu_emu.fragments.MessageDialogFragment +import org.suyu.suyu_emu.utils.ViewUtils.updateMargins +import org.suyu.suyu_emu.utils.collect class SettingsFragment : Fragment() { private lateinit var presenter: SettingsFragmentPresenter diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/ui/SettingsFragmentPresenter.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/ui/SettingsFragmentPresenter.kt similarity index 96% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/ui/SettingsFragmentPresenter.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/ui/SettingsFragmentPresenter.kt index 0b22a5c063..0f53c83fe5 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/ui/SettingsFragmentPresenter.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/ui/SettingsFragmentPresenter.kt @@ -1,32 +1,32 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.features.settings.ui +package org.suyu.suyu_emu.features.settings.ui import android.annotation.SuppressLint import android.os.Build import android.widget.Toast -import dev.suyu.suyu_emu.NativeLibrary -import dev.suyu.suyu_emu.R -import dev.suyu.suyu_emu.SuyuApplication -import dev.suyu.suyu_emu.features.input.NativeInput -import dev.suyu.suyu_emu.features.input.model.AnalogDirection -import dev.suyu.suyu_emu.features.input.model.NativeAnalog -import dev.suyu.suyu_emu.features.input.model.NativeButton -import dev.suyu.suyu_emu.features.input.model.NpadStyleIndex -import dev.suyu.suyu_emu.features.settings.model.AbstractBooleanSetting -import dev.suyu.suyu_emu.features.settings.model.AbstractIntSetting -import dev.suyu.suyu_emu.features.settings.model.BooleanSetting -import dev.suyu.suyu_emu.features.settings.model.ByteSetting -import dev.suyu.suyu_emu.features.settings.model.IntSetting -import dev.suyu.suyu_emu.features.settings.model.LongSetting -import dev.suyu.suyu_emu.features.settings.model.Settings -import dev.suyu.suyu_emu.features.settings.model.Settings.MenuTag -import dev.suyu.suyu_emu.features.settings.model.ShortSetting -import dev.suyu.suyu_emu.features.settings.model.StringSetting -import dev.suyu.suyu_emu.features.settings.model.view.* -import dev.suyu.suyu_emu.utils.InputHandler -import dev.suyu.suyu_emu.utils.NativeConfig +import org.suyu.suyu_emu.NativeLibrary +import org.suyu.suyu_emu.R +import org.suyu.suyu_emu.SuyuApplication +import org.suyu.suyu_emu.features.input.NativeInput +import org.suyu.suyu_emu.features.input.model.AnalogDirection +import org.suyu.suyu_emu.features.input.model.NativeAnalog +import org.suyu.suyu_emu.features.input.model.NativeButton +import org.suyu.suyu_emu.features.input.model.NpadStyleIndex +import org.suyu.suyu_emu.features.settings.model.AbstractBooleanSetting +import org.suyu.suyu_emu.features.settings.model.AbstractIntSetting +import org.suyu.suyu_emu.features.settings.model.BooleanSetting +import org.suyu.suyu_emu.features.settings.model.ByteSetting +import org.suyu.suyu_emu.features.settings.model.IntSetting +import org.suyu.suyu_emu.features.settings.model.LongSetting +import org.suyu.suyu_emu.features.settings.model.Settings +import org.suyu.suyu_emu.features.settings.model.Settings.MenuTag +import org.suyu.suyu_emu.features.settings.model.ShortSetting +import org.suyu.suyu_emu.features.settings.model.StringSetting +import org.suyu.suyu_emu.features.settings.model.view.* +import org.suyu.suyu_emu.utils.InputHandler +import org.suyu.suyu_emu.utils.NativeConfig class SettingsFragmentPresenter( private val settingsViewModel: SettingsViewModel, diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/ui/SettingsSearchFragment.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/ui/SettingsSearchFragment.kt similarity index 93% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/ui/SettingsSearchFragment.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/ui/SettingsSearchFragment.kt index 2cd10632bd..d29d81e34d 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/ui/SettingsSearchFragment.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/ui/SettingsSearchFragment.kt @@ -1,7 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.features.settings.ui +package org.suyu.suyu_emu.features.settings.ui import android.content.Context import android.os.Bundle @@ -19,13 +19,13 @@ import androidx.recyclerview.widget.LinearLayoutManager import com.google.android.material.divider.MaterialDividerItemDecoration import com.google.android.material.transition.MaterialSharedAxis import info.debatty.java.stringsimilarity.Cosine -import dev.suyu.suyu_emu.R -import dev.suyu.suyu_emu.databinding.FragmentSettingsSearchBinding -import dev.suyu.suyu_emu.features.settings.model.view.SettingsItem -import dev.suyu.suyu_emu.utils.NativeConfig -import dev.suyu.suyu_emu.utils.ViewUtils.setVisible -import dev.suyu.suyu_emu.utils.ViewUtils.updateMargins -import dev.suyu.suyu_emu.utils.collect +import org.suyu.suyu_emu.R +import org.suyu.suyu_emu.databinding.FragmentSettingsSearchBinding +import org.suyu.suyu_emu.features.settings.model.view.SettingsItem +import org.suyu.suyu_emu.utils.NativeConfig +import org.suyu.suyu_emu.utils.ViewUtils.setVisible +import org.suyu.suyu_emu.utils.ViewUtils.updateMargins +import org.suyu.suyu_emu.utils.collect class SettingsSearchFragment : Fragment() { private var _binding: FragmentSettingsSearchBinding? = null diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/ui/SettingsViewModel.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/ui/SettingsViewModel.kt similarity index 90% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/ui/SettingsViewModel.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/ui/SettingsViewModel.kt index 7f2faa336f..06d4163d05 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/ui/SettingsViewModel.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/ui/SettingsViewModel.kt @@ -1,18 +1,18 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.features.settings.ui +package org.suyu.suyu_emu.features.settings.ui import androidx.lifecycle.ViewModel import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.asStateFlow -import dev.suyu.suyu_emu.R -import dev.suyu.suyu_emu.SuyuApplication -import dev.suyu.suyu_emu.features.settings.model.view.SettingsItem -import dev.suyu.suyu_emu.model.Game -import dev.suyu.suyu_emu.utils.InputHandler -import dev.suyu.suyu_emu.utils.ParamPackage +import org.suyu.suyu_emu.R +import org.suyu.suyu_emu.SuyuApplication +import org.suyu.suyu_emu.features.settings.model.view.SettingsItem +import org.suyu.suyu_emu.model.Game +import org.suyu.suyu_emu.utils.InputHandler +import org.suyu.suyu_emu.utils.ParamPackage class SettingsViewModel : ViewModel() { var game: Game? = null diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/ui/viewholder/DateTimeViewHolder.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/ui/viewholder/DateTimeViewHolder.kt similarity index 80% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/ui/viewholder/DateTimeViewHolder.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/ui/viewholder/DateTimeViewHolder.kt index 1581fea850..3e0881a2e2 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/ui/viewholder/DateTimeViewHolder.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/ui/viewholder/DateTimeViewHolder.kt @@ -1,7 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.features.settings.ui.viewholder +package org.suyu.suyu_emu.features.settings.ui.viewholder import android.view.View import java.time.Instant @@ -9,11 +9,11 @@ import java.time.ZoneId import java.time.ZonedDateTime import java.time.format.DateTimeFormatter import java.time.format.FormatStyle -import dev.suyu.suyu_emu.databinding.ListItemSettingBinding -import dev.suyu.suyu_emu.features.settings.model.view.DateTimeSetting -import dev.suyu.suyu_emu.features.settings.model.view.SettingsItem -import dev.suyu.suyu_emu.features.settings.ui.SettingsAdapter -import dev.suyu.suyu_emu.utils.ViewUtils.setVisible +import org.suyu.suyu_emu.databinding.ListItemSettingBinding +import org.suyu.suyu_emu.features.settings.model.view.DateTimeSetting +import org.suyu.suyu_emu.features.settings.model.view.SettingsItem +import org.suyu.suyu_emu.features.settings.ui.SettingsAdapter +import org.suyu.suyu_emu.utils.ViewUtils.setVisible class DateTimeViewHolder(val binding: ListItemSettingBinding, adapter: SettingsAdapter) : SettingViewHolder(binding.root, adapter) { diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/ui/viewholder/HeaderViewHolder.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/ui/viewholder/HeaderViewHolder.kt similarity index 64% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/ui/viewholder/HeaderViewHolder.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/ui/viewholder/HeaderViewHolder.kt index 8768a387dd..21b0e53984 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/ui/viewholder/HeaderViewHolder.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/ui/viewholder/HeaderViewHolder.kt @@ -1,12 +1,12 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.features.settings.ui.viewholder +package org.suyu.suyu_emu.features.settings.ui.viewholder import android.view.View -import dev.suyu.suyu_emu.databinding.ListItemSettingsHeaderBinding -import dev.suyu.suyu_emu.features.settings.model.view.SettingsItem -import dev.suyu.suyu_emu.features.settings.ui.SettingsAdapter +import org.suyu.suyu_emu.databinding.ListItemSettingsHeaderBinding +import org.suyu.suyu_emu.features.settings.model.view.SettingsItem +import org.suyu.suyu_emu.features.settings.ui.SettingsAdapter class HeaderViewHolder(val binding: ListItemSettingsHeaderBinding, adapter: SettingsAdapter) : SettingViewHolder(binding.root, adapter) { diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/ui/viewholder/InputProfileViewHolder.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/ui/viewholder/InputProfileViewHolder.kt similarity index 69% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/ui/viewholder/InputProfileViewHolder.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/ui/viewholder/InputProfileViewHolder.kt index ea5ea262cc..fe8811f6e8 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/ui/viewholder/InputProfileViewHolder.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/ui/viewholder/InputProfileViewHolder.kt @@ -1,16 +1,15 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.features.settings.ui.viewholder +package org.suyu.suyu_emu.features.settings.ui.viewholder import android.view.View -import dev.suyu.suyu_emu.databinding.ListItemSettingBinding -import dev.suyu.suyu_emu.features.settings.model.view.InputProfileSetting -import dev.suyu.suyu_emu.features.settings.model.view.SettingsItem -import dev.suyu.suyu_emu.features.settings.ui.SettingsAdapter -import dev.suyu.suyu_emu.R -import dev.suyu.suyu_emu.utils.ViewUtils.setVisible +import org.suyu.suyu_emu.databinding.ListItemSettingBinding +import org.suyu.suyu_emu.features.settings.model.view.InputProfileSetting +import org.suyu.suyu_emu.features.settings.model.view.SettingsItem +import org.suyu.suyu_emu.features.settings.ui.SettingsAdapter +import org.suyu.suyu_emu.R +import org.suyu.suyu_emu.utils.ViewUtils.setVisible class InputProfileViewHolder(val binding: ListItemSettingBinding, adapter: SettingsAdapter) : SettingViewHolder(binding.root, adapter) { diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/ui/viewholder/InputViewHolder.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/ui/viewholder/InputViewHolder.kt similarity index 74% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/ui/viewholder/InputViewHolder.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/ui/viewholder/InputViewHolder.kt index 9260a90c36..a3fbd301bd 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/ui/viewholder/InputViewHolder.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/ui/viewholder/InputViewHolder.kt @@ -1,19 +1,18 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.features.settings.ui.viewholder +package org.suyu.suyu_emu.features.settings.ui.viewholder import android.view.View -import dev.suyu.suyu_emu.databinding.ListItemSettingInputBinding -import dev.suyu.suyu_emu.features.input.NativeInput -import dev.suyu.suyu_emu.features.settings.model.view.AnalogInputSetting -import dev.suyu.suyu_emu.features.settings.model.view.ButtonInputSetting -import dev.suyu.suyu_emu.features.settings.model.view.InputSetting -import dev.suyu.suyu_emu.features.settings.model.view.ModifierInputSetting -import dev.suyu.suyu_emu.features.settings.model.view.SettingsItem -import dev.suyu.suyu_emu.features.settings.ui.SettingsAdapter -import dev.suyu.suyu_emu.utils.ViewUtils.setVisible +import org.suyu.suyu_emu.databinding.ListItemSettingInputBinding +import org.suyu.suyu_emu.features.input.NativeInput +import org.suyu.suyu_emu.features.settings.model.view.AnalogInputSetting +import org.suyu.suyu_emu.features.settings.model.view.ButtonInputSetting +import org.suyu.suyu_emu.features.settings.model.view.InputSetting +import org.suyu.suyu_emu.features.settings.model.view.ModifierInputSetting +import org.suyu.suyu_emu.features.settings.model.view.SettingsItem +import org.suyu.suyu_emu.features.settings.ui.SettingsAdapter +import org.suyu.suyu_emu.utils.ViewUtils.setVisible class InputViewHolder(val binding: ListItemSettingInputBinding, adapter: SettingsAdapter) : SettingViewHolder(binding.root, adapter) { diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/ui/viewholder/RunnableViewHolder.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/ui/viewholder/RunnableViewHolder.kt similarity index 76% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/ui/viewholder/RunnableViewHolder.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/ui/viewholder/RunnableViewHolder.kt index 886ea6adce..30fee8900a 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/ui/viewholder/RunnableViewHolder.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/ui/viewholder/RunnableViewHolder.kt @@ -1,15 +1,15 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.features.settings.ui.viewholder +package org.suyu.suyu_emu.features.settings.ui.viewholder import android.view.View import androidx.core.content.res.ResourcesCompat -import dev.suyu.suyu_emu.databinding.ListItemSettingBinding -import dev.suyu.suyu_emu.features.settings.model.view.RunnableSetting -import dev.suyu.suyu_emu.features.settings.model.view.SettingsItem -import dev.suyu.suyu_emu.features.settings.ui.SettingsAdapter -import dev.suyu.suyu_emu.utils.ViewUtils.setVisible +import org.suyu.suyu_emu.databinding.ListItemSettingBinding +import org.suyu.suyu_emu.features.settings.model.view.RunnableSetting +import org.suyu.suyu_emu.features.settings.model.view.SettingsItem +import org.suyu.suyu_emu.features.settings.ui.SettingsAdapter +import org.suyu.suyu_emu.utils.ViewUtils.setVisible class RunnableViewHolder(val binding: ListItemSettingBinding, adapter: SettingsAdapter) : SettingViewHolder(binding.root, adapter) { diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/ui/viewholder/SettingViewHolder.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/ui/viewholder/SettingViewHolder.kt similarity index 82% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/ui/viewholder/SettingViewHolder.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/ui/viewholder/SettingViewHolder.kt index c0d467ef92..4477cac416 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/ui/viewholder/SettingViewHolder.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/ui/viewholder/SettingViewHolder.kt @@ -1,14 +1,14 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.features.settings.ui.viewholder +package org.suyu.suyu_emu.features.settings.ui.viewholder import android.view.View import androidx.recyclerview.widget.RecyclerView -import dev.suyu.suyu_emu.databinding.ListItemSettingBinding -import dev.suyu.suyu_emu.databinding.ListItemSettingSwitchBinding -import dev.suyu.suyu_emu.features.settings.model.view.SettingsItem -import dev.suyu.suyu_emu.features.settings.ui.SettingsAdapter +import org.suyu.suyu_emu.databinding.ListItemSettingBinding +import org.suyu.suyu_emu.databinding.ListItemSettingSwitchBinding +import org.suyu.suyu_emu.features.settings.model.view.SettingsItem +import org.suyu.suyu_emu.features.settings.ui.SettingsAdapter abstract class SettingViewHolder(itemView: View, protected val adapter: SettingsAdapter) : RecyclerView.ViewHolder(itemView), View.OnClickListener, View.OnLongClickListener { diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/ui/viewholder/SingleChoiceViewHolder.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/ui/viewholder/SingleChoiceViewHolder.kt similarity index 83% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/ui/viewholder/SingleChoiceViewHolder.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/ui/viewholder/SingleChoiceViewHolder.kt index 450424503e..813eb1ceaf 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/ui/viewholder/SingleChoiceViewHolder.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/ui/viewholder/SingleChoiceViewHolder.kt @@ -1,16 +1,16 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.features.settings.ui.viewholder +package org.suyu.suyu_emu.features.settings.ui.viewholder import android.view.View -import dev.suyu.suyu_emu.databinding.ListItemSettingBinding -import dev.suyu.suyu_emu.features.settings.model.view.IntSingleChoiceSetting -import dev.suyu.suyu_emu.features.settings.model.view.SettingsItem -import dev.suyu.suyu_emu.features.settings.model.view.SingleChoiceSetting -import dev.suyu.suyu_emu.features.settings.model.view.StringSingleChoiceSetting -import dev.suyu.suyu_emu.features.settings.ui.SettingsAdapter -import dev.suyu.suyu_emu.utils.ViewUtils.setVisible +import org.suyu.suyu_emu.databinding.ListItemSettingBinding +import org.suyu.suyu_emu.features.settings.model.view.IntSingleChoiceSetting +import org.suyu.suyu_emu.features.settings.model.view.SettingsItem +import org.suyu.suyu_emu.features.settings.model.view.SingleChoiceSetting +import org.suyu.suyu_emu.features.settings.model.view.StringSingleChoiceSetting +import org.suyu.suyu_emu.features.settings.ui.SettingsAdapter +import org.suyu.suyu_emu.utils.ViewUtils.setVisible class SingleChoiceViewHolder(val binding: ListItemSettingBinding, adapter: SettingsAdapter) : SettingViewHolder(binding.root, adapter) { diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/ui/viewholder/SliderViewHolder.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/ui/viewholder/SliderViewHolder.kt similarity index 76% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/ui/viewholder/SliderViewHolder.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/ui/viewholder/SliderViewHolder.kt index 3d9ef7caf7..0f6e65e669 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/ui/viewholder/SliderViewHolder.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/ui/viewholder/SliderViewHolder.kt @@ -1,15 +1,15 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.features.settings.ui.viewholder +package org.suyu.suyu_emu.features.settings.ui.viewholder import android.view.View -import dev.suyu.suyu_emu.R -import dev.suyu.suyu_emu.databinding.ListItemSettingBinding -import dev.suyu.suyu_emu.features.settings.model.view.SettingsItem -import dev.suyu.suyu_emu.features.settings.model.view.SliderSetting -import dev.suyu.suyu_emu.features.settings.ui.SettingsAdapter -import dev.suyu.suyu_emu.utils.ViewUtils.setVisible +import org.suyu.suyu_emu.R +import org.suyu.suyu_emu.databinding.ListItemSettingBinding +import org.suyu.suyu_emu.features.settings.model.view.SettingsItem +import org.suyu.suyu_emu.features.settings.model.view.SliderSetting +import org.suyu.suyu_emu.features.settings.ui.SettingsAdapter +import org.suyu.suyu_emu.utils.ViewUtils.setVisible class SliderViewHolder(val binding: ListItemSettingBinding, adapter: SettingsAdapter) : SettingViewHolder(binding.root, adapter) { diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/ui/viewholder/StringInputViewHolder.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/ui/viewholder/StringInputViewHolder.kt similarity index 76% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/ui/viewholder/StringInputViewHolder.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/ui/viewholder/StringInputViewHolder.kt index 63ce59a84b..f20d4070d5 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/ui/viewholder/StringInputViewHolder.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/ui/viewholder/StringInputViewHolder.kt @@ -1,15 +1,14 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.features.settings.ui.viewholder +package org.suyu.suyu_emu.features.settings.ui.viewholder import android.view.View -import dev.suyu.suyu_emu.databinding.ListItemSettingBinding -import dev.suyu.suyu_emu.features.settings.model.view.SettingsItem -import dev.suyu.suyu_emu.features.settings.model.view.StringInputSetting -import dev.suyu.suyu_emu.features.settings.ui.SettingsAdapter -import dev.suyu.suyu_emu.utils.ViewUtils.setVisible +import org.suyu.suyu_emu.databinding.ListItemSettingBinding +import org.suyu.suyu_emu.features.settings.model.view.SettingsItem +import org.suyu.suyu_emu.features.settings.model.view.StringInputSetting +import org.suyu.suyu_emu.features.settings.ui.SettingsAdapter +import org.suyu.suyu_emu.utils.ViewUtils.setVisible class StringInputViewHolder(val binding: ListItemSettingBinding, adapter: SettingsAdapter) : SettingViewHolder(binding.root, adapter) { diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/ui/viewholder/SubmenuViewHolder.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/ui/viewholder/SubmenuViewHolder.kt similarity index 75% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/ui/viewholder/SubmenuViewHolder.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/ui/viewholder/SubmenuViewHolder.kt index 38102d672e..c4aa3f9634 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/ui/viewholder/SubmenuViewHolder.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/ui/viewholder/SubmenuViewHolder.kt @@ -1,15 +1,15 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.features.settings.ui.viewholder +package org.suyu.suyu_emu.features.settings.ui.viewholder import android.view.View import androidx.core.content.res.ResourcesCompat -import dev.suyu.suyu_emu.databinding.ListItemSettingBinding -import dev.suyu.suyu_emu.features.settings.model.view.SettingsItem -import dev.suyu.suyu_emu.features.settings.model.view.SubmenuSetting -import dev.suyu.suyu_emu.features.settings.ui.SettingsAdapter -import dev.suyu.suyu_emu.utils.ViewUtils.setVisible +import org.suyu.suyu_emu.databinding.ListItemSettingBinding +import org.suyu.suyu_emu.features.settings.model.view.SettingsItem +import org.suyu.suyu_emu.features.settings.model.view.SubmenuSetting +import org.suyu.suyu_emu.features.settings.ui.SettingsAdapter +import org.suyu.suyu_emu.utils.ViewUtils.setVisible class SubmenuViewHolder(val binding: ListItemSettingBinding, adapter: SettingsAdapter) : SettingViewHolder(binding.root, adapter) { diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/ui/viewholder/SwitchSettingViewHolder.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/ui/viewholder/SwitchSettingViewHolder.kt similarity index 78% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/ui/viewholder/SwitchSettingViewHolder.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/ui/viewholder/SwitchSettingViewHolder.kt index 4b45251298..b48a2ed457 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/ui/viewholder/SwitchSettingViewHolder.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/ui/viewholder/SwitchSettingViewHolder.kt @@ -1,15 +1,15 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.features.settings.ui.viewholder +package org.suyu.suyu_emu.features.settings.ui.viewholder import android.view.View import android.widget.CompoundButton -import dev.suyu.suyu_emu.databinding.ListItemSettingSwitchBinding -import dev.suyu.suyu_emu.features.settings.model.view.SettingsItem -import dev.suyu.suyu_emu.features.settings.model.view.SwitchSetting -import dev.suyu.suyu_emu.features.settings.ui.SettingsAdapter -import dev.suyu.suyu_emu.utils.ViewUtils.setVisible +import org.suyu.suyu_emu.databinding.ListItemSettingSwitchBinding +import org.suyu.suyu_emu.features.settings.model.view.SettingsItem +import org.suyu.suyu_emu.features.settings.model.view.SwitchSetting +import org.suyu.suyu_emu.features.settings.ui.SettingsAdapter +import org.suyu.suyu_emu.utils.ViewUtils.setVisible class SwitchSettingViewHolder(val binding: ListItemSettingSwitchBinding, adapter: SettingsAdapter) : SettingViewHolder(binding.root, adapter) { diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/utils/SettingsFile.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/utils/SettingsFile.kt similarity index 71% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/utils/SettingsFile.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/utils/SettingsFile.kt index 3532cdef87..5004bb204f 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/features/settings/utils/SettingsFile.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/features/settings/utils/SettingsFile.kt @@ -1,14 +1,14 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.features.settings.utils +package org.suyu.suyu_emu.features.settings.utils import android.net.Uri -import dev.suyu.suyu_emu.model.Game +import org.suyu.suyu_emu.model.Game import java.io.* -import dev.suyu.suyu_emu.utils.DirectoryInitialization -import dev.suyu.suyu_emu.utils.FileUtil -import dev.suyu.suyu_emu.utils.NativeConfig +import org.suyu.suyu_emu.utils.DirectoryInitialization +import org.suyu.suyu_emu.utils.FileUtil +import org.suyu.suyu_emu.utils.NativeConfig /** * Contains static methods for interacting with .ini files in which settings are stored. diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/fragments/AboutFragment.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/fragments/AboutFragment.kt similarity index 93% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/fragments/AboutFragment.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/fragments/AboutFragment.kt index 5902a997aa..17744a6344 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/fragments/AboutFragment.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/fragments/AboutFragment.kt @@ -1,7 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.fragments +package org.suyu.suyu_emu.fragments import android.content.ClipData import android.content.ClipboardManager @@ -21,11 +21,11 @@ import androidx.fragment.app.Fragment import androidx.fragment.app.activityViewModels import androidx.navigation.findNavController import com.google.android.material.transition.MaterialSharedAxis -import dev.suyu.suyu_emu.BuildConfig -import dev.suyu.suyu_emu.R -import dev.suyu.suyu_emu.databinding.FragmentAboutBinding -import dev.suyu.suyu_emu.model.HomeViewModel -import dev.suyu.suyu_emu.utils.ViewUtils.updateMargins +import org.suyu.suyu_emu.BuildConfig +import org.suyu.suyu_emu.R +import org.suyu.suyu_emu.databinding.FragmentAboutBinding +import org.suyu.suyu_emu.model.HomeViewModel +import org.suyu.suyu_emu.utils.ViewUtils.updateMargins class AboutFragment : Fragment() { private var _binding: FragmentAboutBinding? = null diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/fragments/AddGameFolderDialogFragment.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/fragments/AddGameFolderDialogFragment.kt similarity index 85% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/fragments/AddGameFolderDialogFragment.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/fragments/AddGameFolderDialogFragment.kt index 6e75e5d139..1181223b66 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/fragments/AddGameFolderDialogFragment.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/fragments/AddGameFolderDialogFragment.kt @@ -1,7 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.fragments +package org.suyu.suyu_emu.fragments import android.app.Dialog import android.content.DialogInterface @@ -10,11 +10,11 @@ import android.os.Bundle import androidx.fragment.app.DialogFragment import androidx.fragment.app.activityViewModels import com.google.android.material.dialog.MaterialAlertDialogBuilder -import dev.suyu.suyu_emu.R -import dev.suyu.suyu_emu.databinding.DialogAddFolderBinding -import dev.suyu.suyu_emu.model.GameDir -import dev.suyu.suyu_emu.model.GamesViewModel -import dev.suyu.suyu_emu.model.HomeViewModel +import org.suyu.suyu_emu.R +import org.suyu.suyu_emu.databinding.DialogAddFolderBinding +import org.suyu.suyu_emu.model.GameDir +import org.suyu.suyu_emu.model.GamesViewModel +import org.suyu.suyu_emu.model.HomeViewModel class AddGameFolderDialogFragment : DialogFragment() { private val homeViewModel: HomeViewModel by activityViewModels() diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/fragments/AddonsFragment.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/fragments/AddonsFragment.kt similarity index 93% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/fragments/AddonsFragment.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/fragments/AddonsFragment.kt index 7d2b9a2f27..e33d050dc9 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/fragments/AddonsFragment.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/fragments/AddonsFragment.kt @@ -1,7 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.fragments +package org.suyu.suyu_emu.fragments import android.content.Intent import android.os.Bundle @@ -19,15 +19,16 @@ import androidx.navigation.findNavController import androidx.navigation.fragment.navArgs import androidx.recyclerview.widget.LinearLayoutManager import com.google.android.material.transition.MaterialSharedAxis -import dev.suyu.suyu_emu.R -import dev.suyu.suyu_emu.adapters.AddonAdapter -import dev.suyu.suyu_emu.databinding.FragmentAddonsBinding -import dev.suyu.suyu_emu.model.AddonViewModel -import dev.suyu.suyu_emu.model.HomeViewModel -import dev.suyu.suyu_emu.utils.AddonUtil -import dev.suyu.suyu_emu.utils.FileUtil.copyFilesTo -import dev.suyu.suyu_emu.utils.ViewUtils.updateMargins -import dev.suyu.suyu_emu.utils.collect +import kotlinx.coroutines.launch +import org.suyu.suyu_emu.R +import org.suyu.suyu_emu.adapters.AddonAdapter +import org.suyu.suyu_emu.databinding.FragmentAddonsBinding +import org.suyu.suyu_emu.model.AddonViewModel +import org.suyu.suyu_emu.model.HomeViewModel +import org.suyu.suyu_emu.utils.AddonUtil +import org.suyu.suyu_emu.utils.FileUtil.copyFilesTo +import org.suyu.suyu_emu.utils.ViewUtils.updateMargins +import org.suyu.suyu_emu.utils.collect import java.io.File class AddonsFragment : Fragment() { diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/fragments/AppletLauncherFragment.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/fragments/AppletLauncherFragment.kt similarity index 89% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/fragments/AppletLauncherFragment.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/fragments/AppletLauncherFragment.kt index 622ef144a0..573abc8a73 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/fragments/AppletLauncherFragment.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/fragments/AppletLauncherFragment.kt @@ -1,7 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.fragments +package org.suyu.suyu_emu.fragments import android.os.Bundle import android.view.LayoutInflater @@ -15,13 +15,13 @@ import androidx.fragment.app.activityViewModels import androidx.navigation.findNavController import androidx.recyclerview.widget.GridLayoutManager import com.google.android.material.transition.MaterialSharedAxis -import dev.suyu.suyu_emu.R -import dev.suyu.suyu_emu.adapters.AppletAdapter -import dev.suyu.suyu_emu.databinding.FragmentAppletLauncherBinding -import dev.suyu.suyu_emu.model.Applet -import dev.suyu.suyu_emu.model.AppletInfo -import dev.suyu.suyu_emu.model.HomeViewModel -import dev.suyu.suyu_emu.utils.ViewUtils.updateMargins +import org.suyu.suyu_emu.R +import org.suyu.suyu_emu.adapters.AppletAdapter +import org.suyu.suyu_emu.databinding.FragmentAppletLauncherBinding +import org.suyu.suyu_emu.model.Applet +import org.suyu.suyu_emu.model.AppletInfo +import org.suyu.suyu_emu.model.HomeViewModel +import org.suyu.suyu_emu.utils.ViewUtils.updateMargins class AppletLauncherFragment : Fragment() { private var _binding: FragmentAppletLauncherBinding? = null diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/fragments/CabinetLauncherDialogFragment.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/fragments/CabinetLauncherDialogFragment.kt similarity index 83% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/fragments/CabinetLauncherDialogFragment.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/fragments/CabinetLauncherDialogFragment.kt index 8be5d21ea0..312c88a859 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/fragments/CabinetLauncherDialogFragment.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/fragments/CabinetLauncherDialogFragment.kt @@ -1,7 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.fragments +package org.suyu.suyu_emu.fragments import android.app.Dialog import android.os.Bundle @@ -11,9 +11,9 @@ import android.view.ViewGroup import androidx.fragment.app.DialogFragment import androidx.recyclerview.widget.LinearLayoutManager import com.google.android.material.dialog.MaterialAlertDialogBuilder -import dev.suyu.suyu_emu.R -import dev.suyu.suyu_emu.adapters.CabinetLauncherDialogAdapter -import dev.suyu.suyu_emu.databinding.DialogListBinding +import org.suyu.suyu_emu.R +import org.suyu.suyu_emu.adapters.CabinetLauncherDialogAdapter +import org.suyu.suyu_emu.databinding.DialogListBinding class CabinetLauncherDialogFragment : DialogFragment() { private lateinit var binding: DialogListBinding diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/fragments/ContentTypeSelectionDialogFragment.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/fragments/ContentTypeSelectionDialogFragment.kt similarity index 90% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/fragments/ContentTypeSelectionDialogFragment.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/fragments/ContentTypeSelectionDialogFragment.kt index a11e058a73..c701f18486 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/fragments/ContentTypeSelectionDialogFragment.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/fragments/ContentTypeSelectionDialogFragment.kt @@ -1,7 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.fragments +package org.suyu.suyu_emu.fragments import android.app.Dialog import android.content.DialogInterface @@ -10,10 +10,10 @@ import androidx.fragment.app.DialogFragment import androidx.fragment.app.activityViewModels import androidx.preference.PreferenceManager import com.google.android.material.dialog.MaterialAlertDialogBuilder -import dev.suyu.suyu_emu.R -import dev.suyu.suyu_emu.SuyuApplication -import dev.suyu.suyu_emu.model.AddonViewModel -import dev.suyu.suyu_emu.ui.main.MainActivity +import org.suyu.suyu_emu.R +import org.suyu.suyu_emu.SuyuApplication +import org.suyu.suyu_emu.model.AddonViewModel +import org.suyu.suyu_emu.ui.main.MainActivity class ContentTypeSelectionDialogFragment : DialogFragment() { private val addonViewModel: AddonViewModel by activityViewModels() diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/fragments/CoreErrorDialogFragment.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/fragments/CoreErrorDialogFragment.kt similarity index 91% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/fragments/CoreErrorDialogFragment.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/fragments/CoreErrorDialogFragment.kt index bcba2b9750..4247f19f91 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/fragments/CoreErrorDialogFragment.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/fragments/CoreErrorDialogFragment.kt @@ -1,16 +1,15 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.fragments +package org.suyu.suyu_emu.fragments import android.app.Dialog import android.content.DialogInterface import android.os.Bundle import androidx.fragment.app.DialogFragment import com.google.android.material.dialog.MaterialAlertDialogBuilder -import dev.suyu.suyu_emu.NativeLibrary -import dev.suyu.suyu_emu.R +import org.suyu.suyu_emu.NativeLibrary +import org.suyu.suyu_emu.R class CoreErrorDialogFragment : DialogFragment() { override fun onCreateDialog(savedInstanceState: Bundle?): Dialog = diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/fragments/DriverManagerFragment.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/fragments/DriverManagerFragment.kt similarity index 91% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/fragments/DriverManagerFragment.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/fragments/DriverManagerFragment.kt index 1645400b41..3aa5415adf 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/fragments/DriverManagerFragment.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/fragments/DriverManagerFragment.kt @@ -1,7 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.fragments +package org.suyu.suyu_emu.fragments import android.os.Bundle import android.view.LayoutInflater @@ -18,19 +18,20 @@ import androidx.navigation.fragment.navArgs import androidx.recyclerview.widget.GridLayoutManager import com.google.android.material.transition.MaterialSharedAxis import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.launch import kotlinx.coroutines.withContext -import dev.suyu.suyu_emu.R -import dev.suyu.suyu_emu.adapters.DriverAdapter -import dev.suyu.suyu_emu.databinding.FragmentDriverManagerBinding -import dev.suyu.suyu_emu.features.settings.model.StringSetting -import dev.suyu.suyu_emu.model.Driver.Companion.toDriver -import dev.suyu.suyu_emu.model.DriverViewModel -import dev.suyu.suyu_emu.model.HomeViewModel -import dev.suyu.suyu_emu.utils.FileUtil -import dev.suyu.suyu_emu.utils.GpuDriverHelper -import dev.suyu.suyu_emu.utils.NativeConfig -import dev.suyu.suyu_emu.utils.ViewUtils.updateMargins -import dev.suyu.suyu_emu.utils.collect +import org.suyu.suyu_emu.R +import org.suyu.suyu_emu.adapters.DriverAdapter +import org.suyu.suyu_emu.databinding.FragmentDriverManagerBinding +import org.suyu.suyu_emu.features.settings.model.StringSetting +import org.suyu.suyu_emu.model.Driver.Companion.toDriver +import org.suyu.suyu_emu.model.DriverViewModel +import org.suyu.suyu_emu.model.HomeViewModel +import org.suyu.suyu_emu.utils.FileUtil +import org.suyu.suyu_emu.utils.GpuDriverHelper +import org.suyu.suyu_emu.utils.NativeConfig +import org.suyu.suyu_emu.utils.ViewUtils.updateMargins +import org.suyu.suyu_emu.utils.collect import java.io.File import java.io.IOException diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/fragments/DriversLoadingDialogFragment.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/fragments/DriversLoadingDialogFragment.kt similarity index 84% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/fragments/DriversLoadingDialogFragment.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/fragments/DriversLoadingDialogFragment.kt index 6f97d5a4eb..0cf93e21fd 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/fragments/DriversLoadingDialogFragment.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/fragments/DriversLoadingDialogFragment.kt @@ -1,7 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.fragments +package org.suyu.suyu_emu.fragments import android.app.Dialog import android.os.Bundle @@ -11,10 +11,10 @@ import android.view.ViewGroup import androidx.fragment.app.DialogFragment import androidx.fragment.app.activityViewModels import com.google.android.material.dialog.MaterialAlertDialogBuilder -import dev.suyu.suyu_emu.R -import dev.suyu.suyu_emu.databinding.DialogProgressBarBinding -import dev.suyu.suyu_emu.model.DriverViewModel -import dev.suyu.suyu_emu.utils.collect +import org.suyu.suyu_emu.R +import org.suyu.suyu_emu.databinding.DialogProgressBarBinding +import org.suyu.suyu_emu.model.DriverViewModel +import org.suyu.suyu_emu.utils.collect class DriversLoadingDialogFragment : DialogFragment() { private val driverViewModel: DriverViewModel by activityViewModels() diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/fragments/EarlyAccessFragment.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/fragments/EarlyAccessFragment.kt similarity index 90% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/fragments/EarlyAccessFragment.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/fragments/EarlyAccessFragment.kt index 28215693b6..cf4b114591 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/fragments/EarlyAccessFragment.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/fragments/EarlyAccessFragment.kt @@ -1,7 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.fragments +package org.suyu.suyu_emu.fragments import android.content.Intent import android.net.Uri @@ -16,10 +16,10 @@ import androidx.fragment.app.Fragment import androidx.fragment.app.activityViewModels import androidx.navigation.fragment.findNavController import com.google.android.material.transition.MaterialSharedAxis -import dev.suyu.suyu_emu.R -import dev.suyu.suyu_emu.databinding.FragmentEarlyAccessBinding -import dev.suyu.suyu_emu.model.HomeViewModel -import dev.suyu.suyu_emu.utils.ViewUtils.updateMargins +import org.suyu.suyu_emu.R +import org.suyu.suyu_emu.databinding.FragmentEarlyAccessBinding +import org.suyu.suyu_emu.model.HomeViewModel +import org.suyu.suyu_emu.utils.ViewUtils.updateMargins class EarlyAccessFragment : Fragment() { private var _binding: FragmentEarlyAccessBinding? = null diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/fragments/EmulationFragment.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/fragments/EmulationFragment.kt similarity index 97% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/fragments/EmulationFragment.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/fragments/EmulationFragment.kt index 79a7078e53..33a7ecc398 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/fragments/EmulationFragment.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/fragments/EmulationFragment.kt @@ -1,7 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.fragments +package org.suyu.suyu_emu.fragments import android.annotation.SuppressLint import android.app.AlertDialog @@ -39,25 +39,25 @@ import androidx.window.layout.WindowInfoTracker import androidx.window.layout.WindowLayoutInfo import com.google.android.material.dialog.MaterialAlertDialogBuilder import com.google.android.material.slider.Slider -import dev.suyu.suyu_emu.HomeNavigationDirections -import dev.suyu.suyu_emu.NativeLibrary -import dev.suyu.suyu_emu.R -import dev.suyu.suyu_emu.activities.EmulationActivity -import dev.suyu.suyu_emu.databinding.DialogOverlayAdjustBinding -import dev.suyu.suyu_emu.databinding.FragmentEmulationBinding -import dev.suyu.suyu_emu.features.settings.model.BooleanSetting -import dev.suyu.suyu_emu.features.settings.model.IntSetting -import dev.suyu.suyu_emu.features.settings.model.Settings -import dev.suyu.suyu_emu.features.settings.model.Settings.EmulationOrientation -import dev.suyu.suyu_emu.features.settings.model.Settings.EmulationVerticalAlignment -import dev.suyu.suyu_emu.features.settings.utils.SettingsFile -import dev.suyu.suyu_emu.model.DriverViewModel -import dev.suyu.suyu_emu.model.Game -import dev.suyu.suyu_emu.model.EmulationViewModel -import dev.suyu.suyu_emu.overlay.model.OverlayControl -import dev.suyu.suyu_emu.overlay.model.OverlayLayout -import dev.suyu.suyu_emu.utils.* -import dev.suyu.suyu_emu.utils.ViewUtils.setVisible +import org.suyu.suyu_emu.HomeNavigationDirections +import org.suyu.suyu_emu.NativeLibrary +import org.suyu.suyu_emu.R +import org.suyu.suyu_emu.activities.EmulationActivity +import org.suyu.suyu_emu.databinding.DialogOverlayAdjustBinding +import org.suyu.suyu_emu.databinding.FragmentEmulationBinding +import org.suyu.suyu_emu.features.settings.model.BooleanSetting +import org.suyu.suyu_emu.features.settings.model.IntSetting +import org.suyu.suyu_emu.features.settings.model.Settings +import org.suyu.suyu_emu.features.settings.model.Settings.EmulationOrientation +import org.suyu.suyu_emu.features.settings.model.Settings.EmulationVerticalAlignment +import org.suyu.suyu_emu.features.settings.utils.SettingsFile +import org.suyu.suyu_emu.model.DriverViewModel +import org.suyu.suyu_emu.model.Game +import org.suyu.suyu_emu.model.EmulationViewModel +import org.suyu.suyu_emu.overlay.model.OverlayControl +import org.suyu.suyu_emu.overlay.model.OverlayLayout +import org.suyu.suyu_emu.utils.* +import org.suyu.suyu_emu.utils.ViewUtils.setVisible import java.lang.NullPointerException class EmulationFragment : Fragment(), SurfaceHolder.Callback { diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/fragments/GameFolderPropertiesDialogFragment.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/fragments/GameFolderPropertiesDialogFragment.kt similarity index 87% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/fragments/GameFolderPropertiesDialogFragment.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/fragments/GameFolderPropertiesDialogFragment.kt index f40c4daaae..f8b26b7fbe 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/fragments/GameFolderPropertiesDialogFragment.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/fragments/GameFolderPropertiesDialogFragment.kt @@ -1,7 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.fragments +package org.suyu.suyu_emu.fragments import android.app.Dialog import android.content.DialogInterface @@ -9,12 +9,12 @@ import android.os.Bundle import androidx.fragment.app.DialogFragment import androidx.fragment.app.activityViewModels import com.google.android.material.dialog.MaterialAlertDialogBuilder -import dev.suyu.suyu_emu.R -import dev.suyu.suyu_emu.databinding.DialogFolderPropertiesBinding -import dev.suyu.suyu_emu.model.GameDir -import dev.suyu.suyu_emu.model.GamesViewModel -import dev.suyu.suyu_emu.utils.NativeConfig -import dev.suyu.suyu_emu.utils.SerializableHelper.parcelable +import org.suyu.suyu_emu.R +import org.suyu.suyu_emu.databinding.DialogFolderPropertiesBinding +import org.suyu.suyu_emu.model.GameDir +import org.suyu.suyu_emu.model.GamesViewModel +import org.suyu.suyu_emu.utils.NativeConfig +import org.suyu.suyu_emu.utils.SerializableHelper.parcelable class GameFolderPropertiesDialogFragment : DialogFragment() { private val gamesViewModel: GamesViewModel by activityViewModels() diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/fragments/GameFoldersFragment.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/fragments/GameFoldersFragment.kt similarity index 88% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/fragments/GameFoldersFragment.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/fragments/GameFoldersFragment.kt index 198afc26a1..fca1345053 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/fragments/GameFoldersFragment.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/fragments/GameFoldersFragment.kt @@ -1,7 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.fragments +package org.suyu.suyu_emu.fragments import android.content.Intent import android.os.Bundle @@ -16,14 +16,15 @@ import androidx.fragment.app.activityViewModels import androidx.navigation.findNavController import androidx.recyclerview.widget.GridLayoutManager import com.google.android.material.transition.MaterialSharedAxis -import dev.suyu.suyu_emu.R -import dev.suyu.suyu_emu.adapters.FolderAdapter -import dev.suyu.suyu_emu.databinding.FragmentFoldersBinding -import dev.suyu.suyu_emu.model.GamesViewModel -import dev.suyu.suyu_emu.model.HomeViewModel -import dev.suyu.suyu_emu.ui.main.MainActivity -import dev.suyu.suyu_emu.utils.ViewUtils.updateMargins -import dev.suyu.suyu_emu.utils.collect +import kotlinx.coroutines.launch +import org.suyu.suyu_emu.R +import org.suyu.suyu_emu.adapters.FolderAdapter +import org.suyu.suyu_emu.databinding.FragmentFoldersBinding +import org.suyu.suyu_emu.model.GamesViewModel +import org.suyu.suyu_emu.model.HomeViewModel +import org.suyu.suyu_emu.ui.main.MainActivity +import org.suyu.suyu_emu.utils.ViewUtils.updateMargins +import org.suyu.suyu_emu.utils.collect class GameFoldersFragment : Fragment() { private var _binding: FragmentFoldersBinding? = null diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/fragments/GameInfoFragment.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/fragments/GameInfoFragment.kt similarity index 93% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/fragments/GameInfoFragment.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/fragments/GameInfoFragment.kt index 743389016f..bf075b24ef 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/fragments/GameInfoFragment.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/fragments/GameInfoFragment.kt @@ -1,7 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.fragments +package org.suyu.suyu_emu.fragments import android.content.ClipData import android.content.ClipboardManager @@ -21,14 +21,14 @@ import androidx.fragment.app.activityViewModels import androidx.navigation.findNavController import androidx.navigation.fragment.navArgs import com.google.android.material.transition.MaterialSharedAxis -import dev.suyu.suyu_emu.NativeLibrary -import dev.suyu.suyu_emu.R -import dev.suyu.suyu_emu.databinding.FragmentGameInfoBinding -import dev.suyu.suyu_emu.model.GameVerificationResult -import dev.suyu.suyu_emu.model.HomeViewModel -import dev.suyu.suyu_emu.utils.GameMetadata -import dev.suyu.suyu_emu.utils.ViewUtils.setVisible -import dev.suyu.suyu_emu.utils.ViewUtils.updateMargins +import org.suyu.suyu_emu.NativeLibrary +import org.suyu.suyu_emu.R +import org.suyu.suyu_emu.databinding.FragmentGameInfoBinding +import org.suyu.suyu_emu.model.GameVerificationResult +import org.suyu.suyu_emu.model.HomeViewModel +import org.suyu.suyu_emu.utils.GameMetadata +import org.suyu.suyu_emu.utils.ViewUtils.setVisible +import org.suyu.suyu_emu.utils.ViewUtils.updateMargins class GameInfoFragment : Fragment() { private var _binding: FragmentGameInfoBinding? = null diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/fragments/GamePropertiesFragment.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/fragments/GamePropertiesFragment.kt similarity index 94% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/fragments/GamePropertiesFragment.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/fragments/GamePropertiesFragment.kt index 751aa29a3f..e05e105eb8 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/fragments/GamePropertiesFragment.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/fragments/GamePropertiesFragment.kt @@ -1,7 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.fragments +package org.suyu.suyu_emu.fragments import android.content.pm.ShortcutInfo import android.content.pm.ShortcutManager @@ -24,27 +24,27 @@ import com.google.android.material.transition.MaterialSharedAxis import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch import kotlinx.coroutines.withContext -import dev.suyu.suyu_emu.HomeNavigationDirections -import dev.suyu.suyu_emu.R -import dev.suyu.suyu_emu.SuyuApplication -import dev.suyu.suyu_emu.adapters.GamePropertiesAdapter -import dev.suyu.suyu_emu.databinding.FragmentGamePropertiesBinding -import dev.suyu.suyu_emu.features.settings.model.Settings -import dev.suyu.suyu_emu.model.DriverViewModel -import dev.suyu.suyu_emu.model.GameProperty -import dev.suyu.suyu_emu.model.GamesViewModel -import dev.suyu.suyu_emu.model.HomeViewModel -import dev.suyu.suyu_emu.model.InstallableProperty -import dev.suyu.suyu_emu.model.SubmenuProperty -import dev.suyu.suyu_emu.model.TaskState -import dev.suyu.suyu_emu.utils.DirectoryInitialization -import dev.suyu.suyu_emu.utils.FileUtil -import dev.suyu.suyu_emu.utils.GameIconUtils -import dev.suyu.suyu_emu.utils.GpuDriverHelper -import dev.suyu.suyu_emu.utils.MemoryUtil -import dev.suyu.suyu_emu.utils.ViewUtils.marquee -import dev.suyu.suyu_emu.utils.ViewUtils.updateMargins -import dev.suyu.suyu_emu.utils.collect +import org.suyu.suyu_emu.HomeNavigationDirections +import org.suyu.suyu_emu.R +import org.suyu.suyu_emu.SuyuApplication +import org.suyu.suyu_emu.adapters.GamePropertiesAdapter +import org.suyu.suyu_emu.databinding.FragmentGamePropertiesBinding +import org.suyu.suyu_emu.features.settings.model.Settings +import org.suyu.suyu_emu.model.DriverViewModel +import org.suyu.suyu_emu.model.GameProperty +import org.suyu.suyu_emu.model.GamesViewModel +import org.suyu.suyu_emu.model.HomeViewModel +import org.suyu.suyu_emu.model.InstallableProperty +import org.suyu.suyu_emu.model.SubmenuProperty +import org.suyu.suyu_emu.model.TaskState +import org.suyu.suyu_emu.utils.DirectoryInitialization +import org.suyu.suyu_emu.utils.FileUtil +import org.suyu.suyu_emu.utils.GameIconUtils +import org.suyu.suyu_emu.utils.GpuDriverHelper +import org.suyu.suyu_emu.utils.MemoryUtil +import org.suyu.suyu_emu.utils.ViewUtils.marquee +import org.suyu.suyu_emu.utils.ViewUtils.updateMargins +import org.suyu.suyu_emu.utils.collect import java.io.BufferedOutputStream import java.io.File diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/fragments/HomeSettingsFragment.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/fragments/HomeSettingsFragment.kt similarity index 95% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/fragments/HomeSettingsFragment.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/fragments/HomeSettingsFragment.kt index 6b80f7ee79..ed8d2131b2 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/fragments/HomeSettingsFragment.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/fragments/HomeSettingsFragment.kt @@ -1,7 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.fragments +package org.suyu.suyu_emu.fragments import android.Manifest import android.content.ActivityNotFoundException @@ -27,22 +27,23 @@ import androidx.navigation.findNavController import androidx.navigation.fragment.findNavController import androidx.recyclerview.widget.GridLayoutManager import com.google.android.material.transition.MaterialSharedAxis -import dev.suyu.suyu_emu.HomeNavigationDirections -import dev.suyu.suyu_emu.NativeLibrary -import dev.suyu.suyu_emu.R -import dev.suyu.suyu_emu.SuyuApplication -import dev.suyu.suyu_emu.adapters.HomeSettingAdapter -import dev.suyu.suyu_emu.databinding.FragmentHomeSettingsBinding -import dev.suyu.suyu_emu.features.DocumentProvider -import dev.suyu.suyu_emu.features.settings.model.Settings -import dev.suyu.suyu_emu.model.DriverViewModel -import dev.suyu.suyu_emu.model.HomeSetting -import dev.suyu.suyu_emu.model.HomeViewModel -import dev.suyu.suyu_emu.ui.main.MainActivity -import dev.suyu.suyu_emu.utils.FileUtil -import dev.suyu.suyu_emu.utils.GpuDriverHelper -import dev.suyu.suyu_emu.utils.Log -import dev.suyu.suyu_emu.utils.ViewUtils.updateMargins +import org.suyu.suyu_emu.BuildConfig +import org.suyu.suyu_emu.HomeNavigationDirections +import org.suyu.suyu_emu.NativeLibrary +import org.suyu.suyu_emu.R +import org.suyu.suyu_emu.SuyuApplication +import org.suyu.suyu_emu.adapters.HomeSettingAdapter +import org.suyu.suyu_emu.databinding.FragmentHomeSettingsBinding +import org.suyu.suyu_emu.features.DocumentProvider +import org.suyu.suyu_emu.features.settings.model.Settings +import org.suyu.suyu_emu.model.DriverViewModel +import org.suyu.suyu_emu.model.HomeSetting +import org.suyu.suyu_emu.model.HomeViewModel +import org.suyu.suyu_emu.ui.main.MainActivity +import org.suyu.suyu_emu.utils.FileUtil +import org.suyu.suyu_emu.utils.GpuDriverHelper +import org.suyu.suyu_emu.utils.Log +import org.suyu.suyu_emu.utils.ViewUtils.updateMargins class HomeSettingsFragment : Fragment() { private var _binding: FragmentHomeSettingsBinding? = null diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/fragments/InstallableFragment.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/fragments/InstallableFragment.kt similarity index 94% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/fragments/InstallableFragment.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/fragments/InstallableFragment.kt index 659811e33d..07c917ba19 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/fragments/InstallableFragment.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/fragments/InstallableFragment.kt @@ -1,7 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.fragments +package org.suyu.suyu_emu.fragments import android.os.Bundle import android.view.LayoutInflater @@ -18,20 +18,21 @@ import androidx.navigation.findNavController import androidx.recyclerview.widget.GridLayoutManager import com.google.android.material.transition.MaterialSharedAxis import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.launch import kotlinx.coroutines.withContext -import dev.suyu.suyu_emu.NativeLibrary -import dev.suyu.suyu_emu.R -import dev.suyu.suyu_emu.SuyuApplication -import dev.suyu.suyu_emu.adapters.InstallableAdapter -import dev.suyu.suyu_emu.databinding.FragmentInstallablesBinding -import dev.suyu.suyu_emu.model.HomeViewModel -import dev.suyu.suyu_emu.model.Installable -import dev.suyu.suyu_emu.model.TaskState -import dev.suyu.suyu_emu.ui.main.MainActivity -import dev.suyu.suyu_emu.utils.DirectoryInitialization -import dev.suyu.suyu_emu.utils.FileUtil -import dev.suyu.suyu_emu.utils.ViewUtils.updateMargins -import dev.suyu.suyu_emu.utils.collect +import org.suyu.suyu_emu.NativeLibrary +import org.suyu.suyu_emu.R +import org.suyu.suyu_emu.SuyuApplication +import org.suyu.suyu_emu.adapters.InstallableAdapter +import org.suyu.suyu_emu.databinding.FragmentInstallablesBinding +import org.suyu.suyu_emu.model.HomeViewModel +import org.suyu.suyu_emu.model.Installable +import org.suyu.suyu_emu.model.TaskState +import org.suyu.suyu_emu.ui.main.MainActivity +import org.suyu.suyu_emu.utils.DirectoryInitialization +import org.suyu.suyu_emu.utils.FileUtil +import org.suyu.suyu_emu.utils.ViewUtils.updateMargins +import org.suyu.suyu_emu.utils.collect import java.io.BufferedOutputStream import java.io.File import java.math.BigInteger diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/fragments/LaunchGameDialogFragment.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/fragments/LaunchGameDialogFragment.kt similarity index 88% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/fragments/LaunchGameDialogFragment.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/fragments/LaunchGameDialogFragment.kt index bd78b3480c..7e6c028fa4 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/fragments/LaunchGameDialogFragment.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/fragments/LaunchGameDialogFragment.kt @@ -1,7 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.fragments +package org.suyu.suyu_emu.fragments import android.app.Dialog import android.content.DialogInterface @@ -9,10 +9,10 @@ import android.os.Bundle import androidx.fragment.app.DialogFragment import androidx.navigation.fragment.findNavController import com.google.android.material.dialog.MaterialAlertDialogBuilder -import dev.suyu.suyu_emu.HomeNavigationDirections -import dev.suyu.suyu_emu.R -import dev.suyu.suyu_emu.model.Game -import dev.suyu.suyu_emu.utils.SerializableHelper.parcelable +import org.suyu.suyu_emu.HomeNavigationDirections +import org.suyu.suyu_emu.R +import org.suyu.suyu_emu.model.Game +import org.suyu.suyu_emu.utils.SerializableHelper.parcelable class LaunchGameDialogFragment : DialogFragment() { private var selectedItem = 1 diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/fragments/LicenseBottomSheetDialogFragment.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/fragments/LicenseBottomSheetDialogFragment.kt similarity index 87% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/fragments/LicenseBottomSheetDialogFragment.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/fragments/LicenseBottomSheetDialogFragment.kt index f473acb881..8ba5890824 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/fragments/LicenseBottomSheetDialogFragment.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/fragments/LicenseBottomSheetDialogFragment.kt @@ -1,7 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.fragments +package org.suyu.suyu_emu.fragments import android.os.Bundle import android.view.LayoutInflater @@ -9,9 +9,9 @@ import android.view.View import android.view.ViewGroup import com.google.android.material.bottomsheet.BottomSheetBehavior import com.google.android.material.bottomsheet.BottomSheetDialogFragment -import dev.suyu.suyu_emu.databinding.DialogLicenseBinding -import dev.suyu.suyu_emu.model.License -import dev.suyu.suyu_emu.utils.SerializableHelper.parcelable +import org.suyu.suyu_emu.databinding.DialogLicenseBinding +import org.suyu.suyu_emu.model.License +import org.suyu.suyu_emu.utils.SerializableHelper.parcelable class LicenseBottomSheetDialogFragment : BottomSheetDialogFragment() { private var _binding: DialogLicenseBinding? = null diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/fragments/LicensesFragment.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/fragments/LicensesFragment.kt similarity index 92% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/fragments/LicensesFragment.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/fragments/LicensesFragment.kt index 71bdec1ea0..213cb96800 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/fragments/LicensesFragment.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/fragments/LicensesFragment.kt @@ -1,7 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.fragments +package org.suyu.suyu_emu.fragments import android.os.Bundle import android.view.LayoutInflater @@ -16,12 +16,12 @@ import androidx.fragment.app.activityViewModels import androidx.navigation.findNavController import androidx.recyclerview.widget.LinearLayoutManager import com.google.android.material.transition.MaterialSharedAxis -import dev.suyu.suyu_emu.R -import dev.suyu.suyu_emu.adapters.LicenseAdapter -import dev.suyu.suyu_emu.databinding.FragmentLicensesBinding -import dev.suyu.suyu_emu.model.HomeViewModel -import dev.suyu.suyu_emu.model.License -import dev.suyu.suyu_emu.utils.ViewUtils.updateMargins +import org.suyu.suyu_emu.R +import org.suyu.suyu_emu.adapters.LicenseAdapter +import org.suyu.suyu_emu.databinding.FragmentLicensesBinding +import org.suyu.suyu_emu.model.HomeViewModel +import org.suyu.suyu_emu.model.License +import org.suyu.suyu_emu.utils.ViewUtils.updateMargins class LicensesFragment : Fragment() { private var _binding: FragmentLicensesBinding? = null diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/fragments/MessageDialogFragment.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/fragments/MessageDialogFragment.kt similarity index 97% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/fragments/MessageDialogFragment.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/fragments/MessageDialogFragment.kt index 75414251e1..5957645c76 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/fragments/MessageDialogFragment.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/fragments/MessageDialogFragment.kt @@ -1,7 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.fragments +package org.suyu.suyu_emu.fragments import android.app.Dialog import android.content.Intent @@ -13,9 +13,9 @@ import androidx.fragment.app.FragmentActivity import androidx.fragment.app.activityViewModels import androidx.lifecycle.ViewModelProvider import com.google.android.material.dialog.MaterialAlertDialogBuilder -import dev.suyu.suyu_emu.R -import dev.suyu.suyu_emu.model.MessageDialogViewModel -import dev.suyu.suyu_emu.utils.Log +import org.suyu.suyu_emu.R +import org.suyu.suyu_emu.model.MessageDialogViewModel +import org.suyu.suyu_emu.utils.Log class MessageDialogFragment : DialogFragment() { private val messageDialogViewModel: MessageDialogViewModel by activityViewModels() diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/fragments/PermissionDeniedDialogFragment.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/fragments/PermissionDeniedDialogFragment.kt similarity index 91% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/fragments/PermissionDeniedDialogFragment.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/fragments/PermissionDeniedDialogFragment.kt index 02e91db633..82e00237b4 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/fragments/PermissionDeniedDialogFragment.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/fragments/PermissionDeniedDialogFragment.kt @@ -1,7 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.fragments +package org.suyu.suyu_emu.fragments import android.app.Dialog import android.content.DialogInterface @@ -11,7 +11,7 @@ import android.os.Bundle import android.provider.Settings import androidx.fragment.app.DialogFragment import com.google.android.material.dialog.MaterialAlertDialogBuilder -import dev.suyu.suyu_emu.R +import org.suyu.suyu_emu.R class PermissionDeniedDialogFragment : DialogFragment() { override fun onCreateDialog(savedInstanceState: Bundle?): Dialog { diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/fragments/ProgressDialogFragment.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/fragments/ProgressDialogFragment.kt similarity index 93% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/fragments/ProgressDialogFragment.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/fragments/ProgressDialogFragment.kt index db6a7c4e82..45f7f1206e 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/fragments/ProgressDialogFragment.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/fragments/ProgressDialogFragment.kt @@ -1,7 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.fragments +package org.suyu.suyu_emu.fragments import android.app.Dialog import android.os.Bundle @@ -15,11 +15,11 @@ import androidx.fragment.app.FragmentActivity import androidx.fragment.app.activityViewModels import androidx.lifecycle.ViewModelProvider import com.google.android.material.dialog.MaterialAlertDialogBuilder -import dev.suyu.suyu_emu.R -import dev.suyu.suyu_emu.databinding.DialogProgressBarBinding -import dev.suyu.suyu_emu.model.TaskViewModel -import dev.suyu.suyu_emu.utils.ViewUtils.setVisible -import dev.suyu.suyu_emu.utils.collect +import org.suyu.suyu_emu.R +import org.suyu.suyu_emu.databinding.DialogProgressBarBinding +import org.suyu.suyu_emu.model.TaskViewModel +import org.suyu.suyu_emu.utils.ViewUtils.setVisible +import org.suyu.suyu_emu.utils.collect class ProgressDialogFragment : DialogFragment() { private val taskViewModel: TaskViewModel by activityViewModels() diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/fragments/ResetSettingsDialogFragment.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/fragments/ResetSettingsDialogFragment.kt similarity index 83% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/fragments/ResetSettingsDialogFragment.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/fragments/ResetSettingsDialogFragment.kt index ff96b1f8d5..97b2f646c8 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/fragments/ResetSettingsDialogFragment.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/fragments/ResetSettingsDialogFragment.kt @@ -1,14 +1,14 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.fragments +package org.suyu.suyu_emu.fragments import android.app.Dialog import android.os.Bundle import androidx.fragment.app.DialogFragment import com.google.android.material.dialog.MaterialAlertDialogBuilder -import dev.suyu.suyu_emu.R -import dev.suyu.suyu_emu.features.settings.ui.SettingsActivity +import org.suyu.suyu_emu.R +import org.suyu.suyu_emu.features.settings.ui.SettingsActivity class ResetSettingsDialogFragment : DialogFragment() { override fun onCreateDialog(savedInstanceState: Bundle?): Dialog { diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/fragments/SearchFragment.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/fragments/SearchFragment.kt similarity index 94% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/fragments/SearchFragment.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/fragments/SearchFragment.kt index 7216fc641e..5200c4e88c 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/fragments/SearchFragment.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/fragments/SearchFragment.kt @@ -1,7 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.fragments +package org.suyu.suyu_emu.fragments import android.content.Context import android.content.SharedPreferences @@ -21,16 +21,16 @@ import androidx.preference.PreferenceManager import info.debatty.java.stringsimilarity.Jaccard import info.debatty.java.stringsimilarity.JaroWinkler import java.util.Locale -import dev.suyu.suyu_emu.R -import dev.suyu.suyu_emu.SuyuApplication -import dev.suyu.suyu_emu.adapters.GameAdapter -import dev.suyu.suyu_emu.databinding.FragmentSearchBinding -import dev.suyu.suyu_emu.layout.AutofitGridLayoutManager -import dev.suyu.suyu_emu.model.Game -import dev.suyu.suyu_emu.model.GamesViewModel -import dev.suyu.suyu_emu.model.HomeViewModel -import dev.suyu.suyu_emu.utils.ViewUtils.setVisible -import dev.suyu.suyu_emu.utils.collect +import org.suyu.suyu_emu.R +import org.suyu.suyu_emu.SuyuApplication +import org.suyu.suyu_emu.adapters.GameAdapter +import org.suyu.suyu_emu.databinding.FragmentSearchBinding +import org.suyu.suyu_emu.layout.AutofitGridLayoutManager +import org.suyu.suyu_emu.model.Game +import org.suyu.suyu_emu.model.GamesViewModel +import org.suyu.suyu_emu.model.HomeViewModel +import org.suyu.suyu_emu.utils.ViewUtils.setVisible +import org.suyu.suyu_emu.utils.collect class SearchFragment : Fragment() { private var _binding: FragmentSearchBinding? = null diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/fragments/SetupFragment.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/fragments/SetupFragment.kt similarity index 94% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/fragments/SetupFragment.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/fragments/SetupFragment.kt index 3c2ccf4bcd..0576b2e9b5 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/fragments/SetupFragment.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/fragments/SetupFragment.kt @@ -1,7 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.fragments +package org.suyu.suyu_emu.fragments import android.Manifest import android.content.Intent @@ -26,23 +26,24 @@ import androidx.navigation.findNavController import androidx.preference.PreferenceManager import androidx.viewpager2.widget.ViewPager2.OnPageChangeCallback import com.google.android.material.transition.MaterialFadeThrough -import dev.suyu.suyu_emu.NativeLibrary +import kotlinx.coroutines.launch +import org.suyu.suyu_emu.NativeLibrary import java.io.File -import dev.suyu.suyu_emu.R -import dev.suyu.suyu_emu.SuyuApplication -import dev.suyu.suyu_emu.adapters.SetupAdapter -import dev.suyu.suyu_emu.databinding.FragmentSetupBinding -import dev.suyu.suyu_emu.features.settings.model.Settings -import dev.suyu.suyu_emu.model.HomeViewModel -import dev.suyu.suyu_emu.model.SetupCallback -import dev.suyu.suyu_emu.model.SetupPage -import dev.suyu.suyu_emu.model.StepState -import dev.suyu.suyu_emu.ui.main.MainActivity -import dev.suyu.suyu_emu.utils.DirectoryInitialization -import dev.suyu.suyu_emu.utils.NativeConfig -import dev.suyu.suyu_emu.utils.ViewUtils -import dev.suyu.suyu_emu.utils.ViewUtils.setVisible -import dev.suyu.suyu_emu.utils.collect +import org.suyu.suyu_emu.R +import org.suyu.suyu_emu.SuyuApplication +import org.suyu.suyu_emu.adapters.SetupAdapter +import org.suyu.suyu_emu.databinding.FragmentSetupBinding +import org.suyu.suyu_emu.features.settings.model.Settings +import org.suyu.suyu_emu.model.HomeViewModel +import org.suyu.suyu_emu.model.SetupCallback +import org.suyu.suyu_emu.model.SetupPage +import org.suyu.suyu_emu.model.StepState +import org.suyu.suyu_emu.ui.main.MainActivity +import org.suyu.suyu_emu.utils.DirectoryInitialization +import org.suyu.suyu_emu.utils.NativeConfig +import org.suyu.suyu_emu.utils.ViewUtils +import org.suyu.suyu_emu.utils.ViewUtils.setVisible +import org.suyu.suyu_emu.utils.collect class SetupFragment : Fragment() { private var _binding: FragmentSetupBinding? = null diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/fragments/SetupWarningDialogFragment.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/fragments/SetupWarningDialogFragment.kt similarity index 95% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/fragments/SetupWarningDialogFragment.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/fragments/SetupWarningDialogFragment.kt index 70556f57a6..ad6a8492a8 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/fragments/SetupWarningDialogFragment.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/fragments/SetupWarningDialogFragment.kt @@ -1,7 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.fragments +package org.suyu.suyu_emu.fragments import android.app.Dialog import android.content.DialogInterface @@ -10,7 +10,7 @@ import android.net.Uri import android.os.Bundle import androidx.fragment.app.DialogFragment import com.google.android.material.dialog.MaterialAlertDialogBuilder -import dev.suyu.suyu_emu.R +import org.suyu.suyu_emu.R class SetupWarningDialogFragment : DialogFragment() { private var titleId: Int = 0 diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/layout/AutofitGridLayoutManager.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/layout/AutofitGridLayoutManager.kt similarity index 94% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/layout/AutofitGridLayoutManager.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/layout/AutofitGridLayoutManager.kt index b5bad73c03..855eb592b6 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/layout/AutofitGridLayoutManager.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/layout/AutofitGridLayoutManager.kt @@ -1,13 +1,13 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.layout +package org.suyu.suyu_emu.layout import android.content.Context import androidx.recyclerview.widget.GridLayoutManager import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView.Recycler -import dev.suyu.suyu_emu.R +import org.suyu.suyu_emu.R /** * Cut down version of the solution provided here diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/model/AddonViewModel.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/model/AddonViewModel.kt similarity index 94% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/model/AddonViewModel.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/model/AddonViewModel.kt index 184668475c..dc1fed395c 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/model/AddonViewModel.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/model/AddonViewModel.kt @@ -1,7 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.model +package org.suyu.suyu_emu.model import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope @@ -10,8 +10,8 @@ import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.asStateFlow import kotlinx.coroutines.launch import kotlinx.coroutines.withContext -import dev.suyu.suyu_emu.NativeLibrary -import dev.suyu.suyu_emu.utils.NativeConfig +import org.suyu.suyu_emu.NativeLibrary +import org.suyu.suyu_emu.utils.NativeConfig import java.util.concurrent.atomic.AtomicBoolean class AddonViewModel : ViewModel() { diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/model/Applet.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/model/Applet.kt similarity index 93% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/model/Applet.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/model/Applet.kt index 37f50588df..3b3b33643b 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/model/Applet.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/model/Applet.kt @@ -1,11 +1,11 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.model +package org.suyu.suyu_emu.model import androidx.annotation.DrawableRes import androidx.annotation.StringRes -import dev.suyu.suyu_emu.R +import org.suyu.suyu_emu.R data class Applet( @StringRes val titleId: Int, diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/model/Driver.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/model/Driver.kt similarity index 82% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/model/Driver.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/model/Driver.kt index a866ceb6b8..849b88be4c 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/model/Driver.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/model/Driver.kt @@ -1,10 +1,9 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.model +package org.suyu.suyu_emu.model -import dev.suyu.suyu_emu.utils.GpuDriverMetadata +import org.suyu.suyu_emu.utils.GpuDriverMetadata data class Driver( override var selected: Boolean, diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/model/DriverViewModel.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/model/DriverViewModel.kt similarity index 92% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/model/DriverViewModel.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/model/DriverViewModel.kt index 7d4f59c493..252c981d0d 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/model/DriverViewModel.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/model/DriverViewModel.kt @@ -1,7 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.model +package org.suyu.suyu_emu.model import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope @@ -14,14 +14,14 @@ import kotlinx.coroutines.flow.combine import kotlinx.coroutines.flow.stateIn import kotlinx.coroutines.launch import kotlinx.coroutines.withContext -import dev.suyu.suyu_emu.R -import dev.suyu.suyu_emu.SuyuApplication -import dev.suyu.suyu_emu.features.settings.model.StringSetting -import dev.suyu.suyu_emu.features.settings.utils.SettingsFile -import dev.suyu.suyu_emu.model.Driver.Companion.toDriver -import dev.suyu.suyu_emu.utils.GpuDriverHelper -import dev.suyu.suyu_emu.utils.GpuDriverMetadata -import dev.suyu.suyu_emu.utils.NativeConfig +import org.suyu.suyu_emu.R +import org.suyu.suyu_emu.SuyuApplication +import org.suyu.suyu_emu.features.settings.model.StringSetting +import org.suyu.suyu_emu.features.settings.utils.SettingsFile +import org.suyu.suyu_emu.model.Driver.Companion.toDriver +import org.suyu.suyu_emu.utils.GpuDriverHelper +import org.suyu.suyu_emu.utils.GpuDriverMetadata +import org.suyu.suyu_emu.utils.NativeConfig import java.io.File class DriverViewModel : ViewModel() { diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/model/EmulationViewModel.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/model/EmulationViewModel.kt similarity index 96% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/model/EmulationViewModel.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/model/EmulationViewModel.kt index 3a0124b8b0..3b73ccdc5e 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/model/EmulationViewModel.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/model/EmulationViewModel.kt @@ -1,7 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-3.0-or-later -package dev.suyu.suyu_emu.model +package org.suyu.suyu_emu.model import androidx.lifecycle.ViewModel import kotlinx.coroutines.flow.MutableStateFlow diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/model/Game.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/model/Game.kt similarity index 89% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/model/Game.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/model/Game.kt index b186df68ab..819c14da43 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/model/Game.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/model/Game.kt @@ -1,7 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.model +package org.suyu.suyu_emu.model import android.content.Intent import android.net.Uri @@ -9,12 +9,12 @@ import android.os.Parcelable import java.util.HashSet import kotlinx.parcelize.Parcelize import kotlinx.serialization.Serializable -import dev.suyu.suyu_emu.NativeLibrary -import dev.suyu.suyu_emu.R -import dev.suyu.suyu_emu.SuyuApplication -import dev.suyu.suyu_emu.activities.EmulationActivity -import dev.suyu.suyu_emu.utils.DirectoryInitialization -import dev.suyu.suyu_emu.utils.FileUtil +import org.suyu.suyu_emu.NativeLibrary +import org.suyu.suyu_emu.R +import org.suyu.suyu_emu.SuyuApplication +import org.suyu.suyu_emu.activities.EmulationActivity +import org.suyu.suyu_emu.utils.DirectoryInitialization +import org.suyu.suyu_emu.utils.FileUtil import java.time.LocalDateTime import java.time.format.DateTimeFormatter diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/model/GameDir.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/model/GameDir.kt similarity index 71% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/model/GameDir.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/model/GameDir.kt index 881b6c992e..e794ed82ac 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/model/GameDir.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/model/GameDir.kt @@ -1,7 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.model +package org.suyu.suyu_emu.model import android.os.Parcelable import kotlinx.parcelize.Parcelize diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/model/GameProperties.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/model/GameProperties.kt similarity index 90% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/model/GameProperties.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/model/GameProperties.kt index c052f4aaae..f5f951ee73 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/model/GameProperties.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/model/GameProperties.kt @@ -1,7 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.model +package org.suyu.suyu_emu.model import androidx.annotation.DrawableRes import androidx.annotation.StringRes diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/model/GameVerificationResult.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/model/GameVerificationResult.kt similarity index 80% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/model/GameVerificationResult.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/model/GameVerificationResult.kt index 4964e16209..4c6968eb46 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/model/GameVerificationResult.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/model/GameVerificationResult.kt @@ -1,8 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.model +package org.suyu.suyu_emu.model enum class GameVerificationResult(val int: Int) { Success(0), diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/model/GamesViewModel.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/model/GamesViewModel.kt similarity index 95% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/model/GamesViewModel.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/model/GamesViewModel.kt index 58105ae341..8e63812732 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/model/GamesViewModel.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/model/GamesViewModel.kt @@ -1,7 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.model +package org.suyu.suyu_emu.model import android.net.Uri import androidx.documentfile.provider.DocumentFile @@ -17,10 +17,10 @@ import kotlinx.coroutines.launch import kotlinx.coroutines.withContext import kotlinx.serialization.decodeFromString import kotlinx.serialization.json.Json -import dev.suyu.suyu_emu.NativeLibrary -import dev.suyu.suyu_emu.SuyuApplication -import dev.suyu.suyu_emu.utils.GameHelper -import dev.suyu.suyu_emu.utils.NativeConfig +import org.suyu.suyu_emu.NativeLibrary +import org.suyu.suyu_emu.SuyuApplication +import org.suyu.suyu_emu.utils.GameHelper +import org.suyu.suyu_emu.utils.NativeConfig import java.util.concurrent.atomic.AtomicBoolean class GamesViewModel : ViewModel() { diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/model/HomeSetting.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/model/HomeSetting.kt similarity index 83% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/model/HomeSetting.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/model/HomeSetting.kt index 6097181df2..c603f6fecf 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/model/HomeSetting.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/model/HomeSetting.kt @@ -1,7 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.model +package org.suyu.suyu_emu.model import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/model/HomeViewModel.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/model/HomeViewModel.kt similarity index 96% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/model/HomeViewModel.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/model/HomeViewModel.kt index d0e9a44149..e9a1b03c9c 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/model/HomeViewModel.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/model/HomeViewModel.kt @@ -1,7 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-3.0-or-later -package dev.suyu.suyu_emu.model +package org.suyu.suyu_emu.model import android.net.Uri import androidx.lifecycle.ViewModel diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/model/InstallResult.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/model/InstallResult.kt similarity index 80% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/model/InstallResult.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/model/InstallResult.kt index 40668f192d..e14c3d6fff 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/model/InstallResult.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/model/InstallResult.kt @@ -1,8 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.model +package org.suyu.suyu_emu.model enum class InstallResult(val int: Int) { Success(0), diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/model/Installable.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/model/Installable.kt similarity index 75% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/model/Installable.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/model/Installable.kt index 632121f191..3f57dd7ad0 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/model/Installable.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/model/Installable.kt @@ -1,7 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.model +package org.suyu.suyu_emu.model import androidx.annotation.StringRes diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/model/License.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/model/License.kt similarity index 76% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/model/License.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/model/License.kt index e10a68f668..630ff8dc26 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/model/License.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/model/License.kt @@ -1,7 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.model +package org.suyu.suyu_emu.model import android.os.Parcelable import kotlinx.parcelize.Parcelize diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/model/MessageDialogViewModel.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/model/MessageDialogViewModel.kt similarity index 78% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/model/MessageDialogViewModel.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/model/MessageDialogViewModel.kt index 02474352c5..db3406da76 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/model/MessageDialogViewModel.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/model/MessageDialogViewModel.kt @@ -1,7 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.model +package org.suyu.suyu_emu.model import androidx.lifecycle.ViewModel diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/model/MinimalDocumentFile.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/model/MinimalDocumentFile.kt similarity index 76% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/model/MinimalDocumentFile.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/model/MinimalDocumentFile.kt index f6580c8e2a..6f985268f0 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/model/MinimalDocumentFile.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/model/MinimalDocumentFile.kt @@ -1,7 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.model +package org.suyu.suyu_emu.model import android.net.Uri import android.provider.DocumentsContract diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/model/Patch.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/model/Patch.kt similarity index 74% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/model/Patch.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/model/Patch.kt index aa105c3401..5849a6a366 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/model/Patch.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/model/Patch.kt @@ -1,7 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.model +package org.suyu.suyu_emu.model import androidx.annotation.Keep diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/model/PatchType.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/model/PatchType.kt similarity index 77% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/model/PatchType.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/model/PatchType.kt index b48cc843dd..461af65a21 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/model/PatchType.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/model/PatchType.kt @@ -1,8 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.model +package org.suyu.suyu_emu.model enum class PatchType(val int: Int) { Update(0), diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/model/SelectableItem.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/model/SelectableItem.kt similarity index 70% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/model/SelectableItem.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/model/SelectableItem.kt index a98315c653..700ceac33a 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/model/SelectableItem.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/model/SelectableItem.kt @@ -1,8 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.model +package org.suyu.suyu_emu.model interface SelectableItem { var selected: Boolean diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/model/SetupPage.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/model/SetupPage.kt similarity index 87% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/model/SetupPage.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/model/SetupPage.kt index 4766b1870a..cccba01214 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/model/SetupPage.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/model/SetupPage.kt @@ -1,7 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.model +package org.suyu.suyu_emu.model data class SetupPage( val iconId: Int, diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/model/TaskViewModel.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/model/TaskViewModel.kt similarity index 96% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/model/TaskViewModel.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/model/TaskViewModel.kt index b3f9daaf98..f97a339872 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/model/TaskViewModel.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/model/TaskViewModel.kt @@ -1,7 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.model +package org.suyu.suyu_emu.model import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/overlay/InputOverlay.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/overlay/InputOverlay.kt similarity index 98% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/overlay/InputOverlay.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/overlay/InputOverlay.kt index dd5d906b53..aedc494dfb 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/overlay/InputOverlay.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/overlay/InputOverlay.kt @@ -1,7 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.overlay +package org.suyu.suyu_emu.overlay import android.app.Activity import android.content.Context @@ -24,17 +24,17 @@ import androidx.core.content.ContextCompat import androidx.window.layout.WindowMetricsCalculator import kotlin.math.max import kotlin.math.min -import dev.suyu.suyu_emu.features.input.NativeInput -import dev.suyu.suyu_emu.R -import dev.suyu.suyu_emu.features.input.model.NativeAnalog -import dev.suyu.suyu_emu.features.input.model.NativeButton -import dev.suyu.suyu_emu.features.input.model.NpadStyleIndex -import dev.suyu.suyu_emu.features.settings.model.BooleanSetting -import dev.suyu.suyu_emu.features.settings.model.IntSetting -import dev.suyu.suyu_emu.overlay.model.OverlayControl -import dev.suyu.suyu_emu.overlay.model.OverlayControlData -import dev.suyu.suyu_emu.overlay.model.OverlayLayout -import dev.suyu.suyu_emu.utils.NativeConfig +import org.suyu.suyu_emu.features.input.NativeInput +import org.suyu.suyu_emu.R +import org.suyu.suyu_emu.features.input.model.NativeAnalog +import org.suyu.suyu_emu.features.input.model.NativeButton +import org.suyu.suyu_emu.features.input.model.NpadStyleIndex +import org.suyu.suyu_emu.features.settings.model.BooleanSetting +import org.suyu.suyu_emu.features.settings.model.IntSetting +import org.suyu.suyu_emu.overlay.model.OverlayControl +import org.suyu.suyu_emu.overlay.model.OverlayControlData +import org.suyu.suyu_emu.overlay.model.OverlayLayout +import org.suyu.suyu_emu.utils.NativeConfig /** * Draws the interactive input overlay on top of the diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/overlay/InputOverlayDrawableButton.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/overlay/InputOverlayDrawableButton.kt similarity index 94% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/overlay/InputOverlayDrawableButton.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/overlay/InputOverlayDrawableButton.kt index 3d94061bb5..a9e49f6ad0 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/overlay/InputOverlayDrawableButton.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/overlay/InputOverlayDrawableButton.kt @@ -1,7 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.overlay +package org.suyu.suyu_emu.overlay import android.content.res.Resources import android.graphics.Bitmap @@ -9,9 +9,9 @@ import android.graphics.Canvas import android.graphics.Rect import android.graphics.drawable.BitmapDrawable import android.view.MotionEvent -import dev.suyu.suyu_emu.features.input.NativeInput.ButtonState -import dev.suyu.suyu_emu.features.input.model.NativeButton -import dev.suyu.suyu_emu.overlay.model.OverlayControlData +import org.suyu.suyu_emu.features.input.NativeInput.ButtonState +import org.suyu.suyu_emu.features.input.model.NativeButton +import org.suyu.suyu_emu.overlay.model.OverlayControlData /** * Custom [BitmapDrawable] that is capable diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/overlay/InputOverlayDrawableDpad.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/overlay/InputOverlayDrawableDpad.kt similarity index 97% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/overlay/InputOverlayDrawableDpad.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/overlay/InputOverlayDrawableDpad.kt index 35d1f70f5e..c2d41119a8 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/overlay/InputOverlayDrawableDpad.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/overlay/InputOverlayDrawableDpad.kt @@ -1,7 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.overlay +package org.suyu.suyu_emu.overlay import android.content.res.Resources import android.graphics.Bitmap @@ -9,8 +9,8 @@ import android.graphics.Canvas import android.graphics.Rect import android.graphics.drawable.BitmapDrawable import android.view.MotionEvent -import dev.suyu.suyu_emu.features.input.NativeInput.ButtonState -import dev.suyu.suyu_emu.features.input.model.NativeButton +import org.suyu.suyu_emu.features.input.NativeInput.ButtonState +import org.suyu.suyu_emu.features.input.model.NativeButton /** * Custom [BitmapDrawable] that is capable diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/overlay/InputOverlayDrawableJoystick.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/overlay/InputOverlayDrawableJoystick.kt similarity index 96% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/overlay/InputOverlayDrawableJoystick.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/overlay/InputOverlayDrawableJoystick.kt index 8afa134ae4..6244d54197 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/overlay/InputOverlayDrawableJoystick.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/overlay/InputOverlayDrawableJoystick.kt @@ -1,7 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.overlay +package org.suyu.suyu_emu.overlay import android.content.res.Resources import android.graphics.Bitmap @@ -13,10 +13,10 @@ import kotlin.math.atan2 import kotlin.math.cos import kotlin.math.sin import kotlin.math.sqrt -import dev.suyu.suyu_emu.features.input.NativeInput.ButtonState -import dev.suyu.suyu_emu.features.input.model.NativeAnalog -import dev.suyu.suyu_emu.features.input.model.NativeButton -import dev.suyu.suyu_emu.features.settings.model.BooleanSetting +import org.suyu.suyu_emu.features.input.NativeInput.ButtonState +import org.suyu.suyu_emu.features.input.model.NativeAnalog +import org.suyu.suyu_emu.features.input.model.NativeButton +import org.suyu.suyu_emu.features.settings.model.BooleanSetting /** * Custom [BitmapDrawable] that is capable diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/overlay/model/OverlayControl.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/overlay/model/OverlayControl.kt similarity index 97% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/overlay/model/OverlayControl.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/overlay/model/OverlayControl.kt index a9e32675e8..8293a57982 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/overlay/model/OverlayControl.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/overlay/model/OverlayControl.kt @@ -1,11 +1,11 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.overlay.model +package org.suyu.suyu_emu.overlay.model import androidx.annotation.IntegerRes -import dev.suyu.suyu_emu.R -import dev.suyu.suyu_emu.SuyuApplication +import org.suyu.suyu_emu.R +import org.suyu.suyu_emu.SuyuApplication enum class OverlayControl( val id: String, diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/overlay/model/OverlayControlData.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/overlay/model/OverlayControlData.kt similarity index 85% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/overlay/model/OverlayControlData.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/overlay/model/OverlayControlData.kt index 2a4267da2e..00e7cd20ed 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/overlay/model/OverlayControlData.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/overlay/model/OverlayControlData.kt @@ -1,7 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.overlay.model +package org.suyu.suyu_emu.overlay.model data class OverlayControlData( val id: String, diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/overlay/model/OverlayControlDefault.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/overlay/model/OverlayControlDefault.kt similarity index 78% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/overlay/model/OverlayControlDefault.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/overlay/model/OverlayControlDefault.kt index 74ca6edec4..c4e0a9a65b 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/overlay/model/OverlayControlDefault.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/overlay/model/OverlayControlDefault.kt @@ -1,7 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.overlay.model +package org.suyu.suyu_emu.overlay.model import androidx.annotation.IntegerRes diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/overlay/model/OverlayLayout.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/overlay/model/OverlayLayout.kt similarity index 64% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/overlay/model/OverlayLayout.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/overlay/model/OverlayLayout.kt index f8595593d9..3b1cbaa092 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/overlay/model/OverlayLayout.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/overlay/model/OverlayLayout.kt @@ -1,7 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.overlay.model +package org.suyu.suyu_emu.overlay.model enum class OverlayLayout(val id: String) { Landscape("Landscape"), diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/ui/GamesFragment.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/ui/GamesFragment.kt similarity index 91% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/ui/GamesFragment.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/ui/GamesFragment.kt index 39b1ef8b77..45d22dcd20 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/ui/GamesFragment.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/ui/GamesFragment.kt @@ -1,7 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.ui +package org.suyu.suyu_emu.ui import android.os.Bundle import android.view.LayoutInflater @@ -14,15 +14,15 @@ import androidx.core.view.updatePadding import androidx.fragment.app.Fragment import androidx.fragment.app.activityViewModels import com.google.android.material.color.MaterialColors -import dev.suyu.suyu_emu.R -import dev.suyu.suyu_emu.adapters.GameAdapter -import dev.suyu.suyu_emu.databinding.FragmentGamesBinding -import dev.suyu.suyu_emu.layout.AutofitGridLayoutManager -import dev.suyu.suyu_emu.model.GamesViewModel -import dev.suyu.suyu_emu.model.HomeViewModel -import dev.suyu.suyu_emu.utils.ViewUtils.setVisible -import dev.suyu.suyu_emu.utils.ViewUtils.updateMargins -import dev.suyu.suyu_emu.utils.collect +import org.suyu.suyu_emu.R +import org.suyu.suyu_emu.adapters.GameAdapter +import org.suyu.suyu_emu.databinding.FragmentGamesBinding +import org.suyu.suyu_emu.layout.AutofitGridLayoutManager +import org.suyu.suyu_emu.model.GamesViewModel +import org.suyu.suyu_emu.model.HomeViewModel +import org.suyu.suyu_emu.utils.ViewUtils.setVisible +import org.suyu.suyu_emu.utils.ViewUtils.updateMargins +import org.suyu.suyu_emu.utils.collect class GamesFragment : Fragment() { private var _binding: FragmentGamesBinding? = null diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/ui/main/MainActivity.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/ui/main/MainActivity.kt similarity index 96% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/ui/main/MainActivity.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/ui/main/MainActivity.kt index c994a3510d..90fccd4acc 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/ui/main/MainActivity.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/ui/main/MainActivity.kt @@ -1,7 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.ui.main +package org.suyu.suyu_emu.ui.main import android.content.Intent import android.net.Uri @@ -27,23 +27,23 @@ import com.google.android.material.color.MaterialColors import com.google.android.material.navigation.NavigationBarView import java.io.File import java.io.FilenameFilter -import dev.suyu.suyu_emu.HomeNavigationDirections -import dev.suyu.suyu_emu.NativeLibrary -import dev.suyu.suyu_emu.R -import dev.suyu.suyu_emu.databinding.ActivityMainBinding -import dev.suyu.suyu_emu.features.settings.model.Settings -import dev.suyu.suyu_emu.fragments.AddGameFolderDialogFragment -import dev.suyu.suyu_emu.fragments.ProgressDialogFragment -import dev.suyu.suyu_emu.fragments.MessageDialogFragment -import dev.suyu.suyu_emu.model.AddonViewModel -import dev.suyu.suyu_emu.model.DriverViewModel -import dev.suyu.suyu_emu.model.GamesViewModel -import dev.suyu.suyu_emu.model.HomeViewModel -import dev.suyu.suyu_emu.model.InstallResult -import dev.suyu.suyu_emu.model.TaskState -import dev.suyu.suyu_emu.model.TaskViewModel -import dev.suyu.suyu_emu.utils.* -import dev.suyu.suyu_emu.utils.ViewUtils.setVisible +import org.suyu.suyu_emu.HomeNavigationDirections +import org.suyu.suyu_emu.NativeLibrary +import org.suyu.suyu_emu.R +import org.suyu.suyu_emu.databinding.ActivityMainBinding +import org.suyu.suyu_emu.features.settings.model.Settings +import org.suyu.suyu_emu.fragments.AddGameFolderDialogFragment +import org.suyu.suyu_emu.fragments.ProgressDialogFragment +import org.suyu.suyu_emu.fragments.MessageDialogFragment +import org.suyu.suyu_emu.model.AddonViewModel +import org.suyu.suyu_emu.model.DriverViewModel +import org.suyu.suyu_emu.model.GamesViewModel +import org.suyu.suyu_emu.model.HomeViewModel +import org.suyu.suyu_emu.model.InstallResult +import org.suyu.suyu_emu.model.TaskState +import org.suyu.suyu_emu.model.TaskViewModel +import org.suyu.suyu_emu.utils.* +import org.suyu.suyu_emu.utils.ViewUtils.setVisible import java.io.BufferedInputStream import java.io.BufferedOutputStream import java.util.zip.ZipEntry diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/ui/main/ThemeProvider.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/ui/main/ThemeProvider.kt similarity index 70% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/ui/main/ThemeProvider.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/ui/main/ThemeProvider.kt index c9c7f87636..2e282779b2 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/ui/main/ThemeProvider.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/ui/main/ThemeProvider.kt @@ -1,7 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.ui.main +package org.suyu.suyu_emu.ui.main interface ThemeProvider { /** diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/utils/AddonUtil.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/utils/AddonUtil.kt similarity index 61% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/utils/AddonUtil.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/utils/AddonUtil.kt index c1d93ba585..6822a68868 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/utils/AddonUtil.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/utils/AddonUtil.kt @@ -1,7 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.utils +package org.suyu.suyu_emu.utils object AddonUtil { val validAddonDirectories = listOf("cheats", "exefs", "romfs") diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/utils/DirectoryInitialization.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/utils/DirectoryInitialization.kt similarity index 93% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/utils/DirectoryInitialization.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/utils/DirectoryInitialization.kt index dd0257a0e5..e316a64b37 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/utils/DirectoryInitialization.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/utils/DirectoryInitialization.kt @@ -1,19 +1,19 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.utils +package org.suyu.suyu_emu.utils import androidx.preference.PreferenceManager import java.io.IOException -import dev.suyu.suyu_emu.NativeLibrary -import dev.suyu.suyu_emu.SuyuApplication -import dev.suyu.suyu_emu.features.settings.model.BooleanSetting -import dev.suyu.suyu_emu.features.settings.model.IntSetting -import dev.suyu.suyu_emu.features.settings.model.Settings -import dev.suyu.suyu_emu.overlay.model.OverlayControlData -import dev.suyu.suyu_emu.overlay.model.OverlayControl -import dev.suyu.suyu_emu.overlay.model.OverlayLayout -import dev.suyu.suyu_emu.utils.PreferenceUtil.migratePreference +import org.suyu.suyu_emu.NativeLibrary +import org.suyu.suyu_emu.SuyuApplication +import org.suyu.suyu_emu.features.settings.model.BooleanSetting +import org.suyu.suyu_emu.features.settings.model.IntSetting +import org.suyu.suyu_emu.features.settings.model.Settings +import org.suyu.suyu_emu.overlay.model.OverlayControlData +import org.suyu.suyu_emu.overlay.model.OverlayControl +import org.suyu.suyu_emu.overlay.model.OverlayLayout +import org.suyu.suyu_emu.utils.PreferenceUtil.migratePreference object DirectoryInitialization { private var userPath: String? = null diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/utils/DocumentsTree.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/utils/DocumentsTree.kt similarity index 96% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/utils/DocumentsTree.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/utils/DocumentsTree.kt index fab217f538..c6485ba518 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/utils/DocumentsTree.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/utils/DocumentsTree.kt @@ -1,13 +1,13 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.utils +package org.suyu.suyu_emu.utils import android.net.Uri import androidx.documentfile.provider.DocumentFile import java.io.File import java.util.* -import dev.suyu.suyu_emu.model.MinimalDocumentFile +import org.suyu.suyu_emu.model.MinimalDocumentFile class DocumentsTree { private var root: DocumentsNode? = null diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/utils/FileUtil.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/utils/FileUtil.kt similarity index 98% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/utils/FileUtil.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/utils/FileUtil.kt index 8f10ab6711..b1c4dae838 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/utils/FileUtil.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/utils/FileUtil.kt @@ -1,7 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.utils +package org.suyu.suyu_emu.utils import android.database.Cursor import android.net.Uri @@ -14,9 +14,9 @@ import java.io.InputStream import java.net.URLDecoder import java.util.zip.ZipEntry import java.util.zip.ZipInputStream -import dev.suyu.suyu_emu.SuyuApplication -import dev.suyu.suyu_emu.model.MinimalDocumentFile -import dev.suyu.suyu_emu.model.TaskState +import org.suyu.suyu_emu.SuyuApplication +import org.suyu.suyu_emu.model.MinimalDocumentFile +import org.suyu.suyu_emu.model.TaskState import java.io.BufferedOutputStream import java.io.OutputStream import java.lang.NullPointerException diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/utils/GameHelper.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/utils/GameHelper.kt similarity index 94% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/utils/GameHelper.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/utils/GameHelper.kt index a413a44cd8..7564475258 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/utils/GameHelper.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/utils/GameHelper.kt @@ -1,18 +1,18 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.utils +package org.suyu.suyu_emu.utils import android.content.SharedPreferences import android.net.Uri import androidx.preference.PreferenceManager import kotlinx.serialization.encodeToString import kotlinx.serialization.json.Json -import dev.suyu.suyu_emu.NativeLibrary -import dev.suyu.suyu_emu.SuyuApplication -import dev.suyu.suyu_emu.model.Game -import dev.suyu.suyu_emu.model.GameDir -import dev.suyu.suyu_emu.model.MinimalDocumentFile +import org.suyu.suyu_emu.NativeLibrary +import org.suyu.suyu_emu.SuyuApplication +import org.suyu.suyu_emu.model.Game +import org.suyu.suyu_emu.model.GameDir +import org.suyu.suyu_emu.model.MinimalDocumentFile object GameHelper { private const val KEY_OLD_GAME_PATH = "game_path" diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/utils/GameIconUtils.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/utils/GameIconUtils.kt similarity index 94% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/utils/GameIconUtils.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/utils/GameIconUtils.kt index f941e9eb60..1ec58284e1 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/utils/GameIconUtils.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/utils/GameIconUtils.kt @@ -1,7 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.utils +package org.suyu.suyu_emu.utils import android.graphics.Bitmap import android.graphics.BitmapFactory @@ -21,9 +21,9 @@ import coil.key.Keyer import coil.memory.MemoryCache import coil.request.ImageRequest import coil.request.Options -import dev.suyu.suyu_emu.R -import dev.suyu.suyu_emu.SuyuApplication -import dev.suyu.suyu_emu.model.Game +import org.suyu.suyu_emu.R +import org.suyu.suyu_emu.SuyuApplication +import org.suyu.suyu_emu.model.Game class GameIconFetcher( private val game: Game, diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/utils/GameMetadata.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/utils/GameMetadata.kt similarity index 83% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/utils/GameMetadata.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/utils/GameMetadata.kt index 9847f81cc1..130f8010c1 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/utils/GameMetadata.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/utils/GameMetadata.kt @@ -1,7 +1,7 @@ -// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.utils +package org.suyu.suyu_emu.utils object GameMetadata { external fun getIsValid(path: String): Boolean diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/utils/GpuDriverHelper.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/utils/GpuDriverHelper.kt similarity index 97% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/utils/GpuDriverHelper.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/utils/GpuDriverHelper.kt index 2d7bc81553..ec250fc079 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/utils/GpuDriverHelper.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/utils/GpuDriverHelper.kt @@ -1,7 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.utils +package org.suyu.suyu_emu.utils import android.graphics.SurfaceTexture import android.net.Uri @@ -9,9 +9,9 @@ import android.os.Build import android.view.Surface import java.io.File import java.io.IOException -import dev.suyu.suyu_emu.NativeLibrary -import dev.suyu.suyu_emu.SuyuApplication -import dev.suyu.suyu_emu.features.settings.model.StringSetting +import org.suyu.suyu_emu.NativeLibrary +import org.suyu.suyu_emu.SuyuApplication +import org.suyu.suyu_emu.features.settings.model.StringSetting import java.io.FileNotFoundException import java.util.zip.ZipException import java.util.zip.ZipFile diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/utils/GpuDriverMetadata.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/utils/GpuDriverMetadata.kt similarity index 97% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/utils/GpuDriverMetadata.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/utils/GpuDriverMetadata.kt index 5b992ef1ce..8da7ec8f7d 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/utils/GpuDriverMetadata.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/utils/GpuDriverMetadata.kt @@ -1,7 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.utils +package org.suyu.suyu_emu.utils import java.io.IOException import org.json.JSONException diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/utils/InputHandler.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/utils/InputHandler.kt similarity index 92% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/utils/InputHandler.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/utils/InputHandler.kt index 394f6b8e24..c65b7bd297 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/utils/InputHandler.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/utils/InputHandler.kt @@ -1,14 +1,14 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-3.0-or-later -package dev.suyu.suyu_emu.utils +package org.suyu.suyu_emu.utils import android.view.InputDevice import android.view.KeyEvent import android.view.MotionEvent -import dev.suyu.suyu_emu.features.input.NativeInput -import dev.suyu.suyu_emu.features.input.SuyuInputOverlayDevice -import dev.suyu.suyu_emu.features.input.SuyuPhysicalDevice +import org.suyu.suyu_emu.features.input.NativeInput +import org.suyu.suyu_emu.features.input.SuyuInputOverlayDevice +import org.suyu.suyu_emu.features.input.SuyuPhysicalDevice object InputHandler { var androidControllers = mapOf() diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/utils/InsetsHelper.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/utils/InsetsHelper.kt similarity index 88% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/utils/InsetsHelper.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/utils/InsetsHelper.kt index e2eb325742..974c6c5d62 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/utils/InsetsHelper.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/utils/InsetsHelper.kt @@ -1,7 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-3.0-or-later -package dev.suyu.suyu_emu.utils +package org.suyu.suyu_emu.utils import android.annotation.SuppressLint import android.content.Context diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/utils/LifecycleUtils.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/utils/LifecycleUtils.kt similarity index 93% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/utils/LifecycleUtils.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/utils/LifecycleUtils.kt index 4cb1910f67..eb6d2241c9 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/utils/LifecycleUtils.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/utils/LifecycleUtils.kt @@ -1,8 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.utils +package org.suyu.suyu_emu.utils import androidx.lifecycle.Lifecycle import androidx.lifecycle.LifecycleOwner diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/utils/Log.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/utils/Log.kt similarity index 90% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/utils/Log.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/utils/Log.kt index 703f17361e..f74a4fa521 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/utils/Log.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/utils/Log.kt @@ -1,7 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.utils +package org.suyu.suyu_emu.utils import android.os.Build diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/utils/MemoryUtil.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/utils/MemoryUtil.kt similarity index 96% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/utils/MemoryUtil.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/utils/MemoryUtil.kt index abc08c7d4e..32826edaea 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/utils/MemoryUtil.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/utils/MemoryUtil.kt @@ -1,13 +1,13 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.utils +package org.suyu.suyu_emu.utils import android.app.ActivityManager import android.content.Context import android.os.Build -import dev.suyu.suyu_emu.R -import dev.suyu.suyu_emu.SuyuApplication +import org.suyu.suyu_emu.R +import org.suyu.suyu_emu.SuyuApplication import java.util.Locale import kotlin.math.ceil diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/utils/NativeConfig.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/utils/NativeConfig.kt similarity index 95% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/utils/NativeConfig.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/utils/NativeConfig.kt index fac09e9e16..5be827a08b 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/utils/NativeConfig.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/utils/NativeConfig.kt @@ -1,12 +1,12 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.utils +package org.suyu.suyu_emu.utils -import dev.suyu.suyu_emu.model.GameDir -import dev.suyu.suyu_emu.overlay.model.OverlayControlData +import org.suyu.suyu_emu.model.GameDir +import org.suyu.suyu_emu.overlay.model.OverlayControlData -import dev.suyu.suyu_emu.features.input.model.PlayerInput +import org.suyu.suyu_emu.features.input.model.PlayerInput object NativeConfig { /** diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/utils/NfcReader.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/utils/NfcReader.kt similarity index 97% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/utils/NfcReader.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/utils/NfcReader.kt index b32f246498..61c3fb3c84 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/utils/NfcReader.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/utils/NfcReader.kt @@ -1,7 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-3.0-or-later -package dev.suyu.suyu_emu.utils +package org.suyu.suyu_emu.utils import android.app.Activity import android.app.PendingIntent @@ -14,7 +14,7 @@ import android.os.Build import android.os.Handler import android.os.Looper import java.io.IOException -import dev.suyu.suyu_emu.features.input.NativeInput +import org.suyu.suyu_emu.features.input.NativeInput class NfcReader(private val activity: Activity) { private var nfcAdapter: NfcAdapter? = null diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/utils/ParamPackage.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/utils/ParamPackage.kt similarity index 98% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/utils/ParamPackage.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/utils/ParamPackage.kt index 30ff051910..c60df1752e 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/utils/ParamPackage.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/utils/ParamPackage.kt @@ -1,8 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.utils +package org.suyu.suyu_emu.utils // Kotlin version of src/common/param_package.h class ParamPackage(serialized: String = "") { diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/utils/PreferenceUtil.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/utils/PreferenceUtil.kt similarity index 92% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/utils/PreferenceUtil.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/utils/PreferenceUtil.kt index 1c16b3b401..226d9bcfd7 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/utils/PreferenceUtil.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/utils/PreferenceUtil.kt @@ -1,7 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.utils +package org.suyu.suyu_emu.utils import android.content.SharedPreferences diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/utils/SerializableHelper.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/utils/SerializableHelper.kt similarity index 93% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/utils/SerializableHelper.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/utils/SerializableHelper.kt index d75a47beea..9489ac48d5 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/utils/SerializableHelper.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/utils/SerializableHelper.kt @@ -1,7 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-3.0-or-later -package dev.suyu.suyu_emu.utils +package org.suyu.suyu_emu.utils import android.content.Intent import android.os.Build diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/utils/ThemeHelper.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/utils/ThemeHelper.kt similarity index 92% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/utils/ThemeHelper.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/utils/ThemeHelper.kt index eaff5893c5..3f91773178 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/utils/ThemeHelper.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/utils/ThemeHelper.kt @@ -1,7 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.utils +package org.suyu.suyu_emu.utils import android.content.res.Configuration import android.graphics.Color @@ -12,10 +12,10 @@ import androidx.appcompat.app.AppCompatDelegate import androidx.core.view.WindowCompat import androidx.core.view.WindowInsetsControllerCompat import kotlin.math.roundToInt -import dev.suyu.suyu_emu.R -import dev.suyu.suyu_emu.features.settings.model.BooleanSetting -import dev.suyu.suyu_emu.features.settings.model.IntSetting -import dev.suyu.suyu_emu.ui.main.ThemeProvider +import org.suyu.suyu_emu.R +import org.suyu.suyu_emu.features.settings.model.BooleanSetting +import org.suyu.suyu_emu.features.settings.model.IntSetting +import org.suyu.suyu_emu.ui.main.ThemeProvider object ThemeHelper { const val SYSTEM_BAR_ALPHA = 0.9f diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/utils/ViewUtils.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/utils/ViewUtils.kt similarity index 96% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/utils/ViewUtils.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/utils/ViewUtils.kt index 94bf0d890f..cc7c1ab26d 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/utils/ViewUtils.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/utils/ViewUtils.kt @@ -1,7 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.utils +package org.suyu.suyu_emu.utils import android.text.TextUtils import android.view.View diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/viewholder/AbstractViewHolder.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/viewholder/AbstractViewHolder.kt similarity index 72% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/viewholder/AbstractViewHolder.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/viewholder/AbstractViewHolder.kt index c1991d609a..f9c76b0493 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/viewholder/AbstractViewHolder.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/viewholder/AbstractViewHolder.kt @@ -1,13 +1,12 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.viewholder +package org.suyu.suyu_emu.viewholder import androidx.recyclerview.widget.RecyclerView import androidx.viewbinding.ViewBinding -import dev.suyu.suyu_emu.adapters.AbstractDiffAdapter -import dev.suyu.suyu_emu.adapters.AbstractListAdapter +import org.suyu.suyu_emu.adapters.AbstractDiffAdapter +import org.suyu.suyu_emu.adapters.AbstractListAdapter /** * [RecyclerView.ViewHolder] meant to work together with a [AbstractDiffAdapter] or a diff --git a/src/android/app/src/main/java/dev/suyu/suyu_emu/views/FixedRatioSurfaceView.kt b/src/android/app/src/main/java/org/suyu/suyu_emu/views/FixedRatioSurfaceView.kt similarity index 96% rename from src/android/app/src/main/java/dev/suyu/suyu_emu/views/FixedRatioSurfaceView.kt rename to src/android/app/src/main/java/org/suyu/suyu_emu/views/FixedRatioSurfaceView.kt index 181ddca032..bc5346a026 100644 --- a/src/android/app/src/main/java/dev/suyu/suyu_emu/views/FixedRatioSurfaceView.kt +++ b/src/android/app/src/main/java/org/suyu/suyu_emu/views/FixedRatioSurfaceView.kt @@ -1,7 +1,7 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later -package dev.suyu.suyu_emu.views +package org.suyu.suyu_emu.views import android.content.Context import android.util.AttributeSet diff --git a/src/android/app/src/main/jni/CMakeLists.txt b/src/android/app/src/main/jni/CMakeLists.txt index bcfec06a5f..59349991bc 100644 --- a/src/android/app/src/main/jni/CMakeLists.txt +++ b/src/android/app/src/main/jni/CMakeLists.txt @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2023 yuzu Emulator Project +# SPDX-FileCopyrightText: 2023 suyu Emulator Project # SPDX-License-Identifier: GPL-3.0-or-later add_library(suyu-android SHARED diff --git a/src/android/app/src/main/jni/android_config.cpp b/src/android/app/src/main/jni/android_config.cpp index a79a64afbb..c32eb0fc17 100644 --- a/src/android/app/src/main/jni/android_config.cpp +++ b/src/android/app/src/main/jni/android_config.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include diff --git a/src/android/app/src/main/jni/android_config.h b/src/android/app/src/main/jni/android_config.h index 28ef5d0a8e..8f69b03567 100644 --- a/src/android/app/src/main/jni/android_config.h +++ b/src/android/app/src/main/jni/android_config.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once diff --git a/src/android/app/src/main/jni/android_settings.cpp b/src/android/app/src/main/jni/android_settings.cpp index 16023a6b05..6a54bb61d8 100644 --- a/src/android/app/src/main/jni/android_settings.cpp +++ b/src/android/app/src/main/jni/android_settings.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include "android_settings.h" diff --git a/src/android/app/src/main/jni/android_settings.h b/src/android/app/src/main/jni/android_settings.h index 00baf86a9b..16ba078f80 100644 --- a/src/android/app/src/main/jni/android_settings.h +++ b/src/android/app/src/main/jni/android_settings.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once diff --git a/src/android/app/src/main/jni/emu_window/emu_window.cpp b/src/android/app/src/main/jni/emu_window/emu_window.cpp index 06db553691..a98f7891ca 100644 --- a/src/android/app/src/main/jni/emu_window/emu_window.cpp +++ b/src/android/app/src/main/jni/emu_window/emu_window.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-3.0-or-later #include diff --git a/src/android/app/src/main/jni/emu_window/emu_window.h b/src/android/app/src/main/jni/emu_window/emu_window.h index d7b5fc6dac..23643984d7 100644 --- a/src/android/app/src/main/jni/emu_window/emu_window.h +++ b/src/android/app/src/main/jni/emu_window/emu_window.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-3.0-or-later #pragma once diff --git a/src/android/app/src/main/jni/game_metadata.cpp b/src/android/app/src/main/jni/game_metadata.cpp index 52d29ce3ff..c9f3ed50f6 100644 --- a/src/android/app/src/main/jni/game_metadata.cpp +++ b/src/android/app/src/main/jni/game_metadata.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include "common/android/android_common.h" @@ -75,7 +75,7 @@ RomMetadata GetRomMetadata(const std::string& path, bool reload = false) { extern "C" { -jboolean Java_dev_suyu_suyu_1emu_utils_GameMetadata_getIsValid(JNIEnv* env, jobject obj, +jboolean Java_org_suyu_suyu_1emu_utils_GameMetadata_getIsValid(JNIEnv* env, jobject obj, jstring jpath) { const auto file = EmulationSession::GetInstance().System().GetFilesystem()->OpenFile( Common::Android::GetJString(env, jpath), FileSys::OpenMode::Read); @@ -101,31 +101,31 @@ jboolean Java_dev_suyu_suyu_1emu_utils_GameMetadata_getIsValid(JNIEnv* env, jobj return true; } -jstring Java_dev_suyu_suyu_1emu_utils_GameMetadata_getTitle(JNIEnv* env, jobject obj, +jstring Java_org_suyu_suyu_1emu_utils_GameMetadata_getTitle(JNIEnv* env, jobject obj, jstring jpath) { return Common::Android::ToJString( env, GetRomMetadata(Common::Android::GetJString(env, jpath)).title); } -jstring Java_dev_suyu_suyu_1emu_utils_GameMetadata_getProgramId(JNIEnv* env, jobject obj, +jstring Java_org_suyu_suyu_1emu_utils_GameMetadata_getProgramId(JNIEnv* env, jobject obj, jstring jpath) { return Common::Android::ToJString( env, std::to_string(GetRomMetadata(Common::Android::GetJString(env, jpath)).programId)); } -jstring Java_dev_suyu_suyu_1emu_utils_GameMetadata_getDeveloper(JNIEnv* env, jobject obj, +jstring Java_org_suyu_suyu_1emu_utils_GameMetadata_getDeveloper(JNIEnv* env, jobject obj, jstring jpath) { return Common::Android::ToJString( env, GetRomMetadata(Common::Android::GetJString(env, jpath)).developer); } -jstring Java_dev_suyu_suyu_1emu_utils_GameMetadata_getVersion(JNIEnv* env, jobject obj, +jstring Java_org_suyu_suyu_1emu_utils_GameMetadata_getVersion(JNIEnv* env, jobject obj, jstring jpath, jboolean jreload) { return Common::Android::ToJString( env, GetRomMetadata(Common::Android::GetJString(env, jpath), jreload).version); } -jbyteArray Java_dev_suyu_suyu_1emu_utils_GameMetadata_getIcon(JNIEnv* env, jobject obj, +jbyteArray Java_org_suyu_suyu_1emu_utils_GameMetadata_getIcon(JNIEnv* env, jobject obj, jstring jpath) { auto icon_data = GetRomMetadata(Common::Android::GetJString(env, jpath)).icon; jbyteArray icon = env->NewByteArray(static_cast(icon_data.size())); @@ -134,13 +134,13 @@ jbyteArray Java_dev_suyu_suyu_1emu_utils_GameMetadata_getIcon(JNIEnv* env, jobje return icon; } -jboolean Java_dev_suyu_suyu_1emu_utils_GameMetadata_getIsHomebrew(JNIEnv* env, jobject obj, +jboolean Java_org_suyu_suyu_1emu_utils_GameMetadata_getIsHomebrew(JNIEnv* env, jobject obj, jstring jpath) { return static_cast( GetRomMetadata(Common::Android::GetJString(env, jpath)).isHomebrew); } -void Java_dev_suyu_suyu_1emu_utils_GameMetadata_resetMetadata(JNIEnv* env, jobject obj) { +void Java_org_suyu_suyu_1emu_utils_GameMetadata_resetMetadata(JNIEnv* env, jobject obj) { m_rom_metadata_cache.clear(); } diff --git a/src/android/app/src/main/jni/native.cpp b/src/android/app/src/main/jni/native.cpp index be8e36dbe3..0ce841575c 100644 --- a/src/android/app/src/main/jni/native.cpp +++ b/src/android/app/src/main/jni/native.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2023 suyu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include @@ -435,24 +435,24 @@ static Core::SystemResultStatus RunEmulation(const std::string& filepath, extern "C" { -void Java_dev_suyu_suyu_1emu_NativeLibrary_surfaceChanged(JNIEnv* env, jobject instance, +void Java_org_suyu_suyu_1emu_NativeLibrary_surfaceChanged(JNIEnv* env, jobject instance, [[maybe_unused]] jobject surf) { EmulationSession::GetInstance().SetNativeWindow(ANativeWindow_fromSurface(env, surf)); EmulationSession::GetInstance().SurfaceChanged(); } -void Java_dev_suyu_suyu_1emu_NativeLibrary_surfaceDestroyed(JNIEnv* env, jobject instance) { +void Java_org_suyu_suyu_1emu_NativeLibrary_surfaceDestroyed(JNIEnv* env, jobject instance) { ANativeWindow_release(EmulationSession::GetInstance().NativeWindow()); EmulationSession::GetInstance().SetNativeWindow(nullptr); EmulationSession::GetInstance().SurfaceChanged(); } -void Java_dev_suyu_suyu_1emu_NativeLibrary_setAppDirectory(JNIEnv* env, jobject instance, +void Java_org_suyu_suyu_1emu_NativeLibrary_setAppDirectory(JNIEnv* env, jobject instance, [[maybe_unused]] jstring j_directory) { Common::FS::SetAppDirectory(Common::Android::GetJString(env, j_directory)); } -int Java_dev_suyu_suyu_1emu_NativeLibrary_installFileToNand(JNIEnv* env, jobject instance, +int Java_org_suyu_suyu_1emu_NativeLibrary_installFileToNand(JNIEnv* env, jobject instance, jstring j_file, jobject jcallback) { auto jlambdaClass = env->GetObjectClass(jcallback); auto jlambdaInvokeMethod = env->GetMethodID( @@ -470,7 +470,7 @@ int Java_dev_suyu_suyu_1emu_NativeLibrary_installFileToNand(JNIEnv* env, jobject Common::Android::GetJString(env, j_file), callback)); } -jboolean Java_dev_suyu_suyu_1emu_NativeLibrary_doesUpdateMatchProgram(JNIEnv* env, jobject jobj, +jboolean Java_org_suyu_suyu_1emu_NativeLibrary_doesUpdateMatchProgram(JNIEnv* env, jobject jobj, jstring jprogramId, jstring jupdatePath) { u64 program_id = EmulationSession::GetProgramId(env, jprogramId); @@ -491,7 +491,7 @@ jboolean Java_dev_suyu_suyu_1emu_NativeLibrary_doesUpdateMatchProgram(JNIEnv* en return false; } -void JNICALL Java_dev_suyu_suyu_1emu_NativeLibrary_initializeGpuDriver(JNIEnv* env, jclass clazz, +void JNICALL Java_org_suyu_suyu_1emu_NativeLibrary_initializeGpuDriver(JNIEnv* env, jclass clazz, jstring hook_lib_dir, jstring custom_driver_dir, jstring custom_driver_name, @@ -513,7 +513,7 @@ void JNICALL Java_dev_suyu_suyu_1emu_NativeLibrary_initializeGpuDriver(JNIEnv* e return android_get_device_api_level() >= 28 && CheckKgslPresent(); } -jboolean JNICALL Java_dev_suyu_suyu_1emu_utils_GpuDriverHelper_supportsCustomDriverLoading( +jboolean JNICALL Java_org_suyu_suyu_1emu_utils_GpuDriverHelper_supportsCustomDriverLoading( JNIEnv* env, jobject instance) { #ifdef ARCHITECTURE_arm64 // If the KGSL device exists custom drivers can be loaded using adrenotools @@ -523,7 +523,7 @@ jboolean JNICALL Java_dev_suyu_suyu_1emu_utils_GpuDriverHelper_supportsCustomDri #endif } -jobjectArray Java_dev_suyu_suyu_1emu_utils_GpuDriverHelper_getSystemDriverInfo( +jobjectArray Java_org_suyu_suyu_1emu_utils_GpuDriverHelper_getSystemDriverInfo( JNIEnv* env, jobject j_obj, jobject j_surf, jstring j_hook_lib_dir) { const char* file_redirect_dir_{}; int featureFlags{}; @@ -555,32 +555,32 @@ jobjectArray Java_dev_suyu_suyu_1emu_utils_GpuDriverHelper_getSystemDriverInfo( return j_driver_info; } -jboolean Java_dev_suyu_suyu_1emu_NativeLibrary_reloadKeys(JNIEnv* env, jclass clazz) { +jboolean Java_org_suyu_suyu_1emu_NativeLibrary_reloadKeys(JNIEnv* env, jclass clazz) { Core::Crypto::KeyManager::Instance().ReloadKeys(); return static_cast(Core::Crypto::KeyManager::Instance().AreKeysLoaded()); } -void Java_dev_suyu_suyu_1emu_NativeLibrary_unpauseEmulation(JNIEnv* env, jclass clazz) { +void Java_org_suyu_suyu_1emu_NativeLibrary_unpauseEmulation(JNIEnv* env, jclass clazz) { EmulationSession::GetInstance().UnPauseEmulation(); } -void Java_dev_suyu_suyu_1emu_NativeLibrary_pauseEmulation(JNIEnv* env, jclass clazz) { +void Java_org_suyu_suyu_1emu_NativeLibrary_pauseEmulation(JNIEnv* env, jclass clazz) { EmulationSession::GetInstance().PauseEmulation(); } -void Java_dev_suyu_suyu_1emu_NativeLibrary_stopEmulation(JNIEnv* env, jclass clazz) { +void Java_org_suyu_suyu_1emu_NativeLibrary_stopEmulation(JNIEnv* env, jclass clazz) { EmulationSession::GetInstance().HaltEmulation(); } -jboolean Java_dev_suyu_suyu_1emu_NativeLibrary_isRunning(JNIEnv* env, jclass clazz) { +jboolean Java_org_suyu_suyu_1emu_NativeLibrary_isRunning(JNIEnv* env, jclass clazz) { return static_cast(EmulationSession::GetInstance().IsRunning()); } -jboolean Java_dev_suyu_suyu_1emu_NativeLibrary_isPaused(JNIEnv* env, jclass clazz) { +jboolean Java_org_suyu_suyu_1emu_NativeLibrary_isPaused(JNIEnv* env, jclass clazz) { return static_cast(EmulationSession::GetInstance().IsPaused()); } -void Java_dev_suyu_suyu_1emu_NativeLibrary_initializeSystem(JNIEnv* env, jclass clazz, +void Java_org_suyu_suyu_1emu_NativeLibrary_initializeSystem(JNIEnv* env, jclass clazz, jboolean reload) { // Initialize the emulated system. if (!reload) { @@ -589,7 +589,7 @@ void Java_dev_suyu_suyu_1emu_NativeLibrary_initializeSystem(JNIEnv* env, jclass EmulationSession::GetInstance().InitializeSystem(reload); } -jdoubleArray Java_dev_suyu_suyu_1emu_NativeLibrary_getPerfStats(JNIEnv* env, jclass clazz) { +jdoubleArray Java_org_suyu_suyu_1emu_NativeLibrary_getPerfStats(JNIEnv* env, jclass clazz) { jdoubleArray j_stats = env->NewDoubleArray(4); if (EmulationSession::GetInstance().IsRunning()) { @@ -605,7 +605,7 @@ jdoubleArray Java_dev_suyu_suyu_1emu_NativeLibrary_getPerfStats(JNIEnv* env, jcl return j_stats; } -jstring Java_dev_suyu_suyu_1emu_NativeLibrary_getCpuBackend(JNIEnv* env, jclass clazz) { +jstring Java_org_suyu_suyu_1emu_NativeLibrary_getCpuBackend(JNIEnv* env, jclass clazz) { if (Settings::IsNceEnabled()) { return Common::Android::ToJString(env, "NCE"); } @@ -613,21 +613,21 @@ jstring Java_dev_suyu_suyu_1emu_NativeLibrary_getCpuBackend(JNIEnv* env, jclass return Common::Android::ToJString(env, "JIT"); } -jstring Java_dev_suyu_suyu_1emu_NativeLibrary_getGpuDriver(JNIEnv* env, jobject jobj) { +jstring Java_org_suyu_suyu_1emu_NativeLibrary_getGpuDriver(JNIEnv* env, jobject jobj) { return Common::Android::ToJString( env, EmulationSession::GetInstance().System().GPU().Renderer().GetDeviceVendor()); } -void Java_dev_suyu_suyu_1emu_NativeLibrary_applySettings(JNIEnv* env, jobject jobj) { +void Java_org_suyu_suyu_1emu_NativeLibrary_applySettings(JNIEnv* env, jobject jobj) { EmulationSession::GetInstance().System().ApplySettings(); EmulationSession::GetInstance().System().HIDCore().ReloadInputDevices(); } -void Java_dev_suyu_suyu_1emu_NativeLibrary_logSettings(JNIEnv* env, jobject jobj) { +void Java_org_suyu_suyu_1emu_NativeLibrary_logSettings(JNIEnv* env, jobject jobj) { Settings::LogSettings(); } -void Java_dev_suyu_suyu_1emu_NativeLibrary_run(JNIEnv* env, jobject jobj, jstring j_path, +void Java_org_suyu_suyu_1emu_NativeLibrary_run(JNIEnv* env, jobject jobj, jstring j_path, jint j_program_index, jboolean j_frontend_initiated) { const std::string path = Common::Android::GetJString(env, j_path); @@ -641,23 +641,23 @@ void Java_dev_suyu_suyu_1emu_NativeLibrary_run(JNIEnv* env, jobject jobj, jstrin } } -void Java_dev_suyu_suyu_1emu_NativeLibrary_logDeviceInfo(JNIEnv* env, jclass clazz) { +void Java_org_suyu_suyu_1emu_NativeLibrary_logDeviceInfo(JNIEnv* env, jclass clazz) { LOG_INFO(Frontend, "suyu Version: {}-{}", Common::g_scm_branch, Common::g_scm_desc); LOG_INFO(Frontend, "Host OS: Android API level {}", android_get_device_api_level()); } -void Java_dev_suyu_suyu_1emu_NativeLibrary_submitInlineKeyboardText(JNIEnv* env, jclass clazz, +void Java_org_suyu_suyu_1emu_NativeLibrary_submitInlineKeyboardText(JNIEnv* env, jclass clazz, jstring j_text) { const std::u16string input = Common::UTF8ToUTF16(Common::Android::GetJString(env, j_text)); EmulationSession::GetInstance().SoftwareKeyboard()->SubmitInlineKeyboardText(input); } -void Java_dev_suyu_suyu_1emu_NativeLibrary_submitInlineKeyboardInput(JNIEnv* env, jclass clazz, +void Java_org_suyu_suyu_1emu_NativeLibrary_submitInlineKeyboardInput(JNIEnv* env, jclass clazz, jint j_key_code) { EmulationSession::GetInstance().SoftwareKeyboard()->SubmitInlineKeyboardInput(j_key_code); } -void Java_dev_suyu_suyu_1emu_NativeLibrary_initializeEmptyUserDirectory(JNIEnv* env, +void Java_org_suyu_suyu_1emu_NativeLibrary_initializeEmptyUserDirectory(JNIEnv* env, jobject instance) { const auto nand_dir = Common::FS::GetSuyuPath(Common::FS::SuyuPath::NANDDir); auto vfs_nand_dir = EmulationSession::GetInstance().System().GetFilesystem()->OpenDirectory( @@ -677,7 +677,7 @@ void Java_dev_suyu_suyu_1emu_NativeLibrary_initializeEmptyUserDirectory(JNIEnv* } } -jstring Java_dev_suyu_suyu_1emu_NativeLibrary_getAppletLaunchPath(JNIEnv* env, jclass clazz, +jstring Java_org_suyu_suyu_1emu_NativeLibrary_getAppletLaunchPath(JNIEnv* env, jclass clazz, jlong jid) { auto bis_system = EmulationSession::GetInstance().System().GetFileSystemController().GetSystemNANDContents(); @@ -694,18 +694,18 @@ jstring Java_dev_suyu_suyu_1emu_NativeLibrary_getAppletLaunchPath(JNIEnv* env, j return Common::Android::ToJString(env, applet_nca->GetFullPath()); } -void Java_dev_suyu_suyu_1emu_NativeLibrary_setCurrentAppletId(JNIEnv* env, jclass clazz, +void Java_org_suyu_suyu_1emu_NativeLibrary_setCurrentAppletId(JNIEnv* env, jclass clazz, jint jappletId) { EmulationSession::GetInstance().SetAppletId(jappletId); } -void Java_dev_suyu_suyu_1emu_NativeLibrary_setCabinetMode(JNIEnv* env, jclass clazz, +void Java_org_suyu_suyu_1emu_NativeLibrary_setCabinetMode(JNIEnv* env, jclass clazz, jint jcabinetMode) { EmulationSession::GetInstance().System().GetFrontendAppletHolder().SetCabinetMode( static_cast(jcabinetMode)); } -jboolean Java_dev_suyu_suyu_1emu_NativeLibrary_isFirmwareAvailable(JNIEnv* env, jclass clazz) { +jboolean Java_org_suyu_suyu_1emu_NativeLibrary_isFirmwareAvailable(JNIEnv* env, jclass clazz) { auto bis_system = EmulationSession::GetInstance().System().GetFileSystemController().GetSystemNANDContents(); if (!bis_system) { @@ -721,7 +721,7 @@ jboolean Java_dev_suyu_suyu_1emu_NativeLibrary_isFirmwareAvailable(JNIEnv* env, return true; } -jobjectArray Java_dev_suyu_suyu_1emu_NativeLibrary_getPatchesForFile(JNIEnv* env, jobject jobj, +jobjectArray Java_org_suyu_suyu_1emu_NativeLibrary_getPatchesForFile(JNIEnv* env, jobject jobj, jstring jpath, jstring jprogramId) { const auto path = Common::Android::GetJString(env, jpath); @@ -757,27 +757,27 @@ jobjectArray Java_dev_suyu_suyu_1emu_NativeLibrary_getPatchesForFile(JNIEnv* env return jpatchArray; } -void Java_dev_suyu_suyu_1emu_NativeLibrary_removeUpdate(JNIEnv* env, jobject jobj, +void Java_org_suyu_suyu_1emu_NativeLibrary_removeUpdate(JNIEnv* env, jobject jobj, jstring jprogramId) { auto program_id = EmulationSession::GetProgramId(env, jprogramId); ContentManager::RemoveUpdate(EmulationSession::GetInstance().System().GetFileSystemController(), program_id); } -void Java_dev_suyu_suyu_1emu_NativeLibrary_removeDLC(JNIEnv* env, jobject jobj, +void Java_org_suyu_suyu_1emu_NativeLibrary_removeDLC(JNIEnv* env, jobject jobj, jstring jprogramId) { auto program_id = EmulationSession::GetProgramId(env, jprogramId); ContentManager::RemoveAllDLC(EmulationSession::GetInstance().System(), program_id); } -void Java_dev_suyu_suyu_1emu_NativeLibrary_removeMod(JNIEnv* env, jobject jobj, jstring jprogramId, +void Java_org_suyu_suyu_1emu_NativeLibrary_removeMod(JNIEnv* env, jobject jobj, jstring jprogramId, jstring jname) { auto program_id = EmulationSession::GetProgramId(env, jprogramId); ContentManager::RemoveMod(EmulationSession::GetInstance().System().GetFileSystemController(), program_id, Common::Android::GetJString(env, jname)); } -jobjectArray Java_dev_suyu_suyu_1emu_NativeLibrary_verifyInstalledContents(JNIEnv* env, +jobjectArray Java_org_suyu_suyu_1emu_NativeLibrary_verifyInstalledContents(JNIEnv* env, jobject jobj, jobject jcallback) { auto jlambdaClass = env->GetObjectClass(jcallback); @@ -801,7 +801,7 @@ jobjectArray Java_dev_suyu_suyu_1emu_NativeLibrary_verifyInstalledContents(JNIEn return jresult; } -jint Java_dev_suyu_suyu_1emu_NativeLibrary_verifyGameContents(JNIEnv* env, jobject jobj, +jint Java_org_suyu_suyu_1emu_NativeLibrary_verifyGameContents(JNIEnv* env, jobject jobj, jstring jpath, jobject jcallback) { auto jlambdaClass = env->GetObjectClass(jcallback); auto jlambdaInvokeMethod = env->GetMethodID( @@ -817,7 +817,7 @@ jint Java_dev_suyu_suyu_1emu_NativeLibrary_verifyGameContents(JNIEnv* env, jobje session.System(), Common::Android::GetJString(env, jpath), callback)); } -jstring Java_dev_suyu_suyu_1emu_NativeLibrary_getSavePath(JNIEnv* env, jobject jobj, +jstring Java_org_suyu_suyu_1emu_NativeLibrary_getSavePath(JNIEnv* env, jobject jobj, jstring jprogramId) { auto program_id = EmulationSession::GetProgramId(env, jprogramId); if (program_id == 0) { @@ -841,7 +841,7 @@ jstring Java_dev_suyu_suyu_1emu_NativeLibrary_getSavePath(JNIEnv* env, jobject j return Common::Android::ToJString(env, user_save_data_path); } -jstring Java_dev_suyu_suyu_1emu_NativeLibrary_getDefaultProfileSaveDataRoot(JNIEnv* env, +jstring Java_org_suyu_suyu_1emu_NativeLibrary_getDefaultProfileSaveDataRoot(JNIEnv* env, jobject jobj, jboolean jfuture) { Service::Account::ProfileManager manager; @@ -854,17 +854,17 @@ jstring Java_dev_suyu_suyu_1emu_NativeLibrary_getDefaultProfileSaveDataRoot(JNIE return Common::Android::ToJString(env, user_save_data_root); } -void Java_dev_suyu_suyu_1emu_NativeLibrary_addFileToFilesystemProvider(JNIEnv* env, jobject jobj, +void Java_org_suyu_suyu_1emu_NativeLibrary_addFileToFilesystemProvider(JNIEnv* env, jobject jobj, jstring jpath) { EmulationSession::GetInstance().ConfigureFilesystemProvider( Common::Android::GetJString(env, jpath)); } -void Java_dev_suyu_suyu_1emu_NativeLibrary_clearFilesystemProvider(JNIEnv* env, jobject jobj) { +void Java_org_suyu_suyu_1emu_NativeLibrary_clearFilesystemProvider(JNIEnv* env, jobject jobj) { EmulationSession::GetInstance().GetContentProvider()->ClearAllEntries(); } -jboolean Java_dev_suyu_suyu_1emu_NativeLibrary_areKeysPresent(JNIEnv* env, jobject jobj) { +jboolean Java_org_suyu_suyu_1emu_NativeLibrary_areKeysPresent(JNIEnv* env, jobject jobj) { auto& system = EmulationSession::GetInstance().System(); system.GetFileSystemController().CreateFactories(*system.GetFilesystem()); return ContentManager::AreKeysPresent(); diff --git a/src/android/app/src/main/jni/native.h b/src/android/app/src/main/jni/native.h index 6a4551ada2..e03002e641 100644 --- a/src/android/app/src/main/jni/native.h +++ b/src/android/app/src/main/jni/native.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include diff --git a/src/android/app/src/main/jni/native_config.cpp b/src/android/app/src/main/jni/native_config.cpp index cad322297b..e36fd9d7c3 100644 --- a/src/android/app/src/main/jni/native_config.cpp +++ b/src/android/app/src/main/jni/native_config.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include @@ -34,23 +34,23 @@ Settings::Setting* getSetting(JNIEnv* env, jstring jkey) { extern "C" { -void Java_dev_suyu_suyu_1emu_utils_NativeConfig_initializeGlobalConfig(JNIEnv* env, jobject obj) { +void Java_org_suyu_suyu_1emu_utils_NativeConfig_initializeGlobalConfig(JNIEnv* env, jobject obj) { global_config = std::make_unique(); } -void Java_dev_suyu_suyu_1emu_utils_NativeConfig_unloadGlobalConfig(JNIEnv* env, jobject obj) { +void Java_org_suyu_suyu_1emu_utils_NativeConfig_unloadGlobalConfig(JNIEnv* env, jobject obj) { global_config.reset(); } -void Java_dev_suyu_suyu_1emu_utils_NativeConfig_reloadGlobalConfig(JNIEnv* env, jobject obj) { +void Java_org_suyu_suyu_1emu_utils_NativeConfig_reloadGlobalConfig(JNIEnv* env, jobject obj) { global_config->AndroidConfig::ReloadAllValues(); } -void Java_dev_suyu_suyu_1emu_utils_NativeConfig_saveGlobalConfig(JNIEnv* env, jobject obj) { +void Java_org_suyu_suyu_1emu_utils_NativeConfig_saveGlobalConfig(JNIEnv* env, jobject obj) { global_config->AndroidConfig::SaveAllValues(); } -void Java_dev_suyu_suyu_1emu_utils_NativeConfig_initializePerGameConfig(JNIEnv* env, jobject obj, +void Java_org_suyu_suyu_1emu_utils_NativeConfig_initializePerGameConfig(JNIEnv* env, jobject obj, jstring jprogramId, jstring jfileName) { auto program_id = EmulationSession::GetProgramId(env, jprogramId); @@ -60,20 +60,20 @@ void Java_dev_suyu_suyu_1emu_utils_NativeConfig_initializePerGameConfig(JNIEnv* std::make_unique(config_file_name, Config::ConfigType::PerGameConfig); } -jboolean Java_dev_suyu_suyu_1emu_utils_NativeConfig_isPerGameConfigLoaded(JNIEnv* env, +jboolean Java_org_suyu_suyu_1emu_utils_NativeConfig_isPerGameConfigLoaded(JNIEnv* env, jobject obj) { return per_game_config != nullptr; } -void Java_dev_suyu_suyu_1emu_utils_NativeConfig_savePerGameConfig(JNIEnv* env, jobject obj) { +void Java_org_suyu_suyu_1emu_utils_NativeConfig_savePerGameConfig(JNIEnv* env, jobject obj) { per_game_config->AndroidConfig::SaveAllValues(); } -void Java_dev_suyu_suyu_1emu_utils_NativeConfig_unloadPerGameConfig(JNIEnv* env, jobject obj) { +void Java_org_suyu_suyu_1emu_utils_NativeConfig_unloadPerGameConfig(JNIEnv* env, jobject obj) { per_game_config.reset(); } -jboolean Java_dev_suyu_suyu_1emu_utils_NativeConfig_getBoolean(JNIEnv* env, jobject obj, +jboolean Java_org_suyu_suyu_1emu_utils_NativeConfig_getBoolean(JNIEnv* env, jobject obj, jstring jkey, jboolean needGlobal) { auto setting = getSetting(env, jkey); if (setting == nullptr) { @@ -82,7 +82,7 @@ jboolean Java_dev_suyu_suyu_1emu_utils_NativeConfig_getBoolean(JNIEnv* env, jobj return setting->GetValue(static_cast(needGlobal)); } -void Java_dev_suyu_suyu_1emu_utils_NativeConfig_setBoolean(JNIEnv* env, jobject obj, jstring jkey, +void Java_org_suyu_suyu_1emu_utils_NativeConfig_setBoolean(JNIEnv* env, jobject obj, jstring jkey, jboolean value) { auto setting = getSetting(env, jkey); if (setting == nullptr) { @@ -91,7 +91,7 @@ void Java_dev_suyu_suyu_1emu_utils_NativeConfig_setBoolean(JNIEnv* env, jobject setting->SetValue(static_cast(value)); } -jbyte Java_dev_suyu_suyu_1emu_utils_NativeConfig_getByte(JNIEnv* env, jobject obj, jstring jkey, +jbyte Java_org_suyu_suyu_1emu_utils_NativeConfig_getByte(JNIEnv* env, jobject obj, jstring jkey, jboolean needGlobal) { auto setting = getSetting(env, jkey); if (setting == nullptr) { @@ -100,7 +100,7 @@ jbyte Java_dev_suyu_suyu_1emu_utils_NativeConfig_getByte(JNIEnv* env, jobject ob return setting->GetValue(static_cast(needGlobal)); } -void Java_dev_suyu_suyu_1emu_utils_NativeConfig_setByte(JNIEnv* env, jobject obj, jstring jkey, +void Java_org_suyu_suyu_1emu_utils_NativeConfig_setByte(JNIEnv* env, jobject obj, jstring jkey, jbyte value) { auto setting = getSetting(env, jkey); if (setting == nullptr) { @@ -109,7 +109,7 @@ void Java_dev_suyu_suyu_1emu_utils_NativeConfig_setByte(JNIEnv* env, jobject obj setting->SetValue(value); } -jshort Java_dev_suyu_suyu_1emu_utils_NativeConfig_getShort(JNIEnv* env, jobject obj, jstring jkey, +jshort Java_org_suyu_suyu_1emu_utils_NativeConfig_getShort(JNIEnv* env, jobject obj, jstring jkey, jboolean needGlobal) { auto setting = getSetting(env, jkey); if (setting == nullptr) { @@ -118,7 +118,7 @@ jshort Java_dev_suyu_suyu_1emu_utils_NativeConfig_getShort(JNIEnv* env, jobject return setting->GetValue(static_cast(needGlobal)); } -void Java_dev_suyu_suyu_1emu_utils_NativeConfig_setShort(JNIEnv* env, jobject obj, jstring jkey, +void Java_org_suyu_suyu_1emu_utils_NativeConfig_setShort(JNIEnv* env, jobject obj, jstring jkey, jshort value) { auto setting = getSetting(env, jkey); if (setting == nullptr) { @@ -127,7 +127,7 @@ void Java_dev_suyu_suyu_1emu_utils_NativeConfig_setShort(JNIEnv* env, jobject ob setting->SetValue(value); } -jint Java_dev_suyu_suyu_1emu_utils_NativeConfig_getInt(JNIEnv* env, jobject obj, jstring jkey, +jint Java_org_suyu_suyu_1emu_utils_NativeConfig_getInt(JNIEnv* env, jobject obj, jstring jkey, jboolean needGlobal) { auto setting = getSetting(env, jkey); if (setting == nullptr) { @@ -136,7 +136,7 @@ jint Java_dev_suyu_suyu_1emu_utils_NativeConfig_getInt(JNIEnv* env, jobject obj, return setting->GetValue(needGlobal); } -void Java_dev_suyu_suyu_1emu_utils_NativeConfig_setInt(JNIEnv* env, jobject obj, jstring jkey, +void Java_org_suyu_suyu_1emu_utils_NativeConfig_setInt(JNIEnv* env, jobject obj, jstring jkey, jint value) { auto setting = getSetting(env, jkey); if (setting == nullptr) { @@ -145,7 +145,7 @@ void Java_dev_suyu_suyu_1emu_utils_NativeConfig_setInt(JNIEnv* env, jobject obj, setting->SetValue(value); } -jfloat Java_dev_suyu_suyu_1emu_utils_NativeConfig_getFloat(JNIEnv* env, jobject obj, jstring jkey, +jfloat Java_org_suyu_suyu_1emu_utils_NativeConfig_getFloat(JNIEnv* env, jobject obj, jstring jkey, jboolean needGlobal) { auto setting = getSetting(env, jkey); if (setting == nullptr) { @@ -154,7 +154,7 @@ jfloat Java_dev_suyu_suyu_1emu_utils_NativeConfig_getFloat(JNIEnv* env, jobject return setting->GetValue(static_cast(needGlobal)); } -void Java_dev_suyu_suyu_1emu_utils_NativeConfig_setFloat(JNIEnv* env, jobject obj, jstring jkey, +void Java_org_suyu_suyu_1emu_utils_NativeConfig_setFloat(JNIEnv* env, jobject obj, jstring jkey, jfloat value) { auto setting = getSetting(env, jkey); if (setting == nullptr) { @@ -163,7 +163,7 @@ void Java_dev_suyu_suyu_1emu_utils_NativeConfig_setFloat(JNIEnv* env, jobject ob setting->SetValue(value); } -jlong Java_dev_suyu_suyu_1emu_utils_NativeConfig_getLong(JNIEnv* env, jobject obj, jstring jkey, +jlong Java_org_suyu_suyu_1emu_utils_NativeConfig_getLong(JNIEnv* env, jobject obj, jstring jkey, jboolean needGlobal) { auto setting = getSetting(env, jkey); if (setting == nullptr) { @@ -172,7 +172,7 @@ jlong Java_dev_suyu_suyu_1emu_utils_NativeConfig_getLong(JNIEnv* env, jobject ob return setting->GetValue(static_cast(needGlobal)); } -void Java_dev_suyu_suyu_1emu_utils_NativeConfig_setLong(JNIEnv* env, jobject obj, jstring jkey, +void Java_org_suyu_suyu_1emu_utils_NativeConfig_setLong(JNIEnv* env, jobject obj, jstring jkey, jlong value) { auto setting = getSetting(env, jkey); if (setting == nullptr) { @@ -181,7 +181,7 @@ void Java_dev_suyu_suyu_1emu_utils_NativeConfig_setLong(JNIEnv* env, jobject obj setting->SetValue(value); } -jstring Java_dev_suyu_suyu_1emu_utils_NativeConfig_getString(JNIEnv* env, jobject obj, jstring jkey, +jstring Java_org_suyu_suyu_1emu_utils_NativeConfig_getString(JNIEnv* env, jobject obj, jstring jkey, jboolean needGlobal) { auto setting = getSetting(env, jkey); if (setting == nullptr) { @@ -190,7 +190,7 @@ jstring Java_dev_suyu_suyu_1emu_utils_NativeConfig_getString(JNIEnv* env, jobjec return Common::Android::ToJString(env, setting->GetValue(static_cast(needGlobal))); } -void Java_dev_suyu_suyu_1emu_utils_NativeConfig_setString(JNIEnv* env, jobject obj, jstring jkey, +void Java_org_suyu_suyu_1emu_utils_NativeConfig_setString(JNIEnv* env, jobject obj, jstring jkey, jstring value) { auto setting = getSetting(env, jkey); if (setting == nullptr) { @@ -200,7 +200,7 @@ void Java_dev_suyu_suyu_1emu_utils_NativeConfig_setString(JNIEnv* env, jobject o setting->SetValue(Common::Android::GetJString(env, value)); } -jboolean Java_dev_suyu_suyu_1emu_utils_NativeConfig_getIsRuntimeModifiable(JNIEnv* env, jobject obj, +jboolean Java_org_suyu_suyu_1emu_utils_NativeConfig_getIsRuntimeModifiable(JNIEnv* env, jobject obj, jstring jkey) { auto setting = getSetting(env, jkey); if (setting != nullptr) { @@ -209,7 +209,7 @@ jboolean Java_dev_suyu_suyu_1emu_utils_NativeConfig_getIsRuntimeModifiable(JNIEn return true; } -jstring Java_dev_suyu_suyu_1emu_utils_NativeConfig_getPairedSettingKey(JNIEnv* env, jobject obj, +jstring Java_org_suyu_suyu_1emu_utils_NativeConfig_getPairedSettingKey(JNIEnv* env, jobject obj, jstring jkey) { auto setting = getSetting(env, jkey); if (setting == nullptr) { @@ -222,7 +222,7 @@ jstring Java_dev_suyu_suyu_1emu_utils_NativeConfig_getPairedSettingKey(JNIEnv* e return Common::Android::ToJString(env, setting->PairedSetting()->GetLabel()); } -jboolean Java_dev_suyu_suyu_1emu_utils_NativeConfig_getIsSwitchable(JNIEnv* env, jobject obj, +jboolean Java_org_suyu_suyu_1emu_utils_NativeConfig_getIsSwitchable(JNIEnv* env, jobject obj, jstring jkey) { auto setting = getSetting(env, jkey); if (setting != nullptr) { @@ -231,7 +231,7 @@ jboolean Java_dev_suyu_suyu_1emu_utils_NativeConfig_getIsSwitchable(JNIEnv* env, return false; } -jboolean Java_dev_suyu_suyu_1emu_utils_NativeConfig_usingGlobal(JNIEnv* env, jobject obj, +jboolean Java_org_suyu_suyu_1emu_utils_NativeConfig_usingGlobal(JNIEnv* env, jobject obj, jstring jkey) { auto setting = getSetting(env, jkey); if (setting != nullptr) { @@ -240,7 +240,7 @@ jboolean Java_dev_suyu_suyu_1emu_utils_NativeConfig_usingGlobal(JNIEnv* env, job return true; } -void Java_dev_suyu_suyu_1emu_utils_NativeConfig_setGlobal(JNIEnv* env, jobject obj, jstring jkey, +void Java_org_suyu_suyu_1emu_utils_NativeConfig_setGlobal(JNIEnv* env, jobject obj, jstring jkey, jboolean global) { auto setting = getSetting(env, jkey); if (setting != nullptr) { @@ -248,7 +248,7 @@ void Java_dev_suyu_suyu_1emu_utils_NativeConfig_setGlobal(JNIEnv* env, jobject o } } -jboolean Java_dev_suyu_suyu_1emu_utils_NativeConfig_getIsSaveable(JNIEnv* env, jobject obj, +jboolean Java_org_suyu_suyu_1emu_utils_NativeConfig_getIsSaveable(JNIEnv* env, jobject obj, jstring jkey) { auto setting = getSetting(env, jkey); if (setting != nullptr) { @@ -257,7 +257,7 @@ jboolean Java_dev_suyu_suyu_1emu_utils_NativeConfig_getIsSaveable(JNIEnv* env, j return false; } -jstring Java_dev_suyu_suyu_1emu_utils_NativeConfig_getDefaultToString(JNIEnv* env, jobject obj, +jstring Java_org_suyu_suyu_1emu_utils_NativeConfig_getDefaultToString(JNIEnv* env, jobject obj, jstring jkey) { auto setting = getSetting(env, jkey); if (setting != nullptr) { @@ -266,7 +266,7 @@ jstring Java_dev_suyu_suyu_1emu_utils_NativeConfig_getDefaultToString(JNIEnv* en return Common::Android::ToJString(env, ""); } -jobjectArray Java_dev_suyu_suyu_1emu_utils_NativeConfig_getGameDirs(JNIEnv* env, jobject obj) { +jobjectArray Java_org_suyu_suyu_1emu_utils_NativeConfig_getGameDirs(JNIEnv* env, jobject obj) { jclass gameDirClass = Common::Android::GetGameDirClass(); jmethodID gameDirConstructor = Common::Android::GetGameDirConstructor(); jobjectArray jgameDirArray = @@ -281,7 +281,7 @@ jobjectArray Java_dev_suyu_suyu_1emu_utils_NativeConfig_getGameDirs(JNIEnv* env, return jgameDirArray; } -void Java_dev_suyu_suyu_1emu_utils_NativeConfig_setGameDirs(JNIEnv* env, jobject obj, +void Java_org_suyu_suyu_1emu_utils_NativeConfig_setGameDirs(JNIEnv* env, jobject obj, jobjectArray gameDirs) { AndroidSettings::values.game_dirs.clear(); int size = env->GetArrayLength(gameDirs); @@ -304,7 +304,7 @@ void Java_dev_suyu_suyu_1emu_utils_NativeConfig_setGameDirs(JNIEnv* env, jobject } } -void Java_dev_suyu_suyu_1emu_utils_NativeConfig_addGameDir(JNIEnv* env, jobject obj, +void Java_org_suyu_suyu_1emu_utils_NativeConfig_addGameDir(JNIEnv* env, jobject obj, jobject gameDir) { jclass gameDirClass = Common::Android::GetGameDirClass(); jfieldID uriStringField = env->GetFieldID(gameDirClass, "uriString", "Ljava/lang/String;"); @@ -317,7 +317,7 @@ void Java_dev_suyu_suyu_1emu_utils_NativeConfig_addGameDir(JNIEnv* env, jobject AndroidSettings::GameDir{uriString, static_cast(jdeepScanBoolean)}); } -jobjectArray Java_dev_suyu_suyu_1emu_utils_NativeConfig_getDisabledAddons(JNIEnv* env, jobject obj, +jobjectArray Java_org_suyu_suyu_1emu_utils_NativeConfig_getDisabledAddons(JNIEnv* env, jobject obj, jstring jprogramId) { auto program_id = EmulationSession::GetProgramId(env, jprogramId); auto& disabledAddons = Settings::values.disabled_addons[program_id]; @@ -331,7 +331,7 @@ jobjectArray Java_dev_suyu_suyu_1emu_utils_NativeConfig_getDisabledAddons(JNIEnv return jdisabledAddonsArray; } -void Java_dev_suyu_suyu_1emu_utils_NativeConfig_setDisabledAddons(JNIEnv* env, jobject obj, +void Java_org_suyu_suyu_1emu_utils_NativeConfig_setDisabledAddons(JNIEnv* env, jobject obj, jstring jprogramId, jobjectArray jdisabledAddons) { auto program_id = EmulationSession::GetProgramId(env, jprogramId); @@ -345,7 +345,7 @@ void Java_dev_suyu_suyu_1emu_utils_NativeConfig_setDisabledAddons(JNIEnv* env, j Settings::values.disabled_addons[program_id] = disabled_addons; } -jobjectArray Java_dev_suyu_suyu_1emu_utils_NativeConfig_getOverlayControlData(JNIEnv* env, +jobjectArray Java_org_suyu_suyu_1emu_utils_NativeConfig_getOverlayControlData(JNIEnv* env, jobject obj) { jobjectArray joverlayControlDataArray = env->NewObjectArray(AndroidSettings::values.overlay_control_data.size(), @@ -375,7 +375,7 @@ jobjectArray Java_dev_suyu_suyu_1emu_utils_NativeConfig_getOverlayControlData(JN return joverlayControlDataArray; } -void Java_dev_suyu_suyu_1emu_utils_NativeConfig_setOverlayControlData( +void Java_org_suyu_suyu_1emu_utils_NativeConfig_setOverlayControlData( JNIEnv* env, jobject obj, jobjectArray joverlayControlDataArray) { AndroidSettings::values.overlay_control_data.clear(); int size = env->GetArrayLength(joverlayControlDataArray); @@ -424,7 +424,7 @@ void Java_dev_suyu_suyu_1emu_utils_NativeConfig_setOverlayControlData( } } -jobjectArray Java_dev_suyu_suyu_1emu_utils_NativeConfig_getInputSettings(JNIEnv* env, jobject obj, +jobjectArray Java_org_suyu_suyu_1emu_utils_NativeConfig_getInputSettings(JNIEnv* env, jobject obj, jboolean j_global) { Settings::values.players.SetGlobal(static_cast(j_global)); auto& players = Settings::values.players.GetValue(); @@ -474,7 +474,7 @@ jobjectArray Java_dev_suyu_suyu_1emu_utils_NativeConfig_getInputSettings(JNIEnv* return j_input_settings; } -void Java_dev_suyu_suyu_1emu_utils_NativeConfig_setInputSettings(JNIEnv* env, jobject obj, +void Java_org_suyu_suyu_1emu_utils_NativeConfig_setInputSettings(JNIEnv* env, jobject obj, jobjectArray j_value, jboolean j_global) { auto& players = Settings::values.players.GetValue(static_cast(j_global)); @@ -530,7 +530,7 @@ void Java_dev_suyu_suyu_1emu_utils_NativeConfig_setInputSettings(JNIEnv* env, jo } } -void Java_dev_suyu_suyu_1emu_utils_NativeConfig_saveControlPlayerValues(JNIEnv* env, jobject obj) { +void Java_org_suyu_suyu_1emu_utils_NativeConfig_saveControlPlayerValues(JNIEnv* env, jobject obj) { Settings::values.players.SetGlobal(false); // Clear all controls from the config in case the user reverted back to globals diff --git a/src/android/app/src/main/jni/native_input.cpp b/src/android/app/src/main/jni/native_input.cpp index d3523eb30d..d7f9d22ff2 100644 --- a/src/android/app/src/main/jni/native_input.cpp +++ b/src/android/app/src/main/jni/native_input.cpp @@ -1,5 +1,4 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project -// SPDX-FileCopyrightText: 2024 suyu Emulator Project +// SPDX-FileCopyrightText: 2024 suyu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include @@ -186,24 +185,24 @@ void ConnectController(size_t player_index, bool connected) { extern "C" { -jboolean Java_dev_suyu_suyu_1emu_features_input_NativeInput_isHandheldOnly(JNIEnv* env, +jboolean Java_org_suyu_suyu_1emu_features_input_NativeInput_isHandheldOnly(JNIEnv* env, jobject j_obj) { return IsHandheldOnly(); } -void Java_dev_suyu_suyu_1emu_features_input_NativeInput_onGamePadButtonEvent( +void Java_org_suyu_suyu_1emu_features_input_NativeInput_onGamePadButtonEvent( JNIEnv* env, jobject j_obj, jstring j_guid, jint j_port, jint j_button_id, jint j_action) { EmulationSession::GetInstance().GetInputSubsystem().GetAndroid()->SetButtonState( Common::Android::GetJString(env, j_guid), j_port, j_button_id, j_action != 0); } -void Java_dev_suyu_suyu_1emu_features_input_NativeInput_onGamePadAxisEvent( +void Java_org_suyu_suyu_1emu_features_input_NativeInput_onGamePadAxisEvent( JNIEnv* env, jobject j_obj, jstring j_guid, jint j_port, jint j_stick_id, jfloat j_value) { EmulationSession::GetInstance().GetInputSubsystem().GetAndroid()->SetAxisPosition( Common::Android::GetJString(env, j_guid), j_port, j_stick_id, j_value); } -void Java_dev_suyu_suyu_1emu_features_input_NativeInput_onGamePadMotionEvent( +void Java_org_suyu_suyu_1emu_features_input_NativeInput_onGamePadMotionEvent( JNIEnv* env, jobject j_obj, jstring j_guid, jint j_port, jlong j_delta_timestamp, jfloat j_x_gyro, jfloat j_y_gyro, jfloat j_z_gyro, jfloat j_x_accel, jfloat j_y_accel, jfloat j_z_accel) { @@ -212,7 +211,7 @@ void Java_dev_suyu_suyu_1emu_features_input_NativeInput_onGamePadMotionEvent( j_z_gyro, j_x_accel, j_y_accel, j_z_accel); } -void Java_dev_suyu_suyu_1emu_features_input_NativeInput_onReadNfcTag(JNIEnv* env, jobject j_obj, +void Java_org_suyu_suyu_1emu_features_input_NativeInput_onReadNfcTag(JNIEnv* env, jobject j_obj, jbyteArray j_data) { jboolean isCopy{false}; std::span data(reinterpret_cast(env->GetByteArrayElements(j_data, &isCopy)), @@ -223,13 +222,13 @@ void Java_dev_suyu_suyu_1emu_features_input_NativeInput_onReadNfcTag(JNIEnv* env } } -void Java_dev_suyu_suyu_1emu_features_input_NativeInput_onRemoveNfcTag(JNIEnv* env, jobject j_obj) { +void Java_org_suyu_suyu_1emu_features_input_NativeInput_onRemoveNfcTag(JNIEnv* env, jobject j_obj) { if (EmulationSession::GetInstance().IsRunning()) { EmulationSession::GetInstance().GetInputSubsystem().GetVirtualAmiibo()->CloseAmiibo(); } } -void Java_dev_suyu_suyu_1emu_features_input_NativeInput_onTouchPressed(JNIEnv* env, jobject j_obj, +void Java_org_suyu_suyu_1emu_features_input_NativeInput_onTouchPressed(JNIEnv* env, jobject j_obj, jint j_id, jfloat j_x_axis, jfloat j_y_axis) { if (EmulationSession::GetInstance().IsRunning()) { @@ -237,7 +236,7 @@ void Java_dev_suyu_suyu_1emu_features_input_NativeInput_onTouchPressed(JNIEnv* e } } -void Java_dev_suyu_suyu_1emu_features_input_NativeInput_onTouchMoved(JNIEnv* env, jobject j_obj, +void Java_org_suyu_suyu_1emu_features_input_NativeInput_onTouchMoved(JNIEnv* env, jobject j_obj, jint j_id, jfloat j_x_axis, jfloat j_y_axis) { if (EmulationSession::GetInstance().IsRunning()) { @@ -245,14 +244,14 @@ void Java_dev_suyu_suyu_1emu_features_input_NativeInput_onTouchMoved(JNIEnv* env } } -void Java_dev_suyu_suyu_1emu_features_input_NativeInput_onTouchReleased(JNIEnv* env, jobject j_obj, +void Java_org_suyu_suyu_1emu_features_input_NativeInput_onTouchReleased(JNIEnv* env, jobject j_obj, jint j_id) { if (EmulationSession::GetInstance().IsRunning()) { EmulationSession::GetInstance().Window().OnTouchReleased(j_id); } } -void Java_dev_suyu_suyu_1emu_features_input_NativeInput_onOverlayButtonEventImpl( +void Java_org_suyu_suyu_1emu_features_input_NativeInput_onOverlayButtonEventImpl( JNIEnv* env, jobject j_obj, jint j_port, jint j_button_id, jint j_action) { if (EmulationSession::GetInstance().IsRunning()) { EmulationSession::GetInstance().GetInputSubsystem().GetVirtualGamepad()->SetButtonState( @@ -260,7 +259,7 @@ void Java_dev_suyu_suyu_1emu_features_input_NativeInput_onOverlayButtonEventImpl } } -void Java_dev_suyu_suyu_1emu_features_input_NativeInput_onOverlayJoystickEventImpl( +void Java_org_suyu_suyu_1emu_features_input_NativeInput_onOverlayJoystickEventImpl( JNIEnv* env, jobject j_obj, jint j_port, jint j_stick_id, jfloat j_x_axis, jfloat j_y_axis) { if (EmulationSession::GetInstance().IsRunning()) { EmulationSession::GetInstance().GetInputSubsystem().GetVirtualGamepad()->SetStickPosition( @@ -268,7 +267,7 @@ void Java_dev_suyu_suyu_1emu_features_input_NativeInput_onOverlayJoystickEventIm } } -void Java_dev_suyu_suyu_1emu_features_input_NativeInput_onDeviceMotionEvent( +void Java_org_suyu_suyu_1emu_features_input_NativeInput_onDeviceMotionEvent( JNIEnv* env, jobject j_obj, jint j_port, jlong j_delta_timestamp, jfloat j_x_gyro, jfloat j_y_gyro, jfloat j_z_gyro, jfloat j_x_accel, jfloat j_y_accel, jfloat j_z_accel) { if (EmulationSession::GetInstance().IsRunning()) { @@ -278,18 +277,18 @@ void Java_dev_suyu_suyu_1emu_features_input_NativeInput_onDeviceMotionEvent( } } -void Java_dev_suyu_suyu_1emu_features_input_NativeInput_reloadInputDevices(JNIEnv* env, +void Java_org_suyu_suyu_1emu_features_input_NativeInput_reloadInputDevices(JNIEnv* env, jobject j_obj) { EmulationSession::GetInstance().System().HIDCore().ReloadInputDevices(); } -void Java_dev_suyu_suyu_1emu_features_input_NativeInput_registerController(JNIEnv* env, +void Java_org_suyu_suyu_1emu_features_input_NativeInput_registerController(JNIEnv* env, jobject j_obj, jobject j_device) { EmulationSession::GetInstance().GetInputSubsystem().GetAndroid()->RegisterController(j_device); } -jobjectArray Java_dev_suyu_suyu_1emu_features_input_NativeInput_getInputDevices(JNIEnv* env, +jobjectArray Java_org_suyu_suyu_1emu_features_input_NativeInput_getInputDevices(JNIEnv* env, jobject j_obj) { auto devices = EmulationSession::GetInstance().GetInputSubsystem().GetInputDevices(); jobjectArray jdevices = env->NewObjectArray(devices.size(), Common::Android::GetStringClass(), @@ -301,7 +300,7 @@ jobjectArray Java_dev_suyu_suyu_1emu_features_input_NativeInput_getInputDevices( return jdevices; } -void Java_dev_suyu_suyu_1emu_features_input_NativeInput_loadInputProfiles(JNIEnv* env, +void Java_org_suyu_suyu_1emu_features_input_NativeInput_loadInputProfiles(JNIEnv* env, jobject j_obj) { map_profiles.clear(); const auto input_profile_loc = @@ -327,7 +326,7 @@ void Java_dev_suyu_suyu_1emu_features_input_NativeInput_loadInputProfiles(JNIEnv } } -jobjectArray Java_dev_suyu_suyu_1emu_features_input_NativeInput_getInputProfileNames( +jobjectArray Java_org_suyu_suyu_1emu_features_input_NativeInput_getInputProfileNames( JNIEnv* env, jobject j_obj) { std::vector profile_names; profile_names.reserve(map_profiles.size()); @@ -357,14 +356,14 @@ jobjectArray Java_dev_suyu_suyu_1emu_features_input_NativeInput_getInputProfileN return j_profile_names; } -jboolean Java_dev_suyu_suyu_1emu_features_input_NativeInput_isProfileNameValid(JNIEnv* env, +jboolean Java_org_suyu_suyu_1emu_features_input_NativeInput_isProfileNameValid(JNIEnv* env, jobject j_obj, jstring j_name) { return Common::Android::GetJString(env, j_name).find_first_of("<>:;\"/\\|,.!?*") == std::string::npos; } -jboolean Java_dev_suyu_suyu_1emu_features_input_NativeInput_createProfile(JNIEnv* env, +jboolean Java_org_suyu_suyu_1emu_features_input_NativeInput_createProfile(JNIEnv* env, jobject j_obj, jstring j_name, jint j_player_index) { @@ -380,7 +379,7 @@ jboolean Java_dev_suyu_suyu_1emu_features_input_NativeInput_createProfile(JNIEnv return SaveProfile(profile_name, j_player_index); } -jboolean Java_dev_suyu_suyu_1emu_features_input_NativeInput_deleteProfile(JNIEnv* env, +jboolean Java_org_suyu_suyu_1emu_features_input_NativeInput_deleteProfile(JNIEnv* env, jobject j_obj, jstring j_name, jint j_player_index) { @@ -398,21 +397,21 @@ jboolean Java_dev_suyu_suyu_1emu_features_input_NativeInput_deleteProfile(JNIEnv return !ProfileExistsInMap(profile_name) && !ProfileExistsInFilesystem(profile_name); } -jboolean Java_dev_suyu_suyu_1emu_features_input_NativeInput_loadProfile(JNIEnv* env, jobject j_obj, +jboolean Java_org_suyu_suyu_1emu_features_input_NativeInput_loadProfile(JNIEnv* env, jobject j_obj, jstring j_name, jint j_player_index) { auto profile_name = Common::Android::GetJString(env, j_name); return LoadProfile(profile_name, j_player_index); } -jboolean Java_dev_suyu_suyu_1emu_features_input_NativeInput_saveProfile(JNIEnv* env, jobject j_obj, +jboolean Java_org_suyu_suyu_1emu_features_input_NativeInput_saveProfile(JNIEnv* env, jobject j_obj, jstring j_name, jint j_player_index) { auto profile_name = Common::Android::GetJString(env, j_name); return SaveProfile(profile_name, j_player_index); } -void Java_dev_suyu_suyu_1emu_features_input_NativeInput_loadPerGameConfiguration( +void Java_org_suyu_suyu_1emu_features_input_NativeInput_loadPerGameConfiguration( JNIEnv* env, jobject j_obj, jint j_player_index, jint j_selected_index, jstring j_selected_profile_name) { static constexpr size_t HANDHELD_INDEX = 8; @@ -460,23 +459,23 @@ void Java_dev_suyu_suyu_1emu_features_input_NativeInput_loadPerGameConfiguration handheld_controller->ReloadFromSettings(); } -void Java_dev_suyu_suyu_1emu_features_input_NativeInput_beginMapping(JNIEnv* env, jobject j_obj, +void Java_org_suyu_suyu_1emu_features_input_NativeInput_beginMapping(JNIEnv* env, jobject j_obj, jint jtype) { EmulationSession::GetInstance().GetInputSubsystem().BeginMapping( static_cast(jtype)); } -jstring Java_dev_suyu_suyu_1emu_features_input_NativeInput_getNextInput(JNIEnv* env, +jstring Java_org_suyu_suyu_1emu_features_input_NativeInput_getNextInput(JNIEnv* env, jobject j_obj) { return Common::Android::ToJString( env, EmulationSession::GetInstance().GetInputSubsystem().GetNextInput().Serialize()); } -void Java_dev_suyu_suyu_1emu_features_input_NativeInput_stopMapping(JNIEnv* env, jobject j_obj) { +void Java_org_suyu_suyu_1emu_features_input_NativeInput_stopMapping(JNIEnv* env, jobject j_obj) { EmulationSession::GetInstance().GetInputSubsystem().StopMapping(); } -void Java_dev_suyu_suyu_1emu_features_input_NativeInput_updateMappingsWithDefaultImpl( +void Java_org_suyu_suyu_1emu_features_input_NativeInput_updateMappingsWithDefaultImpl( JNIEnv* env, jobject j_obj, jint j_player_index, jstring j_device_params, jstring j_display_name) { auto& input_subsystem = EmulationSession::GetInstance().GetInputSubsystem(); @@ -516,7 +515,7 @@ void Java_dev_suyu_suyu_1emu_features_input_NativeInput_updateMappingsWithDefaul } } -jstring Java_dev_suyu_suyu_1emu_features_input_NativeInput_getButtonParamImpl(JNIEnv* env, +jstring Java_org_suyu_suyu_1emu_features_input_NativeInput_getButtonParamImpl(JNIEnv* env, jobject j_obj, jint j_player_index, jint j_button) { @@ -528,7 +527,7 @@ jstring Java_dev_suyu_suyu_1emu_features_input_NativeInput_getButtonParamImpl(JN .Serialize()); } -void Java_dev_suyu_suyu_1emu_features_input_NativeInput_setButtonParamImpl( +void Java_org_suyu_suyu_1emu_features_input_NativeInput_setButtonParamImpl( JNIEnv* env, jobject j_obj, jint j_player_index, jint j_button_id, jstring j_param) { ApplyControllerConfig(j_player_index, [&](Core::HID::EmulatedController* controller) { controller->SetButtonParam(j_button_id, @@ -536,7 +535,7 @@ void Java_dev_suyu_suyu_1emu_features_input_NativeInput_setButtonParamImpl( }); } -jstring Java_dev_suyu_suyu_1emu_features_input_NativeInput_getStickParamImpl(JNIEnv* env, +jstring Java_org_suyu_suyu_1emu_features_input_NativeInput_getStickParamImpl(JNIEnv* env, jobject j_obj, jint j_player_index, jint j_stick) { @@ -548,7 +547,7 @@ jstring Java_dev_suyu_suyu_1emu_features_input_NativeInput_getStickParamImpl(JNI .Serialize()); } -void Java_dev_suyu_suyu_1emu_features_input_NativeInput_setStickParamImpl( +void Java_org_suyu_suyu_1emu_features_input_NativeInput_setStickParamImpl( JNIEnv* env, jobject j_obj, jint j_player_index, jint j_stick_id, jstring j_param) { ApplyControllerConfig(j_player_index, [&](Core::HID::EmulatedController* controller) { controller->SetStickParam(j_stick_id, @@ -556,14 +555,14 @@ void Java_dev_suyu_suyu_1emu_features_input_NativeInput_setStickParamImpl( }); } -jint Java_dev_suyu_suyu_1emu_features_input_NativeInput_getButtonNameImpl(JNIEnv* env, +jint Java_org_suyu_suyu_1emu_features_input_NativeInput_getButtonNameImpl(JNIEnv* env, jobject j_obj, jstring j_param) { return static_cast(EmulationSession::GetInstance().GetInputSubsystem().GetButtonName( Common::ParamPackage(Common::Android::GetJString(env, j_param)))); } -jintArray Java_dev_suyu_suyu_1emu_features_input_NativeInput_getSupportedStyleTagsImpl( +jintArray Java_org_suyu_suyu_1emu_features_input_NativeInput_getSupportedStyleTagsImpl( JNIEnv* env, jobject j_obj, jint j_player_index) { auto supported_styles = GetSupportedStyles(j_player_index); jintArray j_supported_indexes = env->NewIntArray(supported_styles.size()); @@ -572,7 +571,7 @@ jintArray Java_dev_suyu_suyu_1emu_features_input_NativeInput_getSupportedStyleTa return j_supported_indexes; } -jint Java_dev_suyu_suyu_1emu_features_input_NativeInput_getStyleIndexImpl(JNIEnv* env, +jint Java_org_suyu_suyu_1emu_features_input_NativeInput_getStyleIndexImpl(JNIEnv* env, jobject j_obj, jint j_player_index) { return static_cast(EmulationSession::GetInstance() @@ -582,7 +581,7 @@ jint Java_dev_suyu_suyu_1emu_features_input_NativeInput_getStyleIndexImpl(JNIEnv ->GetNpadStyleIndex(true)); } -void Java_dev_suyu_suyu_1emu_features_input_NativeInput_setStyleIndexImpl(JNIEnv* env, +void Java_org_suyu_suyu_1emu_features_input_NativeInput_setStyleIndexImpl(JNIEnv* env, jobject j_obj, jint j_player_index, jint j_style_index) { @@ -599,14 +598,14 @@ void Java_dev_suyu_suyu_1emu_features_input_NativeInput_setStyleIndexImpl(JNIEnv } } -jboolean Java_dev_suyu_suyu_1emu_features_input_NativeInput_isControllerImpl(JNIEnv* env, +jboolean Java_org_suyu_suyu_1emu_features_input_NativeInput_isControllerImpl(JNIEnv* env, jobject j_obj, jstring jparams) { return static_cast(EmulationSession::GetInstance().GetInputSubsystem().IsController( Common::ParamPackage(Common::Android::GetJString(env, jparams)))); } -jboolean Java_dev_suyu_suyu_1emu_features_input_NativeInput_getIsConnected(JNIEnv* env, +jboolean Java_org_suyu_suyu_1emu_features_input_NativeInput_getIsConnected(JNIEnv* env, jobject j_obj, jint j_player_index) { auto& hid_core = EmulationSession::GetInstance().System().HIDCore(); @@ -618,7 +617,7 @@ jboolean Java_dev_suyu_suyu_1emu_features_input_NativeInput_getIsConnected(JNIEn return controller->IsConnected(true); } -void Java_dev_suyu_suyu_1emu_features_input_NativeInput_connectControllersImpl( +void Java_org_suyu_suyu_1emu_features_input_NativeInput_connectControllersImpl( JNIEnv* env, jobject j_obj, jbooleanArray j_connected) { jboolean isCopy = false; auto j_connected_array_size = env->GetArrayLength(j_connected); @@ -628,7 +627,7 @@ void Java_dev_suyu_suyu_1emu_features_input_NativeInput_connectControllersImpl( } } -void Java_dev_suyu_suyu_1emu_features_input_NativeInput_resetControllerMappings( +void Java_org_suyu_suyu_1emu_features_input_NativeInput_resetControllerMappings( JNIEnv* env, jobject j_obj, jint j_player_index) { // Clear all previous mappings for (int button_id = 0; button_id < Settings::NativeButton::NumButtons; ++button_id) { diff --git a/src/android/app/src/main/jni/native_log.cpp b/src/android/app/src/main/jni/native_log.cpp index 29a33119e6..66b8e4676e 100644 --- a/src/android/app/src/main/jni/native_log.cpp +++ b/src/android/app/src/main/jni/native_log.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include @@ -7,23 +7,23 @@ extern "C" { -void Java_dev_suyu_suyu_1emu_utils_Log_debug(JNIEnv* env, jobject obj, jstring jmessage) { +void Java_org_suyu_suyu_1emu_utils_Log_debug(JNIEnv* env, jobject obj, jstring jmessage) { LOG_DEBUG(Frontend, "{}", Common::Android::GetJString(env, jmessage)); } -void Java_dev_suyu_suyu_1emu_utils_Log_warning(JNIEnv* env, jobject obj, jstring jmessage) { +void Java_org_suyu_suyu_1emu_utils_Log_warning(JNIEnv* env, jobject obj, jstring jmessage) { LOG_WARNING(Frontend, "{}", Common::Android::GetJString(env, jmessage)); } -void Java_dev_suyu_suyu_1emu_utils_Log_info(JNIEnv* env, jobject obj, jstring jmessage) { +void Java_org_suyu_suyu_1emu_utils_Log_info(JNIEnv* env, jobject obj, jstring jmessage) { LOG_INFO(Frontend, "{}", Common::Android::GetJString(env, jmessage)); } -void Java_dev_suyu_suyu_1emu_utils_Log_error(JNIEnv* env, jobject obj, jstring jmessage) { +void Java_org_suyu_suyu_1emu_utils_Log_error(JNIEnv* env, jobject obj, jstring jmessage) { LOG_ERROR(Frontend, "{}", Common::Android::GetJString(env, jmessage)); } -void Java_dev_suyu_suyu_1emu_utils_Log_critical(JNIEnv* env, jobject obj, jstring jmessage) { +void Java_org_suyu_suyu_1emu_utils_Log_critical(JNIEnv* env, jobject obj, jstring jmessage) { LOG_CRITICAL(Frontend, "{}", Common::Android::GetJString(env, jmessage)); } diff --git a/src/android/app/src/main/res/layout/fragment_emulation.xml b/src/android/app/src/main/res/layout/fragment_emulation.xml index e43e9fe208..fb56b3c9d8 100644 --- a/src/android/app/src/main/res/layout/fragment_emulation.xml +++ b/src/android/app/src/main/res/layout/fragment_emulation.xml @@ -6,7 +6,7 @@ android:layout_height="match_parent" android:keepScreenOn="true" android:defaultFocusHighlightEnabled="false" - tools:context="dev.suyu.suyu_emu.fragments.EmulationFragment" + tools:context="org.suyu.suyu_emu.fragments.EmulationFragment" tools:openDrawer="start"> - - + app:argType="org.suyu.suyu_emu.features.settings.model.Settings$MenuTag" /> + app:argType="org.suyu.suyu_emu.features.settings.model.Settings$MenuTag" /> + app:argType="org.suyu.suyu_emu.model.Game" /> @@ -157,19 +157,19 @@ app:destination="@id/perGamePropertiesFragment" /> + app:argType="org.suyu.suyu_emu.model.Game" /> + app:argType="org.suyu.suyu_emu.model.Game" /> diff --git a/src/android/app/src/main/res/navigation/settings_navigation.xml b/src/android/app/src/main/res/navigation/settings_navigation.xml index 31993fb171..94ba7b61a6 100644 --- a/src/android/app/src/main/res/navigation/settings_navigation.xml +++ b/src/android/app/src/main/res/navigation/settings_navigation.xml @@ -6,14 +6,14 @@ + app:argType="org.suyu.suyu_emu.features.settings.model.Settings$MenuTag" /> diff --git a/src/android/app/src/main/res/values-ar/strings.xml b/src/android/app/src/main/res/values-ar/strings.xml index 3369a613ce..2eacae1d5c 100644 --- a/src/android/app/src/main/res/values-ar/strings.xml +++ b/src/android/app/src/main/res/values-ar/strings.xml @@ -34,7 +34,7 @@ يسمح لـ يوزو بملء قائمة الألعاب تخطي تحديد مجلد الألعاب؟ لن يتم عرض الألعاب في قائمة الألعاب إذا لم يتم تحديد مجلد - https://suyu.dev/help/quickstart/#dumping-games + https://suyu-emu.org/help/quickstart/#dumping-games البحث عن ألعاب إعدادات البحث تم تحديد مجلد الألعاب @@ -42,7 +42,7 @@ مطلوب لفك تشفير ألعاب البيع بالتجزئة تخطي إضافة المفاتيح؟ مطلوب مفاتيح صالحة لمحاكاة ألعاب البيع بالتجزئة. ستعمل تطبيقات البيرة المنزلية فقط إذا تابعت - https://suyu.dev/help/quickstart/#guide-introduction + https://suyu-emu.org/help/quickstart/#guide-introduction الإشعارات امنح إذن الإشعار باستخدام الزر أدناه منح الإذن @@ -63,7 +63,7 @@ وحاول مرة أخر keys تحقق من أن ملف المفاتيح له امتداد وحاول مرة أخر bin تحقق من أن ملف المفاتيح له امتداد مفاتيح التشفير غير صالحة - https://suyu.dev/help/quickstart/#dumping-decryption-keys + https://suyu-emu.org/help/quickstart/#dumping-decryption-keys الملف المحدد غير صحيح أو تالف. يرجى إعادة المفاتيح الخاصة بك GPU مدير برنامج تشغيل GPU تثبيت برنامج تشغيل @@ -107,7 +107,7 @@ لا يُسمح بتثبيت الألعاب الأساسية لتجنب التعارضات المحتملة. %1$d تم التثبيت بنجاح %1$d تمت الكتابة فوقه بنجاح - https://suyu.dev/help/quickstart/#dumping-installed-updates + https://suyu-emu.org/help/quickstart/#dumping-installed-updates برامج التشغيل المخصصة غير مدعومة تحميل برنامج التشغيل المخصص غير معتمد حاليًا لهذا الجهاز.\nحدد هذا الخيار مرة أخرى في المستقبل لمعرفة ما إذا تمت إضافة الدعم! إدارة بيانات يوزو @@ -137,7 +137,7 @@ محاكي سويتش مفتوح المصدر المساهمين مصنوع من فريق يوزو - https://git.suyu.dev/suyu/suyu/activity/ + https://github.com/suyu-emu/suyu/graphs/contributors المشاريع التي تجعل تطبيق يوزو لنظام أندرويد ممكنًا البناء بيانات المستخدم @@ -149,9 +149,9 @@ تم تصدير بيانات المستخدم بنجاح تم استيراد بيانات المستخدم بنجاح تم إلغاء التصدير - https://chat.suyu.dev/ - https://suyu.dev/ - https://git.suyu.dev/ + https://discord.gg/suyu + https://suyu-emu.org/ + https://github.com/suyu-emu الوصول المبكر diff --git a/src/android/app/src/main/res/values-ckb/strings.xml b/src/android/app/src/main/res/values-ckb/strings.xml index c294233f42..bb630f934a 100644 --- a/src/android/app/src/main/res/values-ckb/strings.xml +++ b/src/android/app/src/main/res/values-ckb/strings.xml @@ -1,7 +1,7 @@ - ئەم نەرمەکاڵایە یارییەکانی کۆنسۆلی نینتێندۆ سویچ کارپێدەکات. هیچ ناونیشانێکی یاری و کلیلی تێدا نییە..<br /><br />پێش ئەوەی دەست پێ بکەیت، تکایە شوێنی فایلی <b> prod.keys </b> دیاریبکە لە نێو کۆگای ئامێرەکەت.<br /><br /><a href=\"https://suyu.dev/help/quickstart\">زیاتر فێربە</a> + ئەم نەرمەکاڵایە یارییەکانی کۆنسۆلی نینتێندۆ سویچ کارپێدەکات. هیچ ناونیشانێکی یاری و کلیلی تێدا نییە..<br /><br />پێش ئەوەی دەست پێ بکەیت، تکایە شوێنی فایلی <b> prod.keys </b> دیاریبکە لە نێو کۆگای ئامێرەکەت.<br /><br /><a href=\"https://suyu-emu.org/help/quickstart\">زیاتر فێربە</a> ئاگاداری و هەڵەکان ئاگادارکردنەوەکان پیشان دەدات کاتێک شتێک بە هەڵەدا دەچێت. مۆڵەتی ئاگادارکردنەوە نەدراوە! @@ -32,14 +32,14 @@ ڕێگە بە یوزو دەدات بۆ پڕکردنەوەی لیستی یارییەکان هەڵبژاردنی فۆڵدەری یارییەکان تێپەڕدەکەیت؟ یارییەکان لە لیستی یارییەکاندا پیشان نادرێن ئەگەر فۆڵدەرێک هەڵنەبژێردرێت. - https://suyu.dev/help/quickstart/#dumping-games + https://suyu-emu.org/help/quickstart/#dumping-games گەڕان بەدوای یارییەکاندا ناونیشانی یارییەکان هەڵبژێردرا دابمەزرێنە prod.keys پێویستە بۆ کۆدکردنەوەى یارییە تاکەکەسییەکان زیادکردنی کلیلەکان تێپەڕدەکەیت؟ کلیلی دروست پێویستە بۆ وەرگرتنی یارییەکانی تاکەکەسی. تەنها ئەپەکانی homebrew کاردەکەن ئەگەر بەردەوام بیت. - https://suyu.dev/help/quickstart/#guide-introduction + https://suyu-emu.org/help/quickstart/#guide-introduction ئاگادارکردنەوەکان بە دوگمەی خوارەوە مۆڵەتی ئاگادارکردنەوەکە بدە. مۆڵەت بدە @@ -60,7 +60,7 @@ دڵنیابەوە کە فایلی کلیلەکانت درێژکراوەی .keys ی هەیە و دووبارە هەوڵبدەرەوە. دڵنیابە کە فایلی کلیلەکانت درێژکراوەی .bin ی هەیە و دووبارە هەوڵبدەرەوە. کلیلی کۆدکردنی نادروستە - https://suyu.dev/help/quickstart/#dumping-decryption-keys + https://suyu-emu.org/help/quickstart/#dumping-decryption-keys فایلە هەڵبژێردراوەکە هەڵەیە یان تێکچووە. تکایە دووبارە کلیلەکانت دەربێنەوە. دامەزراندنی وەگەڕخەری GPU دامەزراندنی وەگەڕخەری بەدیل بۆ ئەوەی بە ئەگەرێکی زۆرەوە کارایی باشتر یان وردبینی هەبێت @@ -94,8 +94,8 @@ هیچ فایلێکی لۆگ نەدۆزراوە دامەزراندنی ناوەڕۆکی یاری دامەزراندنی نوێکاری یارییەکان یان DLC - https://suyu.dev/help/quickstart/#dumping-installed-updates - https://suyu.dev/help/quickstart/#dumping-decryption-keys + https://suyu-emu.org/help/quickstart/#dumping-installed-updates + https://suyu-emu.org/help/quickstart/#dumping-decryption-keys گایا ڕاستەقینە نییە @@ -103,12 +103,12 @@ ئیمۆلیتەرێکی سەرچاوە-کراوەی سویچ بەشداربووان دروستکراوە لەگەڵ \u2764 لەلایەن تیمەکەی یوزو - https://git.suyu.dev/suyu/suyu/activity/ + https://github.com/suyu-emu/suyu/graphs/contributors ئەو پڕۆژانەی کە یوزوی بۆ ئەندرۆید ڕەخساند بونیات - https://chat.suyu.dev/ - https://suyu.dev/ - https://git.suyu.dev/ + https://discord.gg/suyu + https://suyu-emu.org/ + https://github.com/suyu-emu بەزوویی دەسپێگەشتن @@ -246,7 +246,7 @@ وەشان ڕۆمەکەت کۆدکراوە - تکایە دڵنیابەوە لەدامەزراوی <a href=\"https://suyu.dev/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> فایلەکەت بۆ ئەوەی بتوانرێت یارییەکان کۆد بکرێنەوە. + تکایە دڵنیابەوە لەدامەزراوی <a href=\"https://suyu-emu.org/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> فایلەکەت بۆ ئەوەی بتوانرێت یارییەکان کۆد بکرێنەوە. هەڵەیەک لە دەستپێکردنی ناوەکی ڤیدیۆکەدا ڕوویدا ئەمەش بەزۆری بەهۆی وەگەڕخەرێکی ناتەبای GPU ەوەیە. دامەزراندنی وەگەڕخەری GPU ی تایبەتمەندکراو لەوانەیە ئەم کێشەیە چارەسەر بکات. ناتوانرێت ڕۆم باربکرێت diff --git a/src/android/app/src/main/res/values-cs/strings.xml b/src/android/app/src/main/res/values-cs/strings.xml index 865fb76f5e..6d09b552cd 100644 --- a/src/android/app/src/main/res/values-cs/strings.xml +++ b/src/android/app/src/main/res/values-cs/strings.xml @@ -26,10 +26,10 @@ Hledat a filtrovat hry Vybrat složku s hrami Spravovat složky s hrami - https://suyu.dev/help/quickstart/#dumping-games + https://suyu-emu.org/help/quickstart/#dumping-games Instalovat prod.keys Přeskočit přidávání klíčů? - https://suyu.dev/help/quickstart/#guide-introduction + https://suyu-emu.org/help/quickstart/#guide-introduction Oznámení Udělit oprávnění Přeskočit udělení oprávnění k oznámení? @@ -47,7 +47,7 @@ Klíče úspěšně nainstalovány Chyba při čtení šifrovacích klíčů Neplatné šifrovací klíče - https://suyu.dev/help/quickstart/#dumping-decryption-keys + https://suyu-emu.org/help/quickstart/#dumping-decryption-keys Správce ovladače GPU Instalovat GPU ovladač Pokročilé nastavení @@ -86,7 +86,7 @@ Open-source Switch emulátor Přispěvatelé Vyrobeno s \u2764 od suyu týmu - https://git.suyu.dev/suyu/suyu/activity/ + https://github.com/suyu-emu/suyu/graphs/contributors Číslo sestavení Uživatelská data Exportování uživatelských dat... @@ -96,9 +96,9 @@ Uživatelská data byla úspěšně exportována. Uživatelská data byla úspěšně importována. Export zrušen - https://chat.suyu.dev/ - https://suyu.dev/ - https://git.suyu.dev/ + https://discord.gg/suyu + https://suyu-emu.org/ + https://github.com/suyu-emu https://play.google.com/store/apps/details?id=org.suyu.suyu_emu.ea Žádná manuální instalace diff --git a/src/android/app/src/main/res/values-de/strings.xml b/src/android/app/src/main/res/values-de/strings.xml index 4f4f34630a..8a69115433 100644 --- a/src/android/app/src/main/res/values-de/strings.xml +++ b/src/android/app/src/main/res/values-de/strings.xml @@ -1,7 +1,7 @@ - Diese Software kann Spiele für die Nintendo Switch abspielen. Keine Spiele oder Spielekeys sind enthalten.<br /><br />Bevor du beginnst, bitte halte deine <b> prod.keys </b> auf deinem Gerät bereit. .<br /><br /><a href=\"https://suyu.dev/help/quickstart\">Mehr Infos</a> + Diese Software kann Spiele für die Nintendo Switch abspielen. Keine Spiele oder Spielekeys sind enthalten.<br /><br />Bevor du beginnst, bitte halte deine <b> prod.keys </b> auf deinem Gerät bereit. .<br /><br /><a href=\"https://suyu-emu.org/help/quickstart\">Mehr Infos</a> Hinweise und Fehler Zeigt Benachrichtigungen an, wenn etwas schief läuft. Berechtigung für Benachrichtigungen nicht erlaubt! @@ -35,7 +35,7 @@ Erlaubt suyu die Spieleliste zu füllen Auswahl des Spieleverzeichnisses überspringen? Spiele werden in der Spieleliste nicht angezeigt, wenn kein Ordner ausgewählt ist. - https://suyu.dev/help/quickstart/#dumping-games + https://suyu-emu.org/help/quickstart/#dumping-games Spiele suchen Einstellungen suchen Spieleverzeichnis ausgewählt @@ -43,7 +43,7 @@ Zum Entschlüsseln von Spielen benötigt Hinzufügen der Schlüssel überspringen? Für die Emulation von Spielen sind gültige Schlüssel erforderlich. Wenn du fortfährst, funktionieren nur Homebrew-Anwendungen. - https://suyu.dev/help/quickstart/#guide-introduction + https://suyu-emu.org/help/quickstart/#guide-introduction Benachrichtigungen Erteile mit dem Knopf unten die Berechtigung, Benachrichtigungen zu senden. Berechtigung erteilen @@ -63,7 +63,7 @@ Überprüfen Sie, ob Ihre Schlüsseldatei die Erweiterung \".keys\" hat, und versuchen Sie es erneut. Überprüfen Sie, ob Ihre Schlüsseldatei die Erweiterung \".bin\" hat, und versuchen Sie es erneut. Ungültige Schlüssel - https://suyu.dev/help/quickstart/#dumping-decryption-keys + https://suyu-emu.org/help/quickstart/#dumping-decryption-keys Die ausgewählte Datei ist falsch oder beschädigt. Bitte kopieren Sie Ihre Schlüssel erneut. GPU-Treiber Verwaltung GPU-Treiber installieren @@ -108,12 +108,12 @@ Wirklich fortfahren? %1$d Installationsfehler %1$d erfolgreich installiert %1$d erfolgreich überschrieben - https://suyu.dev/help/quickstart/#dumping-installed-updates + https://suyu-emu.org/help/quickstart/#dumping-installed-updates suyu-Daten Verwalten Speicherdaten teilen Spiele-Ordner Spiele-Ordner hinzufügen - https://suyu.dev/help/quickstart/#dumping-decryption-keys + https://suyu-emu.org/help/quickstart/#dumping-decryption-keys Firmware nicht installiert @@ -122,7 +122,7 @@ Wirklich fortfahren? Ein quelloffener Switch-Emulator Beitragende Gemacht mit \u2764 vom suyu Team - https://git.suyu.dev/suyu/suyu/activity/ + https://github.com/suyu-emu/suyu/graphs/contributors Projekte, die suyu für Android möglich machen Build Nutzerdaten @@ -131,9 +131,9 @@ Wirklich fortfahren? Nutzerdaten erfolgreich exportiert Nutzerdaten erfolgreich importiert Export abgebrochen - https://chat.suyu.dev/ - https://suyu.dev/ - https://git.suyu.dev/ + https://discord.gg/suyu + https://suyu-emu.org/ + https://github.com/suyu-emu Early Access @@ -319,7 +319,7 @@ Wirklich fortfahren? Integritätsüberprüfung konnte nicht durchgeführt werden Das ROM ist verschlüsselt - Bitte stelle sicher dass die <a href=\"https://suyu.dev/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> Datei installiert ist, damit Spiele entschlüsselt werden können. + Bitte stelle sicher dass die <a href=\"https://suyu-emu.org/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> Datei installiert ist, damit Spiele entschlüsselt werden können. Bei der Initialisierung des Videokerns ist ein Fehler aufgetreten Dies wird normalerweise durch einen inkompatiblen GPU-Treiber verursacht. Die Installation eines passenden GPU-Treibers kann dieses Problem beheben. ROM konnte nicht geladen werden diff --git a/src/android/app/src/main/res/values-es/strings.xml b/src/android/app/src/main/res/values-es/strings.xml index 8f401ce1bd..ebe05df24a 100644 --- a/src/android/app/src/main/res/values-es/strings.xml +++ b/src/android/app/src/main/res/values-es/strings.xml @@ -1,7 +1,7 @@ - Este software ejecuta juegos para la videoconsola Nintendo Switch. Los videojuegos o claves no vienen incluidos.<br /><br />Antes de empezar, por favor, localice el archivo <b> prod.keys </b>en el almacenamiento de su dispositivo..<br /><br /><a href=\"https://suyu.dev/help/quickstart\">Saber más</a> + Este software ejecuta juegos para la videoconsola Nintendo Switch. Los videojuegos o claves no vienen incluidos.<br /><br />Antes de empezar, por favor, localice el archivo <b> prod.keys </b>en el almacenamiento de su dispositivo..<br /><br /><a href=\"https://suyu-emu.org/help/quickstart\">Saber más</a> Avisos y errores Mostrar notificaciones cuándo algo vaya mal. ¡Permisos de notificación no concedidos! @@ -35,7 +35,7 @@ Permite que suyu llene la lista de juegos ¿Omitir la selección de la carpeta de juegos? No se mostrará ningún juego si no se ha seleccionado una carpeta de juegos. - https://suyu.dev/help/quickstart/#dumping-games + https://suyu-emu.org/help/quickstart/#dumping-games Buscar juegos Buscar configuración Directorio de juegos seleccionado @@ -43,7 +43,7 @@ Requerido para descifrar juegos ¿Omitir agregar claves? Se requieren claves válidas para emular juegos. Solo las aplicaciones homebrew funcionarán si continúas. - https://suyu.dev/help/quickstart/#guide-introduction + https://suyu-emu.org/help/quickstart/#guide-introduction Notificaciones Otorga el permiso de notificación con el botón de abajo. Conceder permiso @@ -64,7 +64,7 @@ Compruebe que el archivo de claves tenga una extensión .keys y pruebe otra vez. Compruebe que el archivo de claves tenga una extensión .bin y pruebe otra vez. Claves de cifrado no válidas - https://suyu.dev/help/quickstart/#dumping-decryption-keys + https://suyu-emu.org/help/quickstart/#dumping-decryption-keys El archivo seleccionado es incorrecto o está corrupto. Vuelva a redumpear sus claves. Explorador de drivers de GPU Instalar driver de GPU @@ -114,7 +114,7 @@ Contenido(s) de juego instalado/s con éxito %1$d instalado con éxito %1$d sobreescrito con éxito - https://suyu.dev/help/quickstart/#dumping-installed-updates + https://suyu-emu.org/help/quickstart/#dumping-installed-updates Drivers personalizados no soportados En estos momentos, la carga de drivers personalizados no está disponible para este dispositivo..\n¡Comprueba esta opción en el futuro para ver si ya está añadido el soporte a ese dispositivo! Administrar datos de suyu @@ -141,14 +141,14 @@ Comprueba todo el contenido instalado por si hubiese alguno corrupto Faltan las claves de encriptación El firmware y los juegos no se pueden desencriptar - https://suyu.dev/help/quickstart/#dumping-decryption-keys + https://suyu-emu.org/help/quickstart/#dumping-decryption-keys Ejecutador de applet Ejecutar applets de sistema usando el firmware instalado Firmware no instalado Applet no disponible - Asegúrese de que el archivo<a href=\"https://suyu.dev/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> y el <a href=\"https://suyu.dev/help/quickstart/#dumping-system-firmware\">firmware</a> estén instalados e inténtelo de nuevo. + Asegúrese de que el archivo<a href=\"https://suyu-emu.org/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> y el <a href=\"https://suyu-emu.org/help/quickstart/#dumping-system-firmware\">firmware</a> estén instalados e inténtelo de nuevo. Álbum Ver las imágenes que están en la carpeta \"screenshots\" del usuario con el visor de fotos del sistema Editor de Mii @@ -167,7 +167,7 @@ Un emulador de Switch de código abierto Contribuidores Hecho con \u2764 del equipo suyu - https://git.suyu.dev/suyu/suyu/activity/ + https://github.com/suyu-emu/suyu/graphs/contributors Proyectos que hacen que suyu para Android sea una realidad Versión Datos de usuario @@ -180,9 +180,9 @@ Datos de usuario importados con éxito Exportación cancelada Asegúrese de que las carpetas de datos de usuario estén en la raíz de la carpeta del zip y contengan un archivo config en config/config.ini e inténtelo de nuevo. - https://chat.suyu.dev/ - https://suyu.dev/ - https://git.suyu.dev/ + https://discord.gg/suyu + https://suyu-emu.org/ + https://github.com/suyu-emu Early Access @@ -410,8 +410,8 @@ Su ROM está encriptada - Por favor, siga las guías para redumpear<a href=\"https://suyu.dev/help/quickstart/#dumping-physical-titles-game-cards\">cartuchos de juegos</a> o <a href=\"https://suyu.dev/help/quickstart/#dumping-digital-titles-eshop\">títulos instalados</a>. - Por favor, compruebe que su archivo <a href=\"https://suyu.dev/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> está instalado, para que los juegos sean descifrados. + Por favor, siga las guías para redumpear<a href=\"https://suyu-emu.org/help/quickstart/#dumping-physical-titles-game-cards\">cartuchos de juegos</a> o <a href=\"https://suyu-emu.org/help/quickstart/#dumping-digital-titles-eshop\">títulos instalados</a>. + Por favor, compruebe que su archivo <a href=\"https://suyu-emu.org/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> está instalado, para que los juegos sean descifrados. Ocurrió un error al inicializar el núcleo de video, posiblemente debido a una incompatibilidad con el driver seleccionado Esto suele deberse a un driver de GPU incompatible. La instalación de un controlador de GPU personalizado puede resolver este problema. No se pudo cargar la ROM diff --git a/src/android/app/src/main/res/values-fa/strings.xml b/src/android/app/src/main/res/values-fa/strings.xml index a63c32e059..8112b8a853 100644 --- a/src/android/app/src/main/res/values-fa/strings.xml +++ b/src/android/app/src/main/res/values-fa/strings.xml @@ -35,7 +35,7 @@ به suyu اجازه می دهد تا لیست باز‌ی‌ها را پر کند از انتخاب پوشه بازی رد می‌شوید؟ اگر پوشه‌ای انتخاب نشده باشد، بازی‌ها در لیست بازی‌ها نمایش داده نمی‌شوند. - https://suyu.dev/help/quickstart/#dumping-games + https://suyu-emu.org/help/quickstart/#dumping-games جستجو در بازی‌ها جستجو در تنظیمات پوشه بازی‌ها انتخاب شد @@ -43,7 +43,7 @@ برای رمزگشایی بازی‌های فروشگاهی مورد نیاز است افزودن کلیدها را رد می‌کنید؟ کلیدهای معتبر برای شبیه‌سازی بازی‌های فروشگاهی مورد نیاز است. اگر ادامه دهید، فقط برنامه‌های سیستم ریزکامپیوتری کار خواهند کرد. - https://suyu.dev/help/quickstart/#guide-introduction + https://suyu-emu.org/help/quickstart/#guide-introduction اعلان‌ها مجوز اعلان را با دکمه زیر اعطا کنید. اجازه بدهید @@ -64,7 +64,7 @@ بررسی کنید که فایل کلیدهای شما دارای پسوند keys. باشد و دوباره امتحان کنید. بررسی کنید که فایل کلیدهای شما دارای پسوند bin. باشد و دوباره امتحان کنید. کلیدهای رمزگذاری نامعتبر - https://suyu.dev/help/quickstart/#dumping-decryption-keys + https://suyu-emu.org/help/quickstart/#dumping-decryption-keys فایل انتخابی نادرست یا خراب است. لطفا کلیدهای خود را دوباره استخراج کنید. مدیریت درایور پردازنده گرافیکی نصب درایور پردازنده گرافیکی @@ -114,7 +114,7 @@ محتوا(های) بازی با موفقیت نصب شد %1$dبا موفقیت نصب شد %1$dبا موفقیت بازنویسی شد - https://suyu.dev/help/quickstart/#dumping-installed-updates + https://suyu-emu.org/help/quickstart/#dumping-installed-updates درایورهای سفارشی پشتیبانی نمی‌شوند بارگیری درایور سفارشی در حال حاضر برای این دستگاه پشتیبانی نمی‌شود.\nاین گزینه را دوباره در آینده بررسی کنید تا ببینید آیا پشتیبانی اضافه شده است یا خیر! مدیریت داده‌های suyu @@ -139,14 +139,14 @@ تمام محتوای نصب شده را از نظر خرابی بررسی می‌کند کلیدهای رمزگذاری وجود ندارند ثابت‌افزار و بازی‌های فروشگاهی قابل رمزگشایی نیستند - https://suyu.dev/help/quickstart/#dumping-decryption-keys + https://suyu-emu.org/help/quickstart/#dumping-decryption-keys اجراکننده برنامک برنامک‌های سیستم را با استفاده از ثابت‌افزار نصب شده راه اندازی کنید ثابت‌افزار نصب نیست برنامک در دسترس نیست - لطفاً مطمئن شوید که فایل <a href=\"https://suyu.dev/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> و <a href=\"https://suyu.dev/help/quickstart/#dumping-system-firmware\">ثابت‌افزار</a> شما نصب شده است و دوباره امتحان کنید. + لطفاً مطمئن شوید که فایل <a href=\"https://suyu-emu.org/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> و <a href=\"https://suyu-emu.org/help/quickstart/#dumping-system-firmware\">ثابت‌افزار</a> شما نصب شده است و دوباره امتحان کنید. آلبوم تصاویر ذخیره شده در پوشه اسکرین شات‌های کاربر را با نمایشگر عکس سیستم مشاهده کنید ویرایش Mii @@ -165,7 +165,7 @@ یک شبیه‌ساز سوئیچ منبع باز مشارکت کنندگان Made with \u2764 from the suyu team - https://git.suyu.dev/suyu/suyu/activity/ + https://github.com/suyu-emu/suyu/graphs/contributors پروژه‌هایی که suyu را برای اندروید ممکن می‌سازند ساخت داده کاربر @@ -178,9 +178,9 @@ داده‌های کاربر با موفقیت وارد شد صدور لغو شد مطمئن شوید که پوشه‌های داده کاربر در ریشه پوشه zip و حاوی یک فایل پیکربندی در config/config.ini هستند سپس دوباره امتحان کنید. - https://chat.suyu.dev/ - https://suyu.dev/ - https://git.suyu.dev/ + https://discord.gg/suyu + https://suyu-emu.org/ + https://github.com/suyu-emu دسترسی زودهنگام @@ -410,7 +410,7 @@ رام شما رمزگذاری شده است - لطفاً راهنماها را دنبال کنید تا <a href=\"https://suyu.dev/help/quickstart/#dumping-physical-titles-game-cards\">کارتیج‌های بازی</a> یا <a href=\"https://suyu.dev/help/quickstart/#dumping-digital-titles-eshop\">عناوین نصب شده</a> خود را استخراج کنید. + لطفاً راهنماها را دنبال کنید تا <a href=\"https://suyu-emu.org/help/quickstart/#dumping-physical-titles-game-cards\">کارتیج‌های بازی</a> یا <a href=\"https://suyu-emu.org/help/quickstart/#dumping-digital-titles-eshop\">عناوین نصب شده</a> خود را استخراج کنید. لطفاً مطمئن شوید که فایل prod.keys شما نصب شده است تا بازی‌ها رمزگشایی شوند. در راه‌اندازی اولیه هسته ویدیو خطایی رخ داد این مورد معمولاً توسط یک درایور گرافیکی ناسازگار ایجاد می‌شود. نصب درایور گرافیکی سفارشی ممکن است این مشکل را حل کند. diff --git a/src/android/app/src/main/res/values-fr/strings.xml b/src/android/app/src/main/res/values-fr/strings.xml index d1a36c0f79..f98ea6a35f 100644 --- a/src/android/app/src/main/res/values-fr/strings.xml +++ b/src/android/app/src/main/res/values-fr/strings.xml @@ -1,7 +1,7 @@ - Ce logiciel exécutera des jeux pour la console de jeu Nintendo Switch. Aucun jeux ou clés n\'est inclus.<br /><br />Avant de commencer, veuillez localiser votre fichier <b> prod.keys </b> sur le stockage de votre appareil.<br /><br /><a href=\"https://suyu.dev/help/quickstart\">En savoir plus</a> + Ce logiciel exécutera des jeux pour la console de jeu Nintendo Switch. Aucun jeux ou clés n\'est inclus.<br /><br />Avant de commencer, veuillez localiser votre fichier <b> prod.keys </b> sur le stockage de votre appareil.<br /><br /><a href=\"https://suyu-emu.org/help/quickstart\">En savoir plus</a> Avis et erreurs Affiche des notifications en cas de problème. Permission de notification non accordée ! @@ -35,7 +35,7 @@ Permet à suyu de remplir la liste des jeux Ne pas sélectionner le dossier des jeux ? Les jeux ne seront pas affichés dans la liste des jeux si aucun dossier n\'est sélectionné. - https://suyu.dev/help/quickstart/#dumping-games + https://suyu-emu.org/help/quickstart/#dumping-games Rechercher des jeux Rechercher un paramètre Répertoire de jeux sélectionné @@ -43,7 +43,7 @@ Nécessaire pour décrypter les jeux commerciaux. Sauter l\'ajout des clés ? Des clés valides sont nécessaires pour émuler des jeux commerciaux. Seules les applications homebrew fonctionneront si vous continuez. - https://suyu.dev/help/quickstart/#guide-introduction + https://suyu-emu.org/help/quickstart/#guide-introduction Notifications Accorder la permission de notification avec le bouton ci-dessous. Accorder la permission @@ -64,7 +64,7 @@ Vérifiez que votre fichier de clés a une extension .keys et réessayez. Vérifiez que votre fichier de clés a une extension .bin et réessayez. Clés de chiffrement invalides - https://suyu.dev/help/quickstart/#dumping-decryption-keys + https://suyu-emu.org/help/quickstart/#dumping-decryption-keys Le fichier sélectionné est incorrect ou corrompu. Veuillez dumper à nouveau vos clés. Gestionnaire de pilotes du GPU Installer le pilote du GPU @@ -114,7 +114,7 @@ Contenu du jeu installé avec succès %1$d installé avec succès %1$d écrasé avec succès - https://suyu.dev/help/quickstart/#dumping-installed-updates + https://suyu-emu.org/help/quickstart/#dumping-installed-updates Pilotes personnalisés non supporté Le chargement des pilotes personnalisés ne sont pas actuellement pris en charge pour ce périphérique. Vérifiez à nouveau cette option à l\'avenir pour voir si la prise en charge a été ajoutée ! Gérer les données de suyu @@ -141,14 +141,14 @@ Vérifie l\'intégrité des contenus installés Les clés de chiffrement sont manquantes. Le firmware et les jeux commerciaux ne peuvent pas être déchiffrés - https://suyu.dev/help/quickstart/#dumping-decryption-keys + https://suyu-emu.org/help/quickstart/#dumping-decryption-keys Lanceur d\'applets Lancer des applets système en utilisant le firmware installé Firmware non installé Applet non disponible - Veuillez vous assurer que le fichier <a href=\"https://suyu.dev/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> et le <a href=\"https://suyu.dev/help/quickstart/#dumping-system-firmware\">firmware</a> sont installés et essayez à nouveau. + Veuillez vous assurer que le fichier <a href=\"https://suyu-emu.org/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> et le <a href=\"https://suyu-emu.org/help/quickstart/#dumping-system-firmware\">firmware</a> sont installés et essayez à nouveau. Album Afficher les images stockées dans le dossier de captures d\'écran de l\'utilisateur avec le visualiseur de photos système. Éditeur Mii @@ -167,7 +167,7 @@ Un émulateur Switch open source Contributeurs Fait avec \u2764 de l\'équipe suyu - https://git.suyu.dev/suyu/suyu/activity/ + https://github.com/suyu-emu/suyu/graphs/contributors Des projets qui rendent possible suyu pour Android Build Données utilisateur @@ -180,9 +180,9 @@ Les données utilisateur ont été importées avec succès Exportation annulée Assurez-vous que les dossiers de données utilisateur se trouvent à la racine du dossier ZIP et contiennent un fichier de configuration à config/config.ini, puis réessayez. - https://chat.suyu.dev/ - https://suyu.dev/ - https://git.suyu.dev/ + https://discord.gg/suyu + https://suyu-emu.org/ + https://github.com/suyu-emu Early Access @@ -460,8 +460,8 @@ Votre ROM est cryptée - Veuillez suivre les guides pour refaire un dump de vos <a href=\"https://suyu.dev/help/quickstart/#dumping-physical-titles-game-cards\">cartouches de jeu</a> ou de vos <a href=\"https://suyu.dev/help/quickstart/#dumping-digital-titles-eshop\">titres installés</a>. - Veuillez vous assurer que votre fichier <a href=\"https://suyu.dev/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> est installé pour que les jeux puissent être déchiffrés. + Veuillez suivre les guides pour refaire un dump de vos <a href=\"https://suyu-emu.org/help/quickstart/#dumping-physical-titles-game-cards\">cartouches de jeu</a> ou de vos <a href=\"https://suyu-emu.org/help/quickstart/#dumping-digital-titles-eshop\">titres installés</a>. + Veuillez vous assurer que votre fichier <a href=\"https://suyu-emu.org/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> est installé pour que les jeux puissent être déchiffrés. Une erreur s\'est produite lors de l\'initialisation du noyau vidéo Cela est généralement dû à un pilote GPU incompatible. L\'installation d\'un pilote GPU personnalisé peut résoudre ce problème. Impossible de charger la ROM diff --git a/src/android/app/src/main/res/values-he/strings.xml b/src/android/app/src/main/res/values-he/strings.xml index fb5163268c..f1087d6131 100644 --- a/src/android/app/src/main/res/values-he/strings.xml +++ b/src/android/app/src/main/res/values-he/strings.xml @@ -1,7 +1,7 @@ - התוכנה תריץ משחקים לקונסולת ה Nintendo Switch. אף משחק או קבצים בעלי זכויות יוצרים נכללים.<br /><br /> לפני שאת/ה מתחיל בבקשה מצא את קובץ <b>prod.keys</b> על המכשיר.<br /><br /><a href=\"https://suyu.dev/help/quickstart\">קרא עוד</a> + התוכנה תריץ משחקים לקונסולת ה Nintendo Switch. אף משחק או קבצים בעלי זכויות יוצרים נכללים.<br /><br /> לפני שאת/ה מתחיל בבקשה מצא את קובץ <b>prod.keys</b> על המכשיר.<br /><br /><a href=\"https://suyu-emu.org/help/quickstart\">קרא עוד</a> התראות ותקלות מציג התראות כאשר משהו הולך לא כשורה. הרשאות התראות לא ניתנה! @@ -35,7 +35,7 @@ אפשר ל suyu לאכלס את רשימת המשחקים לדלג על בחירת תיקיית המשחקים? משחקים לא יוצגו ברשימת המשחקים אם לנבחרה תיקיית משחקים. - https://suyu.dev/help/quickstart/#dumping-games + https://suyu-emu.org/help/quickstart/#dumping-games חפש משחקים חפש בהגדרות ספריית משחקים נבחרה @@ -43,7 +43,7 @@ הכרחי בכדי לפענח משחקים לדלג על הוספת מפתחות? מפתחות חוקיים הכרחיים כדי לשחק במשחקים. רק אפליקציות פירטיות יפעלו אם תמשיך. - https://suyu.dev/help/quickstart/#guide-introduction + https://suyu-emu.org/help/quickstart/#guide-introduction התראות תן גישה להתראות עם הכפתור למטה. תן הרשאה @@ -64,7 +64,7 @@ ודא שלקובץ המפתחות שלך יש סיומת של key. ונסה/י שוב. ודא/י שלקובץ המפתחות שלך יש סיומת של bin. ונסה/י שוב. מפתחות הצפנה לא חוקיים - https://suyu.dev/help/quickstart/#dumping-decryption-keys + https://suyu-emu.org/help/quickstart/#dumping-decryption-keys קבוץ שנבחר מושחת או לא נכון. בבקשה הוצא מחדש את המפתחות שלך. מנהל הדרייברים של המעבד הגרפי התקן דרייבר למעבד הגרפי @@ -114,7 +114,7 @@ תוכן (או תכני) המשחק הותקנו בהצלחה %1$d הותקן בהצלחה %1$d נדרס/נכתב מעל בהצלחה - https://suyu.dev/help/quickstart/#dumping-installed-updates + https://suyu-emu.org/help/quickstart/#dumping-installed-updates דרייברים מותאמים אישית לא נתמכים הטענת דרייבים מותאמים אישית לא נתמך כרגע על מכשיר זה. \nבבקשה בדוק אופציה זו בעתיד בכדי לראות אם נוספה תמיכה! נהל את המידע של suyu @@ -126,14 +126,14 @@ הוסף תיקיית משחקים התיקייה הזו נוספה כבר! מאפייני תיקיית משחקים - https://suyu.dev/help/quickstart/#dumping-decryption-keys + https://suyu-emu.org/help/quickstart/#dumping-decryption-keys משגר Applet מערכת שיגור Applet משתמשת בתוכנה המותקנת ה Firmware לא מותקן Applet לא זמין - בבקשה וודא שקבצי ה - <a href=\"https://suyu.dev/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a>ו <a href=\"https://suyu.dev/help/quickstart/#dumping-system-firmware\">firmware</a>שלך מותקנים ונסה שוב. + בבקשה וודא שקבצי ה - <a href=\"https://suyu-emu.org/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a>ו <a href=\"https://suyu-emu.org/help/quickstart/#dumping-system-firmware\">firmware</a>שלך מותקנים ונסה שוב. אלבום צפה בתמונות השמורות בתיקיית צילומי המסך של המשתמש בעזרת מציג התמונות של המערכת עורך Mii @@ -152,7 +152,7 @@ אמולטור Switch עם קוד פתוח תורמים נוצר עם \u2764 מקבוצת suyu - https://git.suyu.dev/suyu/suyu/activity/ + https://github.com/suyu-emu/suyu/graphs/contributors פרוייקטים שהופכים את suyu ל Android אפשרי גרסה נתוני משתמש @@ -165,9 +165,9 @@ נתוני משתמש יובאו בהצלחה ייצוא בוטל ודא שנתוני המשתמש נמצאים בשורש קובץ ה zip ושהוא מכיל קובץ סידור ב config/config.ini ונסה שוב. - https://chat.suyu.dev/ - https://suyu.dev/ - https://git.suyu.dev/ + https://discord.gg/suyu + https://suyu-emu.org/ + https://github.com/suyu-emu גישה מוקדמת @@ -325,8 +325,8 @@ אימות התקינות הצליח! המשחק שלך מוצפן - אנא עקוב אחרי המדריכים כדי לבצע redump של <a href=\"https://suyu.dev/help/quickstart/#dumping-physical-titles-game-cards\">כרטיסי המשחק</a>או <a href=\"https://suyu.dev/help/quickstart/#dumping-digital-titles-eshop\">הכותרות המותקנות</a> שלך. - אנא וודא שקובץ ה-<a href=\"https://suyu.dev/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> מותקן כך שניתן יהיה לפענח משחקים. + אנא עקוב אחרי המדריכים כדי לבצע redump של <a href=\"https://suyu-emu.org/help/quickstart/#dumping-physical-titles-game-cards\">כרטיסי המשחק</a>או <a href=\"https://suyu-emu.org/help/quickstart/#dumping-digital-titles-eshop\">הכותרות המותקנות</a> שלך. + אנא וודא שקובץ ה-<a href=\"https://suyu-emu.org/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> מותקן כך שניתן יהיה לפענח משחקים. התרחשה בעיה באתחול של ליבת הווידאו זה בדרך כלל נגרם על ידי דרייבר לא מתאים עבור המעבד הגרפי. התקנת דרייבר אשר מתאים למעבד הגרפי יכול לפתור את הבעיה הזו. אין אפשרות לטעון את המשחק diff --git a/src/android/app/src/main/res/values-hu/strings.xml b/src/android/app/src/main/res/values-hu/strings.xml index 073c41f6a9..098d65f9fa 100644 --- a/src/android/app/src/main/res/values-hu/strings.xml +++ b/src/android/app/src/main/res/values-hu/strings.xml @@ -1,7 +1,7 @@ - Ez a szoftver Nintendo Switch játékkonzolhoz készült játékokat futtat. Nem tartalmaz játékokat vagy kulcsokat. .<br /><br />Mielőtt hozzákezdenél, kérjük, válaszd ki a <b>prod.keys</b> fájl helyét a készülék tárhelyén<br /><br /><a href=\"https://suyu.dev/help/quickstart\">Tudj meg többet</a> + Ez a szoftver Nintendo Switch játékkonzolhoz készült játékokat futtat. Nem tartalmaz játékokat vagy kulcsokat. .<br /><br />Mielőtt hozzákezdenél, kérjük, válaszd ki a <b>prod.keys</b> fájl helyét a készülék tárhelyén<br /><br /><a href=\"https://suyu-emu.org/help/quickstart\">Tudj meg többet</a> Megjegyzések és hibák Értesítések megjelenítése, ha valami rosszul sül el. Nincs engedély az értesítés megjelenítéséhez! @@ -34,7 +34,7 @@ Játékmappák kezelése Kihagyod a játékok mappa kiválasztását? A játékok nem jelennek meg a Játékok listában, ha egy mappa nincs kijelölve. - https://suyu.dev/help/quickstart/#dumping-games + https://suyu-emu.org/help/quickstart/#dumping-games Játékok keresése Beállítások keresése Játékok könyvtár kiválasztva @@ -42,7 +42,7 @@ Kiskereskedelmi játékok dekódolásához szükséges Kihagyod a kulcsok hozzáadását? A kiskereskedelmi játékok emulálásához érvényes kulcsokra van szükség. Csak a homebrew alkalmazások fognak működni, ha folytatod. - https://suyu.dev/help/quickstart/#guide-introduction + https://suyu-emu.org/help/quickstart/#guide-introduction Értesítések Értesítési engedélyek megadása az alábbi gombbal. Engedély megadása @@ -63,7 +63,7 @@ Győződj meg róla, hogy a titkosító fájlod .keys kiterjesztéssel rendelkezik, majd próbáld újra. Győződj meg róla, hogy a titkosító fájlod .bin kiterjesztéssel rendelkezik, majd próbáld újra. Érvénytelen titkosítókulcsok - https://suyu.dev/help/quickstart/#dumping-decryption-keys + https://suyu-emu.org/help/quickstart/#dumping-decryption-keys A kiválasztott fájl helytelen, vagy sérült. Állíts össze egy új kulcsot. GPU illesztőprogram-kezelő GPU illesztőprogram telepítése @@ -112,7 +112,7 @@ Játéktartalom sikeresen telepítve %1$d sikeresen telepítve %1$d sikeresen felülírva - https://suyu.dev/help/quickstart/#dumping-installed-updates + https://suyu-emu.org/help/quickstart/#dumping-installed-updates Egyéni illesztőprogramok nem támogatottak Egyéni illesztőprogram telepítése jelenleg nem támogatott ezen az eszközön.\nNézz vissza később, hátha hozzáadtuk a támogatását! suyu adatok kezelése @@ -137,14 +137,14 @@ A telepített tartalom épségét ellenőrzi Hiányzó titkosítókulcsok A Firmware és a kiskereskedelmi (retail) játékok nem dekódolhatók - https://suyu.dev/help/quickstart/#dumping-decryption-keys + https://suyu-emu.org/help/quickstart/#dumping-decryption-keys Applet indító Rendszer appletek indítása a telepített firmware-rel Firmware nincs telepítve Applet nem elérhető - Kérjük, győződj meg róla, hogy a <a href=\"https://suyu.dev/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> fájl és a <a href=\"https://suyu.dev/help/quickstart/#dumping-system-firmware\">firmware</a> telepítve van, majd próbáld újra. + Kérjük, győződj meg róla, hogy a <a href=\"https://suyu-emu.org/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> fájl és a <a href=\"https://suyu-emu.org/help/quickstart/#dumping-system-firmware\">firmware</a> telepítve van, majd próbáld újra. Album Képernyőképek megtekintése a rendszer fényképnézegetőjével Mii szerkesztés @@ -163,7 +163,7 @@ Egy nyílt forráskódú Switch emulátor Hozzájárulók \u2764 által készítve a suyu csapattól - https://git.suyu.dev/suyu/suyu/activity/ + https://github.com/suyu-emu/suyu/graphs/contributors Projektek, amik nélkül a suyu nem jöhetett volna létre Androidra Felhasználói adatok Az összes alkalmazásadat importálása/exportálása.\n\nA felhasználói adatok importálásakor az összes meglévő felhasználói adat törlődik! @@ -175,9 +175,9 @@ Felhasználói adatok sikeresen importálva Exportálás megszakítva Ellenőrizd, hogy a felhasználói adatok mappái a zip mappa gyökerében vannak, és tartalmaznak egy konfig fájlt a config/config.ini címen, majd próbáld meg újra. - https://chat.suyu.dev/ - https://suyu.dev/ - https://git.suyu.dev/ + https://discord.gg/suyu + https://suyu-emu.org/ + https://github.com/suyu-emu Korai hozzáférés @@ -448,7 +448,7 @@ ROM titkosítva - Győződj meg róla, hogy a <a href=\"https://suyu.dev/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> fájl telepítve van, hogy a játékok visszafejthetők legyenek. + Győződj meg róla, hogy a <a href=\"https://suyu-emu.org/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> fájl telepítve van, hogy a játékok visszafejthetők legyenek. Hiba lépett fel a videómag inicializása során Ezt általában egy nem kompatibilis GPU illesztő okozza. Egyéni GPU illesztőprogram telepítése megoldhatja a problémát. Nem sikerült betölteni a ROM-ot diff --git a/src/android/app/src/main/res/values-id/strings.xml b/src/android/app/src/main/res/values-id/strings.xml index 032d4e7aad..c8437b45c1 100644 --- a/src/android/app/src/main/res/values-id/strings.xml +++ b/src/android/app/src/main/res/values-id/strings.xml @@ -1,7 +1,7 @@ - Perangkat lunak ini akan menjalankan game untuk konsol game Nintendo Switch. Tidak ada judul game atau kunci yang disertakan.<br /><br />Sebelum memulai, harap cari file <b> prod.keys </b> di penyimpanan perangkat anda. <br /><br /><a href=\"https://suyu.dev/help/quickstart\"> Selengkapnya </a> + Perangkat lunak ini akan menjalankan game untuk konsol game Nintendo Switch. Tidak ada judul game atau kunci yang disertakan.<br /><br />Sebelum memulai, harap cari file <b> prod.keys </b> di penyimpanan perangkat anda. <br /><br /><a href=\"https://suyu-emu.org/help/quickstart\"> Selengkapnya </a> Pemberitahuan dan error Menampilkan pemberitahuan ketika terjadi kesalahan. Izin notifikasi tidak diberikan! @@ -35,7 +35,7 @@ Izinkan suyu mengisi daftar game Lewati pemilihan folder game? Game tidak akan muncul di list jika tidak ada folder yang dipilih. - https://suyu.dev/help/quickstart/#dumping-games + https://suyu-emu.org/help/quickstart/#dumping-games Cari permainan Cari pengaturan Direktori game sudah terpilih @@ -43,7 +43,7 @@ Diperlukan untuk mendekripsi game retail Lewati penginstalan keys? Perlu keys yang valid untuk meng-emulate game retail. Hanya homebrew apps yang akan berfungsi jika kamu melanjutkan. - https://suyu.dev/help/quickstart/#guide-introduction + https://suyu-emu.org/help/quickstart/#guide-introduction Notifikasi Berikan izin notifikasi dengan tombol di bawah ini. Berikan izin @@ -64,7 +64,7 @@ Pastikan file keys anda memiliki format .keys dan coba lagi. Pastikan file keys anda memiliki format .bin dan coba lagi. Keys enkripsi tidak valid - https://suyu.dev/help/quickstart/#dumping-decryption-keys + https://suyu-emu.org/help/quickstart/#dumping-decryption-keys File yang dipilih salah atau rusak. Silakan masukkan kembali kunci Anda. Manajer driver GPU Install driver GPU @@ -114,7 +114,7 @@ Konten(-konten) game sudah berhasil terinstal. %1$d telah berhasil terinstal %1$d telah berhasil ditimpa. - https://suyu.dev/help/quickstart/#dumping-installed-updates + https://suyu-emu.org/help/quickstart/#dumping-installed-updates Driver kustom tidak didukung Driver kustom saat ini tidak dapat digunakan pada perangkat ini. \nCek opsi ini lain waktu untuk mengetahui apakah dapat digunakan! Kelola data Suyu. @@ -137,7 +137,7 @@ Memeriksa semua konten yang terinstal dari kerusakan Kunci enkripsi hilang Firmware dan game retail tidak dapat didekripsi - https://suyu.dev/help/quickstart/#dumping-decryption-keys + https://suyu-emu.org/help/quickstart/#dumping-decryption-keys Luncurkan applet @@ -163,7 +163,7 @@ Emulator Switch Open-Source Kontributor Dibuat dengan \u2764 dari tim suyu - https://git.suyu.dev/suyu/suyu/activity/ + https://github.com/suyu-emu/suyu/graphs/contributors Proyek yang memungkinkan suyu untuk Android Versi Data pengguna @@ -176,9 +176,9 @@ Berhasil mengimpor data pengguna Ekspor Dibatalkan Pastikan folder data pengguna berada di akar folder zip dan berisi file konfigurasi di config/config.ini dan coba lagi. - https://chat.suyu.dev/ - https://suyu.dev/ - https://git.suyu.dev/ + https://discord.gg/suyu + https://suyu-emu.org/ + https://github.com/suyu-emu Akses lebih awal @@ -402,8 +402,8 @@ ROM-mu ter-enkripsi - Silakan ikuti panduan untuk redump <a href=\"https://suyu.dev/help/quickstart/#dumping-physical-titles-game-cards\">kartu permainan</a> atau <a href=\"https://suyu.dev/help/quickstart/#dumping-digital-titles-eshop\">judul yang terinstal</a>. - Harap pastikan bahwa Anda <a href=\"https://suyu.dev/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> diinstal sehingga game dapat didekripsi. + Silakan ikuti panduan untuk redump <a href=\"https://suyu-emu.org/help/quickstart/#dumping-physical-titles-game-cards\">kartu permainan</a> atau <a href=\"https://suyu-emu.org/help/quickstart/#dumping-digital-titles-eshop\">judul yang terinstal</a>. + Harap pastikan bahwa Anda <a href=\"https://suyu-emu.org/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> diinstal sehingga game dapat didekripsi. Terjadi kesalahan ketika menginisialisasi inti video. Hal ini biasanya disebabkan oleh driver GPU yang tidak kompatibel. Menginstal driver GPU khusus dapat mengatasi masalah ini Tidak Dapat Memuat ROM diff --git a/src/android/app/src/main/res/values-it/strings.xml b/src/android/app/src/main/res/values-it/strings.xml index d4f7f8eca2..10552f1504 100644 --- a/src/android/app/src/main/res/values-it/strings.xml +++ b/src/android/app/src/main/res/values-it/strings.xml @@ -1,7 +1,7 @@ - Questo software permette di giocare ai giochi della console Nintendo Switch. Nessun gioco o chiave è inclusa.<br /><br />Prima di iniziare, perfavore individua il file <b>prod.keys </b> nella memoria del tuo dispositivo.<br /><br /><a href=\"https://suyu.dev/help/quickstart\">Scopri di più</a> + Questo software permette di giocare ai giochi della console Nintendo Switch. Nessun gioco o chiave è inclusa.<br /><br />Prima di iniziare, perfavore individua il file <b>prod.keys </b> nella memoria del tuo dispositivo.<br /><br /><a href=\"https://suyu-emu.org/help/quickstart\">Scopri di più</a> Avvisi ed errori Mostra le notifiche quando qualcosa va storto. Autorizzazione di notifica non concessa! @@ -35,7 +35,7 @@ Consente a suyu di popolare l\'elenco dei giochi Saltare la selezione della cartella dei giochi? I giochi non saranno mostrati nella lista dei giochi se una cartella non è selezionata. - https://suyu.dev/help/quickstart/#dumping-games + https://suyu-emu.org/help/quickstart/#dumping-games Cerca giochi Cerca impostazione Cartella dei giochi selezionata @@ -43,7 +43,7 @@ Necessario per decrittografare i giochi Saltare l\'aggiunta delle chiavi? Sono necessarie delle chiavi valide per emulare i giochi. Se continui, funzioneranno solo le app homebrew. - https://suyu.dev/help/quickstart/#guide-introduction + https://suyu-emu.org/help/quickstart/#guide-introduction Notifiche Concedi l\'autorizzazione alle notifiche con il pulsante in basso. Concedere l\'autorizzazione @@ -64,7 +64,7 @@ Controlla che le tue chiavi abbiano l\'estensione .keys e prova di nuovo. Controlla che le tue chiavi abbiano l\'estensione .bin e prova di nuovo Chiavi di crittografia non valide - https://suyu.dev/help/quickstart/#dumping-decryption-keys + https://suyu-emu.org/help/quickstart/#dumping-decryption-keys Il file selezionato è incorretto o corrotto. Per favore riesegui il dump delle tue chiavi. Gestore driver GPU Installa i driver GPU @@ -114,7 +114,7 @@ Contenuto/i di gioco installato/i con successo. %1$dinstallato con successo. %1$dsovrascritto con successo - https://suyu.dev/help/quickstart/#dumping-installed-updates + https://suyu-emu.org/help/quickstart/#dumping-installed-updates I driver personalizzati non sono supportati. I driver personalizzati non sono attualmente supportati su questo dispositivo.\n Ricontrolla in futuro. Gestisci i dati di Suyu @@ -129,14 +129,14 @@ Nessun salvataggio trovato Verifica i contenuti installati Verifica l\'integrità di tutti i contenuti installati. - https://suyu.dev/help/quickstart/#dumping-decryption-keys + https://suyu-emu.org/help/quickstart/#dumping-decryption-keys Avvia applet Avvia applet di sistema usando il firmware installato Firmware non installato Applet non disponibile - Assicurati che il file <a href=\"https://suyu.dev/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> e il <a href=\"https://suyu.dev/help/quickstart/#dumping-system-firmware\">firmware</a> siano installati e riprova. + Assicurati che il file <a href=\"https://suyu-emu.org/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> e il <a href=\"https://suyu-emu.org/help/quickstart/#dumping-system-firmware\">firmware</a> siano installati e riprova. Album Visualizza le immagini salvate nella cartella screenshots dell\'utente con il visualizzatore immagini di sistema Modifica Mii @@ -155,7 +155,7 @@ Un emulatore della Switch open-source. Collaboratori Realizzato con \u2764 dal team suyu - https://git.suyu.dev/suyu/suyu/activity/ + https://github.com/suyu-emu/suyu/graphs/contributors Progetti che rendono suyu per Android possibile Compilazione Dati Utente @@ -168,9 +168,9 @@ Dati Utente importati con successo. Esportazione annullata Assicurati che la cartella dei Dati dell\'utente stiano nella radice del file.zip e che sia presente una cartella config in config/config.ini, poi, riprova. - https://chat.suyu.dev/ - https://suyu.dev/ - https://git.suyu.dev/ + https://discord.gg/suyu + https://suyu-emu.org/ + https://github.com/suyu-emu Accesso Anticipato @@ -364,8 +364,8 @@ L\'integrità dei contenuti non è stata validata La tua ROM è criptata - Segui la nostra guida per fare il <a href=\"https://suyu.dev/help/quickstart/#dumping-physical-titles-game-cards\">dump delle tue cartucce di gioco</a>oppure <a href=\"https://suyu.dev/help/quickstart/#dumping-digital-titles-eshop\">dei titoli già installati</a>. - Per favore assicurati che il file <a href=\"https://suyu.dev/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> sia installato in modo che i giochi possano essere decrittati. + Segui la nostra guida per fare il <a href=\"https://suyu-emu.org/help/quickstart/#dumping-physical-titles-game-cards\">dump delle tue cartucce di gioco</a>oppure <a href=\"https://suyu-emu.org/help/quickstart/#dumping-digital-titles-eshop\">dei titoli già installati</a>. + Per favore assicurati che il file <a href=\"https://suyu-emu.org/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> sia installato in modo che i giochi possano essere decrittati. È stato riscontrato un errore nell\'inizializzazione del core video Questo è causato solitamente dal driver incompatibile di una GPU. L\'installazione di driver GPU personalizzati potrebbe risolvere questo problema. Impossibile caricare la ROM diff --git a/src/android/app/src/main/res/values-ja/strings.xml b/src/android/app/src/main/res/values-ja/strings.xml index 58be4d92df..21e2070e31 100644 --- a/src/android/app/src/main/res/values-ja/strings.xml +++ b/src/android/app/src/main/res/values-ja/strings.xml @@ -1,7 +1,7 @@ - このソフトウェアでは、Nintendo Switchのゲームを実行できます。 ゲームソフトやキーは含まれません。<br /><br />事前に、 <b> prod.keys </b> ファイルをストレージに配置しておいてください。<br /><br /><a href=\"https://suyu.dev/help/quickstart\">詳細</a> + このソフトウェアでは、Nintendo Switchのゲームを実行できます。 ゲームソフトやキーは含まれません。<br /><br />事前に、 <b> prod.keys </b> ファイルをストレージに配置しておいてください。<br /><br /><a href=\"https://suyu-emu.org/help/quickstart\">詳細</a> 通知とエラー 問題の発生時に通知を表示します。 通知が許可されていません! @@ -34,7 +34,7 @@ ゲームをsuyuのゲームリストに追加します ゲームフォルダの選択をスキップしますか? フォルダを選択しないと、ゲームがリストに表示されません。 - https://suyu.dev/help/quickstart/#dumping-games + https://suyu-emu.org/help/quickstart/#dumping-games ゲームを検索 設定を検索 フォルダを選択しました @@ -42,7 +42,7 @@ 製品版ゲームの復号化に必要です キーの追加をスキップしますか? 製品版ゲームのエミュレーションには、有効なキーが必要です。続行すると自作アプリしか機能しません。 - https://suyu.dev/help/quickstart/#guide-introduction + https://suyu-emu.org/help/quickstart/#guide-introduction 通知 下のボタンで通知を許可してください。 許可 @@ -63,7 +63,7 @@ キーの拡張子が.keysであることを確認し、再度お試しください。 キーの拡張子が.binであることを確認し、再度お試しください。 暗号化キーが無効 - https://suyu.dev/help/quickstart/#dumping-decryption-keys + https://suyu-emu.org/help/quickstart/#dumping-decryption-keys ファイルが間違っているか破損しています。キーを再ダンプしてください。 GPUドライバーの管理 GPUドライバー @@ -107,11 +107,11 @@ ゲームコンテンツのインストールに成功しました %1$d のインストールに成功しました %1$d の上書きに成功しました - https://suyu.dev/help/quickstart/#dumping-installed-updates + https://suyu-emu.org/help/quickstart/#dumping-installed-updates カスタムドライバはサポートされていません suyu データを管理 セーブファイルを共有 - https://suyu.dev/help/quickstart/#dumping-decryption-keys + https://suyu-emu.org/help/quickstart/#dumping-decryption-keys ファームウェア未インストール アルバム @@ -122,7 +122,7 @@ オープンソースのSwitchエミュレータ 貢献者 suyuチームの\u2764で作られた - https://git.suyu.dev/suyu/suyu/activity/ + https://github.com/suyu-emu/suyu/graphs/contributors suyu for Androidの作成を可能にしたプロジェクト ビルド ユーザデータ @@ -132,9 +132,9 @@ ユーザデータのエクスポートに成功しました ユーザデータのインポートに成功しました エクスポートをキャンセルしました - https://chat.suyu.dev/ - https://suyu.dev/ - https://git.suyu.dev/ + https://discord.gg/suyu + https://suyu-emu.org/ + https://github.com/suyu-emu 早期アクセス @@ -299,7 +299,7 @@ 整合性の確認に失敗しました! ROMが暗号化されています - ゲームの復号化に必要な <a href=\"https://suyu.dev/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> ファイルがインストールされていることを確認してください。 + ゲームの復号化に必要な <a href=\"https://suyu-emu.org/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> ファイルがインストールされていることを確認してください。 ビデオコアの初期化中にエラーが発生しました これは通常、互換性のないGPUドライバーが原因で発生します。 カスタムGPUドライバーをインストールすると、問題が解決する可能性があります。 ROMの読み込みに失敗しました diff --git a/src/android/app/src/main/res/values-ko/strings.xml b/src/android/app/src/main/res/values-ko/strings.xml index b843589fcd..a2d2bb9511 100644 --- a/src/android/app/src/main/res/values-ko/strings.xml +++ b/src/android/app/src/main/res/values-ko/strings.xml @@ -1,7 +1,7 @@ - 이 소프트웨어는 Nintendo Switch 게임을 실행합니다. 게임 타이틀이나 키는 포함되어 있지 않습니다.<br /><br />시작하기 전에 장치 저장소에서 <b> prod.keys </b> 파일을 찾아주세요.<br /><br /><a href=\"https://suyu.dev/help/quickstart\">자세히 알아보기</a> + 이 소프트웨어는 Nintendo Switch 게임을 실행합니다. 게임 타이틀이나 키는 포함되어 있지 않습니다.<br /><br />시작하기 전에 장치 저장소에서 <b> prod.keys </b> 파일을 찾아주세요.<br /><br /><a href=\"https://suyu-emu.org/help/quickstart\">자세히 알아보기</a> 알림 및 오류 문제가 발생하면 알림을 표시합니다. 알림 권한이 부여되지 않았습니다! @@ -35,7 +35,7 @@ suyu에 게임 목록 추가하기 게임 폴더 선택을 건너뛰겠습니까? 폴더를 선택하지 않으면 게임 목록에 게임이 표시되지 않습니다. - https://suyu.dev/help/quickstart/#dumping-games + https://suyu-emu.org/help/quickstart/#dumping-games 게임 검색 검색 설정 게임 디렉터리를 설정했습니다. @@ -43,7 +43,7 @@ 패키지 게임 암호 해독에 필요 키 추가를 건너뛰겠습니까? 패키지 게임을 에뮬레이트하려면 유효한 키 값이 필요합니다. 이 단계를 건너뛰면 홈브류 게임만 실행할 수 있습니다. - https://suyu.dev/help/quickstart/#guide-introduction + https://suyu-emu.org/help/quickstart/#guide-introduction 알림 아래 버튼으로 알림 권한을 부여합니다. 알림 켜기 @@ -64,7 +64,7 @@ 키 파일의 확장자가 .keys인지 확인하고 다시 시도하세요. 키 파일의 확장자가 .bin인지 확인하고 다시 시도하세요. 암호화 키가 올바르지 않음 - https://suyu.dev/help/quickstart/#dumping-decryption-keys + https://suyu-emu.org/help/quickstart/#dumping-decryption-keys 선택한 파일이 잘못되었거나 손상되었습니다. 키를 다시 덤프하세요. GPU 드라이버 관리자 GPU 드라이버 설치 @@ -114,7 +114,7 @@ 게임 콘텐츠 설치됨 %1$d개를 설치했습니다. %1$d개를 덮어씌웠습니다. - https://suyu.dev/help/quickstart/#dumping-installed-updates + https://suyu-emu.org/help/quickstart/#dumping-installed-updates 사용자 지정 드라이버는 지원하지 않습니다. 이 장치의 사용자 지정 드라이버 로딩은 현재 지원하지 않습니다.\n나중에 이 옵션을 확인하면 지원이 추가되었는지 확인할 수 있습니다. suyu 데이터 관리 @@ -137,14 +137,14 @@ 전체 설치된 콘텐츠의 손상을 확인합니다. 암호화 키를 찾을 수 없음 펌웨어 및 패키지 게임을 해독할 수 없음 - https://suyu.dev/help/quickstart/#dumping-decryption-keys + https://suyu-emu.org/help/quickstart/#dumping-decryption-keys 애플릿 런처 설치된 펌웨어를 사용해 시스템 애플릿을 실행합니다. 펌웨어가 설치되지 않았습니다. 애플릿을 사용할 수 없음 - <a href=\"https://suyu.dev/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> 파일과 <a href=\"https://suyu.dev/help/quickstart/#dumping-system-firmware\">펌웨어가</a> 설치되었는지 확인하고 다시 시도하세요. + <a href=\"https://suyu-emu.org/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> 파일과 <a href=\"https://suyu-emu.org/help/quickstart/#dumping-system-firmware\">펌웨어가</a> 설치되었는지 확인하고 다시 시도하세요. 앨범 시스템 사진 뷰어로 유저 스크린샷 폴더에 저장된 이미지를 확인합니다. Mii 편집 @@ -163,7 +163,7 @@ 오픈 소스 Switch 에뮬레이터 기여자 suyu 팀의 \u2764로 제작 - https://git.suyu.dev/suyu/suyu/activity/ + https://github.com/suyu-emu/suyu/graphs/contributors Android용 suyu를 가능하게 하는 프로젝트 빌드 유저 데이터 @@ -176,9 +176,9 @@ 유저 데이터를 가져왔습니다. 내보내기 취소됨 유저 데이터 폴더가 ZIP 폴더의 루트 디렉토리에 위치하고 config/config.ini 구성 파일이 있는지 확인하고 다시 시도하세요. - https://chat.suyu.dev/ - https://suyu.dev/ - https://git.suyu.dev/ + https://discord.gg/suyu + https://suyu-emu.org/ + https://github.com/suyu-emu 앞서 해보기 @@ -403,8 +403,8 @@ 롬 파일이 암호화되어있음 - 가이드에 따라 <a href=\"https://suyu.dev/help/quickstart/#dumping-physical-titles-game-cards\">게임 카트리지</a> 또는 <a href=\"https://suyu.dev/help/quickstart/#dumping-digital-titles-eshop\">설치된 타이틀</a>을 다시 덤프하세요. - 게임을 해독할 수 있도록 <a href=\"https://suyu.dev/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> 파일이 설치되어 있는지 확인하세요. + 가이드에 따라 <a href=\"https://suyu-emu.org/help/quickstart/#dumping-physical-titles-game-cards\">게임 카트리지</a> 또는 <a href=\"https://suyu-emu.org/help/quickstart/#dumping-digital-titles-eshop\">설치된 타이틀</a>을 다시 덤프하세요. + 게임을 해독할 수 있도록 <a href=\"https://suyu-emu.org/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> 파일이 설치되어 있는지 확인하세요. 비디오 코어를 초기화하는 동안 오류 발생 일반적으로 이 문제는 호환되지 않는 GPU 드라이버로 인해 발생합니다. 사용자 지정 GPU 드라이버를 설치하면 이 문제가 해결될 수 있습니다. 롬 파일을 불러올 수 없음 diff --git a/src/android/app/src/main/res/values-nb/strings.xml b/src/android/app/src/main/res/values-nb/strings.xml index 5ba71ffcb3..9ce92d899f 100644 --- a/src/android/app/src/main/res/values-nb/strings.xml +++ b/src/android/app/src/main/res/values-nb/strings.xml @@ -1,7 +1,7 @@ - Denne programvaren vil kjøre spill for Nintendo Switch-spillkonsollen. Ingen spilltitler eller nøkler er inkludert.<br /><br />Før du begynner, må du finne <b> prod.keys </b> filen din på enhetslagringen.<br /><br /><a href=\"https://suyu.dev/help/quickstart\">Lær mer</a> + Denne programvaren vil kjøre spill for Nintendo Switch-spillkonsollen. Ingen spilltitler eller nøkler er inkludert.<br /><br />Før du begynner, må du finne <b> prod.keys </b> filen din på enhetslagringen.<br /><br /><a href=\"https://suyu-emu.org/help/quickstart\">Lær mer</a> Merknader og feil Viser varsler når noe går galt. Varslingstillatelse ikke gitt! @@ -32,14 +32,14 @@ Gjør det mulig for suyu å fylle ut spillelisten. Hoppe over valg av spillmappe? Spill vises ikke i Spill-listen hvis en mappe ikke er valgt. - https://suyu.dev/help/quickstart/#dumping-games + https://suyu-emu.org/help/quickstart/#dumping-games Søk i spill| Spillkatalogen er valgt Installer prod.keys Nødvendig for å dekryptere spill Hoppe over å legge til nøkler? Gyldige nøkler er påkrevd for å emulere spill. Bare hjemmebryggede apper vil fungere hvis du fortsetter. - https://suyu.dev/help/quickstart/#guide-introduction + https://suyu-emu.org/help/quickstart/#guide-introduction Varsler Gi varslingstillatelse med knappen nedenfor. Gi tillatelse @@ -60,7 +60,7 @@ Kontroller at nøkkelfilen har filtypen .keys, og prøv igjen. Kontroller at nøkkelfilen har filtypen .bin, og prøv igjen. Ugyldige krypteringsnøkler - https://suyu.dev/help/quickstart/#dumping-decryption-keys + https://suyu-emu.org/help/quickstart/#dumping-decryption-keys Den valgte filen er feil eller ødelagt. Vennligst dump nøklene på nytt. Installer GPU-driver Installer alternative drivere for potensielt bedre ytelse eller nøyaktighet. @@ -94,8 +94,8 @@ Ingen loggfil funnet Installer spillinnhold Installer spilloppdateringer eller DLC - https://suyu.dev/help/quickstart/#dumping-installed-updates - https://suyu.dev/help/quickstart/#dumping-decryption-keys + https://suyu-emu.org/help/quickstart/#dumping-installed-updates + https://suyu-emu.org/help/quickstart/#dumping-decryption-keys Gaia er ikke ekte @@ -103,12 +103,12 @@ En Switch-emulator med åpen kildekode Bidragsytere Laget med \u2764 fra suyu-teamet - https://git.suyu.dev/suyu/suyu/activity/ + https://github.com/suyu-emu/suyu/graphs/contributors Prosjekter som gjør suyu for Android mulig Bygg - https://chat.suyu.dev/ - https://suyu.dev/ - https://git.suyu.dev/ + https://discord.gg/suyu + https://suyu-emu.org/ + https://github.com/suyu-emu Tidlig tilgang @@ -257,7 +257,7 @@ Integritetsverifisering mislyktes! ROM-en din er kryptert - Vennligst sørg for at <a href=\"https://suyu.dev/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> filen er installert slik at spillene kan dekrypteres. + Vennligst sørg for at <a href=\"https://suyu-emu.org/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> filen er installert slik at spillene kan dekrypteres. Det oppstod en feil ved initialisering av videokjernen Dette skyldes vanligvis en inkompatibel GPU-driver. Installering av en tilpasset GPU-driver kan løse problemet. Kunne ikke laste inn ROM diff --git a/src/android/app/src/main/res/values-pl/strings.xml b/src/android/app/src/main/res/values-pl/strings.xml index 490547daa2..02587fd8b1 100644 --- a/src/android/app/src/main/res/values-pl/strings.xml +++ b/src/android/app/src/main/res/values-pl/strings.xml @@ -1,7 +1,7 @@ - To oprogramowanie umożliwia uruchomienie gier z konsoli Nintendo Switch. Nie zawiera gier ani wymaganych kluczy.<br /><br />Zanim zaczniesz, wybierz plik kluczy <b> prod.keys </b> z katalogu w pamięci masowej.<br /><br /><a href=\"https://suyu.dev/help/quickstart\">Dowiedz się więcej</a> + To oprogramowanie umożliwia uruchomienie gier z konsoli Nintendo Switch. Nie zawiera gier ani wymaganych kluczy.<br /><br />Zanim zaczniesz, wybierz plik kluczy <b> prod.keys </b> z katalogu w pamięci masowej.<br /><br /><a href=\"https://suyu-emu.org/help/quickstart\">Dowiedz się więcej</a> Powiadomienia błędy Pokaż powiadomienie gdy coś pójdzie źle Nie zezwolono na powiadomienia! @@ -32,14 +32,14 @@ Pozwala suyu wygenerować listę gier Pominąć wybór folderu z grami? Aby pokazać listę gier wybierz katalog zawierający gry. - https://suyu.dev/help/quickstart/#dumping-games + https://suyu-emu.org/help/quickstart/#dumping-games Szukaj gier Wybrano katalog gier Instaluj klucze prod.keys Wymagane aby poprawnie odczytać sklepowe gry Pominąć dodawanie kluczy? Poprawne klucze są wymagane aby emulować sklepowe gry. Jeśli przejdziesz dalej, jedynie homebrew będą działać. - https://suyu.dev/help/quickstart/#guide-introduction + https://suyu-emu.org/help/quickstart/#guide-introduction Powiadomienia Nadaj uprawnienia dostępu do powiadomień. Nadaj uprawnienia @@ -60,7 +60,7 @@ Upewnij się że twoje klucze mają rozszerzenie .keys i spróbuj ponownie. Upewnij się że twoje klucze mają rozszerzenie .bin i spróbuj ponownie. Niepoprawne klucze - https://suyu.dev/help/quickstart/#dumping-decryption-keys + https://suyu-emu.org/help/quickstart/#dumping-decryption-keys Wybrany plik jest niepoprawny lub uszkodzony. Zrzuć ponownie swoje klucze. Zainstaluj sterownik GPU Użyj alternatywnych sterowników aby potencjalnie zwiększyć wydajność i naprawić błędy @@ -94,8 +94,8 @@ Nie znaleziono plików logów Zainstaluj zawartość gry Zainstaluj aktualizację gry lub dodatek DLC - https://suyu.dev/help/quickstart/#dumping-installed-updates - https://suyu.dev/help/quickstart/#dumping-decryption-keys + https://suyu-emu.org/help/quickstart/#dumping-installed-updates + https://suyu-emu.org/help/quickstart/#dumping-decryption-keys Gaia isn\'t real @@ -103,12 +103,12 @@ Otwarto-źródłowy emulator konsoli Switch Współtwórcy Stworzone z \u2764 przez zespół suyu - https://git.suyu.dev/suyu/suyu/activity/ + https://github.com/suyu-emu/suyu/graphs/contributors Projekty dzięki którym suyu mógł zostać stworzony Wersja - https://chat.suyu.dev/ - https://suyu.dev/ - https://git.suyu.dev/ + https://discord.gg/suyu + https://suyu-emu.org/ + https://github.com/suyu-emu Wczesny dostęp @@ -255,7 +255,7 @@ Dodatki Twój ROM jest zakodowany - Upewnij się że plik kluczy <a href=\"https://suyu.dev/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> jest zainstalowany aby gry mogły zostać odczytane. + Upewnij się że plik kluczy <a href=\"https://suyu-emu.org/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> jest zainstalowany aby gry mogły zostać odczytane. Błąd inicjacji podsystemu graficznego Zazwyczaj spowodowane niekompatybilnym sterownikiem GPU, instalacja niestandardowego sterownika może rozwiązać ten problem. Nie można wczytać pliku ROM diff --git a/src/android/app/src/main/res/values-pt-rBR/strings.xml b/src/android/app/src/main/res/values-pt-rBR/strings.xml index ae2036d4b4..3b3bf806b7 100644 --- a/src/android/app/src/main/res/values-pt-rBR/strings.xml +++ b/src/android/app/src/main/res/values-pt-rBR/strings.xml @@ -1,7 +1,7 @@ - Este software executa jogos do console Nintendo Switch. Não estão inclusos nem jogos ou chaves.<br /><br />Antes de começar, por favor localize o arquivo <b> prod.keys </b> no armazenamento de seu dispositivo.<br /><br /><a href=\"https://suyu.dev/help/quickstart\">Saiba mais</a> + Este software executa jogos do console Nintendo Switch. Não estão inclusos nem jogos ou chaves.<br /><br />Antes de começar, por favor localize o arquivo <b> prod.keys </b> no armazenamento de seu dispositivo.<br /><br /><a href=\"https://suyu-emu.org/help/quickstart\">Saiba mais</a> Notificações e erros Mostra notificações quando algo dá errado. Acesso às notificações não concedido! @@ -35,7 +35,7 @@ Permite que o Suyu preencha a lista de jogos Ignorar a seleção da pasta de jogos? Os jogos não serão exibidos na lista de jogos se uma pasta não estiver selecionada. - https://suyu.dev/help/quickstart/#dumping-games + https://suyu-emu.org/help/quickstart/#dumping-games Procurar jogos Procurar nas configurações Pasta de jogos selecionada @@ -43,7 +43,7 @@ Necessárias para desencriptar jogos comerciais Ignorar a adição de chaves? São necessárias chaves válidas para emular jogos comerciais. Somente aplicativos homebrew funcionarão se você continuar. - https://suyu.dev/help/quickstart/#guide-introduction + https://suyu-emu.org/help/quickstart/#guide-introduction Notificações Conceda a permissão de notificação com o botão abaixo. Conceder permissão @@ -64,7 +64,7 @@ Verifique se seu arquivo de chaves possui a extensão .keys e tente novamente. Verifique se seu arquivo de chaves possui a extensão .bin e tente novamente. Chaves de encriptação inválidas - https://suyu.dev/help/quickstart/#dumping-decryption-keys + https://suyu-emu.org/help/quickstart/#dumping-decryption-keys O arquivo selecionado está incorreto ou corrompido. Por favor extraia suas chaves novamente. Gerenciador de driver de GPU Instalar driver para GPU @@ -114,7 +114,7 @@ Conteúdo(s) de jogo instalado(s) com sucesso %1$d instalado com sucesso %1$d substituído com sucesso - https://suyu.dev/help/quickstart/#dumping-installed-updates + https://suyu-emu.org/help/quickstart/#dumping-installed-updates Drivers personalizados não suportados Carregamento de drivers personalizados não suportado para este dispositivo no momento.\nVerifique essa opção novamente no futuro para ver se o suporte foi adicionado! Administrar dados do suyu @@ -141,14 +141,14 @@ Verifica todo o conteúdo instalado em busca de dados corrompidos Faltando chaves de encriptação O firmware e jogos comerciais não poderão ser decriptados - https://suyu.dev/help/quickstart/#dumping-decryption-keys + https://suyu-emu.org/help/quickstart/#dumping-decryption-keys Launcher de miniaplicativos Execute miniaplicativos do sistema usando o firmware instalado Firmware não instalado Miniaplicativo não disponível - Por favor verifique se o arquivo <a href=\"https://suyu.dev/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> e o <a href=\"https://suyu.dev/help/quickstart/#dumping-system-firmware\">firmware</a> estão instalados e tente novamente. + Por favor verifique se o arquivo <a href=\"https://suyu-emu.org/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> e o <a href=\"https://suyu-emu.org/help/quickstart/#dumping-system-firmware\">firmware</a> estão instalados e tente novamente. Álbum Visualize imagens armazenadas na pasta de capturas de telas do usuário com o visualizador de imagens do sistema Editor de Mii @@ -167,7 +167,7 @@ Um emulador de Switch de código aberto Colaboradores Feito com \u2764 da equipe do Suyu - https://git.suyu.dev/suyu/suyu/activity/ + https://github.com/suyu-emu/suyu/graphs/contributors Projetos que tornam o suyu para Android possível Versão da Compilação Dados do usuário @@ -180,9 +180,9 @@ Dados de usuário importados com sucesso Exportação cancelada Verifique se as pastas de dados do usuário estão na raiz da pasta zip, se possuem um arquivo de configuração em config/config.ini e tente novamente. - https://chat.suyu.dev/ - https://suyu.dev/ - https://git.suyu.dev/ + https://discord.gg/suyu + https://suyu-emu.org/ + https://github.com/suyu-emu Acesso Antecipado @@ -461,8 +461,8 @@ uma tentativa de mapeamento automático Sua ROM está encriptada - Por favor, siga os guias para extrair novamente os seus <a href=\"https://suyu.dev/help/quickstart/#dumping-physical-titles-game-cards\">cartuchos de jogos</a> ou <a href=\"https://suyu.dev/help/quickstart/#dumping-digital-titles-eshop\">títulos instalados</a>. - Por favor verifique se o seu arquivo <a href=\"https://suyu.dev/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> está instalado para que os jogos possam ser decriptados. + Por favor, siga os guias para extrair novamente os seus <a href=\"https://suyu-emu.org/help/quickstart/#dumping-physical-titles-game-cards\">cartuchos de jogos</a> ou <a href=\"https://suyu-emu.org/help/quickstart/#dumping-digital-titles-eshop\">títulos instalados</a>. + Por favor verifique se o seu arquivo <a href=\"https://suyu-emu.org/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> está instalado para que os jogos possam ser decriptados. Ocorreu um erro ao iniciar o núcleo de vídeo. Isto é normalmente causado por um driver de GPU incompatível. Instalar um driver de GPU personalizado pode resolver este problema. Impossível carregar a ROM diff --git a/src/android/app/src/main/res/values-pt-rPT/strings.xml b/src/android/app/src/main/res/values-pt-rPT/strings.xml index 4c34f902be..75ca1330cc 100644 --- a/src/android/app/src/main/res/values-pt-rPT/strings.xml +++ b/src/android/app/src/main/res/values-pt-rPT/strings.xml @@ -35,7 +35,7 @@ Permite que o Suyu preencha a lista de jogos Ignorar a seleção da pasta de jogos? Os jogos não serão exibidos na lista de jogos se uma pasta não estiver selecionada. - https://suyu.dev/help/quickstart/#dumping-games + https://suyu-emu.org/help/quickstart/#dumping-games Procurar jogos Procurar nas definições Pasta de Jogos selecionada @@ -43,7 +43,7 @@ Necessário para desencriptar jogos comerciais Ignorar a adição de chaves? São necessárias chaves válidas para emular jogos comerciais. Somente aplicativos homebrew funcionarão se você continuar. - https://suyu.dev/help/quickstart/#guide-introduction + https://suyu-emu.org/help/quickstart/#guide-introduction Notificações Conceda a permissão de notificação com o botão abaixo. Conceda permissão @@ -64,7 +64,7 @@ Verifique se seu arquivo keys possui a extensão .keys e tente novamente. Verifique se seu arquivo keys possui a extensão .bin e tente novamente. Chaves de encriptação inválidas - https://suyu.dev/help/quickstart/#dumping-decryption-keys + https://suyu-emu.org/help/quickstart/#dumping-decryption-keys O ficheiro selecionado está corrompido. Por favor recarrega as tuas chaves. Gerenciador de driver de GPU Instala driver para GPU @@ -114,7 +114,7 @@ Conteúdo(s) de jogo instalados com sucesso %1$d instalado com sucesso %1$d substituída com êxito - https://suyu.dev/help/quickstart/#dumping-installed-updates + https://suyu-emu.org/help/quickstart/#dumping-installed-updates Drivers personalizados não suportados Carrea«gamento de drivers personalizados não é suportado pr este dispositivo. \nCheck verifica esta opção de futuro para confirmar se o suporte foi adicionado! Administrar dados suyu @@ -141,7 +141,7 @@ Verifica todo o conteúdo instalado em busca de dados corrompidos Faltando chaves de encriptação O firmware e jogos comerciais não poderão ser decriptados - https://suyu.dev/help/quickstart/#dumping-decryption-keys + https://suyu-emu.org/help/quickstart/#dumping-decryption-keys Launcher de miniaplicativos @@ -167,7 +167,7 @@ Um emulador Switch de código aberto Contribuidores Feito com \u2764 da equipa do Suyu - https://git.suyu.dev/suyu/suyu/activity/ + https://github.com/suyu-emu/suyu/graphs/contributors Projetos que tornam o suyu para Android possível Versão Dado de utilizados @@ -180,9 +180,9 @@ Dados de utilizador importado com sucesso Exportação cancelada Verifiqua se as pastas de dados do utilizados estão na raiz da pasta zip e contêm um arquivo de configuração em config/config.ini e tenta novamente. - https://chat.suyu.dev/ - https://suyu.dev/ - https://git.suyu.dev/ + https://discord.gg/suyu + https://suyu-emu.org/ + https://github.com/suyu-emu Acesso antecipado @@ -461,8 +461,8 @@ uma tentativa de mapeamento automático A tua ROM está encriptada - Por favor, siga os guias para despejar novamente o seu <a href=\"https://suyu.dev/help/quickstart/#dumping-physical-titles-game-cards\">cartucho de jogo</a> or <a href=\"https://suyu.dev/help/quickstart/#dumping-digital-titles-eshop\">títulos instalados</a>. - Por favor confirma que o teu ficheiro <a href=\"https://suyu.dev/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> está instalado para que os jogos possam ser desencriptados. + Por favor, siga os guias para despejar novamente o seu <a href=\"https://suyu-emu.org/help/quickstart/#dumping-physical-titles-game-cards\">cartucho de jogo</a> or <a href=\"https://suyu-emu.org/help/quickstart/#dumping-digital-titles-eshop\">títulos instalados</a>. + Por favor confirma que o teu ficheiro <a href=\"https://suyu-emu.org/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> está instalado para que os jogos possam ser desencriptados. Ocorreu um erro ao iniciar o núcleo de vídeo. Isto é normalmente causado por um driver de GPU incompatível. Instalar um driver GPU pode resolver este problema. Impossível carregar a tua ROM diff --git a/src/android/app/src/main/res/values-ru/strings.xml b/src/android/app/src/main/res/values-ru/strings.xml index f86af3c931..0190726def 100644 --- a/src/android/app/src/main/res/values-ru/strings.xml +++ b/src/android/app/src/main/res/values-ru/strings.xml @@ -1,7 +1,7 @@ - Это программное обеспечение позволяет запускать игры для игровой консоли Nintendo Switch. Мы не предоставляем сами игры или ключи.<br /><br />Перед началом работы найдите файл <b> prod.keys </b> в хранилище устройства..<br /><br /><a href=\"https://suyu.dev/help/quickstart\">Узнать больше</a> + Это программное обеспечение позволяет запускать игры для игровой консоли Nintendo Switch. Мы не предоставляем сами игры или ключи.<br /><br />Перед началом работы найдите файл <b> prod.keys </b> в хранилище устройства..<br /><br /><a href=\"https://suyu-emu.org/help/quickstart\">Узнать больше</a> Уведомления и ошибки Показывать уведомления, когда что-то пошло не так Вы не предоставили разрешение на уведомления! @@ -35,7 +35,7 @@ Позволяет suyu заполнить список игр Пропустить выбор папки с играми? Игры не будут отображаться в списке Игры, если папка не выбрана. - https://suyu.dev/help/quickstart/#dumping-games + https://suyu-emu.org/help/quickstart/#dumping-games Найти игры Настройки поиска Выбрана папка с играми @@ -43,7 +43,7 @@ Требуется для расшифровки розничных игр Пропустить добавление ключей? Для эмуляции розничных игр требуются действительные ключи. Если вы продолжите, будут работать только homebrew приложения. - https://suyu.dev/help/quickstart/#guide-introduction + https://suyu-emu.org/help/quickstart/#guide-introduction Уведомления Предоставьте разрешение уведомлений с помощью кнопки ниже. Предоставить разрешение @@ -64,7 +64,7 @@ Убедитесь, что файл ключей имеет расширение .keys, и повторите попытку. Убедитесь, что файл ключей имеет расширение .bin, и повторите попытку. Неверные ключи шифрования - https://suyu.dev/help/quickstart/#dumping-decryption-keys + https://suyu-emu.org/help/quickstart/#dumping-decryption-keys Выбранный файл неверен или поврежден. Пожалуйста, пере-дампите ваши ключи. Менеджер драйверов ГП Установить драйвер ГП @@ -114,7 +114,7 @@ Игровой контент успешно установлен %1$d Успешно установлено %1$d Успешно перезаписано - https://suyu.dev/help/quickstart/#dumping-installed-updates + https://suyu-emu.org/help/quickstart/#dumping-installed-updates Пользовательские драйверы не поддерживаются Загрузка пользовательского драйвера в настоящее время не поддерживается для этого устройства.\nПроверьте этот параметр еще раз в будущем чтобы узнать была ли добавлена ​​поддержка!   @@ -144,14 +144,14 @@ Проверяет весь установленный контент на наличие повреждений Отсутствуют ключи шифрования Прошивка и розничные игры не могут быть расшифрованы - https://suyu.dev/help/quickstart/#dumping-decryption-keys + https://suyu-emu.org/help/quickstart/#dumping-decryption-keys Запуск апплета Запуск системных апплетов на установленной прошивке Прошивка не установлена Апплет недоступен - Пожалуйста, убедитесь, что ваш<a href=\"https://suyu.dev/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> и <a href=\"https://suyu.dev/help/quickstart/#dumping-system-firmware\">firmware</a> установлены и попробуйте еще раз. + Пожалуйста, убедитесь, что ваш<a href=\"https://suyu-emu.org/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> и <a href=\"https://suyu-emu.org/help/quickstart/#dumping-system-firmware\">firmware</a> установлены и попробуйте еще раз. Альбом Просмотрите изображения, сохраненные в папке скриншотов пользователя, с помощью системного просмотрщика фотографий. Mii редактор @@ -170,7 +170,7 @@ Эмулятор Switch с открытым исходным кодом Контрибьюторы Сделано с \u2764 от команды suyu - https://git.suyu.dev/suyu/suyu/activity/ + https://github.com/suyu-emu/suyu/graphs/contributors Проекты, которые сделали suyu для Android возможным Сборка Данные пользователя @@ -183,9 +183,9 @@ Пользовательские данные успешно импортированы Экспорт отменен Убедитесь что папки пользовательских данных находятся в корне zip-папки и содержат файл конфигурации config/config.ini и повторите попытку. - https://chat.suyu.dev/ - https://suyu.dev/ - https://git.suyu.dev/ + https://discord.gg/suyu + https://suyu-emu.org/ + https://github.com/suyu-emu Ранний доступ @@ -463,8 +463,8 @@ Ваш ROM зашифрованный - Следуйте инструкциям, чтобы пере-дампить игровые картриджи <a href=\"https://suyu.dev/help/quickstart/#dumping-physical-titles-game-cards\"> или <a href=\"https://suyu.dev/help/quickstart/#dumping-digital-titles-eshop\"> установленные игры</a>. - Пожалуйста, убедитесь, что ваш файл <a href=\"https://suyu.dev/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> установлен, чтобы игры можно было расшифровать. + Следуйте инструкциям, чтобы пере-дампить игровые картриджи <a href=\"https://suyu-emu.org/help/quickstart/#dumping-physical-titles-game-cards\"> или <a href=\"https://suyu-emu.org/help/quickstart/#dumping-digital-titles-eshop\"> установленные игры</a>. + Пожалуйста, убедитесь, что ваш файл <a href=\"https://suyu-emu.org/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> установлен, чтобы игры можно было расшифровать. Произошла ошибка при инициализации видеоядра. Обычно это вызвано несовместимым драйвером ГП. Установка пользовательского драйвера ГП может решить эту проблему. Не удалось запустить ROM diff --git a/src/android/app/src/main/res/values-uk/strings.xml b/src/android/app/src/main/res/values-uk/strings.xml index 2564c03205..4b212d8bc0 100644 --- a/src/android/app/src/main/res/values-uk/strings.xml +++ b/src/android/app/src/main/res/values-uk/strings.xml @@ -1,7 +1,7 @@ - Це програмне забезпечення дозволяє запускати ігри для ігрової консолі Nintendo Switch. Ми не надаємо самі ігри або ключі.<br /><br />Перед початком роботи знайдіть ваш файл <b> prod.keys </b> у сховищі пристрою.<br /><br /><a href=\"https://suyu.dev/help/quickstart\">Дізнатися більше</a> + Це програмне забезпечення дозволяє запускати ігри для ігрової консолі Nintendo Switch. Ми не надаємо самі ігри або ключі.<br /><br />Перед початком роботи знайдіть ваш файл <b> prod.keys </b> у сховищі пристрою.<br /><br /><a href=\"https://suyu-emu.org/help/quickstart\">Дізнатися більше</a> Сповіщення та помилки Показувати сповіщення, коли щось пішло не так Ви не надали дозвіл сповіщень! @@ -32,14 +32,14 @@ Дозволяє suyu заповнити список ігор Пропустити вибір папки з іграми? Ігри не відображатимуться у списку Ігри, якщо папку не вибрано. - https://suyu.dev/help/quickstart/#dumping-games + https://suyu-emu.org/help/quickstart/#dumping-games Знайти ігри Вибрано папку з іграми Встановити prod.keys Потрібно для розшифровки роздрібних ігор Пропустити додавання ключів? Для емуляції роздрібних ігор потрібні дійсні ключі. Якщо ви продовжите, працюватимуть тільки homebrew додатки. - https://suyu.dev/help/quickstart/#guide-introduction + https://suyu-emu.org/help/quickstart/#guide-introduction Сповіщення Надайте дозвіл сповіщень за допомогою кнопки нижче. Надати дозвіл @@ -59,7 +59,7 @@ Помилка під час зчитування ключів шифрування Переконайтеся, що файл ключів має розширення .keys, і повторіть спробу. Невірні ключі шифрування - https://suyu.dev/help/quickstart/#dumping-decryption-keys + https://suyu-emu.org/help/quickstart/#dumping-decryption-keys Обраний файл невірний або пошкоджений. Будь ласка, пере-дампіть ваші ключі. Встановити драйвер ГП Встановіть альтернативні драйвери для потенційно кращої продуктивності та/або точності @@ -81,7 +81,7 @@ Назва першої вкладеної папки має бути ідентифікатором гри. Імпорт Експорт - https://suyu.dev/help/quickstart/#dumping-decryption-keys + https://suyu-emu.org/help/quickstart/#dumping-decryption-keys Gaia не існує @@ -89,11 +89,11 @@ Емулятор Switch із відкритим першокодом Вкладники Зроблено з \u2764 від команди suyu - https://git.suyu.dev/suyu/suyu/activity/ + https://github.com/suyu-emu/suyu/graphs/contributors Збірка - https://chat.suyu.dev/ - https://suyu.dev/ - https://git.suyu.dev/ + https://discord.gg/suyu + https://suyu-emu.org/ + https://github.com/suyu-emu Ранній доступ @@ -214,7 +214,7 @@ Доповнення Ваш ROM зашифрований - Будь ласка, переконайтеся, що ваш файл <a href=\"https://suyu.dev/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> встановлено, щоб ігри можна було розшифрувати. + Будь ласка, переконайтеся, що ваш файл <a href=\"https://suyu-emu.org/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> встановлено, щоб ігри можна було розшифрувати. Сталася помилка під час ініціалізації відеоядра. Зазвичай це спричинено несумісним драйвером ГП. Встановлення користувацького драйвера ГП може вирішити цю проблему. Не вдалося запустити ROM diff --git a/src/android/app/src/main/res/values-vi/strings.xml b/src/android/app/src/main/res/values-vi/strings.xml index 272d8000ed..6355582cb0 100644 --- a/src/android/app/src/main/res/values-vi/strings.xml +++ b/src/android/app/src/main/res/values-vi/strings.xml @@ -1,7 +1,7 @@ - Phần mềm này sẽ chạy trò chơi cho máy chơi game Nintendo Switch. Không có game titles hoặc keys được bao gồm.<br /><br />Trước khi bạn bắt đầu, hãy tìm file <b> prod.keys </b> trên bộ nhớ thiết bị của bạn.<br /><br /><a href=\"https://suyu.dev/help/quickstart\">Tìm hiểu thêm</a> + Phần mềm này sẽ chạy trò chơi cho máy chơi game Nintendo Switch. Không có game titles hoặc keys được bao gồm.<br /><br />Trước khi bạn bắt đầu, hãy tìm file <b> prod.keys </b> trên bộ nhớ thiết bị của bạn.<br /><br /><a href=\"https://suyu-emu.org/help/quickstart\">Tìm hiểu thêm</a> Thông báo và lỗi Hiển thị thông báo khi có sự cố xảy ra Ứng dụng không được cấp quyền thông báo! @@ -32,14 +32,14 @@ Cho phép suyu thêm các trò chơi vào danh sách Bỏ qua lựa chọn thư mục trò chơi? Trò chơi sẽ không hiển thị trong danh sách nếu một thư mục không được chọn - https://suyu.dev/help/quickstart/#dumping-games + https://suyu-emu.org/help/quickstart/#dumping-games Tìm kiếm games Thư mục trò chơi đã được chọn Cài prod.keys Yêu cầu để giải mã các game bán lẻ Bỏ qua thêm chìa khóa? Cần có chìa khóa hợp lệ để giả lập trò chơi. Chỉ có các ứng dụng homebrew có thể vận hành nếu bạn tiếp tục - https://suyu.dev/help/quickstart/#guide-introduction + https://suyu-emu.org/help/quickstart/#guide-introduction Thông báo Ấn vào nút bên dưới để cấp quyền ứng dụng gửi thông báo Cấp quyền @@ -60,7 +60,7 @@ Xác minh rằng tệp keys của bạn có đuôi .keys và thử lại. Xác minh rằng tệp keys của bạn có đuôi .bin và thử lại. Keys mã hoá không hợp lệ - https://suyu.dev/help/quickstart/#dumping-decryption-keys + https://suyu-emu.org/help/quickstart/#dumping-decryption-keys Chọn file sai hoặc bị hỏng. Hãy xuất chìa khóa khác Cài đặt driver GPU Cài đặt driver thay thế để có thể có hiệu suất tốt và chính xác hơn @@ -94,8 +94,8 @@ Không tìm thấy tệp log Cài đặt nội dung game Cài đặt cập nhật game hoặc DLC - https://suyu.dev/help/quickstart/#dumping-installed-updates - https://suyu.dev/help/quickstart/#dumping-decryption-keys + https://suyu-emu.org/help/quickstart/#dumping-installed-updates + https://suyu-emu.org/help/quickstart/#dumping-decryption-keys Gaia không có thật @@ -103,12 +103,12 @@ Một giả lập Switch mã nguồn mở Người đóng góp Được làm với \u2764 từ nhóm suyu - https://git.suyu.dev/suyu/suyu/activity/ + https://github.com/suyu-emu/suyu/graphs/contributors Các dự án làm cho suyu trên Android trở thành điều có thể Dựng - https://chat.suyu.dev/ - https://suyu.dev/ - https://git.suyu.dev/ + https://discord.gg/suyu + https://suyu-emu.org/ + https://github.com/suyu-emu Early Access @@ -259,7 +259,7 @@ Kiểm tra tính toàn vẹn thất bại! ROM của bạn đã bị mã hoá - Vui lòng đảm bảo file <a href=\"https://suyu.dev/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> đã được cài đặt để game có thể được giải mã. + Vui lòng đảm bảo file <a href=\"https://suyu-emu.org/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> đã được cài đặt để game có thể được giải mã. Đã xảy ra lỗi khi khởi tạo lõi video Việc này thường do driver GPU không tương thích. Cài đặt một driver GPU tùy chỉnh có thể giải quyết vấn đề này. Không thể tải ROM diff --git a/src/android/app/src/main/res/values-zh-rCN/strings.xml b/src/android/app/src/main/res/values-zh-rCN/strings.xml index 6834e8c708..3ad450e1c9 100644 --- a/src/android/app/src/main/res/values-zh-rCN/strings.xml +++ b/src/android/app/src/main/res/values-zh-rCN/strings.xml @@ -1,7 +1,7 @@ - 此软件可以运行 Nintendo Switch 游戏,但不包含任何游戏和密钥文件。<br /><br />在开始前,请找到放置于设备存储中的 <b> prod.keys </b> 文件。<br /><br /><a href=\"https://suyu.dev/help/quickstart\">了解更多</a> + 此软件可以运行 Nintendo Switch 游戏,但不包含任何游戏和密钥文件。<br /><br />在开始前,请找到放置于设备存储中的 <b> prod.keys </b> 文件。<br /><br /><a href=\"https://suyu-emu.org/help/quickstart\">了解更多</a> 通知及错误提醒 当发生错误时显示通知。 未授予通知权限! @@ -35,7 +35,7 @@ 允许 suyu 更新游戏列表 跳过选择游戏文件夹? 如果未选择游戏文件夹,游戏将不会显示在游戏列表中。 - https://suyu.dev/help/quickstart/#dumping-games + https://suyu-emu.org/help/quickstart/#dumping-games 搜索游戏 搜索设置 已选择游戏文件夹 @@ -43,7 +43,7 @@ 需要密钥文件来解密游戏 跳过添加密钥文件? 对于商业游戏,需要有效的密钥文件才能运行。如果没有密钥文件,将只能运行自制软件。 - https://suyu.dev/help/quickstart/#guide-introduction + https://suyu-emu.org/help/quickstart/#guide-introduction 通知 使用下方的按钮授予通知权限。 授予权限 @@ -64,7 +64,7 @@ 请确保您的密钥文件扩展名为 .keys 并重试。 请确保您的密钥文件扩展名为 .bin 并重试。 无效的加密密钥 - https://suyu.dev/help/quickstart/#dumping-decryption-keys + https://suyu-emu.org/help/quickstart/#dumping-decryption-keys 选择的密钥文件不正确或已损坏。请重新转储密钥文件。 GPU 驱动管理器 安装 GPU 驱动 @@ -114,7 +114,7 @@ 游戏附加内容已成功安装 %1$d 个包安装成功 %1$d 个包覆盖安装成功 - https://suyu.dev/help/quickstart/#dumping-installed-updates + https://suyu-emu.org/help/quickstart/#dumping-installed-updates 不支持自定义驱动 此设备不支持自定义驱动。\n请之后再访问此项,查看是否已为此设备添加支持。 管理 suyu 数据 @@ -137,14 +137,14 @@ 检查所有安装的内容是否有损坏 密钥缺失 无法解密固件和商业游戏 - https://suyu.dev/help/quickstart/#dumping-decryption-keys + https://suyu-emu.org/help/quickstart/#dumping-decryption-keys 小程序启动器 使用已安装的固件启动系统小程序 未安装固件 小程序不可用 - 请确保 <a href=\"https://suyu.dev/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> 文件和<a href=\"https://suyu.dev/help/quickstart/#dumping-system-firmware\">固件</a>已安装,然后再试一次。 + 请确保 <a href=\"https://suyu-emu.org/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> 文件和<a href=\"https://suyu-emu.org/help/quickstart/#dumping-system-firmware\">固件</a>已安装,然后再试一次。 相册 查看存储在用户屏幕截图文件夹中的图像 Mii edit @@ -163,7 +163,7 @@ 一款开放源代码的 Switch 模拟器 贡献者 suyu 团队的用 \u2764 制作 - https://git.suyu.dev/suyu/suyu/activity/ + https://github.com/suyu-emu/suyu/graphs/contributors Android 版 suyu 离不开这些项目的支持 构建版本 用户数据 @@ -176,9 +176,9 @@ 导入用户数据成功 已取消导出数据 请确保用户数据文件夹位于 zip 压缩包的根目录,并在 config/config.ini 路径中包含配置文件,然后重试。 - https://chat.suyu.dev/ - https://suyu.dev/ - https://git.suyu.dev/ + https://discord.gg/suyu + https://suyu-emu.org/ + https://github.com/suyu-emu 抢先体验 @@ -456,8 +456,8 @@ 您的 ROM 已加密 - 请按照指南重新转储您的<a href=\"https://suyu.dev/help/quickstart/#dumping-physical-titles-game-cards\">游戏卡带</a>或<a href=\"https://suyu.dev/help/quickstart/#dumping-digital-titles-eshop\">已安装的游戏</a>。 - 请确保 <a href=\"https://suyu.dev/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> 文件已安装,使得游戏可以被解密。 + 请按照指南重新转储您的<a href=\"https://suyu-emu.org/help/quickstart/#dumping-physical-titles-game-cards\">游戏卡带</a>或<a href=\"https://suyu-emu.org/help/quickstart/#dumping-digital-titles-eshop\">已安装的游戏</a>。 + 请确保 <a href=\"https://suyu-emu.org/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> 文件已安装,使得游戏可以被解密。 初始化视频核心时发生错误 这通常由不兼容的 GPU 驱动程序造成,安装自定义 GPU 驱动程序可能解决此问题。 无法载入 ROM diff --git a/src/android/app/src/main/res/values-zh-rTW/strings.xml b/src/android/app/src/main/res/values-zh-rTW/strings.xml index 5cf8f6f15a..06e23d4c4e 100644 --- a/src/android/app/src/main/res/values-zh-rTW/strings.xml +++ b/src/android/app/src/main/res/values-zh-rTW/strings.xml @@ -1,7 +1,7 @@ - 此軟體可以執行 Nintendo Switch 主機遊戲,但不包含任何遊戲和金鑰。<br /><br />在您開始前,請找到放置於您的裝置儲存空間的 <b> prod.keys </b> 檔案。<br /><br /><a href=\"https://suyu.dev/help/quickstart\">深入瞭解</a> + 此軟體可以執行 Nintendo Switch 主機遊戲,但不包含任何遊戲和金鑰。<br /><br />在您開始前,請找到放置於您的裝置儲存空間的 <b> prod.keys </b> 檔案。<br /><br /><a href=\"https://suyu-emu.org/help/quickstart\">深入瞭解</a> 通知和錯誤 發生錯誤時顯示通知。 未授予通知權限! @@ -35,7 +35,7 @@ 允許 suyu 填入遊戲清單 跳過選取遊戲資料夾? 如果資料夾未選取,遊戲將不會顯示在遊戲清單。 - https://suyu.dev/help/quickstart/#dumping-games + https://suyu-emu.org/help/quickstart/#dumping-games 搜尋遊戲 搜尋設定 遊戲目錄已選取 @@ -43,7 +43,7 @@ 需要解密零售遊戲 跳過新增金鑰? 模擬零售遊戲需要有效的金鑰,若要繼續,將僅有自製遊戲應用程式可以運作。 - https://suyu.dev/help/quickstart/#guide-introduction + https://suyu-emu.org/help/quickstart/#guide-introduction 通知 使用下方的按鈕授予通知權限。 授予權限 @@ -64,7 +64,7 @@ 驗證您的金鑰檔案是否具有 .keys 副檔名並再試一次。 驗證您的金鑰檔案是否具有 .bin 副檔名並再試一次。 無效的加密金鑰 - https://suyu.dev/help/quickstart/#dumping-decryption-keys + https://suyu-emu.org/help/quickstart/#dumping-decryption-keys 選取的檔案不正確或已損毀,請重新傾印您的金鑰。 GPU 驅動程式管理員 安裝 GPU 驅動程式 @@ -114,7 +114,7 @@ 遊戲內容已成功安裝 %1$d 安裝成功 %1$d 覆寫成功 - https://suyu.dev/help/quickstart/#dumping-installed-updates + https://suyu-emu.org/help/quickstart/#dumping-installed-updates 不支援自訂的驅動程式 此裝置不支援自訂的驅動程式。\n請以後再來查看是否已新增支援! 管理 suyu 資料 @@ -137,14 +137,14 @@ 检查所有安装的内容是否有损坏 密钥缺失 无法解密固件和商业游戏 - https://suyu.dev/help/quickstart/#dumping-decryption-keys + https://suyu-emu.org/help/quickstart/#dumping-decryption-keys 小程式啟動器 使用已安裝的韌體啟動系統小程式 未安裝韌體 無法使用小程式 - 請確保您的 <a href=\"https://suyu.dev/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> 檔案和<a href=\"https://suyu.dev/help/quickstart/#dumping-system-firmware\">韌體</a>已安裝,然後再試一次。 + 請確保您的 <a href=\"https://suyu-emu.org/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> 檔案和<a href=\"https://suyu-emu.org/help/quickstart/#dumping-system-firmware\">韌體</a>已安裝,然後再試一次。 相簿 使用系統相片檢視器查看儲存在使用者螢幕截圖資料夾中的影像 Mii 編輯 @@ -163,7 +163,7 @@ 一個開放原始碼的 Switch 模擬器 參與者 使用來自 suyu 團隊的 \u2764 製作 - https://git.suyu.dev/suyu/suyu/activity/ + https://github.com/suyu-emu/suyu/graphs/contributors 這些專案使 suyu Android 版成為可能 組建 使用者資料 @@ -176,9 +176,9 @@ 使用者資料匯入成功 匯出已取消 請確保使用者資料夾位於 zip 壓縮檔的根目錄,並在 config/config.ini 路徑中包含組態檔案,並再試一次。 - https://chat.suyu.dev/ - https://suyu.dev/ - https://git.suyu.dev/ + https://discord.gg/suyu + https://suyu-emu.org/ + https://github.com/suyu-emu 搶先體驗 @@ -456,8 +456,8 @@ 您的 ROM 已加密 - 請依循指南重新傾印您的<a href=\"https://suyu.dev/help/quickstart/#dumping-physical-titles-game-cards\">遊戲卡匣</a>或<a href=\"https://suyu.dev/help/quickstart/#dumping-digital-titles-eshop\">已安裝的遊戲</a>。 - 請確保您的 <a href=\"https://suyu.dev/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> 檔案已安裝,讓遊戲可以解密。 + 請依循指南重新傾印您的<a href=\"https://suyu-emu.org/help/quickstart/#dumping-physical-titles-game-cards\">遊戲卡匣</a>或<a href=\"https://suyu-emu.org/help/quickstart/#dumping-digital-titles-eshop\">已安裝的遊戲</a>。 + 請確保您的 <a href=\"https://suyu-emu.org/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> 檔案已安裝,讓遊戲可以解密。 初始化視訊核心時發生錯誤 這經常由不相容的 GPU 驅動程式造成,安裝自訂 GPU 驅動程式可能會解決此問題。 無法載入 ROM diff --git a/src/android/app/src/main/res/values/arrays.xml b/src/android/app/src/main/res/values/arrays.xml index 8537488d4e..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_force_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 cbbfd9c766..a2487f4f11 100644 --- a/src/android/app/src/main/res/values/strings.xml +++ b/src/android/app/src/main/res/values/strings.xml @@ -3,7 +3,7 @@ suyu - This software will run games for the Nintendo Switch game console. No game titles or keys are included.<br /><br />Before you begin, please locate your <b> prod.keys </b> file on your device storage.<br /><br /><a href="https://suyu.dev/help/quickstart">Learn more</a> + This software will run games for the Nintendo Switch game console. No game titles or keys are included.<br /><br />Before you begin, please locate your <b> prod.keys </b> file on your device storage.<br /><br /><a href="https://suyu-emu.org/help/quickstart">Learn more</a> Notices and errors noticesAndErrors Shows notifications when something goes wrong. @@ -38,7 +38,7 @@ Allows suyu to populate the games list Skip selecting games folder? Games won\'t be displayed in the Games list if a folder isn\'t selected. - https://suyu.dev/help/quickstart/#dumping-games + https://suyu-emu.org/help/quickstart/#dumping-games Search games Search settings Games directory selected @@ -46,7 +46,7 @@ Required to decrypt retail games Skip adding keys? Valid keys are required to emulate retail games. Only homebrew apps will function if you continue. - https://suyu.dev/help/quickstart/#guide-introduction + https://suyu-emu.org/help/quickstart/#guide-introduction Notifications Grant the notification permission with the button below. Grant permission @@ -67,7 +67,7 @@ Verify your keys file has a .keys extension and try again. Verify your keys file has a .bin extension and try again. Invalid encryption keys - https://suyu.dev/help/quickstart/#dumping-decryption-keys + https://suyu-emu.org/help/quickstart/#dumping-decryption-keys The selected file is incorrect or corrupt. Please redump your keys. GPU driver manager Install GPU driver @@ -117,7 +117,7 @@ Game content(s) installed successfully %1$d installed successfully %1$d overwritten successfully - https://suyu.dev/help/quickstart/#dumping-installed-updates + https://suyu-emu.org/help/quickstart/#dumping-installed-updates Custom drivers not supported Custom driver loading isn\'t currently supported for this device.\nCheck this option again in the future to see if support was added! Manage suyu data @@ -142,7 +142,7 @@ Checks all installed content for corruption Encryption keys are missing Firmware and retail games cannot be decrypted - https://suyu.dev/help/quickstart/#dumping-decryption-keys + https://suyu-emu.org/help/quickstart/#dumping-decryption-keys Qlaunch @@ -151,7 +151,7 @@ Launch system applets using installed firmware Firmware not installed Applet not available - Please ensure your <a href="https://suyu.dev/help/quickstart/#dumping-prodkeys-and-titlekeys">prod.keys</a> file and <a href="https://suyu.dev/help/quickstart/#dumping-system-firmware">firmware</a> are installed and try again. + Please ensure your <a href="https://suyu-emu.org/help/quickstart/#dumping-prodkeys-and-titlekeys">prod.keys</a> file and <a href="https://suyu-emu.org/help/quickstart/#dumping-system-firmware">firmware</a> are installed and try again. Album See images stored in the user screenshots folder with the system photo viewer Mii edit @@ -170,7 +170,7 @@ An open-source Switch emulator Contributors Made with \u2764 from the suyu team - https://git.suyu.dev/suyu/suyu/activity/ + https://github.com/suyu-emu/suyu/graphs/contributors Projects that make suyu for Android possible Build User data @@ -183,9 +183,9 @@ User data imported successfully Export cancelled Make sure the user data folders are at the root of the zip folder and contain a config file at config/config.ini and try again. - https://chat.suyu.dev/ - https://suyu.dev/ - https://git.suyu.dev/ + https://discord.gg/suyu + https://suyu-emu.org/ + https://github.com/suyu-emu Early Access @@ -463,8 +463,8 @@ Your ROM is encrypted - Please follow the guides to redump your <a href="https://suyu.dev/help/quickstart/#dumping-physical-titles-game-cards">game cartidges</a> or <a href="https://suyu.dev/help/quickstart/#dumping-digital-titles-eshop">installed titles</a>. - Please ensure your <a href="https://suyu.dev/help/quickstart/#dumping-prodkeys-and-titlekeys">prod.keys</a> file is installed so that games can be decrypted. + Please follow the guides to redump your <a href="https://suyu-emu.org/help/quickstart/#dumping-physical-titles-game-cards">game cartidges</a> or <a href="https://suyu-emu.org/help/quickstart/#dumping-digital-titles-eshop">installed titles</a>. + Please ensure your <a href="https://suyu-emu.org/help/quickstart/#dumping-prodkeys-and-titlekeys">prod.keys</a> file is installed so that games can be decrypted. An error occurred initializing the video core This is usually caused by an incompatible GPU driver. Installing a custom GPU driver may resolve this problem. Unable to load ROM @@ -601,7 +601,6 @@ Force 4:3 Force 21:9 Force 16:10 - Force 32:9 Stretch to window diff --git a/src/android/build.gradle.kts b/src/android/build.gradle.kts index b77906ed6d..c09cad5ecd 100644 --- a/src/android/build.gradle.kts +++ b/src/android/build.gradle.kts @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-3.0-or-later // Top-level build file where you can add configuration options common to all sub-projects/modules. diff --git a/src/android/gradle.properties b/src/android/gradle.properties index 4fca1b5769..ce7554bc86 100644 --- a/src/android/gradle.properties +++ b/src/android/gradle.properties @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2023 yuzu Emulator Project +# SPDX-FileCopyrightText: 2023 suyu Emulator Project # SPDX-License-Identifier: GPL-3.0-or-later # Project-wide Gradle settings. diff --git a/src/android/gradlew b/src/android/gradlew index afa1279664..b676545c57 100755 --- a/src/android/gradlew +++ b/src/android/gradlew @@ -1,6 +1,6 @@ #!/usr/bin/env sh -# SPDX-FileCopyrightText: 2023 yuzu Emulator Project +# SPDX-FileCopyrightText: 2023 suyu Emulator Project # SPDX-License-Identifier: GPL-3.0-or-later ############################################################################## diff --git a/src/android/gradlew.bat b/src/android/gradlew.bat index be152d1088..3aa3a7669c 100644 --- a/src/android/gradlew.bat +++ b/src/android/gradlew.bat @@ -1,4 +1,4 @@ -@rem SPDX-FileCopyrightText: 2023 yuzu Emulator Project +@rem SPDX-FileCopyrightText: 2023 suyu Emulator Project @rem SPDX-License-Identifier: GPL-3.0-or-later @if "%DEBUG%" == "" @echo off diff --git a/src/android/settings.gradle.kts b/src/android/settings.gradle.kts index af910b9068..d421a88537 100644 --- a/src/android/settings.gradle.kts +++ b/src/android/settings.gradle.kts @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 suyu Emulator Project // SPDX-License-Identifier: GPL-3.0-or-later pluginManagement { diff --git a/src/audio_core/common/feature_support.h b/src/audio_core/common/feature_support.h index e2e00769c2..e71905ae84 100644 --- a/src/audio_core/common/feature_support.h +++ b/src/audio_core/common/feature_support.h @@ -13,7 +13,7 @@ #include "common/polyfill_ranges.h" namespace AudioCore { -constexpr u32 CurrentRevision = 12; +constexpr u32 CurrentRevision = 11; enum class SupportTags { CommandProcessingTimeEstimatorVersion4, diff --git a/src/audio_core/device/audio_buffers.h b/src/audio_core/device/audio_buffers.h index 6e5e27ae3d..9e84a9c059 100644 --- a/src/audio_core/device/audio_buffers.h +++ b/src/audio_core/device/audio_buffers.h @@ -54,8 +54,7 @@ public: const s32 to_register{std::min(std::min(appended_count, BufferAppendLimit), BufferAppendLimit - registered_count)}; - out_buffers.reserve(to_register); - for (s32 i = 0; i < to_register; ++i) { + for (s32 i = 0; i < to_register; i++) { s32 index{appended_index - appended_count}; if (index < 0) { index += N; @@ -181,7 +180,6 @@ public: return 0; } - buffers_flushed.reserve(registered_count + appended_count); while (registered_count > 0) { auto index{registered_index - registered_count}; if (index < 0) { diff --git a/src/audio_core/sink/cubeb_sink.cpp b/src/audio_core/sink/cubeb_sink.cpp index 62f7b4b07e..7ff4dc6577 100644 --- a/src/audio_core/sink/cubeb_sink.cpp +++ b/src/audio_core/sink/cubeb_sink.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include diff --git a/src/audio_core/sink/sink_stream.cpp b/src/audio_core/sink/sink_stream.cpp index 8a03fdbbc3..c83e451f79 100644 --- a/src/audio_core/sink/sink_stream.cpp +++ b/src/audio_core/sink/sink_stream.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include diff --git a/src/common/CMakeLists.txt b/src/common/CMakeLists.txt index 1d2e973841..f8d431a770 100644 --- a/src/common/CMakeLists.txt +++ b/src/common/CMakeLists.txt @@ -1,5 +1,4 @@ -# SPDX-FileCopyrightText: 2018 yuzu Emulator Project -# SPDX-FileCopyrightText: 2024 suyu Emulator Project +# SPDX-FileCopyrightText: 2018 yuzu Emulator Project & 2024 suyu Emulator Project # SPDX-License-Identifier: GPL-2.0-or-later if (DEFINED ENV{AZURECIREPO}) @@ -240,15 +239,6 @@ if (MSVC) ) else() set_source_files_properties(stb.cpp PROPERTIES COMPILE_OPTIONS "-Wno-implicit-fallthrough;-Wno-missing-declarations;-Wno-missing-field-initializers") - - # Get around GCC failing with intrinsics in Debug - if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND CMAKE_BUILD_TYPE MATCHES "Debug") - set_property( - SOURCE stb.cpp - APPEND - PROPERTY COMPILE_OPTIONS ";-O2" - ) - endif() endif() if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang") diff --git a/src/common/android/applets/software_keyboard.cpp b/src/common/android/applets/software_keyboard.cpp index 8a49ff0442..68376cf5a2 100644 --- a/src/common/android/applets/software_keyboard.cpp +++ b/src/common/android/applets/software_keyboard.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include @@ -253,19 +253,19 @@ void AndroidKeyboard::SubmitNormalText(const ResultData& data) const { void InitJNI(JNIEnv* env) { s_software_keyboard_class = reinterpret_cast( - env->NewGlobalRef(env->FindClass("dev/suyu/suyu_emu/applets/keyboard/SoftwareKeyboard"))); + env->NewGlobalRef(env->FindClass("org/suyu/suyu_emu/applets/keyboard/SoftwareKeyboard"))); s_keyboard_config_class = reinterpret_cast(env->NewGlobalRef( - env->FindClass("dev/suyu/suyu_emu/applets/keyboard/SoftwareKeyboard$KeyboardConfig"))); + env->FindClass("org/suyu/suyu_emu/applets/keyboard/SoftwareKeyboard$KeyboardConfig"))); s_keyboard_data_class = reinterpret_cast(env->NewGlobalRef( - env->FindClass("dev/suyu/suyu_emu/applets/keyboard/SoftwareKeyboard$KeyboardData"))); + env->FindClass("org/suyu/suyu_emu/applets/keyboard/SoftwareKeyboard$KeyboardData"))); s_swkbd_execute_normal = env->GetStaticMethodID( s_software_keyboard_class, "executeNormal", - "(Ldev/suyu/suyu_emu/applets/keyboard/SoftwareKeyboard$KeyboardConfig;)Ldev/suyu/suyu_emu/" + "(Lorg/suyu/suyu_emu/applets/keyboard/SoftwareKeyboard$KeyboardConfig;)Lorg/suyu/suyu_emu/" "applets/keyboard/SoftwareKeyboard$KeyboardData;"); s_swkbd_execute_inline = env->GetStaticMethodID( s_software_keyboard_class, "executeInline", - "(Ldev/suyu/suyu_emu/applets/keyboard/SoftwareKeyboard$KeyboardConfig;)V"); + "(Lorg/suyu/suyu_emu/applets/keyboard/SoftwareKeyboard$KeyboardConfig;)V"); } void CleanupJNI(JNIEnv* env) { diff --git a/src/common/android/id_cache.cpp b/src/common/android/id_cache.cpp index c4ef648ae5..e6462d357c 100644 --- a/src/common/android/id_cache.cpp +++ b/src/common/android/id_cache.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include @@ -400,14 +400,14 @@ jint JNI_OnLoad(JavaVM* vm, void* reserved) { return JNI_ERR; // Initialize Java classes - const jclass native_library_class = env->FindClass("dev/suyu/suyu_emu/NativeLibrary"); + const jclass native_library_class = env->FindClass("org/suyu/suyu_emu/NativeLibrary"); s_native_library_class = reinterpret_cast(env->NewGlobalRef(native_library_class)); s_disk_cache_progress_class = reinterpret_cast(env->NewGlobalRef( - env->FindClass("dev/suyu/suyu_emu/disk_shader_cache/DiskShaderCacheProgress"))); + env->FindClass("org/suyu/suyu_emu/disk_shader_cache/DiskShaderCacheProgress"))); s_load_callback_stage_class = reinterpret_cast(env->NewGlobalRef(env->FindClass( - "dev/suyu/suyu_emu/disk_shader_cache/DiskShaderCacheProgress$LoadCallbackStage"))); + "org/suyu/suyu_emu/disk_shader_cache/DiskShaderCacheProgress$LoadCallbackStage"))); - const jclass game_dir_class = env->FindClass("dev/suyu/suyu_emu/model/GameDir"); + const jclass game_dir_class = env->FindClass("org/suyu/suyu_emu/model/GameDir"); s_game_dir_class = reinterpret_cast(env->NewGlobalRef(game_dir_class)); s_game_dir_constructor = env->GetMethodID(game_dir_class, "", "(Ljava/lang/String;Z)V"); env->DeleteLocalRef(game_dir_class); @@ -424,7 +424,7 @@ jint JNI_OnLoad(JavaVM* vm, void* reserved) { s_on_program_changed = env->GetStaticMethodID(s_native_library_class, "onProgramChanged", "(I)V"); - const jclass game_class = env->FindClass("dev/suyu/suyu_emu/model/Game"); + const jclass game_class = env->FindClass("org/suyu/suyu_emu/model/Game"); s_game_class = reinterpret_cast(env->NewGlobalRef(game_class)); s_game_constructor = env->GetMethodID(game_class, "", "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/" @@ -450,7 +450,7 @@ jint JNI_OnLoad(JavaVM* vm, void* reserved) { env->DeleteLocalRef(pair_class); const jclass overlay_control_data_class = - env->FindClass("dev/suyu/suyu_emu/overlay/model/OverlayControlData"); + env->FindClass("org/suyu/suyu_emu/overlay/model/OverlayControlData"); s_overlay_control_data_class = reinterpret_cast(env->NewGlobalRef(overlay_control_data_class)); s_overlay_control_data_constructor = @@ -468,7 +468,7 @@ jint JNI_OnLoad(JavaVM* vm, void* reserved) { env->GetFieldID(overlay_control_data_class, "foldablePosition", "Lkotlin/Pair;"); env->DeleteLocalRef(overlay_control_data_class); - const jclass patch_class = env->FindClass("dev/suyu/suyu_emu/model/Patch"); + const jclass patch_class = env->FindClass("org/suyu/suyu_emu/model/Patch"); s_patch_class = reinterpret_cast(env->NewGlobalRef(patch_class)); s_patch_constructor = env->GetMethodID( patch_class, "", @@ -500,7 +500,7 @@ jint JNI_OnLoad(JavaVM* vm, void* reserved) { env->DeleteLocalRef(boolean_class); const jclass player_input_class = - env->FindClass("dev/suyu/suyu_emu/features/input/model/PlayerInput"); + env->FindClass("org/suyu/suyu_emu/features/input/model/PlayerInput"); s_player_input_class = reinterpret_cast(env->NewGlobalRef(player_input_class)); s_player_input_constructor = env->GetMethodID( player_input_class, "", @@ -531,7 +531,7 @@ jint JNI_OnLoad(JavaVM* vm, void* reserved) { env->DeleteLocalRef(player_input_class); const jclass suyu_input_device_interface = - env->FindClass("dev/suyu/suyu_emu/features/input/SuyuInputDevice"); + env->FindClass("org/suyu/suyu_emu/features/input/SuyuInputDevice"); s_suyu_input_device_interface = reinterpret_cast(env->NewGlobalRef(suyu_input_device_interface)); s_suyu_input_device_get_name = diff --git a/src/common/android/id_cache.h b/src/common/android/id_cache.h index 95e3e4e2ac..950ce84e30 100644 --- a/src/common/android/id_cache.h +++ b/src/common/android/id_cache.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-3.0-or-later #pragma once diff --git a/src/common/assert.h b/src/common/assert.h index 74c0158e9f..9899c2cf2c 100644 --- a/src/common/assert.h +++ b/src/common/assert.h @@ -1,5 +1,5 @@ // SPDX-FileCopyrightText: 2013 Dolphin Emulator Project -// SPDX-FileCopyrightText: 2014 Citra Emulator Project +// SPDX-FileCopyrightText: 2014 Citra Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once diff --git a/src/common/common_funcs.h b/src/common/common_funcs.h index 1523b48ac7..4eb8a12382 100644 --- a/src/common/common_funcs.h +++ b/src/common/common_funcs.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2019 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2019 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once diff --git a/src/common/fs/fs_paths.h b/src/common/fs/fs_paths.h index de06571a6f..6d30d16435 100644 --- a/src/common/fs/fs_paths.h +++ b/src/common/fs/fs_paths.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once @@ -15,7 +15,6 @@ #define CONFIG_DIR "config" #define CRASH_DUMPS_DIR "crash_dumps" #define DUMP_DIR "dump" -#define ICONS_DIR "icons" #define KEYS_DIR "keys" #define LOAD_DIR "load" #define LOG_DIR "log" @@ -25,7 +24,7 @@ #define SDMC_DIR "sdmc" #define SHADER_DIR "shader" #define TAS_DIR "tas" -#define THEMES_DIR "qt_themes" +#define ICONS_DIR "icons" // suyu-specific files diff --git a/src/common/fs/path_util.cpp b/src/common/fs/path_util.cpp index 9362e18c39..f92cbe0f7b 100644 --- a/src/common/fs/path_util.cpp +++ b/src/common/fs/path_util.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include @@ -121,7 +121,6 @@ public: GenerateSuyuPath(SuyuPath::ConfigDir, suyu_path_config); GenerateSuyuPath(SuyuPath::CrashDumpsDir, suyu_path / CRASH_DUMPS_DIR); GenerateSuyuPath(SuyuPath::DumpDir, suyu_path / DUMP_DIR); - GenerateSuyuPath(SuyuPath::IconsDir, suyu_path / ICONS_DIR); GenerateSuyuPath(SuyuPath::KeysDir, suyu_path / KEYS_DIR); GenerateSuyuPath(SuyuPath::LoadDir, suyu_path / LOAD_DIR); GenerateSuyuPath(SuyuPath::LogDir, suyu_path / LOG_DIR); @@ -131,7 +130,7 @@ public: GenerateSuyuPath(SuyuPath::SDMCDir, suyu_path / SDMC_DIR); GenerateSuyuPath(SuyuPath::ShaderDir, suyu_path / SHADER_DIR); GenerateSuyuPath(SuyuPath::TASDir, suyu_path / TAS_DIR); - GenerateSuyuPath(SuyuPath::ThemesDir, suyu_path / THEMES_DIR); + GenerateSuyuPath(SuyuPath::IconsDir, suyu_path / ICONS_DIR); } private: diff --git a/src/common/fs/path_util.h b/src/common/fs/path_util.h index 1ac4a26eea..1fcb7d3778 100644 --- a/src/common/fs/path_util.h +++ b/src/common/fs/path_util.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once @@ -17,7 +17,6 @@ enum class SuyuPath { ConfigDir, // Where config files are stored. CrashDumpsDir, // Where crash dumps are stored. DumpDir, // Where dumped data is stored. - IconsDir, // Where Icons for Windows shortcuts are stored. KeysDir, // Where key files are stored. LoadDir, // Where cheat/mod files are stored. LogDir, // Where log files are stored. @@ -27,7 +26,7 @@ enum class SuyuPath { SDMCDir, // Where the emulated SDMC is stored. ShaderDir, // Where shaders are stored. TASDir, // Where TAS scripts are stored. - ThemesDir, // Where users should put their custom themes + IconsDir, // Where Icons for Windows shortcuts are stored. }; /** diff --git a/src/common/intrusive_list.h b/src/common/intrusive_list.h index 301af0533e..0867849a23 100644 --- a/src/common/intrusive_list.h +++ b/src/common/intrusive_list.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once diff --git a/src/common/intrusive_red_black_tree.h b/src/common/intrusive_red_black_tree.h index b0ae455b64..6809acb47d 100644 --- a/src/common/intrusive_red_black_tree.h +++ b/src/common/intrusive_red_black_tree.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once diff --git a/src/common/logging/backend.cpp b/src/common/logging/backend.cpp index 2cdd6cf06a..d2bb208467 100644 --- a/src/common/logging/backend.cpp +++ b/src/common/logging/backend.cpp @@ -1,10 +1,9 @@ -// SPDX-FileCopyrightText: 2014 Citra Emulator Project +// SPDX-FileCopyrightText: 2014 Citra Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include #include #include -#include #include #include @@ -232,15 +231,8 @@ public: if (!filter.CheckMessage(log_class, log_level)) { return; } - - auto entry = - CreateEntry(log_class, log_level, filename, line_num, function, std::move(message)); - if (Settings::values.log_async) { - message_queue.EmplaceWait(entry); - } else { - std::scoped_lock l{sync_mutex}; - ForEachBackend([&entry](Backend& backend) { backend.Write(entry); }); - } + message_queue.EmplaceWait( + CreateEntry(log_class, log_level, filename, line_num, function, std::move(message))); } private: @@ -321,7 +313,6 @@ private: #endif MPSCQueue message_queue{}; - std::mutex sync_mutex; std::chrono::steady_clock::time_point time_origin{std::chrono::steady_clock::now()}; std::jthread backend_thread; }; @@ -354,11 +345,9 @@ void SetColorConsoleBackendEnabled(bool enabled) { void FmtLogMessageImpl(Class log_class, Level log_level, const char* filename, unsigned int line_num, const char* function, fmt::string_view format, const fmt::format_args& args) { - if (initialization_in_progress_suppress_logging) { - return; + if (!initialization_in_progress_suppress_logging) { + Impl::Instance().PushEntry(log_class, log_level, filename, line_num, function, + fmt::vformat(format, args)); } - - Impl::Instance().PushEntry(log_class, log_level, filename, line_num, function, - fmt::vformat(format, args)); } } // namespace Common::Log diff --git a/src/common/logging/filter.cpp b/src/common/logging/filter.cpp index ae866c7a50..4e3a614a45 100644 --- a/src/common/logging/filter.cpp +++ b/src/common/logging/filter.cpp @@ -171,7 +171,6 @@ const char* GetLogClassName(Class log_class) { #define SUB(x, y) \ case Class::x##_##y: \ return #x "." #y; - // return #x "_" #y; ALL_LOG_CLASSES() #undef CLS #undef SUB diff --git a/src/common/logging/formatter.h b/src/common/logging/formatter.h index 16bddde8fe..88e55505de 100644 --- a/src/common/logging/formatter.h +++ b/src/common/logging/formatter.h @@ -14,7 +14,7 @@ template struct fmt::formatter, char>> : formatter> { template - auto format(const T& value, FormatContext& ctx) const -> decltype(ctx.out()) { + auto format(const T& value, FormatContext& ctx) -> decltype(ctx.out()) { return fmt::formatter>::format( static_cast>(value), ctx); } diff --git a/src/common/logging/types.h b/src/common/logging/types.h index 03544387d1..6b2e64d957 100644 --- a/src/common/logging/types.h +++ b/src/common/logging/types.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once diff --git a/src/common/nvidia_flags.cpp b/src/common/nvidia_flags.cpp index a788290274..579d2b9407 100644 --- a/src/common/nvidia_flags.cpp +++ b/src/common/nvidia_flags.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include diff --git a/src/common/scope_exit.h b/src/common/scope_exit.h index f281d7716b..3d6bef8f57 100644 --- a/src/common/scope_exit.h +++ b/src/common/scope_exit.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2014 Citra Emulator Project +// SPDX-FileCopyrightText: 2014 Citra Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once diff --git a/src/common/settings.cpp b/src/common/settings.cpp index 3339d5b4f0..5eca4dfa74 100644 --- a/src/common/settings.cpp +++ b/src/common/settings.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include @@ -67,7 +67,6 @@ SWITCHABLE(u8, true); // Used in UISettings // TODO see if we can move this to uisettings.cpp SWITCHABLE(ConfirmStop, true); -SWITCHABLE(DarkModeState, true); #undef SETTING #undef SWITCHABLE diff --git a/src/common/settings.h b/src/common/settings.h index 4e993ea622..f3195af564 100644 --- a/src/common/settings.h +++ b/src/common/settings.h @@ -1,6 +1,8 @@ -// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later +// Modified by palfaiate on <2024/03/07> + #pragma once #include @@ -88,7 +90,6 @@ SWITCHABLE(u8, true); // Used in UISettings // TODO see if we can move this to uisettings.h SWITCHABLE(ConfirmStop, true); -SWITCHABLE(DarkModeState, true); #undef SETTING #undef SWITCHABLE @@ -603,7 +604,6 @@ struct Values { // Miscellaneous Setting log_filter{linkage, "*:Info", "log_filter", Category::Miscellaneous}; - Setting log_async{linkage, true, "log_async", Category::Miscellaneous}; Setting use_dev_keys{linkage, false, "use_dev_keys", Category::Miscellaneous}; // Network diff --git a/src/common/settings_enums.h b/src/common/settings_enums.h index 777f5b1b0a..fabae6d687 100644 --- a/src/common/settings_enums.h +++ b/src/common/settings_enums.h @@ -155,8 +155,6 @@ ENUM(ConsoleMode, Handheld, Docked); ENUM(AppletMode, HLE, LLE); -ENUM(DarkModeState, Off, On, Auto); - template inline std::string CanonicalizeEnum(Type id) { const auto group = EnumMetadata::Canonicalizations(); diff --git a/src/common/typed_address.h b/src/common/typed_address.h index a1deb89a04..d5e743583d 100644 --- a/src/common/typed_address.h +++ b/src/common/typed_address.h @@ -262,7 +262,7 @@ struct fmt::formatter { return ctx.begin(); } template - auto format(const Common::PhysicalAddress& addr, FormatContext& ctx) const { + auto format(const Common::PhysicalAddress& addr, FormatContext& ctx) { return fmt::format_to(ctx.out(), "{:#x}", static_cast(addr.GetValue())); } }; @@ -273,7 +273,7 @@ struct fmt::formatter { return ctx.begin(); } template - auto format(const Common::ProcessAddress& addr, FormatContext& ctx) const { + auto format(const Common::ProcessAddress& addr, FormatContext& ctx) { return fmt::format_to(ctx.out(), "{:#x}", static_cast(addr.GetValue())); } }; @@ -284,7 +284,7 @@ struct fmt::formatter { return ctx.begin(); } template - auto format(const Common::VirtualAddress& addr, FormatContext& ctx) const { + auto format(const Common::VirtualAddress& addr, FormatContext& ctx) { return fmt::format_to(ctx.out(), "{:#x}", static_cast(addr.GetValue())); } }; diff --git a/src/common/uuid.h b/src/common/uuid.h index 249fe90c84..32bdedc3f0 100644 --- a/src/common/uuid.h +++ b/src/common/uuid.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2022 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2022 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once diff --git a/src/common/x64/cpu_detect.cpp b/src/common/x64/cpu_detect.cpp index 534256ecb2..d2facf6335 100644 --- a/src/common/x64/cpu_detect.cpp +++ b/src/common/x64/cpu_detect.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2022 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2022 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-FileCopyrightText: Copyright 2013 Dolphin Emulator Project / 2015 Citra Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later diff --git a/src/core/arm/arm_interface.h b/src/core/arm/arm_interface.h index 86d13ce9da..741113bf8e 100644 --- a/src/core/arm/arm_interface.h +++ b/src/core/arm/arm_interface.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2014 Citra Emulator Project +// SPDX-FileCopyrightText: 2014 Citra Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once diff --git a/src/core/arm/dynarmic/dynarmic_cp15.cpp b/src/core/arm/dynarmic/dynarmic_cp15.cpp index ee97ac6395..f3eee0d42a 100644 --- a/src/core/arm/dynarmic/dynarmic_cp15.cpp +++ b/src/core/arm/dynarmic/dynarmic_cp15.cpp @@ -22,7 +22,7 @@ struct fmt::formatter { return ctx.begin(); } template - auto format(const Dynarmic::A32::CoprocReg& reg, FormatContext& ctx) const { + auto format(const Dynarmic::A32::CoprocReg& reg, FormatContext& ctx) { return fmt::format_to(ctx.out(), "cp{}", static_cast(reg)); } }; diff --git a/src/core/arm/nce/arm_nce.cpp b/src/core/arm/nce/arm_nce.cpp index d48d82c439..d3dd0899f4 100644 --- a/src/core/arm/nce/arm_nce.cpp +++ b/src/core/arm/nce/arm_nce.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include diff --git a/src/core/arm/nce/patcher.cpp b/src/core/arm/nce/patcher.cpp index 4ff018c2b0..8996f07463 100644 --- a/src/core/arm/nce/patcher.cpp +++ b/src/core/arm/nce/patcher.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include "common/arm64/native_clock.h" diff --git a/src/core/core.cpp b/src/core/core.cpp index 83517d46cc..0cb81d6d8f 100644 --- a/src/core/core.cpp +++ b/src/core/core.cpp @@ -80,7 +80,6 @@ FileSys::VirtualFile GetGameFileFromPath(const FileSys::VirtualFilesystem& vfs, if (filename == "00") { const auto dir = vfs->OpenDirectory(dir_name, FileSys::OpenMode::Read); std::vector concat; - concat.reserve(0x10); for (u32 i = 0; i < 0x10; ++i) { const auto file_name = fmt::format("{:02X}", i); diff --git a/src/core/crypto/key_manager.cpp b/src/core/crypto/key_manager.cpp index 735a632f41..e9896c7b6f 100644 --- a/src/core/crypto/key_manager.cpp +++ b/src/core/crypto/key_manager.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include diff --git a/src/core/debugger/gdbstub.cpp b/src/core/debugger/gdbstub.cpp index 22bc71e4d4..80091cc7e0 100644 --- a/src/core/debugger/gdbstub.cpp +++ b/src/core/debugger/gdbstub.cpp @@ -9,7 +9,6 @@ #include #include -#include #include "common/hex_util.h" #include "common/logging/log.h" @@ -482,7 +481,6 @@ void GDBStub::HandleQuery(std::string_view command) { // beginning of list const auto& threads = GetProcess()->GetThreadList(); std::vector thread_ids; - thread_ids.reserve(threads.size()); for (const auto& thread : threads) { thread_ids.push_back(fmt::format("{:x}", thread.GetThreadId())); } diff --git a/src/core/device_memory_manager.inc b/src/core/device_memory_manager.inc index 47ff4ec5c7..7987cffe6a 100644 --- a/src/core/device_memory_manager.inc +++ b/src/core/device_memory_manager.inc @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include diff --git a/src/core/file_sys/bis_factory.cpp b/src/core/file_sys/bis_factory.cpp index 9ec4e8e947..a893fad8a3 100644 --- a/src/core/file_sys/bis_factory.cpp +++ b/src/core/file_sys/bis_factory.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include diff --git a/src/core/file_sys/fs_path.h b/src/core/file_sys/fs_path.h index e3282968e2..a4004c2161 100644 --- a/src/core/file_sys/fs_path.h +++ b/src/core/file_sys/fs_path.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2024 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2024 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once diff --git a/src/core/file_sys/fssystem/fssystem_aes_ctr_counter_extended_storage.h b/src/core/file_sys/fssystem/fssystem_aes_ctr_counter_extended_storage.h index 3de634e6b7..0f53e3f669 100644 --- a/src/core/file_sys/fssystem/fssystem_aes_ctr_counter_extended_storage.h +++ b/src/core/file_sys/fssystem/fssystem_aes_ctr_counter_extended_storage.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once diff --git a/src/core/file_sys/fssystem/fssystem_aes_ctr_storage.h b/src/core/file_sys/fssystem/fssystem_aes_ctr_storage.h index b96986760e..7838f982c6 100644 --- a/src/core/file_sys/fssystem/fssystem_aes_ctr_storage.h +++ b/src/core/file_sys/fssystem/fssystem_aes_ctr_storage.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once diff --git a/src/core/file_sys/fssystem/fssystem_aes_xts_storage.h b/src/core/file_sys/fssystem/fssystem_aes_xts_storage.h index 59a8560051..c03f5d8b43 100644 --- a/src/core/file_sys/fssystem/fssystem_aes_xts_storage.h +++ b/src/core/file_sys/fssystem/fssystem_aes_xts_storage.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once diff --git a/src/core/file_sys/fssystem/fssystem_alignment_matching_storage.h b/src/core/file_sys/fssystem/fssystem_alignment_matching_storage.h index 8ad2c256b6..f5faee0ca1 100644 --- a/src/core/file_sys/fssystem/fssystem_alignment_matching_storage.h +++ b/src/core/file_sys/fssystem/fssystem_alignment_matching_storage.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once diff --git a/src/core/file_sys/fssystem/fssystem_bucket_tree.h b/src/core/file_sys/fssystem/fssystem_bucket_tree.h index c674ba9029..89996f64b4 100644 --- a/src/core/file_sys/fssystem/fssystem_bucket_tree.h +++ b/src/core/file_sys/fssystem/fssystem_bucket_tree.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once diff --git a/src/core/file_sys/fssystem/fssystem_compressed_storage.h b/src/core/file_sys/fssystem/fssystem_compressed_storage.h index 6038994be6..93a4b94972 100644 --- a/src/core/file_sys/fssystem/fssystem_compressed_storage.h +++ b/src/core/file_sys/fssystem/fssystem_compressed_storage.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once diff --git a/src/core/file_sys/fssystem/fssystem_hierarchical_integrity_verification_storage.h b/src/core/file_sys/fssystem/fssystem_hierarchical_integrity_verification_storage.h index a3460e958e..4ce5603706 100644 --- a/src/core/file_sys/fssystem/fssystem_hierarchical_integrity_verification_storage.h +++ b/src/core/file_sys/fssystem/fssystem_hierarchical_integrity_verification_storage.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once diff --git a/src/core/file_sys/fssystem/fssystem_hierarchical_sha256_storage.h b/src/core/file_sys/fssystem/fssystem_hierarchical_sha256_storage.h index 62489101b1..31b26f164e 100644 --- a/src/core/file_sys/fssystem/fssystem_hierarchical_sha256_storage.h +++ b/src/core/file_sys/fssystem/fssystem_hierarchical_sha256_storage.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once diff --git a/src/core/file_sys/fssystem/fssystem_indirect_storage.h b/src/core/file_sys/fssystem/fssystem_indirect_storage.h index 5e24061fba..7b1a6bd54e 100644 --- a/src/core/file_sys/fssystem/fssystem_indirect_storage.h +++ b/src/core/file_sys/fssystem/fssystem_indirect_storage.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once diff --git a/src/core/file_sys/fssystem/fssystem_integrity_verification_storage.h b/src/core/file_sys/fssystem/fssystem_integrity_verification_storage.h index 5fcb2afd80..9328901bc5 100644 --- a/src/core/file_sys/fssystem/fssystem_integrity_verification_storage.h +++ b/src/core/file_sys/fssystem/fssystem_integrity_verification_storage.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once diff --git a/src/core/file_sys/fssystem/fssystem_memory_resource_buffer_hold_storage.h b/src/core/file_sys/fssystem/fssystem_memory_resource_buffer_hold_storage.h index c25115afb3..9f1e4cc1e8 100644 --- a/src/core/file_sys/fssystem/fssystem_memory_resource_buffer_hold_storage.h +++ b/src/core/file_sys/fssystem/fssystem_memory_resource_buffer_hold_storage.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once diff --git a/src/core/file_sys/fssystem/fssystem_nca_file_system_driver.cpp b/src/core/file_sys/fssystem/fssystem_nca_file_system_driver.cpp index ff92469458..a2b9d27de5 100644 --- a/src/core/file_sys/fssystem/fssystem_nca_file_system_driver.cpp +++ b/src/core/file_sys/fssystem/fssystem_nca_file_system_driver.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include "core/file_sys/fssystem/fssystem_aes_ctr_counter_extended_storage.h" diff --git a/src/core/file_sys/fssystem/fssystem_nca_file_system_driver.h b/src/core/file_sys/fssystem/fssystem_nca_file_system_driver.h index f6618350a1..34a04bffe1 100644 --- a/src/core/file_sys/fssystem/fssystem_nca_file_system_driver.h +++ b/src/core/file_sys/fssystem/fssystem_nca_file_system_driver.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once diff --git a/src/core/file_sys/fssystem/fssystem_pooled_buffer.h b/src/core/file_sys/fssystem/fssystem_pooled_buffer.h index 5d95fdc3fd..2a084ec45f 100644 --- a/src/core/file_sys/fssystem/fssystem_pooled_buffer.h +++ b/src/core/file_sys/fssystem/fssystem_pooled_buffer.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once diff --git a/src/core/file_sys/fssystem/fssystem_sparse_storage.h b/src/core/file_sys/fssystem/fssystem_sparse_storage.h index df37d11b5c..d0761cd385 100644 --- a/src/core/file_sys/fssystem/fssystem_sparse_storage.h +++ b/src/core/file_sys/fssystem/fssystem_sparse_storage.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once diff --git a/src/core/file_sys/fssystem/fssystem_switch_storage.h b/src/core/file_sys/fssystem/fssystem_switch_storage.h index aa4d0d1d31..9de6fbe936 100644 --- a/src/core/file_sys/fssystem/fssystem_switch_storage.h +++ b/src/core/file_sys/fssystem/fssystem_switch_storage.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once diff --git a/src/core/file_sys/registered_cache.cpp b/src/core/file_sys/registered_cache.cpp index fae8e74e44..6bb2d304e1 100644 --- a/src/core/file_sys/registered_cache.cpp +++ b/src/core/file_sys/registered_cache.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include @@ -261,7 +261,7 @@ std::vector PlaceholderCache::List() const { std::vector out; for (const auto& sdir : dir->GetSubdirectories()) { for (const auto& file : sdir->GetFiles()) { - const auto& name = file->GetName(); + const auto name = file->GetName(); if (name.length() == 36 && name.ends_with(".nca")) { out.push_back(Common::HexStringToArray<0x10>(name.substr(0, 32))); } diff --git a/src/core/file_sys/registered_cache.h b/src/core/file_sys/registered_cache.h index 41a3fc07c9..b60595ad98 100644 --- a/src/core/file_sys/registered_cache.h +++ b/src/core/file_sys/registered_cache.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once diff --git a/src/core/file_sys/submission_package.cpp b/src/core/file_sys/submission_package.cpp index 4ab7e03590..68e8ec22fc 100644 --- a/src/core/file_sys/submission_package.cpp +++ b/src/core/file_sys/submission_package.cpp @@ -117,9 +117,7 @@ std::vector> NSP::GetNCAsCollapsed() const { if (extracted) LOG_WARNING(Service_FS, "called on an NSP that is of type extracted."); std::vector> out; - out.reserve(ncas.size()); for (const auto& map : ncas) { - out.reserve(map.second.size()); for (const auto& inner_map : map.second) out.push_back(inner_map.second); } diff --git a/src/core/file_sys/system_archive/ng_word.cpp b/src/core/file_sys/system_archive/ng_word.cpp index 61b0ed2f7b..1fa67877dd 100644 --- a/src/core/file_sys/system_archive/ng_word.cpp +++ b/src/core/file_sys/system_archive/ng_word.cpp @@ -10,7 +10,7 @@ namespace FileSys::SystemArchive { namespace NgWord1Data { -[[maybe_unused]] constexpr std::size_t NUMBER_WORD_TXT_FILES = 0x10; +constexpr std::size_t NUMBER_WORD_TXT_FILES = 0x10; // Should this archive replacement mysteriously not work on a future game, consider updating. constexpr std::array VERSION_DAT{0x0, 0x0, 0x0, 0x20}; // 11.0.1 System Version @@ -24,7 +24,7 @@ constexpr std::array WORD_TXT{ VirtualDir NgWord1() { std::vector files; - files.reserve(files.size() + 2); + files.reserve(NgWord1Data::NUMBER_WORD_TXT_FILES); for (std::size_t i = 0; i < files.size(); ++i) { files.push_back(MakeArrayFile(NgWord1Data::WORD_TXT, fmt::format("{}.txt", i))); @@ -54,7 +54,7 @@ constexpr std::array AC_NX_DATA{ VirtualDir NgWord2() { std::vector files; - files.reserve(NgWord2Data::NUMBER_AC_NX_FILES + 4); + files.reserve(NgWord2Data::NUMBER_AC_NX_FILES * 3); for (std::size_t i = 0; i < NgWord2Data::NUMBER_AC_NX_FILES; ++i) { files.push_back(MakeArrayFile(NgWord2Data::AC_NX_DATA, fmt::format("ac_{}_b1_nx", i))); diff --git a/src/core/file_sys/system_archive/time_zone_binary.cpp b/src/core/file_sys/system_archive/time_zone_binary.cpp index 3fa703a6fa..316ff0dc6f 100644 --- a/src/core/file_sys/system_archive/time_zone_binary.cpp +++ b/src/core/file_sys/system_archive/time_zone_binary.cpp @@ -37,7 +37,6 @@ const static std::map& directory, const std::map>& files) { - directory.reserve(files.size()); for (const auto& [filename, data] : files) { const auto data_copy{data}; const std::string filename_copy{filename}; @@ -55,7 +54,6 @@ static std::vector GenerateZoneinfoFiles() { VirtualDir TimeZoneBinary() { std::vector america_sub_dirs; - america_sub_dirs.reserve(tzdb_america_dirs.size()); for (const auto& [dir_name, files] : tzdb_america_dirs) { std::vector vfs_files; GenerateFiles(vfs_files, files); @@ -64,7 +62,6 @@ VirtualDir TimeZoneBinary() { } std::vector zoneinfo_sub_dirs; - zoneinfo_sub_dirs.reserve(tzdb_zoneinfo_dirs.size()); for (const auto& [dir_name, files] : tzdb_zoneinfo_dirs) { std::vector vfs_files; GenerateFiles(vfs_files, files); diff --git a/src/core/file_sys/vfs/vfs.h b/src/core/file_sys/vfs/vfs.h index 95a690186d..ec04cd8069 100644 --- a/src/core/file_sys/vfs/vfs.h +++ b/src/core/file_sys/vfs/vfs.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once diff --git a/src/core/file_sys/vfs/vfs_cached.cpp b/src/core/file_sys/vfs/vfs_cached.cpp index 9f570520bb..01cd0f1e08 100644 --- a/src/core/file_sys/vfs/vfs_cached.cpp +++ b/src/core/file_sys/vfs/vfs_cached.cpp @@ -38,8 +38,7 @@ VirtualDir CachedVfsDirectory::GetSubdirectory(std::string_view dir_name) const std::vector CachedVfsDirectory::GetFiles() const { std::vector out; - out.reserve(files.size()); - for (const auto& [_, file] : files) { + for (auto& [file_name, file] : files) { out.push_back(file); } return out; @@ -47,8 +46,7 @@ std::vector CachedVfsDirectory::GetFiles() const { std::vector CachedVfsDirectory::GetSubdirectories() const { std::vector out; - out.reserve(dirs.size()); - for (auto& [_, dir] : dirs) { + for (auto& [dir_name, dir] : dirs) { out.push_back(dir); } return out; diff --git a/src/core/frontend/applets/software_keyboard.cpp b/src/core/frontend/applets/software_keyboard.cpp index e977923124..b262579b87 100644 --- a/src/core/frontend/applets/software_keyboard.cpp +++ b/src/core/frontend/applets/software_keyboard.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include diff --git a/src/core/guest_memory.h b/src/core/guest_memory.h index a753f51a4e..83292f7023 100644 --- a/src/core/guest_memory.h +++ b/src/core/guest_memory.h @@ -31,6 +31,7 @@ enum GuestMemoryFlags : u32 { UnsafeReadCachedWrite = UnsafeReadWrite | Cached, }; +namespace { template class GuestMemory { using iterator = T*; @@ -218,5 +219,6 @@ public: } } }; +} // namespace } // namespace Core::Memory diff --git a/src/core/hle/api_version.h b/src/core/hle/api_version.h index 80d6cea09f..62745a8f2d 100644 --- a/src/core/hle/api_version.h +++ b/src/core/hle/api_version.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once diff --git a/src/core/hle/kernel/k_auto_object.h b/src/core/hle/kernel/k_auto_object.h index 7b6f891a3b..3ec056119b 100644 --- a/src/core/hle/kernel/k_auto_object.h +++ b/src/core/hle/kernel/k_auto_object.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once diff --git a/src/core/hle/kernel/k_auto_object_container.h b/src/core/hle/kernel/k_auto_object_container.h index 604cd58131..bee5a5f304 100644 --- a/src/core/hle/kernel/k_auto_object_container.h +++ b/src/core/hle/kernel/k_auto_object_container.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once diff --git a/src/core/hle/kernel/k_dynamic_resource_manager.h b/src/core/hle/kernel/k_dynamic_resource_manager.h index eeb3c13008..55347979b2 100644 --- a/src/core/hle/kernel/k_dynamic_resource_manager.h +++ b/src/core/hle/kernel/k_dynamic_resource_manager.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2022 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2022 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once diff --git a/src/core/hle/kernel/k_dynamic_slab_heap.h b/src/core/hle/kernel/k_dynamic_slab_heap.h index d0df6f0bd5..4f3de7046d 100644 --- a/src/core/hle/kernel/k_dynamic_slab_heap.h +++ b/src/core/hle/kernel/k_dynamic_slab_heap.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2022 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2022 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once diff --git a/src/core/hle/kernel/k_handle_table.h b/src/core/hle/kernel/k_handle_table.h index 0821201484..91d5b71009 100644 --- a/src/core/hle/kernel/k_handle_table.h +++ b/src/core/hle/kernel/k_handle_table.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once diff --git a/src/core/hle/kernel/k_memory_region.h b/src/core/hle/kernel/k_memory_region.h index 3716b9e710..44c7343156 100644 --- a/src/core/hle/kernel/k_memory_region.h +++ b/src/core/hle/kernel/k_memory_region.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once diff --git a/src/core/hle/kernel/k_page_table_base.cpp b/src/core/hle/kernel/k_page_table_base.cpp index e67105dea4..25af39c856 100644 --- a/src/core/hle/kernel/k_page_table_base.cpp +++ b/src/core/hle/kernel/k_page_table_base.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include "common/scope_exit.h" @@ -172,7 +172,6 @@ Result KPageTableBase::InitializeForKernel(bool is_64_bit, KVirtualAddress start m_mapped_unsafe_physical_memory = 0; m_mapped_insecure_memory = 0; m_mapped_ipc_server_memory = 0; - m_alias_region_extra_size = 0; m_memory_block_slab_manager = m_kernel.GetSystemSystemResource().GetMemoryBlockSlabManagerPointer(); @@ -270,12 +269,6 @@ Result KPageTableBase::InitializeForProcess(Svc::CreateProcessFlag as_type, bool process_code_end = m_code_region_end; } - m_alias_region_extra_size = 0; - if (as_type == Svc::CreateProcessFlag::EnableReservedRegionExtraSize) { - m_alias_region_extra_size = GetAddressSpaceSize() / 8; - alias_region_size += m_alias_region_extra_size; - } - // Set other basic fields. m_enable_aslr = enable_aslr; m_enable_device_address_space_merge = enable_das_merge; diff --git a/src/core/hle/kernel/k_page_table_base.h b/src/core/hle/kernel/k_page_table_base.h index d944306b70..819502d0a0 100644 --- a/src/core/hle/kernel/k_page_table_base.h +++ b/src/core/hle/kernel/k_page_table_base.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once @@ -208,7 +208,6 @@ private: size_t m_mapped_unsafe_physical_memory{}; size_t m_mapped_insecure_memory{}; size_t m_mapped_ipc_server_memory{}; - size_t m_alias_region_extra_size{}; mutable KLightLock m_general_lock; mutable KLightLock m_map_physical_memory_lock; KLightLock m_device_map_lock; @@ -683,9 +682,6 @@ public: size_t GetAliasRegionSize() const { return m_alias_region_end - m_alias_region_start; } - size_t GetReservedRegionExtraSize() const { - return m_alias_region_extra_size; - } size_t GetStackRegionSize() const { return m_stack_region_end - m_stack_region_start; } diff --git a/src/core/hle/kernel/k_process_page_table.h b/src/core/hle/kernel/k_process_page_table.h index 38c5fb8162..346d7ca083 100644 --- a/src/core/hle/kernel/k_process_page_table.h +++ b/src/core/hle/kernel/k_process_page_table.h @@ -410,9 +410,6 @@ public: size_t GetAliasRegionSize() const { return m_page_table.GetAliasRegionSize(); } - size_t GetReservedRegionExtraSize() const { - return m_page_table.GetReservedRegionExtraSize(); - } size_t GetStackRegionSize() const { return m_page_table.GetStackRegionSize(); } diff --git a/src/core/hle/kernel/k_scheduler.h b/src/core/hle/kernel/k_scheduler.h index 96bc2788c9..20347124f8 100644 --- a/src/core/hle/kernel/k_scheduler.h +++ b/src/core/hle/kernel/k_scheduler.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once diff --git a/src/core/hle/kernel/k_slab_heap.h b/src/core/hle/kernel/k_slab_heap.h index f3bea4ea1e..e1b82597f5 100644 --- a/src/core/hle/kernel/k_slab_heap.h +++ b/src/core/hle/kernel/k_slab_heap.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once diff --git a/src/core/hle/kernel/k_spin_lock.h b/src/core/hle/kernel/k_spin_lock.h index a8c81e6cd2..fde6e250d0 100644 --- a/src/core/hle/kernel/k_spin_lock.h +++ b/src/core/hle/kernel/k_spin_lock.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once diff --git a/src/core/hle/kernel/physical_core.h b/src/core/hle/kernel/physical_core.h index 9159ba5306..d3bb4765a1 100644 --- a/src/core/hle/kernel/physical_core.h +++ b/src/core/hle/kernel/physical_core.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once diff --git a/src/core/hle/kernel/svc/svc_info.cpp b/src/core/hle/kernel/svc/svc_info.cpp index 007bb9f705..231e4d0e1b 100644 --- a/src/core/hle/kernel/svc/svc_info.cpp +++ b/src/core/hle/kernel/svc/svc_info.cpp @@ -37,8 +37,7 @@ Result GetInfo(Core::System& system, u64* result, InfoType info_id_type, Handle case InfoType::TotalNonSystemMemorySize: case InfoType::UsedNonSystemMemorySize: case InfoType::IsApplication: - case InfoType::FreeThreadCount: - case InfoType::ReservedRegionExtraSize: { + case InfoType::FreeThreadCount: { R_UNLESS(info_sub_id == 0, ResultInvalidEnumValue); const auto& handle_table = GetCurrentProcess(system.Kernel()).GetHandleTable(); @@ -135,10 +134,6 @@ Result GetInfo(Core::System& system, u64* result, InfoType info_id_type, Handle } R_SUCCEED(); - case InfoType::ReservedRegionExtraSize: - *result = process->GetPageTable().GetReservedRegionExtraSize(); - R_SUCCEED(); - default: break; } diff --git a/src/core/hle/kernel/svc_types.h b/src/core/hle/kernel/svc_types.h index df92fa0089..ab432ea78b 100644 --- a/src/core/hle/kernel/svc_types.h +++ b/src/core/hle/kernel/svc_types.h @@ -153,7 +153,6 @@ enum class InfoType : u32 { ThreadTickCount = 25, IsSvcPermitted = 26, IoRegionHint = 27, - ReservedRegionExtraSize = 28, MesosphereMeta = 65000, MesosphereCurrentProcess = 65001, @@ -643,12 +642,9 @@ enum class CreateProcessFlag : u32 { // 11.x+ DisableDeviceAddressSpaceMerge. DisableDeviceAddressSpaceMerge = (1 << 12), - EnableReservedRegionExtraSize = (1 << 13), - // Mask of all flags. All = Is64Bit | AddressSpaceMask | EnableDebug | EnableAslr | IsApplication | - PoolPartitionMask | OptimizeMemoryAllocation | DisableDeviceAddressSpaceMerge | - EnableReservedRegionExtraSize, + PoolPartitionMask | OptimizeMemoryAllocation | DisableDeviceAddressSpaceMerge, }; DECLARE_ENUM_FLAG_OPERATORS(CreateProcessFlag); diff --git a/src/core/hle/result.h b/src/core/hle/result.h index b3e1978906..9a7c10efae 100644 --- a/src/core/hle/result.h +++ b/src/core/hle/result.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2014 Citra Emulator Project +// SPDX-FileCopyrightText: 2014 Citra Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once diff --git a/src/core/hle/service/acc/acc.cpp b/src/core/hle/service/acc/acc.cpp index fd7104dfee..099fdbc368 100644 --- a/src/core/hle/service/acc/acc.cpp +++ b/src/core/hle/service/acc/acc.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include @@ -102,7 +102,6 @@ public: {150, nullptr, "CreateAuthorizationRequest"}, {160, nullptr, "RequiresUpdateNetworkServiceAccountIdTokenCache"}, {161, nullptr, "RequireReauthenticationOfNetworkServiceAccount"}, - {180, nullptr, "GetRequestForNintendoAccountReauthentication"}, // 18.0.0+ }; // clang-format on @@ -136,7 +135,6 @@ public: {13, nullptr, "GetLinkedNintendoAccountId"}, {14, nullptr, "GetNickname"}, {15, nullptr, "GetProfileImage"}, - {16, nullptr, "GetProfileLargeImage"}, // 18.0.0+ {21, nullptr, "LoadIdTokenCache"}, {100, nullptr, "RegisterUser"}, // [1.0.0-3.0.2] RegisterAsync {101, nullptr, "RegisterUserWithUid"}, // [1.0.0-3.0.2] RegisterWithUidAsync @@ -178,11 +176,10 @@ public: {140, nullptr, "GetNetworkServiceLicenseCache"}, // 5.0.0+ {141, nullptr, "RefreshNetworkServiceLicenseCacheAsync"}, // 5.0.0+ {142, nullptr, "RefreshNetworkServiceLicenseCacheAsyncIfSecondsElapsed"}, // 5.0.0+ - {143, nullptr, "GetNetworkServiceLicenseCacheEx"}, // 15.0.0+ + {143, nullptr, "GetNetworkServiceLicenseCacheEx"}, {150, nullptr, "CreateAuthorizationRequest"}, - {160, nullptr, "RequiresUpdateNetworkServiceAccountIdTokenCache"}, // 16.0.0+ - {161, nullptr, "RequireReauthenticationOfNetworkServiceAccount"}, // 16.0.0+ - {180, nullptr, "GetRequestForNintendoAccountReauthentication"}, // 18.0.0+ + {160, nullptr, "RequiresUpdateNetworkServiceAccountIdTokenCache"}, + {161, nullptr, "RequireReauthenticationOfNetworkServiceAccount"}, {200, nullptr, "IsRegistered"}, {201, nullptr, "RegisterAsync"}, {202, nullptr, "UnregisterAsync"}, @@ -266,7 +263,6 @@ public: {101, nullptr, "GetLinkedNintendoAccountId"}, {102, nullptr, "GetNickname"}, {103, nullptr, "GetProfileImage"}, - {104, nullptr, "GetProfileLargeImage"}, // 18.0.0+ }; // clang-format on @@ -321,9 +317,6 @@ public: {1, &IProfileCommon::GetBase, "GetBase"}, {10, &IProfileCommon::GetImageSize, "GetImageSize"}, {11, &IProfileCommon::LoadImage, "LoadImage"}, - {20, &IProfileCommon::GetImageSize, "GetLargeImageSize"}, // 18.0.0+ - {21, &IProfileCommon::LoadImage, "LoadLargeImage"}, // 18.0.0+ - {30, &IProfileCommon::Unknown, "GetImageId"}, // 18.0.0+ }; RegisterHandlers(functions); @@ -332,7 +325,6 @@ public: static const FunctionInfo editor_functions[] = { {100, &IProfileCommon::Store, "Store"}, {101, &IProfileCommon::StoreWithImage, "StoreWithImage"}, - {110, &IProfileCommon::StoreWithImage, "StoreWithLargeImage"}, // 18.0.0+ }; RegisterHandlers(editor_functions); @@ -494,13 +486,6 @@ protected: rb.Push(ResultSuccess); } - void Unknown(HLERequestContext& ctx) { - LOG_WARNING(Service_ACC, "(STUBBED) called"); - IPC::ResponseBuilder rb{ctx, 3}; - rb.Push(ResultSuccess); - rb.Push(0); - } - ProfileManager& profile_manager; Common::UUID user_id{}; ///< The user id this profile refers to. }; @@ -516,15 +501,7 @@ class IProfileEditor final : public IProfileCommon { public: explicit IProfileEditor(Core::System& system_, Common::UUID user_id_, ProfileManager& profile_manager_) - : IProfileCommon{system_, "IProfileEditor", true, user_id_, profile_manager_} { - // clang-format off - static const FunctionInfo functions[] = { - {30, &IProfileEditor::Unknown, "Unknown"}, - }; - // clang-format on - - RegisterHandlers(functions); - } + : IProfileCommon{system_, "IProfileEditor", true, user_id_, profile_manager_} {} }; class ISessionObject final : public ServiceFramework { @@ -553,7 +530,6 @@ public: {13, nullptr, "GetLinkedNintendoAccountId"}, {14, nullptr, "GetNickname"}, {15, nullptr, "GetProfileImage"}, - {16, nullptr, "GetProfileLargeImage"}, // 18.0.0+ {21, nullptr, "LoadIdTokenCache"}, // 3.0.0+ }; // clang-format on @@ -708,15 +684,8 @@ public: {101, nullptr, "GetLinkedNintendoAccountId"}, {102, nullptr, "GetNickname"}, {103, nullptr, "GetProfileImage"}, - {104, nullptr, "GetProfileLargeImage"}, // 18.0.0+ {110, nullptr, "RegisterUserAsync"}, {111, nullptr, "GetUid"}, - {200, nullptr, "ApplyResponseForUserCreationAsync"}, // 17.0.0+ - {205, nullptr, "SuspendAfterApplyResponse"}, // 17.0.0+ - {210, nullptr, "IsProfileAvailable"}, // 17.0.0+ - {220, nullptr, "RegisterUserAsyncWithoutProfile"}, // 17.0.0+ - {221, nullptr, "RegisterUserWithProfileAsync"}, // 17.0.0+ - {230, nullptr, "RegisterUserWithLargeImageProfileAsync"}, // 18.0.0+ }; // clang-format on diff --git a/src/core/hle/service/acc/profile_manager.cpp b/src/core/hle/service/acc/profile_manager.cpp index e58066a51b..d84bf33c38 100644 --- a/src/core/hle/service/acc/profile_manager.cpp +++ b/src/core/hle/service/acc/profile_manager.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include diff --git a/src/core/hle/service/am/frontend/applet_web_browser.cpp b/src/core/hle/service/am/frontend/applet_web_browser.cpp index 3754bc5c55..d1b65029ac 100644 --- a/src/core/hle/service/am/frontend/applet_web_browser.cpp +++ b/src/core/hle/service/am/frontend/applet_web_browser.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include "common/assert.h" diff --git a/src/core/hle/service/am/process_creation.cpp b/src/core/hle/service/am/process_creation.cpp index e6e2fad2c6..237151d061 100644 --- a/src/core/hle/service/am/process_creation.cpp +++ b/src/core/hle/service/am/process_creation.cpp @@ -106,7 +106,6 @@ std::unique_ptr CreateApplicationProcess(std::vector& out_control, out_control = nacp.GetRawBytes(); } else { out_control.resize(sizeof(FileSys::RawNACP)); - memset(out_control.data(), 0, sizeof(u8) * out_control.size()); } auto& storage = system.GetContentProviderUnion(); diff --git a/src/core/hle/service/am/service/library_applet_accessor.cpp b/src/core/hle/service/am/service/library_applet_accessor.cpp index b7ea464ff2..cda8c3eb87 100644 --- a/src/core/hle/service/am/service/library_applet_accessor.cpp +++ b/src/core/hle/service/am/service/library_applet_accessor.cpp @@ -1,5 +1,4 @@ // SPDX-FileCopyrightText: Copyright 2024 yuzu Emulator Project -// SPDX-FileCopyrightText: Copyright 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include "core/hle/service/am/applet_data_broker.h" @@ -102,22 +101,6 @@ Result ILibraryAppletAccessor::PushInData(SharedPointer storage) { Result ILibraryAppletAccessor::PopOutData(Out> out_storage) { LOG_DEBUG(Service_AM, "called"); - // suyu todo: move library applet fix to another function - // since this function is only called for applets that give a result, - // applets that don't (e.g. info applets in 1st party games) simply freeze - if (auto caller = m_applet->caller_applet.lock(); caller != nullptr) { - caller->SetInteractibleLocked(true); - - caller->lifecycle_manager.SetFocusState(FocusState::InFocus); - caller->lifecycle_manager.UpdateRequestedFocusState(); - - caller->lifecycle_manager.SetResumeNotificationEnabled(true); - caller->lifecycle_manager.RequestResumeNotification(); - caller->UpdateSuspensionStateLocked(true); - } else { - LOG_CRITICAL(Service_AM, "Caller applet pointer is invalid."); - LOG_CRITICAL(Service_AM, "The emulator will freeze!"); - } R_RETURN(m_broker->GetOutData().Pop(out_storage.Get())); } diff --git a/src/core/hle/service/am/service/library_applet_creator.cpp b/src/core/hle/service/am/service/library_applet_creator.cpp index c2d9b43639..3ffb03bc97 100644 --- a/src/core/hle/service/am/service/library_applet_creator.cpp +++ b/src/core/hle/service/am/service/library_applet_creator.cpp @@ -47,6 +47,53 @@ bool ShouldCreateGuestApplet(AppletId applet_id) { return true; } +AppletProgramId AppletIdToProgramId(AppletId applet_id) { + switch (applet_id) { + case AppletId::OverlayDisplay: + return AppletProgramId::OverlayDisplay; + case AppletId::QLaunch: + return AppletProgramId::QLaunch; + case AppletId::Starter: + return AppletProgramId::Starter; + case AppletId::Auth: + return AppletProgramId::Auth; + case AppletId::Cabinet: + return AppletProgramId::Cabinet; + case AppletId::Controller: + return AppletProgramId::Controller; + case AppletId::DataErase: + return AppletProgramId::DataErase; + case AppletId::Error: + return AppletProgramId::Error; + case AppletId::NetConnect: + return AppletProgramId::NetConnect; + case AppletId::ProfileSelect: + return AppletProgramId::ProfileSelect; + case AppletId::SoftwareKeyboard: + return AppletProgramId::SoftwareKeyboard; + case AppletId::MiiEdit: + return AppletProgramId::MiiEdit; + case AppletId::Web: + return AppletProgramId::Web; + case AppletId::Shop: + return AppletProgramId::Shop; + case AppletId::PhotoViewer: + return AppletProgramId::PhotoViewer; + case AppletId::Settings: + return AppletProgramId::Settings; + case AppletId::OfflineWeb: + return AppletProgramId::OfflineWeb; + case AppletId::LoginShare: + return AppletProgramId::LoginShare; + case AppletId::WebAuth: + return AppletProgramId::WebAuth; + case AppletId::MyPage: + return AppletProgramId::MyPage; + default: + return static_cast(0); + } +} + std::shared_ptr CreateGuestApplet(Core::System& system, WindowSystem& window_system, std::shared_ptr caller_applet, @@ -116,53 +163,6 @@ std::shared_ptr CreateFrontendApplet(Core::System& syste } // namespace -AppletProgramId AppletIdToProgramId(AppletId applet_id) { - switch (applet_id) { - case AppletId::OverlayDisplay: - return AppletProgramId::OverlayDisplay; - case AppletId::QLaunch: - return AppletProgramId::QLaunch; - case AppletId::Starter: - return AppletProgramId::Starter; - case AppletId::Auth: - return AppletProgramId::Auth; - case AppletId::Cabinet: - return AppletProgramId::Cabinet; - case AppletId::Controller: - return AppletProgramId::Controller; - case AppletId::DataErase: - return AppletProgramId::DataErase; - case AppletId::Error: - return AppletProgramId::Error; - case AppletId::NetConnect: - return AppletProgramId::NetConnect; - case AppletId::ProfileSelect: - return AppletProgramId::ProfileSelect; - case AppletId::SoftwareKeyboard: - return AppletProgramId::SoftwareKeyboard; - case AppletId::MiiEdit: - return AppletProgramId::MiiEdit; - case AppletId::Web: - return AppletProgramId::Web; - case AppletId::Shop: - return AppletProgramId::Shop; - case AppletId::PhotoViewer: - return AppletProgramId::PhotoViewer; - case AppletId::Settings: - return AppletProgramId::Settings; - case AppletId::OfflineWeb: - return AppletProgramId::OfflineWeb; - case AppletId::LoginShare: - return AppletProgramId::LoginShare; - case AppletId::WebAuth: - return AppletProgramId::WebAuth; - case AppletId::MyPage: - return AppletProgramId::MyPage; - default: - return static_cast(0); - } -} - ILibraryAppletCreator::ILibraryAppletCreator(Core::System& system_, std::shared_ptr applet, WindowSystem& window_system) : ServiceFramework{system_, "ILibraryAppletCreator"}, diff --git a/src/core/hle/service/am/service/library_applet_creator.h b/src/core/hle/service/am/service/library_applet_creator.h index 80ea6bd1af..a10a769828 100644 --- a/src/core/hle/service/am/service/library_applet_creator.h +++ b/src/core/hle/service/am/service/library_applet_creator.h @@ -35,6 +35,4 @@ private: const std::shared_ptr m_applet; }; -AppletProgramId AppletIdToProgramId(AppletId applet_id); - } // namespace Service::AM diff --git a/src/core/hle/service/am/window_system.cpp b/src/core/hle/service/am/window_system.cpp index ca289a84d1..5cf24007cc 100644 --- a/src/core/hle/service/am/window_system.cpp +++ b/src/core/hle/service/am/window_system.cpp @@ -121,7 +121,7 @@ void WindowSystem::RequestAppletVisibilityState(Applet& applet, bool visible) { void WindowSystem::OnOperationModeChanged() { std::scoped_lock lk{m_lock}; - for (const auto& [_, applet] : m_applets) { + for (const auto& [aruid, applet] : m_applets) { std::scoped_lock lk2{applet->lock}; applet->lifecycle_manager.OnOperationAndPerformanceModeChanged(); } @@ -130,7 +130,7 @@ void WindowSystem::OnOperationModeChanged() { void WindowSystem::OnExitRequested() { std::scoped_lock lk{m_lock}; - for (const auto& [_, applet] : m_applets) { + for (const auto& [aruid, applet] : m_applets) { std::scoped_lock lk2{applet->lock}; applet->lifecycle_manager.RequestExit(); } @@ -156,7 +156,7 @@ void WindowSystem::OnHomeButtonPressed(ButtonPressDuration type) { void WindowSystem::PruneTerminatedAppletsLocked() { for (auto it = m_applets.begin(); it != m_applets.end(); /* ... */) { - const auto& [_, applet] = *it; + const auto& [aruid, applet] = *it; std::scoped_lock lk{applet->lock}; diff --git a/src/core/hle/service/audio/audio_device.cpp b/src/core/hle/service/audio/audio_device.cpp index d3b104f710..438f3cccdf 100644 --- a/src/core/hle/service/audio/audio_device.cpp +++ b/src/core/hle/service/audio/audio_device.cpp @@ -27,15 +27,8 @@ IAudioDevice::IAudioDevice(Core::System& system_, u64 applet_resource_user_id, u {10, D<&IAudioDevice::GetActiveAudioDeviceNameAuto>, "GetActiveAudioDeviceNameAuto"}, {11, D<&IAudioDevice::QueryAudioDeviceInputEvent>, "QueryAudioDeviceInputEvent"}, {12, D<&IAudioDevice::QueryAudioDeviceOutputEvent>, "QueryAudioDeviceOutputEvent"}, - {13, D<&IAudioDevice::GetActiveAudioDeviceName>, - "GetActiveAudioOutputDeviceName"}, // 13.0.0+ - {14, D<&IAudioDevice::ListAudioOutputDeviceName>, "ListAudioOutputDeviceName"}, // 13.0.0+ - {15, nullptr, "AcquireAudioInputDeviceNotification"}, // 17.0.0+ - {16, nullptr, "ReleaseAudioInputDeviceNotification"}, // 17.0.0+ - {17, nullptr, "AcquireAudioOutputDeviceNotification"}, // 17.0.0+ - {18, nullptr, "ReleaseAudioOutputDeviceNotification"}, // 17.0.0+ - {19, nullptr, "SetAudioDeviceOutputVolumeAutoTuneEnabled"}, // 18.0.0+ - {20, nullptr, "IsAudioDeviceOutputVolumeAutoTuneEnabled"} // 18.0.0+ + {13, D<&IAudioDevice::GetActiveAudioDeviceName>, "GetActiveAudioOutputDeviceName"}, + {14, D<&IAudioDevice::ListAudioOutputDeviceName>, "ListAudioOutputDeviceName"}, }; RegisterHandlers(functions); diff --git a/src/core/hle/service/caps/caps_manager.cpp b/src/core/hle/service/caps/caps_manager.cpp index 2c414b881c..093447ff6a 100644 --- a/src/core/hle/service/caps/caps_manager.cpp +++ b/src/core/hle/service/caps/caps_manager.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include diff --git a/src/core/hle/service/filesystem/filesystem.cpp b/src/core/hle/service/filesystem/filesystem.cpp index 9dcfebd977..99435a1d9c 100644 --- a/src/core/hle/service/filesystem/filesystem.cpp +++ b/src/core/hle/service/filesystem/filesystem.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include diff --git a/src/core/hle/service/filesystem/fsp/fsp_srv.cpp b/src/core/hle/service/filesystem/fsp/fsp_srv.cpp index ed503d5d6a..2bc6361bb7 100644 --- a/src/core/hle/service/filesystem/fsp/fsp_srv.cpp +++ b/src/core/hle/service/filesystem/fsp/fsp_srv.cpp @@ -53,7 +53,7 @@ FSP_SRV::FSP_SRV(Core::System& system_) {1, D<&FSP_SRV::SetCurrentProcess>, "SetCurrentProcess"}, {2, nullptr, "OpenDataFileSystemByCurrentProcess"}, {7, D<&FSP_SRV::OpenFileSystemWithPatch>, "OpenFileSystemWithPatch"}, - {8, nullptr, "OpenFileSystemWithIdObsolete"}, // 16.0.0+, OpenFileSystemWithId 2.0.0-15.0.1 + {8, nullptr, "OpenFileSystemWithId"}, {9, nullptr, "OpenDataFileSystemByApplicationId"}, {11, nullptr, "OpenBisFileSystem"}, {12, nullptr, "OpenBisStorage"}, @@ -169,7 +169,6 @@ FSP_SRV::FSP_SRV(Core::System& system_) {1018, nullptr, "SetDebugOption"}, {1019, nullptr, "UnsetDebugOption"}, {1100, nullptr, "OverrideSaveDataTransferTokenSignVerificationKey"}, - {1101, nullptr, "OverrideSaveDataTransferKeyForTest"}, // 18.0.0+ {1110, nullptr, "CorruptSaveDataFileSystemBySaveDataSpaceId2"}, {1200, D<&FSP_SRV::OpenMultiCommitManager>, "OpenMultiCommitManager"}, {1300, nullptr, "OpenBisWiper"}, diff --git a/src/core/hle/service/jit/jit_code_memory.h b/src/core/hle/service/jit/jit_code_memory.h index 87c9021f57..c7e961deb7 100644 --- a/src/core/hle/service/jit/jit_code_memory.h +++ b/src/core/hle/service/jit/jit_code_memory.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once diff --git a/src/core/hle/service/ldn/lan_discovery.cpp b/src/core/hle/service/ldn/lan_discovery.cpp index e947a3c2a0..b9db19618a 100644 --- a/src/core/hle/service/ldn/lan_discovery.cpp +++ b/src/core/hle/service/ldn/lan_discovery.cpp @@ -119,7 +119,7 @@ Result LANDiscovery::Scan(std::span out_networks, s16& out_count, std::this_thread::sleep_for(std::chrono::seconds(1)); std::scoped_lock lock{packet_mutex}; - for (const auto& [_, info] : scan_results) { + for (const auto& [key, info] : scan_results) { if (out_count >= static_cast(out_networks.size())) { break; } diff --git a/src/core/hle/service/ldn/lan_discovery.h b/src/core/hle/service/ldn/lan_discovery.h index 30524d9180..0a376ce4f9 100644 --- a/src/core/hle/service/ldn/lan_discovery.h +++ b/src/core/hle/service/ldn/lan_discovery.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2022 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2022 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once diff --git a/src/core/hle/service/ldn/ldn.cpp b/src/core/hle/service/ldn/ldn.cpp index 1b0148fda0..f2d638c30e 100644 --- a/src/core/hle/service/ldn/ldn.cpp +++ b/src/core/hle/service/ldn/ldn.cpp @@ -40,7 +40,6 @@ public: // clang-format off static const FunctionInfo functions[] = { {0, C<&ISystemServiceCreator::CreateSystemLocalCommunicationService>, "CreateSystemLocalCommunicationService"}, - {1, nullptr, "CreateClientProcessMonitor"} // 18.0.0+ }; // clang-format on @@ -63,7 +62,6 @@ public: // clang-format off static const FunctionInfo functions[] = { {0, C<&IUserServiceCreator::CreateUserLocalCommunicationService>, "CreateUserLocalCommunicationService"}, - {1, nullptr, "CreateClientProcessMonitor"}, // 18.0.0+ }; // clang-format on diff --git a/src/core/hle/service/ldn/system_local_communication_service.cpp b/src/core/hle/service/ldn/system_local_communication_service.cpp index fc283da4cf..7b52223cdc 100644 --- a/src/core/hle/service/ldn/system_local_communication_service.cpp +++ b/src/core/hle/service/ldn/system_local_communication_service.cpp @@ -40,13 +40,6 @@ ISystemLocalCommunicationService::ISystemLocalCommunicationService(Core::System& {401, nullptr, "FinalizeSystem"}, {402, nullptr, "SetOperationMode"}, {403, C<&ISystemLocalCommunicationService::InitializeSystem2>, "InitializeSystem2"}, - {500, nullptr, "EnableActionFrame"}, // 18.0.0+ - {501, nullptr, "DisableActionFrame"}, // 18.0.0+ - {502, nullptr, "SendActionFrame"}, // 18.0.0+ - {503, nullptr, "RecvActionFrame"}, // 18.0.0+ - {505, nullptr, "SetHomeChannel"}, // 18.0.0+ - {600, nullptr, "SetTxPower"}, // 18.0.0+ - {601, nullptr, "ResetTxPower"} // 18.0.0+ }; // clang-format on diff --git a/src/core/hle/service/ldn/user_local_communication_service.cpp b/src/core/hle/service/ldn/user_local_communication_service.cpp index 8e559f4400..f28368962f 100644 --- a/src/core/hle/service/ldn/user_local_communication_service.cpp +++ b/src/core/hle/service/ldn/user_local_communication_service.cpp @@ -53,14 +53,7 @@ IUserLocalCommunicationService::IUserLocalCommunicationService(Core::System& sys {304, C<&IUserLocalCommunicationService::Disconnect>, "Disconnect"}, {400, C<&IUserLocalCommunicationService::Initialize>, "Initialize"}, {401, C<&IUserLocalCommunicationService::Finalize>, "Finalize"}, - {402, C<&IUserLocalCommunicationService::Initialize2>, "Initialize2"}, // 7.0.0+ - {500, nullptr, "EnableActionFrame"}, // 18.0.0+ - {501, nullptr, "DisableActionFrame"}, // 18.0.0+ - {502, nullptr, "SendActionFrame"}, // 18.0.0+ - {503, nullptr, "RecvActionFrame"}, // 18.0.0+ - {505, nullptr, "SetHomeChannel"}, // 18.0.0+ - {600, nullptr, "SetTxPower"}, // 18.0.0+ - {601, nullptr, "ResetTxPower"} // 18.0.0+ + {402, C<&IUserLocalCommunicationService::Initialize2>, "Initialize2"}, }; // clang-format on diff --git a/src/core/hle/service/mii/mii_database_manager.cpp b/src/core/hle/service/mii/mii_database_manager.cpp index a1d69cb619..ffaa886f8b 100644 --- a/src/core/hle/service/mii/mii_database_manager.cpp +++ b/src/core/hle/service/mii/mii_database_manager.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include "common/assert.h" diff --git a/src/core/hle/service/nfc/common/amiibo_crypto.cpp b/src/core/hle/service/nfc/common/amiibo_crypto.cpp index b84c3eceb5..c627a06b49 100644 --- a/src/core/hle/service/nfc/common/amiibo_crypto.cpp +++ b/src/core/hle/service/nfc/common/amiibo_crypto.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2022 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2022 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-3.0-or-later // SPDX-FileCopyrightText: Copyright 2017 socram8888/amiitool diff --git a/src/core/hle/service/nfc/common/device.cpp b/src/core/hle/service/nfc/common/device.cpp index 652dff0457..b646e82c61 100644 --- a/src/core/hle/service/nfc/common/device.cpp +++ b/src/core/hle/service/nfc/common/device.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2022 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2022 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include "core/hle/service/glue/time/static.h" @@ -15,7 +15,6 @@ #endif #include -#include #include "common/fs/file.h" #include "common/fs/fs.h" diff --git a/src/core/hle/service/nifm/nifm.cpp b/src/core/hle/service/nifm/nifm.cpp index c9997c745e..2202e3d899 100644 --- a/src/core/hle/service/nifm/nifm.cpp +++ b/src/core/hle/service/nifm/nifm.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include "core/core.h" diff --git a/src/core/hle/service/npns/npns.cpp b/src/core/hle/service/npns/npns.cpp index 0c6ba14b4e..e54827efef 100644 --- a/src/core/hle/service/npns/npns.cpp +++ b/src/core/hle/service/npns/npns.cpp @@ -24,44 +24,26 @@ public: {4, nullptr, "ReceiveRaw"}, {5, C<&INpnsSystem::GetReceiveEvent>, "GetReceiveEvent"}, {6, nullptr, "ListenUndelivered"}, - {7, nullptr, "GetStateChangeEvent"}, - {8, nullptr, "ListenToByName"}, // 18.0.0+ + {7, nullptr, "GetStateChangeEVent"}, {11, nullptr, "SubscribeTopic"}, {12, nullptr, "UnsubscribeTopic"}, {13, nullptr, "QueryIsTopicExist"}, - {14, nullptr, "SubscribeTopicByAccount"}, // 18.0.0+ - {15, nullptr, "UnsubscribeTopicByAccount"}, // 18.0.0+ - {16, nullptr, "DownloadSubscriptionList"}, // 18.0.0+ {21, nullptr, "CreateToken"}, {22, nullptr, "CreateTokenWithApplicationId"}, {23, nullptr, "DestroyToken"}, {24, nullptr, "DestroyTokenWithApplicationId"}, {25, nullptr, "QueryIsTokenValid"}, {26, nullptr, "ListenToMyApplicationId"}, - {27, nullptr, "DestroyTokenAll"}, // 13.0.0+ - {28, nullptr, "CreateTokenWithName"}, // 18.0.0+ - {29, nullptr, "DestroyTokenWithName"}, // 18.0.0+ + {27, nullptr, "DestroyTokenAll"}, {31, nullptr, "UploadTokenToBaaS"}, {32, nullptr, "DestroyTokenForBaaS"}, {33, nullptr, "CreateTokenForBaaS"}, {34, nullptr, "SetBaaSDeviceAccountIdList"}, - {35, nullptr, "LinkNsaId"}, // 17.0.0+ - {36, nullptr, "UnlinkNsaId"}, // 17.0.0+ - {37, nullptr, "RelinkNsaId"}, // 18.0.0+ - {40, nullptr, "GetNetworkServiceAccountIdTokenRequestEvent"}, // 17.0.0+ - {41, nullptr, "TryPopNetworkServiceAccountIdTokenRequestUid"}, // 17.0.0+ - {42, nullptr, "SetNetworkServiceAccountIdTokenSuccess"}, // 17.0.0+ - {43, nullptr, "SetNetworkServiceAccountIdTokenFailure"}, // 17.0.0+ - {44, nullptr, "SetUidList"}, // 17.0.0+ - {45, nullptr, "PutDigitalTwinKeyValue"}, // 17.0.0+ - {51, nullptr, "DeleteDigitalTwinKeyValue"}, // 18.0.0+ {101, nullptr, "Suspend"}, {102, nullptr, "Resume"}, {103, nullptr, "GetState"}, {104, nullptr, "GetStatistics"}, {105, nullptr, "GetPlayReportRequestEvent"}, - {106, nullptr, "GetLastNotifiedTime"}, - {107, nullptr, "SetLastNotifiedTime"}, {111, nullptr, "GetJid"}, {112, nullptr, "CreateJid"}, {113, nullptr, "DestroyJid"}, @@ -73,17 +55,10 @@ public: {153, nullptr, "GetDropEventWithHandover"}, {154, nullptr, "CreateTokenAsync"}, {155, nullptr, "CreateTokenAsyncWithApplicationId"}, - {156, nullptr, "CreateTokenWithNameAsync"}, // 18.0.0+ - {161, nullptr, "GetRequestChangeStateCancelEvent"}, // 10.0.0+ - {162, nullptr, "RequestChangeStateForceTimedWithCancelEvent"}, // 10.0.0+ - {201, nullptr, "RequestChangeStateForceTimed"}, // 3.0.0+ - {202, nullptr, "RequestChangeStateForceAsync"}, // 3.0.0+ - {301, nullptr, "GetPassword"}, // 18.0.0+ - {302, nullptr, "GetAllImmigration"}, // 18.0.0+ - {303, nullptr, "GetNotificationHistories"}, // 18.0.0+ - {304, nullptr, "GetPersistentConnectionSummary"}, // 18.0.0+ - {305, nullptr, "GetDigitalTwinSummary"}, // 18.0.0+ - {306, nullptr, "GetDigitalTwinValue"}, // 18.0.0+ + {161, nullptr, "GetRequestChangeStateCancelEvent"}, + {162, nullptr, "RequestChangeStateForceTimedWithCancelEvent"}, + {201, nullptr, "RequestChangeStateForceTimed"}, + {202, nullptr, "RequestChangeStateForceAsync"}, }; // clang-format on @@ -123,8 +98,7 @@ public: {3, nullptr, "Receive"}, {4, nullptr, "ReceiveRaw"}, {5, nullptr, "GetReceiveEvent"}, - {7, nullptr, "GetStateChangeEvent"}, - {8, nullptr, "ListenToByName"}, // 18.0.0+ + {7, nullptr, "GetStateChangeEVent"}, {21, nullptr, "CreateToken"}, {23, nullptr, "DestroyToken"}, {25, nullptr, "QueryIsTokenValid"}, diff --git a/src/core/hle/service/ns/application_manager_interface.cpp b/src/core/hle/service/ns/application_manager_interface.cpp index df0bd8acce..7a91727f97 100644 --- a/src/core/hle/service/ns/application_manager_interface.cpp +++ b/src/core/hle/service/ns/application_manager_interface.cpp @@ -348,7 +348,7 @@ Result IApplicationManagerInterface::ListApplicationRecord( size_t i = 0; u8 ii = 24; - for (const auto& [_, game] : installed_games) { + for (const auto& [slot, game] : installed_games) { if (i >= limit) { break; } diff --git a/src/core/hle/service/nvdrv/core/nvmap.cpp b/src/core/hle/service/nvdrv/core/nvmap.cpp index 72d0087cd5..08ff1a21ce 100644 --- a/src/core/hle/service/nvdrv/core/nvmap.cpp +++ b/src/core/hle/service/nvdrv/core/nvmap.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2022 yuzu Emulator Project +// SPDX-FileCopyrightText: 2022 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-FileCopyrightText: 2022 Skyline Team and Contributors // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/core/hle/service/nvdrv/devices/nvhost_as_gpu.cpp b/src/core/hle/service/nvdrv/devices/nvhost_as_gpu.cpp index ef6c78f1c3..f3e97bd75b 100644 --- a/src/core/hle/service/nvdrv/devices/nvhost_as_gpu.cpp +++ b/src/core/hle/service/nvdrv/devices/nvhost_as_gpu.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2021 yuzu Emulator Project +// SPDX-FileCopyrightText: 2021 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-FileCopyrightText: 2021 Skyline Team and Contributors // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/core/hle/service/nvdrv/devices/nvhost_as_gpu.h b/src/core/hle/service/nvdrv/devices/nvhost_as_gpu.h index c11bd7e9b7..8ac14b29f1 100644 --- a/src/core/hle/service/nvdrv/devices/nvhost_as_gpu.h +++ b/src/core/hle/service/nvdrv/devices/nvhost_as_gpu.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2021 yuzu Emulator Project +// SPDX-FileCopyrightText: 2021 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-FileCopyrightText: 2021 Skyline Team and Contributors // SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/core/hle/service/nvdrv/devices/nvmap.cpp b/src/core/hle/service/nvdrv/devices/nvmap.cpp index 70897fdaaf..b0b115a1b9 100644 --- a/src/core/hle/service/nvdrv/devices/nvmap.cpp +++ b/src/core/hle/service/nvdrv/devices/nvmap.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include diff --git a/src/core/hle/service/pctl/parental_control_service.cpp b/src/core/hle/service/pctl/parental_control_service.cpp index 664d9c1fd8..f57f2f1577 100644 --- a/src/core/hle/service/pctl/parental_control_service.cpp +++ b/src/core/hle/service/pctl/parental_control_service.cpp @@ -86,7 +86,6 @@ IParentalControlService::IParentalControlService(Core::System& system_, Capabili {1472, nullptr, "CancelNetworkRequest"}, {1473, D<&IParentalControlService::GetUnlinkedEvent>, "GetUnlinkedEvent"}, {1474, nullptr, "ClearUnlinkedEvent"}, - {1475, nullptr, "GetExtendedPlayTimerEvent"}, // 18.0.0+ {1601, nullptr, "DisableAllFeatures"}, {1602, nullptr, "PostEnableAllFeatures"}, {1603, nullptr, "IsAllFeaturesDisabled"}, @@ -102,10 +101,6 @@ IParentalControlService::IParentalControlService(Core::System& system_, Capabili {1951, nullptr, "SetPlayTimerSettingsForDebug"}, {1952, nullptr, "GetPlayTimerSpentTimeForTest"}, {1953, nullptr, "SetPlayTimerAlarmDisabledForDebug"}, - {1954, nullptr, "IsBedtimeAlarmEnabled"}, // 18.0.0+ - {1955, nullptr, "GetBedtimeAlarmTime"}, // 18.0.0+ - {1956, nullptr, "GetBedtimeAlarmTimeHour"}, // 18.0.0+ - {1967, nullptr, "GetBedtimeAlarmMinute"}, // 18.0.0+ {2001, nullptr, "RequestPairingAsync"}, {2002, nullptr, "FinishRequestPairing"}, {2003, nullptr, "AuthorizePairingAsync"}, @@ -122,8 +117,6 @@ IParentalControlService::IParentalControlService(Core::System& system_, Capabili {2014, nullptr, "FinishSynchronizeParentalControlSettings"}, {2015, nullptr, "FinishSynchronizeParentalControlSettingsWithLastUpdated"}, {2016, nullptr, "RequestUpdateExemptionListAsync"}, - {145601, nullptr, "GetPlayTimerSettingsVer2"}, // 18.0.0+ - {195101, nullptr, "SetPlayTimerSettingsForDebugVer2"}, // 18.0.0+ }; // clang-format on RegisterHandlers(functions); diff --git a/src/core/hle/service/psc/time/common.h b/src/core/hle/service/psc/time/common.h index 5474e5a0c9..3e13144a0d 100644 --- a/src/core/hle/service/psc/time/common.h +++ b/src/core/hle/service/psc/time/common.h @@ -167,7 +167,7 @@ constexpr inline Result GetSpanBetweenTimePoints(s64* out_seconds, const SteadyC template <> struct fmt::formatter : fmt::formatter { template - auto format(Service::PSC::Time::TimeType type, FormatContext& ctx) const { + auto format(Service::PSC::Time::TimeType type, FormatContext& ctx) { const string_view name = [type] { using Service::PSC::Time::TimeType; switch (type) { @@ -270,4 +270,4 @@ struct fmt::formatter time_point.rtc_offset, time_point.diff_scale, time_point.shift_amount, time_point.lower, time_point.upper); } -}; +}; \ No newline at end of file diff --git a/src/core/hle/service/ro/ro.cpp b/src/core/hle/service/ro/ro.cpp index 5c04297b69..68f8a34588 100644 --- a/src/core/hle/service/ro/ro.cpp +++ b/src/core/hle/service/ro/ro.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include diff --git a/src/core/hle/service/set/system_settings_server.cpp b/src/core/hle/service/set/system_settings_server.cpp index 6dd432ba99..254fdd2e96 100644 --- a/src/core/hle/service/set/system_settings_server.cpp +++ b/src/core/hle/service/set/system_settings_server.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include diff --git a/src/core/hle/service/sm/sm.cpp b/src/core/hle/service/sm/sm.cpp index 2cf12aba52..1095dcf6c3 100644 --- a/src/core/hle/service/sm/sm.cpp +++ b/src/core/hle/service/sm/sm.cpp @@ -28,7 +28,7 @@ ServiceManager::ServiceManager(Kernel::KernelCore& kernel_) : kernel{kernel_} { } ServiceManager::~ServiceManager() { - for (auto& [_, port] : service_ports) { + for (auto& [name, port] : service_ports) { port->Close(); } diff --git a/src/core/hle/service/ssl/ssl.cpp b/src/core/hle/service/ssl/ssl.cpp index 37105d74b7..008ee44923 100644 --- a/src/core/hle/service/ssl/ssl.cpp +++ b/src/core/hle/service/ssl/ssl.cpp @@ -507,11 +507,7 @@ public: {6, nullptr, "FlushSessionCache"}, {7, nullptr, "SetDebugOption"}, {8, nullptr, "GetDebugOption"}, - {9, nullptr, "ClearTls12FallbackFlag"}, - {100, nullptr, "CreateContextForSystem"}, - {101, nullptr, "SetThreadCoreMask"}, - {102, nullptr, "GetThreadCoreMask"}, - {103, nullptr, "VerifySignature"}, // 18.0.0+ + {8, nullptr, "ClearTls12FallbackFlag"}, }; // clang-format on diff --git a/src/core/hle/service/ssl/ssl_backend_schannel.cpp b/src/core/hle/service/ssl/ssl_backend_schannel.cpp index 7c58399495..c4085b02af 100644 --- a/src/core/hle/service/ssl/ssl_backend_schannel.cpp +++ b/src/core/hle/service/ssl/ssl_backend_schannel.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include diff --git a/src/core/hle/service/ssl/ssl_backend_securetransport.cpp b/src/core/hle/service/ssl/ssl_backend_securetransport.cpp index dd23c4f6cf..dc25304062 100644 --- a/src/core/hle/service/ssl/ssl_backend_securetransport.cpp +++ b/src/core/hle/service/ssl/ssl_backend_securetransport.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include diff --git a/src/core/hle/service/vi/shared_buffer_manager.cpp b/src/core/hle/service/vi/shared_buffer_manager.cpp index 0cd185b709..8c1acc7b97 100644 --- a/src/core/hle/service/vi/shared_buffer_manager.cpp +++ b/src/core/hle/service/vi/shared_buffer_manager.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include diff --git a/src/core/internal_network/network.cpp b/src/core/internal_network/network.cpp index 4413866f81..ef2392132f 100644 --- a/src/core/internal_network/network.cpp +++ b/src/core/internal_network/network.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include diff --git a/src/core/internal_network/network.h b/src/core/internal_network/network.h index 9cafe89713..ff636a4812 100644 --- a/src/core/internal_network/network.h +++ b/src/core/internal_network/network.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once diff --git a/src/core/internal_network/socket_proxy.cpp b/src/core/internal_network/socket_proxy.cpp index a868a3febe..dbeb754e87 100644 --- a/src/core/internal_network/socket_proxy.cpp +++ b/src/core/internal_network/socket_proxy.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2022 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2022 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include diff --git a/src/core/internal_network/sockets.h b/src/core/internal_network/sockets.h index 17e2645ac3..7f026c6054 100644 --- a/src/core/internal_network/sockets.h +++ b/src/core/internal_network/sockets.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once diff --git a/src/core/loader/kip.cpp b/src/core/loader/kip.cpp index 1a435b2a23..2aa2adda3d 100644 --- a/src/core/loader/kip.cpp +++ b/src/core/loader/kip.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2019 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2019 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include diff --git a/src/core/loader/loader.h b/src/core/loader/loader.h index d597d101a1..3460a5bf9d 100644 --- a/src/core/loader/loader.h +++ b/src/core/loader/loader.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once diff --git a/src/core/loader/nro.cpp b/src/core/loader/nro.cpp index ed5c303a04..04f6bb613e 100644 --- a/src/core/loader/nro.cpp +++ b/src/core/loader/nro.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include diff --git a/src/core/loader/nso.cpp b/src/core/loader/nso.cpp index bc11a1fab2..e2d97ad1b4 100644 --- a/src/core/loader/nso.cpp +++ b/src/core/loader/nso.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include diff --git a/src/core/memory.cpp b/src/core/memory.cpp index f7eae9c598..e50543fcf5 100644 --- a/src/core/memory.cpp +++ b/src/core/memory.cpp @@ -1,5 +1,5 @@ // SPDX-FileCopyrightText: 2015 Citra Emulator Project -// SPDX-FileCopyrightText: 2018 yuzu Emulator Project +// SPDX-FileCopyrightText: 2018 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include diff --git a/src/core/memory.h b/src/core/memory.h index 24710d27ea..5de20d37fa 100644 --- a/src/core/memory.h +++ b/src/core/memory.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2014 Citra Emulator Project +// SPDX-FileCopyrightText: 2014 Citra Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once diff --git a/src/core/perf_stats.cpp b/src/core/perf_stats.cpp index 1f5822bb61..980efec1d4 100644 --- a/src/core/perf_stats.cpp +++ b/src/core/perf_stats.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2017 Citra Emulator Project +// SPDX-FileCopyrightText: 2017 Citra Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include diff --git a/src/core/reporter.cpp b/src/core/reporter.cpp index b9da5ea68e..d89967e2e6 100644 --- a/src/core/reporter.cpp +++ b/src/core/reporter.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2019 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2019 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include diff --git a/src/dedicated_room/CMakeLists.txt b/src/dedicated_room/CMakeLists.txt index 25cc9cca95..c535212425 100644 --- a/src/dedicated_room/CMakeLists.txt +++ b/src/dedicated_room/CMakeLists.txt @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2017 Citra Emulator Project +# SPDX-FileCopyrightText: 2017 Citra Emulator Project & 2024 suyu Emulator Project # SPDX-License-Identifier: GPL-2.0-or-later add_executable(suyu-room diff --git a/src/dedicated_room/suyu_room.cpp b/src/dedicated_room/suyu_room.cpp index b80ee912eb..cd21e4d22b 100644 --- a/src/dedicated_room/suyu_room.cpp +++ b/src/dedicated_room/suyu_room.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2017 Citra Emulator Project +// SPDX-FileCopyrightText: Copyright 2017 Citra Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include diff --git a/src/dedicated_room/suyu_room.rc b/src/dedicated_room/suyu_room.rc index 6a2b842a33..214792df92 100644 --- a/src/dedicated_room/suyu_room.rc +++ b/src/dedicated_room/suyu_room.rc @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2017 Citra Emulator Project +// SPDX-FileCopyrightText: 2017 Citra Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include "winresrc.h" diff --git a/src/frontend_common/config.cpp b/src/frontend_common/config.cpp index ccbab0291a..9fe408e5e3 100644 --- a/src/frontend_common/config.cpp +++ b/src/frontend_common/config.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include diff --git a/src/hid_core/frontend/emulated_console.h b/src/hid_core/frontend/emulated_console.h index 9f31926ddf..5ea2093949 100644 --- a/src/hid_core/frontend/emulated_console.h +++ b/src/hid_core/frontend/emulated_console.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once diff --git a/src/hid_core/frontend/emulated_controller.cpp b/src/hid_core/frontend/emulated_controller.cpp index 261ca1d3b8..9aa08d5cc9 100644 --- a/src/hid_core/frontend/emulated_controller.cpp +++ b/src/hid_core/frontend/emulated_controller.cpp @@ -762,8 +762,6 @@ void EmulatedController::StartMotionCalibration() { void EmulatedController::SetButton(const Common::Input::CallbackStatus& callback, std::size_t index, Common::UUID uuid) { - const auto player_index = Service::HID::NpadIdTypeToIndex(npad_id_type); - const auto& player = Settings::values.players.GetValue()[player_index]; if (index >= controller.button_values.size()) { return; } @@ -919,8 +917,13 @@ void EmulatedController::SetButton(const Common::Input::CallbackStatus& callback lock.unlock(); - if (player.connected) { - Connect(); + if (!is_connected) { + if (npad_id_type == NpadIdType::Player1 && npad_type != NpadStyleIndex::Handheld) { + Connect(); + } + if (npad_id_type == NpadIdType::Handheld && npad_type == NpadStyleIndex::Handheld) { + Connect(); + } } TriggerOnChange(ControllerTriggerType::Button, true); } diff --git a/src/hid_core/frontend/emulated_controller.h b/src/hid_core/frontend/emulated_controller.h index b7263a93e3..fbe83dd48e 100644 --- a/src/hid_core/frontend/emulated_controller.h +++ b/src/hid_core/frontend/emulated_controller.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once diff --git a/src/hid_core/frontend/emulated_devices.h b/src/hid_core/frontend/emulated_devices.h index 648eb64f6b..8ec58c1603 100644 --- a/src/hid_core/frontend/emulated_devices.h +++ b/src/hid_core/frontend/emulated_devices.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once diff --git a/src/hid_core/hid_core.h b/src/hid_core/hid_core.h index e11c8bcfce..aa9ff5d7a0 100644 --- a/src/hid_core/hid_core.h +++ b/src/hid_core/hid_core.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once diff --git a/src/input_common/drivers/android.cpp b/src/input_common/drivers/android.cpp index 1edc0e01c3..bd80e605ba 100644 --- a/src/input_common/drivers/android.cpp +++ b/src/input_common/drivers/android.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2024 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2024 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-3.0-or-later #include diff --git a/src/input_common/drivers/sdl_driver.cpp b/src/input_common/drivers/sdl_driver.cpp index 20aecf4c76..eea607b66d 100644 --- a/src/input_common/drivers/sdl_driver.cpp +++ b/src/input_common/drivers/sdl_driver.cpp @@ -571,7 +571,7 @@ SDLDriver::~SDLDriver() { std::vector SDLDriver::GetInputDevices() const { std::vector devices; std::unordered_map> joycon_pairs; - for (const auto& [_, value] : joystick_map) { + for (const auto& [key, value] : joystick_map) { for (const auto& joystick : value) { if (!joystick->GetSDLJoystick()) { continue; @@ -591,7 +591,7 @@ std::vector SDLDriver::GetInputDevices() const { } // Add dual controllers - for (const auto& [_, value] : joystick_map) { + for (const auto& [key, value] : joystick_map) { for (const auto& joystick : value) { if (joystick->IsJoyconRight()) { if (!joycon_pairs.contains(joystick->GetPort())) { diff --git a/src/input_common/drivers/tas_input.cpp b/src/input_common/drivers/tas_input.cpp index 58a5484b46..93e17de27a 100644 --- a/src/input_common/drivers/tas_input.cpp +++ b/src/input_common/drivers/tas_input.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include diff --git a/src/network/room.cpp b/src/network/room.cpp index 7e65d43075..4618e23a68 100644 --- a/src/network/room.cpp +++ b/src/network/room.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2017 Citra Emulator Project +// SPDX-FileCopyrightText: Copyright 2017 Citra Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include diff --git a/src/network/room.h b/src/network/room.h index 92dc1ff81c..26a105b154 100644 --- a/src/network/room.h +++ b/src/network/room.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2017 Citra Emulator Project +// SPDX-FileCopyrightText: Copyright 2017 Citra Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once diff --git a/src/network/verify_user.h b/src/network/verify_user.h index 524c1f8d0e..9d10e7169b 100644 --- a/src/network/verify_user.h +++ b/src/network/verify_user.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2018 Citra Emulator Project +// SPDX-FileCopyrightText: Copyright 2018 Citra Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once diff --git a/src/shader_recompiler/backend/glasm/emit_glasm_context_get_set.cpp b/src/shader_recompiler/backend/glasm/emit_glasm_context_get_set.cpp index 480649cc82..c7d7d5fefb 100644 --- a/src/shader_recompiler/backend/glasm/emit_glasm_context_get_set.cpp +++ b/src/shader_recompiler/backend/glasm/emit_glasm_context_get_set.cpp @@ -1,5 +1,4 @@ // SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project -// SPDX-FileCopyrightText: 2024 sudachi Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include @@ -8,7 +7,6 @@ #include "shader_recompiler/backend/glasm/glasm_emit_context.h" #include "shader_recompiler/frontend/ir/value.h" #include "shader_recompiler/profile.h" -#include "shader_recompiler/runtime_info.h" #include "shader_recompiler/shader_info.h" namespace Shader::Backend::GLASM { @@ -408,10 +406,6 @@ void EmitInvocationInfo(EmitContext& ctx, IR::Inst& inst) { case Stage::TessellationEval: ctx.Add("SHL.U {}.x,primitive.vertexcount,16;", inst); break; - case Stage::Geometry: - ctx.Add("SHL.U {}.x,{},16;", inst, - InputTopologyVertices::vertices(ctx.runtime_info.input_topology)); - break; default: LOG_WARNING(Shader, "(STUBBED) called"); ctx.Add("MOV.S {}.x,0x00ff0000;", inst); diff --git a/src/shader_recompiler/backend/glasm/reg_alloc.h b/src/shader_recompiler/backend/glasm/reg_alloc.h index 207a075f19..bd6e2d929c 100644 --- a/src/shader_recompiler/backend/glasm/reg_alloc.h +++ b/src/shader_recompiler/backend/glasm/reg_alloc.h @@ -184,7 +184,7 @@ struct fmt::formatter { return ctx.begin(); } template - auto format(Shader::Backend::GLASM::Id id, FormatContext& ctx) const { + auto format(Shader::Backend::GLASM::Id id, FormatContext& ctx) { return Shader::Backend::GLASM::FormatTo(ctx, id); } }; @@ -195,7 +195,7 @@ struct fmt::formatter { return ctx.begin(); } template - auto format(const Shader::Backend::GLASM::Register& value, FormatContext& ctx) const { + auto format(const Shader::Backend::GLASM::Register& value, FormatContext& ctx) { if (value.type != Shader::Backend::GLASM::Type::Register) { throw Shader::InvalidArgument("Register value type is not register"); } @@ -209,7 +209,7 @@ struct fmt::formatter { return ctx.begin(); } template - auto format(const Shader::Backend::GLASM::ScalarRegister& value, FormatContext& ctx) const { + auto format(const Shader::Backend::GLASM::ScalarRegister& value, FormatContext& ctx) { if (value.type != Shader::Backend::GLASM::Type::Register) { throw Shader::InvalidArgument("Register value type is not register"); } @@ -223,7 +223,7 @@ struct fmt::formatter { return ctx.begin(); } template - auto format(const Shader::Backend::GLASM::ScalarU32& value, FormatContext& ctx) const { + auto format(const Shader::Backend::GLASM::ScalarU32& value, FormatContext& ctx) { switch (value.type) { case Shader::Backend::GLASM::Type::Void: break; @@ -244,7 +244,7 @@ struct fmt::formatter { return ctx.begin(); } template - auto format(const Shader::Backend::GLASM::ScalarS32& value, FormatContext& ctx) const { + auto format(const Shader::Backend::GLASM::ScalarS32& value, FormatContext& ctx) { switch (value.type) { case Shader::Backend::GLASM::Type::Void: break; @@ -265,7 +265,7 @@ struct fmt::formatter { return ctx.begin(); } template - auto format(const Shader::Backend::GLASM::ScalarF32& value, FormatContext& ctx) const { + auto format(const Shader::Backend::GLASM::ScalarF32& value, FormatContext& ctx) { switch (value.type) { case Shader::Backend::GLASM::Type::Void: break; @@ -286,7 +286,7 @@ struct fmt::formatter { return ctx.begin(); } template - auto format(const Shader::Backend::GLASM::ScalarF64& value, FormatContext& ctx) const { + auto format(const Shader::Backend::GLASM::ScalarF64& value, FormatContext& ctx) { switch (value.type) { case Shader::Backend::GLASM::Type::Void: break; diff --git a/src/shader_recompiler/backend/glsl/emit_glsl_context_get_set.cpp b/src/shader_recompiler/backend/glsl/emit_glsl_context_get_set.cpp index 3c0c19961d..2e369ed723 100644 --- a/src/shader_recompiler/backend/glsl/emit_glsl_context_get_set.cpp +++ b/src/shader_recompiler/backend/glsl/emit_glsl_context_get_set.cpp @@ -1,5 +1,4 @@ // SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project -// SPDX-FileCopyrightText: 2024 sudachi Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include @@ -427,10 +426,6 @@ void EmitInvocationInfo(EmitContext& ctx, IR::Inst& inst) { case Stage::TessellationEval: ctx.AddU32("{}=uint(gl_PatchVerticesIn)<<16;", inst); break; - case Stage::Geometry: - ctx.AddU32("{}=uint({}<<16);", inst, - InputTopologyVertices::vertices(ctx.runtime_info.input_topology)); - break; default: LOG_WARNING(Shader, "(STUBBED) called"); ctx.AddU32("{}=uint(0x00ff0000);", inst); diff --git a/src/shader_recompiler/backend/spirv/emit_spirv_context_get_set.cpp b/src/shader_recompiler/backend/spirv/emit_spirv_context_get_set.cpp index 5d428d2d68..feca5105f9 100644 --- a/src/shader_recompiler/backend/spirv/emit_spirv_context_get_set.cpp +++ b/src/shader_recompiler/backend/spirv/emit_spirv_context_get_set.cpp @@ -1,5 +1,4 @@ // SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project -// SPDX-FileCopyrightText: 2024 sudachi Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include @@ -550,8 +549,6 @@ Id EmitInvocationInfo(EmitContext& ctx) { case Stage::TessellationEval: return ctx.OpShiftLeftLogical(ctx.U32[1], ctx.OpLoad(ctx.U32[1], ctx.patch_vertices_in), ctx.Const(16u)); - case Stage::Geometry: - return ctx.Const(InputTopologyVertices::vertices(ctx.runtime_info.input_topology) << 16); default: LOG_WARNING(Shader, "(STUBBED) called"); return ctx.Const(0x00ff0000u); diff --git a/src/shader_recompiler/backend/spirv/emit_spirv_image.cpp b/src/shader_recompiler/backend/spirv/emit_spirv_image.cpp index 75767448c3..945cdb42bc 100644 --- a/src/shader_recompiler/backend/spirv/emit_spirv_image.cpp +++ b/src/shader_recompiler/backend/spirv/emit_spirv_image.cpp @@ -196,11 +196,8 @@ Id Texture(EmitContext& ctx, IR::TextureInstInfo info, [[maybe_unused]] const IR } Id TextureImage(EmitContext& ctx, IR::TextureInstInfo info, const IR::Value& index) { - // if (!index.IsImmediate() || index.Type() != Shader::IR::Type::U32 || index.U32() != 0) { - // throw NotImplementedException("Indirect image indexing"); - // } - if (index.Type() != Shader::IR::Type::U32) { - LOG_WARNING(Shader_SPIRV, "Non-U32 type provided as index: {}", index.Type()); + if (!index.IsImmediate() || index.U32() != 0) { + throw NotImplementedException("Indirect image indexing"); } if (info.type == TextureType::Buffer) { const TextureBufferDefinition& def{ctx.texture_buffers.at(info.descriptor_index)}; @@ -218,11 +215,8 @@ Id TextureImage(EmitContext& ctx, IR::TextureInstInfo info, const IR::Value& ind } std::pair Image(EmitContext& ctx, const IR::Value& index, IR::TextureInstInfo info) { - // if (!index.IsImmediate() || index.Type() != Shader::IR::Type::U32 || index.U32() != 0) { - // throw NotImplementedException("Indirect image indexing"); - // } - if (index.Type() != Shader::IR::Type::U32) { - LOG_WARNING(Shader_SPIRV, "Non-U32 type provided as index: {}", index.Type()); + if (!index.IsImmediate() || index.U32() != 0) { + throw NotImplementedException("Indirect image indexing"); } if (info.type == TextureType::Buffer) { const ImageBufferDefinition def{ctx.image_buffers.at(info.descriptor_index)}; diff --git a/src/shader_recompiler/frontend/ir/attribute.h b/src/shader_recompiler/frontend/ir/attribute.h index 407a1f4bc1..5f039b6f65 100644 --- a/src/shader_recompiler/frontend/ir/attribute.h +++ b/src/shader_recompiler/frontend/ir/attribute.h @@ -250,7 +250,7 @@ struct fmt::formatter { return ctx.begin(); } template - auto format(const Shader::IR::Attribute& attribute, FormatContext& ctx) const { + auto format(const Shader::IR::Attribute& attribute, FormatContext& ctx) { return fmt::format_to(ctx.out(), "{}", Shader::IR::NameOf(attribute)); } }; diff --git a/src/shader_recompiler/frontend/ir/condition.h b/src/shader_recompiler/frontend/ir/condition.h index 0b77b6590b..1cad46b9b9 100644 --- a/src/shader_recompiler/frontend/ir/condition.h +++ b/src/shader_recompiler/frontend/ir/condition.h @@ -52,7 +52,7 @@ struct fmt::formatter { return ctx.begin(); } template - auto format(const Shader::IR::Condition& cond, FormatContext& ctx) const { + auto format(const Shader::IR::Condition& cond, FormatContext& ctx) { return fmt::format_to(ctx.out(), "{}", Shader::IR::NameOf(cond)); } }; diff --git a/src/shader_recompiler/frontend/ir/flow_test.h b/src/shader_recompiler/frontend/ir/flow_test.h index f758d13127..88f7c9e82e 100644 --- a/src/shader_recompiler/frontend/ir/flow_test.h +++ b/src/shader_recompiler/frontend/ir/flow_test.h @@ -55,7 +55,7 @@ struct fmt::formatter { return ctx.begin(); } template - auto format(const Shader::IR::FlowTest& flow_test, FormatContext& ctx) const { + auto format(const Shader::IR::FlowTest& flow_test, FormatContext& ctx) { return fmt::format_to(ctx.out(), "{}", Shader::IR::NameOf(flow_test)); } }; diff --git a/src/shader_recompiler/frontend/ir/opcodes.h b/src/shader_recompiler/frontend/ir/opcodes.h index 767c5ae15a..e300714f3a 100644 --- a/src/shader_recompiler/frontend/ir/opcodes.h +++ b/src/shader_recompiler/frontend/ir/opcodes.h @@ -54,7 +54,7 @@ constexpr Type F64x2{Type::F64x2}; constexpr Type F64x3{Type::F64x3}; constexpr Type F64x4{Type::F64x4}; -constexpr OpcodeMeta META_TABLE[] { +constexpr OpcodeMeta META_TABLE[]{ #define OPCODE(name_token, type_token, ...) \ { \ .name{#name_token}, \ @@ -103,7 +103,7 @@ struct fmt::formatter { return ctx.begin(); } template - auto format(const Shader::IR::Opcode& op, FormatContext& ctx) const { + auto format(const Shader::IR::Opcode& op, FormatContext& ctx) { return fmt::format_to(ctx.out(), "{}", Shader::IR::NameOf(op)); } }; diff --git a/src/shader_recompiler/frontend/ir/pred.h b/src/shader_recompiler/frontend/ir/pred.h index f3f92b063a..a77c1e2a7a 100644 --- a/src/shader_recompiler/frontend/ir/pred.h +++ b/src/shader_recompiler/frontend/ir/pred.h @@ -33,7 +33,7 @@ struct fmt::formatter { return ctx.begin(); } template - auto format(const Shader::IR::Pred& pred, FormatContext& ctx) const { + auto format(const Shader::IR::Pred& pred, FormatContext& ctx) { if (pred == Shader::IR::Pred::PT) { return fmt::format_to(ctx.out(), "PT"); } else { diff --git a/src/shader_recompiler/frontend/ir/reg.h b/src/shader_recompiler/frontend/ir/reg.h index 610492759d..f7cb716a97 100644 --- a/src/shader_recompiler/frontend/ir/reg.h +++ b/src/shader_recompiler/frontend/ir/reg.h @@ -319,7 +319,7 @@ struct fmt::formatter { return ctx.begin(); } template - auto format(const Shader::IR::Reg& reg, FormatContext& ctx) const { + auto format(const Shader::IR::Reg& reg, FormatContext& ctx) { if (reg == Shader::IR::Reg::RZ) { return fmt::format_to(ctx.out(), "RZ"); } else if (static_cast(reg) >= 0 && static_cast(reg) < 255) { diff --git a/src/shader_recompiler/frontend/ir/type.h b/src/shader_recompiler/frontend/ir/type.h index 17b520c6dd..04c8c4ddbe 100644 --- a/src/shader_recompiler/frontend/ir/type.h +++ b/src/shader_recompiler/frontend/ir/type.h @@ -54,7 +54,7 @@ struct fmt::formatter { return ctx.begin(); } template - auto format(const Shader::IR::Type& type, FormatContext& ctx) const { + auto format(const Shader::IR::Type& type, FormatContext& ctx) { return fmt::format_to(ctx.out(), "{}", NameOf(type)); } }; diff --git a/src/shader_recompiler/frontend/maxwell/location.h b/src/shader_recompiler/frontend/maxwell/location.h index 0dd16723a2..0c0477e2db 100644 --- a/src/shader_recompiler/frontend/maxwell/location.h +++ b/src/shader_recompiler/frontend/maxwell/location.h @@ -102,7 +102,7 @@ struct fmt::formatter { return ctx.begin(); } template - auto format(const Shader::Maxwell::Location& location, FormatContext& ctx) const { + auto format(const Shader::Maxwell::Location& location, FormatContext& ctx) { return fmt::format_to(ctx.out(), "{:04x}", location.Offset()); } }; diff --git a/src/shader_recompiler/frontend/maxwell/opcodes.h b/src/shader_recompiler/frontend/maxwell/opcodes.h index b3a493ff6a..72dd143c2a 100644 --- a/src/shader_recompiler/frontend/maxwell/opcodes.h +++ b/src/shader_recompiler/frontend/maxwell/opcodes.h @@ -23,7 +23,7 @@ struct fmt::formatter { return ctx.begin(); } template - auto format(const Shader::Maxwell::Opcode& opcode, FormatContext& ctx) const { + auto format(const Shader::Maxwell::Opcode& opcode, FormatContext& ctx) { return fmt::format_to(ctx.out(), "{}", NameOf(opcode)); } }; diff --git a/src/shader_recompiler/runtime_info.h b/src/shader_recompiler/runtime_info.h index f9ac9fbb42..619c0b1387 100644 --- a/src/shader_recompiler/runtime_info.h +++ b/src/shader_recompiler/runtime_info.h @@ -1,5 +1,4 @@ // SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project -// SPDX-FileCopyrightText: 2024 sudachi Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once @@ -31,24 +30,6 @@ enum class InputTopology { TrianglesAdjacency, }; -struct InputTopologyVertices { - static u32 vertices(InputTopology input_topology) { - switch (input_topology) { - case InputTopology::Lines: - return 2; - case InputTopology::LinesAdjacency: - return 4; - case InputTopology::Triangles: - return 3; - case InputTopology::TrianglesAdjacency: - return 6; - case InputTopology::Points: - default: - return 1; - } - } -}; - enum class CompareFunction { Never, Less, diff --git a/src/suyu/CMakeLists.txt b/src/suyu/CMakeLists.txt index a951a555aa..1c7354f545 100644 --- a/src/suyu/CMakeLists.txt +++ b/src/suyu/CMakeLists.txt @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2018 yuzu Emulator Project +# SPDX-FileCopyrightText: 2018 yuzu Emulator Project & 2024 Suyu Emulator Project # SPDX-License-Identifier: GPL-2.0-or-later set(CMAKE_AUTOMOC ON) diff --git a/src/suyu/about_dialog.cpp b/src/suyu/about_dialog.cpp index d5f05b4a2a..96d4cf95be 100644 --- a/src/suyu/about_dialog.cpp +++ b/src/suyu/about_dialog.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include @@ -20,7 +20,7 @@ AboutDialog::AboutDialog(QWidget* parent) ui->setupUi(this); // Try and request the icon from Qt theme (Linux?) - const QIcon suyu_logo = QIcon::fromTheme(QStringLiteral("dev.suyu_emu.suyu")); + const QIcon suyu_logo = QIcon::fromTheme(QStringLiteral("org.suyu_emu.suyu")); if (!suyu_logo.isNull()) { ui->labelLogo->setPixmap(suyu_logo.pixmap(200)); } diff --git a/src/suyu/about_dialog.h b/src/suyu/about_dialog.h index 3c4e71ee6c..ac64247507 100644 --- a/src/suyu/about_dialog.h +++ b/src/suyu/about_dialog.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once diff --git a/src/suyu/aboutdialog.ui b/src/suyu/aboutdialog.ui index f0752f3746..fc139fc066 100644 --- a/src/suyu/aboutdialog.ui +++ b/src/suyu/aboutdialog.ui @@ -127,7 +127,7 @@ p, li { white-space: pre-wrap; } - <html><head/><body><p><a href="https://suyu.dev"><span style=" text-decoration: underline; color:#039be5;">Website</span></a> | <a href="https://chat.suyu.dev"><span style=" text-decoration: underline; color:#039be5;">Chat</span></a> | <a href="https://git.suyu.dev/suyu/suyu"><span style=" text-decoration: underline; color:#039be5;">Source Code</span></a> | <a href="https://git.suyu.dev/suyu/suyu/activity"><span style=" text-decoration: underline; color:#039be5;">Contributors</span></a> | <a href="https://git.suyu.dev/suyu/suyu/src/branch/dev/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">License</span></a></p></body></html> + <html><head/><body><p><a href="https://gitlab.com/suyu-emu/suyu"><span style=" text-decoration: underline; color:#039be5;">Website</span></a> | <a href="https://discord.com/invite/2gQRBp44KT"><span style=" text-decoration: underline; color:#039be5;">Discord</span></a> | <a href="https://gitlab.com/suyu-emu/suyu"><span style=" text-decoration: underline; color:#039be5;">Source Code</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/-/graphs/master"><span style=" text-decoration: underline; color:#039be5;">Contributors</span></a> | <a href="https://gitlab.com/suyu-emu/suyu/-/blob/master/LICENSE.txt"><span style=" text-decoration: underline; color:#039be5;">License</span></a></p></body></html> true diff --git a/src/suyu/applets/qt_amiibo_settings.cpp b/src/suyu/applets/qt_amiibo_settings.cpp index 137f671f6f..bb0e8aff56 100644 --- a/src/suyu/applets/qt_amiibo_settings.cpp +++ b/src/suyu/applets/qt_amiibo_settings.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2022 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2022 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include diff --git a/src/suyu/applets/qt_amiibo_settings.h b/src/suyu/applets/qt_amiibo_settings.h index 3833cf6f2a..ee27b88afb 100644 --- a/src/suyu/applets/qt_amiibo_settings.h +++ b/src/suyu/applets/qt_amiibo_settings.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2022 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2022 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once diff --git a/src/suyu/applets/qt_controller.cpp b/src/suyu/applets/qt_controller.cpp index d41d23eceb..b93b11fc9c 100644 --- a/src/suyu/applets/qt_controller.cpp +++ b/src/suyu/applets/qt_controller.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include @@ -384,12 +384,10 @@ bool QtControllerSelectorDialog::CheckIfParametersMet() { void QtControllerSelectorDialog::SetSupportedControllers() { const QString theme = [] { - if (QIcon::themeName().contains(QStringLiteral("midnight"))) { - return QStringLiteral("_midnight"); - } else if (GMainWindow::CheckDarkMode() || - QIcon::themeName().contains(QStringLiteral("dark"))) { - // Use dark icons if current OS mode is dark, or the theme contains "dark" in its name + if (QIcon::themeName().contains(QStringLiteral("dark"))) { return QStringLiteral("_dark"); + } else if (QIcon::themeName().contains(QStringLiteral("midnight"))) { + return QStringLiteral("_midnight"); } else { return QString{}; } @@ -574,12 +572,10 @@ void QtControllerSelectorDialog::UpdateControllerIcon(std::size_t player_index) } const QString theme = [] { - if (QIcon::themeName().contains(QStringLiteral("midnight"))) { - return QStringLiteral("_midnight"); - } else if (GMainWindow::CheckDarkMode() || - QIcon::themeName().contains(QStringLiteral("dark"))) { - // Use dark icons if current OS mode is dark, or the theme contains "dark" in its name + if (QIcon::themeName().contains(QStringLiteral("dark"))) { return QStringLiteral("_dark"); + } else if (QIcon::themeName().contains(QStringLiteral("midnight"))) { + return QStringLiteral("_midnight"); } else { return QString{}; } diff --git a/src/suyu/applets/qt_controller.h b/src/suyu/applets/qt_controller.h index e5372495d7..ef7d0190df 100644 --- a/src/suyu/applets/qt_controller.h +++ b/src/suyu/applets/qt_controller.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once diff --git a/src/suyu/applets/qt_error.cpp b/src/suyu/applets/qt_error.cpp index 7753a97f73..3316593436 100644 --- a/src/suyu/applets/qt_error.cpp +++ b/src/suyu/applets/qt_error.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2019 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2019 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include diff --git a/src/suyu/applets/qt_error.h b/src/suyu/applets/qt_error.h index 957f170ade..56c23a0ea1 100644 --- a/src/suyu/applets/qt_error.h +++ b/src/suyu/applets/qt_error.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2019 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2019 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once diff --git a/src/suyu/applets/qt_profile_select.cpp b/src/suyu/applets/qt_profile_select.cpp index af7d7e3940..ac8d8f438a 100644 --- a/src/suyu/applets/qt_profile_select.cpp +++ b/src/suyu/applets/qt_profile_select.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include diff --git a/src/suyu/applets/qt_profile_select.h b/src/suyu/applets/qt_profile_select.h index 607f1777cd..8ddc3bd53e 100644 --- a/src/suyu/applets/qt_profile_select.h +++ b/src/suyu/applets/qt_profile_select.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once diff --git a/src/suyu/applets/qt_software_keyboard.cpp b/src/suyu/applets/qt_software_keyboard.cpp index 3a88656a17..3626aade49 100644 --- a/src/suyu/applets/qt_software_keyboard.cpp +++ b/src/suyu/applets/qt_software_keyboard.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include @@ -372,14 +372,6 @@ QtSoftwareKeyboardDialog::~QtSoftwareKeyboardDialog() { StopInputThread(); } -QString QtSoftwareKeyboardDialog::theme() { - if (GMainWindow::CheckDarkMode()) { - return QStringLiteral("_dark"); - } else { - return QString{}; - } -} - void QtSoftwareKeyboardDialog::ShowNormalKeyboard(QPoint pos, QSize size) { if (isVisible()) { return; @@ -390,7 +382,6 @@ void QtSoftwareKeyboardDialog::ShowNormalKeyboard(QPoint pos, QSize size) { SetKeyboardType(); SetPasswordMode(); SetControllerImage(); - SetButtonImages(); DisableKeyboardButtons(); SetBackspaceOkEnabled(); @@ -458,7 +449,6 @@ void QtSoftwareKeyboardDialog::ShowInlineKeyboard( SetKeyboardType(); SetControllerImage(); - SetButtonImages(); DisableKeyboardButtons(); SetBackspaceOkEnabled(); @@ -832,146 +822,68 @@ void QtSoftwareKeyboardDialog::SetControllerImage() { const auto controller_type = handheld->IsConnected() ? handheld->GetNpadStyleIndex() : player_1->GetNpadStyleIndex(); + const QString theme = [] { + if (QIcon::themeName().contains(QStringLiteral("dark")) || + QIcon::themeName().contains(QStringLiteral("midnight"))) { + return QStringLiteral("_dark"); + } else { + return QString{}; + } + }(); + switch (controller_type) { case Core::HID::NpadStyleIndex::Fullkey: case Core::HID::NpadStyleIndex::GameCube: ui->icon_controller->setStyleSheet( - QStringLiteral("image: url(:/overlay%1/controller_pro.png);").arg(theme())); + QStringLiteral("image: url(:/overlay/controller_pro%1.png);").arg(theme)); ui->icon_controller_shift->setStyleSheet( - QStringLiteral("image: url(:/overlay%1/controller_pro.png);").arg(theme())); + QStringLiteral("image: url(:/overlay/controller_pro%1.png);").arg(theme)); ui->icon_controller_num->setStyleSheet( - QStringLiteral("image: url(:/overlay%1/controller_pro.png);").arg(theme())); + QStringLiteral("image: url(:/overlay/controller_pro%1.png);").arg(theme)); break; case Core::HID::NpadStyleIndex::JoyconDual: ui->icon_controller->setStyleSheet( - QStringLiteral("image: url(:/overlay%1/controller_dual_joycon.png);").arg(theme())); + QStringLiteral("image: url(:/overlay/controller_dual_joycon%1.png);").arg(theme)); ui->icon_controller_shift->setStyleSheet( - QStringLiteral("image: url(:/overlay%1/controller_dual_joycon.png);").arg(theme())); + QStringLiteral("image: url(:/overlay/controller_dual_joycon%1.png);").arg(theme)); ui->icon_controller_num->setStyleSheet( - QStringLiteral("image: url(:/overlay%1/controller_dual_joycon.png);").arg(theme())); + QStringLiteral("image: url(:/overlay/controller_dual_joycon%1.png);").arg(theme)); break; case Core::HID::NpadStyleIndex::JoyconLeft: ui->icon_controller->setStyleSheet( - QStringLiteral("image: url(:/overlay%1/controller_single_joycon_left.png);") - .arg(theme())); + QStringLiteral("image: url(:/overlay/controller_single_joycon_left%1.png);") + .arg(theme)); ui->icon_controller_shift->setStyleSheet( - QStringLiteral("image: url(:/overlay%1/controller_single_joycon_left.png);") - .arg(theme())); + QStringLiteral("image: url(:/overlay/controller_single_joycon_left%1.png);") + .arg(theme)); ui->icon_controller_num->setStyleSheet( - QStringLiteral("image: url(:/overlay%1/controller_single_joycon_left.png);") - .arg(theme())); + QStringLiteral("image: url(:/overlay/controller_single_joycon_left%1.png);") + .arg(theme)); break; case Core::HID::NpadStyleIndex::JoyconRight: ui->icon_controller->setStyleSheet( - QStringLiteral("image: url(:/overlay%1/controller_single_joycon_right.png);") - .arg(theme())); + QStringLiteral("image: url(:/overlay/controller_single_joycon_right%1.png);") + .arg(theme)); ui->icon_controller_shift->setStyleSheet( - QStringLiteral("image: url(:/overlay%1/controller_single_joycon_right.png);") - .arg(theme())); + QStringLiteral("image: url(:/overlay/controller_single_joycon_right%1.png);") + .arg(theme)); ui->icon_controller_num->setStyleSheet( - QStringLiteral("image: url(:/overlay%1/controller_single_joycon_right.png);") - .arg(theme())); + QStringLiteral("image: url(:/overlay/controller_single_joycon_right%1.png);") + .arg(theme)); break; case Core::HID::NpadStyleIndex::Handheld: ui->icon_controller->setStyleSheet( - QStringLiteral("image: url(:/overlay%1/controller_handheld.png);").arg(theme())); + QStringLiteral("image: url(:/overlay/controller_handheld%1.png);").arg(theme)); ui->icon_controller_shift->setStyleSheet( - QStringLiteral("image: url(:/overlay%1/controller_handheld.png);").arg(theme())); + QStringLiteral("image: url(:/overlay/controller_handheld%1.png);").arg(theme)); ui->icon_controller_num->setStyleSheet( - QStringLiteral("image: url(:/overlay%1/controller_handheld.png);").arg(theme())); + QStringLiteral("image: url(:/overlay/controller_handheld%1.png);").arg(theme)); break; default: break; } } -void QtSoftwareKeyboardDialog::SetButtonImages() { - QString button_backspace_stylesheet = - QStringLiteral("QPushButton {" - " image: url(:/overlay%1/osk_button_B.png);" - " image-position: right;" - " qproperty-icon: url(:/overlay%1/osk_button_backspace.png); }" - "QPushButton:disabled { image: url(:/overlay%1/osk_button_B_disabled.png);}") - .arg(theme()); - ui->button_backspace->setStyleSheet(button_backspace_stylesheet); - ui->button_backspace_shift->setStyleSheet(button_backspace_stylesheet); - ui->button_backspace_shift->setIconSize(ui->button_backspace->iconSize()); - ui->button_backspace_num->setStyleSheet(button_backspace_stylesheet); - - QString button_space_stylesheet = - QStringLiteral("QPushButton {" - " image: url(:/overlay%1/osk_button_Y.png);" - " image-position: right;" - " qproperty-icon: url(:/overlay%1/osk_button_space.png); }" - "QPushButton:disabled { image: url(:/overlay%1/osk_button_Y_disabled.png);}") - .arg(theme()); - ui->button_space->setStyleSheet(button_space_stylesheet); - ui->button_space_shift->setStyleSheet(button_space_stylesheet); - - QString button_ok_stylesheet = - QStringLiteral( - "QPushButton { image: url(:/overlay%1/osk_button_plus.png); }" - "QPushButton:disabled { image: url(:/overlay%1/osk_button_plus_disabled.png); }") - .arg(theme()); - ui->button_ok->setStyleSheet(button_ok_stylesheet); - ui->button_ok_shift->setStyleSheet(button_ok_stylesheet); - ui->button_ok_num->setStyleSheet(button_ok_stylesheet); - - QString button_shift_stylesheet = - QStringLiteral("image: url(:/overlay/osk_button_shift_lock_off.png);" - "image-position: left;" - "qproperty-icon: url(:/overlay%1/osk_button_shift.png);") - .arg(theme()); - ui->button_shift->setStyleSheet(button_shift_stylesheet); - - QString button_shift_shift_stylesheet = - QStringLiteral("image: url(:/overlay/osk_button_shift_lock_off.png);" - "image-position: left;" - "qproperty-icon: url(:/overlay%1/osk_button_shift_on.png);") - .arg(theme()); - ui->button_shift_shift->setStyleSheet(button_shift_shift_stylesheet); - ui->button_shift_shift->setIconSize(ui->button_shift->iconSize()); - - QString L_stylesheet = QStringLiteral("image: url(:/overlay%1/button_L.png);").arg(theme()); - ui->button_L->setStyleSheet(L_stylesheet); - ui->button_L_shift->setStyleSheet(L_stylesheet); - ui->button_L_num->setStyleSheet(L_stylesheet); - - QString R_stylesheet = QStringLiteral("image: url(:/overlay%1/button_R.png);").arg(theme()); - ui->button_R->setStyleSheet(R_stylesheet); - ui->button_R_shift->setStyleSheet(R_stylesheet); - ui->button_R_num->setStyleSheet(R_stylesheet); - - QString arrow_left_stylesheet = - QStringLiteral("image: url(:/overlay%1/arrow_left.png);").arg(theme()); - ui->arrow_left->setStyleSheet(arrow_left_stylesheet); - ui->arrow_left_shift->setStyleSheet(arrow_left_stylesheet); - ui->arrow_left_num->setStyleSheet(arrow_left_stylesheet); - - QString arrow_right_stylesheet = - QStringLiteral("image: url(:/overlay%1/arrow_right.png);").arg(theme()); - ui->arrow_right->setStyleSheet(arrow_right_stylesheet); - ui->arrow_right_shift->setStyleSheet(arrow_right_stylesheet); - ui->arrow_right_num->setStyleSheet(arrow_right_stylesheet); - - QString button_press_stick_stylesheet = - QStringLiteral("image: url(:/overlay%1/button_press_stick.png);").arg(theme()); - ui->button_press_stick->setStyleSheet(button_press_stick_stylesheet); - ui->button_press_stick_shift->setStyleSheet(button_press_stick_stylesheet); - - QString button_X_stylesheet = - QStringLiteral("image: url(:/overlay%1/button_X.png);").arg(theme()); - ui->button_X->setStyleSheet(button_X_stylesheet); - ui->button_X_shift->setStyleSheet(button_X_stylesheet); - ui->button_X_num->setStyleSheet(button_X_stylesheet); - - QString button_A_stylesheet = - QStringLiteral("image: url(:/overlay%1/button_A.png);").arg(theme()); - ui->button_A->setStyleSheet(button_A_stylesheet); - ui->button_A_shift->setStyleSheet(button_A_stylesheet); - ui->button_A_num->setStyleSheet(button_A_stylesheet); -} - void QtSoftwareKeyboardDialog::DisableKeyboardButtons() { switch (bottom_osk_index) { case BottomOSKIndex::LowerCase: @@ -1138,8 +1050,10 @@ void QtSoftwareKeyboardDialog::ChangeBottomOSKIndex() { ui->bottomOSK->setCurrentIndex(static_cast(bottom_osk_index)); ui->button_shift_shift->setStyleSheet( - QStringLiteral("image: url(:/overlay/osk_button_shift_lock_off.png);")); + QStringLiteral("image: url(:/overlay/osk_button_shift_lock_off.png);" + "\nimage-position: left;")); + ui->button_shift_shift->setIconSize(ui->button_shift->iconSize()); ui->button_backspace_shift->setIconSize(ui->button_backspace->iconSize()); break; case BottomOSKIndex::UpperCase: @@ -1150,6 +1064,9 @@ void QtSoftwareKeyboardDialog::ChangeBottomOSKIndex() { QStringLiteral("image: url(:/overlay/osk_button_shift_lock_off.png);" "\nimage-position: left;")); + ui->button_shift_shift->setIconSize(ui->button_shift->iconSize()); + ui->button_backspace_shift->setIconSize(ui->button_backspace->iconSize()); + ui->label_shift_shift->setText(QStringLiteral("Caps Lock")); bottom_osk_index = BottomOSKIndex::LowerCase; @@ -1161,6 +1078,9 @@ void QtSoftwareKeyboardDialog::ChangeBottomOSKIndex() { QStringLiteral("image: url(:/overlay/osk_button_shift_lock_on.png);" "\nimage-position: left;")); + ui->button_shift_shift->setIconSize(ui->button_shift->iconSize()); + ui->button_backspace_shift->setIconSize(ui->button_backspace->iconSize()); + ui->label_shift_shift->setText(QStringLiteral("Caps Lock Off")); } break; diff --git a/src/suyu/applets/qt_software_keyboard.h b/src/suyu/applets/qt_software_keyboard.h index fda6ac623d..adf9f55690 100644 --- a/src/suyu/applets/qt_software_keyboard.h +++ b/src/suyu/applets/qt_software_keyboard.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once @@ -80,12 +80,6 @@ private: NumberPad, }; - /** - * Get the current theme suffix - * @return an empty string for light theme, "_dark" for dark theme - */ - QString theme(); - /** * Moves and resizes the window to a specified position and size. * @@ -115,9 +109,6 @@ private: /// Sets the controller image at the bottom left of the software keyboard. void SetControllerImage(); - /// Sets the controller image at the bottom left of the software keyboard. - void SetButtonImages(); - /// Disables buttons based on initialize_parameters. void DisableKeyboardButtons(); diff --git a/src/suyu/applets/qt_web_browser.cpp b/src/suyu/applets/qt_web_browser.cpp index 6419dbd7c3..a7d7a5ce65 100644 --- a/src/suyu/applets/qt_web_browser.cpp +++ b/src/suyu/applets/qt_web_browser.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #ifdef SUYU_USE_QT_WEB_ENGINE diff --git a/src/suyu/applets/qt_web_browser.h b/src/suyu/applets/qt_web_browser.h index 07e69fbbf4..5e92825338 100644 --- a/src/suyu/applets/qt_web_browser.h +++ b/src/suyu/applets/qt_web_browser.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once diff --git a/src/suyu/applets/qt_web_browser_scripts.h b/src/suyu/applets/qt_web_browser_scripts.h index 10e5ac4fa0..f428d535e3 100644 --- a/src/suyu/applets/qt_web_browser_scripts.h +++ b/src/suyu/applets/qt_web_browser_scripts.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once diff --git a/src/suyu/bootmanager.cpp b/src/suyu/bootmanager.cpp index 606325bf5e..3c536e3072 100644 --- a/src/suyu/bootmanager.cpp +++ b/src/suyu/bootmanager.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2014 Citra Emulator Project +// SPDX-FileCopyrightText: 2014 Citra Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include diff --git a/src/suyu/bootmanager.h b/src/suyu/bootmanager.h index 36eb956ec7..df09cae04e 100644 --- a/src/suyu/bootmanager.h +++ b/src/suyu/bootmanager.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2014 Citra Emulator Project +// SPDX-FileCopyrightText: 2014 Citra Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once diff --git a/src/suyu/breakpad.cpp b/src/suyu/breakpad.cpp index d4a9d7d9a3..7895a84e0f 100644 --- a/src/suyu/breakpad.cpp +++ b/src/suyu/breakpad.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include diff --git a/src/suyu/configuration/configure_applets.cpp b/src/suyu/configuration/configure_applets.cpp index d5e3520718..a607fa3af8 100644 --- a/src/suyu/configuration/configure_applets.cpp +++ b/src/suyu/configuration/configure_applets.cpp @@ -69,7 +69,7 @@ void ConfigureApplets::Setup(const ConfigurationShared::Builder& builder) { applets_hold.emplace(setting->Id(), widget); } - for (const auto& [_, widget] : applets_hold) { + for (const auto& [label, widget] : applets_hold) { library_applets_layout.addWidget(widget); } } diff --git a/src/suyu/configuration/configure_audio.cpp b/src/suyu/configuration/configure_audio.cpp index 5ecd79ae31..2341131585 100644 --- a/src/suyu/configuration/configure_audio.cpp +++ b/src/suyu/configuration/configure_audio.cpp @@ -164,7 +164,7 @@ void ConfigureAudio::Setup(const ConfigurationShared::Builder& builder) { } } - for (const auto& [_, widget] : hold) { + for (const auto& [id, widget] : hold) { layout.addWidget(widget); } } diff --git a/src/suyu/configuration/configure_camera.cpp b/src/suyu/configuration/configure_camera.cpp index 5edc3902f0..cb23fd78b2 100644 --- a/src/suyu/configuration/configure_camera.cpp +++ b/src/suyu/configuration/configure_camera.cpp @@ -1,4 +1,4 @@ -// Text : Copyright 2022 yuzu Emulator Project +// Text : Copyright 2022 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-3.0-or-later #include diff --git a/src/suyu/configuration/configure_camera.h b/src/suyu/configuration/configure_camera.h index 359cf69373..1df3738acb 100644 --- a/src/suyu/configuration/configure_camera.h +++ b/src/suyu/configuration/configure_camera.h @@ -1,4 +1,4 @@ -// Text : Copyright 2022 yuzu Emulator Project +// Text : Copyright 2022 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-3.0-or-later #pragma once diff --git a/src/suyu/configuration/configure_cpu.cpp b/src/suyu/configuration/configure_cpu.cpp index 0a26f531fb..ce266642ff 100644 --- a/src/suyu/configuration/configure_cpu.cpp +++ b/src/suyu/configuration/configure_cpu.cpp @@ -79,7 +79,7 @@ void ConfigureCpu::Setup(const ConfigurationShared::Builder& builder) { } } - for (const auto& [_, widget] : unsafe_hold) { + for (const auto& [label, widget] : unsafe_hold) { unsafe_layout->addWidget(widget); } diff --git a/src/suyu/configuration/configure_debug.cpp b/src/suyu/configuration/configure_debug.cpp index 6f9bb36340..e1ad00113f 100644 --- a/src/suyu/configuration/configure_debug.cpp +++ b/src/suyu/configuration/configure_debug.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2016 Citra Emulator Project +// SPDX-FileCopyrightText: 2016 Citra Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include @@ -73,7 +73,6 @@ void ConfigureDebug::SetConfiguration() { ui->disable_loop_safety_checks->setChecked( Settings::values.disable_shader_loop_safety_checks.GetValue()); ui->extended_logging->setChecked(Settings::values.extended_logging.GetValue()); - ui->log_async->setChecked(Settings::values.log_async.GetValue()); ui->perform_vulkan_check->setChecked(Settings::values.perform_vulkan_check.GetValue()); #ifdef SUYU_USE_QT_WEB_ENGINE @@ -116,7 +115,6 @@ void ConfigureDebug::ApplyConfiguration() { Common::Log::Filter filter; filter.ParseFilterString(Settings::values.log_filter.GetValue()); Common::Log::SetGlobalFilter(filter); - Settings::values.log_async = ui->log_async->isChecked(); } void ConfigureDebug::changeEvent(QEvent* event) { diff --git a/src/suyu/configuration/configure_debug.ui b/src/suyu/configuration/configure_debug.ui index e5b76290e6..ed48b2f8f6 100644 --- a/src/suyu/configuration/configure_debug.ui +++ b/src/suyu/configuration/configure_debug.ui @@ -164,20 +164,6 @@ - - - - true - - - When checked, logging will run asynchronously. This may cut the log on crashes. -When unchecked, logging will run synchronously. This will slow down the emulator, but allow all logs to be written. Useful for debugging. - - - Log asynchronously - - - @@ -213,14 +199,7 @@ When unchecked, logging will run synchronously. This will slow down the emulator - - - Log filter in the form <class>:<level>. -Separate multiple filters with a space. -Levels: Trace, Debug, Info, Warning, Error, Critical -Classes: See Common/logging/types.h - - + diff --git a/src/suyu/configuration/configure_filesystem.cpp b/src/suyu/configuration/configure_filesystem.cpp index 4a6c719f66..0686a4946a 100644 --- a/src/suyu/configuration/configure_filesystem.cpp +++ b/src/suyu/configuration/configure_filesystem.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2019 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2019 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include diff --git a/src/suyu/configuration/configure_general.cpp b/src/suyu/configuration/configure_general.cpp index f8007574d4..689d9be2b8 100644 --- a/src/suyu/configuration/configure_general.cpp +++ b/src/suyu/configuration/configure_general.cpp @@ -81,10 +81,10 @@ void ConfigureGeneral::Setup(const ConfigurationShared::Builder& builder) { } } - for (const auto& [_, widget] : general_hold) { + for (const auto& [id, widget] : general_hold) { general_layout.addWidget(widget); } - for (const auto& [_, widget] : linux_hold) { + for (const auto& [id, widget] : linux_hold) { linux_layout.addWidget(widget); } } diff --git a/src/suyu/configuration/configure_graphics.cpp b/src/suyu/configuration/configure_graphics.cpp index 54cdd8d25f..d11110a74a 100644 --- a/src/suyu/configuration/configure_graphics.cpp +++ b/src/suyu/configuration/configure_graphics.cpp @@ -358,7 +358,7 @@ void ConfigureGraphics::Setup(const ConfigurationShared::Builder& builder) { } } - for (const auto& [_, widget] : hold_graphics) { + for (const auto& [id, widget] : hold_graphics) { graphics_layout.addWidget(widget); } diff --git a/src/suyu/configuration/configure_graphics_advanced.cpp b/src/suyu/configuration/configure_graphics_advanced.cpp index 28b3f7c3c8..8cdae0a65d 100644 --- a/src/suyu/configuration/configure_graphics_advanced.cpp +++ b/src/suyu/configuration/configure_graphics_advanced.cpp @@ -53,7 +53,7 @@ void ConfigureGraphicsAdvanced::Setup(const ConfigurationShared::Builder& builde checkbox_enable_compute_pipelines = widget; } } - for (const auto& [_, widget] : hold) { + for (const auto& [id, widget] : hold) { layout.addWidget(widget); } } diff --git a/src/suyu/configuration/configure_input_advanced.cpp b/src/suyu/configuration/configure_input_advanced.cpp index aea57e8c15..dd4ed0e03c 100644 --- a/src/suyu/configuration/configure_input_advanced.cpp +++ b/src/suyu/configuration/configure_input_advanced.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include diff --git a/src/suyu/configuration/configure_input_player.ui b/src/suyu/configuration/configure_input_player.ui index 761015cd94..5beb1b6bfc 100644 --- a/src/suyu/configuration/configure_input_player.ui +++ b/src/suyu/configuration/configure_input_player.ui @@ -1430,12 +1430,12 @@ - - - 0 - 0 - - + + + 0 + 0 + + ZL @@ -1481,20 +1481,20 @@ - - - - 70 - 40 - - - - 100 - - - Qt::Horizontal - - + + + + 70 + 15 + + + + 100 + + + Qt::Horizontal + + @@ -1927,22 +1927,22 @@ - - - - - 70 - 40 - - - - 100 - - - Qt::Horizontal - - - + + + + + 70 + 15 + + + + 100 + + + Qt::Horizontal + + + diff --git a/src/suyu/configuration/configure_linux_tab.cpp b/src/suyu/configuration/configure_linux_tab.cpp index 488db7b932..1db9893b71 100644 --- a/src/suyu/configuration/configure_linux_tab.cpp +++ b/src/suyu/configuration/configure_linux_tab.cpp @@ -50,7 +50,7 @@ void ConfigureLinuxTab::Setup(const ConfigurationShared::Builder& builder) { linux_hold.insert({setting->Id(), widget}); } - for (const auto& [_, widget] : linux_hold) { + for (const auto& [id, widget] : linux_hold) { linux_layout.addWidget(widget); } } diff --git a/src/suyu/configuration/configure_per_game_addons.cpp b/src/suyu/configuration/configure_per_game_addons.cpp index 8c96995641..4da1ea1a09 100644 --- a/src/suyu/configuration/configure_per_game_addons.cpp +++ b/src/suyu/configuration/configure_per_game_addons.cpp @@ -1,5 +1,4 @@ // SPDX-FileCopyrightText: 2016 Citra Emulator Project -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later diff --git a/src/suyu/configuration/configure_profile_manager.cpp b/src/suyu/configuration/configure_profile_manager.cpp index c0f98e5240..16b5fe4285 100644 --- a/src/suyu/configuration/configure_profile_manager.cpp +++ b/src/suyu/configuration/configure_profile_manager.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2016 Citra Emulator Project +// SPDX-FileCopyrightText: 2016 Citra Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include diff --git a/src/suyu/configuration/configure_system.cpp b/src/suyu/configuration/configure_system.cpp index e0312eb6fc..3204303e98 100644 --- a/src/suyu/configuration/configure_system.cpp +++ b/src/suyu/configuration/configure_system.cpp @@ -174,10 +174,10 @@ void ConfigureSystem::Setup(const ConfigurationShared::Builder& builder) { widget->deleteLater(); } } - for (const auto& [_, widget] : core_hold) { + for (const auto& [label, widget] : core_hold) { core_layout.addWidget(widget); } - for (const auto& [_, widget] : system_hold) { + for (const auto& [id, widget] : system_hold) { system_layout.addWidget(widget); } } diff --git a/src/suyu/configuration/configure_tas.cpp b/src/suyu/configuration/configure_tas.cpp index 0a7fd9049a..5f967b88cc 100644 --- a/src/suyu/configuration/configure_tas.cpp +++ b/src/suyu/configuration/configure_tas.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include diff --git a/src/suyu/configuration/configure_ui.cpp b/src/suyu/configuration/configure_ui.cpp index 74add9bbd3..408a7372a7 100644 --- a/src/suyu/configuration/configure_ui.cpp +++ b/src/suyu/configuration/configure_ui.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2016 Citra Emulator Project +// SPDX-FileCopyrightText: 2016 Citra Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include "suyu/configuration/configure_ui.h" @@ -18,7 +18,6 @@ #include #include #include -#include #include "common/common_types.h" #include "common/fs/path_util.h" @@ -30,8 +29,6 @@ #include "suyu/uisettings.h" #include "ui_configure_ui.h" -using Settings::DarkModeState; - namespace { constexpr std::array default_game_icon_sizes{ std::make_pair(0, QT_TRANSLATE_NOOP("ConfigureUI", "None")), @@ -83,7 +80,7 @@ static void PopulateResolutionComboBox(QComboBox* screenshot_height, QWidget* pa const auto& enumeration = Settings::EnumMetadata::Canonicalizations(); std::set resolutions{}; - for (const auto& [_, value] : enumeration) { + for (const auto& [name, value] : enumeration) { const float up_factor = GetUpFactor(value); u32 height_undocked = Layout::ScreenUndocked::Height * up_factor; u32 height_docked = Layout::ScreenDocked::Height * up_factor; @@ -109,31 +106,11 @@ ConfigureUi::ConfigureUi(Core::System& system_, QWidget* parent) InitializeLanguageComboBox(); - for (const auto& theme : UISettings::included_themes) { + for (const auto& theme : UISettings::themes) { ui->theme_combobox->addItem(QString::fromUtf8(theme.first), QString::fromUtf8(theme.second)); } - // Add custom styles stored in yuzu directory - const QDir themes_local_dir( - QString::fromStdString(Common::FS::GetSuyuPathString(Common::FS::SuyuPath::ThemesDir))); - for (const QString& theme_dir : - themes_local_dir.entryList(QDir::NoDot | QDir::NoDotDot | QDir::Dirs)) { - // folders ending with "_dark" are reserved for dark variant icons of other styles - if (theme_dir.endsWith(QStringLiteral("_dark"))) { - continue; - } - // Split at _ and capitalize words in name - QStringList cased_name; - for (QString word : theme_dir.split(QChar::fromLatin1('_'))) { - cased_name.append(word.at(0).toUpper() + word.mid(1)); - } - QString theme_name = cased_name.join(QChar::fromLatin1(' ')); - theme_name += QStringLiteral(" (%1)").arg(tr("Custom")); - - ui->theme_combobox->addItem(theme_name, themes_local_dir.filePath(theme_dir)); - } - InitializeIconSizeComboBox(); InitializeRowComboBoxes(); @@ -156,9 +133,6 @@ ConfigureUi::ConfigureUi(Core::System& system_, QWidget* parent) &ConfigureUi::RequestGameListUpdate); connect(ui->row_2_text_combobox, QOverload::of(&QComboBox::currentIndexChanged), this, &ConfigureUi::RequestGameListUpdate); - // Update available dark mode options depending on selected style - connect(ui->theme_combobox, QOverload::of(&QComboBox::currentIndexChanged), this, - &ConfigureUi::UpdateDarkModeOptions); // Update text ComboBoxes after user interaction. connect(ui->row_1_text_combobox, QOverload::of(&QComboBox::activated), @@ -190,9 +164,7 @@ ConfigureUi::~ConfigureUi() = default; void ConfigureUi::ApplyConfiguration() { UISettings::values.theme = - ui->theme_combobox->itemData(ui->theme_combobox->currentIndex()).toString(); - UISettings::values.dark_mode_state = - static_cast(ui->dark_mode_combobox->currentData().toUInt()); + ui->theme_combobox->itemData(ui->theme_combobox->currentIndex()).toString().toStdString(); UISettings::values.show_add_ons = ui->show_add_ons->isChecked(); UISettings::values.show_compat = ui->show_compat->isChecked(); UISettings::values.show_size = ui->show_size->isChecked(); @@ -214,71 +186,13 @@ void ConfigureUi::ApplyConfiguration() { system.ApplySettings(); } -void ConfigureUi::UpdateDarkModeOptions() { - ui->dark_mode_combobox->clear(); - - QString selected_theme = ui->theme_combobox->currentData().toString(); - - /* Dark mode option are added according to the modes the current style supports */ - bool has_common_style = QFile::exists(selected_theme + QStringLiteral("/style.qss")); - bool has_light_style = QFile::exists(selected_theme + QStringLiteral("/light.qss")); - bool has_dark_style = QFile::exists(selected_theme + QStringLiteral("/dark.qss")); -#ifdef _WIN32 - // Indicate which option needs a restart to be applied, depending on current environment - // variable - QByteArray current_qt_qpa = qgetenv("QT_QPA_PLATFORM"); - if (current_qt_qpa.contains("darkmode=2")) { - if (has_common_style || (has_dark_style && has_light_style)) { - ui->dark_mode_combobox->addItem(tr("Auto"), QVariant::fromValue(DarkModeState::Auto)); - } - if (has_common_style || has_dark_style) { - ui->dark_mode_combobox->addItem(tr("Always On") + - QStringLiteral(" (%1)").arg(tr("Needs restart")), - QVariant::fromValue(DarkModeState::On)); - } - if (has_common_style || has_light_style) { - ui->dark_mode_combobox->addItem(tr("Always Off") + - QStringLiteral(" (%1)").arg(tr("Needs restart")), - QVariant::fromValue(DarkModeState::Off)); - } - } else { - if (has_common_style || (has_dark_style && has_light_style)) { - ui->dark_mode_combobox->addItem(tr("Auto") + - QStringLiteral(" (%1)").arg(tr("Needs restart")), - QVariant::fromValue(DarkModeState::Auto)); - } - if (has_common_style || has_dark_style) { - ui->dark_mode_combobox->addItem(tr("Always On"), - QVariant::fromValue(DarkModeState::On)); - } - if (has_common_style || has_light_style) { - ui->dark_mode_combobox->addItem(tr("Always Off"), - QVariant::fromValue(DarkModeState::Off)); - } - } -#else - if (has_common_style || (has_dark_style && has_light_style)) { - ui->dark_mode_combobox->addItem(tr("Auto"), QVariant::fromValue(DarkModeState::Auto)); - } - if (has_common_style || has_dark_style) { - ui->dark_mode_combobox->addItem(tr("Always On"), QVariant::fromValue(DarkModeState::On)); - } - if (has_common_style || has_light_style) { - ui->dark_mode_combobox->addItem(tr("Always Off"), QVariant::fromValue(DarkModeState::Off)); - } -#endif -} - void ConfigureUi::RequestGameListUpdate() { UISettings::values.is_game_list_reload_pending.exchange(true); } void ConfigureUi::SetConfiguration() { - ui->theme_combobox->setCurrentIndex(ui->theme_combobox->findData(UISettings::values.theme)); - // Dark mode options are populated after the theme is selected, to get the current configuration - UpdateDarkModeOptions(); - ui->dark_mode_combobox->setCurrentIndex( - ui->dark_mode_combobox->findData(QVariant::fromValue(UISettings::values.dark_mode_state))); + ui->theme_combobox->setCurrentIndex( + ui->theme_combobox->findData(QString::fromStdString(UISettings::values.theme))); ui->language_combobox->setCurrentIndex(ui->language_combobox->findData( QString::fromStdString(UISettings::values.language.GetValue()))); ui->show_add_ons->setChecked(UISettings::values.show_add_ons.GetValue()); diff --git a/src/suyu/configuration/configure_ui.h b/src/suyu/configuration/configure_ui.h index a52ad7cc74..2a2563a131 100644 --- a/src/suyu/configuration/configure_ui.h +++ b/src/suyu/configuration/configure_ui.h @@ -34,7 +34,6 @@ signals: void LanguageChanged(const QString& locale); private: - void UpdateDarkModeOptions(); void RequestGameListUpdate(); void SetConfiguration(); diff --git a/src/suyu/configuration/configure_ui.ui b/src/suyu/configuration/configure_ui.ui index cdd46005fd..b8e6483814 100644 --- a/src/suyu/configuration/configure_ui.ui +++ b/src/suyu/configuration/configure_ui.ui @@ -63,20 +63,6 @@ - - - - - - Dark Mode: - - - - - - - - diff --git a/src/suyu/configuration/configure_web.cpp b/src/suyu/configuration/configure_web.cpp index 7beca1563a..7c88cc2586 100644 --- a/src/suyu/configuration/configure_web.cpp +++ b/src/suyu/configuration/configure_web.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2017 Citra Emulator Project +// SPDX-FileCopyrightText: 2017 Citra Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include diff --git a/src/suyu/configuration/input_profiles.cpp b/src/suyu/configuration/input_profiles.cpp index 5add5f057b..9886f1348c 100644 --- a/src/suyu/configuration/input_profiles.cpp +++ b/src/suyu/configuration/input_profiles.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include @@ -61,7 +61,7 @@ std::vector InputProfiles::GetInputProfileNames() { auto it = map_profiles.cbegin(); while (it != map_profiles.cend()) { - const auto& [profile_name, _] = *it; + const auto& [profile_name, config] = *it; if (!ProfileExistsInFilesystem(profile_name)) { it = map_profiles.erase(it); continue; diff --git a/src/suyu/configuration/qt_config.cpp b/src/suyu/configuration/qt_config.cpp index 2ed14ee2be..37951b9c84 100644 --- a/src/suyu/configuration/qt_config.cpp +++ b/src/suyu/configuration/qt_config.cpp @@ -260,10 +260,9 @@ void QtConfig::ReadShortcutValues() { void QtConfig::ReadUIValues() { BeginGroup(Settings::TranslateCategory(Settings::Category::Ui)); - UISettings::values.theme = - QString::fromStdString(ReadStringSetting("theme", std::string(UISettings::default_theme))); - UISettings::values.dark_mode_state = static_cast( - ReadIntegerSetting("dark_mode_state", static_cast(DarkModeState::Auto))); + UISettings::values.theme = ReadStringSetting( + std::string("theme"), + std::string(UISettings::themes[static_cast(UISettings::default_theme)].second)); ReadUIGamelistValues(); ReadUILayoutValues(); @@ -469,10 +468,10 @@ void QtConfig::SaveUIValues() { WriteCategory(Settings::Category::Ui); WriteCategory(Settings::Category::UiGeneral); - WriteStringSetting("theme", UISettings::values.theme.toStdString(), - std::make_optional(std::string(UISettings::default_theme))); - WriteIntegerSetting("dark_mode_state", static_cast(UISettings::values.dark_mode_state), - std::make_optional(static_cast(DarkModeState::Auto))); + WriteStringSetting( + std::string("theme"), UISettings::values.theme, + std::make_optional(std::string( + UISettings::themes[static_cast(UISettings::default_theme)].second))); SaveUIGamelistValues(); SaveUILayoutValues(); diff --git a/src/suyu/configuration/shared_widget.cpp b/src/suyu/configuration/shared_widget.cpp index 8a552d68c9..76a6b417cd 100644 --- a/src/suyu/configuration/shared_widget.cpp +++ b/src/suyu/configuration/shared_widget.cpp @@ -135,7 +135,7 @@ QWidget* Widget::CreateCombobox(std::function& serializer, const ComboboxTranslations* enumeration{nullptr}; if (combobox_enumerations.contains(type)) { enumeration = &combobox_enumerations.at(type); - for (const auto& [_, name] : *enumeration) { + for (const auto& [id, name] : *enumeration) { combobox->addItem(name); } } else { @@ -223,7 +223,7 @@ QWidget* Widget::CreateRadioGroup(std::function& serializer, }; if (!Settings::IsConfiguringGlobal()) { - for (const auto& [_, button] : radio_buttons) { + for (const auto& [id, button] : radio_buttons) { QObject::connect(button, &QAbstractButton::clicked, [touch]() { touch(); }); } } diff --git a/src/suyu/debugger/wait_tree.cpp b/src/suyu/debugger/wait_tree.cpp index b5ee4bcfdf..b339862ba7 100644 --- a/src/suyu/debugger/wait_tree.cpp +++ b/src/suyu/debugger/wait_tree.cpp @@ -35,8 +35,9 @@ constexpr std::array, 10> WaitTreeColors{{ }}; bool IsDarkTheme() { - return UISettings::values.theme.contains(QStringLiteral("dark")) || - UISettings::values.theme.contains(QStringLiteral("midnight")); + const auto& theme = UISettings::values.theme; + return theme == std::string("qdarkstyle") || theme == std::string("qdarkstyle_midnight_blue") || + theme == std::string("colorful_dark") || theme == std::string("colorful_midnight_blue"); } } // namespace diff --git a/src/suyu/discord_impl.cpp b/src/suyu/discord_impl.cpp index b72b9e41e3..f6db7dcae0 100644 --- a/src/suyu/discord_impl.cpp +++ b/src/suyu/discord_impl.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2018 Citra Emulator Project +// SPDX-FileCopyrightText: 2018 Citra Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include @@ -24,8 +24,7 @@ DiscordImpl::DiscordImpl(Core::System& system_) : system{system_} { DiscordEventHandlers handlers{}; // The number is the client ID for suyu, it's used for images and the // application name - // NOTE: This application is owned by million1156 (million@alyocord.com) - Discord_Initialize("1221314350216646828", &handlers, 1, nullptr); + Discord_Initialize("712465656758665259", &handlers, 1, nullptr); } DiscordImpl::~DiscordImpl() { diff --git a/src/suyu/game_list.cpp b/src/suyu/game_list.cpp index 132ff30b0c..b12cdb7bf9 100644 --- a/src/suyu/game_list.cpp +++ b/src/suyu/game_list.cpp @@ -1,8 +1,7 @@ -// SPDX-FileCopyrightText: 2015 Citra Emulator Project +// SPDX-FileCopyrightText: 2015 Citra Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later // Modified by palfaiate on <2024/03/07> -// Reverted palfaiate's changes on <2024/03/25> -Nine-Ball #include #include @@ -581,9 +580,6 @@ void GameList::AddGamePopup(QMenu& context_menu, u64 program_id, const std::stri remove_menu->addSeparator(); QAction* remove_shader_cache = remove_menu->addAction(tr("Remove All Pipeline Caches")); QAction* remove_all_content = remove_menu->addAction(tr("Remove All Installed Contents")); - QMenu* dump_romfs_menu = context_menu.addMenu(tr("Dump RomFS")); - QAction* dump_romfs = dump_romfs_menu->addAction(tr("Dump RomFS")); - QAction* dump_romfs_sdmc = dump_romfs_menu->addAction(tr("Dump RomFS to SDMC")); QAction* verify_integrity = context_menu.addAction(tr("Verify Integrity")); QAction* copy_tid = context_menu.addAction(tr("Copy Title ID to Clipboard")); QAction* navigate_to_gamedb_entry = context_menu.addAction(tr("Navigate to GameDB entry")); @@ -651,12 +647,6 @@ void GameList::AddGamePopup(QMenu& context_menu, u64 program_id, const std::stri connect(remove_cache_storage, &QAction::triggered, [this, program_id, path] { emit RemoveFileRequested(program_id, GameListRemoveTarget::CacheStorage, path); }); - connect(dump_romfs, &QAction::triggered, [this, program_id, path]() { - emit DumpRomFSRequested(program_id, path, DumpRomFSTarget::Normal); - }); - connect(dump_romfs_sdmc, &QAction::triggered, [this, program_id, path]() { - emit DumpRomFSRequested(program_id, path, DumpRomFSTarget::SDMC); - }); connect(verify_integrity, &QAction::triggered, [this, path]() { emit VerifyIntegrityRequested(path); }); connect(copy_tid, &QAction::triggered, diff --git a/src/suyu/game_list.h b/src/suyu/game_list.h index 4adb6403ef..45a50fe2f3 100644 --- a/src/suyu/game_list.h +++ b/src/suyu/game_list.h @@ -1,8 +1,7 @@ -// SPDX-FileCopyrightText: 2015 Citra Emulator Project +// SPDX-FileCopyrightText: 2015 Citra Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later // Modified by palfaiate on <2024/03/07> -// Reverted palfaiate's changes on <2024/03/25> -Nine-Ball #pragma once @@ -53,11 +52,6 @@ enum class GameListRemoveTarget { CacheStorage, }; -enum class DumpRomFSTarget { - Normal, - SDMC, -}; - enum class GameListShortcutTarget { Desktop, Applications, @@ -119,7 +113,6 @@ signals: void RemoveFileRequested(u64 program_id, GameListRemoveTarget target, const std::string& game_path); void RemovePlayTimeRequested(u64 program_id); - void DumpRomFSRequested(u64 program_id, const std::string& game_path, DumpRomFSTarget target); void VerifyIntegrityRequested(const std::string& game_path); void CopyTIDRequested(u64 program_id); void CreateShortcut(u64 program_id, const std::string& game_path, diff --git a/src/suyu/game_list_worker.cpp b/src/suyu/game_list_worker.cpp index ecc2773064..cc88788db9 100644 --- a/src/suyu/game_list_worker.cpp +++ b/src/suyu/game_list_worker.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include diff --git a/src/suyu/loading_screen.cpp b/src/suyu/loading_screen.cpp index 2a83b9a867..64f3264bec 100644 --- a/src/suyu/loading_screen.cpp +++ b/src/suyu/loading_screen.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2019 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2019 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include diff --git a/src/suyu/loading_screen.h b/src/suyu/loading_screen.h index dfaa191567..ef12b59c39 100644 --- a/src/suyu/loading_screen.h +++ b/src/suyu/loading_screen.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2019 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2019 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once diff --git a/src/suyu/main.cpp b/src/suyu/main.cpp index 991ff67768..0d07c8d6d0 100644 --- a/src/suyu/main.cpp +++ b/src/suyu/main.cpp @@ -1,6 +1,8 @@ -// SPDX-FileCopyrightText: 2014 Citra Emulator Project +// SPDX-FileCopyrightText: 2014 Citra Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later +// Modified by palfaiate on <2024/03/07> + #include #include #include @@ -8,12 +10,8 @@ #include #include #include - -#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__ @@ -21,9 +19,6 @@ #endif #ifdef __unix__ #include -#include -#include -#include #include #include "common/linux/gamemode.h" #endif @@ -59,18 +54,6 @@ #include "suyu/multiplayer/state.h" #include "suyu/util/controller_navigation.h" -// These are wrappers to avoid the calls to CreateDirectory and CreateFile because of the Windows -static FileSys::VirtualDir VfsFilesystemCreateDirectoryWrapper( - const FileSys::VirtualFilesystem& vfs, const std::string& path, FileSys::OpenMode mode) { - return vfs->CreateDirectory(path, mode); -} - -// Overloaded function, also removed by palafiate -static FileSys::VirtualFile VfsDirectoryCreateFileWrapper(const FileSys::VirtualDir& dir, - const std::string& path) { - return dir->CreateFile(path); -} - #include #include @@ -287,6 +270,18 @@ static void OverrideWindowsFont() { } #endif +bool GMainWindow::CheckDarkMode() { +#ifdef __unix__ + const QPalette test_palette(qApp->palette()); + const QColor text_color = test_palette.color(QPalette::Active, QPalette::Text); + const QColor window_color = test_palette.color(QPalette::Active, QPalette::Window); + return (text_color.value() > window_color.value()); +#else + // TODO: Windows + return false; +#endif // __unix__ +} + GMainWindow::GMainWindow(std::unique_ptr config_, bool has_broken_vulkan) : ui{std::make_unique()}, system{std::make_unique()}, input_subsystem{std::make_shared()}, config{std::move(config_)}, @@ -307,12 +302,15 @@ GMainWindow::GMainWindow(std::unique_ptr config_, bool has_broken_vulk ui->setupUi(this); statusBar()->hide(); + // Check dark mode before a theme is loaded + os_dark_mode = CheckDarkMode(); startup_icon_theme = QIcon::themeName(); - // fallback can only be set once, default theme icons are okay on both light/dark - QIcon::setFallbackThemeName(QStringLiteral("default")); + // fallback can only be set once, colorful theme icons are okay on both light/dark + QIcon::setFallbackThemeName(QStringLiteral("colorful")); QIcon::setFallbackSearchPaths(QStringList(QStringLiteral(":/icons"))); default_theme_paths = QIcon::themeSearchPaths(); + UpdateUITheme(); SetDiscordEnabled(UISettings::values.enable_discord_presence.GetValue()); discord_rpc->Update(); @@ -330,7 +328,6 @@ GMainWindow::GMainWindow(std::unique_ptr config_, bool has_broken_vulk SetDefaultUIGeometry(); RestoreUIState(); - UpdateUITheme(); ConnectMenuEvents(); ConnectWidgetEvents(); @@ -451,10 +448,7 @@ GMainWindow::GMainWindow(std::unique_ptr config_, bool has_broken_vulk SDL_EnableScreenSaver(); #endif -#ifdef __unix__ SetupPrepareForSleep(); - ListenColorSchemeChange(); -#endif QStringList args = QApplication::arguments(); @@ -1470,7 +1464,6 @@ void GMainWindow::ConnectWidgetEvents() { connect(game_list, &GameList::RemoveFileRequested, this, &GMainWindow::OnGameListRemoveFile); connect(game_list, &GameList::RemovePlayTimeRequested, this, &GMainWindow::OnGameListRemovePlayTimeData); - connect(game_list, &GameList::DumpRomFSRequested, this, &GMainWindow::OnGameListDumpRomFS); connect(game_list, &GameList::VerifyIntegrityRequested, this, &GMainWindow::OnGameListVerifyIntegrity); connect(game_list, &GameList::CopyTIDRequested, this, &GMainWindow::OnGameListCopyTID); @@ -1653,8 +1646,8 @@ void GMainWindow::OnDisplayTitleBars(bool show) { } } -#ifdef __unix__ void GMainWindow::SetupPrepareForSleep() { +#ifdef __unix__ auto bus = QDBusConnection::systemBus(); if (bus.isConnected()) { const bool success = bus.connect( @@ -1668,8 +1661,8 @@ void GMainWindow::SetupPrepareForSleep() { } else { LOG_WARNING(Frontend, "QDBusConnection system bus is not connected"); } -} #endif // __unix__ +} void GMainWindow::OnPrepareForSleep(bool prepare_sleep) { if (emu_thread == nullptr) { @@ -1754,20 +1747,18 @@ void GMainWindow::AllowOSSleep() { } bool GMainWindow::LoadROM(const QString& filename, Service::AM::FrontendAppletParameters params) { - 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 (!CheckFirmwarePresence()) { + QMessageBox::critical(this, tr("Component Missing"), tr("Missing Firmware.")); + return false; + } - if (!ContentManager::AreKeysPresent()) { - QMessageBox::warning( - this, tr("Encryption Keys Missing"), - tr("In order to use suyu you need to provide your own encryption keys. " - "You can install them by going to Tools -> Install encryption keys.")); - 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... @@ -1850,7 +1841,7 @@ bool GMainWindow::LoadROM(const QString& filename, Service::AM::FrontendAppletPa const auto description = tr("%1
Please follow the " "suyu quickstart guide to redump your files.
You can refer " - "to the suyu wiki or the suyu Chat for help.", + "to the suyu wiki or the suyu Discord for help.", "%1 signifies an error string.") .arg(QString::fromStdString( GetResultStatusString(static_cast(error_id)))); @@ -2375,68 +2366,6 @@ void GMainWindow::OnTransferableShaderCacheOpenFile(u64 program_id) { QDesktopServices::openUrl(QUrl::fromLocalFile(qt_shader_cache_path)); } -static bool RomFSRawCopy(size_t total_size, size_t& read_size, QProgressDialog& dialog, - const FileSys::VirtualDir& src, const FileSys::VirtualDir& dest, - bool full) { - if (src == nullptr || dest == nullptr || !src->IsReadable() || !dest->IsWritable()) - return false; - if (dialog.wasCanceled()) - return false; - - std::vector buffer(CopyBufferSize); - auto last_timestamp = std::chrono::steady_clock::now(); - - const auto QtRawCopy = [&](const FileSys::VirtualFile& src_file, - const FileSys::VirtualFile& dest_file) { - if (src_file == nullptr || dest_file == nullptr) { - return false; - } - if (!dest_file->Resize(src_file->GetSize())) { - return false; - } - - for (std::size_t i = 0; i < src_file->GetSize(); i += buffer.size()) { - if (dialog.wasCanceled()) { - dest_file->Resize(0); - return false; - } - - using namespace std::literals::chrono_literals; - const auto new_timestamp = std::chrono::steady_clock::now(); - - if ((new_timestamp - last_timestamp) > 33ms) { - last_timestamp = new_timestamp; - dialog.setValue( - static_cast(std::min(read_size, total_size) * 100 / total_size)); - QCoreApplication::processEvents(); - } - - const auto read = src_file->Read(buffer.data(), buffer.size(), i); - dest_file->Write(buffer.data(), read, i); - - read_size += read; - } - - return true; - }; - - if (full) { - for (const auto& file : src->GetFiles()) { - const auto out = VfsDirectoryCreateFileWrapper(dest, file->GetName()); - if (!QtRawCopy(file, out)) - return false; - } - } - - for (const auto& dir : src->GetSubdirectories()) { - const auto out = dest->CreateSubdirectory(dir->GetName()); - if (!RomFSRawCopy(total_size, read_size, dialog, dir, out, full)) - return false; - } - - return true; -} - QString GMainWindow::GetGameListErrorRemoving(InstalledEntryType type) const { switch (type) { case InstalledEntryType::Game: @@ -2678,121 +2607,6 @@ void GMainWindow::RemoveCacheStorage(u64 program_id) { Common::FS::RemoveDirRecursively(path); } -void GMainWindow::OnGameListDumpRomFS(u64 program_id, const std::string& game_path, - DumpRomFSTarget target) { - const auto failed = [this] { - QMessageBox::warning(this, tr("RomFS Extraction Failed!"), - tr("There was an error copying the RomFS files or the user " - "cancelled the operation.")); - }; - - const auto loader = - Loader::GetLoader(*system, vfs->OpenFile(game_path, FileSys::OpenMode::Read)); - if (loader == nullptr) { - failed(); - return; - } - - FileSys::VirtualFile packed_update_raw{}; - loader->ReadUpdateRaw(packed_update_raw); - - const auto& installed = system->GetContentProvider(); - - u64 title_id{}; - u8 raw_type{}; - if (!SelectRomFSDumpTarget(installed, program_id, &title_id, &raw_type)) { - failed(); - return; - } - - const auto type = static_cast(raw_type); - const auto base_nca = installed.GetEntry(title_id, type); - if (!base_nca) { - failed(); - return; - } - - const FileSys::NCA update_nca{packed_update_raw, nullptr}; - if (type != FileSys::ContentRecordType::Program || - update_nca.GetStatus() != Loader::ResultStatus::ErrorMissingBKTRBaseRomFS || - update_nca.GetTitleId() != FileSys::GetUpdateTitleID(title_id)) { - packed_update_raw = {}; - } - - const auto base_romfs = base_nca->GetRomFS(); - const auto dump_dir = - target == DumpRomFSTarget::Normal - ? Common::FS::GetSuyuPath(Common::FS::SuyuPath::DumpDir) - : Common::FS::GetSuyuPath(Common::FS::SuyuPath::SDMCDir) / "atmosphere" / "contents"; - const auto romfs_dir = fmt::format("{:016X}/romfs", title_id); - - const auto path = Common::FS::PathToUTF8String(dump_dir / romfs_dir); - - const FileSys::PatchManager pm{title_id, system->GetFileSystemController(), installed}; - auto romfs = pm.PatchRomFS(base_nca.get(), base_romfs, type, packed_update_raw, false); - - const auto out = VfsFilesystemCreateDirectoryWrapper(vfs, path, FileSys::OpenMode::ReadWrite); - - if (out == nullptr) { - failed(); - vfs->DeleteDirectory(path); - return; - } - - bool ok = false; - const QStringList selections{tr("Full"), tr("Skeleton")}; - const auto res = QInputDialog::getItem( - this, tr("Select RomFS Dump Mode"), - tr("Please select the how you would like the RomFS dumped.
Full will copy all of the " - "files into the new directory while
skeleton will only create the directory " - "structure."), - selections, 0, false, &ok); - if (!ok) { - failed(); - vfs->DeleteDirectory(path); - return; - } - - const auto extracted = FileSys::ExtractRomFS(romfs); - if (extracted == nullptr) { - failed(); - return; - } - - const auto full = res == selections.constFirst(); - - // The expected required space is the size of the RomFS + 1 GiB - const auto minimum_free_space = romfs->GetSize() + 0x40000000; - - if (full && Common::FS::GetFreeSpaceSize(path) < minimum_free_space) { - QMessageBox::warning(this, tr("RomFS Extraction Failed!"), - tr("There is not enough free space at %1 to extract the RomFS. Please " - "free up space or select a different dump directory at " - "Emulation > Configure > System > Filesystem > Dump Root") - .arg(QString::fromStdString(path))); - return; - } - - QProgressDialog progress(tr("Extracting RomFS..."), tr("Cancel"), 0, 100, this); - progress.setWindowModality(Qt::WindowModal); - progress.setMinimumDuration(100); - progress.setAutoClose(false); - progress.setAutoReset(false); - - size_t read_size = 0; - - if (RomFSRawCopy(romfs->GetSize(), read_size, progress, extracted, out, full)) { - progress.close(); - QMessageBox::information(this, tr("RomFS Extraction Succeeded!"), - tr("The operation completed successfully.")); - QDesktopServices::openUrl(QUrl::fromLocalFile(QString::fromStdString(path))); - } else { - progress.close(); - failed(); - vfs->DeleteDirectory(path); - } -} - void GMainWindow::OnGameListVerifyIntegrity(const std::string& game_path) { const auto NotImplemented = [this] { QMessageBox::warning(this, tr("Integrity verification couldn't be performed!"), @@ -3725,8 +3539,7 @@ void GMainWindow::ResetWindowSize1080() { } void GMainWindow::OnConfigure() { - const QString old_theme = UISettings::values.theme; - DarkModeState old_dark_mode_state = UISettings::values.dark_mode_state; + const auto old_theme = UISettings::values.theme; const bool old_discord_presence = UISettings::values.enable_discord_presence.GetValue(); const auto old_language_index = Settings::values.language_index.GetValue(); #ifdef __unix__ @@ -3785,8 +3598,7 @@ void GMainWindow::OnConfigure() { } InitializeHotkeys(); - if (UISettings::values.theme != old_theme || - UISettings::values.dark_mode_state != old_dark_mode_state) { + if (UISettings::values.theme != old_theme) { UpdateUITheme(); } if (UISettings::values.enable_discord_presence.GetValue() != old_discord_presence) { @@ -3802,6 +3614,8 @@ void GMainWindow::OnConfigure() { multiplayer_state->UpdateCredentials(); } + emit UpdateThemedIcons(); + const auto reload = UISettings::values.is_game_list_reload_pending.exchange(false); if (reload || Settings::values.language_index.GetValue() != old_language_index) { game_list->PopulateAsync(UISettings::values.game_dirs); @@ -4816,8 +4630,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.")); } @@ -4863,66 +4677,6 @@ void GMainWindow::SetFirmwareVersion() { firmware_label->setToolTip(QString::fromStdString(display_title)); } -bool GMainWindow::SelectRomFSDumpTarget(const FileSys::ContentProvider& installed, u64 program_id, - u64* selected_title_id, u8* selected_content_record_type) { - using ContentInfo = std::tuple; - boost::container::flat_set available_title_ids; - - const auto RetrieveEntries = [&](FileSys::TitleType title_type, - FileSys::ContentRecordType record_type) { - const auto entries = installed.ListEntriesFilter(title_type, record_type); - for (const auto& entry : entries) { - if (FileSys::GetBaseTitleID(entry.title_id) == program_id && - installed.GetEntry(entry)->GetStatus() == Loader::ResultStatus::Success) { - available_title_ids.insert({entry.title_id, title_type, record_type}); - } - } - }; - - RetrieveEntries(FileSys::TitleType::Application, FileSys::ContentRecordType::Program); - RetrieveEntries(FileSys::TitleType::Application, FileSys::ContentRecordType::HtmlDocument); - RetrieveEntries(FileSys::TitleType::Application, FileSys::ContentRecordType::LegalInformation); - RetrieveEntries(FileSys::TitleType::AOC, FileSys::ContentRecordType::Data); - - if (available_title_ids.empty()) { - return false; - } - - size_t title_index = 0; - - if (available_title_ids.size() > 1) { - QStringList list; - for (auto& [title_id, title_type, record_type] : available_title_ids) { - const auto hex_title_id = QString::fromStdString(fmt::format("{:X}", title_id)); - if (record_type == FileSys::ContentRecordType::Program) { - list.push_back(QStringLiteral("Program [%1]").arg(hex_title_id)); - } else if (record_type == FileSys::ContentRecordType::HtmlDocument) { - list.push_back(QStringLiteral("HTML document [%1]").arg(hex_title_id)); - } else if (record_type == FileSys::ContentRecordType::LegalInformation) { - list.push_back(QStringLiteral("Legal information [%1]").arg(hex_title_id)); - } else { - list.push_back( - QStringLiteral("DLC %1 [%2]").arg(title_id & 0x7FF).arg(hex_title_id)); - } - } - - bool ok; - const auto res = QInputDialog::getItem( - this, tr("Select RomFS Dump Target"), - tr("Please select which RomFS you would like to dump."), list, 0, false, &ok); - if (!ok) { - return false; - } - - title_index = list.indexOf(res); - } - - const auto& [title_id, title_type, record_type] = *available_title_ids.nth(title_index); - *selected_title_id = title_id; - *selected_content_record_type = static_cast(record_type); - return true; -} - bool GMainWindow::ConfirmClose() { if (emu_thread == nullptr || UISettings::values.confirm_before_stopping.GetValue() == ConfirmStop::Ask_Never) { @@ -5042,105 +4796,9 @@ void GMainWindow::filterBarSetChecked(bool state) { emit(OnToggleFilterBar()); } -void GMainWindow::UpdateUITheme() { - const QString default_theme = QString::fromStdString(UISettings::default_theme.data()); - QString current_theme = UISettings::values.theme; - if (current_theme.isEmpty()) { - current_theme = default_theme; - } - - UpdateIcons(current_theme); - - /* Find the stylesheet to load */ - if (TryLoadStylesheet(current_theme)) { - return; - } - - // Reading new theme failed, loading default stylesheet - LOG_ERROR(Frontend, "Unable to open style \"{}\", fallback to the default theme", - current_theme.toStdString()); - - if (TryLoadStylesheet(QStringLiteral(":/%1").arg(default_theme))) { - return; - } - - // Reading default failed, loading empty stylesheet - LOG_ERROR(Frontend, "Unable to set default style, stylesheet file not found"); - - qApp->setStyleSheet({}); - setStyleSheet({}); -} - -void GMainWindow::UpdateIcons(const QString& theme_path) { - // Get the theme directory from its path - std::size_t last_slash = theme_path.toStdString().find_last_of("/"); - QString theme_dir = QString::fromStdString(theme_path.toStdString().substr(last_slash + 1)); - - // Append _dark to the theme name to use dark variant icons - if (CheckDarkMode()) { - LOG_DEBUG(Frontend, "Using icons from: {}", theme_dir.toStdString() + "_dark"); - QIcon::setThemeName(theme_dir + QStringLiteral("_dark")); - } else { - LOG_DEBUG(Frontend, "Using icons from: {}", theme_dir.toStdString()); - QIcon::setThemeName(theme_dir); - } - - const QString theme_directory{ - QString::fromStdString(Common::FS::GetSuyuPathString(Common::FS::SuyuPath::ThemesDir))}; - - // Set path for default icons - // Use icon resources from application binary and current theme local subdirectory, if it exists - QStringList theme_paths; - theme_paths << QString::fromStdString(":/icons") << QStringLiteral("%1").arg(theme_directory); - QIcon::setThemeSearchPaths(theme_paths); - - // Change current directory, to allow user themes to add their own icons - QDir::setCurrent(QStringLiteral("%1/%2").arg(theme_directory, UISettings::values.theme)); - - emit UpdateThemedIcons(); -} - -bool GMainWindow::TryLoadStylesheet(const QString& theme_uri) { - LOG_DEBUG(Frontend, "TryLoadStylesheet()"); - QString style_path; - - // Use themed stylesheet if it exists - if (CheckDarkMode()) { - style_path = theme_uri + QStringLiteral("/dark.qss"); - } else { - style_path = theme_uri + QStringLiteral("/light.qss"); - } - if (!QFile::exists(style_path)) { - LOG_DEBUG(Frontend, "No themed (light/dark) stylesheet, using default one"); - // Use common stylesheet if themed one does not exist - style_path = theme_uri + QStringLiteral("/style.qss"); - } - - // Loading stylesheet - QFile style_file(style_path); - if (style_file.open(QFile::ReadOnly | QFile::Text)) { - // Update the color palette before applying the stylesheet - UpdateThemePalette(); - - LOG_DEBUG(Frontend, "Loading stylesheet in: {}", theme_uri.toStdString()); - QTextStream ts_theme(&style_file); - qApp->setStyleSheet(ts_theme.readAll()); - setStyleSheet(ts_theme.readAll()); - SetCustomStylesheet(); - - return true; - } - // Opening the file failed - return false; -} - -bool GMainWindow::TryLoadStylesheet(const std::filesystem::path& theme_path) { - return TryLoadStylesheet(QString::fromStdString(theme_path.string() + "/")); -} - static void AdjustLinkColor() { QPalette new_pal(qApp->palette()); - if (GMainWindow::CheckDarkMode()) { + if (UISettings::IsDarkTheme()) { new_pal.setColor(QPalette::Link, QColor(0, 190, 255, 255)); } else { new_pal.setColor(QPalette::Link, QColor(0, 140, 200, 255)); @@ -5150,262 +4808,54 @@ static void AdjustLinkColor() { } } -void GMainWindow::UpdateThemePalette() { - LOG_DEBUG(Frontend, "UpdateThemePalette()"); - QPalette themePalette(qApp->palette()); -#ifdef _WIN32 - QColor dark(25, 25, 25); - QString style_name; - if (CheckDarkMode()) { - // We check that the dark mode state is "On" and force a dark palette - if (UISettings::values.dark_mode_state == DarkModeState::On) { - // Set Default Windows Dark palette on Windows platforms to force Dark mode - themePalette.setColor(QPalette::Window, Qt::black); - themePalette.setColor(QPalette::WindowText, Qt::white); - themePalette.setColor(QPalette::Disabled, QPalette::WindowText, QColor(127, 127, 127)); - themePalette.setColor(QPalette::Base, Qt::black); - themePalette.setColor(QPalette::AlternateBase, dark); - themePalette.setColor(QPalette::ToolTipBase, Qt::white); - themePalette.setColor(QPalette::ToolTipText, Qt::black); - themePalette.setColor(QPalette::Text, Qt::white); - themePalette.setColor(QPalette::Disabled, QPalette::Text, QColor(127, 127, 127)); - themePalette.setColor(QPalette::Dark, QColor(128, 128, 128)); - themePalette.setColor(QPalette::Shadow, Qt::white); - themePalette.setColor(QPalette::Button, Qt::black); - themePalette.setColor(QPalette::ButtonText, Qt::white); - themePalette.setColor(QPalette::Disabled, QPalette::ButtonText, QColor(127, 127, 127)); - themePalette.setColor(QPalette::BrightText, QColor(192, 192, 192)); - themePalette.setColor(QPalette::Link, QColor(0, 140, 200)); - themePalette.setColor(QPalette::Highlight, QColor(24, 70, 93)); - themePalette.setColor(QPalette::Disabled, QPalette::Highlight, QColor(0, 85, 255)); - themePalette.setColor(QPalette::HighlightedText, QColor(239, 240, 241)); - themePalette.setColor(QPalette::Disabled, QPalette::HighlightedText, - QColor(239, 240, 241)); - } +void GMainWindow::UpdateUITheme() { + const QString default_theme = QString::fromUtf8( + UISettings::themes[static_cast(UISettings::default_theme)].second); + QString current_theme = QString::fromStdString(UISettings::values.theme); - // AlternateBase is kept at rgb(233, 231, 227) or rgb(245, 245, 245) on Windows dark - // palette, fix this. Sometimes, it even is rgb(0, 0, 0), but uses a very light gray for - // alternate rows, do not know why - if (themePalette.alternateBase().color() == QColor(233, 231, 227) || - themePalette.alternateBase().color() == QColor(245, 245, 245) || - themePalette.alternateBase().color() == QColor(0, 0, 0)) { - themePalette.setColor(QPalette::AlternateBase, dark); - alternate_base_modified = true; - } - // Use fusion theme, since its close to windowsvista, but works well with a dark palette - style_name = QStringLiteral("fusion"); - } else { - // Reset AlternateBase if it has been modified - if (alternate_base_modified) { - themePalette.setColor(QPalette::AlternateBase, QColor(245, 245, 245)); - alternate_base_modified = false; - } - // Reset light palette - themePalette = this->style()->standardPalette(); - // Reset Windows theme to the default - style_name = QStringLiteral("windowsvista"); + if (current_theme.isEmpty()) { + current_theme = default_theme; } - LOG_DEBUG(Frontend, "Using style: {}", style_name.toStdString()); - qApp->setStyle(style_name); -#elif defined(__APPLE__) - // Force the usage of the light palette in light mode - if (CheckDarkMode()) { - // Reset dark palette - themePalette = this->style()->standardPalette(); - } else { - themePalette.setColor(QPalette::Window, QColor(236, 236, 236)); - themePalette.setColor(QPalette::WindowText, Qt::black); - themePalette.setColor(QPalette::Disabled, QPalette::WindowText, Qt::black); - themePalette.setColor(QPalette::Base, Qt::white); - themePalette.setColor(QPalette::AlternateBase, QColor(245, 245, 245)); - themePalette.setColor(QPalette::ToolTipBase, Qt::white); - themePalette.setColor(QPalette::ToolTipText, Qt::black); - themePalette.setColor(QPalette::Text, Qt::black); - themePalette.setColor(QPalette::Disabled, QPalette::Text, Qt::black); - themePalette.setColor(QPalette::Dark, QColor(191, 191, 191)); - themePalette.setColor(QPalette::Shadow, Qt::black); - themePalette.setColor(QPalette::Button, QColor(236, 236, 236)); - themePalette.setColor(QPalette::ButtonText, Qt::black); - themePalette.setColor(QPalette::Disabled, QPalette::ButtonText, QColor(147, 147, 147)); - themePalette.setColor(QPalette::BrightText, Qt::white); - themePalette.setColor(QPalette::Link, QColor(0, 140, 200)); - themePalette.setColor(QPalette::Highlight, QColor(179, 215, 255)); - themePalette.setColor(QPalette::Disabled, QPalette::Highlight, QColor(220, 220, 220)); - themePalette.setColor(QPalette::HighlightedText, Qt::black); - themePalette.setColor(QPalette::Disabled, QPalette::HighlightedText, Qt::black); - } -#else - if (CheckDarkMode()) { - // Set Dark palette on non Windows platforms (that may not have a dark palette) - themePalette.setColor(QPalette::Window, QColor(53, 53, 53)); - themePalette.setColor(QPalette::WindowText, Qt::white); - themePalette.setColor(QPalette::Disabled, QPalette::WindowText, QColor(127, 127, 127)); - themePalette.setColor(QPalette::Base, QColor(42, 42, 42)); - themePalette.setColor(QPalette::AlternateBase, QColor(66, 66, 66)); - themePalette.setColor(QPalette::ToolTipBase, Qt::white); - themePalette.setColor(QPalette::ToolTipText, QColor(53, 53, 53)); - themePalette.setColor(QPalette::Text, Qt::white); - themePalette.setColor(QPalette::Disabled, QPalette::Text, QColor(127, 127, 127)); - themePalette.setColor(QPalette::Dark, QColor(35, 35, 35)); - themePalette.setColor(QPalette::Shadow, QColor(20, 20, 20)); - themePalette.setColor(QPalette::Button, QColor(53, 53, 53)); - themePalette.setColor(QPalette::ButtonText, Qt::white); - themePalette.setColor(QPalette::Disabled, QPalette::ButtonText, QColor(127, 127, 127)); - themePalette.setColor(QPalette::BrightText, Qt::red); - themePalette.setColor(QPalette::Link, QColor(42, 130, 218)); - themePalette.setColor(QPalette::Highlight, QColor(42, 130, 218)); - themePalette.setColor(QPalette::Disabled, QPalette::Highlight, QColor(80, 80, 80)); - themePalette.setColor(QPalette::HighlightedText, Qt::white); - themePalette.setColor(QPalette::Disabled, QPalette::HighlightedText, QColor(127, 127, 127)); - } else { - // Reset light palette - themePalette = this->style()->standardPalette(); - } -#endif - qApp->setPalette(themePalette); + +#ifdef _WIN32 + QIcon::setThemeName(current_theme); AdjustLinkColor(); -} - -void GMainWindow::SetCustomStylesheet() { - setStyleSheet(QStringLiteral("QStatusBar::item { border: none; }")); - - // Set "dark" qss property value, that may be used in stylesheets - bool is_dark_mode = CheckDarkMode(); - if (renderer_status_button) { - renderer_status_button->setProperty("dark", is_dark_mode); - } - if (gpu_accuracy_button) { - gpu_accuracy_button->setProperty("dark", is_dark_mode); - } -#ifdef _WIN32 - // Windows dark mode uses "fusion" style. Make it look like more "windowsvista" light style - if (is_dark_mode) { - /* the groove expands to the size of the slider by default. by giving it a height, it has a - fixed size */ - /* handle is placed by default on the contents rect of the groove. Negative margin expands - it outside the groove */ - setStyleSheet(QStringLiteral("QSlider:horizontal{ height:30px; }\ - QSlider::sub-page:horizontal { background-color: palette(highlight); }\ - QSlider::add-page:horizontal { background-color: palette(midlight);}\ - QSlider::groove:horizontal { border-width: 1px; margin: 1px 0; height: 2px;}\ - QSlider::handle:horizontal { border-width: 1px; border-style: solid; border-color: palette(dark);\ - width: 10px; margin: -10px 0px; }\ - QSlider::handle { background-color: palette(button); }\ - QSlider::handle:hover { background-color: palette(highlight); }")); - } -#endif -} - -#ifdef __unix__ -bool GMainWindow::ListenColorSchemeChange() { - auto bus = QDBusConnection::sessionBus(); - if (bus.isConnected()) { - const QString dbus_service = QStringLiteral("org.freedesktop.portal.Desktop"); - const QString dbus_path = QStringLiteral("/org/freedesktop/portal/desktop"); - const QString dbus_interface = QStringLiteral("org.freedesktop.portal.Settings"); - const QString dbus_method = QStringLiteral("SettingChanged"); - QStringList dbus_arguments; - dbus_arguments << QStringLiteral("org.freedesktop.appearance") - << QStringLiteral("color-scheme"); - const QString dbus_signature = QStringLiteral("ssv"); - - LOG_INFO(Frontend, "Connected to DBus, listening for OS theme changes"); - return bus.connect(dbus_service, dbus_path, dbus_interface, dbus_method, dbus_arguments, - dbus_signature, this, SLOT(UpdateUITheme())); - } - LOG_WARNING(Frontend, "Unable to connect to DBus to listen for OS theme changes"); - return false; -} -#endif - -bool GMainWindow::CheckDarkMode() { - bool is_dark_mode_auto; -#ifdef _WIN32 - // Dark mode cannot be changed after the app started on Windows - is_dark_mode_auto = qgetenv("QT_QPA_PLATFORM").contains("darkmode=2"); #else - is_dark_mode_auto = UISettings::values.dark_mode_state == DarkModeState::Auto; -#endif - if (!is_dark_mode_auto) { - return UISettings::values.dark_mode_state == DarkModeState::On; + if (current_theme == QStringLiteral("default") || current_theme == QStringLiteral("colorful")) { + QIcon::setThemeName(current_theme == QStringLiteral("colorful") ? current_theme + : startup_icon_theme); + QIcon::setThemeSearchPaths(QStringList(default_theme_paths)); + if (CheckDarkMode()) { + current_theme = QStringLiteral("default_dark"); + } } else { - const QPalette current_palette(qApp->palette()); -#ifdef __unix__ - QProcess process; - - // Using the freedesktop specifications for checking dark mode - LOG_DEBUG(Frontend, "Retrieving theme from freedesktop color-scheme..."); - QStringList gdbus_arguments; - gdbus_arguments << QStringLiteral("--dest=org.freedesktop.portal.Desktop") - << QStringLiteral("--object-path /org/freedesktop/portal/desktop") - << QStringLiteral("--method org.freedesktop.portal.Settings.Read") - << QStringLiteral("org.freedesktop.appearance color-scheme"); - process.start(QStringLiteral("gdbus call --session"), gdbus_arguments); - process.waitForFinished(1000); - QByteArray dbus_output = process.readAllStandardOutput(); - - if (!dbus_output.isEmpty()) { - const int systemColorSchema = QString::fromUtf8(dbus_output).trimmed().right(1).toInt(); - return systemColorSchema == 1; - } - - // Try alternative for Gnome if the previous one failed - QStringList gsettings_arguments; - gsettings_arguments << QStringLiteral("get") - << QStringLiteral("org.gnome.desktop.interface") - << QStringLiteral("color-scheme"); - - LOG_DEBUG(Frontend, "failed, retrieving theme from gsettings color-scheme..."); - process.start(QStringLiteral("gsettings"), gsettings_arguments); - process.waitForFinished(1000); - QByteArray gsettings_output = process.readAllStandardOutput(); - - // Try older gtk-theme method if the previous one failed - if (gsettings_output.isEmpty()) { - LOG_DEBUG(Frontend, "failed, retrieving theme from gtk-theme..."); - gsettings_arguments.takeLast(); - gsettings_arguments << QStringLiteral("gtk-theme"); - - process.start(QStringLiteral("gsettings"), gsettings_arguments); - process.waitForFinished(1000); - gsettings_output = process.readAllStandardOutput(); - } - - // Interpret gsettings value if it succeeded - if (!gsettings_output.isEmpty()) { - QString systeme_theme = QString::fromUtf8(gsettings_output); - LOG_DEBUG(Frontend, "Gsettings output: {}", systeme_theme.toStdString()); - return systeme_theme.contains(QStringLiteral("dark"), Qt::CaseInsensitive); - } - LOG_DEBUG(Frontend, "failed, retrieving theme from palette"); + QIcon::setThemeName(current_theme); + QIcon::setThemeSearchPaths(QStringList(QStringLiteral(":/icons"))); + AdjustLinkColor(); + } #endif - // Use default method based on palette swap by OS. It is the only method on Windows with - // Qt 5. Windows needs QT_QPA_PLATFORM env variable set to windows:darkmode=2 to force - // palette change - return (current_palette.color(QPalette::WindowText).lightness() > - current_palette.color(QPalette::Window).lightness()); - } -} - -void GMainWindow::changeEvent(QEvent* event) { - // PaletteChange event appears to only reach so far into the GUI, explicitly asking to - // UpdateUITheme is a decent work around - if (event->type() == QEvent::PaletteChange || - event->type() == QEvent::ApplicationPaletteChange) { - LOG_DEBUG(Frontend, - "Window color palette changed by event: {} (QEvent::PaletteChange is: {})", - event->type(), QEvent::PaletteChange); - const QPalette test_palette(qApp->palette()); - // Keeping eye on QPalette::Window to avoid looping. QPalette::Text might be useful too - const QColor window_color = test_palette.color(QPalette::Active, QPalette::Window); - - if (last_window_color != window_color) { - last_window_color = window_color; - - UpdateUITheme(); + if (current_theme != default_theme) { + QString theme_uri{QStringLiteral(":%1/style.qss").arg(current_theme)}; + QFile f(theme_uri); + if (!f.open(QFile::ReadOnly | QFile::Text)) { + LOG_ERROR(Frontend, "Unable to open style \"{}\", fallback to the default theme", + UISettings::values.theme); + current_theme = default_theme; } } - QWidget::changeEvent(event); + + QString theme_uri{QStringLiteral(":%1/style.qss").arg(current_theme)}; + QFile f(theme_uri); + if (f.open(QFile::ReadOnly | QFile::Text)) { + QTextStream ts(&f); + qApp->setStyleSheet(ts.readAll()); + setStyleSheet(ts.readAll()); + } else { + LOG_ERROR(Frontend, "Unable to set style \"{}\", stylesheet file not found", + UISettings::values.theme); + qApp->setStyleSheet({}); + setStyleSheet({}); + } } void GMainWindow::LoadTranslation() { @@ -5460,6 +4910,26 @@ void GMainWindow::SetGamemodeEnabled(bool state) { } #endif +void GMainWindow::changeEvent(QEvent* event) { +#ifdef __unix__ + // PaletteChange event appears to only reach so far into the GUI, explicitly asking to + // UpdateUITheme is a decent work around + if (event->type() == QEvent::PaletteChange) { + const QPalette test_palette(qApp->palette()); + const QString current_theme = QString::fromStdString(UISettings::values.theme); + // Keeping eye on QPalette::Window to avoid looping. QPalette::Text might be useful too + static QColor last_window_color; + const QColor window_color = test_palette.color(QPalette::Active, QPalette::Window); + if (last_window_color != window_color && (current_theme == QStringLiteral("default") || + current_theme == QStringLiteral("colorful"))) { + UpdateUITheme(); + } + last_window_color = window_color; + } +#endif // __unix__ + QWidget::changeEvent(event); +} + Service::AM::FrontendAppletParameters GMainWindow::ApplicationAppletParameters() { return Service::AM::FrontendAppletParameters{ .applet_id = Service::AM::AppletId::Application, @@ -5586,31 +5056,6 @@ int main(int argc, char* argv[]) { QCoreApplication::setApplicationName(QStringLiteral("suyu")); #ifdef _WIN32 - QByteArray current_qt_qpa = qgetenv("QT_QPA_PLATFORM"); - // Follow dark mode setting, if the "-platform" launch option is not set. - // Otherwise, just follow dark mode for the window decoration (title bar). - if (!current_qt_qpa.contains(":darkmode=")) { - if (UISettings::values.dark_mode_state == DarkModeState::Auto) { - // When setting is Auto, force adapting window decoration and stylesheet palette to use - // Windows theme. Default is darkmode:0, which always uses light palette - if (current_qt_qpa.isEmpty()) { - // Set the value - qputenv("QT_QPA_PLATFORM", QByteArray("windows:darkmode=2")); - } else { - // Concatenate to the existing value - qputenv("QT_QPA_PLATFORM", current_qt_qpa + ",darkmode=2"); - } - } else { - // When setting is no Auto, adapt window decoration to the palette used - if (current_qt_qpa.isEmpty()) { - // Set the value - qputenv("QT_QPA_PLATFORM", QByteArray("windows:darkmode=1")); - } else { - // Concatenate to the existing value - qputenv("QT_QPA_PLATFORM", current_qt_qpa + ",darkmode=1"); - } - } - } // Increases the maximum open file limit to 8192 _setmaxstdio(8192); #endif @@ -5632,7 +5077,7 @@ int main(int argc, char* argv[]) { // Fix the Wayland appId. This needs to match the name of the .desktop file without the .desktop // suffix. - QGuiApplication::setDesktopFileName(QStringLiteral("dev.suyu_emu.suyu")); + QGuiApplication::setDesktopFileName(QStringLiteral("org.suyu_emu.suyu")); #endif SetHighDPIAttributes(); diff --git a/src/suyu/main.h b/src/suyu/main.h index e17c8c0607..7fa28477a7 100644 --- a/src/suyu/main.h +++ b/src/suyu/main.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2014 Citra Emulator Project +// SPDX-FileCopyrightText: 2014 Citra Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later // Modified by palfaiate on <2024/03/07> @@ -25,8 +25,9 @@ #include "suyu/util/controller_navigation.h" #ifdef __unix__ -#include #include +#include +#include #endif class QtConfig; @@ -50,7 +51,6 @@ class WaitTreeWidget; enum class GameListOpenTarget; enum class GameListRemoveTarget; enum class GameListShortcutTarget; -enum class DumpRomFSTarget; enum class InstalledEntryType; class GameListPlaceholder; @@ -167,7 +167,7 @@ class GMainWindow : public QMainWindow { public: void filterBarSetChecked(bool state); - static bool CheckDarkMode(); + void UpdateUITheme(); explicit GMainWindow(std::unique_ptr config_, bool has_broken_vulkan); ~GMainWindow() override; @@ -259,44 +259,12 @@ private: void SetDefaultUIGeometry(); void RestoreUIState(); - /** - * Load the icons used by the current theme. Use dark icons if the current mode is dark - */ - void UpdateIcons(const QString& theme_used); - /** - * Set the palette used by the stylsheet for the dark/light mode selected, according to the OS - */ - void UpdateThemePalette(); - /** - * Try to load a stylesheet from its URI. - * If the path starts with ":/", its embedded in the app, otherwise its in a local directory - * @returns true if the text file could be opened as read-only - */ - bool TryLoadStylesheet(const QString& theme_uri); - /** - * Try to load a stylesheet from filesystem path - * @returns true if the text file could be opened as read-only - */ - bool TryLoadStylesheet(const std::filesystem::path& theme_path); - /** - * Default customizations to the stylesheets - */ - void SetCustomStylesheet(); -#ifdef __unix__ - /** - * Create a signal to update the UI theme when the OS color scheme is changed - * @returns true if we could connect to dbus - */ - bool ListenColorSchemeChange(); -#endif void ConnectWidgetEvents(); void ConnectMenuEvents(); void UpdateMenuState(); -#ifdef __unix__ void SetupPrepareForSleep(); -#endif void PreventOSSleep(); void AllowOSSleep(); @@ -379,7 +347,6 @@ private slots: void OnGameListRemoveFile(u64 program_id, GameListRemoveTarget target, const std::string& game_path); void OnGameListRemovePlayTimeData(u64 program_id); - void OnGameListDumpRomFS(u64 program_id, const std::string& game_path, DumpRomFSTarget target); void OnGameListVerifyIntegrity(const std::string& game_path); void OnGameListCopyTID(u64 program_id); void OnGameListNavigateToGamedbEntry(u64 program_id, @@ -428,7 +395,6 @@ private slots: void ResetWindowSize720(); void ResetWindowSize900(); void ResetWindowSize1080(); - void UpdateUITheme(); void OnAlbum(); void OnCabinet(Service::NFP::CabinetMode mode); void OnMiiEdit(); @@ -475,7 +441,7 @@ private: void OpenURL(const QUrl& url); void LoadTranslation(); void OpenPerGameConfiguration(u64 title_id, const std::string& file_name); - bool CheckSystemArchiveDecryption(); + bool CheckDarkMode(); bool CheckFirmwarePresence(); void SetFirmwareVersion(); void ConfigureFilesystemProvider(const std::string& filepath); @@ -559,8 +525,7 @@ private: QTimer update_input_timer; QString startup_icon_theme; - bool alternate_base_modified = false; - QColor last_window_color; + bool os_dark_mode = false; // FS std::shared_ptr vfs; diff --git a/src/suyu/multiplayer/direct_connect.cpp b/src/suyu/multiplayer/direct_connect.cpp index b8b3eadf83..5d5cb7aabc 100644 --- a/src/suyu/multiplayer/direct_connect.cpp +++ b/src/suyu/multiplayer/direct_connect.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2017 Citra Emulator Project +// SPDX-FileCopyrightText: Copyright 2017 Citra Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include diff --git a/src/suyu/multiplayer/host_room.cpp b/src/suyu/multiplayer/host_room.cpp index f4a61d9624..6c71454c8e 100644 --- a/src/suyu/multiplayer/host_room.cpp +++ b/src/suyu/multiplayer/host_room.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2017 Citra Emulator Project +// SPDX-FileCopyrightText: Copyright 2017 Citra Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include diff --git a/src/suyu/multiplayer/lobby.cpp b/src/suyu/multiplayer/lobby.cpp index 99e4d9ab30..b4c0596632 100644 --- a/src/suyu/multiplayer/lobby.cpp +++ b/src/suyu/multiplayer/lobby.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2017 Citra Emulator Project +// SPDX-FileCopyrightText: Copyright 2017 Citra Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include diff --git a/src/suyu/play_time_manager.cpp b/src/suyu/play_time_manager.cpp index ede966da6e..2d30e7d418 100644 --- a/src/suyu/play_time_manager.cpp +++ b/src/suyu/play_time_manager.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include "common/alignment.h" @@ -87,7 +87,7 @@ std::optional GetCurrentUserPlayTimePath( std::vector elements; elements.reserve(play_time_db.size()); - for (const auto& [program_id, play_time] : play_time_db) { + for (auto& [program_id, play_time] : play_time_db) { if (program_id != 0) { elements.push_back(PlayTimeElement{program_id, play_time}); } diff --git a/src/suyu/play_time_manager.h b/src/suyu/play_time_manager.h index d36319b748..8a45386810 100644 --- a/src/suyu/play_time_manager.h +++ b/src/suyu/play_time_manager.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once diff --git a/src/suyu/startup_checks.cpp b/src/suyu/startup_checks.cpp index 07e8bcb5d8..f7308e0677 100644 --- a/src/suyu/startup_checks.cpp +++ b/src/suyu/startup_checks.cpp @@ -1,11 +1,10 @@ -// SPDX-FileCopyrightText: Copyright 2022 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2022 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include "video_core/vulkan_common/vulkan_wrapper.h" #ifdef _WIN32 #include -#include #include #include #elif defined(SUYU_UNIX) diff --git a/src/suyu/startup_checks.h b/src/suyu/startup_checks.h index aa097ee483..f0fedc3812 100644 --- a/src/suyu/startup_checks.h +++ b/src/suyu/startup_checks.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2022 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2022 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once diff --git a/src/suyu/suyu.qrc b/src/suyu/suyu.qrc index c0dde1bb1b..5d1f425a46 100644 --- a/src/suyu/suyu.qrc +++ b/src/suyu/suyu.qrc @@ -1,5 +1,5 @@ diff --git a/src/suyu/suyu.rc b/src/suyu/suyu.rc index bf891c8ff3..5f5639721f 100644 --- a/src/suyu/suyu.rc +++ b/src/suyu/suyu.rc @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2018 yuzu Emulator Project +// SPDX-FileCopyrightText: 2018 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include "winresrc.h" diff --git a/src/suyu/uisettings.cpp b/src/suyu/uisettings.cpp index 7cf32ddd0e..0bdf944f9a 100644 --- a/src/suyu/uisettings.cpp +++ b/src/suyu/uisettings.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2016 Citra Emulator Project +// SPDX-FileCopyrightText: 2016 Citra Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include @@ -22,15 +22,21 @@ namespace FS = Common::FS; namespace UISettings { -const Themes included_themes{{ - {"Default", ":/default"}, - {"Default monochrome", ":/monochrome"}, - {"Mine Shaft", ":/qdarkstyle"}, - {"Mine Shaft monochrome", ":/qdarkstyle_monochrome"}, - {"Midnight Blue", ":/qdarkstyle_midnight_blue"}, - {"Midnight Blue monochrome", ":/qdarkstyle_midnight_blue_monochrome"}, +const Themes themes{{ + {"Default", "default"}, + {"Default Colorful", "colorful"}, + {"Dark", "qdarkstyle"}, + {"Dark Colorful", "colorful_dark"}, + {"Midnight Blue", "qdarkstyle_midnight_blue"}, + {"Midnight Blue Colorful", "colorful_midnight_blue"}, }}; +bool IsDarkTheme() { + const auto& theme = UISettings::values.theme; + return theme == std::string("qdarkstyle") || theme == std::string("qdarkstyle_midnight_blue") || + theme == std::string("colorful_dark") || theme == std::string("colorful_midnight_blue"); +} + Values values = {}; u32 CalculateWidth(u32 height, Settings::AspectRatio ratio) { diff --git a/src/suyu/uisettings.h b/src/suyu/uisettings.h index ded6a42244..f1956bddf1 100644 --- a/src/suyu/uisettings.h +++ b/src/suyu/uisettings.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2016 Citra Emulator Project +// SPDX-FileCopyrightText: 2016 Citra Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once @@ -18,7 +18,6 @@ using Settings::Category; using Settings::ConfirmStop; -using Settings::DarkModeState; using Settings::Setting; using Settings::SwitchableSetting; @@ -36,6 +35,8 @@ extern template class Setting; namespace UISettings { +bool IsDarkTheme(); + struct ContextualShortcut { std::string keyseq; std::string controller_keyseq; @@ -49,10 +50,25 @@ struct Shortcut { ContextualShortcut shortcut; }; -static constexpr std::string_view default_theme{":/default"}; +enum class Theme { + Default, + DefaultColorful, + Dark, + DarkColorful, + MidnightBlue, + MidnightBlueColorful, +}; + +static constexpr Theme default_theme{ +#ifdef _WIN32 + Theme::DarkColorful +#else + Theme::DefaultColorful +#endif +}; using Themes = std::array, 6>; -extern const Themes included_themes; +extern const Themes themes; struct GameDir { std::string path; @@ -144,8 +160,7 @@ struct Values { QStringList recent_files; Setting language{linkage, {}, "language", Category::Paths}; - QString theme; - DarkModeState dark_mode_state; + std::string theme; // Shortcut name std::vector shortcuts; @@ -263,4 +278,3 @@ Q_DECLARE_METATYPE(Settings::RendererBackend); Q_DECLARE_METATYPE(Settings::ShaderBackend); Q_DECLARE_METATYPE(Settings::AstcRecompression); Q_DECLARE_METATYPE(Settings::AstcDecodeMode); -Q_DECLARE_METATYPE(Settings::DarkModeState); diff --git a/src/suyu/vk_device_info.cpp b/src/suyu/vk_device_info.cpp index 4cdb74be9f..fe10c85e92 100644 --- a/src/suyu/vk_device_info.cpp +++ b/src/suyu/vk_device_info.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include diff --git a/src/suyu/vk_device_info.h b/src/suyu/vk_device_info.h index bda8262f4e..d3b24d35af 100644 --- a/src/suyu/vk_device_info.h +++ b/src/suyu/vk_device_info.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once diff --git a/src/suyu_cmd/CMakeLists.txt b/src/suyu_cmd/CMakeLists.txt index 45cc281218..31a8b34a51 100644 --- a/src/suyu_cmd/CMakeLists.txt +++ b/src/suyu_cmd/CMakeLists.txt @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2018 yuzu Emulator Project +# SPDX-FileCopyrightText: 2018 yuzu Emulator Project & 2024 suyu Emulator Project # SPDX-License-Identifier: GPL-2.0-or-later # Credits to Samantas5855 and others for this function. diff --git a/src/suyu_cmd/emu_window/emu_window_sdl2.cpp b/src/suyu_cmd/emu_window/emu_window_sdl2.cpp index 840dd83707..b9bd2c39f0 100644 --- a/src/suyu_cmd/emu_window/emu_window_sdl2.cpp +++ b/src/suyu_cmd/emu_window/emu_window_sdl2.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2016 Citra Emulator Project +// SPDX-FileCopyrightText: 2016 Citra Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include diff --git a/src/suyu_cmd/emu_window/emu_window_sdl2.h b/src/suyu_cmd/emu_window/emu_window_sdl2.h index f8886bbff4..6cbc2a699e 100644 --- a/src/suyu_cmd/emu_window/emu_window_sdl2.h +++ b/src/suyu_cmd/emu_window/emu_window_sdl2.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2016 Citra Emulator Project +// SPDX-FileCopyrightText: 2016 Citra Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once diff --git a/src/suyu_cmd/emu_window/emu_window_sdl2_gl.cpp b/src/suyu_cmd/emu_window/emu_window_sdl2_gl.cpp index dce4358708..92380538b5 100644 --- a/src/suyu_cmd/emu_window/emu_window_sdl2_gl.cpp +++ b/src/suyu_cmd/emu_window/emu_window_sdl2_gl.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2019 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2019 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include diff --git a/src/suyu_cmd/emu_window/emu_window_sdl2_gl.h b/src/suyu_cmd/emu_window/emu_window_sdl2_gl.h index d000850273..f306168d1e 100644 --- a/src/suyu_cmd/emu_window/emu_window_sdl2_gl.h +++ b/src/suyu_cmd/emu_window/emu_window_sdl2_gl.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2019 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2019 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once diff --git a/src/suyu_cmd/emu_window/emu_window_sdl2_null.cpp b/src/suyu_cmd/emu_window/emu_window_sdl2_null.cpp index 2224940a80..1f7924dc46 100644 --- a/src/suyu_cmd/emu_window/emu_window_sdl2_null.cpp +++ b/src/suyu_cmd/emu_window/emu_window_sdl2_null.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2022 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2022 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include diff --git a/src/suyu_cmd/emu_window/emu_window_sdl2_null.h b/src/suyu_cmd/emu_window/emu_window_sdl2_null.h index adacff11c0..20eae31075 100644 --- a/src/suyu_cmd/emu_window/emu_window_sdl2_null.h +++ b/src/suyu_cmd/emu_window/emu_window_sdl2_null.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2022 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2022 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once diff --git a/src/suyu_cmd/emu_window/emu_window_sdl2_vk.cpp b/src/suyu_cmd/emu_window/emu_window_sdl2_vk.cpp index 28def70fef..5e6cac5f5e 100644 --- a/src/suyu_cmd/emu_window/emu_window_sdl2_vk.cpp +++ b/src/suyu_cmd/emu_window/emu_window_sdl2_vk.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include diff --git a/src/suyu_cmd/emu_window/emu_window_sdl2_vk.h b/src/suyu_cmd/emu_window/emu_window_sdl2_vk.h index 2aebdcb7d8..6db6cd2916 100644 --- a/src/suyu_cmd/emu_window/emu_window_sdl2_vk.h +++ b/src/suyu_cmd/emu_window/emu_window_sdl2_vk.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once diff --git a/src/suyu_cmd/precompiled_headers.h b/src/suyu_cmd/precompiled_headers.h index aabae730bf..79da9caa04 100644 --- a/src/suyu_cmd/precompiled_headers.h +++ b/src/suyu_cmd/precompiled_headers.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2022 yuzu Emulator Project +// SPDX-FileCopyrightText: 2022 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once diff --git a/src/suyu_cmd/sdl_config.cpp b/src/suyu_cmd/sdl_config.cpp index 60317dba5a..8869f1c2bc 100644 --- a/src/suyu_cmd/sdl_config.cpp +++ b/src/suyu_cmd/sdl_config.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later // SDL will break our main function in suyu-cmd if we don't define this before adding SDL.h diff --git a/src/suyu_cmd/sdl_config.h b/src/suyu_cmd/sdl_config.h index 1fd1c692d5..4f86e1695b 100644 --- a/src/suyu_cmd/sdl_config.h +++ b/src/suyu_cmd/sdl_config.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once diff --git a/src/suyu_cmd/suyu.cpp b/src/suyu_cmd/suyu.cpp index c9c35464e6..f559c74f5b 100644 --- a/src/suyu_cmd/suyu.cpp +++ b/src/suyu_cmd/suyu.cpp @@ -1,11 +1,10 @@ -// SPDX-FileCopyrightText: 2014 Citra Emulator Project +// SPDX-FileCopyrightText: 2014 Citra Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include #include #include #include -#include #include #include @@ -24,12 +23,9 @@ #include "core/core_timing.h" #include "core/cpu_manager.h" #include "core/crypto/key_manager.h" -#include "core/file_sys/content_archive.h" -#include "core/file_sys/nca_metadata.h" #include "core/file_sys/registered_cache.h" #include "core/file_sys/vfs/vfs_real.h" #include "core/hle/service/am/applet_manager.h" -#include "core/hle/service/am/service/library_applet_creator.h" #include "core/hle/service/filesystem/filesystem.h" #include "core/loader/loader.h" #include "frontend_common/config.h" @@ -72,7 +68,7 @@ __declspec(dllexport) int AmdPowerXpressRequestHighPerformance = 1; static void PrintHelp(const char* argv0) { std::cout << "Usage: " << argv0 - << " [options]\n" + << " [options] \n" "-c, --config Load the specified configuration file\n" "-f, --fullscreen Start in fullscreen mode\n" "-g, --game File path of the game to load\n" @@ -81,13 +77,7 @@ static void PrintHelp(const char* argv0) { " Nickname, password, address and port for multiplayer\n" "-p, --program Pass following string as arguments to executable\n" "-u, --user Select a specific user profile from 0 to 7\n" - "-v, --version Output version information and exit\n" - "-l, " - "--applet-params=" - "\"program_id,applet_id,applet_type,launch_type,prog_index,prev_prog_index\"\n" - " Numerical parameters for launching an applet. If no\n" - " game is provided, then the applet will launch off of\n" - " the applet_id.\n"; + "-v, --version Output version information and exit\n"; } static void PrintVersion() { @@ -222,7 +212,6 @@ int main(int argc, char** argv) { bool use_multiplayer = false; bool fullscreen = false; - Service::AM::FrontendAppletParameters load_parameters{}; std::string nickname{}; std::string password{}; std::string address{}; @@ -234,7 +223,6 @@ int main(int argc, char** argv) { {"fullscreen", no_argument, 0, 'f'}, {"help", no_argument, 0, 'h'}, {"game", required_argument, 0, 'g'}, - {"applet-params", optional_argument, 0, 'l'}, {"multiplayer", required_argument, 0, 'm'}, {"program", optional_argument, 0, 'p'}, {"user", required_argument, 0, 'u'}, @@ -244,7 +232,7 @@ int main(int argc, char** argv) { }; while (optind < argc) { - int arg = getopt_long(argc, argv, "g:fhvp::c:u:l::", long_options, &option_index); + int arg = getopt_long(argc, argv, "g:fhvp::c:u:", long_options, &option_index); if (arg != -1) { switch (static_cast(arg)) { case 'c': @@ -262,27 +250,6 @@ int main(int argc, char** argv) { filepath = str_arg; break; } - case 'l': { - std::string str_arg(argv[optind++]); - str_arg.append(",0"); // FALLBACK: if string is partially completed ("1234,3") - // this will set all those unset to 0. otherwise we get - // all 3s. - std::stringstream stream(str_arg); - std::string sub; - std::getline(stream, sub, ','); - load_parameters.program_id = std::stoull(sub); - std::getline(stream, sub, ','); - load_parameters.applet_id = static_cast(std::stoul(sub)); - std::getline(stream, sub, ','); - load_parameters.applet_type = static_cast(std::stoi(sub)); - std::getline(stream, sub, ','); - load_parameters.launch_type = static_cast(std::stoi(sub)); - std::getline(stream, sub, ','); - load_parameters.program_index = std::stoi(sub); - std::getline(stream, sub, ','); - load_parameters.previous_program_index = std::stoi(sub); - break; - } case 'm': { use_multiplayer = true; const std::string str_arg(optarg); @@ -364,7 +331,7 @@ int main(int argc, char** argv) { Common::ConfigureNvidiaEnvironmentFlags(); - if (filepath.empty() && !static_cast(load_parameters.applet_id)) { + if (filepath.empty()) { LOG_CRITICAL(Frontend, "Failed to load ROM: No ROM specified"); return -1; } @@ -400,27 +367,9 @@ int main(int argc, char** argv) { system.GetFileSystemController().CreateFactories(*system.GetFilesystem()); system.GetUserChannel().clear(); - if (static_cast(load_parameters.applet_id)) { - // code below based off of suyu/main.cpp : GMainWindow::OnHomeMenu() - Service::AM::AppletProgramId applet_prog_id = - Service::AM::AppletIdToProgramId(load_parameters.applet_id); - auto sysnand = system.GetFileSystemController().GetSystemNANDContents(); - if (!sysnand) { - LOG_CRITICAL(Frontend, "Failed to load applet: Firmware not installed."); - return -1; - } - - auto user_applet_nca = sysnand->GetEntry(static_cast(applet_prog_id), - FileSys::ContentRecordType::Program); - if (!user_applet_nca) { - LOG_CRITICAL(Frontend, "Failed to load applet: applet cannot be found."); - return -1; - } - if (filepath.empty()) - filepath = user_applet_nca->GetFullPath(); - } else { - load_parameters.applet_id = Service::AM::AppletId::Application; - } + Service::AM::FrontendAppletParameters load_parameters{ + .applet_id = Service::AM::AppletId::Application, + }; const Core::SystemResultStatus load_result{system.Load(*emu_window, filepath, load_parameters)}; switch (load_result) { diff --git a/src/suyu_cmd/suyu.rc b/src/suyu_cmd/suyu.rc index bc0f68da30..1b3ae064dc 100644 --- a/src/suyu_cmd/suyu.rc +++ b/src/suyu_cmd/suyu.rc @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2018 yuzu Emulator Project +// SPDX-FileCopyrightText: 2018 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include "winresrc.h" diff --git a/src/tests/video_core/memory_tracker.cpp b/src/tests/video_core/memory_tracker.cpp index bfdcc8a16c..45b1a91dc5 100644 --- a/src/tests/video_core/memory_tracker.cpp +++ b/src/tests/video_core/memory_tracker.cpp @@ -45,7 +45,7 @@ public: [[nodiscard]] unsigned Count() const noexcept { unsigned count = 0; - for (const auto& [_, value] : page_table) { + for (const auto& [index, value] : page_table) { count += value; } return count; diff --git a/src/video_core/CMakeLists.txt b/src/video_core/CMakeLists.txt index 0afa3d7036..36affdf4f0 100644 --- a/src/video_core/CMakeLists.txt +++ b/src/video_core/CMakeLists.txt @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2018 yuzu Emulator Project +# SPDX-FileCopyrightText: 2018 yuzu Emulator Project & 2024 suyu Emulator Project # SPDX-License-Identifier: GPL-2.0-or-later add_subdirectory(host_shaders) @@ -425,11 +425,6 @@ else() # VMA set_source_files_properties(vulkan_common/vma.cpp PROPERTIES COMPILE_OPTIONS "-Wno-conversion;-Wno-unused-variable;-Wno-unused-parameter;-Wno-missing-field-initializers") - - # Get around GCC failing with intrinsics in Debug - if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND CMAKE_BUILD_TYPE MATCHES "Debug") - set_source_files_properties(host1x/vic.cpp PROPERTIES COMPILE_OPTIONS "-O2") - endif() endif() if (ARCHITECTURE_x86_64) diff --git a/src/video_core/host1x/ffmpeg/ffmpeg.cpp b/src/video_core/host1x/ffmpeg/ffmpeg.cpp index 5df7811928..995673bc5c 100644 --- a/src/video_core/host1x/ffmpeg/ffmpeg.cpp +++ b/src/video_core/host1x/ffmpeg/ffmpeg.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include "common/assert.h" diff --git a/src/video_core/host1x/ffmpeg/ffmpeg.h b/src/video_core/host1x/ffmpeg/ffmpeg.h index 3a1f362086..50643cf416 100644 --- a/src/video_core/host1x/ffmpeg/ffmpeg.h +++ b/src/video_core/host1x/ffmpeg/ffmpeg.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once diff --git a/src/video_core/host1x/host1x.h b/src/video_core/host1x/host1x.h index 6de360d363..8debac93dd 100644 --- a/src/video_core/host1x/host1x.h +++ b/src/video_core/host1x/host1x.h @@ -45,7 +45,7 @@ public: // Vic does not know which nvdec is producing frames for it, so search all the fds here for // the given offset. for (auto& map : m_presentation_order) { - for (auto& [offset, _] : map.second) { + for (auto& [offset, frame] : map.second) { if (offset == search_offset) { return map.first; } @@ -53,7 +53,7 @@ public: } for (auto& map : m_decode_order) { - for (auto& [offset, _] : map.second) { + for (auto& [offset, frame] : map.second) { if (offset == search_offset) { return map.first; } diff --git a/src/video_core/host_shaders/fidelityfx_fsr.frag b/src/video_core/host_shaders/fidelityfx_fsr.frag index 3e3a53d5b8..dd65b67594 100644 --- a/src/video_core/host_shaders/fidelityfx_fsr.frag +++ b/src/video_core/host_shaders/fidelityfx_fsr.frag @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later //!#version 460 core diff --git a/src/video_core/host_shaders/opengl_fidelityfx_fsr.frag b/src/video_core/host_shaders/opengl_fidelityfx_fsr.frag index da3e5dec31..a4599c43af 100644 --- a/src/video_core/host_shaders/opengl_fidelityfx_fsr.frag +++ b/src/video_core/host_shaders/opengl_fidelityfx_fsr.frag @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later //!#version 460 core diff --git a/src/video_core/host_shaders/opengl_present_scaleforce.frag b/src/video_core/host_shaders/opengl_present_scaleforce.frag index eace9bf2d7..d1da725b9b 100644 --- a/src/video_core/host_shaders/opengl_present_scaleforce.frag +++ b/src/video_core/host_shaders/opengl_present_scaleforce.frag @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2020 BreadFish64 +// SPDX-FileCopyrightText: 2020 BreadFish64 & 2024 suyu Emulator Project // SPDX-License-Identifier: MIT // Adapted from https://github.com/BreadFish64/ScaleFish/tree/master/scaleforce diff --git a/src/video_core/host_shaders/vulkan_fidelityfx_fsr_easu_fp16.frag b/src/video_core/host_shaders/vulkan_fidelityfx_fsr_easu_fp16.frag index 4a709f7d40..e033f4dd27 100644 --- a/src/video_core/host_shaders/vulkan_fidelityfx_fsr_easu_fp16.frag +++ b/src/video_core/host_shaders/vulkan_fidelityfx_fsr_easu_fp16.frag @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #version 460 core diff --git a/src/video_core/host_shaders/vulkan_fidelityfx_fsr_rcas_fp16.frag b/src/video_core/host_shaders/vulkan_fidelityfx_fsr_rcas_fp16.frag index 77f0406c95..01a17e3bd2 100644 --- a/src/video_core/host_shaders/vulkan_fidelityfx_fsr_rcas_fp16.frag +++ b/src/video_core/host_shaders/vulkan_fidelityfx_fsr_rcas_fp16.frag @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #version 460 core diff --git a/src/video_core/host_shaders/vulkan_present_scaleforce_fp16.frag b/src/video_core/host_shaders/vulkan_present_scaleforce_fp16.frag index 5cf0c2205f..2e396a8269 100644 --- a/src/video_core/host_shaders/vulkan_present_scaleforce_fp16.frag +++ b/src/video_core/host_shaders/vulkan_present_scaleforce_fp16.frag @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2021 yuzu Emulator Project +// SPDX-FileCopyrightText: 2021 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #version 460 diff --git a/src/video_core/macro/macro.cpp b/src/video_core/macro/macro.cpp index 0e3f667977..77cecbe779 100644 --- a/src/video_core/macro/macro.cpp +++ b/src/video_core/macro/macro.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include diff --git a/src/video_core/query_cache.h b/src/video_core/query_cache.h index dd1b1e6e72..9c44a57755 100644 --- a/src/video_core/query_cache.h +++ b/src/video_core/query_cache.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once diff --git a/src/video_core/renderer_base.h b/src/video_core/renderer_base.h index 0eeb689ad8..c180bef73e 100644 --- a/src/video_core/renderer_base.h +++ b/src/video_core/renderer_base.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2014 Citra Emulator Project +// SPDX-FileCopyrightText: 2014 Citra Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once diff --git a/src/video_core/renderer_opengl/gl_device.cpp b/src/video_core/renderer_opengl/gl_device.cpp index 3cf99d1586..92eff494a6 100644 --- a/src/video_core/renderer_opengl/gl_device.cpp +++ b/src/video_core/renderer_opengl/gl_device.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2019 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2019 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include diff --git a/src/video_core/renderer_opengl/gl_resource_manager.cpp b/src/video_core/renderer_opengl/gl_resource_manager.cpp index 2161c1c209..644305cdf0 100644 --- a/src/video_core/renderer_opengl/gl_resource_manager.cpp +++ b/src/video_core/renderer_opengl/gl_resource_manager.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2015 Citra Emulator Project +// SPDX-FileCopyrightText: 2015 Citra Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include diff --git a/src/video_core/renderer_opengl/gl_resource_manager.h b/src/video_core/renderer_opengl/gl_resource_manager.h index ec8f4e1634..b8831ac00a 100644 --- a/src/video_core/renderer_opengl/gl_resource_manager.h +++ b/src/video_core/renderer_opengl/gl_resource_manager.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2015 Citra Emulator Project +// SPDX-FileCopyrightText: 2015 Citra Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once diff --git a/src/video_core/renderer_opengl/gl_shader_cache.cpp b/src/video_core/renderer_opengl/gl_shader_cache.cpp index 50f86c29eb..dd48983ea2 100644 --- a/src/video_core/renderer_opengl/gl_shader_cache.cpp +++ b/src/video_core/renderer_opengl/gl_shader_cache.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include diff --git a/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp b/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp index 46fada689c..1cda51946e 100644 --- a/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp +++ b/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2019 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2019 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include diff --git a/src/video_core/renderer_vulkan/vk_texture_cache.cpp b/src/video_core/renderer_vulkan/vk_texture_cache.cpp index 24853ebb9e..a8a5353ad4 100644 --- a/src/video_core/renderer_vulkan/vk_texture_cache.cpp +++ b/src/video_core/renderer_vulkan/vk_texture_cache.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2019 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2019 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-3.0-or-later #include @@ -1406,7 +1406,7 @@ Image::Image(TextureCacheRuntime& runtime_, const ImageInfo& info_, GPUVAddr gpu if (runtime->device.HasDebuggingToolAttached()) { original_image.SetObjectNameEXT(VideoCommon::Name(*this).c_str()); } - current_image = &Image::original_image; + current_image = *original_image; storage_image_views.resize(info.resources.levels); if (IsPixelFormatASTC(info.format) && !runtime->device.IsOptimalAstcSupported() && Settings::values.astc_recompression.GetValue() == @@ -1550,8 +1550,8 @@ VkImageView Image::StorageImageView(s32 level) noexcept { if (!view) { const auto format_info = MaxwellToVK::SurfaceFormat(runtime->device, FormatType::Optimal, true, info.format); - view = MakeStorageView(runtime->device.GetLogical(), level, *(this->*current_image), - format_info.format); + view = + MakeStorageView(runtime->device.GetLogical(), level, current_image, format_info.format); } return *view; } @@ -1582,7 +1582,7 @@ bool Image::ScaleUp(bool ignore) { runtime->ViewFormats(info.format)); ignore = false; } - current_image = &Image::scaled_image; + current_image = *scaled_image; if (ignore) { return true; } @@ -1607,7 +1607,7 @@ bool Image::ScaleDown(bool ignore) { } ASSERT(info.type != ImageType::Linear); flags &= ~ImageFlagBits::Rescaled; - current_image = &Image::original_image; + current_image = *original_image; if (ignore) { return true; } @@ -1726,7 +1726,7 @@ ImageView::ImageView(TextureCacheRuntime& runtime, const VideoCommon::ImageViewI const VkImageViewUsageCreateInfo image_view_usage{ .sType = VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO, .pNext = nullptr, - .usage = image.UsageFlags(), + .usage = ImageUsageFlags(format_info, format), }; const VkImageViewCreateInfo create_info{ .sType = VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO, @@ -2087,4 +2087,4 @@ void TextureCacheRuntime::TransitionImageLayout(Image& image) { } } -} // namespace Vulkan +} // namespace Vulkan \ No newline at end of file diff --git a/src/video_core/renderer_vulkan/vk_texture_cache.h b/src/video_core/renderer_vulkan/vk_texture_cache.h index 4161d7ff92..8501ec384b 100644 --- a/src/video_core/renderer_vulkan/vk_texture_cache.h +++ b/src/video_core/renderer_vulkan/vk_texture_cache.h @@ -24,6 +24,7 @@ using Common::SlotVector; using VideoCommon::ImageId; using VideoCommon::NUM_RT; using VideoCommon::Region2D; +using VideoCommon::RenderTargets; using VideoCore::Surface::PixelFormat; class BlitImageHelper; @@ -156,17 +157,13 @@ public: std::span copies); [[nodiscard]] VkImage Handle() const noexcept { - return *(this->*current_image); + return current_image; } [[nodiscard]] VkImageAspectFlags AspectMask() const noexcept { return aspect_mask; } - [[nodiscard]] VkImageUsageFlags UsageFlags() const noexcept { - return (this->*current_image).UsageFlags(); - } - /// Returns true when the image is already initialized and mark it as initialized [[nodiscard]] bool ExchangeInitialization() noexcept { return std::exchange(initialized, true); @@ -189,15 +186,11 @@ private: TextureCacheRuntime* runtime{}; vk::Image original_image; - vk::Image scaled_image; - - // Use a pointer to field because it is relative, so that the object can be - // moved without breaking the reference. - vk::Image Image::*current_image{}; - std::vector storage_image_views; VkImageAspectFlags aspect_mask = 0; bool initialized = false; + vk::Image scaled_image{}; + VkImage current_image{}; std::unique_ptr scale_framebuffer; std::unique_ptr scale_view; diff --git a/src/video_core/shader_cache.cpp b/src/video_core/shader_cache.cpp index a281f5d541..b28bb7b3bb 100644 --- a/src/video_core/shader_cache.cpp +++ b/src/video_core/shader_cache.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include diff --git a/src/video_core/shader_cache.h b/src/video_core/shader_cache.h index 31f09e89fa..e305df5ca9 100644 --- a/src/video_core/shader_cache.h +++ b/src/video_core/shader_cache.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once diff --git a/src/video_core/shader_environment.cpp b/src/video_core/shader_environment.cpp index 3b4b645da0..282bb04ae5 100644 --- a/src/video_core/shader_environment.cpp +++ b/src/video_core/shader_environment.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include diff --git a/src/video_core/texture_cache/formatter.h b/src/video_core/texture_cache/formatter.h index ea1c2df791..cabbfcb2dd 100644 --- a/src/video_core/texture_cache/formatter.h +++ b/src/video_core/texture_cache/formatter.h @@ -13,7 +13,7 @@ template <> struct fmt::formatter : fmt::formatter { template - auto format(VideoCore::Surface::PixelFormat format, FormatContext& ctx) const { + auto format(VideoCore::Surface::PixelFormat format, FormatContext& ctx) { using VideoCore::Surface::PixelFormat; const string_view name = [format] { switch (format) { @@ -234,7 +234,7 @@ struct fmt::formatter : fmt::formatter struct fmt::formatter : fmt::formatter { template - auto format(VideoCommon::ImageType type, FormatContext& ctx) const { + auto format(VideoCommon::ImageType type, FormatContext& ctx) { const string_view name = [type] { using VideoCommon::ImageType; switch (type) { @@ -262,7 +262,7 @@ struct fmt::formatter { } template - auto format(const VideoCommon::Extent3D& extent, FormatContext& ctx) const { + auto format(const VideoCommon::Extent3D& extent, FormatContext& ctx) { return fmt::format_to(ctx.out(), "{{{}, {}, {}}}", extent.width, extent.height, extent.depth); } diff --git a/src/video_core/texture_cache/texture_cache_base.h b/src/video_core/texture_cache/texture_cache_base.h index 3237ad94c8..3c073ad222 100644 --- a/src/video_core/texture_cache/texture_cache_base.h +++ b/src/video_core/texture_cache/texture_cache_base.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: 2023 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-3.0-or-later #pragma once diff --git a/src/video_core/vulkan_common/nsight_aftermath_tracker.cpp b/src/video_core/vulkan_common/nsight_aftermath_tracker.cpp index 7b487fa895..6e253e08ac 100644 --- a/src/video_core/vulkan_common/nsight_aftermath_tracker.cpp +++ b/src/video_core/vulkan_common/nsight_aftermath_tracker.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #ifdef HAS_NSIGHT_AFTERMATH diff --git a/src/video_core/vulkan_common/vulkan_device.cpp b/src/video_core/vulkan_common/vulkan_device.cpp index 8ac1e2bed1..fda4465a95 100644 --- a/src/video_core/vulkan_common/vulkan_device.cpp +++ b/src/video_core/vulkan_common/vulkan_device.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include diff --git a/src/video_core/vulkan_common/vulkan_device.h b/src/video_core/vulkan_common/vulkan_device.h index 15dc7b789c..79f62b9241 100644 --- a/src/video_core/vulkan_common/vulkan_device.h +++ b/src/video_core/vulkan_common/vulkan_device.h @@ -702,7 +702,7 @@ public: return properties.driver.driverID == VK_DRIVER_ID_NVIDIA_PROPRIETARY; } - /// Checks if we are running MolvenVK. + /// Checks if we are runing MolvenVK. bool IsMoltenVK() const noexcept { return properties.driver.driverID == VK_DRIVER_ID_MOLTENVK; } diff --git a/src/video_core/vulkan_common/vulkan_memory_allocator.cpp b/src/video_core/vulkan_common/vulkan_memory_allocator.cpp index 54331688e3..8f4a57e3ca 100644 --- a/src/video_core/vulkan_common/vulkan_memory_allocator.cpp +++ b/src/video_core/vulkan_common/vulkan_memory_allocator.cpp @@ -247,7 +247,7 @@ vk::Image MemoryAllocator::CreateImage(const VkImageCreateInfo& ci) const { vk::Check(vmaCreateImage(allocator, &ci, &alloc_ci, &handle, &allocation, nullptr)); - return vk::Image(handle, ci.usage, *device.GetLogical(), allocator, allocation, + return vk::Image(handle, *device.GetLogical(), allocator, allocation, device.GetDispatchLoader()); } diff --git a/src/video_core/vulkan_common/vulkan_wrapper.cpp b/src/video_core/vulkan_common/vulkan_wrapper.cpp index 4c9879109d..68613b60ee 100644 --- a/src/video_core/vulkan_common/vulkan_wrapper.cpp +++ b/src/video_core/vulkan_common/vulkan_wrapper.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include diff --git a/src/video_core/vulkan_common/vulkan_wrapper.h b/src/video_core/vulkan_common/vulkan_wrapper.h index 1bb8a47bdf..757f3c8afb 100644 --- a/src/video_core/vulkan_common/vulkan_wrapper.h +++ b/src/video_core/vulkan_common/vulkan_wrapper.h @@ -623,10 +623,9 @@ public: class Image { public: - explicit Image(VkImage handle_, VkImageUsageFlags usage_, VkDevice owner_, - VmaAllocator allocator_, VmaAllocation allocation_, - const DeviceDispatch& dld_) noexcept - : handle{handle_}, usage{usage_}, owner{owner_}, allocator{allocator_}, + explicit Image(VkImage handle_, VkDevice owner_, VmaAllocator allocator_, + VmaAllocation allocation_, const DeviceDispatch& dld_) noexcept + : handle{handle_}, owner{owner_}, allocator{allocator_}, allocation{allocation_}, dld{&dld_} {} Image() = default; @@ -634,13 +633,12 @@ public: Image& operator=(const Image&) = delete; Image(Image&& rhs) noexcept - : handle{std::exchange(rhs.handle, nullptr)}, usage{rhs.usage}, owner{rhs.owner}, - allocator{rhs.allocator}, allocation{rhs.allocation}, dld{rhs.dld} {} + : handle{std::exchange(rhs.handle, nullptr)}, owner{rhs.owner}, allocator{rhs.allocator}, + allocation{rhs.allocation}, dld{rhs.dld} {} Image& operator=(Image&& rhs) noexcept { Release(); handle = std::exchange(rhs.handle, nullptr); - usage = rhs.usage; owner = rhs.owner; allocator = rhs.allocator; allocation = rhs.allocation; @@ -667,15 +665,10 @@ public: void SetObjectNameEXT(const char* name) const; - [[nodiscard]] VkImageUsageFlags UsageFlags() const noexcept { - return usage; - } - private: void Release() const noexcept; VkImage handle = nullptr; - VkImageUsageFlags usage{}; VkDevice owner = nullptr; VmaAllocator allocator = nullptr; VmaAllocation allocation = nullptr; diff --git a/src/web_service/announce_room_json.h b/src/web_service/announce_room_json.h index d1db5a2981..8820b49563 100644 --- a/src/web_service/announce_room_json.h +++ b/src/web_service/announce_room_json.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2017 Citra Emulator Project +// SPDX-FileCopyrightText: Copyright 2017 Citra Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once diff --git a/src/web_service/verify_login.h b/src/web_service/verify_login.h index e4e3d560f0..4dee9cdc2f 100644 --- a/src/web_service/verify_login.h +++ b/src/web_service/verify_login.h @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2017 Citra Emulator Project +// SPDX-FileCopyrightText: 2017 Citra Emulator Project & 2024 suyu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once