Compare commits

...
Sign in to create a new pull request.

14 commits

Author SHA1 Message Date
Pavel Barabanov
065a4b3409 everything related to the FW 20 has been deleted. 2025-05-12 03:11:56 +03:00
ebd4313ed7
update shader backend strings
Some checks failed
eden-build / source (pull_request) Has been skipped
eden-build / android (pull_request) Has been cancelled
eden-build / windows (msvc) (pull_request) Has been cancelled
eden-build / linux (pull_request) Has been cancelled
eden-license / license-header (pull_request_target) Has been cancelled
Signed-off-by: swurl <swurl@swurl.xyz>
2025-05-11 19:38:23 -04:00
317cba3685
appimage fixes, rpc, some more
Some checks failed
eden-build / source (pull_request) Has been skipped
eden-build / linux (pull_request) Successful in 24m56s
eden-build / windows (msvc) (pull_request) Has been cancelled
eden-build / android (pull_request) Has been cancelled
eden-license / license-header (pull_request_target) Has been cancelled
- add back discord rpc
- remove getcradlefwversion stub
- add "Don't Show Again" option for desktop pre alpha banner
- add citron warning on android
- add polaris warning on desktop

Signed-off-by: swurl <swurl@swurl.xyz>
2025-05-11 19:09:22 -04:00
Pavel Barabanov
83a602a8af update translate (glsl, glasm, spir-v)
Some checks failed
eden-build / source (pull_request) Has been skipped
eden-build / linux (pull_request) Successful in 24m31s
eden-build / android (pull_request) Successful in 15m28s
eden-license / license-header (pull_request_target) Failing after 18s
eden-build / windows (msvc) (pull_request) Successful in 55m37s
2025-05-11 23:46:20 +03:00
Pavel Barabanov
757fc17dbf update translate (enhanced, skipping, system)
Some checks failed
eden-build / source (pull_request) Has been skipped
eden-build / linux (pull_request) Successful in 24m35s
eden-build / android (pull_request) Successful in 15m16s
eden-license / license-header (pull_request_target) Failing after 20s
eden-build / windows (msvc) (pull_request) Successful in 55m48s
2025-05-11 18:13:37 +03:00
Pavel Barabanov
6c9408271c updated the translation, link to discord, and website (android)
Some checks failed
eden-build / source (pull_request) Has been skipped
eden-build / linux (pull_request) Successful in 25m19s
eden-build / android (pull_request) Successful in 15m19s
eden-license / license-header (pull_request_target) Failing after 16s
eden-build / windows (msvc) (pull_request) Successful in 56m17s
2025-05-11 14:41:28 +03:00
d0163eb453
update some more links.
Some checks failed
eden-license / license-header (pull_request_target) Has been cancelled
eden-build / source (pull_request) Has been skipped
eden-build / linux (pull_request) Successful in 24m56s
eden-build / android (pull_request) Successful in 15m54s
eden-build / windows (msvc) (pull_request) Successful in 55m51s
Signed-off-by: swurl <swurl@swurl.xyz>
2025-05-11 02:20:12 -04:00
debd2cf851
add discord link.
Some checks failed
eden-build / source (pull_request) Has been cancelled
eden-build / windows (msvc) (pull_request) Has been cancelled
eden-build / linux (pull_request) Has been cancelled
eden-build / android (pull_request) Has been cancelled
eden-license / license-header (pull_request_target) Has been cancelled
Signed-off-by: swurl <swurl@swurl.xyz>
2025-05-11 02:15:49 -04:00
205a895367
tmp: fix android raii
Some checks failed
eden-build / source (pull_request) Has been skipped
eden-build / linux (pull_request) Successful in 25m23s
eden-build / android (pull_request) Has been cancelled
eden-build / windows (msvc) (pull_request) Has been cancelled
eden-license / license-header (pull_request_target) Has been cancelled
- update some translations
- fix glasm-spirv mixup.
- temporarily remove raii fixes on android, fixes black screen but
  causes soft crashes

Signed-off-by: swurl <swurl@swurl.xyz>
2025-05-11 01:45:54 -04:00
4965c8d51c
removed more legacy user facing strings.
Some checks failed
eden-build / source (pull_request) Has been skipped
eden-build / linux (pull_request) Successful in 24m29s
eden-build / android (pull_request) Successful in 15m25s
eden-license / license-header (pull_request_target) Failing after 34s
eden-build / windows (msvc) (pull_request) Successful in 55m7s
Signed-off-by: swurl <swurl@swurl.xyz>
2025-05-11 00:47:01 -04:00
ae3960fefa
more fixes
Some checks failed
eden-build / source (pull_request) Has been skipped
eden-build / android (pull_request) Has been cancelled
eden-build / linux (pull_request) Has been cancelled
eden-build / windows (msvc) (pull_request) Has been cancelled
eden-license / license-header (pull_request_target) Failing after 17s
- replaced some user-facing references to legacy with eden
- added progress bar & threading to migration
- disable Citron migration for now

Signed-off-by: swurl <swurl@swurl.xyz>
2025-05-11 00:27:11 -04:00
3c17854e05
fix ffmpeg android build issue
Some checks failed
eden-build / source (pull_request) Has been skipped
eden-build / linux (pull_request) Successful in 24m53s
eden-build / android (pull_request) Successful in 15m18s
eden-license / license-header (pull_request_target) Failing after 14s
eden-build / windows (msvc) (pull_request) Successful in 56m7s
Signed-off-by: swurl <swurl@swurl.xyz>
2025-05-10 22:09:01 -04:00
1f6d012da7
Revert "Turn off predictive back gesture to fix hardware back button not working in android 13 or higher"
Some checks failed
eden-build / source (pull_request) Has been skipped
eden-build / linux (pull_request) Successful in 25m18s
eden-build / android (pull_request) Failing after 8m10s
eden-license / license-header (pull_request_target) Failing after 21s
eden-build / windows (msvc) (pull_request) Successful in 55m16s
This reverts commit 0865b01053.
2025-05-10 21:24:58 -04:00
0184a5f772
fix a large variety of issues
Some checks failed
eden-build / source (pull_request) Has been skipped
eden-build / linux (pull_request) Successful in 1h49m41s
eden-build / android (pull_request) Has been cancelled
eden-build / windows (msvc) (pull_request) Has been cancelled
eden-license / license-header (pull_request_target) Failing after 28s
- GLASM/SPIR-V issues on Android
- potential greenscreen fix (thx suyu)
- save memory layout and add 10gb/12gb options
- potential samsung gaming hub fix
- fix layout of controller UI
- fix default settings to sensible defaults.
- note to TotK that you should increase memory layout
- Error checking for Windows linking
- fix an IDE error

TODO: fix duplicate edens veil code

Signed-off-by: swurl <swurl@swurl.xyz>
2025-05-10 19:22:26 -04:00
111 changed files with 1181 additions and 794 deletions

View file

@ -61,7 +61,6 @@ cmake .. -G Ninja \
-DYUZU_USE_QT_WEB_ENGINE=OFF \
-DENABLE_QT_TRANSLATION=ON \
-DUSE_DISCORD_PRESENCE=OFF \
-DBUNDLE_SPEEX=ON \
-DYUZU_USE_FASTER_LD=OFF \
-DYUZU_ENABLE_LTO=ON \
-DCMAKE_LINKER=/usr/bin/mold \

View file

@ -28,21 +28,22 @@ VERSION="$(echo "$EDEN_TAG")"
mkdir -p ./AppDir
cd ./AppDir
cat > org.eden_emu.eden.desktop << EOL
cat > eden.desktop << EOL
[Desktop Entry]
Type=Application
Name=Eden
Icon=org.eden_emu.eden
Icon=eden
StartupWMClass=eden
Exec=eden
Categories=Game;Emulator;
EOL
cp ../dist/eden.svg ./org.eden_emu.eden.svg
cp ../dist/eden.svg ./eden.svg
ln -sf ./org.eden_emu.eden.svg.svg ./.DirIcon
ln -sf ./eden.svg ./.DirIcon
if [ "$DEVEL" = 'true' ]; then
sed -i 's|Name=Eden|Name=Eden Nightly|' ./org.eden_emu.eden.desktop
sed -i 's|Name=Eden|Name=Eden Nightly|' ./eden.desktop
UPINFO="$(echo "$UPINFO" | sed 's|latest|nightly|')"
fi

View file

