mirror of
https://github.com/hrydgard/ppsspp.git
synced 2025-04-02 11:01:50 -04:00
Add setting to enable unofficial achievements
This commit is contained in:
parent
18e6da2e3d
commit
0889e7cf3e
6 changed files with 22 additions and 3 deletions
|
@ -269,6 +269,7 @@ static const ConfigSetting achievementSettings[] = {
|
||||||
ConfigSetting("AchievementsRichPresence", &g_Config.bAchievementsRichPresence, true, CfgFlag::DEFAULT),
|
ConfigSetting("AchievementsRichPresence", &g_Config.bAchievementsRichPresence, true, CfgFlag::DEFAULT),
|
||||||
ConfigSetting("AchievementsChallengeMode", &g_Config.bAchievementsChallengeMode, false, CfgFlag::DEFAULT),
|
ConfigSetting("AchievementsChallengeMode", &g_Config.bAchievementsChallengeMode, false, CfgFlag::DEFAULT),
|
||||||
ConfigSetting("AchievementsEncoreMode", &g_Config.bAchievementsEncoreMode, false, CfgFlag::DEFAULT),
|
ConfigSetting("AchievementsEncoreMode", &g_Config.bAchievementsEncoreMode, false, CfgFlag::DEFAULT),
|
||||||
|
ConfigSetting("AchievementsUnofficial", &g_Config.bAchievementsUnofficial, false, CfgFlag::DEFAULT),
|
||||||
ConfigSetting("AchievementsSoundEffects", &g_Config.bAchievementsSoundEffects, true, CfgFlag::DEFAULT),
|
ConfigSetting("AchievementsSoundEffects", &g_Config.bAchievementsSoundEffects, true, CfgFlag::DEFAULT),
|
||||||
ConfigSetting("AchievementsLogBadMemReads", &g_Config.bAchievementsLogBadMemReads, false, CfgFlag::DEFAULT),
|
ConfigSetting("AchievementsLogBadMemReads", &g_Config.bAchievementsLogBadMemReads, false, CfgFlag::DEFAULT),
|
||||||
|
|
||||||
|
|
|
@ -491,6 +491,7 @@ public:
|
||||||
bool bAchievementsRichPresence;
|
bool bAchievementsRichPresence;
|
||||||
bool bAchievementsChallengeMode;
|
bool bAchievementsChallengeMode;
|
||||||
bool bAchievementsEncoreMode;
|
bool bAchievementsEncoreMode;
|
||||||
|
bool bAchievementsUnofficial;
|
||||||
bool bAchievementsSoundEffects;
|
bool bAchievementsSoundEffects;
|
||||||
bool bAchievementsLogBadMemReads;
|
bool bAchievementsLogBadMemReads;
|
||||||
|
|
||||||
|
|
|
@ -130,6 +130,13 @@ bool EncoreModeActive() {
|
||||||
return rc_client_get_encore_mode_enabled(g_rcClient);
|
return rc_client_get_encore_mode_enabled(g_rcClient);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool UnofficialEnabled() {
|
||||||
|
if (!g_rcClient) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return rc_client_get_unofficial_enabled(g_rcClient);
|
||||||
|
}
|
||||||
|
|
||||||
bool IsActive() {
|
bool IsActive() {
|
||||||
return GetGameID() != 0;
|
return GetGameID() != 0;
|
||||||
}
|
}
|
||||||
|
@ -593,6 +600,7 @@ void SetGame(const Path &path) {
|
||||||
|
|
||||||
// Apply pre-load settings.
|
// Apply pre-load settings.
|
||||||
rc_client_set_encore_mode_enabled(g_rcClient, g_Config.bAchievementsEncoreMode ? 1 : 0);
|
rc_client_set_encore_mode_enabled(g_rcClient, g_Config.bAchievementsEncoreMode ? 1 : 0);
|
||||||
|
rc_client_set_unofficial_enabled(g_rcClient, g_Config.bAchievementsUnofficial ? 1 : 0);
|
||||||
|
|
||||||
rc_hash_init_custom_filereader(&rc_filereader);
|
rc_hash_init_custom_filereader(&rc_filereader);
|
||||||
rc_hash_init_default_cdreader();
|
rc_hash_init_default_cdreader();
|
||||||
|
|
|
@ -57,6 +57,9 @@ bool IsBlockingExecution();
|
||||||
/// Returns true if features such as save states should be disabled.
|
/// Returns true if features such as save states should be disabled.
|
||||||
bool ChallengeModeActive();
|
bool ChallengeModeActive();
|
||||||
|
|
||||||
|
// Returns true if unofficial achievements are enabled.
|
||||||
|
bool UnofficialEnabled();
|
||||||
|
|
||||||
// The new API is so much nicer that we can use it directly instead of wrapping it. So let's expose the client.
|
// The new API is so much nicer that we can use it directly instead of wrapping it. So let's expose the client.
|
||||||
// Will of course return nullptr if not active.
|
// Will of course return nullptr if not active.
|
||||||
rc_client_t *GetClient();
|
rc_client_t *GetClient();
|
||||||
|
|
|
@ -32,8 +32,13 @@ void RetroAchievementsListScreen::CreateAchievementsTab(UI::ViewGroup *achieveme
|
||||||
|
|
||||||
using namespace UI;
|
using namespace UI;
|
||||||
|
|
||||||
|
int filter = RC_CLIENT_ACHIEVEMENT_CATEGORY_CORE;
|
||||||
|
if (Achievements::UnofficialEnabled()) {
|
||||||
|
filter = RC_CLIENT_ACHIEVEMENT_CATEGORY_CORE_AND_UNOFFICIAL;
|
||||||
|
}
|
||||||
|
|
||||||
rc_client_achievement_list_t *list = rc_client_create_achievement_list(Achievements::GetClient(),
|
rc_client_achievement_list_t *list = rc_client_create_achievement_list(Achievements::GetClient(),
|
||||||
RC_CLIENT_ACHIEVEMENT_CATEGORY_CORE_AND_UNOFFICIAL, RC_CLIENT_ACHIEVEMENT_LIST_GROUPING_LOCK_STATE);
|
filter, RC_CLIENT_ACHIEVEMENT_LIST_GROUPING_LOCK_STATE);
|
||||||
|
|
||||||
std::vector<const rc_client_achievement_t *> unlockedAchievements;
|
std::vector<const rc_client_achievement_t *> unlockedAchievements;
|
||||||
std::vector<const rc_client_achievement_t *> lockedAchievements;
|
std::vector<const rc_client_achievement_t *> lockedAchievements;
|
||||||
|
@ -269,8 +274,9 @@ void RetroAchievementsSettingsScreen::CreateSettingsTab(UI::ViewGroup *viewGroup
|
||||||
});
|
});
|
||||||
viewGroup->Add(new CheckBox(&g_Config.bAchievementsChallengeMode, ac->T("Challenge Mode (no savestates)")));
|
viewGroup->Add(new CheckBox(&g_Config.bAchievementsChallengeMode, ac->T("Challenge Mode (no savestates)")));
|
||||||
viewGroup->Add(new CheckBox(&g_Config.bAchievementsEncoreMode, ac->T("Encore Mode")));
|
viewGroup->Add(new CheckBox(&g_Config.bAchievementsEncoreMode, ac->T("Encore Mode")));
|
||||||
|
viewGroup->Add(new CheckBox(&g_Config.bAchievementsUnofficial, ac->T("Unofficial achievements")));
|
||||||
viewGroup->Add(new CheckBox(&g_Config.bAchievementsRichPresence, ac->T("Rich Presence")))->SetEnabledPtr(&g_Config.bAchievementsEnable);
|
viewGroup->Add(new CheckBox(&g_Config.bAchievementsRichPresence, ac->T("Rich Presence")))->SetEnabledPtr(&g_Config.bAchievementsEnable);
|
||||||
viewGroup->Add(new CheckBox(&g_Config.bAchievementsSoundEffects, ac->T("Sound Effects")))->SetEnabledPtr(&g_Config.bAchievementsEnable); // not yet implemented
|
// viewGroup->Add(new CheckBox(&g_Config.bAchievementsSoundEffects, ac->T("Sound Effects")))->SetEnabledPtr(&g_Config.bAchievementsEnable); // not yet implemented
|
||||||
viewGroup->Add(new CheckBox(&g_Config.bAchievementsLogBadMemReads, ac->T("Log bad memory accesses")))->SetEnabledPtr(&g_Config.bAchievementsEnable);
|
viewGroup->Add(new CheckBox(&g_Config.bAchievementsLogBadMemReads, ac->T("Log bad memory accesses")))->SetEnabledPtr(&g_Config.bAchievementsEnable);
|
||||||
|
|
||||||
// TODO: What are these for?
|
// TODO: What are these for?
|
||||||
|
|
|
@ -53,7 +53,7 @@ Syncing achievements data... = Syncing achievements data...
|
||||||
Test Mode = Test Mode
|
Test Mode = Test Mode
|
||||||
This game has no achievements = This game has no achievements
|
This game has no achievements = This game has no achievements
|
||||||
Unlocked achievements = Unlocked achievements
|
Unlocked achievements = Unlocked achievements
|
||||||
Unofficial = Unofficial
|
Unofficial achievements = Unofficial achievements
|
||||||
|
|
||||||
[Audio]
|
[Audio]
|
||||||
Alternate speed volume = Alternate speed volume
|
Alternate speed volume = Alternate speed volume
|
||||||
|
|
Loading…
Add table
Reference in a new issue