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

Chocolate Doom

Recommended Posts

entryway said:

Monsters don't drop ammo in Chex Quest and it is only one real thing (except the deh) you did for correct playback of the demos, right? Plus you should start it with udoom compatibility.

For demo compatibility, yes, that is the only change that needs to be made. Interestingly, chex.exe is actually based on Final Doom, not Ultimate Doom (it includes the Final Doom level name strings), although it doesn't include the Final Doom teleport quirk.

I have made some other (not demo compatibility-related) tweaks to Chocolate Doom that make it behave more like chex.exe when running in Chex mode. These are:

  • Skipping the episode select screen
  • Always warping to E1 maps when using the equivalent of IDCLEV
  • Always displaying the E1 level title in the automap - the E1M2 title is shown when on E2M2, for example.
  • Showing the Finale screen after the fifth level.


Where can I find Chex demos? I have found only one here and it plays correctly in prboom+ after change of one line in the sources


The demos from ChexDEMO.zip, plus the ones included in chex.wad, are the only ones I've tried so far. So if anyone has any other demos, I'd like to try them.

funduke said:

Hello!
Having Chex Quest support is really great.
Thank you for that!

.... Relating to the *recent build*: Are there anywhere any newer binarys of chocolate doom avaiable, than r1110 from 2008-04-04?

I'm going to try to build a newer Windows binary later tonight for people to try. Sorry about the delay.


Edit: Out of technical interest:
How has this chex.deh been created?

Greetings
Funduke

I wrote some scripts to dump the state and mobjinfo tables from doom2.exe and chex.exe, and then used the standard Unix 'diff' tool to compare them.

Share this post


Link to post

If I understand correctly, chocolate-doom with chex.wad and chex1.lmp from here tries to get access to unexisting splat[1] in WI_drawOnLnode() after e1m4 and does not crash only by good fortune

This is a diff for prboom+: http://pastebin.com/m469d6785

btw, prboom-plus also has (already) demo compatibility with chex (-exe chex switch)

Share this post


Link to post

Awesome! I've been hoping for something like this for a long time.

I haven't played it thoroughly yet, (I'll do that soon,) but I did see that the Flembrane (Baron replacement) on E1M5 can move around. In the original, he was always rooted in the same place.


I wonder if it's possible to make it so you can play the intro and exit movies as well...

Share this post


Link to post
xbolt said:

Awesome! I've been hoping for something like this for a long time.

I haven't played it thoroughly yet, (I'll do that soon,) but I did see that the Flembrane (Baron replacement) on E1M5 can move around. In the original, he was always rooted in the same place.

Yep, I just came to say that I fixed this. I missed one of the changes in chex.deh; this has now been updated.

Share this post


Link to post

Ok, that's better.

I just tried doing an entire playthrough, but it crashed on me when I went from level 4 to level 5, right after the intermission screen. But using the LEESNYDER cheat, I can get to it just fine. (Which is how I got there last time.)


By the way, why do you have to have a separate chex.deh anyway? Can't it just be built straight into the engine? (Or are you just waiting until you've got the deh perfect before you put it in the engine?)

Share this post


Link to post
xbolt said:

I just tried doing an entire playthrough, but it crashed on me when I went from level 4 to level 5, right after the intermission screen.

entryway said:

If I understand correctly, chocolate-doom with chex.wad and chex1.lmp from here tries to get access to unexisting splat[1] in WI_drawOnLnode() after e1m4 and does not crash only by good fortune

Share this post


Link to post
entryway said:

*Quotes*

Yeah, I saw that right after I posted. Heh.

So, it does not crash for you then? Huh, must be something to do with our hardware configurations or something.

Share this post


Link to post
xbolt said:

By the way, why do you have to have a separate chex.deh anyway? Can't it just be built straight into the engine? (Or are you just waiting until you've got the deh perfect before you put it in the engine?)

Atariangamer already asked me this, and these are the reasons I gave him:

  • There are potential copyright/trademark issues with putting the Chex strings into Chocolate Doom - Chex Quest was never open sourced.
  • Some things would be quite difficult to do in C, like string replacements. There's already code in Chocolate Doom for doing string replacements as part of the dehacked code.
  • Hard-coding things is "ugly". Using a generic mechanism with a dehacked patch is a lot nicer.
  • Using a dehacked patch allows it to be used with other source ports.

entryway said:

If I understand correctly, chocolate-doom with chex.wad and chex1.lmp from here tries to get access to unexisting splat[1] in WI_drawOnLnode() after e1m4 and does not crash only by good fortune

This is a diff for prboom+: http://pastebin.com/m469d6785

btw, prboom-plus also has (already) demo compatibility with chex (-exe chex switch)

Sorry, I misread this post the first time round and thought it was just a Prboom+ issue.

I don't get this crash under Linux so it must only be occurring under Windows. I'll apply your patch and put up an updated exe :-)

Share this post


Link to post

chocolate-chex.zip updated. This version fixes the intermission screen bug that entryway found and also autoloads the dehacked patch on startup; you just need to put chex.wad, chocolate-doom.exe and chex.deh into a directory together and double click chocolate-doom.exe.

