[Scummvm-git-logs] scummvm master -> af2a917ab27481a5383922c25a8e66fd4add4ce8

sev- sev at scummvm.org
Tue Jan 10 18:43:40 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:
af2a917ab2 DIRECTOR: Lingo: Added sub for 'the date' entity


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

Commit Message:
DIRECTOR: Lingo: Added sub for 'the date' 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 07a2aa5..7745d9f 100644
--- a/engines/director/lingo/lingo-lex.cpp
+++ b/engines/director/lingo/lingo-lex.cpp
@@ -364,8 +364,8 @@ static void yy_fatal_error (yyconst char msg[]  );
 	*yy_cp = '\0'; \
 	(yy_c_buf_p) = yy_cp;
 
-#define YY_NUM_RULES 68
-#define YY_END_OF_BUFFER 69
+#define YY_NUM_RULES 69
+#define YY_END_OF_BUFFER 70
 /* This struct is not used in this scanner,
    but its presence is necessary. */
 struct yy_trans_info
@@ -373,34 +373,35 @@ struct yy_trans_info
 	flex_int32_t yy_verify;
 	flex_int32_t yy_nxt;
 	};
-static yyconst flex_int16_t yy_accept[241] =
+static yyconst flex_int16_t yy_accept[248] =
     {   0,
-        0,    0,   69,   67,    3,   65,   65,   67,   67,   67,
-       64,   64,   64,   63,   64,   64,   61,   61,   61,   61,
-       61,   61,   61,   61,   61,   61,   61,   61,   61,   61,
-       61,   61,   61,   61,    2,    2,    3,   65,    0,    0,
-        0,    0,    0,   66,    4,   60,    1,   62,   63,   59,
-       57,   58,   61,   61,   61,   61,   61,   61,   61,   61,
-       61,   61,   61,   61,   61,   22,   12,   61,   61,   61,
-       61,   61,   61,   61,   61,   61,   35,   36,   61,   38,
-       61,   61,   61,   61,   61,   61,   61,   61,   61,   50,
-       61,   61,   61,    2,    2,    0,    4,    1,   62,   61,
-
-        6,   61,   61,   61,   61,   61,   61,   16,   61,   61,
-       61,   61,    0,   61,   61,   61,   61,   61,   61,   61,
-       31,   61,   61,   34,   61,   61,   61,   41,   61,   43,
-       61,   61,   61,   61,   61,   61,   61,   61,    0,   61,
-       61,    8,   61,   10,   11,   15,    0,   16,   18,   61,
-       61,   61,    0,   61,   61,   25,   26,   27,   28,   61,
-       61,   61,   33,   37,   39,   61,   61,   61,   61,   61,
-        0,   49,   54,   61,   52,   56,   14,    5,   61,   61,
-       16,   16,   61,   19,   61,   21,   61,   61,   29,   61,
-       32,   61,   61,   44,   61,   61,   48,   48,   55,   61,
-
-        0,    7,   61,   16,   61,   20,   61,   61,   30,   61,
-       42,   51,   45,    0,   48,   53,    0,   61,   17,   61,
-       61,   61,    0,   48,   13,    9,   23,   61,   40,    0,
-       48,   61,    0,    0,   24,   47,    0,    0,   46,    0
+        0,    0,   70,   68,    3,   66,   66,   68,   68,   68,
+       65,   65,   65,   64,   65,   65,   62,   62,   62,   62,
+       62,   62,   62,   62,   62,   62,   62,   62,   62,   62,
+       62,   62,   62,   62,    2,    2,    3,   66,    0,    0,
+        0,    0,    0,   67,    4,   61,    1,   63,   64,   60,
+       58,   59,   62,   62,   62,   62,   62,   62,   62,   62,
+       62,   62,   62,   62,   62,   22,   12,   62,   62,   62,
+       62,   62,   62,   62,   62,   62,   35,   36,   62,   38,
+       62,   62,   62,   62,   62,   62,   62,   62,   62,   51,
+       62,   62,   62,    2,    2,    0,    4,    1,   63,   62,
+
+        6,   62,   62,   62,   62,   62,   62,   16,   62,   62,
+       62,   62,    0,   62,   62,   62,   62,   62,   62,   62,
+       31,   62,   62,   34,   62,   62,   62,   41,   62,   43,
+       62,   62,   62,   62,   62,   62,   62,   62,    0,   62,
+       62,    8,   62,   10,   11,   15,    0,   16,   18,   62,
+       62,   62,    0,   62,   62,   25,   26,   27,   28,   62,
+       62,   62,   33,   37,   39,   62,   62,   62,   62,   62,
+        0,   50,   55,   62,   53,   57,   14,    5,   62,   62,
+       16,   16,   62,   19,   62,   21,   62,   62,   29,   62,
+       32,   62,   62,   44,   62,   62,   49,   49,   56,   62,
+
+        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
     } ;
 
 static yyconst flex_int32_t yy_ec[256] =
@@ -409,16 +410,16 @@ static yyconst flex_int32_t yy_ec[256] =
         1,    1,    4,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    5,    1,    6,    7,    1,    8,    9,    1,    8,
