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

Chocolate Doom

Recommended Posts

myk said:

Will Chocolate have PC speaker sound support? Is that possible to code? This thread shows an instance where it would make a difference.

PC speaker support is difficult because nobody has ever figured out the exact format of the PC speaker sound effects (difficult to get all the frequencies right, etc). I think Quasar had some limited success in playing the sounds. The best approach I can think of is to run Vanilla Doom inside a version of DOSBox modified to display the frequency values. Obviously, it would be a fair bit of work to get this working properly.

EarthQuake said:

Sorry to bring this up again, but I had high hopes for this source port. Is there any interest in finding a solution to the problem I brought up?

I did manage to find out a few more things about the issue at hand though:

1. The left shift key is unaffected by this bug; I can retain my speed with the left shift key.

2. The problem isn't specific to any one keyboard. I've tried three of them with all returning the same results.

I'm a bit unclear about your bug, and I'd like to get it fixed if possible. As I understand it, your problem is that if you hold down shift to run, pressing any other key stops you running. Is this correct? So, for example, if you were holding down shift and running around a level, pressing space to open a door while continuing to hold shift will result in you stopping running?

What version of Windows are you using? Also, does the same thing happen in any other ports (PrBoom or Eternity particularly).

Share this post


Link to post
myk said:

Will Chocolate have PC speaker sound support?

Don't bother. Yesterday I started DOOM on a DOS machine and it defaults to the PC speaker sounds, and man, it sounds so BAD. When I first played DOOM II, it was with PC speaker sounds, but I definitely couldn't stand it now.

BTW, I once figured out the frequency formula, I can dig it up if you really want to emulate that stuff.

EDIT: dug it up....

FWIW, I figured it out by trial and error.
Each byte in the DP lump lasts 1/140 second.
Zero byte is silence, otherwise frequency is approximately 2 ^ (7.463 + value * 0.0408) Hz.

Share this post


Link to post
funduke said:

I don't know, if this is helpful, please have a look at it:
http://www.gamers.org/dEngine/rsc/pcgpe-1.0/speaker.txt

Greetings
Funduke

That's just how to write code to control the PC speaker. I actually have quite a bit of experience doing that already (see my PC speaker code for DJGPP). The problem is that we don't know the exact format of Doom's PC speaker sound effect files.

Ajapted, I gave your formula a try (wrote a quick program using Windows's "Beep" system call) and it seems to work quite well. My program has some bugs so it's difficult for me to tell exactly how well it works.

Share this post


Link to post
fraggle said:

I'm a bit unclear about your bug, and I'd like to get it fixed if possible. As I understand it, your problem is that if you hold down shift to run, pressing any other key stops you running. Is this correct? So, for example, if you were holding down shift and running around a level, pressing space to open a door while continuing to hold shift will result in you stopping running?

What version of Windows are you using? Also, does the same thing happen in any other ports (PrBoom or Eternity particularly).


Okay, I narrowed the problem down even more, but it's a bit hard for me to explain, so bear with me...

It seems to have something to do with the arrow keys. Pressing other keys while I'm running, does not seem to stop the running process, so to respond the example you gave me, no that does not stop me from running.
However, if I am holding down the up arrow key (walking forward) and I press the shift key, I will begin to run, but pressing another arrow key (to turn for example) will result in me slowing down.
The peculiar thing is that if I am slowed in this manner, and I press, say, the spacebar, I will resume running.

Also, to answer your other questions: no, the problem doesn't occur in PrBoom (and I don't have Eternity to test it with that), and I am running Windows XP Professional with SP2.

If you can think of any other things I could try that will help you debug this, please let me know. I really want to be able to use this port.

Share this post


Link to post

How's MultiPlayer going? I saw some notes about it somewhere on the wiki.

Sound related: Could it be that there is a small glitch that adds an unwanted Chaingun sound once in a while after that weapon is firing a while?

Minimizing: When minimizing Chocolate Doom just keeps playing down there; Doom on the other hand stops, which is a way to pause a demo mid-way in case one is interrupted. I also noted that if Chocolate Doom is windowed and you click the upper left icon on the title bar, the menu opens and Chocolate Doom stops, except for the music (at least with TiMidity.) Shouldn't minimizing also stop the game?

Share this post


Link to post
EarthQuake said:

