[Scummvm-git-logs] scummvm master -> ff7cff72f4b0b7448aad607fcddcfa972d753802
sev-
sev at scummvm.org
Wed Mar 8 19:10:27 CET 2017
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:
0a044b21df DIRECTOR: Fix event mouse event processing in D3
ff7cff72f4 DIRECTOR: Lingo: More debug output to call() method
Commit: 0a044b21df94b602c08c59fb757ce11f917ba873
https://github.com/scummvm/scummvm/commit/0a044b21df94b602c08c59fb757ce11f917ba873
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2017-03-08T18:37:16+01:00
Commit Message:
DIRECTOR: Fix event mouse event processing in D3
Changed paths:
engines/director/score.cpp
diff --git a/engines/director/score.cpp b/engines/director/score.cpp
index 112e4b2..e8e8b81 100644
--- a/engines/director/score.cpp
+++ b/engines/director/score.cpp
@@ -1012,9 +1012,11 @@ void Score::processEvents() {
_lingo->processEvent(kEventMouseUp, kCastScript, _frames[_currentFrame]->_sprites[spriteId]->_castId);
_lingo->processEvent(kEventMouseUp, kSpriteScript, _frames[_currentFrame]->_sprites[spriteId]->_scriptId);
} else {
- // D3 doesn't have cast member or sprite scripts. Just Frame Scripts.
- _lingo->processEvent(kEventMouseUp, kSpriteScript, _frames[_currentFrame]->_sprites[spriteId]->_castId + 1024);
- _lingo->processEvent(kEventMouseUp, kFrameScript, _frames[_currentFrame]->_sprites[spriteId]->_scriptId);
+ // Frame script overrides sprite script
+ if (!_frames[_currentFrame]->_sprites[spriteId]->_scriptId)
+ _lingo->processEvent(kEventMouseUp, kSpriteScript, _frames[_currentFrame]->_sprites[spriteId]->_castId + 1024);
+ else
+ _lingo->processEvent(kEventMouseUp, kFrameScript, _frames[_currentFrame]->_sprites[spriteId]->_scriptId);
}
}
Commit: ff7cff72f4b0b7448aad607fcddcfa972d753802
https://github.com/scummvm/scummvm/commit/ff7cff72f4b0b7448aad607fcddcfa972d753802
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2017-03-08T18:49:19+01:00
Commit Message:
DIRECTOR: Lingo: More debug output to call() method
Changed paths:
engines/director/lingo/lingo-builtins.cpp
engines/director/lingo/lingo-code.cpp
engines/director/lingo/lingo.h
diff --git a/engines/director/lingo/lingo-builtins.cpp b/engines/director/lingo/lingo-builtins.cpp
index 9a741ed..f554f43 100644
--- a/engines/director/lingo/lingo-builtins.cpp
+++ b/engines/director/lingo/lingo-builtins.cpp
@@ -362,7 +362,7 @@ void Lingo::initBuiltIns() {
}
}
-void Lingo::printSTUBWithArglist(const char *funcname, int nargs) {
+void Lingo::printSTUBWithArglist(const char *funcname, int nargs, const char *prefix) {
Common::String s(funcname);
s += '(';
@@ -379,7 +379,7 @@ void Lingo::printSTUBWithArglist(const char *funcname, int nargs) {
s += ")";
- warning("STUB: %s", s.c_str());
+ warning("%s: %s", prefix, s.c_str());
}
void Lingo::convertVOIDtoString(int arg, int nargs) {
diff --git a/engines/director/lingo/lingo-code.cpp b/engines/director/lingo/lingo-code.cpp
index 96f2b72..7bc82ed 100644
--- a/engines/director/lingo/lingo-code.cpp
+++ b/engines/director/lingo/lingo-code.cpp
@@ -1023,6 +1023,9 @@ void Lingo::c_call() {
void Lingo::call(Common::String name, int nargs) {
bool dropArgs = false;
+ if (debugChannelSet(3, kDebugLingoExec))
+ printSTUBWithArglist(name.c_str(), nargs, "call:");
+
Symbol *sym = g_lingo->getHandler(name);
if (!g_lingo->_eventHandlerTypeIds.contains(name)) {
diff --git a/engines/director/lingo/lingo.h b/engines/director/lingo/lingo.h
index 1e84344..8475905 100644
--- a/engines/director/lingo/lingo.h
+++ b/engines/director/lingo/lingo.h
@@ -314,7 +314,7 @@ public:
static void c_open();
- void printSTUBWithArglist(const char *funcname, int nargs);
+ void printSTUBWithArglist(const char *funcname, int nargs, const char *prefix = "STUB:");
void convertVOIDtoString(int arg, int nargs);
void dropStack(int nargs);
void drop(uint num);
More information about the Scummvm-git-logs
mailing list