[Scummvm-git-logs] scummvm master -> 0e58b35c672c2416d818ca8a7bd388432b01be3d

sev- sev at scummvm.org
Tue Jan 10 18:58:02 CET 2017


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

Summary:
0e58b35c67 DIRECTOR: Lingo: Implemented stub for 'the time' entity


Commit: 0e58b35c672c2416d818ca8a7bd388432b01be3d
    https://github.com/scummvm/scummvm/commit/0e58b35c672c2416d818ca8a7bd388432b01be3d
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2017-01-10T18:58:37+01:00

Commit Message:
DIRECTOR: Lingo: Implemented stub for 'the time' entity

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


diff --git a/engines/director/lingo/lingo-lex.cpp b/engines/director/lingo/lingo-lex.cpp
index 7745d9f..65df2a2 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[248] =
+static yyconst flex_int16_t yy_accept[252] =
     {   0,
         0,    0,   70,   68,    3,   66,   66,   68,   68,   68,
        65,   65,   65,   64,   65,   65,   62,   62,   62,   62,
@@ -399,9 +399,10 @@ static yyconst flex_int16_t yy_accept[248] =
 
         0,    7,   62,   16,   62,   20,   62,   62,   30,   62,
        42,   52,   45,    0,    0,   49,   54,    0,   62,   17,
-       62,   62,   62,    0,    0,    0,   49,   13,    9,   23,
-       62,   40,    0,    0,   49,   62,    0,    0,    0,   24,
-       48,   47,    0,    0,    0,   46,    0
+       62,   62,   62,    0,    0,    0,    0,   49,   13,    9,
+       23,   62,   40,    0,    0,    0,   49,   62,    0,    0,
+        0,    0,   24,   48,   47,   48,    0,    0,    0,   46,
+        0
     } ;
 
 static yyconst flex_int32_t yy_ec[256] =
@@ -447,14 +448,14 @@ static yyconst flex_int32_t yy_meta[65] =
         5,    5,    5,    5
     } ;
 
-static yyconst flex_int16_t yy_base[259] =
+static yyconst flex_int16_t yy_base[263] =
     {   0,
-        0,   63,  187,  637,   67,   71,   75,   79,  168,    0,
-      637,  151,  148,   54,   70,  122,   65,   67,   65,   61,
+        0,   63,  187,  644,   67,   71,   75,   79,  168,    0,
+      644,  151,  148,   54,   70,  122,   65,   67,   65,   61,
        71,   87,   72,    0,  103,   81,  119,  109,  135,  118,
-       82,  149,  118,  161,  194,  214,  218,  637,  222,  207,
-      227,   82,   99,  637,    0,  637,    0,   88,   95,  637,
-      637,  637,    0,  112,   96,  105,  141,  124,  204,  142,
+       82,  149,  118,  161,  194,  214,  218,  644,  222,  207,
+      227,   82,   99,  644,    0,  644,    0,   88,   95,  644,
+      644,  644,    0,  112,   96,  105,  141,  124,  204,  142,
       161,  164,  194,  217,  206,   88,    0,  205,  216,  212,
       213,  225,  211,  231,  208,  215,    0,    0,  231,    0,
       237,  234,  223,  230,  237,  239,  245,  239,  262,    0,
@@ -468,50 +469,52 @@ static yyconst flex_int16_t yy_base[259] =
       368,  373,  362,  377,  363,    0,    0,    0,    0,  367,
       368,  378,    0,    0,    0,  376,  385,  385,  372,  374,
       408,    0,    0,  397,  398,    0,  200,    0,  404,  403,
-        0,    0,  399,    0,  407,  637,  406,  402,    0,  409,
+        0,    0,  399,    0,  407,  644,  406,  402,    0,  409,
         0,  407,  403,    0,  418,  407,  442,  465,    0,  416,
 
       466,    0,  420,    0,  415,    0,  432,  436,    0,  427,
-        0,    0,    0,  472,  458,  478,    0,  459,  438,    0,
-      463,  466,  455,  488,  477,  473,  502,  637,    0,    0,
-      463,    0,  464,  288,  522,  467,  484,  526,  534,    0,
-      637,  536,  538,  486,  542,  543,  637,  592,  594,  597,
-      600,  606,  611,  616,  619,  624,  626,  631
+        0,    0,    0,  472,  460,  476,    0,  461,  438,    0,
+      464,  469,  456,  498,  476,  476,  474,  510,  644,    0,
+        0,  466,    0,  471,  288,  483,  527,  488,  513,  534,
+      517,  538,    0,  644,  539,  644,  545,  520,  546,  551,
+      644,  599,  601,  604,  607,  613,  618,  623,  626,  631,
+      633,  638
     } ;
 
-static yyconst flex_int16_t yy_def[259] =
+static yyconst flex_int16_t yy_def[263] =
     {   0,
-      247,    1,  247,  247,  247,  247,  247,  247,  248,  249,
-      247,  247,  247,  247,  247,  247,  250,  250,  250,  250,
-      250,  250,  250,  250,  250,  250,  250,  250,  250,  250,
-      250,  250,  250,  250,  247,  247,  247,  247,  247,  247,
-      247,  247,  248,  247,  251,  247,  252,  247,  247,  247,
-      247,  247,  250,  250,  250,  250,  250,  250,  250,  250,
-      250,  250,  250,  250,  250,  250,  250,  250,  250,  250,
-      250,  250,  250,  250,  250,  250,  250,  250,  250,  250,
-      250,  250,  250,  250,  250,  250,  250,  250,  250,  250,
-      250,  250,  250,  247,  247,  247,  251,  252,  247,  250,
-
-      250,  250,  250,  250,  250,  250,  250,  253,  250,  250,
-      250,  250,  247,  250,  250,  250,  250,  250,  250,  250,
-      250,  250,  250,  250,  250,  250,  250,  250,  250,  250,
-      250,  250,  250,  250,  250,  250,  250,  250,  247,  250,
-      250,  250,  250,  250,  250,  250,  254,  255,  250,  250,
-      250,  250,  247,  250,  250,  250,  250,  250,  250,  250,
-      250,  250,  250,  250,  250,  250,  250,  250,  250,  250,
-      256,  250,  250,  250,  250,  250,  247,  250,  250,  250,
-      257,  255,  250,  250,  250,  247,  250,  250,  250,  250,
-      250,  250,  250,  250,  250,  250,  256,  256,  250,  250,
-
-      247,  250,  250,  257,  250,  250,  250,  250,  250,  250,
-      250,  250,  250,  247,  247,  256,  250,  247,  250,  250,
-      250,  250,  250,  247,  247,  247,  256,  247,  250,  250,
-      250,  250,  247,  247,  256,  250,  247,  258,  247,  250,
-      247,  258,  247,  247,  247,  258,    0,  247,  247,  247,
-      247,  247,  247,  247,  247,  247,  247,  247
+      251,    1,  251,  251,  251,  251,  251,  251,  252,  253,
+      251,  251,  251,  251,  251,  251,  254,  254,  254,  254,
+      254,  254,  254,  254,  254,  254,  254,  254,  254,  254,
+      254,  254,  254,  254,  251,  251,  251,  251,  251,  251,
+      251,  251,  252,  251,  255,  251,  256,  251,  251,  251,
+      251,  251,  254,  254,  254,  254,  254,  254,  254,  254,
+      254,  254,  254,  254,  254,  254,  254,  254,  254,  254,
+      254,  254,  254,  254,  254,  254,  254,  254,  254,  254,
+      254,  254,  254,  254,  254,  254,  254,  254,  254,  254,
+      254,  254,  254,  251,  251,  251,  255,  256,  251,  254,
+
+      254,  254,  254,  254,  254,  254,  254,  257,  254,  254,
+      254,  254,  251,  254,  254,  254,  254,  254,  254,  254,
+      254,  254,  254,  254,  254,  254,  254,  254,  254,  254,
+      254,  254,  254,  254,  254,  254,  254,  254,  251,  254,
+      254,  254,  254,  254,  254,  254,  258,  259,  254,  254,
+      254,  254,  251,  254,  254,  254,  254,  254,  254,  254,
+      254,  254,  254,  254,  254,  254,  254,  254,  254,  254,
+      260,  254,  254,  254,  254,  254,  251,  254,  254,  254,
+      261,  259,  254,  254,  254,  251,  254,  254,  254,  254,
+      254,  254,  254,  254,  254,  254,  260,  260,  254,  254,
+
+      251,  254,  254,  261,  254,  254,  254,  254,  254,  254,
+      254,  254,  254,  251,  251,  260,  254,  251,  254,  254,
+      254,  254,  254,  251,  251,  251,  251,  260,  251,  254,
+      254,  254,  254,  251,  251,  251,  260,  254,  251,  262,
+      251,  251,  254,  251,  262,  251,  251,  251,  251,  262,
+        0,  251,  251,  251,  251,  251,  251,  251,  251,  251,
+      251,  251
     } ;
 
-static yyconst flex_int16_t yy_nxt[702] =
+static yyconst flex_int16_t yy_nxt[709] =
     {   0,
         4,    5,    6,    7,    8,    9,   10,   11,   12,   11,
        13,    4,   14,   15,   11,   16,   17,   18,   19,   20,
@@ -532,68 +535,68 @@ static yyconst flex_int16_t yy_nxt[702] =
        82,  102,  104,   83,   75,   68,   77,  103,   47,   46,
        72,   69,   76,   78,   73,   79,   89,   80,   81,   85,
       100,   90,   74,   44,   82,  107,  104,   83,   86,   87,
-      108,   77,  103,   88,   91,   92,  247,   78,  109,   79,
-       93,   80,  247,  247,   85,   94,   38,   38,   95,  107,
+      108,   77,  103,   88,   91,   92,  251,   78,  109,   79,
+       93,   80,  251,  251,   85,   94,   38,   38,   95,  107,
 
-      247,  201,   86,   87,  201,  108,  247,   88,   40,   91,
+      251,  201,   86,   87,  201,  108,  251,   88,   40,   91,
        92,   40,  110,  109,   93,   95,   38,   38,   95,   37,
        38,   38,   39,   39,   38,   38,   39,   42,   40,   41,
-       41,   40,  105,  111,  247,  112,  116,  110,  114,  115,
-      117,  106,  118,  119,  247,  120,  123,   42,  247,  124,
+       41,   40,  105,  111,  251,  112,  116,  110,  114,  115,
+      117,  106,  118,  119,  251,  120,  123,   42,  251,  124,
       121,  125,   42,  126,  127,  133,  105,  128,  111,  112,
       129,  116,  114,  115,  117,  106,  118,  122,  119,  120,
       123,  130,   42,  124,  131,  121,  125,  132,  126,  127,
-      133,  128,  134,  135,  129,  137,  138,  136,  247,  238,
-      247,  122,  238,  139,  140,  130,  141,  142,  131,  143,
+      133,  128,  134,  135,  129,  137,  138,  136,  251,  240,
+      251,  122,  240,  139,  140,  130,  141,  142,  131,  143,
 
       144,  132,   94,   38,   38,   95,  145,  134,  135,  137,
       138,  146,  136,   95,   38,   38,   95,  139,  149,  140,
       141,  142,  150,  143,  147,  144,  151,  147,  152,  113,
-      145,  154,  113,  157,  155,   53,  146,  159,  158,  247,
+      145,  154,  113,  157,  155,   53,  146,  159,  158,  251,
       160,  161,  149,  156,  162,  167,  150,  163,  164,  165,
       151,  166,  168,  152,  169,  154,  170,  157,  173,  155,
       174,  159,  153,  158,  160,  171,  161,  156,  171,  162,
       167,  163,  164,  165,  175,  166,  168,  176,  177,  169,
       170,  178,  173,  179,  174,  180,  153,  183,  184,  185,
-      247,  186,  172,  187,  247,  188,  189,  190,  191,  175,
+      251,  186,  172,  187,  251,  188,  189,  190,  191,  175,
 
       192,  193,  176,  177,  194,  178,  195,  179,  196,  171,
       180,  183,  171,  184,  185,  186,  172,  199,  187,  188,
       189,  190,  200,  191,  202,  192,  193,  203,  209,  194,
-      195,  205,  196,  206,  207,  208,  210,  211,  212,  247,
-      213,  198,  199,  214,  217,  247,  214,  200,  219,  202,
+      195,  205,  196,  206,  207,  208,  210,  211,  212,  251,
+      213,  198,  199,  214,  217,  251,  214,  200,  219,  202,
       221,  215,  203,  209,  220,  205,  222,  206,  207,  208,
       210,  211,  223,  212,  213,  198,  214,  201,  217,  214,
-      201,  229,  219,  224,  215,  221,  224,  225,  220,  214,
-      228,  222,  214,  230,  231,  247,  223,  215,  232,  224,
-      218,  225,  224,  233,  234,  229,  216,  236,  237,  247,
-
-      240,  226,  225,  214,  241,  228,  214,  245,  230,  231,
-      227,  215,  232,  247,  247,  218,  225,  226,  233,  234,
-      216,  236,  237,  239,  240,  226,  239,  238,  247,  241,
-      238,  215,  245,  247,  227,  243,  235,  247,  243,  243,
-      247,  226,  243,  246,  246,  247,  246,  246,  247,  247,
-      247,  247,  247,  225,  247,  247,  247,  247,  247,  247,
-      235,  247,  247,  244,  247,  247,  247,  244,  247,  247,
-      247,  247,  247,  247,  247,  247,  247,  247,  225,  247,
-      247,  247,  247,  247,  247,  247,  247,  244,  247,  247,
-      247,  244,   43,   43,  247,   43,   43,   43,   45,   45,
-
-       53,   53,   53,   97,   97,   97,   98,   98,  247,   98,
-       98,   98,  148,  247,  148,  148,  148,  181,  247,  247,
-      181,  181,  182,  182,  182,  197,  247,  247,  197,  204,
-      204,  204,  242,  247,  247,  242,    3,  247,  247,  247,
-      247,  247,  247,  247,  247,  247,  247,  247,  247,  247,
-      247,  247,  247,  247,  247,  247,  247,  247,  247,  247,
-      247,  247,  247,  247,  247,  247,  247,  247,  247,  247,
-      247,  247,  247,  247,  247,  247,  247,  247,  247,  247,
-      247,  247,  247,  247,  247,  247,  247,  247,  247,  247,
-      247,  247,  247,  247,  247,  247,  247,  247,  247,  247,
-
-      247
+      201,  230,  219,  224,  215,  221,  224,  214,  220,  225,
+      214,  222,  229,  251,  231,  215,  223,  232,  251,  233,
+      218,  225,  234,  251,  227,  230,  216,  235,  236,  224,
+
+      238,  226,  224,  251,  225,  239,  227,  229,  228,  231,
+      241,  214,  232,  233,  214,  218,  225,  234,  227,  215,
+      216,  243,  235,  236,  238,  226,  251,  226,  242,  239,
+      227,  242,  228,  244,  241,  240,  215,  246,  240,  247,
+      251,  249,  247,  251,  237,  243,  247,  250,  251,  247,
+      250,  226,  250,  251,  251,  250,  251,  225,  244,  251,
+      251,  251,  246,  251,  251,  251,  249,  248,  237,  251,
+      251,  251,  227,  251,  248,  251,  251,  251,  251,  251,
+      251,  251,  225,  251,  251,  251,  251,  251,  251,  251,
+      251,  248,  251,  251,  251,  251,  227,  251,  248,   43,
+
+       43,  251,   43,   43,   43,   45,   45,   53,   53,   53,
+       97,   97,   97,   98,   98,  251,   98,   98,   98,  148,
+      251,  148,  148,  148,  181,  251,  251,  181,  181,  182,
+      182,  182,  197,  251,  251,  197,  204,  204,  204,  245,
+      251,  251,  245,    3,  251,  251,  251,  251,  251,  251,
+      251,  251,  251,  251,  251,  251,  251,  251,  251,  251,
+      251,  251,  251,  251,  251,  251,  251,  251,  251,  251,
+      251,  251,  251,  251,  251,  251,  251,  251,  251,  251,
+      251,  251,  251,  251,  251,  251,  251,  251,  251,  251,
+      251,  251,  251,  251,  251,  251,  251,  251,  251,  251,
+
+      251,  251,  251,  251,  251,  251,  251,  251
     } ;
 
-static yyconst flex_int16_t yy_chk[702] =
+static yyconst flex_int16_t yy_chk[709] =
     {   0,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
@@ -625,8 +628,8 @@ static yyconst flex_int16_t yy_chk[702] =
        74,   79,   40,   81,   82,   88,   59,   83,   64,   65,
        84,   69,   68,   68,   70,   59,   71,   74,   72,   73,
        75,   85,   41,   76,   86,   74,   79,   87,   81,   82,
-       88,   83,   89,   91,   84,   92,   93,   91,    0,  234,
-        0,   74,  234,   96,  100,   85,  102,  103,   86,  104,
+       88,   83,   89,   91,   84,   92,   93,   91,    0,  235,
+        0,   74,  235,   96,  100,   85,  102,  103,   86,  104,
 
       105,   87,   94,   94,   94,   94,  106,   89,   91,   92,
        93,  107,   91,   95,   95,   95,   95,   96,  109,  100,
@@ -646,33 +649,33 @@ static yyconst flex_int16_t yy_chk[702] =
       196,  171,  174,  197,  200,    0,  197,  175,  203,  179,
       207,  197,  180,  190,  205,  183,  208,  185,  187,  188,
       192,  193,  210,  195,  196,  171,  198,  201,  200,  198,
-      201,  219,  203,  214,  198,  207,  214,  215,  205,  216,
-      218,  208,  216,  221,  222,    0,  210,  216,  223,  224,
-      201,  214,  224,  225,  226,  219,  198,  231,  233,    0,
-
-      236,  214,  215,  227,  237,  218,  227,  244,  221,  222,
-      216,  227,  223,    0,    0,  201,  214,  224,  225,  226,
-      198,  231,  233,  235,  236,  214,  235,  238,    0,  237,
-      238,  235,  244,    0,  216,  239,  227,  242,  239,  243,
-      242,  224,  243,  245,  246,    0,  245,  246,    0,    0,
-        0,    0,    0,  239,    0,    0,    0,    0,    0,    0,
-      227,    0,    0,  239,    0,    0,    0,  243,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,  239,    0,
-        0,    0,    0,    0,    0,    0,    0,  239,    0,    0,
-        0,  243,  248,  248,    0,  248,  248,  248,  249,  249,
-
-      250,  250,  250,  251,  251,  251,  252,  252,    0,  252,
-      252,  252,  253,    0,  253,  253,  253,  254,    0,    0,
-      254,  254,  255,  255,  255,  256,    0,    0,  256,  257,
-      257,  257,  258,    0,    0,  258,  247,  247,  247,  247,
-      247,  247,  247,  247,  247,  247,  247,  247,  247,  247,
-      247,  247,  247,  247,  247,  247,  247,  247,  247,  247,
-      247,  247,  247,  247,  247,  247,  247,  247,  247,  247,
-      247,  247,  247,  247,  247,  247,  247,  247,  247,  247,
-      247,  247,  247,  247,  247,  247,  247,  247,  247,  247,
-      247,  247,  247,  247,  247,  247,  247,  247,  247,  247,
-
-      247
+      201,  219,  203,  214,  198,  207,  214,  216,  205,  215,
+      216,  208,  218,    0,  221,  216,  210,  222,    0,  223,
+      201,  214,  225,    0,  215,  219,  198,  226,  227,  224,
+
+      232,  214,  224,    0,  215,  234,  214,  218,  216,  221,
+      236,  228,  222,  223,  228,  201,  214,  225,  215,  228,
+      198,  238,  226,  227,  232,  214,    0,  224,  237,  234,
+      214,  237,  216,  239,  236,  240,  237,  241,  240,  242,
+      245,  248,  242,  245,  228,  238,  247,  249,    0,  247,
+      249,  224,  250,    0,    0,  250,    0,  242,  239,    0,
+        0,    0,  241,    0,    0,    0,  248,  242,  228,    0,
+        0,    0,  242,    0,  247,    0,    0,    0,    0,    0,
+        0,    0,  242,    0,    0,    0,    0,    0,    0,    0,
+        0,  242,    0,    0,    0,    0,  242,    0,  247,  252,
+
+      252,    0,  252,  252,  252,  253,  253,  254,  254,  254,
+      255,  255,  255,  256,  256,    0,  256,  256,  256,  257,
+        0,  257,  257,  257,  258,    0,    0,  258,  258,  259,
+      259,  259,  260,    0,    0,  260,  261,  261,  261,  262,
+        0,    0,  262,  251,  251,  251,  251,  251,  251,  251,
+      251,  251,  251,  251,  251,  251,  251,  251,  251,  251,
+      251,  251,  251,  251,  251,  251,  251,  251,  251,  251,
+      251,  251,  251,  251,  251,  251,  251,  251,  251,  251,
+      251,  251,  251,  251,  251,  251,  251,  251,  251,  251,
+      251,  251,  251,  251,  251,  251,  251,  251,  251,  251,
+
+      251,  251,  251,  251,  251,  251,  251,  251
     } ;
 
 static yy_state_type yy_last_accepting_state;