-        8,    8,    8,    8,   10,   11,    8,   12,   12,   12,
-       12,   12,   12,   12,   12,   12,   12,    8,    1,   13,
-       14,   15,    1,    1,   16,   17,   18,   19,   20,   21,
-       22,   23,   24,   25,   25,   26,   27,   28,   29,   30,
-       31,   32,   33,   34,   35,   36,   37,   38,   39,   25,
-        1,    1,    1,    8,   40,    1,   41,   42,   43,   44,
-
-       45,   46,   47,   48,   49,   25,   25,   50,   51,   52,
-       53,   54,   55,   56,   57,   58,   59,   60,   61,   62,
-       63,   25,    1,    1,    1,    1,    1,    1,    1,    1,
+        8,    8,   10,    8,   11,   12,    8,   13,   13,   13,
+       13,   13,   13,   13,   13,   13,   13,    8,    1,   14,
+       15,   16,    1,    1,   17,   18,   19,   20,   21,   22,
+       23,   24,   25,   26,   26,   27,   28,   29,   30,   31,
+       32,   33,   34,   35,   36,   37,   38,   39,   40,   26,
+        1,    1,    1,    8,   41,    1,   42,   43,   44,   45,
+
+       46,   47,   48,   49,   50,   26,   26,   51,   52,   53,
+       54,   55,   56,   57,   58,   59,   60,   61,   62,   63,
+       64,   26,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
@@ -435,159 +436,164 @@ static yyconst flex_int32_t yy_ec[256] =
         1,    1,    1,    1,    1
     } ;
 
-static yyconst flex_int32_t yy_meta[64] =
+static yyconst flex_int32_t yy_meta[65] =
     {   0,
         1,    2,    3,    3,    2,    1,    1,    1,    1,    1,
-        1,    4,    1,    1,    1,    5,    5,    5,    5,    5,
+        1,    1,    4,    1,    1,    1,    5,    5,    5,    5,
         5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
-        5,    5,    5,    5,    5,    5,    5,    5,    5,    6,
         5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
+        6,    5,    5,    5,    5,    5,    5,    5,    5,    5,
         5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
-        5,    5,    5
+        5,    5,    5,    5
     } ;
 
-static yyconst flex_int16_t yy_base[252] =
+static yyconst flex_int16_t yy_base[259] =
     {   0,
-        0,   62,  206,  598,   66,   70,   74,   78,  195,    0,
-      598,  190,  183,   54,   70,  178,   65,   67,   68,   60,
-       70,   86,   75,    0,  102,   85,  117,  106,  135,  118,
-       79,  149,  118,  161,  193,  213,  217,  598,  221,  225,
-      229,   79,  166,  598,    0,  598,    0,  133,   95,  598,
-      598,  598,    0,   97,  120,  136,  145,  121,  176,  119,
-      156,  156,  193,  213,  159,   90,    0,  205,  215,  212,
-      212,  224,  210,  233,  209,  214,    0,    0,  230,    0,
-      235,  233,  221,  226,  223,  223,  227,  245,  246,    0,
-      264,  239,  255,  296,  300,  257,    0,    0,   76,  265,
-
-        0,  263,  262,  261,  276,  278,  287,   98,  278,  281,
-      290,  291,  318,  288,  305,  297,  306,  299,  299,  312,
-        0,  313,  306,    0,  314,  304,  308,    0,  318,    0,
-      317,  323,  317,  352,  331,  335,  333,  346,  350,  342,
-      343,    0,  355,    0,    0,    0,  138,    0,    0,  348,
-      358,  366,  355,  370,  356,    0,    0,    0,    0,  360,
-      362,  372,    0,    0,    0,  369,  378,  378,  366,  368,
-      404,    0,    0,  385,  386,    0,  241,    0,  394,  392,
-        0,    0,  388,    0,  395,  598,  395,  392,    0,  408,
-        0,  400,  397,    0,  412,  401,  431,  438,    0,  410,
-
-      446,    0,  414,    0,  411,    0,  428,  434,    0,  421,
-        0,    0,    0,  458,  462,    0,  438,  432,    0,  452,
-      455,  435,  454,  476,  598,    0,    0,  443,    0,  480,
-      481,  455,  494,  500,    0,  501,  469,  502,  511,  598,
-      553,  555,  558,  561,  567,  572,  577,  580,  585,  587,
-      592
+        0,   63,  187,  637,   67,   71,   75,   79,  168,    0,
+      637,  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,
+      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,
+      263,  251,  254,  301,  312,  260,    0,    0,   84,  274,
+
+        0,  267,  265,  265,  280,  278,  291,  323,  284,  288,
+      299,  311,  328,  297,  314,  306,  318,  307,  308,  318,
+        0,  320,  313,    0,  320,  310,  315,    0,  325,    0,
+      324,  330,  324,  364,  330,  334,  351,  358,  358,  349,
+      351,    0,  369,    0,    0,    0,  141,    0,    0,  358,
+      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,  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
     } ;
 
