WadAuthor Progress Update #4 (03/08/01)

Finally Some Progress!

Those of you who have been following my progress updates know that I've not been able to accomplish much over the last couple of weeks because I've been in database purgatory. I am happy to announce that I think my time in that awful place is done for the moment. I have been cleansed of the sin of giving users too much access to their own system. Seeing as I am now in a state of programming grace, it seems appropriate that I have some positive progress to report this week.

New Image Background Color Setting

First, I spent much of the afternoon last Sunday working on WadAuthor, and I have to say it continues to be fun. In response to a user suggestion on the Doomworld editing forum, I added a new color setting to the software. The new "Image Background" color setting allows the user to specify the background color to be used in the image preview windows and in the recently enhanced image browsing dialog box. WadAuthor has always used white in the past, but some users prefer black or perhaps other colors. This may now be changed easily to accommodate those folks.

The New Image Browser is Done

Yes, it's true: I finally nailed every nasty little scrolling bug that I could find right to the wall. My new graphical list control is now a drop-in replacement for the previous solution, which was an owner-draw variable-item-height list box for you programmer types out there. The new image browser dialog is sizable and maintains its extents and zoom setting from one invocation to the next. Its background color is customizable as mentioned above. It responds to incremental searching from the keyboard just like the old image list. And best of all, it shows lots and lots of images fast enough to be useful! I may yet optimize some of the drawing code via double buffering in order to avoid some flashing, but this can come later. The important thing is that it's feature complete and fully functional.

Lump Management

I had an epiphany while in the shower last Friday morning. I don't know why such things often happen this way, but they do. I was standing there enjoying the hot water while simultaneously trying to figure out who I was—mornings are sometimes rough for me—when it hit me: I could handle lump management easily if I just started treating the document as what will be rather than what is. I really don't know why it didn't occur to me before. At any rate, I'm planning to support rearranging, moving and copying through a simple drag-and-drop interface. Deleting and renaming lumps will be just as simple, though they will require some sort of keypress or menu selection for safety and interface reasons. With the new approach, I expect the file handling and undo-related code to be trivial, so I'm focusing for the moment on getting the user-interface just right. I'll let you know how it turns out.

Just to be clear, when I say "lump management" I mean precisely that; i.e., the ability to manage which lumps exist in a wadfile under what names and in what order. This does not include any special editing utilities for the content of the lumps. WadAuthor already supplies some pretty powerful map editing features, and I doubt seriously whether it's worth investing the time in writing sound, graphics and other editing tools when excellent third-party utilities exist for these tasks already. Lump management is a feature quite closely linked to the program's raison d'être, but lump editing in my judgment is not. I might consider opening WadAuthor to third-party tools via some kind of plug-in API if the outcry for it is sufficient. As always, user feedback on this point would be helpful.

Graphics PWADs

This is a feature that some folks have been clamoring for since roughly the very first release capable of supporting graphics outside the IWAD file—for those with memories like mine that would be since v1.20 was released on 2/19/1996. In the past, WadAuthor has supported extra graphics either within the PWAD being edited or within a lone external PWAD. I am presently investigating the possibility of supporting an arbitrary number of external graphics PWAD files. I think the internal image-handling architecture can handle it if only I add a little glue-code here and there. I'm not certain at this time, but if things continue to progress, the next release will support as many external graphics PWAD files as are needed. Making the interface completely functional took less than an hour because I was able to leverage some code I wrote and sold rights to distribute some years ago to Stingray Software before they were acquired by Rogue Wave. For those folks working with multiple graphics PWADs, I think the next release will be appreciated.

While I'm twiddling about in the imaging code, I will also investigate the possibility of rewriting the image generation routines to work the way they should have worked since day one. When the code was written originally, I did not fully understand how DOOM handled additional graphics. Of course DOOM's handling of pretty much everything has become less obscure since those heady days, so I now have the knowledge to do the job right. Whether the changes will be made, as with pretty much all the proposed changed to WadAuthor, will depend entirely on the time I can devote to the project as well as the level of user outcry.

Conclusion

Well, that's it for this week. Some days you get the bear, and some days the bear gets you. I think this last week has finally been a case of the former and not the latter. If I can quickly bring the work on the aforementioned features to a conclusion, perhaps I'll be able to post more screen shots next week of some nifty changes to the GUI as I now have some ideas regarding sector drawing tools and an object information window. Stay tuned!