@@ -746,7 +749,7 @@ static void countnl() {
 	g_lingo->_colnumber = strlen(p);
 }
 
-#line 750 "engines/director/lingo/lingo-lex.cpp"
+#line 753 "engines/director/lingo/lingo-lex.cpp"
 
 #define INITIAL 0
 
@@ -934,7 +937,7 @@ YY_DECL
 #line 69 "engines/director/lingo/lingo-lex.l"
 
 
-#line 938 "engines/director/lingo/lingo-lex.cpp"
+#line 941 "engines/director/lingo/lingo-lex.cpp"
 
 	if ( !(yy_init) )
 		{
@@ -988,13 +991,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 >= 248 )
+				if ( yy_current_state >= 252 )
 					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_base[yy_current_state] != 637 );
+		while ( yy_base[yy_current_state] != 644 );
 
 yy_find_action:
 		yy_act = yy_accept[yy_current_state];
@@ -1317,15 +1320,16 @@ YY_RULE_SETUP
 {
 		count();
 
-		const char *p = &yytext[4]; // Skip 'the '
-		while (*p == ' ' || *p == '\t')
-			p++;
+		const char *ptr = &yytext[4]; // Skip 'the '
+		while (*ptr == ' ' || *ptr == '\t')
+			ptr++;
 
 		Common::String field;
-		while (*p != ' ' && *p != '\t')
-			field += *p++;
+		while (*ptr != ' ' && *ptr != '\t')
+			field += *ptr++;
 
-		const char *ptr = "date";
+		while (*ptr == ' ' || *ptr == '\t')
+			ptr++;
 
 		field = Common::String::format("%d%s", g_lingo->_theEntities[ptr]->entity, field.c_str());
 
@@ -1347,7 +1351,7 @@ YY_RULE_SETUP
 	YY_BREAK
 case 49:
 YY_RULE_SETUP
-#line 206 "engines/director/lingo/lingo-lex.l"
+#line 207 "engines/director/lingo/lingo-lex.l"
 {
 		count();
 
@@ -1370,67 +1374,67 @@ YY_RULE_SETUP
 	YY_BREAK
 case 50:
 YY_RULE_SETUP
-#line 225 "engines/director/lingo/lingo-lex.l"
+#line 226 "engines/director/lingo/lingo-lex.l"
 { count(); return tTHEN; }
 	YY_BREAK
 case 51:
 YY_RULE_SETUP
-#line 226 "engines/director/lingo/lingo-lex.l"
+#line 227 "engines/director/lingo/lingo-lex.l"
 { count(); return tTO; }
 	YY_BREAK
 case 52:
 YY_RULE_SETUP
-#line 227 "engines/director/lingo/lingo-lex.l"
+#line 228 "engines/director/lingo/lingo-lex.l"
 { count(); return tSPRITE; }
 	YY_BREAK
 case 53:
 YY_RULE_SETUP
-#line 228 "engines/director/lingo/lingo-lex.l"
+#line 229 "engines/director/lingo/lingo-lex.l"
 { count(); return tWITH; }
 	YY_BREAK
 case 54:
 YY_RULE_SETUP
-#line 229 "engines/director/lingo/lingo-lex.l"
+#line 230 "engines/director/lingo/lingo-lex.l"
 { count(); return tWITHIN; }
 	YY_BREAK
 case 55:
 YY_RULE_SETUP
-#line 230 "engines/director/lingo/lingo-lex.l"
+#line 231 "engines/director/lingo/lingo-lex.l"
 { count(); return tWHEN; }
 	YY_BREAK
 case 56:
 YY_RULE_SETUP
-#line 231 "engines/director/lingo/lingo-lex.l"
+#line 232 "engines/director/lingo/lingo-lex.l"
 { count(); return tWHILE; }
 	YY_BREAK
 case 57:
 YY_RULE_SETUP
-#line 232 "engines/director/lingo/lingo-lex.l"
+#line 233 "engines/director/lingo/lingo-lex.l"
 { count(); return tWORD; }
 	YY_BREAK
 case 58:
 YY_RULE_SETUP
-#line 234 "engines/director/lingo/lingo-lex.l"
+#line 235 "engines/director/lingo/lingo-lex.l"
 { count(); return tNEQ; }
 	YY_BREAK
 case 59:
 YY_RULE_SETUP
-#line 235 "engines/director/lingo/lingo-lex.l"
+#line 236 "engines/director/lingo/lingo-lex.l"
 { count(); return tGE; }
 	YY_BREAK
 case 60:
 YY_RULE_SETUP
-#line 236 "engines/director/lingo/lingo-lex.l"
+#line 237 "engines/director/lingo/lingo-lex.l"
 { count(); return tLE; }
 	YY_BREAK
 case 61:
 YY_RULE_SETUP
-#line 237 "engines/director/lingo/lingo-lex.l"
+#line 238 "engines/director/lingo/lingo-lex.l"
 { count(); return tCONCAT; }
 	YY_BREAK
 case 62:
 YY_RULE_SETUP
-#line 239 "engines/director/lingo/lingo-lex.l"
+#line 240 "engines/director/lingo/lingo-lex.l"
 {
 		count();
 		yylval.s = new Common::String(yytext);
@@ -1463,41 +1467,41 @@ YY_RULE_SETUP
 	YY_BREAK
 case 63:
 YY_RULE_SETUP
-#line 268 "engines/director/lingo/lingo-lex.l"
+#line 269 "engines/director/lingo/lingo-lex.l"
 { count(); yylval.f = atof(yytext); return FLOAT; }
 	YY_BREAK
 case 64:
 YY_RULE_SETUP
-#line 269 "engines/director/lingo/lingo-lex.l"
+#line 270 "engines/director/lingo/lingo-lex.l"
 { count(); yylval.i = strtol(yytext, NULL, 10); return INT; }
 	YY_BREAK
 case 65:
 YY_RULE_SETUP
-#line 270 "engines/director/lingo/lingo-lex.l"
+#line 271 "engines/director/lingo/lingo-lex.l"
 { count(); return *yytext; }
 	YY_BREAK
 case 66:
 /* rule 66 can match eol */
 YY_RULE_SETUP
-#line 271 "engines/director/lingo/lingo-lex.l"
+#line 272 "engines/director/lingo/lingo-lex.l"
 { return '\n'; }
 	YY_BREAK
 case 67:
 YY_RULE_SETUP
-#line 272 "engines/director/lingo/lingo-lex.l"
+#line 273 "engines/director/lingo/lingo-lex.l"
 { count(); yylval.s = new Common::String(&yytext[1]); yylval.s->deleteLastChar(); return STRING; }
 	YY_BREAK
 case 68:
 YY_RULE_SETUP
-#line 273 "engines/director/lingo/lingo-lex.l"
+#line 274 "engines/director/lingo/lingo-lex.l"
 
 	YY_BREAK
 case 69:
 YY_RULE_SETUP
-#line 275 "engines/director/lingo/lingo-lex.l"
+#line 276 "engines/director/lingo/lingo-lex.l"
 ECHO;
 	YY_BREAK
-#line 1501 "engines/director/lingo/lingo-lex.cpp"
+#line 1505 "engines/director/lingo/lingo-lex.cpp"
 case YY_STATE_EOF(INITIAL):
 	yyterminate();
 
@@ -1790,7 +1794,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 >= 248 )
+			if ( yy_current_state >= 252 )
 				yy_c = yy_meta[(unsigned int) yy_c];
 			}
 		yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
@@ -1818,11 +1822,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 >= 248 )
+		if ( yy_current_state >= 252 )
 			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 == 247);
