From 4389e574391e4b45c322ddc4a5518eebf6381075 Mon Sep 17 00:00:00 2001 From: I am Cypher <108661795+CypherMorgan@users.noreply.github.com> Date: Tue, 6 Jun 2023 01:02:49 +0530 Subject: [PATCH] feat: Add Disable siren (#1383) --- src/backend/looped/vehicle/disable_siren.cpp | 29 ++++++++++++++++++++ src/core/globals.hpp | 3 +- src/views/vehicle/view_vehicle.cpp | 2 ++ 3 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 src/backend/looped/vehicle/disable_siren.cpp diff --git a/src/backend/looped/vehicle/disable_siren.cpp b/src/backend/looped/vehicle/disable_siren.cpp new file mode 100644 index 00000000..8dcb3d05 --- /dev/null +++ b/src/backend/looped/vehicle/disable_siren.cpp @@ -0,0 +1,29 @@ +#include "backend/looped_command.hpp" +#include "natives.hpp" + +namespace big +{ + class siren_mute : looped_command + { + using looped_command::looped_command; + + virtual void on_tick() override + { + if (ENTITY::DOES_ENTITY_EXIST(self::veh)) + { + VEHICLE::SET_VEHICLE_HAS_MUTED_SIRENS(self::veh, true); // Enables muted siren state + } + } + + virtual void on_disable() override + { + if (ENTITY::DOES_ENTITY_EXIST(self::veh)) + { + VEHICLE::SET_VEHICLE_HAS_MUTED_SIRENS(self::veh, false); // Disables muted siren state + } + } + }; + + siren_mute g_siren_mute("mutesiren", "Mute Siren", "Disables the siren sound of Emergency vehicles", + g.vehicle.siren_mute); +} diff --git a/src/core/globals.hpp b/src/core/globals.hpp index a3e2bc16..099ad536 100644 --- a/src/core/globals.hpp +++ b/src/core/globals.hpp @@ -644,8 +644,9 @@ namespace big bool keep_on_ground = false; bool no_collision = false; bool unlimited_weapons = false; + bool siren_mute = false; - NLOHMANN_DEFINE_TYPE_INTRUSIVE(vehicle, speedo_meter, fly, rainbow_paint, speed_unit, god_mode, proof_bullet, proof_fire, proof_collision, proof_melee, proof_explosion, proof_steam, proof_water, proof_mask, auto_drive_destination, auto_drive_style, auto_drive_speed, auto_turn_signals, boost_behavior, drive_on_water, horn_boost, instant_brake, block_homing, seatbelt, turn_signals, vehicle_jump, keep_vehicle_repaired, no_water_collision, disable_engine_auto_start, change_engine_state_immediately, vehinvisibility, localveh_visibility, localped_visibility, keep_on_ground, no_collision, unlimited_weapons) + NLOHMANN_DEFINE_TYPE_INTRUSIVE(vehicle, speedo_meter, fly, rainbow_paint, speed_unit, god_mode, proof_bullet, proof_fire, proof_collision, proof_melee, proof_explosion, proof_steam, proof_water, proof_mask, auto_drive_destination, auto_drive_style, auto_drive_speed, auto_turn_signals, boost_behavior, drive_on_water, horn_boost, instant_brake, block_homing, seatbelt, turn_signals, vehicle_jump, keep_vehicle_repaired, no_water_collision, disable_engine_auto_start, change_engine_state_immediately, vehinvisibility, localveh_visibility, localped_visibility, keep_on_ground, no_collision, unlimited_weapons, siren_mute) } vehicle{}; struct weapons diff --git a/src/views/vehicle/view_vehicle.cpp b/src/views/vehicle/view_vehicle.cpp index dea7e0cc..c25cb981 100644 --- a/src/views/vehicle/view_vehicle.cpp +++ b/src/views/vehicle/view_vehicle.cpp @@ -93,6 +93,8 @@ namespace big components::command_checkbox<"driveunder">(); components::command_checkbox<"keeponground">(); + components::command_checkbox<"mutesiren">(); + ImGui::EndGroup(); } ImGui::Separator();