aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
Diffstat (limited to 'engines')
-rw-r--r--engines/director/director.cpp2
-rw-r--r--engines/director/lingo/lingo-gr.cpp25
-rw-r--r--engines/director/lingo/lingo-gr.y1
3 files changed, 15 insertions, 13 deletions
diff --git a/engines/director/director.cpp b/engines/director/director.cpp
index d1b88ba39d..9f2ffce538 100644
--- a/engines/director/director.cpp
+++ b/engines/director/director.cpp
@@ -119,7 +119,7 @@ exit\n\
end if\n\
\n\
--\n\
-mmacro check par1, par2 \n\
+macro check par1, par2 \n\
, par3\n\
if par1 = 3 then\n\
put -3\n\
diff --git a/engines/director/lingo/lingo-gr.cpp b/engines/director/lingo/lingo-gr.cpp
index 77d99e3f99..7995952453 100644
--- a/engines/director/lingo/lingo-gr.cpp
+++ b/engines/director/lingo/lingo-gr.cpp
@@ -535,7 +535,7 @@ static const yytype_uint16 yyrline[] =
225, 226, 227, 228, 229, 230, 231, 232, 235, 236,
237, 238, 239, 240, 243, 244, 255, 256, 257, 258,
263, 269, 276, 277, 278, 279, 282, 283, 284, 312,
- 312, 318, 319, 320, 321, 323, 326, 334, 335, 336
+ 312, 319, 320, 321, 322, 324, 327, 335, 336, 337
};
#endif
@@ -1914,38 +1914,39 @@ yyreduce:
case 70:
#line 313 "engines/director/lingo/lingo-gr.y"
{
+ g_lingo->code2(g_lingo->c_constpush, (inst)0); // Push fake value on stack
g_lingo->code1(g_lingo->c_procret);
g_lingo->define(*(yyvsp[(2) - (8)].s), (yyvsp[(4) - (8)].code), (yyvsp[(5) - (8)].narg));
g_lingo->_indef = false; ;}
break;
case 71:
-#line 318 "engines/director/lingo/lingo-gr.y"
+#line 319 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 0; ;}
break;
case 72:
-#line 319 "engines/director/lingo/lingo-gr.y"
+#line 320 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeArg((yyvsp[(1) - (1)].s)); (yyval.narg) = 1; ;}
break;
case 73:
-#line 320 "engines/director/lingo/lingo-gr.y"
+#line 321 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeArg((yyvsp[(3) - (3)].s)); (yyval.narg) = (yyvsp[(1) - (3)].narg) + 1; ;}
break;
case 74:
-#line 321 "engines/director/lingo/lingo-gr.y"
+#line 322 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeArg((yyvsp[(4) - (4)].s)); (yyval.narg) = (yyvsp[(1) - (4)].narg) + 1; ;}
break;
case 75:
-#line 323 "engines/director/lingo/lingo-gr.y"
+#line 324 "engines/director/lingo/lingo-gr.y"
{ g_lingo->codeArgStore(); ;}
break;
case 76:
-#line 326 "engines/director/lingo/lingo-gr.y"
+#line 327 "engines/director/lingo/lingo-gr.y"
{
g_lingo->code1(g_lingo->c_call);
g_lingo->codeString((yyvsp[(1) - (3)].s)->c_str());
@@ -1955,23 +1956,23 @@ yyreduce:
break;
case 77:
-#line 334 "engines/director/lingo/lingo-gr.y"
+#line 335 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 0; ;}
break;
case 78:
-#line 335 "engines/director/lingo/lingo-gr.y"
+#line 336 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = 1; ;}
break;
case 79:
-#line 336 "engines/director/lingo/lingo-gr.y"
+#line 337 "engines/director/lingo/lingo-gr.y"
{ (yyval.narg) = (yyvsp[(1) - (3)].narg) + 1; ;}
break;
/* Line 1267 of yacc.c. */
-#line 1975 "engines/director/lingo/lingo-gr.cpp"
+#line 1976 "engines/director/lingo/lingo-gr.cpp"
default: break;
}
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@@ -2185,6 +2186,6 @@ yyreturn:
}
-#line 339 "engines/director/lingo/lingo-gr.y"
+#line 340 "engines/director/lingo/lingo-gr.y"
diff --git a/engines/director/lingo/lingo-gr.y b/engines/director/lingo/lingo-gr.y
index eceaba087a..aca2a192f5 100644
--- a/engines/director/lingo/lingo-gr.y
+++ b/engines/director/lingo/lingo-gr.y
@@ -311,6 +311,7 @@ gotomovie: tOF tMOVIE STRING { $$ = $3; }
// on keyword
defn: tMACRO ID { g_lingo->_indef = true; }
begin argdef '\n' argstore stmtlist {
+ g_lingo->code2(g_lingo->c_constpush, (inst)0); // Push fake value on stack
g_lingo->code1(g_lingo->c_procret);
g_lingo->define(*$2, $4, $5);
g_lingo->_indef = false; }