Message Boards

 Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - Russell

Pages: 1 [2] 3 4 5
16

Technical Support / Re: New protocol design ideas

« on: July 26, 2008, 23:59:23 »
I agree...

Also, you may want to include masking, maybe 2 32-bit fields for 64-flags that it can be kept simple. The Server list the main page doesn't care for scores and all, maybe send RQ_SERVERNAME and just get the server name back, same can also go for launchers (i.e. partial refresh instead of a full one) then send the mask back of what is actually in that packet data. Can also save some space for useless stuff like in DM who cares for team scores yknow?.

Omission/inclusion of fields based on masks can complicate:
1) We may or may not include a field in the next protocol version (eg included/removed team scores), then we have to say that the flag is available/not
2) If that were the case, we would also have to maintain a list of flags supported for each protocol version in the current minor version we are working with

However, you are right in that it would leave more space for certain game modes to have more information available later on.

It isn't necessarily a bad idea and it can always be added in later on (thanks to versioning)

EDIT: I found an article today which is "similar" to what we are discussing here: http://blogs.msdn.com/johnmil/archive/2006/01/11/511527.aspx
17

Technical Support / Re: New protocol design ideas

« on: July 26, 2008, 08:08:22 »
Cool :)

A bit of work went into the versioning thing, which allows us to have:

255 major versions
255 minor "    "
255 patch "    "
and 65535 launcher protocol versions under 1 minor version.

More or less ;)

I don't know what to include in the contents of the packet yet for the first version, the arbitrary length cvar field was included at the last minute. It makes a couple of things above it redundant though.

So, open to ideas :P
18

Technical Support / Re: New protocol design ideas

« on: July 24, 2008, 03:11:52 »
Here it is (in odt format)
19

Technical Support / New protocol design ideas

« on: July 24, 2008, 01:47:53 »
We have a bit of a situation regarding the launcher protocol it seems, here is a small list of issues I have outlined below:

  • Client uses exactly the same information as the launcher does, (probably implementation from the old csdoom days), so if we change information for the launcher, we could break the client (or vice versa) if we change it
  • Current protocol has no real versioning and is a mess, period.

So firstly we need to create a new function in the server for new protocol requests and keep the old one for backwards compatibility between old clients and launchers (0.4.0 and 0.4.1 for now)

After that, it gets trickier, you can have a look at the current proposed solution for above when I post it soon

EDIT: Just to clear things up, there is no intention of getting rid or changing the latter, the old function will still exist and remain the same until we decide to dump it.
20

Developer's Corner / Re: The big cvar standardization initiative

« on: July 22, 2008, 18:31:33 »
Ralphis and I think it's a good idea to merge the deathmatch, teamplay, and usectf/ctf cvars into one cvar: gamemode.

Its a good idea, but there are 2 problems, we have a ccmd named gamemode (which looks dated) and there is also variable in doomstat.h named gamemode.

gamemode (int) - Common cvar. (Read-only for client) Distributed to launchers as an integer. (Will require protocol bump)


Read-only for client, why?

And I don't think it will require a protocol bump, we can just translate it before sending it to keep compatibility.

gamemode 0 - Coop
gamemode 1 - DM
gamemode 2 - TDM
gamemode 3 - CTF
gamemode 4+ - New gametypes. (Would show up as "unknown" for outdated clients/launchers)

Looks good, I would have suggested keeping the old variables and have it change this one, but I have researched this and it looks far too complicated (function cvars calling eachother resulting in recursion, latching not working correctly etc)

This would eliminate the hassle of juggling multiple cvars (deathmatch and teamplay do what for usectf?) while paving a smooth way for potential new gametypes.

Sounds good, we'll have less problems as a result too.
21

General Discussion / Re: CTF Games to Spark Interest

« on: July 19, 2008, 19:26:31 »
you can always turn emptyreset on, which resets the map after all players leave
22

General Discussion / Re: CTF Games to Spark Interest

« on: July 19, 2008, 03:55:10 »
I'm usually on the co-op servers a lot. Only problem is that I usually end up breaking the maps on accident leaving them unfinishable.

(That's the third one this week)

Some wads just aren't made for coop and it has to be the good ones :(
23

Developer's Corner / Re: The big cvar standardization initiative

« on: July 11, 2008, 20:57:11 »
As of HEAD, all cvars have been moved (except for the one in m_misc.cpp, thats special) to their client/server/common locations.

Now we need to sort out what flags they should have, which REAL location they reside on (client/server/common), what names they should have etc.
24

Devoblog / Re: Odalauncher Quick Fix

« on: July 10, 2008, 20:45:58 »
As of r974, a proper fix has been made.

An updated version of this can be downloaded from the same url in Ralphis' post
25

Technical Support / Re: Some questions about the server

« on: July 09, 2008, 20:10:48 »
set monstersrespawn 0
26

Developer's Corner / Re: The big cvar standardization initiative

« on: July 03, 2008, 06:40:21 »
We have another problem.. What do we do with stuff like BEGIN_CUSTOM_CVAR (.. ?

I've figured it out, I have designed some macros named CVAR_FUNC_DECL and CVAR_FUNC_IMPL that have a similar effect to a normal function, ie:

cl_cvars.cpp (location of all client cvars)
Code: [Select]
CVAR_FUNC_DECL(vid_winscale, "1.0", CVAR_ARCHIVE | CVAR_NOENABLEDISABLE)

hardware.cpp (location of cvar implementation)

Code: [Select]
CVAR_FUNC_IMPL(vid_winscale)
{
    code
    ...
}

I have not fully tested these, but they appear to work in game without any problems.
27

Developer's Corner / Re: The big cvar standardization initiative

« on: July 02, 2008, 21:21:16 »
We have another problem.. What do we do with stuff like BEGIN_CUSTOM_CVAR (.. ?
28

Developer's Corner / The big cvar standardization initiative

« on: June 19, 2008, 22:05:59 »
Okay, as from discussion on irc, we have a problem.

Firstly, Cvars are console variables, which reside on the client and server, they are the ones that affect gameplay and other things.

The problem is: our current implementation.
As of late commits (below r951), we send all server cvars to the client, which results in perfect sync of the client side values. This is what was needed to be done eventually.

However, we have a naming problem, the freelook bug is a good example of this: we have a cvar named allowfreelook, which existed on both client and server, but the clients version was affected by the servers version "through proxy" by changing the sv_freelook cvar, the client could toggle freelook on or off using cl_freelook.

There lies the problem, we now send allowfreelook, which is used by the client and server, it is a variable in the common codebase as well.

We can't:
a) Stop sending allowfreelook (its has a CVAR_SERVERINFO and is needed), that is downright hacky as well.
b) Remove cl_freelook and sv_freelook, then the server would force freelook on or off, depending on its setting.
c) Countless other ways that results in hacky/buggy code.

Now, you may think this only affects freelook overall, but it doesn't, it affects a LARGE amount of other things as well, so what I and others of the team propose is this:

A) Put every single cvar in a single file that exists in the common codebase.
B) Bring back namespaces (cl_* and sv_* prefixes) for cvars (we could use CVAR_SERVERINFO and CVAR_CLIENTONLY instead, but I have not thought this through completely)
C) <add anything else>

There is one disadvantage to all of this, we break alot of older cfg's, BUT, because we aren't at 1.0 and not stable, we can do all of this.

Suggestions, opinions, criticisms?
30

Technical Support / Re: No sound in game

« on: June 11, 2008, 05:49:58 »
You can try the information given in http://odamex.net/bugs/show_bug.cgi?id=482

This has to be an SDL(_mixer) problem.
Pages: 1 [2] 3 4 5