dolphin/Source/Core/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
..
Boot PowerPC: Refactor to class, move to System. 2023-04-09 21:48:37 +02:00
Config Added ActivateDeactivateAchievement to AchievementManager 2023-04-14 17:15:45 -04:00
ConfigLoaders Added Initial Achievement Settings 2023-04-03 21:17:44 -04:00
Debugger PowerPC: Refactor to class, move to System. 2023-04-09 21:48:37 +02:00
DSP DSPTool: Fix missing error when redefining labels 2023-02-04 17:31:06 -08:00
FifoPlayer Resolve [-Wclass-memaccess] 2023-04-12 03:59:57 -05:00
HLE PowerPC: Refactor to class, move to System. 2023-04-09 21:48:37 +02:00
HW Merge pull request #11687 from Minty-Meeo/warnings 2023-04-14 01:29:46 +01:00
IOS Merge pull request #11722 from noahpistilli/write-dl-entry 2023-04-11 02:08:51 +01:00
PowerPC PowerPC: Refactor to class, move to System. 2023-04-09 21:48:37 +02:00
AchievementManager.cpp Added ActivateDeactivateAchievement to AchievementManager 2023-04-14 17:15:45 -04:00
AchievementManager.h Added ActivateDeactivateAchievement to AchievementManager 2023-04-14 17:15:45 -04:00
ActionReplay.cpp PowerPC/MMU: Refactor to class, move to System. 2023-03-28 03:47:51 +02:00
ActionReplay.h DolphinQt: Properly lock CPU before accessing emulated memory 2023-02-12 11:27:50 +01:00
ARDecrypt.cpp Replace BitUtils with C++20: RotateLeft/RotateRight 2022-12-11 08:59:18 +01:00
ARDecrypt.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
BootManager.cpp Added LoadGameByFilenameAsync and CloseGame to AchievementManager 2023-04-12 03:08:47 -04:00
BootManager.h Config: Port emulation speed setting to new config system. 2022-01-06 16:13:54 +01:00
CheatCodes.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
CheatGeneration.cpp Treewide: Adjust order of includes 2021-12-10 14:49:57 -08:00
CheatGeneration.h Core/CheatSearch: Implement cheat searching functionality. 2021-09-15 19:05:48 +02:00
CheatSearch.cpp PowerPC/MMU: Refactor to class, move to System. 2023-03-28 03:47:51 +02:00
CheatSearch.h DolphinQt: Properly lock CPU before accessing emulated memory 2023-02-12 11:27:50 +01:00
CMakeLists.txt Added Achievement Manager with Login 2023-04-03 21:17:44 -04:00
CommonTitles.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
ConfigManager.cpp HW/DVDInterface: Refactor to class. 2023-03-10 18:12:59 +01:00
ConfigManager.h DolphinQt: Properly lock CPU before accessing emulated memory 2023-02-12 11:27:50 +01:00
Core.cpp Added LoadGameByFilenameAsync and CloseGame to AchievementManager 2023-04-12 03:08:47 -04:00
Core.h Core/CPUThreadGuard: Fetch System from Guard. 2023-03-13 18:13:20 +01:00
CoreTiming.cpp PowerPC: Refactor to class, move to System. 2023-04-09 21:48:37 +02:00
CoreTiming.h CoreTiming: Avoid ppcState global. 2023-01-27 15:22:45 +01:00
DolphinAnalytics.cpp windows: prefer os version from registry 2023-01-17 01:38:00 -08:00
DolphinAnalytics.h DolphinAnalytics: Remove ICACHE_MATTERS 2023-01-08 00:17:46 -05:00
DSPEmulator.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
DSPEmulator.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
FreeLookConfig.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
FreeLookConfig.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
FreeLookManager.cpp ControllerEmu: Add default mappings for Android 2023-03-03 22:28:23 +01:00
FreeLookManager.h Core / VideoCommon: refactor FreeLookCamera to have the underlying controller handle all the logic (field-of-view, movement, etc) 2021-10-08 18:16:32 -05:00
GeckoCode.cpp PowerPC/MMU: Refactor to class, move to System. 2023-03-28 03:47:51 +02:00
GeckoCode.h DolphinQt: Properly lock CPU before accessing emulated memory 2023-02-12 11:27:50 +01:00
GeckoCodeConfig.cpp StripSpaces: only strip spaces 2022-07-25 18:40:12 -07:00
GeckoCodeConfig.h Android: Add Gecko code downloading 2021-09-16 18:48:39 +02:00
Host.h Add Discord presence ioctlv to /dev/dolphin 2022-08-06 07:32:29 +01:00
HotkeyManager.cpp Add hotkeys for incrementing/decrementing selected state slot (like RetroArch) 2022-08-07 12:20:09 -05:00
HotkeyManager.h Add hotkeys for incrementing/decrementing selected state slot (like RetroArch) 2022-08-07 12:20:09 -05:00
LibusbUtils.cpp Log warnings when LibusbUtils::MakeConfigDescriptor fails 2022-06-08 15:29:11 -07:00
LibusbUtils.h Log warnings when LibusbUtils::MakeConfigDescriptor fails 2022-06-08 15:29:11 -07:00
MachineContext.h MachineContext: Fix USE_SIGACTION_ON_APPLE on arm64 2022-12-11 13:36:44 +00:00
MemoryWatcher.cpp PowerPC/MMU: Refactor to class, move to System. 2023-03-28 03:47:51 +02:00
MemoryWatcher.h DolphinQt: Properly lock CPU before accessing emulated memory 2023-02-12 11:27:50 +01:00
MemTools.cpp JitInterface: Refactor to class, move to System. 2023-03-26 14:38:07 +02:00
MemTools.h UnitTests: Skip PageFaultTest if exception handlers are not supported 2022-05-19 12:26:41 -07:00
Movie.cpp HW/SerialInterface: Refactor to class. 2023-03-12 16:08:56 +01:00
Movie.h DolphinQt: Use input override system for TAS input windows 2022-10-03 22:04:09 +02:00
NetPlayClient.cpp Merge pull request #11687 from Minty-Meeo/warnings 2023-04-14 01:29:46 +01:00
NetPlayClient.h Qt/WiimoteControllersWidget: Disable remote Wiimote configuration during netplay. 2022-10-02 23:25:15 +02:00
NetPlayCommon.cpp Core: Add missing header to NetPlayCommon.cpp 2021-12-15 18:57:10 +01:00
NetPlayCommon.h Updated PEER_TIMOUT in NetPlayCommon.h to use chrono literals; Updated NetPlayServer.cpp OnConnect() by putting commonly used code into named functions 2022-08-09 16:26:52 -06:00
NetPlayProto.h NetPlay: Limit ENet's MTU to 1392 as a workaround for dropped packets over VPN via WireGuard, see https://github.com/lsalzman/enet/issues/132 2023-04-02 17:23:10 +02:00
NetPlayServer.cpp Common/UPnP: Move interface into Common namespace 2023-04-12 14:15:58 -04:00
NetPlayServer.h NetPlay: Split SyncSaveData() into two parts. 2022-11-06 01:51:01 +01:00
NetworkCaptureLogger.cpp NetworkCaptureLogger: Allow PCAP shared read access on Windows 2022-09-29 23:08:25 +04:00
NetworkCaptureLogger.h NetworkCaptureLogger: Add GameCube BBA support 2022-07-12 13:35:49 +04:00
PatchEngine.cpp PowerPC: Refactor to class, move to System. 2023-04-09 21:48:37 +02:00
PatchEngine.h Core: add ability to apply memory patches during a frame update in the PatchEngine 2022-12-23 03:13:03 -06:00
State.cpp PowerPC: Refactor to class, move to System. 2023-04-09 21:48:37 +02:00
State.h Core/State: Rewrite threading behavior when multiple Save requests are happening. Should improve responsiveness when eg. mashing a save state button. 2022-10-02 00:00:29 +02:00
SyncIdentifier.h Added type to SyncIndentifierComparison enum in SyncIdentifier.h in an 2022-08-09 16:26:53 -06:00
SysConf.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
SysConf.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
System.cpp PowerPC: Refactor to class, move to System. 2023-04-09 21:48:37 +02:00
System.h PowerPC: Refactor to class, move to System. 2023-04-09 21:48:37 +02:00
TitleDatabase.cpp StripSpaces: only strip spaces 2022-07-25 18:40:12 -07:00
TitleDatabase.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
WiiRoot.cpp Core: Refactor InitializeDeterministicWiiSaves 2023-03-16 22:49:46 +01:00
WiiRoot.h Core/Boot: Add Wii FS sync data (for temp NAND/netplay) to BootSessionData and handle it in the boot and shutdown logic. 2021-11-22 01:33:45 +01:00
WiiUtils.cpp Fix build errors related to formatting non-scoped enums 2022-11-23 13:45:43 -08:00
WiiUtils.h WiiUtils: Add function to convert UpdateResult to jint 2022-01-21 17:16:23 -05:00