]> git.lizzy.rs Git - minetest.git/blobdiff - src/client.cpp
Add download rate to media progress bar (non http mode only!)
[minetest.git] / src / client.cpp
index 5b3ebed66e0322a12ee5abe910a48ab1b73f19f6..a4fabfa619f675785052a5f5c690fe8aaca97ef2 100644 (file)
@@ -169,6 +169,8 @@ void * MeshUpdateThread::Thread()
        
        BEGIN_DEBUG_EXCEPTION_HANDLER
 
+       porting::setThreadName("MeshUpdateThread");
+
        while(!StopRequested())
        {
                QueuedMeshUpdate *q = m_queue_in.pop();
@@ -1212,7 +1214,7 @@ void Client::ProcessData(u8 *data, u32 datasize, u16 sender_peer_id)
                m_time_of_day_set = true;
 
                u32 dr = m_env.getDayNightRatio();
-               verbosestream<<"Client: time_of_day="<<time_of_day
+               infostream<<"Client: time_of_day="<<time_of_day
                                <<" time_speed="<<time_speed
                                <<" dr="<<dr<<std::endl;
        }
@@ -1912,6 +1914,31 @@ void Client::ProcessData(u8 *data, u32 datasize, u16 sender_peer_id)
                event.override_day_night_ratio.ratio_f     = day_night_ratio_f;
                m_client_event_queue.push_back(event);
        }
+       else if(command == TOCLIENT_LOCAL_PLAYER_ANIMATIONS)
+       {
+               std::string datastring((char *)&data[2], datasize - 2);
+               std::istringstream is(datastring, std::ios_base::binary);
+
+               LocalPlayer *player = m_env.getLocalPlayer();
+               assert(player != NULL);
+
+               player->local_animations[0] = readV2S32(is);
+               player->local_animations[1] = readV2S32(is);
+               player->local_animations[2] = readV2S32(is);
+               player->local_animations[3] = readV2S32(is);
+               player->local_animation_speed = readF1000(is);
+       }
+       else if(command == TOCLIENT_EYE_OFFSET)
+       {
+               std::string datastring((char *)&data[2], datasize - 2);
+               std::istringstream is(datastring, std::ios_base::binary);
+
+               LocalPlayer *player = m_env.getLocalPlayer();
+               assert(player != NULL);
+
+               player->eye_offset_first = readV3F1000(is);
+               player->eye_offset_third = readV3F1000(is);
+       }
        else
        {
                infostream<<"Client: Ignoring unknown command "
@@ -2671,6 +2698,18 @@ float Client::getRTT(void)
        return m_con.getPeerStat(PEER_ID_SERVER,con::AVG_RTT);
 }
 
+float Client::getCurRate(void)
+{
+       return ( m_con.getLocalStat(con::CUR_INC_RATE) +
+                       m_con.getLocalStat(con::CUR_DL_RATE));
+}
+
+float Client::getAvgRate(void)
+{
+       return ( m_con.getLocalStat(con::AVG_INC_RATE) +
+                       m_con.getLocalStat(con::AVG_DL_RATE));
+}
+
 // IGameDef interface
 // Under envlock
 IItemDefManager* Client::getItemDefManager()