refactor: Modernized/optimized general code, bug fixing and more (#226)

* refactor: Use self globals

* refactor: Use gui::components

* fix(Vehicle Preview): Addresses #119

Previewed vehicle set to unclimbable

Only preview when hovered on vehicle

* fix(Infinite Clip): Disabling it now works

* fix(No Ragdoll): Disabling it now works

Removed unnecessary calls to natives (0xB128377056A54E2A should be enough)

* fix(Spawn): Wrong footer placement

* fix self globals file name typo

* refactor(Mobile): Clear ped tasks when set conditions are met

Only clear ped tasks if pv_teleport_into bool is true and ped is in a vehicle

* feat(Weapons): Remove current weapon

* refactor: Added missing variable in calls to self globals

* refactor: Utilize usage of ControllerInputs

* fix(Vehicle Fly): uninitialized local variable 'ped' used

* refactor(No Ragdoll, Infinite Clip): Only run on boolean change.

* refactor(Infinite Ammo): Simplified code

* refactor: Utilize ControllerInputs in other areas of code

* refactor: Utilize ControllerInputs in other areas of code
This commit is contained in:
karifeld
2022-05-23 06:38:45 +08:00
committed by GitHub
parent ce1d22a238
commit 04142b2d98
45 changed files with 353 additions and 269 deletions

View File

@ -26,7 +26,9 @@ namespace big
components::input_text_with_hint("Model Name", "Search", model, sizeof(model), ImGuiInputTextFlags_EnterReturnsTrue, []
{
const auto location = ENTITY::GET_OFFSET_FROM_ENTITY_IN_WORLD_COORDS(PLAYER::PLAYER_PED_ID(), 2.f, 2.f, 0.f);
Ped ped = self::ped;
const auto location = ENTITY::GET_OFFSET_FROM_ENTITY_IN_WORLD_COORDS(ped, 2.f, 2.f, 0.f);
const Vehicle veh = vehicle::spawn(model, location, g_local_player->m_player_info->m_ped->m_navigation->m_heading + 90.f);
if (g->spawn.spawn_inside)
@ -82,11 +84,13 @@ namespace big
if (g->spawn.preview_vehicle && ImGui::IsItemHovered())
g_vehicle_preview_service->set_preview_vehicle(item);
else if (g->spawn.preview_vehicle && !ImGui::IsAnyItemHovered())
g_vehicle_preview_service->stop_preview();
}
}
ImGui::ListBoxFooter();
}
else ImGui::Text("No vehicles in registry.");
ImGui::ListBoxFooter();
}
}
}

View File

@ -23,16 +23,14 @@ namespace big
ImGui::Checkbox("Seatbelt", &g->vehicle.seatbelt);
components::button("Repair", [] {
vehicle::repair(self::veh);
});
});
components::button("Instant in personal vehicle", [] {
if (!*g_pointers->m_is_session_started) return g_notification_service->push_warning("WARNING", "Go into GTA V Online to use this option");
vehicle::go_into_personal_vehicle();
});
});
if (ImGui::TreeNode("Paint"))
{
@ -53,29 +51,22 @@ namespace big
components::small_text("Auto Drive");
components::button("Drive To Waypoint", [] {
g->vehicle.auto_drive_to_waypoint = true;
});
});
components::button("Wander", [] {
g->vehicle.auto_drive_wander = true;
});
});
ImGui::SliderInt("Top Speed", &g->vehicle.auto_drive_speed, 1, 200);
components::button("E-Stop", [] {
QUEUE_JOB_BEGIN_CLAUSE()
{
g->vehicle.auto_drive_to_waypoint = false;
g->vehicle.auto_drive_wander = false;
VEHICLE::SET_VEHICLE_FORWARD_SPEED(self::veh, 0);
TASK::CLEAR_VEHICLE_TASKS_(self::veh);
TASK::CLEAR_PED_TASKS(self::ped);
}
QUEUE_JOB_END_CLAUSE
});
g->vehicle.auto_drive_to_waypoint = false;
g->vehicle.auto_drive_wander = false;
VEHICLE::SET_VEHICLE_FORWARD_SPEED(self::veh, 0);
TASK::CLEAR_VEHICLE_TASKS_(self::veh);
TASK::CLEAR_PED_TASKS(self::ped);
});
if (ImGui::ListBox("Driving Style", &g->vehicle.driving_style_id, vehicle::driving_style_names, 3))
{