Also, to answer your other questions: no, the problem doesn't occur in PrBoom (and I don't have Eternity to test it with that), and I am running Windows XP Professional with SP2.


You can get eternity at http://www.doomworld.com/eternity - testing with eternity may actually prove useful as there may be some fundamental change that occured in eternity to resolve such an issue.

Share this post


Link to post
myk said:

How's MultiPlayer going? I saw some notes about it somewhere on the wiki.

I checked in the first bits of code for the new multiplayer system but there isn't much yet.

Sound related: Could it be that there is a small glitch that adds an unwanted Chaingun sound once in a while after that weapon is firing a while?

I haven't noticed anything. What happens exactly?

Minimizing: When minimizing Chocolate Doom just keeps playing down there; Doom on the other hand stops, which is a way to pause a demo mid-way in case one is interrupted. I also noted that if Chocolate Doom is windowed and you click the upper left icon on the title bar, the menu opens and Chocolate Doom stops, except for the music (at least with TiMidity.) Shouldn't minimizing also stop the game?

At the moment, the game keeps running. Possibly it would be more sensible to pause when minimised.

Share this post


Link to post

fraggle said:
That's just how to write code to control the PC speaker. I actually have quite a bit of experience doing that already (see my PC speaker code for DJGPP). The problem is that we don't know the exact format of Doom's PC speaker sound effect files.

Someone made a speaker sound Doom for Linux once. Doesn't seem very elaborate, though.

I checked in the first bits of code for the new multiplayer system but there isn't much yet.

Looking forward to it; there'll be people to test it over here!

I haven't noticed anything. What happens exactly?

Just wondering if you or anyone else heard such sounds (its seems to occasionally sputter a misplaced shot sound when the weapon is fired continually); now that I tested it more it seems to happen when there's a lot of activity, in Hell Revealed II and stuff like that. Maybe since it's trying to play many sounds the card (and old Sound Blaster Value) gets glitchy (overtaxed.)

Huh, talking about sound code, this may be a more relevant report; go to E2M8 or E3M8... don't the monster sounds all come from the Player's position?

Another thing, how come -record doesn't do anything? It's ignored, so it's impossible to record demos.

One thing that would probably be a good change is more "intelligent" support for the DOOWADDIR environment setting; for DOOM I don't have to type anything, whereas for DOOM II I have to type the full path (I'm currently adding -iwad ..\..\doom2.wad, for example.) By more intelligent I mean you just type the wad name; -iwad doom2.wad would look for it in "DOOMWADDIR." Or maybe (also) add a shorter set of command line parameters that simply select the game, either in the current directory or in DOOMWADDIR; -doom, -doom1, -doom2, -plutonia and -tnt. Otherwise one could use also -iwad (for people who are used to it from using Boom and such, or in case one needs to specify a custom directory or IWAD.)

Share this post


Link to post
myk said:

Huh, talking about sound code, this may be a more relevant report; go to E2M8 or E3M8... don't the monster sounds all come from the Player's position?

Not quite. What you are describing is Doom's normal behaviour.

Normally there is a cut off on sound effects. They get quieter and quieter with distance, then after 1200 units you cant hear anything. However, this does not apply on level 8: sounds are never cut off. Note that by "level 8" I mean Doom E*M8 and MAP08 of Doom 2/Final Doom as well.

You can test it out by loading up E1M8, waking up all the demons and then clipping through the wall to the far end of the star shaped arena. You can still hear the demons growling from miles away.

Another thing, how come -record doesn't do anything? It's ignored, so it's impossible to record demos.

It works for me under Linux at least. I'll try the Windows version to make sure that works as well.

Share this post


Link to post
fraggle said:

However, this does not apply on level 8: sounds are never cut off. Note that by "level 8" I mean Doom E*M8 and MAP08 of Doom 2/Final Doom as well.

Christ, will I ever stop learning about new crazy quirks of the Doom engine?

Share this post


Link to post
fraggle said:

You can test it out by loading up E1M8, waking up all the demons and then clipping through the wall to the far end of the star shaped arena. You can still hear the demons growling from miles away.


I wonder why that is. Why on map08 of Doom2? Was it left in by mistake? Never noticed this one.

Share this post


Link to post
myk said:

Another thing, how come -record doesn't do anything? It's ignored, so it's impossible to record demos.

I've tested in Windows, and it works for me. "chocolate-doom -record testing" records a demo named "testing.lmp", just like Vanilla Doom.

