Disable frame advance in hardcore mode

Frame advancing is easily exploitable for slowing down a game and artificially improving reaction times and is not allowed in RetroAchievements hardcore mode.
This commit is contained in:
LillyJadeKatrin
2023-06-07 21:46:49 -04:00
parent 2c40d6ba31
commit 45105822f3
2 changed files with 10 additions and 2 deletions

View File

@ -42,6 +42,7 @@
#include "Core/Boot/Boot.h"
#include "Core/BootManager.h"
#include "Core/CPUThreadConfigCallback.h"
#include "Core/Config/AchievementSettings.h"
#include "Core/Config/MainSettings.h"
#include "Core/ConfigManager.h"
#include "Core/CoreTiming.h"
@ -1081,6 +1082,13 @@ void HostDispatchJobs()
// NOTE: Host Thread
void DoFrameStep()
{
#ifdef USE_RETRO_ACHIEVEMENTS
if (AchievementManager::GetInstance()->IsHardcoreModeActive())
{
OSD::AddMessage("Frame stepping is disabled in RetroAchievements hardcore mode");
return;
}
#endif // USE_RETRO_ACHIEVEMENTS
if (GetState() == State::Paused)
{
// if already paused, frame advance for 1 frame