The GUI stuff was not well thought out from the start and made worse by poorly adapting to changing plans and priorities. That more than anythingGTK GUI work (Saffith 1737--1738, 1746, 1750, 1753--1755, 1758, 1761, 1808, 1810, 885132d51fa50c76f0707c1ab5a2804f7717adcb)
It's definitely worth having an SFX class in some form. Trying to figure out which sounds to stop looping has probably led to more random crashes than anything else, and I'm sure there are still cases where sounds should stop but don't (two were just fixed for 2.50.3).SFX refactoring (incomplete) (Saffith 1712)
It's trivial, though, and probably easier to write a new class than integrate the existing one. And there's no reason to have a manager class. That was just silly.
There's a lot of dummy data that's totally unused, and it's certainly worth removing. Mostly trivial, but there are a couple of things in dummy_int[] and dummy_bool[] that are actually used, and those need to be accounted for.Sprite and enemy code cleanup (Saffith 1768--1771)
That might be worth keeping, and maybe even exposing to ZScript.Tweak of border at which weapons die (Saffith 1767)
The sparkle stuff is worth doing. It's ridiculous for LinkClass to handle that.Refactoring of persistent item effects; sparkles (Saffith 1777-1779)
I did a big chunk of that already for 2.50.3; all the FFC script data was separated out, and there's now a single, global instance. The data for the FFCs themselves could still be handled better, but that's significantly harder.
Oh, speaking up which, I added the Allegro fixes to 4.4. Here are the altered files: https://www.dropbox.com/s/kegi0zcymg...fixed.zip?dl=0
The changes to alsa9.c are already part of 4.4.