+	yy_is_jam = (yy_current_state == 251);
 
 	return yy_is_jam ? 0 : yy_current_state;
 }
@@ -2497,7 +2501,7 @@ void yyfree (void * ptr )
 
 #define YYTABLES_NAME "yytables"
 
-#line 275 "engines/director/lingo/lingo-lex.l"
+#line 276 "engines/director/lingo/lingo-lex.l"
 
 
 
diff --git a/engines/director/lingo/lingo-lex.l b/engines/director/lingo/lingo-lex.l
index 4988628..75fc176 100644
--- a/engines/director/lingo/lingo-lex.l
+++ b/engines/director/lingo/lingo-lex.l
@@ -173,18 +173,19 @@ whitespace [\t ]
 
 		warning("Unhandled the entity %s", ptr);
 	}
-(?i:the[ \t]+[[:alpha:]]+[ \t+]date)		{
+(?i:the[ \t]+[[:alpha:]]+[ \t+](date|time))		{
 		count();
 
-		const char *p = &yytext[4]; // Skip 'the '
-		while (*p == ' ' || *p == '\t')
-			p++;
+		const char *ptr = &yytext[4]; // Skip 'the '
+		while (*ptr == ' ' || *ptr == '\t')
+			ptr++;
 
 		Common::String field;
-		while (*p != ' ' && *p != '\t')
-			field += *p++;
+		while (*ptr != ' ' && *ptr != '\t')
+			field += *ptr++;
 
-		const char *ptr = "date";
+		while (*ptr == ' ' || *ptr == '\t')
+			ptr++;
 
 		field = Common::String::format("%d%s", g_lingo->_theEntities[ptr]->entity, field.c_str());
 
diff --git a/engines/director/lingo/lingo-the.cpp b/engines/director/lingo/lingo-the.cpp
index a9f298e..fafe22f 100644
--- a/engines/director/lingo/lingo-the.cpp
+++ b/engines/director/lingo/lingo-the.cpp
@@ -116,6 +116,7 @@ TheEntity entities[] = {
 	{ kTheTimeoutMouse,		"timeoutMouse",		false },	// D2 p
 	{ kTheTimeoutPlay,		"timeoutPlay",		false },	// D2 p
 	{ kTheTimeoutScript,	"timeoutScript",	false },	// D2 p
+	{ kTheTime,				"time",				false },	// 		D3 f
 	{ kTheTimer,			"timer",			false },	// D2 p
 	{ kTheWindow,			"window",			false },
 	{ kTheWords,			"words",			true  },	//		 D3
@@ -226,6 +227,11 @@ TheEntityField fields[] = {
 	{ kTheDate,		"abbreviated",	kTheAbbr },			//		D3 f
 	{ kTheDate,		"abbrev",		kTheAbbr },			//		D3 f
 	{ kTheDate,		"abbr",			kTheAbbr },			//		D3 f
+	{ kTheTime,		"short",		kTheShort },		//		D3 f
+	{ kTheTime,		"long",			kTheLong },			//		D3 f
+	{ kTheTime,		"abbreviated",	kTheAbbr },			//		D3 f
+	{ kTheTime,		"abbrev",		kTheAbbr },			//		D3 f
+	{ kTheTime,		"abbr",			kTheAbbr },			//		D3 f
 
 	{ kTheNOEntity, NULL, kTheNOField }
 };
diff --git a/engines/director/lingo/lingo-the.h b/engines/director/lingo/lingo-the.h
index 44737eb..9614edb 100644
--- a/engines/director/lingo/lingo-the.h
+++ b/engines/director/lingo/lingo-the.h
@@ -41,6 +41,7 @@ enum TheEntityType {
 	kTheMouseV,
 	kTheMouseDownScript,
 	kTheMouseUpScript,
+	kTheTime,
 
 	kTheField,
 
diff --git a/engines/director/lingo/tests/the.lingo b/engines/director/lingo/tests/the.lingo
index d711e4a..f728fb7 100644
--- a/engines/director/lingo/tests/the.lingo
+++ b/engines/director/lingo/tests/the.lingo
@@ -7,3 +7,5 @@ set the castnum of sprite 8 to the number of cast "A Blank Castmember"
 
 put the date
 put the long date
+put the abbreviated time
+put the short time





More information about the Scummvm-git-logs mailing list