Sounds, Events, and Bugs

Posted on Jun 21, 2020

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. Only one object is supposed to handle each event—sometimes a sprite, sometimes a cast member, sometimes the frame, and sometimes the movie. I still haven’t perfected the process of determining which object it should be in every case, but the new system is a heck of a lot better than before, when we were just firing off the event to everything that could possibly handle it.

For the rest of the week, I began implementing parent scripts, Lingo’s second iteration of object-oriented programming. With factories already implemented, this was relatively easy, but the test movies I’ve been working with, the object-oriented bug examples from Lingo Workshop, have been surprisingly hard to get working, using all sorts of uncommon Lingo features. Our implementations of many of these features were buggy, to say the least, and I’ve been slowly working through them.

Bug garden

I’ve finally squashed enough of the bad type of bug to get the good type to display! Still, there’s plenty of work to do, which I will get to tomorrow.