From 9f0d3afa380014e9e2623f8d63e497861b6776e8 Mon Sep 17 00:00:00 2001
From: deuce <>
Date: Fri, 26 Sep 2008 01:28:07 +0000
Subject: [PATCH] More Operation: Overkill terminal fixups.

---
 src/syncterm/ooii.c        |  8 ++++----
 src/syncterm/ooii.h        |  2 +-
 src/syncterm/ooii_bmenus.c | 22 ++++++++++++++++------
 src/syncterm/ooii_bmenus.h |  2 +-
 src/syncterm/ooii_cmenus.c | 19 +++++++++++++++++--
 src/syncterm/ooii_cmenus.h |  2 +-
 src/syncterm/ooii_logons.c | 14 +++++++++++++-
 src/syncterm/ooii_logons.h |  2 +-
 src/syncterm/term.c        |  7 +++++--
 9 files changed, 59 insertions(+), 19 deletions(-)

diff --git a/src/syncterm/ooii.c b/src/syncterm/ooii.c
index 688d2f197c..2fae38fa9b 100644
--- a/src/syncterm/ooii.c
+++ b/src/syncterm/ooii.c
@@ -1729,12 +1729,12 @@ BOOL handle_ooii_code(char *codeStr, int *ooii_mode, char *retbuf, size_t retsiz
 						getBlock(&codeStr,menuBlock);
 						zz=atoi(menuBlock);
 						/* Highest we support is two */
-						if(zz > MAX_OOII_MODE)
-							zz=MAX_OOII_MODE;
-						/* Old versions don't include a number */
+						if(zz >= MAX_OOII_MODE)
+							zz=MAX_OOII_MODE-1;
+						/* Old (1.22) versions don't include a number */
 						if(zz < 1)
 							zz=1;
-						*ooii_mode=zz;
+						*ooii_mode=zz+1;
 						if(strlen(retbuf)+3 < retsize)
 							sprintf(retbuf, "\xaf%d|", zz);
 					}
diff --git a/src/syncterm/ooii.h b/src/syncterm/ooii.h
index b6fe6dd57e..ceae9015cf 100644
--- a/src/syncterm/ooii.h
+++ b/src/syncterm/ooii.h
@@ -3,7 +3,7 @@
 
 #include <genwrap.h>
 
-#define MAX_OOII_MODE 2
+#define MAX_OOII_MODE 3
 
 BOOL handle_ooii_code(char *codeStr, int *ooii_mode, char *retbuf, size_t retsize);
 
diff --git a/src/syncterm/ooii_bmenus.c b/src/syncterm/ooii_bmenus.c
index 8d42d0584f..59b3e555be 100644
--- a/src/syncterm/ooii_bmenus.c
+++ b/src/syncterm/ooii_bmenus.c
@@ -148,7 +148,6 @@ static const unsigned char ooii_bmenus_5[] = {
 	0x00
 };
 
