[Scummvm-tracker] [ScummVM :: Bugs] #17093: DIRECTOR: Lingo-assigned digital video remains inactive and transit is skipped
ScummVM :: Bugs
trac at scummvm.org
Sun Aug 23 04:48:47 UTC 2026
#17093: DIRECTOR: Lingo-assigned digital video remains inactive and transit is
skipped
------------------------+------------------------------
Reporter: stephend999 | Owner: (none)
Type: patch | Status: new
Priority: normal | Component: Engine: Director
Version: | Keywords:
Game: |
------------------------+------------------------------
== Game and environment ==
* Game: Star Trek: The Next Generation Interactive Technical Manual
* Game version: English Windows CD-ROM
* OS: Windows 11 64-bit
* ScummVM: 2026.3.1git31220-g437002af599 (Aug 22 2026), SDL 2.26.2
* Engine: Director
* Source: legally owned original disc/ISO
== Reproduction ==
1. Open the location interface.
2. Select a destination.
3. Choose transit/walk mode.
== Actual result ==
The game jumps directly to the destination instead of playing the corridor
fly-through. Its trace confirms that it chooses and installs the correct
QuickTime movie before advancing immediately:
{{{
>prepTransitQT: gets TravelAgent(mRouter #flythru) = 07S04Q.MOV
>prepTransitQT: the cast of QTsprite = qtflythru
playTransitQT> Playing QT with castnum of sprite QTsprite = 125
playTransitQT> entry pic loaded
>getDestination: now heading for: E
NewImage Transit > Main
}}}
== Expected result ==
The selected corridor QuickTime movie plays, and the title waits for it
before loading the destination.
== Analysis and proposed fix ==
`Channel::setCast()` loads and starts a newly assigned digital-video cast
member, but does not establish an active movie rate. For a paused-at-start
member, `DigitalVideoCastMember::startVideo()` leaves `_movieRate` at
zero. Director score wait logic requires a nonzero rate and therefore
considers the video inactive.
The normal `Channel::replaceSprite()` video path sets `_movieRate = 1.0`
before starting. The attached patch makes the Lingo cast-assignment path
consistent by setting the rate before `startVideo()`.
The patch applies cleanly to source commit `ec424f1b` and passes `git diff
--check`. Runtime validation needs an official Windows build because
locally built MinGW executables rendered a black frame even without this
gameplay patch, while the official daily build rendered correctly.
--
Ticket URL: <https://bugs.scummvm.org/ticket/17093>
ScummVM :: Bugs <https://bugs.scummvm.org>
ScummVM
More information about the Scummvm-tracker
mailing list