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

Chocolate Doom

Recommended Posts

Porsche Monty said:

Actually I run Chocolate Doom at 320x200.

Sorry, yeah, I was a bit unclear, of course chocolate doom only runs at 320x200. But you don't have any kind of screen scaling or letterboxing or whatever going on? I mean as an example I have it set to 640x480, so it does 320x200 doubled up to 640x400 with a border.

Share this post


Link to post
RjY said:

Sorry, yeah, I was a bit unclear, of course chocolate doom only runs at 320x200. But you don't have any kind of screen scaling or letterboxing or whatever going on? I mean as an example I have it set to 640x480, so it does 320x200 doubled up to 640x400 with a border.


I literally run Chocolate Doom at 320x200. My video card handles this resolution perfectly (just like my CRT monitor) and drivers switch to that when I run any application that requires it, hence no need for scaling.

Share this post


Link to post
Porsche Monty said:

320x200. My video card handles this resolution perfectly (just like my CRT monitor) and drivers switch to that when I run any application that requires it, hence no need for scaling.


That's a good card/drivers. then. Curse all these new drivers that think no one ever needs to go below 640x480. They need to get their act together.

Share this post


Link to post
fraggle said:

Latest SVN version uses double buffering, and I've also stopped borders from flashing in boxed screen modes.

Fantastic! It looks like we've identified the culprit of the reduced framerate in directx boxed fullscreen resolutions: now that only the game image illuminates, excluding borders, directx 32-bit runs smoothly at all resolutions, including 1280x1024. However, 8-bit modes still illuminate the borders, and I suspect this could be what impacts directx 8-bit with the aforementioned stuttering, although I may be wrong. It's odd, though, that directx 32-bit outperforms windib 32-bit, since it's usually the reverse for me.

Porsche Monty said:

What I still don't get is the "slower" part. At least on my 3.0ghz + GF6200 + XP-powered machine, the performance drop is unnoticeable regardless of the resolution. Makes you wonder if it's something only Vista/7 users get.

Try 32-bit windib, instead of directx. On my machine, directx 32-bit performs as expected at all desired resolutions, now that fraggle addressed the framerate problem, but windib 32-bit still chokes on high resolutions. I'm running on XP32 with a 2.2ghz AMD Athlon, 2gbs DDR400 SDRAM, and a Sapphire ATI HD 3850 AGP video card.

Share this post


Link to post

Well, as of 20 seconds ago, I didn't even know what windib was. I'll install it and see what happens.

Edit: turns out "Windib" is actually what Chocolate Doom lists as "Windows GDI" (what do you know...) and it works fine here in 32bit mode, even though I avoid it as I can't get it to vsync.

Share this post


Link to post
Porsche Monty said:

Well, as of 20 seconds ago, I didn't even know what windib was. I'll install it and see what happens.

Edit: turns out "Windib" is actually what Chocolate Doom lists as "Windows GDI" (what do you know...) and it works fine here in 32bit mode, even though I avoid it as I can't get it to vsync.

Yes they're the same thing. Basically it is referring to use of the ordinary Windows API to paint a window - ie., a good old device context.

Back in the day it was absolutely impossible to get enough performance out of GDI for *any* kind of game (it flickered just redrawing text sometimes). But since Windows 98, GDI performance has steadily increased through all versions of Windows til now, and you can do all kinds of things in it. It doesn't outperform DirectX of course, and it does not support anything fancy like vsync.

Share this post


Link to post

Well, now that chocolate-setup is sort of getting a facelift, do you think you could add an option for selecting/manually inputting the sample rate? this is one important setting that currently can only be changed by editing the cfg.

Regards.

Share this post


Link to post

A couple of comments related to the recent master server developments:

Firstly, the master server listing displays a setting for max players on a server. However, I have no clue which command line argument sets this. Commands I've tried include -maxplayers, -players and -nodes, but none of these seem to work. And I can't seem to find documentation on this feature anywhere either. So what argument am I supposed to use?

