+0 change csqc client: add float in_mouse_centered which indicates the engine should lock the mouse at the center of the window, only gathering relative motion (in_mouse_window_position stops being modified - it is not set to the center as that would be useless)
+0 change csqc client: add float in_mouse_keep_in_window which indicates whether engine should be currently restricting the mouse pointer to the window (useful in point and click games such as RTS games)
+0 change csqc client: add float in_mouse_show_system_cursor which indicates whether the system mouse pointer should be visible while over the window
+0 change csqc client: add svc_updatestatstring, svc_updatestatfloat, and keep 3 cl.stats arrays, of int, float, and string types respectively, store svc_updatestatstring in the string one, store all others in both int and float formats (KrimZon, Chris, Spike)
+0 change csqc client: add vector in_mouse_motion which indicates mouse movement since previous frame (even if in_mouse_window_position did not change, such as when in_mouse_centered is on)
+0 change csqc client: add vector in_mouse_window_position which indicates cursor position over the game window (real position of mouse in the window) - not updated if in_mouse_centered is true
+0 change csqc client: replace input_buttons with in_button0 and similar (matching server qc fields), auto-detect these at load
+0 change csqc server: change SendEntity to take the client as "other" rather than a parameter
+0 change csqc server: implement packet logging of csqc entities to deal with packet loss
+0 change csqc server: replace AddStat with RegisterStat and RegisterStatString, make them send float or string only, with string taking up only one stat slot and being sent using svc_updatestatstring, make it automatically send integer values as svc_updatestat/svc_updatestatubyte and non-integer values as svc_updatestatfloat (KrimZon, Chris, Spike)
+0 change csqc server: replace per-entity SendEntity function with a global SV_SendEntity function, because it does not make it sufficiently clear to modders that the .SendEntity function has no special meaning, that an ENT_ constant must be set up, and so on, it would be more clear if there was only a single global SV_SendEntity function, which can still call out to a .SendEntity or whatever if it wishes, but is more likely to do an if else on a .net_type field or similar (Urre)