diff --git a/include/Cubed/gameplay/player.hpp b/include/Cubed/gameplay/player.hpp index b3a9322..2dba631 100644 --- a/include/Cubed/gameplay/player.hpp +++ b/include/Cubed/gameplay/player.hpp @@ -34,6 +34,7 @@ private: float m_max_speed = m_max_walk_speed; float m_y_speed = 0.0f; + float m_fly_y_speed = 7.5f; bool can_up = true; float space_on_time = 0.0f; @@ -99,6 +100,7 @@ public: float& acceleration(); float& deceleration(); float& g(); + float& fly_y_speed(); unsigned place_block() const; diff --git a/src/dev_panel.cpp b/src/dev_panel.cpp index 7ac6341..549b06f 100644 --- a/src/dev_panel.cpp +++ b/src/dev_panel.cpp @@ -565,6 +565,8 @@ void DevPanel::show_player_tab_item() { m_player_profile.pos[1], m_player_profile.pos[2]}); } + ImGui::SliderFloat("Fly Y Speed", &m_player->fly_y_speed(), 0.0f, + 100.0f); ImGui::SliderFloat("Acceleration", &m_player->acceleration(), 1.0f, 200.0f); ImGui::SliderFloat("Deceleration", &m_player->deceleration(), 1.0f, diff --git a/src/gameplay/player.cpp b/src/gameplay/player.cpp index 68793a7..af9debc 100644 --- a/src/gameplay/player.cpp +++ b/src/gameplay/player.cpp @@ -372,11 +372,11 @@ void Player::update_move(float delta_time) { if (is_fly) { if (m_move_state.up) { - m_y_speed = 7.5f; + m_y_speed = m_fly_y_speed; } if (m_move_state.down) { - m_y_speed = -7.5f; + m_y_speed = -m_fly_y_speed; } if (!m_move_state.down && !m_move_state.up) { @@ -544,6 +544,7 @@ float& Player::max_speed() { return m_max_speed; } float& Player::acceleration() { return m_acceleration; } float& Player::deceleration() { return m_deceleration; } float& Player::g() { return m_g; } +float& Player::fly_y_speed() { return m_fly_y_speed; } unsigned Player::place_block() const { return m_place_block; }; Gait& Player::gait() { return m_gait; } GameMode& Player::game_mode() { return m_game_mode; }