[Scummvm-git-logs] scummvm master -> 24048d0ae7cccfd5f494bea29801faa3a306097b

criezy criezy at scummvm.org
Wed Apr 7 00:41:24 UTC 2021


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
24048d0ae7 AGS: Fix gettint achievements in ags_galaxy_steam plugin


Commit: 24048d0ae7cccfd5f494bea29801faa3a306097b
    https://github.com/scummvm/scummvm/commit/24048d0ae7cccfd5f494bea29801faa3a306097b
Author: Thierry Crozat (criezy at scummvm.org)
Date: 2021-04-07T01:38:21+01:00

Commit Message:
AGS: Fix gettint achievements in ags_galaxy_steam plugin

The MetaEngine getAchivements function takes the game target
as argument, but the plugin was passing the game id instead,
If they were different, this resulted in a "ConfigManager::get
called on non-existent domain" error.

Changed paths:
    engines/ags/plugins/ags_galaxy_steam/ags_galaxy_steam.cpp


diff --git a/engines/ags/plugins/ags_galaxy_steam/ags_galaxy_steam.cpp b/engines/ags/plugins/ags_galaxy_steam/ags_galaxy_steam.cpp
index e479479009..815f38ad91 100644
--- a/engines/ags/plugins/ags_galaxy_steam/ags_galaxy_steam.cpp
+++ b/engines/ags/plugins/ags_galaxy_steam/ags_galaxy_steam.cpp
@@ -23,6 +23,7 @@
 #include "ags/metaengine.h"
 #include "ags/ags.h"
 #include "ags/plugins/ags_galaxy_steam/ags_galaxy_steam.h"
+#include "common/config-manager.h"
 
 namespace AGS3 {
 namespace Plugins {
@@ -168,8 +169,9 @@ void AGSGalaxy::AGS_EngineStartup(IAGSEngine *engine) {
 	SCRIPT_METHOD_EXT(AGSGalaxy::GetCurrentGameLanguage^0, GetCurrentGameLanguage);
 	SCRIPT_METHOD_EXT(AGSGalaxy::Initialize^2, Initialize);
 
+	Common::String gameTarget = ConfMan.getActiveDomainName();
 	const MetaEngine *meta = ::AGS::g_vm->getMetaEngine();
-	Common::AchievementsInfo achievementsInfo = meta->getAchievementsInfo(::AGS::g_vm->getGameId());
+	Common::AchievementsInfo achievementsInfo = meta->getAchievementsInfo(gameTarget);
 	const Common::String target = achievementsInfo.appId;
 	if (!target.empty()) {
 		AchMan.setActiveDomain(Common::GALAXY_ACHIEVEMENTS, target);
@@ -187,8 +189,9 @@ void AGSGalaxy::IsAchievementAchieved(ScriptMethodParams &params) {
 void AGSGalaxy::SetAchievementAchieved(ScriptMethodParams &params) {
 	PARAMS1(char *, id);
 
+	Common::String gameTarget = ConfMan.getActiveDomainName();
 	const MetaEngine *meta = ::AGS::g_vm->getMetaEngine();
-	Common::AchievementsInfo achievementsInfo = meta->getAchievementsInfo(::AGS::g_vm->getGameId());
+	Common::AchievementsInfo achievementsInfo = meta->getAchievementsInfo(gameTarget);
 
 	Common::String msg = id;
 	for (uint32 i = 0; i < achievementsInfo.descriptions.size(); i++) {
@@ -304,8 +307,9 @@ void AGSSteam::AGS_EngineStartup(IAGSEngine *engine) {
 	SCRIPT_METHOD_EXT(AGSteam::GetCurrentGameLanguage^0, GetCurrentGameLanguage);
 	SCRIPT_METHOD_EXT(AGSteam::FindLeaderboard^1, FindLeaderboard);
 
+	Common::String gameTarget = ConfMan.getActiveDomainName();
 	const MetaEngine *meta = ::AGS::g_vm->getMetaEngine();
-	Common::AchievementsInfo achievementsInfo = meta->getAchievementsInfo(::AGS::g_vm->getGameId());
+	Common::AchievementsInfo achievementsInfo = meta->getAchievementsInfo(gameTarget);
 	const Common::String target = achievementsInfo.appId;
 	if (!target.empty()) {
 		AchMan.setActiveDomain(Common::STEAM_ACHIEVEMENTS, target);
@@ -323,8 +327,9 @@ void AGSSteam::IsAchievementAchieved(ScriptMethodParams &params) {
 void AGSSteam::SetAchievementAchieved(ScriptMethodParams &params) {
 	PARAMS1(char *, id);
 
+	Common::String gameTarget = ConfMan.getActiveDomainName();
 	const MetaEngine *meta = ::AGS::g_vm->getMetaEngine();
-	Common::AchievementsInfo achievementsInfo = meta->getAchievementsInfo(::AGS::g_vm->getGameId());
+	Common::AchievementsInfo achievementsInfo = meta->getAchievementsInfo(gameTarget);
 
 	Common::String msg = id;
 	for (uint32 i = 0; i < achievementsInfo.descriptions.size(); i++) {




More information about the Scummvm-git-logs mailing list