about summary refs log tree commit diff
path: root/src/game/client/gc_hooks.cpp
diff options
context:
space:
mode:
authorMagnus Auvinen <magnus.auvinen@gmail.com>2008-02-10 15:32:30 +0000
committerMagnus Auvinen <magnus.auvinen@gmail.com>2008-02-10 15:32:30 +0000
commit294cbe18c17cd20f70f965e7f89a3250ef39b990 (patch)
treedb942402bd39bfb8336e2a2d134f96f2ad5b2ab1 /src/game/client/gc_hooks.cpp
parentacffe66ebe63f3ecc970db0feab33a6e85a7d1f4 (diff)
downloadzcatch-294cbe18c17cd20f70f965e7f89a3250ef39b990.tar.gz
zcatch-294cbe18c17cd20f70f965e7f89a3250ef39b990.zip
done some more latency work. added the extra message for projectiles to reduce latency
Diffstat (limited to 'src/game/client/gc_hooks.cpp')
-rw-r--r--src/game/client/gc_hooks.cpp28
1 files changed, 27 insertions, 1 deletions
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;