Hexen-plus

From DoomWiki.org

Hexen-plus
Codebase HEXEN.EXE, Doom2-plus 1.92.6
Developer(s) Andrey Budko (entryway)
Initial release 1.1.1 (2010-03-17, 10 years ago)
Latest release 1.1.5 (2010-03-21, 10 years ago)
Development status Discontinued
Written in C, Assembly
Target Platform DOS

Hexen-plus, also known as Hexen+ or HexenP, is a executable hack created by Andrey Budko (entryway). It is derived from the Hexen: Deathkings of the Dark Citadel version of HEXEN.EXE v1.1 and provides significantly increased static limits to reduce the risk of crashes, premature program exits and certain visual problems, while maintaining full compatibility with the original executable. It allows several WADs to be playable in the vanilla engine that previously required a limit-removing source port to be run.

Its exact file name is HEXENP.EXE.

History[edit]

The last of the Plus hacks by Entryway to appear, Hexen-plus was first released as version 1.1.1 on March 17, 2010[1], after been inspired from this Doomworld forums post from Kristian Käll (Kristus) regarding his map set Hexen: Curse of the Demon Lord. This ultimately saw a partial release in 2017 as Hexen: Curse of the Lost Gods. While the changes for 1.1.1 are unknown, it was quickly followed up by 1.1.2 a day later. In this release, it became known that all of the raised limits featured in Doom2-plus 1.92.6 were included, with the only difference being that the SAVEGAMESIZE raised limist was not implemented, but the limits of MAXOPENINGS were being made larger.

In addition to the raised limits, Hexen-plus also included several goodies in its hack, iterating on the Heretic-goodies release of Heretic-plus that occurred in January 2010. Like Heretic-plus, it introduces a bindable inventory, to associate keys with items. The included hexen.crk file would allow the user to rebind the items of an inventory to any key. The majority of the included goodies however centered around extensive support for demos, introducing support for -longtics through a switch, multilevel demo's and -timedemo support along with disabling of the startup plash screen and various other fixes. Version 1.1.3 was an intermediate release, but 1.1.4 introduced one new feature: The implementation of -maxdemo support. The .crk source file was also split into two separate files: limits.crk for the raised limits, and hexen.crk for all the goodies.

A final release followed with version 1.1.5, released March 21, 2010. It (incorrectly) announced support for the previously mentioned -maxdemo implementation and it fixed several bugs.

Raised limits[edit]

  • Hexen-plus inherits the raised static limits of Doom2-plus 1.92.6, with the SAVEGAMESIZE being omitted and MAXOPENINGS being larger (81920 versus 65536).
limit                         : old    * k   = new
-------------------------------------------------------
visplanes[MAXVISPLANES]       : 128    * 8   = 1024
drawsegs[MAXDRAWSEGS]         : 256    * 8   = 2048
activeplats[MAXPLATS]         : 30     * 256 = 7680
vissprites[MAXVISSPRITE]      : 128    * 8   = 1024
linespeciallist[MAXLINEANIMS] : 64     * 256 = 16384
openings[MAXOPENINGS]         : 20480  * 4   = 81920

Additional raised limits[edit]

  • Bug fix when turning with mouse
  • longtics support through a command line switch
  • The ability to not quit the game with Q
  • Multilevel demo support
  • Allows the user to show the automap using the TAB key
  • -timedemo support
  • -maxdemo support
  • No startup splash screen
  • Includes a bindable inventory with the following parameters:
Default additional binds:
Alt - Flechette
Ctrl - Disc of Repulsion
Q - Quartz Flask
C - Porkalator

You can rebind any via editing of hexen.crk
000A4D4C: 00 FF ; Ring of Invincibility
000A4D4D: 00 71 ; Quartz Flask
000A4D4E: 00 FF ; Mystic Urn
000A4D4F: 00 FF ; Mystic Ambit Incant
000A4D50: 00 FF ; Dark Servant
000A4D51: 00 FF ; Torch
000A4D52: 00 63 ; Porkalator
000A4D53: 00 FF ; Wings Of Wrath
000A4D54: 9D FF ; Disc of Repulsion
000A4D55: 00 B8 ; Flechette
000A4D56: 00 FF ; Banishment Device
000A4D57: 00 FF ; Boots of Speed
000A4D58: 00 FF ; Krater of Might
000A4D59: 00 FF ; Dragonskin Bracers
000A4D5A: 00 FF ; Chaos Device

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

External links[edit]

References[edit]

  1. Doomworld forums thread
Source code genealogy
Based on Name Base for
HEXEN.EXE Hexen-plus None
Doom2-plus 1.92.6