Add more spoofing options and added clang-format (#1020)

* feat(Spoofing): add spoofing
* feat(Spoofing): prepare code for player attach
* remove(PlayerAttach): isn't going to work due to netsync architecture
* fix(GUI): fix scaling
* feat(Project): add clang-format file
* feat(Classes): update classes
* fix(BlackHole): remove unnecessary cleanup
* fix(Formatting): fix formatting for initializer lists
* feat(clang-format): Set tab width and 1 space before comment

Co-authored-by: Yimura <24669514+Yimura@users.noreply.github.com>
This commit is contained in:
maybegreat48
2023-03-01 21:27:15 +00:00
committed by GitHub
parent 92aea20cd6
commit 97a8c5d60b
466 changed files with 55224 additions and 35596 deletions

View File

@ -1,10 +1,11 @@
#include "core/data/lsc_types.hpp"
#include "fiber_pool.hpp"
#include "natives.hpp"
#include "script.hpp"
#include "services/vehicle_helper/vehicle_helper.hpp"
#include "core/data/lsc_types.hpp"
#include "views/view.hpp"
#include "util/vehicle.hpp"
#include "views/view.hpp"
#include <imgui_internal.h>
namespace big
@ -12,7 +13,7 @@ namespace big
void view::lsc()
{
static Vehicle player_vehicle = 0;
static bool ready = true;
static bool ready = true;
static std::map<int, int32_t> owned_mods;
static std::map<int, std::string> slot_display_names;
@ -20,14 +21,14 @@ namespace big
static std::map<std::string, std::vector<int>> front_wheel_map;
static std::map<std::string, std::vector<int>> rear_wheel_map;
static int selected_slot = -1;
static bool is_bennys = false;
static int selected_slot = -1;
static bool is_bennys = false;
static int front_wheel_stock_mod = -1;
static int rear_wheel_stock_mod = -1;
static int rear_wheel_stock_mod = -1;
if (self::veh == 0 || player_vehicle != self::veh)
{
if (self::veh == 0 )
if (self::veh == 0)
{
owned_mods.clear();
slot_display_names.clear();
@ -44,7 +45,7 @@ namespace big
if (player_vehicle != self::veh && ready == true)
{
ready = false;
ready = false;
player_vehicle = self::veh;
g_fiber_pool->queue_job([] {
@ -54,7 +55,7 @@ namespace big
HUD::REQUEST_ADDITIONAL_TEXT("MOD_MNU", 10);
script::get_current()->yield();
}
VEHICLE::SET_VEHICLE_MOD_KIT(player_vehicle, 0);
Hash model = ENTITY::GET_ENTITY_MODEL(player_vehicle);
@ -69,17 +70,13 @@ namespace big
tmp_slot_display_names[MOD_PLATE_STYLE] = "PLATE_STYLE"_T.data();
tmp_slot_display_names[MOD_WINDOW_TINT] = "WINDOW_TINT"_T.data();
tmp_slot_display_names[MOD_WHEEL_TYPE] = "WHEEL_TYPE"_T.data();
tmp_slot_display_names[MOD_WHEEL_TYPE] = "WHEEL_TYPE"_T.data();
tmp_mod_display_names[MOD_PLATE_STYLE].insert(lsc_plate_styles.begin(), lsc_plate_styles.end());
tmp_mod_display_names[MOD_WINDOW_TINT].insert(lsc_window_tint_types.begin(), lsc_window_tint_types.end());
tmp_mod_display_names[MOD_WHEEL_TYPE].insert(lsc_wheel_styles.begin(), lsc_wheel_styles.end());
is_bennys = owned_mods[MOD_WHEEL_TYPE] == WHEEL_TYPE_BENNYS_ORIGINAL ||
owned_mods[MOD_WHEEL_TYPE] == WHEEL_TYPE_BENNYS_BESPOKE ||
owned_mods[MOD_WHEEL_TYPE] == WHEEL_TYPE_OPEN_WHEEL ||
owned_mods[MOD_WHEEL_TYPE] == WHEEL_TYPE_STREET ||
owned_mods[MOD_WHEEL_TYPE] == WHEEL_TYPE_TRACK;
is_bennys = owned_mods[MOD_WHEEL_TYPE] == WHEEL_TYPE_BENNYS_ORIGINAL || owned_mods[MOD_WHEEL_TYPE] == WHEEL_TYPE_BENNYS_BESPOKE || owned_mods[MOD_WHEEL_TYPE] == WHEEL_TYPE_OPEN_WHEEL || owned_mods[MOD_WHEEL_TYPE] == WHEEL_TYPE_STREET || owned_mods[MOD_WHEEL_TYPE] == WHEEL_TYPE_TRACK;
for (int slot = MOD_SPOILERS; slot <= MOD_LIGHTBAR; slot++)
{
@ -125,7 +122,6 @@ namespace big
{
mod_name = new_mod_name;
}
}
}
@ -141,7 +137,7 @@ namespace big
is_repeated = true;
}
}
else if(slot == MOD_REARWHEEL)
else if (slot == MOD_REARWHEEL)
{
if (is_bennys)
{
@ -153,7 +149,6 @@ namespace big
{
mod_name = new_mod_name;
}
}
}
@ -186,9 +181,9 @@ namespace big
}
slot_display_names = tmp_slot_display_names;
mod_display_names = tmp_mod_display_names;
front_wheel_map = tmp_front_wheel_map;
rear_wheel_map = tmp_rear_wheel_map;
mod_display_names = tmp_mod_display_names;
front_wheel_map = tmp_front_wheel_map;
rear_wheel_map = tmp_rear_wheel_map;
ready = true;
});
@ -279,8 +274,8 @@ namespace big
if (selected_slot != -1)
{
auto wheel_stock_mod = &front_wheel_stock_mod;
auto wheel_custom = &owned_mods[MOD_FRONTWHEEL_VAR];
bool is_wheel_mod = false;
auto wheel_custom = &owned_mods[MOD_FRONTWHEEL_VAR];
bool is_wheel_mod = false;
if (selected_slot == MOD_FRONTWHEEL)
{
@ -289,8 +284,8 @@ namespace big
else if (selected_slot == MOD_REARWHEEL)
{
wheel_stock_mod = &rear_wheel_stock_mod;
wheel_custom = &owned_mods[MOD_REARWHEEL_VAR];
is_wheel_mod = true;
wheel_custom = &owned_mods[MOD_REARWHEEL_VAR];
is_wheel_mod = true;
}
else
{
@ -305,7 +300,7 @@ namespace big
{
for (const auto& it : mod_display_names[selected_slot])
{
const auto& mod = it.first;
const auto& mod = it.first;
const auto& name = it.second;
bool item_selected = mod == owned_mods[selected_slot];
@ -328,7 +323,7 @@ namespace big
if (is_wheel_mod)
{
*wheel_stock_mod = mod;
*wheel_custom = false;
*wheel_custom = false;
}
}
else if (selected_slot == MOD_WINDOW_TINT)
@ -356,9 +351,8 @@ namespace big
ImGui::EndGroup();
if (
is_wheel_mod && *wheel_stock_mod != -1
) {
if (is_wheel_mod && *wheel_stock_mod != -1)
{
auto wheel_map = front_wheel_map;
if (selected_slot == MOD_REARWHEEL)
@ -373,7 +367,7 @@ namespace big
if (ImGui::ListBoxHeader("##style", ImVec2(200, 200)))
{
std::string mod_name = mod_display_names[selected_slot][*wheel_stock_mod];
auto wheel_mods = wheel_map[mod_name];
auto wheel_mods = wheel_map[mod_name];
for (int i = 0; i < wheel_mods.size(); i++)
{
@ -415,7 +409,6 @@ namespace big
}
ImGui::Separator();
components::sub_title("NEON_LIGHT_OPTIONS"_T);
@ -458,11 +451,11 @@ namespace big
ImGui::SameLine();
ImGui::PushID("##neon_check_all");
components::button("CHECK_ALL"_T, [] {
owned_mods[MOD_XENON_LIGHTS] = true;
owned_mods[MOD_NEON_LEFT_ON] = true;
owned_mods[MOD_XENON_LIGHTS] = true;
owned_mods[MOD_NEON_LEFT_ON] = true;
owned_mods[MOD_NEON_RIGHT_ON] = true;
owned_mods[MOD_NEON_FRONT_ON] = true;
owned_mods[MOD_NEON_BACK_ON] = true;
owned_mods[MOD_NEON_BACK_ON] = true;
VEHICLE::TOGGLE_VEHICLE_MOD(player_vehicle, MOD_XENON_LIGHTS, owned_mods[MOD_XENON_LIGHTS]);
VEHICLE::SET_VEHICLE_NEON_ENABLED(player_vehicle, NEON_LEFT, owned_mods[MOD_NEON_LEFT_ON]);
@ -474,11 +467,11 @@ namespace big
ImGui::SameLine();
ImGui::PushID("##neon_uncheck_all");
components::button("UNCHECK_ALL"_T, [] {
owned_mods[MOD_XENON_LIGHTS] = false;
owned_mods[MOD_NEON_LEFT_ON] = false;
owned_mods[MOD_XENON_LIGHTS] = false;
owned_mods[MOD_NEON_LEFT_ON] = false;
owned_mods[MOD_NEON_RIGHT_ON] = false;
owned_mods[MOD_NEON_FRONT_ON] = false;
owned_mods[MOD_NEON_BACK_ON] = false;
owned_mods[MOD_NEON_BACK_ON] = false;
VEHICLE::TOGGLE_VEHICLE_MOD(player_vehicle, MOD_XENON_LIGHTS, owned_mods[MOD_XENON_LIGHTS]);
VEHICLE::SET_VEHICLE_NEON_ENABLED(player_vehicle, NEON_LEFT, owned_mods[MOD_NEON_LEFT_ON]);
@ -492,14 +485,12 @@ namespace big
components::sub_title("COLOR_OPTIONS"_T);
static int color_to_change = 0;
static int color_type = 8;
static int color_type = 8;
if (
(color_to_change == 7 && !owned_mods[MOD_XENON_LIGHTS]) ||
(color_to_change == 5 && !owned_mods[MOD_TYRE_SMOKE])
) {
if ((color_to_change == 7 && !owned_mods[MOD_XENON_LIGHTS]) || (color_to_change == 5 && !owned_mods[MOD_TYRE_SMOKE]))
{
color_to_change = 0;
color_type = 8;
color_type = 8;
}
if (ImGui::ListBoxHeader("##color_options", ImVec2(120, 254)))
@ -517,19 +508,19 @@ namespace big
if (ImGui::Selectable("PEARLESCENT"_T.data(), color_to_change == 2))
{
color_to_change = 2;
color_type = 4;
color_type = 4;
}
if (ImGui::Selectable("INTERIOR"_T.data(), color_to_change == 3))
{
color_to_change = 3;
color_type = 6;
color_type = 6;
}
if (ImGui::Selectable("DASHBOARD"_T.data(), color_to_change == 4))
{
color_to_change = 4;
color_type = 7;
color_type = 7;
}
if (!owned_mods[MOD_TYRE_SMOKE])
@ -539,7 +530,7 @@ namespace big
if (ImGui::Selectable("TIRE_SMOKE"_T.data(), color_to_change == 5))
{
color_to_change = 5;
color_type = 8;
color_type = 8;
}
if (!owned_mods[MOD_TYRE_SMOKE])
{
@ -549,7 +540,7 @@ namespace big
if (ImGui::Selectable("WHEEL_COLOR"_T.data(), color_to_change == 6))
{
color_to_change = 6;
color_type = 5;
color_type = 5;
}
if (!owned_mods[MOD_XENON_LIGHTS])
@ -560,7 +551,7 @@ namespace big
if (ImGui::Selectable("HEADLIGHT"_T.data(), color_to_change == 7))
{
color_to_change = 7;
color_type = 9;
color_type = 9;
}
ImGui::PopID();
if (!owned_mods[MOD_XENON_LIGHTS])
@ -571,7 +562,7 @@ namespace big
if (ImGui::Selectable("NEON"_T.data(), color_to_change == 8))
{
color_to_change = 8;
color_type = 8;
color_type = 8;
}
ImGui::ListBoxFooter();
@ -638,10 +629,10 @@ namespace big
{
// custom color
static float color[3] = { 1, 1, 1 };
auto color_r = &owned_mods[MOD_PRIMARY_COL_R];
auto color_g = &owned_mods[MOD_PRIMARY_COL_G];
auto color_b = &owned_mods[MOD_PRIMARY_COL_B];
static float color[3] = {1, 1, 1};
auto color_r = &owned_mods[MOD_PRIMARY_COL_R];
auto color_g = &owned_mods[MOD_PRIMARY_COL_G];
auto color_b = &owned_mods[MOD_PRIMARY_COL_B];
if (color_to_change == 1)
{
@ -674,7 +665,7 @@ namespace big
for (const auto& it : lsc_tire_smoke_rgb)
{
auto& name = it.first;
auto& rgb = it.second;
auto& rgb = it.second;
if (ImGui::Selectable(name.c_str(), false))
{
@ -685,7 +676,6 @@ namespace big
*color_g = rgb[1];
*color_b = rgb[2];
}
}
ImGui::ListBoxFooter();
@ -699,7 +689,7 @@ namespace big
for (const auto& it : lsc_neon_rgb)
{
auto& name = it.first;
auto& rgb = it.second;
auto& rgb = it.second;
if (ImGui::Selectable(name.c_str(), false))
{
@ -733,12 +723,8 @@ namespace big
case 1:
VEHICLE::SET_VEHICLE_CUSTOM_SECONDARY_COLOUR(player_vehicle, *color_r, *color_g, *color_b);
break;
case 5:
VEHICLE::SET_VEHICLE_TYRE_SMOKE_COLOR(player_vehicle, *color_r, *color_g, *color_b);
break;
case 8:
VEHICLE::SET_VEHICLE_NEON_COLOUR(player_vehicle, *color_r, *color_g, *color_b);
break;
case 5: VEHICLE::SET_VEHICLE_TYRE_SMOKE_COLOR(player_vehicle, *color_r, *color_g, *color_b); break;
case 8: VEHICLE::SET_VEHICLE_NEON_COLOUR(player_vehicle, *color_r, *color_g, *color_b); break;
}
});
}
@ -750,21 +736,11 @@ namespace big
int selected_color = 0;
switch (color_type)
{
case 4:
selected_color = owned_mods[MOD_PEARLESCENT_COL];
break;
case 5:
selected_color = owned_mods[MOD_WHEEL_COL];
break;
case 6:
selected_color = owned_mods[MOD_INTERIOR_COL];
break;
case 7:
selected_color = owned_mods[MOD_DASHBOARD_COL];
break;
case 9:
selected_color = owned_mods[MOD_XENON_COL];
break;
case 4: selected_color = owned_mods[MOD_PEARLESCENT_COL]; break;
case 5: selected_color = owned_mods[MOD_WHEEL_COL]; break;
case 6: selected_color = owned_mods[MOD_INTERIOR_COL]; break;
case 7: selected_color = owned_mods[MOD_DASHBOARD_COL]; break;
case 9: selected_color = owned_mods[MOD_XENON_COL]; break;
default:
selected_color = (color_to_change == 0) ? owned_mods[MOD_PRIMARY_COL] : owned_mods[MOD_SECONDARY_COL];
}
@ -778,7 +754,7 @@ namespace big
{
switch (color_type)
{
case 0: //Chrome
case 0://Chrome
{
if (ImGui::Selectable("CHROME"_T.data(), selected_color == COLOR_CHROME))
{
@ -797,7 +773,7 @@ namespace big
}
break;
}
case 1: //Classic
case 1://Classic
{
for (const auto& [color, name] : lsc_classic_colors)
{
@ -818,11 +794,10 @@ namespace big
VEHICLE::SET_VEHICLE_COLOURS(player_vehicle, owned_mods[MOD_PRIMARY_COL], owned_mods[MOD_SECONDARY_COL]);
});
}
}
break;
}
case 2: //Matte
case 2://Matte
{
for (const auto& [color, name] : lsc_matte_colors)
{
@ -843,11 +818,10 @@ namespace big
VEHICLE::SET_VEHICLE_COLOURS(player_vehicle, owned_mods[MOD_PRIMARY_COL], owned_mods[MOD_SECONDARY_COL]);
});
}
}
break;
}
case 3: //Metals
case 3://Metals
{
for (const auto& [color, name] : lsc_metal_colors)
{
@ -871,13 +845,13 @@ namespace big
}
break;
}
case 4: //Pearlescent
case 4://Pearlescent
{
for (const auto& [color, name] : lsc_classic_colors)
{
if (ImGui::Selectable(name.c_str(), selected_color == color))
{
selected_color = color;
selected_color = color;
owned_mods[MOD_PEARLESCENT_COL] = color;
g_fiber_pool->queue_job([] {
@ -887,13 +861,13 @@ namespace big
}
break;
}
case 5: //Wheel Color
case 5://Wheel Color
{
for (const auto& [color, name] : lsc_classic_colors)
{
if (ImGui::Selectable(name.c_str(), selected_color == color))
{
selected_color = color;
selected_color = color;
owned_mods[MOD_WHEEL_COL] = color;
g_fiber_pool->queue_job([] {
@ -903,13 +877,13 @@ namespace big
}
break;
}
case 6: //Interior Color
case 6://Interior Color
{
for (const auto& [color, name] : lsc_classic_colors)
{
if (ImGui::Selectable(name.c_str(), selected_color == color))
{
selected_color = color;
selected_color = color;
owned_mods[MOD_INTERIOR_COL] = color;
g_fiber_pool->queue_job([] {
@ -919,13 +893,13 @@ namespace big
}
break;
}
case 7: //Dashboard Color
case 7://Dashboard Color
{
for (const auto& [color, name] : lsc_classic_colors)
{
if (ImGui::Selectable(name.c_str(), selected_color == color))
{
selected_color = color;
selected_color = color;
owned_mods[MOD_DASHBOARD_COL] = color;
g_fiber_pool->queue_job([] {
@ -935,13 +909,13 @@ namespace big
}
break;
}
case 9: //Headlight Color
case 9://Headlight Color
{
for (const auto& [color, name] : lsc_headlight_colors)
{
if (ImGui::Selectable(name.c_str(), selected_color == color))
{
selected_color = color;
selected_color = color;
owned_mods[MOD_XENON_COL] = color;
g_fiber_pool->queue_job([] {