[Scummvm-git-logs] scummvm master -> 625f3c1c28a42e407bccb2228053be8717dbdc48

sev- sev at scummvm.org
Thu Jan 9 16:12:02 UTC 2020


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

Summary:
7bc46d9ffb DIRECTOR: LINGO: Fix compilation for 'the number of words of'
956f5cd083 DIRECTOR: LINGO: Added test for 'put the number of <x> of'
d64137740b DIRECTOR: Renamed lingotests detection file to avoid execution
0bf57feb40 DIRECTOR: Added test target for executing all movies
5264fecd03 DIRECTOR: Narrowed down movie scanning only to the game directory
625f3c1c28 DIRECTOR: Do not start main loop when compile only is requested


Commit: 7bc46d9ffb25457d9904b62f15c6902f979cf3fa
    https://github.com/scummvm/scummvm/commit/7bc46d9ffb25457d9904b62f15c6902f979cf3fa
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-01-09T17:11:31+01:00

Commit Message:
DIRECTOR: LINGO: Fix compilation for 'the number of words of'

Changed paths:
    engines/director/lingo/lingo-lex.cpp
    engines/director/lingo/lingo-lex.l


diff --git a/engines/director/lingo/lingo-lex.cpp b/engines/director/lingo/lingo-lex.cpp
index fb8fbb1..8c192ad 100644
--- a/engines/director/lingo/lingo-lex.cpp
+++ b/engines/director/lingo/lingo-lex.cpp
@@ -373,7 +373,7 @@ struct yy_trans_info
 	flex_int32_t yy_verify;
 	flex_int32_t yy_nxt;
 	};
-static yyconst flex_int16_t yy_accept[305] =
+static yyconst flex_int16_t yy_accept[307] =
     {   0,
         0,    0,   76,   74,    4,   72,   72,   74,   74,   74,
        71,   71,   71,   70,   71,   67,   71,   68,   68,   68,
@@ -408,7 +408,7 @@ static yyconst flex_int16_t yy_accept[305] =
        53,   54,    0,    0,    0,   20,   52,    0,    0,    0,
         0,    0,    0,   49,   50,    0,   50,    0,   52,    0,
 
-       52,    0,   51,    0
+       52,    0,    0,   51,   51,    0
     } ;
 
 static yyconst flex_int32_t yy_ec[256] =
@@ -454,7 +454,7 @@ static yyconst flex_int32_t yy_meta[66] =
         5,    5,    5,    5,    1
     } ;
 
-static yyconst flex_int16_t yy_base[321] =
+static yyconst flex_int16_t yy_base[323] =
     {   0,
         0,   64,  485,  800,   68,  800,  800,   72,  474,    0,
       800,  427,  419,   55,   63,  800,  365,   59,   59,   59,
@@ -487,49 +487,51 @@ static yyconst flex_int16_t yy_base[321] =
       571,  575,  585,  800,  555,  550,    0,  565,    0,  567,
       595,  568,  599,  610,  600,  577,    0,  800,  800,    0,
       800,  614,  620,  581,  631,  800,    0,  632,  624,  633,
-      599,  642,  621,  637,  652,  668,  673,  677,  679,  633,
+      599,  642,  621,  637,  652,  668,  673,  677,  679,  658,
 
-      692,  612,  800,  800,  733,  735,  738,  741,  747,  752,
-      757,  759,  764,  769,  772,  775,  780,  783,  788,  793
+      692,  612,  667,  800,  800,  800,  733,  735,  738,  741,
+      747,  752,  757,  759,  764,  769,  772,  775,  780,  783,
+      788,  793
     } ;
 
-static yyconst flex_int16_t yy_def[321] =
+static yyconst flex_int16_t yy_def[323] =
     {   0,
-      304,    1,  304,  304,  304,  304,  304,  304,  305,  306,
-      304,  304,  304,  304,  304,  304,  304,  307,  307,  307,
-      307,  307,  307,  307,  307,  307,  307,  307,  307,  307,
-      307,  307,  307,  307,  304,  304,  304,  307,  304,  304,
-      304,  304,  305,  304,  308,  304,  309,  304,  304,  304,
-      304,  304,  307,  307,  307,  307,  307,  307,  307,  307,
-      307,  307,  307,  307,  307,  307,  307,  307,  307,  307,
-      307,  307,  307,  307,  307,  307,  307,  307,  307,  307,
-      307,  307,  307,  307,  307,  307,  307,  307,  307,  307,
-      307,  304,  304,  304,  304,  307,  308,  309,  304,  307,
-
-      307,  307,  307,  307,  307,  307,  307,  307,  307,  307,
-      304,  307,  307,  307,  307,  307,  307,  307,  307,  307,
-      307,  307,  307,  307,  307,  307,  307,  307,  307,  307,
-      307,  307,  307,  307,  307,  307,  307,  304,  307,  307,
-      307,  307,  307,  307,  307,  307,  310,  307,  307,  304,
-      307,  307,  307,  307,  307,  307,  307,  307,  307,  307,
-      307,  307,  307,  307,  307,  307,  307,  307,  311,  307,
-      307,  307,  307,  307,  304,  307,  307,  307,  307,  304,
-      312,  307,  304,  307,  307,  307,  307,  307,  304,  307,
-      307,  307,  307,  307,  307,  311,  311,  311,  311,  307,
-
-      307,  304,  307,  307,  307,  304,  312,  307,  304,  307,
-      307,  313,  304,  307,  307,  307,  307,  307,  307,  304,
-      304,  311,  311,  311,  307,  304,  307,  307,  304,  304,
-      307,  307,  314,  315,  304,  307,  307,  307,  304,  304,
-      304,  304,  311,  311,  311,  304,  307,  307,  304,  307,
-      307,  316,  315,  304,  307,  307,  307,  304,  304,  304,
-      311,  311,  311,  304,  304,  307,  316,  304,  307,  304,
-      317,  304,  311,  304,  311,  304,  307,  304,  304,  318,
-      304,  311,  304,  304,  304,  304,  318,  304,  304,  304,
-      304,  304,  304,  317,  304,  304,  317,  319,  320,  304,
-
-      320,  304,  304,    0,  304,  304,  304,  304,  304,  304,
-      304,  304,  304,  304,  304,  304,  304,  304,  304,  304
+      306,    1,  306,  306,  306,  306,  306,  306,  307,  308,
+      306,  306,  306,  306,  306,  306,  306,  309,  309,  309,
+      309,  309,  309,  309,  309,  309,  309,  309,  309,  309,
+      309,  309,  309,  309,  306,  306,  306,  309,  306,  306,
+      306,  306,  307,  306,  310,  306,  311,  306,  306,  306,
+      306,  306,  309,  309,  309,  309,  309,  309,  309,  309,
+      309,  309,  309,  309,  309,  309,  309,  309,  309,  309,
+      309,  309,  309,  309,  309,  309,  309,  309,  309,  309,
+      309,  309,  309,  309,  309,  309,  309,  309,  309,  309,
+      309,  306,  306,  306,  306,  309,  310,  311,  306,  309,
+
+      309,  309,  309,  309,  309,  309,  309,  309,  309,  309,
+      306,  309,  309,  309,  309,  309,  309,  309,  309,  309,
+      309,  309,  309,  309,  309,  309,  309,  309,  309,  309,
+      309,  309,  309,  309,  309,  309,  309,  306,  309,  309,
+      309,  309,  309,  309,  309,  309,  312,  309,  309,  306,
+      309,  309,  309,  309,  309,  309,  309,  309,  309,  309,
+      309,  309,  309,  309,  309,  309,  309,  309,  313,  309,
+      309,  309,  309,  309,  306,  309,  309,  309,  309,  306,
+      314,  309,  306,  309,  309,  309,  309,  309,  306,  309,
+      309,  309,  309,  309,  309,  313,  313,  313,  313,  309,
+
+      309,  306,  309,  309,  309,  306,  314,  309,  306,  309,
+      309,  315,  306,  309,  309,  309,  309,  309,  309,  306,
+      306,  313,  313,  313,  309,  306,  309,  309,  306,  306,
+      309,  309,  316,  317,  306,  309,  309,  309,  306,  306,
+      306,  306,  313,  313,  313,  306,  309,  309,  306,  309,
+      309,  318,  317,  306,  309,  309,  309,  306,  306,  306,
+      313,  313,  313,  306,  306,  309,  318,  306,  309,  306,
+      319,  306,  313,  306,  313,  306,  309,  306,  306,  320,
+      306,  313,  306,  306,  306,  306,  320,  306,  306,  306,
+      306,  306,  306,  319,  306,  306,  319,  321,  322,  306,
+
+      322,  306,  306,  306,  306,    0,  306,  306,  306,  306,
+      306,  306,  306,  306,  306,  306,  306,  306,  306,  306,
+      306,  306
     } ;
 
 static yyconst flex_int16_t yy_nxt[866] =
@@ -586,49 +588,49 @@ static yyconst flex_int16_t yy_nxt[866] =
       231,  220,  218,  206,  220,  220,  219,  220,  220,  221,
       220,  229,  213,  221,  235,  221,  232,  236,  225,  209,
       224,  233,  209,  228,  233,  231,  237,  238,  240,   44,
-      239,  248,   53,  239,  304,  222,  249,  223,  235,  230,
+      239,  248,   53,  239,  306,  222,  249,  223,  235,  230,
       250,  232,  236,  242,  220,  224,  220,  220,  240,  220,
 
-      237,  238,  221,  240,  221,  248,  251,  304,  241,  222,
+      237,  238,  221,  240,  221,  248,  251,  306,  241,  222,
       249,  223,  256,  242,  230,  250,  220,  242,  233,  220,
       243,  233,  254,  240,  221,  255,  239,  244,  257,  239,
-      258,  251,  241,  259,  260,  304,  256,  242,  266,  304,
-      220,  245,  265,  220,  243,  304,  268,  254,  221,  269,
-      255,  244,  257,  270,  241,  258,  261,  304,  259,  260,
+      258,  251,  241,  259,  260,  306,  256,  242,  266,  306,
+      220,  245,  265,  220,  243,  306,  268,  254,  221,  269,
+      255,  244,  257,  270,  241,  258,  261,  306,  259,  260,
       220,  220,  266,  220,  220,  245,  272,  265,  221,  221,
       268,  271,  220,  269,  271,  220,  274,  270,  241,  274,
       221,  261,  276,  277,  221,  278,  220,  279,  281,  220,
-      272,  273,  304,  262,  221,  263,  271,  286,  304,  271,
+      272,  273,  306,  262,  221,  263,  271,  286,  306,  271,
 
       220,  285,  289,  220,  285,  275,  276,  277,  221,  221,
       278,  283,  279,  281,  283,  288,  273,  262,  288,  263,
-      295,  283,  286,  221,  283,  294,  304,  289,  294,  240,
+      295,  283,  286,  221,  283,  294,  306,  289,  294,  240,
       275,  282,  290,  292,  290,  290,  292,  290,  294,  284,
-      303,  294,  296,  292,  242,  295,  292,  304,  304,  284,
-      240,  240,  304,  297,  240,  282,  297,  302,  304,  304,
-      291,  293,  291,  284,  303,  242,  242,  296,  242,  298,
-      304,  293,  298,  284,  297,  240,  240,  297,  298,  304,
-      300,  298,  302,  300,  291,  293,  291,  304,  304,  242,
-      242,  287,  304,  300,  304,  293,  300,  304,  304,  304,
-
-      304,  304,  304,  304,  287,  304,  304,  304,  304,  304,
-      304,  304,  304,  304,  304,  304,  304,  280,  304,  287,
-      304,  304,  304,  304,  304,  304,  304,  304,  304,  304,
-      304,  304,  287,   43,   43,  304,   43,   43,   43,   45,
-       45,   53,   53,   53,   97,   97,   97,   98,   98,  304,
-       98,   98,   98,  181,  304,  304,  181,  181,  196,  304,
-      304,  196,  207,  207,  207,  234,  304,  234,  234,  234,
-      252,  304,  304,  252,  252,  253,  253,  253,  267,  267,
-      267,  280,  304,  304,  280,  280,  287,  287,  287,  299,
-      304,  304,  299,  299,  301,  304,  301,  301,  301,    3,
-
-      304,  304,  304,  304,  304,  304,  304,  304,  304,  304,
-      304,  304,  304,  304,  304,  304,  304,  304,  304,  304,
-      304,  304,  304,  304,  304,  304,  304,  304,  304,  304,
-      304,  304,  304,  304,  304,  304,  304,  304,  304,  304,
-      304,  304,  304,  304,  304,  304,  304,  304,  304,  304,
-      304,  304,  304,  304,  304,  304,  304,  304,  304,  304,
-      304,  304,  304,  304,  304
+      304,  294,  296,  292,  242,  295,  292,  306,  306,  284,
+      240,  240,  306,  297,  240,  282,  297,  306,  306,  306,
+      291,  293,  291,  284,  304,  242,  242,  296,  242,  298,
+      306,  293,  298,  284,  297,  240,  240,  297,  298,  306,
+      300,  298,  302,  300,  291,  293,  291,  303,  305,  242,
+      242,  287,  306,  300,  306,  293,  300,  306,  306,  306,
+
+      306,  306,  306,  306,  287,  306,  306,  302,  306,  306,
+      306,  303,  306,  305,  306,  306,  306,  280,  306,  287,
+      306,  306,  306,  306,  306,  306,  306,  306,  306,  306,
+      306,  306,  287,   43,   43,  306,   43,   43,   43,   45,
+       45,   53,   53,   53,   97,   97,   97,   98,   98,  306,
+       98,   98,   98,  181,  306,  306,  181,  181,  196,  306,
+      306,  196,  207,  207,  207,  234,  306,  234,  234,  234,
+      252,  306,  306,  252,  252,  253,  253,  253,  267,  267,
+      267,  280,  306,  306,  280,  280,  287,  287,  287,  299,
+      306,  306,  299,  299,  301,  306,  301,  301,  301,    3,
+
+      306,  306,  306,  306,  306,  306,  306,  306,  306,  306,
+      306,  306,  306,  306,  306,  306,  306,  306,  306,  306,
+      306,  306,  306,  306,  306,  306,  306,  306,  306,  306,
+      306,  306,  306,  306,  306,  306,  306,  306,  306,  306,
+      306,  306,  306,  306,  306,  306,  306,  306,  306,  306,
+      306,  306,  306,  306,  306,  306,  306,  306,  306,  306,
+      306,  306,  306,  306,  306
     } ;
 
 static yyconst flex_int16_t yy_chk[866] =
@@ -704,30 +706,30 @@ static yyconst flex_int16_t yy_chk[866] =
       291,  283,  276,  282,  283,  289,    0,  284,  289,  274,
       263,  273,  285,  288,  290,  285,  288,  290,  294,  274,
       302,  294,  293,  292,  274,  291,  292,    0,    0,  283,
-      285,  288,    0,  295,  274,  273,  295,  300,    0,    0,
+      285,  288,    0,  295,  274,  273,  295,    0,    0,    0,
       285,  288,  290,  274,  302,  285,  288,  293,  274,  296,
         0,  292,  296,  283,  297,  285,  288,  297,  298,    0,
-      299,  298,  300,  299,  285,  288,  290,    0,    0,  285,
+      299,  298,  300,  299,  285,  288,  290,  300,  303,  285,
       288,  299,    0,  301,    0,  292,  301,    0,    0,    0,
 
-        0,    0,    0,    0,  301,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,  298,    0,  299,
+        0,    0,    0,    0,  301,    0,    0,  300,    0,    0,
+        0,  300,    0,  303,    0,    0,    0,  298,    0,  299,
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,  301,  305,  305,    0,  305,  305,  305,  306,
-      306,  307,  307,  307,  308,  308,  308,  309,  309,    0,
-      309,  309,  309,  310,    0,    0,  310,  310,  311,    0,
-        0,  311,  312,  312,  312,  313,    0,  313,  313,  313,
-      314,    0,    0,  314,  314,  315,  315,  315,  316,  316,
-      316,  317,    0,    0,  317,  317,  318,  318,  318,  319,
-        0,    0,  319,  319,  320,    0,  320,  320,  320,  304,
-
-      304,  304,  304,  304,  304,  304,  304,  304,  304,  304,
-      304,  304,  304,  304,  304,  304,  304,  304,  304,  304,
-      304,  304,  304,  304,  304,  304,  304,  304,  304,  304,
-      304,  304,  304,  304,  304,  304,  304,  304,  304,  304,
-      304,  304,  304,  304,  304,  304,  304,  304,  304,  304,
-      304,  304,  304,  304,  304,  304,  304,  304,  304,  304,
-      304,  304,  304,  304,  304
+        0,    0,  301,  307,  307,    0,  307,  307,  307,  308,
+      308,  309,  309,  309,  310,  310,  310,  311,  311,    0,
+      311,  311,  311,  312,    0,    0,  312,  312,  313,    0,
+        0,  313,  314,  314,  314,  315,    0,  315,  315,  315,
+      316,    0,    0,  316,  316,  317,  317,  317,  318,  318,
+      318,  319,    0,    0,  319,  319,  320,  320,  320,  321,
+        0,    0,  321,  321,  322,    0,  322,  322,  322,  306,
+
+      306,  306,  306,  306,  306,  306,  306,  306,  306,  306,
+      306,  306,  306,  306,  306,  306,  306,  306,  306,  306,
+      306,  306,  306,  306,  306,  306,  306,  306,  306,  306,
+      306,  306,  306,  306,  306,  306,  306,  306,  306,  306,
+      306,  306,  306,  306,  306,  306,  306,  306,  306,  306,
+      306,  306,  306,  306,  306,  306,  306,  306,  306,  306,
+      306,  306,  306,  306,  306
     } ;
 
 static yy_state_type yy_last_accepting_state;
@@ -816,7 +818,7 @@ static int checkImmediate(int token) {
 	return token;
 }
 
-#line 820 "engines/director/lingo/lingo-lex.cpp"
+#line 822 "engines/director/lingo/lingo-lex.cpp"
 
 #define INITIAL 0
 
@@ -1002,7 +1004,7 @@ YY_DECL
 #line 87 "engines/director/lingo/lingo-lex.l"
 
 
-#line 1006 "engines/director/lingo/lingo-lex.cpp"
+#line 1008 "engines/director/lingo/lingo-lex.cpp"
 
 	if ( !(yy_init) )
 		{
@@ -1056,13 +1058,13 @@ yy_match:
 			while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
 				{
 				yy_current_state = (int) yy_def[yy_current_state];
-				if ( yy_current_state >= 305 )
+				if ( yy_current_state >= 307 )
 					yy_c = yy_meta[(unsigned int) yy_c];
 				}
 			yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
 			++yy_cp;
 			}
-		while ( yy_current_state != 304 );
+		while ( yy_current_state != 306 );
 		yy_cp = (yy_last_accepting_cpos);
 		yy_current_state = (yy_last_accepting_state);
 
@@ -1674,7 +1676,7 @@ YY_RULE_SETUP
 #line 383 "engines/director/lingo/lingo-lex.l"
 ECHO;
 	YY_BREAK
-#line 1678 "engines/director/lingo/lingo-lex.cpp"
+#line 1680 "engines/director/lingo/lingo-lex.cpp"
 case YY_STATE_EOF(INITIAL):
 	yyterminate();
 
@@ -1968,7 +1970,7 @@ static int yy_get_next_buffer (void)
 		while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
 			{
 			yy_current_state = (int) yy_def[yy_current_state];
-			if ( yy_current_state >= 305 )
+			if ( yy_current_state >= 307 )
 				yy_c = yy_meta[(unsigned int) yy_c];
 			}
 		yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
@@ -1996,11 +1998,11 @@ static int yy_get_next_buffer (void)
 	while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
 		{
 		yy_current_state = (int) yy_def[yy_current_state];
-		if ( yy_current_state >= 305 )
+		if ( yy_current_state >= 307 )
 			yy_c = yy_meta[(unsigned int) yy_c];
 		}
 	yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
-	yy_is_jam = (yy_current_state == 304);
+	yy_is_jam = (yy_current_state == 306);
 
 	return yy_is_jam ? 0 : yy_current_state;
 }
