- qboolean active; // false = client is free
- qboolean spawned; // false = don't send datagrams
- qboolean dropasap; // has been told to go to another level
- qboolean sendsignon; // only valid before spawned
-
- double last_message; // reliable messages must be sent
- // periodically
-
- struct qsocket_s *netconnection; // communications handle
-
- usercmd_t cmd; // movement
- vec3_t wishdir; // intended motion calced from cmd
-
- sizebuf_t message; // can be added to at any time,
- // copied and clear once per frame
- byte msgbuf[MAX_MSGLEN];
- edict_t *edict; // EDICT_NUM(clientnum+1)
- char name[32]; // for printing to other people
- int colors;
-
- float ping_times[NUM_PING_TIMES];
- int num_pings; // ping_times[num_pings%NUM_PING_TIMES]
- float ping; // LordHavoc: can be used for prediction or whatever...
- float latency; // LordHavoc: specifically used for prediction, accounts for sys_ticrate too
+ // false = client is free
+ qboolean active;
+ // false = don't send datagrams
+ qboolean spawned;
+ // has been told to go to another level
+ qboolean dropasap;
+ // only valid before spawned
+ qboolean sendsignon;
+
+#ifndef NOROUTINGFIX
+ // LordHavoc: to make netquake protocol get through NAT routers, have to wait for client to ack
+ // waiting for connect from client (stage 1)
+ qboolean waitingforconnect;
+ // send server info in next datagram (stage 2)
+ qboolean sendserverinfo;
+#endif
+
+ // reliable messages must be sent periodically
+ double last_message;
+
+ // communications handle
+ struct qsocket_s *netconnection;
+
+ // movement
+ usercmd_t cmd;
+ // intended motion calced from cmd
+ vec3_t wishdir;
+
+ // can be added to at any time, copied and clear once per frame
+ sizebuf_t message;
+ qbyte msgbuf[MAX_MSGLEN];
+ // EDICT_NUM(clientnum+1)
+ edict_t *edict;
+ // for printing to other people
+ char name[32];
+ int colors;
+
+ float ping_times[NUM_PING_TIMES];
+ // ping_times[num_pings%NUM_PING_TIMES]
+ int num_pings;
+ // LordHavoc: can be used for prediction or whatever...
+ float ping;
+ // LordHavoc: specifically used for prediction, accounts for sys_ticrate too
+ float latency;