#ifndef PROTOCOL_H
#define PROTOCOL_H
-#define PROTOCOL_VERSION 15
-#define DPPROTOCOL_VERSION1 96
-#define DPPROTOCOL_VERSION2 97
+#define PROTOCOL_QUAKE 15
+#define PROTOCOL_NEHAHRAMOVIE 250
+#define PROTOCOL_DARKPLACES1 96
+#define PROTOCOL_DARKPLACES2 97
// LordHavoc: I think the 96-99 range was going to run out too soon...
// so here I jump to 3500
-#define DPPROTOCOL_VERSION3 3500
-#define DPPROTOCOL_VERSION4 3501
+#define PROTOCOL_DARKPLACES3 3500
+#define PROTOCOL_DARKPLACES4 3501
// model effects
#define EF_ROCKET 1 // leave a trail
entity_state_t;
/*
-DPPROTOCOL_VERSION3
+PROTOCOL_DARKPLACES3
server updates entities according to some (unmentioned) scheme.
a frame consists of all visible entities, some of which are up to date,
*/
/*
-DPPROTOCOL_VERSION4
+PROTOCOL_DARKPLACES4
a frame consists of some visible entities in a range (this is stored as start and end, note that end may be less than start if it wrapped).
these entities are stored in a range (firstentity/endentity) of structs in the entitydata[] buffer.
entity_database4_t;
// should-be-private functions that aren't
-int EntityFrame4_SV_ChooseCommitToReplace(entity_database4_t *d);
entity_state_t *EntityFrame4_GetReferenceEntity(entity_database4_t *d, int number);
void EntityFrame4_AddCommitEntity(entity_database4_t *d, entity_state_t *s);
// reset a database (resets compression but does not reallocate anything)
void EntityFrame4_ResetDatabase(entity_database4_t *d);
// updates database to account for a frame-received acknowledgment
-void EntityFrame4_AckFrame(entity_database4_t *d, int framenum);
+int EntityFrame4_AckFrame(entity_database4_t *d, int framenum);
-// begin writing a frame
-void EntityFrame4_SV_WriteFrame_Begin(entity_database4_t *d, sizebuf_t *msg, int framenum);
// write an entity in the frame
// returns false if full
int EntityFrame4_SV_WriteFrame_Entity(entity_database4_t *d, sizebuf_t *msg, int maxbytes, entity_state_t *s);
-// end writing a frame
-void EntityFrame4_SV_WriteFrame_End(entity_database4_t *d, sizebuf_t *msg);
// reads a frame from the network stream
void EntityFrame4_CL_ReadFrame(entity_database4_t *d);
+extern cvar_t developer_networkentities;
+
#endif