Share this post


Link to post
Use3D said:

I wonder why that is. Why on map08 of Doom2? Was it left in by mistake? Never noticed this one.

I wrote it up on the Doom Wiki:

http://doom.wikicities.com/wiki/No_limit_on_the_distance_sounds_can_be_heard_on_level_8

It's actually more complicated than I realised. As well as the cutoff being removed, sound effects in general seem to behave differently and a different calculation is used to determine volume. The effect of distance actually seems to be reversed: far away sounds play louder for example, although the effect depends on your sfx volume setting.

Share this post


Link to post

fraggle said:
Not quite. What you are describing is Doom's normal behaviour.

Normally there is a cut off on sound effects. They get quieter and quieter with distance, then after 1200 units you cant hear anything. However, this does not apply on level 8: sounds are never cut off. Note that by "level 8" I mean Doom E*M8 and MAP08 of Doom 2/Final Doom as well.

You can test it out by loading up E1M8, waking up all the demons and then clipping through the wall to the far end of the star shaped arena.

In Doom this code is likely either modified or augumented somehow by something that didn't make it to the released source, or was disabled and replaced by the boss awaken/die sounds that are heard from anywhere, just like switches.

Sounds get fainter as you move away from monsters in Doom E1M8, E2M8 and E3M8, but they are always equally loud, as if you had the monsters stuck to your ear in the same maps using Chocolate Doom.

If Doom's sound behaves differently in those maps, then it does so in a different way than Chocolate Doom. I did what you proposed in E1M8, and there's an evident difference in the Demons' sound while inside and outside (outside is softer), while in Chocolate Doom its like you have the Demons in your head. It's insane!

Go to E3M8 in Chocolate Doom and awaken the monsters; when they attack it sounds like the marine is shooting the fireballs and stuff.

fraggle said:
I've tested in Windows, and it works for me. "chocolate-doom -record testing" records a demo named "testing.lmp", just like Vanilla Doom.

Oops, sorry, I don't know what the hell I was doing last time, but it's working now. Probably messed up the command line... and I kept looking at it for errors too, heh.

Share this post


Link to post
myk said:

In Doom this code is likely either modified or augumented somehow by something that didn't make it to the released source, or was disabled and replaced by the boss awaken/die sounds that are heard from anywhere, just like switches.

Sounds get fainter as you move away from monsters in Doom E1M8, E2M8 and E3M8, but they are always equally loud, as if you had the monsters stuck to your ear in the same maps using Chocolate Doom.

If Doom's sound behaves differently in those maps, then it does so in a different way than Chocolate Doom. I did what you proposed in E1M8, and there's an evident difference in the Demons' sound while inside and outside (outside is softer), while in Chocolate Doom its like you have the Demons in your head. It's insane!

Go to E3M8 in Chocolate Doom and awaken the monsters; when they attack it sounds like the marine is shooting the fireballs and stuff.

The effect is dependent on your sound volume setting. I've tried it on both Vanilla and Chocolate and it seems the same to me. I've been adding to my writeup, you might want to try the "demonstrating the effect" explanation for yourself.

Share this post


Link to post

fraggle said:
The effect is dependent on your sound volume setting. I've tried it on both Vanilla and Chocolate and it seems the same to me. I've been adding to my writeup, you might want to try the "demonstrating the effect" explanation for yourself.

Yes, I went to E4M8, reduced the sound volume to 0, and let the Imps attack me; I couldn't hear them scratching me but faintly heard them croaking or shooting fireballs. That works the same way in both engines. The difference is that, with a normal sound volume, let's say 9, in Doom if you enable noclipping and walk away you can hear the Imps croaking faintly, and hear them louder only if you're next to them. In Chocolate Doom it doesn't matter how far away you are, at that sound volume you always hear the Imps as if they were croaking right on top of you.

Share this post


Link to post

It appears that Doom95 and Chocolate Doom sound the same; while Doom has something that gives it distance related sound diminishing in those levels.

What system and sound card do you use to test Doom? Couldn't this be DOS/sound blaster related code that is not present in the Windows version or supported by some configurations?

To make sure it wasn't some (additional) SB feature I had enable I ran Doom on a DOS screen without -phase, but that didn't really make a difference.

Pity I don't have another computer here that supports Doom but uses some other card.

