Commit Graph

116 Commits

Author SHA1 Message Date
Henrik Rydgård 7d99b6c1bc Add volume slider for retroachievements 2024-01-28 13:56:46 +01:00
Henrik Rydgård 1304d04161 Fix a particular type of race condition in file dialog requests
It seems to be possible for a user to back out of a screen before
receiving the "dialog completed" callback on Android, in which case
things pointed to by the callback might be gone.

In this case, it's better to simply not call the callback, rather than
crashing.

This is accomplished by assigning "Tokens" to screens that cause
requests, and in ~Screen, invalidate any pending requests belonging to
that token.
2024-01-18 12:25:55 +01:00
Henrik Rydgård a023dc98f0 Change title of login dialog for RetroAchievements.
Idea by Silent to help password managers.
2023-12-30 11:11:51 +01:00
Henrik Rydgård aed8bc6d7b RetroAchievements: Finish the Challenge->Hardcore rename 2023-12-03 16:41:29 +01:00
Henrik Rydgård b629c99dbf Change "Challenge Mode" to "Hardcore Mode", according to RetroAchievements guidelines 2023-11-30 18:11:03 +01:00
Henrik Rydgård 4c315bacdf RetroAchievements: Add option to allow saving, but not loading, in challenge / hardcore mode.
This has been requested many times and is useful for development, so
let's simply allow it. It doesn't enable cheating for achievemenst since
you still can't load these states in challenge mode.
2023-11-14 22:54:39 +01:00
Henrik Rydgård 19e4de5088 Change global UI messages to use an enum instead of strings.
Makes it easier to add new ones and delete outdated ones without missing
any uses.
2023-09-30 11:37:02 +02:00
Henrik Rydgård 2f5f9df620 Customize the cmake build. Android now builds that way too. Fixes.
Hack around build error

port the last fix to Android.mk

One more attempt

Warning fixes

Oops, forgot a slash
2023-09-29 10:16:47 +02:00
Henrik Rydgård e5a0788952 RetroAchievements audio customization: Fix checks for WAV file format 2023-09-11 22:55:59 +02:00
Henrik Rydgård fca80f2a9d Move Encore Mode to Achievements developer tools tab 2023-09-06 10:36:42 +02:00
Henrik Rydgård 26af6eb569 RetroAchievements: More connection notifications
Trying to make it harder for a user to accidentally run without achievements enabled.
2023-08-28 12:15:24 +02:00
Henrik Rydgård cd0f2eb401 Achievement list: Support the more detailed categorization, RC_CLIENT_ACHIEVEMENT_LIST_GROUPING_PROGRESS 2023-08-06 15:43:33 +02:00
Henrik Rydgård 0530dc57a8 Implement frame time measurement on Android using VK_GOOGLE_display_timing 2023-08-03 12:59:25 +02:00
Henrik Rydgård 29c606f5d8 Allow choosing to see leaderboard entries "Near me". Highlight current user. 2023-08-01 13:52:20 +02:00
Henrik Rydgård 9a8919810b Translation cleanups 2023-08-01 13:04:52 +02:00
Henrik Rydgård f45176fd25 Allow configuring in which corner achievement notifications can show up. 2023-08-01 12:52:09 +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 1c05f71b50 Update to the latest version of rcheevos. 2023-07-30 11:58:55 +02:00
Henrik Rydgård fecd0b8cd7 Use the new play button icon in the retroachievement sound customizer 2023-07-24 14:56:35 +02:00
Henrik Rydgård 0ab4c58343 Improve handling of server/token errors 2023-07-22 12:36:26 +02:00
Henrik Rydgård 3c87b3fb8d Use the new TextSqueeze function to render achievement/leaderboard descriptions 2023-07-17 12:46:21 +02:00
Henrik Rydgård ee634e0d32 Add Encore Mode warning on Achievements screen 2023-07-16 22:12:06 +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 6b75bbf64a Add support for line breaks in TextDrawerWin32::MeasureString. Sometimes useful.
And actually consistent with the other backends.
2023-07-16 21:58:47 +02:00
Henrik Rydgård 7eb1bfe1aa Spacing default 0.0 in collapsible sections, set spacing for achievements a little higher 2023-07-16 18:23:43 +02:00
Henrik Rydgård f8b7346b8d Make the achievement lists collapsible on the main achievements screen 2023-07-16 18:13:36 +02:00
Henrik Rydgård ec8b041f73 Remove unused strings, copy new ones 2023-07-16 16:45:54 +02:00
Henrik Rydgård de20a5692f Add support for 8-bit and mono WAV files. More fixes. 2023-07-16 15:04:21 +02:00
Henrik Rydgård bd4f3f8953 Start work on making sound effects customizable 2023-07-16 12:56:46 +02:00
Henrik Rydgård 3fe0b5a4f9 Best-practice-clear the password string. 2023-07-16 08:57:08 +02:00
Henrik Rydgård 306be6e33e Android: Simplify handling of dialog requests even more.
To protect against disappearing activities or whatever is causing the
lost value, I could make it static, but instead I just pack the two
values together into the requestCode.

Will hopefully help the main issue from #17683
2023-07-15 19:02:12 +02:00
Henrik Rydgård 943bfb7329 Show a warning message on login failure 2023-07-12 19:55:53 +02:00
Henrik Rydgård af92430b18 Achievement Unlocked and Leaderboard Submitted sound effects 2023-07-12 19:55:53 +02:00
Henrik Rydgård 98cb26b8d0 RetroAchievements UI updates: Merge Account and Settings tabs
Move rare settings to a Developer Tools tab instead.

Minor translation updates.
2023-07-11 10:36:32 +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 c83abbf585 Show unlocked achievement icons in progress/challenge indicators, design tweaks 2023-07-08 21:55:37 +02:00
Henrik Rydgård c17b84b3d4 Implement RetroAchievements challenge mode restrictions, and fix related bugs 2023-07-08 21:55:32 +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 0889e7cf3e Add setting to enable unofficial achievements 2023-07-08 21:47:19 +02:00
Henrik Rydgård cff13d56d1 Implement Encore Mode. Clean some stuff up. 2023-07-08 21:47:19 +02:00
Henrik Rydgård bf0d074688 Add game achievement summary view directly on pause screen, code cleanup 2023-07-08 21:47:19 +02:00
Henrik Rydgård fcdcf2f95d Proper rendering including icons of leaderboard view 2023-07-08 21:47:19 +02:00
Henrik Rydgård 9bd67df5b2 Achievement savestate fixes 2023-07-08 21:47:16 +02:00
Henrik Rydgård d0b42705a0 Switch over to rc-client 2023-07-08 18:59:37 +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 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 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