From 6456bccebebeebbe2228c42b81cb3500de2c446d Mon Sep 17 00:00:00 2001 From: Vantha Date: Fri, 20 Mar 2026 11:32:36 +0100 Subject: [PATCH] Replace old GetState and SetState calls 966727b52e made the player state an enum and introduced more descriptive functions to achieve the same thing, but it seems they were forgotten to be replaced in a few places, which this patch fixes. --- .../public/maps/scenarios/unit_dancing_test_triggers.js | 3 +-- .../data/mods/public/maps/scenarios/unit_pushing_test.js | 3 +-- binaries/data/mods/public/maps/scripts/CaptureTheRelic.js | 2 +- binaries/data/mods/public/maps/scripts/ConquestCommon.js | 2 +- binaries/data/mods/public/maps/scripts/TriggerHelper.js | 2 +- binaries/data/mods/public/maps/scripts/WonderVictory.js | 2 +- source/ps/Game.cpp | 2 +- source/simulation2/components/ICmpPlayer.cpp | 6 +++--- source/simulation2/components/ICmpPlayer.h | 4 ++-- 9 files changed, 12 insertions(+), 14 deletions(-) diff --git a/binaries/data/mods/public/maps/scenarios/unit_dancing_test_triggers.js b/binaries/data/mods/public/maps/scenarios/unit_dancing_test_triggers.js index 30555755a9..2c72622fef 100644 --- a/binaries/data/mods/public/maps/scenarios/unit_dancing_test_triggers.js +++ b/binaries/data/mods/public/maps/scenarios/unit_dancing_test_triggers.js @@ -370,8 +370,7 @@ Trigger.prototype.RemoveSpread = function() Trigger.prototype.EndGame = function() { - Engine.QueryInterface(3, IID_Player).SetState("defeated", "trigger"); - Engine.QueryInterface(4, IID_Player).SetState("won", "trigger"); + TriggerHelper.SetPlayerWon(3, "trigger", "trigger"); }; var cmpModifiersManager = Engine.QueryInterface(SYSTEM_ENTITY, IID_ModifiersManager); diff --git a/binaries/data/mods/public/maps/scenarios/unit_pushing_test.js b/binaries/data/mods/public/maps/scenarios/unit_pushing_test.js index d54259b71c..37e5b25bf1 100644 --- a/binaries/data/mods/public/maps/scenarios/unit_pushing_test.js +++ b/binaries/data/mods/public/maps/scenarios/unit_pushing_test.js @@ -433,8 +433,7 @@ Trigger.prototype.RunExperiment = function(data) Trigger.prototype.EndGame = function() { - Engine.QueryInterface(4, IID_Player).SetState("defeated", "trigger"); - Engine.QueryInterface(3, IID_Player).SetState("won", "trigger"); + TriggerHelper.SetPlayerWon(3, "trigger", "trigger"); }; /* diff --git a/binaries/data/mods/public/maps/scripts/CaptureTheRelic.js b/binaries/data/mods/public/maps/scripts/CaptureTheRelic.js index 3d43942481..d6cb8516dc 100644 --- a/binaries/data/mods/public/maps/scripts/CaptureTheRelic.js +++ b/binaries/data/mods/public/maps/scripts/CaptureTheRelic.js @@ -119,7 +119,7 @@ Trigger.prototype.StartCaptureTheRelicCountdown = function(winningPlayers) for (let playerID = 1; playerID < TriggerHelper.GetNumberOfPlayers(); ++playerID) { const cmpPlayer = QueryPlayerIDInterface(playerID); - if (cmpPlayer.GetState() == "won") + if (cmpPlayer.HasWon()) return; if (winningPlayers.indexOf(playerID) == -1) diff --git a/binaries/data/mods/public/maps/scripts/ConquestCommon.js b/binaries/data/mods/public/maps/scripts/ConquestCommon.js index a4d1a191e7..a35dbf599c 100644 --- a/binaries/data/mods/public/maps/scripts/ConquestCommon.js +++ b/binaries/data/mods/public/maps/scripts/ConquestCommon.js @@ -23,7 +23,7 @@ Trigger.prototype.ConquestOwnershipChanged = function(msg) { const cmpPlayer = QueryPlayerIDInterface(msg.from); if (cmpPlayer) - cmpPlayer.SetState("defeated", query.defeatReason); + cmpPlayer.Defeat(query.defeatReason); } } }; diff --git a/binaries/data/mods/public/maps/scripts/TriggerHelper.js b/binaries/data/mods/public/maps/scripts/TriggerHelper.js index 2e01c129e0..23ba75f3cc 100644 --- a/binaries/data/mods/public/maps/scripts/TriggerHelper.js +++ b/binaries/data/mods/public/maps/scripts/TriggerHelper.js @@ -315,7 +315,7 @@ TriggerHelper.DefeatPlayer = function(playerID, defeatReason) { const cmpPlayer = QueryPlayerIDInterface(playerID); if (cmpPlayer) - cmpPlayer.SetState("defeated", defeatReason); + cmpPlayer.Defeat(defeatReason); }; /** diff --git a/binaries/data/mods/public/maps/scripts/WonderVictory.js b/binaries/data/mods/public/maps/scripts/WonderVictory.js index 7ca615412c..3c9ca8824b 100644 --- a/binaries/data/mods/public/maps/scripts/WonderVictory.js +++ b/binaries/data/mods/public/maps/scripts/WonderVictory.js @@ -59,7 +59,7 @@ Trigger.prototype.WonderVictoryStartTimer = function(ent, player) for (let playerID = 1; playerID < TriggerHelper.GetNumberOfPlayers(); ++playerID) { const cmpPlayer = QueryPlayerIDInterface(playerID); - if (cmpPlayer.GetState() == "won") + if (cmpPlayer.HasWon()) return; if (allies.indexOf(playerID) == -1 && playerID != player) others.push(playerID); diff --git a/source/ps/Game.cpp b/source/ps/Game.cpp index 149e2bbd73..5c360a9258 100644 --- a/source/ps/Game.cpp +++ b/source/ps/Game.cpp @@ -495,7 +495,7 @@ bool CGame::IsGameFinished() const for (const std::pair& p : m_Simulation2->GetEntitiesWithInterface(IID_Player)) { CmpPtr cmpPlayer(*m_Simulation2, p.first); - if (cmpPlayer && cmpPlayer->GetState() == "won") + if (cmpPlayer && cmpPlayer->HasWon()) return true; } diff --git a/source/simulation2/components/ICmpPlayer.cpp b/source/simulation2/components/ICmpPlayer.cpp index 4e66deb998..1d4ee21959 100644 --- a/source/simulation2/components/ICmpPlayer.cpp +++ b/source/simulation2/components/ICmpPlayer.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2025 Wildfire Games. +/* Copyright (C) 2026 Wildfire Games. * This file is part of 0 A.D. * * 0 A.D. is free software: you can redistribute it and/or modify @@ -88,9 +88,9 @@ public: return m_Script.Call("HasStartingCamera"); } - std::string GetState() override + bool HasWon() override { - return m_Script.Call("GetState"); + return m_Script.Call("HasWon"); } bool IsRemoved() override diff --git a/source/simulation2/components/ICmpPlayer.h b/source/simulation2/components/ICmpPlayer.h index 2b55fe9f11..ee0f2f6616 100644 --- a/source/simulation2/components/ICmpPlayer.h +++ b/source/simulation2/components/ICmpPlayer.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2025 Wildfire Games. +/* Copyright (C) 2026 Wildfire Games. * This file is part of 0 A.D. * * 0 A.D. is free software: you can redistribute it and/or modify @@ -42,7 +42,7 @@ public: virtual bool HasStartingCamera() = 0; virtual bool IsRemoved() = 0; - virtual std::string GetState() = 0; + virtual bool HasWon() = 0; // See the cpp file for why this is implemented in C++. virtual bool IsActive() = 0;