about summary refs log tree commit diff
path: root/src/game/server
diff options
context:
space:
mode:
Diffstat (limited to 'src/game/server')
-rw-r--r--src/game/server/game_server.cpp7
-rw-r--r--src/game/server/srv_common.h1
2 files changed, 8 insertions, 0 deletions
diff --git a/src/game/server/game_server.cpp b/src/game/server/game_server.cpp
index eba15f2b..ebd5dff3 100644
--- a/src/game/server/game_server.cpp
+++ b/src/game/server/game_server.cpp
@@ -383,6 +383,7 @@ void player::reset()
 
 	mem_zero(&input, sizeof(input));
 	mem_zero(&previnput, sizeof(previnput));
+	num_inputs = 0;
 
 	last_action = -1;
 
@@ -913,6 +914,11 @@ int player::handle_weapons()
 
 void player::tick()
 {
+	// check if we have enough input
+	// this is to prevent initial weird clicks
+	if(num_inputs < 2)
+		previnput = input;
+	
 	// do latency stuff
 	{
 		CLIENT_INFO info;
@@ -1540,6 +1546,7 @@ void mods_client_input(int client_id, void *input)
 
 		//players[client_id].previnput = players[client_id].input;
 		players[client_id].input = *(player_input*)input;
+		players[client_id].num_inputs++;
 	}
 }
 
diff --git a/src/game/server/srv_common.h b/src/game/server/srv_common.h
index 16c78d3f..80a5260b 100644
--- a/src/game/server/srv_common.h
+++ b/src/game/server/srv_common.h
@@ -260,6 +260,7 @@ public:
 	// input	
 	player_input previnput;
 	player_input input;
+	int num_inputs;
 	int jumped;
 	
 	int damage_taken_tick;