2022-01-21 23:13:43 +01:00
|
|
|
#pragma once
|
|
|
|
#include "native_hooks.hpp"
|
|
|
|
#include "natives.hpp"
|
|
|
|
|
|
|
|
namespace big
|
|
|
|
{
|
|
|
|
namespace carmod_shop
|
|
|
|
{
|
2022-03-17 00:06:54 +01:00
|
|
|
inline void STAT_GET_INT(rage::scrNativeCallContext* src)
|
|
|
|
{
|
|
|
|
const auto hash = src->get_arg<Hash>(0);
|
2023-03-01 21:27:15 +00:00
|
|
|
int* out = src->get_arg<int*>(1);
|
2022-03-17 00:06:54 +01:00
|
|
|
src->set_return_value<BOOL>(1);
|
|
|
|
|
2023-03-01 21:27:15 +00:00
|
|
|
switch (hash)
|
2022-03-17 00:06:54 +01:00
|
|
|
{
|
|
|
|
case RAGE_JOAAT("MP0_RACES_WON"):
|
|
|
|
case RAGE_JOAAT("MP0_NUMBER_TURBO_STARTS_IN_RACE"):
|
|
|
|
case RAGE_JOAAT("MP0_USJS_COMPLETED"):
|
|
|
|
case RAGE_JOAAT("MP0_AWD_FM_RACES_FASTEST_LAP"):
|
2022-05-10 19:23:28 +02:00
|
|
|
case RAGE_JOAAT("MP1_RACES_WON"):
|
|
|
|
case RAGE_JOAAT("MP1_NUMBER_TURBO_STARTS_IN_RACE"):
|
|
|
|
case RAGE_JOAAT("MP1_USJS_COMPLETED"):
|
2023-03-01 21:27:15 +00:00
|
|
|
case RAGE_JOAAT("MP1_AWD_FM_RACES_FASTEST_LAP"): *out = 50; break;
|
2022-03-17 00:06:54 +01:00
|
|
|
case RAGE_JOAAT("MP0_NUMBER_SLIPSTREAMS_IN_RACE"):
|
2023-03-01 21:27:15 +00:00
|
|
|
case RAGE_JOAAT("MP1_NUMBER_SLIPSTREAMS_IN_RACE"): *out = 100; break;
|
2022-03-17 00:06:54 +01:00
|
|
|
case RAGE_JOAAT("MP0_CHAR_FM_CARMOD_1_UNLCK"):
|
|
|
|
case RAGE_JOAAT("MP0_CHAR_FM_CARMOD_2_UNLCK"):
|
|
|
|
case RAGE_JOAAT("MP0_CHAR_FM_CARMOD_3_UNLCK"):
|
|
|
|
case RAGE_JOAAT("MP0_CHAR_FM_CARMOD_4_UNLCK"):
|
|
|
|
case RAGE_JOAAT("MP0_CHAR_FM_CARMOD_5_UNLCK"):
|
|
|
|
case RAGE_JOAAT("MP0_CHAR_FM_CARMOD_6_UNLCK"):
|
|
|
|
case RAGE_JOAAT("MP0_CHAR_FM_CARMOD_7_UNLCK"):
|
2022-05-10 19:23:28 +02:00
|
|
|
case RAGE_JOAAT("MP1_CHAR_FM_CARMOD_1_UNLCK"):
|
|
|
|
case RAGE_JOAAT("MP1_CHAR_FM_CARMOD_2_UNLCK"):
|
|
|
|
case RAGE_JOAAT("MP1_CHAR_FM_CARMOD_3_UNLCK"):
|
|
|
|
case RAGE_JOAAT("MP1_CHAR_FM_CARMOD_4_UNLCK"):
|
|
|
|
case RAGE_JOAAT("MP1_CHAR_FM_CARMOD_5_UNLCK"):
|
|
|
|
case RAGE_JOAAT("MP1_CHAR_FM_CARMOD_6_UNLCK"):
|
2023-03-01 21:27:15 +00:00
|
|
|
case RAGE_JOAAT("MP1_CHAR_FM_CARMOD_7_UNLCK"): *out = -1; break;
|
2022-03-17 00:06:54 +01:00
|
|
|
case RAGE_JOAAT("MP0_AWD_FMRALLYWONDRIVE"):
|
|
|
|
case RAGE_JOAAT("MP0_AWD_FMRALLYWONNAV"):
|
|
|
|
case RAGE_JOAAT("MP0_AWD_FMWINSEARACE"):
|
|
|
|
case RAGE_JOAAT("MP0_AWD_FMWINAIRRACE"):
|
2022-05-10 19:23:28 +02:00
|
|
|
case RAGE_JOAAT("MP1_AWD_FMRALLYWONDRIVE"):
|
|
|
|
case RAGE_JOAAT("MP1_AWD_FMRALLYWONNAV"):
|
|
|
|
case RAGE_JOAAT("MP1_AWD_FMWINSEARACE"):
|
2023-03-01 21:27:15 +00:00
|
|
|
case RAGE_JOAAT("MP1_AWD_FMWINAIRRACE"): *out = 1; break;
|
|
|
|
default: src->set_return_value<BOOL>(STATS::STAT_GET_INT(hash, out, src->get_arg<int>(2))); break;
|
2022-03-17 00:06:54 +01:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2023-07-12 17:03:29 +00:00
|
|
|
inline void STAT_SET_INT(rage::scrNativeCallContext* src)
|
|
|
|
{
|
|
|
|
const auto hash = src->get_arg<Hash>(0);
|
|
|
|
if (hash == RAGE_JOAAT("SP0_TOTAL_CASH") || hash == RAGE_JOAAT("SP1_TOTAL_CASH") || hash == RAGE_JOAAT("SP2_TOTAL_CASH"))
|
|
|
|
return;
|
|
|
|
|
|
|
|
src->set_return_value<BOOL>(STATS::STAT_SET_INT(hash, src->get_arg<int>(1), src->get_arg<int>(2)));
|
|
|
|
}
|
|
|
|
|
2022-01-21 23:13:43 +01:00
|
|
|
inline void SET_ENTITY_COORDS(rage::scrNativeCallContext* src)
|
|
|
|
{
|
2022-12-18 23:15:52 +01:00
|
|
|
if (!g.vehicle.ls_customs)
|
2022-01-21 23:13:43 +01:00
|
|
|
{
|
2023-03-01 21:27:15 +00:00
|
|
|
ENTITY::SET_ENTITY_COORDS(src->get_arg<Entity>(0), src->get_arg<float>(1), src->get_arg<float>(2), src->get_arg<float>(3), src->get_arg<BOOL>(4), src->get_arg<BOOL>(5), src->get_arg<BOOL>(6), src->get_arg<BOOL>(7));
|
2022-01-21 23:13:43 +01:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
inline void SET_ENTITY_HEADING(rage::scrNativeCallContext* src)
|
|
|
|
{
|
2022-12-18 23:15:52 +01:00
|
|
|
if (!g.vehicle.ls_customs)
|
2022-01-21 23:13:43 +01:00
|
|
|
{
|
2023-03-01 21:27:15 +00:00
|
|
|
ENTITY::SET_ENTITY_HEADING(src->get_arg<Entity>(0), src->get_arg<float>(1));
|
2022-01-21 23:13:43 +01:00
|
|
|
}
|
|
|
|
}
|
2022-01-26 15:19:56 +01:00
|
|
|
|
|
|
|
inline void SET_VEHICLE_LIGHTS(rage::scrNativeCallContext* src)
|
|
|
|
{
|
2022-12-18 23:15:52 +01:00
|
|
|
if (!g.vehicle.ls_customs)
|
2022-01-26 15:19:56 +01:00
|
|
|
{
|
2023-03-01 21:27:15 +00:00
|
|
|
VEHICLE::SET_VEHICLE_LIGHTS(src->get_arg<Vehicle>(0), src->get_arg<int>(1));
|
2022-01-26 15:19:56 +01:00
|
|
|
}
|
|
|
|
}
|
2023-03-09 12:23:01 +00:00
|
|
|
|
|
|
|
inline void DISABLE_ALL_CONTROL_ACTIONS(rage::scrNativeCallContext* src)
|
|
|
|
{
|
|
|
|
if (!g.vehicle.ls_customs)
|
|
|
|
{
|
|
|
|
PAD::DISABLE_ALL_CONTROL_ACTIONS(src->get_arg<int>(0));
|
|
|
|
}
|
|
|
|
}
|
2022-01-21 23:13:43 +01:00
|
|
|
}
|
|
|
|
}
|