Ver código fonte

Fix player controls only being applied for the first move

TheTermos 4 anos atrás
pai
commit
ebb721a476
2 arquivos alterados com 4 adições e 4 exclusões
  1. 1 4
      src/client/client.cpp
  2. 3 0
      src/client/clientenvironment.cpp

+ 1 - 4
src/client/client.cpp

@@ -459,12 +459,9 @@ void Client::step(float dtime)
 	/*
 		Handle environment
 	*/
-	// Control local player (0ms)
 	LocalPlayer *player = m_env.getLocalPlayer();
-	assert(player);
-	player->applyControl(dtime, &m_env);
 
-	// Step environment
+	// Step environment (also handles player controls)
 	m_env.step(dtime);
 	m_sound->step(dtime);
 

+ 3 - 0
src/client/clientenvironment.cpp

@@ -216,6 +216,9 @@ void ClientEnvironment::step(float dtime)
 		*/
 
 		{
+			// Control local player
+			lplayer->applyControl(dtime_part, this);
+
 			// Apply physics
 			if (!free_move && !is_climbing) {
 				// Gravity