I have been slowly working on a very basic, plain GUI system that I can use to create a basic file browser for use in Neverfall's editor. I'd eventually like to make it skinnable, but right now the main goal is to have the most absolute bare-bones version of a file browser there can possibly be. So far I have generic buttons and listbox UI objects working. The listbox is a bit limited in that it cannot be scrolled, but that is scheduled to change soon enough. Below is a screenshot of a test application I've been using to tinker around with and tweak with these UI elements.
From what I can see, the absolute bare minimum I need to get a working file browser is buttons, a scrollable listbox, and a text entry field. Using those three UI elements together, I could probably create a makeshift browser that will allow me to continue the porting effort on Neverfall.
There was an issue with the downloadable code for Lesson 6 of the Allegro tutorials. The .zip archive has been updated to contain a proper working version of the code. Thanks to Jonathan for submitting the report!
I've been working hard on the port and discovered a whole bunch of stuff that was missing and/or broken from my library. Of note, the one I thought was a little funny was the drawing of primitive shapes. This is something very easy to perform using OpenGL, but for some reason I completely glossed over adding wrappers for it. Another mentionable item from the "broken things" list was my logic timing routines. While looking at the port running some graphical stuff, I noticed consistent and frequent stutters. This is different from shearing! Every handful of logic cycles that would pass, extra logic cycles would be executed and create a visible stutter. This should be the normal behavior when so much drawing is going on that the logic cannot keep up. Unfortunately, while I was observing it, there wasn't that much drawing going on at all. After taking some time to look at how I was calculating the logical loop timing I realized I was going about it all wrong. I took some time to think about how I really wanted it to work, and now it's much simpler. You tell the engine that you want your logic loop to execute X number of times in a second. Given that single number, it will try its best to run exactly that many logic loops in a given second. If things get clogged up a bit, the engine should run multiple logic loops in a row to keep up and prevent logic slowdown. This logic slowdown prevention has the side-affect of creating dips in framerate. I find this acceptable, though, instead of trying to keep a steady framerate and losing game logic accuracy. So far, in my testing, the game is able to execute without any problems or slowdown.
That brings us to the porting efforts in Neverfall. Behold:

This is a screenshot of the Neverfall engine running using my custom SDL-wrapper library instead of Allegro. Awesome! The editor is almost fully functional except for the saving and loading of maps, settings map links, saving object lists, and a few other minor details. So far, it's smooth as butter -- even when displaying one of the maps that would cause tremendous shearing in the previous library setup. While a lot of the functionality exists and works in the port, there's still a very long way to go. For one, most of the title and option screens will have to go and be completely reworked. Their main structure will be fine, but some of the effects are going to need to be changed.
The biggest obstacle that I'm going to need to tackle is file save/load as well as a file browser replacement. Allegro has a nifty built in, albeit ugly, file browser. It gets the job done, especially for things like editors that players will hardly (if ever) use. This sort of thing doesn't exist in SDL. There may be a library that does it, but as far as I have seen there isn't one. Hopefully I'm wrong. I'll probably end up writing a minimalistic version of a file browser that is much more feature limited than the one provided with Allegro. This is something that would be nice to have (and have working properly), but it's very low priority compared to getting Neverfall back up and running.
It's a slow, but steady process. Neverfall is finally almost getting to the stage it was in previously, except shear-free.