Doom-Utils / deutex

WAD composer for Doom, Heretic, Hexen, and Strife
Other
61 stars 17 forks source link

Add a compare feature to find different lumps in two WADs #48

Open AXDOOMER opened 7 years ago

AXDOOMER commented 7 years ago

Recently, I had to compare two different versions of the same WAD. Both WAD files had a different size and a different checksum, but I needed to know which lump were different inside the WAD.

I had to extract the WAD and then compare all of the files using terminal commands. I would be great if DeuTex could do this by itself. Voros as suggested how this feature could work on Doomworld.

Using a simple command would make the task easy. There are two similar WADs here which are PG-RAW.WAD and PG-RAW-X.WAD. They have a similar size, a different checksum, but I think the content is the same. This feature should be able to confirm if they have the same lumps or if the only data that differs is not inside the lumps.

Voros2 commented 7 years ago

The -wadir command already lists the contents of a single WAD, the name of each lump, the size of lumps and the type of lump. This could be an extension to -wadir by allowing one more argument in -wadir, which would the filepath/name to/of the second WAD, for starters.

For more complex stuff, such as comparing the colors/pixels present in a graphics lump, would need a bit more work.

AXDOOMER commented 7 years ago

I'm not asking for that complex stuff, but at least a checksum would be required. For example: Since flats are always 4096 bytes, a checksum would be required to compare two flats which have the same name when comparing two WAD files.

AXDOOMER commented 7 years ago

I liked your suggestion on Doomworld were a new command line parameter would be added: deutex -compare 1.wad 2.wad Then it would print you a list of lumps which are different, based on a checksum. Printing a list of lumps which are in one WAD but not in the other would also be great (this could be enable via an argument).