[Scummvm-git-logs] scummvm master -> 9424d4b4edf02a98afd31ff136105a6c4bfe5d30

dreammaster noreply at scummvm.org
Tue Sep 27 01:39:51 UTC 2022


This automated email contains information about 20 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
37b0ebbf44 GLK: AGT: Fix substitutions in MSG_MAIN messages
4116cde102 GLK: AGT: Allow interpreter exit from within menu loop
856841df80 GLK: AGT: First attempt to fix TMD Thief, and room handling in general
8c5a1d1e37 GLK: AGT: Convert 2-word synonims to canonical form
5460bfdec5 GLK: AGT: Get two-word commands fix to work for both AGT and AGX
3e09284d6f GLK: AGT: Turn on command redir expansion for pre-Masters 1.5 variants
27a5b9a81e GLK: AGT: Always sort metacommands
7665848708 GLK: AGT: Turn on smart disambiguation by default for AGT 1.5 onwards
ac44613fbd GLK: AGT: Fewer extra newlines when replaying a log file
fec275835f GLK: AGT: Show last input from log file
7a78690576 GLK: AGT: Cast the result of asking for a number to be a signed 16-bit
44f8181c24 GLK: AGT: Sort out newline handling again
8ac79a7c7b GLK: AGT: Tidy logic to limit AskQuestion result to 16bit int range
af5096109f GLK: AGT: Rework newline interface to keep agt_input() unchanged
d6a870d676 GLK: AGT: Add alternative RNG and stable_random config option
14ed2b3d99 GLK: AGT: Re-work random number generation
bb9b69cd61 GLK: AGT: If stable_random is set, reset RNG when restarting a game
27350175e4 GLK: AGT: Allow Shades of Grey to define 'scream' in a dummy_verb
db4d180d48 GLK: AGT: Fix order of scanning dummy verbs
9424d4b4ed GLK: AGT: Bump version number to 1.1.2


Commit: 37b0ebbf44efd0b0e65793dd271b422ecec53e6f
    https://github.com/scummvm/scummvm/commit/37b0ebbf44efd0b0e65793dd271b422ecec53e6f
Author: Walter Agazzi (walter.agazzi at protonmail.com)
Date: 2022-09-26T18:39:38-07:00

Commit Message:
GLK: AGT: Fix substitutions in MSG_MAIN messages

Changed paths:
    engines/glk/agt/exec.cpp


diff --git a/engines/glk/agt/exec.cpp b/engines/glk/agt/exec.cpp
index dfa77ef25d8..8214c5608f5 100644
--- a/engines/glk/agt/exec.cpp
+++ b/engines/glk/agt/exec.cpp
@@ -363,7 +363,6 @@ static int wordcode_match(const char **pvarname, char *fill_buff,
 		return 1;
 	}
 
-	if (context == MSG_MAIN) return 0;
 
 	if (context == MSG_PARSE) {
 		/* The only special subsitution allowed is $word$. */
@@ -374,80 +373,81 @@ static int wordcode_match(const char **pvarname, char *fill_buff,
 		} else return 0;
 	}
 
-	/* d2buff is a macro that returns 1 */
-	if (match_str(pvarname, "NOUN$"))
-		num_name(dobj_rec, just_seen_adj);
-	just_seen_adj = 0; /* It doesn't matter. */
-	if (match_str(pvarname, "VERB$"))
-		d2buff(realverb);  /* auxsyn[vb][0] */
-	if (match_str(pvarname, "OBJECT$"))
-		num_name(iobj_rec, 0);
-	if (match_str(pvarname, "NAME$"))
-		num_name(actor_rec, 0);
-	if (match_str(pvarname, "ADJECTIVE$")) {
-		just_seen_adj = get_adj(dobj_rec, fill_buff);
-		return 1;
-	}
-	if (match_str(pvarname, "PREP$") || match_str(pvarname, "PREP_$"))
-		d2buff(prep);
-	if (match_str(pvarname, "N_PRO$"))
-		d2buff(it_pronoun(dobj, 0));
-	if (match_str(pvarname, "O_PRO$"))
-		d2buff(it_pronoun(iobj, 0));
-	if (match_str(pvarname, "NAME_PRO$"))
-		d2buff(it_pronoun(actor, 0));
-	if (match_str(pvarname, "N_INDIR$"))
-		d2buff(it_pronoun(dobj, 1));
-	if (match_str(pvarname, "O_INDIR$"))
-		d2buff(it_pronoun(iobj, 1));
-	if (match_str(pvarname, "NAME_INDIR$"))
-		d2buff(it_pronoun(actor, 1));
-	if (match_str(pvarname, "N_IS$")) {
-		if (!it_plur(dobj)) d2buff(ext_code[wis])
+	if (context!=MSG_MAIN) {
+		/* d2buff is a macro that returns 1 */
+		if (match_str(pvarname, "NOUN$"))
+			num_name(dobj_rec, just_seen_adj);
+		just_seen_adj = 0; /* It doesn't matter. */
+		if (match_str(pvarname, "VERB$"))
+			d2buff(realverb); /* auxsyn[vb][0] */
+		if (match_str(pvarname, "OBJECT$"))
+			num_name(iobj_rec, 0);
+		if (match_str(pvarname, "NAME$"))
+			num_name(actor_rec, 0);
+		if (match_str(pvarname, "ADJECTIVE$")) {
+			just_seen_adj = get_adj(dobj_rec, fill_buff);
+			return 1;
+		}
+		if (match_str(pvarname, "PREP$") || match_str(pvarname, "PREP_$"))
+			d2buff(prep);
+		if (match_str(pvarname, "N_PRO$"))
+			d2buff(it_pronoun(dobj, 0));
+		if (match_str(pvarname, "O_PRO$"))
+			d2buff(it_pronoun(iobj, 0));
+		if (match_str(pvarname, "NAME_PRO$"))
+			d2buff(it_pronoun(actor, 0));
+		if (match_str(pvarname, "N_INDIR$"))
+			d2buff(it_pronoun(dobj, 1));
+		if (match_str(pvarname, "O_INDIR$"))
+			d2buff(it_pronoun(iobj, 1));
+		if (match_str(pvarname, "NAME_INDIR$"))
+			d2buff(it_pronoun(actor, 1));
+		if (match_str(pvarname, "N_IS$")) {
+			if (!it_plur(dobj)) d2buff(ext_code[wis])
 			else d2buff(ext_code[ware]);
-	}
-	if (match_str(pvarname, "O_IS$")) {
-		if (!it_plur(iobj)) d2buff(ext_code[wis])
+		}
+		if (match_str(pvarname, "O_IS$")) {
+			if (!it_plur(iobj)) d2buff(ext_code[wis])
 			else d2buff(ext_code[ware]);
-	}
-	if (match_str(pvarname, "NAME_IS$")) {
-		if (!it_plur(actor)) d2buff(ext_code[wis])
+		}
+		if (match_str(pvarname, "NAME_IS$")) {
+			if (!it_plur(actor)) d2buff(ext_code[wis])
 			else d2buff(ext_code[ware]);
-	}
-
-	if (match_str(pvarname, "N_WAS$")) {
-		if (!it_plur(dobj)) d2buff(ext_code[wwas])
+		}
+		if (match_str(pvarname, "N_WAS$")) {
+			if (!it_plur(dobj)) d2buff(ext_code[wwas])
 			else d2buff(ext_code[wwere]);
-	}
-	if (match_str(pvarname, "O_WAS$")) {
-		if (!it_plur(iobj)) d2buff(ext_code[wwas])
+		}
+		if (match_str(pvarname, "O_WAS$")) {
+			if (!it_plur(iobj)) d2buff(ext_code[wwas])
 			else d2buff(ext_code[wwere]);
-	}
-	if (match_str(pvarname, "NAME_WAS$")) {
-		if (!it_plur(actor)) d2buff(ext_code[wwas])
+		}
+		if (match_str(pvarname, "NAME_WAS$")) {
+			if (!it_plur(actor)) d2buff(ext_code[wwas])
 			else d2buff(ext_code[wwere]);
-	}
-	if (match_str(pvarname, "THE_N$")) {
-		theset(fill_buff, dobj);
-		return 1;
-	}
-	if (match_str(pvarname, "THE_O$")) {
-		theset(fill_buff, iobj);
-		return 1;
-	}
-	if (match_str(pvarname, "THE_NAME$")) {
-		theset(fill_buff, actor);
-		return 1;
-	}
-	if (match_str(pvarname, "THE_C$")) {
-		theset(fill_buff, curr_creat_rec->obj);
-		return 1;
-	}
-	if (match_str(pvarname, "C_NAME$"))
-		num_name(curr_creat_rec, 0);
-	if (match_str(pvarname, "TIME$")) {
-		time_out(fill_buff);
-		return 1;
+		}
+		if (match_str(pvarname, "THE_N$")) {
+			theset(fill_buff, dobj);
+			return 1;
+		}
+		if (match_str(pvarname, "THE_O$")) {
+			theset(fill_buff, iobj);
+			return 1;
+		}
+		if (match_str(pvarname, "THE_NAME$")) {
+			theset(fill_buff, actor);
+			return 1;
+		}
+		if (match_str(pvarname, "THE_C$")) {
+			theset(fill_buff, curr_creat_rec->obj);
+			return 1;
+		}
+		if (match_str(pvarname, "C_NAME$"))
+			num_name(curr_creat_rec, 0);
+		if (match_str(pvarname, "TIME$")) {
+			time_out(fill_buff);
+			return 1;
+		}
 	}
 
 	if (pronoun_mode && match_str(pvarname, "YOU$"))


Commit: 4116cde102489d526058b448ce05ecb7cf1a0a3b
    https://github.com/scummvm/scummvm/commit/4116cde102489d526058b448ce05ecb7cf1a0a3b
Author: Walter Agazzi (walter.agazzi at protonmail.com)
Date: 2022-09-26T18:39:38-07:00

Commit Message:
GLK: AGT: Allow interpreter exit from within menu loop

Changed paths:
    engines/glk/agt/exec.cpp
    engines/glk/agt/interface.cpp


diff --git a/engines/glk/agt/exec.cpp b/engines/glk/agt/exec.cpp
index 8214c5608f5..3d4a1ce66f0 100644
--- a/engines/glk/agt/exec.cpp
+++ b/engines/glk/agt/exec.cpp
@@ -897,7 +897,7 @@ long read_number(void) {
 		n = strtol(s, &err, 10);
 		if (err == s) err = nullptr;
 		rfree(s);
-	} while (err == nullptr);
+	} while (!quitflag && (err == nullptr));
 	return n;
 }
 
