forked from suyu/suyu
Compare commits
2 commits
dev
...
niansa-ci-
Author | SHA1 | Date | |
---|---|---|---|
|
ecdffd3599 | ||
|
0ca3f53904 |
353 changed files with 3452 additions and 3446 deletions
|
@ -1,6 +1,6 @@
|
||||||
#!/bin/bash -ex
|
#!/bin/bash -ex
|
||||||
# SPDX-FileCopyrightText: 2019 yuzu Emulator Project
|
|
||||||
# SPDX-FileCopyrightText: 2024 suyu Emulator Project
|
# SPDX-FileCopyrightText: 2019 yuzu Emulator Project & 2024 suyu Emulator Project
|
||||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
# 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,8 +12,6 @@ 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 \
|
||||||
|
@ -26,7 +24,6 @@ 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
|
||||||
|
|
4
.gitignore
vendored
4
.gitignore
vendored
|
@ -4,7 +4,6 @@
|
||||||
# Build directory
|
# Build directory
|
||||||
[Bb]uild*/
|
[Bb]uild*/
|
||||||
doc-build/
|
doc-build/
|
||||||
cmake-build*/
|
|
||||||
|
|
||||||
# Generated source files
|
# Generated source files
|
||||||
src/common/scm_rev.cpp
|
src/common/scm_rev.cpp
|
||||||
|
@ -15,7 +14,6 @@ dist/english_plurals/generated_en.ts
|
||||||
.idea/
|
.idea/
|
||||||
.vs/
|
.vs/
|
||||||
.vscode/
|
.vscode/
|
||||||
.cache/
|
|
||||||
CMakeLists.txt.user*
|
CMakeLists.txt.user*
|
||||||
|
|
||||||
# *nix related
|
# *nix related
|
||||||
|
@ -38,5 +36,3 @@ CMakeSettings.json
|
||||||
# Windows global filetypes
|
# Windows global filetypes
|
||||||
Thumbs.db
|
Thumbs.db
|
||||||
|
|
||||||
# Local Gitlab CI Runner
|
|
||||||
.gitlab-ci-local/
|
|
||||||
|
|
74
.gitlab-ci.yml
Executable file → Normal file
74
.gitlab-ci.yml
Executable file → Normal file
|
@ -2,82 +2,32 @@ 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 (boolean)
|
|
||||||
# https://docs.gitlab.com/runner/configuration/feature-flags.html#available-feature-flags
|
|
||||||
FF_USE_FASTZIP: 1
|
|
||||||
|
|
||||||
# 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:clangformat
|
image: suyuemu/cibuild:linux-x64
|
||||||
#THIS HAS TO BE FALSE. IT KEEPS RESOURCES AVAILABLE - EG RUNNERS WONT TRY BUILDING IF CODEBASE IS WRONG
|
variables:
|
||||||
#MR's NEED TO BE CORRECTLY CLANG FORMATTED
|
RELEASE_NAME: mainline
|
||||||
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
|
|
||||||
- Format
|
|
||||||
|
|
||||||
#LINUX BUILD - BUILDS LINUX APPIMAGE
|
|
||||||
build-linux:
|
build-linux:
|
||||||
stage: build
|
stage: build
|
||||||
image: suyuemu/cibuild:linux-x64
|
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:
|
||||||
GIT_SUBMODULE_STRATEGY: recursive
|
RELEASE_NAME: mainline
|
||||||
GIT_SUBMODULE_DEPTH: 1
|
cache:
|
||||||
RELEASE_NAME: mainline
|
paths:
|
||||||
|
- ccache/
|
||||||
|
before_script:
|
||||||
|
- mkdir -p ccache
|
||||||
|
- export CCACHE_BASEDIR=${PWD}
|
||||||
|
- export CCACHE_DIR=${PWD}/ccache
|
||||||
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:
|
|
||||||
- Android
|
|
||||||
- Parallelized
|
|
||||||
|
|
||||||
|
|
|
@ -3,9 +3,6 @@
|
||||||
|
|
||||||
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")
|
||||||
|
@ -33,7 +30,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.)" ON)
|
option(ENABLE_WEB_SERVICE "Enable web services (telemetry, etc.)" OFF)
|
||||||
|
|
||||||
option(SUYU_USE_BUNDLED_FFMPEG "Download/Build bundled FFmpeg" "${WIN32}")
|
option(SUYU_USE_BUNDLED_FFMPEG "Download/Build bundled FFmpeg" "${WIN32}")
|
||||||
|
|
||||||
|
@ -73,8 +70,6 @@ CMAKE_DEPENDENT_OPTION(SUYU_USE_FASTER_LD "Check if a faster linker is available
|
||||||
|
|
||||||
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" OFF)
|
||||||
|
|
||||||
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)
|
||||||
# - Windows defaults to the Schannel backend.
|
# - Windows defaults to the Schannel backend.
|
||||||
|
@ -738,17 +733,3 @@ 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()
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# SPDX-FileCopyrightText: 2017 yuzu Emulator Project & 2024 suyu Emulator Project
|
# SPDX-FileCopyrightText: 2017 yuzu 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,9 +17,6 @@ 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")
|
||||||
|
|
|
@ -5,5 +5,5 @@ SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
Please check out the
|
Please check out the
|
||||||
|
|
||||||
* [Contributors's guide](https://gitlab.com/suyu-emu/suyu/-/wikis/Contributing).
|
* [Conributors'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)
|
||||||
|
|
12
README.md
12
README.md
|
@ -18,9 +18,9 @@ This repo is based on Yuzu EA 4176.
|
||||||
<br>
|
<br>
|
||||||
</h1>
|
</h1>
|
||||||
|
|
||||||
<h4 align="center"><b>suyu</b> is the continuation of the world's most popular, open-source, Nintendo Switch emulator, yuzu.
|
<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.
|
||||||
<br>
|
<br>
|
||||||
It is written in C++ with portability in mind, and we're actively working on builds for Windows, Linux and Android.
|
It is written in C++ with portability in mind, and we actively maintain builds for Windows, Linux and Android.
|
||||||
</h4>
|
</h4>
|
||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
|
@ -51,12 +51,10 @@ You can also contact any of the developers on Discord to learn more about the cu
|
||||||
|
|
||||||
## Downloads
|
## Downloads
|
||||||
|
|
||||||
* __Windows__: [Releases](https://gitlab.com/suyu-emu/suyu/-/releases)
|
* __Windows__: WIP
|
||||||
* __Linux__: [Releases](https://gitlab.com/suyu-emu/suyu/-/releases)
|
* __Linux__: WIP
|
||||||
* __macOS__: [Releases](https://gitlab.com/suyu-emu/suyu/-/releases)
|
|
||||||
* __Android__: [Releases](https://gitlab.com/suyu-emu/suyu/-/releases)
|
|
||||||
|
|
||||||
We have official builds [here.](https://gitlab.com/suyu-emu/suyu/-/releases) If any website or person is claiming to have a build for suyu, take that with a grain of salt.
|
We don't have any official builds yet! If any website or person is claiming to have a build for suyu, take that with a grain of salt, because it might contain malware. Until we do have an official build, it might be a better idea to keep using the last version of yuzu.
|
||||||
|
|
||||||
## Building
|
## Building
|
||||||
|
|
||||||
|
|
84
dist/icns_generator.sh
vendored
84
dist/icns_generator.sh
vendored
|
@ -1,72 +1,14 @@
|
||||||
#!/bin/bash
|
mkdir suyu.iconset
|
||||||
# icns_generator.sh GNU GPLv3 License
|
convert -background none -resize 16x16 suyu.svg suyu.iconset/icon_16x16.png;
|
||||||
# Run this script when a new logo is made and the svg file inside.
|
convert -background none -resize 32x32 suyu.svg suyu.iconset/icon_16x16@2x.png;
|
||||||
# You should install Imagemagick to make the conversions: $brew install imagemagick
|
convert -background none -resize 32x32 suyu.svg suyu.iconset/icon_32x32.png;
|
||||||
|
convert -background none -resize 64x64 suyu.svg suyu.iconset/icon_32x32@2x.png;
|
||||||
|
convert -background none -resize 128x128 suyu.svg suyu.iconset/icon_128x128.png;
|
||||||
|
convert -background none -resize 256x256 suyu.svg suyu.iconset/icon_256x256.png;
|
||||||
|
convert -background none -resize 256x256 suyu.svg suyu.iconset/icon_128x128@2x.png;
|
||||||
|
convert -background none -resize 512x512 suyu.svg suyu.iconset/icon_256x256@2x.png;
|
||||||
|
convert -background none -resize 512x512 suyu.svg suyu.iconset/icon_512x512.png;
|
||||||
|
convert -background none -resize 1024x1024 suyu.svg suyu.iconset/icon_512x512@2x.png;
|
||||||
|
|
||||||
# Change working dir to where this script is located.
|
iconutil -c icns suyu.iconset
|
||||||
cd "${0%/*}"
|
rm -rf suyu.iconset
|
||||||
|
|
||||||
if [ -z $1 ]; then
|
|
||||||
echo "icns_generator.sh GNU GPLv3 License"
|
|
||||||
echo "Run this script when a new logo is made and the svg file inside."
|
|
||||||
echo ""
|
|
||||||
echo "Syntax: ./icns_generator <input.svg>"
|
|
||||||
echo ""
|
|
||||||
echo "Don't forget to install imagemagick: "
|
|
||||||
echo "$ brew install imagemagick"
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Error Handling Stuff:
|
|
||||||
## Check command availability
|
|
||||||
check_command() {
|
|
||||||
if ! command -v "$1" &> /dev/null; then
|
|
||||||
read -s -n 1 -p "Error: '$1' command not found. Please install $2."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
## Convert image with error handling
|
|
||||||
convert_image() {
|
|
||||||
convert -background none -resize "$2" "$1" "$3" || {
|
|
||||||
read -s -n 1 -p "Error: Conversion failed for $1"
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
# Check required commands
|
|
||||||
check_command "convert" "ImageMagick"
|
|
||||||
check_command "iconutil" "macOS"
|
|
||||||
|
|
||||||
# Create the iconset directory
|
|
||||||
mkdir suyu.iconset || {
|
|
||||||
read -s -n 1 -p "Error: Unable to create suyu.iconset directory."
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
|
|
||||||
# Convert images
|
|
||||||
convert_image "$1" 16x16 suyu.iconset/icon_16x16.png
|
|
||||||
convert_image "$1" 32x32 suyu.iconset/icon_16x16@2x.png
|
|
||||||
convert_image "$1" 32x32 suyu.iconset/icon_32x32.png
|
|
||||||
convert_image "$1" 64x64 suyu.iconset/icon_32x32@2x.png
|
|
||||||
convert_image "$1" 128x128 suyu.iconset/icon_128x128.png
|
|
||||||
convert_image "$1" 256x256 suyu.iconset/icon_256x256.png
|
|
||||||
convert_image "$1" 256x256 suyu.iconset/icon_128x128@2x.png
|
|
||||||
convert_image "$1" 512x512 suyu.iconset/icon_256x256@2x.png
|
|
||||||
convert_image "$1" 512x512 suyu.iconset/icon_512x512.png
|
|
||||||
convert_image "$1" 1024x1024 suyu.iconset/icon_512x512@2x.png
|
|
||||||
|
|
||||||
# Create the ICNS file
|
|
||||||
iconutil -c icns suyu.iconset || {
|
|
||||||
read -s -n 1 -p "Error: Failed to create ICNS file."
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
|
|
||||||
# Remove the temporary iconset directory
|
|
||||||
rm -rf suyu.iconset || {
|
|
||||||
read -s -n 1 -p "Error: Unable to remove suyu.iconset directory."
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
|
|
||||||
echo -s -n 1 -p "Icon generation completed successfully."
|
|
||||||
echo ""
|
|
||||||
|
|
10
dist/languages/ar.ts
vendored
10
dist/languages/ar.ts
vendored
|
@ -6256,16 +6256,6 @@ 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
10
dist/languages/ca.ts
vendored
|
@ -6293,16 +6293,6 @@ 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
10
dist/languages/cs.ts
vendored
|
@ -6277,16 +6277,6 @@ 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
10
dist/languages/da.ts
vendored
|
@ -6281,16 +6281,6 @@ 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
10
dist/languages/de.ts
vendored
|
@ -6303,16 +6303,6 @@ 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
10
dist/languages/el.ts
vendored
|
@ -6277,16 +6277,6 @@ 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
10
dist/languages/es.ts
vendored
|
@ -6349,16 +6349,6 @@ 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
10
dist/languages/fi.ts
vendored
|
@ -4778,16 +4778,6 @@ 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
10
dist/languages/fr.ts
vendored
|
@ -6342,16 +6342,6 @@ 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
10
dist/languages/hu.ts
vendored
|
@ -6315,16 +6315,6 @@ 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
10
dist/languages/id.ts
vendored
|
@ -6334,16 +6334,6 @@ 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
10
dist/languages/it.ts
vendored
|
@ -6312,16 +6312,6 @@ Would you like to bypass this and exit anyway?</source>
|
||||||
|
|
||||||
Vuoi forzare l'arresto?</translation>
|
Vuoi forzare l'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>
|
||||||
|
|
10
dist/languages/ja_JP.ts
vendored
10
dist/languages/ja_JP.ts
vendored
|
@ -6298,16 +6298,6 @@ 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/ko_KR.ts
vendored
10
dist/languages/ko_KR.ts
vendored
|
@ -6297,16 +6297,6 @@ 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
10
dist/languages/nb.ts
vendored
|
@ -6302,16 +6302,6 @@ 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
10
dist/languages/nl.ts
vendored
|
@ -6290,16 +6290,6 @@ 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
10
dist/languages/pl.ts
vendored
|
@ -6293,16 +6293,6 @@ 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>
|
||||||
|
|
10
dist/languages/pt_BR.ts
vendored
10
dist/languages/pt_BR.ts
vendored
|
@ -6351,16 +6351,6 @@ 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>
|
||||||
|
|
10
dist/languages/pt_PT.ts
vendored
10
dist/languages/pt_PT.ts
vendored
|
@ -6334,16 +6334,6 @@ 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>
|
||||||
|
|
10
dist/languages/ru_RU.ts
vendored
10
dist/languages/ru_RU.ts
vendored
|
@ -6347,16 +6347,6 @@ 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
10
dist/languages/sv.ts
vendored
|
@ -6272,16 +6272,6 @@ 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>
|
||||||
|
|
10
dist/languages/tr_TR.ts
vendored
10
dist/languages/tr_TR.ts
vendored
|
@ -6294,16 +6294,6 @@ 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
10
dist/languages/uk.ts
vendored
|
@ -6306,16 +6306,6 @@ 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
10
dist/languages/vi.ts
vendored
|
@ -6299,16 +6299,6 @@ Would you like to bypass this and exit anyway?</source>
|
||||||
|
|
||||||
Bạn có muốn bỏ qua yêu cầu đó và thoát luôn không?</translation>
|
Bạn có muốn bỏ qua yêu cầu đó và 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>
|
||||||
|
|
10
dist/languages/vi_VN.ts
vendored
10
dist/languages/vi_VN.ts
vendored
|
@ -6299,16 +6299,6 @@ Would you like to bypass this and exit anyway?</source>
|
||||||
|
|
||||||
Bạn có muốn bỏ qua yêu cầu đó và thoát luôn không?</translation>
|
Bạn có muốn bỏ qua yêu cầu đó và 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>
|
||||||
|
|
10
dist/languages/zh_CN.ts
vendored
10
dist/languages/zh_CN.ts
vendored
|
@ -6347,16 +6347,6 @@ 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/zh_TW.ts
vendored
10
dist/languages/zh_TW.ts
vendored
|
@ -6343,16 +6343,6 @@ 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
BIN
dist/suyu.icns
vendored
Binary file not shown.
2
src/android/.gitignore
vendored
2
src/android/.gitignore
vendored
|
@ -1,4 +1,4 @@
|
||||||
# SPDX-FileCopyrightText: 2023 suyu Emulator Project
|
# SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
|
||||||
# Built application files
|
# Built application files
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
// SPDX-FileCopyrightText: 2023 suyu Emulator Project
|
// SPDX-FileCopyrightText: 2023 yuzu 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.suyu.suyu_emu"
|
namespace = "org.yuzu.yuzu_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.suyu.suyu_emu"
|
applicationId = "org.yuzu.yuzu_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", "suyu")
|
resValue("string", "app_name_suffixed", "yuzu")
|
||||||
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", "suyu Debug Release")
|
resValue("string", "app_name_suffixed", "yuzu 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", "suyu Debug")
|
resValue("string", "app_name_suffixed", "yuzu Debug")
|
||||||
isDebuggable = true
|
isDebuggable = true
|
||||||
isJniDebuggable = true
|
isJniDebuggable = true
|
||||||
versionNameSuffix = "-debug"
|
versionNameSuffix = "-debug"
|
||||||
|
|
2
src/android/app/proguard-rules.pro
vendored
2
src/android/app/proguard-rules.pro
vendored
|
@ -1,4 +1,4 @@
|
||||||
# SPDX-FileCopyrightText: 2023 suyu Emulator Project
|
# SPDX-FileCopyrightText: 2023 yuzu 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
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
SPDX-FileCopyrightText: 2023 suyu Emulator Project
|
SPDX-FileCopyrightText: 2023 yuzu 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.suyu.suyu_emu.SuyuApplication"
|
android:name="org.yuzu.yuzu_emu.YuzuApplication"
|
||||||
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.suyu.suyu_emu.ui.main.MainActivity"
|
android:name="org.yuzu.yuzu_emu.ui.main.MainActivity"
|
||||||
android:exported="true"
|
android:exported="true"
|
||||||
android:theme="@style/Theme.Suyu.Splash.Main">
|
android:theme="@style/Theme.Yuzu.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.suyu.suyu_emu.features.settings.ui.SettingsActivity"
|
android:name="org.yuzu.yuzu_emu.features.settings.ui.SettingsActivity"
|
||||||
android:theme="@style/Theme.Suyu.Main"
|
android:theme="@style/Theme.Yuzu.Main"
|
||||||
android:label="@string/preferences_settings"/>
|
android:label="@string/preferences_settings"/>
|
||||||
|
|
||||||
<activity
|
<activity
|
||||||
android:name="org.suyu.suyu_emu.activities.EmulationActivity"
|
android:name="org.yuzu.yuzu_emu.activities.EmulationActivity"
|
||||||
android:theme="@style/Theme.Suyu.Main"
|
android:theme="@style/Theme.Yuzu.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"
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
// SPDX-FileCopyrightText: 2023 suyu Emulator Project
|
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
package org.suyu.suyu_emu
|
package org.yuzu.yuzu_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.suyu.suyu_emu.activities.EmulationActivity
|
import org.yuzu.yuzu_emu.activities.EmulationActivity
|
||||||
import org.suyu.suyu_emu.fragments.CoreErrorDialogFragment
|
import org.yuzu.yuzu_emu.fragments.CoreErrorDialogFragment
|
||||||
import org.suyu.suyu_emu.utils.DocumentsTree
|
import org.yuzu.yuzu_emu.utils.DocumentsTree
|
||||||
import org.suyu.suyu_emu.utils.FileUtil
|
import org.yuzu.yuzu_emu.utils.FileUtil
|
||||||
import org.suyu.suyu_emu.utils.Log
|
import org.yuzu.yuzu_emu.utils.Log
|
||||||
import org.suyu.suyu_emu.model.InstallResult
|
import org.yuzu.yuzu_emu.model.InstallResult
|
||||||
import org.suyu.suyu_emu.model.Patch
|
import org.yuzu.yuzu_emu.model.Patch
|
||||||
import org.suyu.suyu_emu.model.GameVerificationResult
|
import org.yuzu.yuzu_emu.model.GameVerificationResult
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class which contains methods that interact
|
* Class which contains methods that interact
|
||||||
* with the native side of the Suyu code.
|
* with the native side of the Yuzu code.
|
||||||
*/
|
*/
|
||||||
object NativeLibrary {
|
object NativeLibrary {
|
||||||
@JvmField
|
@JvmField
|
||||||
|
@ -32,7 +32,7 @@ object NativeLibrary {
|
||||||
|
|
||||||
init {
|
init {
|
||||||
try {
|
try {
|
||||||
System.loadLibrary("suyu-android")
|
System.loadLibrary("yuzu-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!!)) {
|
||||||
SuyuApplication.documentsTree!!.openContentUri(path, openmode)
|
YuzuApplication.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!!)) {
|
||||||
SuyuApplication.documentsTree!!.getFileSize(path)
|
YuzuApplication.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!!)) {
|
||||||
SuyuApplication.documentsTree!!.exists(path)
|
YuzuApplication.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!!)) {
|
||||||
SuyuApplication.documentsTree!!.isDirectory(path)
|
YuzuApplication.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)) {
|
||||||
SuyuApplication.documentsTree!!.getParentDirectory(path)
|
YuzuApplication.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)) {
|
||||||
SuyuApplication.documentsTree!!.getFilename(path)
|
YuzuApplication.documentsTree!!.getFilename(path)
|
||||||
} else {
|
} else {
|
||||||
FileUtil.getFilename(Uri.parse(path))
|
FileUtil.getFilename(Uri.parse(path))
|
||||||
}
|
}
|
||||||
|
@ -326,7 +326,7 @@ object NativeLibrary {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Logs the Suyu version, Android version and, CPU.
|
* Logs the Yuzu version, Android version and, CPU.
|
||||||
*/
|
*/
|
||||||
external fun logDeviceInfo()
|
external fun logDeviceInfo()
|
||||||
|
|
|
@ -1,22 +1,22 @@
|
||||||
// SPDX-FileCopyrightText: 2023 suyu Emulator Project
|
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
package org.suyu.suyu_emu
|
package org.yuzu.yuzu_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.suyu.suyu_emu.features.input.NativeInput
|
import org.yuzu.yuzu_emu.features.input.NativeInput
|
||||||
import java.io.File
|
import java.io.File
|
||||||
import org.suyu.suyu_emu.utils.DirectoryInitialization
|
import org.yuzu.yuzu_emu.utils.DirectoryInitialization
|
||||||
import org.suyu.suyu_emu.utils.DocumentsTree
|
import org.yuzu.yuzu_emu.utils.DocumentsTree
|
||||||
import org.suyu.suyu_emu.utils.GpuDriverHelper
|
import org.yuzu.yuzu_emu.utils.GpuDriverHelper
|
||||||
import org.suyu.suyu_emu.utils.Log
|
import org.yuzu.yuzu_emu.utils.Log
|
||||||
|
|
||||||
fun Context.getPublicFilesDir(): File = getExternalFilesDir(null) ?: filesDir
|
fun Context.getPublicFilesDir(): File = getExternalFilesDir(null) ?: filesDir
|
||||||
|
|
||||||
class SuyuApplication : Application() {
|
class YuzuApplication : 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 SuyuApplication : Application() {
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
var documentsTree: DocumentsTree? = null
|
var documentsTree: DocumentsTree? = null
|
||||||
lateinit var application: SuyuApplication
|
lateinit var application: YuzuApplication
|
||||||
|
|
||||||
val appContext: Context
|
val appContext: Context
|
||||||
get() = application.applicationContext
|
get() = application.applicationContext
|
|
@ -1,7 +1,7 @@
|
||||||
// SPDX-FileCopyrightText: 2023 suyu Emulator Project
|
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
package org.suyu.suyu_emu.activities
|
package org.yuzu.yuzu_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.suyu.suyu_emu.NativeLibrary
|
import org.yuzu.yuzu_emu.NativeLibrary
|
||||||
import org.suyu.suyu_emu.R
|
import org.yuzu.yuzu_emu.R
|
||||||
import org.suyu.suyu_emu.SuyuApplication
|
import org.yuzu.yuzu_emu.YuzuApplication
|
||||||
import org.suyu.suyu_emu.databinding.ActivityEmulationBinding
|
import org.yuzu.yuzu_emu.databinding.ActivityEmulationBinding
|
||||||
import org.suyu.suyu_emu.features.input.NativeInput
|
import org.yuzu.yuzu_emu.features.input.NativeInput
|
||||||
import org.suyu.suyu_emu.features.settings.model.BooleanSetting
|
import org.yuzu.yuzu_emu.features.settings.model.BooleanSetting
|
||||||
import org.suyu.suyu_emu.features.settings.model.IntSetting
|
import org.yuzu.yuzu_emu.features.settings.model.IntSetting
|
||||||
import org.suyu.suyu_emu.features.settings.model.Settings
|
import org.yuzu.yuzu_emu.features.settings.model.Settings
|
||||||
import org.suyu.suyu_emu.model.EmulationViewModel
|
import org.yuzu.yuzu_emu.model.EmulationViewModel
|
||||||
import org.suyu.suyu_emu.model.Game
|
import org.yuzu.yuzu_emu.model.Game
|
||||||
import org.suyu.suyu_emu.utils.InputHandler
|
import org.yuzu.yuzu_emu.utils.InputHandler
|
||||||
import org.suyu.suyu_emu.utils.Log
|
import org.yuzu.yuzu_emu.utils.Log
|
||||||
import org.suyu.suyu_emu.utils.MemoryUtil
|
import org.yuzu.yuzu_emu.utils.MemoryUtil
|
||||||
import org.suyu.suyu_emu.utils.NativeConfig
|
import org.yuzu.yuzu_emu.utils.NativeConfig
|
||||||
import org.suyu.suyu_emu.utils.NfcReader
|
import org.yuzu.yuzu_emu.utils.NfcReader
|
||||||
import org.suyu.suyu_emu.utils.ParamPackage
|
import org.yuzu.yuzu_emu.utils.ParamPackage
|
||||||
import org.suyu.suyu_emu.utils.ThemeHelper
|
import org.yuzu.yuzu_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(SuyuApplication.appContext)
|
val preferences = PreferenceManager.getDefaultSharedPreferences(YuzuApplication.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(
|
|
@ -1,13 +1,13 @@
|
||||||
// SPDX-FileCopyrightText: 2024 suyu Emulator Project
|
// SPDX-FileCopyrightText: 2024 yuzu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
package org.suyu.suyu_emu.adapters
|
package org.yuzu.yuzu_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.suyu.suyu_emu.viewholder.AbstractViewHolder
|
import org.yuzu.yuzu_emu.viewholder.AbstractViewHolder
|
||||||
import androidx.recyclerview.widget.RecyclerView
|
import androidx.recyclerview.widget.RecyclerView
|
||||||
|
|
||||||
/**
|
/**
|
|
@ -1,11 +1,11 @@
|
||||||
// SPDX-FileCopyrightText: 2024 suyu Emulator Project
|
// SPDX-FileCopyrightText: 2024 yuzu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
package org.suyu.suyu_emu.adapters
|
package org.yuzu.yuzu_emu.adapters
|
||||||
|
|
||||||
import android.annotation.SuppressLint
|
import android.annotation.SuppressLint
|
||||||
import androidx.recyclerview.widget.RecyclerView
|
import androidx.recyclerview.widget.RecyclerView
|
||||||
import org.suyu.suyu_emu.viewholder.AbstractViewHolder
|
import org.yuzu.yuzu_emu.viewholder.AbstractViewHolder
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Generic list class meant to take care of basic lists
|
* Generic list class meant to take care of basic lists
|
|
@ -1,10 +1,10 @@
|
||||||
// SPDX-FileCopyrightText: 2024 suyu Emulator Project
|
// SPDX-FileCopyrightText: 2024 yuzu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
package org.suyu.suyu_emu.adapters
|
package org.yuzu.yuzu_emu.adapters
|
||||||
|
|
||||||
import org.suyu.suyu_emu.model.SelectableItem
|
import org.yuzu.yuzu_emu.model.SelectableItem
|
||||||
import org.suyu.suyu_emu.viewholder.AbstractViewHolder
|
import org.yuzu.yuzu_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
|
|
@ -1,14 +1,14 @@
|
||||||
// SPDX-FileCopyrightText: 2023 suyu Emulator Project
|
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
package org.suyu.suyu_emu.adapters
|
package org.yuzu.yuzu_emu.adapters
|
||||||
|
|
||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import org.suyu.suyu_emu.databinding.ListItemAddonBinding
|
import org.yuzu.yuzu_emu.databinding.ListItemAddonBinding
|
||||||
import org.suyu.suyu_emu.model.Patch
|
import org.yuzu.yuzu_emu.model.Patch
|
||||||
import org.suyu.suyu_emu.model.AddonViewModel
|
import org.yuzu.yuzu_emu.model.AddonViewModel
|
||||||
import org.suyu.suyu_emu.viewholder.AbstractViewHolder
|
import org.yuzu.yuzu_emu.viewholder.AbstractViewHolder
|
||||||
|
|
||||||
class AddonAdapter(val addonViewModel: AddonViewModel) :
|
class AddonAdapter(val addonViewModel: AddonViewModel) :
|
||||||
AbstractDiffAdapter<Patch, AddonAdapter.AddonViewHolder>() {
|
AbstractDiffAdapter<Patch, AddonAdapter.AddonViewHolder>() {
|
|
@ -1,7 +1,7 @@
|
||||||
// SPDX-FileCopyrightText: 2023 suyu Emulator Project
|
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
package org.suyu.suyu_emu.adapters
|
package org.yuzu.yuzu_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.suyu.suyu_emu.HomeNavigationDirections
|
import org.yuzu.yuzu_emu.HomeNavigationDirections
|
||||||
import org.suyu.suyu_emu.NativeLibrary
|
import org.yuzu.yuzu_emu.NativeLibrary
|
||||||
import org.suyu.suyu_emu.R
|
import org.yuzu.yuzu_emu.R
|
||||||
import org.suyu.suyu_emu.SuyuApplication
|
import org.yuzu.yuzu_emu.YuzuApplication
|
||||||
import org.suyu.suyu_emu.databinding.CardSimpleOutlinedBinding
|
import org.yuzu.yuzu_emu.databinding.CardSimpleOutlinedBinding
|
||||||
import org.suyu.suyu_emu.model.Applet
|
import org.yuzu.yuzu_emu.model.Applet
|
||||||
import org.suyu.suyu_emu.model.AppletInfo
|
import org.yuzu.yuzu_emu.model.AppletInfo
|
||||||
import org.suyu.suyu_emu.model.Game
|
import org.yuzu.yuzu_emu.model.Game
|
||||||
import org.suyu.suyu_emu.viewholder.AbstractViewHolder
|
import org.yuzu.yuzu_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 = SuyuApplication.appContext.getString(applet.titleId),
|
title = YuzuApplication.appContext.getString(applet.titleId),
|
||||||
path = appletPath
|
path = appletPath
|
||||||
)
|
)
|
||||||
val action = HomeNavigationDirections.actionGlobalEmulationActivity(appletGame)
|
val action = HomeNavigationDirections.actionGlobalEmulationActivity(appletGame)
|
|
@ -1,23 +1,23 @@
|
||||||
// SPDX-FileCopyrightText: 2023 suyu Emulator Project
|
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
package org.suyu.suyu_emu.adapters
|
package org.yuzu.yuzu_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.suyu.suyu_emu.HomeNavigationDirections
|
import org.yuzu.yuzu_emu.HomeNavigationDirections
|
||||||
import org.suyu.suyu_emu.NativeLibrary
|
import org.yuzu.yuzu_emu.NativeLibrary
|
||||||
import org.suyu.suyu_emu.R
|
import org.yuzu.yuzu_emu.R
|
||||||
import org.suyu.suyu_emu.SuyuApplication
|
import org.yuzu.yuzu_emu.YuzuApplication
|
||||||
import org.suyu.suyu_emu.databinding.DialogListItemBinding
|
import org.yuzu.yuzu_emu.databinding.DialogListItemBinding
|
||||||
import org.suyu.suyu_emu.model.CabinetMode
|
import org.yuzu.yuzu_emu.model.CabinetMode
|
||||||
import org.suyu.suyu_emu.adapters.CabinetLauncherDialogAdapter.CabinetModeViewHolder
|
import org.yuzu.yuzu_emu.adapters.CabinetLauncherDialogAdapter.CabinetModeViewHolder
|
||||||
import org.suyu.suyu_emu.model.AppletInfo
|
import org.yuzu.yuzu_emu.model.AppletInfo
|
||||||
import org.suyu.suyu_emu.model.Game
|
import org.yuzu.yuzu_emu.model.Game
|
||||||
import org.suyu.suyu_emu.viewholder.AbstractViewHolder
|
import org.yuzu.yuzu_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 = SuyuApplication.appContext.getString(R.string.cabinet_applet),
|
title = YuzuApplication.appContext.getString(R.string.cabinet_applet),
|
||||||
path = appletPath
|
path = appletPath
|
||||||
)
|
)
|
||||||
val action = HomeNavigationDirections.actionGlobalEmulationActivity(appletGame)
|
val action = HomeNavigationDirections.actionGlobalEmulationActivity(appletGame)
|
|
@ -1,18 +1,18 @@
|
||||||
// SPDX-FileCopyrightText: 2023 suyu Emulator Project
|
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
package org.suyu.suyu_emu.adapters
|
package org.yuzu.yuzu_emu.adapters
|
||||||
|
|
||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import org.suyu.suyu_emu.R
|
import org.yuzu.yuzu_emu.R
|
||||||
import org.suyu.suyu_emu.databinding.CardDriverOptionBinding
|
import org.yuzu.yuzu_emu.databinding.CardDriverOptionBinding
|
||||||
import org.suyu.suyu_emu.features.settings.model.StringSetting
|
import org.yuzu.yuzu_emu.features.settings.model.StringSetting
|
||||||
import org.suyu.suyu_emu.model.Driver
|
import org.yuzu.yuzu_emu.model.Driver
|
||||||
import org.suyu.suyu_emu.model.DriverViewModel
|
import org.yuzu.yuzu_emu.model.DriverViewModel
|
||||||
import org.suyu.suyu_emu.utils.ViewUtils.marquee
|
import org.yuzu.yuzu_emu.utils.ViewUtils.marquee
|
||||||
import org.suyu.suyu_emu.utils.ViewUtils.setVisible
|
import org.yuzu.yuzu_emu.utils.ViewUtils.setVisible
|
||||||
import org.suyu.suyu_emu.viewholder.AbstractViewHolder
|
import org.yuzu.yuzu_emu.viewholder.AbstractViewHolder
|
||||||
|
|
||||||
class DriverAdapter(private val driverViewModel: DriverViewModel) :
|
class DriverAdapter(private val driverViewModel: DriverViewModel) :
|
||||||
AbstractSingleSelectionList<Driver, DriverAdapter.DriverViewHolder>(
|
AbstractSingleSelectionList<Driver, DriverAdapter.DriverViewHolder>(
|
|
@ -1,18 +1,18 @@
|
||||||
// SPDX-FileCopyrightText: 2023 suyu Emulator Project
|
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
package org.suyu.suyu_emu.adapters
|
package org.yuzu.yuzu_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.suyu.suyu_emu.databinding.CardFolderBinding
|
import org.yuzu.yuzu_emu.databinding.CardFolderBinding
|
||||||
import org.suyu.suyu_emu.fragments.GameFolderPropertiesDialogFragment
|
import org.yuzu.yuzu_emu.fragments.GameFolderPropertiesDialogFragment
|
||||||
import org.suyu.suyu_emu.model.GameDir
|
import org.yuzu.yuzu_emu.model.GameDir
|
||||||
import org.suyu.suyu_emu.model.GamesViewModel
|
import org.yuzu.yuzu_emu.model.GamesViewModel
|
||||||
import org.suyu.suyu_emu.utils.ViewUtils.marquee
|
import org.yuzu.yuzu_emu.utils.ViewUtils.marquee
|
||||||
import org.suyu.suyu_emu.viewholder.AbstractViewHolder
|
import org.yuzu.yuzu_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>() {
|
|
@ -1,7 +1,7 @@
|
||||||
// SPDX-FileCopyrightText: 2023 suyu Emulator Project
|
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
package org.suyu.suyu_emu.adapters
|
package org.yuzu.yuzu_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.suyu.suyu_emu.HomeNavigationDirections
|
import org.yuzu.yuzu_emu.HomeNavigationDirections
|
||||||
import org.suyu.suyu_emu.R
|
import org.yuzu.yuzu_emu.R
|
||||||
import org.suyu.suyu_emu.SuyuApplication
|
import org.yuzu.yuzu_emu.YuzuApplication
|
||||||
import org.suyu.suyu_emu.databinding.CardGameBinding
|
import org.yuzu.yuzu_emu.databinding.CardGameBinding
|
||||||
import org.suyu.suyu_emu.model.Game
|
import org.yuzu.yuzu_emu.model.Game
|
||||||
import org.suyu.suyu_emu.model.GamesViewModel
|
import org.yuzu.yuzu_emu.model.GamesViewModel
|
||||||
import org.suyu.suyu_emu.utils.GameIconUtils
|
import org.yuzu.yuzu_emu.utils.GameIconUtils
|
||||||
import org.suyu.suyu_emu.utils.ViewUtils.marquee
|
import org.yuzu.yuzu_emu.utils.ViewUtils.marquee
|
||||||
import org.suyu.suyu_emu.viewholder.AbstractViewHolder
|
import org.yuzu.yuzu_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(
|
||||||
SuyuApplication.appContext,
|
YuzuApplication.appContext,
|
||||||
Uri.parse(game.path)
|
Uri.parse(game.path)
|
||||||
)?.exists() == true
|
)?.exists() == true
|
||||||
if (!gameExists) {
|
if (!gameExists) {
|
||||||
Toast.makeText(
|
Toast.makeText(
|
||||||
SuyuApplication.appContext,
|
YuzuApplication.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(SuyuApplication.appContext)
|
PreferenceManager.getDefaultSharedPreferences(YuzuApplication.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(SuyuApplication.appContext, game.path)
|
ShortcutInfoCompat.Builder(YuzuApplication.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(SuyuApplication.appContext, shortcut)
|
ShortcutManagerCompat.pushDynamicShortcut(YuzuApplication.appContext, shortcut)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,21 +1,21 @@
|
||||||
// SPDX-FileCopyrightText: 2023 suyu Emulator Project
|
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
package org.suyu.suyu_emu.adapters
|
package org.yuzu.yuzu_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.suyu.suyu_emu.databinding.CardInstallableIconBinding
|
import org.yuzu.yuzu_emu.databinding.CardInstallableIconBinding
|
||||||
import org.suyu.suyu_emu.databinding.CardSimpleOutlinedBinding
|
import org.yuzu.yuzu_emu.databinding.CardSimpleOutlinedBinding
|
||||||
import org.suyu.suyu_emu.model.GameProperty
|
import org.yuzu.yuzu_emu.model.GameProperty
|
||||||
import org.suyu.suyu_emu.model.InstallableProperty
|
import org.yuzu.yuzu_emu.model.InstallableProperty
|
||||||
import org.suyu.suyu_emu.model.SubmenuProperty
|
import org.yuzu.yuzu_emu.model.SubmenuProperty
|
||||||
import org.suyu.suyu_emu.utils.ViewUtils.marquee
|
import org.yuzu.yuzu_emu.utils.ViewUtils.marquee
|
||||||
import org.suyu.suyu_emu.utils.ViewUtils.setVisible
|
import org.yuzu.yuzu_emu.utils.ViewUtils.setVisible
|
||||||
import org.suyu.suyu_emu.utils.collect
|
import org.yuzu.yuzu_emu.utils.collect
|
||||||
import org.suyu.suyu_emu.viewholder.AbstractViewHolder
|
import org.yuzu.yuzu_emu.viewholder.AbstractViewHolder
|
||||||
|
|
||||||
class GamePropertiesAdapter(
|
class GamePropertiesAdapter(
|
||||||
private val viewLifecycle: LifecycleOwner,
|
private val viewLifecycle: LifecycleOwner,
|
|
@ -1,7 +1,7 @@
|
||||||
// SPDX-FileCopyrightText: 2023 suyu Emulator Project
|
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
package org.suyu.suyu_emu.adapters
|
package org.yuzu.yuzu_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.suyu.suyu_emu.R
|
import org.yuzu.yuzu_emu.R
|
||||||
import org.suyu.suyu_emu.databinding.CardHomeOptionBinding
|
import org.yuzu.yuzu_emu.databinding.CardHomeOptionBinding
|
||||||
import org.suyu.suyu_emu.fragments.MessageDialogFragment
|
import org.yuzu.yuzu_emu.fragments.MessageDialogFragment
|
||||||
import org.suyu.suyu_emu.model.HomeSetting
|
import org.yuzu.yuzu_emu.model.HomeSetting
|
||||||
import org.suyu.suyu_emu.utils.ViewUtils.marquee
|
import org.yuzu.yuzu_emu.utils.ViewUtils.marquee
|
||||||
import org.suyu.suyu_emu.utils.ViewUtils.setVisible
|
import org.yuzu.yuzu_emu.utils.ViewUtils.setVisible
|
||||||
import org.suyu.suyu_emu.utils.collect
|
import org.yuzu.yuzu_emu.utils.collect
|
||||||
import org.suyu.suyu_emu.viewholder.AbstractViewHolder
|
import org.yuzu.yuzu_emu.viewholder.AbstractViewHolder
|
||||||
|
|
||||||
class HomeSettingAdapter(
|
class HomeSettingAdapter(
|
||||||
private val activity: AppCompatActivity,
|
private val activity: AppCompatActivity,
|
|
@ -1,14 +1,14 @@
|
||||||
// SPDX-FileCopyrightText: 2023 suyu Emulator Project
|
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
package org.suyu.suyu_emu.adapters
|
package org.yuzu.yuzu_emu.adapters
|
||||||
|
|
||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import org.suyu.suyu_emu.databinding.CardInstallableBinding
|
import org.yuzu.yuzu_emu.databinding.CardInstallableBinding
|
||||||
import org.suyu.suyu_emu.model.Installable
|
import org.yuzu.yuzu_emu.model.Installable
|
||||||
import org.suyu.suyu_emu.utils.ViewUtils.setVisible
|
import org.yuzu.yuzu_emu.utils.ViewUtils.setVisible
|
||||||
import org.suyu.suyu_emu.viewholder.AbstractViewHolder
|
import org.yuzu.yuzu_emu.viewholder.AbstractViewHolder
|
||||||
|
|
||||||
class InstallableAdapter(installables: List<Installable>) :
|
class InstallableAdapter(installables: List<Installable>) :
|
||||||
AbstractListAdapter<Installable, InstallableAdapter.InstallableViewHolder>(installables) {
|
AbstractListAdapter<Installable, InstallableAdapter.InstallableViewHolder>(installables) {
|
|
@ -1,16 +1,16 @@
|
||||||
// SPDX-FileCopyrightText: 2023 suyu Emulator Project
|
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
package org.suyu.suyu_emu.adapters
|
package org.yuzu.yuzu_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.suyu.suyu_emu.databinding.ListItemSettingBinding
|
import org.yuzu.yuzu_emu.databinding.ListItemSettingBinding
|
||||||
import org.suyu.suyu_emu.fragments.LicenseBottomSheetDialogFragment
|
import org.yuzu.yuzu_emu.fragments.LicenseBottomSheetDialogFragment
|
||||||
import org.suyu.suyu_emu.model.License
|
import org.yuzu.yuzu_emu.model.License
|
||||||
import org.suyu.suyu_emu.utils.ViewUtils.setVisible
|
import org.yuzu.yuzu_emu.utils.ViewUtils.setVisible
|
||||||
import org.suyu.suyu_emu.viewholder.AbstractViewHolder
|
import org.yuzu.yuzu_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) {
|
|
@ -1,7 +1,7 @@
|
||||||
// SPDX-FileCopyrightText: 2023 suyu Emulator Project
|
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
package org.suyu.suyu_emu.adapters
|
package org.yuzu.yuzu_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.suyu.suyu_emu.databinding.PageSetupBinding
|
import org.yuzu.yuzu_emu.databinding.PageSetupBinding
|
||||||
import org.suyu.suyu_emu.model.HomeViewModel
|
import org.yuzu.yuzu_emu.model.HomeViewModel
|
||||||
import org.suyu.suyu_emu.model.SetupCallback
|
import org.yuzu.yuzu_emu.model.SetupCallback
|
||||||
import org.suyu.suyu_emu.model.SetupPage
|
import org.yuzu.yuzu_emu.model.SetupPage
|
||||||
import org.suyu.suyu_emu.model.StepState
|
import org.yuzu.yuzu_emu.model.StepState
|
||||||
import org.suyu.suyu_emu.utils.ViewUtils
|
import org.yuzu.yuzu_emu.utils.ViewUtils
|
||||||
import org.suyu.suyu_emu.utils.ViewUtils.setVisible
|
import org.yuzu.yuzu_emu.utils.ViewUtils.setVisible
|
||||||
import org.suyu.suyu_emu.viewholder.AbstractViewHolder
|
import org.yuzu.yuzu_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) {
|
|
@ -1,7 +1,7 @@
|
||||||
// SPDX-FileCopyrightText: Copyright 2023 suyu Emulator Project
|
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
package org.suyu.suyu_emu.applets.keyboard
|
package org.yuzu.yuzu_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.suyu.suyu_emu.NativeLibrary
|
import org.yuzu.yuzu_emu.NativeLibrary
|
||||||
import org.suyu.suyu_emu.R
|
import org.yuzu.yuzu_emu.R
|
||||||
import org.suyu.suyu_emu.applets.keyboard.ui.KeyboardDialogFragment
|
import org.yuzu.yuzu_emu.applets.keyboard.ui.KeyboardDialogFragment
|
||||||
|
|
||||||
@Keep
|
@Keep
|
||||||
object SoftwareKeyboard {
|
object SoftwareKeyboard {
|
|
@ -1,7 +1,7 @@
|
||||||
// SPDX-FileCopyrightText: Copyright 2023 suyu Emulator Project
|
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
package org.suyu.suyu_emu.applets.keyboard.ui
|
package org.yuzu.yuzu_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.suyu.suyu_emu.R
|
import org.yuzu.yuzu_emu.R
|
||||||
import org.suyu.suyu_emu.applets.keyboard.SoftwareKeyboard
|
import org.yuzu.yuzu_emu.applets.keyboard.SoftwareKeyboard
|
||||||
import org.suyu.suyu_emu.applets.keyboard.SoftwareKeyboard.KeyboardConfig
|
import org.yuzu.yuzu_emu.applets.keyboard.SoftwareKeyboard.KeyboardConfig
|
||||||
import org.suyu.suyu_emu.databinding.DialogEditTextBinding
|
import org.yuzu.yuzu_emu.databinding.DialogEditTextBinding
|
||||||
import org.suyu.suyu_emu.utils.SerializableHelper.serializable
|
import org.yuzu.yuzu_emu.utils.SerializableHelper.serializable
|
||||||
|
|
||||||
class KeyboardDialogFragment : DialogFragment() {
|
class KeyboardDialogFragment : DialogFragment() {
|
||||||
private lateinit var binding: DialogEditTextBinding
|
private lateinit var binding: DialogEditTextBinding
|
|
@ -1,15 +1,15 @@
|
||||||
// SPDX-FileCopyrightText: 2023 suyu Emulator Project
|
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
package org.suyu.suyu_emu.disk_shader_cache
|
package org.yuzu.yuzu_emu.disk_shader_cache
|
||||||
|
|
||||||
import androidx.annotation.Keep
|
import androidx.annotation.Keep
|
||||||
import androidx.lifecycle.ViewModelProvider
|
import androidx.lifecycle.ViewModelProvider
|
||||||
import org.suyu.suyu_emu.NativeLibrary
|
import org.yuzu.yuzu_emu.NativeLibrary
|
||||||
import org.suyu.suyu_emu.R
|
import org.yuzu.yuzu_emu.R
|
||||||
import org.suyu.suyu_emu.activities.EmulationActivity
|
import org.yuzu.yuzu_emu.activities.EmulationActivity
|
||||||
import org.suyu.suyu_emu.model.EmulationViewModel
|
import org.yuzu.yuzu_emu.model.EmulationViewModel
|
||||||
import org.suyu.suyu_emu.utils.Log
|
import org.yuzu.yuzu_emu.utils.Log
|
||||||
|
|
||||||
@Keep
|
@Keep
|
||||||
object DiskShaderCacheProgress {
|
object DiskShaderCacheProgress {
|
|
@ -1,10 +1,10 @@
|
||||||
// SPDX-FileCopyrightText: 2023 suyu Emulator Project
|
// SPDX-FileCopyrightText: 2023 yuzu 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.suyu.suyu_emu.features
|
package org.yuzu.yuzu_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.suyu.suyu_emu.BuildConfig
|
import org.yuzu.yuzu_emu.BuildConfig
|
||||||
import org.suyu.suyu_emu.R
|
import org.yuzu.yuzu_emu.R
|
||||||
import org.suyu.suyu_emu.SuyuApplication
|
import org.yuzu.yuzu_emu.YuzuApplication
|
||||||
import org.suyu.suyu_emu.getPublicFilesDir
|
import org.yuzu.yuzu_emu.getPublicFilesDir
|
||||||
|
|
||||||
class DocumentProvider : DocumentsProvider() {
|
class DocumentProvider : DocumentsProvider() {
|
||||||
private val baseDirectory: File
|
private val baseDirectory: File
|
||||||
get() = File(SuyuApplication.application.getPublicFilesDir().canonicalPath)
|
get() = File(YuzuApplication.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_suyu)
|
add(DocumentsContract.Root.COLUMN_ICON, R.drawable.ic_yuzu)
|
||||||
}
|
}
|
||||||
|
|
||||||
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_suyu)
|
add(DocumentsContract.Root.COLUMN_ICON, R.drawable.ic_yuzu)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,15 +1,15 @@
|
||||||
// SPDX-FileCopyrightText: 2024 suyu Emulator Project
|
// SPDX-FileCopyrightText: 2024 yuzu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
package org.suyu.suyu_emu.features.input
|
package org.yuzu.yuzu_emu.features.input
|
||||||
|
|
||||||
import org.suyu.suyu_emu.features.input.model.NativeButton
|
import org.yuzu.yuzu_emu.features.input.model.NativeButton
|
||||||
import org.suyu.suyu_emu.features.input.model.NativeAnalog
|
import org.yuzu.yuzu_emu.features.input.model.NativeAnalog
|
||||||
import org.suyu.suyu_emu.features.input.model.InputType
|
import org.yuzu.yuzu_emu.features.input.model.InputType
|
||||||
import org.suyu.suyu_emu.features.input.model.ButtonName
|
import org.yuzu.yuzu_emu.features.input.model.ButtonName
|
||||||
import org.suyu.suyu_emu.features.input.model.NpadStyleIndex
|
import org.yuzu.yuzu_emu.features.input.model.NpadStyleIndex
|
||||||
import org.suyu.suyu_emu.utils.NativeConfig
|
import org.yuzu.yuzu_emu.utils.NativeConfig
|
||||||
import org.suyu.suyu_emu.utils.ParamPackage
|
import org.yuzu.yuzu_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 [SuyuInputDevice]
|
* @param device An [InputDevice] or the input overlay wrapped with [YuzuInputDevice]
|
||||||
*/
|
*/
|
||||||
external fun registerController(device: SuyuInputDevice)
|
external fun registerController(device: YuzuInputDevice)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 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]
|
|
@ -1,16 +1,16 @@
|
||||||
// SPDX-FileCopyrightText: 2024 suyu Emulator Project
|
// SPDX-FileCopyrightText: 2024 yuzu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
package org.suyu.suyu_emu.features.input
|
package org.yuzu.yuzu_emu.features.input
|
||||||
|
|
||||||
import android.view.InputDevice
|
import android.view.InputDevice
|
||||||
import androidx.annotation.Keep
|
import androidx.annotation.Keep
|
||||||
import org.suyu.suyu_emu.SuyuApplication
|
import org.yuzu.yuzu_emu.YuzuApplication
|
||||||
import org.suyu.suyu_emu.R
|
import org.yuzu.yuzu_emu.R
|
||||||
import org.suyu.suyu_emu.utils.InputHandler.getGUID
|
import org.yuzu.yuzu_emu.utils.InputHandler.getGUID
|
||||||
|
|
||||||
@Keep
|
@Keep
|
||||||
interface SuyuInputDevice {
|
interface YuzuInputDevice {
|
||||||
fun getName(): String
|
fun getName(): String
|
||||||
|
|
||||||
fun getGUID(): String
|
fun getGUID(): String
|
||||||
|
@ -25,15 +25,15 @@ interface SuyuInputDevice {
|
||||||
fun hasKeys(keys: IntArray): BooleanArray = BooleanArray(0)
|
fun hasKeys(keys: IntArray): BooleanArray = BooleanArray(0)
|
||||||
}
|
}
|
||||||
|
|
||||||
class SuyuPhysicalDevice(
|
class YuzuPhysicalDevice(
|
||||||
private val device: InputDevice,
|
private val device: InputDevice,
|
||||||
private val port: Int,
|
private val port: Int,
|
||||||
useSystemVibrator: Boolean
|
useSystemVibrator: Boolean
|
||||||
) : SuyuInputDevice {
|
) : YuzuInputDevice {
|
||||||
private val vibrator = if (useSystemVibrator) {
|
private val vibrator = if (useSystemVibrator) {
|
||||||
SuyuVibrator.getSystemVibrator()
|
YuzuVibrator.getSystemVibrator()
|
||||||
} else {
|
} else {
|
||||||
SuyuVibrator.getControllerVibrator(device)
|
YuzuVibrator.getControllerVibrator(device)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun getName(): String {
|
override fun getName(): String {
|
||||||
|
@ -60,14 +60,14 @@ class SuyuPhysicalDevice(
|
||||||
override fun hasKeys(keys: IntArray): BooleanArray = device.hasKeys(*keys)
|
override fun hasKeys(keys: IntArray): BooleanArray = device.hasKeys(*keys)
|
||||||
}
|
}
|
||||||
|
|
||||||
class SuyuInputOverlayDevice(
|
class YuzuInputOverlayDevice(
|
||||||
private val vibration: Boolean,
|
private val vibration: Boolean,
|
||||||
private val port: Int
|
private val port: Int
|
||||||
) : SuyuInputDevice {
|
) : YuzuInputDevice {
|
||||||
private val vibrator = SuyuVibrator.getSystemVibrator()
|
private val vibrator = YuzuVibrator.getSystemVibrator()
|
||||||
|
|
||||||
override fun getName(): String {
|
override fun getName(): String {
|
||||||
return SuyuApplication.appContext.getString(R.string.input_overlay)
|
return YuzuApplication.appContext.getString(R.string.input_overlay)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun getGUID(): String {
|
override fun getGUID(): String {
|
|
@ -1,7 +1,7 @@
|
||||||
// SPDX-FileCopyrightText: 2024 suyu Emulator Project
|
// SPDX-FileCopyrightText: 2024 yuzu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
package org.suyu.suyu_emu.features.input
|
package org.yuzu.yuzu_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.suyu.suyu_emu.SuyuApplication
|
import org.yuzu.yuzu_emu.YuzuApplication
|
||||||
|
|
||||||
@Keep
|
@Keep
|
||||||
@Suppress("DEPRECATION")
|
@Suppress("DEPRECATION")
|
||||||
interface SuyuVibrator {
|
interface YuzuVibrator {
|
||||||
fun supportsVibration(): Boolean
|
fun supportsVibration(): Boolean
|
||||||
|
|
||||||
fun vibrate(intensity: Float)
|
fun vibrate(intensity: Float)
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
fun getControllerVibrator(device: InputDevice): SuyuVibrator =
|
fun getControllerVibrator(device: InputDevice): YuzuVibrator =
|
||||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
|
||||||
SuyuVibratorManager(device.vibratorManager)
|
YuzuVibratorManager(device.vibratorManager)
|
||||||
} else {
|
} else {
|
||||||
SuyuVibratorManagerCompat(device.vibrator)
|
YuzuVibratorManagerCompat(device.vibrator)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun getSystemVibrator(): SuyuVibrator =
|
fun getSystemVibrator(): YuzuVibrator =
|
||||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
|
||||||
val vibratorManager = SuyuApplication.appContext
|
val vibratorManager = YuzuApplication.appContext
|
||||||
.getSystemService(Context.VIBRATOR_MANAGER_SERVICE) as VibratorManager
|
.getSystemService(Context.VIBRATOR_MANAGER_SERVICE) as VibratorManager
|
||||||
SuyuVibratorManager(vibratorManager)
|
YuzuVibratorManager(vibratorManager)
|
||||||
} else {
|
} else {
|
||||||
val vibrator = SuyuApplication.appContext
|
val vibrator = YuzuApplication.appContext
|
||||||
.getSystemService(Context.VIBRATOR_SERVICE) as Vibrator
|
.getSystemService(Context.VIBRATOR_SERVICE) as Vibrator
|
||||||
SuyuVibratorManagerCompat(vibrator)
|
YuzuVibratorManagerCompat(vibrator)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun getVibrationEffect(intensity: Float): VibrationEffect? {
|
fun getVibrationEffect(intensity: Float): VibrationEffect? {
|
||||||
|
@ -53,24 +53,24 @@ interface SuyuVibrator {
|
||||||
}
|
}
|
||||||
|
|
||||||
@RequiresApi(Build.VERSION_CODES.S)
|
@RequiresApi(Build.VERSION_CODES.S)
|
||||||
class SuyuVibratorManager(private val vibratorManager: VibratorManager) : SuyuVibrator {
|
class YuzuVibratorManager(private val vibratorManager: VibratorManager) : YuzuVibrator {
|
||||||
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 = SuyuVibrator.getVibrationEffect(intensity) ?: return
|
val vibration = YuzuVibrator.getVibrationEffect(intensity) ?: return
|
||||||
vibratorManager.vibrate(CombinedVibration.createParallel(vibration))
|
vibratorManager.vibrate(CombinedVibration.createParallel(vibration))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class SuyuVibratorManagerCompat(private val vibrator: Vibrator) : SuyuVibrator {
|
class YuzuVibratorManagerCompat(private val vibrator: Vibrator) : YuzuVibrator {
|
||||||
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 = SuyuVibrator.getVibrationEffect(intensity) ?: return
|
val vibration = YuzuVibrator.getVibrationEffect(intensity) ?: return
|
||||||
vibrator.vibrate(vibration)
|
vibrator.vibrate(vibration)
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -1,7 +1,7 @@
|
||||||
// SPDX-FileCopyrightText: 2024 suyu Emulator Project
|
// SPDX-FileCopyrightText: 2024 yuzu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
package org.suyu.suyu_emu.features.input.model
|
package org.yuzu.yuzu_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"),
|
|
@ -1,7 +1,7 @@
|
||||||
// SPDX-FileCopyrightText: 2024 suyu Emulator Project
|
// SPDX-FileCopyrightText: 2024 yuzu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
package org.suyu.suyu_emu.features.input.model
|
package org.yuzu.yuzu_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) {
|
|
@ -1,7 +1,7 @@
|
||||||
// SPDX-FileCopyrightText: 2024 suyu Emulator Project
|
// SPDX-FileCopyrightText: 2024 yuzu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
package org.suyu.suyu_emu.features.input.model
|
package org.yuzu.yuzu_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) {
|
|
@ -1,7 +1,7 @@
|
||||||
// SPDX-FileCopyrightText: 2024 suyu Emulator Project
|
// SPDX-FileCopyrightText: 2024 yuzu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
package org.suyu.suyu_emu.features.input.model
|
package org.yuzu.yuzu_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) {
|
|
@ -1,7 +1,7 @@
|
||||||
// SPDX-FileCopyrightText: 2024 suyu Emulator Project
|
// SPDX-FileCopyrightText: 2024 yuzu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
package org.suyu.suyu_emu.features.input.model
|
package org.yuzu.yuzu_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) {
|
|
@ -1,7 +1,7 @@
|
||||||
// SPDX-FileCopyrightText: 2024 suyu Emulator Project
|
// SPDX-FileCopyrightText: 2024 yuzu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
package org.suyu.suyu_emu.features.input.model
|
package org.yuzu.yuzu_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) {
|
|
@ -1,10 +1,10 @@
|
||||||
// SPDX-FileCopyrightText: 2024 suyu Emulator Project
|
// SPDX-FileCopyrightText: 2024 yuzu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
package org.suyu.suyu_emu.features.input.model
|
package org.yuzu.yuzu_emu.features.input.model
|
||||||
|
|
||||||
import androidx.annotation.StringRes
|
import androidx.annotation.StringRes
|
||||||
import org.suyu.suyu_emu.R
|
import org.yuzu.yuzu_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) {
|
|
@ -1,7 +1,7 @@
|
||||||
// SPDX-FileCopyrightText: 2024 suyu Emulator Project
|
// SPDX-FileCopyrightText: 2024 yuzu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
package org.suyu.suyu_emu.features.input.model
|
package org.yuzu.yuzu_emu.features.input.model
|
||||||
|
|
||||||
import androidx.annotation.Keep
|
import androidx.annotation.Keep
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
// SPDX-FileCopyrightText: 2023 suyu Emulator Project
|
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
package org.suyu.suyu_emu.features.settings.model
|
package org.yuzu.yuzu_emu.features.settings.model
|
||||||
|
|
||||||
interface AbstractBooleanSetting : AbstractSetting {
|
interface AbstractBooleanSetting : AbstractSetting {
|
||||||
fun getBoolean(needsGlobal: Boolean = false): Boolean
|
fun getBoolean(needsGlobal: Boolean = false): Boolean
|
|
@ -1,7 +1,7 @@
|
||||||
// SPDX-FileCopyrightText: 2023 suyu Emulator Project
|
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
package org.suyu.suyu_emu.features.settings.model
|
package org.yuzu.yuzu_emu.features.settings.model
|
||||||
|
|
||||||
interface AbstractByteSetting : AbstractSetting {
|
interface AbstractByteSetting : AbstractSetting {
|
||||||
fun getByte(needsGlobal: Boolean = false): Byte
|
fun getByte(needsGlobal: Boolean = false): Byte
|
|
@ -1,7 +1,7 @@
|
||||||
// SPDX-FileCopyrightText: 2023 suyu Emulator Project
|
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
package org.suyu.suyu_emu.features.settings.model
|
package org.yuzu.yuzu_emu.features.settings.model
|
||||||
|
|
||||||
interface AbstractFloatSetting : AbstractSetting {
|
interface AbstractFloatSetting : AbstractSetting {
|
||||||
fun getFloat(needsGlobal: Boolean = false): Float
|
fun getFloat(needsGlobal: Boolean = false): Float
|
|
@ -1,7 +1,7 @@
|
||||||
// SPDX-FileCopyrightText: 2023 suyu Emulator Project
|
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
package org.suyu.suyu_emu.features.settings.model
|
package org.yuzu.yuzu_emu.features.settings.model
|
||||||
|
|
||||||
interface AbstractIntSetting : AbstractSetting {
|
interface AbstractIntSetting : AbstractSetting {
|
||||||
fun getInt(needsGlobal: Boolean = false): Int
|
fun getInt(needsGlobal: Boolean = false): Int
|
|
@ -1,7 +1,7 @@
|
||||||
// SPDX-FileCopyrightText: 2023 suyu Emulator Project
|
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
package org.suyu.suyu_emu.features.settings.model
|
package org.yuzu.yuzu_emu.features.settings.model
|
||||||
|
|
||||||
interface AbstractLongSetting : AbstractSetting {
|
interface AbstractLongSetting : AbstractSetting {
|
||||||
fun getLong(needsGlobal: Boolean = false): Long
|
fun getLong(needsGlobal: Boolean = false): Long
|
|
@ -1,9 +1,9 @@
|
||||||
// SPDX-FileCopyrightText: 2023 suyu Emulator Project
|
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
package org.suyu.suyu_emu.features.settings.model
|
package org.yuzu.yuzu_emu.features.settings.model
|
||||||
|
|
||||||
import org.suyu.suyu_emu.utils.NativeConfig
|
import org.yuzu.yuzu_emu.utils.NativeConfig
|
||||||
|
|
||||||
interface AbstractSetting {
|
interface AbstractSetting {
|
||||||
val key: String
|
val key: String
|
|
@ -1,7 +1,7 @@
|
||||||
// SPDX-FileCopyrightText: 2023 suyu Emulator Project
|
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
package org.suyu.suyu_emu.features.settings.model
|
package org.yuzu.yuzu_emu.features.settings.model
|
||||||
|
|
||||||
interface AbstractShortSetting : AbstractSetting {
|
interface AbstractShortSetting : AbstractSetting {
|
||||||
fun getShort(needsGlobal: Boolean = false): Short
|
fun getShort(needsGlobal: Boolean = false): Short
|
|
@ -1,7 +1,7 @@
|
||||||
// SPDX-FileCopyrightText: 2023 suyu Emulator Project
|
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
package org.suyu.suyu_emu.features.settings.model
|
package org.yuzu.yuzu_emu.features.settings.model
|
||||||
|
|
||||||
interface AbstractStringSetting : AbstractSetting {
|
interface AbstractStringSetting : AbstractSetting {
|
||||||
fun getString(needsGlobal: Boolean = false): String
|
fun getString(needsGlobal: Boolean = false): String
|
|
@ -1,9 +1,9 @@
|
||||||
// SPDX-FileCopyrightText: 2023 suyu Emulator Project
|
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
package org.suyu.suyu_emu.features.settings.model
|
package org.yuzu.yuzu_emu.features.settings.model
|
||||||
|
|
||||||
import org.suyu.suyu_emu.utils.NativeConfig
|
import org.yuzu.yuzu_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"),
|
|
@ -1,9 +1,9 @@
|
||||||
// SPDX-FileCopyrightText: 2023 suyu Emulator Project
|
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
package org.suyu.suyu_emu.features.settings.model
|
package org.yuzu.yuzu_emu.features.settings.model
|
||||||
|
|
||||||
import org.suyu.suyu_emu.utils.NativeConfig
|
import org.yuzu.yuzu_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");
|
|
@ -1,9 +1,9 @@
|
||||||
// SPDX-FileCopyrightText: 2023 suyu Emulator Project
|
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
package org.suyu.suyu_emu.features.settings.model
|
package org.yuzu.yuzu_emu.features.settings.model
|
||||||
|
|
||||||
import org.suyu.suyu_emu.utils.NativeConfig
|
import org.yuzu.yuzu_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
|
|
@ -1,9 +1,9 @@
|
||||||
// SPDX-FileCopyrightText: 2023 suyu Emulator Project
|
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
package org.suyu.suyu_emu.features.settings.model
|
package org.yuzu.yuzu_emu.features.settings.model
|
||||||
|
|
||||||
import org.suyu.suyu_emu.utils.NativeConfig
|
import org.yuzu.yuzu_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"),
|
|
@ -1,9 +1,9 @@
|
||||||
// SPDX-FileCopyrightText: 2023 suyu Emulator Project
|
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
package org.suyu.suyu_emu.features.settings.model
|
package org.yuzu.yuzu_emu.features.settings.model
|
||||||
|
|
||||||
import org.suyu.suyu_emu.utils.NativeConfig
|
import org.yuzu.yuzu_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");
|
|
@ -1,10 +1,10 @@
|
||||||
// SPDX-FileCopyrightText: 2023 suyu Emulator Project
|
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
package org.suyu.suyu_emu.features.settings.model
|
package org.yuzu.yuzu_emu.features.settings.model
|
||||||
|
|
||||||
import org.suyu.suyu_emu.R
|
import org.yuzu.yuzu_emu.R
|
||||||
import org.suyu.suyu_emu.SuyuApplication
|
import org.yuzu.yuzu_emu.YuzuApplication
|
||||||
|
|
||||||
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 =
|
||||||
SuyuApplication.appContext.getString(R.string.preferences_player, player)
|
YuzuApplication.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"
|
|
@ -1,9 +1,9 @@
|
||||||
// SPDX-FileCopyrightText: 2023 suyu Emulator Project
|
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
package org.suyu.suyu_emu.features.settings.model
|
package org.yuzu.yuzu_emu.features.settings.model
|
||||||
|
|
||||||
import org.suyu.suyu_emu.utils.NativeConfig
|
import org.yuzu.yuzu_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");
|
|
@ -1,9 +1,9 @@
|
||||||
// SPDX-FileCopyrightText: 2023 suyu Emulator Project
|
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
package org.suyu.suyu_emu.features.settings.model
|
package org.yuzu.yuzu_emu.features.settings.model
|
||||||
|
|
||||||
import org.suyu.suyu_emu.utils.NativeConfig
|
import org.yuzu.yuzu_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"),
|
|
@ -1,14 +1,14 @@
|
||||||
// SPDX-FileCopyrightText: 2024 suyu Emulator Project
|
// SPDX-FileCopyrightText: 2024 yuzu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
package org.suyu.suyu_emu.features.settings.model.view
|
package org.yuzu.yuzu_emu.features.settings.model.view
|
||||||
|
|
||||||
import androidx.annotation.StringRes
|
import androidx.annotation.StringRes
|
||||||
import org.suyu.suyu_emu.features.input.NativeInput
|
import org.yuzu.yuzu_emu.features.input.NativeInput
|
||||||
import org.suyu.suyu_emu.features.input.model.AnalogDirection
|
import org.yuzu.yuzu_emu.features.input.model.AnalogDirection
|
||||||
import org.suyu.suyu_emu.features.input.model.InputType
|
import org.yuzu.yuzu_emu.features.input.model.InputType
|
||||||
import org.suyu.suyu_emu.features.input.model.NativeAnalog
|
import org.yuzu.yuzu_emu.features.input.model.NativeAnalog
|
||||||
import org.suyu.suyu_emu.utils.ParamPackage
|
import org.yuzu.yuzu_emu.utils.ParamPackage
|
||||||
|
|
||||||
class AnalogInputSetting(
|
class AnalogInputSetting(
|
||||||
override val playerIndex: Int,
|
override val playerIndex: Int,
|
|
@ -1,13 +1,13 @@
|
||||||
// SPDX-FileCopyrightText: 2024 suyu Emulator Project
|
// SPDX-FileCopyrightText: 2024 yuzu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
package org.suyu.suyu_emu.features.settings.model.view
|
package org.yuzu.yuzu_emu.features.settings.model.view
|
||||||
|
|
||||||
import androidx.annotation.StringRes
|
import androidx.annotation.StringRes
|
||||||
import org.suyu.suyu_emu.utils.ParamPackage
|
import org.yuzu.yuzu_emu.utils.ParamPackage
|
||||||
import org.suyu.suyu_emu.features.input.NativeInput
|
import org.yuzu.yuzu_emu.features.input.NativeInput
|
||||||
import org.suyu.suyu_emu.features.input.model.InputType
|
import org.yuzu.yuzu_emu.features.input.model.InputType
|
||||||
import org.suyu.suyu_emu.features.input.model.NativeButton
|
import org.yuzu.yuzu_emu.features.input.model.NativeButton
|
||||||
|
|
||||||
class ButtonInputSetting(
|
class ButtonInputSetting(
|
||||||
override val playerIndex: Int,
|
override val playerIndex: Int,
|
|
@ -1,10 +1,10 @@
|
||||||
// SPDX-FileCopyrightText: 2023 suyu Emulator Project
|
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
package org.suyu.suyu_emu.features.settings.model.view
|
package org.yuzu.yuzu_emu.features.settings.model.view
|
||||||
|
|
||||||
import androidx.annotation.StringRes
|
import androidx.annotation.StringRes
|
||||||
import org.suyu.suyu_emu.features.settings.model.AbstractLongSetting
|
import org.yuzu.yuzu_emu.features.settings.model.AbstractLongSetting
|
||||||
|
|
||||||
class DateTimeSetting(
|
class DateTimeSetting(
|
||||||
private val longSetting: AbstractLongSetting,
|
private val longSetting: AbstractLongSetting,
|
|
@ -1,7 +1,7 @@
|
||||||
// SPDX-FileCopyrightText: 2023 suyu Emulator Project
|
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
package org.suyu.suyu_emu.features.settings.model.view
|
package org.yuzu.yuzu_emu.features.settings.model.view
|
||||||
|
|
||||||
import androidx.annotation.StringRes
|
import androidx.annotation.StringRes
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
// SPDX-FileCopyrightText: 2024 suyu Emulator Project
|
// SPDX-FileCopyrightText: 2024 yuzu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
package org.suyu.suyu_emu.features.settings.model.view
|
package org.yuzu.yuzu_emu.features.settings.model.view
|
||||||
|
|
||||||
import org.suyu.suyu_emu.R
|
import org.yuzu.yuzu_emu.R
|
||||||
import org.suyu.suyu_emu.features.input.NativeInput
|
import org.yuzu.yuzu_emu.features.input.NativeInput
|
||||||
import org.suyu.suyu_emu.utils.NativeConfig
|
import org.yuzu.yuzu_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, "") {
|
|
@ -1,15 +1,15 @@
|
||||||
// SPDX-FileCopyrightText: 2024 suyu Emulator Project
|
// SPDX-FileCopyrightText: 2024 yuzu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
package org.suyu.suyu_emu.features.settings.model.view
|
package org.yuzu.yuzu_emu.features.settings.model.view
|
||||||
|
|
||||||
import androidx.annotation.StringRes
|
import androidx.annotation.StringRes
|
||||||
import org.suyu.suyu_emu.R
|
import org.yuzu.yuzu_emu.R
|
||||||
import org.suyu.suyu_emu.SuyuApplication
|
import org.yuzu.yuzu_emu.YuzuApplication
|
||||||
import org.suyu.suyu_emu.features.input.NativeInput
|
import org.yuzu.yuzu_emu.features.input.NativeInput
|
||||||
import org.suyu.suyu_emu.features.input.model.ButtonName
|
import org.yuzu.yuzu_emu.features.input.model.ButtonName
|
||||||
import org.suyu.suyu_emu.features.input.model.InputType
|
import org.yuzu.yuzu_emu.features.input.model.InputType
|
||||||
import org.suyu.suyu_emu.utils.ParamPackage
|
import org.yuzu.yuzu_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() = SuyuApplication.appContext
|
protected val context get() = YuzuApplication.appContext
|
||||||
|
|
||||||
abstract fun getSelectedValue(): String
|
abstract fun getSelectedValue(): String
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
// SPDX-FileCopyrightText: 2023 suyu Emulator Project
|
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
package org.suyu.suyu_emu.features.settings.model.view
|
package org.yuzu.yuzu_emu.features.settings.model.view
|
||||||
|
|
||||||
import androidx.annotation.StringRes
|
import androidx.annotation.StringRes
|
||||||
import org.suyu.suyu_emu.features.settings.model.AbstractIntSetting
|
import org.yuzu.yuzu_emu.features.settings.model.AbstractIntSetting
|
||||||
|
|
||||||
class IntSingleChoiceSetting(
|
class IntSingleChoiceSetting(
|
||||||
private val intSetting: AbstractIntSetting,
|
private val intSetting: AbstractIntSetting,
|
|
@ -1,13 +1,13 @@
|
||||||
// SPDX-FileCopyrightText: 2024 suyu Emulator Project
|
// SPDX-FileCopyrightText: 2024 yuzu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
package org.suyu.suyu_emu.features.settings.model.view
|
package org.yuzu.yuzu_emu.features.settings.model.view
|
||||||
|
|
||||||
import androidx.annotation.StringRes
|
import androidx.annotation.StringRes
|
||||||
import org.suyu.suyu_emu.features.input.NativeInput
|
import org.yuzu.yuzu_emu.features.input.NativeInput
|
||||||
import org.suyu.suyu_emu.features.input.model.InputType
|
import org.yuzu.yuzu_emu.features.input.model.InputType
|
||||||
import org.suyu.suyu_emu.features.input.model.NativeAnalog
|
import org.yuzu.yuzu_emu.features.input.model.NativeAnalog
|
||||||
import org.suyu.suyu_emu.utils.ParamPackage
|
import org.yuzu.yuzu_emu.utils.ParamPackage
|
||||||
|
|
||||||
class ModifierInputSetting(
|
class ModifierInputSetting(
|
||||||
override val playerIndex: Int,
|
override val playerIndex: Int,
|
|
@ -1,7 +1,7 @@
|
||||||
// SPDX-FileCopyrightText: 2023 suyu Emulator Project
|
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
package org.suyu.suyu_emu.features.settings.model.view
|
package org.yuzu.yuzu_emu.features.settings.model.view
|
||||||
|
|
||||||
import androidx.annotation.DrawableRes
|
import androidx.annotation.DrawableRes
|
||||||
import androidx.annotation.StringRes
|
import androidx.annotation.StringRes
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue