[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