More people should test this, particularly people using ISA Sound Blasters like I use (a card Doom was made for.)

After more testing in E4M8, especially noclipping into the Spiderdemon's room it's pretty clear there's differences; in Doom95 they might have tweaked something but I'm not sure, it's not so unlike Chocolate Doom as Doom is, which is the only one where you can obviously make out that roaming sounds diminish with distance.

I'll see if I can get a friend to test it, when we connect to play.

Share this post


Link to post

I can confirm this. At a sound volume of 11, using an ISA Sound Blaster compatible Opti929 card, in MAP08 of Doom 2 the Cyber's hoof sound diminished with distance but was always there. In MAP10 it diminished and then was cut-off.

Share this post


Link to post

fraggle asked a while ago:
Do you have a list of demos which PrBoom does not play back properly? This would be most helpful. Thanks.

And I replied a bit lazily:
There aren't too many that I can think of - they've done a pretty good job of squishing the main problems. The biggest class of demos that don't work are ones for things like Hacx, where bugs in the dehacked support let Prboom down, and ones where there are map issues, such as (presumably) on hr18. IIRC there was also a full-game coop involving Vince that screwed up on map30. Give me a while and I'll provide a list of a few specific ones.

Andrey Budko seems to be in the process of squishing the dehacked issues, and it turns out that the problem with Vince's coop movie was fixed in the official Prboom 2.2.5 (Vince, if you read this: the total time was apparently 35:13).

That only leaves the following ones that I'm aware of that were recorded with Doom2.exe and don't play back with the very latest Prboom-plus:

At compet-n: hr18-348, hr18-851, hr182206, hr182425, hr184144, hf184238
i.e. six demos all on the same map. Not every demo on this map desyncs though - all the other compet-n demos on this map that I tested played back OK.

At DSDA: h2322437. This is on the HR2 beta.

There might be others, but I can't think of them right now. Obviously there will be hopeless cases, such as those where a map has a very bad reject, but they won't support demo playback with Doom2.exe either, and so aren't worth mentioning in this context.

Share this post


Link to post

Here you can find a demo that was recorded with doom2.exe, plays back with it but desyncs with PrBoom or Eternity. However, I don't know about current versions of PrBoom-Plus or Chocolate Doom. I'm unable to test it here at work now.

Just in case, this demo was recorded in a map intended to be played with Zdoom.

Share this post


Link to post
Donce said:

Here you can find a demo that was recorded with doom2.exe, plays back with it but desyncs with PrBoom or Eternity.

I'll try to fix desync on UM3NM152.LMP in PRBoom

Share this post


Link to post

I'm not sure this is the right place (if you prefer bug reports on SF, let me know). The I_Endoom function should handle the SDL_QUIT event.

Share this post


Link to post

Grazza said:
At compet-n: hr18-348, hr18-851, hr182206, hr182425, hr184144, hf184238
i.e. six demos all on the same map. Not every demo on this map desyncs though - all the other compet-n demos on this map that I tested played back OK.

At DSDA: h2322437. This is on the HR2 beta.

In addition there are -complevel 0 demos that will desynch playing them back with Doom2, particularly on HR2 Map31: hr2-lv31 in the HR2 demopack, h2311650, and h2311552. Someone should probably need to record on that map using Doom2, to see what happens to the demo (if it will play back using Doom2 itself, using PrBoom, with neither, or with both.)

Share this post


Link to post

I had another search for desynching stuff.

myk said:

In addition there are -complevel 0 demos that will desynch playing them back with Doom2

Another one of those: XM22_621. This desyncs early on with Doom2.exe, and Chocolate-Doom crashes soon after the demo starts. Prboom reports a whole load of map errors, which can hardly be coincidental.

Conversely, Teeth-32 (on Teeth) is a demo that plays back OK with Doom2.exe and Chocolate-Doom, but desyncs with Prboom. It also desyncs with Eternity, but the player still exits, oddly enough.

Share this post


Link to post

I just remembered something (actually quite useful) which can be found in Doom 1.9 but not in Chocolate Doom: skill level 0 support.

Share this post


Link to post

I wonder how or why -skill 0 was dropped off the released source...

Watching some 2sectors demos I just noticed something curious; Chocolate Doom displays multi-patch textures on double-sided linedefs like Doom does (in the form of colorful bands), but it's not slowed down by the medusa effect. How come?

Share this post


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