diff options
author | Kahrl <kahrl@gmx.net> | 2016-02-07 04:24:24 +0100 |
---|---|---|
committer | paramat <mat.gregory@virginmedia.com> | 2016-02-09 07:16:00 +0000 |
commit | 180893e79dd358d2f8f720b200a62daa2838e341 (patch) | |
tree | 3bde44395154228069fd9392bf53905a5d9c2926 | |
parent | 4adbd69a3701608876b50665ed3f7a150750d26e (diff) | |
download | minetest-180893e79dd358d2f8f720b200a62daa2838e341.tar.gz minetest-180893e79dd358d2f8f720b200a62daa2838e341.tar.bz2 minetest-180893e79dd358d2f8f720b200a62daa2838e341.zip |
Remove ClientMap::m_camera_mutex
All places that lock this mutex are only called by the main thread:
ClientMap::updateCamera(), ClientMap::updateDrawList(), ClientMap::renderMap(), ClientMap::renderPostFx().
-rw-r--r-- | src/clientmap.cpp | 11 | ||||
-rw-r--r-- | src/clientmap.h | 2 |
2 files changed, 1 insertions, 12 deletions
diff --git a/src/clientmap.cpp b/src/clientmap.cpp index b865c2780..024f2a266 100644 --- a/src/clientmap.cpp +++ b/src/clientmap.cpp @@ -157,12 +157,9 @@ void ClientMap::updateDrawList(video::IVideoDriver* driver) } m_drawlist.clear(); - m_camera_mutex.lock(); v3f camera_position = m_camera_position; v3f camera_direction = m_camera_direction; f32 camera_fov = m_camera_fov; - //v3s16 camera_offset = m_camera_offset; - m_camera_mutex.unlock(); // Use a higher fov to accomodate faster camera movements. // Blocks are cropped better when they are drawn. @@ -433,11 +430,9 @@ void ClientMap::renderMap(video::IVideoDriver* driver, s32 pass) int crack = m_client->getCrackLevel(); u32 daynight_ratio = m_client->getEnv().getDayNightRatio(); - m_camera_mutex.lock(); v3f camera_position = m_camera_position; v3f camera_direction = m_camera_direction; f32 camera_fov = m_camera_fov; - m_camera_mutex.unlock(); /* Get all blocks and draw all visible ones @@ -799,11 +794,7 @@ void ClientMap::renderPostFx(CameraMode cam_mode) // Sadly ISceneManager has no "post effects" render pass, in that case we // could just register for that and handle it in renderMap(). - m_camera_mutex.lock(); - v3f camera_position = m_camera_position; - m_camera_mutex.unlock(); - - MapNode n = getNodeNoEx(floatToInt(camera_position, BS)); + MapNode n = getNodeNoEx(floatToInt(m_camera_position, BS)); // - If the player is in a solid node, make everything black. // - If the player is in liquid, draw a semi-transparent overlay. diff --git a/src/clientmap.h b/src/clientmap.h index 54d1dc96d..d9239b52e 100644 --- a/src/clientmap.h +++ b/src/clientmap.h @@ -89,7 +89,6 @@ public: void updateCamera(v3f pos, v3f dir, f32 fov, v3s16 offset) { - MutexAutoLock lock(m_camera_mutex); m_camera_position = pos; m_camera_direction = dir; m_camera_fov = fov; @@ -149,7 +148,6 @@ private: v3f m_camera_direction; f32 m_camera_fov; v3s16 m_camera_offset; - Mutex m_camera_mutex; std::map<v3s16, MapBlock*> m_drawlist; |