From 1725e495f8a8b5ae9e0f7c248b6734bb20ed1f49 Mon Sep 17 00:00:00 2001 From: Bobby Battista Date: Sun, 11 Jan 2026 16:32:46 -0500 Subject: [PATCH 01/13] fix(scriptengine): Fix 'fames' typo to 'frames' in camera fade UI strings --- .../Source/GameLogic/ScriptEngine/ScriptEngine.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/ScriptEngine/ScriptEngine.cpp b/GeneralsMD/Code/GameEngine/Source/GameLogic/ScriptEngine/ScriptEngine.cpp index 1afe8e19c1e..216eb9f3788 100644 --- a/GeneralsMD/Code/GameEngine/Source/GameLogic/ScriptEngine/ScriptEngine.cpp +++ b/GeneralsMD/Code/GameEngine/Source/GameLogic/ScriptEngine/ScriptEngine.cpp @@ -1057,7 +1057,7 @@ void ScriptEngine::init( void ) curTemplate->m_uiStrings[1] = " to "; curTemplate->m_uiStrings[2] = " adding toward white. Take "; curTemplate->m_uiStrings[3] = " frames to increase, hold for "; - curTemplate->m_uiStrings[4] = " fames, and decrease "; + curTemplate->m_uiStrings[4] = " frames, and decrease "; curTemplate->m_uiStrings[5] = " frames."; curTemplate = &m_actionTemplates[ScriptAction::CAMERA_FADE_SUBTRACT]; @@ -1074,7 +1074,7 @@ void ScriptEngine::init( void ) curTemplate->m_uiStrings[1] = " to "; curTemplate->m_uiStrings[2] = " subtracting toward black. Take "; curTemplate->m_uiStrings[3] = " frames to increase, hold for "; - curTemplate->m_uiStrings[4] = " fames, and decrease "; + curTemplate->m_uiStrings[4] = " frames, and decrease "; curTemplate->m_uiStrings[5] = " frames."; curTemplate = &m_actionTemplates[ScriptAction::CAMERA_FADE_MULTIPLY]; @@ -1091,7 +1091,7 @@ void ScriptEngine::init( void ) curTemplate->m_uiStrings[1] = " to "; curTemplate->m_uiStrings[2] = " multiplying toward black. Take "; curTemplate->m_uiStrings[3] = " frames to increase, hold for "; - curTemplate->m_uiStrings[4] = " fames, and decrease "; + curTemplate->m_uiStrings[4] = " frames, and decrease "; curTemplate->m_uiStrings[5] = " frames."; curTemplate = &m_actionTemplates[ScriptAction::CAMERA_FADE_SATURATE]; @@ -1108,7 +1108,7 @@ void ScriptEngine::init( void ) curTemplate->m_uiStrings[1] = " to "; curTemplate->m_uiStrings[2] = " increasing saturation. Take "; curTemplate->m_uiStrings[3] = " frames to increase, hold for "; - curTemplate->m_uiStrings[4] = " fames, and decrease "; + curTemplate->m_uiStrings[4] = " frames, and decrease "; curTemplate->m_uiStrings[5] = " frames."; curTemplate = &m_actionTemplates[ScriptAction::PITCH_CAMERA]; From 086b096a096d09752c1e707f946d87909800c037 Mon Sep 17 00:00:00 2001 From: Bobby Battista Date: Sun, 11 Jan 2026 16:59:34 -0500 Subject: [PATCH 02/13] fix(scriptengine): Fix typos in UI strings (its, supply source, grammar) --- .../Source/GameLogic/ScriptEngine/ScriptEngine.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/ScriptEngine/ScriptEngine.cpp b/GeneralsMD/Code/GameEngine/Source/GameLogic/ScriptEngine/ScriptEngine.cpp index 216eb9f3788..3458455b066 100644 --- a/GeneralsMD/Code/GameEngine/Source/GameLogic/ScriptEngine/ScriptEngine.cpp +++ b/GeneralsMD/Code/GameEngine/Source/GameLogic/ScriptEngine/ScriptEngine.cpp @@ -816,7 +816,7 @@ void ScriptEngine::init( void ) curTemplate->m_parameters[0] = Parameter::TEAM; curTemplate->m_numUiStrings = 2; curTemplate->m_uiStrings[0] = "Have "; - curTemplate->m_uiStrings[1] = " wander around it's current location."; + curTemplate->m_uiStrings[1] = " wander around its current location."; curTemplate = &m_actionTemplates[ScriptAction::TEAM_INCREASE_PRIORITY]; curTemplate->m_internalName = "TEAM_INCREASE_PRIORITY"; @@ -908,7 +908,7 @@ void ScriptEngine::init( void ) curTemplate->m_numUiStrings = 4; curTemplate->m_uiStrings[0] = "Have AI "; curTemplate->m_uiStrings[1] = " build a "; - curTemplate->m_uiStrings[2] = " near a supply src with at least "; + curTemplate->m_uiStrings[2] = " near a supply source with at least "; curTemplate->m_uiStrings[3] = " available resources."; curTemplate = &m_actionTemplates[ScriptAction::AI_PLAYER_BUILD_TYPE_NEAREST_TEAM]; @@ -932,7 +932,7 @@ void ScriptEngine::init( void ) curTemplate->m_parameters[1] = Parameter::INT; curTemplate->m_numUiStrings = 3; curTemplate->m_uiStrings[0] = "Have Team "; - curTemplate->m_uiStrings[1] = " guard attacked or closest supply src with at least "; + curTemplate->m_uiStrings[1] = " guard attacked or closest supply source with at least "; curTemplate->m_uiStrings[2] = " available resources"; curTemplate = &m_actionTemplates[ScriptAction::AI_PLAYER_BUILD_UPGRADE]; @@ -5160,7 +5160,7 @@ void ScriptEngine::init( void ) curTemplate->m_parameters[1] = Parameter::TRIGGER_AREA; curTemplate->m_numUiStrings = 3; curTemplate->m_uiStrings[0] = " "; - curTemplate->m_uiStrings[1] = " has doesn't have units in "; + curTemplate->m_uiStrings[1] = " doesn't have units in "; curTemplate->m_uiStrings[2] = "."; curTemplate = &m_conditionTemplates[Condition::SKIRMISH_PLAYER_HAS_DISCOVERED_PLAYER]; @@ -5194,7 +5194,7 @@ void ScriptEngine::init( void ) curTemplate->m_parameters[1] = Parameter::INT; curTemplate->m_numUiStrings = 3; curTemplate->m_uiStrings[0] = " "; - curTemplate->m_uiStrings[1] = " closest supply src with at least "; + curTemplate->m_uiStrings[1] = " closest supply source with at least "; curTemplate->m_uiStrings[2] = " available resources is SAFE from enemy influence."; curTemplate = &m_conditionTemplates[Condition::SUPPLY_SOURCE_ATTACKED]; From a39ac58cbefccd5f2f9185897cb68ae60fec69e5 Mon Sep 17 00:00:00 2001 From: Bobby Battista Date: Sun, 11 Jan 2026 17:28:12 -0500 Subject: [PATCH 03/13] fix(scriptengine): Fix 'the the' typo and duplicate array index bug --- .../Source/GameLogic/ScriptEngine/ScriptEngine.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/ScriptEngine/ScriptEngine.cpp b/GeneralsMD/Code/GameEngine/Source/GameLogic/ScriptEngine/ScriptEngine.cpp index 3458455b066..cd9a3324050 100644 --- a/GeneralsMD/Code/GameEngine/Source/GameLogic/ScriptEngine/ScriptEngine.cpp +++ b/GeneralsMD/Code/GameEngine/Source/GameLogic/ScriptEngine/ScriptEngine.cpp @@ -1582,7 +1582,7 @@ void ScriptEngine::init( void ) curTemplate->m_numUiStrings = 3; curTemplate->m_uiStrings[0] = " "; curTemplate->m_uiStrings[1] = " will delay "; - curTemplate->m_uiStrings[1] = " seconds between building teams."; + curTemplate->m_uiStrings[2] = " seconds between building teams."; curTemplate = &m_actionTemplates[ScriptAction::NAMED_SET_ATTITUDE]; curTemplate->m_internalName = "NAMED_SET_ATTITUDE"; @@ -2935,7 +2935,7 @@ void ScriptEngine::init( void ) curTemplate->m_uiStrings[0] = " "; curTemplate->m_uiStrings[1] = " considers "; curTemplate->m_uiStrings[2] = " to be "; - curTemplate->m_uiStrings[3] = " (rather than using the the player relationship)."; + curTemplate->m_uiStrings[3] = " (rather than using the player relationship)."; curTemplate = &m_actionTemplates[ScriptAction::TEAM_REMOVE_OVERRIDE_RELATION_TO_TEAM]; curTemplate->m_internalName = "TEAM_REMOVE_OVERRIDE_RELATION_TO_TEAM"; @@ -3055,7 +3055,7 @@ void ScriptEngine::init( void ) curTemplate->m_uiStrings[0] = " "; curTemplate->m_uiStrings[1] = " considers "; curTemplate->m_uiStrings[2] = " to be "; - curTemplate->m_uiStrings[3] = " (rather than using the the player relationship)."; + curTemplate->m_uiStrings[3] = " (rather than using the player relationship)."; curTemplate = &m_actionTemplates[ScriptAction::TEAM_REMOVE_OVERRIDE_RELATION_TO_PLAYER]; curTemplate->m_internalName = "TEAM_REMOVE_OVERRIDE_RELATION_TO_PLAYER"; @@ -3078,7 +3078,7 @@ void ScriptEngine::init( void ) curTemplate->m_uiStrings[0] = " "; curTemplate->m_uiStrings[1] = " considers "; curTemplate->m_uiStrings[2] = " to be "; - curTemplate->m_uiStrings[3] = " (rather than using the the player relationship)."; + curTemplate->m_uiStrings[3] = " (rather than using the player relationship)."; curTemplate = &m_actionTemplates[ScriptAction::PLAYER_REMOVE_OVERRIDE_RELATION_TO_TEAM]; curTemplate->m_internalName = "PLAYER_REMOVE_OVERRIDE_RELATION_TO_TEAM"; From 6edd93b19bee322df4a739ee758e16722f784977 Mon Sep 17 00:00:00 2001 From: Bobby Battista Date: Sun, 11 Jan 2026 17:34:23 -0500 Subject: [PATCH 04/13] fix(scriptengine): Fix 'Announce lose' to 'Announce loss' (noun form) --- .../GameEngine/Source/GameLogic/ScriptEngine/ScriptEngine.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/ScriptEngine/ScriptEngine.cpp b/GeneralsMD/Code/GameEngine/Source/GameLogic/ScriptEngine/ScriptEngine.cpp index cd9a3324050..e7efd560ce3 100644 --- a/GeneralsMD/Code/GameEngine/Source/GameLogic/ScriptEngine/ScriptEngine.cpp +++ b/GeneralsMD/Code/GameEngine/Source/GameLogic/ScriptEngine/ScriptEngine.cpp @@ -664,10 +664,10 @@ void ScriptEngine::init( void ) curTemplate = &m_actionTemplates[ScriptAction::DEFEAT]; curTemplate->m_internalName = "DEFEAT"; - curTemplate->m_uiName = "User_/ Announce lose"; + curTemplate->m_uiName = "User_/ Announce loss"; curTemplate->m_numParameters = 0; curTemplate->m_numUiStrings = 1; - curTemplate->m_uiStrings[0] = "Announce lose."; + curTemplate->m_uiStrings[0] = "Announce loss."; curTemplate = &m_actionTemplates[ScriptAction::NO_OP]; curTemplate->m_internalName = "NO_OP"; From 7b8288fec3126bedf7446c09a3286f451111387f Mon Sep 17 00:00:00 2001 From: Bobby Battista Date: Sun, 11 Jan 2026 17:55:43 -0500 Subject: [PATCH 05/13] fix(scriptengine): Fix double space, 'emtpy' typo, and clarify 'non-singleton' comments --- .../Source/GameLogic/ScriptEngine/ScriptEngine.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/ScriptEngine/ScriptEngine.cpp b/GeneralsMD/Code/GameEngine/Source/GameLogic/ScriptEngine/ScriptEngine.cpp index e7efd560ce3..59d6bd774c6 100644 --- a/GeneralsMD/Code/GameEngine/Source/GameLogic/ScriptEngine/ScriptEngine.cpp +++ b/GeneralsMD/Code/GameEngine/Source/GameLogic/ScriptEngine/ScriptEngine.cpp @@ -2182,7 +2182,7 @@ void ScriptEngine::init( void ) curTemplate = &m_actionTemplates[ScriptAction::OBJECT_CREATE_RADAR_EVENT]; curTemplate->m_internalName = "OBJECT_CREATE_RADAR_EVENT"; - curTemplate->m_uiName = "Radar_/Create Event/Create a radar event at a specific object."; + curTemplate->m_uiName = "Radar_/Create Event/Create a radar event at a specific object."; curTemplate->m_numParameters = 2; curTemplate->m_parameters[0] = Parameter::UNIT; curTemplate->m_parameters[1] = Parameter::RADAR_EVENT_TYPE; @@ -2192,7 +2192,7 @@ void ScriptEngine::init( void ) curTemplate = &m_actionTemplates[ScriptAction::TEAM_CREATE_RADAR_EVENT]; curTemplate->m_internalName = "TEAM_CREATE_RADAR_EVENT"; - curTemplate->m_uiName = "Radar_/Create Event/Create a radar event at a specific team."; + curTemplate->m_uiName = "Radar_/Create Event/Create a radar event at a specific team."; curTemplate->m_numParameters = 2; curTemplate->m_parameters[0] = Parameter::TEAM; curTemplate->m_parameters[1] = Parameter::RADAR_EVENT_TYPE; @@ -6913,9 +6913,9 @@ void ScriptEngine::checkConditionsForTeamNames(Script *pScript) singletonTeamName = teamName; // Singleton team - use if it is the only one, but can have multiple of these. } else { if (multiTeamName.isEmpty()) { - multiTeamName = teamName; // Use one multiply defined team. Good. + multiTeamName = teamName; // Use one non-singleton team. Good. } else if (multiTeamName!=teamName) { - // More than one multiply defined team - bad. + // More than one non-singleton team - bad. AppendDebugMessage("***WARNING: Script contains multiple non-singleton team conditions::***", false); AppendDebugMessage(scriptName, false); AppendDebugMessage(multiTeamName, false); @@ -9192,7 +9192,7 @@ void ScriptEngine::xfer( Xfer *xfer ) else { - // the vector should be emtpy now + // the vector should be empty now if( m_namedReveals.empty() == FALSE ) { From 7a3858c3b2a249960d051eebfd02d0404c286603 Mon Sep 17 00:00:00 2001 From: Bobby Battista Date: Sun, 11 Jan 2026 18:19:53 -0500 Subject: [PATCH 06/13] fix(scriptengine): Fix milliseconds typo, extra spaces, and incomplete menu labels --- .../Source/GameLogic/ScriptEngine/ScriptEngine.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/ScriptEngine/ScriptEngine.cpp b/GeneralsMD/Code/GameEngine/Source/GameLogic/ScriptEngine/ScriptEngine.cpp index 59d6bd774c6..e2d8bca5656 100644 --- a/GeneralsMD/Code/GameEngine/Source/GameLogic/ScriptEngine/ScriptEngine.cpp +++ b/GeneralsMD/Code/GameEngine/Source/GameLogic/ScriptEngine/ScriptEngine.cpp @@ -1675,7 +1675,7 @@ void ScriptEngine::init( void ) curTemplate = &m_actionTemplates[ScriptAction::NAMED_ENTER_NAMED]; curTemplate->m_internalName = "NAMED_ENTER_NAMED"; - curTemplate->m_uiName = "Unit_/Transport/Transport -- load unit into specific."; + curTemplate->m_uiName = "Unit_/Transport/Transport -- load unit into specific transport."; curTemplate->m_numParameters = 2; curTemplate->m_parameters[0] = Parameter::UNIT; curTemplate->m_parameters[1] = Parameter::UNIT; @@ -1685,7 +1685,7 @@ void ScriptEngine::init( void ) curTemplate = &m_actionTemplates[ScriptAction::TEAM_ENTER_NAMED]; curTemplate->m_internalName = "TEAM_ENTER_NAMED"; - curTemplate->m_uiName = "Team_/Transport/Transport -- load team into specific."; + curTemplate->m_uiName = "Team_/Transport/Transport -- load team into specific transport."; curTemplate->m_numParameters = 2; curTemplate->m_parameters[0] = Parameter::TEAM; curTemplate->m_parameters[1] = Parameter::UNIT; @@ -1695,7 +1695,7 @@ void ScriptEngine::init( void ) curTemplate = &m_actionTemplates[ScriptAction::NAMED_EXIT_ALL]; curTemplate->m_internalName = "NAMED_EXIT_ALL"; - curTemplate->m_uiName = "Unit_/Transport/Transport -- unload units from specific."; + curTemplate->m_uiName = "Unit_/Transport/Transport -- unload units from specific transport."; curTemplate->m_numParameters = 1; curTemplate->m_parameters[0] = Parameter::UNIT; curTemplate->m_numUiStrings = 2; @@ -4185,7 +4185,7 @@ void ScriptEngine::init( void ) curTemplate->m_numParameters = 1; curTemplate->m_parameters[0] = Parameter::SIDE; curTemplate->m_numUiStrings = 2; - curTemplate->m_uiStrings[0] = "Everything belonging to "; + curTemplate->m_uiStrings[0] = "Everything belonging to "; curTemplate->m_uiStrings[1] = " has been destroyed."; curTemplate = &m_conditionTemplates[Condition::PLAYER_ALL_BUILDFACILITIES_DESTROYED]; @@ -4194,7 +4194,7 @@ void ScriptEngine::init( void ) curTemplate->m_numParameters = 1; curTemplate->m_parameters[0] = Parameter::SIDE; curTemplate->m_numUiStrings = 2; - curTemplate->m_uiStrings[0] = "All factories belonging to "; + curTemplate->m_uiStrings[0] = "All factories belonging to "; curTemplate->m_uiStrings[1] = " have been destroyed."; @@ -5316,8 +5316,8 @@ void ScriptEngine::reset( void ) if (m_numFrames > 1) { DEBUG_LOG_RAW(("\n")); DEBUG_LOG(("***SCRIPT ENGINE STATS %.0f frames:", m_numFrames)); - DEBUG_LOG(("Avg time to update %.3f milisec", 1000*m_totalUpdateTime/m_numFrames)); - DEBUG_LOG((" Max time to update %.3f miliseconds.", m_maxUpdateTime*1000)); + DEBUG_LOG(("Avg time to update %.3f milliseconds", 1000*m_totalUpdateTime/m_numFrames)); + DEBUG_LOG((" Max time to update %.3f milliseconds.", m_maxUpdateTime*1000)); } m_numFrames=0; m_totalUpdateTime=0; From 91fb13b6836a71bd2193bc53c7e6b10fe5417fc3 Mon Sep 17 00:00:00 2001 From: Bobby Battista Date: Sun, 11 Jan 2026 18:23:43 -0500 Subject: [PATCH 07/13] fix(scriptengine): Fix 'is' to 'if' typo and awkward comment phrasing --- .../Source/GameLogic/ScriptEngine/ScriptEngine.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/ScriptEngine/ScriptEngine.cpp b/GeneralsMD/Code/GameEngine/Source/GameLogic/ScriptEngine/ScriptEngine.cpp index e2d8bca5656..7c8c76351a6 100644 --- a/GeneralsMD/Code/GameEngine/Source/GameLogic/ScriptEngine/ScriptEngine.cpp +++ b/GeneralsMD/Code/GameEngine/Source/GameLogic/ScriptEngine/ScriptEngine.cpp @@ -7006,7 +7006,7 @@ void ScriptEngine::executeScript( Script *pScript ) // Script Debug window _appendMessage(pScript->getName(), false); - // Only do this is there are actually false actions. + // Only do this if there are actually false actions. executeActions(pScript->getFalseAction()); } } @@ -7029,7 +7029,7 @@ void ScriptEngine::executeScript( Script *pScript ) // Script Debug window _appendMessage(pScript->getName(), false); - // Only do this is there are actually false actions. + // Only do this if there are actually false actions. executeActions(pScript->getFalseAction()); if (pScript->isOneShot()) { pScript->setActive(false); @@ -7162,7 +7162,7 @@ void ScriptEngine::transferObjectName( const AsciiString& unitName, Object *pNew removeObjectFromCache(pNewObject); } - pNewObject->setName(unitName); // make sure it's named the name. + pNewObject->setName(unitName); // make sure it has the correct name. //Loop through the cached list and find the string entry. If found, change the object //so it's pointing to the new one. From 1a813e58e94ff8776859cd20a38764cbc4bdf1c3 Mon Sep 17 00:00:00 2001 From: Bobby Battista Date: Sun, 11 Jan 2026 18:26:38 -0500 Subject: [PATCH 08/13] fix(scriptengine): Fix missing apostrophe in 'don't' --- .../GameLogic/ScriptEngine/ScriptEngine.cpp | 2 +- .../analyze_cppmacros_includes.cpython-314.pyc | Bin 0 -> 11105 bytes .../remove_redundant_cppmacros.cpython-314.pyc | Bin 0 -> 6577 bytes 3 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 scripts/__pycache__/analyze_cppmacros_includes.cpython-314.pyc create mode 100644 scripts/__pycache__/remove_redundant_cppmacros.cpython-314.pyc diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/ScriptEngine/ScriptEngine.cpp b/GeneralsMD/Code/GameEngine/Source/GameLogic/ScriptEngine/ScriptEngine.cpp index 7c8c76351a6..acbfc40b16f 100644 --- a/GeneralsMD/Code/GameEngine/Source/GameLogic/ScriptEngine/ScriptEngine.cpp +++ b/GeneralsMD/Code/GameEngine/Source/GameLogic/ScriptEngine/ScriptEngine.cpp @@ -8220,7 +8220,7 @@ void SequentialScript::xfer( Xfer *xfer ) // frames to wait xfer->xferInt( &m_framesToWait ); - // dont advance instruction + // don't advance instruction xfer->xferBool( &m_dontAdvanceInstruction ); } diff --git a/scripts/__pycache__/analyze_cppmacros_includes.cpython-314.pyc b/scripts/__pycache__/analyze_cppmacros_includes.cpython-314.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a9fd5a4e335da5329dec1fbd17d32d20a9fce14d GIT binary patch literal 11105 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 literal 0 HcmV?d00001 From cf72fb32d84f5724137d4b560ab9420980ff97dc Mon Sep 17 00:00:00 2001 From: Bobby Battista Date: Sun, 11 Jan 2026 18:26:50 -0500 Subject: [PATCH 09/13] Remove accidentally committed pycache files --- .../analyze_cppmacros_includes.cpython-314.pyc | Bin 11105 -> 0 bytes .../remove_redundant_cppmacros.cpython-314.pyc | Bin 6577 -> 0 bytes 2 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 scripts/__pycache__/analyze_cppmacros_includes.cpython-314.pyc delete mode 100644 scripts/__pycache__/remove_redundant_cppmacros.cpython-314.pyc diff --git a/scripts/__pycache__/analyze_cppmacros_includes.cpython-314.pyc b/scripts/__pycache__/analyze_cppmacros_includes.cpython-314.pyc deleted file mode 100644 index a9fd5a4e335da5329dec1fbd17d32d20a9fce14d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11105 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 From c517272e612b48075e89800fa774b0e45d531f58 Mon Sep 17 00:00:00 2001 From: Bobby Battista Date: Sun, 11 Jan 2026 18:31:36 -0500 Subject: [PATCH 10/13] chore: Add Python pycache to gitignore --- .gitignore | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 1c9c525ae12..07b7c71d282 100644 --- a/.gitignore +++ b/.gitignore @@ -57,4 +57,8 @@ cmake-build-*/ ## Ninja .ninja_deps .ninja_log -build.ninja \ No newline at end of file +build.ninja + +## Python +__pycache__/ +*.pyc \ No newline at end of file From c8c8f6a0262309bf3cc74f616e9e25ce9beb02c0 Mon Sep 17 00:00:00 2001 From: Bobby Battista Date: Sun, 11 Jan 2026 18:31:45 -0500 Subject: [PATCH 11/13] fix(scriptengine): Fix double leading spaces in UI strings --- .../GameLogic/ScriptEngine/ScriptEngine.cpp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/ScriptEngine/ScriptEngine.cpp b/GeneralsMD/Code/GameEngine/Source/GameLogic/ScriptEngine/ScriptEngine.cpp index acbfc40b16f..5136236fd06 100644 --- a/GeneralsMD/Code/GameEngine/Source/GameLogic/ScriptEngine/ScriptEngine.cpp +++ b/GeneralsMD/Code/GameEngine/Source/GameLogic/ScriptEngine/ScriptEngine.cpp @@ -825,7 +825,7 @@ void ScriptEngine::init( void ) curTemplate->m_parameters[0] = Parameter::TEAM; curTemplate->m_numUiStrings = 2; curTemplate->m_uiStrings[0] = "Increase the AI priority for"; - curTemplate->m_uiStrings[1] = " by its Success Priority Increase amount."; + curTemplate->m_uiStrings[1] = " by its Success Priority Increase amount."; curTemplate = &m_actionTemplates[ScriptAction::TEAM_DECREASE_PRIORITY]; curTemplate->m_internalName = "TEAM_DECREASE_PRIORITY"; @@ -834,7 +834,7 @@ void ScriptEngine::init( void ) curTemplate->m_parameters[0] = Parameter::TEAM; curTemplate->m_numUiStrings = 2; curTemplate->m_uiStrings[0] = "Reduce the AI priority for"; - curTemplate->m_uiStrings[1] = " by its Failure Priority Decrease amount."; + curTemplate->m_uiStrings[1] = " by its Failure Priority Decrease amount."; curTemplate = &m_actionTemplates[ScriptAction::TEAM_WANDER]; curTemplate->m_internalName = "TEAM_WANDER"; @@ -3599,7 +3599,7 @@ void ScriptEngine::init( void ) curTemplate->m_numUiStrings = 3; curTemplate->m_uiStrings[0] = " "; curTemplate->m_uiStrings[1] = " use "; - curTemplate->m_uiStrings[2] = " on "; + curTemplate->m_uiStrings[2] = " on "; curTemplate = &m_actionTemplates[ScriptAction::TEAM_ALL_USE_COMMANDBUTTON_ON_NEAREST_ENEMY_UNIT]; curTemplate->m_internalName = "TEAM_ALL_USE_COMMANDBUTTON_ON_NEAREST_ENEMY_UNIT"; @@ -3610,7 +3610,7 @@ void ScriptEngine::init( void ) curTemplate->m_numUiStrings = 3; curTemplate->m_uiStrings[0] = " "; curTemplate->m_uiStrings[1] = " use "; - curTemplate->m_uiStrings[2] = " on nearest enemy unit."; + curTemplate->m_uiStrings[2] = " on nearest enemy unit."; curTemplate = &m_actionTemplates[ScriptAction::TEAM_ALL_USE_COMMANDBUTTON_ON_NEAREST_GARRISONED_BUILDING]; curTemplate->m_internalName = "TEAM_ALL_USE_COMMANDBUTTON_ON_NEAREST_GARRISONED_BUILDING"; @@ -3621,7 +3621,7 @@ void ScriptEngine::init( void ) curTemplate->m_numUiStrings = 3; curTemplate->m_uiStrings[0] = " "; curTemplate->m_uiStrings[1] = " use "; - curTemplate->m_uiStrings[2] = " on nearest enemy garrisoned building."; + curTemplate->m_uiStrings[2] = " on nearest enemy garrisoned building."; curTemplate = &m_actionTemplates[ScriptAction::TEAM_ALL_USE_COMMANDBUTTON_ON_NEAREST_KINDOF]; curTemplate->m_internalName = "TEAM_ALL_USE_COMMANDBUTTON_ON_NEAREST_KINDOF"; @@ -3633,7 +3633,7 @@ void ScriptEngine::init( void ) curTemplate->m_numUiStrings = 4; curTemplate->m_uiStrings[0] = " "; curTemplate->m_uiStrings[1] = " use "; - curTemplate->m_uiStrings[2] = " on nearest enemy with "; + curTemplate->m_uiStrings[2] = " on nearest enemy with "; curTemplate->m_uiStrings[4] = "."; curTemplate = &m_actionTemplates[ScriptAction::TEAM_ALL_USE_COMMANDBUTTON_ON_NEAREST_ENEMY_BUILDING]; @@ -3645,7 +3645,7 @@ void ScriptEngine::init( void ) curTemplate->m_numUiStrings = 3; curTemplate->m_uiStrings[0] = " "; curTemplate->m_uiStrings[1] = " use "; - curTemplate->m_uiStrings[2] = " on nearest enemy building."; + curTemplate->m_uiStrings[2] = " on nearest enemy building."; curTemplate = &m_actionTemplates[ScriptAction::TEAM_ALL_USE_COMMANDBUTTON_ON_NEAREST_ENEMY_BUILDING_CLASS]; curTemplate->m_internalName = "TEAM_ALL_USE_COMMANDBUTTON_ON_NEAREST_ENEMY_BUILDING_CLASS"; @@ -3657,7 +3657,7 @@ void ScriptEngine::init( void ) curTemplate->m_numUiStrings = 3; curTemplate->m_uiStrings[0] = " "; curTemplate->m_uiStrings[1] = " use "; - curTemplate->m_uiStrings[2] = " on nearest enemy building with "; + curTemplate->m_uiStrings[2] = " on nearest enemy building with "; curTemplate = &m_actionTemplates[ScriptAction::TEAM_ALL_USE_COMMANDBUTTON_ON_NEAREST_OBJECTTYPE]; curTemplate->m_internalName = "TEAM_ALL_USE_COMMANDBUTTON_ON_NEAREST_OBJECTTYPE"; From 5bd781eaaaaf286a6f1cbc72c503b6fead91887d Mon Sep 17 00:00:00 2001 From: Bobby Battista Date: Sun, 11 Jan 2026 20:28:15 -0500 Subject: [PATCH 12/13] fix(scriptengine): Replicate typo fixes to Generals --- .../GameLogic/ScriptEngine/ScriptEngine.cpp | 72 +++++++++---------- 1 file changed, 36 insertions(+), 36 deletions(-) diff --git a/Generals/Code/GameEngine/Source/GameLogic/ScriptEngine/ScriptEngine.cpp b/Generals/Code/GameEngine/Source/GameLogic/ScriptEngine/ScriptEngine.cpp index 5bb04e08179..463531acc23 100644 --- a/Generals/Code/GameEngine/Source/GameLogic/ScriptEngine/ScriptEngine.cpp +++ b/Generals/Code/GameEngine/Source/GameLogic/ScriptEngine/ScriptEngine.cpp @@ -556,10 +556,10 @@ void ScriptEngine::init( void ) curTemplate->m_uiStrings[0] = "Announce win."; curTemplate = &m_actionTemplates[ScriptAction::DEFEAT]; - curTemplate->m_name = "[User] Announce lose"; + curTemplate->m_name = "[User] Announce loss"; curTemplate->m_numParameters = 0; curTemplate->m_numUiStrings = 1; - curTemplate->m_uiStrings[0] = "Announce lose."; + curTemplate->m_uiStrings[0] = "Announce loss."; curTemplate = &m_actionTemplates[ScriptAction::NO_OP]; curTemplate->m_name = "[Scripting] Null operation."; @@ -693,7 +693,7 @@ void ScriptEngine::init( void ) curTemplate->m_parameters[0] = Parameter::TEAM; curTemplate->m_numUiStrings = 2; curTemplate->m_uiStrings[0] = "Have "; - curTemplate->m_uiStrings[1] = " wander around it's current location."; + curTemplate->m_uiStrings[1] = " wander around its current location."; curTemplate = &m_actionTemplates[ScriptAction::TEAM_INCREASE_PRIORITY]; curTemplate->m_name = "[Team] AI - Increase priority by Success Priority Increase amount."; @@ -701,7 +701,7 @@ void ScriptEngine::init( void ) curTemplate->m_parameters[0] = Parameter::TEAM; curTemplate->m_numUiStrings = 2; curTemplate->m_uiStrings[0] = "Increase the AI priority for"; - curTemplate->m_uiStrings[1] = " by its Success Priority Increase amount."; + curTemplate->m_uiStrings[1] = " by its Success Priority Increase amount."; curTemplate = &m_actionTemplates[ScriptAction::TEAM_DECREASE_PRIORITY]; curTemplate->m_name = "[Team] AI - Reduce priority by Failure Priority Decrease amount."; @@ -709,7 +709,7 @@ void ScriptEngine::init( void ) curTemplate->m_parameters[0] = Parameter::TEAM; curTemplate->m_numUiStrings = 2; curTemplate->m_uiStrings[0] = "Reduce the AI priority for"; - curTemplate->m_uiStrings[1] = " by its Failure Priority Decrease amount."; + curTemplate->m_uiStrings[1] = " by its Failure Priority Decrease amount."; curTemplate = &m_actionTemplates[ScriptAction::TEAM_WANDER]; curTemplate->m_name = "[Team] Set to follow a waypoint path -- wander."; @@ -786,7 +786,7 @@ void ScriptEngine::init( void ) curTemplate->m_numUiStrings = 4; curTemplate->m_uiStrings[0] = "Have AI "; curTemplate->m_uiStrings[1] = " build a "; - curTemplate->m_uiStrings[2] = " near a supply src with at least "; + curTemplate->m_uiStrings[2] = " near a supply source with at least "; curTemplate->m_uiStrings[3] = " available resources."; curTemplate = &m_actionTemplates[ScriptAction::TEAM_GUARD_SUPPLY_CENTER]; @@ -796,7 +796,7 @@ void ScriptEngine::init( void ) curTemplate->m_parameters[1] = Parameter::INT; curTemplate->m_numUiStrings = 3; curTemplate->m_uiStrings[0] = "Have Team "; - curTemplate->m_uiStrings[1] = " guard attacked or closest supply src with at least "; + curTemplate->m_uiStrings[1] = " guard attacked or closest supply source with at least "; curTemplate->m_uiStrings[2] = " available resources"; curTemplate = &m_actionTemplates[ScriptAction::AI_PLAYER_BUILD_UPGRADE]; @@ -902,7 +902,7 @@ void ScriptEngine::init( void ) curTemplate->m_uiStrings[1] = " to "; curTemplate->m_uiStrings[2] = " adding toward white. Take "; curTemplate->m_uiStrings[3] = " frames to increase, hold for "; - curTemplate->m_uiStrings[4] = " fames, and decrease "; + curTemplate->m_uiStrings[4] = " frames, and decrease "; curTemplate->m_uiStrings[5] = " frames."; curTemplate = &m_actionTemplates[ScriptAction::CAMERA_FADE_SUBTRACT]; @@ -918,7 +918,7 @@ void ScriptEngine::init( void ) curTemplate->m_uiStrings[1] = " to "; curTemplate->m_uiStrings[2] = " subtracting toward black. Take "; curTemplate->m_uiStrings[3] = " frames to increase, hold for "; - curTemplate->m_uiStrings[4] = " fames, and decrease "; + curTemplate->m_uiStrings[4] = " frames, and decrease "; curTemplate->m_uiStrings[5] = " frames."; curTemplate = &m_actionTemplates[ScriptAction::CAMERA_FADE_MULTIPLY]; @@ -934,7 +934,7 @@ void ScriptEngine::init( void ) curTemplate->m_uiStrings[1] = " to "; curTemplate->m_uiStrings[2] = " multiplying toward black. Take "; curTemplate->m_uiStrings[3] = " frames to increase, hold for "; - curTemplate->m_uiStrings[4] = " fames, and decrease "; + curTemplate->m_uiStrings[4] = " frames, and decrease "; curTemplate->m_uiStrings[5] = " frames."; curTemplate = &m_actionTemplates[ScriptAction::CAMERA_FADE_SATURATE]; @@ -950,7 +950,7 @@ void ScriptEngine::init( void ) curTemplate->m_uiStrings[1] = " to "; curTemplate->m_uiStrings[2] = " increasing saturation. Take "; curTemplate->m_uiStrings[3] = " frames to increase, hold for "; - curTemplate->m_uiStrings[4] = " fames, and decrease "; + curTemplate->m_uiStrings[4] = " frames, and decrease "; curTemplate->m_uiStrings[5] = " frames."; curTemplate = &m_actionTemplates[ScriptAction::PITCH_CAMERA]; @@ -1440,7 +1440,7 @@ void ScriptEngine::init( void ) curTemplate->m_uiStrings[1] = " load into transports."; curTemplate = &m_actionTemplates[ScriptAction::NAMED_ENTER_NAMED]; - curTemplate->m_name = "[Unit] Transport -- load unit into specific."; + curTemplate->m_name = "[Unit] Transport -- load unit into specific transport."; curTemplate->m_numParameters = 2; curTemplate->m_parameters[0] = Parameter::UNIT; curTemplate->m_parameters[1] = Parameter::UNIT; @@ -1449,7 +1449,7 @@ void ScriptEngine::init( void ) curTemplate->m_uiStrings[1] = " loads into "; curTemplate = &m_actionTemplates[ScriptAction::TEAM_ENTER_NAMED]; - curTemplate->m_name = "[Team] Transport -- load team into specific."; + curTemplate->m_name = "[Team] Transport -- load team into specific transport."; curTemplate->m_numParameters = 2; curTemplate->m_parameters[0] = Parameter::TEAM; curTemplate->m_parameters[1] = Parameter::UNIT; @@ -1458,7 +1458,7 @@ void ScriptEngine::init( void ) curTemplate->m_uiStrings[1] = " attempt to load into "; curTemplate = &m_actionTemplates[ScriptAction::NAMED_EXIT_ALL]; - curTemplate->m_name = "[Unit] Transport -- unload units from specific."; + curTemplate->m_name = "[Unit] Transport -- unload units from specific transport."; curTemplate->m_numParameters = 1; curTemplate->m_parameters[0] = Parameter::UNIT; curTemplate->m_numUiStrings = 2; @@ -2531,7 +2531,7 @@ void ScriptEngine::init( void ) curTemplate->m_uiStrings[0] = ""; curTemplate->m_uiStrings[1] = " considers "; curTemplate->m_uiStrings[2] = " to be "; - curTemplate->m_uiStrings[3] = " (rather than using the the player relationship)."; + curTemplate->m_uiStrings[3] = " (rather than using the player relationship)."; curTemplate = &m_actionTemplates[ScriptAction::TEAM_REMOVE_OVERRIDE_RELATION_TO_TEAM]; curTemplate->m_name = "[Team] Remove an override to a team's relationship to another team."; @@ -2631,7 +2631,7 @@ void ScriptEngine::init( void ) curTemplate->m_uiStrings[0] = ""; curTemplate->m_uiStrings[1] = " considers "; curTemplate->m_uiStrings[2] = " to be "; - curTemplate->m_uiStrings[3] = " (rather than using the the player relationship)."; + curTemplate->m_uiStrings[3] = " (rather than using the player relationship)."; curTemplate = &m_actionTemplates[ScriptAction::TEAM_REMOVE_OVERRIDE_RELATION_TO_PLAYER]; curTemplate->m_name = "[Team] Remove an override to a team's relationship to another player."; @@ -2652,7 +2652,7 @@ void ScriptEngine::init( void ) curTemplate->m_uiStrings[0] = ""; curTemplate->m_uiStrings[1] = " considers "; curTemplate->m_uiStrings[2] = " to be "; - curTemplate->m_uiStrings[3] = " (rather than using the the player relationship)."; + curTemplate->m_uiStrings[3] = " (rather than using the player relationship)."; curTemplate = &m_actionTemplates[ScriptAction::PLAYER_REMOVE_OVERRIDE_RELATION_TO_TEAM]; curTemplate->m_name = "[Player] Remove an override to a player's relationship to another team."; @@ -3081,7 +3081,7 @@ void ScriptEngine::init( void ) curTemplate->m_numUiStrings = 3; curTemplate->m_uiStrings[0] = ""; curTemplate->m_uiStrings[1] = " use "; - curTemplate->m_uiStrings[2] = " on "; + curTemplate->m_uiStrings[2] = " on "; curTemplate = &m_actionTemplates[ScriptAction::TEAM_ALL_USE_COMMANDBUTTON_ON_NEAREST_ENEMY_UNIT]; curTemplate->m_name = "[Team] Use command ability -- all -- nearest enemy unit"; @@ -3091,7 +3091,7 @@ void ScriptEngine::init( void ) curTemplate->m_numUiStrings = 3; curTemplate->m_uiStrings[0] = ""; curTemplate->m_uiStrings[1] = " use "; - curTemplate->m_uiStrings[2] = " on nearest enemy unit."; + curTemplate->m_uiStrings[2] = " on nearest enemy unit."; curTemplate = &m_actionTemplates[ScriptAction::TEAM_ALL_USE_COMMANDBUTTON_ON_NEAREST_GARRISONED_BUILDING]; curTemplate->m_name = "[Team] Use command ability -- all -- nearest enemy garrisoned building."; @@ -3101,7 +3101,7 @@ void ScriptEngine::init( void ) curTemplate->m_numUiStrings = 3; curTemplate->m_uiStrings[0] = ""; curTemplate->m_uiStrings[1] = " use "; - curTemplate->m_uiStrings[2] = " on nearest enemy garrisoned building."; + curTemplate->m_uiStrings[2] = " on nearest enemy garrisoned building."; curTemplate = &m_actionTemplates[ScriptAction::TEAM_ALL_USE_COMMANDBUTTON_ON_NEAREST_KINDOF]; curTemplate->m_name = "[Team] Use command ability -- all -- nearest enemy object with kind of."; @@ -3112,7 +3112,7 @@ void ScriptEngine::init( void ) curTemplate->m_numUiStrings = 4; curTemplate->m_uiStrings[0] = ""; curTemplate->m_uiStrings[1] = " use "; - curTemplate->m_uiStrings[2] = " on nearest enemy with "; + curTemplate->m_uiStrings[2] = " on nearest enemy with "; curTemplate->m_uiStrings[4] = "."; curTemplate = &m_actionTemplates[ScriptAction::TEAM_ALL_USE_COMMANDBUTTON_ON_NEAREST_ENEMY_BUILDING]; @@ -3123,7 +3123,7 @@ void ScriptEngine::init( void ) curTemplate->m_numUiStrings = 3; curTemplate->m_uiStrings[0] = ""; curTemplate->m_uiStrings[1] = " use "; - curTemplate->m_uiStrings[2] = " on nearest enemy building."; + curTemplate->m_uiStrings[2] = " on nearest enemy building."; curTemplate = &m_actionTemplates[ScriptAction::TEAM_ALL_USE_COMMANDBUTTON_ON_NEAREST_ENEMY_BUILDING_CLASS]; curTemplate->m_name = "[Team] Use command ability -- all -- nearest enemy building kindof."; @@ -3134,7 +3134,7 @@ void ScriptEngine::init( void ) curTemplate->m_numUiStrings = 3; curTemplate->m_uiStrings[0] = ""; curTemplate->m_uiStrings[1] = " use "; - curTemplate->m_uiStrings[2] = " on nearest enemy building with "; + curTemplate->m_uiStrings[2] = " on nearest enemy building with "; curTemplate = &m_actionTemplates[ScriptAction::TEAM_ALL_USE_COMMANDBUTTON_ON_NEAREST_OBJECTTYPE]; curTemplate->m_name = "[Team] Use command ability -- all -- nearest object type."; @@ -3576,7 +3576,7 @@ void ScriptEngine::init( void ) curTemplate->m_numParameters = 1; curTemplate->m_parameters[0] = Parameter::SIDE; curTemplate->m_numUiStrings = 2; - curTemplate->m_uiStrings[0] = "Everything belonging to "; + curTemplate->m_uiStrings[0] = "Everything belonging to "; curTemplate->m_uiStrings[1] = " has been destroyed."; curTemplate = &m_conditionTemplates[Condition::PLAYER_ALL_BUILDFACILITIES_DESTROYED]; @@ -3584,7 +3584,7 @@ void ScriptEngine::init( void ) curTemplate->m_numParameters = 1; curTemplate->m_parameters[0] = Parameter::SIDE; curTemplate->m_numUiStrings = 2; - curTemplate->m_uiStrings[0] = "All factories belonging to "; + curTemplate->m_uiStrings[0] = "All factories belonging to "; curTemplate->m_uiStrings[1] = " have been destroyed."; @@ -4454,7 +4454,7 @@ void ScriptEngine::init( void ) curTemplate->m_parameters[1] = Parameter::TRIGGER_AREA; curTemplate->m_numUiStrings = 3; curTemplate->m_uiStrings[0] = ""; - curTemplate->m_uiStrings[1] = " has doesn't have units in "; + curTemplate->m_uiStrings[1] = " doesn't have units in "; curTemplate->m_uiStrings[2] = "."; curTemplate = &m_conditionTemplates[Condition::SKIRMISH_PLAYER_HAS_DISCOVERED_PLAYER]; @@ -4485,7 +4485,7 @@ void ScriptEngine::init( void ) curTemplate->m_parameters[1] = Parameter::INT; curTemplate->m_numUiStrings = 3; curTemplate->m_uiStrings[0] = ""; - curTemplate->m_uiStrings[1] = " closest supply src with at least "; + curTemplate->m_uiStrings[1] = " closest supply source with at least "; curTemplate->m_uiStrings[2] = " available resources is SAFE from enemy influence."; curTemplate = &m_conditionTemplates[Condition::SUPPLY_SOURCE_ATTACKED]; @@ -4581,8 +4581,8 @@ void ScriptEngine::reset( void ) if (m_numFrames > 1) { DEBUG_LOG_RAW(("\n")); DEBUG_LOG(("***SCRIPT ENGINE STATS %.0f frames:", m_numFrames)); - DEBUG_LOG(("Avg time to update %.3f milisec", 1000*m_totalUpdateTime/m_numFrames)); - DEBUG_LOG((" Max time to update %.3f miliseconds.", m_maxUpdateTime*1000)); + DEBUG_LOG(("Avg time to update %.3f milliseconds", 1000*m_totalUpdateTime/m_numFrames)); + DEBUG_LOG((" Max time to update %.3f milliseconds.", m_maxUpdateTime*1000)); } m_numFrames=0; m_totalUpdateTime=0; @@ -6192,9 +6192,9 @@ void ScriptEngine::checkConditionsForTeamNames(Script *pScript) singletonTeamName = teamName; // Singleton team - use if it is the only one, but can have multiple of these. } else { if (multiTeamName.isEmpty()) { - multiTeamName = teamName; // Use one multiply defined team. Good. + multiTeamName = teamName; // Use one non-singleton team. Good. } else if (multiTeamName!=teamName) { - // More than one multiply defined team - bad. + // More than one non-singleton team - bad. AppendDebugMessage("***WARNING: Script contains multiple non-singleton team conditions::***", false); AppendDebugMessage(scriptName, false); AppendDebugMessage(multiTeamName, false); @@ -6285,7 +6285,7 @@ void ScriptEngine::executeScript( Script *pScript ) // Script Debug window _appendMessage(pScript->getName(), false); - // Only do this is there are actually false actions. + // Only do this if there are actually false actions. executeActions(pScript->getFalseAction()); } } @@ -6308,7 +6308,7 @@ void ScriptEngine::executeScript( Script *pScript ) // Script Debug window _appendMessage(pScript->getName(), false); - // Only do this is there are actually false actions. + // Only do this if there are actually false actions. executeActions(pScript->getFalseAction()); if (pScript->isOneShot()) { pScript->setActive(false); @@ -6441,7 +6441,7 @@ void ScriptEngine::transferObjectName( const AsciiString& unitName, Object *pNew removeObjectFromCache(pNewObject); } - pNewObject->setName(unitName); // make sure it's named the name. + pNewObject->setName(unitName); // make sure it has the correct name. //Loop through the cached list and find the string entry. If found, change the object //so it's pointing to the new one. @@ -7497,7 +7497,7 @@ void SequentialScript::xfer( Xfer *xfer ) // frames to wait xfer->xferInt( &m_framesToWait ); - // dont advance instruction + // don't advance instruction xfer->xferBool( &m_dontAdvanceInstruction ); } @@ -8469,7 +8469,7 @@ void ScriptEngine::xfer( Xfer *xfer ) else { - // the vector should be emtpy now + // the vector should be empty now if( m_namedReveals.empty() == FALSE ) { From 0495c7630cca364190f83a216415cbc0a694cd14 Mon Sep 17 00:00:00 2001 From: Bobby Battista Date: Tue, 13 Jan 2026 12:33:57 -0500 Subject: [PATCH 13/13] fix(scriptengine): Replace 'non-singleton' with 'defined multiple times' in team warnings --- .../Source/GameLogic/ScriptEngine/ScriptEngine.cpp | 8 ++++---- .../Source/GameLogic/ScriptEngine/ScriptEngine.cpp | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/Generals/Code/GameEngine/Source/GameLogic/ScriptEngine/ScriptEngine.cpp b/Generals/Code/GameEngine/Source/GameLogic/ScriptEngine/ScriptEngine.cpp index 463531acc23..50884e63ee7 100644 --- a/Generals/Code/GameEngine/Source/GameLogic/ScriptEngine/ScriptEngine.cpp +++ b/Generals/Code/GameEngine/Source/GameLogic/ScriptEngine/ScriptEngine.cpp @@ -6192,14 +6192,14 @@ void ScriptEngine::checkConditionsForTeamNames(Script *pScript) singletonTeamName = teamName; // Singleton team - use if it is the only one, but can have multiple of these. } else { if (multiTeamName.isEmpty()) { - multiTeamName = teamName; // Use one non-singleton team. Good. + multiTeamName = teamName; // Use one team defined multiple times. Good. } else if (multiTeamName!=teamName) { - // More than one non-singleton team - bad. - AppendDebugMessage("***WARNING: Script contains multiple non-singleton team conditions::***", false); + // More than one team defined multiple times - bad. + AppendDebugMessage("***WARNING: Script contains multiple conditions for teams defined multiple times::***", false); AppendDebugMessage(scriptName, false); AppendDebugMessage(multiTeamName, false); AppendDebugMessage(teamName, false); - DEBUG_LOG(("WARNING: Script '%s' contains multiple non-singleton team conditions: %s & %s.", scriptName.str(), + DEBUG_LOG(("WARNING: Script '%s' contains multiple conditions for teams defined multiple times: %s & %s.", scriptName.str(), multiTeamName.str(), teamName.str())); } } diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/ScriptEngine/ScriptEngine.cpp b/GeneralsMD/Code/GameEngine/Source/GameLogic/ScriptEngine/ScriptEngine.cpp index 5136236fd06..4f7be54bf8b 100644 --- a/GeneralsMD/Code/GameEngine/Source/GameLogic/ScriptEngine/ScriptEngine.cpp +++ b/GeneralsMD/Code/GameEngine/Source/GameLogic/ScriptEngine/ScriptEngine.cpp @@ -6913,14 +6913,14 @@ void ScriptEngine::checkConditionsForTeamNames(Script *pScript) singletonTeamName = teamName; // Singleton team - use if it is the only one, but can have multiple of these. } else { if (multiTeamName.isEmpty()) { - multiTeamName = teamName; // Use one non-singleton team. Good. + multiTeamName = teamName; // Use one team defined multiple times. Good. } else if (multiTeamName!=teamName) { - // More than one non-singleton team - bad. - AppendDebugMessage("***WARNING: Script contains multiple non-singleton team conditions::***", false); + // More than one team defined multiple times - bad. + AppendDebugMessage("***WARNING: Script contains multiple conditions for teams defined multiple times::***", false); AppendDebugMessage(scriptName, false); AppendDebugMessage(multiTeamName, false); AppendDebugMessage(teamName, false); - DEBUG_LOG(("WARNING: Script '%s' contains multiple non-singleton team conditions: %s & %s.", scriptName.str(), + DEBUG_LOG(("WARNING: Script '%s' contains multiple conditions for teams defined multiple times: %s & %s.", scriptName.str(), multiTeamName.str(), teamName.str())); } }