Things I need to do, however, include rethinking the menu UI. Originally the design was very much that of a HFSM, but I'd be better off just supplying a UI system based on a card stack and having all the actual menu stuff in the game DLL. The menu appstate would simply pass messages from OIS to CEGUI (which in turn would pass events to the UI controls on each card) until the appstate changes.
Another thing involves the build system, a most wonderful mutt of MSBuild, gmake, bash scripts and batch files. Despite sounding terribly kludgy, it works like a charm, and it goes from source code to burning the CD. The problem itself involves a lack of ASPI drivers, which makes Cygwin builds of cdrecord quite cranky. Hopefully the ASPI drivers Adaptec makes available should take care of the problem, but it'd also be nice if cdrecord had an image writer mode so I wouldn't have to use media. At least mkisofs doesn't care about all that, so at least I get an iso of the data track to mount and test.
Current research for the framework involves OGRE's resource management system, and making an FmodEx driver for TheoraVideoSystem.
Right now, Asylum sits at 5428 lines of code in 75 different source files (not counting any resource.h or pch source) over 4 projects (engine, asylum, autorun, autorun/ogrehelper). This doesn't count the Inno Setup scripts, resource scripts, or the build system.
In other news, I'm canning Alien Abduction. With all the projects I'm already involved in, this buggy little game is just too much for me to maintain alone. I'll be putting up the source (or perhaps the whole SVN repository) sometime on Saturday, and in the meantime I'll tidy it up. SDLRPG is also on the chopping block, but only temporarily. There's still things I want to do with it.
cIRCulation is coming along nicely. Another all-nighter and I should have channel and chat windows working properly (that is, they'll finally recieve message and join/part events). The big jam here is actually parsing messages as they come in off the server, since I'm used to Perl regexes and not .Net ones. I keep catching threading errors with cIRCulation now, though, something to do with my server message pump being run on a timer and therefore on a different thread than the UI. It's not a serious problem, but it is bloating up my WinForms code, because anything that message handlers touch in the forms needs to use some workaround that re-throws the message. Damned annoying.