Well, I've not found it easy to concentrate on RezEditor, though at least part of that was due to "circumstances" of my personal life that I don't really plan on talking about. I have, however been poring over the EVNEW source in an effort to make it fit for human consumption. Seriously, there was some awful code in there. break after unconditional return, checking new/delete for NULL, all sorts of stuff that the compiler does for you, better.
Having a clear and reachable goal seems to be doing wonders, I never thought it would.
Anyway, my point is I discovered a bug in the Nebu handler. To reproduce, try to load a file with OnExplore and ActiveOn fields filled in. Saving works properly, fortunately.
There's also an error in the .rez file opening code that could potentially lead to resources being shuffled randomly, but there probably aren't any .rez files out there that meaningfully used that field.
I've fixed the first, will probably fix the second, have added color support for RLE8, and once I finish my tour through the code I'll release a version (including Makefile for MinGW, it's possible VS will break, but VS doesn't have a real C++ compiler anyway) to see if anything broke. (I had to stop myself from "fixing" the handling of Contribute/Require in the text format because I'd probably break the Endianness-handler).
After that, there's a possibility of going through and replacing the load/save sequence, which is really wasteful, because all the interpretation of stuff - and creation of empty dialog elements - happens when the file is opened. It'd be much faster and more memory-efficient if that only happened when. and replacing the mostly-meaningless vector indices with a map...
Any other bugs I should look out for?
Edit: fixed a bug when opening an Outf with ModType 2 = 43 (Paint)
Edit: fixed a bug where in Spob where landing fee was loaded incorrectly
This post has been edited by Nonconventionally Creative : 10 September 2010 - 03:37 AM