Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
entryway

heretic-goodies

Recommended Posts

According to this topic I did some hacking for ability to bind any artifact to any key and placed it on prboom-plus site into heretic-goodies section.

https://sourceforge.net/projects/prboom-plus/files/heretic-goodies/

heretic-goodies-1.0.zip\HERETICP.EXE includes heretic-plus

1. Bindable Inventory.

Default binds:
G - ring of invincibility (God mode)
I - shadowsphere (Invisibility)
H - Health
U - mystic Urn
P - tome of Power
L - torch (Lighting)
B - time Bomb of the ancients
C - morph ovum (Chicken)
0 - chaos device (teleport)

You can rebind any via editing of inventory.crk
00087BA0: 00 67 ; Ring of Invincibility
00087BA1: 00 69 ; Shadowsphere
00087BA2: 00 68 ; Health
00087BA3: 00 75 ; Mystic Urn
00087BA4: 00 70 ; Tome of Power
00087BA5: 00 6C ; Torch
00087BA6: 00 62 ; Time Bomb of the Ancients
00087BA7: 00 63 ; Morph Ovum
00087BA8: 00 FF ; Wings of Wrath
00087BA9: 00 30 ; Chaos Device

'a'-'z' -> 0x61-0x7A, '0'-'9' -> 0x30-0x39, etc
FF means "no bind"

ASM source of hack:
http://prboom-plus.sf.net/heretic_inventory_asm.png

Share this post


Link to post

Neat!

I can't say that altering these binds is an especially user-friendly process but at least I don't have to download a hex-editor. After editing inventory.crk in notepad, do I just run cracker.exe in the same folder as this hereticp.exe or do I have to pass it something in the command line?

Share this post


Link to post

It's perhaps not widely known information, but Dos Heretic did actually have hardcoded binds to two artefacts. Backspace uses a Tome of Power while Insert (the default "fly up" control) uses Wing's of Wrath.

Share this post


Link to post

There's also a key to suspend flight IIRC. Can be very useful given how short that powerup lasts.

Share this post


Link to post
Creaphis said:

After editing inventory.crk in notepad, do I just run cracker.exe in the same folder as this hereticp.exe or do I have to pass it something in the command line?

If you use already cracked exe you need Undo changes, then edit inventory.crk as you want and Crack. If you want to apply it to hereticp.exe, then you need to rename it to heretic.exe or edit inventory.crk (HERETIC.EXE -> HERETICP.EXE)

Share this post


Link to post
Creaphis said:

After editing inventory.crk in notepad, do I just run cracker.exe in the same folder as this hereticp.exe or do I have to pass it something in the command line?

You should use your custom inventory.crk to plain heretic.exe or plain (without inventory hack) hereticp.exe, renamed to heretic.exe

Share this post


Link to post
Gez said:

There's also a key to suspend flight IIRC. Can be very useful given how short that powerup lasts.


Doesn't this powerup's timer keep ticking down to zero while flight is flight is suspended?

entryway said:

If you use already cracked exe you need Undo changes, then edit inventory.crk as you want and Crack. If you want to apply it to hereticp.exe, then you need to rename it to heretic.exe or edit inventory.crk (HERETIC.EXE -> HERETICP.EXE)


Got it. Thanks. One more question: if I record a demo with a cracked .exe, will it play back correctly on the uncracked version?

Share this post


Link to post

Creaphis said:
One more question: if I record a demo with a cracked .exe, will it play back correctly on the uncracked version?

Yes. The demo just records the functions used, it doesn't care exactly what keys are hit. Otherwise, demos would depend on our key configs.

Share this post


Link to post
myk said:

Yes. The demo just records the functions used, it doesn't care exactly what keys are hit. Otherwise, demos would depend on our key configs.

Yes, I also hope it does not break compatibility. I do not check presence of an artifact in the inventory before writing to cmd.arti, but logically it can't be a problem.

Share this post


Link to post
myk said:

Yes. The demo just records the functions used, it doesn't care exactly what keys are hit. Otherwise, demos would depend on our key configs.


Makes sense. I just thought there was a chance that Heretic demos ordinarily recorded "next item," "previous item" and "use item" functions rather than the direct "use health," "use tome," etc.

Share this post


Link to post
Creaphis said:

Doesn't this powerup's timer keep ticking down to zero while flight is flight is suspended?

No, and that's the point.

Share this post


Link to post
Gez said:

No, and that's the point.


I learn something every day! I thought the point was just to stop flying when you were sick of being airborne. It can be a nuisance.

Share this post


Link to post
Gez said:

There's also a key to suspend flight IIRC. Can be very useful given how short that powerup lasts.

key_flycenter does not pause timer

Share this post


Link to post
Gez said:

There's also a key to suspend flight IIRC. Can be very useful given how short that powerup lasts.

In vanilla Heretic, flight lasts one minute anyway. May be you are confused it with Duke Nukem jetpack?

Share this post


Link to post

Interesting stuff.
This may not be fully related, but, is there a method of changing the bind for using an inventory item in vanilla Hexen? I presume it's possible with a hex editor, but I wouldn't even know where to start.

Share this post


Link to post

You can do it by editing the CFG. The command is
key_useartifact

EDIT: For anyone who (like me) want a reference to what Hex value corresponds to what ASCII char. Here's a helpful converter:
http://www.laughtergenealogy.com/bin/header/ascii.html

EDIT: The HereticP version featured in the package seem to be fucked up. It appears to be cracked with the inventory crack's defaults, But I can't uncrack/undo it or recrack it. The cracker just gives me a "failed" response. I had to redownload the original HereticP I had and crack that myself.

Och yeah. And the cracker is targeted to crack Vanilla Heretic by default. Just so everyone knows.

Share this post


Link to post

You can also use the KEYCODE.EXE file that comes with Boom to determine the value for any key.

kristus said:
It appears to be cracked with the inventory crack's defaults, But I can't uncrack/undo it or recrack it. The cracker just gives me a "failed" response. I had to redownload the original HereticP I had and crack that myself.

In that case you need to make a copy of the crack, edit the first column of values to correspond with the defaults of the crack, and give the second column the new values, or just use and modify the unedited crack to use on a clean Heretic+.

Share this post


Link to post
kristus said:

You can do it by editing the CFG. The command is
key_useartifact

EDIT: For anyone who (like me) want a reference to what Hex value corresponds to what ASCII char. Here's a helpful converter:
http://www.laughtergenealogy.com/bin/header/ascii.html

Thanks! Man, Why couldn't they have made that bindable if it wasn't hard coded?

I just set another bindable action to the key i wanted to use for key_useartifact so that I could find out what value to put there.

Share this post


Link to post

Yeah, it does indeed work with vv's hacks. You can apply both this and the Heretic+ hacks to vv's hacked executable that shows the intermission time for the later episodes, and it's all compatible with his COM file.

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
×