Description
Crispy can load HEHACKED patches in wads automatically now, which is great. However it defaults to version 1.0 patches; 1.3 patches (needed to change the map and episode names of episodes 4 & 5) still need the parameter -hhever 1.3
.
This should be fairly easy to change, and I'm willing to do it. But how best to implement it?
For reference here is the header for a HHE patch:
Patch File for HHE v1.1
# Note: Use the pound sign ('#') to start comment lines.
Heretic version = 10
Patch format = 1
Heretic version
andPatch format
numbers can be changed and read by Crispy Heretic currently, but trying to load them in HHE.EXE produces a warning and then defaults back to 10 and 1 when saved, respectively.- Comments do not produce errors and can be used as 'magic strings', these again do not get saved in HHE.EXE
- A separate
HHEVER
lump could be used. - We could try to use heuristics to determine if the patch is for Heretic 1.3; any patch with strings for the 4th or 5th episode can safely be assumed to be 1.3, and anyone wishing to force 1.3 compatibility in their patch can include a replacement for one of these strings (even if the 'replacement' is the original string).
Certain other features (code pointer changes etc.) can cause Crispy to error out and suggest using thehhever
switch, if they don't match up with what it's expecting for a 1.0 patch.
Assuming any embedded HEHACKED lump is a 1.3 patch is a bad option IMO, especially since there already exist wads with HEHACKED lumps that use the 1.0 format, to avoid needing the -hhever
switch.
Last option: someone can help me rewrite Dehacked to support Heretic. (Dehacked has its source released, but Hehacked does not.) Something I've thought of trying before, but a little ambitious for me I think.