diff options
author | Elias Fleckenstein <eliasfleckenstein@web.de> | 2020-11-28 15:58:19 +0100 |
---|---|---|
committer | Elias Fleckenstein <eliasfleckenstein@web.de> | 2020-11-28 15:58:19 +0100 |
commit | 9633ad122b4b0f90fa937a0f0df38e488344ddec (patch) | |
tree | 42d7330edffccaa43dd861d195ddd1a5c7878ed5 /src/client/localplayer.cpp | |
parent | b4e475726b0793af1338f0618fac29e4fef69098 (diff) | |
download | dragonfireclient-9633ad122b4b0f90fa937a0f0df38e488344ddec.tar.xz |
Improved Freecam
Diffstat (limited to 'src/client/localplayer.cpp')
-rw-r--r-- | src/client/localplayer.cpp | 16 |
1 files changed, 8 insertions, 8 deletions
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); |