Forum archive
Which version of WAD2ART is the "public" one?
- This has nothing directly to do with JonoF's stuff so I'll ask it here:
Take WAD2ART.C directly from the original BUILD Utilites archive (at time of writing, there is no publicly released JFBuild version of this anyway) and #ifdef out all the direct writes to video RAM and stuff like that. It seems certain that the files produced, for example from DOOM.WAD, should be the same as those produced from the public version of WAD2MAP from the ATOMIC Edition CD "goodies" (wad2art.exe, 10th october 1996, 189618 bytes).
However, this is not the case. For example, when run on the Ultimate DOOM IWAD, the resulting Tiles000.art has the same file size, but differs starting at byte 402475. Now, a quick look shows that the artwork seems OK, but it is a bit odd. It happens both with GNU and MSVC compiled .EXEs. I was just wondering, therefore, if the public version of WAD2ART.EXE is newer than that produced from the source code as released? Perhaps some unused bits in a field somewhere? - I don't think there should be any differences. My guess is you commented out this necessary line for converting tiles with transparency:
clearbuf(frameplace,ylookup[ysiz]>>2,0xffffffff);
You can replace it with this:
#include <memory.h>
...
memset((void *)frameplace,0xff,ylookup[ysiz]); - Oh c**p! Err.. I had already converted that to memset()... but got arguments 2 and 3 the wrong way round:( You couldn't make it up :oops: Anyway, it has now been run on DOOM.WAD and DOOM2.WAD and works fine now :)
I asked the question because of seeing references to things like this (one version being older than another, e.g., the ksqrt() thing) before, but thanks anyway though. Sometimes a "fresh pair of eyes" is better than one person staring at something for too long.
Before closing the case, is there any reason why you chose to display the artwork as it was being processed? - My theory is it gave you something entertaining to watch while the conversion took place on slower machines, which was a bonus really because the video memory at 0xa0000 was being used as the temporary conversion buffer anyway.
Take 2: Or not. The scratch buffer was copied to video memory explicitly, so that leaves you with just the entertainment value of it.
Jonathon - I imagine I did the video display more for debugging and to have a progress bar.