The Editor
Let me explain a little history behind Sphere's editor. Originally, the "editor" was about six small executables, each for their own individual tasks. There was rmp.exe for editing maps, rss.exe for editing sprites, rfont.exe for editing fonts, etc. I don't remember why I decided this, but I wanted a single program to do all of Sphere's editing. I also decided that learning MFC wouldn't be such a bad thing (heh heh heh... It all sounds so funny now). The code started to appear...
Here is what I've learned. MFC sucks. It does save a bit of time for small Windows programs, but for anything large, debugging can be quite a chore. It also doesn't make much sense (in the logical, object-oriented way of things). I mean, destructors not actually destroying the object? (Unless it's a derivative of CFrameWnd, "of course"!) Constructors not creating them! wtf? Also, I thought the demand for Sphere's editor on platforms other than Windows was negligible. This turned out to be false.
*steps down from soapbox*
The end result of this is that I want to get rid of MFC. I'll make my own set of GUI abstraction classes (thus making the editor portable to Gtk or Qt or BeOS whatever) and hopefully make Sphere's editor more stable, faster, and efficient (memory-wise, that is). This is going to take some time, however, so the next release of Sphere will have the editor in its current form.
Until the switch is made, you can always run Sphere's editor in wine. ;)