-static yyconst flex_int16_t yy_def[252] =
+static yyconst flex_int16_t yy_def[259] =
     {   0,
-      240,    1,  240,  240,  240,  240,  240,  240,  241,  242,
-      240,  240,  240,  240,  240,  240,  243,  243,  243,  243,
-      243,  243,  243,  243,  243,  243,  243,  243,  243,  243,
-      243,  243,  243,  243,  240,  240,  240,  240,  240,  240,
-      240,  240,  241,  240,  244,  240,  245,  240,  240,  240,
-      240,  240,  243,  243,  243,  243,  243,  243,  243,  243,
-      243,  243,  243,  243,  243,  243,  243,  243,  243,  243,
-      243,  243,  243,  243,  243,  243,  243,  243,  243,  243,
-      243,  243,  243,  243,  243,  243,  243,  243,  243,  243,
-      243,  243,  243,  240,  240,  240,  244,  245,  240,  243,
-
-      243,  243,  243,  243,  243,  243,  243,  246,  243,  243,
-      243,  243,  240,  243,  243,  243,  243,  243,  243,  243,
-      243,  243,  243,  243,  243,  243,  243,  243,  243,  243,
-      243,  243,  243,  243,  243,  243,  243,  243,  240,  243,
-      243,  243,  243,  243,  243,  243,  247,  248,  243,  243,
-      243,  243,  240,  243,  243,  243,  243,  243,  243,  243,
-      243,  243,  243,  243,  243,  243,  243,  243,  243,  243,
-      249,  243,  243,  243,  243,  243,  240,  243,  243,  243,
-      250,  248,  243,  243,  243,  240,  243,  243,  243,  243,
-      243,  243,  243,  243,  243,  243,  249,  249,  243,  243,
-
-      240,  243,  243,  250,  243,  243,  243,  243,  243,  243,
-      243,  243,  243,  240,  249,  243,  240,  243,  243,  243,
-      243,  243,  240,  249,  240,  243,  243,  243,  243,  240,
-      249,  243,  251,  240,  243,  251,  240,  240,  251,    0,
-      240,  240,  240,  240,  240,  240,  240,  240,  240,  240,
-      240
+      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
     } ;
 
-static yyconst flex_int16_t yy_nxt[662] =
+static yyconst flex_int16_t yy_nxt[702] =
     {   0,
-        4,    5,    6,    7,    8,    9,   10,   11,   12,   13,
-        4,   14,   15,   11,   16,   17,   18,   19,   20,   21,
-       22,   23,   24,   25,   24,   26,   27,   28,   29,   30,
-       24,   31,   32,   33,   24,   24,   34,   24,   24,   24,
-       17,   18,   19,   20,   21,   22,   23,   24,   25,   26,
-       27,   28,   29,   30,   24,   31,   32,   33,   24,   24,
-       34,   24,   24,   35,   48,   49,   36,   37,   38,   38,
-       39,   40,   41,   41,   40,   40,   41,   41,   40,   39,
-       38,   38,   39,   50,   51,   54,   56,   99,   59,   42,
-       57,  113,   55,   42,  113,   60,   58,   61,   84,  147,
-
-       65,   63,  147,   66,   96,   48,   49,   62,   70,   53,
-       54,   56,   59,   71,   42,   57,   55,   64,   42,   60,
-       58,   61,   67,   84,   65,   75,   63,   66,   96,   68,
-      100,   62,   72,   70,   76,   69,   73,   71,  101,  147,
-       89,   64,  147,   81,   99,   74,   90,   67,  104,   82,
-       75,  107,   83,   68,  100,   77,  102,   72,   76,   69,
-      103,   73,   78,  101,   79,   89,   80,   81,   85,   74,
-       90,   44,  104,   82,  108,  107,   83,   86,   87,  109,
-       77,  102,   88,   91,   92,  103,   78,  112,   79,   93,
-       80,   52,   47,   85,   94,   38,   38,   95,   46,  108,
-
-       44,   86,   87,  105,  109,  240,   88,  240,   91,   92,
-      110,  112,  106,   93,   95,   38,   38,   95,   37,   38,
-       38,   39,   39,   38,   38,   39,   40,  105,  111,   40,
-       40,   41,   41,   40,  116,  110,  106,  114,  115,  117,
-      118,  119,  201,  120,   42,  201,  123,  124,   42,  125,
-      126,  121,  127,  111,  128,  129,  130,  131,  132,  116,
-      133,  114,  115,  117,  118,  134,  119,  120,  122,   42,
-      123,  124,  137,   42,  125,  126,  121,  127,  128,  129,
-      130,  131,  132,  135,  140,  133,  138,  136,  240,  139,
-      134,  141,  122,  142,  143,  144,  137,   94,   38,   38,
-
-       95,   95,   38,   38,   95,  145,  146,  152,  135,  140,
-      138,  149,  136,  139,  150,  141,  151,  142,  143,  113,
-      144,  154,  113,  157,  155,  158,  240,  240,  159,  145,
-      160,  146,  152,  156,  161,  149,  162,  167,  150,  163,
-      151,  164,  165,  166,  168,  154,  169,  157,  170,  155,
-      158,  153,  159,  171,  160,  175,  171,  156,  173,  161,
-      174,  162,  167,  163,  176,  164,  165,  166,  168,  177,
-      180,  169,  170,  178,  179,  153,  183,  184,  240,  172,
-      175,  185,  173,  186,  174,  187,  240,  188,  189,  176,
-      190,  191,  192,  193,  177,  180,  194,  178,  179,  195,
-
-      183,  196,  184,  172,  199,  171,  185,  186,  171,  200,
-      187,  188,  189,  202,  190,  203,  191,  192,  193,  205,
-      206,  194,  207,  195,  208,  196,  209,  240,  210,  199,
-      211,  212,  214,  213,  200,  214,  198,  216,  202,  214,
-      203,  218,  214,  205,  206,  220,  207,  201,  208,  219,
-      201,  209,  210,  221,  211,  222,  212,  213,  225,  214,
-      198,  216,  214,  214,  226,  218,  214,  229,  215,  217,
-      220,  227,  228,  219,  230,  240,  232,  214,  221,  222,
-      214,  233,  234,  225,  233,  234,  223,  235,  226,  238,
-      240,  229,  215,  224,  217,  233,  227,  228,  233,  230,
-
-      232,  234,  240,  239,  234,  240,  239,  240,  240,  231,
-      223,  235,  239,  240,  238,  239,  240,  224,  240,  240,
-      240,  240,  240,  240,  240,  240,  240,  240,  237,  240,
-      240,  240,  240,  231,  240,  240,  240,  240,  240,  240,
-      240,  240,  240,  240,  240,  240,  240,  240,  240,  240,
-      240,  240,  237,   43,   43,  240,   43,   43,   43,   45,
-       45,   53,   53,   53,   97,   97,   97,   98,   98,  240,
-       98,   98,   98,  148,  240,  148,  148,  148,  181,  240,
-      240,  181,  181,  182,  182,  182,  197,  240,  240,  197,
-      204,  204,  204,  236,  240,  240,  236,    3,  240,  240,
-
-      240,  240,  240,  240,  240,  240,  240,  240,  240,  240,
-      240,  240,  240,  240,  240,  240,  240,  240,  240,  240,
-      240,  240,  240,  240,  240,  240,  240,  240,  240,  240,
-      240,  240,  240,  240,  240,  240,  240,  240,  240,  240,
-      240,  240,  240,  240,  240,  240,  240,  240,  240,  240,
-      240,  240,  240,  240,  240,  240,  240,  240,  240,  240,
-      240
+        4,    5,    6,    7,    8,    9,   10,   11,   12,   11,
+       13,    4,   14,   15,   11,   16,   17,   18,   19,   20,
+       21,   22,   23,   24,   25,   24,   26,   27,   28,   29,
+       30,   24,   31,   32,   33,   24,   24,   34,   24,   24,
+       24,   17,   18,   19,   20,   21,   22,   23,   24,   25,
+       26,   27,   28,   29,   30,   24,   31,   32,   33,   24,
+       24,   34,   24,   24,   35,   48,   49,   36,   37,   38,
+       38,   39,   40,   41,   41,   40,   40,   41,   41,   40,
+       39,   38,   38,   39,   50,   51,   54,   56,   57,  113,
+       59,   42,  113,   55,   58,   42,   99,   60,   65,   61,
+
+       99,   66,   84,   63,   44,   70,   48,   49,   96,   62,
+       71,   54,   56,   57,   59,  101,   42,   55,   58,   64,
+       42,   60,   65,   61,   67,   66,  102,   84,   63,   75,
+       70,   68,   96,   62,   71,   72,   52,   69,   76,   73,
+      101,   89,  147,   64,   81,  147,  100,   90,   74,   67,
+       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,
+
+      247,  201,   86,   87,  201,  108,  247,   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,
+      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,
+
+      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,
+      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,
+
+      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,
+      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
     } ;
 
-static yyconst flex_int16_t yy_chk[662] =
+static yyconst flex_int16_t yy_chk[702] =
     {   0,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
@@ -595,73 +601,78 @@ static yyconst flex_int16_t yy_chk[662] =
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    2,   14,   14,    2,    5,    5,    5,
-        5,    6,    6,    6,    6,    7,    7,    7,    7,    8,
-        8,    8,    8,   15,   15,   17,   18,   99,   20,    6,
-       19,   66,   17,    7,   66,   21,   19,   21,   31,  108,
-
-       23,   22,  108,   23,   42,   49,   49,   21,   26,  108,
-       17,   18,   20,   26,    6,   19,   17,   22,    7,   21,
-       19,   21,   25,   31,   23,   28,   22,   23,   42,   25,
-       54,   21,   27,   26,   28,   25,   27,   26,   55,  147,
-       33,   22,  147,   30,   48,   27,   33,   25,   58,   30,
-       28,   60,   30,   25,   54,   29,   56,   27,   28,   25,
-       57,   27,   29,   55,   29,   33,   29,   30,   32,   27,
-       33,   43,   58,   30,   61,   60,   30,   32,   32,   62,
-       29,   56,   32,   34,   34,   57,   29,   65,   29,   34,
-       29,   16,   13,   32,   35,   35,   35,   35,   12,   61,
-
-        9,   32,   32,   59,   62,    3,   32,    0,   34,   34,
-       63,   65,   59,   34,   36,   36,   36,   36,   37,   37,
-       37,   37,   39,   39,   39,   39,   40,   59,   64,   40,
-       41,   41,   41,   41,   69,   63,   59,   68,   68,   70,
-       71,   72,  177,   73,   40,  177,   75,   76,   41,   79,
-       81,   74,   82,   64,   83,   84,   85,   86,   87,   69,
-       88,   68,   68,   70,   71,   89,   72,   73,   74,   40,
-       75,   76,   92,   41,   79,   81,   74,   82,   83,   84,
-       85,   86,   87,   91,  100,   88,   93,   91,    0,   96,
-       89,  102,   74,  103,  104,  105,   92,   94,   94,   94,
-
-       94,   95,   95,   95,   95,  106,  107,  112,   91,  100,
-       93,  109,   91,   96,  110,  102,  111,  103,  104,  113,
-      105,  114,  113,  116,  115,  117,    0,    0,  118,  106,
-      119,  107,  112,  115,  120,  109,  122,  129,  110,  123,
-      111,  125,  126,  127,  131,  114,  132,  116,  133,  115,
-      117,  113,  118,  134,  119,  137,  134,  115,  135,  120,
-      136,  122,  129,  123,  138,  125,  126,  127,  131,  139,
-      143,  132,  133,  140,  141,  113,  150,  151,    0,  134,
-      137,  152,  135,  153,  136,  154,    0,  155,  160,  138,
-      161,  162,  166,  167,  139,  143,  168,  140,  141,  169,
-
-      150,  170,  151,  134,  174,  171,  152,  153,  171,  175,
-      154,  155,  160,  179,  161,  180,  162,  166,  167,  183,
-      185,  168,  187,  169,  188,  170,  190,    0,  192,  174,
-      193,  195,  197,  196,  175,  197,  171,  200,  179,  198,
-      180,  203,  198,  183,  185,  207,  187,  201,  188,  205,
-      201,  190,  192,  208,  193,  210,  195,  196,  217,  214,
-      171,  200,  214,  215,  218,  203,  215,  222,  198,  201,
-      207,  220,  221,  205,  223,    0,  228,  224,  208,  210,
-      224,  230,  231,  217,  230,  231,  214,  232,  218,  237,
-        0,  222,  198,  215,  201,  233,  220,  221,  233,  223,
-
-      228,  234,  236,  238,  234,  236,  238,    0,    0,  224,
-      214,  232,  239,    0,  237,  239,    0,  215,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,  234,    0,
-        0,    0,    0,  224,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,  234,  241,  241,    0,  241,  241,  241,  242,
-      242,  243,  243,  243,  244,  244,  244,  245,  245,    0,
-      245,  245,  245,  246,    0,  246,  246,  246,  247,    0,
-        0,  247,  247,  248,  248,  248,  249,    0,    0,  249,
-      250,  250,  250,  251,    0,    0,  251,  240,  240,  240,
-
-      240,  240,  240,  240,  240,  240,  240,  240,  240,  240,
-      240,  240,  240,  240,  240,  240,  240,  240,  240,  240,
-      240,  240,  240,  240,  240,  240,  240,  240,  240,  240,
-      240,  240,  240,  240,  240,  240,  240,  240,  240,  240,
-      240,  240,  240,  240,  240,  240,  240,  240,  240,  240,
-      240,  240,  240,  240,  240,  240,  240,  240,  240,  240,
-      240
+        1,    1,    1,    1,    2,   14,   14,    2,    5,    5,
+        5,    5,    6,    6,    6,    6,    7,    7,    7,    7,
+        8,    8,    8,    8,   15,   15,   17,   18,   19,   66,
+       20,    6,   66,   17,   19,    7,   99,   21,   23,   21,
+
+       48,   23,   31,   22,   43,   26,   49,   49,   42,   21,
+       26,   17,   18,   19,   20,   55,    6,   17,   19,   22,
+        7,   21,   23,   21,   25,   23,   56,   31,   22,   28,
+       26,   25,   42,   21,   26,   27,   16,   25,   28,   27,
+       55,   33,  147,   22,   30,  147,   54,   33,   27,   25,
+       30,   56,   58,   30,   28,   25,   29,   57,   13,   12,
+       27,   25,   28,   29,   27,   29,   33,   29,   30,   32,
+       54,   33,   27,    9,   30,   60,   58,   30,   32,   32,
+       61,   29,   57,   32,   34,   34,    3,   29,   62,   29,
+       34,   29,    0,    0,   32,   35,   35,   35,   35,   60,
+
+        0,  177,   32,   32,  177,   61,    0,   32,   40,   34,
+       34,   40,   63,   62,   34,   36,   36,   36,   36,   37,
+       37,   37,   37,   39,   39,   39,   39,   40,   41,   41,
+       41,   41,   59,   64,    0,   65,   69,   63,   68,   68,
+       70,   59,   71,   72,    0,   73,   75,   41,    0,   76,
+       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,
+
+      105,   87,   94,   94,   94,   94,  106,   89,   91,   92,
+       93,  107,   91,   95,   95,   95,   95,   96,  109,  100,
+      102,  103,  110,  104,  108,  105,  111,  108,  112,  113,
+      106,  114,  113,  116,  115,  108,  107,  118,  117,    0,
+      119,  120,  109,  115,  122,  129,  110,  123,  125,  126,
+      111,  127,  131,  112,  132,  114,  133,  116,  135,  115,
+      136,  118,  113,  117,  119,  134,  120,  115,  134,  122,
+      129,  123,  125,  126,  137,  127,  131,  138,  139,  132,
+      133,  140,  135,  141,  136,  143,  113,  150,  151,  152,
+        0,  153,  134,  154,    0,  155,  160,  161,  162,  137,
+
+      166,  167,  138,  139,  168,  140,  169,  141,  170,  171,
+      143,  150,  171,  151,  152,  153,  134,  174,  154,  155,
+      160,  161,  175,  162,  179,  166,  167,  180,  190,  168,
+      169,  183,  170,  185,  187,  188,  192,  193,  195,    0,
+      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
     } ;
 
 static yy_state_type yy_last_accepting_state;