Share this post


Link to post

Oh, so that's why. Makes sense.


I've run through it, and everything appears in order. (I think)

However, I just tried playing Chex Quest 2 with it, but it always crashes whenever I open either of the red doors at the end of level 1. I remember that it did this sometimes in the original Chex2 as well, but I don't know that anyone has ever figured out the exact cause for it...

Share this post


Link to post
fraggle said:

Windows build is here.

Thank you! :)

Edit:

fraggle said:

I wrote some scripts to dump the state and mobjinfo tables from doom2.exe and chex.exe, and then used the standard Unix 'diff' tool to compare them.

Interesting. Thanks!

Greetings
Funduke

Share this post


Link to post
entryway said:

Works fine for me after removing front middle from linedefs 373, 359, 371


That's really weird. I just did the same, and poof! No more crashes. Why do those textures make the game choke, I wonder... And how did you figure out that those were the troublemakers?

Share this post


Link to post

EE had that same problem with the splat "array" - this is an old hack in the vanilla code. I had to fix it because of Chex Quest, in fact, although any wad that modifies the intermission graphics could trigger this.

Share this post


Link to post

This thread is kind of long so I'll just ask here at the bottom.

Are there any plans to emulate sound blaster midi music? Thats what I had always used back in the day, and frankly, it's the only reason I have doom2.exe setup with dosbox(I'm a bitch for nostalgia). I've been playing both vanilla and chocolate doom lately, and other than the music, it seems to be identical.
(though the flexibility in setting up your controls is really nice.)

Also, I just checked out the april fools edition of chocolate doom (where everything is mirrored) and I have to say, thats actually kind of cool. Is it possible to have that as an option in the chocolate-setup, or should I just hang on to this one you whipped up?

Share this post


Link to post

From the TODO file

Crazy pie in the sky ideas:

* OPL emulation
The idea's out there, and the source distribution affirms it, but it's under the section of stuff that are pretty big tasks and shouldn't be expected to be done soon (if you know C, you can always contribute!).

FWIW, I've personally found that timidity+freepats sounds fairly good enough, and an even better approximation to the original than DOSBox provides :/

Share this post


Link to post
MikeRS said:

From the TODO file

Crazy pie in the sky ideas:

* OPL emulation
The idea's out there, and the source distribution affirms it, but it's under the section of stuff that are pretty big tasks and shouldn't be expected to be done soon (if you know C, you can always contribute!).

FWIW, I've personally found that timidity+freepats sounds fairly good enough, and an even better approximation to the original than DOSBox provides :/

Personally, having compared real OPL (I got an old Dos PC here) and dosbox, I'd say they're pretty close.

Anyhow, I'm glad that it's on a todo list, even if it's probably a ways out.

Sadly I have no programming skills.. I wouldn't mind trying my hand at it, but I have no idea where to start.

Share this post


Link to post

Oh god.

I haven't heard REAL opl like that in years...

The sawtooth instrument is x10 better in true opl too.

Share this post


Link to post
leileilol said:

The two are noticeably different, but to be honest, it seems like a pretty good approximation. Do you have recordings of anything more familiar like the Doom E1M1 or Doom II MAP01 music, for example?

Share this post


Link to post

It's close enough that I would have no qualms with it being that way on chocolate-doom.

Emulation is hardly ever perfect anyway.

Share this post


Link to post
MikeRS said:

FWIW, I've personally found that timidity+freepats sounds fairly good enough, and an even better approximation to the original than DOSBox provides :/

QFT

timidity+freepats sounds great. It's not "accurate" to what OPL sounded like, but its an extremely good rendition of the Doom music. It is good enough indeed.

Share this post


Link to post

I'm interested to hear Timidity with freepats, all I ever heard of with timidity was on linux, and I probably didn't have it setup properly, because it sounded terrible.

How would I go about using it on windows?

Share this post


Link to post

I never really figured out how to install eawpats.... but I haven't really bothered easy. Mostly from being a lazy ass and installing the timidity package already installs freepats.

EDIT: Okay I took the two minutes to figure out installing it. It sounds better, but I don't think the freepats->eawpats move is quite as drastic as DOSBox->freepats.

Mike.Reiner: I have no idea how to use timidity on Windows. I don't use that operating system.

Share this post


Link to post

Mike.Reiner said:
How would I go about using it on windows?

Put the patches in a folder, copy the timidity.cfg file and paste a copy along with TiMidity (this could be TiMidity++, a SDL-using source port, the TiMidity Randy Heit hacked for ZDoom, or DOSBox). Edit the dir entry in the CFG to point to the patches folder, and uncomment any additional CFGs used (such as for the drums and sfx patches; these CFGs go in the patches dir... I think they're there already in the package exp(x) linked).

Share this post


Link to post
fraggle said:

Do you have recordings of anything more familiar like the Doom E1M1

yes

no db07x recording of that though, you'll have to compare it yourself

pardon the noise while I only have a SB Live to work with from recording directly from another sound card. It has signal noise.

Share this post


Link to post
Guest
This topic is now closed to further replies.
×