Thursday, March 24, 2011

DirectQ Update - 23rd March 2011 (Part 2)

I've added a contrast cvar (called "contrast", oddly enough) and menu option. RMQ has had this for a long time, and there was really no reason for DirectQ not to have it aside from laziness and oversight on my part.

One thing you might not know about gamma in DirectQ is that it's possible to adjust red, green and blue independently of the main gamma. The cvars are called "r_gamma", "g_gamma" and "b_gamma", have been there for 2 years or so, and the same now applies to contrast ("r_contrast", etc). This should be helpful for those who like to tweak this kind of setting to the ultimate level.

DirectQ is actually full of little hidden settings like this, so I'd encourage you to have a look at the new cvar and command lists I've posted to your right. I haven't added descriptions yet, but you may be able to pick up some hints from some of the names.

Multiplayer-side I've fixed one serious bug with ProQuake message parsing whereby the notification area was spammed with ping and status results when you bring up the scoreboard. This was annoying, and I've written before about the quality of this code, but today I'm going to mention comments.

In the original source the comment on the line containing the bugfix looked like this:

// added this
My comment describing the fix looks like this:
// set cl.console_ping = true before sending a ping to the server
// if you don't want this to swallow the result
Now, I don't claim to be the best commenter in the world but which do you think is most useful to someone porting or maintaining the code? I don't care how technically excellent the code is, this kind of thing is utterly disgraceful.

2 comments:

Baker said...

I probably have 20 messages from R00k pointing out flaws/weaknesses in ProQuake features.

The ProQuake features are a maintenance hassle. One example that I can thing of, the number of potential teams that the a scoreboard might support.

And I'm not sure why it is storing the port # once per minute.

R00k pointed out that ProQuake clients connected to ProQuake servers send angles as shorts but the ProQuake server sends angles as bytes (for compatibility) leading to jerkiness at times.

That being said, JPG was about to graduate from MIT with a PHD so ... I am appreciative that he did what he could under such time constraints and pressures.

Still ... NetQuake really needs a protocol overhaul for probably more reasons than I am actually aware.

However, many of the things he did were very forward looking and have influenced several engines (FuhQuake, DarkPlaces, Enhanced GLQuake, JoeQuake, FitzQuake, the FitzKurok engine mod, Quakespasm, and obviously Qrack and even DirectQ).

The Quake engine had holes you could drive a truck through.

mhquake said...

If I could personally go back in time I'd probably base everything off QuakeWorld, you know, with maybe grabbing some hints from the Q2 source for SP support. It just seems a more sensible jumping-off point to me nowadays.