From fee724e637a267967ef9281c812ffc4e5b6a9445 Mon Sep 17 00:00:00 2001 From: "Zed A. Shaw" Date: Tue, 27 Aug 2024 16:34:38 -0400 Subject: [PATCH] Fix a bug where a failinb build that causes death would play both the death sound and build failed sound. --- builder.cpp | 3 ++- gui.cpp | 8 ++++++-- gui.hpp | 2 +- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/builder.cpp b/builder.cpp index 151846b..dcb6985 100644 --- a/builder.cpp +++ b/builder.cpp @@ -88,7 +88,8 @@ void Builder::run_build() { if(rc == 0) { gui.build_works(); } else { - gui.build_failed(build_cmd); + gui.output(format(">>>>>>>> DIED? {}", game.is_dead())); + gui.build_failed(!game.is_dead(), build_cmd); } stats_out.close(); diff --git a/gui.cpp b/gui.cpp index 56f5c46..7bbad57 100644 --- a/gui.cpp +++ b/gui.cpp @@ -139,9 +139,13 @@ void GUI::build_works() { output("BUILD FINISHED!"); } -void GUI::build_failed(const string &command) { +void GUI::build_failed(bool play_sound, const string &command) { building_sound.stop(); - build_failed_sound.play(); + + if(play_sound) { + build_failed_sound.play(); + } + output(format("!!! BUILD FAILED. Your command correct? '{}'", command)); } diff --git a/gui.hpp b/gui.hpp index 95f0af2..2ddeaa3 100644 --- a/gui.hpp +++ b/gui.hpp @@ -37,7 +37,7 @@ class GUI { int main_loop(GameEngine &game, std::function runner); void build_works(); - void build_failed(const string &command); + void build_failed(bool play_sound, const string &command); void you_died(); void building(); };