Where is the source for compiling? I only saw a link to the Windows binaries.

Share this post


Link to post
exp(x) said:

Where is the source for compiling? I only saw a link to the Windows binaries.

The latest sourcecode is always available from the Subversion repository, but there is also a .tar archive of the latest alpha available here.

Share this post


Link to post
fraggle said:

I've released a new multiplayer alpha. This also fixes the above demo bug.

  • Dedicated server mode (start with chocolate-doom -dedicated or run chocolate-server.exe)
  • Fix crash when playing 1427uv01.lmp
  • Don't blink the menu skull's eyes too fast.
  • Now runs on MacOS X and AMD64 Linux!
  • Fix bug with sounds on MAP08.

Seems to be down or something... (EDIT: I mean to soulsphere.org)

Share this post


Link to post
RazTK said:

Seems to be down or something... (EDIT: I mean to soulsphere.org)

My website is currently down. Try this link instead.

Share this post


Link to post
fraggle said:

My website is currently down. Try this link instead.

Thank you very much.

Share this post


Link to post

Chocolate Doom does not getting closed when I'm trying to close it after running it with the '-dedicated' command-line option. Same problem with the Chocolate-Server.exe file, I can see them both still running.
EDIT: I'm not sure if this is a problem, but the dedicated server does not output any messages, should it act this way?

Share this post


Link to post
RazTK said:

Chocolate Doom does not getting closed when I'm trying to close it after running it with the '-dedicated' command-line option. Same problem with the Chocolate-Server.exe file, I can see them both still running.

Do you mean you're pressing the "close" button on the terminal window? Have you tried ctrl-c?

EDIT: I'm not sure if this is a problem, but the dedicated server does not output any messages, should it act this way?

No. SDL outputs to a file by default. I need to fix that :-)

Thanks for the reports.

Share this post


Link to post
fraggle said:

Do you mean you're pressing the "close" button on the terminal window? Have you tried ctrl-c?

Yes, I'm pressing the 'close' button on the window. I first noticed that when I was closing a server, and when I tried to start another one, I got an original program crash report from Windows.

Error Report from STDERR.TXT after starting 'chocolate-doom.exe -dedicated', closing and starting again:

"Error: NET_SDL_InitServer: Unable to bind to port 2342
SV: Shutting down server...
Error: Aborting due to signal 11

SV: Shutting down server..."

Error Report from STDERR.TXT after starting the stand-alone chocolate-server.exe executable file:

"Error: NET_SDL_InitServer: Unable to bind to port 2342"

It is important to mention that chocolate-server.exe doesn't give any crash report from Windows. It seems that the stand-alone file is working the way it was supposed to be.

EDIT: CTRL-C has not effect.

Share this post


Link to post
RazTK said:

"Error: NET_SDL_InitServer: Unable to bind to port 2342

Do you have two servers running at once? You can't run two servers at the same time on the same port. What happens if you specify a different port, eg;

chocolate-server -port 12345
Does ctrl-c work then?

Share this post


Link to post
fraggle said:

Do you have two servers running at once? You can't run two servers at the same time on the same port. What happens if you specify a different port, eg;

chocolate-server -port 12345
Does ctrl-c work then?

I know I can't run two servers at the same port. The problem is that I can't close them too.
And as I said before, CTRL-C has no effect, I'm just closing it from the Task Manager.

Share this post


Link to post

fraggle said:
Try this link instead.

We tried alpha 5 a bit, and stuff seemed fine for now, except one detail; it keeps writing fullscreen 2 and screenmultiply 2 to chocolate-doom.cfg, making the screen load on full screen mode at 320x200 but without the required vertical stretching (thus leaving black spaces above and below.) Alpha 3 doesn't do this (I don't think I tried 4.) My DM opponent didn't have this issue and the cfg values are normal (1 each.) He used the same EXE and DLLs, the only obvious differences I can think of are the OS (Win98 for me, Win XP for him) and the video card (mine's a 32MB SiS, his a 128MB Geforce 4 MX 4000.)

Share this post


Link to post
myk said:

We tried alpha 5 a bit, and stuff seemed fine for now, except one detail; it keeps writing fullscreen 2 and screenmultiply 2 to chocolate-doom.cfg, making the screen load on full screen mode at 320x200 but without the required vertical stretching (thus leaving black spaces above and below.) Alpha 3 doesn't do this (I don't think I tried 4.) My DM opponent didn't have this issue and the cfg values are normal (1 each.) He used the same EXE and DLLs, the only obvious differences I can think of are the OS (Win98 for me, Win XP for him) and the video card (mine's a 32MB SiS, his a 128MB Geforce 4 MX 4000.)

It will be related to your video card. Some modern video cards have real problems with 320x200 mode (Macs in particular: look at athanatos's posts earlier in this thread). To work around this, I've added support for screenmultiply=2 in fullscreen and fullscreen=2 ("letterbox mode" with black borders). These let you run in 320x240 (1/2), 640x400 (2/1) and 640x480 (2/2).

I want Chocolate Doom to run "out of the box" in a sensible way on everyones systems if possible. It now checks if the screen mode requested is in the list of screen modes that the video card says it supports, and if not, it adjusts the settings to find something valid. Hopefully this should give a working configuration to everyone.

Apparently in your case, it is possible to set modes which are not listed as present (320x200 mode). However, no matter what you do, Chocolate Doom will keep autoadjusting back to the other settings because it thinks it isnt a valid mode :-) I can add another configuration file setting for you to disable the autoadjust.

