From 257ddb520a9176ac8a55c7c6ae2f0107e5aef182 Mon Sep 17 00:00:00 2001 From: Major Cooke Date: Thu, 22 Feb 2024 18:20:40 -0600 Subject: [PATCH] Extra safety checks. --- src/g_level.cpp | 2 +- src/playsim/p_enemy.cpp | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/g_level.cpp b/src/g_level.cpp index 3ab4f9ce1..85bdf8424 100644 --- a/src/g_level.cpp +++ b/src/g_level.cpp @@ -2589,7 +2589,7 @@ static bool FindPathAStar(AActor *chaser, AActor* startnode, AActor* goalnode, T bool FLevelLocals::FindPath(AActor* chaser, AActor* target, AActor* startNode, AActor* goalNode) { - if (!chaser || !target) + if (!chaser || !target || PathNodes.Size() < 1) { return false; } diff --git a/src/playsim/p_enemy.cpp b/src/playsim/p_enemy.cpp index 4e14a3936..8c84931f9 100644 --- a/src/playsim/p_enemy.cpp +++ b/src/playsim/p_enemy.cpp @@ -2232,7 +2232,8 @@ DEFINE_ACTION_FUNCTION(AActor, ClearPath) bool AActor::CanPathfind() { - if ((!(flags9 & MF9_NOPATHING) && !(Sector->MoreFlags & SECMF_NOPATHING)) && + if (Level->PathNodes.Size() > 0 && + (!(flags9 & MF9_NOPATHING) && !(Sector->MoreFlags & SECMF_NOPATHING)) && (flags9 & MF9_PATHING || Level->flags3 & LEVEL3_PATHING)) { if ((flags6 & MF6_NOFEAR))