[Scummvm-git-logs] scummvm master -> efc1840c511cee6dc2d7b0f1d83648d660a10311
sev-
sev at scummvm.org
Sun May 31 12:39:04 UTC 2020
This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
53eec8698d DIRECTOR: LINGO: Moved cb_stackpeek and cb_stackdrop to c_
efc1840c51 DIRECTOR: Switched to Homebrew flex for consistency
Commit: 53eec8698dccd0e0281fc7cf488a8eeec66c0fd6
https://github.com/scummvm/scummvm/commit/53eec8698dccd0e0281fc7cf488a8eeec66c0fd6
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-05-31T14:38:06+02:00
Commit Message:
DIRECTOR: LINGO: Moved cb_stackpeek and cb_stackdrop to c_
Changed paths:
engines/director/lingo/lingo-bytecode.cpp
engines/director/lingo/lingo-code.cpp
engines/director/lingo/lingo-code.h
engines/director/lingo/lingo-gr.cpp
engines/director/lingo/lingo-gr.y
diff --git a/engines/director/lingo/lingo-bytecode.cpp b/engines/director/lingo/lingo-bytecode.cpp
index ab2057f99b..ec8d17414d 100644
--- a/engines/director/lingo/lingo-bytecode.cpp
+++ b/engines/director/lingo/lingo-bytecode.cpp
@@ -95,8 +95,8 @@ static LingoV4Bytecode lingoV4[] = {
{ 0x60, LC::cb_theassign2, "b" },
{ 0x61, LC::cb_objectfieldpush, "b" },
{ 0x62, LC::cb_objectfieldassign, "b" },
- { 0x64, LC::cb_stackpeek, "b" },
- { 0x65, LC::cb_stackdrop, "b" },
+ { 0x64, LC::c_stackpeek, "b" },
+ { 0x65, LC::c_stackdrop, "b" },
{ 0x66, LC::cb_v4theentitynamepush, "b" },
{ 0x81, LC::c_intpush, "w" },
{ 0x82, LC::c_argcnoretpush,"w" },
@@ -417,20 +417,6 @@ void LC::cb_call() {
}
-void LC::cb_stackpeek() {
- int peekOffset = g_lingo->readInt();
- g_lingo->push(g_lingo->peek(peekOffset));
-}
-
-
-void LC::cb_stackdrop() {
- int dropCount = g_lingo->readInt();
- for (int i = 0; i < dropCount; i++) {
- g_lingo->pop();
- }
-}
-
-
void LC::cb_globalpush() {
int nameId = g_lingo->readInt();
Common::String name = g_lingo->getName(nameId);
diff --git a/engines/director/lingo/lingo-code.cpp b/engines/director/lingo/lingo-code.cpp
index ffbfb15d2d..e666582119 100644
--- a/engines/director/lingo/lingo-code.cpp
+++ b/engines/director/lingo/lingo-code.cpp
@@ -163,8 +163,8 @@ static struct FuncDescr {
{ LC::cb_v4theentitynamepush,"cb_v4theentitynamepush","N" },
{ LC::cb_v4theentityassign,"cb_v4theentityassign","i" },
{ LC::cb_zeropush, "cb_zeropush", "" },
- { LC::cb_stackpeek, "cb_stackpeek", "i" },
- { LC::cb_stackdrop, "cb_stackdrop", "i" },
+ { LC::c_stackpeek, "c_stackpeek", "i" },
+ { LC::c_stackdrop, "c_stackdrop", "i" },
{ 0, 0, 0 }
};
@@ -386,6 +386,18 @@ void LC::c_varpush() {
g_lingo->push(d);
}
+void LC::c_stackpeek() {
+ int peekOffset = g_lingo->readInt();
+ g_lingo->push(g_lingo->peek(peekOffset));
+}
+
+void LC::c_stackdrop() {
+ int dropCount = g_lingo->readInt();
+ for (int i = 0; i < dropCount; i++) {
+ g_lingo->pop();
+ }
+}
+
void LC::c_setImmediate() {
g_lingo->_immediateMode = g_lingo->readInt();
}
diff --git a/engines/director/lingo/lingo-code.h b/engines/director/lingo/lingo-code.h
index 8d14a219d7..2b62f92fdd 100644
--- a/engines/director/lingo/lingo-code.h
+++ b/engines/director/lingo/lingo-code.h
@@ -77,6 +77,8 @@ namespace LC {
void c_argcnoretpush();
void c_arraypush();
void c_proparraypush();
+ void c_stackpeek();
+ void c_stackdrop();
void c_assign();
bool verify(const Symbol &s);
void c_eval();
@@ -158,8 +160,6 @@ namespace LC {
void cb_thepush();
void cb_thepush2();
void cb_proplist();
- void cb_stackpeek();
- void cb_stackdrop();
void cb_varassign();
void cb_varpush();
void cb_v4assign();
diff --git a/engines/director/lingo/lingo-gr.cpp b/engines/director/lingo/lingo-gr.cpp
index cd50b95c61..d4533b545c 100644
--- a/engines/director/lingo/lingo-gr.cpp
+++ b/engines/director/lingo/lingo-gr.cpp
@@ -2552,7 +2552,7 @@ yyreduce:
case 38:
#line 348 "engines/director/lingo/lingo-gr.y"
- { g_lingo->code1(LC::cb_stackpeek);
+ { g_lingo->code1(LC::c_stackpeek);
g_lingo->codeInt(0);
g_lingo->codeFunc(new Common::String("count"), 1);
g_lingo->code1(LC::c_intpush); // start counter
@@ -2562,9 +2562,9 @@ yyreduce:
case 39:
#line 354 "engines/director/lingo/lingo-gr.y"
- { g_lingo->code1(LC::cb_stackpeek); // get counter
+ { g_lingo->code1(LC::c_stackpeek); // get counter
g_lingo->codeInt(0);
- g_lingo->code1(LC::cb_stackpeek); // get array size
+ g_lingo->code1(LC::c_stackpeek); // get array size
g_lingo->codeInt(2);
g_lingo->code1(LC::c_le); }
#line 2571 "engines/director/lingo/lingo-gr.cpp"
@@ -2572,9 +2572,9 @@ yyreduce:
case 40:
#line 360 "engines/director/lingo/lingo-gr.y"
- { g_lingo->code1(LC::cb_stackpeek); // get list
+ { g_lingo->code1(LC::c_stackpeek); // get list
g_lingo->codeInt(2);
- g_lingo->code1(LC::cb_stackpeek); // get counter
+ g_lingo->code1(LC::c_stackpeek); // get counter
g_lingo->codeInt(1);
g_lingo->codeFunc(new Common::String("getAt"), 2);
g_lingo->code1(LC::c_varpush);
@@ -2594,7 +2594,7 @@ yyreduce:
int jump = g_lingo->code2(LC::c_jump, STOP);
- int end2 = g_lingo->code1(LC::cb_stackdrop); // remove list, size, counter
+ int end2 = g_lingo->code1(LC::c_stackdrop); // remove list, size, counter
g_lingo->codeInt(3);
inst loop = 0, end = 0;
diff --git a/engines/director/lingo/lingo-gr.y b/engines/director/lingo/lingo-gr.y
index c269eb0cb1..6f64e11c6b 100644
--- a/engines/director/lingo/lingo-gr.y
+++ b/engines/director/lingo/lingo-gr.y
@@ -345,21 +345,21 @@ stmt: stmtoneliner
// end repeat
//
| tREPEAT tWITH ID tIN expr
- { g_lingo->code1(LC::cb_stackpeek);
+ { g_lingo->code1(LC::c_stackpeek);
g_lingo->codeInt(0);
g_lingo->codeFunc(new Common::String("count"), 1);
g_lingo->code1(LC::c_intpush); // start counter
g_lingo->codeInt(1); }
begin
- { g_lingo->code1(LC::cb_stackpeek); // get counter
+ { g_lingo->code1(LC::c_stackpeek); // get counter
g_lingo->codeInt(0);
- g_lingo->code1(LC::cb_stackpeek); // get array size
+ g_lingo->code1(LC::c_stackpeek); // get array size
g_lingo->codeInt(2);
g_lingo->code1(LC::c_le); }
jumpifz
- { g_lingo->code1(LC::cb_stackpeek); // get list
+ { g_lingo->code1(LC::c_stackpeek); // get list
g_lingo->codeInt(2);
- g_lingo->code1(LC::cb_stackpeek); // get counter
+ g_lingo->code1(LC::c_stackpeek); // get counter
g_lingo->codeInt(1);
g_lingo->codeFunc(new Common::String("getAt"), 2);
g_lingo->code1(LC::c_varpush);
@@ -374,7 +374,7 @@ stmt: stmtoneliner
int jump = g_lingo->code2(LC::c_jump, STOP);
- int end2 = g_lingo->code1(LC::cb_stackdrop); // remove list, size, counter
+ int end2 = g_lingo->code1(LC::c_stackdrop); // remove list, size, counter
g_lingo->codeInt(3);
inst loop = 0, end = 0;
Commit: efc1840c511cee6dc2d7b0f1d83648d660a10311
https://github.com/scummvm/scummvm/commit/efc1840c511cee6dc2d7b0f1d83648d660a10311
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-05-31T14:38:35+02:00
Commit Message:
DIRECTOR: Switched to Homebrew flex for consistency
Changed paths:
engines/director/lingo/lingo-lex.cpp
engines/director/module.mk
diff --git a/engines/director/lingo/lingo-lex.cpp b/engines/director/lingo/lingo-lex.cpp
index 4c05b05bab..c5579cd263 100644
--- a/engines/director/lingo/lingo-lex.cpp
+++ b/engines/director/lingo/lingo-lex.cpp
@@ -427,7 +427,7 @@ static const YY_CHAR yy_ec[256] =
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, 2, 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
diff --git a/engines/director/module.mk b/engines/director/module.mk
index 8f22316106..2d76699c5f 100644
--- a/engines/director/module.mk
+++ b/engines/director/module.mk
@@ -33,7 +33,7 @@ MODULE_OBJS = \
lingo/lingo-the.o
director-grammar:
- flex engines/director/lingo/lingo-lex.l
+ `brew --prefix flex`/bin/flex engines/director/lingo/lingo-lex.l
`brew --prefix bison`/bin/bison -dv engines/director/lingo/lingo-gr.y
# This module can be built as a plugin
More information about the Scummvm-git-logs
mailing list