[Scummvm-git-logs] scummvm master -> 4b1717150a8232b3dccacf9985bf787e0a8e6379
sev-
sev at scummvm.org
Wed Jul 22 10:42:11 UTC 2020
This automated email contains information about 3 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
d86838c743 DIRECTOR: LINGO: Unstub 'the preLoadRAM'
0991666303 DIRECTOR: LINGO: Simulate 'preLoadCast'
4b1717150a DIRECTOR: LINGO: Implement 'the result'
Commit: d86838c7436817a6a6cec1df8a54c9b3fcca8910
https://github.com/scummvm/scummvm/commit/d86838c7436817a6a6cec1df8a54c9b3fcca8910
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-07-22T12:35:55+02:00
Commit Message:
DIRECTOR: LINGO: Unstub 'the preLoadRAM'
Changed paths:
engines/director/lingo/lingo-the.cpp
diff --git a/engines/director/lingo/lingo-the.cpp b/engines/director/lingo/lingo-the.cpp
index f324c1bfc0..2e16446197 100644
--- a/engines/director/lingo/lingo-the.cpp
+++ b/engines/director/lingo/lingo-the.cpp
@@ -648,7 +648,7 @@ Datum Lingo::getTheEntity(int entity, Datum &id, int field) {
getTheEntitySTUB(kThePreloadEventAbort);
break;
case kThePreLoadRAM:
- getTheEntitySTUB(kThePreLoadRAM);
+ d.u.i = 0; // We always have unlimited RAM
break;
case kThePi:
d.type = FLOAT;
@@ -907,7 +907,7 @@ void Lingo::setTheEntity(int entity, Datum &id, int field, Datum &d) {
setTheEntitySTUB(kThePreloadEventAbort);
break;
case kThePreLoadRAM:
- setTheEntitySTUB(kThePreLoadRAM);
+ // We always have the unlimited RAM, ignore
break;
case kTheRandomSeed:
g_director->_rnd.setSeed(d.asInt());
Commit: 0991666303ea1e88684ecb4dc3a65c4a53160493
https://github.com/scummvm/scummvm/commit/0991666303ea1e88684ecb4dc3a65c4a53160493
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-07-22T12:36:37+02:00
Commit Message:
DIRECTOR: LINGO: Simulate 'preLoadCast'
Changed paths:
engines/director/lingo/lingo-builtins.cpp
engines/director/lingo/lingo.h
diff --git a/engines/director/lingo/lingo-builtins.cpp b/engines/director/lingo/lingo-builtins.cpp
index f3ed22484a..0bea5bea03 100644
--- a/engines/director/lingo/lingo-builtins.cpp
+++ b/engines/director/lingo/lingo-builtins.cpp
@@ -1274,9 +1274,13 @@ void LB::b_preLoad(int nargs) {
}
void LB::b_preLoadCast(int nargs) {
- g_lingo->printSTUBWithArglist("b_preLoadCast", nargs);
+ g_lingo->_theResult = g_lingo->pop();
- g_lingo->dropStack(nargs);
+ if (nargs == 2)
+ g_lingo->_theResult = g_lingo->pop();
+
+ // We always pretend we preloaded all cast
+ // Returning the number of the last case successfully "loaded"
}
void LB::b_framesToHMS(int nargs) {
diff --git a/engines/director/lingo/lingo.h b/engines/director/lingo/lingo.h
index 0e3a07a990..e3d939f40e 100644
--- a/engines/director/lingo/lingo.h
+++ b/engines/director/lingo/lingo.h
@@ -461,6 +461,8 @@ public:
int _floatPrecision;
+ Datum _theResult;
+
// events
bool _passEvent;
Datum _perFrameHook;
Commit: 4b1717150a8232b3dccacf9985bf787e0a8e6379
https://github.com/scummvm/scummvm/commit/4b1717150a8232b3dccacf9985bf787e0a8e6379
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-07-22T12:41:41+02:00
Commit Message:
DIRECTOR: LINGO: Implement 'the result'
Changed paths:
engines/director/lingo/lingo-builtins.cpp
engines/director/lingo/lingo-the.cpp
diff --git a/engines/director/lingo/lingo-builtins.cpp b/engines/director/lingo/lingo-builtins.cpp
index 0bea5bea03..38f041e422 100644
--- a/engines/director/lingo/lingo-builtins.cpp
+++ b/engines/director/lingo/lingo-builtins.cpp
@@ -1325,6 +1325,9 @@ void LB::b_return(int nargs) {
if (g_lingo->_currentMe.type == OBJECT && g_lingo->_currentMe.u.obj->getObjType() == kFactoryObj && fp->sp.name->equalsIgnoreCase("mNew")) {
g_lingo->pop();
}
+
+ g_lingo->_theResult = g_lingo->peek(0); // Store result for possible reference
+
LC::c_procret();
}
diff --git a/engines/director/lingo/lingo-the.cpp b/engines/director/lingo/lingo-the.cpp
index 2e16446197..ddd6cdd793 100644
--- a/engines/director/lingo/lingo-the.cpp
+++ b/engines/director/lingo/lingo-the.cpp
@@ -664,7 +664,7 @@ Datum Lingo::getTheEntity(int entity, Datum &id, int field) {
d.u.i = g_director->_rnd.getSeed();
break;
case kTheResult:
- getTheEntitySTUB(kTheResult);
+ d = g_lingo->_theResult;
break;
case kTheRightMouseDown:
getTheEntitySTUB(kTheRightMouseDown);
More information about the Scummvm-git-logs
mailing list