From 29df0de652453e016a57e95d3135e32584eefa00 Mon Sep 17 00:00:00 2001
From: deuce <>
Date: Thu, 20 Jan 2005 00:44:45 +0000
Subject: [PATCH] More tweaking to music parsing code... this seems to work
 with every ANSI music string I've found.

---
 src/conio/cterm.c | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/src/conio/cterm.c b/src/conio/cterm.c
index 440c892d56..4f118c1e5b 100644
--- a/src/conio/cterm.c
+++ b/src/conio/cterm.c
@@ -186,8 +186,10 @@ void play_music(void)
 	int		notenum;
 
 	p=cterm.musicbuf;
-	if((*p=='B' || *p=='F') && *(p+1)==' ')
-		p++;
+	if(cterm.music==1) {
+		if(*p=='B' || *p=='b' || *p=='F' || *p=='f')
+			p++;
+	}
 	for(;*p;p++) {
 		notenum=0;
 		switch(toupper(*p)) {
@@ -572,9 +574,12 @@ void do_ansi(char *retbuf, int retsize)
 					free(p2);
 					break;
 				case 'M':
-				case 'N':
 					cterm.music=1;
 					break;
+				case 'N':
+					/* BananANSI style... does NOT start with MF or MB */
+					cterm.music=2;
+					break;
 				case 'P':	/* Delete char */
 					i=atoi(cterm.escbuf+1);
 					if(i==0)
-- 
GitLab