Merge branch 'niansa-qlauncher' of https://gitlab.com/suyu-emu/suyu into niansa-qlauncher

This commit is contained in:
JuanCStar 2024-03-18 09:30:29 +01:00
commit f127dd881d
345 changed files with 3315 additions and 3409 deletions

View file

@ -1,6 +1,6 @@
#!/bin/bash -ex #!/bin/bash -ex
# SPDX-FileCopyrightText: 2019 yuzu Emulator Project
# SPDX-FileCopyrightText: 2019 yuzu Emulator Project & 2024 suyu Emulator Project # SPDX-FileCopyrightText: 2024 suyu Emulator Project
# SPDX-License-Identifier: GPL-2.0-or-later # SPDX-License-Identifier: GPL-2.0-or-later
# Exit on error, rather than continuing with the rest of the script. # Exit on error, rather than continuing with the rest of the script.
@ -12,6 +12,8 @@ mkdir build || true && cd build
cmake .. \ cmake .. \
-DBoost_USE_STATIC_LIBS=ON \ -DBoost_USE_STATIC_LIBS=ON \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \ -DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DSUYU_USE_PRECOMPILED_HEADERS=OFF \
-DDYNARMIC_USE_PRECOMPILED_HEADERS=OFF \
-DCMAKE_CXX_FLAGS="-march=x86-64-v2" \ -DCMAKE_CXX_FLAGS="-march=x86-64-v2" \
-DCMAKE_CXX_COMPILER=/usr/lib/ccache/g++ \ -DCMAKE_CXX_COMPILER=/usr/lib/ccache/g++ \
-DCMAKE_C_COMPILER=/usr/lib/ccache/gcc \ -DCMAKE_C_COMPILER=/usr/lib/ccache/gcc \
@ -24,6 +26,7 @@ cmake .. \
-DSUYU_USE_BUNDLED_FFMPEG=ON \ -DSUYU_USE_BUNDLED_FFMPEG=ON \
-DSUYU_ENABLE_LTO=ON \ -DSUYU_ENABLE_LTO=ON \
-DSUYU_CRASH_DUMPS=ON \ -DSUYU_CRASH_DUMPS=ON \
-DSUYU_USE_FASTER_LD=ON \
-GNinja -GNinja
ninja ninja

3
.gitignore vendored
View file

@ -14,6 +14,7 @@ dist/english_plurals/generated_en.ts
.idea/ .idea/
.vs/ .vs/
.vscode/ .vscode/
.cache/
CMakeLists.txt.user* CMakeLists.txt.user*
# *nix related # *nix related
@ -36,3 +37,5 @@ CMakeSettings.json
# Windows global filetypes # Windows global filetypes
Thumbs.db Thumbs.db
# Local Gitlab CI Runner
.gitlab-ci-local/

68
.gitlab-ci.yml Normal file → Executable file
View file