@ -102,7 +102,7 @@ jobs:
uses: forgejo/upload-artifact@v4
with:
name: linux.zip
path: ./*.AppImage
path: ./*.AppImage*
android:
runs-on: android
@ -177,6 +177,7 @@ jobs:
mkdir -p dist
cp linux.zip/Eden-*.AppImage dist/Eden-Linux-${{ env.VERSION }}-amd64.AppImage
cp linux.zip/Eden-*.AppImage.zsync dist/Eden-Linux-${{ env.VERSION }}-amd64.AppImage.zsync
cp msvc.zip/eden-windows-msvc*.zip dist/Eden-Windows-MSVC-${{ env.VERSION }}-amd64.zip
cp android.zip/eden-android*.apk dist/Eden-Android-${{ env.VERSION }}.apk
cp android.zip/eden-android*.aab dist/Eden-Android-${{ env.VERSION }}.aab

View file

@ -431,13 +431,13 @@ if (ENABLE_QT)
endif()
function(set_yuzu_qt_components)
# Best practice is to ask for all components at once, so they are from the same version
set(YUZU_QT_COMPONENTS2 Core Widgets Concurrent)
if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
list(APPEND YUZU_QT_COMPONENTS2 DBus)
endif()
if (YUZU_USE_QT_MULTIMEDIA)
list(APPEND YUZU_QT_COMPONENTS2 Multimedia)
# Best practice is to ask for all components at once, so they are from the same version
set(YUZU_QT_COMPONENTS2 Core Widgets Concurrent)
if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
list(APPEND YUZU_QT_COMPONENTS2 DBus)
endif()
if (YUZU_USE_QT_MULTIMEDIA)
list(APPEND YUZU_QT_COMPONENTS2 Multimedia)
endif()
if (YUZU_USE_QT_WEB_ENGINE)
list(APPEND YUZU_QT_COMPONENTS2 WebEngineCore WebEngineWidgets)
@ -449,16 +449,16 @@ list(APPEND YUZU_QT_COMPONENTS2 Multimedia)
list(APPEND YUZU_QT_COMPONENTS2 Network)
endif()
set(YUZU_QT_COMPONENTS ${YUZU_QT_COMPONENTS2} PARENT_SCOPE)
endfunction(set_yuzu_qt_components)
endfunction(set_yuzu_qt_components)
# List of all FFmpeg components required
set(FFmpeg_COMPONENTS
# List of all FFmpeg components required
set(FFmpeg_COMPONENTS
avcodec
avfilter
avutil
swscale)
if (UNIX AND NOT APPLE AND NOT ANDROID)
if (UNIX AND NOT APPLE AND NOT ANDROID)
find_package(PkgConfig REQUIRED)
pkg_check_modules(LIBVA libva)
endif()
@ -473,7 +473,7 @@ if(ENABLE_QT)
set(QT_MAJOR_VERSION 6)
# Qt6 sets cxx_std_17 and we need to undo that
set_target_properties(Qt6::Platform PROPERTIES INTERFACE_COMPILE_FEATURES "")
endif()
endif()
if (WIN32 AND YUZU_CRASH_DUMPS)
set(BREAKPAD_VER "breakpad-c89f9dd")

View file

@ -168,7 +168,6 @@ android {
"-DENABLE_QT=0", // Don't use QT
"-DENABLE_SDL2=0", // Don't use SDL
"-DENABLE_WEB_SERVICE=0", // Don't use telemetry
"-DBUNDLE_SPEEX=ON",
"-DANDROID_ARM_NEON=true", // cryptopp requires Neon to work
"-DYUZU_USE_BUNDLED_VCPKG=ON",
"-DYUZU_USE_BUNDLED_FFMPEG=ON",

View file

@ -29,7 +29,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
android:banner="@drawable/tv_banner"
android:fullBackupContent="@xml/data_extraction_rules"
android:dataExtractionRules="@xml/data_extraction_rules_api_31"
android:enableOnBackInvokedCallback="false">
android:enableOnBackInvokedCallback="true">
<meta-data android:name="android.game_mode_config"
android:resource="@xml/game_mode_config" />
@ -44,6 +44,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
<category android:name="android.intent.category.GAME" />
<category android:name="android.intent.category.LEANBACK_LAUNCHER" />
</intent-filter>
</activity>

View file

@ -565,11 +565,11 @@ class EmulationFragment : Fragment(), SurfaceHolder.Callback {
var fpsText = String.format("FPS: %.1f", actualFps)
if (enableFrameInterpolation) {
fpsText += ("(Enhanced)")
fpsText += " " + getString(R.string.enhanced_fps_suffix)
}
if (enableFrameSkipping) {
fpsText += " [Skipping]"
fpsText += " " + getString(R.string.skipping_fps_suffix)
}
sb.append(fpsText)

View file

@ -30,7 +30,7 @@
android:textColor="?attr/colorOnSurfaceVariant"
android:textAlignment="viewStart"
android:layout_marginEnd="4dp"
android:text="System Info:" />
android:text="@string/system_info_label" />
<com.google.android.material.textview.MaterialTextView
android:id="@+id/cpu_backend"

View file

@ -6,6 +6,9 @@
<string name="notification_permission_not_granted">لم يتم منح إذن الإشعار</string>
<!-- Stats Overlay settings -->
<string name="enhanced_fps_suffix">(مُحسَّن)</string>
<string name="skipping_fps_suffix">(تخطي)</string>
<string name="system_info_label">النظام:</string>
<string name="show_stats_overlay">عرض إحصائيات الأداء</string>
<string name="stats_overlay_customization">تخصيص</string>
<string name="stats_overlay_items">الرؤية</string>
@ -19,9 +22,9 @@
<string name="show_speed">عرض السرعة</string>
<string name="show_speed_description">عرض نسبة سرعة المحاكاة</string>
<string name="show_app_ram_usage">عرض استخدام ذاكرة التطبيق</string>
<string name="show_app_ram_usage_description">عرض كمية الذاكرة المستخدمة من قبل المحاكي</string>
<string name="show_app_ram_usage_description">عرض كمية ذاكرة الوصول العشوائي التي يستخدمها المحاكي</string>
<string name="show_system_ram_usage">عرض استخدام ذاكرة النظام</string>
<string name="show_system_ram_usage_description">عرض كمية الذاكرة المستخدمة من قبل النظام</string>
<string name="show_system_ram_usage_description">عرض كمية ذاكرة الوصول العشوائي المستخدمة من قبل النظام</string>
<string name="show_bat_temperature">عرض درجة حرارة البطارية</string>
<string name="show_bat_temperature_description">عرض درجة حرارة البطارية الحالية</string>
<string name="overlay_position">موضع العرض</string>
@ -49,7 +52,7 @@
<string name="dyna_state3">EDS3 + VertexInputDynamicState</string>
<string name="dyna_state3_description">يحسن الأداء على الأجهزة الأحدث. مدعوم فقط على وحدات معالجة الرسومات التي تدعم فولكان 1.3+.</string>
<string name="use_sync_core">مزامنة سرعة النواة</string>
<string name="use_sync_core_description">قم بمزامنة سرعة النواة مع النسبة المئوية القصوى للسرعة لتحسين الأداء دون تغيير السرعة الفعلية للعبة.</string>
<string name="use_sync_core_description">مزامنة سرعة النواة مع النسبة القصوى للسرعة لتحسين الأداء دون تغيير السرعة الفعلية للعبة.</string>
<string name="use_auto_stub">استخدام الستاب التلقائي</string>
<string name="use_auto_stub_description">يقوم تلقائيًا بإضافة خدمات ووظائف ناقصة. قد يحسن التوافق ولكنه قد يتسبب في تعطل المشغل ومشاكل في الاستقرار.</string>
<string name="uninstall_firmware">إزالة البرنامج الثابت</string>
@ -86,8 +89,9 @@
<!-- خلفية Shader -->
<string name="shader_backend">خلفية Shader</string>
<string name="shader_backend_description">اختيار طريقة ترجمة Shaders</string>
<string name="shader_backend_glsl">GLSL</string>
<string name="shader_backend_spirv">SPIR-V</string>
<string name="shader_backend_glsl">عام</string>
<string name="shader_backend_glasm">Mali</string>
<string name="shader_backend_spirv">Adreno/Xclipse</string>
<!-- محاكاة NVDEC -->
<string name="nvdec_emulation">محاكاة NVDEC</string>
@ -373,7 +377,7 @@
<string name="renderer_aspect_ratio">تناسب الابعاد</string>
<string name="renderer_anti_aliasing">طريقة مكافحة التعرج</string>
<string name="renderer_asynchronous_shaders">استخدم تظليل غير متزامن</string>
<string name="renderer_asynchronous_shaders_description">يجمع التظليل بشكل غير متزامن، مما يقلل من التأتأة ولكنه قد يؤدي إلى حدوث بعض الأخطاء.</string>
<string name="renderer_asynchronous_shaders_description">تجميع الظلال بشكل غير متزامن. قد يقلل هذا من التقطع ولكنه قد يتسبب أيضًا في حدوث أخطاء.</string>
<string name="renderer_reactive_flushing">استخدم التنظيف التفاعلي</string>
<string name="renderer_reactive_flushing_description">تحسين دقة العرض في بعض الألعاب على حساب الأداء</string>
<string name="use_disk_shader_cache_description">يقلل من التأتأة عن طريق تخزين وتحميل التظليلات التي تم إنشاؤها محليًا.</string>

View file

@ -7,6 +7,9 @@
<string name="notification_permission_not_granted">مۆڵەتی ئاگادارکردنەوە نەدراوە!</string>
<!-- Stats Overlay settings -->
<string name="enhanced_fps_suffix">(پێشکەوتوو)</string>
<string name="skipping_fps_suffix">(بازدان)</string>
<string name="system_info_label">سیستەم:</string>
<string name="show_stats_overlay">پیشاندانی ستاتیستی کارایی</string>
<string name="stats_overlay_customization">خۆڕێکخستن</string>
<string name="stats_overlay_items">دیاربوون</string>
@ -20,9 +23,9 @@
<string name="show_speed">نیشاندانی خێرایی</string>
<string name="show_speed_description">نیشاندانی خێرایی ئیمولەیشن بە ڕێژە</string>
<string name="show_app_ram_usage">نیشاندانی بەکارهێنانی RAMی ئەپ</string>
<string name="show_app_ram_usage_description">نیشاندانی بەکارهێنانی RAM لەلایەن ئیمولەیتەر</string>
<string name="show_app_ram_usage_description">نیشاندانی بڕی RAM کە ئێمولاتۆر بەکاردەهێنێت</string>
<string name="show_system_ram_usage">نیشاندانی بەکارهێنانی RAMی سیستەم</string>
<string name="show_system_ram_usage_description">نیشاندانی بەکارهێنانی RAM لەلایەن سیستەم</string>
<string name="show_system_ram_usage_description">نیشاندانی بڕی RAM کە سیستم بەکاردەهێنێت</string>
<string name="show_bat_temperature">نیشاندانی پلەی گەرمی بەتری</string>
<string name="show_bat_temperature_description">نیشاندانی پلەی گەرمی بەتری بە سەدی و فارینهایت</string>
<string name="overlay_position">شوێنی ئاوێرە</string>
@ -50,7 +53,7 @@
<string name="dyna_state3">EDS3 + VertexInputDynamicState</string>
<string name="dyna_state3_description">يحسن الأداء على الأجهزة الأحدث. مدعوم فقط على وحدات معالجة الرسومات التي تدعم فولكان 1.3+.</string>
<string name="use_sync_core">مزامنة سرعة النواة</string>
<string name="use_sync_core_description">قم بمزامنة سرعة النواة مع النسبة المئوية القصوى للسرعة لتحسين الأداء دون تغيير السرعة الفعلية للعبة.</string>
<string name="use_sync_core_description">خێرایی تیکەکانی ناوک ڕێکبخە لەگەڵ ڕێژەی خێرایی بەرزترین بۆ باشترکردنی کارایی بەبێ گۆڕینی خێرایی ڕاستەقینەی یارییەکە.</string>
<string name="use_auto_stub">استخدام الستاب التلقائي</string>
<string name="use_auto_stub_description">يقوم تلقائيًا بإضافة خدمات ووظائف ناقصة. قد يحسن التوافق ولكنه قد يتسبب في تعطل المشغل ومشاكل في الاستقرار.</string>
<string name="uninstall_firmware">إزالة البرنامج الثابت</string>
@ -87,8 +90,9 @@
<!-- شادەر باکند -->
<string name="shader_backend">شادەر باکند</string>
<string name="shader_backend_description">هەڵبژاردنی ڕێگای پێکهێنانی شادەر</string>
<string name="shader_backend_glsl">GLSL</string>
<string name="shader_backend_spirv">SPIR-V</string>
<string name="shader_backend_glsl">گشتی</string>
<string name="shader_backend_glasm">Mali</string>
<string name="shader_backend_spirv">Adreno/Xclipse</string>
<!-- ئیمولەیشنی NVDEC -->
<string name="nvdec_emulation">ئیمولەیشنی NVDEC</string>
@ -328,7 +332,7 @@
<string name="renderer_force_max_clock">ناچاریکردن بۆ زۆرترین کاتژمێر (تەنها ئەدرینۆ)</string>
<string name="renderer_force_max_clock_description">GPU ناچار دەکات بە زۆرترین کاتژمێر کاربکات (هێشتا سنووردارکردنی گەرمی جێبەجێ دەکرێت).</string>
<string name="renderer_asynchronous_shaders">بەکارهێنانی سێبەری ناهاوسەنگ</string>
<string name="renderer_asynchronous_shaders_description">سێبەرەکان بە شێوەیەکی ناهاوسەنگ کۆدەکاتەوە، پچڕپچڕی کەمدەکاتەوە بەڵام لەوانەیە گلێچ دروستکا.</string>
<string name="renderer_asynchronous_shaders_description">کۆمپایلکردنی شادەرەکان بەشێوەی ناڕێک. ئەمە ڕەنگە کەمکردنەوەی ستەتەر بکات بەڵام لەوانەیە هەڵەش دروست بکات.</string>
<string name="renderer_reactive_flushing">بەکارهێنانی بەرپێچدەرەوە</string>
<string name="renderer_reactive_flushing_description">وردی ڕێندەرکردن لە هەندێک یاریدا باشتر دەکات لەسەر تێچووی کارایی.</string>
<string name="use_disk_shader_cache">بیرگەخێرای سێبەری دیسک</string>

View file

@ -6,6 +6,9 @@
<string name="notification_permission_not_granted">Oznámení nejsou oprávněna!</string>
<!-- Stats Overlay settings -->
<string name="enhanced_fps_suffix">(Vylepšený)</string>
<string name="skipping_fps_suffix">(Přeskakování)</string>
<string name="system_info_label">Systém:</string>
<string name="show_stats_overlay">Zobrazit překryv statistik výkonu</string>
<string name="stats_overlay_customization">Přizpůsobení</string>
<string name="stats_overlay_items">Viditelnost</string>
@ -19,9 +22,9 @@
<string name="show_speed">Zobrazit rychlost</string>
<string name="show_speed_description">Aktuální rychlost emulace v procentech</string>
<string name="show_app_ram_usage">Zobrazit využití RAM aplikace</string>
<string name="show_app_ram_usage_description">Množství RAM používané emulátorem</string>
<string name="show_app_ram_usage_description">Zobrazit množství RAM, které emulátor používá</string>
<string name="show_system_ram_usage">Zobrazit využití systémové RAM</string>
<string name="show_system_ram_usage_description">Množství RAM používané systémem</string>
<string name="show_system_ram_usage_description">Zobrazit množství RAM využívané systémem</string>
<string name="show_bat_temperature">Zobrazit teplotu baterie</string>
<string name="show_bat_temperature_description">Aktuální teplota baterie ve °C a °F</string>
<string name="overlay_position">Pozice překryvu</string>
@ -49,7 +52,7 @@
<string name="dyna_state3">EDS3 + VertexInputDynamicState</string>
<string name="dyna_state3_description">Zlepšuje výkon na novějších zařízeních. Podporováno pouze na GPU s Vulkan 1.3+.</string>
<string name="use_sync_core">Synchronizovat rychlost jádra</string>
<string name="use_sync_core_description">Synchronizuje rychlost jádra s maximální procentuální rychlostí pro lepší výkon bez změny skutečné rychlosti hry.</string>
<string name="use_sync_core_description">Synchronizuje rychlost jádra s maximálním procentem rychlosti, aby se zlepšil výkon bez změny skutečné rychlosti hry.</string>
<string name="use_auto_stub">Použít automatický stub</string>
<string name="use_auto_stub_description">Automaticky doplňuje chybějící služby a funkce. Může zlepšit kompatibilitu, ale také způsobit pády a problémy se stabilitou.</string>
<string name="uninstall_firmware">Odinstalovat firmware</string>
@ -86,8 +89,9 @@
<!-- Backend shaderů -->
<string name="shader_backend">Backend shaderů</string>
<string name="shader_backend_description">Způsob kompilace shaderů</string>
<string name="shader_backend_glsl">GLSL</string>
<string name="shader_backend_spirv">SPIR-V</string>
<string name="shader_backend_glsl">Univerzální</string>
<string name="shader_backend_glasm">Mali</string>
<string name="shader_backend_spirv">Adreno/Xclipse</string>
<!-- Emulace NVDEC -->
<string name="nvdec_emulation">Emulace NVDEC</string>
@ -292,16 +296,43 @@
<!-- General settings strings -->
<string name="frame_limit_enable">Omezit rychlost</string>
<string name="cpu_accuracy">CPU přesnost</string>
<string name="frame_limit_enable_description">Omezení emulační rychlosti</string>
<string name="frame_limit_slider">Procento omezení</string>
<string name="frame_limit_slider_description">Procento normální rychlosti</string>
<string name="cpu_backend">CPU backend</string>
<string name="cpu_accuracy">Přesnost CPU</string>
<string name="value_with_units">%1$s%2$s</string>
<string name="device_name">Název zařízení</string>
<string name="use_docked_mode">Docked režim</string>
<string name="use_docked_mode_description">Větší rozlišení, menší výkon</string>
<string name="emulated_region">Emulovaná oblast</string>
<string name="emulated_language">Emulovaný jazyk</string>
<string name="select_rtc_date">Vybrat datum RTC</string>
<string name="select_rtc_time">Vybrat čas RTC</string>
<string name="use_custom_rtc">Vlastní RTC</string>
<string name="use_custom_rtc_description">Vlastní nastavení času</string>
<string name="set_custom_rtc">Nastavit vlastní RTC</string>
<!-- Graphics settings strings -->
<string name="renderer_accuracy">Úroveň přesnosti</string>
<string name="renderer_resolution">Rozlišení (Handheld/Docked)</string>
<string name="renderer_vsync">VSync režim</string>
<string name="renderer_screen_layout">Orientace</string>
<string name="renderer_aspect_ratio">Poměr stran</string>
<string name="renderer_scaling_filter">Filtr přizpůsobení</string>
<string name="fsr_sharpness">Ostrost FSR</string>
<string name="fsr_sharpness_description">Nastavení ostrosti pro FSR</string>
<string name="renderer_anti_aliasing">Anti-aliasing</string>
<string name="renderer_force_max_clock">Maximální takt (Adreno)</string>
<string name="renderer_force_max_clock_description">Maximální výkon GPU</string>
<string name="renderer_asynchronous_shaders">Asynchronní shadery</string>
<string name="renderer_asynchronous_shaders_description">Kompiluje stínovače asynchronně. Může to snížit trhání, ale také způsobit grafické chyby.</string>
<string name="renderer_reactive_flushing">Reaktivní flushing</string>
<string name="renderer_reactive_flushing_description">Zlepšení přesnosti vykreslování</string>
<string name="use_disk_shader_cache">Shader cache na disku</string>
<string name="use_disk_shader_cache_description">Snížení trhání ukládáním shaderů</string>
<string name="anisotropic_filtering">Anizotropní filtrování</string>
<string name="anisotropic_filtering_description">Zlepšení kvality textur</string>
<!-- Debug settings strings -->
<string name="cpu">CPU</string>

View file

@ -7,6 +7,9 @@
<string name="notification_permission_not_granted">Berechtigung für Benachrichtigungen nicht erlaubt!</string>
<!-- Stats Overlay settings -->
<string name="enhanced_fps_suffix">(Enhanced)</string>
<string name="skipping_fps_suffix">(Skipping)</string>
<string name="system_info_label">System:</string>
<string name="show_stats_overlay">Leistungsstatistik Overlay anzeigen</string>
<string name="stats_overlay_customization">Anpassung</string>
<string name="stats_overlay_items">Sichtbarkeit</string>
@ -20,9 +23,9 @@
<string name="show_speed">Geschwindigkeit anzeigen</string>
<string name="show_speed_description">Emulationsgeschwindigkeit in Prozent</string>
<string name="show_app_ram_usage">App-RAM-Nutzung anzeigen</string>
<string name="show_app_ram_usage_description">RAM-Nutzung durch den Emulator</string>
<string name="show_app_ram_usage_description">Zeigt den RAM-Verbrauch des Emulators an</string>
<string name="show_system_ram_usage">System-RAM-Nutzung anzeigen</string>
<string name="show_system_ram_usage_description">RAM-Nutzung durch das System</string>
<string name="show_system_ram_usage_description">Zeigt den vom System genutzten RAM an</string>
<string name="show_bat_temperature">Batterietemperatur anzeigen</string>
<string name="show_bat_temperature_description">Aktuelle Batterietemperatur in °C/°F</string>
<string name="overlay_position">Overlay-Position</string>
@ -50,7 +53,7 @@
<string name="dyna_state3">EDS3 + VertexInputDynamicState</string>
<string name="dyna_state3_description">Verbessert die Leistung auf neueren Geräten. Wird nur von GPUs mit Vulkan 1.3+ unterstützt.</string>
<string name="use_sync_core">Kern-Geschwindigkeit synchronisieren</string>
<string name="use_sync_core_description">Synchronisiert die Kern-Taktgeschwindigkeit mit der maximalen Geschwindigkeit, um die Leistung zu verbessern, ohne die tatsächliche Spielgeschwindigkeit zu ändern.</string>
<string name="use_sync_core_description">Synchronisiert die Taktrate des Kerns mit der maximalen Geschwindigkeit, um die Leistung zu verbessern, ohne die tatsächliche Spielgeschwindigkeit zu verändern.</string>
<string name="use_auto_stub">Auto-Stub verwenden</string>
<string name="use_auto_stub_description">Ergänzt automatisch fehlende Dienste und Funktionen. Kann die Kompatibilität verbessern, aber auch zu Abstürzen und Stabilitätsproblemen führen.</string>
<string name="uninstall_firmware">Firmware deinstallieren</string>
@ -87,8 +90,9 @@
<!-- Shader Backend -->
<string name="shader_backend">Shader-Backend</string>
<string name="shader_backend_description">Methode zur Shader-Kompilierung</string>
<string name="shader_backend_glsl">GLSL</string>
<string name="shader_backend_spirv">SPIR-V</string>
<string name="shader_backend_glsl">Universal</string>
<string name="shader_backend_glasm">Mali</string>
<string name="shader_backend_spirv">Adreno/Xclipse</string>
<!-- NVDEC Emulation -->
<string name="nvdec_emulation">NVDEC-Emulation</string>
@ -343,15 +347,24 @@ Wird der Handheld-Modus verwendet, verringert es die Auflösung und erhöht die
<string name="use_custom_rtc">Benutzerdefinierte Echtzeituhr</string>
<!-- Graphics settings strings -->
<string name="renderer_accuracy">Genauigkeitsstufe</string>
<string name="renderer_resolution">Auflösung (Mobil/Gedockt)</string>
<string name="renderer_resolution">Auflösung (Handheld/Gedockt)</string>
<string name="renderer_vsync">VSync-Modus</string>
<string name="renderer_screen_layout">Orientierung</string>
<string name="renderer_screen_layout">Ausrichtung</string>
<string name="renderer_aspect_ratio">Seitenverhältnis</string>
<string name="renderer_scaling_filter">Fensteranpassungsfilter</string>
<string name="renderer_scaling_filter">Skalierungsfilter</string>
<string name="fsr_sharpness">FSR-Schärfe</string>
<string name="fsr_sharpness_description">Bestimmt die Schärfe bei FSR-Nutzung.</string>
<string name="renderer_anti_aliasing">Kantenglättung</string>
<string name="renderer_force_max_clock">Maximale Taktfrequenz erzwingen (nur Adreno)</string>
<string name="renderer_force_max_clock_description">Erzwingt den Betrieb der GPU mit der maximal möglichen Taktfrequenz (Temperaturbeschränkungen werden weiterhin angewendet).</string>
<string name="renderer_asynchronous_shaders">Asynchrone Shader nutzen</string>
<string name="renderer_force_max_clock_description">Erzwingt maximale GPU-Taktfrequenz.</string>
<string name="renderer_asynchronous_shaders">Asynchrone Shader</string>
<string name="renderer_asynchronous_shaders_description">Kompiliert Shader asynchron. Dies kann Ruckler reduzieren, aber auch Grafikfehler verursachen.</string>
<string name="renderer_reactive_flushing">Reaktives Flushing</string>
<string name="renderer_reactive_flushing_description">Verbessert die Genauigkeit in einigen Spielen.</string>
<string name="use_disk_shader_cache">Shader-Cache auf Festplatte</string>
<string name="use_disk_shader_cache_description">Reduziert Ruckler durch Shader-Caching.</string>
<string name="anisotropic_filtering">Anisotrope Filterung</string>
<string name="anisotropic_filtering_description">Verbessert die Texturenqualität.</string>
<!-- Debug settings strings -->
<string name="cpu">CPU</string>
<string name="cpu_debug_mode">CPU Debugging</string>

View file

@ -7,6 +7,9 @@
<string name="notification_permission_not_granted">¡Permisos de notificación no concedidos!</string>
<!-- Stats Overlay settings -->
<string name="enhanced_fps_suffix">(Mejorado)</string>
<string name="skipping_fps_suffix">(Saltando)</string>
<string name="system_info_label">Sistema:</string>
<string name="show_stats_overlay">Mostrar superposición de estadísticas de rendimiento</string>
<string name="stats_overlay_customization">Personalización</string>
<string name="stats_overlay_items">Visibilidad</string>
@ -20,9 +23,9 @@
<string name="show_speed">Mostrar velocidad</string>
<string name="show_speed_description">Mostrar porcentaje de velocidad de emulación</string>
<string name="show_app_ram_usage">Mostrar uso de RAM de la app</string>
<string name="show_app_ram_usage_description">Mostrar RAM utilizada por el emulador</string>
<string name="show_app_ram_usage_description">Mostrar la cantidad de RAM que utiliza el emulador</string>
<string name="show_system_ram_usage">Mostrar uso de RAM del sistema</string>
<string name="show_system_ram_usage_description">Mostrar RAM utilizada por el sistema</string>
<string name="show_system_ram_usage_description">Mostrar la cantidad de RAM utilizada por el sistema</string>
<string name="show_bat_temperature">Mostrar temperatura de batería</string>
<string name="show_bat_temperature_description">Mostrar temperatura en Celsius y Fahrenheit</string>
<string name="overlay_position">Posición de la superposición</string>
@ -50,7 +53,7 @@
<string name="dyna_state3">EDS3 + VertexInputDynamicState</string>
<string name="dyna_state3_description">Mejora el rendimiento en dispositivos nuevos. Solo compatible con GPUs Vulkan 1.3+.</string>
<string name="use_sync_core">Sincronizar velocidad del núcleo</string>
<string name="use_sync_core_description">Sincroniza la velocidad del núcleo con el porcentaje máximo para mejorar el rendimiento sin alterar la velocidad real del juego.</string>
<string name="use_sync_core_description">Sincroniza la velocidad del núcleo con el porcentaje máximo de velocidad para mejorar el rendimiento sin alterar la velocidad real del juego.</string>
<string name="use_auto_stub">Usar Auto Stub</string>
<string name="use_auto_stub_description">Rellena automáticamente servicios y funciones faltantes. Puede mejorar compatibilidad pero causar cierres inesperados.</string>
<string name="uninstall_firmware">Desinstalar firmware</string>
@ -87,8 +90,9 @@
<!-- Backend de shaders -->
<string name="shader_backend">Backend de shaders</string>
<string name="shader_backend_description">Elegir cómo se compilan shaders</string>
<string name="shader_backend_glsl">GLSL</string>
<string name="shader_backend_spirv">SPIR-V</string>
<string name="shader_backend_glsl">Universal</string>
<string name="shader_backend_glasm">Mali</string>
<string name="shader_backend_spirv">Adreno/Xclipse</string>
<!-- Emulación NVDEC -->
<string name="nvdec_emulation">Emulación NVDEC</string>
@ -408,7 +412,7 @@
<string name="renderer_force_max_clock">Forzar velocidad al máximo (solo Adreno)</string>
<string name="renderer_force_max_clock_description">Fuerza a la GPU a ejecutarse a la velocidad máxima de reloj posible (se seguirán aplicando restricciones térmicas).</string>
<string name="renderer_asynchronous_shaders">Usar shaders asíncronos</string>
<string name="renderer_asynchronous_shaders_description">Compila shaders de manera asíncrona, reduce los parones pero puede introducir fallos.</string>
<string name="renderer_asynchronous_shaders_description">Compila los shaders de forma asíncrona. Esto puede reducir los tirones, pero también puede introducir errores gráficos.</string>
<string name="renderer_reactive_flushing">Usar limpieza reactiva</string>
<string name="renderer_reactive_flushing_description">Mejora la precisión de renderizado en algunos juegos, pero reduce el rendimiento.</string>
<string name="use_disk_shader_cache">Caché de shaders en disco</string>

View file

@ -7,6 +7,9 @@
<string name="notification_permission_not_granted">مجوز اعلان داده نشده!</string>
<!-- Stats Overlay settings -->
<string name="enhanced_fps_suffix">(بهبودیافته)</string>
<string name="skipping_fps_suffix">(رد کردن)</string>
<string name="system_info_label">سیستم:</string>
<string name="show_stats_overlay">نمایش آمار عملکرد</string>
<string name="stats_overlay_customization">سفارشی‌سازی</string>
<string name="stats_overlay_items">نمایش</string>
@ -20,9 +23,9 @@
<string name="show_speed">نمایش سرعت</string>
<string name="show_speed_description">نمایش درصد سرعت شبیه‌سازی</string>
<string name="show_app_ram_usage">نمایش مصرف رم برنامه</string>
<string name="show_app_ram_usage_description">نمایش میزان رم استفاده‌شده توسط شبیه‌ساز</string>
<string name="show_app_ram_usage_description">نمایش میزان رم مورد استفاده شبیه‌ساز</string>
<string name="show_system_ram_usage">نمایش مصرف رم سیستم</string>
<string name="show_system_ram_usage_description">نمایش میزان رم استفادهشده توسط سیستم</string>
<string name="show_system_ram_usage_description">نمایش میزان رم استفاده شده توسط سیستم</string>
<string name="show_bat_temperature">نمایش دمای باتری</string>
<string name="show_bat_temperature_description">نمایش دمای باتری به سانتی‌گراد و فارنهایت</string>
<string name="overlay_position">موقعیت اورلی</string>
@ -50,7 +53,7 @@
<string name="dyna_state3">EDS3 + حالت پویای ورودی رأس</string>
<string name="dyna_state3_description">عملکرد را در دستگاه‌های جدیدتر بهبود می‌بخشد. فقط در کارت‌های گرافیک با پشتیبانی از ولکان 1.3+ قابل استفاده است</string>
<string name="use_sync_core">همگام‌سازی سرعت هسته</string>
<string name="use_sync_core_description">سرعت تیک هسته را با حداکثر درصد سرعت همگام می‌کند تا عملکرد بهبود یابد بدون آنکه سرعت واقعی بازی تغییر کند</string>
<string name="use_sync_core_description">همگام‌سازی سرعت هسته با حداکثر درصد سرعت برای بهبود عملکرد بدون تغییر سرعت واقعی بازی.</string>
<string name="use_auto_stub">استفاده از استاب خودکار</string>
<string name="use_auto_stub_description">به طور خودکار سرویس‌ها و توابع از دست رفته را استاب می‌کند. این ممکن است سازگاری را بهبود بخشد اما می‌تواند باعث کرش و مشکلات پایداری شود</string>
<string name="uninstall_firmware">حذف فرمور</string>
@ -87,8 +90,9 @@
<!-- بک‌اند شیدر -->
<string name="shader_backend">بک‌اند شیدر</string>
<string name="shader_backend_description">انتخاب روش کامپایل و ترجمه شیدرها</string>
<string name="shader_backend_glsl">GLSL</string>
<string name="shader_backend_spirv">SPIR-V</string>
<string name="shader_backend_glsl">همه‌کاره</string>
<string name="shader_backend_glasm">Mali</string>
<string name="shader_backend_spirv">Adreno/Xclipse</string>
<!-- شبیه‌سازی NVDEC -->
<string name="nvdec_emulation">شبیه‌سازی NVDEC</string>
@ -408,7 +412,7 @@
<string name="renderer_force_max_clock">اجبار به حداکثر فرکانس (فقط برای Adreno)</string>
<string name="renderer_force_max_clock_description">پردازنده گرافیکی را مجبور می‌کند تا با بیشترین فرکانس کار کند (محدودیت‌های حرارتی همچنان اعمال خواهند شد).</string>
<string name="renderer_asynchronous_shaders">استفاده از سایه‌زن‌های ناهمزمان</string>
<string name="renderer_asynchronous_shaders_description">سایه‌زن‌ها را به صورت ناهمزمان کامپایل می کند، لکنت را کاهش می‌دهد اما ممکن است اشکالاتی ایجاد کند.</string>
<string name="renderer_asynchronous_shaders_description">کامپایل شیدرها به صورت ناهمزمان. این ممکن است باعث کاهش مکث شود اما ممکن است مشکلات گرافیکی نیز ایجاد کند.</string>
<string name="renderer_reactive_flushing">استفاده از فلاش کردن واکنشی</string>
<string name="renderer_reactive_flushing_description">دقت تفسیر تصاویر را در برخی از بازی‌ها به قیمت عملکرد بهبود می‌بخشد.</string>
<string name="use_disk_shader_cache">ذخیره سایه‌زنی‌ها در حافظه</string>

View file

@ -7,6 +7,9 @@
<string name="notification_permission_not_granted">Permission de notification non accordée !</string>
<!-- Stats Overlay settings -->
<string name="enhanced_fps_suffix">(Amélioré)</string>
<string name="skipping_fps_suffix">(Saut)</string>
<string name="system_info_label">Système:</string>
<string name="show_stats_overlay">Afficher les stats de performance</string>
<string name="stats_overlay_customization">Personnalisation</string>
<string name="stats_overlay_items">Visibilité</string>
@ -20,9 +23,9 @@
<string name="show_speed">Afficher vitesse</string>
<string name="show_speed_description">Afficher la vitesse d`émulation</string>
<string name="show_app_ram_usage">RAM app</string>
<string name="show_app_ram_usage_description">Afficher la RAM utilisée par l`émulateur</string>
<string name="show_app_ram_usage_description">Afficher la quantité de RAM utilisée par l\'émulateur</string>
<string name="show_system_ram_usage">RAM système</string>
<string name="show_system_ram_usage_description">Afficher la RAM système utilisée</string>
<string name="show_system_ram_usage_description">Afficher la quantité de RAM utilisée par le système</string>
<string name="show_bat_temperature">Temp. batterie</string>
<string name="show_bat_temperature_description">Afficher la température de la batterie</string>
<string name="overlay_position">Position overlay</string>
@ -50,7 +53,7 @@
<string name="dyna_state3">EDS3 + VertexInputDynamicState</string>
<string name="dyna_state3_description">Améliore les performances sur les appareils récents. Pris en charge uniquement par les GPU Vulkan 1.3+.</string>
<string name="use_sync_core">Synchroniser la vitesse du cœur</string>
<string name="use_sync_core_description">Synchronise la vitesse de base avec le pourcentage de vitesse maximal pour améliorer les performances sans altérer la vitesse réelle du jeu.</string>
<string name="use_sync_core_description">Synchronise la vitesse du cœur avec le pourcentage de vitesse maximal pour améliorer les performances sans modifier la vitesse réelle du jeu.</string>
<string name="use_auto_stub">Utiliser le stub automatique</string>
<string name="use_auto_stub_description">Comble automatiquement les services et fonctions manquants. Peut améliorer la compatibilité mais peut provoquer des plantages et des problèmes de stabilité.</string>
<string name="uninstall_firmware">Désinstaller le firmware</string>
@ -87,8 +90,9 @@
<!-- Shader Backend -->
<string name="shader_backend">Backend shader</string>
<string name="shader_backend_description">Méthode de compilation</string>
<string name="shader_backend_glsl">GLSL</string>
<string name="shader_backend_spirv">SPIR-V</string>
<string name="shader_backend_glsl">Universel</string>
<string name="shader_backend_glasm">Mali</string>
<string name="shader_backend_spirv">Adreno/Xclipse</string>
<!-- NVDEC -->
<string name="nvdec_emulation">Émulation NVDEC</string>
@ -410,7 +414,7 @@
<string name="renderer_force_max_clock">Forcer les fréquences maximales (Adreno uniquement)</string>
<string name="renderer_force_max_clock_description">Forcer le GPU à fonctionner à ses fréquences maximales possibles (les contraintes thermiques seront toujours appliquées).</string>
<string name="renderer_asynchronous_shaders">Utiliser les shaders asynchrones</string>
<string name="renderer_asynchronous_shaders_description">Compile les shaders de manière asynchrone, réduisant les saccades mais pouvant entraîner des problèmes visuels.</string>
<string name="renderer_asynchronous_shaders_description">Compile les shaders de manière asynchrone. Cela peut réduire les saccades mais peut aussi provoquer des problèmes graphiques.</string>
<string name="renderer_reactive_flushing">Utiliser le vidage réactif</string>
<string name="renderer_reactive_flushing_description">Améliore la précision du rendu dans certains jeux au détriment des performances.</string>
<string name="use_disk_shader_cache">Utiliser les shader cache</string>

View file

@ -7,6 +7,9 @@
<string name="notification_permission_not_granted">הרשאות התראות לא ניתנה!</string>
<!-- Stats Overlay settings -->
<string name="enhanced_fps_suffix">(משופר)</string>
<string name="skipping_fps_suffix">(דילוג)</string>
<string name="system_info_label">מערכת:</string>
<string name="show_stats_overlay">הצג סטטיסטיקות ביצועים</string>
<string name="stats_overlay_customization">התאמה אישית</string>
<string name="stats_overlay_items">נראות</string>
@ -20,9 +23,9 @@
<string name="show_speed">הצג מהירות</string>
<string name="show_speed_description">מציג את אחוז מהירות האמולציה</string>
<string name="show_app_ram_usage">הצג שימוש זיכרון</string>
<string name="show_app_ram_usage_description">מציג את כמות הזיכרון בשימוש על ידי האמולטור</string>
<string name="show_app_ram_usage_description">הצג את כמות ה-RAM שהאמולטור משתמש בה</string>
<string name="show_system_ram_usage">הצג שימוש זיכרון מערכת</string>
<string name="show_system_ram_usage_description">מציג את כמות הזיכרון בשימוש על ידי המערכת</string>
<string name="show_system_ram_usage_description">הצג את כמות ה-RAM שבה המערכת משתמשת</string>
<string name="show_bat_temperature">הצג טמפרטורת סוללה</string>
<string name="show_bat_temperature_description">מציג טמפרטורת סוללה במעלות צלזיוס ופרנהייט</string>
<string name="overlay_position">מיקום שכבה</string>
@ -50,7 +53,7 @@
<string name="dyna_state3">EDS3 + VertexInputDynamicState</string>
<string name="dyna_state3_description">משפר ביצועים במכשירים חדשים יותר. נתמך רק בכרטיסי מסך עם Vulkan 1.3+.</string>
<string name="use_sync_core">סנכרון מהירות ליבה</string>
<string name="use_sync_core_description">מסנכרן את מהירות הליבה לאחוז המהירות המקסימלי כדי לשפר ביצועים ללא שינוי במהירות המשחק בפועל.</string>
<string name="use_sync_core_description">סנכרן את מהירות הליבה לאחוז המהירות המרבי כדי לשפר ביצועים מבלי לשנות את מהירות המשחק בפועל.</string>
<string name="use_auto_stub">שימוש ב-Auto Stub</string>
<string name="use_auto_stub_description">משלים אוטומטית שירותים ופונקציות חסרים. עשוי לשפר תאימות אך עלול לגרום לקריסות ובעיות יציבות.</string>
<string name="uninstall_firmware">הסרת קושחה</string>
@ -87,8 +90,9 @@
<!-- מנוע שיידרים -->
<string name="shader_backend">מנוע שיידרים</string>
<string name="shader_backend_description">בחר כיצד לקמפל שיידרים</string>
<string name="shader_backend_glsl">GLSL</string>
<string name="shader_backend_spirv">SPIR-V</string>
<string name="shader_backend_glsl">אוניברסלי</string>
<string name="shader_backend_glasm">Mali</string>
<string name="shader_backend_spirv">Adreno/Xclipse</string>
<!-- אמולציית NVDEC -->
<string name="nvdec_emulation">אמולציית NVDEC</string>
@ -391,7 +395,7 @@
<string name="renderer_force_max_clock">החזק מהירות שעון מקסימלית (רק ל Adreno)</string>
<string name="renderer_force_max_clock_description">מכריח לדחוף את מהירויות המעבד הגרפי למקסימום (הגבלות חום ימשיכו לתפקד).</string>
<string name="renderer_asynchronous_shaders">השתמש בשיידרים אסינכרונים</string>
<string name="renderer_asynchronous_shaders_description">מקמפל שיידרים בצורה אסנכרונית, מפחית תקיעות אך עלול לגרום לבעיות גרפיות.</string>
<string name="renderer_asynchronous_shaders_description">מקמפל שיידרים באופן אסינכרוני. זה עשוי להפחית קפיצות אך גם עלול לגרום לתקלות גרפיות.</string>
<string name="renderer_reactive_flushing">השתמש בהבהוב תגובתי</string>
<string name="renderer_reactive_flushing_description">משפר את הדיוק של האמולציה במשחקים מסויימים במחיר של ביצועים.</string>
<string name="use_disk_shader_cache">מטמון השיידר של הדיסק</string>

View file

@ -7,6 +7,9 @@
<string name="notification_permission_not_granted">Nincs engedély az értesítés megjelenítéséhez!</string>
<!-- Stats Overlay settings -->
<string name="enhanced_fps_suffix">(Továbbfejlesztett)</string>
<string name="skipping_fps_suffix">(Kihagyás)</string>
<string name="system_info_label">Rendszer:</string>
<string name="show_stats_overlay">Teljesítmény statisztikák megjelenítése</string>
<string name="stats_overlay_customization">Testreszabás</string>
<string name="stats_overlay_items">Láthatóság</string>
@ -20,9 +23,9 @@
<string name="show_speed">Sebesség mutatása</string>
<string name="show_speed_description">Emulációs sebesség százalékban</string>
<string name="show_app_ram_usage">Alkalmazás RAM-használat</string>
<string name="show_app_ram_usage_description">Az emulátor által használt RAM</string>
<string name="show_app_ram_usage_description">Az emulátor által használt RAM mennyiségének megjelenítése</string>
<string name="show_system_ram_usage">Rendszer RAM-használat</string>
<string name="show_system_ram_usage_description">A rendszer által használt RAM</string>
<string name="show_system_ram_usage_description">A rendszer által használt RAM mennyiségének megjelenítése</string>
<string name="show_bat_temperature">Akkumulátor hőmérséklet</string>
<string name="show_bat_temperature_description">Aktuális hőmérséklet Celsiusban és Fahrenheitben</string>
<string name="overlay_position">Overlay pozíció</string>
@ -50,7 +53,7 @@
<string name="dyna_state3">EDS3 + VertexInputDynamicState</string>
<string name="dyna_state3_description">Javítja a teljesítményt újabb eszközökön. Csak Vulkan 1.3+ GPU-kon támogatott.</string>
<string name="use_sync_core">Magsebesség szinkronizálása</string>
<string name="use_sync_core_description">Szinkronizálja a magsebességet a maximális sebesség százalékához a teljesítmény javításához anélkül, hogy megváltoztatná a játék tényleges sebességét.</string>
<string name="use_sync_core_description">A mag sebességének szinkronizálása a maximális sebesség százalékával a teljesítmény javítása érdekében a játék tényleges sebességének megváltoztatása nélkül.</string>
<string name="use_auto_stub">Automatikus Stub használata</string>
<string name="use_auto_stub_description">Automatusan kiegészíti a hiányzó szolgáltatásokat és funkciókat. Növelheti a kompatibilitást, de összeomlásokat és stabilitási problémákat okozhat.</string>
<string name="uninstall_firmware">Firmware eltávolítása</string>
@ -87,8 +90,9 @@
<!-- Shader Backend -->
<string name="shader_backend">Shader backend</string>
<string name="shader_backend_description">Shaderek fordításának módja</string>
<string name="shader_backend_glsl">GLSL</string>
<string name="shader_backend_spirv">SPIR-V</string>
<string name="shader_backend_glsl">Univerzális</string>
<string name="shader_backend_glasm">Mali</string>
<string name="shader_backend_spirv">Adreno/Xclipse</string>
<!-- NVDEC Emuláció -->
<string name="nvdec_emulation">NVDEC emuláció</string>
@ -404,7 +408,7 @@
<string name="renderer_force_max_clock">Maximum órajel kényszerítése (csak Adreno)</string>
<string name="renderer_force_max_clock_description">Kényszeríti a GPU-t a lehető legnagyobb órajelen működésre (a hőmérséklet korlátozások továbbra is érvényben maradnak).</string>
<string name="renderer_asynchronous_shaders">Aszinkron árnyékolók használata</string>
<string name="renderer_asynchronous_shaders_description">Aszinkron módon fordítja az árnyékolókat, ami csökkenti az akadozást, de hibákat okozhat.</string>
<string name="renderer_asynchronous_shaders_description">A shaderek aszinkron fordítása. Csökkentheti a belassulásokat, de hibákat is okozhat.</string>
<string name="renderer_reactive_flushing">Reaktív ürítés használata</string>
<string name="renderer_reactive_flushing_description">Javítja a renderelési pontosságot néhány játékban a teljesítmény rovására.</string>
<string name="use_disk_shader_cache">Lemez árnyékoló gyorsítótár</string>

View file

@ -7,6 +7,9 @@
<string name="notification_permission_not_granted">Izin notifikasi tidak diberikan!</string>
<!-- Stats Overlay settings -->
<string name="enhanced_fps_suffix">(Ditingkatkan)</string>
<string name="skipping_fps_suffix">(Melewatkan)</string>
<string name="system_info_label">Sistem:</string>
<string name="show_stats_overlay">Tampilkan Overlay Statistik Performa</string>
<string name="stats_overlay_customization">Kustomisasi</string>
<string name="stats_overlay_items">Visibilitas</string>
@ -20,7 +23,7 @@
<string name="show_speed">Tampilkan Kecepatan</string>
<string name="show_speed_description">Tampilkan persentase kecepatan emulasi saat ini</string>
<string name="show_app_ram_usage">Tampilkan Penggunaan RAM Aplikasi</string>
<string name="show_app_ram_usage_description">Tampilkan jumlah RAM yang digunakan oleh emulator</string>
<string name="show_app_ram_usage_description">Tampilkan jumlah RAM yang digunakan emulator</string>
<string name="show_system_ram_usage">Tampilkan Penggunaan RAM Sistem</string>
<string name="show_system_ram_usage_description">Tampilkan jumlah RAM yang digunakan oleh sistem</string>
<string name="show_bat_temperature">Tampilkan Suhu Baterai</string>
@ -50,7 +53,7 @@
<string name="dyna_state3">EDS3 + VertexInputDynamicState</string>
<string name="dyna_state3_description">Meningkatkan performa di perangkat baru. Hanya didukung di GPU Vulkan 1.3+.</string>
<string name="use_sync_core">Sinkronisasi Kecepatan Inti</string>
<string name="use_sync_core_description">Sinkronkan kecepatan inti ke persentase kecepatan maksimum untuk meningkatkan performa tanpa mengubah kecepatan aktual game.</string>
<string name="use_sync_core_description">Sinkronkan kecepatan inti dengan persentase kecepatan maksimum untuk meningkatkan performa tanpa mengubah kecepatan sebenarnya dari permainan.</string>
<string name="use_auto_stub">Gunakan Auto Stub</string>
<string name="use_auto_stub_description">Otomatis menyediakan layanan dan fungsi yang hilang. Dapat meningkatkan kompatibilitas tetapi mungkin menyebabkan crash dan masalah stabilitas.</string>
<string name="uninstall_firmware">Copot Firmware</string>
@ -87,8 +90,9 @@
<!-- Backend Shader -->
<string name="shader_backend">Backend Shader</string>
<string name="shader_backend_description">Pilih cara shader dikompilasi dan diterjemahkan untuk GPU Anda.</string>
<string name="shader_backend_glsl">GLSL</string>
<string name="shader_backend_spirv">SPIR-V</string>
<string name="shader_backend_glsl">Universal</string>
<string name="shader_backend_glasm">Mali</string>
<string name="shader_backend_spirv">Adreno/Xclipse</string>
<!-- Emulasi NVDEC -->
<string name="nvdec_emulation">Emulasi NVDEC</string>
@ -404,7 +408,7 @@
<string name="renderer_force_max_clock">Paksa jam maximum (hanya untuk Adreno)</string>
<string name="renderer_force_max_clock_description">Memaksa GPU untuk berjalan pada kecepatan maksimum yang mungkin (batasan termal masih akan diterapkan).</string>
<string name="renderer_asynchronous_shaders">Gunakan shader asinkron</string>
<string name="renderer_asynchronous_shaders_description">Mengompilasi shader secara asinkron mengurangi Tutup Paksa tetapi dapat menimbulkan gangguan.</string>
<string name="renderer_asynchronous_shaders_description">Kompilasi shader secara asinkron. Ini dapat mengurangi lag tetapi juga dapat menyebabkan glitch.</string>
<string name="renderer_reactive_flushing">Gunakan reactive flushing</string>
<string name="renderer_reactive_flushing_description">Meningkatkan akurasi rendering dalam beberapa permainan dengan mengorbankan performa.</string>
<string name="use_disk_shader_cache">Cache shader disk</string>

View file

@ -7,6 +7,9 @@
<string name="notification_permission_not_granted">Autorizzazione di notifica non concessa!</string>
<!-- Stats Overlay settings -->
<string name="enhanced_fps_suffix">(Migliorato)</string>
<string name="skipping_fps_suffix">(Salto)</string>
<string name="system_info_label">Sistema:</string>
<string name="show_stats_overlay">Mostra overlay prestazioni</string>
<string name="stats_overlay_customization">Personalizzazione</string>
<string name="stats_overlay_items">Visibilità</string>
@ -20,9 +23,9 @@
<string name="show_speed">Mostra velocità</string>
<string name="show_speed_description">Mostra percentuale velocità emulazione</string>
<string name="show_app_ram_usage">Mostra RAM app</string>
<string name="show_app_ram_usage_description">Mostra RAM usata dall`emulatore</string>
<string name="show_app_ram_usage_description">Mostra la quantità di RAM utilizzata dall\'emulatore</string>
<string name="show_system_ram_usage">Mostra RAM sistema</string>
<string name="show_system_ram_usage_description">Mostra RAM usata dal sistema</string>
<string name="show_system_ram_usage_description">Mostra la quantità di RAM utilizzata dal sistema</string>
<string name="show_bat_temperature">Mostra temperatura batteria</string>
<string name="show_bat_temperature_description">Mostra temperatura batteria in °C e °F</string>
<string name="overlay_position">Posizione overlay</string>
@ -50,7 +53,7 @@
<string name="dyna_state3">EDS3 + VertexInputDynamicState</string>
<string name="dyna_state3_description">Migliora le prestazioni sui dispositivi più recenti. Supportato solo su GPU Vulkan 1.3+.</string>
<string name="use_sync_core">Sincronizza velocità core</string>
<string name="use_sync_core_description">Sincronizza la velocità del core alla percentuale massima per migliorare le prestazioni senza alterare la velocità effettiva del gioco.</string>
<string name="use_sync_core_description">Sincronizza la velocità del core con la percentuale massima di velocità per migliorare le prestazioni senza alterare la velocità effettiva del gioco.</string>
<string name="use_auto_stub">Usa Auto Stub</string>
<string name="use_auto_stub_description">Aggiunge automaticamente servizi e funzioni mancanti. Può migliorare la compatibilità ma causare crash e problemi di stabilità.</string>
<string name="uninstall_firmware">Disinstalla firmware</string>
@ -87,8 +90,9 @@
<!-- Backend shader -->
<string name="shader_backend">Backend shader</string>
<string name="shader_backend_description">Scegli come compilare gli shader</string>
<string name="shader_backend_glsl">GLSL</string>
<string name="shader_backend_spirv">SPIR-V</string>
<string name="shader_backend_glsl">Universale</string>
<string name="shader_backend_glasm">Mali</string>
<string name="shader_backend_spirv">Adreno/Xclipse</string>
<!-- Emulazione NVDEC -->
<string name="nvdec_emulation">Emulazione NVDEC</string>
@ -394,7 +398,7 @@
<string name="renderer_force_max_clock">Forza clock massimi (solo Adreno)</string>
<string name="renderer_force_max_clock_description">Forza la GPU a girare col massimo clock possibile (i vincoli alla temperatura saranno comunque applicati)</string>
<string name="renderer_asynchronous_shaders">Usa shaders asincrone</string>
<string name="renderer_asynchronous_shaders_description">Compila le shader in modo asincrone, riducendo lo stutter. Può causare glitch grafici.</string>
<string name="renderer_asynchronous_shaders_description">Compila gli shader in modo asincrono. Può ridurre gli scatti, ma può anche causare glitch grafici.</string>
<string name="renderer_reactive_flushing">Abilita il Reactive Flushing</string>
<string name="renderer_reactive_flushing_description">Migliora l\'accuratezza della grafica in alcuni giochi, al costo delle performance.</string>
<string name="use_disk_shader_cache">Usa la cache delle shader</string>

View file

@ -7,6 +7,9 @@
<string name="notification_permission_not_granted">通知が許可されていません!</string>
<!-- Stats Overlay settings -->
<string name="enhanced_fps_suffix">(強化)</string>
<string name="skipping_fps_suffix">(スキップ)</string>
<string name="system_info_label">システム:</string>
<string name="show_stats_overlay">パフォーマンス統計オーバーレイを表示</string>
<string name="stats_overlay_customization">カスタマイズ</string>
<string name="stats_overlay_items">表示項目</string>
@ -20,9 +23,9 @@
<string name="show_speed">速度表示</string>
<string name="show_speed_description">現在のエミュレーション速度を表示</string>
<string name="show_app_ram_usage">アプリRAM使用量</string>
<string name="show_app_ram_usage_description">エミュレータのRAM使用量を表示</string>
<string name="show_app_ram_usage_description">エミュレーターが使用しているRAMの量を表示</string>
<string name="show_system_ram_usage">システムRAM使用量</string>
<string name="show_system_ram_usage_description">システムのRAM使用量を表示</string>
<string name="show_system_ram_usage_description">システムが使用しているRAMの量を表示</string>
<string name="show_bat_temperature">バッテリー温度</string>
<string name="show_bat_temperature_description">バッテリー温度を表示(℃/℉)</string>
<string name="overlay_position">オーバーレイ位置</string>
@ -50,7 +53,7 @@
<string name="dyna_state3">EDS3 + 頂点入力動的状態</string>
<string name="dyna_state3_description">新しいデバイスでパフォーマンスを向上させます。Vulkan 1.3+ GPUでのみサポートされています。</string>
<string name="use_sync_core">コア速度の同期</string>
<string name="use_sync_core_description">コアの動作速度を最大速度パーセンテージに同期させ、ゲームの実際の速度を変更することなくパフォーマンスを向上させます。</string>
<string name="use_sync_core_description">コアの速度を最大速度パーセンテージに同期させ、ゲームの実際の速度を変えずにパフォーマンスを向上させます。</string>
<string name="use_auto_stub">自動スタブを使用</string>
<string name="use_auto_stub_description">不足しているサービスや機能を自動的にスタブします。互換性が向上する可能性がありますが、クラッシュや安定性の問題を引き起こす可能性があります。</string>
<string name="uninstall_firmware">ファームウェアをアンインストール</string>
@ -87,8 +90,9 @@
<!-- Shader Backend -->
<string name="shader_backend">シェーダーバックエンド</string>
<string name="shader_backend_description">シェーダーのコンパイル方法</string>
<string name="shader_backend_glsl">GLSL</string>
<string name="shader_backend_spirv">SPIR-V</string>
<string name="shader_backend_glsl">ユニバーサル</string>
<string name="shader_backend_glasm">Mali</string>
<string name="shader_backend_spirv">Adreno/Xclipse</string>
<!-- NVDEC Emulation -->
<string name="nvdec_emulation">NVDECエミュレーション</string>
@ -356,7 +360,7 @@
<string name="renderer_force_max_clock">最大クロックを強制 (Adrenoのみ)</string>
<string name="renderer_force_max_clock_description">GPUを最大限可能な周波数で動作させます (過熱制限は引き続き適用されます)。</string>
<string name="renderer_asynchronous_shaders">非同期シェーダー</string>
<string name="renderer_asynchronous_shaders_description">シェーダーを非同期でコンパイルします。コマ落ちが軽減されますが、不具合が発生する可能性があります。</string>
<string name="renderer_asynchronous_shaders_description">シェーダーを非同期でコンパイルします。これによりカクつきが減る可能性がありますが、グラフィックの不具合が発生する場合もあります。</string>
<string name="renderer_reactive_flushing">即時書き込み</string>
<string name="renderer_reactive_flushing_description">一部のゲームにおいて、パフォーマンスを犠牲にしながらも、レンダリング精度を向上させます。</string>
<string name="use_disk_shader_cache">ディスクシェーダーキャッシュ</string>

View file

@ -7,6 +7,9 @@
<string name="notification_permission_not_granted">알림 권한이 부여되지 않았습니다!</string>
<!-- Stats Overlay settings -->
<string name="enhanced_fps_suffix">(향상됨)</string>
<string name="skipping_fps_suffix">(건너뜀)</string>
<string name="system_info_label">시스템:</string>
<string name="show_stats_overlay">성능 통계 오버레이 표시</string>
<string name="stats_overlay_customization">사용자 지정</string>
<string name="stats_overlay_items">표시 항목</string>
@ -50,7 +53,7 @@
<string name="dyna_state3">EDS3 + 정점 입력 동적 상태</string>
<string name="dyna_state3_description">최신 기기에서 성능을 향상시킵니다. Vulkan 1.3+ GPU에서만 지원됩니다.</string>
<string name="use_sync_core">코어 속도 동기화</string>
<string name="use_sync_core_description">코어 틱 속도를 최대 속도 백분율로 동기화하여 게임의 실제 속도를 변경하지 않고 성능을 개선합니다.</string>
<string name="use_sync_core_description">코어 틱 속도를 최대 속도 백분율과 동기화하여 게임의 실제 속도를 변경하지 않고 성능을 향상시킵니다.</string>
<string name="use_auto_stub">자동 스텁 사용</string>
<string name="use_auto_stub_description">누락된 서비스와 기능을 자동으로 스텁합니다. 호환성을 개선할 수 있지만 충돌과 안정성 문제를 일으킬 수 있습니다.</string>
<string name="uninstall_firmware">펌웨어 제거</string>
@ -87,9 +90,9 @@
<!-- Shader Backend -->
<string name="shader_backend">셰이더 백엔드</string>
<string name="shader_backend_description">셰이더 컴파일 방식 선택</string>
<string name="shader_backend_glsl">GLSL</string>
<string name="shader_backend_spirv">SPIR-V</string>
<string name="shader_backend_glsl">범용</string>
<string name="shader_backend_glasm">Mali</string>
<string name="shader_backend_spirv">Adreno/Xclipse</string>
<!-- NVDEC Emulation -->
<string name="nvdec_emulation">NVDEC 에뮬레이션</string>
<string name="nvdec_emulation_description">비디오 디코딩 처리 방식 선택</string>
@ -402,7 +405,7 @@
<string name="renderer_force_max_clock">최대 클럭 강제 설정 (아드레노 전용)</string>
<string name="renderer_force_max_clock_description">GPU가 가능한 최대 클럭으로 실행되도록 강제합니다 (열 제약 조건은 여전히 적용됩니다).</string>
<string name="renderer_asynchronous_shaders">비동기 셰이더 사용</string>
<string name="renderer_asynchronous_shaders_description">셰이더를 비동기식으로 컴파일하여 끊김 현상을 줄이지만 글리치가 발생할 수 있습니다.</string>
<string name="renderer_asynchronous_shaders_description">셰이더를 비동기적으로 컴파일합니다. 이로 인해 끊김 현상이 줄어들 수 있지만 그래픽 오류가 발생할 수도 있습니다.</string>
<string name="renderer_reactive_flushing">반응형 플러싱 사용</string>
<string name="renderer_reactive_flushing_description">일부 게임에서 성능 저하를 감수하고 렌더링 정확도를 향상합니다.</string>
<string name="use_disk_shader_cache">디스크 셰이더 캐시</string>

View file

@ -7,6 +7,9 @@
<string name="notification_permission_not_granted">Varslingstillatelse ikke gitt!</string>
<!-- Stats Overlay settings -->
<string name="enhanced_fps_suffix">(Forbedret)</string>
<string name="skipping_fps_suffix">(Hopp)</string>
<string name="system_info_label">System:</string>
<string name="show_stats_overlay">Vis ytelsesstatistikkoverlay</string>
<string name="stats_overlay_customization">Tilpasning</string>
<string name="stats_overlay_items">Synlighet</string>
@ -20,9 +23,9 @@
<string name="show_speed">Vis hastighet</string>
<string name="show_speed_description">Vis emuleringshastighet i prosent</string>
<string name="show_app_ram_usage">Vis appminnebruk</string>
<string name="show_app_ram_usage_description">Vis RAM-bruk av emulatoren</string>
<string name="show_app_ram_usage_description">Vis hvor mye RAM emulatoren bruker</string>
<string name="show_system_ram_usage">Vis systemminnebruk</string>
<string name="show_system_ram_usage_description">Vis systemets RAM-bruk</string>
<string name="show_system_ram_usage_description">Vis hvor mye RAM systemet bruker</string>
<string name="show_bat_temperature">Vis batteritemperatur</string>
<string name="show_bat_temperature_description">Vis batteritemperatur i Celsius og Fahrenheit</string>
<string name="overlay_position">Overlayposisjon</string>
@ -50,7 +53,7 @@
<string name="dyna_state3">EDS3 + VertexInputDynamicState</string>
<string name="dyna_state3_description">Forbedrer ytelsen på nyere enheter. Støttes kun på Vulkan 1.3+ GPU-er.</string>
<string name="use_sync_core">Synkroniser kjernespeed</string>
<string name="use_sync_core_description">Synkroniser kjernetaktfrekvensen til maksimal hastighetsprosent for å forbedre ytelsen uten å endre spillets faktiske hastighet.</string>
<string name="use_sync_core_description">Synkroniser kjernens hastighet med maksimal hastighetsprosent for å forbedre ytelsen uten å endre spillets faktiske hastighet.</string>
<string name="use_auto_stub">Bruk Auto Stub</string>
<string name="use_auto_stub_description">Automatisk stubber manglende tjenester og funksjoner. Kan forbedre kompatibilitet, men kan forårsake krasj og stabilitetsproblemer.</string>
<string name="uninstall_firmware">Avinstaller firmware</string>
@ -87,8 +90,9 @@
<!-- Shader-backend -->
<string name="shader_backend">Shader-backend</string>
<string name="shader_backend_description">Velg hvordan shadere kompileres</string>
<string name="shader_backend_glsl">GLSL</string>
<string name="shader_backend_spirv">SPIR-V</string>
<string name="shader_backend_glsl">Universell</string>
<string name="shader_backend_glasm">Mali</string>
<string name="shader_backend_spirv">Adreno/Xclipse</string>
<!-- NVDEC-emulering -->
<string name="nvdec_emulation">NVDEC-emulering</string>
@ -328,7 +332,7 @@
<string name="renderer_force_max_clock">Tving fram maksimal klokkefrekvens (kun Adreno)</string>
<string name="renderer_force_max_clock_description">Tvinger GPU-en til å kjøre med maksimal klokkefrekvens (termiske begrensninger vil fortsatt gjelde).</string>
<string name="renderer_asynchronous_shaders">Bruk asynkrone shaders</string>
<string name="renderer_asynchronous_shaders_description">Kompilerer shaders asynkront, noe som reduserer hakking, men kan føre til feil.</string>
<string name="renderer_asynchronous_shaders_description">Kompilerer shadere asynkront. Dette kan redusere rykk, men kan også forårsake grafiske feil.</string>
<string name="renderer_reactive_flushing">Bruk reaktiv spyling</string>
<string name="renderer_reactive_flushing_description">Forbedrer gjengivelsesnøyaktigheten i enkelte spill på bekostning av ytelsen.</string>
<string name="use_disk_shader_cache">Disk shader-hurtigbuffer</string>

View file

@ -7,6 +7,9 @@
<string name="notification_permission_not_granted">Nie zezwolono na powiadomienia!</string>
<!-- Stats Overlay settings -->
<string name="enhanced_fps_suffix">(Ulepszony)</string>
<string name="skipping_fps_suffix">(Pomijanie)</string>
<string name="system_info_label">System:</string>
<string name="show_stats_overlay">Pokaż nakładkę statystyk wydajności</string>
<string name="stats_overlay_customization">Dostosowanie</string>
<string name="stats_overlay_items">Widoczność</string>
@ -20,9 +23,9 @@
<string name="show_speed">Pokaż prędkość</string>
<string name="show_speed_description">Wyświetla procentową prędkość emulacji</string>
<string name="show_app_ram_usage">Pokaż użycie RAM aplikacji</string>
<string name="show_app_ram_usage_description">Wyświetla ilość RAM używanego przez emulator</string>
<string name="show_app_ram_usage_description">Wyświetl ilość pamięci RAM używanej przez emulator</string>
<string name="show_system_ram_usage">Pokaż użycie RAM systemu</string>
<string name="show_system_ram_usage_description">Wyświetla ilość RAM używanego przez system</string>
<string name="show_system_ram_usage_description">Wyświetl ilość pamięci RAM używanej przez system</string>
<string name="show_bat_temperature">Pokaż temperaturę baterii</string>
<string name="show_bat_temperature_description">Wyświetla temperaturę baterii w °C i °F</string>
<string name="overlay_position">Pozycja nakładki</string>
@ -87,8 +90,9 @@
<!-- Backend shaderów -->
<string name="shader_backend">Backend shaderów</string>
<string name="shader_backend_description">Wybierz metodę kompilacji shaderów.</string>
<string name="shader_backend_glsl">GLSL</string>
<string name="shader_backend_spirv">SPIR-V</string>
<string name="shader_backend_glsl">Uniwersalny</string>
<string name="shader_backend_glasm">Mali</string>
<string name="shader_backend_spirv">Adreno/Xclipse</string>
<!-- Emulacja NVDEC -->
<string name="nvdec_emulation">Emulacja NVDEC</string>
@ -328,7 +332,7 @@
<string name="renderer_force_max_clock">Maksymalne taktowanie GPU (układy Adreno)</string>
<string name="renderer_force_max_clock_description">Wymusza uruchomienie maksymalnego taktowania układu graficznego (zabezpieczenia termiczne będą dalej aktywne).</string>
<string name="renderer_asynchronous_shaders">Wyłącz synchronizację shaderów</string>
<string name="renderer_asynchronous_shaders_description">Kompiluj oświetlenie bez synchronizacji, poprawi wydajność ale może powodować błędy.</string>
<string name="renderer_asynchronous_shaders_description">Kompiluje shadery asynchronicznie. Może to zmniejszyć zacinanie, ale może też powodować błędy graficzne.</string>
<string name="renderer_reactive_flushing">Użyj spłukiwania reaktywnego - reactive flushing</string>
<string name="renderer_reactive_flushing_description">Poprawia jakość renderowania w kilku grach, kosztem wydajności.</string>
<string name="use_disk_shader_cache">Pamięć podręczna shaderów</string>

View file

@ -7,6 +7,9 @@
<string name="notification_permission_not_granted">Acesso às notificações não concedido!</string>
<!-- Stats Overlay settings -->
<string name="enhanced_fps_suffix">(Aprimorado)</string>
<string name="skipping_fps_suffix">(Pular)</string>
<string name="system_info_label">Sistema:</string>
<string name="show_stats_overlay">Mostrar sobreposição de estatísticas de desempenho</string>
<string name="stats_overlay_customization">Personalização</string>
<string name="stats_overlay_items">Visibilidade</string>
@ -20,9 +23,9 @@
<string name="show_speed">Mostrar velocidade</string>
<string name="show_speed_description">Exibir porcentagem de velocidade de emulação</string>
<string name="show_app_ram_usage">Mostrar uso de RAM do app</string>
<string name="show_app_ram_usage_description">Exibir quantidade de RAM usada pelo emulador</string>
<string name="show_app_ram_usage_description">Mostrar a quantidade de RAM que o emulador está usando</string>
<string name="show_system_ram_usage">Mostrar uso de RAM do sistema</string>
<string name="show_system_ram_usage_description">Exibir quantidade de RAM usada pelo sistema</string>
<string name="show_system_ram_usage_description">Mostrar a quantidade de RAM usada pelo sistema</string>
<string name="show_bat_temperature">Mostrar temperatura da bateria</string>
<string name="show_bat_temperature_description">Exibir temperatura da bateria em Celsius e Fahrenheit</string>
<string name="overlay_position">Posição da sobreposição</string>
@ -50,7 +53,7 @@
<string name="dyna_state3">EDS3 + VertexInputDynamicState</string>
<string name="dyna_state3_description">Melhora desempenho em dispositivos mais novos. Suportado apenas em GPUs Vulkan 1.3+.</string>
<string name="use_sync_core">Sincronizar velocidade do núcleo</string>
<string name="use_sync_core_description">Sincroniza a velocidade do núcleo com a porcentagem máxima para melhorar desempenho sem alterar a velocidade real do jogo.</string>
<string name="use_sync_core_description">Sincroniza a velocidade do núcleo com a porcentagem máxima de velocidade para melhorar o desempenho sem alterar a velocidade real do jogo.</string>
<string name="use_auto_stub">Usar Auto Stub</string>
<string name="use_auto_stub_description">Preenche automaticamente serviços e funções ausentes. Pode melhorar compatibilidade mas causar crashes e problemas de estabilidade.</string>
<string name="uninstall_firmware">Desinstalar firmware</string>
@ -87,8 +90,9 @@
<!-- Backend de shader -->
<string name="shader_backend">Backend de shader</string>
<string name="shader_backend_description">Define como shaders são compilados</string>
<string name="shader_backend_glsl">GLSL</string>
<string name="shader_backend_spirv">SPIR-V</string>
<string name="shader_backend_glsl">Universal</string>
<string name="shader_backend_glasm">Mali</string>
<string name="shader_backend_spirv">Adreno/Xclipse</string>
<!-- Emulação NVDEC -->
<string name="nvdec_emulation">Emulação NVDEC</string>
@ -410,7 +414,7 @@
<string name="renderer_force_max_clock">Forçar velocidade máxima (somente Adreno)</string>
<string name="renderer_force_max_clock_description">Força a GPU a rodar na velocidade máxima (restrições térmicas serão aplicadas)</string>
<string name="renderer_asynchronous_shaders">Usar shaders assíncronos </string>
<string name="renderer_asynchronous_shaders_description">Compila os shaders de forma assíncrona, reduzindo engasgos, mas pode apresentar problemas.</string>
<string name="renderer_asynchronous_shaders_description">Compila shaders de forma assíncrona. Isso pode reduzir engasgos, mas também pode introduzir falhas gráficas.</string>
<string name="renderer_reactive_flushing">Usar flushing reativo</string>
<string name="renderer_reactive_flushing_description">Melhora a precisão da renderização em alguns jogos ao custo de desempenho.</string>
<string name="use_disk_shader_cache">Cache de shaders em disco</string>

View file

@ -7,6 +7,9 @@
<string name="notification_permission_not_granted">Permissões de notificação não permitidas </string>
<!-- Stats Overlay settings -->
<string name="enhanced_fps_suffix">(Melhorado)</string>
<string name="skipping_fps_suffix">(Saltar)</string>
<string name="system_info_label">Sistema:</string>
<string name="show_stats_overlay">Mostrar Overlay de Desempenho</string>
<string name="stats_overlay_customization">Personalização</string>
<string name="stats_overlay_items">Visibilidade</string>
@ -20,9 +23,9 @@
<string name="show_speed">Mostrar Velocidade</string>
<string name="show_speed_description">Exibir percentual de velocidade</string>
<string name="show_app_ram_usage">Mostrar RAM do App</string>
<string name="show_app_ram_usage_description">Exibir uso de RAM pelo emulador</string>
<string name="show_app_ram_usage_description">Mostrar a quantidade de RAM que o emulador está a utilizar</string>
<string name="show_system_ram_usage">Mostrar RAM do Sistema</string>
<string name="show_system_ram_usage_description">Exibir uso de RAM pelo sistema</string>
<string name="show_system_ram_usage_description">Mostrar a quantidade de RAM utilizada pelo sistema</string>
<string name="show_bat_temperature">Mostrar Temp. Bateria</string>
<string name="show_bat_temperature_description">Exibir temperatura em Celsius/Fahrenheit</string>
<string name="overlay_position">Posição do Overlay</string>
@ -50,7 +53,7 @@
<string name="dyna_state3">EDS3 + VertexInputDynamicState</string>
<string name="dyna_state3_description">Melhora o desempenho em dispositivos mais recentes. Suportado apenas em GPUs Vulkan 1.3+.</string>
<string name="use_sync_core">Sincronizar velocidade do núcleo</string>
<string name="use_sync_core_description">Sincroniza a velocidade do núcleo com a percentagem máxima para melhorar o desempenho sem alterar a velocidade real do jogo.</string>
<string name="use_sync_core_description">Sincroniza a velocidade do núcleo com a percentagem máxima de velocidade para melhorar o desempenho sem alterar a velocidade real do jogo.</string>
<string name="use_auto_stub">Usar Auto Stub</string>
<string name="use_auto_stub_description">Preenche automaticamente serviços e funções em falta. Pode melhorar a compatibilidade mas causar crashes e problemas de estabilidade.</string>
<string name="uninstall_firmware">Desinstalar firmware</string>
@ -87,8 +90,9 @@
<!-- Backend de Shader -->
<string name="shader_backend">Backend de Shader</string>
<string name="shader_backend_description">Método de compilação de shaders.</string>
<string name="shader_backend_glsl">GLSL</string>
<string name="shader_backend_spirv">SPIR-V</string>
<string name="shader_backend_glsl">Universal</string>
<string name="shader_backend_glasm">Mali</string>
<string name="shader_backend_spirv">Adreno/Xclipse</string>
<!-- Emulação NVDEC -->
<string name="nvdec_emulation">Emulação NVDEC</string>
@ -410,7 +414,7 @@
<string name="renderer_force_max_clock">Força velocidade máxima (Adreno only)</string>
<string name="renderer_force_max_clock_description">Força o GPU a correr à velocidade máxima (restrições térmicas serão aplicadas)</string>
<string name="renderer_asynchronous_shaders">Usa shaders assíncronos </string>
<string name="renderer_asynchronous_shaders_description">Compila os shaders de forma assíncrona, reduzindo travamentos, mas pode apresentar problemas.</string>
<string name="renderer_asynchronous_shaders_description">Compila shaders de forma assíncrona. Isto pode reduzir engasgadelas, mas também pode introduzir falhas gráficas.</string>
<string name="renderer_reactive_flushing">Usar flushing reativo</string>
<string name="renderer_reactive_flushing_description">Melhora a precisão da renderização em alguns jogos ao custo de desempenho.</string>
<string name="use_disk_shader_cache">Cache de shaders em disco</string>

View file

@ -7,6 +7,9 @@
<string name="notification_permission_not_granted">Вы не предоставили разрешение на уведомления!</string>
<!-- Stats Overlay settings -->
<string name="enhanced_fps_suffix">(Улучшенный)</string>
<string name="skipping_fps_suffix">(Пропуск)</string>
<string name="system_info_label">Система:</string>
<string name="show_stats_overlay">Показать оверлей статистики</string>
<string name="stats_overlay_customization">Настройки</string>
<string name="stats_overlay_items">Видимость</string>
@ -20,9 +23,9 @@
<string name="show_speed">Показать скорость</string>
<string name="show_speed_description">Текущая скорость эмуляции в %</string>
<string name="show_app_ram_usage">Показать RAM эмулятора</string>
<string name="show_app_ram_usage_description">Использование RAM эмулятором</string>
<string name="show_app_ram_usage_description">Показать объем оперативной памяти, используемой эмулятором</string>
<string name="show_system_ram_usage">Показать RAM системы</string>
<string name="show_system_ram_usage_description">Использование RAM системой</string>
<string name="show_system_ram_usage_description">Показать объем оперативной памяти, используемой системой</string>
<string name="show_bat_temperature">Показать температуру батареи</string>
<string name="show_bat_temperature_description">Текущая температура батареи (°C/°F)</string>
<string name="overlay_position">Позиция оверлея</string>
@ -50,7 +53,7 @@
<string name="dyna_state3">EDS3 + Динамическое состояние ввода вершин</string>
<string name="dyna_state3_description">Улучшает производительность на новых устройствах. Поддерживается только GPU с Vulkan 1.3+.</string>
<string name="use_sync_core">Синхронизация скорости ядра</string>
<string name="use_sync_core_description">Синхронизирует скорость тактов ядра с максимальным процентом скорости для повышения производительности без изменения фактической скорости игры.</string>
<string name="use_sync_core_description">Синхронизирует скорость ядра с максимальным процентом скорости для улучшения производительности без изменения фактической скорости игры.</string>
<string name="use_auto_stub">Использовать Auto Stub</string>
<string name="use_auto_stub_description">Автоматически заглушает отсутствующие сервисы и функции. Может улучшить совместимость, но вызывать сбои и проблемы стабильности.</string>
<string name="uninstall_firmware">Удалить прошивку</string>
@ -87,8 +90,9 @@
<!-- Shader Backend -->
<string name="shader_backend">Шейдерный бэкенд</string>
<string name="shader_backend_description">Метод компиляции шейдеров</string>
<string name="shader_backend_glsl">GLSL</string>
<string name="shader_backend_spirv">SPIR-V</string>
<string name="shader_backend_glsl">Универсальный</string>
<string name="shader_backend_glasm">Mali</string>
<string name="shader_backend_spirv">Adreno/Xclipse</string>
<!-- NVDEC Emulation -->
<string name="nvdec_emulation">Эмуляция NVDEC</string>
@ -411,7 +415,7 @@
<string name="renderer_force_max_clock">Принудительно заставить максимальную тактовую частоту (только для Adreno)</string>
<string name="renderer_force_max_clock_description">Заставляет ГП работать на максимально возможных тактовых частотах (тепловые ограничения все равно будут применяться).</string>
<string name="renderer_asynchronous_shaders">Использовать асинхронные шейдеры</string>
<string name="renderer_asynchronous_shaders_description">Компиляция шейдеров происходит асинхронно, что уменьшает зависания, но может привести к появлению багов.</string>
<string name="renderer_asynchronous_shaders_description">Компилирует шейдеры асинхронно. Это может уменьшить подтормаживания, но также может вызвать графические артефакты.</string>
<string name="renderer_reactive_flushing">Реактивная очистка</string>
<string name="renderer_reactive_flushing_description">Повышение точности рендеринга в некоторых играх за счет снижения производительности.</string>
<string name="use_disk_shader_cache">Кэш шейдеров на диске</string>

View file

@ -7,6 +7,9 @@
<string name="notification_permission_not_granted">Ви не надали дозвіл сповіщень!</string>
<!-- Stats Overlay settings -->
<string name="enhanced_fps_suffix">(Покращений)</string>
<string name="skipping_fps_suffix">(Пропуск)</string>
<string name="system_info_label">Система:</string>
<string name="show_stats_overlay">Показати накладання статистики</string>
<string name="stats_overlay_customization">Налаштування</string>
<string name="stats_overlay_items">Видимість</string>
@ -20,9 +23,9 @@
<string name="show_speed">Показати швидкість</string>
<string name="show_speed_description">Відображати швидкість емуляції</string>
<string name="show_app_ram_usage">Показати використання RAM</string>
<string name="show_app_ram_usage_description">Відображати використання пам`яті емулятором</string>
<string name="show_app_ram_usage_description">Показати обсяг оперативної пам’яті, яку використовує емулятор</string>
<string name="show_system_ram_usage">Показати системну RAM</string>
<string name="show_system_ram_usage_description">Відображати використання пам`яті системою</string>
<string name="show_system_ram_usage_description">Показати обсяг оперативної пам’яті, яку використовує система</string>
<string name="show_bat_temperature">Показати температуру батареї</string>
<string name="show_bat_temperature_description">Відображати температуру батареї</string>
<string name="overlay_position">Позиція накладання</string>
@ -50,7 +53,7 @@
<string name="dyna_state3">EDS3 + Динамічний стан вводу вершин</string>
<string name="dyna_state3_description">Покращує продуктивність на нових пристроях. Підтримується лише GPU з Vulkan 1.3+.</string>
<string name="use_sync_core">Синхронізувати швидкість ядра</string>
<string name="use_sync_core_description">Синхронізує швидкість тактів ядра з максимальним відсотком швидкості для покращення продуктивності без зміни фактичної швидкості гри.</string>
<string name="use_sync_core_description">Синхронізує швидкість ядра з максимальним відсотком швидкості для покращення продуктивності без зміни реальної швидкості гри.</string>
<string name="use_auto_stub">Використовувати Auto Stub</string>
<string name="use_auto_stub_description">Автоматично замінює відсутні сервіси та функції. Може покращити сумісність, але викликати збої та проблеми стабільності.</string>
<string name="uninstall_firmware">Видалити прошивку</string>
@ -87,8 +90,9 @@
<!-- Shader Backend -->
<string name="shader_backend">Вершинний шейдер</string>
<string name="shader_backend_description">Спосіб компіляції шейдерів</string>
<string name="shader_backend_glsl">GLSL</string>
<string name="shader_backend_spirv">SPIR-V</string>
<string name="shader_backend_glsl">Універсальний</string>
<string name="shader_backend_glasm">Mali</string>
<string name="shader_backend_spirv">Adreno/Xclipse</string>
<!-- NVDEC Emulation -->
<string name="nvdec_emulation">Емуляція NVDEC</string>
@ -288,17 +292,45 @@
<string name="our_eternal_gratitude">Наша нескінченна вдячність</string>
<string name="are_you_interested">Ви зацікавлені?</string>
<string name="frame_limit_slider">Обмеження відсотка швидкості</string>
<string name="frame_limit_enable">Обмеження швидкості</string>
<string name="frame_limit_enable_description">Обмежує швидкість емуляції у відсотках від нормальної.</string>
<string name="frame_limit_slider">Відсоток обмеження</string>
<string name="frame_limit_slider_description">Вказує відсоток обмеження швидкості. 100% — нормальна швидкість.</string>
<string name="cpu_backend">Режим ЦП</string>
<string name="cpu_accuracy">Точність ЦП</string>
<string name="emulated_region">Емульований регіон</string>
<string name="emulated_language">Емульована мова</string>
<string name="use_custom_rtc">Користувацький RTC</string>
<string name="value_with_units">%1$s%2$s</string>
<!-- Системні налаштування -->
<string name="device_name">Назва пристрою</string>
<string name="use_docked_mode">Режим док-станції</string>
<string name="use_docked_mode_description">Збільшує роздільну здатність, знижуючи продуктивність. У портативному режимі роздільна здатність нижча, а продуктивність вища.</string>
<string name="emulated_region">Регіон</string>
<string name="emulated_language">Мова</string>
<string name="select_rtc_date">Вибрати дату</string>
<string name="select_rtc_time">Вибрати час</string>
<string name="use_custom_rtc">Свій RTC</string>
<string name="use_custom_rtc_description">Дозволяє встановити власний час, відмінний від системного.</string>
<string name="set_custom_rtc">Встановити RTC</string>
<!-- Graphics settings strings -->
<string name="renderer_accuracy">Рівень точності</string>
<string name="renderer_resolution">Роздільна здатність (Портативний/Док)</string>
<string name="renderer_vsync">Режим верт. синхронізації</string>
<string name="renderer_force_max_clock">Примусово змусити максимальну тактову частоту (тільки для Adreno)</string>
<string name="renderer_force_max_clock_description">Змушує ГП працювати на максимально можливих тактових частотах (теплові обмеження все одно будуть застосовуватися).</string>
<string name="renderer_asynchronous_shaders">Використовувати асинхронні шейдери</string>
<string name="renderer_screen_layout">Орієнтація</string>
<string name="renderer_aspect_ratio">Співвідношення</string>
<string name="renderer_scaling_filter">Фільтр масштабування</string>
<string name="fsr_sharpness">Різкість FSR</string>
<string name="fsr_sharpness_description">Визначає різкість зображення при використанні FSR.</string>
<string name="renderer_anti_aliasing">Згладжування</string>
<string name="renderer_force_max_clock">Максимальна тактова частота (тільки Adreno)</string>
<string name="renderer_force_max_clock_description">Змушує ГП працювати на максимальній тактовій частоті.</string>
<string name="renderer_asynchronous_shaders">Асинхронні шейдери</string>
<string name="renderer_asynchronous_shaders_description">Компілює шейдери асинхронно. Це може зменшити затримки, але також може спричинити графічні помилки.</string>
<string name="renderer_reactive_flushing">Реактивне очищення</string>
<string name="renderer_reactive_flushing_description">Покращує точність рендерингу в деяких іграх.</string>
<string name="use_disk_shader_cache">Кеш шейдерів</string>
<string name="use_disk_shader_cache_description">Зменшує затримки шляхом збереження шейдерів.</string>
<string name="anisotropic_filtering">Анізотропне фільтрування</string>
<string name="anisotropic_filtering_description">Покращує якість текстур під кутом.</string>
<!-- Debug settings strings -->
<string name="cpu">ЦП</string>
<string name="renderer_api">API</string>

View file

@ -7,6 +7,9 @@
<string name="notification_permission_not_granted">Ứng dụng không được cấp quyền thông báo!</string>
<!-- Stats Overlay settings -->
<string name="enhanced_fps_suffix">(Nâng cao)</string>
<string name="skipping_fps_suffix">(Bỏ qua)</string>
<string name="system_info_label">Hệ thống:</string>
<string name="show_stats_overlay">Hiển thị thống kê hiệu suất</string>
<string name="stats_overlay_customization">Tùy chỉnh</string>
<string name="stats_overlay_items">Hiển thị</string>
@ -20,9 +23,9 @@
<string name="show_speed">Hiển thị tốc độ</string>
<string name="show_speed_description">Hiển thị phần trăm tốc độ giả lập</string>
<string name="show_app_ram_usage">Hiển thị RAM ứng dụng</string>
<string name="show_app_ram_usage_description">Hiển thị lượng RAM sử dụng bởi giả lập</string>
<string name="show_app_ram_usage_description">Hiển thị lượng RAM mà trình giả lập đang sử dụng</string>
<string name="show_system_ram_usage">Hiển thị RAM hệ thống</string>
<string name="show_system_ram_usage_description">Hiển thị lượng RAM sử dụng bởi hệ thống</string>
<string name="show_system_ram_usage_description">Hiển thị lượng RAM được hệ thống sử dụng</string>
<string name="show_bat_temperature">Hiển thị nhiệt độ pin</string>
<string name="show_bat_temperature_description">Hiển thị nhiệt độ pin (Celsius/Fahrenheit)</string>
<string name="overlay_position">Vị trí overlay</string>
@ -50,7 +53,7 @@
<string name="dyna_state3">EDS3 + Trạng thái động đầu vào đỉnh</string>
<string name="dyna_state3_description">Cải thiện hiệu suất trên các thiết bị mới hơn. Chỉ được hỗ trợ trên GPU Vulkan 1.3+.</string>
<string name="use_sync_core">Đồng bộ tốc độ lõi</string>
<string name="use_sync_core_description">Đồng bộ tốc độ xung nhịp lõi với phần trăm tốc độ tối đa để cải thiện hiệu suất mà không thay đổi tốc độ thực tế của trò chơi.</string>
<string name="use_sync_core_description">Đồng bộ tốc độ lõi với tỷ lệ phần trăm tốc độ tối đa để cải thiện hiệu suất mà không làm thay đổi tốc độ thực tế của trò chơi.</string>
<string name="use_auto_stub">Sử dụng Auto Stub</string>
<string name="use_auto_stub_description">Tự động thay thế các dịch vụ và chức năng bị thiếu. Có thể cải thiện khả năng tương thích nhưng gây ra sự cố và vấn đề ổn định.</string>
<string name="uninstall_firmware">Gỡ cài đặt firmware</string>
@ -87,8 +90,9 @@
<!-- Backend Shader -->
<string name="shader_backend">Backend Shader</string>
<string name="shader_backend_description">Chọn cách biên dịch shader</string>
<string name="shader_backend_glsl">GLSL</string>
<string name="shader_backend_spirv">SPIR-V</string>
<string name="shader_backend_glsl">Đa năng</string>
<string name="shader_backend_glasm">Mali</string>
<string name="shader_backend_spirv">Adreno/Xclipse</string>
<!-- Giả lập NVDEC -->
<string name="nvdec_emulation">Giả lập NVDEC</string>
@ -328,7 +332,7 @@
<string name="renderer_force_max_clock">Buộc chạy ở xung nhịp tối đa (chỉ Adreno)</string>
<string name="renderer_force_max_clock_description">Buộc GPU hoạt động ở xung nhịp tối đa có thể (ràng buộc nhiệt độ vẫn sẽ được áp dụng).</string>
<string name="renderer_asynchronous_shaders">Dùng các shader bất đồng bộ</string>
<string name="renderer_asynchronous_shaders_description">Biên dịch các shader bất đồng bộ, giảm tình trạng giật lag nhưng có thể gây ra các lỗi.</string>
<string name="renderer_asynchronous_shaders_description">Biên dịch shader không đồng bộ. Điều này có thể giảm giật lag nhưng cũng có thể gây ra lỗi đồ họa.</string>
<string name="renderer_reactive_flushing">Bật xả tương ứng</string>
<string name="renderer_reactive_flushing_description">Cải thiện độ chính xác hiển thị trong một số trò chơi nhưng đồng thời giảm hiệu suất chơi.</string>
<string name="use_disk_shader_cache">Lưu bộ nhớ đệm shader trên ổ cứng</string>

View file

@ -7,6 +7,9 @@
<string name="notification_permission_not_granted">未授予通知权限!</string>
<!-- Stats Overlay settings -->
<string name="enhanced_fps_suffix">(增强)</string>
<string name="skipping_fps_suffix">(跳过)</string>
<string name="system_info_label">系统:</string>
<string name="show_stats_overlay">显示性能统计悬浮窗</string>
<string name="stats_overlay_customization">自定义</string>
<string name="stats_overlay_items">显示项</string>
@ -20,9 +23,9 @@
<string name="show_speed">显示速度</string>
<string name="show_speed_description">显示当前模拟速度百分比</string>
<string name="show_app_ram_usage">显示应用内存占用</string>
<string name="show_app_ram_usage_description">显示模拟器内存使用</string>
<string name="show_app_ram_usage_description">显示模拟器正在使用的内存量</string>
<string name="show_system_ram_usage">显示系统内存占用</string>
<string name="show_system_ram_usage_description">显示系统内存使用量</string>
<string name="show_system_ram_usage_description">显示系统使用的内存</string>
<string name="show_bat_temperature">显示电池温度</string>
<string name="show_bat_temperature_description">显示当前电池温度(℃/℉)</string>
<string name="overlay_position">悬浮窗位置</string>
@ -50,7 +53,7 @@
<string name="dyna_state3">EDS3 + 顶点输入动态状态</string>
<string name="dyna_state3_description">提高新设备上的性能。仅支持Vulkan 1.3+ GPU。</string>
<string name="use_sync_core">同步核心速度</string>
<string name="use_sync_core_description">将核心时钟速度同步到最大速度百分比以提高性能,而不改变游戏实际速度</string>
<string name="use_sync_core_description">将核心速度与最大速度百分比同步,在不改变游戏实际速度的情况下提高性能</string>
<string name="use_auto_stub">使用自动存根</string>
<string name="use_auto_stub_description">自动补全缺失的服务和功能。可提高兼容性但可能导致崩溃和稳定性问题。</string>
<string name="uninstall_firmware">卸载固件</string>
@ -87,8 +90,9 @@
<!-- 着色器后端 -->
<string name="shader_backend">着色器后端</string>
<string name="shader_backend_description">选择着色器编译方式</string>
<string name="shader_backend_glsl">GLSL</string>
<string name="shader_backend_spirv">SPIR-V</string>
<string name="shader_backend_glsl">通用</string>
<string name="shader_backend_glasm">Mali</string>
<string name="shader_backend_spirv">Adreno/Xclipse</string>
<!-- NVDEC模拟 -->
<string name="nvdec_emulation">NVDEC模拟</string>
@ -405,7 +409,7 @@
<string name="renderer_force_max_clock">强制最大时钟 (仅限 Adreno)</string>
<string name="renderer_force_max_clock_description">强制 GPU 以最大时钟运行 (仍被温控限制)。</string>
<string name="renderer_asynchronous_shaders">使用异步着色器</string>
<string name="renderer_asynchronous_shaders_description">异步编译着色器,减少卡顿,但可能引入故障</string>
<string name="renderer_asynchronous_shaders_description">异步编译着色器。这可能会减少卡顿,但也可能会导致图形错误</string>
<string name="renderer_reactive_flushing">启用反应性刷新</string>
<string name="renderer_reactive_flushing_description">牺牲性能,提高某些游戏的渲染精度。</string>
<string name="use_disk_shader_cache">磁盘着色器缓存</string>

View file

@ -7,6 +7,9 @@
<string name="notification_permission_not_granted">未授予通知權限!</string>
<!-- Stats Overlay settings -->
<string name="enhanced_fps_suffix">(增強)</string>
<string name="skipping_fps_suffix">(跳過)</string>
<string name="system_info_label">系統:</string>
<string name="show_stats_overlay">顯示效能統計疊加層</string>
<string name="stats_overlay_customization">自訂</string>
<string name="stats_overlay_items">可見項目</string>
@ -20,7 +23,7 @@
<string name="show_speed">顯示速度</string>
<string name="show_speed_description">顯示當前模擬速度百分比</string>
<string name="show_app_ram_usage">顯示應用記憶體用量</string>
<string name="show_app_ram_usage_description">顯示模擬器使用的記憶體量</string>
<string name="show_app_ram_usage_description">顯示模擬器正在使用的記憶體量</string>
<string name="show_system_ram_usage">顯示系統記憶體用量</string>
<string name="show_system_ram_usage_description">顯示系統使用的記憶體量</string>
<string name="show_bat_temperature">顯示電池溫度</string>
@ -50,7 +53,7 @@
<string name="dyna_state3">EDS3 + 頂點輸入動態狀態</string>
<string name="dyna_state3_description">提高新裝置上的效能。僅支援Vulkan 1.3+ GPU。</string>
<string name="use_sync_core">同步核心速度</string>
<string name="use_sync_core_description">將核心時脈速度同步到最大速度百分比以提高效能,而不改變遊戲實際速度</string>
<string name="use_sync_core_description">將核心速度與最大速度百分比同步,在不改變遊戲實際速度的情況下提高效能</string>
<string name="use_auto_stub">使用自動存根</string>
<string name="use_auto_stub_description">自動補全缺失的服務和功能。可提高相容性但可能導致崩潰和穩定性問題。</string>
<string name="uninstall_firmware">解除安裝韌體</string>
@ -87,8 +90,9 @@
<!-- 著色器後端 -->
<string name="shader_backend">著色器後端</string>
<string name="shader_backend_description">選擇著色器的編譯與轉譯方式</string>
<string name="shader_backend_glsl">GLSL</string>
<string name="shader_backend_spirv">SPIR-V</string>
<string name="shader_backend_glsl">通用</string>
<string name="shader_backend_glasm">Mali</string>
<string name="shader_backend_spirv">Adreno/Xclipse</string>
<!-- NVDEC模擬 -->
<string name="nvdec_emulation">NVDEC模擬</string>
@ -406,7 +410,7 @@
<string name="renderer_force_max_clock">強制最大時脈 (僅 Adreno)</string>
<string name="renderer_force_max_clock_description">強制 GPU 以最大可能時脈執行 (熱溫限制仍被套用)。</string>
<string name="renderer_asynchronous_shaders">使用非同步著色器</string>
<string name="renderer_asynchronous_shaders_description">非同步編譯著色器,將會減少間斷,但可能會引入故障</string>
<string name="renderer_asynchronous_shaders_description">非同步編譯著色器。這可能會減少卡頓,但也可能導致圖形錯誤</string>
<string name="renderer_reactive_flushing">使用重新啟用排清</string>
<string name="renderer_reactive_flushing_description">犧牲效能,以改善部分遊戲的轉譯準確度。</string>
<string name="use_disk_shader_cache">磁碟著色器快取</string>

View file

@ -87,12 +87,14 @@
<string-array name="rendererShaderNames">
<item>@string/shader_backend_glsl</item>
<item>@string/shader_backend_glasm</item>
<item>@string/shader_backend_spirv</item>
</string-array>
<integer-array name="rendererShaderValues">
<item>0</item>
<item>1</item>
<item>2</item>
</integer-array>
<!-- VRAM USAGE MODE CHOICES -->

View file

@ -10,6 +10,9 @@
<string name="notification_permission_not_granted">Notification permission not granted!</string>
<!-- Stats Overlay settings -->
<string name="enhanced_fps_suffix">(Enhanced)</string>
<string name="skipping_fps_suffix">(Skipping)</string>
<string name="system_info_label">System:</string>
<string name="show_stats_overlay">ShoW Performance Stats Overlay</string>
<string name="stats_overlay_customization">Customization</string>
<string name="stats_overlay_items">Visibility</string>
@ -23,9 +26,9 @@
<string name="show_speed">Show Speed</string>
<string name="show_speed_description">Display current emulation speed percentage</string>
<string name="show_app_ram_usage">Show App Memory Usage</string>
<string name="show_app_ram_usage_description">Display the amount of RAM getting used by the emulator</string>
<string name="show_app_ram_usage_description">Display the amount of RAM the emulator is using</string>
<string name="show_system_ram_usage">Show System Memory Usage</string>
<string name="show_system_ram_usage_description">Display the amount of RAM getting used by the system</string>
<string name="show_system_ram_usage_description">Display the amount of RAM used by the system</string>
<string name="show_bat_temperature">Show Battery Temperature</string>
<string name="show_bat_temperature_description">Display current Battery temperature in Celsius and Fahrenheit</string>
<string name="overlay_position">Overlay Position</string>
@ -49,7 +52,7 @@
<string name="dyna_state3">EDS3 + VertexInputDynamicState</string>
<string name="dyna_state3_description">Improves performance on newer devices. Only supported on Vulkan 1.3+ GPUs.</string>
<string name="use_sync_core">Synchronize Core Speed</string>
<string name="use_sync_core_description">Synchronize the core tick speed to the maximum speed percentage to improve performance without altering the games actual speed.</string>
<string name="use_sync_core_description">Synchronize the core tick speed to the maximum speed percentage to improve performance without altering the game\'s actual speed.</string>
<string name="use_auto_stub">Use Auto Stub</string>
<string name="use_auto_stub_description">Automatically stub missing services and functions. This may improve compatibility but can cause crashes and stability issues.</string>
<string name="uninstall_firmware">Uninstall firmware</string>
@ -64,8 +67,9 @@
<!-- Shader Backend -->
<string name="shader_backend">Shader Backend</string>
<string name="shader_backend_description">Choose how shaders are compiled and translated for your GPU.</string>
<string name="shader_backend_glsl">GLSL</string>
<string name="shader_backend_spirv">SPIR-V</string>
<string name="shader_backend_glsl">Universal</string>
<string name="shader_backend_glasm">Mali</string>
<string name="shader_backend_spirv">Adreno/Xclipse</string>
<!-- NVDEC Emulation -->
<string name="nvdec_emulation">NVDEC Emulation</string>
@ -325,7 +329,7 @@
<string name="licenses_description">Projects that make eden for Android possible</string>
<string name="build">Build</string>
<string name="user_data">User data</string>
<string name="user_data_description">Import/export all app data.\n\nWhen importing user data, all existing user data will be deleted!</string>
<string name="user_data_description">Import/export all app data.\n\nWhen importing user data, all existing user data will be deleted!\n\nImporting data from Citron may cause issues. It\'s recommended to manually import all needed data.</string>
<string name="exporting_user_data">Exporting user data…</string>
<string name="importing_user_data">Importing user data…</string>
<string name="import_user_data">Import user data</string>
@ -334,8 +338,8 @@
<string name="user_data_import_success">User data imported successfully</string>
<string name="user_data_export_cancelled">Export cancelled</string>
<string name="user_data_import_failed_description">Make sure the user data folders are at the root of the zip folder and contain a config file at config/config.ini and try again.</string>
<string name="support_link">https://discord.gg/Xa3ssgxrY7</string>
<string name="website_link">https://bixthefin.github.io//</string>
<string name="support_link">https://discord.gg/hab4Sh8qj6</string>
<string name="website_link">https://eden-emulator.github.io</string>
<string name="github_link">https://git.eden-emu.dev/eden-emu</string>
<!-- Early access upgrade strings -->
@ -388,7 +392,7 @@
<string name="renderer_optimize_spirv_output">Optimize SPIRV output</string>
<string name="renderer_optimize_spirv_output_description">Optimizes compiled shader to improve GPU efficiency.</string>
<string name="renderer_asynchronous_shaders">Use asynchronous shaders</string>
<string name="renderer_asynchronous_shaders_description">Compiles shaders asynchronously, reducing stutter but may introduce glitches.</string>
<string name="renderer_asynchronous_shaders_description">Compiles shaders asynchronously. This may reduce stutters but may also introduce glitches.</string>
<string name="use_fast_gpu_time">Use Fast GPU Time</string>
<string name="use_fast_gpu_time_description">Forces most games to run at their highest native resolution. This option is hacky and may cause issues.</string>
<string name="renderer_reactive_flushing">Use reactive flushing</string>

View file

@ -196,11 +196,11 @@ struct Values {
SwitchableSetting<MemoryLayout, true> memory_layout_mode{linkage,
MemoryLayout::Memory_4Gb,
MemoryLayout::Memory_4Gb,
MemoryLayout::Memory_8Gb,
MemoryLayout::Memory_12Gb,
"memory_layout_mode",
Category::Core,
Specialization::Default,
false};
true};
SwitchableSetting<bool> use_speed_limit{
linkage, true, "use_speed_limit", Category::Core, Specialization::Paired, true, true};
SwitchableSetting<u16, true> speed_limit{linkage,
@ -447,9 +447,9 @@ struct Values {
SwitchableSetting<u8, true> dyna_state{linkage,
#ifdef ANDROID
0,
2,
#else
1,
2,
#endif
0,
2,
@ -457,9 +457,9 @@ struct Values {
Category::RendererExtensions,
Specialization::Scalar};
SwitchableSetting<bool> dyna_state3{linkage, false, "dyna_state3", Category::RendererExtensions};
SwitchableSetting<bool> provoking_vertex{linkage, false, "provoking_vertex", Category::RendererExtensions};
SwitchableSetting<bool> descriptor_indexing{linkage, false, "descriptor_indexing", Category::RendererExtensions};
SwitchableSetting<bool> dyna_state3{linkage, true, "dyna_state3", Category::RendererExtensions};
SwitchableSetting<bool> provoking_vertex{linkage, true, "provoking_vertex", Category::RendererExtensions};
SwitchableSetting<bool> descriptor_indexing{linkage, true, "descriptor_indexing", Category::RendererExtensions};
Setting<bool> renderer_debug{linkage, false, "debug", Category::RendererDebug};
Setting<bool> renderer_shader_feedback{linkage, false, "shader_feedback",
@ -640,6 +640,10 @@ struct Values {
Setting<bool> log_flush_lines{linkage, false, "flush_lines", Category::Miscellaneous};
Setting<bool> use_dev_keys{linkage, false, "use_dev_keys", Category::Miscellaneous};
Setting<bool> first_launch{linkage, true, "first_launch", Category::Miscellaneous};
Setting<bool> hide_pre_alpha_warning{linkage,
false,
"hide_pre_alpha_warning",
Category::Miscellaneous};
// Network
Setting<std::string> network_interface{linkage, std::string(), "network_interface",

View file

@ -134,7 +134,7 @@ ENUM(CpuBackend, Dynarmic, Nce);
ENUM(CpuAccuracy, Auto, Accurate, Unsafe, Paranoid);
ENUM(MemoryLayout, Memory_4Gb, Memory_6Gb, Memory_8Gb);
ENUM(MemoryLayout, Memory_4Gb, Memory_6Gb, Memory_8Gb, Memory_10Gb, Memory_12Gb);
ENUM(ConfirmStop, Ask_Always, Ask_Based_On_Game, Ask_Never);

View file

@ -48,6 +48,10 @@ u32 GetMemorySizeForInit() {
return Smc::MemorySize_6GB;
case Settings::MemoryLayout::Memory_8Gb:
return Smc::MemorySize_8GB;
case Settings::MemoryLayout::Memory_10Gb:
return Smc::MemorySize_10GB;
case Settings::MemoryLayout::Memory_12Gb:
return Smc::MemorySize_12GB;
}
return Smc::MemorySize_4GB;
}
@ -60,6 +64,10 @@ Smc::MemoryArrangement GetMemoryArrangeForInit() {
return Smc::MemoryArrangement_6GB;
case Settings::MemoryLayout::Memory_8Gb:
return Smc::MemoryArrangement_8GB;
case Settings::MemoryLayout::Memory_10Gb:
return Smc::MemoryArrangement_10GB;
case Settings::MemoryLayout::Memory_12Gb:
return Smc::MemoryArrangement_12GB;
}
return Smc::MemoryArrangement_4GB;
}
@ -79,6 +87,10 @@ size_t KSystemControl::Init::GetIntendedMemorySize() {
return 6_GiB;
case Smc::MemorySize_8GB:
return 8_GiB;
case Smc::MemorySize_10GB:
return 10_GiB;
case Smc::MemorySize_12GB:
return 12_GiB;
}
}
@ -114,6 +126,10 @@ std::size_t KSystemControl::Init::GetApplicationPoolSize() {
case Smc::MemoryArrangement_8GB:
// Real kernel sets this to 4916_MiB. We are not debugging applets.
return 6547_MiB;
case Smc::MemoryArrangement_10GB:
return 8178_MiB;
case Smc::MemoryArrangement_12GB:
return 9809_MiB;
}
}();
@ -139,6 +155,10 @@ size_t KSystemControl::Init::GetAppletPoolSize() {
case Smc::MemoryArrangement_8GB:
//! Real kernel sets this to 2193_MiB. We are not debugging applets.
return 562_MiB;
case Smc::MemoryArrangement_10GB:
return 562_MiB;
case Smc::MemoryArrangement_12GB:
return 562_MiB;
}
}();

View file

@ -9,6 +9,8 @@ enum MemorySize {
MemorySize_4GB = 0,
MemorySize_6GB = 1,
MemorySize_8GB = 2,
MemorySize_10GB = 3,
MemorySize_12GB = 4,
};
enum MemoryArrangement {
@ -18,6 +20,8 @@ enum MemoryArrangement {
MemoryArrangement_6GB = 3,
MemoryArrangement_6GBForAppletDev = 4,
MemoryArrangement_8GB = 5,
MemoryArrangement_10GB = 6,
MemoryArrangement_12GB = 7,
};
} // namespace Kernel::Board::Nintendo::Nx::Smc

View file

@ -104,9 +104,7 @@ public:
{160, nullptr, "RequiresUpdateNetworkServiceAccountIdTokenCache"},
{161, nullptr, "RequireReauthenticationOfNetworkServiceAccount"},
{170, nullptr, "CreateDeviceHistoryRequest"}, // 17.0.0+
{180, nullptr, "GetRequestForNintendoAccountReauthentication"}, // 18.0.0+
{181, nullptr, "CreateProcedureToReauthenticateNintendoAccount"}, // 20.0.0+
{182, nullptr, "ResumeProcedureToReauthenticateNintendoAccount"}, // 20.0.0+
{180, nullptr, "GetRequestForNintendoAccountReauthentication"} // 18.0.0+
};
// clang-format on
@ -196,12 +194,6 @@ public:
{161, nullptr, "RequireReauthenticationOfNetworkServiceAccount"},
{170, nullptr, "CreateDeviceHistoryRequest"}, // 17.0.0+
{180, nullptr, "GetRequestForNintendoAccountReauthentication"}, // 18.0.0+
{181, nullptr, "CreateProcedureToReauthenticateNintendoAccount"}, // 20.0.0+
{182, nullptr, "ResumeProcedureToReauthenticateNintendoAccount"}, // 20.0.0+
{183, nullptr, "GetNintendoAccountReauthenticationRequest"}, // 20.0.0+
{190, nullptr, "GetDeviceMigrationInfo"}, // 20.0.0+
{191, nullptr, "CheckDeviceMigrationAvailabilityAsync"}, // 20.0.0+
{192, nullptr, "StartDeviceMigrationAsync"}, // 20.0.0+
{200, nullptr, "IsRegistered"},
{201, nullptr, "RegisterAsync"},
{202, nullptr, "UnregisterAsync"},
@ -309,11 +301,6 @@ public:
{101, nullptr, "IsNetworkServiceAccountReplaced"},
{199, nullptr, "GetUrlForIntroductionOfExtraMembership"}, // 2.0.0 - 5.1.0
{200, nullptr, "ApplyAsyncWithAuthorizedToken"},
{210, nullptr, "IsProfileAvailable"}, // 17.0.0+
{220, nullptr, "RegisterUserAsyncWithoutProfile"}, // 17.0.0+
{221, nullptr, "RegisterUserWithProfileAsync"}, // 17.0.0+
{230, nullptr, "RegisterUserWithLargeImageProfileAsync"}, // 18.0.0+
{240, nullptr, "RegisterUserWithReauthenticationAsync"}, // 20.0.0+
};
// clang-format on
@ -768,8 +755,7 @@ public:
{210, nullptr, "IsProfileAvailable"}, // 17.0.0+
{220, nullptr, "RegisterUserAsyncWithoutProfile"}, // 17.0.0+
{221, nullptr, "RegisterUserWithProfileAsync"}, // 17.0.0+
{230, nullptr, "RegisterUserWithLargeImageProfileAsync"}, // 18.0.0+
{240, nullptr, "RegisterUserWithReauthenticationAsync"}, // 20.0.0+
{230, nullptr, "RegisterUserWithLargeImageProfileAsync"} // 18.0.0+
};
// clang-format on

View file

@ -53,26 +53,15 @@ ACC_SU::ACC_SU(std::shared_ptr<Module> module_, std::shared_ptr<ProfileManager>
{212, nullptr, "ResumeProcedureToRegisterUserWithNintendoAccount"},
{230, nullptr, "AuthenticateServiceAsync"},
{250, nullptr, "GetBaasAccountAdministrator"},
{251, nullptr, "SynchronizeNetworkServiceAccountsSnapshotAsync"}, // 20.0.0+
{290, nullptr, "ProxyProcedureForGuestLoginWithNintendoAccount"},
{291, nullptr, "ProxyProcedureForFloatingRegistrationWithNintendoAccount"},
{292, nullptr, "ProxyProcedureForDeviceMigrationAuthenticatingOperatingUser"}, // 20.0.0+
{293, nullptr, "ProxyProcedureForDeviceMigrationDownload"}, // 20.0.0+
{299, nullptr, "SuspendBackgroundDaemon"},
{350, nullptr, "CreateDeviceMigrationUserExportRequest"}, // 20.0.0+
{351, nullptr, "UploadNasCredential"}, // 20.0.0+
{352, nullptr, "CreateDeviceMigrationUserImportRequest"}, // 20.0.0+
{353, nullptr, "DeleteUserMigrationSaveData"}, // 20.0.0+
{400, nullptr, "SetPinCode"}, // 18.0.0+
{401, nullptr, "GetPinCodeLength"}, // 18.0.0+
{402, nullptr, "GetPinCode"}, // 18.0.0+
{403, nullptr, "GetPinCodeParity"}, // 20.0.0+
{404, nullptr, "VerifyPinCode"}, // 20.0.0+
{405, nullptr, "IsPinCodeVerificationForbidden"}, // 20.0.0+
{410, nullptr, "GetPinCodeErrorCount"}, // 18.0.0+
{411, nullptr, "ResetPinCodeErrorCount"}, // 18.0.0+
{412, nullptr, "IncrementPinCodeErrorCount"}, // 18.0.0+
{413, nullptr, "SetPinCodeErrorCount"}, // 20.0.0+
{900, nullptr, "SetUserUnqualifiedForDebug"},
{901, nullptr, "UnsetUserUnqualifiedForDebug"},
{902, nullptr, "ListUsersUnqualifiedForDebug"},

View file

@ -42,9 +42,6 @@ ACC_U1::ACC_U1(std::shared_ptr<Module> module_, std::shared_ptr<ProfileManager>
{191, nullptr, "ActivateOpenContextHolder"},
{401, nullptr, "GetPinCodeLength"}, // 18.0.0+
{402, nullptr, "GetPinCode"}, // 18.0.0+
{403, nullptr, "GetPinCodeParity"}, // 20.0.0+
{404, nullptr, "VerifyPinCode"}, // 20.0.0+
{405, nullptr, "IsPinCodeVerificationForbidden"}, // 20.0.0+
{997, nullptr, "DebugInvalidateTokenCacheForUser"},
{998, nullptr, "DebugSetUserStateClose"},
{999, nullptr, "DebugSetUserStateOpen"},

View file

@ -18,7 +18,6 @@ IAllSystemAppletProxiesService::IAllSystemAppletProxiesService(Core::System& sys
// clang-format off
static const FunctionInfo functions[] = {
{100, D<&IAllSystemAppletProxiesService::OpenSystemAppletProxy>, "OpenSystemAppletProxy"},
{110, D<&IAllSystemAppletProxiesService::OpenSystemAppletProxyForDebug>, "OpenSystemAppletProxyForDebug"},
{200, D<&IAllSystemAppletProxiesService::OpenLibraryAppletProxyOld>, "OpenLibraryAppletProxyOld"},
{201, D<&IAllSystemAppletProxiesService::OpenLibraryAppletProxy>, "OpenLibraryAppletProxy"},
{300, nullptr, "OpenOverlayAppletProxy"},
@ -26,7 +25,6 @@ IAllSystemAppletProxiesService::IAllSystemAppletProxiesService(Core::System& sys
{400, nullptr, "CreateSelfLibraryAppletCreatorForDevelop"},
{410, nullptr, "GetSystemAppletControllerForDebug"},
{450, D<&IAllSystemAppletProxiesService::GetSystemProcessCommonFunctions>, "GetSystemProcessCommonFunctions"}, // 19.0.0+
{460, nullptr, "Unknown460"},
{1000, nullptr, "GetDebugFunctions"},
};
// clang-format on
@ -51,26 +49,6 @@ Result IAllSystemAppletProxiesService::OpenSystemAppletProxy(
}
}
Result IAllSystemAppletProxiesService::OpenSystemAppletProxyForDebug(
Out<SharedPointer<ISystemAppletProxy>> out_proxy, ClientProcessId pid) {
LOG_DEBUG(Service_AM, "OpenSystemAppletProxyForDebug called");
auto process = system.ApplicationProcess();
if (!process) {
LOG_ERROR(Service_AM, "No application process available");
R_THROW(ResultUnknown);
}
if (const auto applet = GetAppletFromProcessId(pid)) {
*out_proxy = std::make_shared<ISystemAppletProxy>(
system, applet, process, m_window_system);
R_SUCCEED();
}
LOG_ERROR(Service_AM, "Applet not found for pid={}", pid.pid);
R_THROW(ResultUnknown);
}
Result IAllSystemAppletProxiesService::OpenLibraryAppletProxy(
Out<SharedPointer<ILibraryAppletProxy>> out_library_applet_proxy, ClientProcessId pid,
InCopyHandle<Kernel::KProcess> process_handle,

View file

@ -27,7 +27,6 @@ private:
Result OpenSystemAppletProxy(Out<SharedPointer<ISystemAppletProxy>> out_system_applet_proxy,
ClientProcessId pid,
InCopyHandle<Kernel::KProcess> process_handle);
Result OpenSystemAppletProxyForDebug(Out<SharedPointer<ISystemAppletProxy>> out_proxy, ClientProcessId pid);
Result OpenLibraryAppletProxy(Out<SharedPointer<ILibraryAppletProxy>> out_library_applet_proxy,
ClientProcessId pid,
InCopyHandle<Kernel::KProcess> process_handle,

View file

@ -33,10 +33,8 @@ IAppletCommonFunctions::IAppletCommonFunctions(Core::System& system_,
{100, nullptr, "SetApplicationCoreUsageMode"},
{300, D<&IAppletCommonFunctions::GetCurrentApplicationId>, "GetCurrentApplicationId"},
{310, nullptr, "IsSystemAppletHomeMenu"}, //19.0.0+
{311, nullptr, "Unknown311"},
{320, nullptr, "SetGpuTimeSliceBoost"}, //19.0.0+
{321, nullptr, "SetGpuTimeSliceBoostDueToApplication"}, //19.0.0+
{350, nullptr, "Unknown350"},
};
// clang-format on

View file

@ -38,7 +38,7 @@ ICommonStateGetter::ICommonStateGetter(Core::System& system_, std::shared_ptr<Ap
{30, nullptr, "GetHomeButtonReaderLockAccessor"},
{31, D<&ICommonStateGetter::GetReaderLockAccessorEx>, "GetReaderLockAccessorEx"},
{32, D<&ICommonStateGetter::GetWriterLockAccessorEx>, "GetWriterLockAccessorEx"},
{40, D<&ICommonStateGetter::GetCradleFwVersion>, "GetCradleFwVersion"},
{40, nullptr, "GetCradleFwVersion"},
{50, D<&ICommonStateGetter::IsVrModeEnabled>, "IsVrModeEnabled"},
{51, D<&ICommonStateGetter::SetVrModeEnabled>, "SetVrModeEnabled"},
{52, D<&ICommonStateGetter::SetLcdBacklighOffEnabled>, "SetLcdBacklighOffEnabled"},
@ -172,17 +172,6 @@ Result ICommonStateGetter::GetBootMode(Out<PM::SystemBootMode> out_boot_mode) {
R_SUCCEED();
}
Result ICommonStateGetter::GetCradleFwVersion(OutArray<uint32_t, 4> out_version) {
LOG_DEBUG(Service_AM, "(STUBBED) called");
out_version[0] = 0;
out_version[1] = 0;
out_version[2] = 0;
out_version[3] = 0;
R_SUCCEED();
}
Result ICommonStateGetter::IsVrModeEnabled(Out<bool> out_is_vr_mode_enabled) {
LOG_DEBUG(Service_AM, "called");

View file

@ -39,7 +39,6 @@ private:
Result GetHdcpAuthenticationStateChangeEvent(OutCopyHandle<Kernel::KReadableEvent> out_event);
Result GetOperationMode(Out<OperationMode> out_operation_mode);
Result GetPerformanceMode(Out<APM::PerformanceMode> out_performance_mode);
Result GetCradleFwVersion(OutArray<uint32_t, 4> out_version);
Result GetBootMode(Out<PM::SystemBootMode> out_boot_mode);
Result IsVrModeEnabled(Out<bool> out_is_vr_mode_enabled);
Result SetVrModeEnabled(bool is_vr_mode_enabled);

View file

@ -15,7 +15,7 @@ IProcessWindingController::IProcessWindingController(Core::System& system_,
static const FunctionInfo functions[] = {
{0, D<&IProcessWindingController::GetLaunchReason>, "GetLaunchReason"},
{11, D<&IProcessWindingController::OpenCallingLibraryApplet>, "OpenCallingLibraryApplet"},
{21, D<&IProcessWindingController::PushContext>, "PushContext"},
{21, nullptr, "PushContext"},
{22, nullptr, "PopContext"},
{23, nullptr, "CancelWindingReservation"},
{30, nullptr, "WindAndDoReserved"},
@ -51,9 +51,4 @@ Result IProcessWindingController::OpenCallingLibraryApplet(
R_SUCCEED();
}
Result IProcessWindingController::PushContext() {
LOG_WARNING(Service_AM, "(STUBBED) called");
R_SUCCEED();
}
} // namespace Service::AM

View file

@ -21,7 +21,7 @@ private:
Result GetLaunchReason(Out<AppletProcessLaunchReason> out_launch_reason);
Result OpenCallingLibraryApplet(
Out<SharedPointer<ILibraryAppletAccessor>> out_calling_library_applet);
Result PushContext();
const std::shared_ptr<Applet> m_applet;
};

View file

@ -67,7 +67,6 @@ ISelfController::ISelfController(Core::System& system_, std::shared_ptr<Applet>
{110, nullptr, "SetApplicationAlbumUserData"},
{120, D<&ISelfController::SaveCurrentScreenshot>, "SaveCurrentScreenshot"},
{130, D<&ISelfController::SetRecordVolumeMuted>, "SetRecordVolumeMuted"},
{230, D<&ISelfController::Unknown230>, "Unknown230"},
{1000, nullptr, "GetDebugStorageChannel"},
};
// clang-format on
@ -395,10 +394,6 @@ Result ISelfController::SaveCurrentScreenshot(Capture::AlbumReportOption album_r
R_SUCCEED();
}
Result ISelfController::Unknown230() {
LOG_WARNING(Service_AM, "(STUBBED) called - function 230 (0xE6)");
R_SUCCEED();
}
Result ISelfController::SetRecordVolumeMuted(bool muted) {
LOG_WARNING(Service_AM, "(STUBBED) called. muted={}", muted);

View file

@ -62,7 +62,6 @@ private:
Result GetAccumulatedSuspendedTickChangedEvent(OutCopyHandle<Kernel::KReadableEvent> out_event);
Result SetAlbumImageTakenNotificationEnabled(bool enabled);
Result SaveCurrentScreenshot(Capture::AlbumReportOption album_report_option);
Result Unknown230();
Result SetRecordVolumeMuted(bool muted);
Kernel::KProcess* const m_process;

View file

@ -53,8 +53,6 @@ IAlbumAccessorService::IAlbumAccessorService(Core::System& system_,
{8021, nullptr, "GetAlbumEntryFromApplicationAlbumEntryAruid"},
{10011, nullptr, "SetInternalErrorConversionEnabled"},
{50000, nullptr, "LoadMakerNoteInfoForDebug"},
{50011, C<&IAlbumAccessorService::GetAlbumAccessResultForDebug>, "GetAlbumAccessResultForDebug"},
{50012, C<&IAlbumAccessorService::SetAlbumAccessResultForDebug>, "SetAlbumAccessResultForDebug"},
{60002, nullptr, "OpenAccessorSession"},
};
// clang-format on
@ -139,15 +137,6 @@ Result IAlbumAccessorService::LoadAlbumScreenShotThumbnailImageEx1(
R_RETURN(TranslateResult(result));
}
Result IAlbumAccessorService::GetAlbumAccessResultForDebug() {
LOG_DEBUG(Service_Capture, "(STUBBED) called.");
R_SUCCEED();
}
Result IAlbumAccessorService::SetAlbumAccessResultForDebug() {
LOG_DEBUG(Service_Capture, "(STUBBED) called.");
R_SUCCEED();
}
Result IAlbumAccessorService::TranslateResult(Result in_result) {
if (in_result.IsSuccess()) {
return in_result;

View file

@ -50,10 +50,6 @@ private:
OutArray<u8, BufferAttr_HipcMapAlias | BufferAttr_HipcMapTransferAllowsNonSecure> out_image,
OutArray<u8, BufferAttr_HipcMapAlias> out_buffer);
Result GetAlbumAccessResultForDebug();
Result SetAlbumAccessResultForDebug();
Result TranslateResult(Result in_result);
std::shared_ptr<AlbumManager> manager = nullptr;

View file

@ -30,8 +30,6 @@ public:
{10, nullptr, "CreateReportWithAttachments"},
{11, C<&ErrorReportContext::CreateReportV1>, "CreateReportV1"},
{12, C<&ErrorReportContext::CreateReport>, "CreateReport"},
{13, nullptr, "SubmitAttachmentWithLz4Compression"}, // 20.0.0+
{14, nullptr, "CreateReportWithSpecifiedReprotId"}, // 20.0.0+
{20, nullptr, "RegisterRunningApplet"},
{21, nullptr, "UnregisterRunningApplet"},
{22, nullptr, "UpdateAppletSuspendedDuration"},

View file

@ -76,7 +76,6 @@ FSP_SRV::FSP_SRV(Core::System& system_)
{34, D<&FSP_SRV::GetCacheStorageSize>, "GetCacheStorageSize"},
{35, nullptr, "CreateSaveDataFileSystemByHashSalt"},
{36, nullptr, "OpenHostFileSystemWithOption"},
{38, nullptr, "DetachSdCard"}, // 20.0.0+
{51, D<&FSP_SRV::OpenSaveDataFileSystem>, "OpenSaveDataFileSystem"},
{52, D<&FSP_SRV::OpenSaveDataFileSystemBySystemSaveDataId>, "OpenSaveDataFileSystemBySystemSaveDataId"},
{53, D<&FSP_SRV::OpenReadOnlySaveDataFileSystem>, "OpenReadOnlySaveDataFileSystem"},
@ -118,7 +117,6 @@ FSP_SRV::FSP_SRV(Core::System& system_)
{400, nullptr, "OpenDeviceOperator"},
{500, nullptr, "OpenSdCardDetectionEventNotifier"},
{501, nullptr, "OpenGameCardDetectionEventNotifier"},
{502, nullptr, "OpenSdCardAwakenReadyEventNotifier"}, // 20.0.0+
{510, nullptr, "OpenSystemDataUpdateEventNotifier"},
{511, nullptr, "NotifySystemDataUpdateEvent"},
{520, nullptr, "SimulateGameCardDetectionEvent"},

View file

@ -50,19 +50,16 @@ public:
{20102, nullptr, "GetFriendDetailedInfo"},
{20103, nullptr, "SyncFriendList"},
{20104, &IFriendService::RequestSyncFriendList, "RequestSyncFriendList"},
{20107, nullptr, "GetFriendDetailedInfoV2"}, // 20.0.0+
{20110, nullptr, "LoadFriendSetting"},
{20200, &IFriendService::GetReceivedFriendRequestCount, "GetReceivedFriendRequestCount"},
{20201, nullptr, "GetFriendRequestListV1"}, // 20.0.0+ (1.0.0-19.0.1 GetFriendRequestList)
{20202, nullptr, "GetFriendRequestListV2"}, // 20.0.0+
{20201, nullptr, "GetFriendRequestList"},
{20300, nullptr, "GetFriendCandidateList"},
{20301, nullptr, "GetNintendoNetworkIdInfo"},
{20302, nullptr, "GetSnsAccountLinkage"},
{20303, nullptr, "GetSnsAccountProfile"},
{20304, nullptr, "GetSnsAccountFriendList"},
{20400, nullptr, "GetBlockedUserListV1"}, // 20.0.0+ (1.0.0-19.0.1 GetBlockedUserList)
{20400, nullptr, "GetBlockedUserList"},
{20401, nullptr, "SyncBlockedUserList"},
{20402, nullptr, "GetBlockedUserListV2"}, // 20.0.0+
{20500, nullptr, "GetProfileExtraList"},
{20501, nullptr, "GetRelationship"},
{20600, &IFriendService::GetUserPresenceView, "GetUserPresenceView"},
@ -81,7 +78,7 @@ public:
{30120, nullptr, "ChangeFriendFavoriteFlag"},
{30121, nullptr, "ChangeFriendOnlineNotificationFlag"},
{30200, nullptr, "SendFriendRequest"},
{30201, nullptr, "SendFriendRequestWithApplicationInfoV1"}, // 20.0.0+ (1.0.0-19.0.1 SendFriendRequestWithApplicationInfo)
{30201, nullptr, "SendFriendRequestWithApplicationInfo"},
{30202, nullptr, "CancelFriendRequest"},
{30203, nullptr, "AcceptFriendRequest"},
{30204, nullptr, "RejectFriendRequest"},
@ -94,13 +91,11 @@ public:
{30215, nullptr, "SendFriendRequestWithExternalApplicationCatalogId"},
{30216, nullptr, "ResendFacedFriendRequest"},
{30217, nullptr, "SendFriendRequestWithNintendoNetworkIdInfo"},
{30218, nullptr, "SendFriendRequestWithApplicationInfoV2"}, // 20.0.0+
{30300, nullptr, "GetSnsAccountLinkPageUrl"},
{30301, nullptr, "UnlinkSnsAccount"},
{30400, nullptr, "BlockUser"},
{30401, nullptr, "BlockUserWithApplicationInfoV1"}, // 20.0.0+ (1.0.0-19.0.1 BlockUserWithApplicationInfo)
{30401, nullptr, "BlockUserWithApplicationInfo"},
{30402, nullptr, "UnblockUser"},
{30403, nullptr, "BlockUserWithApplicationInfoV2"}, // 20.0.0+
{30500, nullptr, "GetProfileExtraFromFriendCode"},
{30700, nullptr, "DeletePlayHistory"},
{30810, nullptr, "ChangePresencePermission"},

View file

@ -86,8 +86,6 @@ IHidDebugServer::IHidDebugServer(Core::System& system_, std::shared_ptr<Resource
{209, nullptr, "GetAvailableFirmwareVersionForRevert"},
{210, nullptr, "IsFirmwareUpdatingDevice"},
{211, nullptr, "StartFirmwareUpdateIndividual"},
{212, nullptr, "GetDetailFirmwareVersion"}, // 19.0.0+
{213, nullptr, "GetFirmwareVersionStringForDevMenu"}, // 20.0.0+
{215, nullptr, "SetUsbFirmwareForceUpdateEnabled"},
{216, nullptr, "SetAllKuinaDevicesToFirmwareUpdateMode"},
{221, nullptr, "UpdateControllerColor"},
@ -121,7 +119,6 @@ IHidDebugServer::IHidDebugServer(Core::System& system_, std::shared_ptr<Resource
{249, nullptr, "ConnectUniquePad"},
{250, nullptr, "IsVirtual"},
{251, nullptr, "GetAnalogStickModuleParam"},
{253, nullptr, "ClearStorageForShipment"}, //19.0.0+
{301, nullptr, "GetAbstractedPadHandles"},
{302, nullptr, "GetAbstractedPadState"},
{303, nullptr, "GetAbstractedPadsState"},

View file

@ -116,7 +116,6 @@ IHidServer::IHidServer(Core::System& system_, std::shared_ptr<ResourceManager> r
{134, C<&IHidServer::SetNpadAnalogStickUseCenterClamp>, "SetNpadAnalogStickUseCenterClamp"},
{135, C<&IHidServer::SetNpadCaptureButtonAssignment>, "SetNpadCaptureButtonAssignment"},
{136, C<&IHidServer::ClearNpadCaptureButtonAssignment>, "ClearNpadCaptureButtonAssignment"},
{137, nullptr, "SetNpadGcAnalogStick8bitRawValue"}, // 20.0.0+
{200, C<&IHidServer::GetVibrationDeviceInfo>, "GetVibrationDeviceInfo"},
{201, C<&IHidServer::SendVibrationValue>, "SendVibrationValue"},
{202, C<&IHidServer::GetActualVibrationValue>, "GetActualVibrationValue"},
@ -184,8 +183,7 @@ IHidServer::IHidServer(Core::System& system_, std::shared_ptr<ResourceManager> r
{1001, C<&IHidServer::GetNpadCommunicationMode>, "GetNpadCommunicationMode"},
{1002, C<&IHidServer::SetTouchScreenConfiguration>, "SetTouchScreenConfiguration"},
{1003, C<&IHidServer::IsFirmwareUpdateNeededForNotification>, "IsFirmwareUpdateNeededForNotification"},
{1004, C<&IHidServer::SetTouchScreenOutputRanges>, "SetTouchScreenOutputRanges"}, // 20.0.0+ (17.0.0-19.0.1 SetTouchScreenResolution)
{1005, nullptr, "EnableNxTouchScreenEmulationForTouchEnter"}, // 20.0.0+
{1004, C<&IHidServer::SetTouchScreenResolution>, "SetTouchScreenResolution"},
{2000, nullptr, "ActivateDigitizer"},
};
// clang-format on
@ -1434,12 +1432,12 @@ Result IHidServer::IsFirmwareUpdateNeededForNotification(Out<bool> out_is_firmwa
R_SUCCEED();
}
Result IHidServer::SetTouchScreenOutputRanges(u32 width, u32 height,
Result IHidServer::SetTouchScreenResolution(u32 width, u32 height,
ClientAppletResourceUserId aruid) {
LOG_INFO(Service_HID, "called, width={}, height={}, applet_resource_user_id={}", width, height,
aruid.pid);
GetResourceManager()->GetTouchScreen()->SetTouchScreenOutputRanges(width, height, aruid.pid);
GetResourceManager()->GetTouchScreen()->SetTouchScreenResolution(width, height, aruid.pid);
R_SUCCEED();
}

View file

@ -258,7 +258,7 @@ private:
ClientAppletResourceUserId aruid);
Result IsFirmwareUpdateNeededForNotification(Out<bool> out_is_firmware_update_needed,
s32 unknown, ClientAppletResourceUserId aruid);
Result SetTouchScreenOutputRanges(u32 width, u32 height, ClientAppletResourceUserId aruid);
Result SetTouchScreenResolution(u32 width, u32 height, ClientAppletResourceUserId aruid);
std::shared_ptr<ResourceManager> resource_manager;
std::shared_ptr<HidFirmwareSettings> firmware_settings;

View file

@ -67,8 +67,6 @@ IHidSystemServer::IHidSystemServer(Core::System& system_, std::shared_ptr<Resour
{328, nullptr, "AttachAbstractedPadToNpad"},
{329, nullptr, "DetachAbstractedPadAll"},
{330, nullptr, "CheckAbstractedPadConnection"},
{333, nullptr, "SetNpadUserSpgApplet"}, // 20.0.0+
{334, nullptr, "AcquireUniquePadButtonStateChangedEventHandle"}, // 20.0.0+
{500, nullptr, "SetAppletResourceUserId"},
{501, &IHidSystemServer::RegisterAppletResourceUserId, "RegisterAppletResourceUserId"},
{502, &IHidSystemServer::UnregisterAppletResourceUserId, "UnregisterAppletResourceUserId"},
@ -98,12 +96,9 @@ IHidSystemServer::IHidSystemServer(Core::System& system_, std::shared_ptr<Resour
{547, nullptr, "GetAllowedBluetoothLinksCount"},
{548, &IHidSystemServer::GetRegisteredDevices, "GetRegisteredDevices"},
{549, nullptr, "GetConnectableRegisteredDevices"},
{551, nullptr, "GetRegisteredDevicesForControllerSupport"}, // 20.0.0+
{700, nullptr, "ActivateUniquePad"},
{702, &IHidSystemServer::AcquireUniquePadConnectionEventHandle, "AcquireUniquePadConnectionEventHandle"},
{703, &IHidSystemServer::GetUniquePadIds, "GetUniquePadIds"},
{711, nullptr, "AcquireUniquePadConnectionOnHandheldForNsEventHandle"}, // 20.0.0+
{712, nullptr, "GetUniquePadColor12"}, // 20.0.0+
{751, &IHidSystemServer::AcquireJoyDetachOnBluetoothOffEventHandle, "AcquireJoyDetachOnBluetoothOffEventHandle"},
{800, nullptr, "ListSixAxisSensorHandles"},
{801, nullptr, "IsSixAxisSensorUserCalibrationSupported"},
@ -148,7 +143,6 @@ IHidSystemServer::IHidSystemServer(Core::System& system_, std::shared_ptr<Resour
{1009, nullptr, "AcquireAudioControlEventHandle"},
{1010, nullptr, "GetAudioControlStates"},
{1011, nullptr, "DeactivateAudioControl"},
{1012, nullptr, "GetFirmwareVersionStringForUserSupportPage"}, // 20.0.0+
{1050, nullptr, "IsSixAxisSensorAccurateUserCalibrationSupported"},
{1051, nullptr, "StartSixAxisSensorAccurateUserCalibration"},
{1052, nullptr, "CancelSixAxisSensorAccurateUserCalibration"},
@ -227,12 +221,6 @@ IHidSystemServer::IHidSystemServer(Core::System& system_, std::shared_ptr<Resour
{1289, nullptr, "SetButtonConfigStorageFull"},
{1290, nullptr, "DeleteButtonConfigStorageRight"},
{1291, nullptr, "DeleteButtonConfigStorageRight"},
{1308, nullptr, "SetButtonConfigVisible"}, // 18.0.0+
{1309, nullptr, "IsButtonConfigVisible"}, // 18.0.0+
{1320, nullptr, "WakeTouchScreenUp"}, // 17.0.0+
{1321, nullptr, "PutTouchScreenToSleep"}, // 17.0.0+
{1322, nullptr, "AcquireTouchScreenAsyncWakeCompletedEvent"}, // 20.0.0+
{1420, nullptr, "GetAppletResourceProperty"}, // 19.0.0+
};
// clang-format on

View file

@ -88,8 +88,6 @@ public:
static const FunctionInfo functions[] = {
{0, &ILogger::Log, "Log"},
{1, &ILogger::SetDestination, "SetDestination"},
{2, nullptr, "TransmitHashedLog"}, // 20.0.0+
{3, nullptr, "DevNotify"}, // 20.0.0+
};
RegisterHandlers(functions);
}

View file

@ -333,8 +333,6 @@ public:
{15, nullptr, "LoadImage"},
{16, nullptr, "AddOrUpdateImage"},
{17, nullptr, "DeleteImages"},
{19, nullptr, "ClearHeaderForMigration"}, // 20.0.0+
{20, nullptr, "SaveHeaderForMigration"}, // 20.0.0+
{100, nullptr, "DeleteFile"},
{101, nullptr, "DestroyFile"},
{102, nullptr, "ImportFile"},

View file

@ -692,15 +692,9 @@ IGeneralService::IGeneralService(Core::System& system_)
{45, nullptr, "IsNetworkEmulationFeatureEnabled"}, // 18.0.0+
{46, nullptr, "SelectActiveNetworkEmulationProfileIdForDebug"}, // 18.0.0+
{47, nullptr, "GetActiveNetworkEmulationProfileId"}, // 18.0.0+
{48, nullptr, "ResetActiveNetworkEmulationProfileId"}, // 20.0.0+
{50, nullptr, "IsRewriteFeatureEnabled"}, // 18.0.0+
{51, nullptr, "CreateRewriteRule"}, // 18.0.0+
{52, nullptr, "DestroyRewriteRule"}, // 18.0.0+
{53, nullptr, "IsActiveNetworkEmulationProfileIdSelected"}, // 20.0.0+
{54, nullptr, "SelectDefaultNetworkEmulationProfileId"}, // 20.0.0+
{55, nullptr, "GetDefaultNetworkEmulationProfileId"}, // 20.0.0+
{56, nullptr, "GetNetworkEmulationProfile"}, // 20.0.0+
{57, nullptr, "SetWowlTcpKeepAliveTimeout"}, // 20.0.0+
{52, nullptr, "DestroyRewriteRule"} // 18.0.0+
};
// clang-format on

View file

@ -303,9 +303,6 @@ IApplicationManagerInterface::IApplicationManagerInterface(Core::System& system_
{3013, nullptr, "IsGameCardEnabled"},
{3014, nullptr, "IsLocalContentShareEnabled"},
{3050, nullptr, "ListAssignELicenseTaskResult"},
{4022, D<&IApplicationManagerInterface::Unknown4022>, "Unknown4022"},
{4023, D<&IApplicationManagerInterface::Unknown4023>, "Unknown4023"},
{4088, D<&IApplicationManagerInterface::Unknown4088>, "Unknown4088"},
{9999, nullptr, "GetApplicationCertificate"},
};
// clang-format on
@ -512,23 +509,6 @@ Result IApplicationManagerInterface::CheckApplicationLaunchVersion(u64 applicati
R_SUCCEED();
}
Result IApplicationManagerInterface::Unknown4022(Out<u32> out_unknown) {
LOG_WARNING(Service_NS, "(STUBBED) Unknown4022 called");
*out_unknown = 0;
R_SUCCEED();
}
Result IApplicationManagerInterface::Unknown4023(Out<u32> out_unknown) {
LOG_WARNING(Service_NS, "(STUBBED) Unknown4022 called");
*out_unknown = 0;
R_SUCCEED();
}
Result IApplicationManagerInterface::Unknown4088() {
LOG_WARNING(Service_NS, "(STUBBED) Unknown4088 called");
R_SUCCEED();
}
Result IApplicationManagerInterface::GetApplicationTerminateResult(Out<Result> out_result,
u64 application_id) {
LOG_WARNING(Service_NS, "(STUBBED) called. application_id={:016X}", application_id);

View file

@ -48,9 +48,6 @@ public:
Result IsApplicationUpdateRequested(Out<bool> out_update_required, Out<u32> out_update_version,
u64 application_id);
Result CheckApplicationLaunchVersion(u64 application_id);
Result Unknown4022(Out<u32> out_unknown);
Result Unknown4023(Out<u32> out_unknown);
Result Unknown4088();
Result GetApplicationTerminateResult(Out<Result> out_result, u64 application_id);
private:

View file

@ -147,7 +147,6 @@ IPlatformServiceManager::IPlatformServiceManager(Core::System& system_, const ch
{104, nullptr, "RequestApplicationFunctionAuthorizationByProgramId"},
{105, nullptr, "GetFunctionBlackListSystemVersionToAuthorize"},
{106, nullptr, "GetFunctionBlackListVersion"},
{108, nullptr, "GetRequiredApplicationVersion"}, // 20.0.0+
{1000, nullptr, "LoadNgWordDataForPlatformRegionChina"},
{1001, nullptr, "GetNgWordDataSizeForPlatformRegionChina"},
};

View file

@ -35,8 +35,6 @@ IParentalControlService::IParentalControlService(Core::System& system_, Capabili
{1016, nullptr, "ConfirmShowNewsPermission"},
{1017, D<&IParentalControlService::EndFreeCommunication>, "EndFreeCommunication"},
{1018, D<&IParentalControlService::IsFreeCommunicationAvailable>, "IsFreeCommunicationAvailable"},
{1019, nullptr, "ConfirmLaunchApplicationPermission"}, // 20.0.0+
{1020, nullptr, "ConfirmLaunchSharedApplicationPermission"}, // 20.0.0+
{1031, D<&IParentalControlService::IsRestrictionEnabled>, "IsRestrictionEnabled"},
{1032, D<&IParentalControlService::GetSafetyLevel>, "GetSafetyLevel"},
{1033, nullptr, "SetSafetyLevel"},
@ -51,11 +49,9 @@ IParentalControlService::IParentalControlService(Core::System& system_, Capabili
{1044, nullptr, "GetFreeCommunicationApplicationList"},
{1045, nullptr, "UpdateFreeCommunicationApplicationList"},
{1046, nullptr, "DisableFeaturesForReset"},
{1047, nullptr, "NotifyApplicationDownloadStartedOld"}, // 20.0.0+ (3.0.0-19.0.1 NotifyApplicationDownloadStarted)
{1047, nullptr, "NotifyApplicationDownloadStarted"},
{1048, nullptr, "NotifyNetworkProfileCreated"},
{1049, nullptr, "ResetFreeCommunicationApplicationList"},
{1050, nullptr, "AddToFreeCommunicationApplicationList"}, // 20.0.0+
{1051, nullptr, "NotifyApplicationDownloadStarted"}, // 20.0.0+
{1061, D<&IParentalControlService::ConfirmStereoVisionRestrictionConfigurable>, "ConfirmStereoVisionRestrictionConfigurable"},
{1062, D<&IParentalControlService::GetStereoVisionRestriction>, "GetStereoVisionRestriction"},
{1063, D<&IParentalControlService::SetStereoVisionRestriction>, "SetStereoVisionRestriction"},
@ -81,18 +77,16 @@ IParentalControlService::IParentalControlService(Core::System& system_, Capabili
{1451, D<&IParentalControlService::StartPlayTimer>, "StartPlayTimer"},
{1452, D<&IParentalControlService::StopPlayTimer>, "StopPlayTimer"},
{1453, D<&IParentalControlService::IsPlayTimerEnabled>, "IsPlayTimerEnabled"},
{1454, D<&IParentalControlService::GetPlayTimerRemainingTime>, "GetPlayTimerRemainingTime"},
{1454, nullptr, "GetPlayTimerRemainingTime"},
{1455, D<&IParentalControlService::IsRestrictedByPlayTimer>, "IsRestrictedByPlayTimer"},
{1456, D<&IParentalControlService::GetPlayTimerSettingsOld>, "GetPlayTimerSettingsOld"},
{1457, D<&IParentalControlService::GetPlayTimerEventToRequestSuspension>, "GetPlayTimerEventToRequestSuspension"},
{1458, D<&IParentalControlService::IsPlayTimerAlarmDisabled>, "IsPlayTimerAlarmDisabled"},
{1459, D<&IParentalControlService::GetPlayTimerRemainingTimeDisplayInfo>, "GetPlayTimerRemainingTimeDisplayInfo"}, // 20.0.0+
{1471, nullptr, "NotifyWrongPinCodeInputManyTimes"},
{1472, nullptr, "CancelNetworkRequest"},
{1473, D<&IParentalControlService::GetUnlinkedEvent>, "GetUnlinkedEvent"},
{1474, nullptr, "ClearUnlinkedEvent"},
{1475, nullptr, "GetExtendedPlayTimerEvent"}, // 18.0.0+
{1501, nullptr, "SetTimerEventEnabled"}, // 20.0.0+
{1601, nullptr, "DisableAllFeatures"},
{1602, nullptr, "PostEnableAllFeatures"},
{1603, nullptr, "IsAllFeaturesDisabled"},
@ -112,9 +106,6 @@ IParentalControlService::IParentalControlService(Core::System& system_, Capabili
{1955, nullptr, "GetBedtimeAlarmTime"}, // 18.0.0+
{1956, nullptr, "GetBedtimeAlarmTimeHour"}, // 18.0.0+
{1957, nullptr, "GetBedtimeAlarmTimeMinute"}, // 18.0.0+
{1958, nullptr, "GetBedtimeAlarmResetTimeHour"}, // 20.0.0+
{1959, nullptr, "GetBedtimeAlarmResetTimeMinute"}, // 20.0.0+
{1960, nullptr, "GetExtraPlayingTimeForDebug"}, // 20.0.0+
{2001, nullptr, "RequestPairingAsync"},
{2002, nullptr, "FinishRequestPairing"},
{2003, nullptr, "AuthorizePairingAsync"},
@ -131,15 +122,6 @@ IParentalControlService::IParentalControlService(Core::System& system_, Capabili
{2014, nullptr, "FinishSynchronizeParentalControlSettings"},
{2015, nullptr, "FinishSynchronizeParentalControlSettingsWithLastUpdated"},
{2016, nullptr, "RequestUpdateExemptionListAsync"},
{2021, nullptr, "RequestCopyPairingAsync"}, // 20.0.0+
{2022, nullptr, "FinishRequestCopyPairing"}, // 20.0.0+
{2023, nullptr, "IsFromPairingActiveDevice"}, // 20.0.0+
{3001, nullptr, "GetErrorContextChangedEvent"}, // 20.0.0+
{9401, nullptr, "GetEvents"}, // 20.0.0+
{9402, nullptr, "GetEventsWithJson"}, // 20.0.0+
{9403, nullptr, "RequestPostEvents"}, // 20.0.0+
{9404, nullptr, "GetPostEventInterval"}, // 20.0.0+
{9405, nullptr, "SetPostEventInterval"}, // 20.0.0+
{145601, D<&IParentalControlService::GetPlayTimerSettings>, "GetPlayTimerSettings"} // 18.0.0+
};
// clang-format on
@ -388,12 +370,6 @@ Result IParentalControlService::IsPlayTimerEnabled(Out<bool> out_is_play_timer_e
R_SUCCEED();
}
Result IParentalControlService::GetPlayTimerRemainingTime(Out<s32> out_remaining_minutes) {
*out_remaining_minutes = 0;
LOG_WARNING(Service_PCTL, "(STUBBED) called, remaining_minutes={}", *out_remaining_minutes);
R_SUCCEED();
}
Result IParentalControlService::IsRestrictedByPlayTimer(Out<bool> out_is_restricted_by_play_timer) {
*out_is_restricted_by_play_timer = false;
LOG_WARNING(Service_PCTL, "(STUBBED) called, restricted={}", *out_is_restricted_by_play_timer);
@ -428,15 +404,6 @@ Result IParentalControlService::IsPlayTimerAlarmDisabled(Out<bool> out_play_time
R_SUCCEED();
}
Result IParentalControlService::GetPlayTimerRemainingTimeDisplayInfo(
Out<s32> out_remaining_minutes, Out<u32> out_unknown) {
*out_remaining_minutes = 0;
*out_unknown = 0;
LOG_WARNING(Service_PCTL, "(STUBBED) called, remaining_minutes={}, unknown={}",
*out_remaining_minutes, *out_unknown);
R_SUCCEED();
}
Result IParentalControlService::GetUnlinkedEvent(OutCopyHandle<Kernel::KReadableEvent> out_event) {
LOG_INFO(Service_PCTL, "called");
*out_event = unlinked_event.GetHandle();

View file

@ -45,12 +45,10 @@ private:
Result StartPlayTimer();
Result StopPlayTimer();
Result IsPlayTimerEnabled(Out<bool> out_is_play_timer_enabled);
Result GetPlayTimerRemainingTime(Out<s32> out_remaining_minutes);
Result IsRestrictedByPlayTimer(Out<bool> out_is_restricted_by_play_timer);
Result GetPlayTimerSettingsOld(Out<PlayTimerSettings> out_play_timer_settings);
Result GetPlayTimerEventToRequestSuspension(OutCopyHandle<Kernel::KReadableEvent> out_event);
Result IsPlayTimerAlarmDisabled(Out<bool> out_play_timer_alarm_disabled);
Result GetPlayTimerRemainingTimeDisplayInfo(Out<s32> out_remaining_minutes, Out<u32> out_unknown);
Result GetUnlinkedEvent(OutCopyHandle<Kernel::KReadableEvent> out_event);
Result GetStereoVisionRestriction(Out<bool> out_stereo_vision_restriction);
Result SetStereoVisionRestriction(bool stereo_vision_restriction);

View file

@ -18,7 +18,6 @@ IFirmwareDebugSettingsServer::IFirmwareDebugSettingsServer(Core::System& system_
{21, nullptr, "SetAllowedSslHosts"},
{22, nullptr, "SetHostFsMountPoint"},
{23, nullptr, "SetMemoryUsageRateFlag"},
{24, nullptr, "CommitSettings"}, // 20.0.0+
};
// clang-format on

View file

@ -304,14 +304,6 @@ ISystemSettingsServer::ISystemSettingsServer(Core::System& system_)
{222, nullptr, "SetForceMonauralOutputFlag"}, //17.0.0+
{251, nullptr, "GetAccountIdentificationSettings"}, //18.0.0+
{252, nullptr, "SetAccountIdentificationSettings"}, //18.0.0+
{264, nullptr, "GetVphymDirtyFlags"}, // 20.0.0+
{282, nullptr, "ConvertToProductModel"}, // 20.0.0+
{283, nullptr, "ConvertToProductModelName"}, // 20.0.0+
{289, nullptr, "GetDefaultAccountIdentificationFlagSet"}, // 20.0.0+
{300, nullptr, "AcquirePushNotificationDirtyFlagEventHandle"}, // 20.0.0+
{301, nullptr, "GetPushNotificationDirtyFlags"}, // 20.0.0+
{306, nullptr, "GetPinCodeReregistrationGuideAccounts"}, // 20.0.0+
{307, nullptr, "SetPinCodeReregistrationGuideAccounts"}, // 20.0.0+
};
// clang-format on

View file

@ -106,8 +106,6 @@ public:
{33, nullptr, "ExportKeyingMaterial"},
{34, nullptr, "SetIoTimeout"},
{35, nullptr, "GetIoTimeout"},
{36, nullptr, "GetSessionTicket"}, // 20.0.0+
{37, nullptr, "SetSessionTicket"}, // 20.0.0+
};
// clang-format on

View file

@ -11,7 +11,7 @@ enum class CaCertificateId : s32 {
All = -1,
NintendoCAG3 = 1,
NintendoClass2CAG3 = 2,
NintendoRootCAG4 = 3, // [16.0.0+]
NintendoRootCAG4 = 3,
AmazonRootCA1 = 1000,
StarfieldServicesRootCertificateAuthorityG2 = 1001,
AddTrustExternalCARoot = 1002,
@ -29,10 +29,10 @@ enum class CaCertificateId : s32 {
EntrustnetCertificationAuthority2048 = 1014,
EntrustRootCertificationAuthority = 1015,
EntrustRootCertificationAuthorityG2 = 1016,
GeoTrustGlobalCA2 = 1017, // [8.0.0+] TrustedCertStatus is EnabledNotTrusted
GeoTrustGlobalCA = 1018, // [8.0.0+] TrustedCertStatus is EnabledNotTrusted
GeoTrustPrimaryCertificationAuthorityG3 = 1019, // [8.0.0+] TrustedCertStatus is EnabledNotTrusted
GeoTrustPrimaryCertificationAuthority = 1020, // [8.0.0+] TrustedCertStatus is EnabledNotTrusted
GeoTrustGlobalCA2 = 1017,
GeoTrustGlobalCA = 1018,
GeoTrustPrimaryCertificationAuthorityG3 = 1019,
GeoTrustPrimaryCertificationAuthority = 1020,
GlobalSignRootCA = 1021,
GlobalSignRootCAR2 = 1022,
GlobalSignRootCAR3 = 1023,
@ -73,72 +73,6 @@ enum class CaCertificateId : s32 {
DigiCertTLSECCP384RootG5 = 1058, // [16.0.0+]
DigiCertTLSRSA4096RootG5 = 1059, // [16.0.0+]
NintendoTempRootCAG4 = 65536, // [16.0.0+] ([19.0.0+] Removed)
// Nintendo round-robin certificates [20.0.0+]
NintendoRR01 = 32801,
NintendoRR02 = 32802,
NintendoRR03 = 32803,
NintendoRR04 = 32804,
NintendoRR05 = 32805,
NintendoRR06 = 32806,
NintendoRR07 = 32807,
NintendoRR08 = 32808,
NintendoRR09 = 32809,
NintendoRR10 = 32810,
NintendoRR11 = 32811,
NintendoRR12 = 32812,
NintendoRR13 = 32813,
NintendoRR14 = 32814,
NintendoRR15 = 32815,
NintendoRR16 = 32816,
NintendoRR17 = 32817,
NintendoRR18 = 32818,
NintendoRR19 = 32819,
NintendoRR20 = 32820,
NintendoRR21 = 32821,
NintendoRR22 = 32822,
NintendoRR23 = 32823,
NintendoRR24 = 32824,
NintendoRR25 = 32825,
NintendoRR26 = 32826,
NintendoRR27 = 32827,
NintendoRR28 = 32828,
NintendoRR29 = 32829,
NintendoRR30 = 32830,
NintendoRR31 = 32831,
NintendoRR32 = 32832,
NintendoRR33 = 32833,
NintendoRR34 = 32834,
NintendoRR35 = 32835,
NintendoRR36 = 32836,
NintendoRR37 = 32837,
NintendoRR38 = 32838,
NintendoRR39 = 32839,
NintendoRR40 = 32840,
NintendoRR41 = 32841,
NintendoRR42 = 32842,
NintendoRR43 = 32843,
NintendoRR44 = 32844,
NintendoRR45 = 32845,
NintendoRR46 = 32846,
NintendoRR47 = 32847,
NintendoRR48 = 32848,
NintendoRR49 = 32849,
NintendoRR50 = 32850,
NintendoRR51 = 32851,
NintendoRR52 = 32852,
NintendoRR53 = 32853,
NintendoRR54 = 32854,
NintendoRR55 = 32855,
NintendoRR56 = 32856,
NintendoRR57 = 32857,
NintendoRR58 = 32858,
NintendoRR59 = 32859,
NintendoRR60 = 32860,
NintendoRR61 = 32861,
NintendoRR62 = 32862,
NintendoRR63 = 32863,
NintendoRR64 = 32864,
};
enum class TrustedCertStatus : s32 {

View file

@ -82,9 +82,9 @@ Result TouchScreen::SetTouchScreenMagnification(f32 point1_x, f32 point1_y, f32
return ResultSuccess;
}
Result TouchScreen::SetTouchScreenOutputRanges(u32 width, u32 height, u64 aruid) {
Result TouchScreen::SetTouchScreenResolution(u32 width, u32 height, u64 aruid) {
std::scoped_lock lock{mutex};
return touch_resource->SetTouchScreenOutputRanges(width, height, aruid);
return touch_resource->SetTouchScreenResolution(width, height, aruid);
}
Result TouchScreen::SetTouchScreenConfiguration(

View file

@ -42,7 +42,7 @@ public:
Result ProcessTouchScreenAutoTune();
Result SetTouchScreenMagnification(f32 point1_x, f32 point1_y, f32 point2_x, f32 point2_y);
Result SetTouchScreenOutputRanges(u32 width, u32 height, u64 aruid);
Result SetTouchScreenResolution(u32 width, u32 height, u64 aruid);
Result SetTouchScreenConfiguration(const Core::HID::TouchScreenConfigurationForNx& mode,
u64 aruid);

View file

@ -296,7 +296,7 @@ void TouchResource::SetTouchScreenMagnification(f32 point1_x, f32 point1_y, f32
};
}
Result TouchResource::SetTouchScreenOutputRanges(u32 width, u32 height, u64 aruid) {
Result TouchResource::SetTouchScreenResolution(u32 width, u32 height, u64 aruid) {
std::scoped_lock lock{*shared_mutex};
for (std::size_t aruid_index = 0; aruid_index < AruidIndexMax; aruid_index++) {

View file

@ -66,7 +66,7 @@ public:
Result ProcessTouchScreenAutoTune();
void SetTouchScreenMagnification(f32 point1_x, f32 point1_y, f32 point2_x, f32 point2_y);
Result SetTouchScreenOutputRanges(u32 width, u32 height, u64 aruid);
Result SetTouchScreenResolution(u32 width, u32 height, u64 aruid);
Result SetTouchScreenConfiguration(
const Core::HID::TouchScreenConfigurationForNx& touch_configuration, u64 aruid);

View file

@ -1,6 +1,12 @@
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
// SPDX-FileCopyrightText: Copyright 2024 suyu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
// SPDX-FileCopyrightText: Copyright 2025 eden Emulator Project
// SPDX-License-Identifier: GPL-3.0-or-later
#include "common/assert.h"
#include "common/logging/log.h"
#include "common/scope_exit.h"
@ -49,7 +55,8 @@ AVPixelFormat GetGpuFormat(AVCodecContext* codec_context, const AVPixelFormat* p
return codec_context->pix_fmt;
}
std::string AVError(int errnum) {
std::string AVError(int errnum)
{
char errbuf[AV_ERROR_MAX_STRING_SIZE] = {};
av_make_error_string(errbuf, sizeof(errbuf) - 1, errnum);
return errbuf;
@ -218,6 +225,167 @@ bool DecoderContext::OpenContext(const Decoder& decoder) {
return true;
}
// Nasty but allows linux builds to pass.
// Requires double checks when FFMPEG gets updated.
// Hopefully a future FFMPEG update will all and expose a solution in the public API.
namespace {
typedef struct FFCodecDefault {
const char* key;
const char* value;
} FFCodecDefault;
typedef struct FFCodec {
/**
* The public AVCodec. See codec.h for it.
*/
AVCodec p;
/**
* Internal codec capabilities FF_CODEC_CAP_*.
*/
unsigned caps_internal : 29;
/**
* This field determines the type of the codec (decoder/encoder)
* and also the exact callback cb implemented by the codec.
* cb_type uses enum FFCodecType values.
*/
unsigned cb_type : 3;
int priv_data_size;
/**
* @name Frame-level threading support functions
* @{
*/
/**
* Copy necessary context variables from a previous thread context to the current one.
* If not defined, the next thread will start automatically; otherwise, the codec
* must call ff_thread_finish_setup().
*
* dst and src will (rarely) point to the same context, in which case memcpy should be skipped.
*/
int (*update_thread_context)(struct AVCodecContext* dst, const struct AVCodecContext* src);
/**
* Copy variables back to the user-facing context
*/
int (*update_thread_context_for_user)(struct AVCodecContext* dst,
const struct AVCodecContext* src);
/** @} */
/**
* Private codec-specific defaults.
*/
const FFCodecDefault* defaults;
/**
* Initialize codec static data, called from av_codec_iterate().
*
* This is not intended for time consuming operations as it is
* run for every codec regardless of that codec being used.
*/
void (*init_static_data)(struct FFCodec* codec);
int (*init)(struct AVCodecContext*);
union {
/**
* Decode to an AVFrame.
* cb is in this state if cb_type is FF_CODEC_CB_TYPE_DECODE.
*
* @param avctx codec context
* @param[out] frame AVFrame for output
* @param[out] got_frame_ptr decoder sets to 0 or 1 to indicate that
* a non-empty frame was returned in frame.
* @param[in] avpkt AVPacket containing the data to be decoded
* @return amount of bytes read from the packet on success,
* negative error code on failure
*/
int (*decode)(struct AVCodecContext* avctx, struct AVFrame* frame, int* got_frame_ptr,
struct AVPacket* avpkt);
/**
* Decode subtitle data to an AVSubtitle.
* cb is in this state if cb_type is FF_CODEC_CB_TYPE_DECODE_SUB.
*
* Apart from that this is like the decode callback.
*/
int (*decode_sub)(struct AVCodecContext* avctx, struct AVSubtitle* sub, int* got_frame_ptr,
const struct AVPacket* avpkt);
/**
* Decode API with decoupled packet/frame dataflow.
* cb is in this state if cb_type is FF_CODEC_CB_TYPE_RECEIVE_FRAME.
*
* This function is called to get one output frame. It should call
* ff_decode_get_packet() to obtain input data.
*/
int (*receive_frame)(struct AVCodecContext* avctx, struct AVFrame* frame);
/**
* Encode data to an AVPacket.
* cb is in this state if cb_type is FF_CODEC_CB_TYPE_ENCODE
*
* @param avctx codec context
* @param[out] avpkt output AVPacket
* @param[in] frame AVFrame containing the input to be encoded
* @param[out] got_packet_ptr encoder sets to 0 or 1 to indicate that a
* non-empty packet was returned in avpkt.
* @return 0 on success, negative error code on failure
*/
int (*encode)(struct AVCodecContext* avctx, struct AVPacket* avpkt,
const struct AVFrame* frame, int* got_packet_ptr);
/**
* Encode subtitles to a raw buffer.
* cb is in this state if cb_type is FF_CODEC_CB_TYPE_ENCODE_SUB.
*/
int (*encode_sub)(struct AVCodecContext* avctx, uint8_t* buf, int buf_size,
const struct AVSubtitle* sub);
/**
* Encode API with decoupled frame/packet dataflow.
* cb is in this state if cb_type is FF_CODEC_CB_TYPE_RECEIVE_PACKET.
*
* This function is called to get one output packet.
* It should call ff_encode_get_frame() to obtain input data.
*/
int (*receive_packet)(struct AVCodecContext* avctx, struct AVPacket* avpkt);
} cb;
int (*close)(struct AVCodecContext*);
/**
* Flush buffers.
* Will be called when seeking
*/
void (*flush)(struct AVCodecContext*);
/**
* Decoding only, a comma-separated list of bitstream filters to apply to
* packets before decoding.
*/
const char* bsfs;
/**
* Array of pointers to hardware configurations supported by the codec,
* or NULL if no hardware supported. The array is terminated by a NULL
* pointer.
*
* The user can only access this field via avcodec_get_hw_config().
*/
const struct AVCodecHWConfigInternal* const* hw_configs;
/**
* List of supported codec_tags, terminated by FF_CODEC_TAGS_END.
*/
const uint32_t* codec_tags;
} FFCodec;
#ifndef ANDROID
static av_always_inline const FFCodec* ffcodec(const AVCodec* codec) {
return (const FFCodec*)codec;
}
#endif
} // namespace
bool DecoderContext::SendPacket(const Packet& packet) {
m_temp_frame = std::make_shared<Frame>();
m_got_frame = 0;
@ -227,8 +395,12 @@ bool DecoderContext::SendPacket(const Packet& packet) {
#ifndef ANDROID
if (!m_codec_context->hw_device_ctx && m_codec_context->codec_id == AV_CODEC_ID_H264) {
m_decode_order = true;
const int ret = avcodec_send_frame(m_codec_context, m_temp_frame->GetFrame());
if (ret < 0) {
auto* codec{ffcodec(m_decoder.GetCodec())};
if (const int ret = codec->cb.decode(m_codec_context,
m_temp_frame->GetFrame(),
&m_got_frame,
packet.GetPacket());
ret < 0) {
LOG_DEBUG(Service_NVDRV, "avcodec_send_packet error {}", AVError(ret));
return false;
}
@ -247,9 +419,11 @@ bool DecoderContext::SendPacket(const Packet& packet) {
std::shared_ptr<Frame> DecoderContext::ReceiveFrame() {
// Android can randomly crash when calling decode directly, so skip.
// TODO update ffmpeg and hope that fixes it.
// TODO: This is causing issues on linux, need to bisect
#ifndef ANDROID
if (!m_codec_context->hw_device_ctx && m_codec_context->codec_id == AV_CODEC_ID_H264) {
m_decode_order = true;
auto* codec{ffcodec(m_decoder.GetCodec())};
int ret{0};
if (m_got_frame == 0) {
@ -257,7 +431,7 @@ std::shared_ptr<Frame> DecoderContext::ReceiveFrame() {
auto* pkt = packet.GetPacket();
pkt->data = nullptr;
pkt->size = 0;
ret = avcodec_receive_packet(m_codec_context, pkt);
ret = codec->cb.decode(m_codec_context, m_temp_frame->GetFrame(), &m_got_frame, pkt);
m_codec_context->has_b_frames = 0;
}

View file

@ -1,6 +1,9 @@
// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
// SPDX-FileCopyrightText: Copyright 2025 eden Emulator Project
// SPDX-License-Identifier: GPL-3.0-or-later
#include <algorithm>
#include <array>
#include <cstring>
@ -99,52 +102,91 @@ Device CreateDevice(const vk::Instance& instance, const vk::InstanceDispatch& dl
}
RendererVulkan::RendererVulkan(Core::Frontend::EmuWindow& emu_window,
Tegra::MaxwellDeviceMemoryManager& device_memory_, Tegra::GPU& gpu_,
std::unique_ptr<Core::Frontend::GraphicsContext> context_) try
: RendererBase(emu_window, std::move(context_)), device_memory(device_memory_), gpu(gpu_),
library(OpenLibrary(context.get())),
Tegra::MaxwellDeviceMemoryManager& device_memory_,
Tegra::GPU& gpu_,
std::unique_ptr<Core::Frontend::GraphicsContext> context_)
try
: RendererBase(emu_window, std::move(context_))
, device_memory(device_memory_)
, gpu(gpu_)
, library(OpenLibrary(context.get()))
,
// Create raw Vulkan instance first
instance(CreateInstance(*library, dld, VK_API_VERSION_1_1, render_window.GetWindowInfo().type,
Settings::values.renderer_debug.GetValue())),
instance(CreateInstance(*library,
dld,
VK_API_VERSION_1_1,
render_window.GetWindowInfo().type,
Settings::values.renderer_debug.GetValue()))
,
// Now create RAII wrappers for the resources in the correct order
managed_instance(MakeManagedInstance(instance, dld)),
managed_instance(MakeManagedInstance(instance, dld))
,
// Create debug messenger if debug is enabled
debug_messenger(Settings::values.renderer_debug ? CreateDebugUtilsCallback(instance)
: vk::DebugUtilsMessenger{}),
managed_debug_messenger(Settings::values.renderer_debug
: vk::DebugUtilsMessenger{})
, managed_debug_messenger(Settings::values.renderer_debug
? MakeManagedDebugUtilsMessenger(debug_messenger, instance, dld)
: ManagedDebugUtilsMessenger{}),
: ManagedDebugUtilsMessenger{})
,
// Create surface
surface(CreateSurface(instance, render_window.GetWindowInfo())),
managed_surface(MakeManagedSurface(surface, instance, dld)),
device(CreateDevice(instance, dld, *surface)),
memory_allocator(device), state_tracker(),
scheduler(device, state_tracker),
swapchain(*surface, device, scheduler, render_window.GetFramebufferLayout().width,
render_window.GetFramebufferLayout().height),
present_manager(instance, render_window, device, memory_allocator, scheduler, swapchain,
*surface),
blit_swapchain(device_memory, device, memory_allocator, present_manager, scheduler,
PresentFiltersForDisplay),
blit_capture(device_memory, device, memory_allocator, present_manager, scheduler,
PresentFiltersForDisplay),
blit_applet(device_memory, device, memory_allocator, present_manager, scheduler,
PresentFiltersForAppletCapture),
rasterizer(render_window, gpu, device_memory, device, memory_allocator, state_tracker,
scheduler),
applet_frame() {
surface(CreateSurface(instance, render_window.GetWindowInfo()))
, managed_surface(MakeManagedSurface(surface, instance, dld))
, device(CreateDevice(instance, dld, *surface))
, memory_allocator(device)
, state_tracker()
, scheduler(device, state_tracker)
, swapchain(*surface,
device,
scheduler,
render_window.GetFramebufferLayout().width,
render_window.GetFramebufferLayout().height)
, present_manager(instance,
render_window,
device,
memory_allocator,
scheduler,
swapchain,
#ifdef ANDROID
surface)
,
#else
*surface)
,
#endif
blit_swapchain(device_memory,
device,
memory_allocator,
present_manager,
scheduler,
PresentFiltersForDisplay)
, blit_capture(device_memory,
device,
memory_allocator,
present_manager,
scheduler,
PresentFiltersForDisplay)
, blit_applet(device_memory,
device,
memory_allocator,
present_manager,
scheduler,
PresentFiltersForAppletCapture)
, rasterizer(render_window, gpu, device_memory, device, memory_allocator, state_tracker, scheduler)
, applet_frame() {
if (Settings::values.renderer_force_max_clock.GetValue() && device.ShouldBoostClocks()) {
turbo_mode.emplace(instance, dld);
scheduler.RegisterOnSubmit([this] { turbo_mode->QueueSubmitted(); });
}
#ifndef ANDROID
// Release ownership from the old instance and surface
instance.release();
surface.release();
if (Settings::values.renderer_debug) {
debug_messenger.release();
}
#endif
Report();
} catch (const vk::Exception& exception) {

View file

@ -95,15 +95,31 @@ bool CanBlitToSwapchain(const vk::PhysicalDevice& physical_device, VkFormat form
} // Anonymous namespace
PresentManager::PresentManager(const vk::Instance& instance_, Core::Frontend::EmuWindow& render_window_,
const Device& device_, MemoryAllocator& memory_allocator_, Scheduler& scheduler_,
Swapchain& swapchain_, VkSurfaceKHR_T* surface_handle_)
: instance{instance_}, render_window{render_window_}, device{device_},
memory_allocator{memory_allocator_}, scheduler{scheduler_}, swapchain{swapchain_},
surface_handle{surface_handle_},
blit_supported{CanBlitToSwapchain(device.GetPhysical(),
swapchain.GetImageViewFormat())},
use_present_thread{Settings::values.async_presentation.GetValue()} {
PresentManager::PresentManager(const vk::Instance& instance_,
Core::Frontend::EmuWindow& render_window_,
const Device& device_,
MemoryAllocator& memory_allocator_,
Scheduler& scheduler_,
Swapchain& swapchain_,
#ifdef ANDROID
vk::SurfaceKHR& surface_)
#else
VkSurfaceKHR_T* surface_handle_)
#endif
: instance{instance_}
, render_window{render_window_}
, device{device_}
, memory_allocator{memory_allocator_}
, scheduler{scheduler_}
, swapchain{swapchain_}
#ifdef ANDROID
, surface{surface_}
#else
, surface_handle{surface_handle_}
#endif
, blit_supported{CanBlitToSwapchain(device.GetPhysical(), swapchain.GetImageViewFormat())}
, use_present_thread{Settings::values.async_presentation.GetValue()}
{
SetImageCount();
auto& dld = device.GetLogical();
@ -289,7 +305,11 @@ void PresentManager::PresentThread(std::stop_token token) {
}
void PresentManager::RecreateSwapchain(Frame* frame) {
#ifndef ANDROID
swapchain.Create(surface_handle, frame->width, frame->height); // Pass raw pointer
#else
swapchain.Create(*surface, frame->width, frame->height); // Pass raw pointer
#endif
SetImageCount();
}
@ -307,6 +327,9 @@ void PresentManager::CopyToSwapchain(Frame* frame) {
try {
// Recreate surface and swapchain if needed.
if (requires_recreation) {
#ifdef ANDROID
surface = CreateSurface(instance, render_window.GetWindowInfo());
#endif
RecreateSwapchain(frame);
}

View file

@ -37,9 +37,17 @@ struct Frame {
class PresentManager {
public:
PresentManager(const vk::Instance& instance, Core::Frontend::EmuWindow& render_window,
const Device& device, MemoryAllocator& memory_allocator, Scheduler& scheduler,
Swapchain& swapchain, VkSurfaceKHR_T* surface_handle);
PresentManager(const vk::Instance& instance,
Core::Frontend::EmuWindow& render_window,
const Device& device,
MemoryAllocator& memory_allocator,
Scheduler& scheduler,
Swapchain& swapchain,
#ifdef ANDROID
vk::SurfaceKHR& surface);
#else
VkSurfaceKHR_T* surface_handle);
#endif
~PresentManager();
/// Returns the last used presentation frame
@ -73,7 +81,11 @@ private:
MemoryAllocator& memory_allocator;
Scheduler& scheduler;
Swapchain& swapchain;
#ifdef ANDROID
vk::SurfaceKHR& surface;
#else
VkSurfaceKHR_T* surface_handle;
#endif
vk::CommandPool cmdpool;
std::vector<Frame> frames;
std::queue<Frame*> present_queue;

View file

@ -176,7 +176,7 @@ public:
PauseCounter();
}
AbandonCurrentQuery();
std::function<void()> func([this, counts = pending_flush_queries.size()] {
std::function<void()> func([this] {
amend_value = 0;
accumulation_value = 0;
});

View file

@ -105,23 +105,58 @@ VkCompositeAlphaFlagBitsKHR ChooseAlphaFlags(const VkSurfaceCapabilitiesKHR& cap
} // Anonymous namespace
Swapchain::Swapchain(VkSurfaceKHR_T* surface_handle_, const Device& device_, Scheduler& scheduler_,
u32 width_, u32 height_)
: surface_handle{surface_handle_}, device{device_}, scheduler{scheduler_} {
Swapchain::Swapchain(
#ifdef ANDROID
VkSurfaceKHR surface_,
#else
VkSurfaceKHR_T* surface_handle_,
#endif
const Device& device_,
Scheduler& scheduler_,
u32 width_,
u32 height_)
#ifdef ANDROID
: surface(surface_)
#else
: surface_handle{surface_handle_}
#endif
, device{device_}
, scheduler{scheduler_}
{
#ifdef ANDROID
Create(surface, width_, height_);
#else
Create(surface_handle, width_, height_);
#endif
}
Swapchain::~Swapchain() = default;
void Swapchain::Create(VkSurfaceKHR_T* surface_handle_, u32 width_, u32 height_) {
void Swapchain::Create(
#ifdef ANDROID
VkSurfaceKHR surface_,
#else
VkSurfaceKHR_T* surface_handle_,
#endif
u32 width_,
u32 height_)
{
is_outdated = false;
is_suboptimal = false;
width = width_;
height = height_;
#ifdef ANDROID
surface = surface_;
#else
surface_handle = surface_handle_;
#endif
const auto physical_device = device.GetPhysical();
#ifdef ANDROID
const auto capabilities{physical_device.GetSurfaceCapabilitiesKHR(surface)};
#else
const auto capabilities{physical_device.GetSurfaceCapabilitiesKHR(surface_handle)};
#endif
if (capabilities.maxImageExtent.width == 0 || capabilities.maxImageExtent.height == 0) {
return;
}
@ -199,10 +234,17 @@ void Swapchain::Present(VkSemaphore render_semaphore) {
void Swapchain::CreateSwapchain(const VkSurfaceCapabilitiesKHR& capabilities) {
const auto physical_device{device.GetPhysical()};
#ifdef ANDROID
const auto formats{physical_device.GetSurfaceFormatsKHR(surface)};
const auto present_modes = physical_device.GetSurfacePresentModesKHR(surface);
#else
const auto formats{physical_device.GetSurfaceFormatsKHR(surface_handle)};
const auto present_modes = physical_device.GetSurfacePresentModesKHR(surface_handle);
has_mailbox = std::find(present_modes.begin(), present_modes.end(),
VK_PRESENT_MODE_MAILBOX_KHR) != present_modes.end();
#endif
has_mailbox = std::find(present_modes.begin(), present_modes.end(), VK_PRESENT_MODE_MAILBOX_KHR)
!= present_modes.end();
has_imm = std::find(present_modes.begin(), present_modes.end(),
VK_PRESENT_MODE_IMMEDIATE_KHR) != present_modes.end();
has_fifo_relaxed = std::find(present_modes.begin(), present_modes.end(),
@ -228,7 +270,11 @@ void Swapchain::CreateSwapchain(const VkSurfaceCapabilitiesKHR& capabilities) {
.sType = VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR,
.pNext = nullptr,
.flags = 0,
#ifdef ANDROID
.surface = surface,
#else
.surface = surface_handle,
#endif
.minImageCount = requested_image_count,
.imageFormat = surface_format.format,
.imageColorSpace = surface_format.colorSpace,
@ -269,7 +315,11 @@ void Swapchain::CreateSwapchain(const VkSurfaceCapabilitiesKHR& capabilities) {
swapchain_ci.flags |= VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR;
}
// Request the size again to reduce the possibility of a TOCTOU race condition.
#ifdef ANDROID
const auto updated_capabilities = physical_device.GetSurfaceCapabilitiesKHR(surface);
#else
const auto updated_capabilities = physical_device.GetSurfaceCapabilitiesKHR(surface_handle);
#endif
swapchain_ci.imageExtent = ChooseSwapExtent(updated_capabilities, width, height);
// Don't add code within this and the swapchain creation.
swapchain = device.GetLogical().CreateSwapchainKHR(swapchain_ci);

View file

@ -21,12 +21,27 @@ class Scheduler;
class Swapchain {
public:
explicit Swapchain(VkSurfaceKHR_T* surface_handle, const Device& device, Scheduler& scheduler, u32 width,
explicit Swapchain(
#ifdef ANDROID
VkSurfaceKHR surface,
#else
VkSurfaceKHR_T* surface_handle,
#endif
const Device& device,
Scheduler& scheduler,
u32 width,
u32 height);
~Swapchain();
/// Creates (or recreates) the swapchain with a given size.
void Create(VkSurfaceKHR_T* surface_handle, u32 width, u32 height);
void Create(
#ifdef ANDROID
VkSurfaceKHR surface,
#else
VkSurfaceKHR_T* surface_handle,
#endif
u32 width,
u32 height);
/// Acquires the next image in the swapchain, waits as needed.
bool AcquireNextImage();
@ -110,7 +125,12 @@ private:
bool NeedsPresentModeUpdate() const;
#ifdef ANDROID
VkSurfaceKHR surface;
#else
VkSurfaceKHR_T* surface_handle;
#endif
const Device& device;
Scheduler& scheduler;

View file

@ -430,6 +430,7 @@ public:
return handle != nullptr;
}
#ifndef ANDROID
/**
* Releases ownership of the managed handle.
* The caller is responsible for managing the lifetime of the returned handle.
@ -438,6 +439,7 @@ public:
Type release() noexcept {
return std::exchange(handle, nullptr);
}
#endif
protected:
Type handle = nullptr;
@ -510,6 +512,7 @@ public:
return handle != nullptr;
}
#ifndef ANDROID
/**
* Releases ownership of the managed handle.
* The caller is responsible for managing the lifetime of the returned handle.
@ -518,6 +521,7 @@ public:
Type release() noexcept {
return std::exchange(handle, nullptr);
}
#endif
protected:
Type handle = nullptr;

View file

@ -238,6 +238,8 @@ add_executable(yuzu
yuzu.qrc
yuzu.rc
migration_dialog.h migration_dialog.cpp
migration_worker.h
migration_worker.cpp
)
set_target_properties(yuzu PROPERTIES OUTPUT_NAME "eden")

View file

@ -128,7 +128,7 @@ li.checked::marker { content: &quot;\2612&quot;; }
<item>
<widget class="QLabel" name="labelLinks">
<property name="text">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;a href=&quot;https://yuzu-emu.org/&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#039be5;&quot;&gt;Website&lt;/span&gt;&lt;/a&gt; | &lt;a href=&quot;https://github.com/yuzu-emu&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#039be5;&quot;&gt;Source Code&lt;/span&gt;&lt;/a&gt; | &lt;a href=&quot;https://github.com/yuzu-emu/yuzu/graphs/contributors&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#039be5;&quot;&gt;Contributors&lt;/span&gt;&lt;/a&gt; | &lt;a href=&quot;https://github.com/yuzu-emu/yuzu/blob/master/LICENSE.txt&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#039be5;&quot;&gt;License&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;a href=&quot;https://eden-emulator.github.io/&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#039be5;&quot;&gt;Website&lt;/span&gt;&lt;/a&gt; | &lt;a href=&quot;https://git.eden-emu.dev&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#039be5;&quot;&gt;Source Code&lt;/span&gt;&lt;/a&gt; | &lt;a href=&quot;https://git.eden-emu.dev/eden-emu/eden/activity/contributors&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#039be5;&quot;&gt;Contributors&lt;/span&gt;&lt;/a&gt; | &lt;a href=&quot;https://git.eden-emu.dev/eden-emu/eden/src/branch/master/LICENSE.txt&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#039be5;&quot;&gt;License&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="openExternalLinks">
<bool>true</bool>

View file

@ -286,7 +286,7 @@ GRenderWindow::GRenderWindow(GMainWindow* parent, EmuThread* emu_thread_,
Core::System& system_)
: QWidget(parent),
emu_thread(emu_thread_), input_subsystem{std::move(input_subsystem_)}, system{system_} {
setWindowTitle(QStringLiteral("yuzu %1 | %2-%3")
setWindowTitle(QStringLiteral("eden %1 | %2-%3")
.arg(QString::fromUtf8(Common::g_build_name),
QString::fromUtf8(Common::g_scm_branch),
QString::fromUtf8(Common::g_scm_desc)));

View file

@ -20,7 +20,7 @@
<string>Report Compatibility</string>
</property>
<property name="options">
<set>QWizard::DisabledBackButtonOnLastPage|QWizard::HelpButtonOnRight|QWizard::NoBackButtonOnStartPage</set>
<set>QWizard::WizardOption::DisabledBackButtonOnLastPage|QWizard::WizardOption::HelpButtonOnRight|QWizard::WizardOption::NoBackButtonOnStartPage</set>
</property>
<widget class="QWizardPage" name="wizard_Info">
<property name="title">
@ -33,7 +33,7 @@
<item>
<widget class="QLabel" name="lbl_Spiel">
<property name="text">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;Should you choose to submit a test case to the &lt;/span&gt;&lt;a href=&quot;https://yuzu-emu.org/game/&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;yuzu Compatibility List&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;, The following information will be collected and displayed on the site:&lt;/span&gt;&lt;/p&gt;&lt;ul style=&quot;margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;&quot;&gt;&lt;li style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Hardware Information (CPU / GPU / Operating System)&lt;/li&gt;&lt;li style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Which version of yuzu you are running&lt;/li&gt;&lt;li style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;The connected yuzu account&lt;/li&gt;&lt;/ul&gt;&lt;/body&gt;&lt;/html&gt;</string>
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;Should you choose to submit a test case to the &lt;/span&gt;&lt;a href=&quot;https://eden-emulator.github.io/game/&quot;&gt;&lt;span style=&quot; font-size:10pt; text-decoration: underline; color:#0000ff;&quot;&gt;eden Compatibility List&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;, The following information will be collected and displayed on the site:&lt;/span&gt;&lt;/p&gt;&lt;ul style=&quot;margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;&quot;&gt;&lt;li style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Hardware Information (CPU / GPU / Operating System)&lt;/li&gt;&lt;li style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Which version of eden you are running&lt;/li&gt;&lt;li style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;The connected eden account&lt;/li&gt;&lt;/ul&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="wordWrap">
<bool>true</bool>
@ -46,7 +46,7 @@
<item>
<spacer name="verticalSpacer_2">
<property name="orientation">
<enum>Qt::Vertical</enum>
<enum>Qt::Orientation::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
@ -84,7 +84,7 @@
<item row="1" column="0" colspan="2">
<spacer name="verticalSpacer1">
<property name="orientation">
<enum>Qt::Vertical</enum>
<enum>Qt::Orientation::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
@ -150,7 +150,7 @@
<item row="1" column="0" colspan="2">
<spacer name="verticalSpacer2">
<property name="orientation">
<enum>Qt::Vertical</enum>
<enum>Qt::Orientation::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
@ -202,7 +202,7 @@
<item row="1" column="0" colspan="2">
<spacer name="verticalSpacer3">
<property name="orientation">
<enum>Qt::Vertical</enum>
<enum>Qt::Orientation::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
@ -254,7 +254,7 @@
<item row="1" column="0" colspan="2">
<spacer name="verticalSpacer4">
<property name="orientation">
<enum>Qt::Vertical</enum>
<enum>Qt::Orientation::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
@ -313,7 +313,7 @@
<item row="1" column="0" colspan="2">
<spacer name="verticalSpacer5">
<property name="orientation">
<enum>Qt::Vertical</enum>
<enum>Qt::Orientation::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
@ -372,7 +372,7 @@
<item row="1" column="0" colspan="2">
<spacer name="verticalSpacer6">
<property name="orientation">
<enum>Qt::Vertical</enum>
<enum>Qt::Orientation::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>

View file

@ -424,7 +424,7 @@
<item row="6" column="0">
<widget class="QCheckBox" name="use_auto_stub">
<property name="text">
<string>Enable Auto-Stub**</string>
<string>Enable Auto-Stub</string>
</property>
</widget>
</item>
@ -553,7 +553,7 @@
</font>
</property>
<property name="text">
<string>**This will be reset automatically when yuzu closes.</string>
<string>**This will be reset automatically when eden closes.</string>
</property>
<property name="indent">
<number>20</number>

View file

@ -29,7 +29,7 @@
<widget class="QLabel" name="label">
<property name="text">
<string>While it's recommended to use state 3, some games may perform better on lower states. Setting to 0 (disabled) may also break games.
If your device doesn't support the selected state, the renderer will automatically disable the unsupported states.</string>
If your GPU is older (i.e. RX570/580 or older), it may not support these features. If this is the case, set the slider to 0 and uncheck all boxes.</string>
</property>
<property name="wordWrap">
<bool>true</bool>

View file

@ -2656,7 +2656,7 @@
<item row="2" column="0">
<widget class="QCheckBox" name="enable_raw_input">
<property name="toolTip">
<string>Requires restarting yuzu</string>
<string>Requires restarting eden</string>
</property>
<property name="minimumSize">
<size>
@ -2698,7 +2698,7 @@
<item row="5" column="0">
<widget class="QCheckBox" name="enable_joycon_driver">
<property name="toolTip">
<string>Requires restarting yuzu</string>
<string>Requires restarting eden</string>
</property>
<property name="minimumSize">
<size>
@ -2714,7 +2714,7 @@
<item row="6" column="0">
<widget class="QCheckBox" name="enable_procon_driver">
<property name="toolTip">
<string>Requires restarting yuzu</string>
<string>Requires restarting eden</string>
</property>
<property name="minimumSize">
<size>

View file

@ -1363,55 +1363,6 @@
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="buttonMiscButtonsPlusGroup">
<property name="title">
<string>Plus</string>
</property>
<property name="alignment">
<set>Qt::AlignmentFlag::AlignCenter</set>
</property>
<layout class="QVBoxLayout" name="buttonMiscPlusVerticalLayout">
<property name="spacing">
<number>3</number>
</property>
<property name="leftMargin">
<number>3</number>
</property>
<property name="topMargin">
<number>3</number>
</property>
<property name="rightMargin">
<number>3</number>
</property>
<property name="bottomMargin">
<number>3</number>
</property>
<item>
<widget class="QPushButton" name="buttonPlus">
<property name="minimumSize">
<size>
<width>70</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>68</width>
<height>16777215</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">min-width: 68px;</string>
</property>
<property name="text">
<string>Plus</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="buttonMiscButtonsMinusGroup">
<property name="title">
@ -1461,6 +1412,55 @@
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="buttonMiscButtonsPlusGroup">
<property name="title">
<string>Plus</string>
</property>
<property name="alignment">
<set>Qt::AlignmentFlag::AlignCenter</set>
</property>
<layout class="QVBoxLayout" name="buttonMiscPlusVerticalLayout">
<property name="spacing">
<number>3</number>
</property>
<property name="leftMargin">
<number>3</number>
</property>
<property name="topMargin">
<number>3</number>
</property>
<property name="rightMargin">
<number>3</number>
</property>
<property name="bottomMargin">
<number>3</number>
</property>
<item>
<widget class="QPushButton" name="buttonPlus">
<property name="minimumSize">
<size>
<width>70</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>68</width>
<height>16777215</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">min-width: 68px;</string>
</property>
<property name="text">
<string>Plus</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QWidget" name="horizontalSpacerShoulderButtonsWidget3" native="true">
<layout class="QHBoxLayout" name="horizontalSpacerShoulderButtonsWidget3Layout">

View file

@ -85,7 +85,7 @@ ConfigureMotionTouch::ConfigureMotionTouch(QWidget* parent,
ui->udp_learn_more->setOpenExternalLinks(true);
ui->udp_learn_more->setText(
tr("<a "
"href='https://yuzu-emu.org/wiki/"
"href='https://eden-emulator.github.io/wiki/"
"using-a-controller-or-android-phone-for-motion-or-touch-input'><span "
"style=\"text-decoration: underline; color:#039be5;\">Learn More</span></a>"));

View file

@ -14,7 +14,7 @@
<item row="0" column="0" colspan="4">
<widget class="QLabel" name="label_1">
<property name="text">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Reads controller input from scripts in the same format as TAS-nx scripts.&lt;br/&gt;For a more detailed explanation, please consult the &lt;a href=&quot;https://yuzu-emu.org/help/feature/tas/&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#039be5;&quot;&gt;help page&lt;/span&gt;&lt;/a&gt; on the yuzu website.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Reads controller input from scripts in the same format as TAS-nx scripts.&lt;br/&gt;For a more detailed explanation, please consult the &lt;a href=&quot;https://eden-emulator.github.io/help/feature/tas/&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#039be5;&quot;&gt;help page&lt;/span&gt;&lt;/a&gt; on the eden website.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="openExternalLinks">
<bool>true</bool>

View file

@ -23,7 +23,7 @@
</size>
</property>
<property name="text">
<string>Warning: The settings in this page affect the inner workings of yuzu's emulated touchscreen. Changing them may result in undesirable behavior, such as the touchscreen partially or not working. You should only use this page if you know what you are doing.</string>
<string>Warning: The settings in this page affect the inner workings of eden's emulated touchscreen. Changing them may result in undesirable behavior, such as the touchscreen partially or not working. You should only use this page if you know what you are doing.</string>
</property>
<property name="wordWrap">
<bool>true</bool>

View file

@ -66,7 +66,7 @@ void ConfigureWeb::RetranslateUI() {
"color:#039be5;\">Sign up</span></a>"));
ui->web_token_info_link->setText(
tr("<a href='https://yuzu-emu.org/wiki/yuzu-web-service/'><span style=\"text-decoration: "
tr("<a href='https://eden-emulator.github.io/wiki/yuzu-web-service/'><span style=\"text-decoration: "
"underline; color:#039be5;\">What is my token?</span></a>"));
}

View file

@ -22,13 +22,13 @@
<item>
<widget class="QGroupBox" name="groupBoxWebConfig">
<property name="title">
<string>yuzu Web Service</string>
<string>eden Web Service</string>
</property>
<layout class="QVBoxLayout" name="verticalLayoutYuzuWebService">
<item>
<widget class="QLabel" name="web_credentials_disclaimer">
<property name="text">
<string>By providing your username and token, you agree to allow yuzu to collect additional usage data, which may include user identifying information.</string>
<string>By providing your username and token, you agree to allow eden to collect additional usage data, which may include user identifying information.</string>
</property>
</widget>
</item>

View file

@ -289,10 +289,10 @@ std::unique_ptr<TranslationMap> InitializeTranslations(QWidget* parent) {
// Ui General
INSERT(UISettings, select_user_on_boot, tr("Prompt for user on game boot"),
tr("Ask to select a user profile on each boot, useful if multiple people use yuzu on "
tr("Ask to select a user profile on each boot, useful if multiple people use eden on "
"the same PC."));
INSERT(UISettings, pause_when_in_background, tr("Pause emulation when in background"),
tr("This setting pauses yuzu when focusing other windows."));
tr("This setting pauses eden when focusing other windows."));
INSERT(UISettings, confirm_before_stopping, tr("Confirm before stopping emulation"),
tr("This setting overrides game prompts asking to confirm stopping the game.\nEnabling "
"it bypasses such prompts and directly exits the emulation."));
@ -544,7 +544,9 @@ std::unique_ptr<ComboboxTranslationMap> ComboboxEnumeration(QWidget* parent) {
{
PAIR(MemoryLayout, Memory_4Gb, tr("4GB DRAM (Default)")),
PAIR(MemoryLayout, Memory_6Gb, tr("6GB DRAM (Unsafe)")),
PAIR(MemoryLayout, Memory_8Gb, tr("8GB DRAM (Unsafe)")),
PAIR(MemoryLayout, Memory_8Gb, tr("8GB DRAM")),
PAIR(MemoryLayout, Memory_10Gb, tr("10GB DRAM (Unsafe)")),
PAIR(MemoryLayout, Memory_12Gb, tr("12GB DRAM (Unsafe)")),
}});
translations->insert({Settings::EnumMetadata<Settings::ConsoleMode>::Index(),
{

View file

@ -16,7 +16,6 @@
#include "core/core.h"
#include "core/loader/loader.h"
#include "yuzu/discord_impl.h"
#include "yuzu/uisettings.h"
namespace DiscordRPC {
@ -24,7 +23,7 @@ DiscordImpl::DiscordImpl(Core::System& system_) : system{system_} {
DiscordEventHandlers handlers{};
// The number is the client ID for yuzu, it's used for images and the
// application name
Discord_Initialize("712465656758665259", &handlers, 1, nullptr);
Discord_Initialize("1371246384434380841", &handlers, 1, nullptr);
}
DiscordImpl::~DiscordImpl() {
@ -62,8 +61,9 @@ std::string DiscordImpl::GetGameString(const std::string& title) {
}
void DiscordImpl::UpdateGameStatus(bool use_default) {
const std::string default_text = "yuzu is an emulator for the Nintendo Switch";
const std::string default_image = "yuzu_logo";
const std::string default_text = "eden is an emulator for the Nintendo Switch";
const std::string default_image = "https://git.eden-emu.dev/eden-emu/eden/raw/branch/master/"
"dist/qt_themes/default/icons/256x256/eden_named.png";
const std::string url = use_default ? default_image : game_url;
s64 start_time = std::chrono::duration_cast<std::chrono::seconds>(
std::chrono::system_clock::now().time_since_epoch())
@ -81,15 +81,18 @@ void DiscordImpl::UpdateGameStatus(bool use_default) {
}
void DiscordImpl::Update() {
const std::string default_text = "yuzu is an emulator for the Nintendo Switch";
const std::string default_image = "yuzu_logo";
const std::string default_text = "eden is an emulator for the Nintendo Switch";
const std::string default_image = "https://git.eden-emu.dev/eden-emu/eden/raw/branch/master/"
"dist/qt_themes/default/icons/256x256/eden_named.png";
if (system.IsPoweredOn()) {
system.GetAppLoader().ReadTitle(game_title);
// Used to format Icon URL for yuzu website game compatibility page
std::string icon_name = GetGameString(game_title);
game_url = fmt::format("https://yuzu-emu.org/images/game/boxart/{}.png", icon_name);
game_url = fmt::format(
"https://raw.githubusercontent.com/eden-emulator/boxart/refs/heads/master/img/{}.png",
icon_name);
QNetworkAccessManager manager;
QNetworkRequest request;
@ -100,6 +103,7 @@ void DiscordImpl::Update() {
QObject::connect(reply, &QNetworkReply::finished, &request_event_loop, &QEventLoop::quit);
request_event_loop.exec();
UpdateGameStatus(reply->error());
return;
}

View file

@ -374,20 +374,36 @@ GameList::GameList(FileSys::VirtualFilesystem vfs_, FileSys::ManualContentProvid
warning_layout = new QHBoxLayout;
pre_alpha_warning = new QLabel;
pre_alpha_warning->setText(
tr("IMPORTANT: Eden is PRE-ALPHA SOFTWARE."
tr("IMPORTANT: Eden is PRE-ALPHA SOFTWARE. "
"Bugs and unfinished features are expected to be present at this stage."));
pre_alpha_warning->setWordWrap(true);
pre_alpha_warning->setOpenExternalLinks(true);
pre_alpha_warning->setStyleSheet(
QString::fromStdString("color: black; font-weight: bold;"));
warning_layout->addWidget(pre_alpha_warning);
warning_dont_show_again = new QPushButton(this);
warning_dont_show_again->setStyleSheet(
QString::fromStdString("color: #DFDFDF; background-color: #383838;"));
warning_dont_show_again->setText(tr("Don't Show Again"));
connect(warning_dont_show_again, &QPushButton::clicked, this, [=, this] {
Settings::values.hide_pre_alpha_warning.SetValue(true);
layout->removeWidget(warning_widget);
warning_widget->hide();
});
warning_layout->addWidget(pre_alpha_warning, 1);
warning_layout->addWidget(warning_dont_show_again);
warning_layout->setContentsMargins(3, 3, 3, 3);
warning_widget = new QWidget;
warning_widget->setStyleSheet(QString::fromStdString("background-color: khaki;"));
warning_widget->setLayout(warning_layout);
if (!Settings::values.hide_pre_alpha_warning.GetValue()) {
layout->addWidget(warning_widget);
} else {
warning_widget->hide();
}
layout->addWidget(tree_view);
layout->addWidget(search_field);

View file

@ -7,6 +7,7 @@
#include <QLabel>
#include <QLineEdit>
#include <QList>
#include <QPushButton>
#include <QStandardItemModel>
#include <QString>
#include <QTreeView>
@ -172,8 +173,10 @@ private:
QFileSystemWatcher* watcher = nullptr;
ControllerNavigation* controller_navigation = nullptr;
CompatibilityList compatibility_list;
QHBoxLayout* warning_layout = nullptr;
QWidget* warning_widget = nullptr;
QPushButton* warning_dont_show_again = nullptr;
QLabel* pre_alpha_warning = nullptr;
friend class GameListSearchField;

View file

@ -439,7 +439,7 @@ GMainWindow::GMainWindow(bool has_broken_vulkan)
QMessageBox::warning(this, tr("Broken Vulkan Installation Detected"),
tr("Vulkan initialization failed during boot.<br><br>Click <a "
"href='https://yuzu-emu.org/wiki/faq/"
"href='https://eden-emulator.github.io/wiki/faq/"
"#yuzu-starts-with-the-error-broken-vulkan-installation-detected'>"
"here for instructions to fix the issue</a>."));
@ -1592,6 +1592,7 @@ void GMainWindow::ConnectMenuEvents() {
// Help
connect_menu(ui->action_Open_yuzu_Folder, &GMainWindow::OnOpenYuzuFolder);
connect_menu(ui->action_Discord, &GMainWindow::OnOpenDiscord);
connect_menu(ui->action_Verify_installed_contents, &GMainWindow::OnVerifyInstalledContents);
connect_menu(ui->action_Install_Firmware, &GMainWindow::OnInstallFirmware);
connect_menu(ui->action_Install_Keys, &GMainWindow::OnInstallDecryptionKeys);
@ -1806,11 +1807,11 @@ bool GMainWindow::LoadROM(const QString& filename, Service::AM::FrontendAppletPa
msg->setWindowTitle(tr("Game Updates Warning"));
msg->setIcon(QMessageBox::Warning);
msg->setText(tr("The game you are trying to launch is known to have performance or booting "
"issues when updates are applied. It's recommended to disable any updates "
"to this game before attempting to launch, or switch to an earlier update. "
"If you don't have any updates installed or enabled, you can safely ignore "
"this message.<br><br>Press \"OK\" to continue launching, or \"Cancel\" to "
"cancel the launch."));
"issues when updates are applied. Please try increasing the memory layout to "
"6GB or 8GB if any issues occur.<br><br>Press \"OK\" to continue launching, or "
"\"Cancel\" to cancel the launch."));
// TODO: TMP: Recommends more memory for TotK.
msg->setStandardButtons(QMessageBox::Ok | QMessageBox::Cancel);
@ -1859,7 +1860,7 @@ bool GMainWindow::LoadROM(const QString& filename, Service::AM::FrontendAppletPa
"outdated format that has been superseded by others such as NCA, NAX, XCI, or "
"NSP. Deconstructed ROM directories lack icons, metadata, and update "
"support.<br><br>For an explanation of the various Switch formats eden supports, <a "
"href='https://yuzu-emu.org/wiki/overview-of-switch-game-formats'>check out our "
"href='https://eden-emulator.github.io/wiki/overview-of-switch-game-formats'>check out our "
"wiki</a>. This message will not be shown again."));
}
@ -1877,7 +1878,7 @@ bool GMainWindow::LoadROM(const QString& filename, Service::AM::FrontendAppletPa
"This is usually caused by outdated GPU drivers, including integrated ones. "
"Please see the log for more details. "
"For more information on accessing the log, please see the following page: "
"<a href='https://yuzu-emu.org/help/reference/log-files/'>"
"<a href='https://eden-emulator.github.io/help/reference/log-files/'>"
"How to Upload the Log File</a>. "));
break;
default:
@ -2882,7 +2883,7 @@ void GMainWindow::OnGameListNavigateToGamedbEntry(u64 program_id,
directory = it->second.second;
}
QDesktopServices::openUrl(QUrl(QStringLiteral("https://yuzu-emu.org/game/") + directory));
QDesktopServices::openUrl(QUrl(QStringLiteral("https://eden-emulator.github.io/game/") + directory));
}
bool GMainWindow::CreateShortcutLink(const std::filesystem::path& shortcut_path,
@ -3040,8 +3041,8 @@ bool GMainWindow::MakeShortcutIcoPath(const u64 program_id, const std::string_vi
}
// Create icon file path
out_icon_path /= (program_id == 0 ? fmt::format("yuzu-{}.{}", game_file_name, ico_extension)
: fmt::format("yuzu-{:016X}.{}", program_id, ico_extension));
out_icon_path /= (program_id == 0 ? fmt::format("eden-{}.{}", game_file_name, ico_extension)
: fmt::format("eden-{:016X}.{}", program_id, ico_extension));
return true;
}
@ -3596,8 +3597,8 @@ void GMainWindow::OnMenuReportCompatibility() {
} else {
QMessageBox::critical(
this, tr("Missing yuzu Account"),
tr("In order to submit a game compatibility test case, you must link your yuzu "
"account.<br><br/>To link your yuzu account, go to Emulation &gt; Configuration "
tr("In order to submit a game compatibility test case, you must link your eden "
"account.<br><br/>To link your eden account, go to Emulation &gt; Configuration "
"&gt; "
"Web."));
}
@ -3621,11 +3622,16 @@ void GMainWindow::OnOpenModsPage() {
}
void GMainWindow::OnOpenQuickstartGuide() {
OpenURL(QUrl(QStringLiteral("https://yuzu-emu.org/help/quickstart/")));
OpenURL(QUrl(QStringLiteral("https://yuzu-mirror.github.io/help/quickstart/")));
}
void GMainWindow::OnOpenFAQ() {
OpenURL(QUrl(QStringLiteral("https://yuzu-emu.org/wiki/faq/")));
OpenURL(QUrl(QStringLiteral("https://eden-emulator.github.io/")));
}
void GMainWindow::OnOpenDiscord()
{
OpenURL(QUrl(QStringLiteral("https://discord.gg/edenemu")));
}
void GMainWindow::ToggleFullscreen() {
@ -4199,7 +4205,7 @@ void GMainWindow::OnInstallFirmware() {
if (!ContentManager::AreKeysPresent()) {
QMessageBox::information(
this, tr("Keys not installed"),
tr("Install decryption keys and restart yuzu before attempting to install firmware."));
tr("Install decryption keys and restart eden before attempting to install firmware."));
return;
}

View file

@ -338,6 +338,7 @@ private slots:
void OnOpenModsPage();
void OnOpenQuickstartGuide();
void OnOpenFAQ();
void OnOpenDiscord();
/// Called whenever a user selects a game in the game list widget.
void OnGameListLoadFile(QString game_path, u64 program_id);
void OnGameListOpenFolder(u64 program_id, GameListOpenTarget target,

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