[Scummvm-git-logs] scummvm master -> 47226d69f91a1c661bc28350705f6101fb40144b

elasota noreply at scummvm.org
Sat Jul 9 04:35:22 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:
47226d69f9 MTROPOLIS: Don't do expensive message debugging stuff unless the string will actually be printed


Commit: 47226d69f91a1c661bc28350705f6101fb40144b
    https://github.com/scummvm/scummvm/commit/47226d69f91a1c661bc28350705f6101fb40144b
Author: elasota (ejlasota at gmail.com)
Date: 2022-07-09T00:35:04-04:00

Commit Message:
MTROPOLIS: Don't do expensive message debugging stuff unless the string will actually be printed

Changed paths:
    engines/mtropolis/runtime.cpp


diff --git a/engines/mtropolis/runtime.cpp b/engines/mtropolis/runtime.cpp
index 7e18f8688b0..58f0282930f 100644
--- a/engines/mtropolis/runtime.cpp
+++ b/engines/mtropolis/runtime.cpp
@@ -4503,277 +4503,280 @@ void Runtime::loadScene(const Common::SharedPtr<Structural>& scene) {
 
 void Runtime::sendMessageOnVThread(const Common::SharedPtr<MessageDispatch> &dispatch) {
 #ifndef DISABLE_TEXT_CONSOLE
-	const char *nameStr = "";
-	int srcID = 0;
-	const char *destStr = "";
-	int destID = 0;
-	Common::SharedPtr<RuntimeObject> src = dispatch->getMsg()->getSource().lock();
-
-	if (src) {
-		srcID = src->getStaticGUID();
-		if (src->isStructural())
-			nameStr = static_cast<Structural *>(src.get())->getName().c_str();
-		else if (src->isModifier())
-			nameStr = static_cast<Modifier *>(src.get())->getName().c_str();
-	}
-
-	RuntimeObject *dest = dispatch->getRootPropagator();
-	if (dest) {
-		destID = dest->getStaticGUID();
-		if (dest->isStructural())
-			destStr = static_cast<Structural *>(dest)->getName().c_str();
-		else if (dest->isModifier())
-			destStr = static_cast<Modifier *>(dest)->getName().c_str();
-
-	}
-
-	const Event evt = dispatch->getMsg()->getEvent();
-	bool cascade = dispatch->isCascade();
-	bool relay = dispatch->isRelay();
-
-	Common::String msgDebugString;
-	msgDebugString = Common::String::format("(%i,%i)", evt.eventType, evt.eventInfo);
-	if (evt.eventType == EventIDs::kAuthorMessage && _project) {
-		msgDebugString += " '";
-		msgDebugString += _project->findAuthorMessageName(evt.eventInfo);
-		msgDebugString += "'";
-	} else {
-		const char *extType = nullptr;
-		switch (evt.eventType) {
-		case EventIDs::kElementEnableEdit:
-			extType = "Element Enable Edit";
-			break;
-		case EventIDs::kElementDisableEdit:
-			extType = "Element Disable Edit";
-			break;
-		case EventIDs::kElementSelect:
-			extType = "Element Select";
-			break;
-		case EventIDs::kElementDeselect:
-			extType = "Element Deselect";
-			break;
-		case EventIDs::kElementToggleSelect:
-			extType = "Element Toggle Select";
-			break;
-		case EventIDs::kElementUpdatedCalculated:
-			extType = "Element Updated Calculated";
-			break;
-		case EventIDs::kElementShow:
-			extType = "Element Show";
-			break;
-		case EventIDs::kElementHide:
-			extType = "Element Hide";
-			break;
-		case EventIDs::kElementScrollUp:
-			extType = "Element Scroll Up";
-			break;
-		case EventIDs::kElementScrollDown:
-			extType = "Element Scroll Down";
-			break;
-		case EventIDs::kElementScrollRight:
-			extType = "Element Scroll Right";
-			break;
-		case EventIDs::kElementScrollLeft:
-			extType = "Element Scroll Left";
-			break;
+	const int msgDebugLevel = 3;
+
+	if (gDebugLevel >= msgDebugLevel) {
+		const char *nameStr = "";
+		int srcID = 0;
+		const char *destStr = "";
+		int destID = 0;
+		Common::SharedPtr<RuntimeObject> src = dispatch->getMsg()->getSource().lock();
+
+		if (src) {
+			srcID = src->getStaticGUID();
+			if (src->isStructural())
+				nameStr = static_cast<Structural *>(src.get())->getName().c_str();
+			else if (src->isModifier())
+				nameStr = static_cast<Modifier *>(src.get())->getName().c_str();
+		}
 
-		case EventIDs::kMotionStarted:
-			extType = "Motion Ended";
-			break;
-		case EventIDs::kMotionEnded:
-			extType = "Motion Started";
-			break;
+		RuntimeObject *dest = dispatch->getRootPropagator();
+		if (dest) {
+			destID = dest->getStaticGUID();
+			if (dest->isStructural())
+				destStr = static_cast<Structural *>(dest)->getName().c_str();
+			else if (dest->isModifier())
+				destStr = static_cast<Modifier *>(dest)->getName().c_str();
+		}
 
-		case EventIDs::kTransitionStarted:
-			extType = "Transition Started";
-			break;
-		case EventIDs::kTransitionEnded:
-			extType = "Transition Ended";
-			break;
+		const Event evt = dispatch->getMsg()->getEvent();
+		bool cascade = dispatch->isCascade();
+		bool relay = dispatch->isRelay();
 
-		case EventIDs::kMouseDown:
-			extType = "Mouse Down";
-			break;
-		case EventIDs::kMouseUp:
-			extType = "Mouse Up";
-			break;
-		case EventIDs::kMouseOver:
-			extType = "Mouse Over";
-			break;
-		case EventIDs::kMouseOutside:
-			extType = "Mouse Outside";
-			break;
-		case EventIDs::kMouseTrackedInside:
-			extType = "Mouse Tracked Inside";
-			break;
-		case EventIDs::kMouseTrackedOutside:
-			extType = "Mouse Tracked Outside";
-			break;
-		case EventIDs::kMouseTracking:
-			extType = "Mouse Tracking";
-			break;
-		case EventIDs::kMouseUpInside:
-			extType = "Mouse Up Inside";
-			break;
-		case EventIDs::kMouseUpOutside:
-			extType = "Mouse Up Outside";
-			break;
+		Common::String msgDebugString;
+		msgDebugString = Common::String::format("(%i,%i)", evt.eventType, evt.eventInfo);
+		if (evt.eventType == EventIDs::kAuthorMessage && _project) {
+			msgDebugString += " '";
+			msgDebugString += _project->findAuthorMessageName(evt.eventInfo);
+			msgDebugString += "'";
+		} else {
+			const char *extType = nullptr;
+			switch (evt.eventType) {
+			case EventIDs::kElementEnableEdit:
+				extType = "Element Enable Edit";
+				break;
+			case EventIDs::kElementDisableEdit:
+				extType = "Element Disable Edit";
+				break;
+			case EventIDs::kElementSelect:
+				extType = "Element Select";
+				break;
+			case EventIDs::kElementDeselect:
+				extType = "Element Deselect";
+				break;
+			case EventIDs::kElementToggleSelect:
+				extType = "Element Toggle Select";
+				break;
+			case EventIDs::kElementUpdatedCalculated:
+				extType = "Element Updated Calculated";
+				break;
+			case EventIDs::kElementShow:
+				extType = "Element Show";
+				break;
+			case EventIDs::kElementHide:
+				extType = "Element Hide";
+				break;
+			case EventIDs::kElementScrollUp:
+				extType = "Element Scroll Up";
+				break;
+			case EventIDs::kElementScrollDown:
+				extType = "Element Scroll Down";
+				break;
+			case EventIDs::kElementScrollRight:
+				extType = "Element Scroll Right";
+				break;
+			case EventIDs::kElementScrollLeft:
+				extType = "Element Scroll Left";
+				break;
 
-		case EventIDs::kSceneStarted:
-			extType = "Scene Started";
-			break;
-		case EventIDs::kSceneEnded:
-			extType = "Scene Ended";
-			break;
-		case EventIDs::kSceneDeactivated:
-			extType = "Scene Deactivate";
-			break;
-		case EventIDs::kSceneReactivated:
-			extType = "Scene Reactivated";
-			break;
-		case EventIDs::kSceneTransitionEnded:
-			extType = "Scene Transition Ended";
-			break;
+			case EventIDs::kMotionStarted:
+				extType = "Motion Ended";
+				break;
+			case EventIDs::kMotionEnded:
+				extType = "Motion Started";
+				break;
 
-		case EventIDs::kSharedSceneReturnedToScene:
-			extType = "Scene Returned To Scene";
-			break;
-		case EventIDs::kSharedSceneSceneChanged:
-			extType = "Scene Scene Changed";
-			break;
-		case EventIDs::kSharedSceneNoNextScene:
-			extType = "Shared Scene No Next Scene";
-			break;
-		case EventIDs::kSharedSceneNoPrevScene:
-			extType = "Shared Scene No Prev Scene";
-			break;
+			case EventIDs::kTransitionStarted:
+				extType = "Transition Started";
+				break;
+			case EventIDs::kTransitionEnded:
+				extType = "Transition Ended";
+				break;
 
-		case EventIDs::kParentEnabled:
-			extType = "Parent Enabled";
-			break;
-		case EventIDs::kParentDisabled:
-			extType = "Parent Disabled";
-			break;
-		case EventIDs::kParentChanged:
-			extType = "Parent Changed";
-			break;
+			case EventIDs::kMouseDown:
+				extType = "Mouse Down";
+				break;
+			case EventIDs::kMouseUp:
+				extType = "Mouse Up";
+				break;
+			case EventIDs::kMouseOver:
+				extType = "Mouse Over";
+				break;
+			case EventIDs::kMouseOutside:
+				extType = "Mouse Outside";
+				break;
+			case EventIDs::kMouseTrackedInside:
+				extType = "Mouse Tracked Inside";
+				break;
+			case EventIDs::kMouseTrackedOutside:
+				extType = "Mouse Tracked Outside";
+				break;
+			case EventIDs::kMouseTracking:
+				extType = "Mouse Tracking";
+				break;
+			case EventIDs::kMouseUpInside:
+				extType = "Mouse Up Inside";
+				break;
+			case EventIDs::kMouseUpOutside:
+				extType = "Mouse Up Outside";
+				break;
 
-		case EventIDs::kPreloadMedia:
-			extType = "Preload Media";
-			break;
-		case EventIDs::kFlushMedia:
-			extType = "Flush Media";
-			break;
-		case EventIDs::kPrerollMedia:
-			extType = "Preroll Media";
-			break;
+			case EventIDs::kSceneStarted:
+				extType = "Scene Started";
+				break;
+			case EventIDs::kSceneEnded:
+				extType = "Scene Ended";
+				break;
+			case EventIDs::kSceneDeactivated:
+				extType = "Scene Deactivate";
+				break;
+			case EventIDs::kSceneReactivated:
+				extType = "Scene Reactivated";
+				break;
+			case EventIDs::kSceneTransitionEnded:
+				extType = "Scene Transition Ended";
+				break;
 
-		case EventIDs::kCloseProject:
-			extType = "Close Project";
-			break;
+			case EventIDs::kSharedSceneReturnedToScene:
+				extType = "Scene Returned To Scene";
+				break;
+			case EventIDs::kSharedSceneSceneChanged:
+				extType = "Scene Scene Changed";
+				break;
+			case EventIDs::kSharedSceneNoNextScene:
+				extType = "Shared Scene No Next Scene";
+				break;
+			case EventIDs::kSharedSceneNoPrevScene:
+				extType = "Shared Scene No Prev Scene";
+				break;
 
-		case EventIDs::kUserTimeout:
-			extType = "User Timeout";
-			break;
-		case EventIDs::kProjectStarted:
-			extType = "Project Started";
-			break;
-		case EventIDs::kProjectEnded:
-			extType = "Project Ended";
-			break;
-		case EventIDs::kFlushAllMedia:
-			extType = "Flush All Media";
-			break;
+			case EventIDs::kParentEnabled:
+				extType = "Parent Enabled";
+				break;
+			case EventIDs::kParentDisabled:
+				extType = "Parent Disabled";
+				break;
+			case EventIDs::kParentChanged:
+				extType = "Parent Changed";
+				break;
 
-		case EventIDs::kAttribGet:
-			extType = "Attrib Get";
-			break;
-		case EventIDs::kAttribSet:
-			extType = "Attrib Set";
-			break;
+			case EventIDs::kPreloadMedia:
+				extType = "Preload Media";
+				break;
+			case EventIDs::kFlushMedia:
+				extType = "Flush Media";
+				break;
+			case EventIDs::kPrerollMedia:
+				extType = "Preroll Media";
+				break;
 
-		case EventIDs::kClone:
-			extType = "Clone";
-			break;
-		case EventIDs::kKill:
-			extType = "Kill";
-			break;
+			case EventIDs::kCloseProject:
+				extType = "Close Project";
+				break;
 
-		case EventIDs::kPlay:
-			extType = "Play";
-			break;
-		case EventIDs::kStop:
-			extType = "Stop";
-			break;
-		case EventIDs::kPause:
-			extType = "Pause";
-			break;
-		case EventIDs::kUnpause:
-			extType = "Unpause";
-			break;
-		case EventIDs::kTogglePause:
-			extType = "Toggle Pause";
-			break;
-		case EventIDs::kAtFirstCel:
-			extType = "At First Cel";
-			break;
-		case EventIDs::kAtLastCel:
-			extType = "At Last Cell";
-			break;
-		default:
-			break;
-		}
+			case EventIDs::kUserTimeout:
+				extType = "User Timeout";
+				break;
+			case EventIDs::kProjectStarted:
+				extType = "Project Started";
+				break;
+			case EventIDs::kProjectEnded:
+				extType = "Project Ended";
+				break;
+			case EventIDs::kFlushAllMedia:
+				extType = "Flush All Media";
+				break;
 
-		if (extType) {
-			msgDebugString += " '";
-			msgDebugString += extType;
-			msgDebugString += "'";
+			case EventIDs::kAttribGet:
+				extType = "Attrib Get";
+				break;
+			case EventIDs::kAttribSet:
+				extType = "Attrib Set";
+				break;
+
+			case EventIDs::kClone:
+				extType = "Clone";
+				break;
+			case EventIDs::kKill:
+				extType = "Kill";
+				break;
+
+			case EventIDs::kPlay:
+				extType = "Play";
+				break;
+			case EventIDs::kStop:
+				extType = "Stop";
+				break;
+			case EventIDs::kPause:
+				extType = "Pause";
+				break;
+			case EventIDs::kUnpause:
+				extType = "Unpause";
+				break;
+			case EventIDs::kTogglePause:
+				extType = "Toggle Pause";
+				break;
+			case EventIDs::kAtFirstCel:
+				extType = "At First Cel";
+				break;
+			case EventIDs::kAtLastCel:
+				extType = "At Last Cell";
+				break;
+			default:
+				break;
+			}
+
+			if (extType) {
+				msgDebugString += " '";
+				msgDebugString += extType;
+				msgDebugString += "'";
+			}
 		}
-	}
 
-	Common::String valueStr;
-	const DynamicValue &payload = dispatch->getMsg()->getValue();
+		Common::String valueStr;
+		const DynamicValue &payload = dispatch->getMsg()->getValue();
 
-	if (payload.getType() != DynamicValueTypes::kNull) {
-		switch (payload.getType()) {
-		case DynamicValueTypes::kBoolean:
-			valueStr = (payload.getBool() ? "true" : "false");
-			break;
-		case DynamicValueTypes::kInteger:
-			valueStr = Common::String::format("%i", payload.getInt());
-			break;
-		case DynamicValueTypes::kFloat:
-			valueStr = Common::String::format("%g", payload.getFloat());
-			break;
-		case DynamicValueTypes::kPoint:
-			valueStr = Common::String::format("(%i,%i)", payload.getPoint().x, payload.getPoint().y);
-			break;
-		case DynamicValueTypes::kIntegerRange:
-			valueStr = Common::String::format("(%i thru %i)", payload.getIntRange().min, payload.getIntRange().max);
-			break;
-		case DynamicValueTypes::kVector:
-			valueStr = Common::String::format("(%g deg %g mag)", payload.getVector().angleDegrees, payload.getVector().magnitude);
-			break;
-		case DynamicValueTypes::kString:
-			valueStr = "'" + payload.getString() + "'";
-			break;
-		case DynamicValueTypes::kList:
-			valueStr = "List";
-			break;
-		case DynamicValueTypes::kObject:
-			valueStr = "Object";
-			if (RuntimeObject *obj = payload.getObject().object.lock().get())
-				valueStr += Common::String::format(" %x", obj->getStaticGUID());
-			break;
-		default:
-			valueStr = "<BAD TYPE> (this is a bug!)";
-			break;
+		if (payload.getType() != DynamicValueTypes::kNull) {
+			switch (payload.getType()) {
+			case DynamicValueTypes::kBoolean:
+				valueStr = (payload.getBool() ? "true" : "false");
+				break;
+			case DynamicValueTypes::kInteger:
+				valueStr = Common::String::format("%i", payload.getInt());
+				break;
+			case DynamicValueTypes::kFloat:
+				valueStr = Common::String::format("%g", payload.getFloat());
+				break;
+			case DynamicValueTypes::kPoint:
+				valueStr = Common::String::format("(%i,%i)", payload.getPoint().x, payload.getPoint().y);
+				break;
+			case DynamicValueTypes::kIntegerRange:
+				valueStr = Common::String::format("(%i thru %i)", payload.getIntRange().min, payload.getIntRange().max);
+				break;
+			case DynamicValueTypes::kVector:
+				valueStr = Common::String::format("(%g deg %g mag)", payload.getVector().angleDegrees, payload.getVector().magnitude);
+				break;
+			case DynamicValueTypes::kString:
+				valueStr = "'" + payload.getString() + "'";
+				break;
+			case DynamicValueTypes::kList:
+				valueStr = "List";
+				break;
+			case DynamicValueTypes::kObject:
+				valueStr = "Object";
+				if (RuntimeObject *obj = payload.getObject().object.lock().get())
+					valueStr += Common::String::format(" %x", obj->getStaticGUID());
+				break;
+			default:
+				valueStr = "<BAD TYPE> (this is a bug!)";
+				break;
+			}
+
+			valueStr = " with value " + valueStr;
 		}
 
-		valueStr = " with value " + valueStr;
+		debug(msgDebugLevel, "Object %x '%s' posted message %s to %x '%s'%s  mod: %s   ele: %s", srcID, nameStr, msgDebugString.c_str(), destID, destStr, valueStr.c_str(), relay ? "all" : "first", cascade ? "all" : "targetOnly");
 	}
-
-	debug(3, "Object %x '%s' posted message %s to %x '%s'%s  mod: %s   ele: %s", srcID, nameStr, msgDebugString.c_str(), destID, destStr, valueStr.c_str(), relay ? "all" : "first", cascade ? "all" : "targetOnly");
 #endif
 
 	DispatchMethodTaskData *taskData = _vthread->pushTask("Runtime::dispatchMessageTask", this, &Runtime::dispatchMessageTask);




More information about the Scummvm-git-logs mailing list