diff --git a/engines/glk/agt/interface.cpp b/engines/glk/agt/interface.cpp
index ddc44df4148..9b0336c4354 100644
--- a/engines/glk/agt/interface.cpp
+++ b/engines/glk/agt/interface.cpp
@@ -613,7 +613,7 @@ int agt_menu(const char *header, int size, int width, menuentry *menu)
 		i = read_number() - 1;
 		if (i < 0 || i >= size)
 			writeln("Please choose an option from the menu.");
-	} while (i < 0 || i >= size);
+	} while (!quitflag && (i < 0 || i >= size));
 	return i;
 }
 


Commit: 856841df80fda7bf71b3cfaefc6d596ad4d64936
    https://github.com/scummvm/scummvm/commit/856841df80fda7bf71b3cfaefc6d596ad4d64936
Author: Walter Agazzi (walter.agazzi at protonmail.com)
Date: 2022-09-26T18:39:38-07:00

Commit Message:
GLK: AGT: First attempt to fix TMD Thief, and room handling in general

Changed paths:
    engines/glk/agt/agtread.cpp


diff --git a/engines/glk/agt/agtread.cpp b/engines/glk/agt/agtread.cpp
index 32443b7e7ed..7abc4028f44 100644
--- a/engines/glk/agt/agtread.cpp
+++ b/engines/glk/agt/agtread.cpp
@@ -1048,7 +1048,7 @@ noun inside information; this is used by agtout */
 	if (aver == AGTCOS)
 		MaxQuestion = 10;
 	if (aver == AGT15 || aver == AGT15F)
-		MaxQuestion = 57;
+		MaxQuestion = 41;
 	first_room = 2;
 	if (ver == 1) {
 		first_noun = 200;
@@ -1274,6 +1274,16 @@ static int try_read_da1(fc_type fc, genfile fda1, rbool diag)
 
 		for (i = 0; i < numglobal; i++)
 			globalnoun[i] = readdict(fda1); /* Global nouns */
+
+	} else if (aver >= AGT15) {
+
+		(void)readdict(fda1);
+
+		report("Reading flag nouns",fda1);
+
+		for(i = 0; i < MAX_FLAG_NOUN; i++)
+			flag_noun[i] = readdict(fda1);
+
 	} else
 		for (i = 0; i < MAX_FLAG_NOUN; i++)
 			flag_noun[i] = 0;
@@ -1661,7 +1671,7 @@ static void finish_read(rbool cleanup)
 	rfree(t_songlist);
 	rfree(t_fontlist);
 
-	/* Reallocate questions and asnwers to only use the space that they need */
+	/* Reallocate questions and answers to only use the space that they need */
 	if (!RAW_CMD_OUT && top_quest < MaxQuestion) {
 		MaxQuestion = top_quest; /* top_quest is computed by fixcmd */
 		if (top_quest == 0) {
@@ -1680,6 +1690,18 @@ static void finish_read(rbool cleanup)
 				ans_ptr = (descr_ptr *)rrealloc(ans_ptr, top_quest * sizeof(descr_ptr));
 		}
 	}
