diff options
author | Elias Fleckenstein <eliasfleckenstein@web.de> | 2022-06-07 03:19:05 +0200 |
---|---|---|
committer | Elias Fleckenstein <eliasfleckenstein@web.de> | 2022-06-07 03:19:05 +0200 |
commit | b11c0a6721cd884d78b38b63797dfdb933004e03 (patch) | |
tree | 629c49cda2995fafef2bf345abf31b39bd21ff69 /src/client/clientmap.cpp | |
parent | 827b9f8d7054158b058679999d77c1345162a293 (diff) | |
parent | edc7df54801ab3bf30f96ac5aad6ce11a102f6b9 (diff) | |
download | dragonfireclient-b11c0a6721cd884d78b38b63797dfdb933004e03.tar.xz |
Merge branch 'master' of https://github.com/minetest/minetest
Diffstat (limited to 'src/client/clientmap.cpp')
-rw-r--r-- | src/client/clientmap.cpp | 24 |
1 files changed, 10 insertions, 14 deletions
diff --git a/src/client/clientmap.cpp b/src/client/clientmap.cpp index 85b765709..3a89b8803 100644 --- a/src/client/clientmap.cpp +++ b/src/client/clientmap.cpp @@ -219,13 +219,11 @@ void ClientMap::updateDrawList() // Number of blocks occlusion culled u32 blocks_occlusion_culled = 0; - // No occlusion culling when free_move is on and camera is - // inside ground + // No occlusion culling when free_move is on and camera is inside ground bool occlusion_culling_enabled = true; - if ((g_settings->getBool("free_move") && g_settings->getBool("noclip")) || g_settings->getBool("freecam")) { + if (m_control.allow_noclip || g_settings->getBool("freecam")) { MapNode n = getNode(cam_pos_nodes); - if (n.getContent() == CONTENT_IGNORE || - m_nodedef->get(n).solidness == 2) + if (n.getContent() == CONTENT_IGNORE || m_nodedef->get(n).solidness == 2) occlusion_culling_enabled = false; } @@ -678,19 +676,17 @@ void ClientMap::renderPostFx(CameraMode cam_mode) MapNode n = getNode(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. - // - Do not if player is in third person mode const ContentFeatures& features = m_nodedef->get(n); video::SColor post_effect_color = features.post_effect_color; - if(features.solidness == 2 && !((g_settings->getBool("noclip") || g_settings->getBool("freecam")) && - (m_client->checkLocalPrivilege("noclip") || g_settings->getBool("freecam"))) && - cam_mode == CAMERA_MODE_FIRST) - { + + // If the camera is in a solid node, make everything black. + // (first person mode only) + if (features.solidness == 2 && cam_mode == CAMERA_MODE_FIRST && + !(m_control.allow_noclip || g_settings->getBool("freecam"))) { post_effect_color = video::SColor(255, 0, 0, 0); } - if (post_effect_color.getAlpha() != 0) - { + + if (post_effect_color.getAlpha() != 0) { // Draw a full-screen rectangle video::IVideoDriver* driver = SceneManager->getVideoDriver(); v2u32 ss = driver->getScreenSize(); |