net_wipx, net_wins, net_vcr, net_dgrm?

Discuss programming topics for the various GPL'd game engine sources.
Post Reply
JasonX
Posts: 422
Joined: Tue Apr 21, 2009 2:08 pm

net_wipx, net_wins, net_vcr, net_dgrm?

Post by JasonX »

I'm trying to understand the Q1 networking code in order to make it more portable, but i have no idea what those files are for. Can anyone give me an overview of how the game communicates with low-level system parts? Is there any kind of abstraction?

I was thinking about replacing it with enet or something simpler, like a basic abstraction layer to make future ports easier. Or SDL_net, maybe.
Spike
Posts: 2914
Joined: Fri Nov 05, 2004 3:12 am
Location: UK
Contact:

Re: net_wipx, net_wins, net_vcr, net_dgrm?

Post by Spike »

wipx is dead. dos drivers for udp were kinda crap, so maybe you'd still want to use this if you've still got a dos port.
wins gives you udp / winsock support. if you're okay with requiring win95 users (lol) to install updates so they actually have winsock installed, then you can merge this with the linux/bsd socket code.
win provides the list of packet drivers (basically it names various wipx and wins functions)
dgrm provides the protocol layered on top of those unreliable packet devices.
vcr is dead. I assume id used it to record client->sever packets for debugging, but the output kinda requires too much determinism for regular demos. for anything else you can just use regular demos. this is just playback stuff. the record parts are in net_main assuming you want to strip that out too...

also, kill the IDGODS junk.
JasonX
Posts: 422
Joined: Tue Apr 21, 2009 2:08 pm

Re: net_wipx, net_wins, net_vcr, net_dgrm?

Post by JasonX »

Where's the linux/bsd socket code? net_loop? Also, what's IDGODS?
Spike
Posts: 2914
Joined: Fri Nov 05, 2004 3:12 am
Location: UK
Contact:

Re: net_wipx, net_wins, net_vcr, net_dgrm?

Post by Spike »

Except from the linux makefile from vanilla quake source:
$(BUILDDIR)/x11/net_dgrm.o \
$(BUILDDIR)/x11/net_loop.o \
$(BUILDDIR)/x11/net_main.o \
$(BUILDDIR)/x11/net_vcr.o \
$(BUILDDIR)/x11/net_udp.o \
$(BUILDDIR)/x11/net_bsd.o \

QuakeWorld engines (including my own) do not use any of these, so I'm really only guessing.

IDGODS is id's backdoor. Kill it.
Post Reply