Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
fraggle

Chocolate Heretic HHE support

Recommended Posts

Following much reverse engineering, Chocolate Heretic can now load HHE patches generated for Heretic v1.0, 1.2 and 1.3. As far as I know this is the first source port to support HHE patches, and I can understand why - they have a strong dependency on the executable that was used to generate them, so HHE support is significantly more difficult to implement than DEH support is in Doom.

If anyone is interested, I would appreciate some help in testing this feature out. I've already found some HHE patches in /idgames, which I've listed here. I've tested most of these out already, but does anyone know of any other patches?

Loading a HHE patch is the same as a DEH patch:

chocolate-heretic -deh foo.hhe
By default it assumes that patches were made for Heretic 1.0 (which is how HHE 1.1 is configured to behave unless you apply this change to hhe.ini). However, some patches are for v1.2 or v1.3; to specify a different version, use the -hhever command line option:
chocolate-heretic -deh foo12.hhe -hhever 1.2
chocolate-heretic -deh foo13.hhe -hhever 1.3
EDIT: The Windows builds here haven't been updated since January. exp[x], can you help?

Share this post


Link to post

Not necessarily. Ichor contains the file ichor.hhe.

However, there is indeed an issue. Said ichor.hhe starts as such:

Patch File for HHE v1.1

# Note: Use the pound sign ('#') to start comment lines.

Heretic version = 10
Patch format = 1
There's no way from the header to tell that it is for Heretic 1.3, since 10 presumably means "1.0".

Share this post


Link to post
Quasar said:

Are HHE patches really named .deh? I could see that being a problem if so.

That was a mistake, sorry :-)

Gez said:

There's no way from the header to tell that it is for Heretic 1.3, since 10 presumably means "1.0".

HHE was made for Heretic 1.0, but you can make it work with 1.2/1.3 by tweaking the configuration file. Because of the design of the HHE patch file format, and because of changes to the executables, patches for one version will not work properly with others.

One thing that I'm planning to add is a version suggestion feature; currently you get an error message for some patches if you use the wrong version; it should be possible to make a decent guess as to the correct version in a lot of cases and suggest this as part of the error message.

Share this post


Link to post

Looking at your list, it seems a way to automatically detect the version used would be to load the entire zip and scan it for hhe.ini. If such a file is not present, it can be assumed it's 1.0. If found, then it can be read and the offsets can be compared to known values to find whether it's 1.2 or 1.3.

Of course Chocolate doesn't load entire zips.

Share this post


Link to post
Gez said:

Of course Chocolate doesn't load entire zips.

Well, yeah, exactly :-)

I've now added the version suggestion code.

Share this post


Link to post
Gez said:

There's no way from the header to tell that it is for Heretic 1.3, since 10 presumably means "1.0".

So the HHE author had a perfectly good way to specify the game version and DID NOT implement it? Argghhh! Breaking standards really pisses me off.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  
×