Share this post


Link to post

fraggle said:
I can add another configuration file setting for you to disable the autoadjust.

Thanks!

Share this post


Link to post

The new version fixes the crash in Level 3, but it desyncs in Level 10. The console said it was playing the demo back while emulating game version 1.9, so I don't know what's wrong. Is this possible to fix?

Share this post


Link to post
ultdoomer said:

The new version fixes the crash in Level 3, but it desyncs in Level 10. The console said it was playing the demo back while emulating game version 1.9, so I don't know what's wrong. Is this possible to fix?

By jove, you're right. I shall have to investigate to determine the cause of the problem.

Share this post


Link to post
ultdoomer said:

The new version fixes the crash in Level 3, but it desyncs in Level 10. The console said it was playing the demo back while emulating game version 1.9, so I don't know what's wrong. Is this possible to fix?

As it turns out, Chocolate Doom is actually behaving correctly! The demo doesn't play back properly in Vanilla Doom either!

The speedrun appears to have been made in PrBoom or some other Boom derivative. Boom made this change:

//BT_WEAPONMASK   = (8+16+32),
  BT_WEAPONMASK   = (8+16+32+64), // extended to pick up SSG        // phares
It added an extra bit to the weapon mask, presumably so that it is possible to press '9' to select the super shotgun. This is weapon #8. This demo relies on this behavior. When the SSG is selected, Vanilla/Chocolate Doom only reads the lowest bits, which read as '0', corresponding to the chainsaw. The player changes to the wrong weapon and the demo goes out of sync.

I can probably make a modified version of the demo which will play back properly in Vanilla and Chocolate Doom.

Share this post


Link to post
fraggle said:

The speedrun appears to have been made in PrBoom or some other Boom derivative.

It was recorded with a very early version of Prboom-plus. The demo also desyncs in the current version of Prboom-plus (on map10), as this Boom bug was fixed in 2.2.6.27:

[-] Boom bug: desyncs after using the key for switching to SSG directly with demo compatibility.

Share this post


Link to post

Here is a fixed version of the demo. It plays back correctly in Chocolate Doom, hopefully in Vanilla Doom as well (haven't tested)

Share this post


Link to post

when mouse acceleration is turned off(1.00000), I must set the sensitivity to incredibly high numbers, different from default.cfg used by doom2.exe... Is the mouse code changed somehow?

Share this post


Link to post

My understanding is that the acceleration is designed to make the mouse behaviour more similar to what you get with Doom2.exe - so by turning it off, you are ensuring that it is different.

In my cfg I have 1.5 for this value. I don't recall if that is a default (which I never altered), or a recommended value, or just something I chose at random. But you could try it.

Share this post


Link to post

sneakfast said:
when mouse acceleration is turned off(1.00000), I must set the sensitivity to incredibly high numbers, different from default.cfg used by doom2.exe... Is the mouse code changed somehow?

I recently stopped using acceleration for Doom2, which is default for Doom2 on Windows 98 using the standard serial mouse driver that comes with the operating system; with sensitivity 9 or so you can make a 180° flip without too much effort while slight turns are very slow. With an older DOS/Win 95 driver I installed I get no acceleration, and have to raise the mouse sensitivity a lot to get good 180° turns (a sensitivity of at least 36, though I currently prefer 45.) For me in Chocolate Doom an acceleration of 1.3333 or so will give more of less the default of what the standard serial driver gets for Doom2 (180° turn at sens 9), and with acceleration 1.0 I need sensitivity 36 or more.

But perhaps you have a different mouse of use a different mouse driver...? What did you use for Doom2? Windows 98, or DOS? Either should probably behave differently than Windows XP. So if you changed your OS it might not be surprising if stuff is different, or different between the (Chocolate Doom) Windows engine and the (Doom2) DOS engine.

Acceleration 1.5 is the default for Chocolate Doom (or at least has been.) But aside from particular values, it's a matter of playing with both (acceleration and sensitivity) to get the right feel.

Share this post


Link to post
sneakfast said:

when mouse acceleration is turned off(1.00000), I must set the sensitivity to incredibly high numbers, different from default.cfg used by doom2.exe... Is the mouse code changed somehow?

Have you actually checked that the values are different from Vanilla Doom? You always needed to set the mouse sensitivity to incredibly high numbers anyway.

Share this post


Link to post
Grazza said:

My understanding is that the acceleration is designed to make the mouse behaviour more similar to what you get with Doom2.exe - so by turning it off, you are ensuring that it is different.

In my cfg I have 1.5 for this value. I don't recall if that is a default (which I never altered), or a recommended value, or just something I chose at random. But you could try it.

1.5 is the default, 1.0 turns off acceleration.

Mouse acceleration makes you turn quicker when you move the mouse quicker. So if you move your mouse very quickly, the player will turn a greater amount than if you move your mouse the same distance slowly.

If you turn acceleration off, angle turned is equal to the distance you moved the mouse, so no matter how fast you moved the mouse, you will always turn the same amount.

Mouse acceleration is actually a result of the DOS mouse drivers, not Doom itself (from what I can tell). Normally when using a normal "desktop-style" program, you want mouse acceleration turned on, because it lets you move around the screen quicker. Doom just uses the values that the mouse driver gives it. SDL, however, is more precise, and gives the raw mouse movement values (with no acceleration). I added the acceleration setting to emulate the DOS mouse driver behavior that most people would experience. In the end, it's all very dependent on the particular mouse driver you used under DOS, so getting the feel right is difficult.

Share this post


Link to post

The algorithm of mouse acceleration in Chocolate Doom is completely wrong. I say.

Share this post


Link to post
entryway said:

The algorithm of mouse acceleration in Chocolate Doom is completely wrong. I say.

Fair enough, but suggestions on how to improve it would be more helpful.

Share this post


Link to post

I'll test it more.. not an expert, for me the mouse movement is good and i can get used to everything. I know DevastatioN and some other skilled players told me that it just "feels wrong". Not sure.

it is perfect port though.. we love it here in cz:)

