aboutsummaryrefslogtreecommitdiff
path: root/engines/director/lingo/lingo-gr.cpp
diff options
context:
space:
mode:
authorEugene Sandulenko2016-07-01 16:58:59 +0200
committerEugene Sandulenko2016-08-03 23:40:36 +0200
commit953c57944ec98f14b494359e65b78001f956a011 (patch)
tree7562e2a880af82354c3f2bd7d731c7efb622a515 /engines/director/lingo/lingo-gr.cpp
parent610075cc153411e945cda54b43974e7c7a5becfe (diff)
downloadscummvm-rg350-953c57944ec98f14b494359e65b78001f956a011.tar.gz
scummvm-rg350-953c57944ec98f14b494359e65b78001f956a011.tar.bz2
scummvm-rg350-953c57944ec98f14b494359e65b78001f956a011.zip
DIRECTOR: Make built-in functions work (always)
Diffstat (limited to 'engines/director/lingo/lingo-gr.cpp')
-rw-r--r--engines/director/lingo/lingo-gr.cpp25
1 files changed, 13 insertions, 12 deletions
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"