+
+	int flagnum = 1;
+	for (i = 0; i <MAX_FLAG_NOUN; i++) {
+		if (flag_noun[i] != 0) {
+			int j;
+			for (j = 0; j <= maxnoun-first_noun; j++) {
+				if (noun[j].name == flag_noun[i])
+					noun[j].flagnum = flagnum;
+			}
+		flagnum++;
+		}
+	}
 }
 
 void free_all_agtread() {


Commit: 8c5a1d1e37cb04027621ca3e58bcf6b4d06f21a9
    https://github.com/scummvm/scummvm/commit/8c5a1d1e37cb04027621ca3e58bcf6b4d06f21a9
Author: Walter Agazzi (walter.agazzi at protonmail.com)
Date: 2022-09-26T18:39:38-07:00

Commit Message:
GLK: AGT: Convert 2-word synonims to canonical form

Rewrite metacommands that apply to built-in two-word synonims
for standard verbs into the canonical form of these verbs, so
that the metacommand runs when the command is entered

Changed paths:
    engines/glk/agt/agtread.cpp
    engines/glk/agt/gamedata.cpp


diff --git a/engines/glk/agt/agtread.cpp b/engines/glk/agt/agtread.cpp
index 7abc4028f44..65ae95340ad 100644
--- a/engines/glk/agt/agtread.cpp
+++ b/engines/glk/agt/agtread.cpp
@@ -549,6 +549,39 @@ static int translate_vnum(int vnum)
 	return vnum;
 }
 
+static word check_comb(int combptr, int verbcmd, int nouncmd) {
+	word w;
+
+	if (combptr == 0) return 0;
+
+	w = syntbl[combptr];
+	if (syntbl[combptr+1] != verbcmd) return 0;
+	if (syntbl[combptr+2] != nouncmd) return 0;
+	if (syntbl[combptr+3] == 0) return w;
+
+	return 0;
+}
+
+/* For metacommands that apply to built-in two-word synonyms (e.g. GET OUT),
+   change the command to apply to the canonical form. */
+void command_syn_canon(cmd_rec* cmd) {
+	int i, vb;
+	word w;
+
+	/* VERB NOUN only */
+	if(cmd->verbcmd > 0 && cmd->nouncmd > 0 && cmd->prep == 0 && cmd->objcmd == 0) {
+		for(i = 0; i < num_auxcomb; i++) {
+			w = check_comb(auxcomb[i], cmd->verbcmd, cmd->nouncmd);
+			if (w > 0) {
+				vb = verb_builtin(w);
+				if(vb > 0) {
+					cmd->verbcmd = syntbl[auxsyn[vb]];
+					cmd->nouncmd = 0;
+				}
+			}
+		}
+	}
+}
 
 #define CREC_SIZE (FRS_CMD)
 
@@ -591,6 +624,7 @@ static void read_da5(fc_type fc) {
 			cmd_ptr[i] = (long)buff[bp] + (((long)buff[bp + 1]) << 8);
 			bp += 2;
 		}
+		command_syn_canon(command+i);
 	}
 	if (DIAG)
 		rprintf("     Internal:%ld\n", bp);
@@ -1691,6 +1725,7 @@ static void finish_read(rbool cleanup)
 		}
 	}
 
+	/* Set the flag number for nouns mentioned in the flag_noun list */
 	int flagnum = 1;
 	for (i = 0; i <MAX_FLAG_NOUN; i++) {
 		if (flag_noun[i] != 0) {
diff --git a/engines/glk/agt/gamedata.cpp b/engines/glk/agt/gamedata.cpp
index 1fc7aeb5e9d..f746c664b66 100644
--- a/engines/glk/agt/gamedata.cpp
+++ b/engines/glk/agt/gamedata.cpp
@@ -1211,7 +1211,7 @@ void sort_cmd(void) {
 	}
 
 #ifdef SORT_META
-	if (!agx_file && aver >= AGX00) rsort();
+	if (!agx_file) rsort();
 #endif
 
 


Commit: 5460bfdec56901e4c622e09920d312efe78f787c
    https://github.com/scummvm/scummvm/commit/5460bfdec56901e4c622e09920d312efe78f787c
Author: Walter Agazzi (walter.agazzi at protonmail.com)
Date: 2022-09-26T18:39:38-07:00

Commit Message:
GLK: AGT: Get two-word commands fix to work for both AGT and AGX

Changed paths:
    engines/glk/agt/agility.h
    engines/glk/agt/agtread.cpp
    engines/glk/agt/agxfile.cpp
    engines/glk/agt/gamedata.cpp


diff --git a/engines/glk/agt/agility.h b/engines/glk/agt/agility.h
index f3f2fc128b9..8d63f5c6201 100644
--- a/engines/glk/agt/agility.h
+++ b/engines/glk/agt/agility.h
@@ -889,6 +889,7 @@ const char *get_objattr_str(int dtype, int id, long val);
 const opdef *get_opdef(integer op);
 char *objname(int);
 void sort_cmd(void);
+void cmds_syns_canon(void);
 
 void agtwarn(const char *, int elev);
 void agtnwarn(const char *, int, int elev);
diff --git a/engines/glk/agt/agtread.cpp b/engines/glk/agt/agtread.cpp
index 65ae95340ad..2c4199fee4e 100644
--- a/engines/glk/agt/agtread.cpp
+++ b/engines/glk/agt/agtread.cpp
@@ -549,40 +549,6 @@ static int translate_vnum(int vnum)
 	return vnum;
 }
 
-static word check_comb(int combptr, int verbcmd, int nouncmd) {
-	word w;
-
-	if (combptr == 0) return 0;
-
-	w = syntbl[combptr];
-	if (syntbl[combptr+1] != verbcmd) return 0;
-	if (syntbl[combptr+2] != nouncmd) return 0;
-	if (syntbl[combptr+3] == 0) return w;
-
-	return 0;
-}
-
-/* For metacommands that apply to built-in two-word synonyms (e.g. GET OUT),
-   change the command to apply to the canonical form. */
-void command_syn_canon(cmd_rec* cmd) {
-	int i, vb;
-	word w;
-
-	/* VERB NOUN only */
-	if(cmd->verbcmd > 0 && cmd->nouncmd > 0 && cmd->prep == 0 && cmd->objcmd == 0) {
-		for(i = 0; i < num_auxcomb; i++) {
-			w = check_comb(auxcomb[i], cmd->verbcmd, cmd->nouncmd);
-			if (w > 0) {
-				vb = verb_builtin(w);
-				if(vb > 0) {
-					cmd->verbcmd = syntbl[auxsyn[vb]];
-					cmd->nouncmd = 0;
-				}
-			}
-		}
-	}
-}
-
 #define CREC_SIZE (FRS_CMD)
 
 static long badtokcnt;
@@ -624,7 +590,6 @@ static void read_da5(fc_type fc) {
 			cmd_ptr[i] = (long)buff[bp] + (((long)buff[bp + 1]) << 8);
 			bp += 2;
 		}
-		command_syn_canon(command+i);
 	}
 	if (DIAG)
 		rprintf("     Internal:%ld\n", bp);
@@ -1737,6 +1702,8 @@ static void finish_read(rbool cleanup)
 		flagnum++;
 		}
 	}