@@ -735,7 +746,7 @@ static void countnl() {
 	g_lingo->_colnumber = strlen(p);
 }
 
-#line 739 "engines/director/lingo/lingo-lex.cpp"
+#line 750 "engines/director/lingo/lingo-lex.cpp"
 
 #define INITIAL 0
 
@@ -923,7 +934,7 @@ YY_DECL
 #line 69 "engines/director/lingo/lingo-lex.l"
 
 
-#line 927 "engines/director/lingo/lingo-lex.cpp"
+#line 938 "engines/director/lingo/lingo-lex.cpp"
 
 	if ( !(yy_init) )
 		{
@@ -977,13 +988,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 >= 241 )
+				if ( yy_current_state >= 248 )
 					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] != 598 );
+		while ( yy_base[yy_current_state] != 637 );
 
 yy_find_action:
 		yy_act = yy_accept[yy_current_state];
@@ -1306,6 +1317,40 @@ YY_RULE_SETUP
 {
 		count();
 
+		const char *p = &yytext[4]; // Skip 'the '
+		while (*p == ' ' || *p == '\t')
+			p++;
+
+		Common::String field;
+		while (*p != ' ' && *p != '\t')
+			field += *p++;
+
+		const char *ptr = "date";
+
+		field = Common::String::format("%d%s", g_lingo->_theEntities[ptr]->entity, field.c_str());
+
+		if (!g_lingo->_theEntityFields.contains(field)) {
+			error("Unhandled the field %s", ptr);
+		}
+
+		if (g_lingo->_theEntityFields[field]->entity != g_lingo->_theEntities[ptr]->entity)
+			error("Unsupported field '%s' for entity '%s'", field.c_str(), ptr);
+
+		yylval.e[0] = g_lingo->_theEntities[ptr]->entity;
+		yylval.e[1] = g_lingo->_theEntityFields[field]->field;
+
+		if (g_lingo->_theEntities[ptr]->hasId)
+			return THEENTITYWITHID;
+		else
+			return THEENTITY;
+	}
+	YY_BREAK
+case 49:
+YY_RULE_SETUP
+#line 206 "engines/director/lingo/lingo-lex.l"
+{
+		count();
+
 		const char *ptr = &yytext[4]; // Skip 'the '
 		while (*ptr == ' ' || *ptr == '\t')
 			ptr++;
@@ -1323,69 +1368,69 @@ YY_RULE_SETUP
 		warning("Unhandled the entity %s", ptr);
 	}
 	YY_BREAK
-case 49:
+case 50:
 YY_RULE_SETUP
-#line 195 "engines/director/lingo/lingo-lex.l"
+#line 225 "engines/director/lingo/lingo-lex.l"
 { count(); return tTHEN; }
 	YY_BREAK
-case 50:
+case 51:
 YY_RULE_SETUP
-#line 196 "engines/director/lingo/lingo-lex.l"
+#line 226 "engines/director/lingo/lingo-lex.l"
 { count(); return tTO; }
 	YY_BREAK
-case 51:
+case 52:
 YY_RULE_SETUP
-#line 197 "engines/director/lingo/lingo-lex.l"
+#line 227 "engines/director/lingo/lingo-lex.l"
 { count(); return tSPRITE; }
 	YY_BREAK
-case 52:
+case 53:
 YY_RULE_SETUP
-#line 198 "engines/director/lingo/lingo-lex.l"
+#line 228 "engines/director/lingo/lingo-lex.l"
 { count(); return tWITH; }
 	YY_BREAK
-case 53:
+case 54:
 YY_RULE_SETUP
-#line 199 "engines/director/lingo/lingo-lex.l"
+#line 229 "engines/director/lingo/lingo-lex.l"
 { count(); return tWITHIN; }
 	YY_BREAK
