Improve handling of M_StartMessage strings

The author of this commit ran into an issue while testing previous changes where a Menu Message had MM_NOTHING but a Yes and No string, leading to misleading appearances. This prevents that footgun from happening again.
This commit is contained in:
toaster 2023-06-18 19:08:42 +01:00
parent 3e6a5fda21
commit d6a3e1446f

View file

@ -85,15 +85,19 @@ void M_StartMessage(const char *header, const char *string, void (*routine)(INT3
menumessage.flags = MM_NOTHING;
}
if (menumessage.flags == MM_YESNO && !defaultstr)
{
menumessage.defaultstr = "No";
menumessage.confirmstr = "Yes";
}
else
// Set action strings
switch (menumessage.flags)
{
// Send 1 to the routine if we're pressing A, 2 if B/X, 0 otherwise.
case MM_YESNO:
menumessage.defaultstr = defaultstr ? defaultstr : "No";
menumessage.confirmstr = confirmstr ? confirmstr : "Yes";
break;
default:
menumessage.defaultstr = defaultstr ? defaultstr : "OK";
menumessage.confirmstr = confirmstr;
menumessage.confirmstr = NULL;
break;
}
// event routine