From 1836ad86b66e3db814fdad2a4a3d91cff1c6db6e Mon Sep 17 00:00:00 2001
From: adelikat <adelikat@tasvideos.org>
Date: Wed, 29 Jan 2020 17:10:03 -0600
Subject: [PATCH] Basic bot - if bot is unable to run and a message box is
 shown, show a specific error as to why it can't, instead of a generic error

---
 BizHawk.Client.EmuHawk/tools/BasicBot/BasicBot.cs | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/BizHawk.Client.EmuHawk/tools/BasicBot/BasicBot.cs b/BizHawk.Client.EmuHawk/tools/BasicBot/BasicBot.cs
index a8761d1baa..e5a4c3120c 100644
--- a/BizHawk.Client.EmuHawk/tools/BasicBot/BasicBot.cs
+++ b/BizHawk.Client.EmuHawk/tools/BasicBot/BasicBot.cs
@@ -933,9 +933,10 @@ namespace BizHawk.Client.EmuHawk
 
 		private void StartBot()
 		{
-			if (!CanStart())
+			var message = CanStart();
+			if (!string.IsNullOrWhiteSpace(message))
 			{
-				MessageBox.Show("Unable to run with current settings");
+				MessageBox.Show(message);
 				return;
 			}
 
@@ -972,24 +973,24 @@ namespace BizHawk.Client.EmuHawk
 			_logGenerator.SetSource(Global.ClickyVirtualPadController);
 		}
 
-		private bool CanStart()
+		private string CanStart()
 		{
 			if (!ControlProbabilities.Any(cp => cp.Value > 0))
 			{
-				return false;
+				return "At least one control must have a probability greater than 0.";
 			}
 
 			if (!MaximizeAddressBox.ToRawInt().HasValue)
 			{
-				return false;
+				return "A main value address is required.";
 			}
 
 			if (FrameLengthNumeric.Value == 0)
 			{
-				return false;
+				return "A frame count greater than 0 is required";
 			}
 
-			return true;
+			return null;
 		}
 
 		private void StopBot()