-case 54:
+case 55:
 YY_RULE_SETUP
-#line 200 "engines/director/lingo/lingo-lex.l"
+#line 230 "engines/director/lingo/lingo-lex.l"
 { count(); return tWHEN; }
 	YY_BREAK
-case 55:
+case 56:
 YY_RULE_SETUP
-#line 201 "engines/director/lingo/lingo-lex.l"
+#line 231 "engines/director/lingo/lingo-lex.l"
 { count(); return tWHILE; }
 	YY_BREAK
-case 56:
+case 57:
 YY_RULE_SETUP
-#line 202 "engines/director/lingo/lingo-lex.l"
+#line 232 "engines/director/lingo/lingo-lex.l"
 { count(); return tWORD; }
 	YY_BREAK
-case 57:
+case 58:
 YY_RULE_SETUP
-#line 204 "engines/director/lingo/lingo-lex.l"
+#line 234 "engines/director/lingo/lingo-lex.l"
 { count(); return tNEQ; }
 	YY_BREAK
-case 58:
+case 59:
 YY_RULE_SETUP
-#line 205 "engines/director/lingo/lingo-lex.l"
+#line 235 "engines/director/lingo/lingo-lex.l"
 { count(); return tGE; }
 	YY_BREAK
-case 59:
+case 60:
 YY_RULE_SETUP
-#line 206 "engines/director/lingo/lingo-lex.l"
+#line 236 "engines/director/lingo/lingo-lex.l"
 { count(); return tLE; }
 	YY_BREAK
-case 60:
+case 61:
 YY_RULE_SETUP
-#line 207 "engines/director/lingo/lingo-lex.l"
+#line 237 "engines/director/lingo/lingo-lex.l"
 { count(); return tCONCAT; }
 	YY_BREAK
-case 61:
+case 62:
 YY_RULE_SETUP
-#line 209 "engines/director/lingo/lingo-lex.l"
+#line 239 "engines/director/lingo/lingo-lex.l"
 {
 		count();
 		yylval.s = new Common::String(yytext);
@@ -1416,43 +1461,43 @@ YY_RULE_SETUP
 		return ID;
 	}
 	YY_BREAK
-case 62:
+case 63:
 YY_RULE_SETUP
-#line 238 "engines/director/lingo/lingo-lex.l"
+#line 268 "engines/director/lingo/lingo-lex.l"
 { count(); yylval.f = atof(yytext); return FLOAT; }
 	YY_BREAK
-case 63:
+case 64:
 YY_RULE_SETUP
-#line 239 "engines/director/lingo/lingo-lex.l"
+#line 269 "engines/director/lingo/lingo-lex.l"
 { count(); yylval.i = strtol(yytext, NULL, 10); return INT; }
 	YY_BREAK
-case 64:
+case 65:
 YY_RULE_SETUP
-#line 240 "engines/director/lingo/lingo-lex.l"
+#line 270 "engines/director/lingo/lingo-lex.l"
 { count(); return *yytext; }
 	YY_BREAK
-case 65:
-/* rule 65 can match eol */
+case 66:
+/* rule 66 can match eol */
 YY_RULE_SETUP
-#line 241 "engines/director/lingo/lingo-lex.l"
+#line 271 "engines/director/lingo/lingo-lex.l"
 { return '\n'; }
 	YY_BREAK
-case 66:
+case 67:
 YY_RULE_SETUP
-#line 242 "engines/director/lingo/lingo-lex.l"
+#line 272 "engines/director/lingo/lingo-lex.l"
 { count(); yylval.s = new Common::String(&yytext[1]); yylval.s->deleteLastChar(); return STRING; }
 	YY_BREAK
-case 67:
+case 68:
 YY_RULE_SETUP
-#line 243 "engines/director/lingo/lingo-lex.l"
+#line 273 "engines/director/lingo/lingo-lex.l"
 
 	YY_BREAK
-case 68:
+case 69:
 YY_RULE_SETUP
-#line 245 "engines/director/lingo/lingo-lex.l"
+#line 275 "engines/director/lingo/lingo-lex.l"
 ECHO;
 	YY_BREAK
-#line 1456 "engines/director/lingo/lingo-lex.cpp"
+#line 1501 "engines/director/lingo/lingo-lex.cpp"
 case YY_STATE_EOF(INITIAL):
 	yyterminate();
 
@@ -1745,7 +1790,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 >= 241 )
+			if ( yy_current_state >= 248 )
 				yy_c = yy_meta[(unsigned int) yy_c];
 			}
 		yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
@@ -1773,11 +1818,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 >= 241 )
+		if ( yy_current_state >= 248 )
 			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 == 240);
+	yy_is_jam = (yy_current_state == 247);
 
 	return yy_is_jam ? 0 : yy_current_state;
 }
@@ -2452,7 +2497,7 @@ void yyfree (void * ptr )
 
 #define YYTABLES_NAME "yytables"
 
-#line 245 "engines/director/lingo/lingo-lex.l"
+#line 275 "engines/director/lingo/lingo-lex.l"
 
 
 
