In 2021, my second and final year as a Google Summer of Code student, I made 416 to commits to ScummVM, largely to the Macromedia Director engine. You can browse all of my commits here or see my full git log on one page here. Summaries of each week’s work are available on my blog. […]
Last Week of GSoC
As of yesterday, the Summer of Code coding period is now officially over. With my last official week of GSoC, Meet MediaBand‘s second music video “UnDo Me” is now mostly working. I hoped to show off a fully working version this week, but getting it perfect requires some changes to the common video decoder. I’ve […]
MediaBand for Mac
Last week I continued my work on Meet MediaBand. When I started work on it a few weeks ago, I was working on the Windows version, as that’s the one I got my hands on first. But the Macintosh version is the original, it’s slightly more polished, and I have an old Mac that that […]
puppetSound and paths
Last week I continued debugging Meet MediaBand. As sheep said in his blog post, Director 2/3 is nearing completion, and while Director 4 is a bit further from completion, it’s also getting there. Most of the important, low-hanging fruit in D2-4 is gone, and while that’s mostly a good thing, it means that the things […]
Go Fixes and House Jam
Last week I fixed some longstanding issues with the Director engine’s implementation of the ‘go’ command! ‘go’ is one of the most commonly used Lingo commands, used to change which frame a movie is on or to load an entirely different movie. While it seems straightforward on the surface, it has some subtle quirks that […]
UTF-8 Lingo and Meet MediaBand
Last week I finished up adding support for multiple text encodings to the Director engine. Now, any text contained in a Director file is automatically converted to UTF-8, greatly easing the pain of dealing with games in different languages and for different platforms. For the most part, this was rather straightforward, but there were a […]
Director in Japanese!
As of this week, the Director engine now supports Japanese text: Trembyle found this cool demo about Alan Kay, and I’m a big fan of Smalltalk, so it’s nice to have this running! The first thing I had to do was find a source for the fonts from the Japanese version of classic Mac OS […]
Various Fixes
There’s no cohesive theme to what I did this last week, so sorry for the undescriptive title. 🙂 First I was tasked with fixing digital video in L-Zone. Previously, the videos in this game were being rendered entirely black, which is a rather suboptimal viewing experience. After a bit of investigation, I discovered that there […]
Toy Story
After working around the clock last Monday to get the new Lingo compiler ready and merged into master, I spent the rest of the week cleaning up reference compilation and polishing off chunk expressions. As I stated in a previous post, the old Lingo compiler could not differentiate between cases when it should emit a […]
Exciting changes to the Lingo compiler!
Over the last week, I essentially rebuilt the Director engine’s Lingo compiler from scratch. In doing so, I’ve restructured it to eliminate many longstanding issues and greatly improved its long-term maintainability. The Lingo compiler, in short, parses Lingo source code and turns it into bytecode, which is then interpreted by the Lingo runtime. Previously, the […]