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

RUDE: another chocolate-doom fork

Recommended Posts

RUDE 3.1.0 pre-release
------------------------

 RUDE is a fork of Chocolate Doom 3.0.0 with some stuff from Crispy Doom.
 The name is some kind of play on words and stands for Romero's Ultimate Doom Engine and
 it's another tribute to John Romero. Easy to understand if you know my Romero's Heresy II
 project for Heretic. :)

 It's a strong limit removing port aiming to fix game breaking bugs and prevent crashes while
 remaining faithful to the original executables. There are a few new gameplay features too.
 It's somewhere in the middle between Chocolate Doom and Crispy.
 Please refer to the Chocolate Doom documentation.

 

 New features:
 -------------
 * Widescreen support both zoomed view and real wide (bits from Russian Doom and Crispy).
 * UI centering for widescreen (mostly taken from Crispy).
 * Enable loading 16 bit RIFF wavs in .wads (SmileTheory).
 * Doom 1.0 and 1.1 emulation (SmileTheory).
 * Draw the player mugshot with max view.
 * Supports SIGIL (even multiplayer), E1M4b and E1M8b (Crispy).
 * Extended setup to support SIGIL and new features. Can warp to title.
 * There's a new 'Unholy massacre' skill level (-skill 6). :D Double monsters, lesser health pickups,
 zombiemen got a point blank attack, pistol with increased accuracy and damage, bumped minimum damage
 dealt for punch and you can eat gore when very low on health.
 * Replaced the Unholy Massacre title graphic. Thanks JNechaevsky!
 * Doom: remove SPECHIT limit (Crispy).

 * Doom: entirely remove INTERCEPTS limit (fixes all-ghosts bug).
 * Heretic: entirely remove INTERCEPTS and SPECHIT limits (Crispy).
 * Got rid of supersized PNGs (Crispy).
 * Fixed backpacks from Marshmallow (idea and bits of code):
 * Players now can exchange supplies (default backpack key is 'x', default stimpack key is 'c').
 * Players drop backpacks with their inventory upon death, you can't drop another one until the
 previous one has been picked up tough. They work even in SP.

 * Players can only pick up their own backpacks in coop.

 * Now you can pickup health and armor bonuses from dead players in the UM skill.
 * Single player respawn.
 * Keep keys and no DM items in Coop options (Marshmallow).
 * Spawn double the monsters and take double damage options.
 * Classic mode with only Doom 1 monsters for slaughterfest maps and lame players, regular shotgun
 takes precedence.
 * Slow ISA VGA simulation (Trident 9000i).
 * New command line parameters for the above: backpack, nodmweapons, keepkeys, sprespawn, 2xmonsters,
 xpain, nod2monsters, isa, halfammo, doubleammo.
 * Extended demo format while keeping vanilla compatibility, use the -extended parameter to force it.
 * Doom 1.2 demo support (SmileTheory).

 * Alternative fix for the demo desync accessing menus bug: disable some menus while recording demos
 instead of pausing the game at record and playback time.
 * Drag and Drop support (Crispy).
 * Resurrect cheat with IDDQD (Crispy, works differently here).
 * Support for extended nodes (Crispy).
 * Autorun key (Crispy).
 * The startup console is back and with colored title, works from the Windows command line
 (thanks JNechaevsky for hint on colors).
 * Fake splitscreen.
 * Added LCD gamma fix from Russian Doom using a darker palette by JNechaevsky.
 * New 'One thousand deaths await thee' skill level for Heretic. You take double damage, monsters
 got half hit points and half ammo for a more dynamic gameplay.
 * Removed limits for Heretic (Crispy).
 * Fixed boss level ending not triggered if every player is dead in multiplayer.
 * Fixed Doom II monster exclusion bug.
 * Fixed configuration not being saved for Heretic.
 * Support for Ogg, FLAC and MP3 music lumps (Crispy).
 * Don't load Boom maps by default, only with the -boom parameter.
 * Fixed crash with invalid blockmap (DWHEEL.WAD).
 * Many bugfixes from Crispy.
 
 Have fun!

 
 There's a windows build here: https://github.com/drfrag666/chocolate-doom/releases

 The source is here: https://github.com/drfrag666/chocolate-doom/commits/master

 

