#define svc_hidelmp 36 // [string] slotname
#define svc_skybox 37 // [string] skyname
-// LordHavoc: my svc_ range, 50-59
-#define svc_cgame 50 // [short] length [bytes] data
+// LordHavoc: my svc_ range, 50-69
+#define svc_downloaddata 50 // [int] start [short] size
#define svc_updatestatubyte 51 // [byte] stat [byte] value
#define svc_effect 52 // [vector] org [byte] modelindex [byte] startframe [byte] framecount [byte] framerate
#define svc_effect2 53 // [vector] org [short] modelindex [short] startframe [byte] framecount [byte] framerate
#define svc_entities 57 // [int] deltaframe [int] thisframe [float vector] eye [variable length] entitydata
#define svc_csqcentities 58 // [short] entnum [variable length] entitydata ... [short] 0x0000
#define svc_spawnstaticsound2 59 // [coord3] [short] samp [byte] vol [byte] aten
+#define svc_trailparticles 60 // [short] entnum [short] effectnum [vector] start [vector] end
+#define svc_pointparticles 61 // [short] effectnum [vector] start [vector] end [short] count
//
// client to server
// LordHavoc: my clc_ range, 50-59
#define clc_ackframe 50 // [int] framenumber
-#define clc_unusedlh1 51
+#define clc_ackdownloaddata 51 // [int] start [short] size (note: exact echo of latest values received in svc_downloaddata, packet-loss handling is in the server)
#define clc_unusedlh2 52
#define clc_unusedlh3 53
#define clc_unusedlh4 54
}
entityframeqw_database_t;
+entityframeqw_database_t *EntityFrameQW_AllocDatabase(mempool_t *pool);
+void EntityFrameQW_FreeDatabase(entityframeqw_database_t *d);
void EntityStateQW_ReadPlayerUpdate(void);
void EntityFrameQW_CL_ReadFrame(qboolean delta);