[Scummvm-git-logs] scummvm master -> 0a59d0a1c233bfec944b1eae5e281392793f5059
sev-
sev at scummvm.org
Fri Mar 10 09:20:25 CET 2017
This automated email contains information about 4 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
3c08904e5f DIRECTOR: Fixed global even handlers calling
f123a6e4eb DIRECTOR: More debug output for movie playback
2506f61575 DIRECTOR: Lingo: Reset scripts when switching movies
0a59d0a1c2 DIRECTOR: Lingo: Don't leak memory on restart
Commit: 3c08904e5f4fe6c3d9dc9cf35cfed2d63aaa46e5
https://github.com/scummvm/scummvm/commit/3c08904e5f4fe6c3d9dc9cf35cfed2d63aaa46e5
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2017-03-10T09:00:35+01:00
Commit Message:
DIRECTOR: Fixed global even handlers calling
Handlers defined via 'when ...', should stay at global level
Changed paths:
engines/director/events.cpp
engines/director/score.cpp
engines/director/score.h
diff --git a/engines/director/events.cpp b/engines/director/events.cpp
index 613e83c..a4e3f58 100644
--- a/engines/director/events.cpp
+++ b/engines/director/events.cpp
@@ -111,8 +111,7 @@ void DirectorEngine::processEvents() {
warning("Keycode: %d", _keyCode);
}
- // TODO: is movie script correct? Can this be elsewhere?
- _lingo->processEvent(kEventKeyDown, kMovieScript, 0);
+ _lingo->processEvent(kEventKeyDown, kGlobalScript, 0);
}
}
diff --git a/engines/director/score.cpp b/engines/director/score.cpp
index 1ba0ab4..ea3ce9b 100644
--- a/engines/director/score.cpp
+++ b/engines/director/score.cpp
@@ -621,6 +621,9 @@ void Score::dumpScript(const char *script, ScriptType type, uint16 id) {
case kCastScript:
typeName = "cast";
break;
+ case kGlobalScript:
+ typeName = "global";
+ break;
}
sprintf(buf, "./dumps/%s-%s-%d.txt", _macName.c_str(), typeName.c_str(), id);
diff --git a/engines/director/score.h b/engines/director/score.h
index 3e7aa62..346a84c 100644
--- a/engines/director/score.h
+++ b/engines/director/score.h
@@ -48,8 +48,9 @@ enum ScriptType {
kSpriteScript = 1,
kFrameScript = 2,
kCastScript = 3,
+ kGlobalScript = 4,
kNoneScript = -1,
- kMaxScriptType = 3
+ kMaxScriptType = 4
};
const char *scriptType2str(ScriptType scr);
Commit: f123a6e4eba2b859dbbea67354ea4b125627d8b1
https://github.com/scummvm/scummvm/commit/f123a6e4eba2b859dbbea67354ea4b125627d8b1
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2017-03-10T09:10:11+01:00
Commit Message:
DIRECTOR: More debug output for movie playback
Changed paths:
engines/director/director.cpp
diff --git a/engines/director/director.cpp b/engines/director/director.cpp
index edea7ea..c6459ea 100644
--- a/engines/director/director.cpp
+++ b/engines/director/director.cpp
@@ -176,8 +176,12 @@ Common::Error DirectorEngine::run() {
_nextMovie.frameI = -1;
}
+ debugC(1, kDebugEvents, "Starting playback of score '%s'", _currentScore->getMacName().c_str());
+
_currentScore->startLoop();
+ debugC(1, kDebugEvents, "Finished playback of score '%s'", _currentScore->getMacName().c_str());
+
// If a loop was requested, do it
if (!_nextMovie.movie.empty()) {
_lingo->restartLingo();
@@ -193,7 +197,7 @@ Common::Error DirectorEngine::run() {
}
_currentScore = new Score(this, mov);
- debug(0, "Score name %s", _currentScore->getMacName().c_str());
+ debug(0, "Switching to score '%s'", _currentScore->getMacName().c_str());
_nextMovie.movie.clear();
loop = true;
Commit: 2506f61575a694c27b759e4dd9d1ea194a3a9d0e
https://github.com/scummvm/scummvm/commit/2506f61575a694c27b759e4dd9d1ea194a3a9d0e
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2017-03-10T09:13:46+01:00
Commit Message:
DIRECTOR: Lingo: Reset scripts when switching movies
Changed paths:
engines/director/lingo/lingo.cpp
diff --git a/engines/director/lingo/lingo.cpp b/engines/director/lingo/lingo.cpp
index 706f767..d7ba3db 100644
--- a/engines/director/lingo/lingo.cpp
+++ b/engines/director/lingo/lingo.cpp
@@ -318,6 +318,10 @@ void Lingo::processEvent(LEvent event, ScriptType st, int entityId) {
void Lingo::restartLingo() {
warning("STUB: restartLingo()");
+ for (int i = 0; i <= kMaxScriptType; i++) {
+ _scripts[i].clear();
+ }
+
// TODO
//
// reset the following:
Commit: 0a59d0a1c233bfec944b1eae5e281392793f5059
https://github.com/scummvm/scummvm/commit/0a59d0a1c233bfec944b1eae5e281392793f5059
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2017-03-10T09:19:00+01:00
Commit Message:
DIRECTOR: Lingo: Don't leak memory on restart
Changed paths:
engines/director/lingo/lingo.cpp
diff --git a/engines/director/lingo/lingo.cpp b/engines/director/lingo/lingo.cpp
index d7ba3db..2a089dd 100644
--- a/engines/director/lingo/lingo.cpp
+++ b/engines/director/lingo/lingo.cpp
@@ -319,6 +319,9 @@ void Lingo::restartLingo() {
warning("STUB: restartLingo()");
for (int i = 0; i <= kMaxScriptType; i++) {
+ for (ScriptHash::iterator it = _scripts[i].begin(); it != _scripts[i].end(); ++it)
+ delete it->_value;
+
_scripts[i].clear();
}
More information about the Scummvm-git-logs
mailing list