[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