Old original post follows:

 Now i'll clarify that this is not your usual source port, it's some kind of re-engineered Crispy and it's about the magic of Git. I've done this in only a few days applying and refactoring Fabian's patches so this is mostly his work, it's like rewriting the history of Crispy. So yes this is Crispy's bastard son. Many times i followed commit history in reverse order since i wanted to minimize changes and preserve many vanilla bugs (also many Crispy features are not in) so i had to resolve a lot of serious conflicts. I'm pretty good at it so it should be fine but there are a few things i'm not completely sure.
 I didn't know what i needed to do to prevent the crashes so i had to do some research in Doomworld and Doomwiki.
 I had to apply the medusa fix or else there were crashes here and there but Medusa was not there, also i think i ever saw her only once and i've been playing since Doom came out.
 Also the SlopeDiv overflow fix or else massive redering errors on big maps. And fix other overflows of course.
 The wiggle (tall sectors) and wall wobble fixes are in as well to prevent crashes.
 Not fixed: HOMs, tutti-frutti, slime trails and most of the other game bugs.
 So in the end most of the merit is of fraggle and fabian and they must be credited for their great work here.
 Have fun! And i hope it won't crash. :)

Edited by drfrag

Share this post


Link to post

Cool port idea, I'll certainly try it out!

On a side note: why not fork from Chocolate Doom 3.0.0? It would speed things up thanks to OpenGL. (Just asking.)

Share this post


Link to post

I want to try Heretic and got this message:
 

Quote

You are trying to use a Heretic IWAD file with the doom binary. This isn't going to work. You probably want to use the heretic binary.


Can someone make a Heretic binary?

P.S. Also the display resolution can not be saved, or it's just something happened with settings.

Share this post


Link to post

 I've updated the release (somehow the server was old) and added the Heretic binary, it's unsupported but hey if it works it works.

 On the resolution thing there's no high resolution here, i never said that. Like in old Choco the game is rendered on a 320x200 framebuffer and then upscaled.

 

 Seems i'm always stuck with old versions, hoping this can run on older hardware. Sure if you use a low resolution the game runs somewhat slower.

Share this post


Link to post

 I've tested it on win98 and works but there are know problems. I've heard that chocolate crashed there so no idea if this one is stable. About requirements i dunno but i set the minimum ram to 8 MB.

 I updated the release yesterday to enable the console for Heretic but it's a very minor thing and Heretic is not supported.

Share this post


Link to post
6 hours ago, drfrag said:

 I've tested it on win98 and works but there are know problems. I've heard that chocolate crashed there so no idea if this one is stable. About requirements i dunno but i set the minimum ram to 8 MB.

Chocolate Doom 2.3.0 dropped support for Windows 98, so you would have to tweak the code so that it could work well.

Share this post


Link to post

 Yeah but i'm using tdm-gcc 5.1 (MinGW) and it runs on 98 the same as older versions. There are known problems: setup cannot launch the game.

 BTW Houston (fraggle) we've (i've) got a problem: after restoring the console launching the game from setup to test controls and then closing it causes an infinite loop executing doom. The only way of closing it successfully on win 8.1 is from the task bar when it doesn't have focus. No idea of what's going on.

Share this post


Link to post

 Ooops! I've found a serious problem, the long wall wobble fix introduced a lot of slime trails and i missed that one. No one reported it, it's fixed and savegames are compatible.

 Also i've added the new skill level to the menu in the last position for compatibility with demos, it was pretty easy. But don't even try to play SIGIL on Unholy Massacre.

 I forgot to mention i also added DM 3.0 from Crispy.

 About adding native SIGIL support i'm not sure as it would crash without it loaded and i'd need to add safeguards.

 I'll release a hotfix very soon!

