Commit graph

13159 commits

Author SHA1 Message Date
LillyJadeKatrin
ed121a4033 Added AchievementEventHandler to AchievementManager
AchievementEventHandler simply checks which kind of event is triggered and calls the appropriate function. Its primary purpose is as a function to be pointed to.
2023-05-11 07:56:11 -04:00
LillyJadeKatrin
a48fab0abf Added HandleLeaderboardTriggeredEvent to AchievementManager
HandleLeaderboardTriggeredEvent processes a leaderboard event and asynchronizes via the work queue a synchronous call to SubmitLeaderboard.
2023-05-11 07:56:11 -04:00
LillyJadeKatrin
637ca82fc1 Added HandleAchievementTriggeredEvent to AchievementManager
HandleAchievementTriggeredEvent is an asynchronous method that processes an event and places a synchronous AwardAchievement call on the work queue. In the process, it also updates the unlock map and makes the ActivateDeactivateAchievement call to determine and adjust the achievement's current active state.
2023-05-11 07:56:11 -04:00
LillyJadeKatrin
66b8731bdb Added PingRichPresence to AchievementManager
PingRichPresence makes a "ping" API request to the RetroAchievements website with the provided RichPresence string parameter. While there has been talk about tying ping in with session, in its current state the primary purpose of ping is to send the player's Rich Presence to the website.
2023-05-11 07:56:11 -04:00
Sketch
a383e0cfd5 UICommon:DiscordPresence: Use GameTDB covers for RPC 2023-05-10 23:55:34 -04:00
LillyJadeKatrin
69014e1359 Added SubmitLeaderboard to AchievementManager
SubmitLeaderboard submits the player's score/time to a leaderboard on the website via an API call.
2023-05-10 21:15:40 -04:00
LillyJadeKatrin
9a57216fd0 Added AwardAchievement to AchievementManager
AwardAchievement performs the API call to notify the site that an achievement has been unlocked. As one of the parameters is the game hash (something I overlooked previously; I thought it was the game ID) this change also moves the game hash into a member field.
2023-05-10 21:15:40 -04:00
Admiral H. Curtiss
8c67083c87
Merge pull request #11813 from lioncash/insert
PPCSymbolDB: Use emplace() where applicable
2023-05-09 18:48:06 +02:00
Admiral H. Curtiss
c766b2f8a2
Merge pull request #11815 from lioncash/ppcinc
PPCTables: Remove unnecessary includes
2023-05-09 18:45:45 +02:00
Pokechu22
810eb70f0e DolphinAnalytics: Add READS_BOUNDING_BOX game quirk 2023-05-06 17:18:17 -07:00
Lioncash
2561028b91 PPCTables: Remove unnecessary includes
Gets rid of a lingering dependency on the interpreter in common code and
a bunch of indirect inclusions.
2023-05-03 21:47:10 -04:00
JosJuice
2319210d85
Merge pull request #11810 from lioncash/jitreg
Common/JitRegister: Move interface into Common namespace
2023-05-03 17:43:01 +02:00
Lioncash
15d1ae3a8a SymbolDB: Add constructors to Symbol
Allows for much more convenient in-place construction.
2023-05-02 16:04:47 -04:00
Lioncash
a14d8003f4 PPCSymbolDB: Use emplace() where applicable
Avoids default constructing an entry in the map that just gets
immediately overwritten. Also gets rid of some redundant map lookups.
2023-05-02 15:51:52 -04:00
Lioncash
56775e4901 JitInterface: Remove global system accessor
We can use JitInterface's system member variable to avoid needing this
2023-05-02 15:21:58 -04:00
Lioncash
4db186f9ff Common/JitRegister: Move interface into Common namespace
Makes the namespace consistent with other common utilities.
2023-05-02 12:00:05 -04:00
Léo Lam
0eeeac2487
Merge pull request #11736 from noahpistilli/get-scheduler-stat
IOS/Network/KD: Implement GetSchedulerStat
2023-05-01 01:19:11 +01:00
Léo Lam
f36e05ad3e
Merge pull request #11546 from deReeperJosh/disneyinfinitybase
Feature: Emulate Infinity Base
2023-04-30 02:13:39 +01:00
LillyJadeKatrin
9778640a84 Added Invalid Request Drop to AchievementManager Request
This fixes a crash I found in the Request function of AchievementManager where under certain conditions init_request would return an api_request with null post data, and Post would crash if it attempted to access it. Now the function aborts before the Post and returns an INVALID_REQUEST response type.
2023-04-29 00:05:32 -04:00
Joshua de Reeper
529d0a1c63 Infinity Base: Code tidyups and de-duplication 2023-04-28 16:51:43 +12:00
Joshua de Reeper
f632f94645 Feature: Emulate Disney Infinity Base
Create, Load and Clear Infinity figures on an emulated base in the UI
2023-04-28 12:29:34 +12:00
Léo Lam
89154c858b
Merge pull request #11787 from AdmiralCurtiss/ios-emulationkernel
IOS: Leverage Kernel/EmulationKernel difference for passing System to most IOS devices.
2023-04-28 00:36:03 +01:00
Mai
b9a7f577a5
Merge pull request #11765 from Minty-Meeo/ppc-cache-savestate
Fix PPCCache savestate behavior
2023-04-25 05:40:15 -04:00
Admiral H. Curtiss
15a0860f15
IOS: Leverage Kernel/EmulationKernel difference for passing System to most IOS devices. 2023-04-25 02:22:34 +02:00
Léo Lam
77b334b47b
Merge pull request #11791 from lioncash/traverse
Common/Traversal: Move interface into Common namespace
2023-04-25 01:05:41 +01:00
Léo Lam
e5f7522711
Merge pull request #11792 from lioncash/trace
Common: Move CodeTrace.cpp/.h into Core
2023-04-25 01:04:36 +01:00
Lioncash
d991cbaf3c Common: Move CodeTrace.cpp/.h into Core
This interface relies on Core details and shouldn't be in Common to
begin with, since it's not a general utility.
2023-04-24 09:10:43 -04:00
Lioncash
30e7ab94fa Common/TraversalProto: Move interface into Common namespace
Gets the types out of the global namespace.
2023-04-24 08:53:14 -04:00
Lioncash
27f38c6c8f Common/TraversalClient: Move interface into Common namespace
Gets the interface out of the global namespace.
2023-04-24 08:28:25 -04:00
Admiral H. Curtiss
4d49902b34
IOS: Only construct DolphinDevice on EmulationKernel IOS instances.
Doesn't make much sense to have this active without a game.
2023-04-23 20:09:32 +02:00
Admiral H. Curtiss
ffbbd72741
Merge pull request #11767 from AdmiralCurtiss/wii-sock-man
IOS/WiiSockMan: Move instance to IOS Kernel.
2023-04-23 20:07:34 +02:00
Admiral H. Curtiss
5df7c8833a
Merge pull request #11784 from Minty-Meeo/mgba-screen-api
GBACore.cpp: Update to revised screen size/info API
2023-04-23 16:10:51 +02:00
Admiral H. Curtiss
00e4fc4b70
Netplay: Check if save is readable before marking it for sync. 2023-04-23 15:52:38 +02:00
get
c9b26e3db2 Update mGBA submodule to 8739b22fbc90fdf0b4f6612ef9c0520f0ba44a51 2023-04-23 05:26:40 -05:00
get
0948f0ef69 Fix PPCCache savestate behavior
PR #11183 regressed the lookup table reconstruction and, for some reason, added an else clause that clobbered the dCache whenever dCache emulation is turned on.
2023-04-23 00:53:01 -05:00
Pokechu22
8fbfee03ab
Merge pull request #11764 from Minty-Meeo/ppc-cache-extendo-ram
Do not use magic numbers for RAM sizes/masks in PPCCache
2023-04-22 12:44:34 -07:00
get
9ba26670b8 Do not use magic numbers for RAM sizes/masks in PPCCache
Memory Override + Write-Back Cache emulation = game crash
2023-04-20 19:32:35 -05:00
Admiral H. Curtiss
2a0b90807d
Merge pull request #11770 from lioncash/err
Common/CommonFuncs: Move interface into Common namespace
2023-04-19 10:38:22 +02:00
Lioncash
f1ad43afaf Common/CommonFuncs: Move interface into Common namespace
Gets these functions out of the global namespace.
2023-04-18 19:23:04 -04:00
Admiral H. Curtiss
2e7f0d002e
Merge pull request #11760 from Minty-Meeo/embracing-nullptr
Embrace nullptr over NULL and 0
2023-04-18 22:14:11 +02:00
Admiral H. Curtiss
361ffd5917
Merge pull request #11752 from LillyJadeKatrin/retroachievements-activate
Retroachievements activate
2023-04-18 18:38:53 +02:00
Admiral H. Curtiss
1c1b0fee25
Merge pull request #11769 from AdmiralCurtiss/ra-no-volume
AchievementManager: Fix crash when launching non-disc game.
2023-04-18 18:38:16 +02:00
Admiral H. Curtiss
d861b8caca
Config: Add setting for SD card file size when converting. 2023-04-18 11:04:26 +02:00
Admiral H. Curtiss
a4e1e23c34
AchievementManager: Fix crash when launching non-disc game. 2023-04-18 11:01:11 +02:00
Admiral H. Curtiss
b2ee958058
IOS/WiiSockMan: Move instance to IOS Kernel. 2023-04-18 01:24:10 +02:00
Sketch
467b961e9c IOS/Network/KD: Implement GetSchedulerStat 2023-04-17 11:38:42 -04:00
Admiral H. Curtiss
37a30a5e50
IOS/WiiSockMan: Remove declaration to nonexistent DecodeError(). 2023-04-17 03:43:29 +02:00
get
a5d06fde4b Embrace nullptr over NULL and 0 2023-04-15 16:07:05 -05:00
Lioncash
784a216927 Common/MathUtil: Move IntLog2 into MathUtil namespace
Gets this out of the global namespace.
2023-04-15 03:35:05 -04:00
LillyJadeKatrin
31c3288fd5 Added ActivateDeactivateRichPresence to AchievementManager
RetroAchievements Rich Presence is a script that is run periodically on a game's memory to provide a detailed text description of what the player is doing. Existing Discord presence on Dolphin would update a player's Discord status to say not just that they are using Dolphin but that they are playing, for example, Sonic Adventure 2 Battle; Rich Presence would detail that the player is in City Escape with 5 lives and 142 rings.

Activating this in the runtime simply entails loading that text script, as returned by the FetchGameData API call, into the runtime, here only determined by whether rich presence is enabled in the achievement settings. Deactivating this is done via the same rcheevos method by setting the rich presence to an empty string.
2023-04-14 22:22:00 -04:00