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

sev- noreply at scummvm.org
Tue Sep 30 23:18:44 UTC 2025


This automated email contains information about 4 new commits which have been
pushed to the 'scummvm' repo located at https://api.github.com/repos/scummvm/scummvm .

Summary:
936dbeb798 WAGE: DT: Render designs for all entities
f1fab2f0bc WAGE: DT: Show scene texr
d5f71022d3 DIRECTOR: LINGO: Implemented the version, the username and the organizationname properties
fda56f4b8a DIRECTOR: LINGO: Added WIP list of keywords added in D5


Commit: 936dbeb798f284adb1800f6847c70fffd8d7b031
    https://github.com/scummvm/scummvm/commit/936dbeb798f284adb1800f6847c70fffd8d7b031
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2025-09-30T23:11:44+02:00

Commit Message:
WAGE: DT: Render designs for all entities

Changed paths:
    engines/wage/debugtools.cpp


diff --git a/engines/wage/debugtools.cpp b/engines/wage/debugtools.cpp
index c57b7ed8e78..e3f28016090 100644
--- a/engines/wage/debugtools.cpp
+++ b/engines/wage/debugtools.cpp
@@ -33,6 +33,7 @@
 #include "wage/wage.h"
 #include "wage/dt-internal.h"
 #include "wage/design.h"
+#include "wage/gui.h"
 #include "wage/script.h"
 #include "wage/sound.h"
 #include "wage/world.h"
@@ -47,12 +48,29 @@ ImGuiImage getImageID(Designed *d, const char *type) {
 	if (_state->_images.contains(key))
 		return _state->_images[key];
 
+	if (!d->_design)
+		return { 0, 0, 0 };
+
+	// We need to precompute dimensions
+	Graphics::ManagedSurface tmpsurf(1024, 768, Graphics::PixelFormat::createFormatCLUT8());
+	d->_design->paint(&tmpsurf, *g_wage->_world->_patterns, 0, 0);
+
 	int sx = d->_design->getBounds()->width(), sy = d->_design->getBounds()->height();
-	Graphics::ManagedSurface surface(sx, sy);
 
-	d->_design->paint(&surface, *g_wage->_world->_patterns, 0, 0);
+	if (!sx || !sy)
+		return { 0, 0, 0 };
+
+	Graphics::ManagedSurface *surface = new Graphics::ManagedSurface();
+	surface->create(sx, sy, Graphics::PixelFormat::createFormatCLUT8());
+	surface->fillRect(Common::Rect(0, 0, sx, sy), 4); // white background
+
+	d->_design->paint(surface, *g_wage->_world->_patterns, 0, 0);
+
+	if (surface->surfacePtr()) {
+		_state->_images[key] = { (ImTextureID)g_system->getImGuiTexture(*surface->surfacePtr(), g_wage->_gui->_wm->getPalette(), g_wage->_gui->_wm->getPaletteSize()), sx, sy };
+	}
 
-	_state->_images[key] = { (ImTextureID)g_system->getImGuiTexture(*surface.surfacePtr()), sx, sy };
+	delete surface;
 
 	return _state->_images[key];
 }
@@ -68,43 +86,6 @@ void showImage(const ImGuiImage &image, float scale) {
 	ImGui::EndGroup();
 }
 
