refactor!: globals (#717)

* refactor(globals): use macro's for to_json/from_json
* refactor(globals): switch from global pointer to global instance
This commit is contained in:
Yimura
2022-12-18 23:15:52 +01:00
committed by GitHub
parent b74dd7516c
commit ddddbd4efd
146 changed files with 1279 additions and 1901 deletions

View File

@ -24,17 +24,17 @@ namespace big
g_player_service->iterate([](const player_entry& entry)
{
if ((g->session.off_radar_all || entry.second->off_radar) && offRadarPlayer == entry.second->id())
if ((g.session.off_radar_all || entry.second->off_radar) && offRadarPlayer == entry.second->id())
globals::give_remote_otr(entry.second->id());
});
g_player_service->iterate([](const player_entry& entry)
{
if ((g->session.never_wanted_all || entry.second->never_wanted) && PLAYER::GET_PLAYER_WANTED_LEVEL(entry.second->id()) > 0 && neverWantedPlayer == entry.second->id())
if ((g.session.never_wanted_all || entry.second->never_wanted) && PLAYER::GET_PLAYER_WANTED_LEVEL(entry.second->id()) > 0 && neverWantedPlayer == entry.second->id())
globals::clear_wanted_player(entry.second->id());
});
if (g->session.semi_godmode_all)
if (g.session.semi_godmode_all)
{
g_pointers->m_give_pickup_rewards(-1, REWARD_HEALTH);
g_pointers->m_give_pickup_rewards(-1, REWARD_ARMOUR);

View File

@ -8,32 +8,32 @@ namespace big
{
void looped::player_remote_control_vehicle()
{
if (g->m_remote_controller_vehicle == -1)
if (g.m_remote_controller_vehicle == -1)
return;
if (!ENTITY::DOES_ENTITY_EXIST(g->m_remote_controlled_vehicle))
if (!ENTITY::DOES_ENTITY_EXIST(g.m_remote_controlled_vehicle))
{
g->m_remote_controlled_vehicle = -1;
g->m_remote_controlled_vehicle = -1;
g.m_remote_controlled_vehicle = -1;
g.m_remote_controlled_vehicle = -1;
return;
}
if (!ENTITY::DOES_ENTITY_EXIST(g->m_remote_controller_vehicle))
if (!ENTITY::DOES_ENTITY_EXIST(g.m_remote_controller_vehicle))
{
g->m_remote_controlled_vehicle = -1;
g->m_remote_controlled_vehicle = -1;
g.m_remote_controlled_vehicle = -1;
g.m_remote_controlled_vehicle = -1;
return;
}
if (VEHICLE::IS_VEHICLE_SEAT_FREE(g->m_remote_controller_vehicle, -1, TRUE))
if (VEHICLE::IS_VEHICLE_SEAT_FREE(g.m_remote_controller_vehicle, -1, TRUE))
{
auto controlled = g->m_remote_controlled_vehicle;
auto controller = g->m_remote_controller_vehicle;
auto controlled = g.m_remote_controlled_vehicle;
auto controller = g.m_remote_controller_vehicle;
g_fiber_pool->queue_job([controlled, controller]
{
if (entity::take_control_of(controlled))
{
ENTITY::SET_ENTITY_COLLISION(g->m_remote_controlled_vehicle, TRUE, TRUE);
ENTITY::SET_ENTITY_COLLISION(g.m_remote_controlled_vehicle, TRUE, TRUE);
ENTITY::DETACH_ENTITY(controlled, TRUE, TRUE);
VEHICLE::SET_VEHICLE_DOORS_LOCKED(controlled, 0);
VEHICLE::SET_VEHICLE_DOORS_LOCKED_FOR_ALL_PLAYERS(controlled, FALSE);
@ -43,8 +43,8 @@ namespace big
});
g->m_remote_controller_vehicle = -1;
g->m_remote_controlled_vehicle = -1;
g.m_remote_controller_vehicle = -1;
g.m_remote_controlled_vehicle = -1;
}
}
};

View File

@ -12,9 +12,9 @@ namespace big
const auto vehicle = self::veh;
const auto ped = self::ped;
if (!g_player_service->get_selected()->is_valid() || !g->player.spectating)
if (!g_player_service->get_selected()->is_valid() || !g.player.spectating)
{
if (g->player.spectating) g->player.spectating = false;
if (g.player.spectating) g.player.spectating = false;
if (!bReset)
{

View File

@ -6,7 +6,7 @@ namespace big
{
void looped::self_clean_player()
{
if (g->self.clean_player) {
if (g.self.clean_player) {
entity::clean_ped(self::ped);
}
}

View File

@ -9,10 +9,10 @@ namespace big
bool bLastDanceMode = false;
void looped::self_dance_mode()
{
if (g->self.dance_mode && SCRIPT::GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(RAGE_JOAAT("maintransition")) > 0)
g->self.dance_mode = false;
if (g.self.dance_mode && SCRIPT::GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(RAGE_JOAAT("maintransition")) > 0)
g.self.dance_mode = false;
if (g->self.dance_mode && g->self.dance_mode != bLastDanceMode)
if (g.self.dance_mode && g.self.dance_mode != bLastDanceMode)
{
scripts::request_script(RAGE_JOAAT("am_mp_nightclub"));
if (!scripts::wait_till_loaded(RAGE_JOAAT("am_mp_nightclub")))
@ -24,12 +24,12 @@ namespace big
if (!thread)
return;
g->m_dance_thread = gta_util::find_script_thread(RAGE_JOAAT("am_mp_nightclub"));
g->m_dance_program = gta_util::find_script_program(RAGE_JOAAT("am_mp_nightclub"));
g.m_dance_thread = gta_util::find_script_thread(RAGE_JOAAT("am_mp_nightclub"));
g.m_dance_program = gta_util::find_script_program(RAGE_JOAAT("am_mp_nightclub"));
(*g_pointers->m_script_handler_mgr)->attach_thread(g->m_dance_thread);
(*g_pointers->m_script_handler_mgr)->attach_thread(g.m_dance_thread);
g->m_dance_thread->m_context.m_state = rage::eThreadState::unk_3;
g.m_dance_thread->m_context.m_state = rage::eThreadState::unk_3;
// perform initial setup
gta_util::execute_as_script(RAGE_JOAAT("am_mp_nightclub"), []
@ -43,25 +43,25 @@ namespace big
return;
}
if (!g->self.dance_mode && g->self.dance_mode != bLastDanceMode)
if (!g.self.dance_mode && g.self.dance_mode != bLastDanceMode)
{
if (g->m_dance_thread)
g->m_dance_thread->kill();
if (g.m_dance_thread)
g.m_dance_thread->kill();
g->m_dance_thread = nullptr;
g->m_dance_program = nullptr;
g.m_dance_thread = nullptr;
g.m_dance_program = nullptr;
bLastDanceMode = false;
return;
}
if (g->self.dance_mode && g->m_dance_thread->m_handler)
if (g.self.dance_mode && g.m_dance_thread->m_handler)
{
*script_global(1950102).as<bool*>() = true;
misc::set_bit(scr_globals::gpbd_fm_1.at(self::id, scr_globals::size::gpbd_fm_1).at(267).at(310).at(7).as<int*>(), 0);
misc::set_bit(scr_globals::gpbd_fm_1.at(self::id, scr_globals::size::gpbd_fm_1).at(267).at(310).at(7).as<int*>(), 1);
misc::set_bit(scr_globals::gpbd_fm_1.at(self::id, scr_globals::size::gpbd_fm_1).at(267).at(310).at(7).as<int*>(), 2);
scr_functions::dance_loop.call(g->m_dance_thread, g->m_dance_program, {});
scr_functions::dance_loop.call(g.m_dance_thread, g.m_dance_program, {});
}
}
}

View File

@ -5,7 +5,7 @@ namespace big
{
void looped::self_fast_respawn()
{
if (g->self.fast_respawn)
if (g.self.fast_respawn)
{
if(PED::IS_PED_DEAD_OR_DYING(self::ped, true))
{

View File

@ -33,7 +33,7 @@ namespace big
{
if (g_local_player == nullptr) return;
if (g->self.free_cam)
if (g.self.free_cam)
{
PAD::DISABLE_ALL_CONTROL_ACTIONS(0);
@ -48,9 +48,9 @@ namespace big
const auto vehicle = self::veh;
const auto ped = self::ped;
if (!g->self.free_cam && !bLastFreeCam) return;
if (!g.self.free_cam && !bLastFreeCam) return;
if (g->self.free_cam && !bLastFreeCam)
if (g.self.free_cam && !bLastFreeCam)
{
cCam = CAM::CREATE_CAM("DEFAULT_SCRIPTED_CAMERA", 0);
@ -66,7 +66,7 @@ namespace big
bLastFreeCam = true;
}
else if (!g->self.free_cam && bLastFreeCam)
else if (!g.self.free_cam && bLastFreeCam)
{
CAM::SET_CAM_ACTIVE(cCam, false);
CAM::RENDER_SCRIPT_CAMS(false, true, 500, true, true, 0);

View File

@ -12,7 +12,7 @@ namespace big
return;
}
uint32_t bits = g->self.proof_mask;
uint32_t bits = g.self.proof_mask;
uint32_t changed_bits = bits ^ last_bits;
uint32_t changed_or_enabled_bits = bits | changed_bits;

View File

@ -9,11 +9,11 @@ namespace big
void looped::self_hud()
{
const bool bHideRadar = g->self.hide_radar;
const bool bHideAmmo = g->self.hide_ammo;
const bool bForceShowElement = g->self.force_show_hud_element;
const bool bForceShowHUD = g->self.force_show_hud;
auto& bHudComponents = g->self.hud_components_states;
const bool bHideRadar = g.self.hide_radar;
const bool bHideAmmo = g.self.hide_ammo;
const bool bForceShowElement = g.self.force_show_hud_element;
const bool bForceShowHUD = g.self.force_show_hud;
auto& bHudComponents = g.self.hud_components_states;
if (bHideRadar)
{

View File

@ -9,25 +9,25 @@ namespace big
{
Ped ped = self::ped;
bool bInvisibility = g->self.invisibility;
bool bInvisibility = g.self.invisibility;
if (bInvisibility || (!bInvisibility && bInvisibility != bLastInvisibility))
{
ENTITY::SET_ENTITY_VISIBLE(ped, !g->self.invisibility, 0);
ENTITY::SET_ENTITY_VISIBLE(ped, !g.self.invisibility, 0);
bLastInvisibility = g->self.invisibility;
bLastInvisibility = g.self.invisibility;
}
if (NETWORK::NETWORK_IS_SESSION_STARTED())
{
if (g->self.invisibility && g->self.local_visibility)
if (g.self.invisibility && g.self.local_visibility)
{
NETWORK::SET_ENTITY_LOCALLY_VISIBLE(ped);
}
}
else
{
if (g->self.local_visibility)
if (g.self.local_visibility)
{
ENTITY::SET_ENTITY_VISIBLE(ped, true, 0);
}

View File

@ -7,7 +7,7 @@ namespace big
void looped::self_mobile_radio()
{
const bool bMobileRadio = g->self.mobile_radio;
const bool bMobileRadio = g.self.mobile_radio;
if (bMobileRadio)
{

View File

@ -10,7 +10,7 @@ namespace big
{
if (g_local_player == nullptr) return;
bool bNoCollsion = g->self.no_collision;
bool bNoCollsion = g.self.no_collision;
if (bNoCollsion)
{

View File

@ -7,13 +7,13 @@ namespace big
void looped::self_no_ragdoll()
{
bool bNoRagdoll = g->self.no_ragdoll;
bool bNoRagdoll = g.self.no_ragdoll;
if (bNoRagdoll || (!bNoRagdoll && bNoRagdoll != bLastNoRagdoll))
{
PED::SET_PED_CAN_RAGDOLL(self::ped, !g->self.no_ragdoll);
PED::SET_PED_CAN_RAGDOLL(self::ped, !g.self.no_ragdoll);
bLastNoRagdoll = g->self.no_ragdoll;
bLastNoRagdoll = g.self.no_ragdoll;
}
}
}

View File

@ -8,7 +8,7 @@ namespace big
{
if (g_local_player == nullptr) return;
bool bNoWaterCollsion = g->self.no_water_collision;
bool bNoWaterCollsion = g.self.no_water_collision;
if (bNoWaterCollsion)
{

View File

@ -26,7 +26,7 @@ namespace big
void looped::self_noclip_disable_control_action()
{
if (g->self.noclip)
if (g.self.noclip)
{
for (const auto& control : controls)
PAD::DISABLE_CONTROL_ACTION(0, static_cast<int>(control), true);
@ -35,7 +35,7 @@ namespace big
void looped::self_noclip()
{
const auto bNoclip = g->self.noclip;
const auto bNoclip = g.self.noclip;
const auto location = self::pos;
const Entity ent = (self::veh != 0 && g_local_player->m_ped_task_flag & (int)ePedTask::TASK_DRIVING) ? self::veh : self::ped;

View File

@ -5,7 +5,7 @@ namespace big
{
void looped::self_off_radar()
{
if (g->self.off_radar)
mobile::lester::off_radar(g->self.off_radar);
if (g.self.off_radar)
mobile::lester::off_radar(g.self.off_radar);
}
}

View File

@ -9,7 +9,7 @@ namespace big
static bool bLast = false;
bool b = g->self.never_wanted;
bool b = g.self.never_wanted;
if (b)
{
@ -25,7 +25,7 @@ namespace big
bLast = b;
}
if(g->self.force_wanted_level && !b)
g_local_player->m_player_info->m_wanted_level = g->self.wanted_level;
if(g.self.force_wanted_level && !b)
g_local_player->m_player_info->m_wanted_level = g.self.wanted_level;
}
}

View File

@ -11,7 +11,7 @@ namespace big
void looped::self_super_run()
{
if (g->self.super_run && PAD::IS_CONTROL_PRESSED(0, (int)ControllerInputs::INPUT_SPRINT))
if (g.self.super_run && PAD::IS_CONTROL_PRESSED(0, (int)ControllerInputs::INPUT_SPRINT))
{
if (run_speed < run_cap) run_speed += .5f;
@ -38,7 +38,7 @@ namespace big
g_local_player->m_player_info->m_run_speed = .7f;
}
else if (!g->self.super_run && g->self.super_run != super_run_state)
else if (!g.self.super_run && g.self.super_run != super_run_state)
{
g_local_player->m_player_info->m_run_speed = 1.f;
}
@ -48,6 +48,6 @@ namespace big
g_local_player->m_player_info->m_run_speed = 1.f;
}
super_run_state = g->self.super_run;
super_run_state = g.self.super_run;
}
}

View File

@ -6,7 +6,7 @@ namespace big
{
if (g_local_player == nullptr) return;
if (g->self.unlimited_oxygen)
if (g.self.unlimited_oxygen)
g_local_player->m_oxygen_info->m_oxygen_time = 0;
}
}

View File

@ -8,7 +8,7 @@ namespace big
static bool bLastKickHost = false;
void looped::session_auto_kick_host()
{
bool kick_host = *g_pointers->m_is_session_started && g->session.force_session_host && g->session.kick_host_when_forcing_host;
bool kick_host = *g_pointers->m_is_session_started && g.session.force_session_host && g.session.kick_host_when_forcing_host;
if (kick_host && !bLastKickHost)
{
g_player_service->iterate([](auto& plyr)

View File

@ -10,7 +10,7 @@ namespace big
void looped::session_force_thunder()
{
bool used = g->session.force_thunder && *g_pointers->m_is_session_started;
bool used = g.session.force_thunder && *g_pointers->m_is_session_started;
if (!bLastForceThunderEnabled && used)
{
if (!STREAMING::IS_PLAYER_SWITCH_IN_PROGRESS() && gta_util::find_script_thread(RAGE_JOAAT("freemode")) && SCRIPT::GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(RAGE_JOAAT("maintransition")) == 0)

View File

@ -7,15 +7,15 @@ namespace big
void looped::session_local_time()
{
if (g->session.override_time)
if (g.session.override_time)
{
if (toggled)
{
NETWORK::NETWORK_GET_GLOBAL_MULTIPLAYER_CLOCK(&g->session.custom_time.hour, &g->session.custom_time.minute, &g->session.custom_time.second);
NETWORK::NETWORK_GET_GLOBAL_MULTIPLAYER_CLOCK(&g.session.custom_time.hour, &g.session.custom_time.minute, &g.session.custom_time.second);
toggled = false;
}
NETWORK::NETWORK_OVERRIDE_CLOCK_TIME(g->session.custom_time.hour, g->session.custom_time.minute, g->session.custom_time.second);
NETWORK::NETWORK_OVERRIDE_CLOCK_TIME(g.session.custom_time.hour, g.session.custom_time.minute, g.session.custom_time.second);
}
else
{

View File

@ -12,27 +12,27 @@ namespace big
void looped::session_pop_multiplier_areas()
{
bool used = (g->session.disable_traffic || g->session.disable_peds) && *g_pointers->m_is_session_started;
bool used = (g.session.disable_traffic || g.session.disable_peds) && *g_pointers->m_is_session_started;
if (!bLastPopMultiplierAreasEnabled && used)
{
if (!STREAMING::IS_PLAYER_SWITCH_IN_PROGRESS() && gta_util::find_script_thread(RAGE_JOAAT("freemode")) && SCRIPT::GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(RAGE_JOAAT("maintransition")) == 0)
{
gta_util::execute_as_script(RAGE_JOAAT("freemode"), []
{
pop_multiplier_id = MISC::ADD_POP_MULTIPLIER_SPHERE(1.1f, 1.1f, 1.1f, 15000.0f, g->session.disable_peds ? 0.0f : 1.0f, g->session.disable_traffic ? 0.0f : 1.0f, false, true);
pop_multiplier_id = MISC::ADD_POP_MULTIPLIER_SPHERE(1.1f, 1.1f, 1.1f, 15000.0f, g.session.disable_peds ? 0.0f : 1.0f, g.session.disable_traffic ? 0.0f : 1.0f, false, true);
bLastBlockPeds = g->session.disable_peds;
bLastBlockVehs = g->session.disable_traffic;
bLastBlockPeds = g.session.disable_peds;
bLastBlockVehs = g.session.disable_traffic;
bLastPopMultiplierAreasEnabled = true;
MISC::CLEAR_AREA(1.1f, 1.1f, 1.1f, 19999.9f, true, false, false, true);
});
}
}
else if (bLastPopMultiplierAreasEnabled && (g->session.disable_traffic != bLastBlockVehs || g->session.disable_peds != bLastBlockPeds))
else if (bLastPopMultiplierAreasEnabled && (g.session.disable_traffic != bLastBlockVehs || g.session.disable_peds != bLastBlockPeds))
{
bLastBlockPeds = g->session.disable_peds;
bLastBlockVehs = g->session.disable_traffic;
bLastBlockPeds = g.session.disable_peds;
bLastBlockVehs = g.session.disable_traffic;
used = false;
}

View File

@ -9,7 +9,7 @@ namespace big
{
void looped::session_randomize_ceo_colors()
{
if (g->session.randomize_ceo_colors && *g_pointers->m_is_session_started && !STREAMING::IS_PLAYER_SWITCH_IN_PROGRESS() && SCRIPT::GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(RAGE_JOAAT("maintransition")) == 0)
if (g.session.randomize_ceo_colors && *g_pointers->m_is_session_started && !STREAMING::IS_PLAYER_SWITCH_IN_PROGRESS() && SCRIPT::GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(RAGE_JOAAT("maintransition")) == 0)
{
if (auto freemode = gta_util::find_script_thread(RAGE_JOAAT("freemode")); freemode && freemode->m_net_component && freemode->m_net_component->is_local_player_host())
{

View File

@ -11,18 +11,18 @@ namespace big
{
bool temp_disable_tp = (!*g_pointers->m_is_session_started) && CUTSCENE::IS_CUTSCENE_ACTIVE();
if ((!g->self.auto_tp || temp_disable_tp) && bLastAutoTP)
if ((!g.self.auto_tp || temp_disable_tp) && bLastAutoTP)
{
MISC::USING_MISSION_CREATOR(false);
MISC::ALLOW_MISSION_CREATOR_WARP(false);
}
if (g->self.auto_tp && !temp_disable_tp)
if (g.self.auto_tp && !temp_disable_tp)
{
MISC::USING_MISSION_CREATOR(true);
MISC::ALLOW_MISSION_CREATOR_WARP(true);
}
bLastAutoTP = g->self.auto_tp;
bLastAutoTP = g.self.auto_tp;
}
}

View File

@ -10,15 +10,15 @@ namespace big
bool bLastMissionCreator = false;
void looped::system_mission_creator()
{
if (g->m_mission_creator_thread)
if (g.m_mission_creator_thread)
{
*scr_globals::terminate_creator.as<bool*>() = false;
if (SCRIPT::GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(RAGE_JOAAT("maintransition")) > 0)
{
if (g->m_mission_creator_thread)
g->m_mission_creator_thread->kill();
g->m_mission_creator_thread = nullptr;
if (g.m_mission_creator_thread)
g.m_mission_creator_thread->kill();
g.m_mission_creator_thread = nullptr;
return;
}

View File

@ -8,12 +8,12 @@ namespace big
static bool bLastForceHost = false;
void looped::system_spoofing()
{
if (bLastForceHost != g->session.force_session_host && gta_util::get_network()->m_game_session_state == 0)
if (bLastForceHost != g.session.force_session_host && gta_util::get_network()->m_game_session_state == 0)
{
std::uint64_t host_token;
g_pointers->m_generate_uuid(&host_token);
host_token = g->session.force_session_host ? (rand() % 10000) : host_token;
host_token = g.session.force_session_host ? (rand() % 10000) : host_token;
*g_pointers->m_host_token = host_token;
@ -27,17 +27,17 @@ namespace big
if (g_local_player && g_local_player->m_player_info)
g_local_player->m_player_info->m_net_player_data.m_host_token = host_token;
bLastForceHost = g->session.force_session_host;
bLastForceHost = g.session.force_session_host;
}
if (g->spoofing.rockstar_id != g->spoofing.applied_spoof_rockstar_id && gta_util::get_network()->m_game_session_state == 0)
if (g.spoofing.rockstar_id != g.spoofing.applied_spoof_rockstar_id && gta_util::get_network()->m_game_session_state == 0)
{
g->spoofing.applied_spoof_rockstar_id = g->spoofing.spoof_rockstar_id;
g.spoofing.applied_spoof_rockstar_id = g.spoofing.spoof_rockstar_id;
}
if (g->spoofing.spoof_rockstar_id != g->spoofing.should_spoof_rockstar_id && gta_util::get_network()->m_game_session_state == 0)
if (g.spoofing.spoof_rockstar_id != g.spoofing.should_spoof_rockstar_id && gta_util::get_network()->m_game_session_state == 0)
{
g->spoofing.should_spoof_rockstar_id = g->spoofing.spoof_rockstar_id;
g.spoofing.should_spoof_rockstar_id = g.spoofing.spoof_rockstar_id;
}
}
}

View File

@ -5,6 +5,6 @@ namespace big
{
void looped::tunables_disable_phone()
{
*script_global(20366).as<bool*>() = g->tunables.disable_phone; // Who even uses that...
*script_global(20366).as<bool*>() = g.tunables.disable_phone; // Who even uses that...
}
}

View File

@ -21,10 +21,10 @@ namespace big
static bool started = false;
static Vector3 waypoint;
if (g->vehicle.auto_drive_destination != AutoDriveDestination::STOPPED)
if (g.vehicle.auto_drive_destination != AutoDriveDestination::STOPPED)
{
current_destination = g->vehicle.auto_drive_destination;
g->vehicle.auto_drive_destination = AutoDriveDestination::STOPPED;
current_destination = g.vehicle.auto_drive_destination;
g.vehicle.auto_drive_destination = AutoDriveDestination::STOPPED;
changing_driving_styles = true;
}
@ -35,11 +35,11 @@ namespace big
g_notification_service->push_warning("Warning", "Please be in a car first then try again.");
}
else if (
current_driving_flag != driving_style_flags[g->vehicle.auto_drive_style] ||
current_speed != g->vehicle.auto_drive_speed
current_driving_flag != driving_style_flags[g.vehicle.auto_drive_style] ||
current_speed != g.vehicle.auto_drive_speed
) {
current_driving_flag = driving_style_flags[g->vehicle.auto_drive_style];
current_speed = g->vehicle.auto_drive_speed;
current_driving_flag = driving_style_flags[g.vehicle.auto_drive_style];
current_speed = g.vehicle.auto_drive_speed;
changing_driving_styles = true;
}

View File

@ -10,12 +10,12 @@ namespace big
if (vehicle && VEHICLE::GET_HAS_ROCKET_BOOST(self::veh))
{
if (g->vehicle.boost_behavior == eBoostBehaviors::INSTANT_REFIL && (vehicle->m_boost == 0.f || !vehicle->m_boost_state)) // Instant Refill
if (g.vehicle.boost_behavior == eBoostBehaviors::INSTANT_REFIL && (vehicle->m_boost == 0.f || !vehicle->m_boost_state)) // Instant Refill
{
vehicle->m_boost_allow_recharge = true;
vehicle->m_boost = 3.f;
}
else if (g->vehicle.boost_behavior == eBoostBehaviors::INFINITE_BOOST) // Infinite Boost
else if (g.vehicle.boost_behavior == eBoostBehaviors::INFINITE_BOOST) // Infinite Boost
{
vehicle->m_boost_allow_recharge = true;
vehicle->m_boost = 3.f;

View File

@ -29,7 +29,7 @@ namespace big
void looped::vehicle_drive_on_water()
{
if (!g->vehicle.drive_on_water || self::veh == 0) {
if (!g.vehicle.drive_on_water || self::veh == 0) {
drive_on_water_hide_surface();
return;
}

View File

@ -14,9 +14,9 @@ namespace big
Vector3 cam_pos = CAM::GET_GAMEPLAY_CAM_ROT(0);
ENTITY::SET_ENTITY_ROTATION(vehicle, cam_pos.x, cam_pos.y, cam_pos.z, 1, true);
ENTITY::SET_ENTITY_COLLISION(vehicle, !g->vehicle.fly.no_collision, true);
ENTITY::SET_ENTITY_COLLISION(vehicle, !g.vehicle.fly.no_collision, true);
float locspeed = g->vehicle.fly.speed;
float locspeed = g.vehicle.fly.speed;
if (PAD::IS_CONTROL_PRESSED(0, (int)ControllerInputs::INPUT_VEH_MOVE_UP_ONLY))
{
@ -26,9 +26,9 @@ namespace big
if (PAD::IS_CONTROL_PRESSED(2, (int)ControllerInputs::INPUT_VEH_ACCELERATE))
{
if (g->vehicle.fly.dont_stop)
if (g.vehicle.fly.dont_stop)
{
ENTITY::APPLY_FORCE_TO_ENTITY(vehicle, 1, 0.0, g->vehicle.fly.speed, 0.0, 0.0, 0.0, 0.0, 0, 1, 1, 1, 0, 1);
ENTITY::APPLY_FORCE_TO_ENTITY(vehicle, 1, 0.0, g.vehicle.fly.speed, 0.0, 0.0, 0.0, 0.0, 0, 1, 1, 1, 0, 1);
}
else
{
@ -38,12 +38,12 @@ namespace big
if (PAD::IS_CONTROL_PRESSED(2, (int)ControllerInputs::INPUT_VEH_BRAKE))
{
float lsp = g->vehicle.fly.speed;
float lsp = g.vehicle.fly.speed;
if (!PAD::IS_CONTROL_PRESSED(0, (int)ControllerInputs::INPUT_VEH_MOVE_UP_ONLY))
{
lsp = (g->vehicle.fly.speed * 2);
lsp = (g.vehicle.fly.speed * 2);
}
if (g->vehicle.fly.dont_stop)
if (g.vehicle.fly.dont_stop)
{
ENTITY::APPLY_FORCE_TO_ENTITY(vehicle, 1, 0.0, 0 - (lsp), 0.0, 0.0, 0.0, 0.0, 0, 1, 1, 1, 0, 1);
}
@ -55,12 +55,12 @@ namespace big
if (PAD::IS_CONTROL_PRESSED(2, (int)ControllerInputs::INPUT_VEH_MOVE_LEFT_ONLY))
{
float lsp = ((0 - g->vehicle.fly.speed) * 2);
float lsp = ((0 - g.vehicle.fly.speed) * 2);
if (!PAD::IS_CONTROL_PRESSED(0, (int)ControllerInputs::INPUT_VEH_MOVE_UP_ONLY))
{
lsp = (0 - g->vehicle.fly.speed);
lsp = (0 - g.vehicle.fly.speed);
}
if (g->vehicle.fly.dont_stop)
if (g.vehicle.fly.dont_stop)
{
ENTITY::APPLY_FORCE_TO_ENTITY(vehicle, 1, (lsp), 0.0, 0.0, 0.0, 0.0, 0.0, 0, 1, 1, 1, 0, 1);
}
@ -72,12 +72,12 @@ namespace big
if (PAD::IS_CONTROL_PRESSED(2, (int)ControllerInputs::INPUT_VEH_MOVE_RIGHT_ONLY))
{
float lsp = g->vehicle.fly.speed;
float lsp = g.vehicle.fly.speed;
if (!PAD::IS_CONTROL_PRESSED(0, (int)ControllerInputs::INPUT_VEH_MOVE_UP_ONLY))
{
lsp = (g->vehicle.fly.speed * 2);
lsp = (g.vehicle.fly.speed * 2);
}
if (g->vehicle.fly.dont_stop)
if (g.vehicle.fly.dont_stop)
{
ENTITY::APPLY_FORCE_TO_ENTITY(vehicle, 1, lsp, 0.0, 0.0, 0.0, 0.0, 0.0, 0, 1, 1, 1, 0, 1);
}
@ -87,17 +87,17 @@ namespace big
}
}
if (!g->vehicle.fly.dont_stop && !PAD::IS_CONTROL_PRESSED(2, (int)ControllerInputs::INPUT_VEH_ACCELERATE) && !PAD::IS_CONTROL_PRESSED(2, (int)ControllerInputs::INPUT_VEH_BRAKE))
if (!g.vehicle.fly.dont_stop && !PAD::IS_CONTROL_PRESSED(2, (int)ControllerInputs::INPUT_VEH_ACCELERATE) && !PAD::IS_CONTROL_PRESSED(2, (int)ControllerInputs::INPUT_VEH_BRAKE))
{
VEHICLE::SET_VEHICLE_FORWARD_SPEED(vehicle, 0.0);
}
if (TASK::GET_IS_TASK_ACTIVE(self::ped, 2))
{
g->vehicle.fly.enabled = false;
g.vehicle.fly.enabled = false;
VEHICLE::SET_VEHICLE_GRAVITY(vehicle, true);
ENTITY::SET_ENTITY_COLLISION(vehicle, true, true);
if (g->vehicle.fly.stop_on_exit)
if (g.vehicle.fly.stop_on_exit)
{
VEHICLE::SET_VEHICLE_FORWARD_SPEED(vehicle, 0.0);
}
@ -107,7 +107,7 @@ namespace big
void looped::vehicle_fly()
{
Vehicle vehicle = self::veh;
if (g->vehicle.fly.enabled)
if (g.vehicle.fly.enabled)
{
last_fly_tick = true;
@ -115,7 +115,7 @@ namespace big
if (!vehicle)
{
g_notification_service->push_warning("Warning", "Please be in a vehicle before enabling vehicle fly.");
g->vehicle.fly.enabled = false;
g.vehicle.fly.enabled = false;
return;
}
else

View File

@ -10,7 +10,7 @@ namespace big
void looped::vehicle_horn_boost()
{
if (!g->vehicle.horn_boost) return;
if (!g.vehicle.horn_boost) return;
Vehicle vehicle = self::veh;

View File

@ -7,7 +7,7 @@ namespace big
void looped::vehicle_instant_brake()
{
if (!g->vehicle.instant_brake) return;
if (!g.vehicle.instant_brake) return;
Vehicle vehicle = self::veh;

View File

@ -5,6 +5,6 @@ namespace big
void looped::vehicle_is_targetable()
{
if (g_local_player && g_local_player->m_vehicle)
g_local_player->m_vehicle->m_is_targetable = g->vehicle.is_targetable;
g_local_player->m_vehicle->m_is_targetable = g.vehicle.is_targetable;
}
}

View File

@ -5,7 +5,7 @@ namespace big
{
void looped::vehicle_keep_vehicle_repaired()
{
if (g->vehicle.keep_vehicle_repaired && VEHICLE::GET_DOES_VEHICLE_HAVE_DAMAGE_DECALS(self::veh)) {
if (g.vehicle.keep_vehicle_repaired && VEHICLE::GET_DOES_VEHICLE_HAVE_DAMAGE_DECALS(self::veh)) {
vehicle::repair(self::veh);
}
}

View File

@ -18,7 +18,7 @@ namespace big
busy = true;
constexpr int hash = RAGE_JOAAT("carmod_shop");
if (g->vehicle.ls_customs && g->vehicle.ls_customs == state)
if (g.vehicle.ls_customs && g.vehicle.ls_customs == state)
{
if (
auto carmod_shop_thread = gta_util::find_script_thread(hash);
@ -26,19 +26,19 @@ namespace big
*script_local(carmod_shop_thread, CARMOD_SHOP_STRUCT).at(11).as<int*>() != 4
)
{
g->vehicle.ls_customs = false;
g.vehicle.ls_customs = false;
*script_local(carmod_shop_thread, CARMOD_SHOP_STRUCT).as<int*>() = 1; // cleanup
}
}
if (g->vehicle.ls_customs && g->vehicle.ls_customs != state)
if (g.vehicle.ls_customs && g.vehicle.ls_customs != state)
{
Vehicle veh = self::veh;
if (!ENTITY::DOES_ENTITY_EXIST(veh) || ENTITY::IS_ENTITY_DEAD(veh, false))
{
busy = false;
g->vehicle.ls_customs = false;
g.vehicle.ls_customs = false;
g_notification_service->push_warning("LS Customs", "You aren't in a vehicle.");
@ -67,6 +67,6 @@ namespace big
}
busy = false;
state = g->vehicle.ls_customs;
state = g.vehicle.ls_customs;
}
}

View File

@ -8,7 +8,7 @@ namespace big
{
if (g_local_player == nullptr || g_local_player->m_vehicle == nullptr) return;
bool bNoWaterCollsion = g->vehicle.no_water_collision;
bool bNoWaterCollsion = g.vehicle.no_water_collision;
if (bNoWaterCollsion)
{

View File

@ -25,17 +25,17 @@ namespace big
static int green = 0;
static int blue = 0;
if (self::veh && g->vehicle.rainbow_paint.type != RainbowPaintType::Off && last_rgb_run_time + delay < std::chrono::system_clock::now())
if (self::veh && g.vehicle.rainbow_paint.type != RainbowPaintType::Off && last_rgb_run_time + delay < std::chrono::system_clock::now())
{
int delay_step = 100;
if (g->vehicle.rainbow_paint.type == RainbowPaintType::Spasm)
if (g.vehicle.rainbow_paint.type == RainbowPaintType::Spasm)
{
red = rand() % 256;
green = rand() % 256;
blue = rand() % 256;
}
else if (g->vehicle.rainbow_paint.type == RainbowPaintType::Fade)
else if (g.vehicle.rainbow_paint.type == RainbowPaintType::Fade)
{
delay_step = 10;
@ -103,24 +103,24 @@ namespace big
Vehicle vehicle = self::veh;
if (g->vehicle.rainbow_paint.primary) {
if (g.vehicle.rainbow_paint.primary) {
VEHICLE::SET_VEHICLE_CUSTOM_PRIMARY_COLOUR(vehicle, red, green, blue);
}
if (g->vehicle.rainbow_paint.secondary) {
if (g.vehicle.rainbow_paint.secondary) {
VEHICLE::SET_VEHICLE_CUSTOM_SECONDARY_COLOUR(vehicle, red, green, blue);
}
if (g->vehicle.rainbow_paint.neon) {
if (g.vehicle.rainbow_paint.neon) {
VEHICLE::SET_VEHICLE_NEON_ENABLED(vehicle, 0, 1);
VEHICLE::SET_VEHICLE_NEON_ENABLED(vehicle, 1, 1);
VEHICLE::SET_VEHICLE_NEON_ENABLED(vehicle, 2, 1);
VEHICLE::SET_VEHICLE_NEON_ENABLED(vehicle, 3, 1);
VEHICLE::SET_VEHICLE_NEON_COLOUR(vehicle, red, green, blue);
}
if (g->vehicle.rainbow_paint.smoke) {
if (g.vehicle.rainbow_paint.smoke) {
VEHICLE::SET_VEHICLE_TYRE_SMOKE_COLOR(vehicle, red, green, blue);
}
delay = std::chrono::milliseconds(((delay_step * 10) + 10) - (g->vehicle.rainbow_paint.speed * delay_step));
delay = std::chrono::milliseconds(((delay_step * 10) + 10) - (g.vehicle.rainbow_paint.speed * delay_step));
last_rgb_run_time = std::chrono::system_clock::now();
}
}

View File

@ -7,15 +7,15 @@ namespace big
void looped::vehicle_seatbelt()
{
bool b_seatbelt = g->vehicle.seatbelt;
bool b_seatbelt = g.vehicle.seatbelt;
if (b_seatbelt || (!b_seatbelt && b_seatbelt != b_last_seatbelt))
{
PED::SET_PED_CONFIG_FLAG(self::ped, 32, g->vehicle.seatbelt);
PED::SET_PED_CONFIG_FLAG(self::ped, 32, g.vehicle.seatbelt);
PED::SET_PED_CAN_BE_KNOCKED_OFF_VEHICLE(self::ped, g->vehicle.seatbelt);
PED::SET_PED_CAN_BE_KNOCKED_OFF_VEHICLE(self::ped, g.vehicle.seatbelt);
b_last_seatbelt = g->vehicle.seatbelt;
b_last_seatbelt = g.vehicle.seatbelt;
}
}
}

View File

@ -7,7 +7,7 @@ namespace big
void looped::vehicle_speedo_meter()
{
if (
!g->vehicle.speedo_meter.enabled ||
!g.vehicle.speedo_meter.enabled ||
self::veh == 0 ||
HUD::IS_PAUSE_MENU_ACTIVE() ||
HUD::IS_WARNING_MESSAGE_ACTIVE() ||
@ -24,10 +24,10 @@ namespace big
float veh_speed = vehicle::mps_to_speed(
ENTITY::GET_ENTITY_SPEED(self::veh),
g->vehicle.speed_unit
g.vehicle.speed_unit
);
switch (g->vehicle.speed_unit)
switch (g.vehicle.speed_unit)
{
case SpeedUnit::KMPH:
strcpy(speed_type, "kmph");
@ -41,21 +41,21 @@ namespace big
break;
}
sprintf(speed, "%*d", g->vehicle.speedo_meter.left_side ? 0 : char_width, (int)veh_speed);
sprintf(speed, "%*d", g.vehicle.speedo_meter.left_side ? 0 : char_width, (int)veh_speed);
HUD::SET_TEXT_FONT(2);
HUD::SET_TEXT_SCALE(.9f, .9f);
HUD::SET_TEXT_OUTLINE();
HUD::BEGIN_TEXT_COMMAND_DISPLAY_TEXT("STRING");
HUD::ADD_TEXT_COMPONENT_SUBSTRING_PLAYER_NAME(speed_type);
HUD::END_TEXT_COMMAND_DISPLAY_TEXT(g->vehicle.speedo_meter.x, g->vehicle.speedo_meter.y, 1);
HUD::END_TEXT_COMMAND_DISPLAY_TEXT(g.vehicle.speedo_meter.x, g.vehicle.speedo_meter.y, 1);
HUD::SET_TEXT_FONT(2);
HUD::SET_TEXT_SCALE(.9f, .9f);
HUD::SET_TEXT_OUTLINE();
HUD::BEGIN_TEXT_COMMAND_DISPLAY_TEXT("STRING");
HUD::ADD_TEXT_COMPONENT_SUBSTRING_PLAYER_NAME(speed);
HUD::END_TEXT_COMMAND_DISPLAY_TEXT(g->vehicle.speedo_meter.x + (g->vehicle.speedo_meter.left_side ? 0 : .003f), g->vehicle.speedo_meter.y + .04f, 1);
HUD::END_TEXT_COMMAND_DISPLAY_TEXT(g.vehicle.speedo_meter.x + (g.vehicle.speedo_meter.left_side ? 0 : .003f), g.vehicle.speedo_meter.y + .04f, 1);
}
}

View File

@ -81,7 +81,7 @@ inline void set_turn_signals(int signal_state, bool on)
{
static constexpr int off = 0;
if (self::veh && big::g->vehicle.turn_signals)
if (self::veh && big::g.vehicle.turn_signals)
{
switch (signal_state)
{
@ -110,7 +110,7 @@ namespace big
void looped::vehicle_turn_signals()
{
static bool hazzards = false;
bool b_turn_signals = g->vehicle.turn_signals;
bool b_turn_signals = g.vehicle.turn_signals;
if (!b_turn_signals && b_turn_signals != b_last_turn_signals)
{
@ -118,7 +118,7 @@ namespace big
VEHICLE::SET_VEHICLE_INDICATOR_LIGHTS(PED::GET_VEHICLE_PED_IS_IN(PLAYER::PLAYER_PED_ID(), false), 1, 0);
}
if (g->vehicle.turn_signals)
if (g.vehicle.turn_signals)
{
static bool ran_once = []
{
@ -130,12 +130,12 @@ namespace big
update_key_states();
if (left_signal_key.state == key_state::just_pressed || g->vehicle.auto_turn_signals && PAD::IS_CONTROL_PRESSED(0, (int)ControllerInputs::INPUT_VEH_MOVE_LEFT_ONLY))
if (left_signal_key.state == key_state::just_pressed || g.vehicle.auto_turn_signals && PAD::IS_CONTROL_PRESSED(0, (int)ControllerInputs::INPUT_VEH_MOVE_LEFT_ONLY))
{
set_turn_signals(signal_state::left, true);
}
if (right_signal_key.state == key_state::just_pressed || g->vehicle.auto_turn_signals && PAD::IS_CONTROL_PRESSED(0, (int)ControllerInputs::INPUT_VEH_MOVE_RIGHT_ONLY))
if (right_signal_key.state == key_state::just_pressed || g.vehicle.auto_turn_signals && PAD::IS_CONTROL_PRESSED(0, (int)ControllerInputs::INPUT_VEH_MOVE_RIGHT_ONLY))
{
set_turn_signals(signal_state::right, true);
}
@ -145,7 +145,7 @@ namespace big
set_turn_signals(signal_state::hazzards, true);
hazzards = true;
}
else if (hazzards_key.state == key_state::just_pressed && hazzards || !g->vehicle.turn_signals)
else if (hazzards_key.state == key_state::just_pressed && hazzards || !g.vehicle.turn_signals)
{
set_turn_signals(signal_state::hazzards, false);
hazzards = false;
@ -154,7 +154,7 @@ namespace big
if (PAD::IS_CONTROL_JUST_RELEASED(0, (int)ControllerInputs::INPUT_VEH_MOVE_LEFT_ONLY))
{
if (g->vehicle.turn_signals)
if (g.vehicle.turn_signals)
{
script::get_current()->yield(1500ms);
}
@ -163,14 +163,14 @@ namespace big
if (PAD::IS_CONTROL_JUST_RELEASED(0, (int)ControllerInputs::INPUT_VEH_MOVE_RIGHT_ONLY))
{
if (g->vehicle.turn_signals)
if (g.vehicle.turn_signals)
{
script::get_current()->yield(1500ms);
}
set_turn_signals(signal_state::right, false);
}
b_last_turn_signals = g->vehicle.turn_signals;
b_last_turn_signals = g.vehicle.turn_signals;
}
}

View File

@ -14,7 +14,7 @@ namespace big
}
if (
(g->vehicle.god_mode || g->vehicle.proof_collision) &&
(g.vehicle.god_mode || g.vehicle.proof_collision) &&
g_local_player->m_ped_task_flag & (int)ePedTask::TASK_DRIVING
) {
g_local_player->m_vehicle->m_deform_god = 0x8C;
@ -24,7 +24,7 @@ namespace big
g_local_player->m_vehicle->m_deform_god = 0x9C;
}
uint32_t bits = g->vehicle.proof_mask;
uint32_t bits = g.vehicle.proof_mask;
uint32_t changed_bits = bits ^ last_bits;
uint32_t changed_or_enabled_bits = bits | changed_bits;

View File

@ -6,7 +6,7 @@ namespace big
{
void looped::vehicle_jump()
{
if (!g->vehicle.vehicle_jump) return;
if (!g.vehicle.vehicle_jump) return;
const auto vehicle = self::veh;

View File

@ -18,7 +18,7 @@ namespace big
return;
}
if (g->weapons.ammo_special.toggle) {
if (g.weapons.ammo_special.toggle) {
CWeaponInfo* weapon_info = g_local_player->m_weapon_manager->m_weapon_info;
// check if the player changed their weapon
@ -39,12 +39,12 @@ namespace big
// apply ammo type changes to the current weapon
eDamageType damage_type = eDamageType::None;
eExplosionTag explosion_tag = g->weapons.ammo_special.explosion_tag;
eExplosionTag explosion_tag = g.weapons.ammo_special.explosion_tag;
eAmmoSpecialType ammo_type = eAmmoSpecialType::None;
if (explosion_tag == eExplosionTag::DONTCARE) {
damage_type = modified_weapon_damage_type;
ammo_type = g->weapons.ammo_special.type;
ammo_type = g.weapons.ammo_special.type;
}
else {
damage_type = eDamageType::Explosive;

View File

@ -7,7 +7,7 @@ namespace big
{
void looped::weapons_cage_gun()
{
bool bCageGun = g->weapons.custom_weapon == CustomWeapon::CAGE_GUN;
bool bCageGun = g.weapons.custom_weapon == CustomWeapon::CAGE_GUN;
if (bCageGun)
{

View File

@ -19,7 +19,7 @@ namespace big
void looped::custom_gun_disable_control_action()
{
bool is_custom_gun_selected = g->weapons.custom_weapon != CustomWeapon::NONE;
bool is_custom_gun_selected = g.weapons.custom_weapon != CustomWeapon::NONE;
if (is_custom_gun_selected)
{
for (const auto& control : attack_controls)

View File

@ -8,7 +8,7 @@ namespace big
{
void looped::weapons_delete_gun()
{
bool bCageGun = g->weapons.custom_weapon == CustomWeapon::DELETE_GUN;
bool bCageGun = g.weapons.custom_weapon == CustomWeapon::DELETE_GUN;
if (bCageGun)
{

View File

@ -6,7 +6,7 @@ namespace big
{
void looped::weapons_force_crosshairs()
{
if (g->weapons.force_crosshairs) {
if (g.weapons.force_crosshairs) {
HUD::SHOW_HUD_COMPONENT_THIS_FRAME(static_cast<int>(HudComponents::RETICLE));
}
}

View File

@ -15,7 +15,7 @@ namespace big
void looped::weapons_gravity_gun()
{
bool is_gravity_gun_selected = g->weapons.custom_weapon == CustomWeapon::GRAVITY_GUN;
bool is_gravity_gun_selected = g.weapons.custom_weapon == CustomWeapon::GRAVITY_GUN;
constexpr double multiplier = 3.0;
auto is_zoomed_in = is_gravity_gun_selected && PAD::IS_DISABLED_CONTROL_PRESSED(0, (int)ControllerInputs::INPUT_AIM);

View File

@ -5,10 +5,10 @@ namespace big
{
void looped::weapons_increased_damage()
{
if (g->weapons.increased_damage != 1) {
if (g.weapons.increased_damage != 1) {
Hash weapon{};
WEAPON::GET_CURRENT_PED_WEAPON(self::ped, &weapon, 0);
WEAPON::SET_WEAPON_DAMAGE_MODIFIER(weapon, g->weapons.increased_damage);
WEAPON::SET_WEAPON_DAMAGE_MODIFIER(weapon, g.weapons.increased_damage);
}
}
}

View File

@ -7,13 +7,13 @@ namespace big
void looped::weapons_infinite_ammo()
{
bool bInfiniteAmmo = g->weapons.infinite_ammo;
bool bInfiniteAmmo = g.weapons.infinite_ammo;
if (bInfiniteAmmo || (!bInfiniteAmmo && bInfiniteAmmo != bLastInfiniteAmmo))
{
WEAPON::SET_PED_INFINITE_AMMO(self::ped, g->weapons.infinite_ammo, NULL);
WEAPON::SET_PED_INFINITE_AMMO(self::ped, g.weapons.infinite_ammo, NULL);
bLastInfiniteAmmo = g->weapons.infinite_ammo;
bLastInfiniteAmmo = g.weapons.infinite_ammo;
}
}
}

View File

@ -7,13 +7,13 @@ namespace big
void looped::weapons_infinite_mag()
{
bool bInfiniteMag = g->weapons.infinite_mag;
bool bInfiniteMag = g.weapons.infinite_mag;
if (bInfiniteMag || (!bInfiniteMag && bInfiniteMag != bLastInfiniteMag))
{
WEAPON::SET_PED_INFINITE_AMMO_CLIP(self::ped, g->weapons.infinite_mag);
WEAPON::SET_PED_INFINITE_AMMO_CLIP(self::ped, g.weapons.infinite_mag);
bLastInfiniteMag = g->weapons.infinite_mag;
bLastInfiniteMag = g.weapons.infinite_mag;
}
}
}

View File

@ -24,7 +24,7 @@ namespace big
float get_recoil_value(uint32_t hash)
{
return g->weapons.no_recoil
return g.weapons.no_recoil
? 0.f
: get_og_recoil_value(hash);
}

View File

@ -24,7 +24,7 @@ namespace big
float get_spread_value(uint32_t hash)
{
return g->weapons.no_spread
return g.weapons.no_spread
? 0.f
: get_og_spread_value(hash);
}

View File

@ -8,7 +8,7 @@ namespace big
{
void looped::weapons_rapid_fire()
{
if (g->weapons.rapid_fire)
if (g.weapons.rapid_fire)
{
if(!HUD::IS_PAUSE_MENU_ACTIVE() && !g_gui->is_open() && !PED::IS_PED_DEAD_OR_DYING(self::ped, true))
{

View File

@ -7,7 +7,7 @@ namespace big
{
void looped::weapons_repair_gun()
{
bool bRepairGun = g->weapons.custom_weapon == CustomWeapon::REPAIR_GUN;
bool bRepairGun = g.weapons.custom_weapon == CustomWeapon::REPAIR_GUN;
if (bRepairGun)
{

View File

@ -9,7 +9,7 @@ namespace big
void looped::weapons_steal_vehicle_gun()
{
if (const bool bStealVehicleGun = g->weapons.custom_weapon == CustomWeapon::STEAL_VEHICLE_GUN; bStealVehicleGun)
if (const bool bStealVehicleGun = g.weapons.custom_weapon == CustomWeapon::STEAL_VEHICLE_GUN; bStealVehicleGun)
{
if (PAD::IS_DISABLED_CONTROL_PRESSED(0, (int)ControllerInputs::INPUT_AIM))
{

View File

@ -10,7 +10,7 @@ namespace big
void looped::weapons_vehicle_gun()
{
const bool is_vehicle_gun_selected = g->weapons.custom_weapon == CustomWeapon::VEHICLE_GUN;
const bool is_vehicle_gun_selected = g.weapons.custom_weapon == CustomWeapon::VEHICLE_GUN;
const auto time_now = std::chrono::steady_clock::now();
@ -35,7 +35,7 @@ namespace big
location.y += dist * sin(yaw) * cos(pitch);
location.z += dist * sin(pitch);
Vehicle veh = vehicle::spawn(
rage::joaat((const char*)g->weapons.vehicle_gun_model),
rage::joaat(g.weapons.vehicle_gun_model.data()),
location,
ENTITY::GET_ENTITY_HEADING(self::ped)
);