mirror of
https://git.code.sf.net/p/quake/quakeforge-old
synced 2024-11-29 23:21:58 +00:00
121 lines
2.1 KiB
Text
121 lines
2.1 KiB
Text
registered clients will auto-kick unregistered clients
|
|
|
|
central clearingghouse for active servers
|
|
|
|
server logon messages
|
|
|
|
problem with reconnect to same server out of order packets
|
|
|
|
acknowledge all command line parameters
|
|
|
|
annoying pause on intermission screen
|
|
|
|
seperate accept/reject list for server packets and client packets
|
|
|
|
server compile time should be part of connect message and status
|
|
|
|
allocate new cvars during file parse
|
|
|
|
remote console should be able to do cvar setting/reading
|
|
|
|
make punchangle a client side operation
|
|
|
|
remove sys_printf
|
|
remove host_client
|
|
|
|
packet filter list
|
|
client move by test final pos and test 1/16 down
|
|
simulate world first, then clients, clients explicitly sim weapon projectiles
|
|
allow remote locations to subscribe to console output
|
|
|
|
|
|
|
|
client zombie state?
|
|
seperate command ques for client and server?
|
|
worry about partial connection during level change
|
|
worry about zombie state for if(!state) constructs
|
|
|
|
make sound/ and models/ implicit in data types
|
|
|
|
int sequence
|
|
int reliable_sequence;
|
|
bit reliable_payload;
|
|
|
|
consumption
|
|
renewable resources
|
|
depletable resources
|
|
rate of extraction
|
|
|
|
|
|
how can you influence other characters
|
|
how can you communicate
|
|
|
|
|
|
login
|
|
logoff
|
|
disconnection
|
|
|
|
client to server
|
|
----------------
|
|
last good received server time
|
|
milliseconds since last move frame
|
|
angles
|
|
movement
|
|
buttonstates
|
|
impulse
|
|
|
|
|
|
server to client
|
|
----------------
|
|
last movemessage received
|
|
origin
|
|
velocity
|
|
|
|
|
|
build movement
|
|
send movement packet to server
|
|
set player position to last known good
|
|
execute all unaknowledged movement packets
|
|
|
|
|
|
needs to know all things that can effect movement
|
|
|
|
movement context
|
|
----------------
|
|
origin
|
|
velocity
|
|
size
|
|
|
|
run move command (context, move)
|
|
|
|
|
|
|
|
#define MAX_MOVEMESSAGES 64
|
|
|
|
typedef struct
|
|
{
|
|
double time; // client time when sent
|
|
byte milliseconds;
|
|
} movemessage_t;
|
|
|
|
int ack_movemessage;
|
|
int current_movemessage;
|
|
|
|
movemessage_t movemessages[MAX_MOVEMESSAGES];
|
|
|
|
void CL_Frame (void)
|
|
{
|
|
get all pending server messages
|
|
|
|
latency = cl.time - movemessage[last].time;
|
|
|
|
movetime = cl.time - cl.oldtime;
|
|
get movemessage
|
|
|
|
send packet to server
|
|
}
|
|
|
|
|
|
|
|
|
|
does not adress interpolating other object's movement
|