OpenRift Posted February 8, 2022 (edited) So some of you might remember I made a standalone DOS package for HacX in the past, I've also developed one for REKKR and REKKR: Sunken Land. These ZIPs will allow you to play REKKR and REKKR: Sunken Land in their own dedicated directories, complete with tools to modify and configure them how you please as well as playing multiplayer through IPX and Serial emulation. What's Included The main EXE (REKKR.EXE/REKKRSL.EXE) Dehacked patch already applied Edited all strings referencing Doom to say REKKR instead Implemented custom quit messages from the IWAD's LANGUAGE lump. Implemented custom par times found in the MAPINFO lump (E4 not included because vanilla Ultimate Doom doesn't have E4 par times) IPX and Serial network drivers edited to launch REKKR instead of Doom Setup program edited version of Chex Quest's setup program, changed the title and copyright. DeathManager! DeathManager v1.2, pressing F1 to launch in singleplayer doesn't work, sadly :( DeuSF (REKKR: Sunken Land only) required for installing REKKR: Sunken Land to run in DOSBox (see note below) DeHackEd just included for convenience, comes with INI specifying the EXE and WAD names Novert Popular tool for disabling vertical mouse movement. Batch menu that DOSBox uses in this package will run it automatically on startup (just delete it if you don't like it) DOSBox Staging 0.78.1 (32-bit) included for convenient play. Comes with a batch menu for easy access to shortcuts Use Launch.bat to run Documentation for the WAD and how this package was done REKKR.WAD (REKKR Classic only, see note below) NOTE Due to the current state of the REKKR: Sunken Land IWAD, you will need your DOOM.WAD from Ultimate Doom to use the package. Freedoom Phase 1 will not work, sadly. This does not apply REKKR Classic, as the IWAD is included since it's the free version. Installation (DOSBox) Extract ZIP where you like. FOR SUNKEN LAND: Copy your DOOM.WAD and place into your directory Copy REKKRSL.IWAD from your Sunken Land install and rename it to REKKRSL.WAD In the directory, run LAUNCH.BAT and enjoy! Installation (Real DOS/Win9x) Extract ZIP where you like. FOR SUNKEN LAND: Copy your DOOM.WAD and place into your directory Copy REKKRSL.IWAD from your Sunken Land install into the directory and rename it to REKKRSL.WAD In the directory, run INSTALL.BAT. This will append your WADs so the game runs properly. Run REKKRSL.BAT to run the game, as Sunken Land requires the -file parameter to run properly. Enjoy! FOR CLASSIC Run REKKR.EXE and enjoy! Downloads v1.1 REKKR Classic REKKR: Sunken Land Older Versions Spoiler v1.0 REKKR Classic REKKR: Sunken Land Patch Notes Spoiler 3/10/2022 - v1.1a (Sunken Land Only) Changed EXE name from REKKRSL.EXE to REKKR.EXE in order to work with the modified IPXSETUP.EXE Updated DeathManager to version 1.2 for episode 4 support 3/10/2022 - v1.1 Added custom cheats based on the sendCheat names found in Sunken Land's ZSCRIPT lump, see below for new cheat codes These codes are a bit different from the Sunken Land versions, as all the codes there were just numbers, which is less fun :P Fixed Dehacked config for Sunken Land; now it should read DATA.WAD as an IWAD and load properly. Updated Startup banners to version 1.1 Included deh files in the SRC folder for the new version banners and cheat codes Cheat Codes Spoiler Change music = msmus## Axe = msslasher God mode = msgod Ammo & Keys = msall Ammo = msfa No Clipping 1 = msclip No Clipping 2 = 8000 Invincibility = msinv Berserk = msbzk Invisibility = msghost Radiation Suit = msrad Auto-map = msmap Lite-Amp Goggles = msirg Level Warp = msclev## Player Position = msmypos Map cheat = msrv Edited March 11, 2022 by OpenRift : Sunken Land updated to version 1.1a 17 Share this post Link to post
Dusty_Rhodes Posted February 8, 2022 Good stuff. Rekkr is really great, I'll be excited to get it going in DOS! 1 Share this post Link to post
OpenRift Posted February 8, 2022 @Redneckerz sorry I'm late with this btw lol 1 Share this post Link to post
adamastor Posted February 8, 2022 Now this is awesome. Great work, Rift! 2 Share this post Link to post
Redneckerz Posted February 8, 2022 (edited) 11 minutes ago, OpenRift said: @Redneckerz sorry I'm late with this btw lol No worries! I just realized you also did one with Hacx (As in, i never saw the original thread!) and made a missed opportunity to call that executable DHehx haha. This is some epic stuff. This shouldn't be hosted on Google Drive! @Doomkid do you think this could be on the Shack or heck in your Vanilla oriented threads? So some real talk here: So Rekkr Classic is now its own DOS game, correct? No FreeDoom stuffs applied. This is even more standalone than HacX DOS, right? REKKR.EXE is based on.. Doom2.exe? Any plans on making these GPL-compatible when using the recreated Doom2.exe sources from Gamever? The second link still links to Rekkr-DOS and not Sunken Land. @MrFlibbletagging you here because this might be worthwhile to push forward unto other sites (RekkrClassic atleast!). I should try and see if i get a 486 like experience going. Really love to see how it runs on DOS. @viti95perhaps you can also chime in and see how Rekkr performs on your systems? FastRekkr, perhaps? ;) 1 Share this post Link to post
xvertigox Posted February 8, 2022 Wow, this is a really cool project. I'll chuck this on my win98 / dos machine, cheers :) 1 Share this post Link to post
OpenRift Posted February 8, 2022 1 hour ago, Redneckerz said: So Rekkr Classic is now its own DOS game, correct? No FreeDoom stuffs applied. This is even more standalone than HacX DOS, right? REKKR.EXE is based on.. Doom2.exe? Any plans on making these GPL-compatible when using the recreated Doom2.exe sources from Gamever? The second link still links to Rekkr-DOS and not Sunken Land. Yes, pretty much. REKKR.EXE is based on Doom.exe, since it's an Ultimate Doom WAD. I had been thinking about it, yeah. Although I'm not sure how well the recreated EXEs would play with dehacked, even with adjusted offsets and size in the dehacked.ini. I'd probably need some help with doing that. Whoops! Just fixed it, it should work now. 2 Share this post Link to post
MrFlibble Posted February 9, 2022 19 hours ago, Redneckerz said: @MrFlibbletagging you here because this might be worthwhile to push forward unto other sites (RekkrClassic atleast!). Thanks, I'm interested! But I'd also much prefer a clean GPL-compatible binary, not a DeHackEd Ultimate Doom one, as you've mentioned. 19 hours ago, Redneckerz said: Any plans on making these GPL-compatible when using the recreated Doom2.exe sources from Gamever? 18 hours ago, OpenRift said: I had been thinking about it, yeah. Although I'm not sure how well the recreated EXEs would play with dehacked, even with adjusted offsets and size in the dehacked.ini. I'd probably need some help with doing that. If you are to use NY00123's reconstructed DOS sources as @Redneckerz suggested, maybe it would be easier to apply all actor changes right in the code, before compiling the binary, as opposed to messing with DeHackEd and data offsets? 0 Share this post Link to post
OpenRift Posted February 9, 2022 7 minutes ago, MrFlibble said: If you are to use NY00123's reconstructed DOS sources as @Redneckerz suggested, maybe it would be easier to apply all actor changes right in the code, before compiling the binary, as opposed to messing with DeHackEd and data offsets? Honestly, I'm not really a programmer, so I can't really say that applying all of this code-wise would be easier per se. Because you would have to enter everything manually, which just seems like a lot for someone as lazy as myself. As I've said before, I'll probably need assistance if I were to go that route. 0 Share this post Link to post
MrFlibble Posted February 9, 2022 I'm not a programmer either, but the data changed by DeHackEd seems simple enough to track down and alter in the sources, e.g. Thing 2 (Former Human) Hit points = 45 Attack sound = 3 Close attack frame = 184 Width = 1048576 Far attack frame = 0 Speed = 14 After a cursory glance at the sources, plus consulting this, it appears that the respective data is found in info.c This should be the Former Human from info.c: { // MT_POSSESSED 3004, // doomednum S_POSS_STND, // spawnstate 20, // spawnhealth S_POSS_RUN1, // seestate sfx_posit1, // seesound 8, // reactiontime sfx_pistol, // attacksound S_POSS_PAIN, // painstate 200, // painchance sfx_popain, // painsound #if APPVER_CHEX S_POSS_ATK1, // meleestate 0, // missilestate #else 0, // meleestate S_POSS_ATK1, // missilestate #endif S_POSS_DIE1, // deathstate S_POSS_XDIE1, // xdeathstate sfx_podth1, // deathsound 8, // speed 20*FRACUNIT, // radius 56*FRACUNIT, // height 100, // mass 0, // damage sfx_posact, // activesound MF_SOLID|MF_SHOOTABLE|MF_COUNTKILL, // flags S_POSS_RAISE1 // raisestate }, 0 Share this post Link to post
MrFlibble Posted February 10, 2022 I just realised that I completely forgot to factor in a rather obvious matter: if we're using the vanilla binary or any GPL-compatible recreation, this effectively means discarding the bugfixes hat have been long taken care of by source ports. Here's a list of improvements that BOOM makes for example: Spoiler New cheat detection engine -- simpler to set up and faster during play Scrolling wall algorithm greatly enhanced Blockmap limit increased from 32K to 64K (was 32K in linux port) without requiring wad changes Fixed texture mapping arithmetic overflows causing game crashes Ensuring 0 tag trigger activation doesn't crash Crushing ceiling limit removed Medusa fix for non-transparent textures on 2s lines Do not spawn flying souls outside the map or across monster-impassable lines Fixing the floor crusher problem (only kills minor monsters) Making illegal texture changes/sector types not crash Archvile resurrection of ghosts (unless compatibility optioned) Remove crash when menu is accessed and mouse speed is greater than 30 Fixed page fault on exit (from the DOS port) Door triggers on 1-sided lines shouldn't crash Correcting bullet/rocket/plasma absorption by lower textures Tutti-frutti removal Remove venetian blind crashes Number of switches limit removed Limit of 32 boss brain spawnspots removed User-configurable player visible corpse limit (default 32) before they disappear Opening limit removal Intercept (walkover linedef) limit removal Animated flat limit removal Deathmatch starts limit removal Spans limits removal (caused venetian blinds crash) Pain elemental head spawn limit made variable or optional Visplane limit removal 2S HOM removal Savegame limit removal Too many plats removal Animated linedef limit removal Too many sprites in view limit Renderer inner loops rewritten in tuned assembly Perform lump and texture name lookups with hash tables Inline where profitable Replace linear searches by faster methods Variables and functions made static const added to function parameters where profitable Enhanced z_zone memory handler to use memory efficiently gcc compile flags optimized Replaced fixed-point arithmetic with floating-point, where faster Hi/low detail option removed for efficiency in renderer Allegro full-volume note and sound sample locking errors fixed Allegro voice detection supported Support for variable pitch sounds, ala v1.1 engine Check for stuck note problem - allow midi reset or force them (handled in Allegro) Improve sound quality (from the DOS port) Allegro keyboard interrupt bug worked around Keyboard LED's and {Caps,Num,Scroll}Lock status configurable and reliable on exit So if we take the MBF binary instead of the vanilla one, that would effectively solve the DEH loading problem as MBF handles those internally without patching, plus providing a lot of bug major fixes and optimizations compared to the original Doom. The task of making a dedicated REKKR DOS binary would then amount to changing minor things like a few text strings. 2 Share this post Link to post
viti95 Posted February 10, 2022 @Redneckerz I'll give it a try, I love seeing new games developed for DOS. 1 Share this post Link to post
Redneckerz Posted February 10, 2022 On 2/8/2022 at 11:53 PM, OpenRift said: Yes, pretty much. REKKR.EXE is based on Doom.exe, since it's an Ultimate Doom WAD. I had been thinking about it, yeah. Although I'm not sure how well the recreated EXEs would play with dehacked, even with adjusted offsets and size in the dehacked.ini. I'd probably need some help with doing that. Whoops! Just fixed it, it should work now. 1. Great. Fascinating to see a native DOS game released in 2022 in glorious 320x200 :) 2. Yeah, my bad. The classic release is a Doom based iwad. 3. Luckily, we have a programmer in our midsts... ;) But the recreated source is put to use it seems! 4. Appreciated! On 2/9/2022 at 6:23 PM, MrFlibble said: Thanks, I'm interested! But I'd also much prefer a clean GPL-compatible binary, not a DeHackEd Ultimate Doom one, as you've mentioned. Its both, actually - The executable is actively modified, but it also has a DeHacked patch because of the monsters. Moving this to a recreated executable would atleast make the whole package more legal - As in, its not the propetiary original anymore. But even so, even as-is the legality question isn't controversal - Id-Software has never protested against these since 1997 as far as i know. On 2/9/2022 at 6:23 PM, MrFlibble said: If you are to use NY00123's reconstructed DOS sources as @Redneckerz suggested, maybe it would be easier to apply all actor changes right in the code, before compiling the binary, as opposed to messing with DeHackEd and data offsets? That would change the code significantly - The reconstructed source should be vis-a-vis the same. I am not sure if you can go beyond DeHacked - That usually means hardcoding it in the IWAD itself. @Revae was working on a Sunken Land update, but not something of this magnitude. Speaking of which Revae, you should totally check this out, as your game is now a full native DOS title :) 2 Share this post Link to post
MrFlibble Posted February 10, 2022 6 minutes ago, Redneckerz said: That would change the code significantly - The reconstructed source should be vis-a-vis the same. I am not sure if you can go beyond DeHacked - That usually means hardcoding it in the IWAD itself. I suggested making the changes that are currently handled by REKKR's DeHackEd patch right in the source code of the prospective DOS binary, instead of applying said patch after compiling. I fancy these should be technically easy to do, at least this is the impression I got from looking at the code, with the example above. I did not mean making any changes beyond what the DEH patch currently does -- that would be superfluous. Or did I misunderstand your comment? 11 minutes ago, Redneckerz said: even as-is the legality question isn't controversal - Id-Software has never protested against these since 1997 Well, since there is an easy GPL-compliant option that does not come burdened with these possible concerns -- I mean using a clean MBF binary which internally handles DEH patches -- then why consider using a hacked id binary at all? It does not make the result more authentic IMO, plus there are unfixed bugs as I mentioned above. 0 Share this post Link to post
Redneckerz Posted February 12, 2022 On 2/10/2022 at 9:54 PM, MrFlibble said: I suggested making the changes that are currently handled by REKKR's DeHackEd patch right in the source code of the prospective DOS binary, instead of applying said patch after compiling. I fancy these should be technically easy to do, at least this is the impression I got from looking at the code, with the example above. I did not mean making any changes beyond what the DEH patch currently does -- that would be superfluous. Or did I misunderstand your comment? I still think that requires hardcoding the changes into the executable or WAD, because what you describe isn't a internal dehacked lump, which is present in REKKR.EXE (Which integrates the patch directly). On 2/10/2022 at 9:54 PM, MrFlibble said: Well, since there is an easy GPL-compliant option that does not come burdened with these possible concerns -- I mean using a clean MBF binary which internally handles DEH patches -- then why consider using a hacked id binary at all? It does not make the result more authentic IMO, plus there are unfixed bugs as I mentioned above. Making it MBF means its not a vanilla executable anymore. MBF has significantly expanded features, but going MBF may make it clean but it does not make use of anything that MBF supports - On top of whatever additional processing overhead MBF has. A 486 might struggle there. Now Gerwin has made a shits and giggles version of MBF for 386 processors, but where Vanilla Doom can run quite well on a 486, MBF is a bit more out there. 1 Share this post Link to post
MrFlibble Posted February 12, 2022 5 hours ago, Redneckerz said: I still think that requires hardcoding the changes into the executable or WAD, because what you describe isn't a internal dehacked lump, which is present in REKKR.EXE (Which integrates the patch directly). Well, there are two ways here I think. If @viti95 implements DEH support akin to BOOM/MBF in FastDoom, that would likely be the easiest solution from the end-user's standpoint, but such implementation could be a ways away in FastDoom's development roadmap. The other, which I mentioned above but probably phrased poorly, is to manually transfer the changes in REKKR's DEH lump/file into NY00123's reconstructed code. Like, the DEH file changes Thing 2's hit points to 45, you find the respective part in info.c and change Doom's default value to 45, etc. etc. down the list. It should not be hard from a technical standpoint, but will take a while to carefully make all the changes. I believe that when this is done and the code is compiled into a binary, no further modification of said binary or the IWAD should be necessary. I think that in some prior discussion, there was mentioned a DOS port/reconstructed binary other than the ones discussed here, which can also internally handle DEH patches similar to MBF. If that is indeed a possibility, perhaps this could serve as the third option? 5 hours ago, Redneckerz said: Now Gerwin has made a shits and giggles version of MBF for 386 processors, but where Vanilla Doom can run quite well on a 486, MBF is a bit more out there. I never looked deep into the details, but I distinctly remember either BOOM or MBF claiming better performance in the speed department compared to vanilla Doom, and Gerwin's updates (I mean the 2.04 maintenance release, not the 386 version) supposedly pushed that even further. Does MBF 2.04 still play slower compared to vanilla on a 486? 0 Share this post Link to post
MrFlibble Posted February 14, 2022 On 2/12/2022 at 9:15 PM, MrFlibble said: Does MBF 2.04 still play slower compared to vanilla on a 486? Alrighty, found the answer myself -- I vaguely remembered there was a dedicated thread by Gerwin. However, it looks like the most recent versions of MBF 2.04 are pretty close in terms of FPS in memory buffer to mode 13h mode. Also Gerwin mentions an updated BOOM 2.03 -- that should be usable as well, if this version has been released, because BOOM can also read DEH patches, just not from inside WADs (IIRC). 0 Share this post Link to post
OpenRift Posted March 11, 2022 Just giving this a bump for those who downloaded the update already today: be sure to download again for Sunken Land, had to fix some issues. 0 Share this post Link to post
MrFlibble Posted June 15, 2022 @OpenRift, I noticed that you added custom exit messages and cheat codes, are these your own invention, or from the official Sunken Land binary? (I've not got Steam installed ATM so I cannot check the latter). 0 Share this post Link to post
MrFlibble Posted June 21, 2022 (edited) Nevermind, I installed Steam and Sunken Land, the new exit messages are found in the LANGUAGE lump inside REKKRSL.iwad. UPD: the same exit strings may be found in the regular free version (both PWAD and stand-alone IWAD) include the LANGUAGE lump, but they're not used in vanilla DOS or Chocolate Doom. Edited June 21, 2022 by MrFlibble 1 Share this post Link to post
OpenRift Posted June 21, 2022 3 hours ago, MrFlibble said: Nevermind, I installed Steam and Sunken Land, the new exit messages are found in the LANGUAGE lump inside REKKRSL.iwad. UPD: the same exit strings may be found in the regular free version (both PWAD and stand-alone IWAD) include the LANGUAGE lump, but they're not used in vanilla DOS or Chocolate Doom. Yeah, I hex-edited those into the DOS exe. 2 Share this post Link to post
MrFlibble Posted June 21, 2022 (edited) @OpenRift, what about the cheat codes? Sunken Land appears to be using the original Doom ones (at least, the console accepted iddqd but not msslayer). Cheats should be replaceable via DeHackEd too, at least the original HacX release did that IIRC, but the REKKR DEH pattch does not contain any cheat replacements. UPD: Found the answer here literally in less than a minute after asking. 0 Share this post Link to post
Revae Posted June 22, 2022 I didn't change any console commands. But as you saw, I did add cheats in. Theyyyy're: all keys: 0451 all weapons: 0849 godmode: 1337 noclip: 8000 powerup drops: 5115 - map 5335 - protection boots 5775 - wode 5135 - invuln 5995 - torch summons a friendly bunny: 1253 mirrormode: 0690 3 Share this post Link to post
OpenRift Posted June 22, 2022 8 hours ago, MrFlibble said: @OpenRift, what about the cheat codes? Sunken Land appears to be using the original Doom ones (at least, the console accepted iddqd but not msslayer). Cheats should be replaceable via DeHackEd too, at least the original HacX release did that IIRC, but the REKKR DEH pattch does not contain any cheat replacements. UPD: Found the answer here literally in less than a minute after asking. It's also literally in the main post in the Cheat codes section... 1 Share this post Link to post