[Scummvm-git-logs] scummvm master -> ad6b80009ffce3a8e1c13ea89532e6cf84760011
sev-
noreply at scummvm.org
Tue Jun 21 23:13:45 UTC 2022
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
ad6b80009f DIRECTOR: LINGO: Implement setting of timeOutLapsed property
Commit: ad6b80009ffce3a8e1c13ea89532e6cf84760011
https://github.com/scummvm/scummvm/commit/ad6b80009ffce3a8e1c13ea89532e6cf84760011
Author: Pragyansh Chaturvedi (r41k0u) (pragyanshchaturvedi18 at gmail.com)
Date: 2022-06-22T01:13:41+02:00
Commit Message:
DIRECTOR: LINGO: Implement setting of timeOutLapsed property
Changed paths:
engines/director/director.cpp
engines/director/director.h
engines/director/events.cpp
engines/director/lingo/lingo-the.cpp
diff --git a/engines/director/director.cpp b/engines/director/director.cpp
index 3cf15d88cd3..8be75f709e8 100644
--- a/engines/director/director.cpp
+++ b/engines/director/director.cpp
@@ -124,6 +124,7 @@ DirectorEngine::DirectorEngine(OSystem *syst, const DirectorGameDescription *gam
_centerStage = true;
_surface = nullptr;
+ _tickBaseline = 0;
}
DirectorEngine::~DirectorEngine() {
diff --git a/engines/director/director.h b/engines/director/director.h
index 5da1f86815e..2b4a471ed00 100644
--- a/engines/director/director.h
+++ b/engines/director/director.h
@@ -256,6 +256,9 @@ private:
Graphics::ManagedSurface *_surface;
StartOptions _options;
+
+public:
+ int _tickBaseline;
};
// An extension of MacPlotData for interfacing with inks and patterns without
diff --git a/engines/director/events.cpp b/engines/director/events.cpp
index 2d3838b9c7e..c4c71be273b 100644
--- a/engines/director/events.cpp
+++ b/engines/director/events.cpp
@@ -40,7 +40,7 @@
namespace Director {
-uint32 DirectorEngine::getMacTicks() { return g_system->getMillis() * 60 / 1000.; }
+uint32 DirectorEngine::getMacTicks() { return (g_system->getMillis() * 60 / 1000.) - _tickBaseline; }
bool DirectorEngine::processEvents(bool captureClick) {
debugC(3, kDebugEvents, "\n@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@");
diff --git a/engines/director/lingo/lingo-the.cpp b/engines/director/lingo/lingo-the.cpp
index faa715f2629..5b96d9056e5 100644
--- a/engines/director/lingo/lingo-the.cpp
+++ b/engines/director/lingo/lingo-the.cpp
@@ -1205,7 +1205,12 @@ void Lingo::setTheEntity(int entity, Datum &id, int field, Datum &d) {
break;
case kTheTimeoutLapsed:
// timeOutLapsed can be set in D4, but can't in D3. see D3.1 interactivity manual p312 and D4 dictionary p296.
- setTheEntitySTUB(kTheTimeoutLapsed);
+ if (g_director->getVersion() >= 400 && d.type == INT) {
+ g_director->_tickBaseline = g_director->getMacTicks() - d.asInt();
+ }
+ if (d.type != INT) {
+ warning("Lingo::setTheEntity() : Wrong DatumType %d for setting of Lingo Property timeOutLapsed", d.type);
+ }
break;
case kTheTimeoutLength:
g_director->getCurrentMovie()->_timeOutLength = d.asInt();
More information about the Scummvm-git-logs
mailing list