From 1384bd600d19ad40e6b69f3dd0ed41deba9f79c6 Mon Sep 17 00:00:00 2001 From: "Quentin E. / iDeath" Date: Mon, 27 Jun 2022 15:42:53 +0200 Subject: [PATCH] Add vehicle jump (#290) --- BigBaseV2/src/backend/backend.hpp | 1 + BigBaseV2/src/backend/looped/looped.hpp | 1 + .../backend/looped/vehicle/vehicle_jump.cpp | 23 +++++++++++++++++++ BigBaseV2/src/core/globals.hpp | 3 +++ BigBaseV2/src/views/vehicle/view_vehicle.cpp | 1 + 5 files changed, 29 insertions(+) create mode 100644 BigBaseV2/src/backend/looped/vehicle/vehicle_jump.cpp diff --git a/BigBaseV2/src/backend/backend.hpp b/BigBaseV2/src/backend/backend.hpp index fe3e5ff1..0ed3c861 100644 --- a/BigBaseV2/src/backend/backend.hpp +++ b/BigBaseV2/src/backend/backend.hpp @@ -66,6 +66,7 @@ namespace big looped::vehicle_drive_on_water(); looped::vehicle_god_mode(); looped::vehicle_horn_boost(); + looped::vehicle_jump(); looped::vehicle_instant_brake(); looped::vehicle_is_targetable(); looped::vehicle_rainbow_paint(); diff --git a/BigBaseV2/src/backend/looped/looped.hpp b/BigBaseV2/src/backend/looped/looped.hpp index 176e698f..db95728d 100644 --- a/BigBaseV2/src/backend/looped/looped.hpp +++ b/BigBaseV2/src/backend/looped/looped.hpp @@ -45,6 +45,7 @@ namespace big static void vehicle_fly(); static void vehicle_god_mode(); static void vehicle_horn_boost(); + static void vehicle_jump(); static void vehicle_instant_brake(); static void vehicle_is_targetable(); static void vehicle_ls_customs(); diff --git a/BigBaseV2/src/backend/looped/vehicle/vehicle_jump.cpp b/BigBaseV2/src/backend/looped/vehicle/vehicle_jump.cpp new file mode 100644 index 00000000..0abc241b --- /dev/null +++ b/BigBaseV2/src/backend/looped/vehicle/vehicle_jump.cpp @@ -0,0 +1,23 @@ +#include "backend/looped/looped.hpp" +#include "gta/enums.hpp" +#include "natives.hpp" + +namespace big +{ + void looped::vehicle_jump() + { + if (!g->vehicle.vehicle_jump) return; + + const auto vehicle = self::veh; + + if (!vehicle || !ENTITY::IS_ENTITY_A_VEHICLE(vehicle)) + { + return; + } + + if (PAD::IS_CONTROL_JUST_PRESSED(0, (int)ControllerInputs::INPUT_VEH_HANDBRAKE)) + { + ENTITY::APPLY_FORCE_TO_ENTITY(vehicle, 1, 0.0, 0.0, 20, 0.0, 0.0, 0.0, 0, 0, 1, 1, 0, 1); + } + } +} diff --git a/BigBaseV2/src/core/globals.hpp b/BigBaseV2/src/core/globals.hpp index dd617191..393f54ad 100644 --- a/BigBaseV2/src/core/globals.hpp +++ b/BigBaseV2/src/core/globals.hpp @@ -214,6 +214,7 @@ namespace big bool drive_on_water = false; bool god_mode = false; bool horn_boost = false; + bool vehicle_jump = false; bool instant_brake = false; bool is_targetable = true; bool ls_customs = false; // don't save this to disk @@ -490,6 +491,7 @@ namespace big this->vehicle.driving_style_id = j["vehicle"]["driving_style"]; this->vehicle.god_mode = j["vehicle"]["god_mode"]; this->vehicle.horn_boost = j["vehicle"]["horn_boost"]; + this->vehicle.vehicle_jump = j["vehicle"]["vehicle_jump"]; this->vehicle.instant_brake = j["vehicle"]["instant_brake"]; this->vehicle.is_targetable = j["vehicle"]["is_targetable"]; this->vehicle.pv_teleport_into = j["vehicle"]["pv_teleport_into"]; @@ -728,6 +730,7 @@ namespace big { "driving_style", this->vehicle.driving_style_id }, { "god_mode", this->vehicle.god_mode }, { "horn_boost", this->vehicle.horn_boost }, + { "vehicle_jump", this->vehicle.vehicle_jump }, { "instant_brake", this->vehicle.instant_brake }, { "is_targetable", this->vehicle.is_targetable }, { "pv_teleport_into", this->vehicle.pv_teleport_into }, diff --git a/BigBaseV2/src/views/vehicle/view_vehicle.cpp b/BigBaseV2/src/views/vehicle/view_vehicle.cpp index e3f7dcc5..d3fd0661 100644 --- a/BigBaseV2/src/views/vehicle/view_vehicle.cpp +++ b/BigBaseV2/src/views/vehicle/view_vehicle.cpp @@ -13,6 +13,7 @@ namespace big ImGui::Checkbox("Can Be Targeted", &g->vehicle.is_targetable); ImGui::Checkbox("God Mode", &g->vehicle.god_mode); ImGui::Checkbox("Horn Boost", &g->vehicle.horn_boost); + ImGui::Checkbox("Vehicle Jump", &g->vehicle.vehicle_jump); ImGui::Checkbox("Instant Brake", &g->vehicle.instant_brake); ImGui::Checkbox("Drive On Water", &g->vehicle.drive_on_water);