Hi, I am Ramyak. My work centered on the Macromedia Director preservation effort in ScummVM: extending the ImGui-based visual debugger (DT), fixing engine compatibility bugs surfaced by the Gus games, implementing embedded movie cast members, and building screenshot-diff tooling into the ScummVM buildbot. All links below point to the pull requests.
Please refer to the links at the end of this post for weekly breakdowns.
Key deliverables
- Movie cast members (#7752):
embedded Director movies that run as parallel sprites, managing separate execution states while sharing global variables. - Lingo execution tracer (#7816):
a flamegraph view inside the debugger that records Lingo execution for performance and control-flow analysis.

- ImageDiff on buildbot:
brought screenshot-diff regression testing into the ScummVM buildbot dashboard, plus a set of Director regression test movies, so rendering changes can be caught visually.

- Gus games compatibility:
detection entries and a series of engine fixes (film loops, mouse dispatch, digital video, sound channels) that make the Gus titles playable.

Before the coding period I made around 10 contributions building the initial Director visual debugger and fixing film loop rendering, which laid the groundwork for the GSoC work.
Director visual debugger (DT)
- #7553 Fix bugs and crashes throughout the visual debugger
- #7564 Improve search and add a Windows panel
- #7577 Improve cast details, add script browser navigation and keyboard shortcuts
- #7612 Fix script not rendering in the script viewer
- #7646 Fix crashes, stale state, and navigation in the debugger
- #7690 Call-stack highlighting, Cast window improvements, and paused redraw
- #7781 ImGui debugger improvements (sortable cast lists, thumbnail refreshing)
- #7816 Add a Lingo execution tracer that records execution as a flamegraph (in review)
Director engine fixes and features
- #7563 Fix empty cast slot error and immediate sprite drag in D4+
- #7598 Add detection entries for Gus Goes to Cyberopolis (Windows and Mac)
- #7614 Add detection entry for Gus Goes to Cybertown
- #7620 Fix film loop shift when swapping a cast member with Lingo
- #7633 Fix mouseUp dispatching to the wrong sprite in D4
- #7727 Fix film loop D4 and D5+ behavior (freeze during pauses)
- #7752 Implement movie cast members as parallel interactive movies
- #7780 Fix trail-sprite erasure and 0x0 digital-video sizing
- #7825 Share sound channels across the Stage and MIAWs (in review)
- #7854 Fix Lingo point/rect operations and bitmap picture assignment (in review)
Backend
- #7779 BACKENDS: SDL: Preserve SDL text input for active ImGui text fields
ImageDiff and buildbot infrastructure (scummvm-sites)
- #39 Integrate the ImageDiff screenshot diff viewer
- #40 Add pagination and default to the last page
- #41 Replace image comparison with a file check
- #42 Add ImageDiff integration using the wsgi-dashboards plugin
- #43 Fix imports after merging imagediff.py into main.py
Director regression test movies (director-tests)
- #4 D4-win: Text wrapping test movie with reference rendering
- #5 D4 test movies for mouseUp dispatch and text wrapping
- #7 D4-win/D5-win: clickOn manual test movie in both D4 and D5