Commit graph

40751 commits

Author SHA1 Message Date
LillyJadeKatrin
6d96b7173e Handle Achievement Progress Event
Added handling to Achievement Progress Events, which are generated when an achievement with a Measured field updates in value. For example, an achievement for collecting 120 stars will throw this event when the player collects each star, and with this handling, the player will get a message on screen informing them of this progress. This message will only appear if the newly added RA_PROGRESS_ENABLED setting is true.
2023-10-01 11:24:48 -04:00
Admiral H. Curtiss
d55d878b17
Merge pull request #12212 from LillyJadeKatrin/retroachievements-bugfix
Added error checking and logging to AchievementManager::GetAchievemen…
2023-10-01 16:50:30 +02:00
LillyJadeKatrin
c8b1379113 Added error checking and logging to AchievementManager::GetAchievementProgress. 2023-10-01 10:27:57 -04:00
Admiral H. Curtiss
b2e016f012
Merge pull request #12214 from JosJuice/android-backtick
Android: Remove a stray backtick
2023-10-01 16:05:02 +02:00
Admiral H. Curtiss
404a47af77
Merge pull request #12025 from LillyJadeKatrin/retroachievements-badges
RetroAchievements - Badges
2023-10-01 15:55:13 +02:00
Admiral H. Curtiss
9d41024d1b
Merge pull request #12210 from JosJuice/fastmem-init-order
Jit: Fix fastmem initialization order
2023-10-01 15:26:52 +02:00
LillyJadeKatrin
335cf4f2db Added CopyReader to BlobReader and all subclasses
A deep-copy method CopyReader has been added to BlobReader (virtual) and all of its subclasses (override). This should create a second BlobReader to open the same set of data but with an independent read pointer so that it doesn't interfere with any reads done on the original Reader.

As part of this, IOFile has added code to create a deep copy IOFile pointer onto the same file, with code based on the platform in question to find the file ID from the file pointer and open a new one. There has also been a small piece added to FileInfo to enable a deep copy, but its only subclass at this time already had a copy constructor so this was relatively minor.
2023-10-01 09:04:06 -04:00
JosJuice
d8e00c98e8 Android: Remove a stray backtick 2023-10-01 13:37:04 +02:00
LillyJadeKatrin
63c407ad7c Add toggle button for badges to achievement settings
Button toggles whether badges are downloaded. When turned on, makes a call to AchievementManager to download badges.
2023-09-30 23:29:02 -04:00
LillyJadeKatrin
80d77cfdad Added colored borders to badges in achievements dialog
The achievement badges will now have a blue or gold border to identify whether they have been unlocked in softcore or hardcore mode. Similarly, the game badge will have a blue border if all achievements have been unlocked in either mode or a gold border if all achievements have been unlocked in hardcore mode.
2023-09-30 23:29:02 -04:00
LillyJadeKatrin
ba83efded6 Added badges to achievement progress tab
Provided the badges are turned on in the settings, each achievement will have a badge next to it on the progress tab. There are different badges for locked and unlocked (usually locked is grayscale while unlocked is in color but not necessarily) and the badge chosen depends on the player's current unlock and hardcore status.
2023-09-30 23:29:02 -04:00
LillyJadeKatrin
0715da2d68 Added player and game badges to Achievements dialog header
Provided badges are turned on, if there's a player logged in their RetroAchievements icon will appear next to their player info in the header of the Achievements dialog. If they're playing a game, so will the icon for the game. Also performed some refactoring and reorganizing to the header as a whole so that it looks consistent whether a game is running or not.
2023-09-30 23:29:02 -04:00
LillyJadeKatrin
fd50b1fda6 Added FetchBadges to AchievementManager
FetchBadges fetches all available badges (player, game, achievements) and stores them in AchievementManager's memory. New fields and accessors have been added as necessary. Badges for individual achievements are stored in the UnlockStatus map. The method is public so that the settings dialog can call it if badges are turned on after a game is started. Badges are deleted at game close and logout.
2023-09-30 14:18:15 -04:00
JosJuice
02d76ba2a0 Jit: Fix fastmem initialization order
When evaluating whether jo.fastmem should be set to true, we check the
value of jo.fastmem_arena. However, due to a change made in 28e8117b90,
jo.fastmem_arena wasn't set until after the first time we set
jo.fastmem, so jo.fastmem would end up always being false until the next
time RefreshConfig was called.