+
+	cmds_syns_canon();
 }
 
 void free_all_agtread() {
diff --git a/engines/glk/agt/agxfile.cpp b/engines/glk/agt/agxfile.cpp
index c467e70cadf..38dcd094346 100644
--- a/engines/glk/agt/agxfile.cpp
+++ b/engines/glk/agt/agxfile.cpp
@@ -1141,7 +1141,9 @@ int read_agx(fc_type fc, rbool diag) {
 		descr_ofs = index[11].file_offset;
 		mem_descr = nullptr;
 	}
+
 	reinit_dict();
+	cmds_syns_canon();
 	return 1;
 }
 
diff --git a/engines/glk/agt/gamedata.cpp b/engines/glk/agt/gamedata.cpp
index f746c664b66..6d1e5e789a4 100644
--- a/engines/glk/agt/gamedata.cpp
+++ b/engines/glk/agt/gamedata.cpp
@@ -1261,8 +1261,42 @@ void sort_cmd(void) {
 	}
 }
 
+static word check_comb(int combptr, int verbcmd, int nouncmd) {
+	word w;
+
+	if (combptr == 0) return 0;
+
+	w = syntbl[combptr];
+	if (syntbl[combptr+1] != verbcmd) return 0;
+	if (syntbl[combptr+2] != nouncmd) return 0;
+	if (syntbl[combptr+3] == 0) return w;
+
+	return 0;
+}
 
+/* For metacommands that apply to built-in two-word synonyms (e.g. GET OUT),
+   change the command to apply to the canonical form. */
+void cmds_syns_canon(void) {
+	int i, j, vb;
+	word w;
 
+	for (i = 0; i < last_cmd; i++) {
+		/* VERB NOUN only */
+		if (command[i].verbcmd > 0 && command[i].nouncmd > 0 && command[i].prep == 0 &&
+				command[i].objcmd == 0) {
+			for (j = 0; j < num_auxcomb; j++) {
+				w = check_comb(auxcomb[j], command[i].verbcmd, command[i].nouncmd);
+				if (w > 0) {
+					vb = verb_builtin(w);
+					if (vb > 0) {
+						command[i].verbcmd = syntbl[auxsyn[vb]];
+						command[i].nouncmd = 0;
+					}
+				}
+			}
+		}
+	}
+}
 
 /* ------------------------------------------------------------------- */
 /*  Functions for getting opcode information                           */


Commit: 3e09284d6f33d6a299e62bb557a6ba5c3d7ea11c
    https://github.com/scummvm/scummvm/commit/3e09284d6f33d6a299e62bb557a6ba5c3d7ea11c
Author: Walter Agazzi (walter.agazzi at protonmail.com)
Date: 2022-09-26T18:39:38-07:00

Commit Message:
GLK: AGT: Turn on command redir expansion for pre-Masters 1.5 variants

Changed paths:
    engines/glk/agt/metacommand.cpp


