Back when I was young and full of memory leaks energy, I wrote some utilities to edit the data files for the Marathon 1/2/Infinity games for Classic MacOS. The games were made by Bungie (yes, that Bungie) and were very popular on the old Macintosh computers back then. Eventually, the Marathon 2 source code was released as open source and this gave birth to the Aleph One project, which allows you to play the old Marathon games on today's systems. Marathon 2 is also available to purchase for Xbox (for some reason).
My last Marathon project was called Wail and it was a UI editor for the Marathon Sound data file format. It was the second such utility I worked on and also my first project using C++ (whereas previously I mostly worked in Pascal). I wrote Wail during my Cégep years, before I studied Computer Science and learned important things like Smalltalk using source control and writing tests. I maintained Wail for a few years and eventually released the source code as free software under a BSD-like license. The program was developed using CodeWarrior and the PowerPlant framework and has been used by a few people working on custom Marathon makeovers.
Recently, I decided to check if the source code was still available online since I lost all trace of it when I lost my old Macintosh G3 All-in-one. I was surprised to find it online on a site at lhowon.org, so I grabbed the archives for the program as well as the source code and pushed them to this repo. The files are pretty much as-is, except I changed the like endings so that they render correctly on GitHub (Classic MacOS used CR
as like endings, proving that if there are many possible ways of doing something, humans will find and use all possible ways, and then some). Some files will be unreadable because they are either binary files (like *.mcp
files, which are CodeWarrior project files) or because everything was in the resource fork which isn't really accessible on modern systems.
So if you wanted to see what it was like writing C++ before we had those new-fangled goodies like smart pointers and Insert Spaces support, now's your chance! 👴