|
|
1.1 root 1: registered clients will auto-kick unregistered clients
2:
3: central clearingghouse for active servers
4:
5: server logon messages
6:
7: problem with reconnect to same server out of order packets
8:
9: acknowledge all command line parameters
10:
11: annoying pause on intermission screen
12:
13: seperate accept/reject list for server packets and client packets
14:
15: server compile time should be part of connect message and status
16:
17: allocate new cvars during file parse
18:
19: remote console should be able to do cvar setting/reading
20:
21: make punchangle a client side operation
22:
23: remove sys_printf
24: remove host_client
25:
26: packet filter list
27: client move by test final pos and test 1/16 down
28: simulate world first, then clients, clients explicitly sim weapon projectiles
29: allow remote locations to subscribe to console output
30:
31:
32:
33: client zombie state?
34: seperate command ques for client and server?
35: worry about partial connection during level change
36: worry about zombie state for if(!state) constructs
37:
38: make sound/ and models/ implicit in data types
39:
40: int sequence
41: int reliable_sequence;
42: bit reliable_payload;
43:
44: consumption
45: renewable resources
46: depletable resources
47: rate of extraction
48:
49:
50: how can you influence other characters
51: how can you communicate
52:
53:
54: login
55: logoff
56: disconnection
57:
58: client to server
59: ----------------
60: last good received server time
61: milliseconds since last move frame
62: angles
63: movement
64: buttonstates
65: impulse
66:
67:
68: server to client
69: ----------------
70: last movemessage received
71: origin
72: velocity
73:
74:
75: build movement
76: send movement packet to server
77: set player position to last known good
78: execute all unaknowledged movement packets
79:
80:
81: needs to know all things that can effect movement
82:
83: movement context
84: ----------------
85: origin
86: velocity
87: size
88:
89: run move command (context, move)
90:
91:
92:
93: #define MAX_MOVEMESSAGES 64
94:
95: typedef struct
96: {
97: double time; // client time when sent
98: byte milliseconds;
99: } movemessage_t;
100:
101: int ack_movemessage;
102: int current_movemessage;
103:
104: movemessage_t movemessages[MAX_MOVEMESSAGES];
105:
106: void CL_Frame (void)
107: {
108: get all pending server messages
109:
110: latency = cl.time - movemessage[last].time;
111:
112: movetime = cl.time - cl.oldtime;
113: get movemessage
114:
115: send packet to server
116: }
117:
118:
119:
120:
121: does not adress interpolating other object's movement
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.