Share this post


Link to post
fraggle said:

Fair enough, but suggestions on how to improve it would be more helpful.

As far as I remember, acceleration worked in the following way: after achievement of threshold speed it becomes to be multiplied (not exponentiation) on an acceleration coefficient.

P.S. I have found it in source codes of Windows:

VOID GetMouseCoord(/*...*/)
{
  //...
  if (gMouseSpeed != 0) {
    dx = DoMouseAccel(dx);
    dy = DoMouseAccel(dy);
  }
  //...
}

LONG DoMouseAccel(LONG Delta)
{
    LONG newDelta = Delta;
    if (abs(Delta) > gMouseThresh1) {
        newDelta *= 2;

        if ((abs(Delta) > gMouseThresh2) && (gMouseSpeed == 2)) {
            newDelta *= 2;
        }
    }
    return newDelta;
}

BOOL MouseDlg (/*...*/)
{
  //...
  if (nSpeed == 0)
  {
    rgwMouse[THRESH1] = rgwMouse[THRESH2] = rgwMouse[SPEED] = 0;
  }
  else if (nSpeed < 4)
  {
    rgwMouse[SPEED] = 1;
    rgwMouse[THRESH1] = 13 - 3 * nSpeed;
    rgwMouse[THRESH2] = 0;
  }
  else
  {
    rgwMouse[SPEED] = 2;
    rgwMouse[THRESH1] = 4;
    rgwMouse[THRESH2] = 24 - 3 * nSpeed;
  }
  SystemParametersInfo (SPI_SETMOUSE, 0, (PVOID)(LPINT)rgwMouse, FALSE);
  //...
}
P.P.S. Most likely such behaviour cannot be used in games

Share this post


Link to post

Speaking of mouse acceleration, the mouse seems to be roughly thrice as sensitive in alpha 5 compared to 0.1.4 with exactly the same mouse settings. Why is this? 0.1.4 with the default acceleration settings is actually pretty close to the mouse speed I have in vanilla Doom (Chocolate and vanilla both using the same cfg file in this case).

EDIT: removed the bit about the "crash". It actually wasn't a crash at all, it was just me accidentally hitting Q while recording.

A question: Is is somehow possible for the clients to record the game?

And a little suggestion: the server should be able to choose (maybe in the player wait screen) which player is which player number, since you could achieve this with vanilla using the CTFDoom's ipxsetup and the "-player" command line argument.

Share this post


Link to post
Janizdreg said:

Speaking of mouse acceleration, the mouse seems to be roughly thrice as sensitive in alpha 5 compared to 0.1.4 with exactly the same mouse settings. Why is this? 0.1.4 with the default acceleration settings is actually pretty close to the mouse speed I have in vanilla Doom (Chocolate and vanilla both using the same cfg file in this case).

I did adjust the mouse scaling recently, this was an attempt to be closer to the Vanilla values.

A question: Is is somehow possible for the clients to record the game?

You can record netgames with the normal -record parameter. In Vanilla Doom it is neccessary for all players to use -record when recording a netgame demo, but this is not neccessary in Chocolate Doom.

There is a bug at the moment with saving demos on exit, so press 'q' to finish a demo.

And a little suggestion: the server should be able to choose (maybe in the player wait screen) which player is which player number, since you could achieve this with vanilla using the CTFDoom's ipxsetup and the "-player" command line argument.

I already have plans to implement something like this :-)

Share this post


Link to post

fraggle said:
You can record netgames with the normal -record parameter. In Vanilla Doom it is neccessary for all players to use -record when recording a netgame demo, but this is not neccessary in Chocolate Doom.

When me and my friend played a game with alpha 5, I set the game to record a demo and got the demo just fine myself, but there weren't any demos created in his Chocolate Doom folder.
EDIT: Almost forgot; In addition he could press Q and nothing happened.

Share this post


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