Categories
Week 7

Midterm Checkpoint: Debugger Fixes

Quick update this week. I didn’t get as much done as usual, life got in the way a bit, but there was still some progress worth writing about.

The big news first
I passed the GSoC midterm evaluation! Halfway through the program now, and it feels good to have the first half officially signed off.

Most of my work this week went into the visual debugger for the Director engine. A while ago I did a deep audit of the debugger code, going file by file and noting down everything that looked wrong, from crashes to small UI annoyances.

This week that work landed upstream as a set of thirteen commits. Among other things, it fixed several crashes when switching movies with debugger windows open, a memory leak in the Score window, breakpoint toggles that only worked on the first row, cast members that were silently missing from the Cast window filters, and a bunch of windows that could not tell you which movie they were looking at.

It also added a couple of small features, like being able to open a sprite’s behavior script directly from the Score window.

After the merge, sev tested the debugger against real games and reported a fresh batch of issues, which is what I am working on now.

Two fixes are almost ready: one makes the call stack in the Execution Context properly show where execution sits in each handler when you click through the stack frames.

The other fixes the Cast window, which could show an empty details panel for some cast members and stopped rendering its list partway through on games with very large casts, like Jewels of the Oracle.

Still on the list
The channel visibility toggle does not take effect while the movie is paused, so that is next up.

That’s it for this week. Shorter update than usual. See you in the next one.

PR
https://github.com/scummvm/scummvm/pull/7646