CMake: Purge no-achievements option

Keeps breaking because we never test it, and there's no reason to
disable achievements anyway.
This commit is contained in:
Stenzek 2023-09-16 15:19:51 +10:00 committed by Connor McLaughlin
parent 81a51d750c
commit 368e35abb6
16 changed files with 21 additions and 210 deletions

View File

@ -8,7 +8,6 @@ option(DISABLE_BUILD_DATE "Disable including the binary compile date")
option(ENABLE_TESTS "Enables building the unit tests" ON) option(ENABLE_TESTS "Enables building the unit tests" ON)
option(LTO_PCSX2_CORE "Enable LTO/IPO/LTCG on the subset of pcsx2 that benefits most from it but not anything else") option(LTO_PCSX2_CORE "Enable LTO/IPO/LTCG on the subset of pcsx2 that benefits most from it but not anything else")
option(USE_VTUNE "Plug VTUNE to profile GS JIT.") option(USE_VTUNE "Plug VTUNE to profile GS JIT.")
option(USE_ACHIEVEMENTS "Build with RetroAchievements support" ON)
option(USE_DISCORD_PRESENCE "Enable support for Discord Rich Presence" ON) option(USE_DISCORD_PRESENCE "Enable support for Discord Rich Presence" ON)
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------

View File

