Commit graph

350 commits

Author SHA1 Message Date
Henrik Rydgård
af92430b18 Achievement Unlocked and Leaderboard Submitted sound effects 2023-07-12 19:55:53 +02:00
Henrik Rydgård
f1ff12784a Allow flexible sample rate for UI sound effects 2023-07-12 17:55:49 +02:00
Henrik Rydgård
4ae3c519e2 Add assorted null checks for safety
More probably needed. Should at least hopefully fix the leaderboard crash reported in #17631

Will try to do something more systematic later.
2023-07-10 19:27:07 +02:00
Henrik Rydgård
0bf0a4a1ef UIContext: Add an easy way to draw drop shadows under rectangular things 2023-07-08 18:25:00 +02:00
Henrik Rydgård
952e125c7e Break out rendering of "notices" from OnScreenDisplay. They can now also be used as views.
Use it for the new message in ControlMappingScreen, when you try to map
a combo when that's disabled. It'll have more uses.
2023-07-07 15:23:19 +02:00
Henrik Rydgård
e182837f86 Remove left-over debug logging 2023-07-07 15:16:47 +02:00
Henrik Rydgård
b56b3b43c7 Y-flip menu analog stick mapping on Switch 2023-07-06 20:29:26 +02:00
Henrik Rydgård
f27850ec1d Minor cleanup in MoveFocus, set tags on screen roots for debugging 2023-07-06 16:34:54 +02:00
Henrik Rydgård
26e097923d Fix issue with analog stick menu navigation caused by processing UI events twice per frame 2023-07-06 16:34:18 +02:00
Henrik Rydgård
cbd012f522 Cleanups around focus moves 2023-07-06 16:13:25 +02:00
Henrik Rydgård
356cc64eb5 Logging improvements, cleanup 2023-07-06 14:56:52 +02:00
Henrik Rydgård
c46d6e16b8 UI root: We should "accept" all key events that we don't determine special 2023-07-06 14:55:15 +02:00
Henrik Rydgård
fc3f7da3af TouchTestScreen: Have 8 entries logged instead of 2. 2023-07-06 11:48:25 +02:00
Henrik Rydgård
69a5ca0e1d A bunch of visual updates and fixes. Lots left to polish. 2023-06-26 10:01:42 +02:00
Henrik Rydgård
cf587d2ccc More cleanup after making PopupTextInputChoice choose method automatically 2023-06-22 09:01:14 +02:00
Henrik Rydgård
337668af3e Make PopupTextInputChoice smarter (use native dialog if possible) 2023-06-22 08:58:30 +02:00
Henrik Rydgård
0a1bf5532d UI: Allow showing popup string values as password stars 2023-06-22 08:58:29 +02:00
Henrik Rydgård
d6552a7673 Implement an "OverlayScreen" concept. OSD can now render on top of other screens than EmuScreen. 2023-06-20 10:44:47 +02:00
Henrik Rydgård
300a64a86d IconCache: Remove texture objects quite quickly after it stops getting used.
They can be recreated pretty quickly as needed.
2023-06-18 15:24:56 +02:00
Henrik Rydgård
6f9941dafa Crashfix during clearing 2023-06-18 15:14:42 +02:00
Henrik Rydgård
2bf2f745e2 IconCache: Add pending state to avoid duplicate downloads in some cases 2023-06-18 14:54:11 +02:00
Henrik Rydgård
cb5926761b Add a way to monitor the icon cache from the system info screen. 2023-06-18 14:18:45 +02:00
Henrik Rydgård
2bee5b64e4 Add new icon cache, for caching small images.
It doesn't try to insert or fetch missing things itself, re-fetching is up to the caller.

This will be required for handling the many achievement icons.