Share this post


Link to post

 I've uploaded 2.4.0a with the slime trails fix among other things.

* - Load DEHACKED lumps by default, but allow overriding. (use -nodehlump)

   - Allow DEH long strings and cheats, allow errors.

   - Allow BEX extended strings.

* - Managed to update the other 8 bit icon. (this was a mess)

* - Added new Doom skill level to menu. (UM)

* Fix rendering glitches caused by segs that had their vertices moved (slime trails)

* Heretic: Fix P_FindNextHighestFloor's behavior

 

https://github.com/drfrag666/chocolate-doom/releases

Share this post


Link to post
6 hours ago, drfrag said:

 * - Added new Doom skill level to menu. (UM)

Thank you for the update, and letting me know about the issue with the previous release. I was wondering though, what exactly is this skill? This is also in LZDoom correct?

Share this post


Link to post

Sorry for the huge delay, i lost my internet connection for a few days and then i forgot about this. It's in LZDoom yes and it's a very simple thing actually, just the opposite to ITYTD: you take double damage and get half the ammo. I had to find an interesting name and that's what i came up with.

Share this post


Link to post

I've done a 2.5.0 pre-release and it's a major overhaul. There are some new cool gameplay features and many fixes. Read first post (i've copied the RUDE.TXT readme).

SIGIL is supported (from Crispy) but you need to load it manually. You can run the port from the command line or from setup to select the iwad or use drag and drop.

The setup tool is named config to prevent modern windows from requiring admin privileges since this is a MinGW build, i've fixed compilation with VS 2017 tough.

In theory it should still run with win98 but it's been a long time since last time i tried.

I haven't done much testing but seems everything is working. Before starting recording new exciting demos consider this is is a pre-release. I haven't tried connecting to the Chocolate Doom master server, no idea if it still works.

Thanks to the other source port authors, specially fraggle and fabian for their great work.

Edit: the default video driver is GDI, DirectX is smoother but doesn't always work.

 

https://github.com/drfrag666/chocolate-doom/releases/download/2.5.0/RUDE-2.5.0-win32.zip

Edited by drfrag

Share this post


Link to post

 I've reuploaded the pre-release. I've extended the backpack system to support incremental drops, that means now you can share plasma and you don't need rockets to drop a backpack. I've updated the documentation with more changes i forgot to mention.

 Now there are 7 extra backpacks. Marshmallow had only one, that could never work. Also he used chat events for multiplayer and not button events i wonder why. 

 Apparently there's no interest in the port tough.

Share this post


Link to post

Oops, i really should have made more testing.
UM was not meant to be that hard, i missed something and monsters were more aggresive so it was unplayable. I've also fixed the stuck monsters with double spawn, i didn't take into account previously double spawned monsters. Ouch!
I've reuploaded the build. I still wonder about the master server thing.

https://github.com/drfrag666/chocolate-doom/releases/download/2.5.0/RUDE-2.5.0-win32.zip

Share this post


Link to post

Sounds like fun, I still have to play Sigil, so maybe I will debut it using your port.

And thanks for LZdoom, my card doesn't have opengl3+ and without your work I would be left behind not being able to play some mods, really appreciate it.

Share this post


Link to post

 Thanks, that would give you a full retro experience. But i warn you, i found SIGIL very hard (i played on HNTR with RUDE) so don't even try to play it on UM.

Share this post


Link to post
On 11/26/2019 at 12:45 PM, drfrag said:

Thanks, that would give you a full retro experience. But i warn you, i found SIGIL very hard (i played on HNTR with RUDE) so don't even try to play it on UM.

oh thanks, sorry for the delay I'm not having mail notifications for some reason... Yeah, these days when a map is giving me a hard time I just enable God mode and move on, I'm not taking it so seriously anymore :) These days I find more joy exploring the levels themselves and appreciating the architecture, the sights, seeing what they bring of unique to the table, etc