diff --git a/engines/director/lingo/lingo-lex.l b/engines/director/lingo/lingo-lex.l
index 43c9bc3..4988628 100644
--- a/engines/director/lingo/lingo-lex.l
+++ b/engines/director/lingo/lingo-lex.l
@@ -173,6 +173,36 @@ whitespace [\t ]
 
 		warning("Unhandled the entity %s", ptr);
 	}
+(?i:the[ \t]+[[:alpha:]]+[ \t+]date)		{
+		count();
+
+		const char *p = &yytext[4]; // Skip 'the '
+		while (*p == ' ' || *p == '\t')
+			p++;
+
+		Common::String field;
+		while (*p != ' ' && *p != '\t')
+			field += *p++;
+
+		const char *ptr = "date";
+
+		field = Common::String::format("%d%s", g_lingo->_theEntities[ptr]->entity, field.c_str());
+
+		if (!g_lingo->_theEntityFields.contains(field)) {
+			error("Unhandled the field %s", ptr);
+		}
+
+		if (g_lingo->_theEntityFields[field]->entity != g_lingo->_theEntities[ptr]->entity)
+			error("Unsupported field '%s' for entity '%s'", field.c_str(), ptr);
+
+		yylval.e[0] = g_lingo->_theEntities[ptr]->entity;
+		yylval.e[1] = g_lingo->_theEntityFields[field]->field;
+
+		if (g_lingo->_theEntities[ptr]->hasId)
+			return THEENTITYWITHID;
+		else
+			return THEENTITY;
+	}
 (?i:the[ \t]+[[:alpha:]]+)		{
 		count();
 
diff --git a/engines/director/lingo/lingo-the.cpp b/engines/director/lingo/lingo-the.cpp
index b23ec7b..a9f298e 100644
--- a/engines/director/lingo/lingo-the.cpp
+++ b/engines/director/lingo/lingo-the.cpp
@@ -42,6 +42,7 @@ TheEntity entities[] = {
 	{ kTheColorQD,			"colorQD",			false },	// D2 f
 	{ kTheCommandDown,		"commandDown",		false },	// D2 f
 	{ kTheControlDown,		"controlDown",		false },	// D2 f
+	{ kTheDate,				"date",				false },	//		 D3
 	{ kTheDoubleClick,		"doubleClick",		false },	// D2 f
 	{ kTheExitLock,			"exitLock",			false },	// D2 p
 	{ kTheField,			"field",			true  },	//		 D3
@@ -220,6 +221,12 @@ TheEntityField fields[] = {
 	{ kTheMenus,	"number",		kTheNumber },		//		D3 p
 	{ kTheWords,	"number",		kTheNumber },		//		D3 p
 
+	{ kTheDate,		"short",		kTheShort },		//		D3 f
+	{ kTheDate,		"long",			kTheLong },			//		D3 f
+	{ kTheDate,		"abbreviated",	kTheAbbr },			//		D3 f
+	{ kTheDate,		"abbrev",		kTheAbbr },			//		D3 f
+	{ kTheDate,		"abbr",			kTheAbbr },			//		D3 f
+
 	{ kTheNOEntity, NULL, kTheNOField }
 };
 
diff --git a/engines/director/lingo/lingo-the.h b/engines/director/lingo/lingo-the.h
index bbca636..44737eb 100644
--- a/engines/director/lingo/lingo-the.h
+++ b/engines/director/lingo/lingo-the.h
@@ -27,7 +27,8 @@ namespace Director {
 
 enum TheEntityType {
 	kTheNOEntity = 0,
-	kTheFrame = 1,
+	kTheDate = 1,
+	kTheFrame,
 	kTheFreeBlock,
 	kTheFreeBytes,
 	kThePathName,
@@ -125,7 +126,8 @@ enum TheEntityType {
 
 enum TheFieldType {
 	kTheNOField = 0,
-	kTheCastNum = 1,
+	kTheAbbr    = 1,
+	kTheCastNum,
 	kTheCastType,
 	kTheCheckMark,
 	kTheController,
@@ -150,6 +152,7 @@ enum TheFieldType {
 	kTheInk,
 	kTheLeft,
 	kTheLineSize,
+	kTheLong,
 	kTheLoop,
 	kTheLoaded,
 	kTheModified,
@@ -168,6 +171,7 @@ enum TheFieldType {
 	kTheRect,
 	kTheRegPoint,
 	kTheRight,
+	kTheShort,
 	kTheStopTime,
 	kTheStretch,
 	kTheStartTime,
diff --git a/engines/director/lingo/tests/the.lingo b/engines/director/lingo/tests/the.lingo
index 65c0d6e..d711e4a 100644
--- a/engines/director/lingo/tests/the.lingo
+++ b/engines/director/lingo/tests/the.lingo
@@ -4,3 +4,6 @@ put 1.0 / 3
 put the loch of sprite 4
 set the loch of sprite 5 to 10
 set the castnum of sprite 8 to the number of cast "A Blank Castmember"
+
+put the date
+put the long date





More information about the Scummvm-git-logs mailing list