Commit Graph

4160 Commits

Author SHA1 Message Date
Henrik Rydgård
667abd0a48 GameInfoCache: Some fixes for the icon loaded flag.
Not really important but why not. Extracted from #17646
2023-07-02 17:18:13 +02:00
Henrik Rydgård
a7c21b582e Move UI/RetroAchievements.{cpp,h} to Core.
Necessary to avoid some dependency inversion.

Gotta figure out how this will interact with the libretro stuff..
2023-07-02 12:02:20 +02:00
Henrik Rydgård
769aa9f0da Remove incomplete sound code from RetroAchievements code (will redo) 2023-07-02 11:52:24 +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
f7c09ba488 Remove the RAIntegration stuff for now (wasn't actually enabled)
This is just the untested achievement editor integration code from DuckStation.

Removing this code will make the conversion to ra_client_t easier.
Might eventually add this capability back properly in one way or another.

Part of #17631
2023-06-28 00:56:02 +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
5f38883973 Translate achievement stuff to Swedish 2023-06-27 18:04:27 +02:00
Henrik Rydgård
23d4f7abe8 Implement viewing of leaderboards 2023-06-27 11:12:25 +02:00
Henrik Rydgård
df8a745350 RetroAchievements: Add a tab for debug stats 2023-06-27 10:33:40 +02:00
Henrik Rydgård
b991e9d8fd Minor cleanups, add most translation strings to en_US.ini 2023-06-27 09:53:03 +02:00
Henrik Rydgård
81e1293693 Token name and path fix 2023-06-26 17:21:39 +02:00
Henrik Rydgård
d4239e7c98 Keeping it simple - putting the token in memstick/PSP/SYSTEM for now 2023-06-26 17:09:35 +02:00
Henrik Rydgård
23e37b7ca7 Achivement list rendering fix (wrong alpha) 2023-06-26 10:13:18 +02:00
Henrik Rydgård
4134acc492 Use the new "secret storage" to store the retroachievements token 2023-06-26 10:01:42 +02:00
Henrik Rydgård
87846c5fcb Add simple facility for storing secret in app-private storage on Android (other platforms not so good) 2023-06-26 10:01:42 +02:00
Henrik Rydgård
37fb3be4d5 Visual improvements, notify if game unknown to RetroAchievements 2023-06-26 10:01:42 +02:00
Henrik Rydgård
b0dc1dbbf0 Login: Support desktop platforms other than Windows. 2023-06-26 10:01:42 +02:00
Henrik Rydgård
d63415dfc4 Set up a custom rc_hash_filereader to make things work on Android (login left to do) 2023-06-26 10:01:42 +02:00
Henrik Rydgård
9502d55260 Fix 2023-06-26 10:01:42 +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
078002d867 Show progress when downloading achievement data 2023-06-26 10:01:41 +02:00
Henrik Rydgård
3218422a69 Attempt to add memory access validation through rc_runtime_invalidate_address 2023-06-26 10:01:41 +02:00
Henrik Rydgård
da36d78d4f De-spam the logs 2023-06-26 10:01:41 +02:00
Henrik Rydgård
3b6989bff7 Hook up progress bar, minor fixes 2023-06-26 10:01:41 +02:00
Henrik Rydgård
eaa1975ac9 Improve logging on bad memory access from RA 2023-06-26 10:01:41 +02:00
Henrik Rydgård
54a378f145 Fix bug in Achievements::SafeHasAchievementsOrLeaderboards() 2023-06-26 10:01:41 +02:00
Henrik Rydgård
4e8c29d58d Minor drawing issue 2023-06-26 10:01:41 +02:00
Henrik Rydgård
80ff3f89bf Improve the pause screen achievement list, show a game banner at the top 2023-06-26 10:01:41 +02:00
Henrik Rydgård
c379f6f486 Implement retroachievements login (on platforms that support the login dialog) 2023-06-26 10:01:41 +02:00
Henrik Rydgård
1d0badae56 Achievements: Show achievement icons in list 2023-06-26 10:01:41 +02:00
Henrik Rydgård
603dc7493a Image caching work 2023-06-26 10:01:41 +02:00
Henrik Rydgård
6326880070 Properly include stenzek's DuckStation copyright notices in the retro files 2023-06-26 10:01:41 +02:00
Henrik Rydgård
93de74144e Add basic achievement rendering 2023-06-26 10:01:41 +02:00
Henrik Rydgård
e054d66d6c Add an extremely basic achievement listing to the pause screen 2023-06-26 10:01:41 +02:00
Henrik Rydgård
8beca03e7e MacOSX buildfixes 2023-06-26 10:01:41 +02:00
Henrik Rydgård
f6fdaa4f56 Get it to recognize the hash by using the rcheevos hash implementation 2023-06-26 10:01:41 +02:00
Henrik Rydgård
a3b7e99259 Attempt to implement the specified PSP game hashing method 2023-06-26 10:01:40 +02:00
Henrik Rydgård
b84a6f83e1 You can now log into RetroAchievements with hardcoded user/pass 2023-06-26 10:01:40 +02:00
Henrik Rydgård
66d9c24f72 More integration 2023-06-26 10:01:40 +02:00
Henrik Rydgård
84e9a85e0f Things link now. Let's see if it works.. 2023-06-26 10:01:40 +02:00
Henrik Rydgård
c9c1796dff Second batch of fixes. Doesn't link yet and much work remains. 2023-06-26 10:01:40 +02:00
Henrik Rydgård
029b887491 Initial batch of fixes. Not compiling yet, http will be the tricky one. 2023-06-26 10:01:40 +02:00
Henrik Rydgård
4745999665 Copy-paste retroachievement support from DuckStation. No fixes yet! 2023-06-26 10:01:40 +02:00
Henrik Rydgård
da1691e4f9 Start sketching on a wrapper 2023-06-26 10:01:40 +02:00
Henrik Rydgård
c0f0c05417 rcheevos initial build setup and basic scaffolding 2023-06-26 10:01:40 +02:00
Henrik Rydgård
a17710a914 Remove additional ifdef checks for inputbox 2023-06-22 09:06:19 +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
M4xw
71639acd16 [Switch] Enable all System_InputBoxGetString usages 2023-06-22 00:47:00 +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
c76b6a48ab Prepare for detailed overlay messages 2023-06-21 01:08: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
9df01a5bf3
Merge pull request #17605 from hrydgard/osd-refactoring
On-screen messages refactoring
2023-06-20 16:34:02 +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
Henrik Rydgård
48fab112b9 Collapse the "Custom 1", "Custom 2" etc translation strings 2023-06-20 10:42:56 +02:00
Henrik Rydgård
73836e7bcb Custom buttons: Store them in an array, remove as many count restrictions as possible. 2023-06-20 10:42:53 +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
8a27627a9f Use the new icon cache for the icons in the homebrew store. 2023-06-18 14:11:12 +02:00
Henrik Rydgård
90085522ef System information screen: Re-use the TabbedDialogScreen logic
Want to do this before adding any more tabs here.
2023-06-18 12:22:36 +02:00
Henrik Rydgård
93fbb5cdda
Merge pull request #17591 from lvonasek/feature_openxr_passthrough
OpenXR - Add passthrough option (Quest only)
2023-06-17 22:12:53 +02:00
Lubos
cef7c5a1a1 OpenXR - Forgotten changes added 2023-06-17 21:55:47 +02:00
Henrik Rydgård
fffaa41091 Extract the class TabbedUIDialogScreen from GameSettingsScreen. 2023-06-16 13:56:26 +02:00
Unknown W. Brackets
f5f3afbeef
Android: Correct pad name tracking.
This is split up in two messages, a bit ugly...
2023-06-11 15:43:21 -07: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
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
ca75e20155 Fix minor config backwards compatibility issue, see #17502, iota97's comment 2023-05-26 15:47:58 +02:00
Nicolas Adenis-Lamarre
f32b0dc9c3 previous slot shortcut
Signed-off-by: Nicolas Adenis-Lamarre <nicolas.adenis.lamarre@gmail.com>
2023-05-25 11:32:49 +00:00
Henrik Rydgård
dfb446f89d Allow other backends than Vulkan to have GPU memory stats. Implement for GL. 2023-05-24 14:33:01 +02:00
Henrik Rydgård
a4baed4c0c Minor GLPushBuffer cleanup (now same API as the VK one) 2023-05-23 08:41:09 +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
67a35d3476
Merge pull request #17356 from unknownbrackets/minor-cleanup
Cleanup some more string formats, mostly in debugger
2023-05-23 08:29:23 +02:00
Henrik Rydgård
2ceb9942f3 Tilt: Add back inverse deadzone (low end radius). Allow choosing circular or per-axis. 2023-05-22 10:13:57 +02:00
Henrik Rydgård
5d7a0516cc
Merge pull request #17475 from hrydgard/opengl-basic-profiler
Add a trivial profiling tool to the OpenGL backend
2023-05-17 15:01:16 +02:00
Henrik Rydgård
05b6bbdc56 Add a trivial profiling tool to the OpenGL backend - meaasure the time it takes to run a frame of commands.
Accessed from the in-game dev menu just like the Vulkan frame profiler.

With this we can easily see that actually submitting the GL commands is often the bottleneck on old
devices like a Galaxy S3.
2023-05-17 14:38:11 +02:00
Henrik Rydgård
4f1be34f24 Revert "Remove the Android display resolution selector"
This reverts commit ea0eaa31e6.
2023-05-17 09:37:15 +02:00
Henrik Rydgård
cf9a628a2e AndroidContentURI: Move code from the header to cpp. Some assorted cleanup, add a unit test for Download paths 2023-05-16 16:08:51 +02:00
Henrik Rydgård
e078f61bad Rename class CustomKey to CustomButton 2023-05-08 10:13:52 +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
cd33b79ae7 Fix an issue where stray KEY_UP events could confuse the control mapper into setting empty events
This had some not-so-good consequences, like inability to map anything
in VR, and sometimes empty MultiMappings would result that we could end
up asserting on before the previous commit.
2023-05-05 23:00:01 +02:00
Henrik Rydgård
eec1ad5a75 Add some checks to try to prevent empty MultiInputMapping from arising, assert->log 2023-05-05 22:26:44 +02:00
Henrik Rydgård
0b94ffc4c1 Buildfix attempt 2023-05-05 01:18:29 +02:00
Henrik Rydgård
1bd7da221b Fix obscure crash possibility (call stack found), some clarification 2023-05-05 00:00:11 +02:00
Henrik Rydgård
6a51b6f7bf Quick attempt to add some thread safety to GameInfo::fileLoader. 2023-05-04 09:20:05 +02:00
Henrik Rydgård
a132b72ba1 Paranoia 2023-05-04 01:24:31 +02:00
Henrik Rydgård
03bf19c47e
Merge pull request #17398 from lvonasek/cleanup_openxr_android12
OpenXR - Cleanup unsupported features, support Android 12
2023-05-03 20:05:16 +02:00
Lubos
0447b2b78a OpenXR - Cleanup unsupported features, support Android 12 2023-05-03 19:41:23 +02:00
Henrik Rydgård
c037f6731d Better (but not great) workaround for key bindings that pop up dialogs. 2023-05-02 21:36:17 +02:00
Henrik Rydgård
eee4640962 Simpler calculation of the vertex count for the Waves animation. Feels safer. 2023-05-02 13:34:22 +02:00
Henrik Rydgård
8bb2643459 Minor: Move the "UI background animation" setting to be next to the other background settings. 2023-05-01 20:55:08 +02:00
Henrik Rydgård
6468319599 Fix memory bug in memstick file copy routine 2023-05-01 13:56:35 +02:00
Henrik Rydgård
15a0474d40 NativeKey: Only update the HLEPlugins key map if any plugins are active. 2023-05-01 12:16:45 +02:00
Henrik Rydgård
d4249c1d73 OpenGL: Add an assert to catch a class of crash bugs early. Also assorted paranoia. 2023-05-01 11:56:26 +02:00
Unknown W. Brackets
19b15de2d5 UI: Add a very simplistic search to game browser.
For now, no real UI (which might include a search icon, no matches
message, banner that you're searching, etc.)  Press Ctrl-F to filter.
2023-04-29 11:45:30 -07:00