Disable dupe detector in freemode. (#3449)
* Fixed freemode detecting duplicate vehicles and trying to emit DUPE_DETECT metric. * Added unlikely attribute to allow_all_vehicles_in_heists.
This commit is contained in:
parent
43afdae9e7
commit
665afb1bd5
@ -1,31 +1,29 @@
|
|||||||
#include "backend/looped/looped.hpp"
|
#include "backend/looped/looped.hpp"
|
||||||
#include "backend/looped_command.hpp"
|
#include "backend/looped_command.hpp"
|
||||||
#include "core/scr_globals.hpp"
|
#include "core/scr_globals.hpp"
|
||||||
#include "services/tunables/tunables_service.hpp"
|
#include "services/tunables/tunables_service.hpp"
|
||||||
#include "pointers.hpp"
|
#include "pointers.hpp"
|
||||||
|
|
||||||
namespace big
|
namespace big
|
||||||
{
|
{
|
||||||
constexpr auto list_of_hashes = {"GR_BLOCK_APC_IN_HEISTS"_J, "GR_BLOCK_ARDENT_IN_HEISTS"_J, "GR_BLOCK_NIGHTSHARK_IN_HEISTS"_J, "GR_BLOCK_INSURGENT3_IN_HEISTS"_J, "GR_BLOCK_TECHNICAL3_IN_HEISTS"_J, "GR_BLOCK_HALFTRACK_IN_HEISTS"_J, "GR_BLOCK_TRAILERSMALL_IN_HEISTS"_J, "GR_BLOCK_TAMPA3_IN_HEISTS"_J, "GR_BLOCK_DUNE3_IN_HEISTS"_J, "GR_BLOCK_OPPRESSOR_IN_HEISTS"_J, "SMUG_BLOCK_VIGILANTE_IN_HEISTS"_J, "H2_BLOCK_THRUSTER_IN_HEISTS"_J, "H2_BLOCK_DELUXO_IN_HEISTS"_J, "H2_BLOCK_STROMBERG_IN_HEISTS"_J, "H2_BLOCK_RCV_IN_HEISTS"_J, "H2_BLOCK_CHERNOBOG_IN_HEISTS"_J, "H2_BLOCK_BARRAGE_IN_HEISTS"_J, "H2_BLOCK_KHANJALI_IN_HEISTS"_J, "H2_BLOCK_SAFARI_IN_HEISTS"_J, "H2_BLOCK_SAVESTRA_IN_HEISTS"_J, "H2_BLOCK_AVENGER_IN_HEISTS"_J, "H2_BLOCK_VOLATOL_IN_HEISTS"_J, "H2_BLOCK_AKULA_IN_HEISTS"_J, "BB_BLOCK_OPPRESSOR2_IN_HEISTS"_J, "BB_BLOCK_SCRAMJET_IN_HEISTS"_J, "BLOCK_HYDRA_IN_HEISTS"_J, "BLOCK_TOREADOR_IN_HEISTS"_J, "H2_BLOCK_VISERIS_IN_HEISTS"_J};
|
constexpr auto list_of_hashes = {"GR_BLOCK_APC_IN_HEISTS"_J, "GR_BLOCK_ARDENT_IN_HEISTS"_J, "GR_BLOCK_NIGHTSHARK_IN_HEISTS"_J, "GR_BLOCK_INSURGENT3_IN_HEISTS"_J, "GR_BLOCK_TECHNICAL3_IN_HEISTS"_J, "GR_BLOCK_HALFTRACK_IN_HEISTS"_J, "GR_BLOCK_TRAILERSMALL_IN_HEISTS"_J, "GR_BLOCK_TAMPA3_IN_HEISTS"_J, "GR_BLOCK_DUNE3_IN_HEISTS"_J, "GR_BLOCK_OPPRESSOR_IN_HEISTS"_J, "SMUG_BLOCK_VIGILANTE_IN_HEISTS"_J, "H2_BLOCK_THRUSTER_IN_HEISTS"_J, "H2_BLOCK_DELUXO_IN_HEISTS"_J, "H2_BLOCK_STROMBERG_IN_HEISTS"_J, "H2_BLOCK_RCV_IN_HEISTS"_J, "H2_BLOCK_CHERNOBOG_IN_HEISTS"_J, "H2_BLOCK_BARRAGE_IN_HEISTS"_J, "H2_BLOCK_KHANJALI_IN_HEISTS"_J, "H2_BLOCK_SAFARI_IN_HEISTS"_J, "H2_BLOCK_SAVESTRA_IN_HEISTS"_J, "H2_BLOCK_AVENGER_IN_HEISTS"_J, "H2_BLOCK_VOLATOL_IN_HEISTS"_J, "H2_BLOCK_AKULA_IN_HEISTS"_J, "BB_BLOCK_OPPRESSOR2_IN_HEISTS"_J, "BB_BLOCK_SCRAMJET_IN_HEISTS"_J, "BLOCK_HYDRA_IN_HEISTS"_J, "BLOCK_TOREADOR_IN_HEISTS"_J, "H2_BLOCK_VISERIS_IN_HEISTS"_J};
|
||||||
|
|
||||||
class allvehsinheists : looped_command
|
class allvehsinheists : looped_command
|
||||||
{
|
{
|
||||||
using looped_command::looped_command;
|
using looped_command::looped_command;
|
||||||
|
|
||||||
virtual void on_tick() override
|
virtual void on_tick() override
|
||||||
{
|
{
|
||||||
for (Hash tunable_hash : list_of_hashes)
|
for (Hash tunable_hash : list_of_hashes)
|
||||||
{
|
{
|
||||||
if (auto tunable_ptr = g_tunables_service->get_tunable<PBOOL>(tunable_hash)) [[likely]]
|
if (auto tunable_ptr = g_tunables_service->get_tunable<PBOOL>(tunable_hash)) [[likely]]
|
||||||
{
|
{
|
||||||
if (*tunable_ptr != FALSE)
|
if (*tunable_ptr != FALSE) [[unlikely]]
|
||||||
{
|
*tunable_ptr = FALSE;
|
||||||
*tunable_ptr = FALSE;
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
}
|
|
||||||
};
|
allvehsinheists g_allvehsinheists("allvehsinheists", "VEHICLE_ALLOW_ALL_IN_HEISTS", "VEHICLE_ALLOW_ALL_IN_HEISTS_DESC", g.vehicle.all_vehs_in_heists);
|
||||||
|
}
|
||||||
allvehsinheists g_allvehsinheists("allvehsinheists", "VEHICLE_ALLOW_ALL_IN_HEISTS", "VEHICLE_ALLOW_ALL_IN_HEISTS_DESC", g.vehicle.all_vehs_in_heists);
|
|
||||||
}
|
|
||||||
|
22
src/backend/looped/vehicle/bypass_dupe_detector.cpp
Normal file
22
src/backend/looped/vehicle/bypass_dupe_detector.cpp
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
#include "backend/looped_command.hpp"
|
||||||
|
#include "services/tunables/tunables_service.hpp"
|
||||||
|
|
||||||
|
namespace big
|
||||||
|
{
|
||||||
|
class bypass_dupe_detector : looped_command
|
||||||
|
{
|
||||||
|
using looped_command::looped_command;
|
||||||
|
|
||||||
|
virtual void on_tick() override
|
||||||
|
{
|
||||||
|
if (auto tunable = g_tunables_service->get_tunable<PBOOL>("ENABLED_DOZER_DETECTOR"_J)) [[likely]]
|
||||||
|
{
|
||||||
|
if (*tunable == TRUE) [[unlikely]]
|
||||||
|
*tunable = FALSE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
bool always_on = true;
|
||||||
|
bypass_dupe_detector g_bypass_dupe_detector("dupedetector", "DUPE_DETECTOR", "", always_on);
|
||||||
|
}
|
Reference in New Issue
Block a user