This week I started wrapping up work on one of the last major Lingo features which was still unimplemented – chunk expressions. Chunk expressions refer to chunks of text, such as char 3 of “test”, word 1 to 10 of variable, or item 3 of “foo,bar,baz”. These can be used to used to manipulate text […]
Back to Work
I’m finally back to work on the Director engine, returning for a second year of Google Summer of Code! As I just got started again, I don’t have a ton of progress to share yet, but in the past few days I’ve: Fixed “autohilite” detection. Certain sprites invert their colors on click, depending on several […]
Google Summer of Code Summary
Over the past few months I’ve made 451 commits to the main ScummVM repository, largely in the Macromedia Director and MacGUI subsystems: Most of this work was focused on the reimplementation of Lingo, Director’s programming language, so that Director games can be played in ScummVM. You can find every commit here, but this is the […]
Wrapping up the Summer
Summer’s drawing to a close, and the school year is about to begin. Before that happens, I’m trying to squeeze in a few more tasks: exposing more Director features as Lingo objects, fully implementing chunk expressions, and cleaning up the implementations of Director 4 Lingo instructions. One of the ways I’ve tried to make the […]
Shockwave!
Last week was an exciting one because the Director engine can finally load Macromedia Shockwave 1.0 movies!This first version of Shockwave was based on Director 4.0, which we already have partial support for, and it used a “afterburned” movie format with a modified memory map and zlib compression. After implementing support for this file format, […]
Fixup
This last week I largely worked my way through my backed up Trello cards, as well as fixing Buildbot failures and various issues with movies in windows. Some highlights from bug hunting: Director movies contain a Lingo names table (Lnam) which, as the name implies, stores the names of functions, variables, etc. Previously, we were […]
A Branded Desktop
It’s been a hectic week since I attended two online conferences going on at the same time, and I had to prepare a talk for one of them, but I still have some exciting progress to share! This week I got desktop/window border textures working, so the environment surrounding the Director movies looks closer to […]
Events and Things
I spent last week fixing more Lingo issues, mostly event related: Previously, event processing didn’t take into account the fact that multiple movies could be running at the same time, as it was implemented before MIAWs. Events were handled by whatever movie was currently being stepped, even if the event should’ve gone to another movie. […]
Learning the Lingo
This week I worked out some longstanding Lingo issues! Duplicate Scripts The first issue was duplicate scripts in Director 4 movies. Each cast member should have at most one Lingo script associated with it, but we were running into movies in which a cast member seemingly had several scripts. There was no obvious way to […]
MIAWs
This last week I finished up my refactoring spree, adding an object interface which allows any type to be treated as a Lingo object. With this done, it allowed for our Stage to be turned into a Lingo object, enabling…Movies In A Window! Now new windows can be created/destroyed and hidden/shown with open window “ball”, […]