Commit graph

50 commits

Author SHA1 Message Date
Henrik Rydgård
a28ae79ef7 Safer handling of NONE 2023-08-01 00:28:54 +02:00
Henrik Rydgård
3563d625b9 Allow configuring the location on-screen of leaderboard trackers. 2023-08-01 00:28:54 +02:00
Henrik Rydgård
48d577014a Refactor the on-screen display to be more customizable 2023-08-01 00:28:54 +02:00
Henrik Rydgård
2baba83f1a Add a bunch of new icon images to the atlas. 2023-07-24 14:52:32 +02:00
Henrik Rydgård
ecea3844b0 Improved progress bar popups for downloads
Now shows the filename, and also there's a delay mode where they'll only
be visible if the download takes more than a second, plus they can be
named.
2023-07-18 15:13:44 +02:00
Henrik Rydgård
7ef03b2328 Make the achievements listing navigable by keyboard by using focus styles 2023-07-16 22:07:26 +02:00
Henrik Rydgård
6bb97b3d46 Better mechanism to fade out the side bar when not on EmuScreen 2023-07-16 08:55:48 +02:00
Henrik Rydgård
aa4264a192 RetroAchievements: Better handling of not being online when trying to log in 2023-07-13 11:26:43 +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
cd45125085 RetroAchievements: Show active challenge achievements on pause screen. 2023-07-10 10:39:44 +02:00
Henrik Rydgård
9e4387c529 Implement more OSD types (challenge, progress indicators). Not really tested. 2023-07-08 21:48:23 +02:00
Henrik Rydgård
d0b42705a0 Switch over to rc-client 2023-07-08 18:59:37 +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
f27850ec1d Minor cleanup in MoveFocus, set tags on screen roots for debugging 2023-07-06 16:34:54 +02:00
Henrik Rydgård
eb21a2e6c9 Break out the OSD data holder from Common/System/System.h, into OSD.cpp/h 2023-06-30 17:15:49 +02:00
Henrik Rydgård
27847abac4 Fix two OSD rendering bugs (messages with text2 didn't render it, text alignment with icon) 2023-06-27 23:39:13 +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
c442d1de86 Implement rendering of unlocked achievements. Not final design. 2023-06-26 10:01:42 +02:00
Henrik Rydgård
266b85d22d Support for extra text in OSD messages (drawn smaller, on darker background) 2023-06-21 01:16:25 +02:00
Henrik Rydgård
ff75eced70 Progress bar: Fix the indeterminate state 2023-06-21 01:08:24 +02:00
Henrik Rydgård
d2c3a7c978 Add support for displaying progress bars 2023-06-20 22:44:31 +02:00
Henrik Rydgård
d36e701622 Smoothly animate OSD messages 2023-06-20 18:39:30 +02:00
Henrik Rydgård
6ba0479edc OSD: Add colored backgrounds to OSD messages, according to type.
This also reorganizes a little to make rendering achievement popups more
natural later.

Adds info.png to the atlasscript, but doesn't yet rebuild it - more
images are coming.
2023-06-20 17:32:45 +02:00
Henrik Rydgård
ed0c4b7a9e Rename OSD "Message" to "Entry" since it can soon be multiple other things (progress bar, etc). 2023-06-20 15:07:34 +02:00
Henrik Rydgård
7cc8c6cea4 OSD: Add semantics, move the the OSD state to common (while keeping the renderer in the UI). 2023-06-20 14:40:46 +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
Unknown W. Brackets
7a7158d8d4 UI: Only force ASCII messages if they're ASCII.
Otherwise we could ruin messages that don't fit in the atlas.
2022-09-03 21:16:59 -07:00
Unknown W. Brackets
77c834ba5c GPU: Fix possible shift truncation.
Also, add algorithm for std::max.
2022-08-28 08:32:00 -07:00
Henrik Rydgård
58de891f57 OSD: Scale large multiline messages to fit better on screen (like shader logging) 2022-08-24 10:20:33 +02:00
Unknown W. Brackets
3c778f567c UI: Add text description for all views. 2021-02-21 16:38:02 -08:00
Henrik Rydgård
e97baa503a Avoid a division in time_now_d(). Minor optimizations. 2020-10-10 19:05:46 +02:00
Henrik Rydgård
0e3a84b4a8 Move most GPU things to Common.
It works after the move, on Windows and Android at least.

Deletes the D3DX9 shader compiler loader, which was not used.
2020-10-04 23:39:02 +02:00
Henrik Rydgård
4f43cff5ca
Move fileutil, net, image loaders, ui to Common. (#13506)
* Move and rename file_util/fd_util to Common/File/FileUtil and DirListing

Let's also move net while we're at it.

Move the ZIM/PNG loaders over to Common.

Move the UI framework into Common

iOS buildfix

* Buildfix

* Buildfixes

* Apple buildfix

* This typo again..

* UWP buildfix

* Fix build of PPSSPPQt, such as it is (it's not in good condition...)

* Guess what? Another buildfix.
2020-10-04 20:48:47 +02:00
Henrik Rydgård
ff8148dd92 Move native/util, native/data and native/i18 to Common/Data.
Also move colorutil.cpp/h

linking build fix experiment

Delete a bunch of unused CMakeLists.txt files

CMakeLists.txt linking fix

Don't include NativeApp.h from any headers.

Android.mk buildfix

Half of the UWP fix

Buildfix

Minor project file cleanup

Buildfixes

Guess what? More buildfixes!
2020-10-04 07:28:29 +02:00
Henrik Rydgård
ccc0331279 Move timeutil to Common. (Experiment to see how much work it is to move these). 2020-08-15 20:53:08 +02:00
Henrik Rydgård
45d94c4877 Switch all images to dynamic lookup in the atlas by string ID.
SLN fix

It works, but with the wrong images and the wrong characters!

Fix another bug in atlastool's binary output

Get Android building again.

Oops, didn't mean to disable this permanently.

Error checking

Minor cleanup

Gotta tweak my git ignores...

Regenerate metadata
2020-03-01 12:06:47 +01:00
Henrik Rydgard
26a2d42731 Big mutex overhaul - remove our custom ones, make them non-recursive where possible 2017-02-28 11:40:29 +01:00
Unknown W. Brackets
d6820f3cc3 UI: Allow measuring text with a scale. 2016-08-07 16:49:50 -07:00
Unknown W. Brackets
da03b80c97 Standardize on just one mutex implementation. 2016-03-06 14:49:15 -08:00
Henrik Rydgard
0d0b5e75a2 Fix silly crash in OnScreenDisplay code 2015-09-27 11:42:26 +02:00
Henrik Rydgard
70cb4372c1 Assorted fixes to auto resolution. Fixes too low resolution and also #8002, plus notification spam 2015-09-25 19:10:09 +02:00
zhyk
a06f599320 Use UIContext::DrawTextShadow instead of DrawBuffer::DrawTextShadow for drawing text correctly in Qt. 2015-05-07 11:14:04 +08:00
Henrik Rydgard
0cbff84489 Draw "OSM" as a view. ES 3.0: Tell tilers to discard depth/stencil of the backbuffer.
Also, don't even bind the UI texture unless there's UI to draw (probably negligible optimization).
2014-12-31 20:43:28 +01:00
Henrik Rydgard
4d00a9b4bc Reduce use of display.h (dp_xres, dp_yres) now that uicontext has bounds 2014-02-10 12:44:36 +01:00
Henrik Rydgard
f5e7a33c68 Handle duplicate on-screen messages better (promote the old one to top). 2013-12-08 11:51:33 +01:00
Henrik Rydgard
e54107033d Don't crash on post-shader compile errors. 2013-10-13 12:06:55 +02:00
Henrik Rydgard
e7097ca95a Fall back to software transform when hardware transform fails. Should help Mali devices.
This is done per shader so the speed hit should not be as bad as turning hw transform off entirely.
Displays a red error at the top of the screen so that we don't trigger this accidentally.
2013-06-06 10:09:37 +02:00
Henrik Rydgard
2221f221e3 Only create backing texture for DrawPixels when needed. 2013-06-05 23:03:23 +02:00
Henrik Rydgard
059aed36ee Add on-screen feedback for some keyboard shortcuts (so you know which setting was changed) 2013-05-22 18:00:06 +02:00