diff --git a/engines/director/lingo/lingo-lex.l b/engines/director/lingo/lingo-lex.l
index 13a1db9..cb07b80 100644
--- a/engines/director/lingo/lingo-lex.l
+++ b/engines/director/lingo/lingo-lex.l
@@ -178,7 +178,7 @@ whitespace [\t ]
 
 		return FBLTINONEARG;
 	}
-(?i:the[ \t]+number[\t ]+of[\t ]+[[:alpha:]]+[\t ]in)	{
+(?i:the[ \t]+number[\t ]+of[\t ]+[[:alpha:]]+[\t ](in|of))	{
 		count();
 
 		const char *ptr = &yytext[4]; // Skip 'the '


Commit: 956f5cd083e7787af5ff52fc18f2ab1b2291b5c9
    https://github.com/scummvm/scummvm/commit/956f5cd083e7787af5ff52fc18f2ab1b2291b5c9
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-01-09T17:11:31+01:00

Commit Message:
DIRECTOR: LINGO: Added test for 'put the number of <x> of'

Changed paths:
    engines/director/lingo/tests/the.lingo


diff --git a/engines/director/lingo/tests/the.lingo b/engines/director/lingo/tests/the.lingo
index 088502e..bdb56b5 100644
--- a/engines/director/lingo/tests/the.lingo
+++ b/engines/director/lingo/tests/the.lingo
@@ -26,3 +26,5 @@ set the windowtype of BlastWindow to 5
 
 set the bottom of x to originV + (the number of lines in someText) * 16
 set the bottom of x to originV + (the number of words in someText) * 16
+
+put the number of words of field 1 into field 5


Commit: d64137740b2d55afe70f70f0eb17ed7487d60b5b
    https://github.com/scummvm/scummvm/commit/d64137740b2d55afe70f70f0eb17ed7487d60b5b
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-01-09T17:11:31+01:00

Commit Message:
DIRECTOR: Renamed lingotests detection file to avoid execution

Changed paths:
  A engines/director/lingo/tests/lingotests
  R engines/director/lingo/tests/lingotests.lingo
    engines/director/detection_tables.h


diff --git a/engines/director/detection_tables.h b/engines/director/detection_tables.h
index 3458a2c..2425ebb 100644
--- a/engines/director/detection_tables.h
+++ b/engines/director/detection_tables.h
@@ -37,7 +37,7 @@ static const DirectorGameDescription gameDescriptions[] = {
 		{
 			"directortest",
 			"",
-			AD_ENTRY1("lingotests.lingo", 0),
+			AD_ENTRY1("lingotests", 0),
 			Common::EN_ANY,
 			Common::kPlatformWindows,
 			ADGF_NO_FLAGS,
diff --git a/engines/director/lingo/tests/lingotests b/engines/director/lingo/tests/lingotests
new file mode 100644
index 0000000..e69de29
diff --git a/engines/director/lingo/tests/lingotests.lingo b/engines/director/lingo/tests/lingotests.lingo
deleted file mode 100644
index e69de29..0000000


Commit: 0bf57feb40dfd5eef36e2fc777ecafabdf34b919
    https://github.com/scummvm/scummvm/commit/0bf57feb40dfd5eef36e2fc777ecafabdf34b919
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-01-09T17:11:31+01:00

Commit Message:
DIRECTOR: Added test target for executing all movies

Changed paths:
    engines/director/detection.cpp
    engines/director/detection_tables.h
    engines/director/director.cpp
    engines/director/director.h


diff --git a/engines/director/detection.cpp b/engines/director/detection.cpp
index f282bdd..378c287 100644
--- a/engines/director/detection.cpp
+++ b/engines/director/detection.cpp
@@ -71,6 +71,7 @@ bool DirectorEngine::hasFeature(EngineFeature f) const {
 static const PlainGameDescriptor directorGames[] = {
 	{ "director",	"Macromedia Director Game" },
 	{ "directortest",	"Macromedia Director Test Target" },
+	{ "directortest-all",	"Macromedia Director All Movies Test Target" },
 	{ "theapartment",	"The Apartment, Interactive demo" },
 	{ "gundam0079",	"Gundam 0079: The War for Earth" },
 	{ "jewels",		"Jewels of the Oracle" },
diff --git a/engines/director/detection_tables.h b/engines/director/detection_tables.h
index 2425ebb..8ca09a4 100644
--- a/engines/director/detection_tables.h
+++ b/engines/director/detection_tables.h
@@ -33,6 +33,7 @@ namespace Director {
 #define WINDEMO(t,e,f,m,s,v) 	GENGAME_(t,e,f,m,s,Common::EN_ANY,Common::kPlatformWindows,ADGF_DEMO,v)
 
 static const DirectorGameDescription gameDescriptions[] = {
+	// Execute all *.lingo files in game directory
 	{
 		{
 			"directortest",
@@ -47,6 +48,21 @@ static const DirectorGameDescription gameDescriptions[] = {
 		4
 	},
 
+	// Executa all movies in directory
+	{
+		{
+			"directortest-all",
+			"",
+			AD_ENTRY1("lingotests-all", 0),
+			Common::EN_ANY,
+			Common::kPlatformMacintosh,
+			ADGF_NO_FLAGS,
+			GUIO1(GUIO_NOASPECT)
+		},
+		GID_TESTALL,
+		4
+	},
+
 	// Generic D3 Mac entry
 	MACGAME("director", "", "D3-mac", 0, -1, 3),
 	// Generic D4 Mac entry
diff --git a/engines/director/director.cpp b/engines/director/director.cpp
index 464b24c..f4c1e60 100644
--- a/engines/director/director.cpp
+++ b/engines/director/director.cpp
@@ -145,6 +145,8 @@ Common::Error DirectorEngine::run() {
 		_lingo->runTests();
 
 		return Common::kNoError;
+	} else if (getGameID() == GID_TESTALL) {
+		enqueueAllMovies();
 	}
 
 	// FIXME
@@ -202,6 +204,10 @@ Common::Error DirectorEngine::run() {
 
 		debugC(1, kDebugEvents, "Finished playback of score '%s'", _currentScore->getMacName().c_str());
 
+		if (getGameID() == GID_TESTALL) {
+			_nextMovie = getNextMovieFromQueue();
+		}
+
 		// If a loop was requested, do it
 		if (!_nextMovie.movie.empty()) {
 			_lingo->restartLingo();
@@ -273,4 +279,26 @@ Common::HashMap<Common::String, Score *> *DirectorEngine::scanMovies(const Commo
 	return nameMap;
 }
 
+void DirectorEngine::enqueueAllMovies() {
+	Common::ArchiveMemberList fsList;
+	SearchMan.listMatchingMembers(fsList, "*");
+
+	for (Common::ArchiveMemberList::iterator it = fsList.begin(); it != fsList.end(); ++it)
+		_movieQueue.push_back((*it)->getName());
+
+	Common::sort(_movieQueue.begin(), _movieQueue.end());
+
+	debug(1, "Enqueued %d movies", _movieQueue.size());
+}
+
+MovieReference DirectorEngine::getNextMovieFromQueue() {
+	MovieReference res;
+
+	res.movie = _movieQueue.front();
+
+	_movieQueue.remove_at(0);
+
+	return res;
+}
+
 } // End of namespace Director
diff --git a/engines/director/director.h b/engines/director/director.h
index 344d53a..dfb221b 100644
--- a/engines/director/director.h
+++ b/engines/director/director.h
@@ -25,6 +25,7 @@
 
 #include "common/random.h"
 #include "common/rect.h"
+#include "common/str-array.h"
 
 #include "common/hashmap.h"
 #include "engines/engine.h"
@@ -47,7 +48,8 @@ namespace Director {
 
 enum DirectorGameID {
 	GID_GENERIC,
-	GID_TEST
+	GID_TEST,
+	GID_TESTALL
 };
 
 class Archive;
@@ -178,9 +180,14 @@ private:
 	uint16 _draggingSpriteId;
 	Common::Point _draggingSpritePos;
 
+	Common::StringArray _movieQueue;
+
 private:
 	void testFontScaling();
 	void testFonts();
+
+	void enqueueAllMovies();
+	MovieReference getNextMovieFromQueue();
 };
 
 extern DirectorEngine *g_director;


Commit: 5264fecd03cc26731624214a0c09835bb881bac2
    https://github.com/scummvm/scummvm/commit/5264fecd03cc26731624214a0c09835bb881bac2
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-01-09T17:11:31+01:00

Commit Message:
DIRECTOR: Narrowed down movie scanning only to the game directory

Changed paths:
    engines/director/director.cpp


diff --git a/engines/director/director.cpp b/engines/director/director.cpp
index f4c1e60..2835863 100644
--- a/engines/director/director.cpp
+++ b/engines/director/director.cpp
@@ -173,7 +173,13 @@ Common::Error DirectorEngine::run() {
 	loadSharedCastsFrom(_currentPath + _sharedCastFile);
 
 	debug(0, "\n@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\nObtaining score name\n");
-	loadInitialMovie(getEXEName());
+
+	if (getGameID() == GID_TESTALL)  {
+		_nextMovie = getNextMovieFromQueue();
+		loadInitialMovie(_nextMovie.movie);
+	} else {
+		loadInitialMovie(getEXEName());
+	}
 
 	_currentScore->setArchive(_mainArchive);
 	debug(0, "\n@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@");
@@ -280,15 +286,16 @@ Common::HashMap<Common::String, Score *> *DirectorEngine::scanMovies(const Commo
 }
 
 void DirectorEngine::enqueueAllMovies() {
-	Common::ArchiveMemberList fsList;
-	SearchMan.listMatchingMembers(fsList, "*");
+	Common::FSNode dir(ConfMan.get("path"));
+	Common::FSList files;
+	dir.getChildren(files, Common::FSNode::kListFilesOnly);
 
-	for (Common::ArchiveMemberList::iterator it = fsList.begin(); it != fsList.end(); ++it)
-		_movieQueue.push_back((*it)->getName());
+	for (Common::FSList::const_iterator file = files.begin(); file != files.end(); ++file)
+		_movieQueue.push_back((*file).getName());
 
 	Common::sort(_movieQueue.begin(), _movieQueue.end());
 
-	debug(1, "Enqueued %d movies", _movieQueue.size());
+	debug(1, "=========> Enqueued %d movies", _movieQueue.size());
 }
 
 MovieReference DirectorEngine::getNextMovieFromQueue() {
@@ -296,6 +303,8 @@ MovieReference DirectorEngine::getNextMovieFromQueue() {
 
 	res.movie = _movieQueue.front();
 
+	debug(1, "=========> Next movie is %s", res.movie.c_str());
+
 	_movieQueue.remove_at(0);
 
 	return res;


Commit: 625f3c1c28a42e407bccb2228053be8717dbdc48
    https://github.com/scummvm/scummvm/commit/625f3c1c28a42e407bccb2228053be8717dbdc48
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-01-09T17:11:31+01:00

Commit Message:
DIRECTOR: Do not start main loop when compile only is requested

Changed paths:
    engines/director/director.cpp


diff --git a/engines/director/director.cpp b/engines/director/director.cpp
index 2835863..cc63e51 100644
--- a/engines/director/director.cpp
+++ b/engines/director/director.cpp
@@ -204,11 +204,13 @@ Common::Error DirectorEngine::run() {
 			_nextMovie.frameI = -1;
 		}
 
-		debugC(1, kDebugEvents, "Starting playback of score '%s'", _currentScore->getMacName().c_str());
+		if (!debugChannelSet(-1, kDebugLingoCompileOnly)) {
+			debugC(1, kDebugEvents, "Starting playback of score '%s'", _currentScore->getMacName().c_str());
 
-		_currentScore->startLoop();
+			_currentScore->startLoop();
 
-		debugC(1, kDebugEvents, "Finished playback of score '%s'", _currentScore->getMacName().c_str());
+			debugC(1, kDebugEvents, "Finished playback of score '%s'", _currentScore->getMacName().c_str());
+		}
 
 		if (getGameID() == GID_TESTALL) {
 			_nextMovie = getNextMovieFromQueue();




More information about the Scummvm-git-logs mailing list