[Scummvm-git-logs] scummvm master -> bcdcb3ec7100003acd38416b54475b86c05de287

sev- noreply at scummvm.org
Mon May 27 21:31:04 UTC 2024


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:
bcdcb3ec71 DIRECTOR: DEBUGGER: Made script references clickable in Script channel


Commit: bcdcb3ec7100003acd38416b54475b86c05de287
    https://github.com/scummvm/scummvm/commit/bcdcb3ec7100003acd38416b54475b86c05de287
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2024-05-27T23:30:52+02:00

Commit Message:
DIRECTOR: DEBUGGER: Made script references clickable in Script channel

Also refactored displaying script references into separate method
and made it visually compact

Changed paths:
    engines/director/debugtools.cpp


diff --git a/engines/director/debugtools.cpp b/engines/director/debugtools.cpp
index 82f37331cbe..1b00f1e175f 100644
--- a/engines/director/debugtools.cpp
+++ b/engines/director/debugtools.cpp
@@ -2259,6 +2259,19 @@ static void setScriptToDisplay(const ImGuiScript &script) {
 	_state->_functions._showScript = true;
 }
 
+static void displayScriptRef(CastMemberID &scriptId) {
+	if (scriptId.member) {
+		ImGui::TextColored(ImVec4(0.5f, 0.5f, 1.0f, 1.0f), "%d", scriptId.member);
+
+		ImGui::SetItemTooltip(scriptId.asString().c_str());
+
+		if (ImGui::IsItemClicked(0))
+			addScriptCastToDisplay(scriptId);
+	} else {
+		ImGui::Selectable("  ");
+	}
+}
+
 static void showChannels() {
 	if (!_state->_w.channels)
 		return;
@@ -2351,12 +2364,7 @@ static void showChannels() {
 					ImGui::Text("%3d", sprite._backColor); ImGui::SameLine();
 					ImGui::ColorButton("backColor", convertColor(sprite._backColor));
 					ImGui::TableNextColumn();
-					if (sprite._scriptId.member) {
-						ImGui::TextColored(ImVec4(0.5f, 0.5f, 1.0f, 1.0f), "%s", sprite._scriptId.asString().c_str());
-
-						if (ImGui::IsItemClicked(0))
-							addScriptCastToDisplay(sprite._scriptId);
-					}
+					displayScriptRef(sprite._scriptId);
 					ImGui::TableNextColumn();
 					ImGui::Text("0x%x", sprite._colorcode);
 					ImGui::TableNextColumn();
@@ -2917,14 +2925,7 @@ static void displayScoreChannel(int ch, int mode, int modeSel) {
 			break;
 
 		case kModeBehavior:
-			if (sprite._scriptId.member) {
-				ImGui::TextColored(ImVec4(0.5f, 0.5f, 1.0f, 1.0f), "%s", sprite._scriptId.asString().c_str());
-
-				if (ImGui::IsItemClicked(0))
-					addScriptCastToDisplay(sprite._scriptId);
-			} else {
-				ImGui::Selectable("  ");
-			}
+			displayScriptRef(sprite._scriptId);
 			break;
 
 		case kChTempo:
@@ -2953,8 +2954,7 @@ static void displayScoreChannel(int ch, int mode, int modeSel) {
 			break;
 
 		case kChScript:
-			if (frame._mainChannels.actionId.member)
-				ImGui::Text(Common::String::format("%d", frame._mainChannels.actionId.member).c_str());
+			displayScriptRef(frame._mainChannels.actionId);
 			break;
 
 		case kModeExtended: // Render empty row




More information about the Scummvm-git-logs mailing list