-#if 0
 /* Menu 6 -- Base Tech Center  */
 static const unsigned char ooii_bmenus_6[] = {
 	0x1B, 0x5B, 0x31, 0x32, 0x43, 0x1B, 0x5B, 0x30, 0x3B, 0x31, 0x3B, 0x33, 0x30, 0x6D, 0xC2, 0xC2, 0xC1, 0xC2, 0xC1, 0xC2, 0xC1, 0xC2, 0xC1, 0xC2, 0xC1, 0xC2, 0xC1, 0xC2, 0xC1, 0xC2, 0xC1, 0xC2, 0xC1, 0xC2, 0xC1, 0xC2, 0xC1, 0xC2, 0xC1, 0xC2, 0xC1, 0xC2, 0xC1, 0xC2, 0xC1, 0xC2, 0xC1, 0xC2, 0xC1, 0xC2, 0xC1, 0xC2, 0xC1, 0xC2, 0xC1, 0xC2, 0xC1, 0xC2, 0xC1, 0xC2, 0xC1, 0xC2, 0xC1, 0xC2, 0xC1, 0xC2, 0xC1, 0xC2, 0x0D, 0x0A, 
@@ -173,9 +172,13 @@ static const unsigned char ooii_bmenus_6[] = {
 	0x1B, 0x5B, 0x31, 0x32, 0x43, 0xB4, 0xC3, 0x1B, 0x5B, 0x31, 0x37, 0x43, 0xDE, 0x1B, 0x5B, 0x31, 0x33, 0x43, 0xDE, 0x1B, 0x5B, 0x30, 0x6D, 0x0D, 0x0A, 
 
 };
-#else
+
 /* Menu 6 -- Base Tech Center  */
-static const unsigned char ooii_bmenus_6[] = {
+/*
+ * For v1.22+
+ * Added R)egnsvacs Launch
+ */
+static const unsigned char ooii_bmenus_new_6[] = {
 	0x1B, 0x5B, 0x31, 0x32, 0x43, 0x1B, 0x5B, 0x30, 0x3B, 0x31, 0x3B, 0x33, 0x30, 0x6D, 0xC2, 0xC2, 0xC1, 0xC2, 0xC1, 0xC2, 0xC1, 0xC2, 0xC1, 0xC2, 0xC1, 0xC2, 0xC1, 0xC2, 0xC1, 0xC2, 0xC1, 0xC2, 0xC1, 0xC2, 0xC1, 0xC2, 0xC1, 0xC2, 0xC1, 0xC2, 0xC1, 0xC2, 0xC1, 0xC2, 0xC1, 0xC2, 0xC1, 0xC2, 0xC1, 0xC2, 0xC1, 0xC2, 0xC1, 0xC2, 0xC1, 0xC2, 0xC1, 0xC2, 0xC1, 0xC2, 0xC1, 0xC2, 0xC1, 0xC2, 0xC1, 0xC2, 0xC1, 0xC2, 0x0D, 0x0A, 
 	0x1B, 0x5B, 0x31, 0x32, 0x43, 0xC3, 0xB4, 0x0D, 0x0A, 
 	0x1B, 0x5B, 0x31, 0x32, 0x43, 0xB4, 0xC3, 0x0D, 0x0A, 
@@ -198,9 +201,8 @@ static const unsigned char ooii_bmenus_6[] = {
 	0x1B, 0x5B, 0x31, 0x32, 0x43, 0xB4, 0xC3, 0x1B, 0x5B, 0x31, 0x37, 0x43, 0xDE, 0x1B, 0x5B, 0x31, 0x33, 0x43, 0xDE, 0x1B, 0x5B, 0x30, 0x6D, 0x0D, 0x0A, 
 
 };
-#endif
 
-const unsigned char *ooii_bmenus[2][6] = {
+const unsigned char *ooii_bmenus[3][6] = {
 	{
 		ooii_bmenus_1,
 		ooii_bmenus_2,
@@ -215,6 +217,14 @@ const unsigned char *ooii_bmenus[2][6] = {
 		ooii_bmenus_3,
 		ooii_bmenus_4,
 		ooii_bmenus_5,
-		ooii_bmenus_6,
+		ooii_bmenus_new_6,
+	}
+	,{
+		ooii_bmenus_1,
+		ooii_bmenus_2,
+		ooii_bmenus_3,
+		ooii_bmenus_4,
+		ooii_bmenus_5,
+		ooii_bmenus_new_6,
 	}
 };
diff --git a/src/syncterm/ooii_bmenus.h b/src/syncterm/ooii_bmenus.h
index 1eeb9d1b60..5ca71fed86 100644
--- a/src/syncterm/ooii_bmenus.h
+++ b/src/syncterm/ooii_bmenus.h
@@ -1,6 +1,6 @@
 #ifndef _BMENUS_H_
 #define _BMENUS_H_
 
-extern const unsigned char *ooii_bmenus[2][6];
+extern const unsigned char *ooii_bmenus[3][6];
 
 #endif
diff --git a/src/syncterm/ooii_cmenus.c b/src/syncterm/ooii_cmenus.c
index 7774731f52..b14d3fc473 100644
--- a/src/syncterm/ooii_cmenus.c
+++ b/src/syncterm/ooii_cmenus.c
@@ -29,6 +29,10 @@ static const unsigned char ooii_cmenus_1[] = {
 };
 
 /* ComplexMenus - Menu1 */
+/*
+ * For v1.22+
+ * Includes W)astelands in the ANSI
+ */
 static const unsigned char ooii_cmenus_new_1[] = {
 	0x1B, 0x5B, 0x33, 0x33, 0x43, 0x1B, 0x5B, 0x30, 0x3B, 0x31, 0x3B, 0x33, 0x32, 0x6D, 0x2A, 0x29, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6E, 0x20, 0x74, 0x6F, 0x20, 0x42, 0x42, 0x53, 0x0D, 0x0A, 
 	0x1B, 0x5B, 0x33, 0x33, 0x43, 0x1B, 0x5B, 0x33, 0x37, 0x6D, 0xDC, 0xDC, 0xDC, 0xDC, 0xDC, 0xDC, 0xDC, 0xDC, 0xDC, 0xDC, 0xDC, 0xDC, 0xDC, 0xDC, 0xDC, 0x0D, 0x0A, 
@@ -134,7 +138,11 @@ static const unsigned char ooii_cmenus_4[] = {
 	0x00
 };
 
-/* Menu4 */
+/* Complex HQ */
+/*
+ * For 1.23+
+ * Added B)riefing Room
+ */
 static const unsigned char ooii_cmenus_new_4[] = {
 	0x1B, 0x5B, 0x34, 0x33, 0x43, 0x1B, 0x5B, 0x30, 0x3B, 0x31, 0x6D, 0xDC, 0xDC, 0xDC, 0xDC, 0xDC, 0xDC, 0xDC, 0xDC, 0xDC, 0xDC, 0xDC, 0xDC, 0xDC, 0xDC, 0xDC, 0x0D, 0x0A, 
 	0x1B, 0x5B, 0x34, 0x33, 0x43, 0x1B, 0x5B, 0x34, 0x37, 0x6D, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x1B, 0x5B, 0x34, 0x30, 0x6D, 0x0D, 0x0A, 
@@ -193,7 +201,7 @@ static const unsigned char ooii_cmenus_5[] = {
 	0x1B, 0x5B, 0x36, 0x31, 0x43, 0x1B, 0x5B, 0x33, 0x33, 0x6D, 0x65, 0x64, 0x72, 0x61, 0x77, 0x20, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6E, 0x1B, 0x5B, 0x30, 0x6D, 0x0D, 0x0A, 
 
 };
-const unsigned char *ooii_cmenus[2][5] = {
+const unsigned char *ooii_cmenus[3][5] = {
 	{
 		ooii_cmenus_1,
 		ooii_cmenus_2,
@@ -201,6 +209,13 @@ const unsigned char *ooii_cmenus[2][5] = {
 		ooii_cmenus_4,
 		ooii_cmenus_5,
 	}
+	,{
+		ooii_cmenus_new_1,
+		ooii_cmenus_2,
+		ooii_cmenus_3,
+		ooii_cmenus_4,
+		ooii_cmenus_5,
+	}
 	,{
 		ooii_cmenus_new_1,
 		ooii_cmenus_2,
diff --git a/src/syncterm/ooii_cmenus.h b/src/syncterm/ooii_cmenus.h
index 1b39470cd8..5533a06d78 100644
--- a/src/syncterm/ooii_cmenus.h
+++ b/src/syncterm/ooii_cmenus.h
@@ -1,6 +1,6 @@
 #ifndef _CMENUS_H_
 #define _CMENUS_H_
 
-extern const unsigned char *ooii_cmenus[2][5];
+extern const unsigned char *ooii_cmenus[3][5];
 
 #endif
diff --git a/src/syncterm/ooii_logons.c b/src/syncterm/ooii_logons.c
index f453198aa0..83c54ccdd7 100644
--- a/src/syncterm/ooii_logons.c
+++ b/src/syncterm/ooii_logons.c
@@ -479,7 +479,7 @@ static const unsigned char ooii_logon_10[] = {
 	0x1B, 0x5B, 0x36, 0x39, 0x43, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0xB0, 0x1B, 0x5B, 0x30, 0x6D, 0x0D, 0x0A, 
 
 };
-const unsigned char *ooii_logon[2][10] = {
+const unsigned char *ooii_logon[3][10] = {
 	{
 		ooii_logon_1,
 		ooii_logon_2,
@@ -504,4 +504,16 @@ const unsigned char *ooii_logon[2][10] = {
 		ooii_logon_9,
 		ooii_logon_10,
 	}
+	,{
+		ooii_logon_1,
+		ooii_logon_2,
+		ooii_logon_3,
+		ooii_logon_4,
+		ooii_logon_5,
+		ooii_logon_6,
+		ooii_logon_7,
+		ooii_logon_8,
+		ooii_logon_9,
+		ooii_logon_10,
+	}
 };
diff --git a/src/syncterm/ooii_logons.h b/src/syncterm/ooii_logons.h
index 2e7d9a2336..03deb5e218 100644
--- a/src/syncterm/ooii_logons.h
+++ b/src/syncterm/ooii_logons.h
@@ -1,6 +1,6 @@
 #ifndef _LOGON_H_
 #define _LOGON_H_
 
-extern const unsigned char *ooii_logon[2][10];
+extern const unsigned char *ooii_logon[3][10];
 
 #endif
diff --git a/src/syncterm/term.c b/src/syncterm/term.c
index b2fa7655bf..cecdb81292 100644
--- a/src/syncterm/term.c
+++ b/src/syncterm/term.c
@@ -184,10 +184,13 @@ void update_status(struct bbslist *bbs, int speed, int ooii_mode)
 		strcat(nbuf, " (DrWy)");
 	switch(ooii_mode) {
 	case 1:
-		strcat(nbuf, " (OO][ 1.20)");
+		strcat(nbuf, " (OOTerm)");
 		break;
 	case 2:
-		strcat(nbuf, " (OO][ 1.23)");
+		strcat(nbuf, " (OOTerm1)");
+		break;
+	case 3:
+		strcat(nbuf, " (OOTerm2)");
 		break;
 	}
 	switch(cio_api.mode) {
-- 
GitLab