@ -2,25 +2,81 @@ stages:
- format - format
- build - build
variables:
# https://docs.gitlab.com/ee/ci/runners/configure_runners.html
TRANSFER_METER_FREQUENCY: "2s"
ARTIFACT_COMPRESSION_LEVEL: "fast"
CACHE_COMPRESSION_LEVEL: "fastest"
CACHE_REQUEST_TIMEOUT: 5
# Use FASTZIP for faster compression in cache and artifacts
# https://docs.gitlab.com/runner/configuration/feature-flags.html#available-feature-flags
FF_USE_FASTZIP: true
# Our Variables
CACHE_DIR: "$CI_PROJECT_DIR/ccache"
CCACHE_DIR: $CACHE_DIR
#CLANG FORMAT - CHECKS CODE FOR FORMATTING ISSUES
clang-format: clang-format:
stage: format stage: format
image: suyuemu/cibuild:latest image: suyuemu/cibuild:clangformat
variables: #THIS HAS TO BE FALSE. IT KEEPS RESOURCES AVAILABLE - EG RUNNERS WONT TRY BUILDING IF CODEBASE IS WRONG
RELEASE_NAME: mainline #MR's NEED TO BE CORRECTLY CLANG FORMATTED
allow_failure: false
script: script:
- git submodule update --init --depth 1 --recursive - git submodule update --init --depth 1 --recursive
- bash .ci/scripts/format/script.sh - bash .ci/scripts/format/script.sh
tags:
# - Linux
# - Windows
- Parallelized
#LINUX BUILD - BUILDS LINUX APPIMAGE
build-linux: build-linux:
stage: build stage: build
image: suyuemu/cibuild:latest image: suyuemu/cibuild:linux-x64
resource_group: linux-ci resource_group: linux-ci
cache:
key: "$CI_COMMIT_REF_NAME-ccache"
paths:
- $CACHE_DIR
before_script:
- mkdir -p $CACHE_DIR
- chmod -R 777 $CACHE_DIR
- ls -la $CACHE_DIR
variables: variables:
RELEASE_NAME: mainline GIT_SUBMODULE_STRATEGY: recursive
GIT_SUBMODULE_DEPTH: 1
RELEASE_NAME: mainline
script: script:
- git submodule update --init --depth 1 --recursive
- bash .ci/scripts/linux/docker.sh - bash .ci/scripts/linux/docker.sh
- bash .ci/scripts/linux/upload.sh - bash .ci/scripts/linux/upload.sh
artifacts: artifacts:
paths: paths:
- artifacts/* - artifacts/*
tags:
- Linux
- Parallelized
#ANDROID BUILD - BUILDS APK
android:
stage: build
image: suyuemu/cibuild:android-x64
script:
- apt-get update -y
- git submodule update --init --recursive
- cd externals/vcpkg
- git fetch --unshallow || true
- cd ../..
- export ANDROID_HOME="/usr/lib/android-sdk/"
- echo y | sdkmanager --sdk_root=/usr/lib/android-sdk --licenses
- bash ./.ci/scripts/android/build.sh
- bash ./.ci/scripts/android/upload.sh
artifacts:
paths:
- artifacts/*
tags:
- Linux
- Parallelized

View file

@ -3,6 +3,9 @@
cmake_minimum_required(VERSION 3.22) cmake_minimum_required(VERSION 3.22)
set(CMAKE_XCODE_GENERATE_TOP_LEVEL_PROJECT OFF)
set(CMAKE_XCODE_EMIT_RELATIVE_PATH YES)
project(suyu) project(suyu)
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules") list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules")
@ -30,7 +33,7 @@ set(QT6_LOCATION "" CACHE PATH "Additional Location to search for Qt6 libraries
option(ENABLE_QT_TRANSLATION "Enable translations for the Qt frontend" OFF) option(ENABLE_QT_TRANSLATION "Enable translations for the Qt frontend" OFF)
CMAKE_DEPENDENT_OPTION(SUYU_USE_BUNDLED_QT "Download bundled Qt binaries" "${MSVC}" "ENABLE_QT" OFF) CMAKE_DEPENDENT_OPTION(SUYU_USE_BUNDLED_QT "Download bundled Qt binaries" "${MSVC}" "ENABLE_QT" OFF)
option(ENABLE_WEB_SERVICE "Enable web services (telemetry, etc.)" OFF) option(ENABLE_WEB_SERVICE "Enable web services (telemetry, etc.)" ON)
option(SUYU_USE_BUNDLED_FFMPEG "Download/Build bundled FFmpeg" "${WIN32}") option(SUYU_USE_BUNDLED_FFMPEG "Download/Build bundled FFmpeg" "${WIN32}")
@ -44,7 +47,7 @@ option(SUYU_USE_QT_WEB_ENGINE "Use QtWebEngine for web applet implementation" OF
option(ENABLE_CUBEB "Enables the cubeb audio backend" ON) option(ENABLE_CUBEB "Enables the cubeb audio backend" ON)
option(USE_DISCORD_PRESENCE "Enables Discord Rich Presence" ON) option(USE_DISCORD_PRESENCE "Enables Discord Rich Presence" OFF)
option(SUYU_TESTS "Compile tests" "${BUILD_TESTING}") option(SUYU_TESTS "Compile tests" "${BUILD_TESTING}")
@ -68,7 +71,9 @@ 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(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)
set(DEFAULT_ENABLE_OPENSSL ON) set(DEFAULT_ENABLE_OPENSSL ON)
if (ANDROID OR WIN32 OR APPLE) if (ANDROID OR WIN32 OR APPLE)
@ -733,3 +738,17 @@ if(ENABLE_QT AND UNIX AND NOT APPLE)
install(FILES "dist/org.suyu_emu.suyu.metainfo.xml" install(FILES "dist/org.suyu_emu.suyu.metainfo.xml"
DESTINATION "share/metainfo") DESTINATION "share/metainfo")
endif() endif()
# Enable CCACHE. Linux only for now.
if (USE_CCACHE)
find_program(CCACHE_PROGRAM ccache)
if(CCACHE_PROGRAM)
set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE "${CCACHE_PROGRAM}")
if (SUYU_USE_PRECOMPILED_HEADERS)
message(NOTICE "To make use of CCache, set SUYU_USE_PRECOMPILED_HEADERS to OFF or else, it will barely be functional")
endif()
message(STATUS "CCache found.")
else()
message(STATUS "CCache has not been found and it will not be used. Install CCache or set USE_CCACHE to OFF")
endif()
endif()

View file

@ -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 # SPDX-License-Identifier: GPL-2.0-or-later
# This function downloads a binary library package from our external repo. # This function downloads a binary library package from our external repo.
@ -17,6 +17,9 @@ if (WIN32)
elseif (${CMAKE_SYSTEM_NAME} STREQUAL "Linux") elseif (${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
set(package_repo "ext-linux-bin/-/raw/main/") set(package_repo "ext-linux-bin/-/raw/main/")
set(package_extension ".tar.xz") set(package_extension ".tar.xz")
# elseif (APPLE)
# set(package_repo "ext-osx-bin/-/raw/main/")
# set(package_extension ".dmg")
elseif (ANDROID) elseif (ANDROID)
set(package_repo "ext-android-bin/-/raw/main/") set(package_repo "ext-android-bin/-/raw/main/")
set(package_extension ".tar.xz") set(package_extension ".tar.xz")

View file

@ -5,5 +5,5 @@ SPDX-License-Identifier: GPL-2.0-or-later
Please check out the Please check out the
* [Conributors's guide](https://gitlab.com/suyu-emu/suyu/-/wikis/Contributing). * [Contributors's guide](https://gitlab.com/suyu-emu/suyu/-/wikis/Contributing).
* [Merge request guidelines](https://gitlab.com/suyu-emu/suyu/-/wikis/Merge-requests) * [Merge request guidelines](https://gitlab.com/suyu-emu/suyu/-/wikis/Merge-requests)

View file

@ -18,9 +18,9 @@ This repo is based on Yuzu EA 4176.
<br> <br>
</h1> </h1>
<h4 align="center"><b>suyu</b>, pronounced "sue-you" (wink wink) is the continuation of the world's most popular, open-source, Nintendo Switch emulator, yuzu. <h4 align="center"><b>suyu</b> is the continuation of the world's most popular, open-source, Nintendo Switch emulator, yuzu.
<br> <br>
It is written in C++ with portability in mind, and we actively maintain builds for Windows, Linux and Android. It is written in C++ with portability in mind, and we're actively working on builds for Windows, Linux and Android.
</h4> </h4>
<p align="center"> <p align="center">

10
dist/languages/ar.ts vendored
View file

@ -6256,6 +6256,16 @@ Would you like to bypass this and exit anyway?</source>
هل ترغب في تجاوز هذا والخروج على أية حال؟</translation> هل ترغب في تجاوز هذا والخروج على أية حال؟</translation>
</message> </message>
<message>
<location filename="../../src/suyu/main.cpp" line="1763"/>
<source>Component Missing</source>
<translation>Component Missing</translation>
</message>
<message>
<location filename="../../src/suyu/main.cpp" line="1764"/>
<source>Missing Firmware.</source>
<translation>Missing Firmware.</translation>
</message>
<message> <message>
<location filename="../../src/suyu/configuration/shared_translation.h" line="27"/> <location filename="../../src/suyu/configuration/shared_translation.h" line="27"/>
<source>None</source> <source>None</source>

10
dist/languages/ca.ts vendored
View file

@ -6293,6 +6293,16 @@ Would you like to bypass this and exit anyway?</source>
Desitja tancar-lo de totes maneres?</translation> Desitja tancar-lo de totes maneres?</translation>
</message> </message>
<message>
<location filename="../../src/suyu/main.cpp" line="1763"/>
<source>Component Missing</source>
<translation>Component Missing</translation>
</message>
<message>
<location filename="../../src/suyu/main.cpp" line="1764"/>
<source>Missing Firmware.</source>
<translation>Missing Firmware.</translation>
</message>
<message> <message>
<location filename="../../src/suyu/configuration/shared_translation.h" line="27"/> <location filename="../../src/suyu/configuration/shared_translation.h" line="27"/>
<source>None</source> <source>None</source>

10
dist/languages/cs.ts vendored
View file

@ -6277,6 +6277,16 @@ Would you like to bypass this and exit anyway?</source>
Opravdu si přejete ukončit tuto aplikaci?</translation> Opravdu si přejete ukončit tuto aplikaci?</translation>
</message> </message>
<message>
<location filename="../../src/suyu/main.cpp" line="1763"/>
<source>Component Missing</source>
<translation>Component Missing</translation>
</message>
<message>
<location filename="../../src/suyu/main.cpp" line="1764"/>
<source>Missing Firmware.</source>
<translation>Missing Firmware.</translation>
</message>
<message> <message>
<location filename="../../src/suyu/configuration/shared_translation.h" line="27"/> <location filename="../../src/suyu/configuration/shared_translation.h" line="27"/>
<source>None</source> <source>None</source>

10
dist/languages/da.ts vendored
View file

@ -6281,6 +6281,16 @@ Please, only use this feature to install updates and DLC.</source>
Would you like to bypass this and exit anyway?</source> Would you like to bypass this and exit anyway?</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message>
<location filename="../../src/suyu/main.cpp" line="1763"/>
<source>Component Missing</source>
<translation>Component Missing</translation>
</message>
<message>
<location filename="../../src/suyu/main.cpp" line="1764"/>
<source>Missing Firmware.</source>
<translation>Missing Firmware.</translation>
</message>
<message> <message>
<location filename="../../src/suyu/configuration/shared_translation.h" line="27"/> <location filename="../../src/suyu/configuration/shared_translation.h" line="27"/>
<source>None</source> <source>None</source>

10
dist/languages/de.ts vendored
View file

@ -6303,6 +6303,16 @@ Would you like to bypass this and exit anyway?</source>
Möchtest du dies umgehen und sie trotzdem beenden?</translation> Möchtest du dies umgehen und sie trotzdem beenden?</translation>
</message> </message>
<message>
<location filename="../../src/suyu/main.cpp" line="1763"/>
<source>Component Missing</source>
<translation>Component Missing</translation>
</message>
<message>
<location filename="../../src/suyu/main.cpp" line="1764"/>
<source>Missing Firmware.</source>
<translation>Missing Firmware.</translation>
</message>
<message> <message>
<location filename="../../src/suyu/configuration/shared_translation.h" line="27"/> <location filename="../../src/suyu/configuration/shared_translation.h" line="27"/>
<source>None</source> <source>None</source>

10
dist/languages/el.ts vendored
View file

@ -6277,6 +6277,16 @@ Please, only use this feature to install updates and DLC.</source>
Would you like to bypass this and exit anyway?</source> Would you like to bypass this and exit anyway?</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message>
<location filename="../../src/suyu/main.cpp" line="1763"/>
<source>Component Missing</source>
<translation>Component Missing</translation>
</message>
<message>
<location filename="../../src/suyu/main.cpp" line="1764"/>
<source>Missing Firmware.</source>
<translation>Missing Firmware.</translation>
</message>
<message> <message>
<location filename="../../src/suyu/configuration/shared_translation.h" line="27"/> <location filename="../../src/suyu/configuration/shared_translation.h" line="27"/>
<source>None</source> <source>None</source>

10
dist/languages/es.ts vendored
View file

@ -6349,6 +6349,16 @@ Would you like to bypass this and exit anyway?</source>
¿Quieres salir de todas formas?</translation> ¿Quieres salir de todas formas?</translation>
</message> </message>
<message>
<location filename="../../src/suyu/main.cpp" line="1763"/>
<source>Component Missing</source>
<translation>Component Missing</translation>
</message>
<message>
<location filename="../../src/suyu/main.cpp" line="1764"/>
<source>Missing Firmware.</source>
<translation>Missing Firmware.</translation>
</message>
<message> <message>
<location filename="../../src/suyu/configuration/shared_translation.h" line="27"/> <location filename="../../src/suyu/configuration/shared_translation.h" line="27"/>
<source>None</source> <source>None</source>

10
dist/languages/fi.ts vendored
View file

@ -4778,6 +4778,16 @@ Would you like to bypass this and exit anyway?</source>
Haluatko silti ohittaa tämän ja sulkea?</translation> Haluatko silti ohittaa tämän ja sulkea?</translation>
</message> </message>
<message>
<location filename="../../src/suyu/main.cpp" line="1763"/>
<source>Component Missing</source>
<translation>Component Missing</translation>
</message>
<message>
<location filename="../../src/suyu/main.cpp" line="1764"/>
<source>Missing Firmware.</source>
<translation>Missing Firmware.</translation>
</message>
</context> </context>
<context> <context>
<name>GRenderWindow</name> <name>GRenderWindow</name>

10
dist/languages/fr.ts vendored
View file

@ -6342,6 +6342,16 @@ Would you like to bypass this and exit anyway?</source>
Voulez-vous ignorer ceci and quitter quand même ?</translation> Voulez-vous ignorer ceci and quitter quand même ?</translation>
</message> </message>
<message>
<location filename="../../src/suyu/main.cpp" line="1763"/>
<source>Component Missing</source>
<translation>Component Missing</translation>
</message>
<message>
<location filename="../../src/suyu/main.cpp" line="1764"/>
<source>Missing Firmware.</source>
<translation>Missing Firmware.</translation>
</message>
<message> <message>
<location filename="../../src/suyu/configuration/shared_translation.h" line="27"/> <location filename="../../src/suyu/configuration/shared_translation.h" line="27"/>
<source>None</source> <source>None</source>

10
dist/languages/hu.ts vendored
View file

@ -6315,6 +6315,16 @@ Would you like to bypass this and exit anyway?</source>
<translation>Az éppen futó alkalmazás azt kérte a suyu-tól, hogy ne lépjen ki. <translation>Az éppen futó alkalmazás azt kérte a suyu-tól, hogy ne lépjen ki.
Mégis ki szeretnél lépni?</translation> Mégis ki szeretnél lépni?</translation>
</message>
<message>
<location filename="../../src/suyu/main.cpp" line="1763"/>
<source>Component Missing</source>
<translation>Component Missing</translation>
</message>
<message>
<location filename="../../src/suyu/main.cpp" line="1764"/>
<source>Missing Firmware.</source>
<translation>Missing Firmware.</translation>
</message> </message>
<message> <message>
<location filename="../../src/suyu/configuration/shared_translation.h" line="27"/> <location filename="../../src/suyu/configuration/shared_translation.h" line="27"/>

10
dist/languages/id.ts vendored
View file

@ -6334,6 +6334,16 @@ Please, only use this feature to install updates and DLC.</source>
Would you like to bypass this and exit anyway?</source> Would you like to bypass this and exit anyway?</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message>
<location filename="../../src/suyu/main.cpp" line="1763"/>
<source>Component Missing</source>
<translation>Component Missing</translation>
</message>
<message>
<location filename="../../src/suyu/main.cpp" line="1764"/>
<source>Missing Firmware.</source>
<translation>Missing Firmware.</translation>
</message>
<message> <message>
<location filename="../../src/suyu/configuration/shared_translation.h" line="27"/> <location filename="../../src/suyu/configuration/shared_translation.h" line="27"/>
<source>None</source> <source>None</source>

10
dist/languages/it.ts vendored
View file

@ -6312,6 +6312,16 @@ Would you like to bypass this and exit anyway?</source>
Vuoi forzare l&apos;arresto?</translation> Vuoi forzare l&apos;arresto?</translation>
</message> </message>
<message>
<location filename="../../src/suyu/main.cpp" line="1763"/>
<source>Component Missing</source>
<translation>Component Missing</translation>
</message>
<message>
<location filename="../../src/suyu/main.cpp" line="1764"/>
<source>Missing Firmware.</source>
<translation>Missing Firmware.</translation>
</message>
<message> <message>
<location filename="../../src/suyu/configuration/shared_translation.h" line="27"/> <location filename="../../src/suyu/configuration/shared_translation.h" line="27"/>
<source>None</source> <source>None</source>

View file

@ -6298,6 +6298,16 @@ Would you like to bypass this and exit anyway?</source>
?</translation> ?</translation>
</message> </message>
<message>
<location filename="../../src/suyu/main.cpp" line="1763"/>
<source>Component Missing</source>
<translation>Component Missing</translation>
</message>
<message>
<location filename="../../src/suyu/main.cpp" line="1764"/>
<source>Missing Firmware.</source>
<translation>Missing Firmware.</translation>
</message>
<message> <message>
<location filename="../../src/suyu/configuration/shared_translation.h" line="27"/> <location filename="../../src/suyu/configuration/shared_translation.h" line="27"/>
<source>None</source> <source>None</source>

View file

@ -6297,6 +6297,16 @@ Would you like to bypass this and exit anyway?</source>
?</translation> ?</translation>
</message> </message>
<message>
<location filename="../../src/suyu/main.cpp" line="1763"/>
<source>Component Missing</source>
<translation>Component Missing</translation>
</message>
<message>
<location filename="../../src/suyu/main.cpp" line="1764"/>
<source>Missing Firmware.</source>
<translation>Missing Firmware.</translation>
</message>
<message> <message>
<location filename="../../src/suyu/configuration/shared_translation.h" line="27"/> <location filename="../../src/suyu/configuration/shared_translation.h" line="27"/>
<source>None</source> <source>None</source>

10
dist/languages/nb.ts vendored
View file

@ -6302,6 +6302,16 @@ Would you like to bypass this and exit anyway?</source>
Vil du overstyre dette og lukke likevel?</translation> Vil du overstyre dette og lukke likevel?</translation>
</message> </message>
<message>
<location filename="../../src/suyu/main.cpp" line="1763"/>
<source>Component Missing</source>
<translation>Component Missing</translation>
</message>
<message>
<location filename="../../src/suyu/main.cpp" line="1764"/>
<source>Missing Firmware.</source>
<translation>Missing Firmware.</translation>
</message>
<message> <message>
<location filename="../../src/suyu/configuration/shared_translation.h" line="27"/> <location filename="../../src/suyu/configuration/shared_translation.h" line="27"/>
<source>None</source> <source>None</source>

10
dist/languages/nl.ts vendored
View file

@ -6290,6 +6290,16 @@ Would you like to bypass this and exit anyway?</source>
Wil je toch afsluiten?</translation> Wil je toch afsluiten?</translation>
</message> </message>
<message>
<location filename="../../src/suyu/main.cpp" line="1763"/>
<source>Component Missing</source>
<translation>Component Missing</translation>
</message>
<message>
<location filename="../../src/suyu/main.cpp" line="1764"/>
<source>Missing Firmware.</source>
<translation>Missing Firmware.</translation>
</message>
<message> <message>
<location filename="../../src/suyu/configuration/shared_translation.h" line="27"/> <location filename="../../src/suyu/configuration/shared_translation.h" line="27"/>
<source>None</source> <source>None</source>

10
dist/languages/pl.ts vendored
View file

@ -6293,6 +6293,16 @@ Would you like to bypass this and exit anyway?</source>
Czy chcesz to ominąć i mimo to wyjść?</translation> Czy chcesz to ominąć i mimo to wyjść?</translation>
</message> </message>
<message>
<location filename="../../src/suyu/main.cpp" line="1763"/>
<source>Component Missing</source>
<translation>Component Missing</translation>
</message>
<message>
<location filename="../../src/suyu/main.cpp" line="1764"/>
<source>Missing Firmware.</source>
<translation>Missing Firmware.</translation>
</message>
<message> <message>
<location filename="../../src/configuration/shared_translation.h" line="27"/> <location filename="../../src/configuration/shared_translation.h" line="27"/>
<source>None</source> <source>None</source>

View file

@ -6351,6 +6351,16 @@ Would you like to bypass this and exit anyway?</source>
Deseja ignorar isso e sair mesmo assim?</translation> Deseja ignorar isso e sair mesmo assim?</translation>
</message> </message>
<message>
<location filename="../../src/suyu/main.cpp" line="1763"/>
<source>Component Missing</source>
<translation>Component Missing</translation>
</message>
<message>
<location filename="../../src/suyu/main.cpp" line="1764"/>
<source>Missing Firmware.</source>
<translation>Missing Firmware.</translation>
</message>
<message> <message>
<location filename="../../src/suyu/configuration/shared_translation.h" line="27"/> <location filename="../../src/suyu/configuration/shared_translation.h" line="27"/>
<source>None</source> <source>None</source>

View file

@ -6334,6 +6334,16 @@ Would you like to bypass this and exit anyway?</source>
Deseja ignorar isso e sair mesmo assim?</translation> Deseja ignorar isso e sair mesmo assim?</translation>
</message> </message>
<message>
<location filename="../../src/suyu/main.cpp" line="1763"/>
<source>Component Missing</source>
<translation>Component Missing</translation>
</message>
<message>
<location filename="../../src/suyu/main.cpp" line="1764"/>
<source>Missing Firmware.</source>
<translation>Missing Firmware.</translation>
</message>
<message> <message>
<location filename="../../src/suyu/configuration/shared_translation.h" line="27"/> <location filename="../../src/suyu/configuration/shared_translation.h" line="27"/>
<source>None</source> <source>None</source>

View file

@ -6347,6 +6347,16 @@ Would you like to bypass this and exit anyway?</source>
Хотите ли вы обойти это и выйти в любом случае?</translation> Хотите ли вы обойти это и выйти в любом случае?</translation>
</message> </message>
<message>
<location filename="../../src/suyu/main.cpp" line="1763"/>
<source>Component Missing</source>
<translation>Component Missing</translation>
</message>
<message>
<location filename="../../src/suyu/main.cpp" line="1764"/>
<source>Missing Firmware.</source>
<translation>Missing Firmware.</translation>
</message>
<message> <message>
<location filename="../../src/suyu/configuration/shared_translation.h" line="27"/> <location filename="../../src/suyu/configuration/shared_translation.h" line="27"/>
<source>None</source> <source>None</source>

10
dist/languages/sv.ts vendored
View file

@ -6272,6 +6272,16 @@ Would you like to bypass this and exit anyway?</source>
Vill du strunta i detta och avsluta ändå?</translation> Vill du strunta i detta och avsluta ändå?</translation>
</message> </message>
<message>
<location filename="../../src/suyu/main.cpp" line="1763"/>
<source>Component Missing</source>
<translation>Component Missing</translation>
</message>
<message>
<location filename="../../src/suyu/main.cpp" line="1764"/>
<source>Missing Firmware.</source>
<translation>Missing Firmware.</translation>
</message>
<message> <message>
<location filename="../../src/suyu/configuration/shared_translation.h" line="27"/> <location filename="../../src/suyu/configuration/shared_translation.h" line="27"/>
<source>None</source> <source>None</source>

View file

@ -6294,6 +6294,16 @@ Would you like to bypass this and exit anyway?</source>
Görmezden gelip kapatmak ister misiniz?</translation> Görmezden gelip kapatmak ister misiniz?</translation>
</message> </message>
<message>
<location filename="../../src/suyu/main.cpp" line="1763"/>
<source>Component Missing</source>
<translation>Component Missing</translation>
</message>
<message>
<location filename="../../src/suyu/main.cpp" line="1764"/>
<source>Missing Firmware.</source>
<translation>Missing Firmware.</translation>
</message>
<message> <message>
<location filename="../../src/suyu/configuration/shared_translation.h" line="27"/> <location filename="../../src/suyu/configuration/shared_translation.h" line="27"/>
<source>None</source> <source>None</source>

10
dist/languages/uk.ts vendored
View file

@ -6306,6 +6306,16 @@ Would you like to bypass this and exit anyway?</source>
Чи хочете ви обійти це і вийти в будь-якому випадку?</translation> Чи хочете ви обійти це і вийти в будь-якому випадку?</translation>
</message> </message>
<message>
<location filename="../../src/suyu/main.cpp" line="1763"/>
<source>Component Missing</source>
<translation>Component Missing</translation>
</message>
<message>
<location filename="../../src/suyu/main.cpp" line="1764"/>
<source>Missing Firmware.</source>
<translation>Missing Firmware.</translation>
</message>
<message> <message>
<location filename="../../src/suyu/configuration/shared_translation.h" line="27"/> <location filename="../../src/suyu/configuration/shared_translation.h" line="27"/>
<source>None</source> <source>None</source>

10
dist/languages/vi.ts vendored
View file

@ -6299,6 +6299,16 @@ Would you like to bypass this and exit anyway?</source>
Bạn muốn bỏ qua yêu cầu đó thoát luôn không?</translation> Bạn muốn bỏ qua yêu cầu đó thoát luôn không?</translation>
</message> </message>
<message>
<location filename="../../src/suyu/main.cpp" line="1763"/>
<source>Component Missing</source>
<translation>Component Missing</translation>
</message>
<message>
<location filename="../../src/suyu/main.cpp" line="1764"/>
<source>Missing Firmware.</source>
<translation>Missing Firmware.</translation>
</message>
<message> <message>
<location filename="../../src/suyu/configuration/shared_translation.h" line="27"/> <location filename="../../src/suyu/configuration/shared_translation.h" line="27"/>
<source>None</source> <source>None</source>

View file

@ -6299,6 +6299,16 @@ Would you like to bypass this and exit anyway?</source>
Bạn muốn bỏ qua yêu cầu đó thoát luôn không?</translation> Bạn muốn bỏ qua yêu cầu đó thoát luôn không?</translation>
</message> </message>
<message>
<location filename="../../src/suyu/main.cpp" line="1763"/>
<source>Component Missing</source>
<translation>Component Missing</translation>
</message>
<message>
<location filename="../../src/suyu/main.cpp" line="1764"/>
<source>Missing Firmware.</source>
<translation>Missing Firmware.</translation>
</message>
<message> <message>
<location filename="../../src/suyu/configuration/shared_translation.h" line="27"/> <location filename="../../src/suyu/configuration/shared_translation.h" line="27"/>
<source>None</source> <source>None</source>

View file

@ -6347,6 +6347,16 @@ Would you like to bypass this and exit anyway?</source>
退</translation> 退</translation>
</message> </message>
<message>
<location filename="../../src/suyu/main.cpp" line="1763"/>
<source>Component Missing</source>
<translation>Component Missing</translation>
</message>
<message>
<location filename="../../src/suyu/main.cpp" line="1764"/>
<source>Missing Firmware.</source>
<translation>Missing Firmware.</translation>
</message>
<message> <message>
<location filename="../../src/suyu/configuration/shared_translation.h" line="27"/> <location filename="../../src/suyu/configuration/shared_translation.h" line="27"/>
<source>None</source> <source>None</source>

View file

@ -6343,6 +6343,16 @@ Would you like to bypass this and exit anyway?</source>
退</translation> 退</translation>
</message> </message>
<message>
<location filename="../../src/suyu/main.cpp" line="1763"/>
<source>Component Missing</source>
<translation>Component Missing</translation>
</message>
<message>
<location filename="../../src/suyu/main.cpp" line="1764"/>
<source>Missing Firmware.</source>
<translation>Missing Firmware.</translation>
</message>
<message> <message>
<location filename="../../src/suyu/configuration/shared_translation.h" line="27"/> <location filename="../../src/suyu/configuration/shared_translation.h" line="27"/>
<source>None</source> <source>None</source>

BIN
dist/suyu.icns vendored

Binary file not shown.

View file

@ -1,4 +1,4 @@
# SPDX-FileCopyrightText: 2023 yuzu Emulator Project # SPDX-FileCopyrightText: 2023 suyu Emulator Project
# SPDX-License-Identifier: GPL-3.0-or-later # SPDX-License-Identifier: GPL-3.0-or-later
# Built application files # Built application files

View file

@ -1,4 +1,4 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2023 suyu Emulator Project
// SPDX-License-Identifier: GPL-3.0-or-later // SPDX-License-Identifier: GPL-3.0-or-later
import android.annotation.SuppressLint import android.annotation.SuppressLint
@ -25,7 +25,7 @@ val autoVersion = (((System.currentTimeMillis() / 1000) - 1451606400) / 10).toIn
@Suppress("UnstableApiUsage") @Suppress("UnstableApiUsage")
android { android {
namespace = "org.yuzu.yuzu_emu" namespace = "org.suyu.suyu_emu"
compileSdkVersion = "android-34" compileSdkVersion = "android-34"
ndkVersion = "26.1.10909125" ndkVersion = "26.1.10909125"
@ -54,7 +54,7 @@ android {
defaultConfig { defaultConfig {
// TODO If this is ever modified, change application_id in strings.xml // TODO If this is ever modified, change application_id in strings.xml
applicationId = "org.yuzu.yuzu_emu" applicationId = "org.suyu.suyu_emu"
minSdk = 30 minSdk = 30
targetSdk = 34 targetSdk = 34
versionName = getGitVersion() versionName = getGitVersion()
@ -103,7 +103,7 @@ android {
signingConfigs.getByName("default") signingConfigs.getByName("default")
} }
resValue("string", "app_name_suffixed", "yuzu") resValue("string", "app_name_suffixed", "suyu")
isMinifyEnabled = true isMinifyEnabled = true
isDebuggable = false isDebuggable = false
proguardFiles( proguardFiles(
@ -116,7 +116,7 @@ android {
// Attaches 'debug' suffix to version and package name, allowing installation alongside the release build. // Attaches 'debug' suffix to version and package name, allowing installation alongside the release build.
register("relWithDebInfo") { register("relWithDebInfo") {
isDefault = true isDefault = true
resValue("string", "app_name_suffixed", "yuzu Debug Release") resValue("string", "app_name_suffixed", "suyu Debug Release")
signingConfig = signingConfigs.getByName("default") signingConfig = signingConfigs.getByName("default")
isMinifyEnabled = true isMinifyEnabled = true
isDebuggable = true isDebuggable = true
@ -133,7 +133,7 @@ android {
// Attaches 'debug' suffix to version and package name, allowing installation alongside the release build. // Attaches 'debug' suffix to version and package name, allowing installation alongside the release build.
debug { debug {
signingConfig = signingConfigs.getByName("default") signingConfig = signingConfigs.getByName("default")
resValue("string", "app_name_suffixed", "yuzu Debug") resValue("string", "app_name_suffixed", "suyu Debug")
isDebuggable = true isDebuggable = true
isJniDebuggable = true isJniDebuggable = true
versionNameSuffix = "-debug" versionNameSuffix = "-debug"

View file

@ -1,4 +1,4 @@
# SPDX-FileCopyrightText: 2023 yuzu Emulator Project # SPDX-FileCopyrightText: 2023 suyu Emulator Project
# SPDX-License-Identifier: GPL-3.0-or-later # SPDX-License-Identifier: GPL-3.0-or-later
# To get usable stack traces # To get usable stack traces

View file

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!-- <!--
SPDX-FileCopyrightText: 2023 yuzu Emulator Project SPDX-FileCopyrightText: 2023 suyu Emulator Project
SPDX-License-Identifier: GPL-3.0-or-later SPDX-License-Identifier: GPL-3.0-or-later
--> -->
@ -17,7 +17,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
<uses-permission android:name="android.permission.VIBRATE" /> <uses-permission android:name="android.permission.VIBRATE" />
<application <application
android:name="org.yuzu.yuzu_emu.YuzuApplication" android:name="org.suyu.suyu_emu.SuyuApplication"
android:label="@string/app_name_suffixed" android:label="@string/app_name_suffixed"
android:icon="@drawable/ic_launcher" android:icon="@drawable/ic_launcher"
android:allowBackup="true" android:allowBackup="true"
@ -34,9 +34,9 @@ SPDX-License-Identifier: GPL-3.0-or-later
android:resource="@xml/game_mode_config" /> android:resource="@xml/game_mode_config" />
<activity <activity
android:name="org.yuzu.yuzu_emu.ui.main.MainActivity" android:name="org.suyu.suyu_emu.ui.main.MainActivity"
android:exported="true" android:exported="true"
android:theme="@style/Theme.Yuzu.Splash.Main"> android:theme="@style/Theme.Suyu.Splash.Main">
<!-- This intentfilter marks this Activity as the one that gets launched from Home screen. --> <!-- This intentfilter marks this Activity as the one that gets launched from Home screen. -->
<intent-filter> <intent-filter>
@ -48,13 +48,13 @@ SPDX-License-Identifier: GPL-3.0-or-later
</activity> </activity>
<activity <activity
android:name="org.yuzu.yuzu_emu.features.settings.ui.SettingsActivity" android:name="org.suyu.suyu_emu.features.settings.ui.SettingsActivity"
android:theme="@style/Theme.Yuzu.Main" android:theme="@style/Theme.Suyu.Main"
android:label="@string/preferences_settings"/> android:label="@string/preferences_settings"/>
<activity <activity
android:name="org.yuzu.yuzu_emu.activities.EmulationActivity" android:name="org.suyu.suyu_emu.activities.EmulationActivity"
android:theme="@style/Theme.Yuzu.Main" android:theme="@style/Theme.Suyu.Main"
android:launchMode="singleTop" android:launchMode="singleTop"
android:supportsPictureInPicture="true" android:supportsPictureInPicture="true"
android:configChanges="orientation|screenSize|smallestScreenSize|screenLayout|uiMode" android:configChanges="orientation|screenSize|smallestScreenSize|screenLayout|uiMode"

View file

@ -1,7 +1,7 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2023 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
package org.yuzu.yuzu_emu package org.suyu.suyu_emu
import android.content.DialogInterface import android.content.DialogInterface
import android.net.Uri import android.net.Uri
@ -13,18 +13,18 @@ import android.widget.TextView
import androidx.annotation.Keep import androidx.annotation.Keep
import com.google.android.material.dialog.MaterialAlertDialogBuilder import com.google.android.material.dialog.MaterialAlertDialogBuilder
import java.lang.ref.WeakReference import java.lang.ref.WeakReference
import org.yuzu.yuzu_emu.activities.EmulationActivity import org.suyu.suyu_emu.activities.EmulationActivity
import org.yuzu.yuzu_emu.fragments.CoreErrorDialogFragment import org.suyu.suyu_emu.fragments.CoreErrorDialogFragment
import org.yuzu.yuzu_emu.utils.DocumentsTree import org.suyu.suyu_emu.utils.DocumentsTree
import org.yuzu.yuzu_emu.utils.FileUtil import org.suyu.suyu_emu.utils.FileUtil
import org.yuzu.yuzu_emu.utils.Log import org.suyu.suyu_emu.utils.Log
import org.yuzu.yuzu_emu.model.InstallResult import org.suyu.suyu_emu.model.InstallResult
import org.yuzu.yuzu_emu.model.Patch import org.suyu.suyu_emu.model.Patch
import org.yuzu.yuzu_emu.model.GameVerificationResult import org.suyu.suyu_emu.model.GameVerificationResult
/** /**
* Class which contains methods that interact * Class which contains methods that interact
* with the native side of the Yuzu code. * with the native side of the Suyu code.
*/ */
object NativeLibrary { object NativeLibrary {
@JvmField @JvmField
@ -32,7 +32,7 @@ object NativeLibrary {
init { init {
try { try {
System.loadLibrary("yuzu-android") System.loadLibrary("suyu-android")
} catch (ex: UnsatisfiedLinkError) { } catch (ex: UnsatisfiedLinkError) {
error("[NativeLibrary] $ex") error("[NativeLibrary] $ex")
} }
@ -42,7 +42,7 @@ object NativeLibrary {
@JvmStatic @JvmStatic
fun openContentUri(path: String?, openmode: String?): Int { fun openContentUri(path: String?, openmode: String?): Int {
return if (DocumentsTree.isNativePath(path!!)) { return if (DocumentsTree.isNativePath(path!!)) {
YuzuApplication.documentsTree!!.openContentUri(path, openmode) SuyuApplication.documentsTree!!.openContentUri(path, openmode)
} else { } else {
FileUtil.openContentUri(path, openmode) FileUtil.openContentUri(path, openmode)
} }
@ -52,7 +52,7 @@ object NativeLibrary {
@JvmStatic @JvmStatic
fun getSize(path: String?): Long { fun getSize(path: String?): Long {
return if (DocumentsTree.isNativePath(path!!)) { return if (DocumentsTree.isNativePath(path!!)) {
YuzuApplication.documentsTree!!.getFileSize(path) SuyuApplication.documentsTree!!.getFileSize(path)
} else { } else {
FileUtil.getFileSize(path) FileUtil.getFileSize(path)
} }
@ -62,7 +62,7 @@ object NativeLibrary {
@JvmStatic @JvmStatic
fun exists(path: String?): Boolean { fun exists(path: String?): Boolean {
return if (DocumentsTree.isNativePath(path!!)) { return if (DocumentsTree.isNativePath(path!!)) {
YuzuApplication.documentsTree!!.exists(path) SuyuApplication.documentsTree!!.exists(path)
} else { } else {
FileUtil.exists(path, suppressLog = true) FileUtil.exists(path, suppressLog = true)
} }
@ -72,7 +72,7 @@ object NativeLibrary {
@JvmStatic @JvmStatic
fun isDirectory(path: String?): Boolean { fun isDirectory(path: String?): Boolean {
return if (DocumentsTree.isNativePath(path!!)) { return if (DocumentsTree.isNativePath(path!!)) {
YuzuApplication.documentsTree!!.isDirectory(path) SuyuApplication.documentsTree!!.isDirectory(path)
} else { } else {
FileUtil.isDirectory(path) FileUtil.isDirectory(path)
} }
@ -82,7 +82,7 @@ object NativeLibrary {
@JvmStatic @JvmStatic
fun getParentDirectory(path: String): String = fun getParentDirectory(path: String): String =
if (DocumentsTree.isNativePath(path)) { if (DocumentsTree.isNativePath(path)) {
YuzuApplication.documentsTree!!.getParentDirectory(path) SuyuApplication.documentsTree!!.getParentDirectory(path)
} else { } else {
path path
} }
@ -91,7 +91,7 @@ object NativeLibrary {
@JvmStatic @JvmStatic
fun getFilename(path: String): String = fun getFilename(path: String): String =
if (DocumentsTree.isNativePath(path)) { if (DocumentsTree.isNativePath(path)) {
YuzuApplication.documentsTree!!.getFilename(path) SuyuApplication.documentsTree!!.getFilename(path)
} else { } else {
FileUtil.getFilename(Uri.parse(path)) FileUtil.getFilename(Uri.parse(path))
} }
@ -326,7 +326,7 @@ object NativeLibrary {
} }
/** /**
* Logs the Yuzu version, Android version and, CPU. * Logs the Suyu version, Android version and, CPU.
*/ */
external fun logDeviceInfo() external fun logDeviceInfo()

View file

@ -1,22 +1,22 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2023 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
package org.yuzu.yuzu_emu package org.suyu.suyu_emu
import android.app.Application import android.app.Application
import android.app.NotificationChannel import android.app.NotificationChannel
import android.app.NotificationManager import android.app.NotificationManager
import android.content.Context import android.content.Context
import org.yuzu.yuzu_emu.features.input.NativeInput import org.suyu.suyu_emu.features.input.NativeInput
import java.io.File import java.io.File
import org.yuzu.yuzu_emu.utils.DirectoryInitialization import org.suyu.suyu_emu.utils.DirectoryInitialization
import org.yuzu.yuzu_emu.utils.DocumentsTree import org.suyu.suyu_emu.utils.DocumentsTree
import org.yuzu.yuzu_emu.utils.GpuDriverHelper import org.suyu.suyu_emu.utils.GpuDriverHelper
import org.yuzu.yuzu_emu.utils.Log import org.suyu.suyu_emu.utils.Log
fun Context.getPublicFilesDir(): File = getExternalFilesDir(null) ?: filesDir fun Context.getPublicFilesDir(): File = getExternalFilesDir(null) ?: filesDir
class YuzuApplication : Application() { class SuyuApplication : Application() {
private fun createNotificationChannels() { private fun createNotificationChannels() {
val noticeChannel = NotificationChannel( val noticeChannel = NotificationChannel(
getString(R.string.notice_notification_channel_id), getString(R.string.notice_notification_channel_id),
@ -47,7 +47,7 @@ class YuzuApplication : Application() {
companion object { companion object {
var documentsTree: DocumentsTree? = null var documentsTree: DocumentsTree? = null
lateinit var application: YuzuApplication lateinit var application: SuyuApplication
val appContext: Context val appContext: Context
get() = application.applicationContext get() = application.applicationContext

View file

@ -1,7 +1,7 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2023 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
package org.yuzu.yuzu_emu.activities package org.suyu.suyu_emu.activities
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.app.PendingIntent import android.app.PendingIntent
@ -35,23 +35,23 @@ import androidx.core.view.WindowInsetsCompat
import androidx.core.view.WindowInsetsControllerCompat import androidx.core.view.WindowInsetsControllerCompat
import androidx.navigation.fragment.NavHostFragment import androidx.navigation.fragment.NavHostFragment
import androidx.preference.PreferenceManager import androidx.preference.PreferenceManager
import org.yuzu.yuzu_emu.NativeLibrary import org.suyu.suyu_emu.NativeLibrary
import org.yuzu.yuzu_emu.R import org.suyu.suyu_emu.R
import org.yuzu.yuzu_emu.YuzuApplication import org.suyu.suyu_emu.SuyuApplication
import org.yuzu.yuzu_emu.databinding.ActivityEmulationBinding import org.suyu.suyu_emu.databinding.ActivityEmulationBinding
import org.yuzu.yuzu_emu.features.input.NativeInput import org.suyu.suyu_emu.features.input.NativeInput
import org.yuzu.yuzu_emu.features.settings.model.BooleanSetting import org.suyu.suyu_emu.features.settings.model.BooleanSetting
import org.yuzu.yuzu_emu.features.settings.model.IntSetting import org.suyu.suyu_emu.features.settings.model.IntSetting
import org.yuzu.yuzu_emu.features.settings.model.Settings import org.suyu.suyu_emu.features.settings.model.Settings
import org.yuzu.yuzu_emu.model.EmulationViewModel import org.suyu.suyu_emu.model.EmulationViewModel
import org.yuzu.yuzu_emu.model.Game import org.suyu.suyu_emu.model.Game
import org.yuzu.yuzu_emu.utils.InputHandler import org.suyu.suyu_emu.utils.InputHandler
import org.yuzu.yuzu_emu.utils.Log import org.suyu.suyu_emu.utils.Log
import org.yuzu.yuzu_emu.utils.MemoryUtil import org.suyu.suyu_emu.utils.MemoryUtil
import org.yuzu.yuzu_emu.utils.NativeConfig import org.suyu.suyu_emu.utils.NativeConfig
import org.yuzu.yuzu_emu.utils.NfcReader import org.suyu.suyu_emu.utils.NfcReader
import org.yuzu.yuzu_emu.utils.ParamPackage import org.suyu.suyu_emu.utils.ParamPackage
import org.yuzu.yuzu_emu.utils.ThemeHelper import org.suyu.suyu_emu.utils.ThemeHelper
import java.text.NumberFormat import java.text.NumberFormat
import kotlin.math.roundToInt import kotlin.math.roundToInt
@ -123,7 +123,7 @@ class EmulationActivity : AppCompatActivity(), SensorEventListener {
nfcReader = NfcReader(this) nfcReader = NfcReader(this)
nfcReader.initialize() nfcReader.initialize()
val preferences = PreferenceManager.getDefaultSharedPreferences(YuzuApplication.appContext) val preferences = PreferenceManager.getDefaultSharedPreferences(SuyuApplication.appContext)
if (!preferences.getBoolean(Settings.PREF_MEMORY_WARNING_SHOWN, false)) { if (!preferences.getBoolean(Settings.PREF_MEMORY_WARNING_SHOWN, false)) {
if (MemoryUtil.isLessThan(MemoryUtil.REQUIRED_MEMORY, MemoryUtil.totalMemory)) { if (MemoryUtil.isLessThan(MemoryUtil.REQUIRED_MEMORY, MemoryUtil.totalMemory)) {
Toast.makeText( Toast.makeText(

View file

@ -1,13 +1,13 @@
// SPDX-FileCopyrightText: 2024 yuzu Emulator Project // SPDX-FileCopyrightText: 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
package org.yuzu.yuzu_emu.adapters package org.suyu.suyu_emu.adapters
import android.annotation.SuppressLint import android.annotation.SuppressLint
import androidx.recyclerview.widget.AsyncDifferConfig import androidx.recyclerview.widget.AsyncDifferConfig
import androidx.recyclerview.widget.DiffUtil import androidx.recyclerview.widget.DiffUtil
import androidx.recyclerview.widget.ListAdapter import androidx.recyclerview.widget.ListAdapter
import org.yuzu.yuzu_emu.viewholder.AbstractViewHolder import org.suyu.suyu_emu.viewholder.AbstractViewHolder
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
/** /**

View file

@ -1,11 +1,11 @@
// SPDX-FileCopyrightText: 2024 yuzu Emulator Project // SPDX-FileCopyrightText: 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
package org.yuzu.yuzu_emu.adapters package org.suyu.suyu_emu.adapters
import android.annotation.SuppressLint import android.annotation.SuppressLint
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import org.yuzu.yuzu_emu.viewholder.AbstractViewHolder import org.suyu.suyu_emu.viewholder.AbstractViewHolder
/** /**
* Generic list class meant to take care of basic lists * Generic list class meant to take care of basic lists

View file

@ -1,10 +1,10 @@
// SPDX-FileCopyrightText: 2024 yuzu Emulator Project // SPDX-FileCopyrightText: 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
package org.yuzu.yuzu_emu.adapters package org.suyu.suyu_emu.adapters
import org.yuzu.yuzu_emu.model.SelectableItem import org.suyu.suyu_emu.model.SelectableItem
import org.yuzu.yuzu_emu.viewholder.AbstractViewHolder import org.suyu.suyu_emu.viewholder.AbstractViewHolder
/** /**
* Generic list class meant to take care of single selection UI updates * Generic list class meant to take care of single selection UI updates

View file

@ -1,14 +1,14 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2023 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
package org.yuzu.yuzu_emu.adapters package org.suyu.suyu_emu.adapters
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.ViewGroup import android.view.ViewGroup
import org.yuzu.yuzu_emu.databinding.ListItemAddonBinding import org.suyu.suyu_emu.databinding.ListItemAddonBinding
import org.yuzu.yuzu_emu.model.Patch import org.suyu.suyu_emu.model.Patch
import org.yuzu.yuzu_emu.model.AddonViewModel import org.suyu.suyu_emu.model.AddonViewModel
import org.yuzu.yuzu_emu.viewholder.AbstractViewHolder import org.suyu.suyu_emu.viewholder.AbstractViewHolder
class AddonAdapter(val addonViewModel: AddonViewModel) : class AddonAdapter(val addonViewModel: AddonViewModel) :
AbstractDiffAdapter<Patch, AddonAdapter.AddonViewHolder>() { AbstractDiffAdapter<Patch, AddonAdapter.AddonViewHolder>() {

View file

@ -1,7 +1,7 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2023 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
package org.yuzu.yuzu_emu.adapters package org.suyu.suyu_emu.adapters
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.ViewGroup import android.view.ViewGroup
@ -9,15 +9,15 @@ import android.widget.Toast
import androidx.core.content.res.ResourcesCompat import androidx.core.content.res.ResourcesCompat
import androidx.fragment.app.FragmentActivity import androidx.fragment.app.FragmentActivity
import androidx.navigation.findNavController import androidx.navigation.findNavController
import org.yuzu.yuzu_emu.HomeNavigationDirections import org.suyu.suyu_emu.HomeNavigationDirections
import org.yuzu.yuzu_emu.NativeLibrary import org.suyu.suyu_emu.NativeLibrary
import org.yuzu.yuzu_emu.R import org.suyu.suyu_emu.R
import org.yuzu.yuzu_emu.YuzuApplication import org.suyu.suyu_emu.SuyuApplication
import org.yuzu.yuzu_emu.databinding.CardSimpleOutlinedBinding import org.suyu.suyu_emu.databinding.CardSimpleOutlinedBinding
import org.yuzu.yuzu_emu.model.Applet import org.suyu.suyu_emu.model.Applet
import org.yuzu.yuzu_emu.model.AppletInfo import org.suyu.suyu_emu.model.AppletInfo
import org.yuzu.yuzu_emu.model.Game import org.suyu.suyu_emu.model.Game
import org.yuzu.yuzu_emu.viewholder.AbstractViewHolder import org.suyu.suyu_emu.viewholder.AbstractViewHolder
class AppletAdapter(val activity: FragmentActivity, applets: List<Applet>) : class AppletAdapter(val activity: FragmentActivity, applets: List<Applet>) :
AbstractListAdapter<Applet, AppletAdapter.AppletViewHolder>(applets) { AbstractListAdapter<Applet, AppletAdapter.AppletViewHolder>(applets) {
@ -64,7 +64,7 @@ class AppletAdapter(val activity: FragmentActivity, applets: List<Applet>) :
NativeLibrary.setCurrentAppletId(applet.appletInfo.appletId) NativeLibrary.setCurrentAppletId(applet.appletInfo.appletId)
val appletGame = Game( val appletGame = Game(
title = YuzuApplication.appContext.getString(applet.titleId), title = SuyuApplication.appContext.getString(applet.titleId),
path = appletPath path = appletPath
) )
val action = HomeNavigationDirections.actionGlobalEmulationActivity(appletGame) val action = HomeNavigationDirections.actionGlobalEmulationActivity(appletGame)

View file

@ -1,23 +1,23 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2023 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
package org.yuzu.yuzu_emu.adapters package org.suyu.suyu_emu.adapters
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.ViewGroup import android.view.ViewGroup
import androidx.core.content.res.ResourcesCompat import androidx.core.content.res.ResourcesCompat
import androidx.fragment.app.Fragment import androidx.fragment.app.Fragment
import androidx.navigation.fragment.findNavController import androidx.navigation.fragment.findNavController
import org.yuzu.yuzu_emu.HomeNavigationDirections import org.suyu.suyu_emu.HomeNavigationDirections
import org.yuzu.yuzu_emu.NativeLibrary import org.suyu.suyu_emu.NativeLibrary
import org.yuzu.yuzu_emu.R import org.suyu.suyu_emu.R
import org.yuzu.yuzu_emu.YuzuApplication import org.suyu.suyu_emu.SuyuApplication
import org.yuzu.yuzu_emu.databinding.DialogListItemBinding import org.suyu.suyu_emu.databinding.DialogListItemBinding
import org.yuzu.yuzu_emu.model.CabinetMode import org.suyu.suyu_emu.model.CabinetMode
import org.yuzu.yuzu_emu.adapters.CabinetLauncherDialogAdapter.CabinetModeViewHolder import org.suyu.suyu_emu.adapters.CabinetLauncherDialogAdapter.CabinetModeViewHolder
import org.yuzu.yuzu_emu.model.AppletInfo import org.suyu.suyu_emu.model.AppletInfo
import org.yuzu.yuzu_emu.model.Game import org.suyu.suyu_emu.model.Game
import org.yuzu.yuzu_emu.viewholder.AbstractViewHolder import org.suyu.suyu_emu.viewholder.AbstractViewHolder
class CabinetLauncherDialogAdapter(val fragment: Fragment) : class CabinetLauncherDialogAdapter(val fragment: Fragment) :
AbstractListAdapter<CabinetMode, CabinetModeViewHolder>( AbstractListAdapter<CabinetMode, CabinetModeViewHolder>(
@ -49,7 +49,7 @@ class CabinetLauncherDialogAdapter(val fragment: Fragment) :
NativeLibrary.setCurrentAppletId(AppletInfo.Cabinet.appletId) NativeLibrary.setCurrentAppletId(AppletInfo.Cabinet.appletId)
NativeLibrary.setCabinetMode(mode.id) NativeLibrary.setCabinetMode(mode.id)
val appletGame = Game( val appletGame = Game(
title = YuzuApplication.appContext.getString(R.string.cabinet_applet), title = SuyuApplication.appContext.getString(R.string.cabinet_applet),
path = appletPath path = appletPath
) )
val action = HomeNavigationDirections.actionGlobalEmulationActivity(appletGame) val action = HomeNavigationDirections.actionGlobalEmulationActivity(appletGame)

View file

@ -1,18 +1,18 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2023 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
package org.yuzu.yuzu_emu.adapters package org.suyu.suyu_emu.adapters
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.ViewGroup import android.view.ViewGroup
import org.yuzu.yuzu_emu.R import org.suyu.suyu_emu.R
import org.yuzu.yuzu_emu.databinding.CardDriverOptionBinding import org.suyu.suyu_emu.databinding.CardDriverOptionBinding
import org.yuzu.yuzu_emu.features.settings.model.StringSetting import org.suyu.suyu_emu.features.settings.model.StringSetting
import org.yuzu.yuzu_emu.model.Driver import org.suyu.suyu_emu.model.Driver
import org.yuzu.yuzu_emu.model.DriverViewModel import org.suyu.suyu_emu.model.DriverViewModel
import org.yuzu.yuzu_emu.utils.ViewUtils.marquee import org.suyu.suyu_emu.utils.ViewUtils.marquee
import org.yuzu.yuzu_emu.utils.ViewUtils.setVisible import org.suyu.suyu_emu.utils.ViewUtils.setVisible
import org.yuzu.yuzu_emu.viewholder.AbstractViewHolder import org.suyu.suyu_emu.viewholder.AbstractViewHolder
class DriverAdapter(private val driverViewModel: DriverViewModel) : class DriverAdapter(private val driverViewModel: DriverViewModel) :
AbstractSingleSelectionList<Driver, DriverAdapter.DriverViewHolder>( AbstractSingleSelectionList<Driver, DriverAdapter.DriverViewHolder>(

View file

@ -1,18 +1,18 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2023 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
package org.yuzu.yuzu_emu.adapters package org.suyu.suyu_emu.adapters
import android.net.Uri import android.net.Uri
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.ViewGroup import android.view.ViewGroup
import androidx.fragment.app.FragmentActivity import androidx.fragment.app.FragmentActivity
import org.yuzu.yuzu_emu.databinding.CardFolderBinding import org.suyu.suyu_emu.databinding.CardFolderBinding
import org.yuzu.yuzu_emu.fragments.GameFolderPropertiesDialogFragment import org.suyu.suyu_emu.fragments.GameFolderPropertiesDialogFragment
import org.yuzu.yuzu_emu.model.GameDir import org.suyu.suyu_emu.model.GameDir
import org.yuzu.yuzu_emu.model.GamesViewModel import org.suyu.suyu_emu.model.GamesViewModel
import org.yuzu.yuzu_emu.utils.ViewUtils.marquee import org.suyu.suyu_emu.utils.ViewUtils.marquee
import org.yuzu.yuzu_emu.viewholder.AbstractViewHolder import org.suyu.suyu_emu.viewholder.AbstractViewHolder
class FolderAdapter(val activity: FragmentActivity, val gamesViewModel: GamesViewModel) : class FolderAdapter(val activity: FragmentActivity, val gamesViewModel: GamesViewModel) :
AbstractDiffAdapter<GameDir, FolderAdapter.FolderViewHolder>() { AbstractDiffAdapter<GameDir, FolderAdapter.FolderViewHolder>() {

View file

@ -1,7 +1,7 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2023 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
package org.yuzu.yuzu_emu.adapters package org.suyu.suyu_emu.adapters
import android.net.Uri import android.net.Uri
import android.view.LayoutInflater import android.view.LayoutInflater
@ -19,15 +19,15 @@ import androidx.preference.PreferenceManager
import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext import kotlinx.coroutines.withContext
import org.yuzu.yuzu_emu.HomeNavigationDirections import org.suyu.suyu_emu.HomeNavigationDirections
import org.yuzu.yuzu_emu.R import org.suyu.suyu_emu.R
import org.yuzu.yuzu_emu.YuzuApplication import org.suyu.suyu_emu.SuyuApplication
import org.yuzu.yuzu_emu.databinding.CardGameBinding import org.suyu.suyu_emu.databinding.CardGameBinding
import org.yuzu.yuzu_emu.model.Game import org.suyu.suyu_emu.model.Game
import org.yuzu.yuzu_emu.model.GamesViewModel import org.suyu.suyu_emu.model.GamesViewModel
import org.yuzu.yuzu_emu.utils.GameIconUtils import org.suyu.suyu_emu.utils.GameIconUtils
import org.yuzu.yuzu_emu.utils.ViewUtils.marquee import org.suyu.suyu_emu.utils.ViewUtils.marquee
import org.yuzu.yuzu_emu.viewholder.AbstractViewHolder import org.suyu.suyu_emu.viewholder.AbstractViewHolder
class GameAdapter(private val activity: AppCompatActivity) : class GameAdapter(private val activity: AppCompatActivity) :
AbstractDiffAdapter<Game, GameAdapter.GameViewHolder>(exact = false) { AbstractDiffAdapter<Game, GameAdapter.GameViewHolder>(exact = false) {
@ -51,12 +51,12 @@ class GameAdapter(private val activity: AppCompatActivity) :
fun onClick(game: Game) { fun onClick(game: Game) {
val gameExists = DocumentFile.fromSingleUri( val gameExists = DocumentFile.fromSingleUri(
YuzuApplication.appContext, SuyuApplication.appContext,
Uri.parse(game.path) Uri.parse(game.path)
)?.exists() == true )?.exists() == true
if (!gameExists) { if (!gameExists) {
Toast.makeText( Toast.makeText(
YuzuApplication.appContext, SuyuApplication.appContext,
R.string.loader_error_file_not_found, R.string.loader_error_file_not_found,
Toast.LENGTH_LONG Toast.LENGTH_LONG
).show() ).show()
@ -66,7 +66,7 @@ class GameAdapter(private val activity: AppCompatActivity) :
} }
val preferences = val preferences =
PreferenceManager.getDefaultSharedPreferences(YuzuApplication.appContext) PreferenceManager.getDefaultSharedPreferences(SuyuApplication.appContext)
preferences.edit() preferences.edit()
.putLong( .putLong(
game.keyLastPlayedTime, game.keyLastPlayedTime,
@ -77,12 +77,12 @@ class GameAdapter(private val activity: AppCompatActivity) :
activity.lifecycleScope.launch { activity.lifecycleScope.launch {
withContext(Dispatchers.IO) { withContext(Dispatchers.IO) {
val shortcut = val shortcut =
ShortcutInfoCompat.Builder(YuzuApplication.appContext, game.path) ShortcutInfoCompat.Builder(SuyuApplication.appContext, game.path)
.setShortLabel(game.title) .setShortLabel(game.title)
.setIcon(GameIconUtils.getShortcutIcon(activity, game)) .setIcon(GameIconUtils.getShortcutIcon(activity, game))
.setIntent(game.launchIntent) .setIntent(game.launchIntent)
.build() .build()
ShortcutManagerCompat.pushDynamicShortcut(YuzuApplication.appContext, shortcut) ShortcutManagerCompat.pushDynamicShortcut(SuyuApplication.appContext, shortcut)
} }
} }

View file

@ -1,21 +1,21 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2023 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
package org.yuzu.yuzu_emu.adapters package org.suyu.suyu_emu.adapters
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.ViewGroup import android.view.ViewGroup
import androidx.core.content.res.ResourcesCompat import androidx.core.content.res.ResourcesCompat
import androidx.lifecycle.LifecycleOwner import androidx.lifecycle.LifecycleOwner
import org.yuzu.yuzu_emu.databinding.CardInstallableIconBinding import org.suyu.suyu_emu.databinding.CardInstallableIconBinding
import org.yuzu.yuzu_emu.databinding.CardSimpleOutlinedBinding import org.suyu.suyu_emu.databinding.CardSimpleOutlinedBinding
import org.yuzu.yuzu_emu.model.GameProperty import org.suyu.suyu_emu.model.GameProperty
import org.yuzu.yuzu_emu.model.InstallableProperty import org.suyu.suyu_emu.model.InstallableProperty
import org.yuzu.yuzu_emu.model.SubmenuProperty import org.suyu.suyu_emu.model.SubmenuProperty
import org.yuzu.yuzu_emu.utils.ViewUtils.marquee import org.suyu.suyu_emu.utils.ViewUtils.marquee
import org.yuzu.yuzu_emu.utils.ViewUtils.setVisible import org.suyu.suyu_emu.utils.ViewUtils.setVisible
import org.yuzu.yuzu_emu.utils.collect import org.suyu.suyu_emu.utils.collect
import org.yuzu.yuzu_emu.viewholder.AbstractViewHolder import org.suyu.suyu_emu.viewholder.AbstractViewHolder
class GamePropertiesAdapter( class GamePropertiesAdapter(
private val viewLifecycle: LifecycleOwner, private val viewLifecycle: LifecycleOwner,

View file

@ -1,7 +1,7 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2023 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
package org.yuzu.yuzu_emu.adapters package org.suyu.suyu_emu.adapters
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.ViewGroup import android.view.ViewGroup
@ -9,14 +9,14 @@ import androidx.appcompat.app.AppCompatActivity
import androidx.core.content.ContextCompat import androidx.core.content.ContextCompat
import androidx.core.content.res.ResourcesCompat import androidx.core.content.res.ResourcesCompat
import androidx.lifecycle.LifecycleOwner import androidx.lifecycle.LifecycleOwner
import org.yuzu.yuzu_emu.R import org.suyu.suyu_emu.R
import org.yuzu.yuzu_emu.databinding.CardHomeOptionBinding import org.suyu.suyu_emu.databinding.CardHomeOptionBinding
import org.yuzu.yuzu_emu.fragments.MessageDialogFragment import org.suyu.suyu_emu.fragments.MessageDialogFragment
import org.yuzu.yuzu_emu.model.HomeSetting import org.suyu.suyu_emu.model.HomeSetting
import org.yuzu.yuzu_emu.utils.ViewUtils.marquee import org.suyu.suyu_emu.utils.ViewUtils.marquee
import org.yuzu.yuzu_emu.utils.ViewUtils.setVisible import org.suyu.suyu_emu.utils.ViewUtils.setVisible
import org.yuzu.yuzu_emu.utils.collect import org.suyu.suyu_emu.utils.collect
import org.yuzu.yuzu_emu.viewholder.AbstractViewHolder import org.suyu.suyu_emu.viewholder.AbstractViewHolder
class HomeSettingAdapter( class HomeSettingAdapter(
private val activity: AppCompatActivity, private val activity: AppCompatActivity,

View file

@ -1,14 +1,14 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2023 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
package org.yuzu.yuzu_emu.adapters package org.suyu.suyu_emu.adapters
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.ViewGroup import android.view.ViewGroup
import org.yuzu.yuzu_emu.databinding.CardInstallableBinding import org.suyu.suyu_emu.databinding.CardInstallableBinding
import org.yuzu.yuzu_emu.model.Installable import org.suyu.suyu_emu.model.Installable
import org.yuzu.yuzu_emu.utils.ViewUtils.setVisible import org.suyu.suyu_emu.utils.ViewUtils.setVisible
import org.yuzu.yuzu_emu.viewholder.AbstractViewHolder import org.suyu.suyu_emu.viewholder.AbstractViewHolder
class InstallableAdapter(installables: List<Installable>) : class InstallableAdapter(installables: List<Installable>) :
AbstractListAdapter<Installable, InstallableAdapter.InstallableViewHolder>(installables) { AbstractListAdapter<Installable, InstallableAdapter.InstallableViewHolder>(installables) {

View file

@ -1,16 +1,16 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2023 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
package org.yuzu.yuzu_emu.adapters package org.suyu.suyu_emu.adapters
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.ViewGroup import android.view.ViewGroup
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import org.yuzu.yuzu_emu.databinding.ListItemSettingBinding import org.suyu.suyu_emu.databinding.ListItemSettingBinding
import org.yuzu.yuzu_emu.fragments.LicenseBottomSheetDialogFragment import org.suyu.suyu_emu.fragments.LicenseBottomSheetDialogFragment
import org.yuzu.yuzu_emu.model.License import org.suyu.suyu_emu.model.License
import org.yuzu.yuzu_emu.utils.ViewUtils.setVisible import org.suyu.suyu_emu.utils.ViewUtils.setVisible
import org.yuzu.yuzu_emu.viewholder.AbstractViewHolder import org.suyu.suyu_emu.viewholder.AbstractViewHolder
class LicenseAdapter(private val activity: AppCompatActivity, licenses: List<License>) : class LicenseAdapter(private val activity: AppCompatActivity, licenses: List<License>) :
AbstractListAdapter<License, LicenseAdapter.LicenseViewHolder>(licenses) { AbstractListAdapter<License, LicenseAdapter.LicenseViewHolder>(licenses) {

View file

@ -1,7 +1,7 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2023 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
package org.yuzu.yuzu_emu.adapters package org.suyu.suyu_emu.adapters
import android.text.Html import android.text.Html
import android.view.LayoutInflater import android.view.LayoutInflater
@ -10,14 +10,14 @@ import androidx.appcompat.app.AppCompatActivity
import androidx.core.content.res.ResourcesCompat import androidx.core.content.res.ResourcesCompat
import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.ViewModelProvider
import com.google.android.material.button.MaterialButton import com.google.android.material.button.MaterialButton
import org.yuzu.yuzu_emu.databinding.PageSetupBinding import org.suyu.suyu_emu.databinding.PageSetupBinding
import org.yuzu.yuzu_emu.model.HomeViewModel import org.suyu.suyu_emu.model.HomeViewModel
import org.yuzu.yuzu_emu.model.SetupCallback import org.suyu.suyu_emu.model.SetupCallback
import org.yuzu.yuzu_emu.model.SetupPage import org.suyu.suyu_emu.model.SetupPage
import org.yuzu.yuzu_emu.model.StepState import org.suyu.suyu_emu.model.StepState
import org.yuzu.yuzu_emu.utils.ViewUtils import org.suyu.suyu_emu.utils.ViewUtils
import org.yuzu.yuzu_emu.utils.ViewUtils.setVisible import org.suyu.suyu_emu.utils.ViewUtils.setVisible
import org.yuzu.yuzu_emu.viewholder.AbstractViewHolder import org.suyu.suyu_emu.viewholder.AbstractViewHolder
class SetupAdapter(val activity: AppCompatActivity, pages: List<SetupPage>) : class SetupAdapter(val activity: AppCompatActivity, pages: List<SetupPage>) :
AbstractListAdapter<SetupPage, SetupAdapter.SetupPageViewHolder>(pages) { AbstractListAdapter<SetupPage, SetupAdapter.SetupPageViewHolder>(pages) {

View file

@ -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 // SPDX-License-Identifier: GPL-2.0-or-later
package org.yuzu.yuzu_emu.applets.keyboard package org.suyu.suyu_emu.applets.keyboard
import android.content.Context import android.content.Context
import android.os.Handler import android.os.Handler
@ -13,9 +13,9 @@ import android.view.inputmethod.InputMethodManager
import androidx.annotation.Keep import androidx.annotation.Keep
import androidx.core.view.ViewCompat import androidx.core.view.ViewCompat
import java.io.Serializable import java.io.Serializable
import org.yuzu.yuzu_emu.NativeLibrary import org.suyu.suyu_emu.NativeLibrary
import org.yuzu.yuzu_emu.R import org.suyu.suyu_emu.R
import org.yuzu.yuzu_emu.applets.keyboard.ui.KeyboardDialogFragment import org.suyu.suyu_emu.applets.keyboard.ui.KeyboardDialogFragment
@Keep @Keep
object SoftwareKeyboard { object SoftwareKeyboard {

View file

@ -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 // SPDX-License-Identifier: GPL-2.0-or-later
package org.yuzu.yuzu_emu.applets.keyboard.ui package org.suyu.suyu_emu.applets.keyboard.ui
import android.app.Dialog import android.app.Dialog
import android.content.DialogInterface import android.content.DialogInterface
@ -10,11 +10,11 @@ import android.text.InputFilter
import android.text.InputType import android.text.InputType
import androidx.fragment.app.DialogFragment import androidx.fragment.app.DialogFragment
import com.google.android.material.dialog.MaterialAlertDialogBuilder import com.google.android.material.dialog.MaterialAlertDialogBuilder
import org.yuzu.yuzu_emu.R import org.suyu.suyu_emu.R
import org.yuzu.yuzu_emu.applets.keyboard.SoftwareKeyboard import org.suyu.suyu_emu.applets.keyboard.SoftwareKeyboard
import org.yuzu.yuzu_emu.applets.keyboard.SoftwareKeyboard.KeyboardConfig import org.suyu.suyu_emu.applets.keyboard.SoftwareKeyboard.KeyboardConfig
import org.yuzu.yuzu_emu.databinding.DialogEditTextBinding import org.suyu.suyu_emu.databinding.DialogEditTextBinding
import org.yuzu.yuzu_emu.utils.SerializableHelper.serializable import org.suyu.suyu_emu.utils.SerializableHelper.serializable
class KeyboardDialogFragment : DialogFragment() { class KeyboardDialogFragment : DialogFragment() {
private lateinit var binding: DialogEditTextBinding private lateinit var binding: DialogEditTextBinding

View file

@ -1,15 +1,15 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2023 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
package org.yuzu.yuzu_emu.disk_shader_cache package org.suyu.suyu_emu.disk_shader_cache
import androidx.annotation.Keep import androidx.annotation.Keep
import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.ViewModelProvider
import org.yuzu.yuzu_emu.NativeLibrary import org.suyu.suyu_emu.NativeLibrary
import org.yuzu.yuzu_emu.R import org.suyu.suyu_emu.R
import org.yuzu.yuzu_emu.activities.EmulationActivity import org.suyu.suyu_emu.activities.EmulationActivity
import org.yuzu.yuzu_emu.model.EmulationViewModel import org.suyu.suyu_emu.model.EmulationViewModel
import org.yuzu.yuzu_emu.utils.Log import org.suyu.suyu_emu.utils.Log
@Keep @Keep
object DiskShaderCacheProgress { object DiskShaderCacheProgress {

View file

@ -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: GPL-2.0-or-later
// SPDX-License-Identifier: MPL-2.0 // SPDX-License-Identifier: MPL-2.0
// Copyright © 2023 Skyline Team and Contributors (https://github.com/skyline-emu/) // Copyright © 2023 Skyline Team and Contributors (https://github.com/skyline-emu/)
package org.yuzu.yuzu_emu.features package org.suyu.suyu_emu.features
import android.database.Cursor import android.database.Cursor
import android.database.MatrixCursor import android.database.MatrixCursor
@ -14,14 +14,14 @@ import android.provider.DocumentsContract
import android.provider.DocumentsProvider import android.provider.DocumentsProvider
import android.webkit.MimeTypeMap import android.webkit.MimeTypeMap
import java.io.* import java.io.*
import org.yuzu.yuzu_emu.BuildConfig import org.suyu.suyu_emu.BuildConfig
import org.yuzu.yuzu_emu.R import org.suyu.suyu_emu.R
import org.yuzu.yuzu_emu.YuzuApplication import org.suyu.suyu_emu.SuyuApplication
import org.yuzu.yuzu_emu.getPublicFilesDir import org.suyu.suyu_emu.getPublicFilesDir
class DocumentProvider : DocumentsProvider() { class DocumentProvider : DocumentsProvider() {
private val baseDirectory: File private val baseDirectory: File
get() = File(YuzuApplication.application.getPublicFilesDir().canonicalPath) get() = File(SuyuApplication.application.getPublicFilesDir().canonicalPath)
companion object { companion object {
private val DEFAULT_ROOT_PROJECTION: Array<String> = arrayOf( private val DEFAULT_ROOT_PROJECTION: Array<String> = arrayOf(
@ -91,7 +91,7 @@ class DocumentProvider : DocumentsProvider() {
add(DocumentsContract.Root.COLUMN_DOCUMENT_ID, getDocumentId(baseDirectory)) add(DocumentsContract.Root.COLUMN_DOCUMENT_ID, getDocumentId(baseDirectory))
add(DocumentsContract.Root.COLUMN_MIME_TYPES, "*/*") add(DocumentsContract.Root.COLUMN_MIME_TYPES, "*/*")
add(DocumentsContract.Root.COLUMN_AVAILABLE_BYTES, baseDirectory.freeSpace) add(DocumentsContract.Root.COLUMN_AVAILABLE_BYTES, baseDirectory.freeSpace)
add(DocumentsContract.Root.COLUMN_ICON, R.drawable.ic_yuzu) add(DocumentsContract.Root.COLUMN_ICON, R.drawable.ic_suyu)
} }
return cursor return cursor
@ -288,7 +288,7 @@ class DocumentProvider : DocumentsProvider() {
add(DocumentsContract.Document.COLUMN_LAST_MODIFIED, localFile.lastModified()) add(DocumentsContract.Document.COLUMN_LAST_MODIFIED, localFile.lastModified())
add(DocumentsContract.Document.COLUMN_FLAGS, flags) add(DocumentsContract.Document.COLUMN_FLAGS, flags)
if (localFile == baseDirectory) { if (localFile == baseDirectory) {
add(DocumentsContract.Root.COLUMN_ICON, R.drawable.ic_yuzu) add(DocumentsContract.Root.COLUMN_ICON, R.drawable.ic_suyu)
} }
} }

View file

@ -1,15 +1,15 @@
// SPDX-FileCopyrightText: 2024 yuzu Emulator Project // SPDX-FileCopyrightText: 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
package org.yuzu.yuzu_emu.features.input package org.suyu.suyu_emu.features.input
import org.yuzu.yuzu_emu.features.input.model.NativeButton import org.suyu.suyu_emu.features.input.model.NativeButton
import org.yuzu.yuzu_emu.features.input.model.NativeAnalog import org.suyu.suyu_emu.features.input.model.NativeAnalog
import org.yuzu.yuzu_emu.features.input.model.InputType import org.suyu.suyu_emu.features.input.model.InputType
import org.yuzu.yuzu_emu.features.input.model.ButtonName import org.suyu.suyu_emu.features.input.model.ButtonName
import org.yuzu.yuzu_emu.features.input.model.NpadStyleIndex import org.suyu.suyu_emu.features.input.model.NpadStyleIndex
import org.yuzu.yuzu_emu.utils.NativeConfig import org.suyu.suyu_emu.utils.NativeConfig
import org.yuzu.yuzu_emu.utils.ParamPackage import org.suyu.suyu_emu.utils.ParamPackage
import android.view.InputDevice import android.view.InputDevice
object NativeInput { object NativeInput {
@ -177,9 +177,9 @@ object NativeInput {
/** /**
* Registers a controller to be used with mapping * Registers a controller to be used with mapping
* @param device An [InputDevice] or the input overlay wrapped with [YuzuInputDevice] * @param device An [InputDevice] or the input overlay wrapped with [SuyuInputDevice]
*/ */
external fun registerController(device: YuzuInputDevice) external fun registerController(device: SuyuInputDevice)
/** /**
* Gets the names of input devices that have been registered with the input subsystem via [registerController] * Gets the names of input devices that have been registered with the input subsystem via [registerController]

View file

@ -1,16 +1,16 @@
// SPDX-FileCopyrightText: 2024 yuzu Emulator Project // SPDX-FileCopyrightText: 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
package org.yuzu.yuzu_emu.features.input package org.suyu.suyu_emu.features.input
import android.view.InputDevice import android.view.InputDevice
import androidx.annotation.Keep import androidx.annotation.Keep
import org.yuzu.yuzu_emu.YuzuApplication import org.suyu.suyu_emu.SuyuApplication
import org.yuzu.yuzu_emu.R import org.suyu.suyu_emu.R
import org.yuzu.yuzu_emu.utils.InputHandler.getGUID import org.suyu.suyu_emu.utils.InputHandler.getGUID
@Keep @Keep
interface YuzuInputDevice { interface SuyuInputDevice {
fun getName(): String fun getName(): String
fun getGUID(): String fun getGUID(): String
@ -25,15 +25,15 @@ interface YuzuInputDevice {
fun hasKeys(keys: IntArray): BooleanArray = BooleanArray(0) fun hasKeys(keys: IntArray): BooleanArray = BooleanArray(0)
} }
class YuzuPhysicalDevice( class SuyuPhysicalDevice(
private val device: InputDevice, private val device: InputDevice,
private val port: Int, private val port: Int,
useSystemVibrator: Boolean useSystemVibrator: Boolean
) : YuzuInputDevice { ) : SuyuInputDevice {
private val vibrator = if (useSystemVibrator) { private val vibrator = if (useSystemVibrator) {
YuzuVibrator.getSystemVibrator() SuyuVibrator.getSystemVibrator()
} else { } else {
YuzuVibrator.getControllerVibrator(device) SuyuVibrator.getControllerVibrator(device)
} }
override fun getName(): String { override fun getName(): String {
@ -60,14 +60,14 @@ class YuzuPhysicalDevice(
override fun hasKeys(keys: IntArray): BooleanArray = device.hasKeys(*keys) override fun hasKeys(keys: IntArray): BooleanArray = device.hasKeys(*keys)
} }
class YuzuInputOverlayDevice( class SuyuInputOverlayDevice(
private val vibration: Boolean, private val vibration: Boolean,
private val port: Int private val port: Int
) : YuzuInputDevice { ) : SuyuInputDevice {
private val vibrator = YuzuVibrator.getSystemVibrator() private val vibrator = SuyuVibrator.getSystemVibrator()
override fun getName(): String { override fun getName(): String {
return YuzuApplication.appContext.getString(R.string.input_overlay) return SuyuApplication.appContext.getString(R.string.input_overlay)
} }
override fun getGUID(): String { override fun getGUID(): String {

View file

@ -1,7 +1,7 @@
// SPDX-FileCopyrightText: 2024 yuzu Emulator Project // SPDX-FileCopyrightText: 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
package org.yuzu.yuzu_emu.features.input package org.suyu.suyu_emu.features.input
import android.content.Context import android.content.Context
import android.os.Build import android.os.Build
@ -12,32 +12,32 @@ import android.os.VibratorManager
import android.view.InputDevice import android.view.InputDevice
import androidx.annotation.Keep import androidx.annotation.Keep
import androidx.annotation.RequiresApi import androidx.annotation.RequiresApi
import org.yuzu.yuzu_emu.YuzuApplication import org.suyu.suyu_emu.SuyuApplication
@Keep @Keep
@Suppress("DEPRECATION") @Suppress("DEPRECATION")
interface YuzuVibrator { interface SuyuVibrator {
fun supportsVibration(): Boolean fun supportsVibration(): Boolean
fun vibrate(intensity: Float) fun vibrate(intensity: Float)
companion object { companion object {
fun getControllerVibrator(device: InputDevice): YuzuVibrator = fun getControllerVibrator(device: InputDevice): SuyuVibrator =
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
YuzuVibratorManager(device.vibratorManager) SuyuVibratorManager(device.vibratorManager)
} else { } else {
YuzuVibratorManagerCompat(device.vibrator) SuyuVibratorManagerCompat(device.vibrator)
} }
fun getSystemVibrator(): YuzuVibrator = fun getSystemVibrator(): SuyuVibrator =
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
val vibratorManager = YuzuApplication.appContext val vibratorManager = SuyuApplication.appContext
.getSystemService(Context.VIBRATOR_MANAGER_SERVICE) as VibratorManager .getSystemService(Context.VIBRATOR_MANAGER_SERVICE) as VibratorManager
YuzuVibratorManager(vibratorManager) SuyuVibratorManager(vibratorManager)
} else { } else {
val vibrator = YuzuApplication.appContext val vibrator = SuyuApplication.appContext
.getSystemService(Context.VIBRATOR_SERVICE) as Vibrator .getSystemService(Context.VIBRATOR_SERVICE) as Vibrator
YuzuVibratorManagerCompat(vibrator) SuyuVibratorManagerCompat(vibrator)
} }
fun getVibrationEffect(intensity: Float): VibrationEffect? { fun getVibrationEffect(intensity: Float): VibrationEffect? {
@ -53,24 +53,24 @@ interface YuzuVibrator {
} }
@RequiresApi(Build.VERSION_CODES.S) @RequiresApi(Build.VERSION_CODES.S)
class YuzuVibratorManager(private val vibratorManager: VibratorManager) : YuzuVibrator { class SuyuVibratorManager(private val vibratorManager: VibratorManager) : SuyuVibrator {
override fun supportsVibration(): Boolean { override fun supportsVibration(): Boolean {
return vibratorManager.vibratorIds.isNotEmpty() return vibratorManager.vibratorIds.isNotEmpty()
} }
override fun vibrate(intensity: Float) { override fun vibrate(intensity: Float) {
val vibration = YuzuVibrator.getVibrationEffect(intensity) ?: return val vibration = SuyuVibrator.getVibrationEffect(intensity) ?: return
vibratorManager.vibrate(CombinedVibration.createParallel(vibration)) vibratorManager.vibrate(CombinedVibration.createParallel(vibration))
} }
} }
class YuzuVibratorManagerCompat(private val vibrator: Vibrator) : YuzuVibrator { class SuyuVibratorManagerCompat(private val vibrator: Vibrator) : SuyuVibrator {
override fun supportsVibration(): Boolean { override fun supportsVibration(): Boolean {
return vibrator.hasVibrator() return vibrator.hasVibrator()
} }
override fun vibrate(intensity: Float) { override fun vibrate(intensity: Float) {
val vibration = YuzuVibrator.getVibrationEffect(intensity) ?: return val vibration = SuyuVibrator.getVibrationEffect(intensity) ?: return
vibrator.vibrate(vibration) vibrator.vibrate(vibration)
} }
} }

View file

@ -1,7 +1,7 @@
// SPDX-FileCopyrightText: 2024 yuzu Emulator Project // SPDX-FileCopyrightText: 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
package org.yuzu.yuzu_emu.features.input.model package org.suyu.suyu_emu.features.input.model
enum class AnalogDirection(val int: Int, val param: String) { enum class AnalogDirection(val int: Int, val param: String) {
Up(0, "up"), Up(0, "up"),

View file

@ -1,7 +1,7 @@
// SPDX-FileCopyrightText: 2024 yuzu Emulator Project // SPDX-FileCopyrightText: 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
package org.yuzu.yuzu_emu.features.input.model package org.suyu.suyu_emu.features.input.model
// Loosely matches the enum in common/input.h // Loosely matches the enum in common/input.h
enum class ButtonName(val int: Int) { enum class ButtonName(val int: Int) {

View file

@ -1,7 +1,7 @@
// SPDX-FileCopyrightText: 2024 yuzu Emulator Project // SPDX-FileCopyrightText: 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
package org.yuzu.yuzu_emu.features.input.model package org.suyu.suyu_emu.features.input.model
// Must match the corresponding enum in input_common/main.h // Must match the corresponding enum in input_common/main.h
enum class InputType(val int: Int) { enum class InputType(val int: Int) {

View file

@ -1,7 +1,7 @@
// SPDX-FileCopyrightText: 2024 yuzu Emulator Project // SPDX-FileCopyrightText: 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
package org.yuzu.yuzu_emu.features.input.model package org.suyu.suyu_emu.features.input.model
// Must match enum in src/common/settings_input.h // Must match enum in src/common/settings_input.h
enum class NativeAnalog(val int: Int) { enum class NativeAnalog(val int: Int) {

View file

@ -1,7 +1,7 @@
// SPDX-FileCopyrightText: 2024 yuzu Emulator Project // SPDX-FileCopyrightText: 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
package org.yuzu.yuzu_emu.features.input.model package org.suyu.suyu_emu.features.input.model
// Must match enum in src/common/settings_input.h // Must match enum in src/common/settings_input.h
enum class NativeButton(val int: Int) { enum class NativeButton(val int: Int) {

View file

@ -1,7 +1,7 @@
// SPDX-FileCopyrightText: 2024 yuzu Emulator Project // SPDX-FileCopyrightText: 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
package org.yuzu.yuzu_emu.features.input.model package org.suyu.suyu_emu.features.input.model
// Must match enum in src/common/settings_input.h // Must match enum in src/common/settings_input.h
enum class NativeTrigger(val int: Int) { enum class NativeTrigger(val int: Int) {

View file

@ -1,10 +1,10 @@
// SPDX-FileCopyrightText: 2024 yuzu Emulator Project // SPDX-FileCopyrightText: 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
package org.yuzu.yuzu_emu.features.input.model package org.suyu.suyu_emu.features.input.model
import androidx.annotation.StringRes import androidx.annotation.StringRes
import org.yuzu.yuzu_emu.R import org.suyu.suyu_emu.R
// Must match enum in src/core/hid/hid_types.h // Must match enum in src/core/hid/hid_types.h
enum class NpadStyleIndex(val int: Int, @StringRes val nameId: Int = 0) { enum class NpadStyleIndex(val int: Int, @StringRes val nameId: Int = 0) {

View file

@ -1,7 +1,7 @@
// SPDX-FileCopyrightText: 2024 yuzu Emulator Project // SPDX-FileCopyrightText: 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
package org.yuzu.yuzu_emu.features.input.model package org.suyu.suyu_emu.features.input.model
import androidx.annotation.Keep import androidx.annotation.Keep

View file

@ -1,7 +1,7 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2023 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
package org.yuzu.yuzu_emu.features.settings.model package org.suyu.suyu_emu.features.settings.model
interface AbstractBooleanSetting : AbstractSetting { interface AbstractBooleanSetting : AbstractSetting {
fun getBoolean(needsGlobal: Boolean = false): Boolean fun getBoolean(needsGlobal: Boolean = false): Boolean

View file

@ -1,7 +1,7 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2023 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
package org.yuzu.yuzu_emu.features.settings.model package org.suyu.suyu_emu.features.settings.model
interface AbstractByteSetting : AbstractSetting { interface AbstractByteSetting : AbstractSetting {
fun getByte(needsGlobal: Boolean = false): Byte fun getByte(needsGlobal: Boolean = false): Byte

View file

@ -1,7 +1,7 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2023 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
package org.yuzu.yuzu_emu.features.settings.model package org.suyu.suyu_emu.features.settings.model
interface AbstractFloatSetting : AbstractSetting { interface AbstractFloatSetting : AbstractSetting {
fun getFloat(needsGlobal: Boolean = false): Float fun getFloat(needsGlobal: Boolean = false): Float

View file

@ -1,7 +1,7 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2023 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
package org.yuzu.yuzu_emu.features.settings.model package org.suyu.suyu_emu.features.settings.model
interface AbstractIntSetting : AbstractSetting { interface AbstractIntSetting : AbstractSetting {
fun getInt(needsGlobal: Boolean = false): Int fun getInt(needsGlobal: Boolean = false): Int

View file

@ -1,7 +1,7 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2023 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
package org.yuzu.yuzu_emu.features.settings.model package org.suyu.suyu_emu.features.settings.model
interface AbstractLongSetting : AbstractSetting { interface AbstractLongSetting : AbstractSetting {
fun getLong(needsGlobal: Boolean = false): Long fun getLong(needsGlobal: Boolean = false): Long

View file

@ -1,9 +1,9 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2023 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
package org.yuzu.yuzu_emu.features.settings.model package org.suyu.suyu_emu.features.settings.model
import org.yuzu.yuzu_emu.utils.NativeConfig import org.suyu.suyu_emu.utils.NativeConfig
interface AbstractSetting { interface AbstractSetting {
val key: String val key: String

View file

@ -1,7 +1,7 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2023 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
package org.yuzu.yuzu_emu.features.settings.model package org.suyu.suyu_emu.features.settings.model
interface AbstractShortSetting : AbstractSetting { interface AbstractShortSetting : AbstractSetting {
fun getShort(needsGlobal: Boolean = false): Short fun getShort(needsGlobal: Boolean = false): Short

View file

@ -1,7 +1,7 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2023 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
package org.yuzu.yuzu_emu.features.settings.model package org.suyu.suyu_emu.features.settings.model
interface AbstractStringSetting : AbstractSetting { interface AbstractStringSetting : AbstractSetting {
fun getString(needsGlobal: Boolean = false): String fun getString(needsGlobal: Boolean = false): String

View file

@ -1,9 +1,9 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2023 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
package org.yuzu.yuzu_emu.features.settings.model package org.suyu.suyu_emu.features.settings.model
import org.yuzu.yuzu_emu.utils.NativeConfig import org.suyu.suyu_emu.utils.NativeConfig
enum class BooleanSetting(override val key: String) : AbstractBooleanSetting { enum class BooleanSetting(override val key: String) : AbstractBooleanSetting {
AUDIO_MUTED("audio_muted"), AUDIO_MUTED("audio_muted"),

View file

@ -1,9 +1,9 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2023 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
package org.yuzu.yuzu_emu.features.settings.model package org.suyu.suyu_emu.features.settings.model
import org.yuzu.yuzu_emu.utils.NativeConfig import org.suyu.suyu_emu.utils.NativeConfig
enum class ByteSetting(override val key: String) : AbstractByteSetting { enum class ByteSetting(override val key: String) : AbstractByteSetting {
AUDIO_VOLUME("volume"); AUDIO_VOLUME("volume");

View file

@ -1,9 +1,9 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2023 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
package org.yuzu.yuzu_emu.features.settings.model package org.suyu.suyu_emu.features.settings.model
import org.yuzu.yuzu_emu.utils.NativeConfig import org.suyu.suyu_emu.utils.NativeConfig
enum class FloatSetting(override val key: String) : AbstractFloatSetting { enum class FloatSetting(override val key: String) : AbstractFloatSetting {
// No float settings currently exist // No float settings currently exist

View file

@ -1,9 +1,9 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2023 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
package org.yuzu.yuzu_emu.features.settings.model package org.suyu.suyu_emu.features.settings.model
import org.yuzu.yuzu_emu.utils.NativeConfig import org.suyu.suyu_emu.utils.NativeConfig
enum class IntSetting(override val key: String) : AbstractIntSetting { enum class IntSetting(override val key: String) : AbstractIntSetting {
CPU_BACKEND("cpu_backend"), CPU_BACKEND("cpu_backend"),

View file

@ -1,9 +1,9 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2023 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
package org.yuzu.yuzu_emu.features.settings.model package org.suyu.suyu_emu.features.settings.model
import org.yuzu.yuzu_emu.utils.NativeConfig import org.suyu.suyu_emu.utils.NativeConfig
enum class LongSetting(override val key: String) : AbstractLongSetting { enum class LongSetting(override val key: String) : AbstractLongSetting {
CUSTOM_RTC("custom_rtc"); CUSTOM_RTC("custom_rtc");

View file

@ -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: GPL-2.0-or-later
package org.yuzu.yuzu_emu.features.settings.model package org.suyu.suyu_emu.features.settings.model
import org.yuzu.yuzu_emu.R import org.suyu.suyu_emu.R
import org.yuzu.yuzu_emu.YuzuApplication import org.suyu.suyu_emu.SuyuApplication
object Settings { object Settings {
enum class MenuTag(val titleId: Int = 0) { enum class MenuTag(val titleId: Int = 0) {
@ -26,7 +26,7 @@ object Settings {
} }
fun getPlayerString(player: Int): String = fun getPlayerString(player: Int): String =
YuzuApplication.appContext.getString(R.string.preferences_player, player) SuyuApplication.appContext.getString(R.string.preferences_player, player)
const val PREF_FIRST_APP_LAUNCH = "FirstApplicationLaunch" const val PREF_FIRST_APP_LAUNCH = "FirstApplicationLaunch"
const val PREF_MEMORY_WARNING_SHOWN = "MemoryWarningShown" const val PREF_MEMORY_WARNING_SHOWN = "MemoryWarningShown"

View file

@ -1,9 +1,9 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2023 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
package org.yuzu.yuzu_emu.features.settings.model package org.suyu.suyu_emu.features.settings.model
import org.yuzu.yuzu_emu.utils.NativeConfig import org.suyu.suyu_emu.utils.NativeConfig
enum class ShortSetting(override val key: String) : AbstractShortSetting { enum class ShortSetting(override val key: String) : AbstractShortSetting {
RENDERER_SPEED_LIMIT("speed_limit"); RENDERER_SPEED_LIMIT("speed_limit");

View file

@ -1,9 +1,9 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2023 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
package org.yuzu.yuzu_emu.features.settings.model package org.suyu.suyu_emu.features.settings.model
import org.yuzu.yuzu_emu.utils.NativeConfig import org.suyu.suyu_emu.utils.NativeConfig
enum class StringSetting(override val key: String) : AbstractStringSetting { enum class StringSetting(override val key: String) : AbstractStringSetting {
DRIVER_PATH("driver_path"), DRIVER_PATH("driver_path"),

View file

@ -1,14 +1,14 @@
// SPDX-FileCopyrightText: 2024 yuzu Emulator Project // SPDX-FileCopyrightText: 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
package org.yuzu.yuzu_emu.features.settings.model.view package org.suyu.suyu_emu.features.settings.model.view
import androidx.annotation.StringRes import androidx.annotation.StringRes
import org.yuzu.yuzu_emu.features.input.NativeInput import org.suyu.suyu_emu.features.input.NativeInput
import org.yuzu.yuzu_emu.features.input.model.AnalogDirection import org.suyu.suyu_emu.features.input.model.AnalogDirection
import org.yuzu.yuzu_emu.features.input.model.InputType import org.suyu.suyu_emu.features.input.model.InputType
import org.yuzu.yuzu_emu.features.input.model.NativeAnalog import org.suyu.suyu_emu.features.input.model.NativeAnalog
import org.yuzu.yuzu_emu.utils.ParamPackage import org.suyu.suyu_emu.utils.ParamPackage
class AnalogInputSetting( class AnalogInputSetting(
override val playerIndex: Int, override val playerIndex: Int,

View file

@ -1,13 +1,13 @@
// SPDX-FileCopyrightText: 2024 yuzu Emulator Project // SPDX-FileCopyrightText: 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
package org.yuzu.yuzu_emu.features.settings.model.view package org.suyu.suyu_emu.features.settings.model.view
import androidx.annotation.StringRes import androidx.annotation.StringRes
import org.yuzu.yuzu_emu.utils.ParamPackage import org.suyu.suyu_emu.utils.ParamPackage
import org.yuzu.yuzu_emu.features.input.NativeInput import org.suyu.suyu_emu.features.input.NativeInput
import org.yuzu.yuzu_emu.features.input.model.InputType import org.suyu.suyu_emu.features.input.model.InputType
import org.yuzu.yuzu_emu.features.input.model.NativeButton import org.suyu.suyu_emu.features.input.model.NativeButton
class ButtonInputSetting( class ButtonInputSetting(
override val playerIndex: Int, override val playerIndex: Int,

View file

@ -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: GPL-2.0-or-later
package org.yuzu.yuzu_emu.features.settings.model.view package org.suyu.suyu_emu.features.settings.model.view
import androidx.annotation.StringRes import androidx.annotation.StringRes
import org.yuzu.yuzu_emu.features.settings.model.AbstractLongSetting import org.suyu.suyu_emu.features.settings.model.AbstractLongSetting
class DateTimeSetting( class DateTimeSetting(
private val longSetting: AbstractLongSetting, private val longSetting: AbstractLongSetting,

View file

@ -1,7 +1,7 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2023 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
package org.yuzu.yuzu_emu.features.settings.model.view package org.suyu.suyu_emu.features.settings.model.view
import androidx.annotation.StringRes import androidx.annotation.StringRes

View file

@ -1,11 +1,11 @@
// SPDX-FileCopyrightText: 2024 yuzu Emulator Project // SPDX-FileCopyrightText: 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
package org.yuzu.yuzu_emu.features.settings.model.view package org.suyu.suyu_emu.features.settings.model.view
import org.yuzu.yuzu_emu.R import org.suyu.suyu_emu.R
import org.yuzu.yuzu_emu.features.input.NativeInput import org.suyu.suyu_emu.features.input.NativeInput
import org.yuzu.yuzu_emu.utils.NativeConfig import org.suyu.suyu_emu.utils.NativeConfig
class InputProfileSetting(private val playerIndex: Int) : class InputProfileSetting(private val playerIndex: Int) :
SettingsItem(emptySetting, R.string.profile, "", 0, "") { SettingsItem(emptySetting, R.string.profile, "", 0, "") {

View file

@ -1,15 +1,15 @@
// SPDX-FileCopyrightText: 2024 yuzu Emulator Project // SPDX-FileCopyrightText: 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
package org.yuzu.yuzu_emu.features.settings.model.view package org.suyu.suyu_emu.features.settings.model.view
import androidx.annotation.StringRes import androidx.annotation.StringRes
import org.yuzu.yuzu_emu.R import org.suyu.suyu_emu.R
import org.yuzu.yuzu_emu.YuzuApplication import org.suyu.suyu_emu.SuyuApplication
import org.yuzu.yuzu_emu.features.input.NativeInput import org.suyu.suyu_emu.features.input.NativeInput
import org.yuzu.yuzu_emu.features.input.model.ButtonName import org.suyu.suyu_emu.features.input.model.ButtonName
import org.yuzu.yuzu_emu.features.input.model.InputType import org.suyu.suyu_emu.features.input.model.InputType
import org.yuzu.yuzu_emu.utils.ParamPackage import org.suyu.suyu_emu.utils.ParamPackage
sealed class InputSetting( sealed class InputSetting(
@StringRes titleId: Int, @StringRes titleId: Int,
@ -19,7 +19,7 @@ sealed class InputSetting(
abstract val inputType: InputType abstract val inputType: InputType
abstract val playerIndex: Int abstract val playerIndex: Int
protected val context get() = YuzuApplication.appContext protected val context get() = SuyuApplication.appContext
abstract fun getSelectedValue(): String abstract fun getSelectedValue(): String

View file

@ -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: GPL-2.0-or-later
package org.yuzu.yuzu_emu.features.settings.model.view package org.suyu.suyu_emu.features.settings.model.view
import androidx.annotation.StringRes import androidx.annotation.StringRes
import org.yuzu.yuzu_emu.features.settings.model.AbstractIntSetting import org.suyu.suyu_emu.features.settings.model.AbstractIntSetting
class IntSingleChoiceSetting( class IntSingleChoiceSetting(
private val intSetting: AbstractIntSetting, private val intSetting: AbstractIntSetting,

View file

@ -1,13 +1,13 @@
// SPDX-FileCopyrightText: 2024 yuzu Emulator Project // SPDX-FileCopyrightText: 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
package org.yuzu.yuzu_emu.features.settings.model.view package org.suyu.suyu_emu.features.settings.model.view
import androidx.annotation.StringRes import androidx.annotation.StringRes
import org.yuzu.yuzu_emu.features.input.NativeInput import org.suyu.suyu_emu.features.input.NativeInput
import org.yuzu.yuzu_emu.features.input.model.InputType import org.suyu.suyu_emu.features.input.model.InputType
import org.yuzu.yuzu_emu.features.input.model.NativeAnalog import org.suyu.suyu_emu.features.input.model.NativeAnalog
import org.yuzu.yuzu_emu.utils.ParamPackage import org.suyu.suyu_emu.utils.ParamPackage
class ModifierInputSetting( class ModifierInputSetting(
override val playerIndex: Int, override val playerIndex: Int,

View file

@ -1,7 +1,7 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2023 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
package org.yuzu.yuzu_emu.features.settings.model.view package org.suyu.suyu_emu.features.settings.model.view
import androidx.annotation.DrawableRes import androidx.annotation.DrawableRes
import androidx.annotation.StringRes import androidx.annotation.StringRes

View file

@ -1,23 +1,23 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2023 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
package org.yuzu.yuzu_emu.features.settings.model.view package org.suyu.suyu_emu.features.settings.model.view
import androidx.annotation.StringRes import androidx.annotation.StringRes
import org.yuzu.yuzu_emu.NativeLibrary import org.suyu.suyu_emu.NativeLibrary
import org.yuzu.yuzu_emu.R import org.suyu.suyu_emu.R
import org.yuzu.yuzu_emu.YuzuApplication import org.suyu.suyu_emu.SuyuApplication
import org.yuzu.yuzu_emu.features.input.NativeInput import org.suyu.suyu_emu.features.input.NativeInput
import org.yuzu.yuzu_emu.features.input.model.NpadStyleIndex import org.suyu.suyu_emu.features.input.model.NpadStyleIndex
import org.yuzu.yuzu_emu.features.settings.model.AbstractBooleanSetting import org.suyu.suyu_emu.features.settings.model.AbstractBooleanSetting
import org.yuzu.yuzu_emu.features.settings.model.AbstractSetting import org.suyu.suyu_emu.features.settings.model.AbstractSetting
import org.yuzu.yuzu_emu.features.settings.model.BooleanSetting import org.suyu.suyu_emu.features.settings.model.BooleanSetting
import org.yuzu.yuzu_emu.features.settings.model.ByteSetting import org.suyu.suyu_emu.features.settings.model.ByteSetting
import org.yuzu.yuzu_emu.features.settings.model.IntSetting import org.suyu.suyu_emu.features.settings.model.IntSetting
import org.yuzu.yuzu_emu.features.settings.model.LongSetting import org.suyu.suyu_emu.features.settings.model.LongSetting
import org.yuzu.yuzu_emu.features.settings.model.ShortSetting import org.suyu.suyu_emu.features.settings.model.ShortSetting
import org.yuzu.yuzu_emu.features.settings.model.StringSetting import org.suyu.suyu_emu.features.settings.model.StringSetting
import org.yuzu.yuzu_emu.utils.NativeConfig import org.suyu.suyu_emu.utils.NativeConfig
/** /**
* ViewModel abstraction for an Item in the RecyclerView powering SettingsFragments. * ViewModel abstraction for an Item in the RecyclerView powering SettingsFragments.
@ -37,14 +37,14 @@ abstract class SettingsItem(
val title: String by lazy { val title: String by lazy {
if (titleId != 0) { if (titleId != 0) {
return@lazy YuzuApplication.appContext.getString(titleId) return@lazy SuyuApplication.appContext.getString(titleId)
} }
return@lazy titleString return@lazy titleString
} }
val description: String by lazy { val description: String by lazy {
if (descriptionId != 0) { if (descriptionId != 0) {
return@lazy YuzuApplication.appContext.getString(descriptionId) return@lazy SuyuApplication.appContext.getString(descriptionId)
} }
return@lazy descriptionString return@lazy descriptionString
} }

Some files were not shown because too many files have changed in this diff Show more