Compare commits

..

15 Commits

Author SHA1 Message Date
Allison Cunha adcab5767b recursive file writing via SAF with permission request intent example 2025-11-22 18:24:54 -03:00
lizzie fe13539d72 [meta] remove stale/dead links in help/about (#3064)
removes old links to dead wiki

Signed-off-by: lizzie lizzie@eden-emu.dev

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3064
Reviewed-by: crueter <crueter@eden-emu.dev>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Co-authored-by: lizzie <lizzie@eden-emu.dev>
Co-committed-by: lizzie <lizzie@eden-emu.dev>
2025-11-22 21:08:55 +01:00
John be218cc020 [vk] Fixes regression of PR #180 vk_scheduler.cpp for AMD GPU and Windows OS (#3071)
Fixes AMD + Windows because it forces barriers to include the fragment test and color output stages explicitly, ensuring that all render pass writes are visible before later commands. Without it, AMD’s driver sometimes skipped synchronization, causing broken rendering in Final Fantasy Tactics.

PR #3069 also fixes this regression by reverting vk_scheduler.cpp in PR #180.
This PR fixes PR #180 and may be the better solution.

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3071
Reviewed-by: crueter <crueter@eden-emu.dev>
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
Co-authored-by: John <john@eden-emu.dev>
Co-committed-by: John <john@eden-emu.dev>
2025-11-22 21:06:30 +01:00
PavelBARABANOV c3cbe2d4d0 [android] fixing virtual keyboard in dark souls (#3061)
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3061
Reviewed-by: crueter <crueter@eden-emu.dev>
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
Co-authored-by: PavelBARABANOV <pavelbarabanov94@gmail.com>
Co-committed-by: PavelBARABANOV <pavelbarabanov94@gmail.com>
2025-11-22 21:06:24 +01:00
kleidis 79b162a37c [android] Automatic update fetcher and APK installer (#2987)
This might need a test run before merging. Just to make sure.

Co-authored-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2987
Reviewed-by: crueter <crueter@eden-emu.dev>
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
Co-authored-by: kleidis <kleidis1@protonmail.com>
Co-committed-by: kleidis <kleidis1@protonmail.com>
2025-11-22 21:01:19 +01:00
PavelBARABANOV f3fbb3812f [android] Localize play time units (#3045)
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3045
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Reviewed-by: crueter <crueter@eden-emu.dev>
Co-authored-by: PavelBARABANOV <pavelbarabanov94@gmail.com>
Co-committed-by: PavelBARABANOV <pavelbarabanov94@gmail.com>
2025-11-22 20:54:40 +01:00
MaranBr d8caa74233 [video_core] Fix regressions introduced in #3015 (#3068)
This change is intended to fix two regressions:

1. Fixes the issue where `EDS3` + `Vertex Input Dynamic State` being enabled prevented some games from launching correctly.

2. Fixes the issue with broken water in `Super Mario Party Jamboree`.

This complements #3042.

Co-authored-by: Caio Oliveira <caiooliveirafarias0@gmail.com>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3068
Co-authored-by: MaranBr <maranbr@outlook.com>
Co-committed-by: MaranBr <maranbr@outlook.com>
2025-11-22 04:10:06 +01:00
lizzie 17fe74ef11 [vk] Fix 20xx flipped screen (#3058)
flip_y means "flip the Y coordinate of the triangles"; however, right now we just update the front face... this "emulates" the raster flip in the viewport itself, not the best solution but it's one solution :)

Signed-off-by: lizzie lizzie@eden-emu.dev

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3058
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Reviewed-by: Caio Oliveira <caiooliveirafarias0@gmail.com>
Co-authored-by: lizzie <lizzie@eden-emu.dev>
Co-committed-by: lizzie <lizzie@eden-emu.dev>
2025-11-22 02:23:05 +01:00
lizzie 73713737c6 [frontend] use hh:mm:ss for playtime so we don't have to translate h,m or s suffixes (#3065)
Signed-off-by: lizzie lizzie@eden-emu.dev
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3065
Reviewed-by: Caio Oliveira <caiooliveirafarias0@gmail.com>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Co-authored-by: lizzie <lizzie@eden-emu.dev>
Co-committed-by: lizzie <lizzie@eden-emu.dev>
2025-11-21 19:28:26 +01:00
Caio Oliveira 61f3ce643c [android] Fix build id (#3066)
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3066
Reviewed-by: crueter <crueter@eden-emu.dev>
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
Co-authored-by: Caio Oliveira <caiooliveirafarias0@gmail.com>
Co-committed-by: Caio Oliveira <caiooliveirafarias0@gmail.com>
2025-11-21 04:07:27 +01:00
MaranBr f7f6a4cde4 [video_core] Improve EDS logic and fix a lot of inconsistencies (#3042)
Improves EDS logic and fix some inconsistencies.

Removes a lot of unneeded code.

Adds an option to control the `Vertex Input Dynamic State` extension.

Fixes issues in Pokémon Legends: Z-A on any EDS level.

Co-authored-by: JPikachu <jpikachu.eden@gmail.com>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3042
Reviewed-by: crueter <crueter@eden-emu.dev>
Reviewed-by: Caio Oliveira <caiooliveirafarias0@gmail.com>
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
Co-authored-by: MaranBr <maranbr@outlook.com>
Co-committed-by: MaranBr <maranbr@outlook.com>
2025-11-21 02:00:24 +01:00
xbzk 65fa1a37e2 READY TO MERGE [android] fix for carousel late bottominset and one single game bugs (#3028)
kleidis found a rare condition that pops when using gesture navigation, in which by the lack of bottom inset availability in time, carousel sizes get oversized. then i've put some non zero value backup to cover.

Co-authored-by: Allison Cunha <allisonbzk@gmail.com>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3028
Reviewed-by: Caio Oliveira <caiooliveirafarias0@gmail.com>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
Co-authored-by: xbzk <xbzk@eden-emu.dev>
Co-committed-by: xbzk <xbzk@eden-emu.dev>
2025-11-20 19:19:14 +01:00
lizzie 41192e6e3d [dist] New adaptive icons (#3034)
- Icons that adapt nicely to dark and bright backgrounds (thank you qt)
- Went for a "Vaporware but chill" style
- Is actually properly formatted SVG :)
- Doesn't need a small variant

Signed-off-by: lizzie lizzie@eden-emu.dev
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3034
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
Reviewed-by: Caio Oliveira <caiooliveirafarias0@gmail.com>
Co-authored-by: lizzie <lizzie@eden-emu.dev>
Co-committed-by: lizzie <lizzie@eden-emu.dev>
2025-11-20 01:18:48 +01:00
lizzie d8f2e22bf8 Revert "[gpu/nvdrv] Unstub SetErrorNotifier, add PostErrorNotification function (#2500)" (#3046)
This reverts commit 74d6eaf721.

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3046
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Co-authored-by: lizzie <lizzie@eden-emu.dev>
Co-committed-by: lizzie <lizzie@eden-emu.dev>
2025-11-19 23:17:38 +01:00
Eden CI 51506ef836 [dist, android] Update translations from Transifex for Nov 19 (#3050)
Automatic translation update for Nov 19

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3050
Co-authored-by: Eden CI <ci@eden-emu.dev>
Co-committed-by: Eden CI <ci@eden-emu.dev>
2025-11-19 21:09:12 +01:00
100 changed files with 1533 additions and 912 deletions
+2 -6
View File
@@ -1,8 +1,4 @@
blank_issues_enabled: false
contact_links:
- name: yuzu Discord
url: https://discord.com/invite/u77vRWY
about: If you are experiencing an issue with yuzu, and you need tech support, or if you have a general question, try asking in the official yuzu Discord linked here. Piracy is not allowed.
- name: Community forums
url: https://community.citra-emu.org
about: This is an alternative place for tech support, however helpers there are not as active.
- name: Eden Discord
url: https://discord.gg/HstXbPch7X
+4 -5
View File
@@ -1,6 +1,5 @@
<!--
SPDX-FileCopyrightText: 2018 yuzu Emulator Project
SPDX-License-Identifier: GPL-2.0-or-later
-->
# Contributing
**The Contributor's Guide has moved to [the yuzu wiki](https://github.com/yuzu-emu/yuzu/wiki/Contributing).**
You want to contribute? Please consult [the development guide](./docs/Development.md).
Don't forget to [get a git account](./docs/SIGNUP.md) - not a requirement per se but it's highly recommended.
+4 -4
View File
@@ -21,7 +21,7 @@ It is written in C++ with portability in mind, and we actively maintain builds f
<p align="center">
</a>
<a href="https://discord.gg/kXAmGCXBGD">
<a href="https://discord.gg/HstXbPch7X">
<img src="https://img.shields.io/discord/1367654015269339267?color=5865F2&label=Eden&logo=discord&logoColor=white"
alt="Discord">
</a>
@@ -52,8 +52,8 @@ Check out our [website](https://eden-emu.dev) for the latest news on exciting fe
## Development
Most of the development happens on our Git server. It is also where [our central repository](https://git.eden-emu.dev/eden-emu/eden) is hosted. For development discussions, please join us on [Discord](https://discord.gg/kXAmGCXBGD) or [Revolt](https://rvlt.gg/qKgFEAbH).
You can also follow us on [X (Twitter)](https://x.com/edenemuofficial) for updates and announcements.
Most of the development happens on our Git server. It is also where [our central repository](https://git.eden-emu.dev/eden-emu/eden) is hosted. For development discussions, please join us on [Discord](https://discord.gg/HstXbPch7X) or [Revolt](https://rvlt.gg/qKgFEAbH).
You can also follow us on [X (Twitter)](https://nitter.poast.org/edenemuofficial) for updates and announcements.
If you would like to contribute, we are open to new developers and pull requests. Please ensure that your work is of a high standard and properly documented. You can also contact any of the developers on Discord or Revolt to learn more about the current state of the emulator.
@@ -82,7 +82,7 @@ Any donations received will go towards things such as:
* Additional hardware (e.g. GPUs as needed to improve rendering support, other peripherals to add support for, etc.)
* CI Infrastructure
If you would prefer to support us in a different way, please join our [Discord](https://discord.gg/edenemu) and talk to Camille or any of our other developers.
If you would prefer to support us in a different way, please join our [Discord](https://discord.gg/HstXbPch7X) and talk to Camille or any of our other developers.
## License
BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 386 KiB

After

Width:  |  Height:  |  Size: 516 KiB

+144 -1
View File
File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 9.2 KiB

After

Width:  |  Height:  |  Size: 6.9 KiB

+183 -39
View File
File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 37 KiB

After

Width:  |  Height:  |  Size: 21 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 9.2 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 37 KiB

Before

Width:  |  Height:  |  Size: 5.5 KiB

After

Width:  |  Height:  |  Size: 5.5 KiB

+18 -18
View File
@@ -2206,7 +2206,7 @@ When a program attempts to open the controller applet, it is immediately closed.
<message>
<location filename="../../src/yuzu/configuration/configure_cpu_debug.ui" line="31"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;For debugging only.&lt;/span&gt;&lt;br/&gt;If you&apos;re not sure what these do, keep all of these enabled. &lt;br/&gt;These settings, when disabled, only take effect when CPU Debugging is enabled. &lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;للتصحيح فقط.&lt;/span&gt;&lt;br/&gt;إذا لم تكن متأكدًا من وظيفة هذه الإعدادات، فاتركها جميعًا ممكّنة. &lt;br/&gt;عند تعطيل هذه الإعدادات، لا تصبح سارية المفعول إلا عند تمكين تصحيح أخطاء وحدة المعالجة المركزية.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
<translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;للتصحيح فقط.&lt;/span&gt;&lt;br/&gt;إذا لم تكن متأكدًا من وظيفة هذه الخيارات، فاتركها جميعًا ممكّنة. &lt;br/&gt;عند تعطيل هذه الإعدادات، لا تصبح سارية المفعول إلا عند تمكين تصحيح أخطاء وحدة المعالجة المركزية. &lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_cpu_debug.ui" line="41"/>
@@ -3687,7 +3687,7 @@ When a program attempts to open the controller applet, it is immediately closed.
<location filename="../../src/yuzu/configuration/configure_input_player.ui" line="722"/>
<location filename="../../src/yuzu/configuration/configure_input_player.ui" line="2796"/>
<source>Modifier Range: 0%</source>
<translation>0% :نطاق التعديل</translation>
<translation>0% :تعديل النطاق</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_input_player.ui" line="755"/>
@@ -3915,7 +3915,7 @@ To invert the axes, first move your joystick vertically, and then horizontally.<
<location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="712"/>
<location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1073"/>
<source>Modifier Range: %1%</source>
<translation>%1% :نطاق التعديل</translation>
<translation>%1% :تعديل النطاق</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="753"/>
@@ -3946,7 +3946,7 @@ To invert the axes, first move your joystick vertically, and then horizontally.<
<message>
<location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1118"/>
<source>GameCube Controller</source>
<translation>ذراع تحكم جيم كيوب</translation>
<translation>GameCube ذراع تحكم</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="1127"/>
@@ -4579,7 +4579,7 @@ Current values are %1% and %2% respectively.</source>
<message>
<location filename="../../src/yuzu/configuration/configure_profile_manager.cpp" line="220"/>
<source>Enter a username for the new user:</source>
<translation>:أدخل اسم مستخدم للمستخدم الجديد</translation>
<translation>أدخل اسم مستخدم للمستخدم الجديد:</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_profile_manager.cpp" line="241"/>
@@ -5723,44 +5723,44 @@ Please go to Configure -&gt; System -&gt; Network and make a selection.</source>
<context>
<name>GRenderWindow</name>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1009"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1026"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1008"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1025"/>
<source>OpenGL not available!</source>
<translation>OpenGL غير متوفر!</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1010"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1009"/>
<source>OpenGL shared contexts are not supported.</source>
<translation>OpenGL لا يتم دعم السياقات المشتركة</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1027"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1026"/>
<source>Eden has not been compiled with OpenGL support.</source>
<translation>OpenGL لم يتم تجميع إيدن بدعم</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1051"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1067"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1050"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1066"/>
<source>Error while initializing OpenGL!</source>
<translation>OpenGL حدث خطأ أثناء تهيئة</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1052"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1051"/>
<source>Your GPU may not support OpenGL, or you do not have the latest graphics driver.</source>
<translation>أو قد لا يكون لديك أحدث برنامج تشغيل للرسومات OpenGL قد لا تدعم بطاقة الرسومات الخاصة بك</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1059"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1058"/>
<source>Error while initializing OpenGL 4.6!</source>
<translation>OpenGL 4.6 حدث خطأ أثناء تهيئة</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1060"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1059"/>
<source>Your GPU may not support OpenGL 4.6, or you do not have the latest graphics driver.&lt;br&gt;&lt;br&gt;GL Renderer:&lt;br&gt;%1</source>
<translation>أو قد لا يكون لديك أحدث برنامج تشغيل للرسومات OpenGL 4.6 قد لا تدعم بطاقة الرسومات الخاصة بك.&lt;br&gt;&lt;br&gt;GL Renderer:&lt;br&gt;%1</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1068"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1067"/>
<source>Your GPU may not support one or more required OpenGL extensions. Please ensure you have the latest graphics driver.&lt;br&gt;&lt;br&gt;GL Renderer:&lt;br&gt;%1&lt;br&gt;&lt;br&gt;Unsupported extensions:&lt;br&gt;%2</source>
<translation>قد لا تدعم وحدة معالجة الرسومات لديك ملحقًا واحدًا أو أكثر من ملحقات OpenGL المطلوبة. يُرجى التأكد من تثبيت أحدث برنامج تشغيل للرسومات.&lt;br&gt;&lt;br&gt;GL Renderer:&lt;br&gt;1%&lt;br&gt;&lt;br&gt;إضافات غير مدعومة: &lt;br&gt;2%</translation>
</message>
@@ -7359,12 +7359,12 @@ Please, only use this feature to install updates and DLC.</source>
<message>
<location filename="../../src/yuzu/main_window.cpp" line="3234"/>
<source>Function Disabled</source>
<translation type="unfinished"/>
<translation>الوظيفة معطلة</translation>
</message>
<message>
<location filename="../../src/yuzu/main_window.cpp" line="3235"/>
<source>Compatibility list reporting is currently disabled. Check back later!</source>
<translation type="unfinished"/>
<translation>تقارير قائمة التوافق معطلة حاليًا. يرجى التحقق لاحقًا!</translation>
</message>
<message>
<location filename="../../src/yuzu/main_window.cpp" line="3273"/>
@@ -9647,7 +9647,7 @@ This is recommended if you want to share data between emulators.</source>
<message>
<location filename="../../src/yuzu/applets/qt_controller.cpp" line="489"/>
<source>GameCube Controller</source>
<translation>ذراع تحكم جيم كيوب</translation>
<translation>GameCube ذراع تحكم</translation>
</message>
<message>
<location filename="../../src/yuzu/applets/qt_controller.cpp" line="498"/>
+10 -10
View File
@@ -5656,44 +5656,44 @@ Please go to Configure -&gt; System -&gt; Network and make a selection.</source>
<context>
<name>GRenderWindow</name>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1009"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1026"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1008"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1025"/>
<source>OpenGL not available!</source>
<translation>OpenGL no disponible!</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1010"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1009"/>
<source>OpenGL shared contexts are not supported.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1027"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1026"/>
<source>Eden has not been compiled with OpenGL support.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1051"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1067"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1050"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1066"/>
<source>Error while initializing OpenGL!</source>
<translation>Error al inicialitzar OpenGL!</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1052"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1051"/>
<source>Your GPU may not support OpenGL, or you do not have the latest graphics driver.</source>
<translation>La seva GPU no suporta OpenGL, o no instal·lat els últims controladors gràfics.</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1059"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1058"/>
<source>Error while initializing OpenGL 4.6!</source>
<translation>Error inicialitzant OpenGL 4.6!</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1060"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1059"/>
<source>Your GPU may not support OpenGL 4.6, or you do not have the latest graphics driver.&lt;br&gt;&lt;br&gt;GL Renderer:&lt;br&gt;%1</source>
<translation>La seva GPU no suporta OpenGL 4.6, o no instal·lats els últims controladors gràfics.&lt;br&gt;&lt;br&gt;GL Renderer:&lt;br&gt;%1</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1068"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1067"/>
<source>Your GPU may not support one or more required OpenGL extensions. Please ensure you have the latest graphics driver.&lt;br&gt;&lt;br&gt;GL Renderer:&lt;br&gt;%1&lt;br&gt;&lt;br&gt;Unsupported extensions:&lt;br&gt;%2</source>
<translation>És possible que la seva GPU no suporti una o més extensions necessàries d&apos;OpenGL. Si us plau, asseguris de tenir els últims controladors de la tarjeta gràfica.&lt;br&gt;&lt;br&gt;GL Renderer:&lt;br&gt;%1&lt;br&gt;&lt;br&gt;Extensions no suportades:&lt;br&gt;%2</translation>
</message>
+10 -10
View File
@@ -5647,44 +5647,44 @@ Please go to Configure -&gt; System -&gt; Network and make a selection.</source>
<context>
<name>GRenderWindow</name>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1009"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1026"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1008"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1025"/>
<source>OpenGL not available!</source>
<translation>OpenGL není k dispozici!</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1010"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1009"/>
<source>OpenGL shared contexts are not supported.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1027"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1026"/>
<source>Eden has not been compiled with OpenGL support.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1051"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1067"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1050"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1066"/>
<source>Error while initializing OpenGL!</source>
<translation>Chyba při inicializaci OpenGL!</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1052"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1051"/>
<source>Your GPU may not support OpenGL, or you do not have the latest graphics driver.</source>
<translation>Vaše grafická karta pravděpodobně nepodporuje OpenGL nebo nejsou nainstalovány nejnovější ovladače.</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1059"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1058"/>
<source>Error while initializing OpenGL 4.6!</source>
<translation>Chyba při inicializaci OpenGL 4.6!</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1060"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1059"/>
<source>Your GPU may not support OpenGL 4.6, or you do not have the latest graphics driver.&lt;br&gt;&lt;br&gt;GL Renderer:&lt;br&gt;%1</source>
<translation>Vaše grafická karta pravděpodobně nepodporuje OpenGL 4.6 nebo nejsou nainstalovány nejnovější ovladače.&lt;br&gt;&lt;br&gt;GL Renderer:&lt;br&gt;%1</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1068"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1067"/>
<source>Your GPU may not support one or more required OpenGL extensions. Please ensure you have the latest graphics driver.&lt;br&gt;&lt;br&gt;GL Renderer:&lt;br&gt;%1&lt;br&gt;&lt;br&gt;Unsupported extensions:&lt;br&gt;%2</source>
<translation>Vaše grafická karta pravděpodobně nepodporuje jedno nebo více rozšíření OpenGL. Ujistěte se prosím, že jsou nainstalovány nejnovější ovladače.&lt;br&gt;&lt;br&gt;GL Renderer:&lt;br&gt;%1&lt;br&gt;&lt;br&gt;Nepodporované rozšíření:&lt;br&gt;%2</translation>
</message>
+10 -10
View File
@@ -5655,44 +5655,44 @@ Please go to Configure -&gt; System -&gt; Network and make a selection.</source>
<context>
<name>GRenderWindow</name>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1009"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1026"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1008"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1025"/>
<source>OpenGL not available!</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1010"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1009"/>
<source>OpenGL shared contexts are not supported.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1027"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1026"/>
<source>Eden has not been compiled with OpenGL support.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1051"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1067"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1050"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1066"/>
<source>Error while initializing OpenGL!</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1052"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1051"/>
<source>Your GPU may not support OpenGL, or you do not have the latest graphics driver.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1059"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1058"/>
<source>Error while initializing OpenGL 4.6!</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1060"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1059"/>
<source>Your GPU may not support OpenGL 4.6, or you do not have the latest graphics driver.&lt;br&gt;&lt;br&gt;GL Renderer:&lt;br&gt;%1</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1068"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1067"/>
<source>Your GPU may not support one or more required OpenGL extensions. Please ensure you have the latest graphics driver.&lt;br&gt;&lt;br&gt;GL Renderer:&lt;br&gt;%1&lt;br&gt;&lt;br&gt;Unsupported extensions:&lt;br&gt;%2</source>
<translation type="unfinished"/>
</message>
+10 -10
View File
@@ -5658,44 +5658,44 @@ Please go to Configure -&gt; System -&gt; Network and make a selection.</source>
<context>
<name>GRenderWindow</name>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1009"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1026"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1008"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1025"/>
<source>OpenGL not available!</source>
<translation>OpenGL nicht verfügbar!</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1010"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1009"/>
<source>OpenGL shared contexts are not supported.</source>
<translation>Gemeinsame OpenGL-Kontexte werden nicht unterstützt.</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1027"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1026"/>
<source>Eden has not been compiled with OpenGL support.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1051"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1067"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1050"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1066"/>
<source>Error while initializing OpenGL!</source>
<translation>Fehler beim Initialisieren von OpenGL!</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1052"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1051"/>
<source>Your GPU may not support OpenGL, or you do not have the latest graphics driver.</source>
<translation>Deine Grafikkarte unterstützt kein OpenGL oder du hast nicht den neusten Treiber installiert.</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1059"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1058"/>
<source>Error while initializing OpenGL 4.6!</source>
<translation>Fehler beim Initialisieren von OpenGL 4.6!</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1060"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1059"/>
<source>Your GPU may not support OpenGL 4.6, or you do not have the latest graphics driver.&lt;br&gt;&lt;br&gt;GL Renderer:&lt;br&gt;%1</source>
<translation>Deine Grafikkarte unterstützt OpenGL 4.6 nicht, oder du benutzt nicht die neuste Treiberversion.&lt;br&gt;&lt;br&gt;GL Renderer:&lt;br&gt;%1</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1068"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1067"/>
<source>Your GPU may not support one or more required OpenGL extensions. Please ensure you have the latest graphics driver.&lt;br&gt;&lt;br&gt;GL Renderer:&lt;br&gt;%1&lt;br&gt;&lt;br&gt;Unsupported extensions:&lt;br&gt;%2</source>
<translation>Deine Grafikkarte unterstützt anscheinend nicht eine oder mehrere von yuzu benötigten OpenGL-Erweiterungen. Bitte stelle sicher, dass du den neusten Grafiktreiber installiert hast.&lt;br&gt;&lt;br&gt;GL Renderer:&lt;br&gt;%1&lt;br&gt;&lt;br&gt;Nicht unterstützte Erweiterungen:&lt;br&gt;%2</translation>
</message>
+10 -10
View File
@@ -5646,44 +5646,44 @@ Please go to Configure -&gt; System -&gt; Network and make a selection.</source>
<context>
<name>GRenderWindow</name>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1009"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1026"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1008"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1025"/>
<source>OpenGL not available!</source>
<translation>Το OpenGL δεν είναι διαθέσιμο!</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1010"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1009"/>
<source>OpenGL shared contexts are not supported.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1027"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1026"/>
<source>Eden has not been compiled with OpenGL support.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1051"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1067"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1050"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1066"/>
<source>Error while initializing OpenGL!</source>
<translation>Σφάλμα κατα την αρχικοποίηση του OpenGL!</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1052"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1051"/>
<source>Your GPU may not support OpenGL, or you do not have the latest graphics driver.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1059"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1058"/>
<source>Error while initializing OpenGL 4.6!</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1060"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1059"/>
<source>Your GPU may not support OpenGL 4.6, or you do not have the latest graphics driver.&lt;br&gt;&lt;br&gt;GL Renderer:&lt;br&gt;%1</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1068"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1067"/>
<source>Your GPU may not support one or more required OpenGL extensions. Please ensure you have the latest graphics driver.&lt;br&gt;&lt;br&gt;GL Renderer:&lt;br&gt;%1&lt;br&gt;&lt;br&gt;Unsupported extensions:&lt;br&gt;%2</source>
<translation type="unfinished"/>
</message>
+10 -10
View File
@@ -5723,44 +5723,44 @@ Por favor, vaya a Configuración -&gt; Sistema -&gt; Red y selecciona una interf
<context>
<name>GRenderWindow</name>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1009"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1026"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1008"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1025"/>
<source>OpenGL not available!</source>
<translation>¡OpenGL no está disponible!</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1010"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1009"/>
<source>OpenGL shared contexts are not supported.</source>
<translation>Los contextos compartidos de OpenGL no son compatibles.</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1027"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1026"/>
<source>Eden has not been compiled with OpenGL support.</source>
<translation>Eden no ha sido compilado con soporte para OpenGL.</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1051"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1067"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1050"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1066"/>
<source>Error while initializing OpenGL!</source>
<translation>¡Error al inicializar OpenGL!</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1052"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1051"/>
<source>Your GPU may not support OpenGL, or you do not have the latest graphics driver.</source>
<translation>Tu GPU no soporta OpenGL, o no tienes instalados los últimos controladores gráficos.</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1059"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1058"/>
<source>Error while initializing OpenGL 4.6!</source>
<translation>¡Error al iniciar OpenGL 4.6!</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1060"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1059"/>
<source>Your GPU may not support OpenGL 4.6, or you do not have the latest graphics driver.&lt;br&gt;&lt;br&gt;GL Renderer:&lt;br&gt;%1</source>
<translation>Tu GPU no soporta OpenGL 4.6, o no tienes instalado el último controlador de la tarjeta gráfica.&lt;br&gt;&lt;br&gt;GL Renderer:&lt;br&gt;%1</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1068"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1067"/>
<source>Your GPU may not support one or more required OpenGL extensions. Please ensure you have the latest graphics driver.&lt;br&gt;&lt;br&gt;GL Renderer:&lt;br&gt;%1&lt;br&gt;&lt;br&gt;Unsupported extensions:&lt;br&gt;%2</source>
<translation>Es posible que la GPU no soporte una o más extensiones necesarias de OpenGL . Por favor, asegúrate de tener los últimos controladores de la tarjeta gráfica.&lt;br&gt;&lt;br&gt;GL Renderer:&lt;br&gt;%1&lt;br&gt;&lt;br&gt;Extensiones no soportadas:&lt;br&gt;%2</translation>
</message>
+10 -10
View File
@@ -5622,44 +5622,44 @@ Please go to Configure -&gt; System -&gt; Network and make a selection.</source>
<context>
<name>GRenderWindow</name>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1009"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1026"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1008"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1025"/>
<source>OpenGL not available!</source>
<translation>openGL ei ole saatavilla!</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1010"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1009"/>
<source>OpenGL shared contexts are not supported.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1027"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1026"/>
<source>Eden has not been compiled with OpenGL support.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1051"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1067"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1050"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1066"/>
<source>Error while initializing OpenGL!</source>
<translation>Virhe käynnistäessä OpenGL ydintä!</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1052"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1051"/>
<source>Your GPU may not support OpenGL, or you do not have the latest graphics driver.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1059"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1058"/>
<source>Error while initializing OpenGL 4.6!</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1060"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1059"/>
<source>Your GPU may not support OpenGL 4.6, or you do not have the latest graphics driver.&lt;br&gt;&lt;br&gt;GL Renderer:&lt;br&gt;%1</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1068"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1067"/>
<source>Your GPU may not support one or more required OpenGL extensions. Please ensure you have the latest graphics driver.&lt;br&gt;&lt;br&gt;GL Renderer:&lt;br&gt;%1&lt;br&gt;&lt;br&gt;Unsupported extensions:&lt;br&gt;%2</source>
<translation type="unfinished"/>
</message>
+10 -10
View File
@@ -5727,44 +5727,44 @@ Veuillez aller dans Configurer -&gt; Système -&gt; Réseau puis en choisir une.
<context>
<name>GRenderWindow</name>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1009"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1026"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1008"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1025"/>
<source>OpenGL not available!</source>
<translation>OpenGL n&apos;est pas disponible !</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1010"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1009"/>
<source>OpenGL shared contexts are not supported.</source>
<translation>Les contextes OpenGL partagés ne sont pas pris en charge.</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1027"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1026"/>
<source>Eden has not been compiled with OpenGL support.</source>
<translation>Eden n&apos;a pas é compilé avec le support OpenGL</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1051"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1067"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1050"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1066"/>
<source>Error while initializing OpenGL!</source>
<translation>Erreur lors de l&apos;initialisation d&apos;OpenGL !</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1052"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1051"/>
<source>Your GPU may not support OpenGL, or you do not have the latest graphics driver.</source>
<translation>Votre GPU peut ne pas prendre en charge OpenGL, ou vous n&apos;avez pas les derniers pilotes graphiques.</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1059"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1058"/>
<source>Error while initializing OpenGL 4.6!</source>
<translation>Erreur lors de l&apos;initialisation d&apos;OpenGL 4.6 !</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1060"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1059"/>
<source>Your GPU may not support OpenGL 4.6, or you do not have the latest graphics driver.&lt;br&gt;&lt;br&gt;GL Renderer:&lt;br&gt;%1</source>
<translation>Votre GPU peut ne pas prendre en charge OpenGL 4.6 ou vous ne disposez pas du dernier pilote graphique: %1</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1068"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1067"/>
<source>Your GPU may not support one or more required OpenGL extensions. Please ensure you have the latest graphics driver.&lt;br&gt;&lt;br&gt;GL Renderer:&lt;br&gt;%1&lt;br&gt;&lt;br&gt;Unsupported extensions:&lt;br&gt;%2</source>
<translation>Votre GPU peut ne pas prendre en charge une ou plusieurs extensions OpenGL requises. Veuillez vous assurer que vous disposez du dernier pilote graphique.&lt;br&gt;&lt;br&gt;GL Renderer :&lt;br&gt;%1&lt;br&gt;&lt;br&gt;Extensions non prises en charge :&lt;br&gt;%2</translation>
</message>
+10 -10
View File
@@ -5640,44 +5640,44 @@ Please go to Configure -&gt; System -&gt; Network and make a selection.</source>
<context>
<name>GRenderWindow</name>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1009"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1026"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1008"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1025"/>
<source>OpenGL not available!</source>
<translation>OpenGL nem elérhető!</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1010"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1009"/>
<source>OpenGL shared contexts are not supported.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1027"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1026"/>
<source>Eden has not been compiled with OpenGL support.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1051"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1067"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1050"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1066"/>
<source>Error while initializing OpenGL!</source>
<translation>Hiba történt az OpenGL inicializálása során!</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1052"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1051"/>
<source>Your GPU may not support OpenGL, or you do not have the latest graphics driver.</source>
<translation>Lehetséges, hogy a GPU-d nem támogatja az OpenGL-t, vagy nem a legfrissebb grafikus illesztőprogram van telepítve.</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1059"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1058"/>
<source>Error while initializing OpenGL 4.6!</source>
<translation>Hiba történt az OpenGL 4.6 inicializálása során!</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1060"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1059"/>
<source>Your GPU may not support OpenGL 4.6, or you do not have the latest graphics driver.&lt;br&gt;&lt;br&gt;GL Renderer:&lt;br&gt;%1</source>
<translation>Lehetséges, hogy a GPU-d nem támogatja az OpenGL 4.6-ot, vagy nem a legfrissebb grafikus illesztőprogram van telepítve.&lt;br&gt;&lt;br&gt;GL Renderer:&lt;br&gt;%1</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1068"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1067"/>
<source>Your GPU may not support one or more required OpenGL extensions. Please ensure you have the latest graphics driver.&lt;br&gt;&lt;br&gt;GL Renderer:&lt;br&gt;%1&lt;br&gt;&lt;br&gt;Unsupported extensions:&lt;br&gt;%2</source>
<translation>Előfordulhat, hogy a GPU-d nem támogat egy vagy több szükséges OpenGL kiterjesztést. Győződj meg róla, hogy a legújabb videokártya-illesztőprogramot használod.&lt;br&gt;&lt;br&gt;GL Renderer:&lt;br&gt;%1&lt;br&gt;&lt;br&gt;Nem támogatott kiterjesztések:&lt;br&gt;%2</translation>
</message>
+10 -10
View File
@@ -5678,44 +5678,44 @@ Please go to Configure -&gt; System -&gt; Network and make a selection.</source>
<context>
<name>GRenderWindow</name>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1009"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1026"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1008"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1025"/>
<source>OpenGL not available!</source>
<translation>OpenGL tidak tersedia!</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1010"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1009"/>
<source>OpenGL shared contexts are not supported.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1027"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1026"/>
<source>Eden has not been compiled with OpenGL support.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1051"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1067"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1050"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1066"/>
<source>Error while initializing OpenGL!</source>
<translation>Terjadi kesalahan menginisialisasi OpenGL!</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1052"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1051"/>
<source>Your GPU may not support OpenGL, or you do not have the latest graphics driver.</source>
<translation>VGA anda mungkin tidak mendukung OpenGL, atau anda tidak memiliki pemacu piranti (driver) grafis terbaharu.</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1059"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1058"/>
<source>Error while initializing OpenGL 4.6!</source>
<translation>Terjadi kesalahan menginisialisasi OpenGL 4.6!</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1060"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1059"/>
<source>Your GPU may not support OpenGL 4.6, or you do not have the latest graphics driver.&lt;br&gt;&lt;br&gt;GL Renderer:&lt;br&gt;%1</source>
<translation>VGA anda mungkin tidak mendukung OpenGL 4.6, atau anda tidak memiliki pemacu piranti (driver) grafis terbaharu.&lt;br&gt;&lt;br&gt;Pemuat GL:&lt;br&gt;%1</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1068"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1067"/>
<source>Your GPU may not support one or more required OpenGL extensions. Please ensure you have the latest graphics driver.&lt;br&gt;&lt;br&gt;GL Renderer:&lt;br&gt;%1&lt;br&gt;&lt;br&gt;Unsupported extensions:&lt;br&gt;%2</source>
<translation>VGA anda mungkin tidak mendukung satu atau lebih ekstensi OpenGL. Mohon pastikan bahwa anda memiliki pemacu piranti (driver) grafis terbaharu.&lt;br&gt;&lt;br&gt;Pemuat GL:&lt;br&gt;%1&lt;br&gt;&lt;br&gt;Ekstensi yang tidak didukung:&lt;br&gt;%2</translation>
</message>
+10 -10
View File
@@ -5727,44 +5727,44 @@ Vai su Configura -&gt; Sistema -&gt; Rete e selezionane una.</translation>
<context>
<name>GRenderWindow</name>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1009"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1026"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1008"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1025"/>
<source>OpenGL not available!</source>
<translation>OpenGL non disponibile!</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1010"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1009"/>
<source>OpenGL shared contexts are not supported.</source>
<translation>Gli shared context di OpenGL non sono supportati.</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1027"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1026"/>
<source>Eden has not been compiled with OpenGL support.</source>
<translation>Eden non è stato compilato con il supporto a OpenGL.</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1051"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1067"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1050"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1066"/>
<source>Error while initializing OpenGL!</source>
<translation>Errore durante l&apos;inizializzazione di OpenGL!</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1052"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1051"/>
<source>Your GPU may not support OpenGL, or you do not have the latest graphics driver.</source>
<translation>La tua GPU potrebbe non supportare OpenGL, o non hai installato l&apos;ultima versione dei driver video.</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1059"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1058"/>
<source>Error while initializing OpenGL 4.6!</source>
<translation>Errore durante l&apos;inizializzazione di OpenGL 4.6!</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1060"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1059"/>
<source>Your GPU may not support OpenGL 4.6, or you do not have the latest graphics driver.&lt;br&gt;&lt;br&gt;GL Renderer:&lt;br&gt;%1</source>
<translation>La tua GPU potrebbe non supportare OpenGL 4.6, o non hai installato l&apos;ultima versione dei driver video.&lt;br&gt;&lt;br&gt;Renderer GL:&lt;br&gt;%1</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1068"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1067"/>
<source>Your GPU may not support one or more required OpenGL extensions. Please ensure you have the latest graphics driver.&lt;br&gt;&lt;br&gt;GL Renderer:&lt;br&gt;%1&lt;br&gt;&lt;br&gt;Unsupported extensions:&lt;br&gt;%2</source>
<translation>La tua GPU potrebbe non supportare una o più estensioni OpenGL richieste. Assicurati di aver installato i driver video più recenti.&lt;br&gt;&lt;br&gt;Renderer GL:&lt;br&gt;%1&lt;br&gt;&lt;br&gt;Estensioni non supportate:&lt;br&gt;%2</translation>
</message>
+10 -10
View File
@@ -5659,44 +5659,44 @@ Please go to Configure -&gt; System -&gt; Network and make a selection.</source>
<context>
<name>GRenderWindow</name>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1009"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1026"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1008"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1025"/>
<source>OpenGL not available!</source>
<translation>OpenGLは使用できません</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1010"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1009"/>
<source>OpenGL shared contexts are not supported.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1027"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1026"/>
<source>Eden has not been compiled with OpenGL support.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1051"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1067"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1050"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1066"/>
<source>Error while initializing OpenGL!</source>
<translation>OpenGL初期化エラー</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1052"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1051"/>
<source>Your GPU may not support OpenGL, or you do not have the latest graphics driver.</source>
<translation>GPUがOpenGLをサポートしていないか</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1059"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1058"/>
<source>Error while initializing OpenGL 4.6!</source>
<translation>OpenGL4.6!</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1060"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1059"/>
<source>Your GPU may not support OpenGL 4.6, or you do not have the latest graphics driver.&lt;br&gt;&lt;br&gt;GL Renderer:&lt;br&gt;%1</source>
<translation>GPUがOpenGL4.6&lt;br&gt;&lt;br&gt;GL :&lt;br&gt;%1</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1068"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1067"/>
<source>Your GPU may not support one or more required OpenGL extensions. Please ensure you have the latest graphics driver.&lt;br&gt;&lt;br&gt;GL Renderer:&lt;br&gt;%1&lt;br&gt;&lt;br&gt;Unsupported extensions:&lt;br&gt;%2</source>
<translation>GPUが1つ以上の必要なOpenGL拡張機能をサポートしていない可能性があります使&lt;br&gt;&lt;br&gt;GL :&lt;br&gt;%1&lt;br&gt;&lt;br&gt;:&lt;br&gt;%2</translation>
</message>
+10 -10
View File
@@ -5660,44 +5660,44 @@ Please go to Configure -&gt; System -&gt; Network and make a selection.</source>
<context>
<name>GRenderWindow</name>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1009"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1026"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1008"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1025"/>
<source>OpenGL not available!</source>
<translation>OpenGL을 !</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1010"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1009"/>
<source>OpenGL shared contexts are not supported.</source>
<translation>OpenGL .</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1027"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1026"/>
<source>Eden has not been compiled with OpenGL support.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1051"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1067"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1050"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1066"/>
<source>Error while initializing OpenGL!</source>
<translation>OpenGL을 !</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1052"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1051"/>
<source>Your GPU may not support OpenGL, or you do not have the latest graphics driver.</source>
<translation> GPU가 OpenGL을 , .</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1059"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1058"/>
<source>Error while initializing OpenGL 4.6!</source>
<translation>OpenGL 4.6 !</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1060"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1059"/>
<source>Your GPU may not support OpenGL 4.6, or you do not have the latest graphics driver.&lt;br&gt;&lt;br&gt;GL Renderer:&lt;br&gt;%1</source>
<translation> GPU가 OpenGL 4.6 . &lt;br&gt;&lt;br&gt;GL :&lt;br&gt;%1</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1068"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1067"/>
<source>Your GPU may not support one or more required OpenGL extensions. Please ensure you have the latest graphics driver.&lt;br&gt;&lt;br&gt;GL Renderer:&lt;br&gt;%1&lt;br&gt;&lt;br&gt;Unsupported extensions:&lt;br&gt;%2</source>
<translation> GPU가 1 OpenGL . . &lt;br&gt;&lt;br&gt;GL :&lt;br&gt;%1&lt;br&gt;&lt;br&gt; :&lt;br&gt;%2</translation>
</message>
+10 -10
View File
@@ -5660,44 +5660,44 @@ Please go to Configure -&gt; System -&gt; Network and make a selection.</source>
<context>
<name>GRenderWindow</name>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1009"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1026"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1008"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1025"/>
<source>OpenGL not available!</source>
<translation>OpenGL ikke tilgjengelig!</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1010"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1009"/>
<source>OpenGL shared contexts are not supported.</source>
<translation>Delte OpenGL-kontekster støttes ikke.</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1027"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1026"/>
<source>Eden has not been compiled with OpenGL support.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1051"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1067"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1050"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1066"/>
<source>Error while initializing OpenGL!</source>
<translation>Feil under initialisering av OpenGL!</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1052"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1051"/>
<source>Your GPU may not support OpenGL, or you do not have the latest graphics driver.</source>
<translation>Det kan hende at GPU-en din ikke støtter OpenGL, eller at du ikke har den nyeste grafikkdriveren.</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1059"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1058"/>
<source>Error while initializing OpenGL 4.6!</source>
<translation>Feil under initialisering av OpenGL 4.6!</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1060"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1059"/>
<source>Your GPU may not support OpenGL 4.6, or you do not have the latest graphics driver.&lt;br&gt;&lt;br&gt;GL Renderer:&lt;br&gt;%1</source>
<translation>Det kan hende at GPU-en din ikke støtter OpenGL 4.6, eller at du ikke har den nyeste grafikkdriveren.&lt;br&gt;&lt;br&gt;GL-renderer:&lt;br&gt;%1</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1068"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1067"/>
<source>Your GPU may not support one or more required OpenGL extensions. Please ensure you have the latest graphics driver.&lt;br&gt;&lt;br&gt;GL Renderer:&lt;br&gt;%1&lt;br&gt;&lt;br&gt;Unsupported extensions:&lt;br&gt;%2</source>
<translation>Det kan hende at GPU-en din ikke støtter én eller flere nødvendige OpenGL-utvidelser. Vennligst sørg for at du har den nyeste grafikkdriveren.&lt;br&gt;&lt;br&gt;GL-renderer: &lt;br&gt;%1&lt;br&gt;&lt;br&gt;Ikke-støttede utvidelser:&lt;br&gt;%2</translation>
</message>
+10 -10
View File
@@ -5658,44 +5658,44 @@ Please go to Configure -&gt; System -&gt; Network and make a selection.</source>
<context>
<name>GRenderWindow</name>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1009"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1026"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1008"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1025"/>
<source>OpenGL not available!</source>
<translation>OpenGL niet beschikbaar!</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1010"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1009"/>
<source>OpenGL shared contexts are not supported.</source>
<translation>OpenGL gedeelde contexten worden niet ondersteund.</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1027"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1026"/>
<source>Eden has not been compiled with OpenGL support.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1051"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1067"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1050"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1066"/>
<source>Error while initializing OpenGL!</source>
<translation>Fout tijdens het initialiseren van OpenGL!</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1052"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1051"/>
<source>Your GPU may not support OpenGL, or you do not have the latest graphics driver.</source>
<translation>Je GPU ondersteunt mogelijk geen OpenGL, of je hebt niet de laatste grafische stuurprogramma.</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1059"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1058"/>
<source>Error while initializing OpenGL 4.6!</source>
<translation>Fout tijdens het initialiseren van OpenGL 4.6!</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1060"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1059"/>
<source>Your GPU may not support OpenGL 4.6, or you do not have the latest graphics driver.&lt;br&gt;&lt;br&gt;GL Renderer:&lt;br&gt;%1</source>
<translation>Je GPU ondersteunt mogelijk OpenGL 4.6 niet, of je hebt niet het laatste grafische stuurprogramma.&lt;br&gt;&lt;br&gt;GL Renderer:&lt;br&gt;%1</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1068"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1067"/>
<source>Your GPU may not support one or more required OpenGL extensions. Please ensure you have the latest graphics driver.&lt;br&gt;&lt;br&gt;GL Renderer:&lt;br&gt;%1&lt;br&gt;&lt;br&gt;Unsupported extensions:&lt;br&gt;%2</source>
<translation>Je GPU ondersteunt mogelijk een of meer vereiste OpenGL-extensies niet. Zorg ervoor dat je het laatste grafische stuurprogramma hebt.&lt;br&gt;&lt;br&gt;GL Renderer:&lt;br&gt;%1&lt;br&gt;&lt;br&gt;Ondersteunde extensies:&lt;br&gt;%2</translation>
</message>
+12 -12
View File
@@ -5723,44 +5723,44 @@ Przejdź do sekcji Konfiguracja -&gt; System -&gt; Sieć i dokonaj wyboru.</tran
<context>
<name>GRenderWindow</name>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1009"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1026"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1008"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1025"/>
<source>OpenGL not available!</source>
<translation>OpenGL niedostępny!</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1010"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1009"/>
<source>OpenGL shared contexts are not supported.</source>
<translation>Współdzielone konteksty OpenGL nie obsługiwane.</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1027"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1026"/>
<source>Eden has not been compiled with OpenGL support.</source>
<translation>Eden nie został skompilowany z obsługą OpenGL.</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1051"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1067"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1050"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1066"/>
<source>Error while initializing OpenGL!</source>
<translation>Błąd podczas inicjowania OpenGL!</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1052"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1051"/>
<source>Your GPU may not support OpenGL, or you do not have the latest graphics driver.</source>
<translation>Twoja karta graficzna może nie obsługiwać OpenGL lub nie masz najnowszych sterowników karty graficznej.</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1059"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1058"/>
<source>Error while initializing OpenGL 4.6!</source>
<translation>Błąd podczas inicjowania OpenGL 4.6!</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1060"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1059"/>
<source>Your GPU may not support OpenGL 4.6, or you do not have the latest graphics driver.&lt;br&gt;&lt;br&gt;GL Renderer:&lt;br&gt;%1</source>
<translation>Twoja karta graficzna może nie obsługiwać OpenGL 4.6 lub nie masz najnowszych sterowników karty graficznej.&lt;br&gt;&lt;br&gt;GL Renderer:&lt;br&gt;%1</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1068"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1067"/>
<source>Your GPU may not support one or more required OpenGL extensions. Please ensure you have the latest graphics driver.&lt;br&gt;&lt;br&gt;GL Renderer:&lt;br&gt;%1&lt;br&gt;&lt;br&gt;Unsupported extensions:&lt;br&gt;%2</source>
<translation>Twoja karta graficzna może nie obsługiwać co najmniej jednego wymaganego rozszerzenia OpenGL. Upewnij się, że masz najnowsze sterowniki karty graficznej&lt;br&gt;&lt;br&gt;GL Renderer:&lt;br&gt;%1&lt;br&gt;&lt;br&gt;Nieobsługiwane rozszerzenia:&lt;br&gt;%2</translation>
</message>
@@ -7354,12 +7354,12 @@ Proszę, używaj tej funkcji tylko do instalowania łatek i DLC.</translation>
<message>
<location filename="../../src/yuzu/main_window.cpp" line="3234"/>
<source>Function Disabled</source>
<translation type="unfinished"/>
<translation>Funkcja wyłączona</translation>
</message>
<message>
<location filename="../../src/yuzu/main_window.cpp" line="3235"/>
<source>Compatibility list reporting is currently disabled. Check back later!</source>
<translation type="unfinished"/>
<translation>Zgłaszanie do listy kompatybilności jest obecnie wyłączone. Spróbuj ponownie później!</translation>
</message>
<message>
<location filename="../../src/yuzu/main_window.cpp" line="3273"/>
+10 -10
View File
@@ -5668,44 +5668,44 @@ Please go to Configure -&gt; System -&gt; Network and make a selection.</source>
<context>
<name>GRenderWindow</name>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1009"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1026"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1008"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1025"/>
<source>OpenGL not available!</source>
<translation>OpenGL não está disponível!</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1010"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1009"/>
<source>OpenGL shared contexts are not supported.</source>
<translation>Shared contexts do OpenGL não são suportados.</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1027"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1026"/>
<source>Eden has not been compiled with OpenGL support.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1051"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1067"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1050"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1066"/>
<source>Error while initializing OpenGL!</source>
<translation>Erro ao inicializar OpenGL!</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1052"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1051"/>
<source>Your GPU may not support OpenGL, or you do not have the latest graphics driver.</source>
<translation>O seu GPU pode não suportar OpenGL, ou não tem os drivers gráficos mais recentes.</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1059"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1058"/>
<source>Error while initializing OpenGL 4.6!</source>
<translation>Erro ao inicializar o OpenGL 4.6!</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1060"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1059"/>
<source>Your GPU may not support OpenGL 4.6, or you do not have the latest graphics driver.&lt;br&gt;&lt;br&gt;GL Renderer:&lt;br&gt;%1</source>
<translation>O teu GPU pode não suportar OpenGL 4.6, ou não tem os drivers gráficos mais recentes.</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1068"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1067"/>
<source>Your GPU may not support one or more required OpenGL extensions. Please ensure you have the latest graphics driver.&lt;br&gt;&lt;br&gt;GL Renderer:&lt;br&gt;%1&lt;br&gt;&lt;br&gt;Unsupported extensions:&lt;br&gt;%2</source>
<translation>Sua GPU pode não suportar uma ou mais extensões necessárias do OpenGL. Verifique se você possui a última versão dos drivers gráficos.&lt;br&gt;&lt;br&gt;Renderizador GL:&lt;br&gt;%1&lt;br&gt;&lt;br&gt;Extensões não suportadas:&lt;br&gt;%2</translation>
</message>
+10 -10
View File
@@ -5661,44 +5661,44 @@ Please go to Configure -&gt; System -&gt; Network and make a selection.</source>
<context>
<name>GRenderWindow</name>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1009"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1026"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1008"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1025"/>
<source>OpenGL not available!</source>
<translation>OpenGL não está disponível!</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1010"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1009"/>
<source>OpenGL shared contexts are not supported.</source>
<translation>Shared contexts do OpenGL não são suportados.</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1027"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1026"/>
<source>Eden has not been compiled with OpenGL support.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1051"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1067"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1050"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1066"/>
<source>Error while initializing OpenGL!</source>
<translation>Erro ao inicializar OpenGL!</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1052"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1051"/>
<source>Your GPU may not support OpenGL, or you do not have the latest graphics driver.</source>
<translation>O seu GPU pode não suportar OpenGL, ou não tem os drivers gráficos mais recentes.</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1059"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1058"/>
<source>Error while initializing OpenGL 4.6!</source>
<translation>Erro ao inicializar o OpenGL 4.6!</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1060"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1059"/>
<source>Your GPU may not support OpenGL 4.6, or you do not have the latest graphics driver.&lt;br&gt;&lt;br&gt;GL Renderer:&lt;br&gt;%1</source>
<translation>O teu GPU pode não suportar OpenGL 4.6, ou não tem os drivers gráficos mais recentes.</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1068"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1067"/>
<source>Your GPU may not support one or more required OpenGL extensions. Please ensure you have the latest graphics driver.&lt;br&gt;&lt;br&gt;GL Renderer:&lt;br&gt;%1&lt;br&gt;&lt;br&gt;Unsupported extensions:&lt;br&gt;%2</source>
<translation>Sua GPU pode não suportar uma ou mais extensões necessárias do OpenGL. Verifique se você possui a última versão dos drivers gráficos.&lt;br&gt;&lt;br&gt;Renderizador GL:&lt;br&gt;%1&lt;br&gt;&lt;br&gt;Extensões não suportadas:&lt;br&gt;%2</translation>
</message>
+10 -10
View File
@@ -5725,44 +5725,44 @@ Please go to Configure -&gt; System -&gt; Network and make a selection.</source>
<context>
<name>GRenderWindow</name>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1009"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1026"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1008"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1025"/>
<source>OpenGL not available!</source>
<translation>OpenGL не доступен!</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1010"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1009"/>
<source>OpenGL shared contexts are not supported.</source>
<translation>Общие контексты OpenGL не поддерживаются.</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1027"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1026"/>
<source>Eden has not been compiled with OpenGL support.</source>
<translation>Eden не был скомпилирован с поддержкой OpenGL.</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1051"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1067"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1050"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1066"/>
<source>Error while initializing OpenGL!</source>
<translation>Ошибка при инициализации OpenGL!</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1052"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1051"/>
<source>Your GPU may not support OpenGL, or you do not have the latest graphics driver.</source>
<translation>Ваш ГП может не поддерживать OpenGL, или у вас установлен устаревший графический драйвер.</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1059"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1058"/>
<source>Error while initializing OpenGL 4.6!</source>
<translation>Ошибка при инициализации OpenGL 4.6!</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1060"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1059"/>
<source>Your GPU may not support OpenGL 4.6, or you do not have the latest graphics driver.&lt;br&gt;&lt;br&gt;GL Renderer:&lt;br&gt;%1</source>
<translation>Ваш ГП может не поддерживать OpenGL 4.6, или у вас установлен устаревший графический драйвер.&lt;br&gt;&lt;br&gt;Рендерер GL:&lt;br&gt;%1</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1068"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1067"/>
<source>Your GPU may not support one or more required OpenGL extensions. Please ensure you have the latest graphics driver.&lt;br&gt;&lt;br&gt;GL Renderer:&lt;br&gt;%1&lt;br&gt;&lt;br&gt;Unsupported extensions:&lt;br&gt;%2</source>
<translation>Ваш ГП может не поддерживать одно или несколько требуемых расширений OpenGL. Пожалуйста, убедитесь в том, что у вас установлен последний графический драйвер.&lt;br&gt;&lt;br&gt;Рендерер GL:&lt;br&gt;%1&lt;br&gt;&lt;br&gt;Неподдерживаемые расширения:&lt;br&gt;%2</translation>
</message>
+12 -12
View File
@@ -5731,44 +5731,44 @@ Gå till Konfigurera -&gt; System -&gt; Nätverk och gör ett val.</translation>
<context>
<name>GRenderWindow</name>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1009"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1026"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1008"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1025"/>
<source>OpenGL not available!</source>
<translation>OpenGL är inte tillgängligt!</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1010"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1009"/>
<source>OpenGL shared contexts are not supported.</source>
<translation>Delade OpenGL-kontexter stöds inte.</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1027"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1026"/>
<source>Eden has not been compiled with OpenGL support.</source>
<translation>Eden har inte kompilerats med OpenGL-stöd.</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1051"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1067"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1050"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1066"/>
<source>Error while initializing OpenGL!</source>
<translation>Fel vid initiering av OpenGL!</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1052"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1051"/>
<source>Your GPU may not support OpenGL, or you do not have the latest graphics driver.</source>
<translation>Din GPU kanske inte stöder OpenGL, eller har du inte den senaste grafikdrivrutinen.</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1059"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1058"/>
<source>Error while initializing OpenGL 4.6!</source>
<translation>Fel vid initiering av OpenGL 4.6!</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1060"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1059"/>
<source>Your GPU may not support OpenGL 4.6, or you do not have the latest graphics driver.&lt;br&gt;&lt;br&gt;GL Renderer:&lt;br&gt;%1</source>
<translation>Din GPU kanske inte stöder OpenGL 4.6, eller har du inte den senaste grafikdrivrutinen.&lt;br&gt;&lt;br&gt;GL Renderer:&lt;br&gt;%1</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1068"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1067"/>
<source>Your GPU may not support one or more required OpenGL extensions. Please ensure you have the latest graphics driver.&lt;br&gt;&lt;br&gt;GL Renderer:&lt;br&gt;%1&lt;br&gt;&lt;br&gt;Unsupported extensions:&lt;br&gt;%2</source>
<translation>Din GPU kanske inte stöder ett eller flera av de nödvändiga OpenGL-tilläggen. Se till att du har den senaste grafikdrivrutinen.&lt;br&gt;&lt;br&gt;GL Renderer:&lt;br&gt;%1&lt;br&gt;&lt;br&gt;Tillägg som inte stöds:&lt;br&gt;%2</translation>
</message>
@@ -7355,12 +7355,12 @@ Använd endast denna funktion för att installera uppdateringar och DLC.</transl
<message>
<location filename="../../src/yuzu/main_window.cpp" line="3234"/>
<source>Function Disabled</source>
<translation type="unfinished"/>
<translation>Funktion inaktiverad</translation>
</message>
<message>
<location filename="../../src/yuzu/main_window.cpp" line="3235"/>
<source>Compatibility list reporting is currently disabled. Check back later!</source>
<translation type="unfinished"/>
<translation>Rapportering till kompatibilitetslistan är för närvarande inaktiverad. Kom tillbaka senare!</translation>
</message>
<message>
<location filename="../../src/yuzu/main_window.cpp" line="3273"/>
+10 -10
View File
@@ -5657,44 +5657,44 @@ Please go to Configure -&gt; System -&gt; Network and make a selection.</source>
<context>
<name>GRenderWindow</name>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1009"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1026"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1008"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1025"/>
<source>OpenGL not available!</source>
<translation>OpenGL kullanıma uygun değil!</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1010"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1009"/>
<source>OpenGL shared contexts are not supported.</source>
<translation>OpenGL paylaşılan bağlam desteklenmiyor.</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1027"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1026"/>
<source>Eden has not been compiled with OpenGL support.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1051"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1067"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1050"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1066"/>
<source>Error while initializing OpenGL!</source>
<translation>OpenGl başlatılırken bir hata oluştu!</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1052"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1051"/>
<source>Your GPU may not support OpenGL, or you do not have the latest graphics driver.</source>
<translation>GPU&apos;nuz OpenGL desteklemiyor veya güncel bir grafik sürücüsüne sahip değilsiniz.</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1059"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1058"/>
<source>Error while initializing OpenGL 4.6!</source>
<translation>OpenGl 4.6 başlatılırken bir hata oluştu!</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1060"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1059"/>
<source>Your GPU may not support OpenGL 4.6, or you do not have the latest graphics driver.&lt;br&gt;&lt;br&gt;GL Renderer:&lt;br&gt;%1</source>
<translation>GPU&apos;nuz OpenGL 4.6&apos;yı desteklemiyor veya güncel bir grafik sürücüsüne sahip değilsiniz.&lt;br&gt;&lt;br&gt;GL Renderer:&lt;br&gt;%1</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1068"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1067"/>
<source>Your GPU may not support one or more required OpenGL extensions. Please ensure you have the latest graphics driver.&lt;br&gt;&lt;br&gt;GL Renderer:&lt;br&gt;%1&lt;br&gt;&lt;br&gt;Unsupported extensions:&lt;br&gt;%2</source>
<translation>GPU&apos;nuz gereken bir yada daha fazla OpenGL eklentisini desteklemiyor Lütfen güncel bir grafik sürücüsüne sahip olduğunuzdan emin olun.&lt;br&gt;&lt;br&gt;GL Renderer:&lt;br&gt;%1&lt;br&gt;&lt;br&gt; Desteklenmeyen Eklentiler:&lt;br&gt;%2</translation>
</message>
+32 -32
View File
@@ -4592,7 +4592,7 @@ Current values are %1% and %2% respectively.</source>
<message>
<location filename="../../src/yuzu/configuration/configure_profile_manager.cpp" line="297"/>
<source>Error deleting image</source>
<translation>Помилка видалення зображення</translation>
<translation>Помилка під час видалення зображення</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_profile_manager.cpp" line="298"/>
@@ -4602,7 +4602,7 @@ Current values are %1% and %2% respectively.</source>
<message>
<location filename="../../src/yuzu/configuration/configure_profile_manager.cpp" line="306"/>
<source>Error deleting file</source>
<translation>Помилка видалення файлу</translation>
<translation>Помилка під час видалення файлу</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_profile_manager.cpp" line="307"/>
@@ -4612,7 +4612,7 @@ Current values are %1% and %2% respectively.</source>
<message>
<location filename="../../src/yuzu/configuration/configure_profile_manager.cpp" line="314"/>
<source>Error creating user image directory</source>
<translation>Помилка створення теки користувацьких зображень</translation>
<translation>Помилка під час створення теки користувацьких зображень</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_profile_manager.cpp" line="315"/>
@@ -4622,7 +4622,7 @@ Current values are %1% and %2% respectively.</source>
<message>
<location filename="../../src/yuzu/configuration/configure_profile_manager.cpp" line="320"/>
<source>Error saving user image</source>
<translation>Помилка збереження зображення користувача</translation>
<translation>Помилка під час збереження зображення користувача</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_profile_manager.cpp" line="321"/>
@@ -4653,7 +4653,7 @@ Current values are %1% and %2% respectively.</source>
<location filename="../../src/yuzu/configuration/configure_profile_manager.cpp" line="369"/>
<location filename="../../src/yuzu/configuration/configure_profile_manager.cpp" line="375"/>
<source>Error loading archive</source>
<translation>Помилка завантаження архіву</translation>
<translation>Помилка під час завантаження архіву</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_profile_manager.cpp" line="370"/>
@@ -4668,7 +4668,7 @@ Current values are %1% and %2% respectively.</source>
<message>
<location filename="../../src/yuzu/configuration/configure_profile_manager.cpp" line="381"/>
<source>Error extracting archive</source>
<translation>Помилка видобування архіву</translation>
<translation>Помилка під час видобування архіву</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_profile_manager.cpp" line="382"/>
@@ -4678,7 +4678,7 @@ Current values are %1% and %2% respectively.</source>
<message>
<location filename="../../src/yuzu/configuration/configure_profile_manager.cpp" line="387"/>
<source>Error finding image directory</source>
<translation>Помилка виявлення теки зображень</translation>
<translation>Помилка під час виявлення теки зображень</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_profile_manager.cpp" line="388"/>
@@ -4829,7 +4829,7 @@ UUID: %2</translation>
<message>
<location filename="../../src/yuzu/configuration/configure_ringcon.cpp" line="282"/>
<source>Error enabling ring input</source>
<translation>Помилка увімкнення введення Ring</translation>
<translation>Помилка під час увімкнення введення Ring</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_ringcon.cpp" line="288"/>
@@ -5726,44 +5726,44 @@ Please go to Configure -&gt; System -&gt; Network and make a selection.</source>
<context>
<name>GRenderWindow</name>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1009"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1026"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1008"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1025"/>
<source>OpenGL not available!</source>
<translation>OpenGL недоступний!</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1010"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1009"/>
<source>OpenGL shared contexts are not supported.</source>
<translation>Спільні контексти OpenGL не підтримуються.</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1027"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1026"/>
<source>Eden has not been compiled with OpenGL support.</source>
<translation>Eden не скомпільовано з підтримкою OpenGL.</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1051"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1067"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1050"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1066"/>
<source>Error while initializing OpenGL!</source>
<translation>Помилка під час ініціалізації OpenGL!</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1052"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1051"/>
<source>Your GPU may not support OpenGL, or you do not have the latest graphics driver.</source>
<translation>Ваш ГП може не підтримувати OpenGL або у вас встановлено застарілий графічний драйвер.</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1059"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1058"/>
<source>Error while initializing OpenGL 4.6!</source>
<translation>Помилка під час ініціалізації OpenGL 4.6!</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1060"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1059"/>
<source>Your GPU may not support OpenGL 4.6, or you do not have the latest graphics driver.&lt;br&gt;&lt;br&gt;GL Renderer:&lt;br&gt;%1</source>
<translation>Ваш ГП може не підтримувати OpenGL 4.6 або у вас встановлено застарілий графічний драйвер.&lt;br&gt;&lt;br&gt;Візуалізатор GL:&lt;br&gt;%1</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1068"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1067"/>
<source>Your GPU may not support one or more required OpenGL extensions. Please ensure you have the latest graphics driver.&lt;br&gt;&lt;br&gt;GL Renderer:&lt;br&gt;%1&lt;br&gt;&lt;br&gt;Unsupported extensions:&lt;br&gt;%2</source>
<translation>Ваш ГП може не підтримувати одне або кілька розширень, необхідних для OpenGL. Переконайтеся, що у вас встановлено останній графічний драйвер.&lt;br&gt;&lt;br&gt;Візуалізатор GL:&lt;br&gt;%1&lt;br&gt;&lt;br&gt;Непідтримувані розширення:&lt;br&gt;%2</translation>
</message>
@@ -7037,7 +7037,7 @@ Debug Message: </source>
<message>
<location filename="../../src/yuzu/main_window.cpp" line="2427"/>
<source>Error Opening %1 Folder</source>
<translation>Помилка відкриття теки «%1»</translation>
<translation>Помилка під час відкриття теки «%1»</translation>
</message>
<message>
<location filename="../../src/yuzu/main_window.cpp" line="2428"/>
@@ -7165,7 +7165,7 @@ Debug Message: </source>
<message>
<location filename="../../src/yuzu/main_window.cpp" line="2772"/>
<source>Error Opening %1</source>
<translation>Помилка відкриття «%1»</translation>
<translation>Помилка під час відкриття «%1»</translation>
</message>
<message>
<location filename="../../src/yuzu/main_window.cpp" line="2781"/>
@@ -7356,17 +7356,17 @@ Please, only use this feature to install updates and DLC.</source>
<message>
<location filename="../../src/yuzu/main_window.cpp" line="3234"/>
<source>Function Disabled</source>
<translation type="unfinished"/>
<translation>Функцію вимкнену</translation>
</message>
<message>
<location filename="../../src/yuzu/main_window.cpp" line="3235"/>
<source>Compatibility list reporting is currently disabled. Check back later!</source>
<translation type="unfinished"/>
<translation>Звітування для переліку сумісності наразі вимкнено. Зазирніть пізніше!</translation>
</message>
<message>
<location filename="../../src/yuzu/main_window.cpp" line="3273"/>
<source>Error opening URL</source>
<translation>Помилка відкриття URL</translation>
<translation>Помилка під час відкриття URL</translation>
</message>
<message>
<location filename="../../src/yuzu/main_window.cpp" line="3274"/>
@@ -7429,7 +7429,7 @@ Please, only use this feature to install updates and DLC.</source>
<message>
<location filename="../../src/yuzu/main_window.cpp" line="3797"/>
<source>Error loading Amiibo data</source>
<translation>Помилка завантаження даних amiibo</translation>
<translation>Помилка під час завантаження даних amiibo</translation>
</message>
<message>
<location filename="../../src/yuzu/main_window.cpp" line="3807"/>
@@ -9032,17 +9032,17 @@ To:
<message>
<location filename="../../src/qt_common/util/game.cpp" line="209"/>
<source>Error Removing Contents</source>
<translation>Помилка вилучення вмісту</translation>
<translation>Помилка під час вилучення вмісту</translation>
</message>
<message>
<location filename="../../src/qt_common/util/game.cpp" line="211"/>
<source>Error Removing Update</source>
<translation>Помилка вилучення оновлення</translation>
<translation>Помилка під час вилучення оновлення</translation>
</message>
<message>
<location filename="../../src/qt_common/util/game.cpp" line="213"/>
<source>Error Removing DLC</source>
<translation>Помилка вилучення доповнення</translation>
<translation>Помилка під час вилучення доповнення</translation>
</message>
<message>
<location filename="../../src/qt_common/util/game.cpp" line="225"/>
@@ -9088,7 +9088,7 @@ To:
<location filename="../../src/qt_common/util/game.cpp" line="279"/>
<location filename="../../src/qt_common/util/game.cpp" line="287"/>
<source>Error Removing Transferable Shader Cache</source>
<translation>Помилка вилучення переміщуваного кешу шейдерів</translation>
<translation>Помилка під час вилучення переміщуваного кешу шейдерів</translation>
</message>
<message>
<location filename="../../src/qt_common/util/game.cpp" line="280"/>
@@ -9109,7 +9109,7 @@ To:
<message>
<location filename="../../src/qt_common/util/game.cpp" line="304"/>
<source>Error Removing Vulkan Driver Pipeline Cache</source>
<translation>Помилка вилучення кешу конвеєра драйвера Vulkan</translation>
<translation>Помилка під час вилучення кешу конвеєра драйвера Vulkan</translation>
</message>
<message>
<location filename="../../src/qt_common/util/game.cpp" line="305"/>
@@ -9120,7 +9120,7 @@ To:
<location filename="../../src/qt_common/util/game.cpp" line="315"/>
<location filename="../../src/qt_common/util/game.cpp" line="325"/>
<source>Error Removing Transferable Shader Caches</source>
<translation>Помилка вилучення переміщуваних кешів шейдерів</translation>
<translation>Помилка під час вилучення переміщуваних кешів шейдерів</translation>
</message>
<message>
<location filename="../../src/qt_common/util/game.cpp" line="321"/>
@@ -9136,7 +9136,7 @@ To:
<location filename="../../src/qt_common/util/game.cpp" line="340"/>
<location filename="../../src/qt_common/util/game.cpp" line="349"/>
<source>Error Removing Custom Configuration</source>
<translation>Помилка вилучення користувацього налаштування</translation>
<translation>Помилка під час вилучення користувацього налаштування</translation>
</message>
<message>
<location filename="../../src/qt_common/util/game.cpp" line="341"/>
@@ -9249,7 +9249,7 @@ To:
<message>
<location filename="../../src/qt_common/util/path.cpp" line="21"/>
<source>Error Opening Shader Cache</source>
<translation>Помилка відкривання кешу шейдерів</translation>
<translation>Помилка під час відкривання кешу шейдерів</translation>
</message>
<message>
<location filename="../../src/qt_common/util/path.cpp" line="22"/>
+10 -10
View File
@@ -5660,44 +5660,44 @@ Please go to Configure -&gt; System -&gt; Network and make a selection.</source>
<context>
<name>GRenderWindow</name>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1009"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1026"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1008"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1025"/>
<source>OpenGL not available!</source>
<translation>OpenGL không khả dụng!</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1010"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1009"/>
<source>OpenGL shared contexts are not supported.</source>
<translation>Các ngữ cảnh OpenGL chung không đưc hỗ trợ.</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1027"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1026"/>
<source>Eden has not been compiled with OpenGL support.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1051"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1067"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1050"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1066"/>
<source>Error while initializing OpenGL!</source>
<translation>Lỗi khi khởi tạo OpenGL!</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1052"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1051"/>
<source>Your GPU may not support OpenGL, or you do not have the latest graphics driver.</source>
<translation>GPU của bạn thể không hỗ trợ OpenGL, hoặc bạn không driver đ hoạ mới nhất.</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1059"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1058"/>
<source>Error while initializing OpenGL 4.6!</source>
<translation>Lỗi khi khởi tạo OpenGL 4.6!</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1060"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1059"/>
<source>Your GPU may not support OpenGL 4.6, or you do not have the latest graphics driver.&lt;br&gt;&lt;br&gt;GL Renderer:&lt;br&gt;%1</source>
<translation>GPU của bạn thể không hỗ trợ OpenGL 4.6, hoặc bạn không driver đ hoạ mới nhất.&lt;br&gt;&lt;br&gt;GL Renderer:&lt;br&gt;%1</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1068"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1067"/>
<source>Your GPU may not support one or more required OpenGL extensions. Please ensure you have the latest graphics driver.&lt;br&gt;&lt;br&gt;GL Renderer:&lt;br&gt;%1&lt;br&gt;&lt;br&gt;Unsupported extensions:&lt;br&gt;%2</source>
<translation>GPU của bạn thể không hỗ trợ một hoặc nhiều tiện ích OpenGL cần thiết. Vui lòng đm bảo bạn driver đ hoạ mới nhất.&lt;br&gt;&lt;br&gt;GL Renderer:&lt;br&gt;%1&lt;br&gt;&lt;br&gt;Tiện ích không hỗ trợ:&lt;br&gt;%2</translation>
</message>
+10 -10
View File
@@ -5661,44 +5661,44 @@ Please go to Configure -&gt; System -&gt; Network and make a selection.</source>
<context>
<name>GRenderWindow</name>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1009"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1026"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1008"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1025"/>
<source>OpenGL not available!</source>
<translation>Không sẵn OpenGL!</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1010"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1009"/>
<source>OpenGL shared contexts are not supported.</source>
<translation>Các ngữ cảnh OpenGL chung không đưc hỗ trợ.</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1027"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1026"/>
<source>Eden has not been compiled with OpenGL support.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1051"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1067"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1050"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1066"/>
<source>Error while initializing OpenGL!</source>
<translation>Đã xảy ra lỗi khi khởi tạo OpenGL!</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1052"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1051"/>
<source>Your GPU may not support OpenGL, or you do not have the latest graphics driver.</source>
<translation>GPU của bạn thể không hỗ trợ OpenGL, hoặc bạn không driver đ hoạ mới nhất.</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1059"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1058"/>
<source>Error while initializing OpenGL 4.6!</source>
<translation>Lỗi khi khởi tạo OpenGL 4.6!</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1060"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1059"/>
<source>Your GPU may not support OpenGL 4.6, or you do not have the latest graphics driver.&lt;br&gt;&lt;br&gt;GL Renderer:&lt;br&gt;%1</source>
<translation>GPU của bạn thể không hỗ trợ OpenGL 4.6, hoặc bạn không driver đ hoạ mới nhất.&lt;br&gt;&lt;br&gt;GL Renderer:&lt;br&gt;%1</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1068"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1067"/>
<source>Your GPU may not support one or more required OpenGL extensions. Please ensure you have the latest graphics driver.&lt;br&gt;&lt;br&gt;GL Renderer:&lt;br&gt;%1&lt;br&gt;&lt;br&gt;Unsupported extensions:&lt;br&gt;%2</source>
<translation>GPU của bạn thể không hỗ trợ một hoặc nhiều tiện ích OpenGL cần thiết. Vui lòng đm bảo bạn driver đ hoạ mới nhất.&lt;br&gt;&lt;br&gt;GL Renderer:&lt;br&gt;%1&lt;br&gt;&lt;br&gt;Tiện ích không hỗ trợ:&lt;br&gt;%2</translation>
</message>
+10 -10
View File
@@ -5727,44 +5727,44 @@ Please go to Configure -&gt; System -&gt; Network and make a selection.</source>
<context>
<name>GRenderWindow</name>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1009"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1026"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1008"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1025"/>
<source>OpenGL not available!</source>
<translation>OpenGL </translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1010"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1009"/>
<source>OpenGL shared contexts are not supported.</source>
<translation> OpenGL </translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1027"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1026"/>
<source>Eden has not been compiled with OpenGL support.</source>
<translation>Eden OpenGL</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1051"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1067"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1050"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1066"/>
<source>Error while initializing OpenGL!</source>
<translation> OpenGL </translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1052"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1051"/>
<source>Your GPU may not support OpenGL, or you do not have the latest graphics driver.</source>
<translation> GPU OpenGL </translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1059"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1058"/>
<source>Error while initializing OpenGL 4.6!</source>
<translation> OpenGL 4.6 </translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1060"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1059"/>
<source>Your GPU may not support OpenGL 4.6, or you do not have the latest graphics driver.&lt;br&gt;&lt;br&gt;GL Renderer:&lt;br&gt;%1</source>
<translation> GPU OpenGL 4.6 &lt;br&gt;&lt;br&gt;GL &lt;br&gt;%1</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1068"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1067"/>
<source>Your GPU may not support one or more required OpenGL extensions. Please ensure you have the latest graphics driver.&lt;br&gt;&lt;br&gt;GL Renderer:&lt;br&gt;%1&lt;br&gt;&lt;br&gt;Unsupported extensions:&lt;br&gt;%2</source>
<translation> GPU OpenGL &lt;br&gt;&lt;br&gt;GL &lt;br&gt;%1&lt;br&gt;&lt;br&gt;&lt;br&gt;%2</translation>
</message>
+10 -10
View File
@@ -5692,44 +5692,44 @@ Please go to Configure -&gt; System -&gt; Network and make a selection.</source>
<context>
<name>GRenderWindow</name>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1009"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1026"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1008"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1025"/>
<source>OpenGL not available!</source>
<translation>使 OpenGL </translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1010"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1009"/>
<source>OpenGL shared contexts are not supported.</source>
<translation> OpenGL </translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1027"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1026"/>
<source>Eden has not been compiled with OpenGL support.</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1051"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1067"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1050"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1066"/>
<source>Error while initializing OpenGL!</source>
<translation> OpenGL </translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1052"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1051"/>
<source>Your GPU may not support OpenGL, or you do not have the latest graphics driver.</source>
<translation> GPU OpenGL</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1059"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1058"/>
<source>Error while initializing OpenGL 4.6!</source>
<translation> OpenGL 4.6 </translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1060"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1059"/>
<source>Your GPU may not support OpenGL 4.6, or you do not have the latest graphics driver.&lt;br&gt;&lt;br&gt;GL Renderer:&lt;br&gt;%1</source>
<translation> GPU OpenGL 4.6&lt;br&gt;&lt;br&gt;GL &lt;br&gt;%1</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1068"/>
<location filename="../../src/yuzu/bootmanager.cpp" line="1067"/>
<source>Your GPU may not support one or more required OpenGL extensions. Please ensure you have the latest graphics driver.&lt;br&gt;&lt;br&gt;GL Renderer:&lt;br&gt;%1&lt;br&gt;&lt;br&gt;Unsupported extensions:&lt;br&gt;%2</source>
<translation> GPU OpenGL &lt;br&gt;&lt;br&gt;GL &lt;br&gt;%1&lt;br&gt;&lt;br&gt;&lt;br&gt;%2</translation>
</message>
Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

After

Width:  |  Height:  |  Size: 62 KiB

BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 256 KiB

After

Width:  |  Height:  |  Size: 256 KiB

+38 -49
View File
@@ -61,7 +61,6 @@ android {
minSdk = 24
targetSdk = 36
versionName = getGitVersion()
versionCode = autoVersion
ndk {
@@ -69,9 +68,6 @@ android {
abiFilters += listOf("arm64-v8a")
}
buildConfigField("String", "GIT_HASH", "\"${getGitHash()}\"")
buildConfigField("String", "BRANCH", "\"${getBranch()}\"")
externalNativeBuild {
cmake {
val extraCMakeArgs =
@@ -92,14 +88,14 @@ android {
"-DYUZU_TESTS=OFF",
"-DDYNARMIC_TESTS=OFF",
*extraCMakeArgs.toTypedArray()
))
)
)
abiFilters("arm64-v8a")
}
}
}
val keystoreFile = System.getenv("ANDROID_KEYSTORE_FILE")
signingConfigs {
if (keystoreFile != null) {
@@ -162,7 +158,39 @@ android {
}
}
// this is really annoying but idk any other ways to fix this behavior
flavorDimensions.add("version")
productFlavors {
create("mainline") {
dimension = "version"
resValue("string", "app_name_suffixed", "Eden")
}
create("genshinSpoof") {
dimension = "version"
resValue("string", "app_name_suffixed", "Eden Optimized")
applicationId = "com.miHoYo.Yuanshen"
}
create("legacy") {
dimension = "version"
resValue("string", "app_name_suffixed", "Eden Legacy")
applicationId = "dev.legacy.eden_emulator"
externalNativeBuild {
cmake {
arguments.add("-DYUZU_LEGACY=ON")
}
}
sourceSets {
getByName("legacy") {
res.srcDirs("src/main/legacy")
}
}
}
}
// this is really annoying but idk any other ways to fix this behavior
applicationVariants.all {
val variant = this
when {
@@ -187,40 +215,6 @@ android {
}
}
android {
flavorDimensions.add("version")
productFlavors {
create("mainline") {
dimension = "version"
resValue("string", "app_name_suffixed", "Eden")
}
create("genshinSpoof") {
dimension = "version"
resValue("string", "app_name_suffixed", "Eden Optimized")
applicationId = "com.miHoYo.Yuanshen"
}
create("legacy") {
dimension = "version"
resValue("string", "app_name_suffixed", "Eden Legacy")
applicationId = "dev.legacy.eden_emulator"
externalNativeBuild {
cmake {
arguments.add("-DYUZU_LEGACY=ON")
}
}
sourceSets {
getByName("legacy") {
res.srcDirs("src/main/legacy")
}
}
}
}
}
externalNativeBuild {
cmake {
version = "3.22.1"
@@ -284,7 +278,6 @@ dependencies {
implementation("androidx.core:core-splashscreen:1.0.1")
implementation("com.fasterxml.jackson.module:jackson-module-kotlin:2.17.2")
implementation("androidx.window:window:1.3.0")
implementation("androidx.constraintlayout:constraintlayout:2.2.1")
implementation("androidx.swiperefreshlayout:swiperefreshlayout:1.1.0")
implementation("org.commonmark:commonmark:0.22.0")
implementation("androidx.navigation:navigation-fragment-ktx:2.8.9")
@@ -302,7 +295,9 @@ fun runGitCommand(command: List<String>): String {
.directory(project.rootDir)
.redirectOutput(ProcessBuilder.Redirect.PIPE)
.redirectError(ProcessBuilder.Redirect.PIPE)
.start().inputStream.bufferedReader().use { it.readText() }
.start()
.inputStream.bufferedReader()
.use { it.readText() }
.trim()
} catch (e: Exception) {
logger.error("Cannot find git")
@@ -326,9 +321,3 @@ fun getGitVersion(): String {
}
return versionName.ifEmpty { "0.0" }
}
fun getGitHash(): String =
runGitCommand(listOf("git", "rev-parse", "--short", "HEAD")).ifEmpty { "dummy-hash" }
fun getBranch(): String =
runGitCommand(listOf("git", "rev-parse", "--abbrev-ref", "HEAD")).ifEmpty { "dummy-hash" }
+11 -2
View File
@@ -29,8 +29,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
<uses-permission android:name="android.permission.BLUETOOTH_SCAN" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_SPECIAL_USE" />
<uses-permission android:name="android.permission.BLUETOOTH" android:maxSdkVersion="30" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" android:maxSdkVersion="30" />
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
<application
android:name="org.yuzu.yuzu_emu.YuzuApplication"
@@ -110,5 +109,15 @@ SPDX-License-Identifier: GPL-3.0-or-later
</intent-filter>
</provider>
<provider
android:name="androidx.core.content.FileProvider"
android:authorities="${applicationId}.provider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/file_paths" />
</provider>
</application>
</manifest>
@@ -222,11 +222,21 @@ object NativeLibrary {
*/
external fun getUpdateUrl(version: String): String
/**
* Return the URL to download the APK for the given version
*/
external fun getUpdateApkUrl(version: String, packageId: String): String
/**
* Returns whether the update checker is enabled through CMAKE options.
*/
external fun isUpdateCheckerEnabled(): Boolean
/**
* Returns the build version generated by CMake (BUILD_VERSION).
*/
external fun getBuildVersion(): String
enum class CoreError {
ErrorSystemFiles,
ErrorSavestate,
@@ -235,10 +235,13 @@ class EmulationActivity : AppCompatActivity(), SensorEventListener {
}
override fun dispatchKeyEvent(event: KeyEvent): Boolean {
val isPhysicalKeyboard = event.source and InputDevice.SOURCE_KEYBOARD == InputDevice.SOURCE_KEYBOARD &&
event.device?.isVirtual == false
if (event.source and InputDevice.SOURCE_JOYSTICK != InputDevice.SOURCE_JOYSTICK &&
event.source and InputDevice.SOURCE_GAMEPAD != InputDevice.SOURCE_GAMEPAD &&
event.source and InputDevice.SOURCE_KEYBOARD != InputDevice.SOURCE_KEYBOARD &&
event.source and InputDevice.SOURCE_MOUSE != InputDevice.SOURCE_MOUSE
event.source and InputDevice.SOURCE_MOUSE != InputDevice.SOURCE_MOUSE &&
!isPhysicalKeyboard
) {
return super.dispatchKeyEvent(event)
}
@@ -29,6 +29,7 @@ enum class BooleanSetting(override val key: String) : AbstractBooleanSetting {
SYNC_MEMORY_OPERATIONS("sync_memory_operations"),
BUFFER_REORDER_DISABLE("disable_buffer_reorder"),
RENDERER_DEBUG("debug"),
RENDERER_VERTEX_INPUT_DYNAMIC_STATE("vertex_input_dynamic_state"),
RENDERER_PROVOKING_VERTEX("provoking_vertex"),
RENDERER_DESCRIPTOR_INDEXING("descriptor_indexing"),
RENDERER_SAMPLE_SHADING("sample_shading"),
@@ -146,6 +146,13 @@ abstract class SettingsItem(
descriptionId = R.string.provoking_vertex_description
)
)
put(
SwitchSetting(
BooleanSetting.RENDERER_VERTEX_INPUT_DYNAMIC_STATE,
titleId = R.string.vertex_input_dynamic_state,
descriptionId = R.string.vertex_input_dynamic_state_description
)
)
put(
SwitchSetting(
BooleanSetting.RENDERER_DESCRIPTOR_INDEXING,
@@ -755,6 +762,7 @@ abstract class SettingsItem(
SwitchSetting(
BooleanSetting.ENABLE_UPDATE_CHECKS,
titleId = R.string.enable_update_checks,
descriptionId = R.string.enable_update_checks_description,
)
)
put(
@@ -453,6 +453,7 @@ class SettingsFragmentPresenter(
sl.apply {
add(HeaderSetting(R.string.veil_extensions))
add(ByteSetting.RENDERER_DYNA_STATE.key)
add(BooleanSetting.RENDERER_VERTEX_INPUT_DYNAMIC_STATE.key)
add(BooleanSetting.RENDERER_PROVOKING_VERTEX.key)
add(BooleanSetting.RENDERER_DESCRIPTOR_INDEXING.key)
add(BooleanSetting.RENDERER_SAMPLE_SHADING.key)
@@ -29,6 +29,7 @@ import org.yuzu.yuzu_emu.R
import org.yuzu.yuzu_emu.databinding.FragmentAboutBinding
import org.yuzu.yuzu_emu.model.HomeViewModel
import org.yuzu.yuzu_emu.utils.ViewUtils.updateMargins
import org.yuzu.yuzu_emu.NativeLibrary
class AboutFragment : Fragment() {
private var _binding: FragmentAboutBinding? = null
@@ -78,11 +79,15 @@ class AboutFragment : Fragment() {
binding.root.findNavController().navigate(R.id.action_aboutFragment_to_licensesFragment)
}
binding.textVersionName.text = BuildConfig.VERSION_NAME
val buildName = getString(R.string.app_name_suffixed)
val buildVersion = NativeLibrary.getBuildVersion()
val fullVersionText = "$buildName ($buildVersion)"
binding.textVersionName.text = fullVersionText
binding.buttonVersionName.setOnClickListener {
val clipBoard =
requireContext().getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager
val clip = ClipData.newPlainText(getString(R.string.build), BuildConfig.GIT_HASH)
val clip = ClipData.newPlainText(getString(R.string.build), fullVersionText)
clipBoard.setPrimaryClip(clip)
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.TIRAMISU) {
@@ -145,13 +145,12 @@ class GamePropertiesFragment : Fragment() {
val seconds = playTimeSeconds % 60
val readablePlayTime = when {
hours > 0 -> "${hours}h ${minutes}m ${seconds}s"
minutes > 0 -> "${minutes}m ${seconds}s"
else -> "${seconds}s"
}
hours > 0 -> "$hours${getString(R.string.hours_abbr)} $minutes${getString(R.string.minutes_abbr)} $seconds${getString(R.string.seconds_abbr)}"
minutes > 0 -> "$minutes${getString(R.string.minutes_abbr)} $seconds${getString(R.string.seconds_abbr)}"
else -> "$seconds${getString(R.string.seconds_abbr)}"
}
append(getString(R.string.playtime))
append(readablePlayTime)
append(getString(R.string.playtime) + " " + readablePlayTime)
}
binding.playtime.setOnClickListener {
@@ -44,6 +44,17 @@ import androidx.core.content.edit
import androidx.core.view.doOnNextLayout
class GamesFragment : Fragment() {
private lateinit var safRecursiveTimestampWriter: org.yuzu.yuzu_emu.utils.SAFWriter
private val REQUEST_CODE_OPEN_DOCUMENT_TREE = 1001
override fun onActivityResult(requestCode: Int, resultCode: Int, data: android.content.Intent?) {
super.onActivityResult(requestCode, resultCode, data)
if (requestCode == REQUEST_CODE_OPEN_DOCUMENT_TREE && resultCode == android.app.Activity.RESULT_OK) {
val uri = data?.data ?: return
safRecursiveTimestampWriter.handlePermissionResult(uri)
}
}
private var _binding: FragmentGamesBinding? = null
private val binding get() = _binding!!
@@ -53,6 +64,7 @@ class GamesFragment : Fragment() {
private var originalHeaderLeftMargin: Int? = null
private var lastViewType: Int = GameAdapter.VIEW_TYPE_GRID
private var fallbackBottomInset: Int = 0
companion object {
private const val SEARCH_TEXT = "SearchText"
@@ -111,9 +123,25 @@ class GamesFragment : Fragment() {
applyGridGamesBinding()
safRecursiveTimestampWriter = org.yuzu.yuzu_emu.utils.SAFWriter(requireContext())
binding.swipeRefresh.apply {
(binding.swipeRefresh as? SwipeRefreshLayout)?.setOnRefreshListener {
gamesViewModel.reloadGames(false)
safRecursiveTimestampWriter.refreshGamesFolder(
folders = gamesViewModel.folders.value,
requestPermission = { uri ->
val intent = android.content.Intent(android.content.Intent.ACTION_OPEN_DOCUMENT_TREE)
intent.putExtra(android.provider.DocumentsContract.EXTRA_INITIAL_URI, uri)
intent.addFlags(
android.content.Intent.FLAG_GRANT_READ_URI_PERMISSION or
android.content.Intent.FLAG_GRANT_WRITE_URI_PERMISSION or
android.content.Intent.FLAG_GRANT_PERSISTABLE_URI_PERMISSION or
android.content.Intent.FLAG_GRANT_PREFIX_URI_PERMISSION
)
startActivityForResult(intent, REQUEST_CODE_OPEN_DOCUMENT_TREE)
},
reloadGames = { gamesViewModel.reloadGames(false) }
)
}
(binding.swipeRefresh as? SwipeRefreshLayout)?.setProgressBackgroundColorSchemeColor(
com.google.android.material.color.MaterialColors.getColor(
@@ -208,12 +236,12 @@ class GamesFragment : Fragment() {
else -> throw IllegalArgumentException("Invalid view type: $savedViewType")
}
if (savedViewType == GameAdapter.VIEW_TYPE_CAROUSEL) {
doOnNextLayout {
(this as? CarouselRecyclerView)?.setCarouselMode(true, gameAdapter)
adapter = gameAdapter
(binding.gridGames as? View)?.let { it -> ViewCompat.requestApplyInsets(it)}
doOnNextLayout { //Carousel: important to avoid overlap issues
(this as? CarouselRecyclerView)?.notifyLaidOut(fallbackBottomInset)
}
} else {
(this as? CarouselRecyclerView)?.setCarouselMode(false)
(this as? CarouselRecyclerView)?.setupCarousel(false)
}
adapter = gameAdapter
lastViewType = savedViewType
@@ -237,9 +265,8 @@ class GamesFragment : Fragment() {
override fun onResume() {
super.onResume()
if (getCurrentViewType() == GameAdapter.VIEW_TYPE_CAROUSEL) {
(binding.gridGames as? CarouselRecyclerView)?.restoreScrollState(
gamesViewModel.lastScrollPosition
)
(binding.gridGames as? CarouselRecyclerView)?.setupCarousel(true)
(binding.gridGames as? CarouselRecyclerView)?.restoreScrollState(gamesViewModel.lastScrollPosition)
}
}
@@ -494,6 +521,11 @@ class GamesFragment : Fragment() {
mlpFab.rightMargin = rightInset + fabPadding
binding.addDirectory.layoutParams = mlpFab
val navInsets = windowInsets.getInsets(WindowInsetsCompat.Type.navigationBars())
val gestureInsets = windowInsets.getInsets(WindowInsetsCompat.Type.systemGestures())
val bottomInset = maxOf(navInsets.bottom, gestureInsets.bottom, cutoutInsets.bottom)
fallbackBottomInset = bottomInset
(binding.gridGames as? CarouselRecyclerView)?.notifyInsetsReady(bottomInset)
windowInsets
}
}
@@ -53,8 +53,16 @@ import androidx.core.content.edit
import org.yuzu.yuzu_emu.activities.EmulationActivity
import kotlin.text.compareTo
import androidx.core.net.toUri
import com.google.android.material.progressindicator.LinearProgressIndicator
import com.google.android.material.textview.MaterialTextView
import org.yuzu.yuzu_emu.features.settings.model.BooleanSetting
import org.yuzu.yuzu_emu.YuzuApplication
import org.yuzu.yuzu_emu.updater.APKDownloader
import org.yuzu.yuzu_emu.updater.APKInstaller
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext
class MainActivity : AppCompatActivity(), ThemeProvider {
private lateinit var binding: ActivityMainBinding
@@ -186,9 +194,7 @@ class MainActivity : AppCompatActivity(), ThemeProvider {
.setTitle(R.string.update_available)
.setMessage(getString(R.string.update_available_description, version))
.setPositiveButton(android.R.string.ok) { _, _ ->
val url = NativeLibrary.getUpdateUrl(version)
val intent = Intent(Intent.ACTION_VIEW, url.toUri())
startActivity(intent)
downloadAndInstallUpdate(version)
}
.setNeutralButton(R.string.cancel) { dialog, _ ->
dialog.dismiss()
@@ -201,6 +207,87 @@ class MainActivity : AppCompatActivity(), ThemeProvider {
.show()
}
private fun downloadAndInstallUpdate(version: String) {
CoroutineScope(Dispatchers.IO).launch {
val packageId = applicationContext.packageName
val apkUrl = NativeLibrary.getUpdateApkUrl(version, packageId)
val apkFile = File(cacheDir, "update-$version.apk")
withContext(Dispatchers.Main) {
showDownloadProgressDialog()
}
val downloader = APKDownloader(apkUrl, apkFile)
downloader.download(
onProgress = { progress ->
runOnUiThread {
updateDownloadProgress(progress)
}
},
onComplete = { success ->
runOnUiThread {
dismissDownloadProgressDialog()
if (success) {
val installer = APKInstaller(this@MainActivity)
installer.install(
apkFile,
onComplete = {
Toast.makeText(
this@MainActivity,
R.string.update_installed_successfully,
Toast.LENGTH_LONG
).show()
},
onFailure = { exception ->
Toast.makeText(
this@MainActivity,
getString(R.string.update_install_failed, exception.message),
Toast.LENGTH_LONG
).show()
}
)
} else {
Toast.makeText(
this@MainActivity,
getString(R.string.update_download_failed) + "\n\nURL: $apkUrl",
Toast.LENGTH_LONG
).show()
}
}
}
)
}
}
private var progressDialog: androidx.appcompat.app.AlertDialog? = null
private var progressBar: LinearProgressIndicator? = null
private var progressMessage: MaterialTextView? = null
private fun showDownloadProgressDialog() {
val progressView = layoutInflater.inflate(R.layout.dialog_download_progress, null)
progressBar = progressView.findViewById(R.id.download_progress_bar)
progressMessage = progressView.findViewById(R.id.download_progress_message)
progressDialog = MaterialAlertDialogBuilder(this)
.setTitle(R.string.downloading_update)
.setView(progressView)
.setCancelable(false)
.create()
progressDialog?.show()
}
private fun updateDownloadProgress(progress: Int) {
progressBar?.progress = progress
progressMessage?.text = "$progress%"
}
private fun dismissDownloadProgressDialog() {
progressDialog?.dismiss()
progressDialog = null
progressBar = null
progressMessage = null
}
fun displayMultiplayerDialog() {
val dialog = NetPlayDialog(this)
@@ -0,0 +1,61 @@
// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
// SPDX-License-Identifier: GPL-3.0-or-later
package org.yuzu.yuzu_emu.updater
import okhttp3.Call
import okhttp3.Callback
import okhttp3.OkHttpClient
import okhttp3.Request
import okhttp3.Response
import java.io.File
import java.io.FileOutputStream
import java.io.IOException
class APKDownloader(private val url: String, private val outputFile: File) {
fun download(onProgress: (Int) -> Unit, onComplete: (Boolean) -> Unit) {
val client = OkHttpClient()
val request = Request.Builder().url(url).build()
client.newCall(request).enqueue(object : Callback {
override fun onFailure(call: Call, e: IOException) {
e.printStackTrace()
onComplete(false)
}
override fun onResponse(call: Call, response: Response) {
if (response.isSuccessful) {
response.body?.let { body ->
val contentLength = body.contentLength()
try {
val inputStream = body.byteStream()
val outputStream = FileOutputStream(outputFile)
val buffer = ByteArray(4096)
var bytesRead: Int
var totalBytesRead: Long = 0
while (inputStream.read(buffer).also { bytesRead = it } != -1) {
outputStream.write(buffer, 0, bytesRead)
totalBytesRead += bytesRead
val progress = (totalBytesRead * 100 / contentLength).toInt()
onProgress(progress)
}
outputStream.flush()
outputStream.close()
inputStream.close()
onComplete(true)
} catch (e: IOException) {
e.printStackTrace()
onComplete(false)
}
} ?: run {
onComplete(false)
}
} else {
onComplete(false)
}
}
})
}
}
@@ -0,0 +1,41 @@
// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
// SPDX-License-Identifier: GPL-3.0-or-later
package org.yuzu.yuzu_emu.updater
import android.content.Context
import android.content.Intent
import android.content.IntentFilter
import android.net.Uri
import androidx.core.content.FileProvider
import kotlinx.coroutines.GlobalScope
import kotlinx.coroutines.launch
import java.io.File
class APKInstaller(private val context: Context) {
fun install(apkFile: File, onComplete: () -> Unit, onFailure: (Exception) -> Unit) {
try {
val apkUri: Uri = FileProvider.getUriForFile(
context,
context.applicationContext.packageName + ".provider",
apkFile
)
val intent = Intent(Intent.ACTION_VIEW)
intent.setDataAndType(apkUri, "application/vnd.android.package-archive")
intent.flags = Intent.FLAG_GRANT_READ_URI_PERMISSION or Intent.FLAG_ACTIVITY_NEW_TASK
context.startActivity(intent)
GlobalScope.launch {
val receiver = AppInstallReceiver(onComplete, onFailure)
context.registerReceiver(receiver, IntentFilter().apply {
addAction(Intent.ACTION_PACKAGE_ADDED)
addAction(Intent.ACTION_PACKAGE_REPLACED)
addDataScheme("package")
})
}
} catch (e: Exception) {
onFailure(e)
}
}
}
@@ -0,0 +1,30 @@
// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
// SPDX-License-Identifier: GPL-3.0-or-later
package org.yuzu.yuzu_emu.updater
import android.content.BroadcastReceiver
import android.content.Context
import android.content.Intent
import android.util.Log
class AppInstallReceiver(
private val onComplete: () -> Unit,
private val onFailure: (Exception) -> Unit
) : BroadcastReceiver() {
override fun onReceive(context: Context, intent: Intent) {
val packageName = intent.data?.schemeSpecificPart
when (intent.action) {
Intent.ACTION_PACKAGE_ADDED, Intent.ACTION_PACKAGE_REPLACED -> {
Log.i("AppInstallReceiver", "Package installed or updated: $packageName")
onComplete()
context.unregisterReceiver(this)
}
else -> {
onFailure(Exception("Installation failed for package: $packageName"))
context.unregisterReceiver(this)
}
}
}
}
@@ -0,0 +1,87 @@
// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
// SPDX-License-Identifier: GPL-3.0-or-later
package org.yuzu.yuzu_emu.utils
import android.content.Context
import android.content.Intent
import android.net.Uri
import android.util.Log
import androidx.documentfile.provider.DocumentFile
class SAFWriter(private val context: Context) {
fun refreshGamesFolder(
folders: List<Any>,
requestPermission: (Uri) -> Unit,
reloadGames: () -> Unit
) {
if (folders.isNotEmpty()) {
val gamesDirUriString = try {
val uriField = folders[0]::class.java.getDeclaredField("uriString")
uriField.isAccessible = true
uriField.get(folders[0]) as? String
} catch (e: Exception) {
Log.e("YuzuDebug", "[SAFWriter] [SAF] Error accessing uriString: $e")
null
}
if (gamesDirUriString != null) {
val gamesRootDocFile = DocumentFile.fromTreeUri(context, Uri.parse(gamesDirUriString))
Log.i("YuzuDebug", "[SAFWriter] [SAF] Refresh triggered. gamesDirUri: $gamesDirUriString, gamesRootDocFile: $gamesRootDocFile")
if (gamesRootDocFile != null && gamesRootDocFile.isDirectory) {
val dirtreeDocFile = gamesRootDocFile.findFile("dirtree")
if (dirtreeDocFile != null && dirtreeDocFile.isDirectory) {
createRecursiveTimestampFilesInSAF(dirtreeDocFile, requestPermission)
} else {
Log.e("YuzuDebug", "[SAFWriter] [SAF] 'dirtree' subfolder not found or not a directory.")
}
} else {
Log.e("YuzuDebug", "[SAFWriter] [SAF] Invalid games folder DocumentFile.")
}
} else {
Log.e("YuzuDebug", "[SAFWriter] [SAF] Could not get gamesDirUriString from folders.")
}
} else {
Log.e("YuzuDebug", "[SAFWriter] [SAF] No games folder found in gamesViewModel.folders.")
}
reloadGames()
}
private var pendingSAFAction: (() -> Unit)? = null
private val REQUEST_CODE_OPEN_DOCUMENT_TREE = 1001
// Recursively create a timestamp file in each subfolder using SAF
fun createRecursiveTimestampFilesInSAF(root: DocumentFile, requestPermission: (Uri) -> Unit, onPermissionGranted: (() -> Unit)? = null) {
Log.i("YuzuDebug", "[SAFWriter] [SAF] Processing folder: ${root.uri}, name: ${root.name}, canWrite: ${root.canWrite()}, isDirectory: ${root.isDirectory}, mimeType: ${root.type}")
if (!root.isDirectory) return
if (!root.canWrite()) {
Log.w("YuzuDebug", "[SAFWriter] [SAF] Cannot write to folder: ${root.uri}, requesting permission...")
// Save the action to retry after permission
pendingSAFAction = { createRecursiveTimestampFilesInSAF(root, requestPermission, onPermissionGranted) }
requestPermission(root.uri)
return
}
val timestamp = java.text.SimpleDateFormat("yyyyMMddHHmmss", java.util.Locale.US).format(java.util.Date())
try {
val exists = root.findFile(timestamp)
if (exists == null) {
val file = root.createFile("text/plain", timestamp)
Log.i("YuzuDebug", "[SAFWriter] [SAF] Attempted to create file: $timestamp, result: ${file?.uri}")
} else {
Log.i("YuzuDebug", "[SAFWriter] [SAF] File already exists: ${exists.uri}")
}
} catch (e: Exception) {
Log.e("YuzuDebug", "[SAFWriter] [SAF] Error creating file in ${root.uri}: $e")
}
root.listFiles()?.filter { it.isDirectory }?.forEach { createRecursiveTimestampFilesInSAF(it, requestPermission, onPermissionGranted) }
}
fun handlePermissionResult(uri: Uri) {
context.contentResolver.takePersistableUriPermission(
uri,
Intent.FLAG_GRANT_READ_URI_PERMISSION or Intent.FLAG_GRANT_WRITE_URI_PERMISSION
)
Log.i("YuzuDebug", "[SAFWriter] [SAF] Permission granted for uri: $uri")
// Retry the pending action if any
pendingSAFAction?.invoke()
pendingSAFAction = null
}
}
@@ -20,9 +20,8 @@ import androidx.core.view.doOnNextLayout
import org.yuzu.yuzu_emu.YuzuApplication
import androidx.preference.PreferenceManager
import androidx.core.view.WindowInsetsCompat
/**
* CarouselRecyclerView encapsulates all carousel logic for the games UI.
* CarouselRecyclerView encapsulates all carousel content for the games UI.
* It manages overlapping cards, center snapping, custom drawing order,
* joypad & fling navigation and mid-screen swipe-to-refresh.
*/
@@ -34,6 +33,7 @@ class CarouselRecyclerView @JvmOverloads constructor(
private var overlapFactor: Float = 0f
private var overlapPx: Int = 0
private var bottomInset: Int = -1
private var overlapDecoration: OverlappingDecoration? = null
private var pagerSnapHelper: PagerSnapHelper? = null
private var scalingScrollListener: OnScrollListener? = null
@@ -202,46 +202,61 @@ class CarouselRecyclerView @JvmOverloads constructor(
}
}
fun setCarouselMode(enabled: Boolean, gameAdapter: GameAdapter? = null) {
fun refreshView() {
updateChildScalesAndAlpha()
focusCenteredCard()
}
fun notifyInsetsReady(newBottomInset: Int) {
if (bottomInset != newBottomInset) {
bottomInset = newBottomInset
}
setupCarousel(true)
}
fun notifyLaidOut(fallBackBottomInset: Int) {
if (bottomInset < 0) bottomInset = fallBackBottomInset
var gameAdapter = adapter as? GameAdapter ?: return
var newCardSize = cardSize(bottomInset)
if (gameAdapter.cardSize != newCardSize) {
gameAdapter.setCardSize(newCardSize)
}
setupCarousel(true)
}
fun cardSize(bottomInset: Int): Int {
val internalFactor = resources.getFraction(R.fraction.carousel_card_size_factor, 1, 1)
val userFactor = preferences.getFloat(CAROUSEL_CARD_SIZE_FACTOR, internalFactor).coerceIn(
0f,
1f
)
return (userFactor * (height - bottomInset)).toInt()
}
fun setupCarousel(enabled: Boolean) {
if (enabled) {
val gameAdapter = adapter as? GameAdapter ?: return
if (gameAdapter.cardSize == 0) return
if (bottomInset < 0) return
useCustomDrawingOrder = true
val cardSize = gameAdapter.cardSize
val insets = rootWindowInsets?.let { WindowInsetsCompat.toWindowInsetsCompat(it, this) }
val bottomInset = insets?.getInsets(WindowInsetsCompat.Type.systemBars())?.bottom ?: 0
val internalFactor = resources.getFraction(R.fraction.carousel_card_size_factor, 1, 1)
val userFactor = preferences.getFloat(CAROUSEL_CARD_SIZE_FACTOR, internalFactor).coerceIn(
0f,
1f
)
val cardSize = (userFactor * (height - bottomInset)).toInt()
gameAdapter?.setCardSize(cardSize)
val internalOverlapFactor = resources.getFraction(
R.fraction.carousel_overlap_factor,
1,
1
)
overlapFactor = preferences.getFloat(CAROUSEL_OVERLAP_FACTOR, internalOverlapFactor).coerceIn(
0f,
1f
)
val internalOverlapFactor = resources.getFraction(R.fraction.carousel_overlap_factor,1,1)
overlapFactor = preferences.getFloat(CAROUSEL_OVERLAP_FACTOR, internalOverlapFactor).coerceIn(0f,1f)
overlapPx = (cardSize * overlapFactor).toInt()
val internalFlingMultiplier = resources.getFraction(
R.fraction.carousel_fling_multiplier,
1,
1
)
val internalFlingMultiplier = resources.getFraction(R.fraction.carousel_fling_multiplier,1,1)
flingMultiplier = preferences.getFloat(
CAROUSEL_FLING_MULTIPLIER,
internalFlingMultiplier
).coerceIn(1f, 5f)
gameAdapter?.registerAdapterDataObserver(object : RecyclerView.AdapterDataObserver() {
gameAdapter .registerAdapterDataObserver(object : RecyclerView.AdapterDataObserver() {
override fun onChanged() {
if (pendingScrollAfterReload) {
post {
jigglyScroll()
doOnNextLayout {
refreshView()
pendingScrollAfterReload = false
}
}
@@ -257,7 +272,7 @@ class CarouselRecyclerView @JvmOverloads constructor(
addItemDecoration(overlapDecoration!!)
}
// Gradual scalingAdd commentMore actions
// Gradual scaling on scroll
if (scalingScrollListener == null) {
scalingScrollListener = object : OnScrollListener() {
override fun onScrolled(recyclerView: RecyclerView, dx: Int, dy: Int) {
@@ -315,8 +330,7 @@ class CarouselRecyclerView @JvmOverloads constructor(
super.scrollToPosition(position)
(layoutManager as? LinearLayoutManager)?.scrollToPositionWithOffset(position, overlapPx)
doOnNextLayout {
updateChildScalesAndAlpha()
focusCenteredCard()
refreshView()
}
}
@@ -382,12 +396,6 @@ class CarouselRecyclerView @JvmOverloads constructor(
return sorted[i].first
}
fun jigglyScroll() {
scrollBy(-1, 0)
scrollBy(1, 0)
focusCenteredCard()
}
inner class OverlappingDecoration(private val overlap: Int) : ItemDecoration() {
override fun getItemOffsets(
outRect: Rect,
+37
View File
@@ -1613,6 +1613,43 @@ JNIEXPORT jstring JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_getUpdateUrl(
env->ReleaseStringUTFChars(version, version_str);
return env->NewStringUTF(url.c_str());
}
JNIEXPORT jstring JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_getUpdateApkUrl(
JNIEnv* env,
jobject obj,
jstring version,
jstring packageId) {
const char* version_str = env->GetStringUTFChars(version, nullptr);
const char* package_id_str = env->GetStringUTFChars(packageId, nullptr);
std::string variant;
std::string package_id(package_id_str);
if (package_id.find("dev.legacy.eden_emulator") != std::string::npos) {
variant = "legacy";
} else if (package_id.find("com.miHoYo.Yuanshen") != std::string::npos) {
variant = "optimized";
} else {
variant = "standard";
}
const std::string apk_filename = fmt::format("Eden-Android-{}-{}.apk", version_str, variant);
const std::string url = fmt::format("{}/{}/releases/download/{}/{}",
std::string{Common::g_build_auto_update_website},
std::string{Common::g_build_auto_update_repo},
version_str,
apk_filename);
env->ReleaseStringUTFChars(version, version_str);
env->ReleaseStringUTFChars(packageId, package_id_str);
return env->NewStringUTF(url.c_str());
}
#endif
JNIEXPORT jstring JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_getBuildVersion(
JNIEnv* env,
[[maybe_unused]] jobject obj) {
return env->NewStringUTF(Common::g_build_version);
}
} // extern "C"
Binary file not shown.

Before

Width:  |  Height:  |  Size: 65 KiB

After

Width:  |  Height:  |  Size: 104 KiB

@@ -0,0 +1,31 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="24dp">
<com.google.android.material.textview.MaterialTextView
android:id="@+id/download_progress_message"
style="@style/TextAppearance.Material3.BodyMedium"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="16dp"
android:text="0%"
android:textAlignment="center"
android:textSize="18sp"
android:textStyle="bold" />
<com.google.android.material.progressindicator.LinearProgressIndicator
android:id="@+id/download_progress_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:max="100"
android:progress="0"
app:indicatorColor="?attr/colorPrimary"
app:trackColor="?attr/colorSurfaceVariant"
app:trackCornerRadius="4dp"
app:trackThickness="8dp" />
</LinearLayout>
@@ -111,15 +111,15 @@
<string name="veil_misc">وحدة المعالجة المركزية والذاكرة</string>
<string name="use_sync_core">مزامنة سرعة النواة</string>
<string name="use_sync_core_description">مزامنة سرعة النواة مع النسبة القصوى للسرعة لتحسين الأداء دون تغيير السرعة الفعلية للعبة.</string>
<string name="use_lru_cache">تمكين ذاكرة التخزين المؤقت LRU</string>
<string name="use_lru_cache_description">تمكين أو تعطيل ذاكرة التخزين المؤقت الأقل استخداماً مؤخراً (LRU) لتحسين الأداء عن طريق تقليل استخدام وحدة المعالجة المركزية. بعض الألعاب قد تواجه مشاكل معه، خاصةً TotK 1.2.1، لذا قم بتعطيله إذا لم تعمل اللعبة أو انهارت عشوائياً.</string>
<string name="use_lru_cache">تمكين ذاكرة التخزين المؤقتة LRU</string>
<string name="use_lru_cache_description">قم بتمكين أو تعطيل ذاكرة التخزين المؤقتة الأقل استخدامًا (LRU)، مما يزيد من الأداء عن طريق توفير استخدام معالج وحدة المعالجة المركزية. قد تواجه بعض الألعاب مشكلات مع هذا الإعداد، لذا قم بتعطيله إذا لم يتم تشغيل اللعبة أو تعطلت بشكل عشوائي.</string>
<string name="use_fast_cpu_time">وقت وحدة المعالجة المركزية السريع</string>
<string name="use_fast_cpu_time_description">يجبر وحدة المعالجة المركزية المحاكاة على العمل بسرعة أعلى، مما يقلل من بعض محددات معدل الإطارات. هذا الخيار غير مستقر وقد يسبب مشاكل، وقد يرى المستخدمون بأجهزة أضعف انخفاضًا في الأداء.</string>
<string name="custom_cpu_ticks">تخصيص دورات المعالج</string>
<string name="custom_cpu_ticks_description">قم بتعيين قيمة مخصصة لدورات المعالج. القيم الأعلى يمكن أن تزيد من الأداء، ولكنها قد تتسبب أيضًا في تجميد اللعبة. يوصى باستخدام نطاق 77-21000.</string>
<string name="cpu_ticks">دورات</string>
<string name="skip_cpu_inner_invalidation">تخطي إبطال ذاكرة التخزين المؤقت الداخلية للوحدة المركزية</string>
<string name="skip_cpu_inner_invalidation_description">يتخطى بعض عمليات إبطال ذاكرة التخزين المؤقت أثناء تحديثات الذاكرة، مما يقلل استخدام المعالج ويحسن أدائه. قد يسبب هذا أعطالاً أو تعطلًا في بعض الألعاب.</string>
<string name="skip_cpu_inner_invalidation">تخطي إبطال صلاحية وحدة المعالجة المركزية الداخلية</string>
<string name="skip_cpu_inner_invalidation_description">يتخطى بعض عمليات إبطال ذاكرة التخزين المؤقتة من جانب وحدة المعالجة المركزية أثناء تحديثات الذاكرة، مما يقلل من استخدام وحدة المعالجة المركزية ويحسن أداءها. قد يتسبب ذلك في حدوث أعطال أو تعطل في بعض الألعاب.</string>
<string name="cpuopt_unsafe_host_mmu">تمكين محاكاة MMU المضيف</string>
<string name="cpuopt_unsafe_host_mmu_description">يعمل هذا التحسين على تسريع وصول الذاكرة بواسطة البرنامج الضيف. يؤدي تمكينه إلى إجراء عمليات قراءة/كتابة ذاكرة الضيف مباشرة في الذاكرة والاستفادة من MMU المضيف. يؤدي تعطيل هذا إلى إجبار جميع عمليات الوصول إلى الذاكرة على استخدام محاكاة MMU البرمجية.</string>
<string name="fast_cpu_time">CPU Clock</string>
@@ -294,6 +294,25 @@
<string name="permission_denied_description">لقد رفضت هذا الإذن عدة مرات ويتعين عليك الآن منحه يدويًا في إعدادات النظام</string>
<string name="about">حول</string>
<string name="about_description">إصدار البرنامج، الاعتمادات، والمزيد</string>
<string name="system_information">معلومات النظام</string>
<string name="system_information_description">عرض معلومات تفصيلية عن الجهاز</string>
<string name="device_manufacturer">الشركة المصنعة</string>
<string name="device_model">طراز</string>
<string name="product">المنتج</string>
<string name="android_version">إصدار Android</string>
<string name="android_security_patch">تصحيح الأمان</string>
<string name="build_id">معرف البناء</string>
<string name="general_information">معلومات عامة</string>
<string name="hardware">الأجهزة</string>
<string name="supported_abis">واجهات برمجة التطبيقات المدعومة</string>
<string name="cpu_info">معلومات وحدة المعالجة المركزية</string>
<string name="gpu_information">معلومات وحدة معالجة الرسومات</string>
<string name="vulkan_driver_version">إصدار برنامج تشغيل Vulkan</string>
<string name="error_getting_emulator_info">خطأ في الحصول على معلومات المحاكي</string>
<string name="memory_info">معلومات الذاكرة</string>
<string name="total_memory">إجمالي الذاكرة</string>
<string name="soc">نظام الرقاقة:</string>
<string name="warning_help">مساعدة</string>
<string name="warning">تحذير</string>
<string name="warning_skip">تخطي</string>
@@ -313,9 +332,9 @@
<string name="no_file_manager">لم يتم العثور على مدير الملفات</string>
<string name="notification_no_directory_link">تعذر فتح مجلد Eden</string>
<string name="notification_no_directory_link_description">يرجى تحديد موقع مجلد المستخدم يدويًا باستخدام اللوحة الجانبية لمدير الملفات.</string>
<string name="manage_save_data">إدارة حفظ البيانات</string>
<string name="manage_save_data_description">حفظ البيانات التي تم العثور عليها. يرجى اختيار أحد الخيارات التالية</string>
<string name="import_save_warning">استيراد حفظ البيانات</string>
<string name="manage_save_data">إدارة بيانات الحفظ</string>
<string name="manage_save_data_description">تم العثور على بيانات محفوظة. يرجى تحديد أحد الخيارات أدناه.</string>
<string name="import_save_warning">استيراد بيانات الحفظ</string>
<string name="import_save_warning_description">سيؤدي هذا إلى استبدال جميع البيانات المحفوظة الموجودة بالملف المقدم. هل أنت متأكد من أنك تريد المتابعة؟</string>
<string name="save_files_importing">جارٍ استيراد ملفات الحفظ…</string>
<string name="save_files_exporting">جارٍ تصدير ملفات الحفظ...</string>
@@ -397,10 +416,10 @@
<string name="applets_error_description"><![CDATA[يرجى التأكد من أن ملف <a href=\"https://yuzu-mirror.github.io/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> الخاص بك و <a href=\"https://yuzu-mirror.github.io/help/quickstart/#dumping-system-firmware\">الفيرموير</a> مثبتة وحاول مرة أخرى.<br>بالإضافة إلى ذلك، تأكد من أن الفيرموير الخاص بك هو من الإصدار 19.0.1 أو أقدم.]]></string>
<string name="album_applet">الألبوم</string>
<string name="album_applet_description">عرض الصور المخزنة في مجلد لقطات شاشة المستخدم باستخدام عارض صور النظام</string>
<string name="mii_edit_applet">تعديل Mii</string>
<string name="mii_edit_applet">تحرير Mii</string>
<string name="mii_edit_applet_description">عرض وتحرير Miis باستخدام محرر النظام</string>
<string name="cabinet_applet">الخزانة</string>
<string name="cabinet_applet_description">تعديل وحذف البيانات المخزنة على أميبو</string>
<string name="cabinet_applet_description">تحرير وحذف البيانات المخزنة على أميبو</string>
<string name="cabinet_launcher">مشغل الخزانة</string>
<string name="cabinet_nickname_and_owner">إعدادات الاسم المستعار والمالك</string>
<string name="cabinet_game_data_eraser">ممحاة بيانات اللعبة</string>
@@ -483,7 +502,7 @@
<string name="fast_gpu_time_description">استخدم 128 لأقصى أداء و512 لأقصى دقة رسومية.</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">ذاكرة التخزين المؤقتة لتظلل القرص</string>
<string name="use_disk_shader_cache_description">يقلل من التأتأة عن طريق تخزين وتحميل التظليلات التي تم إنشاؤها محليًا.</string>
<string name="anisotropic_filtering">تصفية متباينة الخواص</string>
<string name="anisotropic_filtering_description">يحسن جودة الأنسجة عند عرضها بزوايا مائلة</string>
@@ -501,7 +520,7 @@
<string name="renderer_debug_description">يضبط واجهة برمجة التطبيقات الرسومية على وضع تصحيح الأخطاء البطيء.</string>
<string name="fastmem">Fastmem</string>
<string name="log">تسجيل الدخول</string>
<string name="log">السجلات</string>
<string name="flush_by_line">تفريغ سجلات التصحيح حسب السطر</string>
<string name="flush_by_line_description">يفرغ سجلات التصحيح عند كتابة كل سطر، مما يجعل التصحيح أسهل في حالات التوقف أو التجميد.</string>
@@ -564,7 +583,7 @@
<string name="dual_joycons">جوي كون ثنائي</string>
<string name="left_joycon">جوي كون اليسرى</string>
<string name="right_joycon">جوي كون اليمنى</string>
<string name="gamecube_controller">ذراع تحكم جيم كيوب</string>
<string name="gamecube_controller">ذراع تحكم GameCube</string>
<string name="invert_axis">عكس المحور</string>
<string name="invert_button">عكس الزر</string>
<string name="toggle_button">زر التبديل</string>
@@ -588,7 +607,7 @@
<string name="stick_map_description">حرك العصا إلى اليسار ثم للأعلى أو اضغط على زر</string>
<string name="button_map_description">اضغط على زر أو حرك الزناد/العصا</string>
<string name="map_dpad_direction">تعيين الأسهم %1$s</string>
<string name="map_control">تعيين إلى%1$s</string>
<string name="map_control">تعيين إلى %1$s</string>
<string name="failed_to_load_profile">فشل تحميل ملف التعريف</string>
<string name="failed_to_save_profile">فشل في حفظ ملف التعريف</string>
<string name="reset_mapping">إعادة تعيين التعيينات</string>
@@ -617,7 +636,7 @@
<string name="install">تثبيت</string>
<string name="fetch">جلب</string>
<string name="delete">حذف</string>
<string name="edit">تعديل</string>
<string name="edit">تحرير</string>
<string name="import_success">تم الاستيراد بنجاح</string>
<string name="export_success">تم التصدير بنجاح</string>
<string name="start">بدء</string>
@@ -643,7 +662,7 @@
<string name="error_during_fetch">خطأ أثناء الجلب</string>
<string name="show_downloads">عرض التنزيلات</string>
<string name="hide_downloads">إخفاء التنزيلات</string>
<string name="failed_cache_dir">مجلد ذاكرة التخزين المؤقت غير متوفر</string>
<string name="failed_cache_dir">مجلد ذاكرة التخزين المؤقتة غير متوفر</string>
<string name="empty_response_body">نص الاستجابة فارغ</string>
<string name="successfully_installed">تم تثبيت %1$s بنجاح</string>
<string name="driver_failed_title">فشل تثبيت برنامج التشغيل</string>
@@ -653,7 +672,7 @@
<string name="installing">جارٍ التثبيت...</string>
<string name="latest">الأحدث</string>
<string name="recommended_driver">برنامج التشغيل الموصى به:</string>
<string name="gpu_model">طراز وحدة معالجة الرسومات:</string>
<string name="gpu_model">طراز وحدة معالجة الرسومات</string>
<string name="unsupported_gpu">وحدة معالجة الرسومات غير مدعومة</string>
<string name="unsupported_gpu_warning">لا تدعم وحدة معالجة الرسومات الخاصة بك إدخال برامج التشغيل. لا يُنصح بمحاولة تعيين برامج تشغيل مخصصة.</string>
@@ -675,7 +694,7 @@
<string name="info">معلومات</string>
<string name="info_description">معرف العنوان، المطور، الإصدار</string>
<string name="per_game_settings">إعدادات خاصة للعبة</string>
<string name="per_game_settings_description">تعديل الإعدادات الخاصة بهذه اللعبة</string>
<string name="per_game_settings_description">تحرير الإعدادات الخاصة بهذه اللعبة</string>
<string name="launch_options">تشغيل التكوين</string>
<string name="path">المسار</string>
<string name="program_id">معرف العنوان</string>
@@ -689,21 +708,23 @@
<string name="reset_playtime_description">إعادة ضبط زمن اللعب الحالي للعبة إلى 0 ثانية</string>
<string name="reset_playtime_warning_description">سيؤدي هذا إلى مسح بيانات زمن اللعب الحالية للعبة. هل أنت متأكد؟</string>
<string name="playtime_reset_successfully">تمت إعادة ضبط زمن اللعب</string>
<string name="edit_playtime">تعديل زمن التشغيل</string>
<string name="edit_playtime">تحرير زمن التشغيل</string>
<string name="hours">ساعات</string>
<string name="minutes">دقائق</string>
<string name="hours_must_be_between_0_and_9999">يجب أن تكون الساعات بين 0 و 9999</string>
<string name="minutes_must_be_between_0_and_59">يجب أن تكون الدقائق بين 0 و 59</string>
<string name="seconds_must_be_between_0_and_59">يجب أن تكون الثواني بين 0 و 59</string>
<string name="playtime_updated_successfully">تم تحديث زمن اللعب بنجاح</string>
<string name="clear_shader_cache">مسح ذاكرة التخزين المؤقت للتظليل</string>
<string name="clear_shader_cache">مسح ذاكرة التخزين المؤقتة للتظليل</string>
<string name="clear_shader_cache_description">يزيل جميع التظليلات التي تم إنشاؤها أثناء لعب هذه اللعبة</string>
<string name="clear_shader_cache_warning_description">سوف تواجه المزيد من التأتأة مع تجديد ذاكرة التخزين المؤقت للتظليل</string>
<string name="clear_shader_cache_warning_description">ستواجه المزيد من التقطع مع إعادة إنشاء ذاكرة التخزين المؤقتة للتظلل</string>
<string name="cleared_shaders_successfully">تم مسح التظليل بنجاح</string>
<string name="driver_shader_wipe_dialog_title">تم مسح الشادر</string>
<string name="driver_shader_wipe_dialog_message">قام Eden تلقائيًا بمسح جميع ذاكرات التخزين المؤقت للتظليل للحفاظ على صحة خط أنابيب Vulkan. هذا ضروري عند تبديل برامج تشغيل وحدة معالجة الرسومات لمنع الأعطال وتلف الرسومات. قد تواجه بعض التلعثم أثناء إعادة بناء وحدات التظليل.</string>
<string name="addons_game">إضافات: %1$s</string>
<string name="save_data">حفظ البيانات</string>
<string name="save_data_description">إدارة حفظ البيانات الخاصة بهذه اللعبة</string>
<string name="delete_save_data">حذف حفظ البيانات</string>
<string name="save_data">البيانات المحفوظة</string>
<string name="save_data_description">إدارة البيانات المحفوظة الخاصة بهذه اللعبة</string>
<string name="delete_save_data">حذف البيانات المحفوظة</string>
<string name="delete_save_data_description">يزيل كافة البيانات المحفوظة الخاصة بهذه اللعبة</string>
<string name="delete_save_data_warning_description">سيؤدي هذا إلى حذف جميع بيانات حفظ اللعبة بشكل نهائي. هل أنت متأكد من أنك تريد المتابعة؟</string>
<string name="save_data_deleted_successfully">تم حذف البيانات المحفوظة بنجاح</string>
@@ -794,7 +815,7 @@
<string name="emulation_control_scale">الحجم</string>
<string name="emulation_control_opacity">الشفافية</string>
<string name="emulation_touch_overlay_reset">إعادة تعيين التراكب</string>
<string name="emulation_touch_overlay_edit">تعديل التراكب</string>
<string name="emulation_touch_overlay_edit">تحرير التراكب</string>
<string name="emulation_pause">إيقاف المحاكاة مؤقتًا</string>
<string name="emulation_unpause">إلغاء الإيقاف المؤقت للمحاكاة</string>
<string name="emulation_input_overlay">خيارات التراكب</string>
@@ -519,7 +519,6 @@
<string name="installing">لە دامەزراندن...</string>
<string name="latest">نوێترین</string>
<string name="recommended_driver">درایڤەری پێشنیارکراو:</string>
<string name="gpu_model">مۆدێلی GPU:</string>
<string name="unsupported_gpu">GPU پشتگیری نەکراوە</string>
<string name="unsupported_gpu_warning">GPUی تۆ پشتگیری لە درایڤەری تایبەت ناکات. پێشنیار ناکرێت درایڤەری تایبەت دابنێیت.</string>
@@ -469,7 +469,6 @@
<string name="installing">Instalace…</string>
<string name="latest">Nejnovější</string>
<string name="recommended_driver">Doporučený ovladač:</string>
<string name="gpu_model">Model GPU:</string>
<string name="unsupported_gpu">Nepodporovaná GPU</string>
<string name="unsupported_gpu_warning">Vaše GPU nepodporuje vkládání ovladačů. Nastavení vlastních ovladačů se nedoporučuje.</string>
@@ -625,7 +625,6 @@ Wird der Handheld-Modus verwendet, verringert es die Auflösung und erhöht die
<string name="installing">Wird installiert…</string>
<string name="latest">Neueste</string>
<string name="recommended_driver">Empfohlener Treiber:</string>
<string name="gpu_model">GPU-Modell:</string>
<string name="unsupported_gpu">Nicht unterstützte GPU</string>
<string name="unsupported_gpu_warning">Ihre GPU unterstützt keine Treiberinjektion. Das Festlegen benutzerdefinierter Treiber wird nicht empfohlen.</string>
@@ -646,7 +646,6 @@
<string name="installing">Instalando…</string>
<string name="latest">Última</string>
<string name="recommended_driver">Controlador recomendado:</string>
<string name="gpu_model">Modelo de GPU:</string>
<string name="unsupported_gpu">GPU no soportada</string>
<string name="unsupported_gpu_warning">Tu GPU no soporta la inyección de controladores. No se recomienda configurar controladores personalizados.</string>
@@ -647,7 +647,6 @@
<string name="installing">Installation en cours…</string>
<string name="latest">Dernière</string>
<string name="recommended_driver">Pilote recommandé :</string>
<string name="gpu_model">Modèle GPU :</string>
<string name="unsupported_gpu">GPU non pris en charge</string>
<string name="unsupported_gpu_warning">Votre GPU ne prend pas en charge l\'injection de pilotes. Il n\'est pas recommandé de définir des pilotes personnalisés.</string>
@@ -541,7 +541,6 @@
<string name="installing">מתקין…</string>
<string name="latest">האחרון</string>
<string name="recommended_driver">מנהל התקן מומלץ:</string>
<string name="gpu_model">דגם GPU:</string>
<string name="unsupported_gpu">GPU לא נתמך</string>
<string name="unsupported_gpu_warning">ה-GPU שלך אינו תומך בהזרקת מנהל התקן. לא מומלץ להגדיר מנהלי התקן מותאמים אישית.</string>
@@ -595,7 +595,6 @@
<string name="installing">Telepítés…</string>
<string name="latest">Legújabb</string>
<string name="recommended_driver">Ajánlott illesztőprogram:</string>
<string name="gpu_model">GPU modell:</string>
<string name="unsupported_gpu">Nem támogatott GPU</string>
<string name="unsupported_gpu_warning">A GPU-d nem támogatja az illesztőprogramok befecskendezését. Nem ajánlott egyéni illesztőprogramok beállítása.</string>
@@ -636,7 +636,6 @@
<string name="installing">Menginstal…</string>
<string name="latest">Terbaru</string>
<string name="recommended_driver">Driver yang Direkomendasikan:</string>
<string name="gpu_model">Model GPU:</string>
<string name="unsupported_gpu">GPU Tidak Didukung</string>
<string name="unsupported_gpu_warning">GPU Anda tidak mendukung injeksi driver. Tidak disarankan untuk mengatur driver kustom.</string>
@@ -647,7 +647,6 @@
<string name="installing">Installazione in corso…</string>
<string name="latest">Ultimo</string>
<string name="recommended_driver">Driver consigliato:</string>
<string name="gpu_model">Modello GPU:</string>
<string name="unsupported_gpu">GPU non supportata</string>
<string name="unsupported_gpu_warning">La tua GPU non supporta l\'iniezione di driver. Non è consigliato impostare driver personalizzati.</string>
@@ -543,7 +543,6 @@
<string name="installing">インストール中…</string>
<string name="latest">最新</string>
<string name="recommended_driver">推奨ドライバー:</string>
<string name="gpu_model">GPUモデル:</string>
<string name="unsupported_gpu">サポートされていないGPU</string>
<string name="unsupported_gpu_warning">あなたのGPUはドライバーインジェクションをサポートしていません。カスタムドライバーの設定は推奨されません。</string>
@@ -554,7 +554,6 @@
<string name="installing">설치 중…</string>
<string name="latest">최신</string>
<string name="recommended_driver">추천 드라이버:</string>
<string name="gpu_model">GPU 모델:</string>
<string name="unsupported_gpu">지원되지 않는 GPU</string>
<string name="unsupported_gpu_warning">GPU가 드라이버 주입을 지원하지 않습니다. 사용자 정의 드라이버 설정은 권장되지 않습니다.</string>
@@ -525,7 +525,6 @@
<string name="installing">Installerer…</string>
<string name="latest">Siste</string>
<string name="recommended_driver">Anbefalt driver:</string>
<string name="gpu_model">GPU-modell:</string>
<string name="unsupported_gpu">Ustøttet GPU</string>
<string name="unsupported_gpu_warning">GPU-en din støtter ikke driverinjeksjon. Det anbefales ikke å sette egendefinerte drivere.</string>
@@ -294,6 +294,25 @@
<string name="permission_denied_description">Odmówiłeś dostępu do powiadomień zbyt wiele razy, teraz musisz przyznać je w ustawieniach systemowych Androida.</string>
<string name="about">O aplikacji</string>
<string name="about_description">Wersja, podziękowania i więcej</string>
<string name="system_information">Informacje o systemie</string>
<string name="system_information_description">Wyświetl szczegółowe informacje o urządzeniu</string>
<string name="device_manufacturer">Producent</string>
<string name="device_model">Model</string>
<string name="product">Produkt</string>
<string name="android_version">Wersja Androida</string>
<string name="android_security_patch">Poprawki bezpieczeństwa</string>
<string name="build_id">Identyfikator kompilacji</string>
<string name="general_information">Informacje ogólne</string>
<string name="hardware">Sprzęt</string>
<string name="supported_abis">Obsługiwane ABI</string>
<string name="cpu_info">Informacje o CPU</string>
<string name="gpu_information">Informacje o GPU</string>
<string name="vulkan_driver_version">Wersja sterownika Vulkan</string>
<string name="error_getting_emulator_info">Błąd podczas pobierania informacji o emulatorze</string>
<string name="memory_info">Informacje o pamięci</string>
<string name="total_memory">Całkowita pamięć</string>
<string name="soc">SOC:</string>
<string name="warning_help">Pomoc</string>
<string name="warning">Ostrzeżenie</string>
<string name="warning_skip">Pomiń</string>
@@ -649,7 +668,7 @@
<string name="installing">Instalowanie…</string>
<string name="latest">Najnowsza</string>
<string name="recommended_driver">Zalecany sterownik:</string>
<string name="gpu_model">Model GPU:</string>
<string name="gpu_model">Model GPU</string>
<string name="unsupported_gpu">Nieobsługiwana GPU</string>
<string name="unsupported_gpu_warning">Twoja GPU nie obsługuje wstrzykiwania sterowników. Nie zaleca się ustawiania niestandardowych sterowników.</string>
@@ -696,6 +715,8 @@
<string name="clear_shader_cache_description">Usuwa wszystkie shadery zbudowane podczas grania w tę grę</string>
<string name="clear_shader_cache_warning_description">Możesz doświadczyć większych przycięć, gdy pamięć podręczna shaderów będzie się odbudowywać</string>
<string name="cleared_shaders_successfully">Pomyślnie wyczyszczono shadery</string>
<string name="driver_shader_wipe_dialog_title">Shadery wyczyszczone</string>
<string name="driver_shader_wipe_dialog_message">Eden automatycznie wyczyścił wszystkie pamięci podręczne shaderów, aby zachować poprawność walidacji potoków Vulkan. Jest to wymagane przy zmianie sterowników GPU, aby zapobiec awariom i błędom graficznym. Podczas ponownego budowania shaderów możesz doświadczyć chwilowych przycięć.</string>
<string name="addons_game">Dodatki: %1$s</string>
<string name="save_data">Dane zapisu</string>
<string name="save_data_description">Zarządzaj danymi zapisu specyficznymi dla tej gry</string>
@@ -647,7 +647,6 @@ uma tentativa de mapeamento automático</string>
<string name="installing">Instalando…</string>
<string name="latest">Mais recente</string>
<string name="recommended_driver">Driver recomendado:</string>
<string name="gpu_model">Modelo GPU:</string>
<string name="unsupported_gpu">GPU não suportada</string>
<string name="unsupported_gpu_warning">Sua GPU não suporta injeção de driver. Não é recomendado definir drivers personalizados.</string>
@@ -605,7 +605,6 @@ uma tentativa de mapeamento automático</string>
<string name="installing">A instalar…</string>
<string name="latest">Mais recente</string>
<string name="recommended_driver">Driver recomendado:</string>
<string name="gpu_model">Modelo GPU:</string>
<string name="unsupported_gpu">GPU não suportada</string>
<string name="unsupported_gpu_warning">A sua GPU não suporta injeção de driver. Não é recomendado definir drivers personalizados.</string>
@@ -294,6 +294,23 @@
<string name="permission_denied_description">Вы слишком часто отклоняли это разрешение, и теперь вам нужно будет вручную предоставить его в настройках системы.</string>
<string name="about">О нас</string>
<string name="about_description">Версия сборки, титры и другое</string>
<string name="system_information">Системная информация</string>
<string name="system_information_description">Просмотреть подробную информацию об устройстве</string>
<string name="device_manufacturer">Производитель</string>
<string name="device_model">Модель</string>
<string name="product">Продукт</string>
<string name="android_version">Версия Android</string>
<string name="android_security_patch">Патч безопасности</string>
<string name="build_id">ID сборки</string>
<string name="general_information">Общая информация</string>
<string name="hardware">Аппаратное обеспечение</string>
<string name="supported_abis">Поддерживаемые ABI</string>
<string name="cpu_info">Информация о ЦП</string>
<string name="gpu_information">Информация о ГПУ</string>
<string name="vulkan_driver_version">Версия драйвера Vulkan</string>
<string name="error_getting_emulator_info">Ошибка получения информации об эмуляторе</string>
<string name="memory_info">Информация о памяти</string>
<string name="total_memory">Общий объем памяти</string>
<string name="warning_help">Помощь</string>
<string name="warning">Предупреждение</string>
<string name="warning_skip">Пропустить</string>
@@ -649,7 +666,7 @@
<string name="installing">Установка…</string>
<string name="latest">Последний</string>
<string name="recommended_driver">Рекомендуемый драйвер:</string>
<string name="gpu_model">Модель ГПУ:</string>
<string name="gpu_model">Модель ГПУ</string>
<string name="unsupported_gpu">ГПУ не поддерживается</string>
<string name="unsupported_gpu_warning">Ваш ГПУ не поддерживает замену драйверов. Установка сторонних драйверов не рекомендуется.</string>
@@ -696,6 +713,8 @@
<string name="clear_shader_cache_description">Удаляет все шейдеры, созданные во время игры.</string>
<string name="clear_shader_cache_warning_description">У вас будет больше лагов во время повторной генерации кэша шейдеров</string>
<string name="cleared_shaders_successfully">Успешно очищены шейдеры</string>
<string name="driver_shader_wipe_dialog_title">Шейдеры очищены</string>
<string name="driver_shader_wipe_dialog_message">Eden автоматически очистил все кэши шейдеров для поддержания валидации Vulkan-конвейера. Это необходимо при переключении драйверов графического процессора для предотвращения сбоев и графических артефактов. Вы можете столкнуться с некоторыми подтормаживаниями во время перекомпиляции шейдеров.</string>
<string name="addons_game">Аддоны: %1$s</string>
<string name="save_data">Сохранить данные</string>
<string name="save_data_description">Управлять сохранениями этой игры.</string>
@@ -603,7 +603,6 @@
<string name="installing">Инсталирање ...</string>
<string name="latest">Најновији</string>
<string name="recommended_driver">Препоручени управљачки програм:</string>
<string name="gpu_model">ГПУ модел:</string>
<string name="unsupported_gpu">Неподржани ГПУ</string>
<string name="unsupported_gpu_warning">Ваш ГПУ не подржава ињекцију управљачких програма. Покушај постављања прилагођених управљачких програма се не препоручује.</string>
@@ -294,6 +294,25 @@
<string name="permission_denied_description">Ви занадто часто відхиляли цей дозвіл, тож тепер вам потрібно буде вручну надати його в системних налаштуваннях.</string>
<string name="about">Про нас</string>
<string name="about_description">Версія збірки, титри та інше</string>
<string name="system_information">Системна інформація</string>
<string name="system_information_description">Переглянути детальну інформацію щодо пристрою</string>
<string name="device_manufacturer">Виробник</string>
<string name="device_model">Модель</string>
<string name="product">Продукт</string>
<string name="android_version">Версія Android</string>
<string name="android_security_patch">Оновлення безпеки</string>
<string name="build_id">ID збірки</string>
<string name="general_information">Загальна інформація</string>
<string name="hardware">Обладнання</string>
<string name="supported_abis">Підтримувані ABI</string>
<string name="cpu_info">Інформація щодо ЦП</string>
<string name="gpu_information">Інформація щодо ГП</string>
<string name="vulkan_driver_version">Версія драйвера Vulkan</string>
<string name="error_getting_emulator_info">Помилка під час отримання інформації щодо емуляції</string>
<string name="memory_info">Інформація щодо пам’яті</string>
<string name="total_memory">Усього пам’яті</string>
<string name="soc">SOC:</string>
<string name="warning_help">Допомога</string>
<string name="warning">Попередження</string>
<string name="warning_skip">Пропустити</string>
@@ -649,7 +668,7 @@
<string name="installing">Встановлення…</string>
<string name="latest">Останній</string>
<string name="recommended_driver">Рекомендований драйвер:</string>
<string name="gpu_model">Модель GPU:</string>
<string name="gpu_model">Модель ГП</string>
<string name="unsupported_gpu">GPU не підтримується</string>
<string name="unsupported_gpu_warning">Ваш GPU не підтримує заміну драйверів. Встановлення сторонніх драйверів не рекомендується.</string>
@@ -696,6 +715,8 @@
<string name="clear_shader_cache_description">Вилучає усі скомпільовані шейдери під час відтворення цієї гри</string>
<string name="clear_shader_cache_warning_description">Під час повторної генерації шейдерів можуть виникати затримки</string>
<string name="cleared_shaders_successfully">Очищення шейдерів успішне </string>
<string name="driver_shader_wipe_dialog_title">Шейдери очищено</string>
<string name="driver_shader_wipe_dialog_message">Eden автоматично очистив увесь кеш шейдерів, щоб забезпечити перевірку конвеєра Vulkan. Це необхідно при зміні драйверів ГП, щоб уникнути збоїв і графічних помилок. У вас можуть виникнути мікропідвисання під час повторної компіляції шейдерів.</string>
<string name="addons_game">Доповнення: %1$s</string>
<string name="save_data">Збереження</string>
<string name="save_data_description">Керування збереження цієї гри</string>
@@ -525,7 +525,6 @@
<string name="installing">Đang cài đặt…</string>
<string name="latest">Mới nhất</string>
<string name="recommended_driver">Trình điều khiển đề xuất:</string>
<string name="gpu_model">Model GPU:</string>
<string name="unsupported_gpu">GPU không được hỗ trợ</string>
<string name="unsupported_gpu_warning">GPU của bạn không hỗ trợ tiêm trình điều khiển. Không nên đặt trình điều khiển tùy chỉnh.</string>
@@ -643,7 +643,6 @@
<string name="installing">安装中……</string>
<string name="latest">最新</string>
<string name="recommended_driver">推荐驱动:</string>
<string name="gpu_model">GPU型号:</string>
<string name="unsupported_gpu">GPU不支持</string>
<string name="unsupported_gpu_warning">您的GPU不支持驱动注入。不建议设置自定义驱动。</string>
@@ -643,7 +643,6 @@
<string name="installing">安裝中…</string>
<string name="latest">最新</string>
<string name="recommended_driver">推薦驅動程式:</string>
<string name="gpu_model">GPU型號:</string>
<string name="unsupported_gpu">不支援的GPU</string>
<string name="unsupported_gpu_warning">您的GPU不支援驅動程式注入。不建議嘗試設定自訂驅動程式。</string>
@@ -94,6 +94,8 @@
<string name="dyna_state">Extended Dynamic State</string>
<string name="dyna_state_description">Controls the number of features that can be used in Extended Dynamic State. Higher numbers allow for more features and can increase performance, but may cause issues with some drivers and vendors. The default value may vary depending on your system and hardware capabilities. This value can be changed until stability and a better visual quality are achieved.</string>
<string name="disabled">Disabled</string>
<string name="vertex_input_dynamic_state">Vertex Input Dynamic State</string>
<string name="vertex_input_dynamic_state_description">Enables vertex input dynamic state feature for better quality and performance.</string>
<string name="provoking_vertex">Provoking Vertex</string>
<string name="provoking_vertex_description">Improves lighting and vertex handling in certain games. Only supported on Vulkan 1.0+ GPUs.</string>
<string name="descriptor_indexing">Descriptor Indexing</string>
@@ -269,9 +271,14 @@
<string name="folder">Folder</string>
<string name="dont_show_again">Don\'t Show Again</string>
<string name="add_directory_success">New game directory added successfully </string>
<string name="enable_update_checks">Check for updates on app startup.</string>
<string name="enable_update_checks">Check for Updates</string>
<string name="enable_update_checks_description">Check for updates on launch, and optionally download and install the new update.</string>
<string name="update_available">Update Available</string>
<string name="update_available_description">A new version is available: %1$s\n\nWould you like to download it?</string>
<string name="downloading_update">Downloading Update</string>
<string name="update_download_failed">Failed to download update</string>
<string name="update_installed_successfully">Update installed successfully</string>
<string name="update_install_failed">Failed to install update: %1$s</string>
<string name="home_search">Search</string>
<string name="home_settings">Settings</string>
<string name="empty_gamelist">No files were found or no game directory has been selected yet.</string>
@@ -441,9 +448,9 @@
<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="discord_link" translatable="false">https://discord.gg/kXAmGCXBGD</string>
<string name="discord_link" translatable="false">https://discord.gg/HstXbPch7X</string>
<string name="revolt_link" translatable="false">https://rvlt.gg/qKgFEAbH</string>
<string name="x_link" translatable="false">https://x.com/edenemuofficial</string>
<string name="x_link" translatable="false">https://nitter.poast.org/edenemuofficial</string>
<string name="website_link" translatable="false">https://eden-emu.dev</string>
<string name="github_link" translatable="false">https://git.eden-emu.dev/eden-emu</string>
@@ -706,7 +713,7 @@
<string name="copy_details">Copy details</string>
<string name="add_ons">Add-ons</string>
<string name="add_ons_description">Toggle mods, updates and DLC</string>
<string name="playtime">Playtime: </string>
<string name="playtime">Playtime:</string>
<string name="reset_playtime">Clear Playtime</string>
<string name="reset_playtime_description">Reset the current game\'s playtime back to 0 seconds</string>
<string name="reset_playtime_warning_description">This will clear the current game\'s playtime data. Are you sure?</string>
@@ -714,6 +721,9 @@
<string name="edit_playtime">Edit Playtime</string>
<string name="hours">Hours</string>
<string name="minutes">Minutes</string>
<string name="hours_abbr">h</string>
<string name="minutes_abbr">m</string>
<string name="seconds_abbr">s</string>
<string name="hours_must_be_between_0_and_9999">Hours must be between 0 and 9999</string>
<string name="minutes_must_be_between_0_and_59">Minutes must be between 0 and 59</string>
<string name="seconds_must_be_between_0_and_59">Seconds must be between 0 and 59</string>
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<paths xmlns:android="http://schemas.android.com/apk/res/android">
<!-- this is required to share files in the app's internal storage -->
<cache-path name="apk_cache" path="." />
<external-cache-path name="external_apk_cache" path="." />
<files-path name="files" path="." />
<external-files-path name="external_files" path="." />
</paths>
+1
View File
@@ -546,6 +546,7 @@ struct Values {
Category::RendererExtensions,
Specialization::Scalar};
SwitchableSetting<bool> vertex_input_dynamic_state{linkage, true, "vertex_input_dynamic_state", Category::RendererExtensions};
SwitchableSetting<bool> provoking_vertex{linkage, false, "provoking_vertex", Category::RendererExtensions};
SwitchableSetting<bool> descriptor_indexing{linkage, false, "descriptor_indexing", Category::RendererExtensions};
SwitchableSetting<bool> sample_shading{linkage, false, "sample_shading", Category::RendererExtensions, Specialization::Paired};
@@ -8,7 +8,6 @@
#include "common/assert.h"
#include "common/logging/log.h"
#include "core/core.h"
#include "core/hle/kernel/k_event.h"
#include "core/hle/kernel/k_process.h"
#include "core/hle/service/nvdrv/core/container.h"
#include "core/hle/service/nvdrv/core/nvmap.h"
@@ -162,114 +161,11 @@ NvResult nvhost_gpu::ZCullBind(IoctlZCullBind& params) {
}
NvResult nvhost_gpu::SetErrorNotifier(IoctlSetErrorNotifier& params) {
LOG_DEBUG(Service_NVDRV, "called, offset={:#X}, size={:#X}, mem={:#X}",
params.offset, params.size, params.mem);
if (!params.mem || !params.size) {
std::scoped_lock lk(channel_mutex);
if (!channel_state->initialized) {
LOG_CRITICAL(Service_NVDRV, "No address space bound for setting up error notifier!");
return NvResult::NotInitialized;
}
error_notifier_params = {};
LOG_DEBUG(Service_NVDRV, "Error notifier disabled!");
return NvResult::Success;
}
constexpr u64 error_notification_size = sizeof(IoctlGetErrorNotification);
if (params.size < error_notification_size) {
LOG_ERROR(Service_NVDRV, "Error notification size: {:#X} is too small. Need at least {:#X}", params.size,
error_notification_size);
return NvResult::InvalidSize;
}
auto handle = nvmap.GetHandle(static_cast<NvCore::NvMap::Handle::Id>(params.mem));
if (!handle) {
LOG_ERROR(Service_NVDRV, "Unknown nvmap handle id {:#X}", params.mem);
return NvResult::BadParameter;
}
if (params.offset > handle->size || params.size > (handle->size - params.offset)) {
LOG_ERROR(Service_NVDRV, "Error notifier out of bounds: offset={:#X} size={:#X} handle size={:#X}", params.offset,
params.size, handle->size);
return NvResult::InvalidSize;
}
u64 write_address, write_offset, handle_id;
{
std::scoped_lock lk(channel_mutex);
if (!channel_state->initialized) {
LOG_CRITICAL(Service_NVDRV, "No address space bound for setting up error notifier!");
return NvResult::NotInitialized;
}
error_notifier_params = params;
write_address = handle->address;
write_offset = params.offset;
handle_id = handle->id;
}
if (write_address) {
IoctlGetErrorNotification error_notification{};
error_notification.status = static_cast<u16>(NotifierStatus::NoError);
system.ApplicationMemory().WriteBlock(write_address + write_offset, &error_notification, sizeof(error_notification));
} else {
LOG_WARNING(Service_NVDRV,
"nvmap handle id {:#X} has no virtual address assigned; "
"skipping initialization write for error notification!",
handle_id);
}
LOG_WARNING(Service_NVDRV, "(STUBBED) called, offset={:X}, size={:X}, mem={:X}", params.offset,
params.size, params.mem);
return NvResult::Success;
}
void nvhost_gpu::PostErrorNotification(u32 info32, u16 info16, NotifierStatus status) {
IoctlSetErrorNotifier error_notifier_params_snapshot{};
Kernel::KEvent *error_notifier_event_snapshot{};
{
std::scoped_lock lk(channel_mutex);
error_notifier_params_snapshot = error_notifier_params;
error_notifier_event_snapshot = error_notifier_event;
}
if (!error_notifier_params_snapshot.mem || error_notifier_params_snapshot.size < sizeof(IoctlGetErrorNotification)) {
LOG_DEBUG(Service_NVDRV, "PostErrorNotification: notifier not configured or too small!");
return;
}
auto handle = nvmap.GetHandle(static_cast<NvCore::NvMap::Handle::Id>(error_notifier_params_snapshot.mem));
if (!handle || !handle->address) {
LOG_ERROR(Service_NVDRV, "PostErrorNotification: invalid handle or virtual address!");
return;
}
IoctlGetErrorNotification error_init{};
error_init.info32 = info32;
error_init.info16 = info16;
error_init.status = static_cast<u16>(status);
const u64 write_size = std::min<u64>(sizeof(IoctlGetErrorNotification),
error_notifier_params_snapshot.size);
if (error_notifier_params_snapshot.offset >= handle->size ||
write_size > (handle->size - error_notifier_params_snapshot.offset)) {
LOG_ERROR(Service_NVDRV, "PostErrorNotification: bounds check failed!");
return;
}
const u64 virtual_address = handle->address + error_notifier_params_snapshot.offset;
if (virtual_address < handle->address) {
LOG_ERROR(Service_NVDRV, "PostErrorNotification: virtual address overflow!");
return;
}
auto &application_memory = system.ApplicationMemory();
application_memory.WriteBlock(virtual_address, &error_init, write_size);
if (error_notifier_event_snapshot) {
error_notifier_event_snapshot->Signal();
}
}
NvResult nvhost_gpu::SetChannelPriority(IoctlChannelSetPriority& params) {
channel_priority = params.priority;
LOG_INFO(Service_NVDRV, "called, priority={:X}", channel_priority);
@@ -382,7 +278,7 @@ NvResult nvhost_gpu::AllocateObjectContext(IoctlAllocObjCtx& params) {
params.flags = allowed_mask;
}
s32_le ctx_class_number_index =
s32_le ctx_class_number_index =
GetObjectContextClassNumberIndex(static_cast<CtxClasses>(params.class_num));
if (ctx_class_number_index < 0) {
LOG_ERROR(Service_NVDRV, "Invalid class number for object context: {:#X}",
@@ -461,7 +357,6 @@ NvResult nvhost_gpu::SubmitGPFIFOImpl(IoctlSubmitGpfifo& params, Tegra::CommandL
if (flags.fence_wait.Value()) {
if (flags.increment_value.Value()) {
PostErrorNotification(flags.raw, 0, NotifierStatus::GenericError);
return NvResult::BadParameter;
}
@@ -495,11 +390,7 @@ NvResult nvhost_gpu::SubmitGPFIFOImpl(IoctlSubmitGpfifo& params, Tegra::CommandL
NvResult nvhost_gpu::SubmitGPFIFOBase1(IoctlSubmitGpfifo& params,
std::span<Tegra::CommandListHeader> commands, bool kickoff) {
if (params.num_entries > commands.size()) {
LOG_ERROR(Service_NVDRV,
"SubmitGPFIFO: num_entries={:#X} > provided commands={:#X}",
params.num_entries, commands.size());
PostErrorNotification(params.num_entries, 0, NotifierStatus::BadGpfifo);
UNIMPLEMENTED();
return NvResult::InvalidSize;
}
@@ -518,7 +409,7 @@ NvResult nvhost_gpu::SubmitGPFIFOBase1(IoctlSubmitGpfifo& params,
NvResult nvhost_gpu::SubmitGPFIFOBase2(IoctlSubmitGpfifo& params,
std::span<const Tegra::CommandListHeader> commands) {
if (params.num_entries > commands.size()) {
PostErrorNotification(params.num_entries, 0, NotifierStatus::BadGpfifo);
UNIMPLEMENTED();
return NvResult::InvalidSize;
}
@@ -72,16 +72,6 @@ private:
High = 0x96,
};
enum class NotifierStatus : u16_le {
NoError = 0xFFFF,
GenericError = 0x0001,
MmuFault = 0x0002,
IllegalMethod= 0x0003,
InvalidObject= 0x0004,
BadGpfifo = 0x0005,
TimeoutHang = 0x0006,
};
struct IoctlSetNvmapFD {
s32_le nvmap_fd{};
};
@@ -188,8 +178,6 @@ private:
s32_le nvmap_fd{};
u64_le user_data{};
IoctlZCullBind zcull_params{};
IoctlSetErrorNotifier error_notifier_params{};
void PostErrorNotification(u32 info32, u16 info16, NotifierStatus status);
std::array<std::optional<IoctlAllocObjCtx>, 6> ctxObjs{};
u32_le channel_priority{};
u32_le channel_timeslice{};
+3 -19
View File
@@ -167,25 +167,9 @@ void PlayTimeManager::ResetProgramPlayTime(u64 program_id) {
Save();
}
std::string PlayTimeManager::GetReadablePlayTime(u64 time_seconds) {
if (time_seconds == 0) {
return {};
}
const auto time_minutes = std::max(static_cast<double>(time_seconds) / 60.0, 1.0);
const auto time_hours = static_cast<double>(time_seconds) / 3600.0;
const bool is_minutes = time_minutes < 60.0;
if (is_minutes) {
return fmt::format("{:.0f} m", time_minutes);
} else {
const bool has_remainder = time_seconds % 60 != 0;
if (has_remainder) {
return fmt::format("{:.1f} h", time_hours);
} else {
return fmt::format("{:.0f} h", time_hours);
}
}
std::string PlayTimeManager::GetReadablePlayTime(u64 t) {
return t > 0 ? fmt::format("{:02}:{:02}:{:02}", t / 3600, (t / 60) % 60, t % 60)
: std::string{};
}
std::string PlayTimeManager::GetPlayTimeHours(u64 time_seconds) {
@@ -329,6 +329,11 @@ std::unique_ptr<TranslationMap> InitializeTranslations(QObject* parent)
tr("Extended Dynamic State"),
tr("Controls the number of features that can be used in Extended Dynamic State.\nHigher numbers allow for more features and can increase performance, but may cause issues.\nThe default value is per-system."));
INSERT(Settings,
vertex_input_dynamic_state,
tr("Vertex Input Dynamic State"),
tr("Enables vertex input dynamic state feature for better quality and performance."));
INSERT(Settings,
provoking_vertex,
tr("Provoking Vertex"),
@@ -1196,17 +1196,15 @@ void RasterizerOpenGL::SyncLogicOpState() {
if (device.IsAmd()) {
using namespace Tegra::Engines;
struct In {
const Maxwell3D::Regs::VertexAttribute::Type d;
In(Maxwell3D::Regs::VertexAttribute::Type n) : d(n) {}
bool operator()(Maxwell3D::Regs::VertexAttribute n) const {
return n.type == d;
}
};
bool has_float =
std::any_of(regs.vertex_attrib_format.begin(), regs.vertex_attrib_format.end(),
In(Maxwell3D::Regs::VertexAttribute::Type::Float));
bool has_float = std::any_of(
regs.vertex_attrib_format.begin(),
regs.vertex_attrib_format.end(),
[](const auto& n) {
return n.type == Maxwell3D::Regs::VertexAttribute::Type::Float;
}
);
regs.logic_op.enable = static_cast<u32>(!has_float);
}
@@ -579,8 +579,7 @@ void BufferCacheRuntime::BindQuadIndexBuffer(PrimitiveTopology topology, u32 fir
}
}
void BufferCacheRuntime::BindVertexBuffer(u32 index, VkBuffer buffer, u32 offset, u32 size,
u32 stride) {
void BufferCacheRuntime::BindVertexBuffer(u32 index, VkBuffer buffer, u32 offset, u32 size, u32 stride) {
if (index >= device.GetMaxVertexInputBindings()) {
return;
}
@@ -845,10 +845,9 @@ void GraphicsPipeline::MakePipeline(VkRenderPass render_pass) {
VK_DYNAMIC_STATE_LINE_WIDTH,
};
if (key.state.extended_dynamic_state) {
static constexpr std::array extended{
std::vector<VkDynamicState> extended{
VK_DYNAMIC_STATE_CULL_MODE_EXT,
VK_DYNAMIC_STATE_FRONT_FACE_EXT,
//VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT, //Disabled for VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME
VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT,
VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT,
VK_DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT,
@@ -856,6 +855,9 @@ void GraphicsPipeline::MakePipeline(VkRenderPass render_pass) {
VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT,
VK_DYNAMIC_STATE_STENCIL_OP_EXT,
};
if (!device.IsExtVertexInputDynamicStateSupported()) {
extended.push_back(VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT);
}
if (key.state.dynamic_vertex_input) {
dynamic_states.push_back(VK_DYNAMIC_STATE_VERTEX_INPUT_EXT);
}
@@ -404,17 +404,13 @@ PipelineCache::PipelineCache(Tegra::MaxwellDeviceMemoryManager& device_memory_,
device.GetMaxVertexInputBindings(), Maxwell::NumVertexArrays);
}
const u8 dynamic_state = Settings::values.dyna_state.GetValue();
LOG_INFO(Render_Vulkan, "DynamicState value is set to {}", (u32) dynamic_state);
dynamic_features = DynamicFeatures{
.has_extended_dynamic_state = device.IsExtExtendedDynamicStateSupported() && dynamic_state > 0,
.has_extended_dynamic_state_2 = device.IsExtExtendedDynamicState2Supported() && dynamic_state > 1,
.has_extended_dynamic_state_2_extra = device.IsExtExtendedDynamicState2ExtrasSupported() && dynamic_state > 1,
.has_extended_dynamic_state_3_blend = device.IsExtExtendedDynamicState3BlendingSupported() && dynamic_state > 2,
.has_extended_dynamic_state_3_enables = device.IsExtExtendedDynamicState3EnablesSupported() && dynamic_state > 2,
.has_dynamic_vertex_input = device.IsExtVertexInputDynamicStateSupported() && dynamic_state > 0,
.has_extended_dynamic_state = device.IsExtExtendedDynamicStateSupported(),
.has_extended_dynamic_state_2 = device.IsExtExtendedDynamicState2Supported(),
.has_extended_dynamic_state_2_extra = device.IsExtExtendedDynamicState2ExtrasSupported(),
.has_extended_dynamic_state_3_blend = device.IsExtExtendedDynamicState3BlendingSupported(),
.has_extended_dynamic_state_3_enables = device.IsExtExtendedDynamicState3EnablesSupported(),
.has_dynamic_vertex_input = device.IsExtVertexInputDynamicStateSupported(),
};
}
@@ -677,7 +673,6 @@ std::unique_ptr<GraphicsPipeline> PipelineCache::CreateGraphicsPipeline(
const auto runtime_info{MakeRuntimeInfo(programs, key, program, previous_stage)};
ConvertLegacyToGeneric(program, runtime_info);
const std::vector<u32> code{EmitSPIRV(profile, runtime_info, program, binding, this->optimize_spirv_output)};
device.SaveShader(code);
modules[stage_index] = BuildShader(device, code);
@@ -772,17 +767,6 @@ std::unique_ptr<ComputePipeline> PipelineCache::CreateComputePipeline(
}
auto program{TranslateProgram(pools.inst, pools.block, env, cfg, host_info)};
// Adreno have lower shared memory limits (32KB)
// Clamp shared memory usage to device maximum to avoid validation errors
const u32 max_shared_memory = device.GetMaxComputeSharedMemorySize();
if (program.shared_memory_size > max_shared_memory) {
LOG_WARNING(Render_Vulkan,
"Compute shader 0x{:016x} requests {}KB shared memory but device max is {}KB - clamping",
key.unique_hash, program.shared_memory_size / 1024, max_shared_memory / 1024);
program.shared_memory_size = max_shared_memory;
}
const std::vector<u32> code{EmitSPIRV(profile, program, this->optimize_spirv_output)};
device.SaveShader(code);
vk::ShaderModule spv_module{BuildShader(device, code)};
@@ -62,41 +62,29 @@ struct DrawParams {
VkViewport GetViewportState(const Device& device, const Maxwell& regs, size_t index, float scale) {
const auto& src = regs.viewport_transform[index];
const auto conv = [scale](float value) {
float new_value = value * scale;
if (scale < 1.0f) {
const bool sign = std::signbit(value);
new_value = std::round(std::abs(new_value));
new_value = sign ? -new_value : new_value;
}
return new_value;
float const new_value = value * scale;
return scale < 1.0f
? std::round(std::abs(new_value)) * (std::signbit(new_value) ? -1.f : 1.f)
: new_value;
};
const float x = conv(src.translate_x - src.scale_x);
const float width = conv(src.scale_x * 2.0f);
float y = conv(src.translate_y - src.scale_y);
float height = conv(src.scale_y * 2.0f);
const bool lower_left = regs.window_origin.mode != Maxwell::WindowOrigin::Mode::UpperLeft;
const bool y_negate = !device.IsNvViewportSwizzleSupported() &&
src.swizzle.y == Maxwell::ViewportSwizzle::NegativeY;
if (lower_left) {
// Flip by surface clip height
y += conv(static_cast<f32>(regs.surface_clip.height));
height = -height;
}
if (y_negate) {
// Flip by viewport height
y += height;
height = -height;
}
const float reduce_z = regs.depth_mode == Maxwell::DepthMode::MinusOneToOne ? 1.0f : 0.0f;
float const w = src.scale_x;
float h = src.scale_y;
if (regs.window_origin.mode == Maxwell::WindowOrigin::Mode::LowerLeft) // Flip by surface clip height
h = -h;
if (!device.IsNvViewportSwizzleSupported() && src.swizzle.y == Maxwell::ViewportSwizzle::NegativeY) // Flip by viewport height
h = -h;
// In theory, a raster flip is equivalent to a texture flip for a whole square viewport
// TODO: one day implement this properly and raster flip the triangles, not the whole viewport... guh
if(regs.viewport_transform[1].scale_y == 0 && regs.window_origin.flip_y != 0)
h = -h;
float const x = src.translate_x - w;
float const y = src.translate_y - h;
float const reduce_z = regs.depth_mode == Maxwell::DepthMode::MinusOneToOne ? 1.0f : 0.0f;
VkViewport viewport{
.x = x,
.y = y,
.width = width != 0.0f ? width : 1.0f,
.height = height != 0.0f ? height : 1.0f,
.x = conv(x),
.y = conv(y),
.width = w != 0.0f ? conv(w * 2.f) : 1.0f,
.height = h != 0.0f ? conv(h * 2.f) : 1.0f,
.minDepth = src.translate_z - src.scale_z * reduce_z,
.maxDepth = src.translate_z + src.scale_z,
};
@@ -945,7 +933,6 @@ bool AccelerateDMA::BufferToImage(const Tegra::DMA::ImageCopy& copy_info,
void RasterizerVulkan::UpdateDynamicStates() {
auto& regs = maxwell3d->regs;
UpdateViewportsState(regs);
UpdateScissorsState(regs);
UpdateDepthBias(regs);
@@ -953,10 +940,7 @@ void RasterizerVulkan::UpdateDynamicStates() {
UpdateDepthBounds(regs);
UpdateStencilFaces(regs);
UpdateLineWidth(regs);
const u8 dynamic_state = Settings::values.dyna_state.GetValue();
if (device.IsExtExtendedDynamicStateSupported() && dynamic_state > 0) {
if (device.IsExtExtendedDynamicStateSupported()) {
UpdateCullMode(regs);
UpdateDepthCompareOp(regs);
UpdateFrontFace(regs);
@@ -966,42 +950,45 @@ void RasterizerVulkan::UpdateDynamicStates() {
UpdateDepthTestEnable(regs);
UpdateDepthWriteEnable(regs);
UpdateStencilTestEnable(regs);
if (device.IsExtExtendedDynamicState2Supported() && dynamic_state > 1) {
if (device.IsExtExtendedDynamicState2Supported()) {
UpdatePrimitiveRestartEnable(regs);
UpdateRasterizerDiscardEnable(regs);
UpdateDepthBiasEnable(regs);
}
if (device.IsExtExtendedDynamicState3EnablesSupported() && dynamic_state > 2) {
if (device.IsExtExtendedDynamicState3EnablesSupported()) {
using namespace Tegra::Engines;
if (device.GetDriverID() == VkDriverIdKHR::VK_DRIVER_ID_AMD_OPEN_SOURCE || device.GetDriverID() == VkDriverIdKHR::VK_DRIVER_ID_AMD_PROPRIETARY) {
struct In {
const Maxwell3D::Regs::VertexAttribute::Type d;
In(Maxwell3D::Regs::VertexAttribute::Type n) : d(n) {}
bool operator()(Maxwell3D::Regs::VertexAttribute n) const {
return n.type == d;
const auto has_float = std::any_of(
regs.vertex_attrib_format.begin(),
regs.vertex_attrib_format.end(),
[](const auto& attrib) {
return attrib.type == Maxwell3D::Regs::VertexAttribute::Type::Float;
}
};
auto has_float = std::any_of(regs.vertex_attrib_format.begin(), regs.vertex_attrib_format.end(), In(Maxwell3D::Regs::VertexAttribute::Type::Float));
);
if (regs.logic_op.enable) {
regs.logic_op.enable = static_cast<u32>(!has_float);
}
}
UpdateLogicOpEnable(regs);
UpdateDepthClampEnable(regs);
UpdateLineStippleEnable(regs);
UpdateConservativeRasterizationMode(regs);
}
}
if (device.IsExtExtendedDynamicState2ExtrasSupported() && dynamic_state > 1) {
if (device.IsExtExtendedDynamicState2ExtrasSupported()) {
UpdateLogicOp(regs);
}
if (device.IsExtExtendedDynamicState3BlendingSupported() && dynamic_state > 2) {
if (device.IsExtExtendedDynamicState3BlendingSupported()) {
UpdateBlending(regs);
}
if (device.IsExtExtendedDynamicState3EnablesSupported()) {
UpdateLineStippleEnable(regs);
UpdateConservativeRasterizationMode(regs);
}
}
if (device.IsExtVertexInputDynamicStateSupported() && dynamic_state > 0)
if (auto* gp = pipeline_cache.CurrentGraphicsPipeline(); gp && gp->HasDynamicVertexInput())
if (device.IsExtVertexInputDynamicStateSupported()) {
if (auto* gp = pipeline_cache.CurrentGraphicsPipeline(); gp && gp->HasDynamicVertexInput()) {
UpdateVertexInput(regs);
}
}
}
void RasterizerVulkan::HandleTransformFeedback() {
@@ -1027,10 +1014,10 @@ void RasterizerVulkan::UpdateViewportsState(Tegra::Engines::Maxwell3D::Regs& reg
return;
}
if (!regs.viewport_scale_offset_enabled) {
float x = static_cast<float>(regs.surface_clip.x);
float y = static_cast<float>(regs.surface_clip.y);
float width = (std::max)(1.0f, static_cast<float>(regs.surface_clip.width));
float height = (std::max)(1.0f, static_cast<float>(regs.surface_clip.height));
float x = float(regs.surface_clip.x);
float y = float(regs.surface_clip.y);
float width = (std::max)(1.0f, float(regs.surface_clip.width));
float height = (std::max)(1.0f, float(regs.surface_clip.height));
if (regs.window_origin.mode != Maxwell::WindowOrigin::Mode::UpperLeft) {
y += height;
height = -height;
@@ -287,10 +287,10 @@ void Scheduler::EndRenderPass()
for (size_t i = 0; i < num_images; ++i) {
const VkImageSubresourceRange& range = ranges[i];
const bool is_color = range.aspectMask & VK_IMAGE_ASPECT_COLOR_BIT;
const bool is_depth_stencil = range.aspectMask
const bool is_color = (range.aspectMask & VK_IMAGE_ASPECT_COLOR_BIT) != 0;
const bool is_depth_stencil = (range.aspectMask
& (VK_IMAGE_ASPECT_DEPTH_BIT
| VK_IMAGE_ASPECT_STENCIL_BIT);
| VK_IMAGE_ASPECT_STENCIL_BIT)) !=0;
VkAccessFlags src_access = 0;
VkPipelineStageFlags this_stage = 0;
@@ -326,14 +326,19 @@ void Scheduler::EndRenderPass()
};
}
// Graft: ensure explicit fragment tests + color output stages are always synchronized (AMD/Windows fix)
src_stages |= VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT |
VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT |
VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT;
cmdbuf.EndRenderPass();
cmdbuf.PipelineBarrier(src_stages,
VK_PIPELINE_STAGE_ALL_COMMANDS_BIT,
0,
{},
{},
{barriers.data(), num_images} // Batched image barriers
nullptr,
nullptr,
vk::Span(barriers.data(), num_images) // Batched image barriers
);
});
+31 -118
View File
@@ -494,18 +494,7 @@ Device::Device(VkInstance instance_, vk::PhysicalDevice physical_, VkSurfaceKHR
CollectPhysicalMemoryInfo();
CollectToolingInfo();
if (is_qualcomm || is_turnip) {
LOG_WARNING(Render_Vulkan,
"Qualcomm and Turnip drivers have broken VK_EXT_custom_border_color");
//RemoveExtensionFeature(extensions.custom_border_color, features.custom_border_color,
//VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME);
}
if (is_qualcomm) {
LOG_WARNING(Render_Vulkan,
"Qualcomm drivers have a slow VK_KHR_push_descriptor implementation");
//RemoveExtension(extensions.push_descriptor, VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME);
LOG_WARNING(Render_Vulkan,
"Disabling shader float controls and 64-bit integer features on Qualcomm proprietary drivers");
RemoveExtension(extensions.shader_float_controls, VK_KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME);
@@ -544,93 +533,36 @@ Device::Device(VkInstance instance_, vk::PhysicalDevice physical_, VkSurfaceKHR
if (arch >= NvidiaArchitecture::Arch_AmpereOrNewer) {
LOG_WARNING(Render_Vulkan, "Ampere and newer have broken float16 math");
features.shader_float16_int8.shaderFloat16 = false;
} else if (arch <= NvidiaArchitecture::Arch_Volta) {
if (nv_major_version < 527) {
LOG_WARNING(Render_Vulkan, "Volta and older have broken VK_KHR_push_descriptor");
//RemoveExtension(extensions.push_descriptor, VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME);
}
}
if (nv_major_version >= 510) {
LOG_WARNING(Render_Vulkan, "NVIDIA Drivers >= 510 do not support MSAA image blits");
cant_blit_msaa = true;
}
}
if (extensions.extended_dynamic_state && is_radv) {
// Mask driver version variant
const u32 version = (properties.properties.driverVersion << 3) >> 3;
if (version < VK_MAKE_API_VERSION(0, 21, 2, 0)) {
LOG_WARNING(Render_Vulkan,
"RADV versions older than 21.2 have broken VK_EXT_extended_dynamic_state");
//RemoveExtensionFeature(extensions.extended_dynamic_state,
//features.extended_dynamic_state,
//VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME);
}
}
if (extensions.extended_dynamic_state2 && is_radv) {
const u32 version = (properties.properties.driverVersion << 3) >> 3;
if (version < VK_MAKE_API_VERSION(0, 22, 3, 1)) {
LOG_WARNING(
Render_Vulkan,
"RADV versions older than 22.3.1 have broken VK_EXT_extended_dynamic_state2");
// RemoveExtensionFeature(extensions.extended_dynamic_state2,
// features.extended_dynamic_state2,
// VK_EXT_EXTENDED_DYNAMIC_STATE_2_EXTENSION_NAME);
}
}
if (extensions.extended_dynamic_state2 && is_qualcomm) {
const u32 version = (properties.properties.driverVersion << 3) >> 3;
if (version >= VK_MAKE_API_VERSION(0, 0, 676, 0) &&
version < VK_MAKE_API_VERSION(0, 0, 680, 0)) {
// Qualcomm Adreno 7xx drivers do not properly support extended_dynamic_state2.
LOG_WARNING(Render_Vulkan,
"Qualcomm Adreno 7xx drivers have broken VK_EXT_extended_dynamic_state2");
//RemoveExtensionFeature(extensions.extended_dynamic_state2,
//features.extended_dynamic_state2,
//VK_EXT_EXTENDED_DYNAMIC_STATE_2_EXTENSION_NAME);
}
}
if (extensions.extended_dynamic_state3 && is_radv) {
LOG_WARNING(Render_Vulkan, "RADV has broken extendedDynamicState3ColorBlendEquation");
features.extended_dynamic_state3.extendedDynamicState3ColorBlendEnable = true;
features.extended_dynamic_state3.extendedDynamicState3ColorBlendEquation = true;
dynamic_state3_blending = true;
features.extended_dynamic_state3.extendedDynamicState3ColorBlendEnable = false;
features.extended_dynamic_state3.extendedDynamicState3ColorBlendEquation = false;
dynamic_state3_blending = false;
const u32 version = (properties.properties.driverVersion << 3) >> 3;
if (version < VK_MAKE_API_VERSION(0, 23, 1, 0)) {
LOG_WARNING(Render_Vulkan,
"RADV versions older than 23.1.0 have broken depth clamp dynamic state");
features.extended_dynamic_state3.extendedDynamicState3DepthClampEnable = true;
dynamic_state3_enables = true;
features.extended_dynamic_state3.extendedDynamicState3DepthClampEnable = false;
dynamic_state3_enables = false;
}
}
if (extensions.extended_dynamic_state3 && (is_amd_driver || driver_id == VK_DRIVER_ID_SAMSUNG_PROPRIETARY)) {
// AMD and Samsung drivers have broken extendedDynamicState3ColorBlendEquation
LOG_WARNING(Render_Vulkan,
"AMD and Samsung drivers have broken extendedDynamicState3ColorBlendEquation");
features.extended_dynamic_state3.extendedDynamicState3ColorBlendEnable = true;
features.extended_dynamic_state3.extendedDynamicState3ColorBlendEquation = true;
dynamic_state3_blending = true;
}
if (extensions.vertex_input_dynamic_state && is_radv) {
// TODO(ameerj): Blacklist only offending driver versions
// TODO(ameerj): Confirm if RDNA1 is affected
const bool is_rdna2 =
supported_extensions.contains(VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME);
if (is_rdna2) {
LOG_WARNING(Render_Vulkan,
"RADV has broken VK_EXT_vertex_input_dynamic_state on RDNA2 hardware");
// RemoveExtensionFeature(extensions.vertex_input_dynamic_state,
// features.vertex_input_dynamic_state,
// VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME);
}
}
if (extensions.vertex_input_dynamic_state && is_qualcomm) {
// Qualcomm drivers do not properly support vertex_input_dynamic_state.
LOG_WARNING(Render_Vulkan,
"Qualcomm drivers have broken VK_EXT_vertex_input_dynamic_state");
//RemoveExtensionFeature(extensions.vertex_input_dynamic_state,
// features.vertex_input_dynamic_state,
// VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME);
features.extended_dynamic_state3.extendedDynamicState3ColorBlendEnable = false;
features.extended_dynamic_state3.extendedDynamicState3ColorBlendEquation = false;
dynamic_state3_blending = false;
}
sets_per_pool = 64;
@@ -644,12 +576,14 @@ Device::Device(VkInstance instance_, vk::PhysicalDevice physical_, VkSurfaceKHR
has_broken_cube_compatibility = true;
}
}
if (is_qualcomm) {
const u32 version = (properties.properties.driverVersion << 3) >> 3;
if (version < VK_MAKE_API_VERSION(0, 255, 615, 512)) {
has_broken_parallel_compiling = true;
}
}
if (extensions.sampler_filter_minmax && is_amd) {
// Disable ext_sampler_filter_minmax on AMD GCN4 and lower as it is broken.
if (!features.shader_float16_int8.shaderFloat16) {
@@ -660,24 +594,17 @@ Device::Device(VkInstance instance_, vk::PhysicalDevice physical_, VkSurfaceKHR
}
}
if (extensions.vertex_input_dynamic_state && is_intel_windows) {
const u32 version = (properties.properties.driverVersion << 3) >> 3;
if (version < VK_MAKE_API_VERSION(27, 20, 100, 0)) {
LOG_WARNING(Render_Vulkan, "Intel has broken VK_EXT_vertex_input_dynamic_state");
//RemoveExtensionFeature(extensions.vertex_input_dynamic_state,
//features.vertex_input_dynamic_state,
//VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME);
}
}
if (features.shader_float16_int8.shaderFloat16 && is_intel_windows) {
// Intel's compiler crashes when using fp16 on Astral Chain, disable it for the time being.
LOG_WARNING(Render_Vulkan, "Intel has broken float16 math");
features.shader_float16_int8.shaderFloat16 = false;
}
if (is_intel_windows) {
LOG_WARNING(Render_Vulkan, "Intel proprietary drivers do not support MSAA image blits");
cant_blit_msaa = true;
}
has_broken_compute =
CheckBrokenCompute(properties.driver.driverID, properties.properties.driverVersion) &&
!Settings::values.enable_compute_pipelines.GetValue();
@@ -685,24 +612,6 @@ Device::Device(VkInstance instance_, vk::PhysicalDevice physical_, VkSurfaceKHR
LOG_WARNING(Render_Vulkan, "Driver does not support native BGR format");
must_emulate_bgr565 = true;
}
if (extensions.push_descriptor && is_intel_anv) {
const u32 version = (properties.properties.driverVersion << 3) >> 3;
if (version >= VK_MAKE_API_VERSION(0, 22, 3, 0) &&
version < VK_MAKE_API_VERSION(0, 23, 2, 0)) {
// Disable VK_KHR_push_descriptor due to
// mesa/mesa/-/commit/ff91c5ca42bc80aa411cb3fd8f550aa6fdd16bdc
LOG_WARNING(Render_Vulkan,
"ANV drivers 22.3.0 to 23.1.0 have broken VK_KHR_push_descriptor");
//RemoveExtension(extensions.push_descriptor, VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME);
}
} else if (extensions.push_descriptor && is_nvidia) {
const auto arch = GetNvidiaArch();
if (arch <= NvidiaArchitecture::Arch_Pascal) {
LOG_WARNING(Render_Vulkan,
"Pascal and older architectures have broken VK_KHR_push_descriptor");
//RemoveExtension(extensions.push_descriptor, VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME);
}
}
if (is_mvk) {
LOG_WARNING(Render_Vulkan,
@@ -730,8 +639,8 @@ Device::Device(VkInstance instance_, vk::PhysicalDevice physical_, VkSurfaceKHR
"Removing extendedDynamicState3 due to missing extendedDynamicState2");
RemoveExtensionFeature(extensions.extended_dynamic_state3, features.extended_dynamic_state3,
VK_EXT_EXTENDED_DYNAMIC_STATE_3_EXTENSION_NAME);
dynamic_state3_blending = true;
dynamic_state3_enables = true;
dynamic_state3_blending = false;
dynamic_state3_enables = false;
}
// Mesa Intel drivers on UHD 620 have broken EDS causing extreme flickering - unknown if it affects other iGPUs
@@ -743,22 +652,26 @@ Device::Device(VkInstance instance_, vk::PhysicalDevice physical_, VkSurfaceKHR
Settings::values.dyna_state.SetValue(0);
}
if (Settings::values.dyna_state.GetValue() == 0) {
must_emulate_scaled_formats = true;
LOG_INFO(Render_Vulkan, "Extended dynamic state is fully disabled, scaled format emulation is ON");
RemoveExtensionFeature(extensions.custom_border_color, features.custom_border_color, VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME);
switch (Settings::values.dyna_state.GetValue()) {
case 0:
RemoveExtensionFeature(extensions.extended_dynamic_state, features.extended_dynamic_state, VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME);
[[fallthrough]];
case 1:
RemoveExtensionFeature(extensions.extended_dynamic_state2, features.extended_dynamic_state2, VK_EXT_EXTENDED_DYNAMIC_STATE_2_EXTENSION_NAME);
[[fallthrough]];
case 2:
RemoveExtensionFeature(extensions.extended_dynamic_state3, features.extended_dynamic_state3, VK_EXT_EXTENDED_DYNAMIC_STATE_3_EXTENSION_NAME);
RemoveExtensionFeature(extensions.vertex_input_dynamic_state, features.vertex_input_dynamic_state, VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME);
dynamic_state3_blending = false;
dynamic_state3_enables = false;
break;
}
LOG_INFO(Render_Vulkan, "All dynamic state extensions and features have been disabled");
} else {
must_emulate_scaled_formats = false;
LOG_INFO(Render_Vulkan, "Extended dynamic state is enabled, scaled format emulation is OFF");
if (!extensions.extended_dynamic_state) {
Settings::values.vertex_input_dynamic_state.SetValue(false);
}
if (!Settings::values.vertex_input_dynamic_state.GetValue()) {
RemoveExtensionFeature(extensions.vertex_input_dynamic_state, features.vertex_input_dynamic_state, VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME);
}
logical = vk::Device::Create(physical, queue_cis, ExtensionListForVulkan(loaded_extensions), first_next, dld);
+1 -1
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://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://discord.gg/kXAmGCXBGD&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#039be5;&quot;&gt;Discord&lt;/span&gt;&lt;/a&gt; | &lt;a href=&quot;https://rvlt.gg/qKgFEAbH&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#039be5;&quot;&gt;Revolt&lt;/span&gt;&lt;/a&gt; | &lt;a href=&quot;https://nitter.poast.org/edenemuofficial&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#039be5;&quot;&gt;Twitter&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>
<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://discord.gg/HstXbPch7X&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#039be5;&quot;&gt;Discord&lt;/span&gt;&lt;/a&gt; | &lt;a href=&quot;https://rvlt.gg/qKgFEAbH&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#039be5;&quot;&gt;Revolt&lt;/span&gt;&lt;/a&gt; | &lt;a href=&quot;https://nitter.poast.org/edenemuofficial&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#039be5;&quot;&gt;Twitter&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>
@@ -83,14 +83,6 @@ ConfigureMotionTouch::ConfigureMotionTouch(QWidget* parent,
: QDialog(parent), input_subsystem{input_subsystem_},
ui(std::make_unique<Ui::ConfigureMotionTouch>()) {
ui->setupUi(this);
ui->udp_learn_more->setOpenExternalLinks(true);
ui->udp_learn_more->setText(
tr("<a "
"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>"));
SetConfiguration();
UpdateUiDisplay();
ConnectEvents();
@@ -182,13 +182,6 @@
<property name="rightMargin">
<number>0</number>
</property>
<item>
<widget class="QLabel" name="udp_learn_more">
<property name="text">
<string>Learn More</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="udp_test">
<property name="sizePolicy">
+1 -1
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://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>
<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 user handbook.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="openExternalLinks">
<bool>true</bool>
+5 -11
View File
@@ -577,10 +577,7 @@ MainWindow::MainWindow(bool has_broken_vulkan)
UISettings::values.has_broken_vulkan = true;
QMessageBox::warning(this, tr("Broken Vulkan Installation Detected"),
tr("Vulkan initialization failed during boot.<br><br>Click <a "
"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>."));
tr("Vulkan initialization failed during boot."));
#ifdef HAS_OPENGL
Settings::values.renderer_backend = Settings::RendererBackend::OpenGL;
@@ -1913,10 +1910,8 @@ bool MainWindow::LoadROM(const QString& filename, Service::AM::FrontendAppletPar
tr("You are using the deconstructed ROM directory format for this game, which is an "
"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://eden-emulator.github.io/wiki/overview-of-switch-game-formats'>check "
"out our "
"wiki</a>. This message will not be shown again."));
"support.<br>For an explanation of the various Switch formats Eden supports, "
"out our user handbook. This message will not be shown again."));
}
if (result != Core::SystemResultStatus::Success) {
@@ -2738,13 +2733,12 @@ void MainWindow::OnGameListNavigateToGamedbEntry(u64 program_id,
directory = it->second.second;
}
QDesktopServices::openUrl(
QUrl(QStringLiteral("https://eden-emulator.github.io/game/") + directory));
QDesktopServices::openUrl(QUrl(QStringLiteral("https://www.emuready.com/listings?emulatorIds=43bfc023-ec22-422d-8324-048a8ec9f28f") + directory));
}
void MainWindow::OnGameListCreateShortcut(u64 program_id, const std::string& game_path,
const QtCommon::Game::ShortcutTarget target) {
// Create shortcut
// Create shortcu
std::string arguments = fmt::format("-g \"{:s}\"", game_path);
QtCommon::Game::CreateShortcut(game_path, program_id, "", target, arguments, true);
+3 -3
View File
@@ -9,11 +9,11 @@
which magick || exit
EDEN_BASE_SVG="dist/icon_variations/base.svg"
EDEN_SMALL_SVG="dist/icon_variations/base_small.svg"
#EDEN_SMALL_SVG="dist/icon_variations/base_small.svg"
EDEN_NAMED_SVG="dist/icon_variations/base_named.svg"
magick -density 256x256 -background transparent $EDEN_SMALL_SVG -define icon:auto-resize -colors 256 dist/eden.ico || exit
convert -density 256x256 -resize 256x256 -background transparent $EDEN_SMALL_SVG dist/yuzu.bmp || exit
magick -density 256x256 -background transparent $EDEN_BASE_SVG -define icon:auto-resize -colors 256 dist/eden.ico || exit
convert -density 256x256 -resize 256x256 -background transparent $EDEN_BASE_SVG dist/yuzu.bmp || exit
magick -size 256x256 -background transparent $EDEN_BASE_SVG dist/qt_themes/default/icons/256x256/eden.png || exit
magick -size 256x256 -background transparent $EDEN_NAMED_SVG dist/qt_themes/default/icons/256x256/eden_named.png || exit