dolphin/Source/Core
LillyJadeKatrin 505f40cf9d Added ActivateDeactivateAchievement to AchievementManager
ActivateDeactivateAchievement is passed an Achievement ID as returned from the FetchGameData API call and determines whether to activate it, deactivate it, or leave it where it is based on its current known state and what settings are enabled.

Activating or deactivating an achievement entails calling a method provided by rcheevos that performs this on the rcheevos runtime. Activating an achievement loads its memory signature into the runtime; now the runtime will process the achievement each time the rc_runtime_do_frame function is called (this will be in a future PR) to determine when the achievement's requirements are met. Deactivating an achievement unloads it from the runtime.

The specific logic to determine whether an achievement is active operates over many fields but is documented in detail inside the function. There are multiple settings flags for which achievements are enabled (one flag for all achievements, an "unofficial" flag for enabling achievements marked as unofficial i.e. those that have logic on the site but have not yet been officially approved, and an "encore" flag that enables achievements the player has already unlocked) and this function also evaluates whether the achievement has been unlocked in hardcore mode or softcore mode (though currently every reference to the current hardcore mode state is hardcoded as false).
2023-04-14 17:15:45 -04:00
..
AudioCommon Common: Move FixedSizeQueue into Common namespace 2023-03-22 01:23:15 -04:00
Common Merge pull request #11687 from Minty-Meeo/warnings 2023-04-14 01:29:46 +01:00
Core Added ActivateDeactivateAchievement to AchievementManager 2023-04-14 17:15:45 -04:00
DiscIO NANDImporter: Check data bounds. 2023-04-02 03:45:34 +02:00
DolphinNoGUI Merge pull request #11522 from phire/KillRendererWithFire 2023-02-09 19:59:16 +13:00
DolphinQt Merge pull request #11687 from Minty-Meeo/warnings 2023-04-14 01:29:46 +01:00
DolphinTool Merge pull request #11522 from phire/KillRendererWithFire 2023-02-09 19:59:16 +13:00
InputCommon Pragma diagnostic ignore [-Wregister] is no longer needed 2023-04-12 03:59:57 -05:00
MacUpdater CMake: Use proper dependency tracking command for storyboard compiling 2023-03-17 01:28:33 -05:00
UICommon JitInterface: Refactor to class, move to System. 2023-03-26 14:38:07 +02:00
UpdaterCommon Resolve [-Wdeprecated-declarations] 2023-04-12 03:59:57 -05:00
VideoBackends CMake: Check WIN32 instead of CMAKE_SYSTEM_NAME STREQUAL Windows 2023-04-06 18:37:45 -07:00
VideoCommon Merge pull request #11687 from Minty-Meeo/warnings 2023-04-14 01:29:46 +01:00
WinUpdater WinUpdater: Quote path for args when relaunching Dolphin. 2023-03-17 12:48:39 +01:00
CMakeLists.txt
DolphinLib.ARM64.props
DolphinLib.props Common: Rename ENetUtil.cpp/.h to ENet.cpp/.h 2023-04-11 11:48:46 -04:00
DolphinLib.vcxproj Added rcheevos to Externals 2023-04-02 08:28:23 -04:00
DolphinLib.vcxproj.user
DolphinLib.x64.props Move x64 DSP JIT into DolphinLib.x64.props 2023-01-06 22:42:21 -08:00