Doom Comic
Register | User Profile | Member List | F.A.Q | Privacy Policy | New Blog | Search Forums | Forums Home
Doomworld Forums : Powered by vBulletin version 2.2.5 Doomworld Forums > Classic Doom > Source Ports > heretic-goodies
 
Author
All times are GMT. The time now is 01:34. Post New Thread    Post A Reply
entryway
Forum Staple


Posts: 2739
Registered: 01-04


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/pr...eretic-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

Last edited by entryway on 01-17-10 at 17:13

Old Post 01-16-10 20:10 #
entryway is offline Profile || Blog || PM || Homepage || Search || Add Buddy IP || Edit || Quote
Creaphis
I will deliberately take a contrary position just for the sake of writing incredibly long arguments


Posts: 4184
Registered: 10-05


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?

Old Post 01-16-10 20:52 #
Creaphis is offline Profile || Blog || PM || Email || Search || Add Buddy IP || Edit || Quote
Vermil
Senior Member


Posts: 1746
Registered: 03-04


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.

Old Post 01-16-10 20:55 #
Vermil is offline Profile || Blog || PM || Email || Search || Add Buddy IP || Edit || Quote
Gez
Why don't I have a custom title by now?!


Posts: 11548
Registered: 07-07


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

Old Post 01-16-10 21:00 #
Gez is offline Profile || Blog || PM || Search || Add Buddy IP || Edit || Quote
entryway
Forum Staple


Posts: 2739
Registered: 01-04



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)

Old Post 01-16-10 21:03 #
entryway is offline Profile || Blog || PM || Homepage || Search || Add Buddy IP || Edit || Quote
Hitherto
Member


Posts: 329
Registered: 11-06



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

Old Post 01-16-10 21:04 #
Hitherto is offline Profile || Blog || PM || Email || Search || Add Buddy IP || Edit || Quote
Creaphis
I will deliberately take a contrary position just for the sake of writing incredibly long arguments


Posts: 4184
Registered: 10-05



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?

Old Post 01-16-10 22:44 #
Creaphis is offline Profile || Blog || PM || Email || Search || Add Buddy IP || Edit || Quote
myk
volveré y seré millones


Posts: 15231
Registered: 04-02



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.

Old Post 01-16-10 22:55 #
myk is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit || Quote
entryway
Forum Staple


Posts: 2739
Registered: 01-04



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.

Old Post 01-16-10 23:13 #
entryway is offline Profile || Blog || PM || Homepage || Search || Add Buddy IP || Edit || Quote
Creaphis
I will deliberately take a contrary position just for the sake of writing incredibly long arguments


Posts: 4184
Registered: 10-05



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.

Old Post 01-16-10 23:14 #
Creaphis is offline Profile || Blog || PM || Email || Search || Add Buddy IP || Edit || Quote
Gez
Why don't I have a custom title by now?!


Posts: 11548
Registered: 07-07



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.

Old Post 01-16-10 23:14 #
Gez is offline Profile || Blog || PM || Search || Add Buddy IP || Edit || Quote
Creaphis
I will deliberately take a contrary position just for the sake of writing incredibly long arguments


Posts: 4184
Registered: 10-05



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.

Old Post 01-16-10 23:15 #
Creaphis is offline Profile || Blog || PM || Email || Search || Add Buddy IP || Edit || Quote
entryway
Forum Staple


Posts: 2739
Registered: 01-04



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

Old Post 01-16-10 23:27 #
entryway is offline Profile || Blog || PM || Homepage || Search || Add Buddy IP || Edit || Quote
Hitherto
Member


Posts: 329
Registered: 11-06



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?

Last edited by Hitherto on 01-16-10 at 23:47

Old Post 01-16-10 23:42 #
Hitherto is offline Profile || Blog || PM || Email || Search || Add Buddy IP || Edit || Quote
Mike.Reiner
Senior Member


Posts: 1203
Registered: 01-05


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.

Old Post 01-17-10 14:36 #
Mike.Reiner is offline Profile || Blog || PM || Search || Add Buddy IP || Edit || Quote
kristus
Megablast!


Posts: 10626
Registered: 07-00


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.

Last edited by kristus on 01-17-10 at 18:32

Old Post 01-17-10 17:09 #
kristus is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit || Quote
Hitherto
Member


Posts: 329
Registered: 11-06



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

and in cfg should be used scancodes instead ascii:
http://www.ee.bgu.ac.il/~microlab/M...s/ScanCodes.htm

Last edited by Hitherto on 01-17-10 at 19:36

Old Post 01-17-10 19:00 #
Hitherto is offline Profile || Blog || PM || Email || Search || Add Buddy IP || Edit || Quote
myk
volveré y seré millones


Posts: 15231
Registered: 04-02


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+.

Old Post 01-17-10 19:07 #
myk is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit || Quote
kristus
Megablast!


Posts: 10626
Registered: 07-00


Yeah. I did the later.

Old Post 01-17-10 19:32 #
kristus is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit || Quote
Mike.Reiner
Senior Member


Posts: 1203
Registered: 01-05



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.

Old Post 01-18-10 13:26 #
Mike.Reiner is offline Profile || Blog || PM || Search || Add Buddy IP || Edit || Quote
VinceDSS
Senior Member


Posts: 1299
Registered: 11-02


can this patch work with vv's hack ?

Old Post 01-23-10 16:00 #
VinceDSS is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit || Quote
myk
volveré y seré millones


Posts: 15231
Registered: 04-02


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.

Old Post 01-23-10 16:50 #
myk is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit || Quote
All times are GMT. The time now is 01:34. Post New Thread    Post A Reply
 
Doomworld Forums : Powered by vBulletin version 2.2.5 Doomworld Forums > Classic Doom > Source Ports > heretic-goodies

Show Printable Version | Email this Page | Subscribe to this Thread

 

Forum Rules:
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is OFF
vB code is ON
Smilies are OFF
[IMG] code is ON
 

< Contact Us - Doomworld >

Powered by: vBulletin Version 2.2.5
Copyright ©2000, 2001, Jelsoft Enterprises Limited.