Commit Graph

248 Commits

Author SHA1 Message Date
transifex-integration[bot]
152d0db021
Apply translations in el
100% reviewed for the source file 'app/src/main/res/values/strings.xml'
on the 'el' language.
2023-04-06 09:53:16 +00:00
transifex-integration[bot]
e0c25bbead
Apply translations in el
100% reviewed for the source file 'app/src/main/res/values/strings.xml'
on the 'el' language.
2023-04-05 20:48:49 +00:00
transifex-integration[bot]
1c43791525
Apply translations in id
100% reviewed for the source file 'app/src/main/res/values/strings.xml'
on the 'id' language.
2023-04-02 11:42:05 +00:00
transifex-integration[bot]
ad31db17fa
Apply translations in id
100% reviewed for the source file 'app/src/main/res/values/strings.xml'
on the 'id' language.
2023-04-02 11:32:38 +00:00
transifex-integration[bot]
6e4a89099e
Apply translations in fr
100% reviewed for the source file 'app/src/main/res/values/strings.xml'
on the 'fr' language.
2023-03-30 17:30:48 +00:00
transifex-integration[bot]
feffee6a88
Apply translations in zh-Hant
100% reviewed for the source file 'app/src/main/res/values/strings.xml'
on the 'zh-Hant' language.
2023-03-28 18:37:25 +00:00
transifex-integration[bot]
6a03e4cd72
Apply translations in zh-Hans
100% reviewed for the source file 'app/src/main/res/values/strings.xml'
on the 'zh-Hans' language.
2023-03-28 18:33:56 +00:00
transifex-integration[bot]
4f4229413e
Apply translations in zh-Hans
100% reviewed for the source file 'app/src/main/res/values/strings.xml'
on the 'zh-Hans' language.
2023-03-28 18:28:28 +00:00
transifex-integration[bot]
9e2fe79804
Apply translations in es
100% reviewed for the source file 'app/src/main/res/values/strings.xml'
on the 'es' language.
2023-03-26 18:58:17 +00:00
transifex-integration[bot]
7eea6515ba
Apply translations in de
100% reviewed for the source file 'app/src/main/res/values/strings.xml'
on the 'de' language.
2023-03-26 15:20:35 +00:00
transifex-integration[bot]
3a4bf37b52
Apply translations in fr
100% reviewed for the source file 'app/src/main/res/values/strings.xml'
on the 'fr' language.
2023-03-26 13:05:34 +00:00
transifex-integration[bot]
6017b26799
Apply translations in pt_BR
100% reviewed for the source file 'app/src/main/res/values/strings.xml'
on the 'pt_BR' language.
2023-03-24 19:58:17 +00:00
transifex-integration[bot]
cdb5ecc5b2
Apply translations in pt_BR
100% reviewed for the source file 'app/src/main/res/values/strings.xml'
on the 'pt_BR' language.
2023-03-24 17:49:22 +00:00
transifex-integration[bot]
8b8ecec808
Apply translations in pt_BR
100% reviewed for the source file 'app/src/main/res/values/strings.xml'
on the 'pt_BR' language.
2023-03-24 16:07:39 +00:00
transifex-integration[bot]
f507110827
Apply translations in es_419
100% reviewed for the source file 'app/src/main/res/values/strings.xml'
on the 'es_419' language.
2023-03-23 20:15:17 +00:00
transifex-integration[bot]
466462c937 Apply translations in id
100% reviewed for the source file 'app/src/main/res/values/strings.xml'
on the 'id' language.
2023-03-21 16:40:29 +01:00
transifex-integration[bot]
39c7c8e17e Apply translations in fr
100% reviewed for the source file 'app/src/main/res/values/strings.xml'
on the 'fr' language.
2023-03-21 16:40:29 +01:00
transifex-integration[bot]
c8561ee64e Apply translations in pt_BR
100% reviewed for the source file 'app/src/main/res/values/strings.xml'
on the 'pt_BR' language.
2023-03-21 16:40:28 +01:00
Billy Laws
c928084bb1 Show a toast when per-game settings are active 2023-03-19 13:52:15 +00:00
Abandoned Cart
905c0a47fa Allow the options, even if they're useless
Since this is instantiated in `onCreate` and may be recycled with different settings, relying on the audio to be disabled to determine if a mute action is available seems like a risky gamble.
2023-03-14 23:22:32 +00:00
Abandoned Cart
bd9050f6c7 Add an emulator pause button to the OSC 2023-03-14 23:22:32 +00:00
Abandoned Cart
95a679e5cd Add an action to pause the emulator process 2023-03-14 23:22:32 +00:00
Abandoned Cart
bdc368e039 Add a mute button as a PiP window action 2023-03-14 23:22:32 +00:00
Billy Laws
55176c2a72
Update patreon names 2023-03-05 20:16:45 +00:00
Niccolò Betto
20130f1182
Update translations (#2235)
* Apply translations in zh-Hans
* Apply translations in zh-Hant
* Apply translations in pt_BR
* Apply translations in es_419
* Apply translations in pt

Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
2023-03-05 13:04:34 +01:00
KikiManjaro
1282362fce Add color selection to OSC
* Add bold text and antialiasing for osc buttons
* Fix osc dpad and button position (widder than taller)
* Set default OSC color to white background with black text
2023-03-05 12:45:07 +01:00
Abandoned Cart
bcd38460be Align ChipGroup to center when space exists 2023-03-05 11:42:20 +01:00
Billy Laws
7150ce0d1d Allow disabling the freeing of texture guest memory
This helps to prevent issues that result from the overlapping of buffer and texture data, by only ever syncing back textures if they are actually used as RTs, which are much less likely to overlap buffers.
2023-03-04 18:55:44 +00:00
lynxnb
787f2bde02 Enable localization for app strings
A setting has been added to override the system default language, should a user want a different language for the app.
2023-02-27 22:19:53 +01:00
transifex-integration[bot]
8e7455fb04 Initial translations sync with Transifex
* Apply translations in fr
* Apply translations in ru
* Apply translations in b+zh+Hans
* Apply translations in b+zh+Hant
* Apply translations in de
* Apply translations in el
* Apply translations in ja
* Apply translations in ar
* Apply translations in ta
* Apply translations in pl
* Apply translations in ko
* Apply translations in es
* Apply translations in pl
* Apply translations in in
* Apply translations in it
* Apply translations in b+es+419
* Apply translations in hu
2023-02-27 22:19:53 +01:00
lynxnb
3b849393c2 Fix capitalization in settings title strings 2023-02-27 19:56:53 +01:00
lynxnb
aa1da257f8 Add an option to copy global settings to per-game ones 2023-02-27 19:56:53 +01:00
lynxnb
485bd2031c Only hide validation_layer setting on release instead of debug category 2023-02-27 19:56:53 +01:00
lynxnb
b2228a93da Reorder settings pt.2 2023-02-27 19:56:53 +01:00
lynxnb
1a11aaa651 Add per-game settings configuration functionality 2023-02-27 19:56:53 +01:00
lynxnb
a683978e8c Split preferences to multiple files for reusability 2023-02-27 19:56:53 +01:00
lynxnb
e7c176a8e5 Reorder preferences and introduce new categories 2023-02-27 19:56:53 +01:00
Billy Laws
a47f010653 Add an option to allow CPU writes when fast readback is used 2023-02-20 18:01:49 +00:00
Billy Laws
bff232f326 Update edge names 2023-02-07 16:52:33 +00:00
Billy Laws
bb3baa888d Add a hack to disable shader subgroup shuffles
These are about 100x as expensive on adreno than nvidia due to the lack of a dedicated instruction, since some games work fine without them add a hack to disable them.
2023-02-04 23:10:45 +00:00
Billy Laws
db173083d7 Update edge credits 2023-02-04 23:10:45 +00:00
PabloG02
8b9d6f79ab Add option to enable/disable shader cache 2023-01-28 11:57:19 +00:00
hacobot.dev
75f6f5e31c pull request requested changes 2023-01-23 21:28:49 +00:00
hacobot.dev
7cd13916a3 Main activity is now refreshing when the group checkbox is changed 2023-01-23 21:28:49 +00:00
hacobot.dev
b67bfe3848 Added functionality to make optional to group games by format and sort 2023-01-23 21:28:49 +00:00
PabloG02
535eafb57a Add Android 13 themed icon 2023-01-20 21:08:33 +00:00
Billy Laws
0f1d97fe2c Update edge supporter names 2023-01-08 21:35:14 +00:00
Billy Laws
3d31ade35f Implement an alternative buffer path using direct memory importing
By importing guest memory directly onto the host GPU we can avoid many of the complexities that occur with memory tracking as well as the heavy performance overhead in some situations. Since it's still desired to support the traditional buffer method, as it's faster in some cases and more widely supported, most of the exposed buffer methods have been split into two variants with just a small amount of shared code. While in most cases the code is simpler, one area with more complexity is handling CPU accesses that need to be sequenced, since we don't have any place we can easily apply writes to on the GPFIFO thread that wont also impact the buffer on the GPU, to solve this, when the GPU is actively using a buffer's contents, an interval list is used to keep track of any GPFIO-written regions on the CPU and any CPU reads to them will instead be directed to a shadow of the buffer with just those writes applied. Once the GPU has finished using buffer contents the shadow can then be removed as all writes will have been done by the GPU.

The main caveat of this is that it requires tying host sync to guest sync, this can reduce performance in games which double buffer command buffers as it prevents us from fully saturating the CPU with the GPFIFO thread.
2023-01-08 19:30:52 +00:00
Billy Laws
c67f27e914 Add a setting to control the maximum number of accumulated GPU cmds
This helps to keep the GPU fed when processing large command buffers which don't have any syncpoints to force a flush inbetween.
2023-01-08 19:30:52 +00:00
Billy Laws
77214a98dd Add a setting to force maximum GPU clocks on KGSL devices 2023-01-08 19:30:52 +00:00
PabloG02
80c0f8f04d
Implement full profile picture support
Extends the profile picture stub into a full-fledged implementation with the ability for users to set their profile picture in settings while having the Skyline icon as the default profile picture.
2022-12-27 22:53:41 +05:30
Dima
5a9a2861df Add TitleId TextView in App Dialog 2022-12-10 14:57:46 +00:00
Abandoned Cart
b08fcd7027 Favor a predefined "click" over system vibration 2022-12-10 14:57:33 +00:00
Abandoned Cart
cfd3bfecba Add a rudimentary OSC button vibration setting 2022-12-10 14:57:33 +00:00
Billy Laws
f4f658e3b7 Fix typo 2022-12-03 22:50:56 +00:00
Billy Laws
bfae292fb0 Make executor slot count setting exponential 2022-12-03 22:50:56 +00:00
Billy Laws
281838fde1 Apply GPU readback hack to both buffers and textures
And rename as appropriate.
2022-12-03 22:50:56 +00:00
Billy Laws
f358c4517e Update edge credits 2022-12-03 22:50:56 +00:00
Dima
e8e1b910c3 Add possibility to disable audio output 2022-12-02 00:33:28 +01:00
lynxnb
54d0246ca6 Tweak GpuDriverActivity FAB padding 2022-11-28 00:06:07 +01:00
lynxnb
ec220c8ea9 Use an extended FAB in GpuDriverActivity 2022-11-23 19:49:42 +05:30
lynxnb
ab6c5f4c50 Improve robustness of KeyReader.import
* Close the input and output file streams before moving the output file to the final destination
* Clean up the destination path before moving the new file
* Introduce a `ImportResult` return value to differentiate between the possible causes of import errors
* Display more meaningful error messages in the UI
2022-11-23 19:49:42 +05:30
lynxnb
38129d9dc3 Mark some strings as non-translatable 2022-11-23 19:49:42 +05:30
lynxnb
281562ccdb Fix FABs ripple effect in OnScreenEditActivity 2022-11-09 23:07:23 +05:30
lynxnb
56f6f8a362 Reword the unsupported gpu drivers message
The old message was being misinterpreted as if the device's gpu was not supported by the emulator. Reword that message to explicitly mention custom drivers.
2022-11-09 23:07:23 +05:30
lynxnb
e2a5da1d67 Fix AppDialog layout
* Add a drag indicator at the top
* Fix flex layout wrapping when buttons didn't fit on a single line
* Fix BottomSheetDialog peek height too small on landscape orientation
* General cleanup of the layout
2022-11-09 23:07:23 +05:30
lynxnb
4146261069 Create a unified style for section titles 2022-11-09 23:07:23 +05:30
lynxnb
6a6e89f070 Make BottomSheetDialog go fullscreen when fully expanded 2022-11-09 23:07:23 +05:30
lynxnb
f93d3b78d3 Add a drag indicator element at the top of LicenceDialog
A new `DragIndicatorView` had been introduced, which draws a small drag handle element. When used inside a `BottomSheetDialog`, this view will add a callback for hiding the indicator when the dialog is fully expanded.
2022-11-09 23:07:23 +05:30
lynxnb
6848e69638 Improve design consistency across the app
Game images, buttons and dialogs now have a consistent corner radius, across all game list layouts.
2022-11-09 23:07:23 +05:30
lynxnb
dec04db647 AppListItem misc tweaks
* Restore text marquee on all layouts
* Text size and color tweaks
* List layout image has round corners
* Clean up unneeded attributes
2022-11-09 23:07:23 +05:30
lynxnb
5c76a57e6e Use NestedScrollView for licence dialogs and minor layout tweaks 2022-11-09 23:07:23 +05:30
Billy Laws
80b65d5094 Update XDR names 2022-11-03 22:53:01 +00:00
Billy Laws
ac2e6c125b Switch to Roboto for Korean font 2022-11-02 17:46:07 +00:00
Billy Laws
6c0f084aae Introduce hack to ignore frequently read-back textures
Readback can be especially slow on mobile due to the varying load pattern it creates which often prevents the CPU/GPU from clocking up. Since some games perform texture readback but don't actually use it for anything significant implement a hack to skip it and significantly improve performance in such cases.
2022-11-02 17:46:07 +00:00
Billy Laws
576bc6f37e Add CommandExecutor slot count setting 2022-11-02 17:46:07 +00:00
Billy Laws
1846f533bc Add credits PreferenceCategory 2022-10-25 21:40:28 +01:00
Billy Laws
160c2f3457 Add Ko-Fi credits to settings 2022-10-23 21:14:39 +01:00
lynxnb
782f9e37ee Add a system region setting
Needed for games such as AC:NH.
The `Auto` option automatically selects a region based on the currently selected system language.

Co-Authored-By: Timotej Leginus <35149140+timleg002@users.noreply.github.com>
2022-10-18 20:54:57 +01:00
lynxnb
bc016aff47 Make the vulkan validation layer toggleable via setting
As part of this commit, a new preference category for debug settings is being introduced. All future settings only relevant for debugging purposes will be put there. The category is hidden on release builds.
2022-10-18 19:47:23 +02:00
Billy Laws
272bbf6cd2 Switch to Noto Sans fonts for shared fonts replacement
Provides CJK characters, which the previous replacements lacked entirely.
2022-09-22 21:34:29 +01:00
Abandoned Cart
1013857fc4 Refactor subtitle as author to remove subtitle
Subtitle is no longer used, so instances have been rerouted to author. DataItem was also updated to reflect the removal of a subtitle.
2022-08-27 18:54:27 +05:30
Abandoned Cart
04cae942ea Follow typical per-file detail formatting
Format the details in the expected format of individual files (instead of a complete game) and move the code to match the updated placement.
2022-08-27 18:54:27 +05:30
KikiManjaro
8fb4e62c28 Add version information about rom
Review:
Co-authored-by: Niccolò Betto <niccolo.betto@gmail.com>
2022-08-20 13:48:07 +02:00
KikiManjaro
3407f6d530 Add OSC opacity adjustment 2022-08-20 13:46:17 +02:00
PixelyIon
2636a37b31
Introduce alternative FPS measurement for disabled frame throttling
The FPS is implicitly bound to the refresh rate due to the timestamp being that of the presentation time, this leads to a misleading FPS figure for disabled frame throttling. It has now been fixed by using the frame submission time rather than the presentation time when frame throttling is disabled and to make this more apparent the color of the OSD FPS has been changed.
2022-08-06 22:20:54 +05:30
lynxnb
bb922100cb Improve rendering for Right-To-Left layouts 2022-08-06 22:00:19 +05:30
lynxnb
c812de48ea Show an undo button after deleting a gpu driver
After a driver has been deleted, a snackbar will be shown confirming the deletion, with an button to undo it.
2022-08-06 22:00:19 +05:30
lynxnb
59c60df993 Add GPU Driver Configuration preference
This preference launches `GpuDriverActivity` for managing custom gpu drivers. When the device has an incompatible GPU, the preference will be disabled and greyed out.
2022-08-06 22:00:19 +05:30
lynxnb
48cf1263bc Add a custom GPU driver configuration activity
The activity adds the following functionalities:
* Lists installed drivers
* Allows the user to install new drivers, or remove installed ones
* Allows the user to select the driver that will be used by the emulator
2022-08-06 22:00:19 +05:30
lynxnb
30667a0899 Remove unused Compact Logs settings
Since we don't have a log viewer in the app anymore, the setting was left unused and can be safely removed.
2022-07-26 20:16:24 +05:30
lynxnb
f734c4d145 Make log level setting changes immediately active 2022-07-26 20:16:24 +05:30
lynxnb
3b27540250 Rename operationMode setting to isDocked 2022-07-26 20:16:24 +05:30
lynxnb
365ca66b1b Make integer settings use IntegerListPreference
Avoids unnecessary type casting of setting values and duplication in resource files.
2022-07-26 20:16:24 +05:30
MCredstoner2004
f9a0394577
Implement Software Keyboard applet
This implements the non-inline version of the Software Keyboard (swkbd) applet, which games use to get text input from the user.
2022-07-01 15:19:53 -05:00
PixelyIon
37453ed7fa Use DocumentsProvider for log sharing
We used a `FileProvider` for log sharing prior, this is no longer necessary since it comes under the `DocumentsProvider` now which can be utilized to share the log document directly.
2022-06-01 21:41:14 +05:30
PixelyIon
e1cc8676cf Add option to view internal directory
With the Skyline document provider, easy access to the internal directory is required which may be hard to navigate to through the system file manager. This adds an option in settings to directly open up the directory in the system file manager.
2022-05-31 01:25:18 +05:30
PixelyIon
b45437b78b Move Skyline internal files to external directory
Any Skyline files that should have been user-accessible were moved from `/data/data/skyline.emu/files` to `/sdcard/Android/data/skyline.emu/files` as the former directory is entirely private and cannot be accessed without either adb or root. This made retrieving certain data such as saves or loading custom driver shared objects extremely hard to do while this can be trivially done now.
2022-04-14 14:14:52 +05:30
lynxnb
08e24915d8 Add support for drawing inside the display cutout areas 2022-04-14 14:14:52 +05:30
PixelyIon
5dea15632c Add Controller Setup Guide
A setup guide for controllers that goes through every available button/stick sequentially and opens up a corresponding dialog to map them.
2022-04-14 14:14:52 +05:30