Secondly, is it currently possible to make an internet server not listed on the master, and if it is, how?

Share this post


Link to post
Porsche Monty said:

Well, now that chocolate-setup is sort of getting a facelift, do you think you could add an option for selecting/manually inputting the sample rate? this is one important setting that currently can only be changed by editing the cfg.

I've deliberately not included it in the setup tool. It's the kind of thing that most people don't care about, and those who do are smart enough to know how to edit the configuration file. Unnecessary options clutter the interface.

Janizdreg said:

Firstly, the master server listing displays a setting for max players on a server. However, I have no clue which command line argument sets this. Commands I've tried include -maxplayers, -players and -nodes, but none of these seem to work. And I can't seem to find documentation on this feature anywhere either. So what argument am I supposed to use?

Yeah, it's... er... a feature I haven't really implemented yet. In the future I want it to be possible to limit the number of players on a server (so you could have "1v1 only" servers, for example), but it isn't actually possible yet. I included a "max players" field in the query protocol so that I wouldn't need to change it later on.

Secondly, is it currently possible to make an internet server not listed on the master, and if it is, how?

It is of course possible to do this: add -privateserver to the command line when you start the server.

Share this post


Link to post

EDIT: Damn you fraggle, I was too slow! :)

From the man page for chocolate-doom (and CMDLINE):

-privateserver
       When running a server, don't register with the global master
       server.
This should be in the man page for chocolate-server, but it's not. It would also be nice to have an option when starting a network game from chocolate-setup.

It looks like the maximum number of players is currently hard coded as MAXPLAYERS in the source code.

Share this post


Link to post
exp(x) said:

It looks like the maximum number of players is currently hard coded as MAXPLAYERS in the source code.

One reason this has to change is for proper Hexen and Strife support - both of them allow 8 players.

Share this post


Link to post
exp(x) said:

From the man page for chocolate-doom (and CMDLINE):

-privateserver
       When running a server, don't register with the global master
       server.
This should be in the man page for chocolate-server, but it's not. It would also be nice to have an option when starting a network game from chocolate-setup.

Fixed now, thanks!

It looks like the maximum number of players is currently hard coded as MAXPLAYERS in the source code.

Yes, exactly. The protocol supports it but the code doesn't.

Share this post


Link to post

I'll look into it.

EDIT: r2212 broke the builds

