From 9037e086c91a6056bd964916850fde1397506725 Mon Sep 17 00:00:00 2001 From: Mauller <26652186+Mauller@users.noreply.github.com> Date: Tue, 8 Apr 2025 18:05:09 +0100 Subject: [PATCH 1/2] [ZH] Fix partly uninitialized cellBounds variable in AIPathfind::classifyFence() (#632) --- GeneralsMD/Code/GameEngine/Source/GameLogic/AI/AIPathfind.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/AI/AIPathfind.cpp b/GeneralsMD/Code/GameEngine/Source/GameLogic/AI/AIPathfind.cpp index a8c54678a44..9df84353faf 100644 --- a/GeneralsMD/Code/GameEngine/Source/GameLogic/AI/AIPathfind.cpp +++ b/GeneralsMD/Code/GameEngine/Source/GameLogic/AI/AIPathfind.cpp @@ -4031,6 +4031,8 @@ void Pathfinder::classifyFence( Object *obj, Bool insert ) IRegion2D cellBounds; cellBounds.lo.x = REAL_TO_INT_FLOOR((pos->x + 0.5f)/PATHFIND_CELL_SIZE_F); cellBounds.lo.y = REAL_TO_INT_FLOOR((pos->y + 0.5f)/PATHFIND_CELL_SIZE_F); + cellBounds.hi.x = REAL_TO_INT_CEIL((pos->x + 0.5f)/PATHFIND_CELL_SIZE_F); + cellBounds.hi.y = REAL_TO_INT_CEIL((pos->y + 0.5f)/PATHFIND_CELL_SIZE_F); Bool didAnything = false; for (Int iy = 0; iy < numStepsY; ++iy, tl_x += ydx, tl_y += ydy) From 7dc1a08ca624e650defb2aaf0e0334e427e09eff Mon Sep 17 00:00:00 2001 From: Mauller <26652186+Mauller@users.noreply.github.com> Date: Tue, 8 Apr 2025 18:05:44 +0100 Subject: [PATCH 2/2] [GEN][ZH] Fix uninitialized costSoFar variable in AIPathfind::findGoundPath() (#632) --- Generals/Code/GameEngine/Source/GameLogic/AI/AIPathfind.cpp | 2 +- GeneralsMD/Code/GameEngine/Source/GameLogic/AI/AIPathfind.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Generals/Code/GameEngine/Source/GameLogic/AI/AIPathfind.cpp b/Generals/Code/GameEngine/Source/GameLogic/AI/AIPathfind.cpp index e18c3c420ce..2e55539592c 100644 --- a/Generals/Code/GameEngine/Source/GameLogic/AI/AIPathfind.cpp +++ b/Generals/Code/GameEngine/Source/GameLogic/AI/AIPathfind.cpp @@ -6649,7 +6649,7 @@ Path *Pathfinder::findGroundPath( const Coord3D *from, const Int adjacent[5] = {0, 1, 2, 3, 0}; Bool neighborFlags[8] = {false, false, false, false, false, false, false}; - UnsignedInt newCostSoFar; + UnsignedInt newCostSoFar = 0; for( int i=0; i