[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