Sounds, Events, and Bugs


This last week was a busy one, with my focus split between three main tasks. The first two days, I played through the beginning of Spaceship Warlock, identifying and fixing any Lingo issues. I quickly got frustrated with not being able to hear the game’s dialogue, so I improved our decoder for Macintosh snd resources so that it could handle Warlock’s sounds: The next day, I focused on event handling: fixing some strange bugs, and then rewriting most of our event code to allow for proper event delegation.…
Read more ⟶

FileIO Fun


This week my focus was on our first XObject, FileIO, which allows Lingo to read/write files: set file = FileIO(mNew, "write", "foo.txt") file(mWriteString, "Hello, world!" & RETURN) file(mDispose) Relatively simple, so FileIO itself didn’t take long to implement. After that was done, I spent most of the week hunting down and fixing bugs and missing Lingo features in two major FileIO examples, The Apartment’s Saving Text and Spaceship Warlock. Funnily enough, I managed to find more scripts that weren’t being loaded, and of course, The Journeyman Project was hiding more syntax errors that revealed themselves once these scripts were properly handled:…
Read more ⟶

Charlie and the Object Factory


“An important room, this!” cried Mr. Wonka, taking a bunch of keys from his pocket and slipping one into the keyhole of the door. “This is the nerve center of the whole factory, the heart of the whole business! And so beautiful! I insist upon my rooms being beautiful! I can’t abide ugliness in factories! In we go, then! But do be careful, my dear children! Don’t lose your heads! Don’t get overexcited!…
Read more ⟶

First Day of Coding


The first official day of coding has just ended! I spent the last 9 days before this one driving from New Jersey to Arizona and back, so no progress to report on except this first official day, which I spent implementing Lingo factories and ironing out kinks in my workstation. Now Lingo supports creating factories and calling methods on them, and tomorrow I’ll be implementing default methods, instance variables, parent scripts, and whatever else pops up.…
Read more ⟶

A Week of Preparation


School’s out, Summer of Code prep has begun! This past week: I’ve been reading and re-reading the code for ScummVM’s Lingo subsystem to improve my mental map of it, and I’ve been making small fixes when I catch problems. I collected some of the documentation I encountered in my past adventures with Director. A ton of interesting information on Director’s file format in there! I set up a shelf next to my desk and turned it into my obsolete Macromedia products library (mostly Director books, of course).…
Read more ⟶

Hello, ScummVM!


Hi! I’m Dylan Servilla, and this summer I’m going to be working on ScummVM’s Macromedia Director engine as a GSoC student. Director was used to create a ton of multimedia from the late ’80s to early ’00s, and I think it’s important that we save this digital history from software rot. In particular, I hope to help the engine reach full support for Spaceship Warlock and The Journeyman Project in the near future.…
Read more ⟶