Saving/loading the cache to a single file on disk is implemented but not
hooked up yet. It works without it, though of course will have to
re-fetch things on the next startup.
2023-06-18 14:11:12 +02:00
Henrik Rydgård
9f88dbd656 Icon cache for UI rendering
This will be needed for achievements, and has uses already now.
2023-06-18 14:11:12 +02:00
Henrik Rydgård
bb40baefb5 Fix issue with volume keys in the app UI 2023-06-13 00:47:48 +02:00
Henrik Rydgård
50aa598ed1 Fix handling events in "empty" (no root) UIScreens 2023-05-27 00:35:25 +02:00
Henrik Rydgård
3715b1ffa1 Split the functions up, so you don't have to care about the Unsync ones at all in most cases while still getting synced behavior. 2023-05-26 18:41:13 +02:00
Henrik Rydgård
cca613e785 Initial work on queueing up UI events for processing. Key events excepted for now. 2023-05-26 18:41:13 +02:00
Henrik Rydgård
2675d6ea43
Input event and device enums (#17514)
* Switch deviceID from int to enum InputDeviceID, globally

* Switch axisId to enum InputAxis

* Change int keycodes to InputKeyCode where it makes sense.

* SDL input buildfix

* SDL keycode buildfix

* Switch on enum warning fixes

* Qt keycode buildfix

* iOS keycode buildfix

* UWP keycode buildfix

* More iOS buildfix

* More iOS buildfix

* Update DinputDevice.cpp
2023-05-26 18:40:13 +02:00
Henrik Rydgård
736ba3dd90
Merge pull request #17357 from unknownbrackets/game-search
Add half of game list search
2023-05-23 08:31:04 +02:00
Henrik Rydgård
311a1a0fe2 Fix glitch when mapping analog inputs, caused by multiple TriggerFinish caused by stray analog axis events.
ADd some guards all over the place against the same thing.
2023-05-06 15:33:28 +02:00
Henrik Rydgård
3148a8a437 PopupMultiChoiceDynamic: Check that valueStr_ isn't null before writing to it. Don't see how this happened. 2023-05-04 08:59:12 +02:00
Henrik Rydgård
a132b72ba1 Paranoia 2023-05-04 01:24:31 +02:00
Henrik Rydgård
838ef03815 Fix ScrollView crash (though the root cause is a race condition most likely) 2023-05-01 10:37:30 +02:00
Henrik Rydgård
efa167e2b4 Accept number format strings like "%i%%" (results in "30%" if i == 30).
Fallout from #17349
2023-04-30 10:40:32 +02:00
Unknown W. Brackets
ce0324b611 UI: Correct grid view V_GONE handling. 2023-04-29 11:44:55 -07:00
Henrik Rydgård
6945deec01 Replace a LOT of sprintf with snprintf, and a few strcpy with truncate_cpy 2023-04-28 21:04:05 +02:00
Henrik Rydgård
c02634c161 Add some paranoid format string checking in popup slider dialogs 2023-04-28 20:26:08 +02:00
Henrik Rydgård
68be93467e Fix some checks around translation. 2023-04-27 12:05:11 +02:00
Henrik Rydgård
67aa951fec PopupMultiChoice: Don't range-check the int-value if being initialized from PopupMultiChoiceDynamic (valgrind) 2023-04-27 11:55:57 +02:00
Unknown W. Brackets
956d80b93e UI: Minor cleanup. 2023-04-09 22:39:29 -07:00
Henrik Rydgård
019a9e2923 MacOS build fixes 2023-04-07 10:35:01 +02:00
Henrik Rydgård
ee6234ecb6 I18N: Switch to getting categories by index instead of by string lookup
Also gets rid of the shared_ptr usage, and generally makes things nicer.

Needed for later config refactorings, good to get in early.
2023-04-07 10:35:01 +02:00
Henrik Rydgård
6f9339b011 Add defaults for all int-slider settings too 2023-04-05 10:50:53 +02:00
Henrik Rydgård
4e0babc950 Add a "reset to default" for all float-slider settings
Unfortunately, the default values from the configs are not exposed
outside Config.cpp, so there's duplication.

Need to figure out how to do fix that, but it's out-of-scope for this
PR.
2023-04-05 10:50:53 +02:00
Henrik Rydgård
d00809ae53 Rename KeyDef to InputMapping and give it responsibility for Axis encoding 2023-03-29 11:59:31 +02:00
Henrik Rydgård
88fe4799a5 UI: Fix weird misbehavior dragging outside a popup dialog
Fixes #17107
2023-03-24 00:11:49 +01:00
Henrik Rydgård
ac66deeb25 Improve cheats UX 2023-03-23 10:18:21 +01:00
Henrik Rydgård
410b35fba3 Get rid of "finish" and "setclipboardtext" messages, replace with requests. 2023-03-22 22:17:26 +01:00
Henrik Rydgård
8b431b39ba
Wrap the display globals in a struct (#16998)
* Wrap the display globals in a struct

Makes it easier to search/replace these, for future refactorings.

* Some renaming

* Qt buildfix, also fix the Qt build on Mac (got broken with battery changes)

* Attempt at buildfixing ios

* UWP buildfix
2023-02-25 13:09:44 +01:00