Java IWAD Patcher (1.0.2)

JIWadPatcher will patch any registered IWAD from DOOM, DOOM II, Final DOOM, Heretic, Hexen and Strife to the latest or any other official version.
Shareware IWADs cannot be patched as they can be downloaded for free. JIWadPatcher is released under the BSD license.

uses part of the jbdiff utility version 0.1.1, written by
Copyright 2005-2007 Joe Desbonnet available here.

Download

Zipped jar and source code (MD5:3e8d32317c5dfa0a70b51edcbab45cb5).


registered IWADs are:

DOOM.WAD
DOOM2.WAD
TNT.WAD
PLUTONIA.WAD
HERETIC.WAD
HEXEN.WAD
HEXDD.WAD
STRIFE1.WAD

How to use:
Double-click the JIWadPatcher.jar or start it from the console with "java -jar JIWadPatcher.jar" to open a GUI.
Click the button and choose the IWAD you want to patch to the latest version. A message will tell you if the patching succeeded.

If you want to patch your IWAD from the console you would for example type "java -jar JIWadPatcher.jar C:\DOOM\DOOM.WAD".
Simply give the wad location as an argument and it will be patched to the latest version.

Patching your IWAD to a certain version is only possible from the console.
"java -jar JIWadPatcher.jar C:\DOOM2\DOOM2.WAD DOOM2_1666" will patch your DOOM2.WAD to version 1.666.

Possible versions are:
DOOM.WAD

DOOM_11
DOOM_12
DOOM_1666
DOOM_18
DOOM_19
DOOM_19UD
DOOM2.WAD
DOOM2_1666G
DOOM2_1666
DOOM2_17
DOOM2_17A
DOOM2_18
DOOM2_19
TNT.WAD
TNT_19
TNT_19YK
PLUTONIA.WAD
PLUTONIA_19
PLUTONIA_19ANTH
HERETIC.WAD
HERETIC_10
HERETIC_12
HERETIC_13
HEXEN.WAD
HEXEN_10
HEXEN_11
HEXDD.WAD
HEXDD_10
HEXDD_11
STRIFE1.WAD
STRIFE1_10
STRIFE1_131

For more info about the different IWAD versions check the DOOM Wiki.

Compilation and Jar packing:
Java 1.6 and up build with GUI and console:
If you are on Windows run build.bat from the src directory otherwise adapt it to your operating system!
If you want to do it by hand do the following steps:
Move to the src directory. Compile the code with "javac doom/*.java". After that you can optionally move the .java source files
out of the directory before packing the jar. Pack the jar with "jar -cfm JIWadPatcher.jar Manifest.txt doom patches".

Java 1.5 build with console only:
Use build15.bat to build a java 1.5 compatible jar.
If you want to do it by hand do the following steps:
Move to the src directory. Replace PatcherMain.java with PatcherMain15.java. Compile the code with "javac -source 1.5 -target 1.5 doom\*.java".
After that you can optionally move the .java source files out of the directory before packing the jar.
Pack the jar with "jar -cfm JIWadPatcher.jar Manifest.txt doom patches".

The JIWadPatcher.jar can also be used as a library for your own program.
Just import the jar in your code and call the patcher as shown in the main function in PatcherMain.java.

Changelog:

JIWadPatcher 1.0 (14 Jan 2010)
initial release.
JIWadPatcher 1.0.1 (7 Feb 2010)
proper exception handling and error messages.
GUI will use system look and feel automatically.
JIWadPatcher 1.0.2 (27 May 2010)
added java 1.5 compatible PatcherMain class (console only).
changed IWad.java to be java 1.5 compatible.
text area will scroll to the last message automatically now.
added plutonia anthology patch.


Peter Vaskovic