Added headlight, neon light and custom tire options to LSC. (#332)

This commit is contained in:
aa15032261
2022-07-14 22:16:30 +08:00
committed by GitHub
parent 44745c09d4
commit bbd1af8738
19 changed files with 1101 additions and 411 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1,10 +1,10 @@
#include "core/data/speedo_meters.hpp"
#include "fiber_pool.hpp"
#include "gui/handling/handling_tabs.hpp"
#include "script.hpp"
#include "util/vehicle.hpp"
#include "views/view.hpp"
#include "util/mobile.hpp"
#include "core/data/speed_units.hpp"
namespace big
{
@ -23,7 +23,7 @@ namespace big
ImGui::Separator();
components::button("Teleport to PV", [] {
components::button("Teleport in PV", [] {
Vehicle veh = globals::get_personal_vehicle();
teleport::into_vehicle(veh);
});
@ -125,29 +125,33 @@ namespace big
ImGui::Separator();
components::small_text("Speed Unit");
ImGui::RadioButton(
speed_unit_strings[(int)SpeedUnit::KMPH].c_str(),
(int*)&g->vehicle.speed_unit,
(int)SpeedUnit::KMPH
);
ImGui::SameLine();
ImGui::RadioButton(
speed_unit_strings[(int)SpeedUnit::MIPH].c_str(),
(int*)&g->vehicle.speed_unit,
(int)SpeedUnit::MIPH
);
ImGui::SameLine();
ImGui::RadioButton(
speed_unit_strings[(int)SpeedUnit::MPS].c_str(),
(int*)&g->vehicle.speed_unit,
(int)SpeedUnit::MPS
);
ImGui::Separator();
components::small_text("Speedo Meter");
SpeedoMeter* speed_meter_type_ptr = &g->vehicle.speedo_meter.type;
ImGui::Checkbox("Enabled", &g->vehicle.speedo_meter.enabled);
if (ImGui::BeginCombo("Format", speedo_meters[(int)*speed_meter_type_ptr].name))
{
for (const auto& speedo : speedo_meters)
{
if (ImGui::Selectable(speedo.name, speedo.id == *speed_meter_type_ptr))
{
*speed_meter_type_ptr = speedo.id;
}
if (speedo.id == *speed_meter_type_ptr)
{
ImGui::SetItemDefaultFocus();
}
}
ImGui::EndCombo();
}
if (*speed_meter_type_ptr != SpeedoMeter::DISABLED)
if (g->vehicle.speedo_meter.enabled)
{
ImGui::Text("Position (X, Y)");
@ -164,7 +168,6 @@ namespace big
ImGui::Checkbox("Left Sided", &g->vehicle.speedo_meter.left_side);
}
g->vehicle.proof_mask = 0;
if (g->vehicle.god_mode)
{

View File

@ -1,10 +1,10 @@
#include "core/data/speedo_meters.hpp"
#include "fiber_pool.hpp"
#include "gui/handling/handling_tabs.hpp"
#include "script.hpp"
#include "util/vehicle.hpp"
#include "views/view.hpp"
#include "util/mobile.hpp"
#include "core/data/speed_units.hpp"
namespace big
{
@ -28,7 +28,16 @@ namespace big
TASK::CLEAR_PED_TASKS(self::ped);
});
ImGui::SliderInt("Top Speed", &g->vehicle.auto_drive_speed, 1, 200);
float auto_drive_speed_user_unit = vehicle::mps_to_speed(g->vehicle.auto_drive_speed, g->vehicle.speed_unit);
if (ImGui::SliderFloat(
fmt::format("Top Speed({})", speed_unit_strings[(int)g->vehicle.speed_unit]).c_str(),
&auto_drive_speed_user_unit,
vehicle::mps_to_speed(0.f, g->vehicle.speed_unit),
vehicle::mps_to_speed(150.f, g->vehicle.speed_unit),
"%.1f"
)) {
g->vehicle.auto_drive_speed = vehicle::speed_to_mps(auto_drive_speed_user_unit, g->vehicle.speed_unit);
}
if (ImGui::BeginCombo("Driving Style", vehicle::driving_style_names[g->vehicle.driving_style_id]))
{
@ -37,6 +46,7 @@ namespace big
if (ImGui::Selectable(vehicle::driving_style_names[i], g->vehicle.driving_style_id == i))
{
g->vehicle.driving_style_id = i;
g->vehicle.driving_style_flags = vehicle::driving_styles[g->vehicle.driving_style_id];
g_notification_service->push_warning("Auto Drive", fmt::format("Driving style set to {}.", vehicle::driving_style_names[i]));
}
@ -98,6 +108,15 @@ namespace big
ImGui::EndGroup();
ImGui::SliderFloat("Speed", &g->vehicle.fly.speed, 1.f, 100.f, "%.0f", 1);
float fly_speed_user_unit = vehicle::mps_to_speed(g->vehicle.fly.speed, g->vehicle.speed_unit);
if (ImGui::SliderFloat(
fmt::format("Speed({})", speed_unit_strings[(int)g->vehicle.speed_unit]).c_str(),
&fly_speed_user_unit,
vehicle::mps_to_speed(0.f, g->vehicle.speed_unit),
vehicle::mps_to_speed(150.f, g->vehicle.speed_unit),
"%.1f"
)) {
g->vehicle.fly.speed = vehicle::speed_to_mps(fly_speed_user_unit, g->vehicle.speed_unit);
}
}
}