diff options
author | MirceaKitsune <sonichedgehog_hyperblast00@yahoo.com> | 2013-02-08 22:54:01 +0200 |
---|---|---|
committer | darkrose <lisa@ltmnet.com> | 2013-02-14 06:21:30 +1000 |
commit | df3c925b3ccae3bdba125e6dc3ecc740739baeab (patch) | |
tree | 869c7e587022e2873ab3d125a6fca0b60ffaafb6 /src/client.cpp | |
parent | 86b906d015ccde4e8f576a4e61d7c4ae8842b45d (diff) | |
download | minetest-df3c925b3ccae3bdba125e6dc3ecc740739baeab.tar.gz minetest-df3c925b3ccae3bdba125e6dc3ecc740739baeab.tar.bz2 minetest-df3c925b3ccae3bdba125e6dc3ecc740739baeab.zip |
Improved Player Physics
Diffstat (limited to 'src/client.cpp')
-rw-r--r-- | src/client.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/client.cpp b/src/client.cpp index 9969ef538..415f07311 100644 --- a/src/client.cpp +++ b/src/client.cpp @@ -1514,6 +1514,26 @@ void Client::ProcessData(u8 *data, u32 datasize, u16 sender_peer_id) } } } + else if(command == TOCLIENT_MOVEMENT) + { + std::string datastring((char*)&data[2], datasize-2); + std::istringstream is(datastring, std::ios_base::binary); + Player *player = m_env.getLocalPlayer(); + assert(player != NULL); + + player->movement_acceleration_default = readF1000(is) * BS; + player->movement_acceleration_air = readF1000(is) * BS; + player->movement_acceleration_fast = readF1000(is) * BS; + player->movement_speed_walk = readF1000(is) * BS; + player->movement_speed_crouch = readF1000(is) * BS; + player->movement_speed_fast = readF1000(is) * BS; + player->movement_speed_climb = readF1000(is) * BS; + player->movement_speed_jump = readF1000(is) * BS; + player->movement_liquid_fluidity = readF1000(is) * BS; + player->movement_liquid_fluidity_smooth = readF1000(is) * BS; + player->movement_liquid_sink = readF1000(is) * BS; + player->movement_gravity = readF1000(is) * BS; + } else if(command == TOCLIENT_HP) { std::string datastring((char*)&data[2], datasize-2); |