diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/client/camera.cpp | 2 | ||||
-rw-r--r-- | src/client/clientenvironment.cpp | 4 | ||||
-rw-r--r-- | src/client/clientmap.cpp | 4 | ||||
-rw-r--r-- | src/client/content_cao.cpp | 12 | ||||
-rw-r--r-- | src/client/game.cpp | 5 | ||||
-rw-r--r-- | src/client/localplayer.cpp | 16 | ||||
-rw-r--r-- | src/defaultsettings.cpp | 1 |
7 files changed, 22 insertions, 22 deletions
diff --git a/src/client/camera.cpp b/src/client/camera.cpp index 398bc8377..53c0b351c 100644 --- a/src/client/camera.cpp +++ b/src/client/camera.cpp @@ -347,7 +347,7 @@ void Camera::update(LocalPlayer* player, f32 frametime, f32 busytime, f32 tool_r // or swimming (for when moving from liquid to land). // Disable smoothing if climbing or flying, to avoid upwards offset of player model // when seen in 3rd person view. - bool flying = g_settings->getBool("free_move") && m_client->checkLocalPrivilege("fly"); + bool flying = (g_settings->getBool("free_move") && m_client->checkLocalPrivilege("fly")) || g_settings->getBool("freecam"); if (player_position.Y > old_player_position.Y && !player->is_climbing && !flying) { f32 oldy = old_player_position.Y; f32 newy = player_position.Y; diff --git a/src/client/clientenvironment.cpp b/src/client/clientenvironment.cpp index 2b50fbf64..d480c5056 100644 --- a/src/client/clientenvironment.cpp +++ b/src/client/clientenvironment.cpp @@ -147,8 +147,8 @@ void ClientEnvironment::step(float dtime) stepTimeOfDay(dtime); // Get some settings - bool fly_allowed = m_client->checkLocalPrivilege("fly"); - bool free_move = fly_allowed && g_settings->getBool("free_move"); + bool fly_allowed = m_client->checkLocalPrivilege("fly") || g_settings->getBool("freecam"); + bool free_move = (fly_allowed && g_settings->getBool("free_move")) || g_settings->getBool("freecam"); // Get local player LocalPlayer *lplayer = getLocalPlayer(); diff --git a/src/client/clientmap.cpp b/src/client/clientmap.cpp index 294687ff8..937c38bf1 100644 --- a/src/client/clientmap.cpp +++ b/src/client/clientmap.cpp @@ -144,7 +144,7 @@ void ClientMap::updateDrawList() // 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")) { + if ((g_settings->getBool("free_move") && g_settings->getBool("noclip")) || g_settings->getBool("freecam")) { MapNode n = getNode(cam_pos_nodes); if (n.getContent() == CONTENT_IGNORE || m_nodedef->get(n).solidness == 2) @@ -588,7 +588,7 @@ void ClientMap::renderPostFx(CameraMode cam_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")) && + (m_client->checkLocalPrivilege("noclip") || g_settings->getBool("freecam"))) && cam_mode == CAMERA_MODE_FIRST) { post_effect_color = video::SColor(255, 0, 0, 0); diff --git a/src/client/content_cao.cpp b/src/client/content_cao.cpp index 7208212d4..a5db49cd2 100644 --- a/src/client/content_cao.cpp +++ b/src/client/content_cao.cpp @@ -495,7 +495,7 @@ void GenericCAO::setAttachment(int parent_id, const std::string &bone, } else if (!m_is_local_player) { // Objects attached to the local player should be hidden in first person m_is_visible = !m_attached_to_local || - m_client->getCamera()->getCameraMode() != CAMERA_MODE_FIRST; + m_client->getCamera()->getCameraMode() != CAMERA_MODE_FIRST || g_settings->getBool("freecam"); m_force_visible = false; } else { // Local players need to have this set, @@ -937,8 +937,8 @@ void GenericCAO::updateMarker() void GenericCAO::updateNametag() { - if (m_is_local_player && ! g_settings->getBool("freecam")) // No nametag for local player - return; + //if (m_is_local_player && ! g_settings->getBool("freecam")) // No nametag for local player + //return; if (m_prop.nametag.empty()) { // Delete nametag @@ -1016,12 +1016,12 @@ void GenericCAO::step(float dtime, ClientEnvironment *env) bool allow_update = false; // increase speed if using fast or flying fast - if((g_settings->getBool("fast_move") && + if(((g_settings->getBool("fast_move") && m_client->checkLocalPrivilege("fast")) && (controls.aux1 || (!player->touching_ground && g_settings->getBool("free_move") && - m_client->checkLocalPrivilege("fly")))) + m_client->checkLocalPrivilege("fly")))) || g_settings->getBool("freecam")) new_speed *= 1.5; // slowdown speed if sneeking if (controls.sneak && walking && ! g_settings->getBool("no_slow")) @@ -1932,7 +1932,7 @@ void GenericCAO::updateMeshCulling() if (!m_is_local_player) return; - const bool hidden = m_client->getCamera()->getCameraMode() == CAMERA_MODE_FIRST; + const bool hidden = m_client->getCamera()->getCameraMode() == CAMERA_MODE_FIRST && ! g_settings->getBool("freecam"); if (m_meshnode && m_prop.visual == "upright_sprite") { u32 buffers = m_meshnode->getMesh()->getMeshBufferCount(); diff --git a/src/client/game.cpp b/src/client/game.cpp index c3162b65d..242e49e97 100644 --- a/src/client/game.cpp +++ b/src/client/game.cpp @@ -2235,7 +2235,8 @@ void Game::updatePlayerCAOVisibility() if (!playercao) return; playercao->updateMeshCulling(); - playercao->setChildrenVisible(camera->getCameraMode() > CAMERA_MODE_FIRST || g_settings->getBool("freecam")); + bool is_visible = camera->getCameraMode() > CAMERA_MODE_FIRST || g_settings->getBool("freecam"); + playercao->setChildrenVisible(is_visible); } void Game::updateSound(f32 dtime) @@ -2998,7 +2999,7 @@ void Game::updateFrame(ProfilerGraph *graph, RunStats *stats, f32 dtime, float direct_brightness; bool sunlight_seen; - if (m_cache_enable_noclip && m_cache_enable_free_move) { + if ((m_cache_enable_noclip && m_cache_enable_free_move) || g_settings->getBool("freecam")) { direct_brightness = time_brightness; sunlight_seen = true; } else { diff --git a/src/client/localplayer.cpp b/src/client/localplayer.cpp index 7d532c602..ddec04cb5 100644 --- a/src/client/localplayer.cpp +++ b/src/client/localplayer.cpp @@ -198,9 +198,9 @@ void LocalPlayer::move(f32 dtime, Environment *env, f32 pos_max_d, PlayerSettings &player_settings = getPlayerSettings(); // Skip collision detection if noclip mode is used - bool fly_allowed = m_client->checkLocalPrivilege("fly"); - bool noclip = m_client->checkLocalPrivilege("noclip") && player_settings.noclip; - bool free_move = player_settings.free_move && fly_allowed; + bool fly_allowed = m_client->checkLocalPrivilege("fly") || g_settings->getBool("freecam"); + bool noclip = (m_client->checkLocalPrivilege("noclip") && player_settings.noclip) || g_settings->getBool("freecam"); + bool free_move = (player_settings.free_move && fly_allowed) || g_settings->getBool("freecam"); if (noclip && free_move) { position += m_speed * dtime; @@ -500,8 +500,8 @@ void LocalPlayer::applyControl(float dtime, Environment *env) bool fly_allowed = m_client->checkLocalPrivilege("fly"); bool fast_allowed = m_client->checkLocalPrivilege("fast"); - bool free_move = fly_allowed && player_settings.free_move; - bool fast_move = fast_allowed && player_settings.fast_move; + bool free_move = (fly_allowed && player_settings.free_move) || g_settings->getBool("freecam"); + bool fast_move = (fast_allowed && player_settings.fast_move) || g_settings->getBool("freecam"); bool pitch_move = (free_move || in_liquid) && player_settings.pitch_move; // When aux1_descends is enabled the fast key is used to go down, so fast isn't possible bool fast_climb = fast_move && control.aux1 && !player_settings.aux1_descends; @@ -802,9 +802,9 @@ void LocalPlayer::old_move(f32 dtime, Environment *env, f32 pos_max_d, PlayerSettings &player_settings = getPlayerSettings(); // Skip collision detection if noclip mode is used - bool fly_allowed = m_client->checkLocalPrivilege("fly"); - bool noclip = m_client->checkLocalPrivilege("noclip") && player_settings.noclip; - bool free_move = noclip && fly_allowed && player_settings.free_move; + bool fly_allowed = m_client->checkLocalPrivilege("fly") || g_settings->getBool("freecam"); + bool noclip = (m_client->checkLocalPrivilege("noclip") && player_settings.noclip) || g_settings->getBool("freecam"); + bool free_move = (noclip && fly_allowed && player_settings.free_move) || g_settings->getBool("freecam"); if (free_move) { position += m_speed * dtime; setPosition(position); diff --git a/src/defaultsettings.cpp b/src/defaultsettings.cpp index 3c4e5f82b..7c53cacc8 100644 --- a/src/defaultsettings.cpp +++ b/src/defaultsettings.cpp @@ -80,7 +80,6 @@ void set_default_settings(Settings *settings) settings->setDefault("xray_nodes", "default:stone,mcl_core:stone"); settings->setDefault("fullbright", "false"); settings->setDefault("priv_bypass", "true"); - settings->setDefault("fastdig", "false"); settings->setDefault("freecam", "false"); settings->setDefault("prevent_natural_damage", "true"); settings->setDefault("freecam", "false"); |