From 6c1e821d6087745ede565e65dd9e22e379e394cf Mon Sep 17 00:00:00 2001 From: T14D3 <73843330+T14D3@users.noreply.github.com> Date: Sat, 19 Aug 2023 13:01:59 +0200 Subject: [PATCH] Various fixes (#1983) * Closes #1928 * Closes #1925 * Closes #1864 --- src/backend/looped/vehicle/turn_signals.cpp | 25 +++++++++++++++++-- .../looped/weapons/increase_damage.cpp | 6 +++++ src/core/data/lsc_types.hpp | 3 ++- src/gta/vehicle_values.hpp | 6 ++--- 4 files changed, 34 insertions(+), 6 deletions(-) diff --git a/src/backend/looped/vehicle/turn_signals.cpp b/src/backend/looped/vehicle/turn_signals.cpp index c2d77e4b..0576f99b 100644 --- a/src/backend/looped/vehicle/turn_signals.cpp +++ b/src/backend/looped/vehicle/turn_signals.cpp @@ -37,6 +37,8 @@ namespace big std::optional queued_left_turn_signal; std::optional queued_right_turn_signal; bool hazzards = false; + bool left; + bool right; void update_key_state(key_state& key_last_tick) { @@ -99,6 +101,10 @@ namespace big VEHICLE::SET_VEHICLE_INDICATOR_LIGHTS(self::veh, signal_state::left, on); VEHICLE::SET_VEHICLE_INDICATOR_LIGHTS(self::veh, signal_state::right, off); break; + + default: + VEHICLE::SET_VEHICLE_INDICATOR_LIGHTS(self::veh, signal_state::left, off); + VEHICLE::SET_VEHICLE_INDICATOR_LIGHTS(self::veh, signal_state::right, off); } } } @@ -112,18 +118,33 @@ namespace big { update_key_states(); - if (left_signal_key.state == key_state::just_pressed || g.vehicle.auto_turn_signals && PAD::IS_CONTROL_PRESSED(0, (int)ControllerInputs::INPUT_VEH_MOVE_LEFT_ONLY) + + if (left_signal_key.state == key_state::just_pressed && !left || g.vehicle.auto_turn_signals && PAD::IS_CONTROL_PRESSED(0, (int)ControllerInputs::INPUT_VEH_MOVE_LEFT_ONLY) || queued_left_turn_signal.has_value() && queued_left_turn_signal.value() - std::chrono::system_clock::now() > 1500ms) { set_turn_signals(signal_state::left, true); queued_left_turn_signal = std::nullopt; + left = true; } - if (right_signal_key.state == key_state::just_pressed || g.vehicle.auto_turn_signals && PAD::IS_CONTROL_PRESSED(0, (int)ControllerInputs::INPUT_VEH_MOVE_RIGHT_ONLY) + else if (left_signal_key.state == key_state::just_pressed && left || !g.vehicle.turn_signals) + { + set_turn_signals(signal_state::left, false); + left = false; + } + + if (right_signal_key.state == key_state::just_pressed && !right || g.vehicle.auto_turn_signals && PAD::IS_CONTROL_PRESSED(0, (int)ControllerInputs::INPUT_VEH_MOVE_RIGHT_ONLY) || queued_right_turn_signal.has_value() && queued_right_turn_signal.value() - std::chrono::system_clock::now() > 1500ms) { set_turn_signals(signal_state::right, true); queued_right_turn_signal = std::nullopt; + right = true; + } + + else if (right_signal_key.state == key_state::just_pressed && right || !g.vehicle.turn_signals) + { + set_turn_signals(signal_state::right, false); + right = false; } if (hazzards_key.state == key_state::just_pressed && !hazzards) diff --git a/src/backend/looped/weapons/increase_damage.cpp b/src/backend/looped/weapons/increase_damage.cpp index 66272084..719d1050 100644 --- a/src/backend/looped/weapons/increase_damage.cpp +++ b/src/backend/looped/weapons/increase_damage.cpp @@ -25,6 +25,12 @@ namespace big WEAPON::SET_WEAPON_DAMAGE_MODIFIER(weapon, g.weapons.increased_damage); } } + virtual void on_disable() override + { + Hash weapon{}; + WEAPON::GET_CURRENT_PED_WEAPON(self::ped, &weapon, 0); + WEAPON::SET_WEAPON_DAMAGE_MODIFIER(weapon, 1); + } }; increased_damage diff --git a/src/core/data/lsc_types.hpp b/src/core/data/lsc_types.hpp index c8ce988d..f80eaa81 100644 --- a/src/core/data/lsc_types.hpp +++ b/src/core/data/lsc_types.hpp @@ -160,7 +160,7 @@ static const std::map lsc_headlight_colors = { {XENON_PONY_PINK, "Pony Pink"}, {XENON_HOT_PINK, "Hot Pink"}, {XENON_PURPLE, "Purple"}, - {XENON_BACKLIGHT, "Backlight"}, + {XENON_BLACKLIGHT, "Blacklight"}, }; static const std::map lsc_missing_horns = { @@ -201,4 +201,5 @@ static const std::map> lsc_neon_rgb = { {"Pony Pink", {NEON_COLOR_PONYPINK}}, {"Hot Pink", {NEON_COLOR_HOTPINK}}, {"Purple", {NEON_COLOR_PURPLE}}, + {"Blacklight", {NEON_COLOR_BLACKLIGHT}}, }; diff --git a/src/gta/vehicle_values.hpp b/src/gta/vehicle_values.hpp index 3ba418a2..d5729038 100644 --- a/src/gta/vehicle_values.hpp +++ b/src/gta/vehicle_values.hpp @@ -690,7 +690,7 @@ enum HeadlightColors XENON_PONY_PINK, XENON_HOT_PINK, XENON_PURPLE, - XENON_BACKLIGHT + XENON_BLACKLIGHT }; #define NEON_COLOR_WHITE 222, 222, 255 @@ -702,10 +702,10 @@ enum HeadlightColors #define NEON_COLOR_GOLDENSHOWER 255, 150, 5 #define NEON_COLOR_ORANGE 255, 62, 0 #define NEON_COLOR_RED 255, 1, 1 -#define NEON_COLOR_PONYPINK 255, 50, 100//Fag +#define NEON_COLOR_PONYPINK 255, 50, 100 #define NEON_COLOR_HOTPINK 255, 5, 190 #define NEON_COLOR_PURPLE 35, 1, 255 -#define NEON_COLOR_BACKLIGHT 15, 3, 255 +#define NEON_COLOR_BLACKLIGHT 15, 3, 255 #define TIRESMOKE_COLOR_WHITE 255, 255, 255 #define TIRESMOKE_COLOR_BLACK 20, 20, 20