-#if 0
-static void displayTGA() {
-	ImGuiImage imgID;
-
-	imgID = getImageID(_state->_fileToDisplay, 0);
-
-	ImGui::Text("TGA %s: [%d x %d]", transCyrillic(_state->_fileToDisplay.toString()), imgID.width, imgID.height);
-
-	ImGui::Separator();
-
-	showImage(imgID, (char *)transCyrillic(_state->_fileToDisplay.toString()), 1.0);
-}
-
-void showSceneObjects() {
-	if (!_state->_showSceneObjects)
-		return;
-
-	ImGui::SetNextWindowPos(ImVec2(20, 20), ImGuiCond_FirstUseEver);
-	ImGui::SetNextWindowSize(ImVec2(300, 250), ImGuiCond_FirstUseEver);
-
-	if (ImGui::Begin("Scene Objects", &_state->_showSceneObjects)) {
-		qdGameScene *scene;
-		qdGameDispatcher *dp = qdGameDispatcher::get_dispatcher();
-		if (dp && ((scene = dp->get_active_scene()))) {
-			if (!scene->object_list().empty()) {
-				for (auto &it : g_engine->_visible_objects) {
-					if (ImGui::Selectable((char *)transCyrillic(it->name()), _state->_objectToDisplay == it->name())) {
-						_state->_objectToDisplay = it->name();
-					}
-				}
-			}
-		}
-	}
-	ImGui::End();
-}
-#endif
-
 static void showWorld() {
 	if (!_state->_showWorld)
 		return;
@@ -174,7 +155,9 @@ static void showWorld() {
 						}
 
 						if (ImGui::BeginTabItem("Design")) {
-							ImGui::Text("This is the Broccoli tab!\nblah blah blah blah blah");
+							ImGuiImage imgID = getImageID(g_wage->_world->_orderedScenes[_state->_selectedScene], "obj");
+
+							showImage(imgID, 1.0);
 							ImGui::EndTabItem();
 						}
 
@@ -213,9 +196,9 @@ static void showWorld() {
 				{ // Right pane
 					ImGui::BeginChild("ChildR", ImVec2(ImGui::GetContentRegionAvail().x, ImGui::GetContentRegionAvail().y), ImGuiChildFlags_Borders);
 
-					//ImGuiImage imgID = getImageID(g_wage->_world->_orderedObjs[_state->_selectedObj], "obj");
+					ImGuiImage imgID = getImageID(g_wage->_world->_orderedObjs[_state->_selectedObj], "obj");
 
-					//showImage(imgID, 1.0);
+					showImage(imgID, 1.0);
 
 					ImGui::EndChild();
 				}
@@ -249,7 +232,9 @@ static void showWorld() {
 				{ // Right pane
 					ImGui::BeginChild("ChildR", ImVec2(ImGui::GetContentRegionAvail().x, ImGui::GetContentRegionAvail().y), ImGuiChildFlags_Borders);
 
-					ImGui::Text("Character design");
+					ImGuiImage imgID = getImageID(g_wage->_world->_orderedChrs[_state->_selectedChr], "chr");
+
+					showImage(imgID, 1.0);
 
 					ImGui::EndChild();
 				}


Commit: f1fab2f0bc8ad05493bb4c7ece28ace0723ddf98
    https://github.com/scummvm/scummvm/commit/f1fab2f0bc8ad05493bb4c7ece28ace0723ddf98
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2025-09-30T23:21:25+02:00

Commit Message:
WAGE: DT: Show scene texr

Changed paths:
    engines/wage/debugtools.cpp


diff --git a/engines/wage/debugtools.cpp b/engines/wage/debugtools.cpp
index e3f28016090..205a73b7b9b 100644
--- a/engines/wage/debugtools.cpp
+++ b/engines/wage/debugtools.cpp
@@ -154,6 +154,11 @@ static void showWorld() {
 							ImGui::EndTabItem();
 						}
 
+						if (ImGui::BeginTabItem("Text")) {
+							ImGui::TextWrapped("%s", g_wage->_world->_orderedScenes[_state->_selectedScene]->_text.c_str());
+							ImGui::EndTabItem();
+						}
+
 						if (ImGui::BeginTabItem("Design")) {
 							ImGuiImage imgID = getImageID(g_wage->_world->_orderedScenes[_state->_selectedScene], "obj");
 


Commit: d5f71022d3c26f7eff585749607827f18ccb9674
    https://github.com/scummvm/scummvm/commit/d5f71022d3c26f7eff585749607827f18ccb9674
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2025-10-01T01:14:49+02:00

Commit Message:
DIRECTOR: LINGO: Implemented the version, the username and the organizationname properties

Changed paths:
    engines/director/lingo/lingo-the.cpp
    engines/director/lingo/lingo-the.h


diff --git a/engines/director/lingo/lingo-the.cpp b/engines/director/lingo/lingo-the.cpp
index 938f0863358..731e28af680 100644
--- a/engines/director/lingo/lingo-the.cpp
+++ b/engines/director/lingo/lingo-the.cpp
@@ -129,6 +129,7 @@ TheEntity entities[] = {					//	hasId  ver.	isFunction
 	{ kTheMoviePath,		"moviePath",		false, 400, true },	//			D4 f
 	{ kTheMultiSound,		"multiSound",		false, 300, true },	//		D3.1 f
 	{ kTheOptionDown,		"optionDown",		false, 200, true },	// D2 f
+	{ kTheOrganizationName,	"organizationName",	false, 500, false },	//				D5 p
 	{ kTheParamCount,		"paramCount",		false, 400, true },	//			D4 f
 	{ kThePathName,			"pathName",			false, 200, true },	// D2 f
 	{ kThePauseState,		"pauseState",		false, 200, true },	// D2 f
@@ -153,6 +154,7 @@ TheEntity entities[] = {					//	hasId  ver.	isFunction
 	{ kTheSelection,		"selection",		false, 200, true },	// D2 f
 	{ kTheSelEnd,			"selEnd",			false, 200, false },	// D2 p
 	{ kTheSelStart,			"selStart",			false, 200, false },	// D2 p
+	{ kTheSerialNumber,		"serialNumber",		false, 500, false },	//				D5 p
 	{ kTheShiftDown,		"shiftDown",		false, 200, true },	// D2 f
 	{ kTheSoundEnabled,		"soundEnabled",		false, 200, false },	// D2 p
 	{ kTheSoundEntity,		"sound",			true,  300, false },	// 		D3 p
@@ -179,7 +181,8 @@ TheEntity entities[] = {					//	hasId  ver.	isFunction
 	{ kTheTraceLoad,		"traceLoad",		false, 400, false },	//			D4 p
 	{ kTheTraceLogFile,		"traceLogFile",		false, 400, false },	//			D4 p
 	{ kTheUpdateMovieEnabled,"updateMovieEnabled",false,400, false },//			D4 p
-	{ kTheVideoForWindowsPresent,	"videoForWindowsPresent",	false, 400, true },	//		D4 f
+	{ kTheUserName,			"userName",			false, 500, false },	//				D5 p
+	{ kTheVideoForWindowsPresent,"videoForWindowsPresent",false, 400, true },//		D4 f
 	{ kTheWindow,			"window",			true,  400, false },	//			D4
 	{ kTheWindowList,		"windowList",		false, 400, false },	//			D4 p
 	{ kTheXtras,			"xtras",			false, 500, false },	//			D4 p
@@ -892,6 +895,9 @@ Datum Lingo::getTheEntity(int entity, Datum &id, int field) {
 	case kTheOptionDown:
 		d = (movie->_keyFlags & Common::KBD_ALT) ? 1 : 0;
 		break;
+	case kTheOrganizationName:
+		d = Common::String("ScummVM Team");
+		break;
 	case kTheParamCount:
 		d = g_lingo->_state->callstack[g_lingo->_state->callstack.size() - 1]->paramCount;
 		break;
@@ -991,6 +997,9 @@ Datum Lingo::getTheEntity(int entity, Datum &id, int field) {
 			}
 		}
 		break;
+	case kTheSerialNumber:
+		d = Common::String("DRW600-01234-56789-01234");
+		break;
 	case kTheShiftDown:
 		d = (movie->_keyFlags & Common::KBD_SHIFT) ? 1 : 0;
 		break;
@@ -1097,6 +1106,9 @@ Datum Lingo::getTheEntity(int entity, Datum &id, int field) {
 	case kTheUpdateMovieEnabled:
 		d = g_lingo->_updateMovieEnabled;
 		break;
+	case kTheUserName:
+		d = Common::String("ScummVM");
+		break;
 	case kTheVideoForWindowsPresent:
 		// Video For Windows is always present for ScummVM
 		d = 1;
diff --git a/engines/director/lingo/lingo-the.h b/engines/director/lingo/lingo-the.h
index 1d2213b365d..fe913d9f656 100644
--- a/engines/director/lingo/lingo-the.h
+++ b/engines/director/lingo/lingo-the.h
@@ -113,6 +113,7 @@ enum TheEntityType {
 	kTheMoviePath,
 	kTheMultiSound,
 	kTheOptionDown,
+	kTheOrganizationName,
 	kTheParamCount,
 	kThePathName,
 	kThePauseState,
@@ -137,6 +138,7 @@ enum TheEntityType {
 	kTheSelection,
 	kTheSelEnd,
 	kTheSelStart,
+	kTheSerialNumber,
 	kTheShiftDown,
 	kTheSoundEntity,
 	kTheSoundEnabled,
@@ -164,6 +166,7 @@ enum TheEntityType {
 	kTheTraceLoad,
 	kTheTraceLogFile,
 	kTheUpdateMovieEnabled,
+	kTheUserName,
 	kTheVideoForWindowsPresent,
 	kTheWindow,
 	kTheWindowList,


Commit: fda56f4b8a5601d37a37a21b7285c13111da6d11
    https://github.com/scummvm/scummvm/commit/fda56f4b8a5601d37a37a21b7285c13111da6d11
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2025-10-01T01:17:48+02:00

Commit Message:
DIRECTOR: LINGO: Added WIP list of keywords added in D5

It is a diff between the two extracted lists. Since Director
was fully rewritten from Pascal to C, it is pretty challenging
to compare. The list has false positives

Also, keywords that already have been added, even as stubs,
are removed. In general, this list will be gradually depleted.

Changed paths:
  A engines/director/lingo/docs/d4-d5.txt


diff --git a/engines/director/lingo/docs/d4-d5.txt b/engines/director/lingo/docs/d4-d5.txt
new file mode 100644
index 00000000000..001422501ea
--- /dev/null
+++ b/engines/director/lingo/docs/d4-d5.txt
@@ -0,0 +1,278 @@
+> activeCast
+> activeCastLib
+> actor
+> adjust
+> antiAlias
+> appFileSpec
+> authorMode
+> autoTab
+> beginRecording
+> bitmap
+> bold
+> border
+> boxDropShadow
+> boxType
+> button
+> buttonType
+> byFrame
+> cancelIdleLoad
+> case
+> castCount
+> changeArea
+> charPosToLoc
+> checkMark
+> chunkSize
+> clearFrame
+> click
+> clickStop
+> closeWindow
+> collectChangeRects
+> composite
+> condense
+> cpuHogTicks
+> createName
+> deactivateWindow
+> defaultColorDepth
+> defaultPalette
+> defaultStageRect
+> deleteAll
+> deleteFrame
+> deleteOne
+> deskTopRectList
+> digitalVideoTimeScale
+> digitalVideoType
+> doEffects
+> dropShadow
+> duplicateFrame
+> duration
+> editable
+> editFocusSprite
+> endRecording
+> enterFrame
+> extend
+> fadeToBlack
+> fadeToWhite
+> fileType
+> filled
+> filmLoop
+> finishIdleLoad
+> fixed
+> folderName
+> font
+> fontSize
+> fontStyle
+> frameSound1
+> frameSound2
+> frameTransition
+> frontWindow
+> fullColorPermit
+> grayscale
+> hitTest
+> idleHandlerPeriod
+> idleLoadDone
+> idleLoadMode
+> idleLoadPeriod
+> idleLoadTag
+> idleReadChunkSize
+> image
+> imageDirect
+> immediate
+> immediateSprite
+> insertFrame
+> interface
+> is
+> italic
+> keyPressed
+> limit
+> linearList
+> lineCount
+> lineHeight
+> linePosToLocV
+> loc
+> locToCharPos
+> locVToLinePos
+> log10
+> macColorTable
+> macGWorld
+> macPICT
+> macro
+> macSnd
+> macTEStyles
+> mActivate
+> margin
+> maskMember
+> mAtTransition
+> maxMember
+> mCanDoTrans
+> mciBusy
+> mciWait
+> mCloseEditor
+> media
+> member
+> memberCount
+> memberNum
+> members
+> messageLock
+> metallic
+> method
+> mEvent
+> mGetText
+> midiBeat
+> midiContinue
+> midiSong
+> midiSongpointer
+> midiStart
+> midiStop
+> mIdle
+> minMember
+> mKeyDown
+> mMouseDown
+> mMouseUp
+> moaHandle
+> moaPixels
+> moaSound
+> moaTEStyles
+> modifyName
+> mOpenEditor
+> mouseDoubleClick
+> mouseEnter
+> mouseHitTest
+> mouseLeave
+> mouseSprite
+> mouseStillDown
+> mouseTrack
+> mouseWithin
+> moveWindow
+> mPerformOther
+> mQuit
+> mSetHandler
+> mSetText
+> mStartUp
+> mTransDial
+> mUpdate
+> music
+> mverb
+> mVerbDispose
+> new
+> noclear
+> noflush
+> normal
+> nosound
+> noUpdate
+> NTSC
+> object
+> off
+> ole
+> openWindow
+> otherwise
+> outline
+> oval
+> pageHeight
+> paletteFrames
+> paletteMapping
+> paletteOverTime
+> paletteRef
+> paletteSpeed
+> paletteTransitionType
+> parent
+> pastels
+> pattern
+> plain
+> platform
+> playAccel
+> playCast
+> playing
+> playRect
+> preloadMember
+> preLoadMode
+> preLoadMovie
+> productName
+> productVersion
+> propList
+> pushButton
+> quickTime
+> radioButton
+> rainbow
+> remapPalettes
+> resizeWindow
+> resource
+> richText
+> rightMouseDown
+> rightMouseUp
+> roundRect
+> runMode
+> sampleRate
+> sampleSize
+> save
+> score
+> scoreSelection
+> scriptsEnabled
+> scriptType
+> scroll
+> scrollByLine
+> scrollByPage
+> scrollTop
+> searchPaths
+> send
+> sendAncestor
+> setTrackEnabled
+> shadow
+> shape
+> shapeType
+> startScript
+> stepFrame
+> stepMovie
+> super
+> symbol
+> sync
+> systemMac
+> systemWin
+> systemWinDir4
+> tempo
+> textStyles
+> textWrap
+> timeCode
+> timeout
+> timeScale
+> track
+> trackCount
+> trackEnabled
+> trackNextKeyTime
+> trackNextSampleTime
+> trackPreviousKeyTime
+> trackPreviousSampleTime
+> tracks
+> trackStartTime
+> trackStopTime
+> trackText
+> trackType
+> transition
+> transitionType
+> underline
+> unloadMember
+> unloadMovie
+> updateFrame
+> updateLock
+> updateRect
+> version
+> vga
+> videoForWindows
+> videoForWindowsPresent
+> visibility
+> vivid
+> void
+> waitClick
+> waitDigitalVideo
+> waitSeconds
+> waitSound
+> whatfits
+> when
+> winDIB
+> winPALETTE
+> winPICT
+> winWAVE
+> wordWrap
+> xcmdglue
+> xtra
+> xtras
+> zoomWindow




More information about the Scummvm-git-logs mailing list