i586-mingw32msvc-gcc -DHAVE_CONFIG_H -I. -I../..    -I/usr/i586-mingw32msvc/include/SDL -D_GNU_SOURCE=1 -Dmain=SDL_main -I../../textscreen -I.. -O2 -g -Wall  -I/usr/i586-mingw32msvc/include/SDL -D_GNU_SOURCE=1 -Dmain=SDL_main -MT display.o -MD -MP -MF .deps/display.Tpo -c -o display.o display.c
display.c: In function ‘BindDisplayVariables’:
display.c:712: error: ‘OSVERSIONINFOEX’ undeclared (first use in this function)
display.c:712: error: (Each undeclared identifier is reported only once
display.c:712: error: for each function it appears in.)
display.c:712: error: expected ‘;’ before ‘version_info’
display.c:714: warning: implicit declaration of function ‘ZeroMemory’
display.c:714: error: ‘version_info’ undeclared (first use in this function)
display.c:717: warning: implicit declaration of function ‘GetVersionEx’
display.c:717: error: ‘OSVERSIONINFO’ undeclared (first use in this function)
display.c:717: error: expected expression before ‘)’ token
display.c:719: error: ‘VER_PLATFORM_WIN32_NT’ undeclared (first use in this function)
make[3]: *** [display.o] Error 1
make[3]: Leaving directory `/opt/chocolate-raven-win32/src/setup'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/opt/chocolate-raven-win32/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/opt/chocolate-raven-win32'
make: *** [all] Error 2

Share this post


Link to post
fraggle said:

It is of course possible to do this: add -privateserver to the command line when you start the server.

I haven't been following the SVN as closely as I could be, but can't this also be achieved by omitting the -querymaster (or similar) parameter?

Share this post


Link to post
tm512 said:

I haven't been following the SVN as closely as I could be, but can't this also be achieved by omitting the -querymaster (or similar) parameter?

Nope, sounds like you're confused about the command line options and what they do.

First of all, you can use "-query hostname" to send a query to a server that you have the address/port of. If the server responds, some information about it is displayed. For example:

chocolate-doom -query 84.92.173.189:2342	
By default, servers now register themselves with the master server. On startup and every 20 minutes, they send a packet to master.chocolate-doom.org. The master server tracks the active servers and maintains a list of them. To stop your server from sending packets to the master server, use -privateserver.

If you want to find a server to play on, use -search, for example:
fraggle@idris:~/doom/chocolate-doom/src$ ./chocolate-doom -search
                         Chocolate Doom 1.4.0
Z_Init: Init zone memory allocation daemon. 
zone memory: 0xb5ac9008, 1000000 allocated for zone

Searching for servers on Internet ...

Ping Address           Players Description
======================================================================
 100 147.32.30.5:      0/4     [Oblacek.sh.cvut.cz] Chocolate Doom r2215

1 server(s) found.
This option gets a list of servers from the master server, then sends a query to each server. Servers running with -privateserver will not be displayed, because they didn't register themselves with the master.

Finally, if you have a server on your local LAN, you can use the -localsearch parameter. This sends a broadcast query to every machine on your network, searching for servers (the master server is not involved at all). You can also use -autojoin to automatically search your LAN for a server and connect to it: it's like doing -localsearch immediately followed by -connect.

By the way, the master server does checks to confirm that servers really are publicly accessible. If your server is behind a firewall or NAT gateway that makes it inaccessible, it will be rejected by the master. To check your server is registering itself properly, look for this in stdout:
Registered with master server at master.chocolate-doom.org:2342
If you see this instead, you probably need to reconfigure your firewall or add a port forward on your router:
Failed to register with master server at master.chocolate-doom.org:2342

Share this post


Link to post
chungy said:


I bet it's just taking a higher resolution of those and scaling to it. like Zdoom does that for low resolutions now with minimal framerate loss. The windows drivers for these cards do not even attempt to do this. It just tells the user "sorry you can't do that".

Share this post


Link to post

sorry for interrupting your discussion, but I have a question exactly for chocolate-doom and I thought posting it here is better than posting a new thread

maybe somebody already posted this question, but I don't want to search it in those 36 sites of this thread :):

I want to edit the source code of chocolate doom and compile it afterwards, I am not sure if I am allowed to, but maybe you can tell me if I am. I also won't publish this edited version of chocolate doom, it is just for a speedrun for which I have to change the source code

my problem is I am not able to edit it and compile it afterwards, I allready compiled it with ubuntu, but I wasn't able to edit it in any way, even deleating whole files in the source code had no effect

I hope someone of you can help me

Share this post


Link to post
termrork said:

I want to edit the source code of chocolate doom and compile it afterwards, I am not sure if I am allowed to, but maybe you can tell me if I am. I also won't publish this edited version of chocolate doom, it is just for a speedrun for which I have to change the source code

Of course you can! Chocolate Doom is Free Software: you can modify it however you want and even publish your modified version if you want. The only restriction is that if you publish a modified version you must include the source code.

my problem is I am not able to edit it and compile it afterwards, I allready compiled it with ubuntu, but I wasn't able to edit it in any way, even deleating whole files in the source code had no effect

I hope someone of you can help me

I'm happy to help but I don't understand what the problem is that you're having exactly. You say you already have it compiled, it should therefore be a case of making your changes and running "make" to rebuild it.

Share this post


Link to post

well, after you said such self evidently that it should work I tried it with my new PC, and voila it worked :D, I didn't make smth different, weird :), but I think it was my problem, and not the OS ones :D

thank you a lot :D, now I can do tests for my speedrun project :)

Edit: and thank you for your ambition for this great source port

Share this post


Link to post

Hello. I was hesitating on whether to open a new thread to discuss this, or whether to simply post on this thread, hoping that this would be read. I've chosen the latter option, as clearly can be seen.

First off, I think "Chocolate Doom" to be a really great port. I'm quite a fan of "authentic [gaming] experiences," so stepping on this project for me is a real treat.

The visual experience however is great. However, I'm kind of loss over the auditive one, though. I thought of porting (pun intended) my interrogations from my mind to this forum data.

1) From the release documentation:

It is possible that volume of sound effects does not scale properly with distance from the sound source. It is also possible that sound effects are cut off at the wrong distance. This needs further investigation.

Is this one a big deal? My experiences with "vanilla Doom" are quite far behind, so I could not judge on the seriousness of this one.


2) I am seeing that serious work is being done on the auditive experience. Coming over from the "ZDoom" port, I am having quite a shock (EDIT: there, it seemed more scary). It is possible, though, that with some adaptation time, this authenticity will to a greater extent be savored from my part.

However, it may just be that I was using the default "Native MIDI" music-playback sound option, instead of the newly developed, "OPL (Adlib/SB)" music-playback sound option, which is software emulated (specifically designed for our modern computers), as most here probably already knew.

My question here is, is the audio sounding like it should, that is, like "vanilla Doom" was? I am finding that the OPL playback feature offers, when selected, a different auditive experience than the default music-playback option does.

Then, one may ask, why is the former option not selected as default? If I am not mistaken (correct me if I am!), it is because it is not yet completely tested. I am not quite sure on this one, but it seems that external (DOSbox) code has just been imported to this project, so that it needs some time to be tested before implementing this OPL-emulation feature as default.

Am I right on this one? Is the OPL-emulation choice a better, more-faithful-to-vanilla-Doom option than the "Native-MIDI" one?


3) In the release documentation, there is a list of things to be done:

* Get a better software OPL emulator
* DMXOPTIONS opl3/phase option support.

There are also mentions of the "TiMidity++" MIDI synthesizer. Is that one recommended? I am quite lost in all this technical stuff, actually (for example, "If compiling from source, be sure to compile and install timidity before installing SDL_mixer."). I've pretty much just read the changelog, which informed me that recent work had been made on the auditive experience. Thus, I am guessing that most of the recent implementations are to be tested before shipping them (that is, selecting them as default options) to the general public (of which I am a typical (read as "ignorant in terms of computing technology") example!).


Well, at least thanks for having read this, supposing you haven't just skipped to this last sentence out of definitive laziness.

EDIT: duly replaced both "code]" instances by the "quote]" string.

Share this post


Link to post
entryway said:

Your post is not readable.


OMG.

Alright. Here I go again:

hello what should i choose for the sound? which one best represents the audio of the original? are the defaults ok? any recommandations?

thanks! :D

p.s.: i've heard the audio as being difficult to port..

Share this post


Link to post
twipley said:

p.s.: i've heard the audio as being difficult to port..


Depends what you mead for "audio". That claim usually applies to the OPL2 emulation sounding inauthentic for some people, which is yet another can of worms to open.

They are right, but not because the OPL2 emulators suck (the OPL2 chip is very well documented, fully understood, and it works entirely digitally).

The real killer is that the OPL2 used a sampling rate of 49716 Hz which cannot be precisely played back on modern general purpose sound cards, so any emulator fixing the sample rate to 48 KHz or anything else for that matter will sound wrong. Even 96 and 192 KHz will sound wrong, unless you do some ridiculous oversampling to 60 MHz, which is really overkill.

I had analyzed that here if you want more details.

Share this post


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