[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