[Scummvm-git-logs] scummvm master -> d3b33364c89e735fae21bbff508c61969bd1abf4
djsrv
dservilla at gmail.com
Tue Jun 16 17:00:14 UTC 2020
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:
6510f9ee29 DIRECTOR: LINGO: Only queue script with handler
d3b33364c8 DIRECTOR: LINGO: Clean up event logging
Commit: 6510f9ee29edda110cf1f238f96d7f6bd9e0b71b
https://github.com/scummvm/scummvm/commit/6510f9ee29edda110cf1f238f96d7f6bd9e0b71b
Author: djsrv (dservilla at gmail.com)
Date: 2020-06-16T12:59:05-04:00
Commit Message:
DIRECTOR: LINGO: Only queue script with handler
Changed paths:
engines/director/lingo/lingo-events.cpp
diff --git a/engines/director/lingo/lingo-events.cpp b/engines/director/lingo/lingo-events.cpp
index 17c045276c..e15c3eada9 100644
--- a/engines/director/lingo/lingo-events.cpp
+++ b/engines/director/lingo/lingo-events.cpp
@@ -199,10 +199,11 @@ void Lingo::runMovieScript(LEvent event) {
for (ScriptContextHash::iterator it = _archives[_archiveIndex].scriptContexts[kMovieScript].begin();
it != _archives[_archiveIndex].scriptContexts[kMovieScript].end(); ++it) {
- _eventQueue.push(LingoEvent(event, kMovieScript, it->_key));
- // TODO: How do know which script handles the message?
+ if (_archives[_archiveIndex].eventHandlers.contains(ENTITY_INDEX(event, it->_key))) {
+ _eventQueue.push(LingoEvent(event, kMovieScript, it->_key));
+ break;
+ }
}
- debugC(9, kDebugEvents, "STUB: processEvent(event, kMovieScript, ?)");
}
void Lingo::registerFrameEvent(LEvent event) {
Commit: d3b33364c89e735fae21bbff508c61969bd1abf4
https://github.com/scummvm/scummvm/commit/d3b33364c89e735fae21bbff508c61969bd1abf4
Author: djsrv (dservilla at gmail.com)
Date: 2020-06-16T12:59:05-04:00
Commit Message:
DIRECTOR: LINGO: Clean up event logging
Changed paths:
engines/director/lingo/lingo-events.cpp
diff --git a/engines/director/lingo/lingo-events.cpp b/engines/director/lingo/lingo-events.cpp
index e15c3eada9..c50e6a3245 100644
--- a/engines/director/lingo/lingo-events.cpp
+++ b/engines/director/lingo/lingo-events.cpp
@@ -79,6 +79,7 @@ void Lingo::initEventHandlerTypes() {
_eventHandlerTypeIds[t->name] = t->handler;
_eventHandlerTypes[t->handler] = t->name;
}
+ _eventHandlerTypes[kEventNone] = 0;
}
ScriptType Lingo::event2script(LEvent ev) {
@@ -319,8 +320,6 @@ void Lingo::processEvent(LEvent event, ScriptType st, int entityId, int channelI
if (_dontPassEvent)
return;
- debugC(9, kDebugEvents, "Lingo::processEvent(%s, %s, %d)", _eventHandlerTypes[event], scriptType2str(st), entityId);
-
_currentEntityId = entityId;
_currentChannelId = channelId;
@@ -328,15 +327,16 @@ void Lingo::processEvent(LEvent event, ScriptType st, int entityId, int channelI
error("processEvent: Unknown event %d for entity %d", event, entityId);
if (_archives[kArchMain].eventHandlers.contains(ENTITY_INDEX(event, entityId)) ||
- _archives[kArchShared].eventHandlers.contains(ENTITY_INDEX(event, entityId))) {
- debugC(1, kDebugEvents, "Lingo::processEvent(%s, %s, %d), _eventHandler", _eventHandlerTypes[event], scriptType2str(st), entityId);
- executeHandler(_eventHandlerTypes[event]); // D4+ Events
+ _archives[kArchShared].eventHandlers.contains(ENTITY_INDEX(event, entityId))) {
+ // handler
+ debugC(1, kDebugEvents, "Lingo::processEvent(%s, %s, %d): executing event handler", _eventHandlerTypes[event], scriptType2str(st), entityId);
+ executeHandler(_eventHandlerTypes[event]);
} else if (_vm->getVersion() < 4 && event == kEventNone && getScriptContext(_archiveIndex, st, entityId)) {
- debugC(1, kDebugEvents, "Lingo::processEvent(%s, %s, %d), script", _eventHandlerTypes[event], scriptType2str(st), entityId);
-
- executeScript(st, entityId, 0); // D3 list of scripts.
+ // script (D3)
+ debugC(1, kDebugEvents, "Lingo::processEvent(%s, %s, %d): executing event script", _eventHandlerTypes[event], scriptType2str(st), entityId);
+ executeScript(st, entityId, 0);
} else {
- debugC(9, kDebugEvents, "STUB: processEvent(%s, %s, %d)", _eventHandlerTypes[event], scriptType2str(st), entityId);
+ debugC(9, kDebugEvents, "Lingo::processEvent(%s, %s, %d): no handler", _eventHandlerTypes[event], scriptType2str(st), entityId);
}
}
More information about the Scummvm-git-logs
mailing list