From 6a8814c99a682176b984ac630bccc6266c1b0471 Mon Sep 17 00:00:00 2001 From: Chandler Cox Date: Sun, 29 Dec 2024 17:08:10 -0600 Subject: [PATCH] Fix .exe being deleted when using the "Run cooked build" option. --- Source/Editor/Cooker/GameCooker.cpp | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/Source/Editor/Cooker/GameCooker.cpp b/Source/Editor/Cooker/GameCooker.cpp index 17392adee..36f2da11c 100644 --- a/Source/Editor/Cooker/GameCooker.cpp +++ b/Source/Editor/Cooker/GameCooker.cpp @@ -671,11 +671,14 @@ bool GameCookerImpl::Build() MCore::Thread::Attach(); // Build Started - CallEvent(GameCooker::EventType::BuildStarted); - data.Tools->OnBuildStarted(data); - for (int32 stepIndex = 0; stepIndex < Steps.Count(); stepIndex++) - Steps[stepIndex]->OnBuildStarted(data); - data.InitProgress(Steps.Count()); + if (!EnumHasAnyFlags(data.Options, BuildOptions::NoCook)) + { + CallEvent(GameCooker::EventType::BuildStarted); + data.Tools->OnBuildStarted(data); + for (int32 stepIndex = 0; stepIndex < Steps.Count(); stepIndex++) + Steps[stepIndex]->OnBuildStarted(data); + data.InitProgress(Steps.Count()); + } // Execute all steps in a sequence bool failed = false; @@ -741,10 +744,13 @@ bool GameCookerImpl::Build() } IsRunning = false; CancelFlag = 0; - for (int32 stepIndex = 0; stepIndex < Steps.Count(); stepIndex++) - Steps[stepIndex]->OnBuildEnded(data, failed); - data.Tools->OnBuildEnded(data, failed); - CallEvent(failed ? GameCooker::EventType::BuildFailed : GameCooker::EventType::BuildDone); + if (!EnumHasAnyFlags(data.Options, BuildOptions::NoCook)) + { + for (int32 stepIndex = 0; stepIndex < Steps.Count(); stepIndex++) + Steps[stepIndex]->OnBuildEnded(data, failed); + data.Tools->OnBuildEnded(data, failed); + CallEvent(failed ? GameCooker::EventType::BuildFailed : GameCooker::EventType::BuildDone); + } Delete(Data); Data = nullptr;