@ -137,6 +137,7 @@ disable_compiler_warnings_for_target(cpuinfo)
add_subdirectory(3rdparty/zydis EXCLUDE_FROM_ALL) add_subdirectory(3rdparty/zydis EXCLUDE_FROM_ALL)
add_subdirectory(3rdparty/zstd EXCLUDE_FROM_ALL) add_subdirectory(3rdparty/zstd EXCLUDE_FROM_ALL)
add_subdirectory(3rdparty/libzip EXCLUDE_FROM_ALL) add_subdirectory(3rdparty/libzip EXCLUDE_FROM_ALL)
add_subdirectory(3rdparty/rcheevos EXCLUDE_FROM_ALL)
if(USE_OPENGL) if(USE_OPENGL)
add_subdirectory(3rdparty/glad EXCLUDE_FROM_ALL) add_subdirectory(3rdparty/glad EXCLUDE_FROM_ALL)
@ -154,6 +155,10 @@ disable_compiler_warnings_for_target(speex)
# Find the Qt components that we need. # Find the Qt components that we need.
find_package(Qt6 COMPONENTS CoreTools Core GuiTools Gui WidgetsTools Widgets Network LinguistTools REQUIRED) find_package(Qt6 COMPONENTS CoreTools Core GuiTools Gui WidgetsTools Widgets Network LinguistTools REQUIRED)
if(WIN32)
add_subdirectory(3rdparty/rainterface EXCLUDE_FROM_ALL)
endif()
if (APPLE AND CMAKE_OSX_DEPLOYMENT_TARGET AND "${CMAKE_OSX_DEPLOYMENT_TARGET}" VERSION_LESS 10.15) if (APPLE AND CMAKE_OSX_DEPLOYMENT_TARGET AND "${CMAKE_OSX_DEPLOYMENT_TARGET}" VERSION_LESS 10.15)
get_target_property(QT_FEATURES Qt6::Core QT_ENABLED_PUBLIC_FEATURES) get_target_property(QT_FEATURES Qt6::Core QT_ENABLED_PUBLIC_FEATURES)
if (cxx17_filesystem IN_LIST QT_FEATURES) if (cxx17_filesystem IN_LIST QT_FEATURES)
@ -162,14 +167,6 @@ if (APPLE AND CMAKE_OSX_DEPLOYMENT_TARGET AND "${CMAKE_OSX_DEPLOYMENT_TARGET}" V
endif() endif()
endif() endif()
# rcheevos backend for RetroAchievements.
if(USE_ACHIEVEMENTS)
add_subdirectory(3rdparty/rcheevos EXCLUDE_FROM_ALL)
if(WIN32)
add_subdirectory(3rdparty/rainterface EXCLUDE_FROM_ALL)
endif()
endif()
# Discord-RPC library for rich presence. # Discord-RPC library for rich presence.
if(USE_DISCORD_PRESENCE) if(USE_DISCORD_PRESENCE)
add_subdirectory(3rdparty/rapidjson EXCLUDE_FROM_ALL) add_subdirectory(3rdparty/rapidjson EXCLUDE_FROM_ALL)

View File

@ -44,6 +44,12 @@ target_sources(pcsx2-qt PRIVATE
GameList/GameListRefreshThread.h GameList/GameListRefreshThread.h
GameList/GameListWidget.cpp GameList/GameListWidget.cpp
GameList/GameListWidget.h GameList/GameListWidget.h
Settings/AchievementLoginDialog.cpp
Settings/AchievementLoginDialog.h
Settings/AchievementLoginDialog.ui
Settings/AchievementSettingsWidget.cpp
Settings/AchievementSettingsWidget.h
Settings/AchievementSettingsWidget.ui
Settings/AdvancedSettingsWidget.cpp Settings/AdvancedSettingsWidget.cpp
Settings/AdvancedSettingsWidget.h Settings/AdvancedSettingsWidget.h
Settings/AdvancedSettingsWidget.ui Settings/AdvancedSettingsWidget.ui
@ -168,17 +174,6 @@ target_sources(pcsx2-qt PRIVATE
resources/resources.qrc resources/resources.qrc
) )
if(USE_ACHIEVEMENTS)
target_sources(pcsx2-qt PRIVATE
Settings/AchievementLoginDialog.cpp
Settings/AchievementLoginDialog.h
Settings/AchievementLoginDialog.ui
Settings/AchievementSettingsWidget.cpp
Settings/AchievementSettingsWidget.h
Settings/AchievementSettingsWidget.ui
)
endif()
file(GLOB TS_FILES ${CMAKE_CURRENT_SOURCE_DIR}/Translations/*.ts) file(GLOB TS_FILES ${CMAKE_CURRENT_SOURCE_DIR}/Translations/*.ts)
target_precompile_headers(pcsx2-qt PRIVATE PrecompiledHeader.h) target_precompile_headers(pcsx2-qt PRIVATE PrecompiledHeader.h)

View File

@ -1110,7 +1110,6 @@ void Host::OnSaveStateSaved(const std::string_view& filename)
emit g_emu_thread->onSaveStateSaved(QtUtils::StringViewToQString(filename)); emit g_emu_thread->onSaveStateSaved(QtUtils::StringViewToQString(filename));
} }
#ifdef ENABLE_ACHIEVEMENTS
void Host::OnAchievementsLoginRequested(Achievements::LoginRequestReason reason) void Host::OnAchievementsLoginRequested(Achievements::LoginRequestReason reason)
{ {
emit g_emu_thread->onAchievementsLoginRequested(reason); emit g_emu_thread->onAchievementsLoginRequested(reason);
@ -1151,7 +1150,6 @@ void Host::OnAchievementsRefreshed()
emit g_emu_thread->onAchievementsRefreshed(game_id, game_info, achievement_count, max_points); emit g_emu_thread->onAchievementsRefreshed(game_id, game_info, achievement_count, max_points);
} }
#endif
void Host::VSyncOnCPUThread() void Host::VSyncOnCPUThread()
{ {

View File

@ -194,7 +194,6 @@ void SettingsDialog::setupUi(const GameList::Entry* game)
QString help_text = QString help_text =
tr("<strong>Achievements Settings</strong><hr>" tr("<strong>Achievements Settings</strong><hr>"
"These options control the RetroAchievements implementation in PCSX2, allowing you to earn achievements in your games."); "These options control the RetroAchievements implementation in PCSX2, allowing you to earn achievements in your games.");
#ifdef ENABLE_ACHIEVEMENTS
if (Achievements::IsUsingRAIntegration()) if (Achievements::IsUsingRAIntegration())
{ {
QLabel* placeholder_label = QLabel* placeholder_label =
@ -207,12 +206,6 @@ void SettingsDialog::setupUi(const GameList::Entry* game)
addWidget((m_achievement_settings = new AchievementSettingsWidget(this, m_ui.settingsContainer)), std::move(title), addWidget((m_achievement_settings = new AchievementSettingsWidget(this, m_ui.settingsContainer)), std::move(title),
std::move(icon_text), std::move(help_text)); std::move(icon_text), std::move(help_text));
} }
#else
QLabel* placeholder_label =
new QLabel(tr("This PCSX2 build was not compiled with RetroAchievements support."), m_ui.settingsContainer);
placeholder_label->setAlignment(Qt::AlignLeft | Qt::AlignTop);
addWidget(placeholder_label, std::move(title), std::move(icon_text), std::move(help_text));
#endif
} }
if (show_advanced_settings) if (show_advanced_settings)

View File

@ -49,7 +49,7 @@
<AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);$(ProjectDir)\Settings;$(ProjectDir)\GameList;$(ProjectDir)\Tools\InputRecording;$(ProjectDir)\Debugger;$(ProjectDir)\Debugger\Models</AdditionalIncludeDirectories> <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);$(ProjectDir)\Settings;$(ProjectDir)\GameList;$(ProjectDir)\Tools\InputRecording;$(ProjectDir)\Debugger;$(ProjectDir)\Debugger\Models</AdditionalIncludeDirectories>
<PrecompiledHeader>Use</PrecompiledHeader> <PrecompiledHeader>Use</PrecompiledHeader>
<PrecompiledHeaderFile>PrecompiledHeader.h</PrecompiledHeaderFile> <PrecompiledHeaderFile>PrecompiledHeader.h</PrecompiledHeaderFile>
<PreprocessorDefinitions>LZMA_API_STATIC;BUILD_DX=1;ENABLE_RAINTEGRATION;ENABLE_ACHIEVEMENTS;ENABLE_DISCORD_PRESENCE;ENABLE_OPENGL;ENABLE_VULKAN;%(PreprocessorDefinitions)</PreprocessorDefinitions> <PreprocessorDefinitions>LZMA_API_STATIC;BUILD_DX=1;ENABLE_RAINTEGRATION;ENABLE_DISCORD_PRESENCE;ENABLE_OPENGL;ENABLE_VULKAN;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>QT_NO_EXCEPTIONS;%(PreprocessorDefinitions)</PreprocessorDefinitions> <PreprocessorDefinitions>QT_NO_EXCEPTIONS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<!-- Current Qt debug builds assert on RTTI. Remove this once we next build Qt. --> <!-- Current Qt debug builds assert on RTTI. Remove this once we next build Qt. -->
<RuntimeTypeInfo Condition="$(Configuration.Contains(Clang)) And $(Configuration.Contains(Debug))">true</RuntimeTypeInfo> <RuntimeTypeInfo Condition="$(Configuration.Contains(Clang)) And $(Configuration.Contains(Debug))">true</RuntimeTypeInfo>

View File

@ -15,8 +15,6 @@
#include "PrecompiledHeader.h" #include "PrecompiledHeader.h"
#ifdef ENABLE_ACHIEVEMENTS
#include "Achievements.h" #include "Achievements.h"
#include "CDVD/CDVD.h" #include "CDVD/CDVD.h"
#include "Elfheader.h" #include "Elfheader.h"
@ -2319,4 +2317,3 @@ void Achievements::RAIntegration::RACallbackWriteMemory(unsigned int address, un
#endif // ENABLE_RAINTEGRATION #endif // ENABLE_RAINTEGRATION
#endif // ENABLE_ACHIEVEMENTS

View File

@ -27,8 +27,6 @@
#include <utility> #include <utility>
#include <vector> #include <vector>
#ifdef ENABLE_ACHIEVEMENTS
namespace Achievements namespace Achievements
{ {
enum class LoginRequestReason enum class LoginRequestReason
@ -191,73 +189,6 @@ namespace Achievements
bool ChallengeModeActive(); bool ChallengeModeActive();
} // namespace Achievements } // namespace Achievements
#else
// Make noops when compiling without cheevos.
namespace Achievements
{
static inline void Initialize()
{
}
static inline void UpdateSettings(const Pcsx2Config::AchievementsOptions& old_config)
{
}
static inline void Shutdown()
{
}
static inline bool OnReset()
{
return true;
}
static inline void LoadState(const u8* state_data, u32 state_data_size)
{
}
static inline std::vector<u8> SaveState()
{
return {};
}
static inline void GameChanged()
{
}
static constexpr inline bool ChallengeModeActive()
{
return false;
}
static inline bool ResetChallengeMode()
{
return false;
}
static inline void DisableChallengeMode()
{
}
static inline bool ConfirmChallengeModeDisable(const char* trigger)
{
return true;
}
static inline void OnPaused(bool paused)
{
}
static inline void VSyncUpdate()
{
}
static std::string SafeGetRichPresenceString()
{
return {};
}
} // namespace Achievements
#endif
/// Functions implemented in the frontend. /// Functions implemented in the frontend.
namespace Host namespace Host
{ {

View File

@ -858,30 +858,14 @@ if(APPLE)
) )
endif() endif()
if(USE_ACHIEVEMENTS) if(WIN32)
target_compile_definitions(PCSX2_FLAGS INTERFACE # RAIntegration is only supported on Windows.
ENABLE_ACHIEVEMENTS target_compile_definitions(PCSX2_FLAGS INTERFACE ENABLE_RAINTEGRATION)
) target_link_libraries(PCSX2_FLAGS INTERFACE rainterface)
target_link_libraries(PCSX2_FLAGS INTERFACE
rcheevos
)
if(WIN32)
# RAIntegration is only supported on Windows.
target_compile_definitions(PCSX2_FLAGS INTERFACE
ENABLE_RAINTEGRATION
)
target_link_libraries(PCSX2_FLAGS INTERFACE
rainterface
)
endif()
endif() endif()
if(USE_DISCORD_PRESENCE) if(USE_DISCORD_PRESENCE)
target_compile_definitions(PCSX2_FLAGS INTERFACE target_compile_definitions(PCSX2_FLAGS INTERFACE ENABLE_DISCORD_PRESENCE)
ENABLE_DISCORD_PRESENCE target_link_libraries(PCSX2_FLAGS INTERFACE discord-rpc)
)
target_link_libraries(PCSX2_FLAGS INTERFACE
discord-rpc
)
endif() endif()
if(WIN32) if(WIN32)
list(APPEND pcsx2InputSources list(APPEND pcsx2InputSources
@ -1149,6 +1133,7 @@ target_link_libraries(PCSX2_FLAGS INTERFACE
cpuinfo cpuinfo
zydis zydis
cubeb cubeb
rcheevos
SDL2::SDL2 SDL2::SDL2
ZLIB::ZLIB ZLIB::ZLIB
SoundTouch::SoundTouch SoundTouch::SoundTouch

View File

@ -1241,7 +1241,6 @@ struct Pcsx2Config
// ------------------------------------------------------------------------ // ------------------------------------------------------------------------
#ifdef ENABLE_ACHIEVEMENTS
struct AchievementsOptions struct AchievementsOptions
{ {
BITFIELD32() BITFIELD32()
@ -1272,7 +1271,6 @@ struct Pcsx2Config
return !this->operator==(right); return !this->operator==(right);
} }
}; };
#endif
// ------------------------------------------------------------------------ // ------------------------------------------------------------------------
@ -1327,9 +1325,7 @@ struct Pcsx2Config
FilenameOptions BaseFilenames; FilenameOptions BaseFilenames;
#ifdef ENABLE_ACHIEVEMENTS
AchievementsOptions Achievements; AchievementsOptions Achievements;
#endif
// Memorycard options - first 2 are default slots, last 6 are multitap 1 and 2 // Memorycard options - first 2 are default slots, last 6 are multitap 1 and 2
// slots (3 each) // slots (3 each)

View File

@ -143,7 +143,6 @@ DEFINE_HOTKEY("OpenPauseMenu", TRANSLATE_NOOP("Hotkeys", "System"), TRANSLATE_NO
if (!pressed && VMManager::HasValidVM()) if (!pressed && VMManager::HasValidVM())
FullscreenUI::OpenPauseMenu(); FullscreenUI::OpenPauseMenu();
}) })
#ifdef ENABLE_ACHIEVEMENTS
DEFINE_HOTKEY("OpenAchievementsList", TRANSLATE_NOOP("Hotkeys", "System"), DEFINE_HOTKEY("OpenAchievementsList", TRANSLATE_NOOP("Hotkeys", "System"),
TRANSLATE_NOOP("Hotkeys", "Open Achievements List"), [](s32 pressed) { TRANSLATE_NOOP("Hotkeys", "Open Achievements List"), [](s32 pressed) {
if (!pressed) if (!pressed)
@ -154,7 +153,6 @@ DEFINE_HOTKEY("OpenLeaderboardsList", TRANSLATE_NOOP("Hotkeys", "System"),
if (!pressed) if (!pressed)
FullscreenUI::OpenLeaderboardsWindow(); FullscreenUI::OpenLeaderboardsWindow();
}) })
#endif
DEFINE_HOTKEY( DEFINE_HOTKEY(
"TogglePause", TRANSLATE_NOOP("Hotkeys", "System"), TRANSLATE_NOOP("Hotkeys", "Toggle Pause"), [](s32 pressed) { "TogglePause", TRANSLATE_NOOP("Hotkeys", "System"), TRANSLATE_NOOP("Hotkeys", "Toggle Pause"), [](s32 pressed) {
if (!pressed && VMManager::HasValidVM()) if (!pressed && VMManager::HasValidVM())

View File

@ -178,19 +178,15 @@ namespace FullscreenUI
GameList, GameList,
Settings, Settings,
PauseMenu, PauseMenu,
#ifdef ENABLE_ACHIEVEMENTS
Achievements, Achievements,
Leaderboards, Leaderboards,
#endif
}; };
enum class PauseSubMenu enum class PauseSubMenu
{ {
None, None,
Exit, Exit,
#ifdef ENABLE_ACHIEVEMENTS
Achievements, Achievements,
#endif
}; };
enum class SettingsPage enum class SettingsPage
@ -482,7 +478,6 @@ namespace FullscreenUI
static std::vector<const GameList::Entry*> s_game_list_sorted_entries; static std::vector<const GameList::Entry*> s_game_list_sorted_entries;
static GameListPage s_game_list_page = GameListPage::Grid; static GameListPage s_game_list_page = GameListPage::Grid;
#ifdef ENABLE_ACHIEVEMENTS
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
// Achievements // Achievements
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
@ -498,7 +493,6 @@ namespace FullscreenUI
const Achievements::LeaderboardEntry& lbEntry, float rank_column_width, float name_column_width, float column_spacing); const Achievements::LeaderboardEntry& lbEntry, float rank_column_width, float name_column_width, float column_spacing);
static std::optional<u32> s_open_leaderboard_id; static std::optional<u32> s_open_leaderboard_id;
#endif
} // namespace FullscreenUI } // namespace FullscreenUI
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
@ -653,7 +647,6 @@ void FullscreenUI::CheckForConfigChanges(const Pcsx2Config& old_config)
if (!IsInitialized()) if (!IsInitialized())
return; return;
#ifdef ENABLE_ACHIEVEMENTS
// If achievements got disabled, we might have the menu open... // If achievements got disabled, we might have the menu open...
// That means we're going to be reaching achievement state. // That means we're going to be reaching achievement state.
if (old_config.Achievements.Enabled && !EmuConfig.Achievements.Enabled) if (old_config.Achievements.Enabled && !EmuConfig.Achievements.Enabled)
@ -667,7 +660,6 @@ void FullscreenUI::CheckForConfigChanges(const Pcsx2Config& old_config)
}); });
MTGS::WaitGS(false, false, false); MTGS::WaitGS(false, false, false);
} }
#endif
} }
void FullscreenUI::OnVMStarted() void FullscreenUI::OnVMStarted()
@ -827,14 +819,12 @@ void FullscreenUI::Render()
ImGuiFullscreen::BeginLayout(); ImGuiFullscreen::BeginLayout();
#ifdef ENABLE_ACHIEVEMENTS
// Primed achievements must come first, because we don't want the pause screen to be behind them. // Primed achievements must come first, because we don't want the pause screen to be behind them.
if (EmuConfig.Achievements.PrimedIndicators && s_current_main_window == MainWindowType::None && if (EmuConfig.Achievements.PrimedIndicators && s_current_main_window == MainWindowType::None &&
Achievements::GetPrimedAchievementCount() > 0) Achievements::GetPrimedAchievementCount() > 0)
{ {
DrawPrimedAchievementsIcons(); DrawPrimedAchievementsIcons();
} }
#endif
switch (s_current_main_window) switch (s_current_main_window)
{ {
@ -850,14 +840,12 @@ void FullscreenUI::Render()
case MainWindowType::PauseMenu: case MainWindowType::PauseMenu:
DrawPauseMenu(s_current_main_window); DrawPauseMenu(s_current_main_window);
break; break;
#ifdef ENABLE_ACHIEVEMENTS
case MainWindowType::Achievements: case MainWindowType::Achievements:
DrawAchievementsWindow(); DrawAchievementsWindow();
break; break;
case MainWindowType::Leaderboards: case MainWindowType::Leaderboards:
DrawLeaderboardsWindow(); DrawLeaderboardsWindow();
break; break;
#endif
default: default:
break; break;
} }
@ -4700,11 +4688,7 @@ void FullscreenUI::DrawPauseMenu(MainWindowType type)
// title info // title info
{ {
#ifdef ENABLE_ACHIEVEMENTS
const bool has_rich_presence = Achievements::IsActive() && !Achievements::GetRichPresenceString().empty(); const bool has_rich_presence = Achievements::IsActive() && !Achievements::GetRichPresenceString().empty();
#else
const bool has_rich_presence = false;
#endif
const float image_width = has_rich_presence ? 60.0f : 50.0f; const float image_width = has_rich_presence ? 60.0f : 50.0f;
const float image_height = has_rich_presence ? 90.0f : 75.0f; const float image_height = has_rich_presence ? 90.0f : 75.0f;
@ -4734,7 +4718,6 @@ void FullscreenUI::DrawPauseMenu(MainWindowType type)
} }
DrawShadowedText(dl, g_medium_font, subtitle_pos, text_color, s_current_game_subtitle.c_str()); DrawShadowedText(dl, g_medium_font, subtitle_pos, text_color, s_current_game_subtitle.c_str());
#ifdef ENABLE_ACHIEVEMENTS
if (has_rich_presence) if (has_rich_presence)
{ {
const auto lock = Achievements::GetLock(); const auto lock = Achievements::GetLock();
@ -4758,7 +4741,6 @@ void FullscreenUI::DrawPauseMenu(MainWindowType type)
DrawShadowedText(dl, g_medium_font, rp_pos, text_color, rp.data(), rp.data() + rp.size(), wrap_width); DrawShadowedText(dl, g_medium_font, rp_pos, text_color, rp.data(), rp.data() + rp.size(), wrap_width);
} }
} }
#endif
GSTexture* const cover = GetCoverForCurrentGame(); GSTexture* const cover = GetCoverForCurrentGame();
@ -4817,9 +4799,7 @@ void FullscreenUI::DrawPauseMenu(MainWindowType type)
static constexpr u32 submenu_item_count[] = { static constexpr u32 submenu_item_count[] = {
11, // None 11, // None
4, // Exit 4, // Exit
#ifdef ENABLE_ACHIEVEMENTS
3, // Achievements 3, // Achievements
#endif
}; };
const bool just_focused = ResetFocusHere(); const bool just_focused = ResetFocusHere();
@ -4862,7 +4842,6 @@ void FullscreenUI::DrawPauseMenu(MainWindowType type)
SwitchToGameSettings(); SwitchToGameSettings();
} }
#ifdef ENABLE_ACHIEVEMENTS
if (ActiveButton(FSUI_ICONSTR(ICON_FA_TROPHY, "Achievements"), false, if (ActiveButton(FSUI_ICONSTR(ICON_FA_TROPHY, "Achievements"), false,
Achievements::HasActiveGame() && Achievements::SafeHasAchievementsOrLeaderboards())) Achievements::HasActiveGame() && Achievements::SafeHasAchievementsOrLeaderboards()))
{ {
@ -4874,9 +4853,6 @@ void FullscreenUI::DrawPauseMenu(MainWindowType type)
else else
OpenPauseSubMenu(PauseSubMenu::Achievements); OpenPauseSubMenu(PauseSubMenu::Achievements);
} }
#else
ActiveButton(FSUI_ICONSTR(ICON_FA_TROPHY, "Achievements"), false, false);
#endif
if (ActiveButton(FSUI_ICONSTR(ICON_FA_CAMERA, "Save Screenshot"), false)) if (ActiveButton(FSUI_ICONSTR(ICON_FA_CAMERA, "Save Screenshot"), false))
{ {
@ -4936,7 +4912,6 @@ void FullscreenUI::DrawPauseMenu(MainWindowType type)
} }
break; break;
#ifdef ENABLE_ACHIEVEMENTS
case PauseSubMenu::Achievements: case PauseSubMenu::Achievements:
{ {
if (just_focused) if (just_focused)
@ -4952,7 +4927,6 @@ void FullscreenUI::DrawPauseMenu(MainWindowType type)
SwitchToLeaderboardsWindow(); SwitchToLeaderboardsWindow();
} }
break; break;
#endif
} }
EndMenuButtons(); EndMenuButtons();
@ -4960,11 +4934,9 @@ void FullscreenUI::DrawPauseMenu(MainWindowType type)
EndFullscreenWindow(); EndFullscreenWindow();
} }
#ifdef ENABLE_ACHIEVEMENTS
// Primed achievements must come first, because we don't want the pause screen to be behind them. // Primed achievements must come first, because we don't want the pause screen to be behind them.
if (Achievements::GetPrimedAchievementCount() > 0) if (Achievements::GetPrimedAchievementCount() > 0)
DrawPrimedAchievementsList(); DrawPrimedAchievementsList();
#endif
} }
void FullscreenUI::InitializePlaceholderSaveStateListEntry(SaveStateListEntry* li, s32 slot) void FullscreenUI::InitializePlaceholderSaveStateListEntry(SaveStateListEntry* li, s32 slot)
@ -6497,8 +6469,6 @@ void FullscreenUI::ProgressCallback::SetCancelled()
m_cancelled = true; m_cancelled = true;
} }
#ifdef ENABLE_ACHIEVEMENTS
void FullscreenUI::OpenAchievementsWindow() void FullscreenUI::OpenAchievementsWindow()
{ {
if (!VMManager::HasValidVM() || !Achievements::IsActive()) if (!VMManager::HasValidVM() || !Achievements::IsActive())
@ -7455,30 +7425,6 @@ void FullscreenUI::DrawAchievementsLoginWindow()
ImGui::PopStyleVar(2); ImGui::PopStyleVar(2);
} }
#else
void FullscreenUI::OpenAchievementsWindow()
{
}
void FullscreenUI::OpenLeaderboardsWindow()
{
}
void FullscreenUI::DrawAchievementsSettingsPage(std::unique_lock<std::mutex>& settings_lock)
{
BeginMenuButtons();
ActiveButton(FSUI_ICONSTR(ICON_FA_BAN, "This build was not compiled with RetroAchievements support."), false, false,
ImGuiFullscreen::LAYOUT_MENU_BUTTON_HEIGHT_NO_SUMMARY);
EndMenuButtons();
}
void FullscreenUI::DrawAchievementsLoginWindow()
{
}
#endif
///////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Translation String Area // Translation String Area
// To avoid having to type T_RANSLATE("FullscreenUI", ...) everywhere, we use the shorter macros at the top // To avoid having to type T_RANSLATE("FullscreenUI", ...) everywhere, we use the shorter macros at the top

View File

@ -1428,8 +1428,6 @@ bool Pcsx2Config::PadOptions::Port::operator!=(const PadOptions::Port& right) co
return !this->operator==(right); return !this->operator==(right);
} }
#ifdef ENABLE_ACHIEVEMENTS
Pcsx2Config::AchievementsOptions::AchievementsOptions() Pcsx2Config::AchievementsOptions::AchievementsOptions()
{ {
Enabled = false; Enabled = false;
@ -1466,8 +1464,6 @@ void Pcsx2Config::AchievementsOptions::LoadSave(SettingsWrapper& wrap)
} }
} }
#endif
Pcsx2Config::Pcsx2Config() Pcsx2Config::Pcsx2Config()
{ {
bitset = 0; bitset = 0;
@ -1549,9 +1545,7 @@ void Pcsx2Config::LoadSaveCore(SettingsWrapper& wrap)
Debugger.LoadSave(wrap); Debugger.LoadSave(wrap);
Trace.LoadSave(wrap); Trace.LoadSave(wrap);
#ifdef ENABLE_ACHIEVEMENTS
Achievements.LoadSave(wrap); Achievements.LoadSave(wrap);
#endif
SettingsWrapEntry(GzipIsoIndexTemplate); SettingsWrapEntry(GzipIsoIndexTemplate);
SettingsWrapEntry(PINESlot); SettingsWrapEntry(PINESlot);

View File

@ -653,7 +653,6 @@ public:
bool IsRequired() const { return true; } bool IsRequired() const { return true; }
}; };
#ifdef ENABLE_ACHIEVEMENTS
class SaveStateEntry_Achievements final : public BaseSavestateEntry class SaveStateEntry_Achievements final : public BaseSavestateEntry
{ {
~SaveStateEntry_Achievements() override = default; ~SaveStateEntry_Achievements() override = default;
@ -694,7 +693,6 @@ class SaveStateEntry_Achievements final : public BaseSavestateEntry
bool IsRequired() const override { return false; } bool IsRequired() const override { return false; }
}; };
#endif
// (cpuRegs, iopRegs, VPU/GIF/DMAC structures should all remain as part of a larger unified // (cpuRegs, iopRegs, VPU/GIF/DMAC structures should all remain as part of a larger unified
// block, since they're all PCSX2-dependent and having separate files in the archie for them // block, since they're all PCSX2-dependent and having separate files in the archie for them
@ -715,9 +713,7 @@ static const std::unique_ptr<BaseSavestateEntry> SavestateEntries[] = {
std::unique_ptr<BaseSavestateEntry>(new SavestateEntry_USB), std::unique_ptr<BaseSavestateEntry>(new SavestateEntry_USB),
std::unique_ptr<BaseSavestateEntry>(new SavestateEntry_PAD), std::unique_ptr<BaseSavestateEntry>(new SavestateEntry_PAD),
std::unique_ptr<BaseSavestateEntry>(new SavestateEntry_GS), std::unique_ptr<BaseSavestateEntry>(new SavestateEntry_GS),
#ifdef ENABLE_ACHIEVEMENTS
std::unique_ptr<BaseSavestateEntry>(new SaveStateEntry_Achievements), std::unique_ptr<BaseSavestateEntry>(new SaveStateEntry_Achievements),
#endif
}; };
std::unique_ptr<ArchiveEntryList> SaveState_DownloadState(Error* error) std::unique_ptr<ArchiveEntryList> SaveState_DownloadState(Error* error)

View File

@ -1186,7 +1186,6 @@ bool VMManager::Initialize(VMBootParameters boot_params)
Hle_ClearElfPath(); Hle_ClearElfPath();
} }
#ifdef ENABLE_ACHIEVEMENTS
// Check for resuming with hardcore mode. // Check for resuming with hardcore mode.
Achievements::ResetChallengeMode(); Achievements::ResetChallengeMode();
if (!state_to_load.empty() && Achievements::ChallengeModeActive() && if (!state_to_load.empty() && Achievements::ChallengeModeActive() &&
@ -1194,7 +1193,6 @@ bool VMManager::Initialize(VMBootParameters boot_params)
{ {
return false; return false;
} }
#endif
s_limiter_mode = GetInitialLimiterMode(); s_limiter_mode = GetInitialLimiterMode();
s_target_speed = GetTargetSpeedForLimiterMode(s_limiter_mode); s_target_speed = GetTargetSpeedForLimiterMode(s_limiter_mode);
@ -1427,14 +1425,12 @@ void VMManager::Reset()
return; return;
} }
#ifdef ENABLE_ACHIEVEMENTS
if (!Achievements::OnReset()) if (!Achievements::OnReset())
return; return;
// Re-enforce hardcode mode constraints if we're now enabling it. // Re-enforce hardcode mode constraints if we're now enabling it.
if (Achievements::ResetChallengeMode()) if (Achievements::ResetChallengeMode())
ApplySettings(); ApplySettings();
#endif
vu1Thread.WaitVU(); vu1Thread.WaitVU();
vu1Thread.Reset(); vu1Thread.Reset();
@ -1694,12 +1690,8 @@ u32 VMManager::DeleteSaveStates(const char* game_serial, u32 game_crc, bool also
bool VMManager::LoadState(const char* filename) bool VMManager::LoadState(const char* filename)
{ {
#ifdef ENABLE_ACHIEVEMENTS
if (Achievements::ChallengeModeActive() && !Achievements::ConfirmChallengeModeDisable("Loading state")) if (Achievements::ChallengeModeActive() && !Achievements::ConfirmChallengeModeDisable("Loading state"))
{
return false; return false;
}
#endif
// TODO: Save the current state so we don't need to reset. // TODO: Save the current state so we don't need to reset.
if (DoLoadState(filename)) if (DoLoadState(filename))
@ -1720,12 +1712,8 @@ bool VMManager::LoadStateFromSlot(s32 slot)
return false; return false;
} }
#ifdef ENABLE_ACHIEVEMENTS
if (Achievements::ChallengeModeActive() && !Achievements::ConfirmChallengeModeDisable("Loading state")) if (Achievements::ChallengeModeActive() && !Achievements::ConfirmChallengeModeDisable("Loading state"))
{
return false; return false;
}
#endif
Host::AddIconOSDMessage("LoadStateFromSlot", ICON_FA_FOLDER_OPEN, Host::AddIconOSDMessage("LoadStateFromSlot", ICON_FA_FOLDER_OPEN,
fmt::format(TRANSLATE_FS("VMManager", "Loading state from slot {}..."), slot), Host::OSD_QUICK_DURATION); fmt::format(TRANSLATE_FS("VMManager", "Loading state from slot {}..."), slot), Host::OSD_QUICK_DURATION);
@ -1912,10 +1900,8 @@ void VMManager::FrameAdvance(u32 num_frames /*= 1*/)
if (!HasValidVM()) if (!HasValidVM())
return; return;
#ifdef ENABLE_ACHIEVEMENTS
if (Achievements::ChallengeModeActive() && !Achievements::ConfirmChallengeModeDisable("Frame advancing")) if (Achievements::ChallengeModeActive() && !Achievements::ConfirmChallengeModeDisable("Frame advancing"))
return; return;
#endif
s_frame_advance_count = num_frames; s_frame_advance_count = num_frames;
SetState(VMState::Running); SetState(VMState::Running);

View File

@ -64,7 +64,7 @@
<PrecompiledHeader>Use</PrecompiledHeader> <PrecompiledHeader>Use</PrecompiledHeader>
<PrecompiledHeaderFile>PrecompiledHeader.h</PrecompiledHeaderFile> <PrecompiledHeaderFile>PrecompiledHeader.h</PrecompiledHeaderFile>
<ForcedIncludeFiles>PrecompiledHeader.h;%(ForcedIncludeFiles)</ForcedIncludeFiles> <ForcedIncludeFiles>PrecompiledHeader.h;%(ForcedIncludeFiles)</ForcedIncludeFiles>
<PreprocessorDefinitions>LZMA_API_STATIC;ST_NO_EXCEPTION_HANDLING;ENABLE_DISCORD_PRESENCE;ENABLE_RAINTEGRATION;ENABLE_ACHIEVEMENTS;ENABLE_OPENGL;ENABLE_VULKAN;%(PreprocessorDefinitions)</PreprocessorDefinitions> <PreprocessorDefinitions>LZMA_API_STATIC;ST_NO_EXCEPTION_HANDLING;ENABLE_DISCORD_PRESENCE;ENABLE_RAINTEGRATION;ENABLE_OPENGL;ENABLE_VULKAN;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Platform)'=='x64'">XBYAK_NO_EXCEPTION;ZYCORE_STATIC_DEFINE;ZYDIS_STATIC_DEFINE;%(PreprocessorDefinitions)</PreprocessorDefinitions> <PreprocessorDefinitions Condition="'$(Platform)'=='x64'">XBYAK_NO_EXCEPTION;ZYCORE_STATIC_DEFINE;ZYDIS_STATIC_DEFINE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ObjectFileName>$(IntDir)%(RelativeDir)</ObjectFileName> <ObjectFileName>$(IntDir)%(RelativeDir)</ObjectFileName>
</ClCompile> </ClCompile>