diff --git a/engines/glk/agt/metacommand.cpp b/engines/glk/agt/metacommand.cpp
index 1e5dcb8a141..c4eabcc748a 100644
--- a/engines/glk/agt/metacommand.cpp
+++ b/engines/glk/agt/metacommand.cpp
@@ -670,7 +670,7 @@ static int run_metacommand(int cnum, int *redir_offset)
 
 static integer expand_redirect(word w) {
 	assert(w != -1); /* <*NONE*> object shouldn't make it this far */
-	if (w == 0 || aver < AGTME10) return -w;
+	if (w == 0 || aver < AGT15) return -w;
 	if (w == ext_code[wdverb]) return -syntbl[auxsyn[vb]];
 	if (w == ext_code[wdnoun]) return dobj;
 	if (w == ext_code[wdobject]) return iobj;


Commit: 27a5b9a81eabbeb3afc19634de6ee022b256b197
    https://github.com/scummvm/scummvm/commit/27a5b9a81eabbeb3afc19634de6ee022b256b197
Author: Walter Agazzi (walter.agazzi at protonmail.com)
Date: 2022-09-26T18:39:38-07:00

Commit Message:
GLK: AGT: Always sort metacommands

Changed paths:
    engines/glk/agt/gamedata.cpp


diff --git a/engines/glk/agt/gamedata.cpp b/engines/glk/agt/gamedata.cpp
index 6d1e5e789a4..f06e3d2a239 100644
--- a/engines/glk/agt/gamedata.cpp
+++ b/engines/glk/agt/gamedata.cpp
@@ -1211,7 +1211,7 @@ void sort_cmd(void) {
 	}
 
 #ifdef SORT_META
-	if (!agx_file) rsort();
+	rsort();
 #endif
 
 


Commit: 7665848708b691e67ffb957fc0f8e3239d3e2d57
    https://github.com/scummvm/scummvm/commit/7665848708b691e67ffb957fc0f8e3239d3e2d57
Author: Walter Agazzi (walter.agazzi at protonmail.com)
Date: 2022-09-26T18:39:38-07:00

Commit Message:
GLK: AGT: Turn on smart disambiguation by default for AGT 1.5 onwards

Changed paths:
    engines/glk/agt/auxfile.cpp


diff --git a/engines/glk/agt/auxfile.cpp b/engines/glk/agt/auxfile.cpp
index 3f28b150beb..cb3a7b79acf 100644
--- a/engines/glk/agt/auxfile.cpp
+++ b/engines/glk/agt/auxfile.cpp
@@ -247,6 +247,11 @@ rbool parse_config_line(char *buff, rbool lastpass) {
 void read_config(genfile cfgfile, rbool lastpass) {
 	char buff[100];
 
+	if (lastpass) {
+		/* Default to smart disambiguation for 1.5 onwards */
+		if (aver >= AGT15) PURE_DISAMBIG = 0;
+	}
+
 	if (!filevalid(cfgfile, fCFG)) return;
 
 	while (readln(cfgfile, buff, 99)) {


Commit: ac44613fbd207d1b0ae947a5f4fd08faf5aeb625
    https://github.com/scummvm/scummvm/commit/ac44613fbd207d1b0ae947a5f4fd08faf5aeb625
Author: Walter Agazzi (walter.agazzi at protonmail.com)
Date: 2022-09-26T18:39:38-07:00

Commit Message:
GLK: AGT: Fewer extra newlines when replaying a log file

Changed paths:
    engines/glk/agt/interface.cpp


diff --git a/engines/glk/agt/interface.cpp b/engines/glk/agt/interface.cpp
index 9b0336c4354..7d5b5a5135c 100644
--- a/engines/glk/agt/interface.cpp
+++ b/engines/glk/agt/interface.cpp
@@ -209,7 +209,7 @@ static char *get_log(void)
 	s = (char *)rmalloc(1000);
 	s[0] = ' ';
 	s[1] = 0;
-	(void)textgets(log_in, s, 1000);
+	(void)readln(log_in, s, 1000);
 	if (texteof(log_in)) {  /* Reached end of logfile */
 		close_pfile(log_in, 1);
 		log_in = BAD_TEXTFILE;
@@ -226,7 +226,7 @@ static char *get_log(void)
 	} else { /* Need to delay or wait for keypress */
 		if (logdelay == -1) agt_waitkey();
 		else agt_delay(logdelay);
-		if (s[0] != 0) writeln(s);
+		if (s[0] != 0) writestr(s);
 	}
 	return s;
 }


Commit: fec275835f36a63f00dd960580be8146353b4204
    https://github.com/scummvm/scummvm/commit/fec275835f36a63f00dd960580be8146353b4204
Author: Walter Agazzi (walter.agazzi at protonmail.com)
Date: 2022-09-26T18:39:38-07:00

Commit Message:
GLK: AGT: Show last input from log file

Changed paths:
    engines/glk/agt/interface.cpp


diff --git a/engines/glk/agt/interface.cpp b/engines/glk/agt/interface.cpp
index 7d5b5a5135c..0f4bd24af55 100644
--- a/engines/glk/agt/interface.cpp
+++ b/engines/glk/agt/interface.cpp
@@ -222,6 +222,7 @@ static char *get_log(void)
 		} else {
 			logflag &= ~2;
 			fast_replay = 0;
+			if (s[0] != 0) writestr(s);
 		}
 	} else { /* Need to delay or wait for keypress */
 		if (logdelay == -1) agt_waitkey();


Commit: 7a78690576ea8f03265b718019eb1c1868d00a11
    https://github.com/scummvm/scummvm/commit/7a78690576ea8f03265b718019eb1c1868d00a11
Author: Walter Agazzi (walter.agazzi at protonmail.com)
Date: 2022-09-26T18:39:38-07:00

Commit Message:
GLK: AGT: Cast the result of asking for a number to be a signed 16-bit

Changed paths:
    engines/glk/agt/token.cpp


diff --git a/engines/glk/agt/token.cpp b/engines/glk/agt/token.cpp
index 83821274455..adece4f913b 100644
--- a/engines/glk/agt/token.cpp
+++ b/engines/glk/agt/token.cpp
@@ -93,6 +93,8 @@ static long ask_for_number(int n1, int n2) {
 	for (;;) {
 		writestr(s);
 		n = read_number();
+		if (aver < AGX00)
+			n = (integer) n;
 		if (n1 == n2 || (n >= n1 && n <= n2)) return n;
 		writeln("");
 	}


Commit: 44f8181c24f40ee21cb7b4efff40ca6b13462469
    https://github.com/scummvm/scummvm/commit/44f8181c24f40ee21cb7b4efff40ca6b13462469
Author: Walter Agazzi (walter.agazzi at protonmail.com)
Date: 2022-09-26T18:39:38-07:00

Commit Message:
GLK: AGT: Sort out newline handling again

Changed paths:
    engines/glk/agt/interface.cpp


diff --git a/engines/glk/agt/interface.cpp b/engines/glk/agt/interface.cpp
index 0f4bd24af55..5e3a5ee96da 100644
--- a/engines/glk/agt/interface.cpp
+++ b/engines/glk/agt/interface.cpp
@@ -260,6 +260,7 @@ char *agt_readline(int in_type) {
 	if (logflag & 1)
 		put_log(s);
 
+	agt_newline();
 	return s;
 }
 


Commit: 8ac79a7c7bf8a4d2be3e3f38513690e5de3bae1a
    https://github.com/scummvm/scummvm/commit/8ac79a7c7bf8a4d2be3e3f38513690e5de3bae1a
Author: Walter Agazzi (walter.agazzi at protonmail.com)
Date: 2022-09-26T18:39:38-07:00

Commit Message:
GLK: AGT: Tidy logic to limit AskQuestion result to 16bit int range

Changed paths:
    engines/glk/agt/token.cpp


diff --git a/engines/glk/agt/token.cpp b/engines/glk/agt/token.cpp
index adece4f913b..3b3844041fe 100644
--- a/engines/glk/agt/token.cpp
+++ b/engines/glk/agt/token.cpp
@@ -94,7 +94,7 @@ static long ask_for_number(int n1, int n2) {
 		writestr(s);
 		n = read_number();
 		if (aver < AGX00)
-			n = (integer) n;
+			n = (integer) (n & 0xFFFF);
 		if (n1 == n2 || (n >= n1 && n <= n2)) return n;
 		writeln("");
 	}


Commit: af5096109fb0d1a2becce9ac193fa29962bbf706
    https://github.com/scummvm/scummvm/commit/af5096109fb0d1a2becce9ac193fa29962bbf706
Author: Walter Agazzi (walter.agazzi at protonmail.com)
Date: 2022-09-26T18:39:38-07:00

Commit Message:
GLK: AGT: Rework newline interface to keep agt_input() unchanged

Changed paths:
    engines/glk/agt/interface.cpp


diff --git a/engines/glk/agt/interface.cpp b/engines/glk/agt/interface.cpp
index 5e3a5ee96da..e4373a32857 100644
--- a/engines/glk/agt/interface.cpp
+++ b/engines/glk/agt/interface.cpp
@@ -246,9 +246,10 @@ char *agt_readline(int in_type) {
 	char *s;
 
 	if (PURE_INPUT) agt_textcolor(-1);
-	if (logflag & 2)
+	if (logflag & 2) {
 		s = get_log();
-	else
+		agt_newline();
+	} else
 		s = agt_input(in_type);
 
 	if (g_vm->shouldQuit())
@@ -260,7 +261,6 @@ char *agt_readline(int in_type) {
 	if (logflag & 1)
 		put_log(s);
 
-	agt_newline();
 	return s;
 }
 


Commit: d6a870d67678826dc1a81c52e740b9cd1f0f0859
    https://github.com/scummvm/scummvm/commit/d6a870d67678826dc1a81c52e740b9cd1f0f0859
Author: Walter Agazzi (walter.agazzi at protonmail.com)
Date: 2022-09-26T18:39:38-07:00

Commit Message:
GLK: AGT: Add alternative RNG and stable_random config option

Add stable_random as a configuration option and, if set, use a random
number generator that is the same for all platforms

Changed paths:
    engines/glk/agt/agil.cpp
    engines/glk/agt/exec.cpp
    engines/glk/agt/interp.h
    engines/glk/agt/token.cpp


diff --git a/engines/glk/agt/agil.cpp b/engines/glk/agt/agil.cpp
index 09041aab90d..96805c97f4d 100644
--- a/engines/glk/agt/agil.cpp
+++ b/engines/glk/agt/agil.cpp
@@ -300,6 +300,7 @@ void agil_option(int optnum, char *optstr[], rbool setflag, rbool lastpass) {
 	else if (opt("tone")) PURE_TONE = setflag;
 	else if (opt("input_bold")) PURE_INPUT = setflag;
 	else if (opt("force_load")) FORCE_VERSION = setflag;
+	else if (opt("stable_random")) stable_random = setflag;
 	else if (!agt_option(optnum, optstr, setflag)) /* Platform specific options */
 		rprintf("Invalid option %s\n", optstr[0]);
 }
diff --git a/engines/glk/agt/exec.cpp b/engines/glk/agt/exec.cpp
index 3d4a1ce66f0..031bb6af964 100644
--- a/engines/glk/agt/exec.cpp
+++ b/engines/glk/agt/exec.cpp
@@ -1182,7 +1182,7 @@ void increment_turn(void) {
 	/* Now increment the time counter */
 	if (delta_time > 0) {
 		if (PURE_TIME)
-			add_time(agt_rand(min_delta(), delta_time));
+			add_time(get_random(min_delta(), delta_time));
 		else /* if !PURE_TIME */
 			add_time(delta_time);
 	}
diff --git a/engines/glk/agt/interp.h b/engines/glk/agt/interp.h
index c8de2f5efc1..1e6a3af7827 100644
--- a/engines/glk/agt/interp.h
+++ b/engines/glk/agt/interp.h
@@ -370,6 +370,7 @@ extern long read_number(void);
 /* -------------------------------------------------------------------- */
 extern void init_stack(void);  /* Set up expression stack */
 extern void clear_stack(void);  /* Set stack back to empty state */
+int get_random(int a, int b);  /* Return random number from a to b, inclusive */
 
 /* -------------------------------------------------------------------- */
 /* In OBJECT.C                              */
diff --git a/engines/glk/agt/token.cpp b/engines/glk/agt/token.cpp
index 3b3844041fe..afe4bc4b9ec 100644
--- a/engines/glk/agt/token.cpp
+++ b/engines/glk/agt/token.cpp
@@ -458,7 +458,7 @@ static int exec_cond(int op_, int arg1, int arg2) {
 	case 88:
 		cret(agt_var[arg1] < agt_var[arg2]);
 	case 89:
-		cret(agt_var[arg1] < agt_rand(1, arg2));
+		cret(agt_var[arg1] < get_random(1, arg2));
 	case 90:
 		cret((actor != 0) && (it_loc(actor) == loc + first_room));
 	case 91:
@@ -470,7 +470,7 @@ static int exec_cond(int op_, int arg1, int arg2) {
 	case 94:
 		cret(it_contents(arg1) != 0);
 	case 95:
-		cret(agt_rand(1, 100) <= arg1);
+		cret(get_random(1, 100) <= arg1);
 	case 96:
 		cret(yesno("Yes or no? "));
 	case 97:
@@ -615,7 +615,7 @@ static void exec_action(int op_, int arg1, int arg2) {
 		goto_room(arg1 - first_room);
 		break;
 	case 1001:
-		goto_room(agt_rand(arg1, arg2) - first_room);
+		goto_room(get_random(arg1, arg2) - first_room);
 		break;
 	case 1002:
 		agt_var[arg1] = loc + first_room;
@@ -680,7 +680,7 @@ static void exec_action(int op_, int arg1, int arg2) {
 		musiccmd(1, arg1 - 1);
 		break;
 	case 1020:
-		musiccmd(1, agt_rand(arg1, arg2) - 1);
+		musiccmd(1, get_random(arg1, arg2) - 1);
 		break;
 	case 1021:
 		musiccmd(2, arg1 - 1);
@@ -818,7 +818,7 @@ static void exec_action(int op_, int arg1, int arg2) {
 		break;
 	/* 1062 is RedirectTo */
 	case 1063:
-		msgout(agt_rand(arg1, arg2), 1);
+		msgout(get_random(arg1, arg2), 1);
 		break;
 	case 1064:
 		print_contents(arg1, 1);
@@ -924,7 +924,7 @@ static void exec_action(int op_, int arg1, int arg2) {
 		agt_var[arg1] -= agt_var[arg2];
 		break;
 	case 1102:
-		agt_var[arg1] = agt_rand(0, arg2);
+		agt_var[arg1] = get_random(0, arg2);
 		break;
 	case 1103:
 		agt_var[arg1] = dobj_rec->num;
@@ -1158,5 +1158,15 @@ int exec_instr(op_rec *oprec)
 	}
 }
 
+int get_random(int a, int b)
+{
+	if (stable_random) {
+		static unsigned int seed = 9483;
+		seed = (8253729 * seed + 2396403);
+		return a + (seed % (b - a + 1));
+	} else
+		return agt_rand(a,b);
+}
+
 } // End of namespace AGT
 } // End of namespace Glk


Commit: 14ed2b3d9985d65ed909993133db592e0e545a2c
    https://github.com/scummvm/scummvm/commit/14ed2b3d9985d65ed909993133db592e0e545a2c
Author: Walter Agazzi (walter.agazzi at protonmail.com)
Date: 2022-09-26T18:39:38-07:00

Commit Message:
GLK: AGT: Re-work random number generation

Changed paths:
    engines/glk/agt/token.cpp


diff --git a/engines/glk/agt/token.cpp b/engines/glk/agt/token.cpp
index afe4bc4b9ec..2bee289ec06 100644
--- a/engines/glk/agt/token.cpp
+++ b/engines/glk/agt/token.cpp
@@ -1161,9 +1161,11 @@ int exec_instr(op_rec *oprec)
 int get_random(int a, int b)
 {
 	if (stable_random) {
-		static unsigned int seed = 9483;
-		seed = (8253729 * seed + 2396403);
-		return a + (seed % (b - a + 1));
+		static unsigned int rand_gen = 1234;
+
+		rand_gen = rand_gen * 214013 + 2531011;
+		unsigned int rand_num = (rand_gen >> 16) & 0xFFFF;
+		return a + (rand_num % (b - a + 1));
 	} else
 		return agt_rand(a,b);
 }


Commit: bb9b69cd61a8199c7a1218349fcfacc7e30baf0c
    https://github.com/scummvm/scummvm/commit/bb9b69cd61a8199c7a1218349fcfacc7e30baf0c
Author: Walter Agazzi (walter.agazzi at protonmail.com)
Date: 2022-09-26T18:39:38-07:00

Commit Message:
GLK: AGT: If stable_random is set, reset RNG when restarting a game

Changed paths:
    engines/glk/agt/interp.h
    engines/glk/agt/savegame.cpp
    engines/glk/agt/token.cpp


diff --git a/engines/glk/agt/interp.h b/engines/glk/agt/interp.h
index 1e6a3af7827..63bd68c1aba 100644
--- a/engines/glk/agt/interp.h
+++ b/engines/glk/agt/interp.h
@@ -370,7 +370,8 @@ extern long read_number(void);
 /* -------------------------------------------------------------------- */
 extern void init_stack(void);  /* Set up expression stack */
 extern void clear_stack(void);  /* Set stack back to empty state */
-int get_random(int a, int b);  /* Return random number from a to b, inclusive */
+extern void reset_random(void);  /* Reset random number generator state */
+extern int get_random(int a, int b);  /* Return random number from a to b, inclusive */
 
 /* -------------------------------------------------------------------- */
 /* In OBJECT.C                              */
diff --git a/engines/glk/agt/savegame.cpp b/engines/glk/agt/savegame.cpp
index 62c01ec270a..23259eb3e27 100644
--- a/engines/glk/agt/savegame.cpp
+++ b/engines/glk/agt/savegame.cpp
@@ -412,6 +412,7 @@ Common::Error loadgame(Common::SeekableReadStream *loadfile) {
 
 void restart_game(void) {
 	putstate(restart_state);
+	reset_random();
 	agt_clrscr();
 	set_statline();
 	do_look = do_autoverb = 1;
diff --git a/engines/glk/agt/token.cpp b/engines/glk/agt/token.cpp
index 2bee289ec06..b34edd6e06e 100644
--- a/engines/glk/agt/token.cpp
+++ b/engines/glk/agt/token.cpp
@@ -1158,11 +1158,14 @@ int exec_instr(op_rec *oprec)
 	}
 }
 
-int get_random(int a, int b)
-{
-	if (stable_random) {
-		static unsigned int rand_gen = 1234;
+static unsigned int rand_gen = 1234;
 
+void reset_random(void) {
+	rand_gen = 1234;
+}
+
+int get_random(int a, int b) {
+	if (stable_random) {
 		rand_gen = rand_gen * 214013 + 2531011;
 		unsigned int rand_num = (rand_gen >> 16) & 0xFFFF;
 		return a + (rand_num % (b - a + 1));


Commit: 27350175e4a943236f04054d06524923bd674277
    https://github.com/scummvm/scummvm/commit/27350175e4a943236f04054d06524923bd674277
Author: Walter Agazzi (walter.agazzi at protonmail.com)
Date: 2022-09-26T18:39:38-07:00

Commit Message:
GLK: AGT: Allow Shades of Grey to define 'scream' in a dummy_verb

Changed paths:
    engines/glk/agt/agil.cpp
    engines/glk/agt/gamedata.cpp
    engines/glk/agt/interp.h
    engines/glk/agt/parser.cpp


diff --git a/engines/glk/agt/agil.cpp b/engines/glk/agt/agil.cpp
index 96805c97f4d..49056fc96b1 100644
--- a/engines/glk/agt/agil.cpp
+++ b/engines/glk/agt/agil.cpp
@@ -124,7 +124,7 @@ static const char *ext_voc[] = {
 	"verb", "noun", "adjective", "prep", "object", "name", "step",
 	" any", "either", "both", "everyone", "everybody",
 	"he", "she", "it", "they", "him", "her", "them", "is", "are", "oops",
-	"was", "were",
+	"was", "were", "scream",
 	/* Everything between 'in' and 'about' should be a preposition */
 	"in", "out", "into", "at", "to", "across", "inside", "with", "near", "for",
 	"of", "behind", "beside", "on", "off", "under", "from", "through",
diff --git a/engines/glk/agt/gamedata.cpp b/engines/glk/agt/gamedata.cpp
index f06e3d2a239..7f79bc7eb53 100644
--- a/engines/glk/agt/gamedata.cpp
+++ b/engines/glk/agt/gamedata.cpp
@@ -552,7 +552,7 @@ static const char verbdef[] =
 */
 
 /* These are alternative (that is, non-canonical) forms of verbs that
-   were present in the oringal AGT interpreters.  They have the property
+   were present in the original AGT interpreters.  They have the property
    that they have no effect if used in a dummy_verb declaration. */
 /* Their dictionary indices are stored in old_agt_verb, which is
    initialized by reinit_dict. */
diff --git a/engines/glk/agt/interp.h b/engines/glk/agt/interp.h
index 63bd68c1aba..5656a83505e 100644
--- a/engines/glk/agt/interp.h
+++ b/engines/glk/agt/interp.h
@@ -276,7 +276,7 @@ typedef enum {wthe, wmy, wa, wan, wthen, wp, wsc, wand, wc, wits, wall, wundo, w
 			  wdverb, wdnoun, wdadjective, wdprep, wdobject, wdname,
 			  wstep, w_any, weither, wboth, weveryone, weverybody,
 			  whe, wshe, wit, wthey, whim, wher, wthem, wis, ware, woops,
-			  wwas, wwere,
+			  wwas, wwere, wscream,
 			  win, wout, winto, wat, wto, wacross, winside, wwith, wnear, wfor,
 			  wof, wbehind, wbeside, won, woff, wunder, wfrom, wthrough,
 			  wtoward, wtowards, wbetween, waround, wupon, wthru,
diff --git a/engines/glk/agt/parser.cpp b/engines/glk/agt/parser.cpp
index e58195b9284..31791dd86d9 100644
--- a/engines/glk/agt/parser.cpp
+++ b/engines/glk/agt/parser.cpp
@@ -241,6 +241,8 @@ static int comb_verb(void)
 static rbool orig_agt_verb(word w) {
 	int i;
 	if (aver <= AGT10 && w == ext_code[wg]) return 0; /* AGT 1.0 didn't have AGAIN */
+	/* SOGGY overrides SCREAM with a dummy_verb, earlier versions too? */
+	if (aver <= AGTCOS && w == ext_code[wscream]) return 0;
 	for (i = 0; old_agt_verb[i] != -1 && old_agt_verb[i] != w; i++);
 	return (old_agt_verb[i] == w);
 }


Commit: db4d180d4883938fcda6119245c182ac46d5c16f
    https://github.com/scummvm/scummvm/commit/db4d180d4883938fcda6119245c182ac46d5c16f
Author: Walter Agazzi (walter.agazzi at protonmail.com)
Date: 2022-09-26T18:39:38-07:00

Commit Message:
GLK: AGT: Fix order of scanning dummy verbs

Fixes SIGNAL COMPANIONS in Shades of Grey

Changed paths:
    engines/glk/agt/gamedata.cpp


diff --git a/engines/glk/agt/gamedata.cpp b/engines/glk/agt/gamedata.cpp
index 7f79bc7eb53..2b8b0865592 100644
--- a/engines/glk/agt/gamedata.cpp
+++ b/engines/glk/agt/gamedata.cpp
@@ -994,9 +994,39 @@ int verb_authorsyn(word w) {
 
 	/* Check game-specific synonyms first */
 	/* Scan in reverse so later synonyms will override earlier ones */
-	for (i = TOTAL_VERB - 1; i > 0; i--)
-		for (j = synlist[i]; syntbl[j] != 0; j++)
-			if (w == syntbl[j]) return i;
+	if (aver < AGX00) {
+		for (i = MAX_SUB-1; i >= 0; i--)
+			for (j = synlist[BASE_VERB+DVERB+i]; syntbl[j] != 0; j++)
+				if (w == syntbl[j]) return BASE_VERB+DVERB+i;
+
+		/*  In AGT the dummy verbs are laid out in memory in a non-obvious
+			order:
+			DUMMY_VERB1
+			DUMMY_VERB26
+			DUMMY_VERB2
+			DUMMY_VERB27
+			...
+			For a few games this is relevant (e.g. SIGNAL in Shades of Gray),
+			as the same synonym occurs in multiple dummy verbs, so we scan
+			the dummy verb synonyms here in the same order as original AGT. */
+		for (i = DVERB-1; i >= 0; i--) {
+			int ii = ((i % 2) == 0) ? i / 2 : (i+DVERB-1) / 2;
+			for (j = synlist[BASE_VERB+ii]; syntbl[j] != 0; j++)
+				if (w == syntbl[j])
+					return BASE_VERB + ii;
+		}
+		for (i = BASE_VERB-1; i > 0; i--)
+			for (j = synlist[i]; syntbl[j] != 0; j++)
+				if (w == syntbl[j])
+					return i;
+
+	} else {
+		for (i = TOTAL_VERB-1; i > 0; i--)
+			for (j = synlist[i]; syntbl[j] != 0; j++)
+				if (w == syntbl[j])
+					return i;
+	}
+
 	return 0;
 }
 


Commit: 9424d4b4edf02a98afd31ff136105a6c4bfe5d30
    https://github.com/scummvm/scummvm/commit/9424d4b4edf02a98afd31ff136105a6c4bfe5d30
Author: Walter Agazzi (walter.agazzi at protonmail.com)
Date: 2022-09-26T18:39:38-07:00

Commit Message:
GLK: AGT: Bump version number to 1.1.2

Changed paths:
    engines/glk/agt/agt.h
    engines/glk/agt/gamedata.cpp
    engines/glk/agt/os_glk.cpp


diff --git a/engines/glk/agt/agt.h b/engines/glk/agt/agt.h
index 269da3582d3..14d3b56b65d 100644
--- a/engines/glk/agt/agt.h
+++ b/engines/glk/agt/agt.h
@@ -19,7 +19,7 @@
  *
  */
 
-/* Based on Agility interpreter version 1.1.1 */
+/* Based on Agility interpreter version 1.1.2 */
 
 #ifndef GLK_AGT
 #define GLK_AGT
diff --git a/engines/glk/agt/gamedata.cpp b/engines/glk/agt/gamedata.cpp
index 2b8b0865592..d02cbcdfce4 100644
--- a/engines/glk/agt/gamedata.cpp
+++ b/engines/glk/agt/gamedata.cpp
@@ -487,7 +487,7 @@ const char *averstr[] = {"????", "1.0", "1.18",
 						};
 
 const char *portstr = PORTSTR;
-const char *version_str = "version 1.1.1";
+const char *version_str = "version 1.1.2";
 
 const char nonestr[5] = {4, 'n', 'o', 'n', 'e'};
 static const char NONEstr[5] = {4, 'N', 'O', 'N', 'E'};
diff --git a/engines/glk/agt/os_glk.cpp b/engines/glk/agt/os_glk.cpp
index 44fab9669d5..163304c40df 100644
--- a/engines/glk/agt/os_glk.cpp
+++ b/engines/glk/agt/os_glk.cpp
@@ -27,7 +27,7 @@ namespace Glk {
 namespace AGT {
 
 /*
- * Glk interface for AGiliTy 1.1.1.1
+ * Glk interface for AGiliTy 1.1.2
  * -------------------------------
  *
  * This module contains the Glk porting layer for AGiliTy.  It
@@ -784,7 +784,7 @@ static void gagt_status_update() {
 			 * We don't (yet) have a status line.  Perhaps we're at the
 			 * very start of a game.  Print a standard message.
 			 */
-			g_vm->glk_put_string("Glk AGiliTy version 1.1.1.1");
+			g_vm->glk_put_string("Glk AGiliTy version 1.1.2");
 		}
 
 		g_vm->glk_set_window(g_vm->gagt_main_window);
@@ -2584,12 +2584,12 @@ static gagt_special_t GAGT_SPECIALS[] = {
 		4,
 		{
 			"This game is being executed by",
-			"AGiliTy: The (Mostly) Universal AGT Interpreter  version 1.1.1.1",
+			"AGiliTy: The (Mostly) Universal AGT Interpreter  version 1.1.2",
 			"Copyright (C) 1996-99,2001 by Robert Masenten",
 			"Glk version"
 		},
 		"This game is being executed by:\n\n"
-		"    |SAGiliTy, The (Mostly) Universal AGT Interpreter, Version 1.1.1.1|N\n"
+		"    |SAGiliTy, The (Mostly) Universal AGT Interpreter, Version 1.1.2|N\n"
 		"    |ECopyright (C) 1996-1999,2001 by Robert Masenten|N\n"
 		"    |EGlk version|N\n"
 	},
@@ -2599,12 +2599,12 @@ static gagt_special_t GAGT_SPECIALS[] = {
 		5,
 		{
 			"AGiliTy",
-			"The (Mostly) Universal AGT Interpreter, version 1.1.1.1",
+			"The (Mostly) Universal AGT Interpreter, version 1.1.2",
 			"Copyright (C) 1996-1999,2001 by Robert Masenten",
 			"[Glk version]",
 			"-----------------------------------------------------------"
 		},
-		"|SAGiliTy, The (Mostly) Universal AGT Interpreter, Version 1.1.1.1|N\n"
+		"|SAGiliTy, The (Mostly) Universal AGT Interpreter, Version 1.1.2|N\n"
 		"|ECopyright (C) 1996-1999,2001 by Robert Masenten|N\n"
 		"|EGlk version|N\n"
 	},
@@ -2620,12 +2620,12 @@ static gagt_special_t GAGT_SPECIALS[] = {
 	{
 		2,
 		{
-			"Being run by AGiliTy  version 1.1.1.1, Copyright (C) 1996-99,2001"
+			"Being run by AGiliTy  version 1.1.2, Copyright (C) 1996-99,2001"
 			" Robert Masenten",
 			"Glk version"
 		},
 		"This game is being executed by:\n\n"
-		"    |SAGiliTy, The (Mostly) Universal AGT Interpreter, Version 1.1.1.1|N\n"
+		"    |SAGiliTy, The (Mostly) Universal AGT Interpreter, Version 1.1.2|N\n"
 		"    |ECopyright (C) 1996-1999,2001 by Robert Masenten|N\n"
 		"    |EGlk version|N\n"
 	},
@@ -2634,11 +2634,11 @@ static gagt_special_t GAGT_SPECIALS[] = {
 	{
 		1,
 		{
-			"Being run by AGiliTy  version 1.1.1.1, Copyright (C) 1996-99,2001"
+			"Being run by AGiliTy  version 1.1.2, Copyright (C) 1996-99,2001"
 			" Robert Masenten"
 		},
 		"This game is being executed by:\n\n"
-		"    |SAGiliTy, The (Mostly) Universal AGT Interpreter, Version 1.1.1.1|N\n"
+		"    |SAGiliTy, The (Mostly) Universal AGT Interpreter, Version 1.1.2|N\n"
 		"    |ECopyright (C) 1996-1999,2001 by Robert Masenten|N\n"
 		"    |EGlk version|N\n"
 	},
@@ -2658,12 +2658,12 @@ static gagt_special_t GAGT_SPECIALS[] = {
 	{
 		3,
 		{
-			"AGiliTy: The (Mostly) Universal AGT Interpreter  version 1.1.1.1",
+			"AGiliTy: The (Mostly) Universal AGT Interpreter  version 1.1.2",
 			"Copyright (C) 1996-99,2001 by Robert Masenten",
 			"Glk version"
 		},
 		"This game is being executed by:\n\n"
-		"    |SAGiliTy, The (Mostly) Universal AGT Interpreter, Version 1.1.1.1|N\n"
+		"    |SAGiliTy, The (Mostly) Universal AGT Interpreter, Version 1.1.2|N\n"
 		"    |ECopyright (C) 1996-1999,2001 by Robert Masenten|N\n"
 		"    |EGlk version|N\n"
 	},




More information about the Scummvm-git-logs mailing list