Share this post


Link to post

Alright, so I have started making my own contribution for Doom v1.1/Shareware 0.99 support, by starting to make demos.

 

My idea is to simply have @SmileTheory or someone else play them back under the original DOS executable/DOSBox and see if everything is fine. I would have done this myself but DOSBox is infuriatingly obtuse sometimes and a plain pain in the ass to get up and running adequately (as adequately as it can be, that is... ). Also I don't have a 1.1 executable...

 

So what I did for a first phase: I made a full run of Knee Deep in the Dead. I intend on making full, recorded runs of each episode, and then hopefully have them played back using the original executable, as mentioned above. This one is a one-hour or so long demo, so it takes a while to investigate. I've also been fairly clumsy due to not using -longtics because I don't know if it won't actually cause a desync under the original executable, and I don't know if RUDE has that parameter either. And experienced some rather interesting quirks too.

 

Speaking of parameters, here's what I used: -iwad doom.wad -gameversion 1.1 -warp 1 1 -skill 4 -record kndeep

 

kndeep.zip

Share this post


Link to post

I was thinking about playing old existing demos. RUDE supports vanilla, longtics and extended demos (these are always longtics and this format is enabled when using the new parameters). The shortics parm also works.

I don't think recording those long demos is a good idea. Besides if you don't use the 1.1 iwad they won't work for sure. You don't need to specify gameversion.

 If old demos play new ones should in DOS too but does it really matter?

Share this post


Link to post

Considering what the engine's acronym stands for, I'm disappointed that you don't have the "Best Doom Yet" quote from the PSX Doom box as the program icon.

Share this post


Link to post
11 hours ago, seed said:

 

So I can't get this demo to sync with...anything, really. I tried 1.1 shareware and registered iwads and 1.9 ultimate iwad, and the original 1.1 exe and RUDE.

 

So here's a demo I made myself that syncs in the original 1.1 exe w/ 1.1 shareware iwad, and RUDE 2.5.0a with same iwad.  Running it on the original 1.1 exe it also demonstrates another problem; it's technically a run through e1m1-e1m3, but the original exe doesn't support multi-level demos, so it quits after e1m1 is finished.

e1m1.zip

Share this post


Link to post
11 hours ago, drfrag said:

Besides if you don't use the 1.1 iwad they won't work for sure

 

I was using a 1.1 IWAD, obviously ;) .

 

46 minutes ago, SmileTheory said:

So I can't get this demo to sync with...anything, really. I tried 1.1 shareware and registered iwads and 1.9 ultimate iwad, and the original 1.1 exe and RUDE.

 

Well that's a huge problem. It didn't sync with anything, not even v1.1 which is the IWAD I used here?

 

I wonder why it doesn't work with anything honestly, that's never happened to me before. Did I get some parameters wrong? But thanks for the heads up though, if I go back to making demos for testing purposes I'll keep in mind to stop after each map and start another.

Share this post


Link to post
7 hours ago, drfrag said:

Sorry i didn't told you to record an hour demo. I thought all hardcore doomers knew about the demo menu access bug, i didn't fix that. Will do now. In Choco it's the same.

https://doomwiki.org/wiki/Demo_desyncing_caused_by_menu_access

 

I know, I'm not blaming anyone here (that felt a bit hostile).

 

But that's a new one, I wasn't aware of it at all. Fuck. It basically desynced on E1M1 in this case as that's where I opened the menu to change the volume. I won't give up though, so I'll probably redo the whole process again, with one demo per map.

 

As an aside, is the Windows GDI render supposed to be so slow? It's much slower than the Direct3D.

Share this post


Link to post

It was not hostile. I'm on my phone and must measure my words. I'm sorry you"ve bitten in the ass by that stupid bug.

 I didn't know SDL1 was that shitty i will make the switch if i get support for a new internet connection. And continue with LZDoom of course.

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
×