Fixes https://bugs.dolphin-emu.org/issues/13364.
2023-09-30 16:16:54 +02:00
JosJuice
9e0fea8fc7 PowerPC: Flip the order of frsqrte_expected
This makes the the frsqrte routines one instruction shorter.
2023-09-30 11:41:27 +02:00
Pablo Stebler
cc403c1044
DSPHLE: handle offsets to a different memory region 2023-09-29 20:48:10 +02:00
Pablo Stebler
8cdad9ce8c
DSPHLE: map memory based on console mode 2023-09-29 20:48:10 +02:00
Admiral H. Curtiss
7c995000ae
Merge pull request #12206 from malleoz/ppc_reg_location_assert_improvement
PowerPC: reduce location assert cost
2023-09-29 20:08:05 +02:00
LillyJadeKatrin
6541aa206d Added RequestImage to AchievementManager
Image requests from RetroAchievements have a slightly different format from other requests, on account of being GET calls that return strings of image data, so this is a separate function that makes such calls. To handle this, I create a BadgeStatus object that ties each badge to a boolean flag for whether it is loaded and thus usable.
2023-09-28 22:47:15 -04:00
sowens99
60e331e2e1 PowerPC: reduce location assert cost 2023-09-28 19:57:03 -04:00
Admiral H. Curtiss
a310b32525
Merge pull request #12207 from malleoz/decrease_emulation_speed_rollover_fix
DolphinQt: Fix decrease emulation speed hotkey rollover
2023-09-28 21:55:15 +02:00
Admiral H. Curtiss
908f90191d
Merge pull request #12204 from LillyJadeKatrin/retroachievements-bugfix
Retroachievements bugfix
2023-09-28 21:31:43 +02:00
LillyJadeKatrin
50f04ea456 Refactored FetchGameData to incorporate the request directly instead of a different method, so that game_data can be processed directly under a lock. 2023-09-28 00:57:22 -04:00
LillyJadeKatrin
6036a6db55 Updated AchievementManager StartRASession to properly lock inputs and outputs without locking during the network call. 2023-09-28 00:55:58 -04:00
LillyJadeKatrin
7153284e9f Updated AchievementManager ResolveHash to properly lock inputs and outputs without locking during the network call. 2023-09-28 00:55:58 -04:00
LillyJadeKatrin
a29ec7d956 Updated AchievementManager VerifyCredentials to properly lock inputs and outputs without locking during the network call. 2023-09-28 00:55:58 -04:00
LillyJadeKatrin
3c564078cd Added AchievementManager ResponseType EXPIRED_CONTEXT for when operation inputs change between when an operation is queued and executed, and MALFORMED_OBJECT for when an rcheevos process method goes wrong. 2023-09-28 00:55:58 -04:00
LillyJadeKatrin
31091fc975 Added GameLoaded check to AchievementProgressWidget. 2023-09-28 00:55:58 -04:00
LillyJadeKatrin
b53962fd23 Cleaned up some issues with AchievementManager::CloseGame. 2023-09-28 00:55:57 -04:00
Admiral H. Curtiss
45c8597082
Merge pull request #12201 from fabricecaruso/master
SaveStates : Fix MainWindow.m_state_slot is not restored from Qt.ini Emulation/StateSlot.
2023-09-28 05:30:48 +02:00
Admiral H. Curtiss
5b6844901f
Merge pull request #12205 from LillyJadeKatrin/retroachievements-bugfix-2
AchievementsWindow: Fix rapid popups on initial opening.
2023-09-28 04:21:48 +02:00
Admiral H. Curtiss
a7c5f2fd14
Merge pull request #12200 from itsmattkc/pipe-fifo-fix
FileUtil: Don't try to retrieve size for FIFO pipe
2023-09-28 04:14:41 +02:00
Fabrice CARUSO
2b2fd4217e
SaveStates: Fix MainWindow.m_state_slot is not restored from Qt.ini Emulation/StateSlot.
Select slot 2 and exit & launch Dolphin again. Slot 2 is selected in the menu, but saving from selected slot saves to slot 1.
2023-09-28 04:12:49 +02:00
Admiral H. Curtiss
53df01f7d8
Merge pull request #12172 from ArcaneNibble/sd
Steam Deck: Periodically reenable gyro
2023-09-28 04:10:27 +02:00
sowens99
eac318a1d8 DolphinQt: Fix decrease emulation speed hotkey rollover 2023-09-27 21:40:16 -04:00
Admiral H. Curtiss
467c7435d1
Merge pull request #12203 from deReeperJosh/hidv4-check-device-not-null
HIDv4: Check Device Not Null Before Attaching
2023-09-27 23:06:47 +02:00
LillyJadeKatrin
2a9121b66f Reorganized the first-round AchievementsWindow startup to prevent items from being visible before their parents, thus getting rid of the rapid popups. 2023-09-26 23:31:04 -04:00
deReeperJosh
d0de837efd HIDv4: Check Device Not Null Before Attaching 2023-09-26 18:10:29 +01:00
MattKC
e16753472c
FileUtil: Don't try to retrieve size for FIFO pipe 2023-09-24 19:36:15 -07:00
Admiral H. Curtiss
f8445782bf
Merge pull request #12199 from noahpistilli/kd-hotfix
IOS/KD: Fix crash with KD Scheduler
2023-09-25 03:07:39 +02:00
Sketch
def6cb0155 IOS/KD: Fix crash with KD Scheduler 2023-09-24 20:37:20 -04:00
Admiral H. Curtiss
15f42eb5d8
Merge pull request #12195 from LillyJadeKatrin/retroachievements-logging
Added log statements across AchievementManager.
2023-09-24 17:13:36 +02:00
Admiral H. Curtiss
b5b28da39d
Merge pull request #12198 from rsgnz/require-fmt10
Require system library fmt >= 10.1
2023-09-24 15:52:06 +02:00
rsgnz
1a9d946a33
Require system fmt >= 10.1 2023-09-24 15:46:39 +02:00
JosJuice
117bfd326d
Merge pull request #12197 from t895/double-numeric-settings-fix
Android: Float slider settings fix
2023-09-24 15:33:24 +02:00
Admiral H. Curtiss
c67cd65b53
Merge pull request #12190 from AdmiralCurtiss/fmt10
Update fmt to 10.1.1
2023-09-24 00:05:00 +02:00
Admiral H. Curtiss
c0f690b780
Merge pull request #12193 from malleoz/malleo/mem2_search
Debugger/Memory: Fix mem2 search
2023-09-24 00:02:18 +02:00
Charles Lombardo
fa37336ba3 Android: Adjust settings slider dialog
Move text above slider
2023-09-23 10:58:29 -04:00
Charles Lombardo
f205a20d3f Android: Use 0.5 unit step size and show decimal for numeric settings
In some settings where the default value could not be evenly divided by the step size for the slider, there would be a crash. This increases the precision of all double numeric settings to 0.5 and now shows the decimal that you couldn't see before.
2023-09-23 10:48:23 -04:00
LillyJadeKatrin
da00191eb6 Added log statements across AchievementManager. 2023-09-23 01:32:43 -04:00