Skip to Content Skip to Navigation
Profile image for Dan Watson

Dan Watson

@vertigo@avara.dev

Did the initial port of Avara, AmbrosiaSW's 1996 shareware gem, to modern systems. Now mostly just a cheerleader.

5 Posts Posts & Replies 3 Following 7 Followers Search

Probably my favorite part of the initial port was the level loading from PICT resources. Avara would install QuickDraw callbacks for all the different shapes and text, and then render the PICT, calling those procs to iteratively build the level:

github.com/jmunkki/Avara/blob/

I spent several days digging through Inside Macintosh - Imaging With QuickDraw (822 pages!) learning how to parse PICT opcodes and mimic QuickDraw callbacks, resulting in:

github.com/avaraline/Avara/blo

Hawthorne - August 16, 2018:

Left: August 6, 2018
Right: August 8, 2018

@croc@avara.dev somehow found and fixed a matrix multiplication error (I transposed two subscripts), ending my weeks-long suffering, and instantly fixing BSP rendering. It was a four character change, but seeing actual Avara BSPs rendered completely reinvigorated the port. We also introduced a new JSON format for BSPs, so we could stop reading them out of resource forks.

The first attempt at BSP rendering during the Avara port (at least the first I have a screenshot of). It is supposed to say “Mission Complete” - friends, the mission was NOT complete.