From 294cbe18c17cd20f70f965e7f89a3250ef39b990 Mon Sep 17 00:00:00 2001 From: Magnus Auvinen Date: Sun, 10 Feb 2008 15:32:30 +0000 Subject: done some more latency work. added the extra message for projectiles to reduce latency --- src/game/client/gc_hooks.cpp | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) (limited to 'src/game/client/gc_hooks.cpp') diff --git a/src/game/client/gc_hooks.cpp b/src/game/client/gc_hooks.cpp index f04af5cb..4ab5cf6a 100644 --- a/src/game/client/gc_hooks.cpp +++ b/src/game/client/gc_hooks.cpp @@ -394,6 +394,15 @@ extern "C" void modc_statechange(int state, int old) } } + +obj_projectile extraproj_projectiles[MAX_EXTRA_PROJECTILES]; +int extraproj_num; + +void extraproj_reset() +{ + extraproj_num = 0; +} + extern "C" void modc_message(int msg) { if(msg == MSG_CHAT) @@ -409,6 +418,23 @@ extern "C" void modc_message(int msg) else snd_play(CHN_GUI, data->sounds[SOUND_CHAT_SERVER].sounds[0].id, 0); } + else if(msg == MSG_EXTRA_PROJECTILE) + { + int num = msg_unpack_int(); + + for(int k = 0; k < num; k++) + { + obj_projectile proj; + for(unsigned i = 0; i < sizeof(obj_projectile)/sizeof(int); i++) + ((int *)&proj)[i] = msg_unpack_int(); + + if(extraproj_num != MAX_EXTRA_PROJECTILES) + { + extraproj_projectiles[extraproj_num] = proj; + extraproj_num++; + } + } + } else if(msg == MSG_SETINFO) { int cid = msg_unpack_int(); @@ -487,8 +513,8 @@ extern "C" void modc_connected() //tilemap_init(); chat_reset(); - particle_reset(); + extraproj_reset(); clear_object_pointers(); last_new_predicted_tick = -1; -- cgit 1.4.1