refactor: switch RAGE_JOAAT with string literal functions (#2806)

Why? Shorter to write and removes the macro usage

I used the following regex to find all occurrences:
```r
RAGE_JOAAT\("(.*?)"\)
```
then the following to replace it all:
```r
"$1"_J
```
This commit is contained in:
Andreas Maerten 2024-03-12 09:42:11 +01:00 committed by GitHub
parent 10fc7a5e13
commit e07601347d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
89 changed files with 1788 additions and 1788 deletions

View File

@ -19,7 +19,7 @@ namespace big
{ {
if (!player) if (!player)
return; return;
if (!scripts::force_host(RAGE_JOAAT("freemode"))) if (!scripts::force_host("freemode"_J))
{ {
g_notification_service->push_error("END_KICK"_T.data(), "BACKEND_END_SESSION_KICK_FORCE_SCRIPT_HOST_FAILED"_T.data()); g_notification_service->push_error("END_KICK"_T.data(), "BACKEND_END_SESSION_KICK_FORCE_SCRIPT_HOST_FAILED"_T.data());
return; return;
@ -33,4 +33,4 @@ namespace big
}; };
end_session_kick g_end_session_kick("endkick", "END_KICK", "END_KICK_DESC", 0, false); end_session_kick g_end_session_kick("endkick", "END_KICK", "END_KICK_DESC", 0, false);
} }

View File

@ -17,19 +17,19 @@ namespace big
virtual void execute(player_ptr player, const command_arguments& _args, const std::shared_ptr<command_context> ctx) override virtual void execute(player_ptr player, const command_arguments& _args, const std::shared_ptr<command_context> ctx) override
{ {
dynamic_cast<player_command*>(command::get(RAGE_JOAAT("nfkick")))->call(player, {}); dynamic_cast<player_command*>(command::get("nfkick"_J))->call(player, {});
dynamic_cast<player_command*>(command::get(RAGE_JOAAT("oomkick")))->call(player, {}); dynamic_cast<player_command*>(command::get("oomkick"_J))->call(player, {});
dynamic_cast<player_command*>(command::get(RAGE_JOAAT("endkick")))->call(player, {}); dynamic_cast<player_command*>(command::get("endkick"_J))->call(player, {});
script::get_current()->yield(700ms); script::get_current()->yield(700ms);
if (g_player_service->get_self()->is_host()) if (g_player_service->get_self()->is_host())
dynamic_cast<player_command*>(command::get(RAGE_JOAAT("hostkick")))->call(player, {}); dynamic_cast<player_command*>(command::get("hostkick"_J))->call(player, {});
if (player && !g_player_service->get_self()->is_host() && player->is_valid() && !player->is_host()) if (player && !g_player_service->get_self()->is_host() && player->is_valid() && !player->is_host())
dynamic_cast<player_command*>(command::get(RAGE_JOAAT("desync")))->call(player, {}); dynamic_cast<player_command*>(command::get("desync"_J))->call(player, {});
if (g_player_service->get_self()->is_host()) if (g_player_service->get_self()->is_host())
dynamic_cast<player_command*>(command::get(RAGE_JOAAT("breakup")))->call(player, {}), dynamic_cast<player_command*>(command::get("breakup"_J))->call(player, {}),
NETWORK::NETWORK_SESSION_KICK_PLAYER(player->id()); NETWORK::NETWORK_SESSION_KICK_PLAYER(player->id());
} }
}; };

View File

@ -19,7 +19,7 @@ namespace big
{ {
if (!player) if (!player)
return; return;
if (!scripts::force_host(RAGE_JOAAT("freemode"))) if (!scripts::force_host("freemode"_J))
{ {
g_notification_service->push_error("Kick", "Force script host failed!"); g_notification_service->push_error("Kick", "Force script host failed!");
return; return;
@ -30,4 +30,4 @@ namespace big
}; };
script_host_kick g_script_host_kick("shkick", "SCRIPT_HOST_KICK", "SCRIPT_HOST_KICK_DESC", 0, false); script_host_kick g_script_host_kick("shkick", "SCRIPT_HOST_KICK", "SCRIPT_HOST_KICK_DESC", 0, false);
} }

View File

@ -23,7 +23,7 @@ namespace big
player->get_ped()->m_navigation->get_position(), player->get_ped()->m_navigation->get_position(),
0, 0,
true, true,
RAGE_JOAAT("weapon_explosion"), "weapon_explosion"_J,
10000.0f, 10000.0f,
2, 2,
0, 0,
@ -40,4 +40,4 @@ namespace big
}; };
kill_player g_kill_player("kill", "KILL_PLAYER", "KILL_PLAYER_DESC", 0); kill_player g_kill_player("kill", "KILL_PLAYER", "KILL_PLAYER_DESC", 0);
} }

View File

@ -46,13 +46,13 @@ namespace big
if (!NETWORK::NETWORK_IS_PLAYER_CONNECTED(id)) if (!NETWORK::NETWORK_IS_PLAYER_CONNECTED(id))
return; return;
if (!scripts::force_host(RAGE_JOAAT("am_hunt_the_beast"))) if (!scripts::force_host("am_hunt_the_beast"_J))
{ {
g_notification_service->push_error("TURN_INTO_BEAST"_T.data(), "BACKEND_TURN_INTO_BEAST_FAILED_CONTROL"_T.data()); g_notification_service->push_error("TURN_INTO_BEAST"_T.data(), "BACKEND_TURN_INTO_BEAST_FAILED_CONTROL"_T.data());
return; return;
} }
auto thread = gta_util::find_script_thread(RAGE_JOAAT("am_hunt_the_beast")); auto thread = gta_util::find_script_thread("am_hunt_the_beast"_J);
auto stack = thread->m_stack; auto stack = thread->m_stack;
auto net_component = (CGameScriptHandlerNetComponent*)thread->m_net_component; auto net_component = (CGameScriptHandlerNetComponent*)thread->m_net_component;
auto idx = scr_locals::am_hunt_the_beast::broadcast_idx; auto idx = scr_locals::am_hunt_the_beast::broadcast_idx;
@ -85,7 +85,7 @@ namespace big
{ {
scripts::start_launcher_script(47); scripts::start_launcher_script(47);
for (int i = 0; !scripts::is_running(RAGE_JOAAT("am_launcher")); i++) for (int i = 0; !scripts::is_running("am_launcher"_J); i++)
{ {
if (i >= 7000) if (i >= 7000)
{ {
@ -98,7 +98,7 @@ namespace big
script::get_current()->yield(500ms); script::get_current()->yield(500ms);
if (!scripts::force_host(RAGE_JOAAT("am_hunt_the_beast"))) if (!scripts::force_host("am_hunt_the_beast"_J))
{ {
g_notification_service->push_error("TURN_INTO_BEAST"_T.data(), "BACKEND_TURN_INTO_BEAST_FAILED_CONTROL"_T.data()); g_notification_service->push_error("TURN_INTO_BEAST"_T.data(), "BACKEND_TURN_INTO_BEAST_FAILED_CONTROL"_T.data());
return; return;
@ -106,7 +106,7 @@ namespace big
script::get_current()->yield(3s); script::get_current()->yield(3s);
auto thread = gta_util::find_script_thread(RAGE_JOAAT("am_hunt_the_beast")); auto thread = gta_util::find_script_thread("am_hunt_the_beast"_J);
if (!thread) if (!thread)
return; return;
@ -149,4 +149,4 @@ namespace big
turn_into_beast g_turn_into_beast("beast", "TURN_INTO_BEAST", "TURN_INTO_BEAST_DESC", 0, false); turn_into_beast g_turn_into_beast("beast", "TURN_INTO_BEAST", "TURN_INTO_BEAST_DESC", 0, false);
turn_into_beast_all g_turn_into_beast_all("beastall", "TURN_INTO_BEAST_ALL", "TURN_INTO_BEAST_ALL_DESC", 0); turn_into_beast_all g_turn_into_beast_all("beastall", "TURN_INTO_BEAST_ALL", "TURN_INTO_BEAST_ALL_DESC", 0);
} }

View File

@ -18,7 +18,7 @@ namespace big
const auto state = *scr_globals::transition_state.as<eTransitionState*>(); const auto state = *scr_globals::transition_state.as<eTransitionState*>();
const std::vector<std::string_view> transition_states = {"TRANSITION_STATE_EMPTY"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_SINGLEPLAYER_SWOOP_UP"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_MULTIPLAYER_SWOOP_UP"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_CREATOR_SWOOP_UP"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_PRE_HUD_CHECKS"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_WAIT_HUD_EXIT"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_WAIT_FOR_SUMMON"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_SINGLEPLAYER_SWOOP_DOWN"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_MULTIPLAYER_SWOOP_DOWN"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_CANCEL_JOINING"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_RETRY_LOADING"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_RETRY_LOADING_SLOT_1"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_RETRY_LOADING_SLOT_2"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_RETRY_LOADING_SLOT_3"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_RETRY_LOADING_SLOT_4"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_WAIT_ON_INVITE"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_PREJOINING_FREEMODE_SESSION_CHECKS"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_LOOK_FOR_FRESH_JOIN_FREEMODE"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_LOOK_TO_JOIN_ANOTHER_SESSION_FREEMODE"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_CONFIRM_FREEMODE_SESSION_JOINING"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_WAIT_JOIN_FREEMODE_SESSION"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_CREATION_ENTER_SESSION"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_PRE_FREEMODE_LAUNCH_SCRIPT"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_FREEMODE_TEAMFULL_CHECK"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_START_FREEMODE_LAUNCH_SCRIPT"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_FREEMODE_TRANSITION_CREATE_PLAYER"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_IS_FREEMODE_AND_TRANSITION_READY"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_FREEMODE_SWOOP_DOWN"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_POST_BINK_VIDEO_WARP"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_FREEMODE_FINAL_SETUP_PLAYER"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_MOVE_FREEMODE_TO_RUNNING_STATE"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_FREEMODE_HOW_TO_TERMINATE"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_START_CREATOR_PRE_LAUNCH_SCRIPT_CHECK"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_START_CREATOR_LAUNCH_SCRIPT"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_CREATOR_TRANSITION_CREATE_PLAYER"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_IS_CREATOR_AND_TRANSITION_READY"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_CREATOR_SWOOP_DOWN"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_CREATOR_FINAL_SETUP_PLAYER"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_MOVE_CREATOR_TO_RUNNING_STATE"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_PREJOINING_TESTBED_SESSION_CHECKS"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_LOOK_FOR_FRESH_JOIN_TESTBED"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_LOOK_FOR_FRESH_HOST_TESTBED"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_LOOK_TO_JOIN_ANOTHER_SESSION_TESTBED"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_LOOK_TO_HOST_SESSION_TESTBED"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_CONFIRM_TESTBED_SESSION_JOINING"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_WAIT_JOIN_TESTBED_SESSION"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_START_TESTBED_LAUNCH_SCRIPT"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_TESTBED_TRANSITION_CREATE_PLAYER"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_IS_TESTBED_AND_TRANSITION_READY"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_TESTBED_SWOOP_DOWN"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_TESTBED_FINAL_SETUP_PLAYER"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_MOVE_TESTBED_TO_RUNNING_STATE"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_TESTBED_HOW_TO_TERMINATE"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_QUIT_CURRENT_SESSION_PROMPT"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_WAIT_FOR_TRANSITION_SESSION_TO_SETUP"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_TERMINATE_SINGLEPLAYER"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_WAIT_TERMINATE_SINGLEPLAYER"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_KICK_TERMINATE_SESSION"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_TERMINATE_SESSION"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_WAIT_TERMINATE_SESSION"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_TERMINATE_SESSION_AND_HOLD"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_TERMINATE_SESSION_AND_MOVE_INTO_HOLDING_STATE"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_TEAM_SWAPPING_CHECKS"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_RETURN_TO_SINGLEPLAYER"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_WAIT_FOR_SINGLEPLAYER_TO_START"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_WAITING_FOR_EXTERNAL_TERMINATION_CALL"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_TERMINATE_MAINTRANSITION"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_WAIT_FOR_DIRTY_LOAD_CONFIRM"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_DLC_INTRO_BINK"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_SPAWN_INTO_PERSONAL_VEHICLE"_T}; const std::vector<std::string_view> transition_states = {"TRANSITION_STATE_EMPTY"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_SINGLEPLAYER_SWOOP_UP"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_MULTIPLAYER_SWOOP_UP"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_CREATOR_SWOOP_UP"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_PRE_HUD_CHECKS"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_WAIT_HUD_EXIT"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_WAIT_FOR_SUMMON"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_SINGLEPLAYER_SWOOP_DOWN"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_MULTIPLAYER_SWOOP_DOWN"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_CANCEL_JOINING"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_RETRY_LOADING"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_RETRY_LOADING_SLOT_1"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_RETRY_LOADING_SLOT_2"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_RETRY_LOADING_SLOT_3"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_RETRY_LOADING_SLOT_4"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_WAIT_ON_INVITE"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_PREJOINING_FREEMODE_SESSION_CHECKS"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_LOOK_FOR_FRESH_JOIN_FREEMODE"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_LOOK_TO_JOIN_ANOTHER_SESSION_FREEMODE"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_CONFIRM_FREEMODE_SESSION_JOINING"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_WAIT_JOIN_FREEMODE_SESSION"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_CREATION_ENTER_SESSION"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_PRE_FREEMODE_LAUNCH_SCRIPT"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_FREEMODE_TEAMFULL_CHECK"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_START_FREEMODE_LAUNCH_SCRIPT"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_FREEMODE_TRANSITION_CREATE_PLAYER"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_IS_FREEMODE_AND_TRANSITION_READY"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_FREEMODE_SWOOP_DOWN"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_POST_BINK_VIDEO_WARP"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_FREEMODE_FINAL_SETUP_PLAYER"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_MOVE_FREEMODE_TO_RUNNING_STATE"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_FREEMODE_HOW_TO_TERMINATE"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_START_CREATOR_PRE_LAUNCH_SCRIPT_CHECK"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_START_CREATOR_LAUNCH_SCRIPT"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_CREATOR_TRANSITION_CREATE_PLAYER"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_IS_CREATOR_AND_TRANSITION_READY"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_CREATOR_SWOOP_DOWN"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_CREATOR_FINAL_SETUP_PLAYER"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_MOVE_CREATOR_TO_RUNNING_STATE"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_PREJOINING_TESTBED_SESSION_CHECKS"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_LOOK_FOR_FRESH_JOIN_TESTBED"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_LOOK_FOR_FRESH_HOST_TESTBED"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_LOOK_TO_JOIN_ANOTHER_SESSION_TESTBED"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_LOOK_TO_HOST_SESSION_TESTBED"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_CONFIRM_TESTBED_SESSION_JOINING"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_WAIT_JOIN_TESTBED_SESSION"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_START_TESTBED_LAUNCH_SCRIPT"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_TESTBED_TRANSITION_CREATE_PLAYER"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_IS_TESTBED_AND_TRANSITION_READY"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_TESTBED_SWOOP_DOWN"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_TESTBED_FINAL_SETUP_PLAYER"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_MOVE_TESTBED_TO_RUNNING_STATE"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_TESTBED_HOW_TO_TERMINATE"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_QUIT_CURRENT_SESSION_PROMPT"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_WAIT_FOR_TRANSITION_SESSION_TO_SETUP"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_TERMINATE_SINGLEPLAYER"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_WAIT_TERMINATE_SINGLEPLAYER"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_KICK_TERMINATE_SESSION"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_TERMINATE_SESSION"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_WAIT_TERMINATE_SESSION"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_TERMINATE_SESSION_AND_HOLD"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_TERMINATE_SESSION_AND_MOVE_INTO_HOLDING_STATE"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_TEAM_SWAPPING_CHECKS"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_RETURN_TO_SINGLEPLAYER"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_WAIT_FOR_SINGLEPLAYER_TO_START"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_WAITING_FOR_EXTERNAL_TERMINATION_CALL"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_TERMINATE_MAINTRANSITION"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_WAIT_FOR_DIRTY_LOAD_CONFIRM"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_DLC_INTRO_BINK"_T, "BACKEND_LOOPED_HUD_TRANSITION_STATE_SPAWN_INTO_PERSONAL_VEHICLE"_T};
if (SCRIPT::GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(RAGE_JOAAT("maintransition")) == 0) if (SCRIPT::GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH("maintransition"_J) == 0)
return; return;
// When freemode script loaded remove loading screen. // When freemode script loaded remove loading screen.
@ -41,7 +41,7 @@ namespace big
{ {
rage::scrThread* freemode{}; rage::scrThread* freemode{};
if (state == eTransitionState::TRANSITION_STATE_FM_TRANSITION_CREATE_PLAYER if (state == eTransitionState::TRANSITION_STATE_FM_TRANSITION_CREATE_PLAYER
&& (freemode = gta_util::find_script_thread(RAGE_JOAAT("freemode")), freemode && freemode->m_net_component)) && (freemode = gta_util::find_script_thread("freemode"_J), freemode && freemode->m_net_component))
{ {
int num_array_handlers{}; int num_array_handlers{};
int received_array_handlers{}; int received_array_handlers{};

View File

@ -23,7 +23,7 @@ namespace big
entry.second->get_ped()->m_navigation->get_position(), entry.second->get_ped()->m_navigation->get_position(),
0, 0,
true, true,
RAGE_JOAAT("weapon_explosion"), "weapon_explosion"_J,
10000.0f, 10000.0f,
2, 2,
0, 0,

View File

@ -10,24 +10,24 @@ namespace big
bool bLastDanceMode = false; bool bLastDanceMode = false;
void looped::self_dance_mode() 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) if (g.self.dance_mode && SCRIPT::GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH("maintransition"_J) > 0)
g.self.dance_mode = false; 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)
{ {
g_script_patcher_service->update(); g_script_patcher_service->update();
scripts::request_script(RAGE_JOAAT("am_mp_nightclub")); scripts::request_script("am_mp_nightclub"_J);
if (!scripts::wait_till_loaded(RAGE_JOAAT("am_mp_nightclub"))) if (!scripts::wait_till_loaded("am_mp_nightclub"_J))
return; return;
auto thread = SYSTEM::START_NEW_SCRIPT_WITH_NAME_HASH(RAGE_JOAAT("am_mp_nightclub"), 19400 /*PROPERTY_INT*/); auto thread = SYSTEM::START_NEW_SCRIPT_WITH_NAME_HASH("am_mp_nightclub"_J, 19400 /*PROPERTY_INT*/);
SCRIPT::SET_SCRIPT_WITH_NAME_HASH_AS_NO_LONGER_NEEDED(RAGE_JOAAT("am_mp_nightclub")); SCRIPT::SET_SCRIPT_WITH_NAME_HASH_AS_NO_LONGER_NEEDED("am_mp_nightclub"_J);
if (!thread) if (!thread)
return; return;
g.m_dance_thread = gta_util::find_script_thread_by_id(thread); g.m_dance_thread = gta_util::find_script_thread_by_id(thread);
g.m_dance_program = gta_util::find_script_program(RAGE_JOAAT("am_mp_nightclub")); g.m_dance_program = gta_util::find_script_program("am_mp_nightclub"_J);
(*g_pointers->m_gta.m_script_handler_mgr)->attach_thread(g.m_dance_thread); (*g_pointers->m_gta.m_script_handler_mgr)->attach_thread(g.m_dance_thread);
@ -63,4 +63,4 @@ namespace big
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

@ -15,8 +15,8 @@ namespace big
int offset = 0; int offset = 0;
switch (model) switch (model)
{ {
case RAGE_JOAAT("mp_m_freemode_01"): break; case "mp_m_freemode_01"_J: break;
case RAGE_JOAAT("mp_f_freemode_01"): case "mp_f_freemode_01"_J:
{ {
offset = 1; offset = 1;
break; break;
@ -31,7 +31,7 @@ namespace big
{ {
//Disable clothing validation //Disable clothing validation
*scr_globals::reset_clothing.as<PBOOL>() = FALSE; *scr_globals::reset_clothing.as<PBOOL>() = FALSE;
if (auto tunable = g_tunables_service->get_tunable<PBOOL>(RAGE_JOAAT("DISABLE_CLOTHING_SAVE_SLOT_VALIDATION"))) if (auto tunable = g_tunables_service->get_tunable<PBOOL>("DISABLE_CLOTHING_SAVE_SLOT_VALIDATION"_J))
*tunable = TRUE; *tunable = TRUE;
if (g.self.persist_outfit.empty()) if (g.self.persist_outfit.empty())
@ -62,4 +62,4 @@ namespace big
if (outfit.contains("model") && outfit["model"].get<uint32_t>() == model) if (outfit.contains("model") && outfit["model"].get<uint32_t>() == model)
outfit_service::apply_outfit(outfit, false); outfit_service::apply_outfit(outfit, false);
} }
} }

View File

@ -213,7 +213,7 @@ namespace big
if (!m_landing && m_flying) if (!m_landing && m_flying)
{ {
//Negative Z velocity results in gravity assuming we are falling, hence the removal of the parachute. //Negative Z velocity results in gravity assuming we are falling, hence the removal of the parachute.
constexpr auto parachute_hash = RAGE_JOAAT("GADGET_PARACHUTE"); constexpr auto parachute_hash = "GADGET_PARACHUTE"_J;
WEAPON::REMOVE_WEAPON_FROM_PED(self::ped, parachute_hash); WEAPON::REMOVE_WEAPON_FROM_PED(self::ped, parachute_hash);
detach_delete_vehicle(); detach_delete_vehicle();
TASK::CLEAR_PED_TASKS_IMMEDIATELY(self::ped); TASK::CLEAR_PED_TASKS_IMMEDIATELY(self::ped);
@ -408,4 +408,4 @@ namespace big
bool_command charge_ptfx("superheroflychargeptfx", "SUPER_HERO_FLY_CHARGE_PTFX", "SUPER_HERO_FLY_CHARGE_PTFX_DESC", g.self.super_hero_fly.ptfx); bool_command charge_ptfx("superheroflychargeptfx", "SUPER_HERO_FLY_CHARGE_PTFX", "SUPER_HERO_FLY_CHARGE_PTFX_DESC", g.self.super_hero_fly.ptfx);
float_command speed("superheroflyspeed", "SUPER_HERO_FLY_SPEED", "SUPER_HERO_FLY_SPEED_DESC", g.self.super_hero_fly.fly_speed, 1.f, 50.f); float_command speed("superheroflyspeed", "SUPER_HERO_FLY_SPEED", "SUPER_HERO_FLY_SPEED_DESC", g.self.super_hero_fly.fly_speed, 1.f, 50.f);
float_command initial_launch("superheroflyinitiallaunch", "SUPER_HERO_FLY_INITIAL_LAUNCH", "SUPER_HERO_FLY_INITIAL_LAUNCH_DESC", g.self.super_hero_fly.initial_launch, 1.f, 50.f); float_command initial_launch("superheroflyinitiallaunch", "SUPER_HERO_FLY_INITIAL_LAUNCH", "SUPER_HERO_FLY_INITIAL_LAUNCH_DESC", g.self.super_hero_fly.initial_launch, 1.f, 50.f);
} }

View File

@ -15,7 +15,7 @@ namespace big
virtual void on_tick() override virtual void on_tick() override
{ {
if (scr_globals::gpbd_fm_3.as<GPBD_FM_3*>()->Entries[self::id].BossGoon.Boss != -1 || gta_util::find_script_thread(RAGE_JOAAT("fm_mission_controller")) || gta_util::find_script_thread(RAGE_JOAAT("fm_mission_controller_2020"))) if (scr_globals::gpbd_fm_3.as<GPBD_FM_3*>()->Entries[self::id].BossGoon.Boss != -1 || gta_util::find_script_thread("fm_mission_controller"_J) || gta_util::find_script_thread("fm_mission_controller_2020"_J))
{ {
on_disable(); on_disable();
g.self.passive = false; g.self.passive = false;
@ -39,4 +39,4 @@ namespace big
}; };
toggle_passive g_toggle_passive("passive", "PASSIVE", "PASSIVE_DESC", g.self.passive); toggle_passive g_toggle_passive("passive", "PASSIVE", "PASSIVE_DESC", g.self.passive);
} }

View File

@ -14,7 +14,7 @@ namespace big
g_player_service->iterate([](auto& plyr) { g_player_service->iterate([](auto& plyr) {
if (plyr.second->is_host()) if (plyr.second->is_host())
{ {
dynamic_cast<player_command*>(command::get(RAGE_JOAAT("multikick")))->call(plyr.second, {}); dynamic_cast<player_command*>(command::get("multikick"_J))->call(plyr.second, {});
} }
}); });
} }

View File

@ -14,18 +14,18 @@ namespace big
bool used = g.session.block_jobs && *g_pointers->m_gta.m_is_session_started; bool used = g.session.block_jobs && *g_pointers->m_gta.m_is_session_started;
if (!bLastBlockJobsEnabled && used) if (!bLastBlockJobsEnabled && used)
{ {
if (!STREAMING::IS_PLAYER_SWITCH_IN_PROGRESS() && SCRIPT::GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(RAGE_JOAAT("maintransition")) == 0 && NETWORK::NETWORK_GET_HOST_OF_SCRIPT("fmmc_launcher", -1, 0) == self::id) if (!STREAMING::IS_PLAYER_SWITCH_IN_PROGRESS() && SCRIPT::GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH("maintransition"_J) == 0 && NETWORK::NETWORK_GET_HOST_OF_SCRIPT("fmmc_launcher", -1, 0) == self::id)
{ {
auto fmmc = gta_util::find_script_thread(RAGE_JOAAT("fmmc_launcher")); auto fmmc = gta_util::find_script_thread("fmmc_launcher"_J);
*script_local(fmmc->m_stack, scr_locals::fmmc_launcher::broadcast_idx).at(47).at(7).as<int*>() = (-1 & ~(1 << self::id)); *script_local(fmmc->m_stack, scr_locals::fmmc_launcher::broadcast_idx).at(47).at(7).as<int*>() = (-1 & ~(1 << self::id));
bLastBlockJobsEnabled = true; bLastBlockJobsEnabled = true;
} }
} }
else if (bLastBlockJobsEnabled && !used) else if (bLastBlockJobsEnabled && !used)
{ {
if (*g_pointers->m_gta.m_is_session_started && !STREAMING::IS_PLAYER_SWITCH_IN_PROGRESS() && gta_util::find_script_thread(RAGE_JOAAT("fmmc_launcher"))) if (*g_pointers->m_gta.m_is_session_started && !STREAMING::IS_PLAYER_SWITCH_IN_PROGRESS() && gta_util::find_script_thread("fmmc_launcher"_J))
{ {
auto fmmc = gta_util::find_script_thread(RAGE_JOAAT("fmmc_launcher")); auto fmmc = gta_util::find_script_thread("fmmc_launcher"_J);
*script_local(fmmc->m_stack, scr_locals::fmmc_launcher::broadcast_idx).at(47).at(7).as<int*>() = 0; *script_local(fmmc->m_stack, scr_locals::fmmc_launcher::broadcast_idx).at(47).at(7).as<int*>() = 0;
} }

View File

@ -13,7 +13,7 @@ namespace big
bool used = g.session.force_thunder && *g_pointers->m_gta.m_is_session_started; bool used = g.session.force_thunder && *g_pointers->m_gta.m_is_session_started;
if (!bLastForceThunderEnabled && used) 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) if (!STREAMING::IS_PLAYER_SWITCH_IN_PROGRESS() && gta_util::find_script_thread("freemode"_J) && SCRIPT::GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH("maintransition"_J) == 0)
{ {
session::set_fm_event_index(9); session::set_fm_event_index(9);
session::set_fm_event_index(10); session::set_fm_event_index(10);
@ -23,7 +23,7 @@ namespace big
} }
else if (bLastForceThunderEnabled && !used) else if (bLastForceThunderEnabled && !used)
{ {
if (*g_pointers->m_gta.m_is_session_started && !STREAMING::IS_PLAYER_SWITCH_IN_PROGRESS() && gta_util::find_script_thread(RAGE_JOAAT("freemode"))) if (*g_pointers->m_gta.m_is_session_started && !STREAMING::IS_PLAYER_SWITCH_IN_PROGRESS() && gta_util::find_script_thread("freemode"_J))
{ {
session::clear_fm_event_index(9); session::clear_fm_event_index(9);
session::clear_fm_event_index(10); session::clear_fm_event_index(10);

View File

@ -15,9 +15,9 @@ namespace big
bool used = (g.session.disable_traffic || g.session.disable_peds) && *g_pointers->m_gta.m_is_session_started; bool used = (g.session.disable_traffic || g.session.disable_peds) && *g_pointers->m_gta.m_is_session_started;
if (!bLastPopMultiplierAreasEnabled && used) 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) if (!STREAMING::IS_PLAYER_SWITCH_IN_PROGRESS() && gta_util::find_script_thread("freemode"_J) && SCRIPT::GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH("maintransition"_J) == 0)
{ {
gta_util::execute_as_script(RAGE_JOAAT("freemode"), [] { gta_util::execute_as_script("freemode"_J, [] {
pop_multiplier_id = MISC::ADD_POP_MULTIPLIER_SPHERE(1.1f, pop_multiplier_id = MISC::ADD_POP_MULTIPLIER_SPHERE(1.1f,
1.1f, 1.1f,
1.1f, 1.1f,
@ -44,9 +44,9 @@ namespace big
if (bLastPopMultiplierAreasEnabled && !used) if (bLastPopMultiplierAreasEnabled && !used)
{ {
if (gta_util::find_script_thread(RAGE_JOAAT("freemode"))) if (gta_util::find_script_thread("freemode"_J))
{ {
gta_util::execute_as_script(RAGE_JOAAT("freemode"), [] { gta_util::execute_as_script("freemode"_J, [] {
MISC::REMOVE_POP_MULTIPLIER_SPHERE(pop_multiplier_id, false); MISC::REMOVE_POP_MULTIPLIER_SPHERE(pop_multiplier_id, false);
}); });
} }

View File

@ -9,9 +9,9 @@ namespace big
{ {
void looped::session_randomize_ceo_colors() void looped::session_randomize_ceo_colors()
{ {
if (g.session.randomize_ceo_colors && *g_pointers->m_gta.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_gta.m_is_session_started && !STREAMING::IS_PLAYER_SWITCH_IN_PROGRESS() && SCRIPT::GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH("maintransition"_J) == 0)
{ {
if (auto freemode = gta_util::find_script_thread(RAGE_JOAAT("freemode")); if (auto freemode = gta_util::find_script_thread("freemode"_J);
freemode && freemode->m_net_component && ((CGameScriptHandlerNetComponent*)freemode->m_net_component)->is_local_player_host()) freemode && freemode->m_net_component && ((CGameScriptHandlerNetComponent*)freemode->m_net_component)->is_local_player_host())
{ {
for (int i = 0; i < *scr_globals::gsbd.at(818).at(44).as<int*>(); i++) for (int i = 0; i < *scr_globals::gsbd.at(818).at(44).as<int*>(); i++)

View File

@ -14,7 +14,7 @@ namespace big
{ {
*scr_globals::terminate_creator.as<bool*>() = false; *scr_globals::terminate_creator.as<bool*>() = false;
if (SCRIPT::GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(RAGE_JOAAT("maintransition")) > 0) if (SCRIPT::GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH("maintransition"_J) > 0)
{ {
if (g.m_mission_creator_thread) if (g.m_mission_creator_thread)
g.m_mission_creator_thread->kill(); g.m_mission_creator_thread->kill();
@ -36,4 +36,4 @@ namespace big
bLastMissionCreator = false; bLastMissionCreator = false;
} }
} }
} }

View File

@ -16,7 +16,7 @@ namespace big
self::ped = PLAYER::PLAYER_PED_ID(); self::ped = PLAYER::PLAYER_PED_ID();
STATS::STAT_GET_INT(RAGE_JOAAT("MPPLY_LAST_MP_CHAR"), &self::char_index, true); STATS::STAT_GET_INT("MPPLY_LAST_MP_CHAR"_J, &self::char_index, true);
self::pos = ENTITY::GET_ENTITY_COORDS(self::ped, false /*Unused*/); self::pos = ENTITY::GET_ENTITY_COORDS(self::ped, false /*Unused*/);

View File

@ -37,7 +37,7 @@ namespace big
if (*g_pointers->m_gta.m_is_session_started) if (*g_pointers->m_gta.m_is_session_started)
{ {
gta_util::execute_as_script(RAGE_JOAAT("freemode"), [] { gta_util::execute_as_script("freemode"_J, [] {
if (NETWORK::NETWORK_GET_THIS_SCRIPT_IS_NETWORK_SCRIPT() && NETWORK::NETWORK_GET_SCRIPT_STATUS() == 2) if (NETWORK::NETWORK_GET_THIS_SCRIPT_IS_NETWORK_SCRIPT() && NETWORK::NETWORK_GET_SCRIPT_STATUS() == 2)
{ {
if (g.spoofing.spoof_rank) if (g.spoofing.spoof_rank)

View File

@ -17,14 +17,14 @@ namespace big
{ {
if (!m_ready_to_use) if (!m_ready_to_use)
{ {
m_tunables[0] = g_tunables_service->get_tunable<int*>(RAGE_JOAAT("IDLEKICK_WARNING1")); m_tunables[0] = g_tunables_service->get_tunable<int*>("IDLEKICK_WARNING1"_J);
m_tunables[1] = g_tunables_service->get_tunable<int*>(RAGE_JOAAT("IDLEKICK_WARNING2")); m_tunables[1] = g_tunables_service->get_tunable<int*>("IDLEKICK_WARNING2"_J);
m_tunables[2] = g_tunables_service->get_tunable<int*>(RAGE_JOAAT("IDLEKICK_WARNING3")); m_tunables[2] = g_tunables_service->get_tunable<int*>("IDLEKICK_WARNING3"_J);
m_tunables[3] = g_tunables_service->get_tunable<int*>(RAGE_JOAAT("IDLEKICK_KICK")); m_tunables[3] = g_tunables_service->get_tunable<int*>("IDLEKICK_KICK"_J);
m_tunables[4] = g_tunables_service->get_tunable<int*>(RAGE_JOAAT("ConstrainedKick_Warning1")); m_tunables[4] = g_tunables_service->get_tunable<int*>("ConstrainedKick_Warning1"_J);
m_tunables[5] = g_tunables_service->get_tunable<int*>(RAGE_JOAAT("ConstrainedKick_Warning2")); m_tunables[5] = g_tunables_service->get_tunable<int*>("ConstrainedKick_Warning2"_J);
m_tunables[6] = g_tunables_service->get_tunable<int*>(RAGE_JOAAT("ConstrainedKick_Warning3")); m_tunables[6] = g_tunables_service->get_tunable<int*>("ConstrainedKick_Warning3"_J);
m_tunables[7] = g_tunables_service->get_tunable<int*>(RAGE_JOAAT("ConstrainedKick_Kick")); m_tunables[7] = g_tunables_service->get_tunable<int*>("ConstrainedKick_Kick"_J);
// create backup of tunables // create backup of tunables
m_ready_to_use = true; m_ready_to_use = true;

View File

@ -6,7 +6,7 @@
namespace big namespace big
{ {
constexpr auto list_of_hashes = {RAGE_JOAAT("GR_BLOCK_APC_IN_HEISTS"), RAGE_JOAAT("GR_BLOCK_ARDENT_IN_HEISTS"), RAGE_JOAAT("GR_BLOCK_NIGHTSHARK_IN_HEISTS"), RAGE_JOAAT("GR_BLOCK_INSURGENT3_IN_HEISTS"), RAGE_JOAAT("GR_BLOCK_TECHNICAL3_IN_HEISTS"), RAGE_JOAAT("GR_BLOCK_HALFTRACK_IN_HEISTS"), RAGE_JOAAT("GR_BLOCK_TRAILERSMALL_IN_HEISTS"), RAGE_JOAAT("GR_BLOCK_TAMPA3_IN_HEISTS"), RAGE_JOAAT("GR_BLOCK_DUNE3_IN_HEISTS"), RAGE_JOAAT("GR_BLOCK_OPPRESSOR_IN_HEISTS"), RAGE_JOAAT("SMUG_BLOCK_VIGILANTE_IN_HEISTS"), RAGE_JOAAT("H2_BLOCK_THRUSTER_IN_HEISTS"), RAGE_JOAAT("H2_BLOCK_DELUXO_IN_HEISTS"), RAGE_JOAAT("H2_BLOCK_STROMBERG_IN_HEISTS"), RAGE_JOAAT("H2_BLOCK_RCV_IN_HEISTS"), RAGE_JOAAT("H2_BLOCK_CHERNOBOG_IN_HEISTS"), RAGE_JOAAT("H2_BLOCK_BARRAGE_IN_HEISTS"), RAGE_JOAAT("H2_BLOCK_KHANJALI_IN_HEISTS"), RAGE_JOAAT("H2_BLOCK_SAFARI_IN_HEISTS"), RAGE_JOAAT("H2_BLOCK_SAVESTRA_IN_HEISTS"), RAGE_JOAAT("H2_BLOCK_AVENGER_IN_HEISTS"), RAGE_JOAAT("H2_BLOCK_VOLATOL_IN_HEISTS"), RAGE_JOAAT("H2_BLOCK_AKULA_IN_HEISTS"), RAGE_JOAAT("BB_BLOCK_OPPRESSOR2_IN_HEISTS"), RAGE_JOAAT("BB_BLOCK_SCRAMJET_IN_HEISTS"), RAGE_JOAAT("BLOCK_HYDRA_IN_HEISTS"), RAGE_JOAAT("BLOCK_TOREADOR_IN_HEISTS"), RAGE_JOAAT("H2_BLOCK_VISERIS_IN_HEISTS")}; 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
{ {
@ -28,4 +28,4 @@ namespace big
}; };
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);
} }

View File

@ -10,7 +10,7 @@ namespace big
{ {
using looped_command::looped_command; using looped_command::looped_command;
const rage::joaat_t drive_on_water_surface_hash = RAGE_JOAAT("stt_prop_stunt_bblock_xl3"); const rage::joaat_t drive_on_water_surface_hash = "stt_prop_stunt_bblock_xl3"_J;
Vector3 drive_on_water_last_loc; Vector3 drive_on_water_last_loc;
Object surface; Object surface;

View File

@ -18,8 +18,8 @@ namespace big
if (g.vehicle.ls_customs && g.vehicle.ls_customs != bLastLsCustoms) if (g.vehicle.ls_customs && g.vehicle.ls_customs != bLastLsCustoms)
{ {
g_fiber_pool->queue_job([] { g_fiber_pool->queue_job([] {
scripts::request_script(RAGE_JOAAT("carmod_shop")); scripts::request_script("carmod_shop"_J);
if (scripts::wait_till_loaded(RAGE_JOAAT("carmod_shop"))) if (scripts::wait_till_loaded("carmod_shop"_J))
{ {
HUD::REQUEST_ADDITIONAL_TEXT("MOD_MNU", 9); HUD::REQUEST_ADDITIONAL_TEXT("MOD_MNU", 9);
@ -37,7 +37,7 @@ namespace big
script::get_current()->yield(); script::get_current()->yield();
// clang-format on // clang-format on
auto id = SYSTEM::START_NEW_SCRIPT_WITH_NAME_HASH(RAGE_JOAAT("carmod_shop"), 5050); auto id = SYSTEM::START_NEW_SCRIPT_WITH_NAME_HASH("carmod_shop"_J, 5050);
if (!id) if (!id)
return; return;
@ -51,7 +51,7 @@ namespace big
g_script_patcher_service->update(); g_script_patcher_service->update();
scr_functions::setup_modshop.call_latent(g.m_modshop_thread, gta_util::find_script_program(RAGE_JOAAT("carmod_shop")), {45, 0, 18, 0}, bModshopReady); scr_functions::setup_modshop.call_latent(g.m_modshop_thread, gta_util::find_script_program("carmod_shop"_J), {45, 0, 18, 0}, bModshopReady);
*scr_locals::carmod_shop::maintainer.set(g.m_modshop_thread->m_stack).at(scr_locals::carmod_shop::state).as<PINT>() = 2; *scr_locals::carmod_shop::maintainer.set(g.m_modshop_thread->m_stack).at(scr_locals::carmod_shop::state).as<PINT>() = 2;
*scr_locals::carmod_shop::input_button.set(g.m_modshop_thread->m_stack).as<ControllerInputs*>() = ControllerInputs::INPUT_FRONTEND_LT; *scr_locals::carmod_shop::input_button.set(g.m_modshop_thread->m_stack).as<ControllerInputs*>() = ControllerInputs::INPUT_FRONTEND_LT;
} }
@ -73,7 +73,7 @@ namespace big
g_script_patcher_service->update(); g_script_patcher_service->update();
} }
if (self::veh == 0 || SCRIPT::GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(RAGE_JOAAT("maintransition")) > 0 || (!g.m_modshop_thread && bModshopReady)) if (self::veh == 0 || SCRIPT::GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH("maintransition"_J) > 0 || (!g.m_modshop_thread && bModshopReady))
{ {
g.vehicle.ls_customs = false; g.vehicle.ls_customs = false;
return; return;
@ -96,7 +96,7 @@ namespace big
if (*scr_locals::carmod_shop::maintainer.set(g.m_modshop_thread->m_stack).at(scr_locals::carmod_shop::state).as<PINT>() == 0) if (*scr_locals::carmod_shop::maintainer.set(g.m_modshop_thread->m_stack).at(scr_locals::carmod_shop::state).as<PINT>() == 0)
*scr_locals::carmod_shop::maintainer.set(g.m_modshop_thread->m_stack).at(scr_locals::carmod_shop::state).as<PINT>() = 2; *scr_locals::carmod_shop::maintainer.set(g.m_modshop_thread->m_stack).at(scr_locals::carmod_shop::state).as<PINT>() = 2;
scr_functions::modshop_loop.call(g.m_modshop_thread, gta_util::find_script_program(RAGE_JOAAT("carmod_shop")), {}); scr_functions::modshop_loop.call(g.m_modshop_thread, gta_util::find_script_program("carmod_shop"_J), {});
} }
} }
} }

View File

@ -92,7 +92,7 @@ namespace big
// this is to differentiate missiles from turrets, mortars and barrage // this is to differentiate missiles from turrets, mortars and barrage
CAmmoRocketInfo* rocket_info = (CAmmoRocketInfo*)weapon_info->m_ammo_info; CAmmoRocketInfo* rocket_info = (CAmmoRocketInfo*)weapon_info->m_ammo_info;
uint32_t trail_hash = rocket_info->m_m_trail_fx_hash; uint32_t trail_hash = rocket_info->m_m_trail_fx_hash;
return (trail_hash == RAGE_JOAAT("proj_rpg_trail") || trail_hash == RAGE_JOAAT("proj_xm_thruster_rpg_trail")); return (trail_hash == "proj_rpg_trail"_J || trail_hash == "proj_xm_thruster_rpg_trail"_J);
} }
void restore_mg() void restore_mg()

View File

@ -71,11 +71,11 @@ namespace big
} }
} }
if (it->is_attacker && TASK::GET_SCRIPT_TASK_STATUS(it->ped_handle, RAGE_JOAAT("SCRIPT_TASK_COMBAT")) == 7) if (it->is_attacker && TASK::GET_SCRIPT_TASK_STATUS(it->ped_handle, "SCRIPT_TASK_COMBAT"_J) == 7)
{ {
TASK::TASK_COMBAT_PED(it->ped_handle, PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(it->spawned_for_player), 0, 16); TASK::TASK_COMBAT_PED(it->ped_handle, PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(it->spawned_for_player), 0, 16);
} }
else if (it->is_bodyguard && it->spawned_for_player != self::id && TASK::GET_SCRIPT_TASK_STATUS(it->ped_handle, RAGE_JOAAT("SCRIPT_TASK_FOLLOW_TO_OFFSET_OF_ENTITY")) == 7) else if (it->is_bodyguard && it->spawned_for_player != self::id && TASK::GET_SCRIPT_TASK_STATUS(it->ped_handle, "SCRIPT_TASK_FOLLOW_TO_OFFSET_OF_ENTITY"_J) == 7)
{ {
TASK::TASK_FOLLOW_TO_OFFSET_OF_ENTITY(it->ped_handle, PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(it->spawned_for_player), 0.0f, 0.0f, 0.0f, 4.0f, -1, 0.0f, true); TASK::TASK_FOLLOW_TO_OFFSET_OF_ENTITY(it->ped_handle, PLAYER::GET_PLAYER_PED_SCRIPT_INDEX(it->spawned_for_player), 0.0f, 0.0f, 0.0f, 4.0f, -1, 0.0f, true);
} }

View File

@ -19,7 +19,7 @@ namespace big
virtual void on_tick() override virtual void on_tick() override
{ {
if (!turn_snow_on_off) if (!turn_snow_on_off)
turn_snow_on_off = g_tunables_service->get_tunable<bool*>(RAGE_JOAAT("TURN_SNOW_ON_OFF")); turn_snow_on_off = g_tunables_service->get_tunable<bool*>("TURN_SNOW_ON_OFF"_J);
if (current_weather_idx != g.world.local_weather) if (current_weather_idx != g.world.local_weather)
{ {
@ -38,4 +38,4 @@ namespace big
}; };
weather_override g_weather_override("weatheroverride", "BACKEND_LOOPED_WORLD_OVERRIDE_WEATHER", "BACKEND_LOOPED_WORLD_OVERRIDE_WEATHER_DESC", g.world.override_weather); weather_override g_weather_override("weatheroverride", "BACKEND_LOOPED_WORLD_OVERRIDE_WEATHER", "BACKEND_LOOPED_WORLD_OVERRIDE_WEATHER_DESC", g.world.override_weather);
} }

View File

@ -33,7 +33,7 @@ namespace big
if (kick) if (kick)
{ {
g_fiber_pool->queue_job([player] { g_fiber_pool->queue_job([player] {
dynamic_cast<player_command*>(command::get(RAGE_JOAAT("multikick")))->call(player, {}); dynamic_cast<player_command*>(command::get("multikick"_J))->call(player, {});
}); });
} }

View File

@ -9,63 +9,63 @@ namespace big
void register_script_patches() void register_script_patches()
{ {
g_script_patcher_service->add_patch( g_script_patcher_service->add_patch(
{RAGE_JOAAT("freemode"), "freemode1", "2D 01 08 00 ? 38 00 5D ? ? ? 2A 06", 5, {0x71, 0x2E, 0x01, 0x01}, &g.session.decloak_players}); {"freemode"_J, "freemode1", "2D 01 08 00 ? 38 00 5D ? ? ? 2A 06", 5, {0x71, 0x2E, 0x01, 0x01}, &g.session.decloak_players});
g_script_patcher_service->add_patch({RAGE_JOAAT("freemode"), "script host kick", "2D 01 04 00 ? 2C ? ? ? 5D ? ? ? 71 57 ? ? 2C", 5, {0x2E, 0x01, 0x00}, nullptr}); // script host kick g_script_patcher_service->add_patch({"freemode"_J, "script host kick", "2D 01 04 00 ? 2C ? ? ? 5D ? ? ? 71 57 ? ? 2C", 5, {0x2E, 0x01, 0x00}, nullptr}); // script host kick
g_script_patcher_service->add_patch({RAGE_JOAAT("freemode"), "end session kick protection", "5D ? ? ? 76 57 ? ? 5D ? ? ? 76", 0, {0x2E, 0x00, 0x00}, nullptr}); // end session kick protection g_script_patcher_service->add_patch({"freemode"_J, "end session kick protection", "5D ? ? ? 76 57 ? ? 5D ? ? ? 76", 0, {0x2E, 0x00, 0x00}, nullptr}); // end session kick protection
g_script_patcher_service->add_patch({RAGE_JOAAT("freemode"), "disable death when undermap/spectating", "2D 01 09 00 00 5D ? ? ? 56 ? ? 3A", 5, {0x2E, 0x01, 0x00}, nullptr}); // disable death when undermap/spectating g_script_patcher_service->add_patch({"freemode"_J, "disable death when undermap/spectating", "2D 01 09 00 00 5D ? ? ? 56 ? ? 3A", 5, {0x2E, 0x01, 0x00}, nullptr}); // disable death when undermap/spectating
g_script_patcher_service->add_patch({RAGE_JOAAT("freemode"), "load island even if stranded animal IPL choice is not set", "71 2E ? ? 55 ? ? 61 ? ? ? 47 ? ? 63", 0, {0x72}, nullptr}); // load island even if stranded animal IPL choice is not set g_script_patcher_service->add_patch({"freemode"_J, "load island even if stranded animal IPL choice is not set", "71 2E ? ? 55 ? ? 61 ? ? ? 47 ? ? 63", 0, {0x72}, nullptr}); // load island even if stranded animal IPL choice is not set
g_script_patcher_service->add_patch({RAGE_JOAAT("freemode"), "disable population load balancing", "2D 00 07 00 00 7B", 5, {0x2E, 0x00, 0x00}, nullptr}); // disable population load balancing g_script_patcher_service->add_patch({"freemode"_J, "disable population load balancing", "2D 00 07 00 00 7B", 5, {0x2E, 0x00, 0x00}, nullptr}); // disable population load balancing
g_script_patcher_service->add_patch( g_script_patcher_service->add_patch(
{RAGE_JOAAT("freemode"), "freemode7", "2D 02 08 00 00 38 01 56", 5, {0x2E, 0x02, 0x00}, &g.session.block_muggers}); {"freemode"_J, "freemode7", "2D 02 08 00 00 38 01 56", 5, {0x2E, 0x02, 0x00}, &g.session.block_muggers});
g_script_patcher_service->add_patch( g_script_patcher_service->add_patch(
{RAGE_JOAAT("freemode"), "freemode8", "2D 00 CF 00 00", 5, {0x2E, 0x00, 0x00}, &g.session.block_ceo_raids}); {"freemode"_J, "freemode8", "2D 00 CF 00 00", 5, {0x2E, 0x00, 0x00}, &g.session.block_ceo_raids});
g_script_patcher_service->add_patch( g_script_patcher_service->add_patch(
{RAGE_JOAAT("freemode"), "prevent normal blip update", "06 56 ? ? 38 02 2C ? ? ? 71 71", 0, {0x2B, 0x55}, &g.spoofing.spoof_blip}); // prevent normal blip update {"freemode"_J, "prevent normal blip update", "06 56 ? ? 38 02 2C ? ? ? 71 71", 0, {0x2B, 0x55}, &g.spoofing.spoof_blip}); // prevent normal blip update
g_script_patcher_service->add_patch({RAGE_JOAAT("freemode"), g_script_patcher_service->add_patch({"freemode"_J,
"prevent normal blip update 2", "prevent normal blip update 2",
"2C ? ? ? 55 ? ? 71 2C ? ? ? 61", "2C ? ? ? 55 ? ? 71 2C ? ? ? 61",
7, 7,
std::vector<uint8_t>(16, 0x0), std::vector<uint8_t>(16, 0x0),
&g.spoofing.spoof_blip}); // prevent normal blip update 2 &g.spoofing.spoof_blip}); // prevent normal blip update 2
g_script_patcher_service->add_patch({RAGE_JOAAT("shop_controller"), "despawn bypass", "2D 01 04 00 00 2C ? ? ? 56 ? ? 71", 5, {0x71, 0x2E, 0x01, 0x01}, nullptr}); // despawn bypass g_script_patcher_service->add_patch({"shop_controller"_J, "despawn bypass", "2D 01 04 00 00 2C ? ? ? 56 ? ? 71", 5, {0x71, 0x2E, 0x01, 0x01}, nullptr}); // despawn bypass
g_script_patcher_service->add_patch({RAGE_JOAAT("shop_controller"), "godmode/invisibility detection bypass", "2D 01 03 00 00 5D ? ? ? 06 56 ? ? 2E ? ? 2C", 5, {0x2E, 0x01, 0x00}, nullptr}); // godmode/invisibility detection bypass g_script_patcher_service->add_patch({"shop_controller"_J, "godmode/invisibility detection bypass", "2D 01 03 00 00 5D ? ? ? 06 56 ? ? 2E ? ? 2C", 5, {0x2E, 0x01, 0x00}, nullptr}); // godmode/invisibility detection bypass
g_script_patcher_service->add_patch({RAGE_JOAAT("am_mp_nightclub"), g_script_patcher_service->add_patch({"am_mp_nightclub"_J,
"am_mp_nightclub1", "am_mp_nightclub1",
"2D 01 03 00 00 2C ? ? ? 56 ? ? 72 2E ? ? 38 00", "2D 01 03 00 00 2C ? ? ? 56 ? ? 72 2E ? ? 38 00",
5, 5,
{0x72, 0x2E, 0x01, 0x01}, {0x72, 0x2E, 0x01, 0x01},
&g.self.dance_mode}); &g.self.dance_mode});
g_script_patcher_service->add_patch({RAGE_JOAAT("am_mp_nightclub"), g_script_patcher_service->add_patch({"am_mp_nightclub"_J,
"am_mp_nightclub2", "am_mp_nightclub2",
"20 56 ? ? 4F ? ? 46 ? ? 41 ? 71", "20 56 ? ? 4F ? ? 46 ? ? 41 ? 71",
0, 0,
{0x2B, 0x55}, {0x2B, 0x55},
&g.self.dance_mode}); &g.self.dance_mode});
g_script_patcher_service->add_patch({RAGE_JOAAT("freemode"), g_script_patcher_service->add_patch({"freemode"_J,
"freemode9", "freemode9",
"5D ? ? ? 56 ? ? 72 39 05 38 04 2C ? ? ? 58", "5D ? ? ? 56 ? ? 72 39 05 38 04 2C ? ? ? 58",
0, 0,
{0x2B, 0x2B, 0x2B, 0x00, 0x55}, {0x2B, 0x2B, 0x2B, 0x00, 0x55},
&g.self.invisibility}); &g.self.invisibility});
g_script_patcher_service->add_patch({RAGE_JOAAT("freemode"), g_script_patcher_service->add_patch({"freemode"_J,
"freemode10", "freemode10",
"2D 01 03 00 00 38 00 71 72 5D ? ? ? 06 56 ? ? 71 2E ? ? 2C ? ? ? 71", "2D 01 03 00 00 38 00 71 72 5D ? ? ? 06 56 ? ? 71 2E ? ? 2C ? ? ? 71",
5, 5,
{0x72, 0x2E, 0x01, 0x01}, {0x72, 0x2E, 0x01, 0x01},
&g.session.unhide_players_from_player_list}); &g.session.unhide_players_from_player_list});
g_script_patcher_service->add_patch({RAGE_JOAAT("carmod_shop"), g_script_patcher_service->add_patch({"carmod_shop"_J,
"disable camera", "disable camera",
"2D 01 0A 00 00 4F ? ? 40 ? 41 ? 39 03", "2D 01 0A 00 00 4F ? ? 40 ? 41 ? 39 03",
5, 5,
{0x2E, 0x01, 0x00}, {0x2E, 0x01, 0x00},
&g.vehicle.ls_customs}); // disable camera &g.vehicle.ls_customs}); // disable camera
g_script_patcher_service->add_patch( g_script_patcher_service->add_patch(
{RAGE_JOAAT("carmod_shop"), "carmod_shop1", "2D 02 10 00 00 2C", 5, {0x71, 0x2E, 0x02, 0x01}, &g.vehicle.ls_customs}); {"carmod_shop"_J, "carmod_shop1", "2D 02 10 00 00 2C", 5, {0x71, 0x2E, 0x02, 0x01}, &g.vehicle.ls_customs});
g_script_patcher_service->add_patch( g_script_patcher_service->add_patch(
{RAGE_JOAAT("carmod_shop"), "carmod_shop2", "2D 00 B8 00 00", 5, {0x2E, 0x00, 0x00}, &g.vehicle.ls_customs}); {"carmod_shop"_J, "carmod_shop2", "2D 00 B8 00 00", 5, {0x2E, 0x00, 0x00}, &g.vehicle.ls_customs});
g_script_patcher_service->add_patch({RAGE_JOAAT("carmod_shop"), "allow all vehicles", "2D 03 16 00 00 5D", 5, {0x72, 0x2E, 0x03, 0x01}, nullptr}); // allow all vehicles g_script_patcher_service->add_patch({"carmod_shop"_J, "allow all vehicles", "2D 03 16 00 00 5D", 5, {0x72, 0x2E, 0x03, 0x01}, nullptr}); // allow all vehicles
g_script_patcher_service->add_patch({RAGE_JOAAT("carmod_shop"), g_script_patcher_service->add_patch({"carmod_shop"_J,
"allow all vehicles 2", "allow all vehicles 2",
"2D 03 07 00 00 71 38 02", "2D 03 07 00 00 71 38 02",
5, 5,
@ -78,4 +78,4 @@ namespace big
g_script_patcher_service->on_script_load(entry.m_program); g_script_patcher_service->on_script_load(entry.m_program);
} }
} }
} }

View File

@ -4,232 +4,232 @@ namespace big
{ {
constexpr const static inline auto launcher_scripts = std::to_array({ constexpr const static inline auto launcher_scripts = std::to_array({
0u, 0u,
RAGE_JOAAT("AM_HOLD_UP"), "AM_HOLD_UP"_J,
0u, 0u,
RAGE_JOAAT("AM_CR_SELL_DRUGS"), "AM_CR_SELL_DRUGS"_J,
RAGE_JOAAT("AM_STRIPPER"), "AM_STRIPPER"_J,
RAGE_JOAAT("stripclub_mp"), "stripclub_mp"_J,
RAGE_JOAAT("AM_ArmWrestling"), "AM_ArmWrestling"_J,
RAGE_JOAAT("AM_ImportExport"), "AM_ImportExport"_J,
RAGE_JOAAT("AM_Tennis"), "AM_Tennis"_J,
RAGE_JOAAT("AM_Darts"), "AM_Darts"_J,
RAGE_JOAAT("AM_FistFight"), "AM_FistFight"_J,
RAGE_JOAAT("AM_DropOffHooker"), "AM_DropOffHooker"_J,
RAGE_JOAAT("AM_Safehouse"), "AM_Safehouse"_J,
RAGE_JOAAT("AM_Hitchhiker"), "AM_Hitchhiker"_J,
0u, 0u,
RAGE_JOAAT("AM_DOORS"), "AM_DOORS"_J,
RAGE_JOAAT("MG_RACE_TO_POINT"), "MG_RACE_TO_POINT"_J,
RAGE_JOAAT("AM_PI_MENU"), "AM_PI_MENU"_J,
RAGE_JOAAT("AM_CRATE_DROP"), "AM_CRATE_DROP"_J,
RAGE_JOAAT("AM_IMP_EXP"), "AM_IMP_EXP"_J,
RAGE_JOAAT("FM_INTRO"), "FM_INTRO"_J,
RAGE_JOAAT("AM_PROSTITUTE"), "AM_PROSTITUTE"_J,
RAGE_JOAAT("AM_TAXI"), "AM_TAXI"_J,
RAGE_JOAAT("AM_TAXI_LAUNCHER"), "AM_TAXI_LAUNCHER"_J,
RAGE_JOAAT("AM_GANG_CALL"), "AM_GANG_CALL"_J,
RAGE_JOAAT("heli_gun"), "heli_gun"_J,
RAGE_JOAAT("AM_backup_heli"), "AM_backup_heli"_J,
RAGE_JOAAT("AM_airstrike"), "AM_airstrike"_J,
RAGE_JOAAT("AM_AMMO_DROP"), "AM_AMMO_DROP"_J,
RAGE_JOAAT("AM_VEHICLE_DROP"), "AM_VEHICLE_DROP"_J,
RAGE_JOAAT("AM_BRU_BOX"), "AM_BRU_BOX"_J,
RAGE_JOAAT("AM_GA_PICKUPS"), "AM_GA_PICKUPS"_J,
RAGE_JOAAT("AM_JOYRIDER"), "AM_JOYRIDER"_J,
RAGE_JOAAT("AM_PLANE_TAKEDOWN"), "AM_PLANE_TAKEDOWN"_J,
RAGE_JOAAT("AM_DISTRACT_COPS"), "AM_DISTRACT_COPS"_J,
RAGE_JOAAT("AM_DESTROY_VEH"), "AM_DESTROY_VEH"_J,
RAGE_JOAAT("AM_HOT_TARGET"), "AM_HOT_TARGET"_J,
RAGE_JOAAT("AM_KILL_LIST"), "AM_KILL_LIST"_J,
RAGE_JOAAT("AM_TIME_TRIAL"), "AM_TIME_TRIAL"_J,
RAGE_JOAAT("AM_CP_COLLECTION"), "AM_CP_COLLECTION"_J,
RAGE_JOAAT("AM_CHALLENGES"), "AM_CHALLENGES"_J,
RAGE_JOAAT("AM_PENNED_IN"), "AM_PENNED_IN"_J,
RAGE_JOAAT("AM_PASS_THE_PARCEL"), "AM_PASS_THE_PARCEL"_J,
RAGE_JOAAT("AM_HOT_PROPERTY"), "AM_HOT_PROPERTY"_J,
RAGE_JOAAT("AM_DEAD_DROP"), "AM_DEAD_DROP"_J,
RAGE_JOAAT("AM_KING_OF_THE_CASTLE"), "AM_KING_OF_THE_CASTLE"_J,
RAGE_JOAAT("AM_CRIMINAL_DAMAGE"), "AM_CRIMINAL_DAMAGE"_J,
RAGE_JOAAT("AM_HUNT_THE_BEAST"), "AM_HUNT_THE_BEAST"_J,
RAGE_JOAAT("GB_LIMO_ATTACK"), "GB_LIMO_ATTACK"_J,
RAGE_JOAAT("GB_DEATHMATCH"), "GB_DEATHMATCH"_J,
RAGE_JOAAT("GB_STEAL_VEH"), "GB_STEAL_VEH"_J,
RAGE_JOAAT("GB_POINT_TO_POINT"), "GB_POINT_TO_POINT"_J,
RAGE_JOAAT("GB_TERMINATE"), "GB_TERMINATE"_J,
RAGE_JOAAT("GB_YACHT_ROB"), "GB_YACHT_ROB"_J,
RAGE_JOAAT("GB_BELLYBEAST"), "GB_BELLYBEAST"_J,
RAGE_JOAAT("GB_FIVESTAR"), "GB_FIVESTAR"_J,
RAGE_JOAAT("GB_ROB_SHOP"), "GB_ROB_SHOP"_J,
RAGE_JOAAT("GB_COLLECT_MONEY"), "GB_COLLECT_MONEY"_J,
RAGE_JOAAT("GB_ASSAULT"), "GB_ASSAULT"_J,
RAGE_JOAAT("GB_VEH_SURV"), "GB_VEH_SURV"_J,
RAGE_JOAAT("GB_SIGHTSEER"), "GB_SIGHTSEER"_J,
RAGE_JOAAT("GB_FLYING_IN_STYLE"), "GB_FLYING_IN_STYLE"_J,
RAGE_JOAAT("GB_FINDERSKEEPERS"), "GB_FINDERSKEEPERS"_J,
RAGE_JOAAT("GB_HUNT_THE_BOSS"), "GB_HUNT_THE_BOSS"_J,
RAGE_JOAAT("GB_CARJACKING"), "GB_CARJACKING"_J,
RAGE_JOAAT("GB_HEADHUNTER"), "GB_HEADHUNTER"_J,
RAGE_JOAAT("GB_CONTRABAND_BUY"), "GB_CONTRABAND_BUY"_J,
RAGE_JOAAT("GB_CONTRABAND_SELL"), "GB_CONTRABAND_SELL"_J,
RAGE_JOAAT("GB_CONTRABAND_DEFEND"), "GB_CONTRABAND_DEFEND"_J,
RAGE_JOAAT("GB_AIRFREIGHT"), "GB_AIRFREIGHT"_J,
RAGE_JOAAT("GB_CASHING_OUT"), "GB_CASHING_OUT"_J,
RAGE_JOAAT("GB_SALVAGE"), "GB_SALVAGE"_J,
RAGE_JOAAT("GB_FRAGILE_GOODS"), "GB_FRAGILE_GOODS"_J,
RAGE_JOAAT("GB_VEHICLE_EXPORT"), "GB_VEHICLE_EXPORT"_J,
RAGE_JOAAT("GB_VEHICLE_EXPORT"), "GB_VEHICLE_EXPORT"_J,
RAGE_JOAAT("GB_PLOUGHED"), "GB_PLOUGHED"_J,
RAGE_JOAAT("GB_FULLY_LOADED"), "GB_FULLY_LOADED"_J,
RAGE_JOAAT("GB_AMPHIBIOUS_ASSAULT"), "GB_AMPHIBIOUS_ASSAULT"_J,
RAGE_JOAAT("GB_TRANSPORTER"), "GB_TRANSPORTER"_J,
RAGE_JOAAT("GB_FORTIFIED"), "GB_FORTIFIED"_J,
RAGE_JOAAT("GB_VELOCITY"), "GB_VELOCITY"_J,
RAGE_JOAAT("GB_RAMPED_UP"), "GB_RAMPED_UP"_J,
RAGE_JOAAT("GB_STOCKPILING"), "GB_STOCKPILING"_J,
RAGE_JOAAT("GB_BIKER_RACE_P2P"), "GB_BIKER_RACE_P2P"_J,
RAGE_JOAAT("GB_BIKER_JOUST"), "GB_BIKER_JOUST"_J,
RAGE_JOAAT("GB_BIKER_UNLOAD_WEAPONS"), "GB_BIKER_UNLOAD_WEAPONS"_J,
0u, 0u,
RAGE_JOAAT("GB_BIKER_BAD_DEAL"), "GB_BIKER_BAD_DEAL"_J,
RAGE_JOAAT("GB_BIKER_RESCUE_CONTACT"), "GB_BIKER_RESCUE_CONTACT"_J,
RAGE_JOAAT("GB_BIKER_LAST_RESPECTS"), "GB_BIKER_LAST_RESPECTS"_J,
RAGE_JOAAT("GB_BIKER_CONTRACT_KILLING"), "GB_BIKER_CONTRACT_KILLING"_J,
RAGE_JOAAT("GB_BIKER_CONTRABAND_SELL"), "GB_BIKER_CONTRABAND_SELL"_J,
RAGE_JOAAT("GB_BIKER_CONTRABAND_DEFEND"), "GB_BIKER_CONTRABAND_DEFEND"_J,
RAGE_JOAAT("GB_ILLICIT_GOODS_RESUPPLY"), "GB_ILLICIT_GOODS_RESUPPLY"_J,
RAGE_JOAAT("GB_BIKER_DRIVEBY_ASSASSIN"), "GB_BIKER_DRIVEBY_ASSASSIN"_J,
RAGE_JOAAT("GB_BIKER_RIPPIN_IT_UP"), "GB_BIKER_RIPPIN_IT_UP"_J,
RAGE_JOAAT("GB_BIKER_FREE_PRISONER"), "GB_BIKER_FREE_PRISONER"_J,
RAGE_JOAAT("GB_BIKER_SAFECRACKER"), "GB_BIKER_SAFECRACKER"_J,
RAGE_JOAAT("GB_BIKER_STEAL_BIKES"), "GB_BIKER_STEAL_BIKES"_J,
RAGE_JOAAT("GB_BIKER_SEARCH_AND_DESTROY"), "GB_BIKER_SEARCH_AND_DESTROY"_J,
RAGE_JOAAT("AM_PENNED_IN"), "AM_PENNED_IN"_J,
RAGE_JOAAT("GB_BIKER_STAND_YOUR_GROUND"), "GB_BIKER_STAND_YOUR_GROUND"_J,
RAGE_JOAAT("GB_BIKER_CRIMINAL_MISCHIEF"), "GB_BIKER_CRIMINAL_MISCHIEF"_J,
RAGE_JOAAT("GB_BIKER_DESTROY_VANS"), "GB_BIKER_DESTROY_VANS"_J,
RAGE_JOAAT("GB_BIKER_BURN_ASSETS"), "GB_BIKER_BURN_ASSETS"_J,
RAGE_JOAAT("GB_BIKER_SHUTTLE"), "GB_BIKER_SHUTTLE"_J,
RAGE_JOAAT("GB_BIKER_WHEELIE_RIDER"), "GB_BIKER_WHEELIE_RIDER"_J,
RAGE_JOAAT("GB_GUNRUNNING"), "GB_GUNRUNNING"_J,
RAGE_JOAAT("GB_GUNRUNNING"), "GB_GUNRUNNING"_J,
RAGE_JOAAT("GB_GUNRUNNING_DEFEND"), "GB_GUNRUNNING_DEFEND"_J,
RAGE_JOAAT("GB_SMUGGLER"), "GB_SMUGGLER"_J,
RAGE_JOAAT("GB_SMUGGLER"), "GB_SMUGGLER"_J,
RAGE_JOAAT("GB_SMUGGLER"), "GB_SMUGGLER"_J,
RAGE_JOAAT("GB_GANGOPS"), "GB_GANGOPS"_J,
RAGE_JOAAT("BUSINESS_BATTLES"), "BUSINESS_BATTLES"_J,
RAGE_JOAAT("BUSINESS_BATTLES_SELL"), "BUSINESS_BATTLES_SELL"_J,
RAGE_JOAAT("BUSINESS_BATTLES_DEFEND"), "BUSINESS_BATTLES_DEFEND"_J,
RAGE_JOAAT("GB_SECURITY_VAN"), "GB_SECURITY_VAN"_J,
RAGE_JOAAT("GB_TARGET_PURSUIT"), "GB_TARGET_PURSUIT"_J,
RAGE_JOAAT("GB_JEWEL_STORE_GRAB"), "GB_JEWEL_STORE_GRAB"_J,
RAGE_JOAAT("GB_BANK_JOB"), "GB_BANK_JOB"_J,
RAGE_JOAAT("GB_DATA_HACK"), "GB_DATA_HACK"_J,
RAGE_JOAAT("GB_INFILTRATION"), "GB_INFILTRATION"_J,
RAGE_JOAAT("BUSINESS_BATTLES_DEFEND"), "BUSINESS_BATTLES_DEFEND"_J,
RAGE_JOAAT("BUSINESS_BATTLES_SELL"), "BUSINESS_BATTLES_SELL"_J,
RAGE_JOAAT("GB_CASINO"), "GB_CASINO"_J,
RAGE_JOAAT("GB_CASINO_HEIST"), "GB_CASINO_HEIST"_J,
RAGE_JOAAT("fm_content_business_battles"), "fm_content_business_battles"_J,
RAGE_JOAAT("fm_content_drug_vehicle"), "fm_content_drug_vehicle"_J,
RAGE_JOAAT("fm_content_movie_props"), "fm_content_movie_props"_J,
RAGE_JOAAT("fm_content_island_heist"), "fm_content_island_heist"_J,
RAGE_JOAAT("fm_content_island_dj"), "fm_content_island_dj"_J,
RAGE_JOAAT("AM_ISLAND_BACKUP_HELI"), "AM_ISLAND_BACKUP_HELI"_J,
RAGE_JOAAT("fm_content_golden_gun"), "fm_content_golden_gun"_J,
RAGE_JOAAT("fm_content_tuner_robbery"), "fm_content_tuner_robbery"_J,
RAGE_JOAAT("fm_content_vehicle_list"), "fm_content_vehicle_list"_J,
RAGE_JOAAT("tuner_sandbox_activity"), "tuner_sandbox_activity"_J,
RAGE_JOAAT("fm_content_auto_shop_delivery"), "fm_content_auto_shop_delivery"_J,
RAGE_JOAAT("fm_content_payphone_hit"), "fm_content_payphone_hit"_J,
RAGE_JOAAT("fm_content_security_contract"), "fm_content_security_contract"_J,
RAGE_JOAAT("fm_content_vip_contract_1"), "fm_content_vip_contract_1"_J,
RAGE_JOAAT("fm_content_metal_detector"), "fm_content_metal_detector"_J,
RAGE_JOAAT("am_agency_suv"), "am_agency_suv"_J,
RAGE_JOAAT("fm_content_phantom_car"), "fm_content_phantom_car"_J,
RAGE_JOAAT("fm_content_slasher"), "fm_content_slasher"_J,
RAGE_JOAAT("fm_content_sightseeing"), "fm_content_sightseeing"_J,
RAGE_JOAAT("fm_content_smuggler_trail"), "fm_content_smuggler_trail"_J,
RAGE_JOAAT("fm_content_smuggler_plane"), "fm_content_smuggler_plane"_J,
RAGE_JOAAT("fm_content_skydive"), "fm_content_skydive"_J,
RAGE_JOAAT("fm_content_cerberus"), "fm_content_cerberus"_J,
RAGE_JOAAT("fm_content_parachuter"), "fm_content_parachuter"_J,
RAGE_JOAAT("fm_content_crime_scene"), "fm_content_crime_scene"_J,
RAGE_JOAAT("fm_content_bar_resupply"), "fm_content_bar_resupply"_J,
RAGE_JOAAT("fm_content_bike_shop_delivery"), "fm_content_bike_shop_delivery"_J,
RAGE_JOAAT("fm_content_clubhouse_contracts"), "fm_content_clubhouse_contracts"_J,
RAGE_JOAAT("fm_content_cargo"), "fm_content_cargo"_J,
RAGE_JOAAT("fm_content_export_cargo"), "fm_content_export_cargo"_J,
RAGE_JOAAT("fm_content_ammunation"), "fm_content_ammunation"_J,
RAGE_JOAAT("fm_content_gunrunning"), "fm_content_gunrunning"_J,
RAGE_JOAAT("fm_content_source_research"), "fm_content_source_research"_J,
RAGE_JOAAT("fm_content_club_management"), "fm_content_club_management"_J,
RAGE_JOAAT("fm_content_club_odd_jobs"), "fm_content_club_odd_jobs"_J,
RAGE_JOAAT("fm_content_club_source"), "fm_content_club_source"_J,
RAGE_JOAAT("fm_content_convoy"), "fm_content_convoy"_J,
RAGE_JOAAT("fm_content_robbery"), "fm_content_robbery"_J,
RAGE_JOAAT("fm_content_acid_lab_setup"), "fm_content_acid_lab_setup"_J,
RAGE_JOAAT("fm_content_acid_lab_source"), "fm_content_acid_lab_source"_J,
RAGE_JOAAT("fm_content_acid_lab_sell"), "fm_content_acid_lab_sell"_J,
RAGE_JOAAT("fm_content_drug_lab_work"), "fm_content_drug_lab_work"_J,
RAGE_JOAAT("fm_content_stash_house"), "fm_content_stash_house"_J,
RAGE_JOAAT("fm_content_taxi_driver"), "fm_content_taxi_driver"_J,
RAGE_JOAAT("fm_content_xmas_mugger"), "fm_content_xmas_mugger"_J,
RAGE_JOAAT("fm_content_bank_shootout"), "fm_content_bank_shootout"_J,
RAGE_JOAAT("fm_content_armoured_truck"), "fm_content_armoured_truck"_J,
RAGE_JOAAT("fm_content_ghosthunt"), "fm_content_ghosthunt"_J,
RAGE_JOAAT("fm_content_smuggler_sell"), "fm_content_smuggler_sell"_J,
RAGE_JOAAT("fm_content_smuggler_resupply"), "fm_content_smuggler_resupply"_J,
RAGE_JOAAT("fm_content_smuggler_ops"), "fm_content_smuggler_ops"_J,
RAGE_JOAAT("fm_content_bicycle_time_trial"), "fm_content_bicycle_time_trial"_J,
RAGE_JOAAT("fm_content_possessed_animals"), "fm_content_possessed_animals"_J,
RAGE_JOAAT("AM_BOAT_TAXI"), "AM_BOAT_TAXI"_J,
RAGE_JOAAT("AM_HELI_TAXI"), "AM_HELI_TAXI"_J,
RAGE_JOAAT("fm_hold_up_tut"), "fm_hold_up_tut"_J,
RAGE_JOAAT("AM_CAR_MOD_TUT"), "AM_CAR_MOD_TUT"_J,
RAGE_JOAAT("AM_CONTACT_REQUESTS"), "AM_CONTACT_REQUESTS"_J,
RAGE_JOAAT("am_mission_launch"), "am_mission_launch"_J,
RAGE_JOAAT("am_npc_invites"), "am_npc_invites"_J,
RAGE_JOAAT("am_lester_cut"), "am_lester_cut"_J,
RAGE_JOAAT("am_heist_int"), "am_heist_int"_J,
RAGE_JOAAT("am_lowrider_int"), "am_lowrider_int"_J,
RAGE_JOAAT("AM_VEHICLE_SPAWN"), "AM_VEHICLE_SPAWN"_J,
RAGE_JOAAT("am_ronTrevor_Cut"), "am_ronTrevor_Cut"_J,
RAGE_JOAAT("AM_ARMYBASE"), "AM_ARMYBASE"_J,
RAGE_JOAAT("AM_PRISON"), "AM_PRISON"_J,
RAGE_JOAAT("am_rollercoaster"), "am_rollercoaster"_J,
RAGE_JOAAT("am_ferriswheel"), "am_ferriswheel"_J,
RAGE_JOAAT("AM_LAUNCHER"), "AM_LAUNCHER"_J,
RAGE_JOAAT("AM_DAILY_OBJECTIVES"), "AM_DAILY_OBJECTIVES"_J,
RAGE_JOAAT("AM_ArmWrestling"), "AM_ArmWrestling"_J,
RAGE_JOAAT("AM_Darts"), "AM_Darts"_J,
RAGE_JOAAT("golf_mp"), "golf_mp"_J,
RAGE_JOAAT("Range_Modern_MP"), "Range_Modern_MP"_J,
RAGE_JOAAT("tennis_network_mp"), "tennis_network_mp"_J,
RAGE_JOAAT("Pilot_School_MP"), "Pilot_School_MP"_J,
RAGE_JOAAT("FM_Impromptu_DM_Controler"), "FM_Impromptu_DM_Controler"_J,
RAGE_JOAAT("fm_Bj_race_controler"), "fm_Bj_race_controler"_J,
RAGE_JOAAT("fm_deathmatch_controler"), "fm_deathmatch_controler"_J,
RAGE_JOAAT("fm_hideout_controler"), "fm_hideout_controler"_J,
RAGE_JOAAT("fm_mission_controller"), "fm_mission_controller"_J,
RAGE_JOAAT("FM_Race_Controler"), "FM_Race_Controler"_J,
RAGE_JOAAT("FM_Horde_Controler"), "FM_Horde_Controler"_J,
RAGE_JOAAT("dont_cross_the_line"), "dont_cross_the_line"_J,
RAGE_JOAAT("am_darts_apartment"), "am_darts_apartment"_J,
RAGE_JOAAT("AM_Armwrestling_Apartment"), "AM_Armwrestling_Apartment"_J,
RAGE_JOAAT("grid_arcade_cabinet"), "grid_arcade_cabinet"_J,
RAGE_JOAAT("scroll_arcade_cabinet"), "scroll_arcade_cabinet"_J,
RAGE_JOAAT("example_arcade"), "example_arcade"_J,
RAGE_JOAAT("road_arcade"), "road_arcade"_J,
RAGE_JOAAT("gunslinger_arcade"), "gunslinger_arcade"_J,
RAGE_JOAAT("wizard_arcade"), "wizard_arcade"_J,
RAGE_JOAAT("AM_CASINO_LIMO"), "AM_CASINO_LIMO"_J,
RAGE_JOAAT("AM_CASINO_LUXURY_CAR"), "AM_CASINO_LUXURY_CAR"_J,
RAGE_JOAAT("Degenatron Games"), "Degenatron Games"_J,
RAGE_JOAAT("ggsm_arcade"), "ggsm_arcade"_J,
RAGE_JOAAT("puzzle"), "puzzle"_J,
RAGE_JOAAT("camhedz_arcade"), "camhedz_arcade"_J,
RAGE_JOAAT("SCTV"), "SCTV"_J,
}); });
constexpr const static inline auto all_script_names = std::to_array({ constexpr const static inline auto all_script_names = std::to_array({
@ -1255,4 +1255,4 @@ namespace big
"net_test_drive", "net_test_drive",
"simeon_showroom_seating", "simeon_showroom_seating",
}); });
} }

View File

@ -6,46 +6,47 @@
#include <string_view> #include <string_view>
#include <type_traits> #include <type_traits>
namespace rage inline consteval char consteval_to_lower(char c)
{ {
template<size_t N> return c >= 'A' && c <= 'Z' ? c | 1 << 5 : c;
inline constexpr joaat_t consteval_joaat(char const (&data)[N])
{
joaat_t hash = 0;
for (std::size_t i = 0; i < N - 1; ++i)
{
hash += joaat_to_lower(data[i]);
hash += (hash << 10);
hash ^= (hash >> 6);
}
hash += (hash << 3);
hash ^= (hash >> 11);
hash += (hash << 15);
return hash;
}
inline consteval joaat_t consteval_joaat(const std::span<const char>& data)
{
joaat_t hash = 0;
for (std::size_t i = 0; i < data.size() - 1; ++i)
{
hash += joaat_to_lower(data[i]);
hash += (hash << 10);
hash ^= (hash >> 6);
}
hash += (hash << 3);
hash ^= (hash >> 11);
hash += (hash << 15);
return hash;
}
static_assert(consteval_joaat("test") == 0x3f75ccc1);
} }
#define RAGE_JOAAT_IMPL(str) (::rage::consteval_joaat(str)) namespace rage
#define RAGE_JOAAT(str) (std::integral_constant<rage::joaat_t, RAGE_JOAAT_IMPL(str)>::value) {
inline constexpr joaat_t constexpr_joaat(const std::string_view s)
{
joaat_t result = 0;
for (std::size_t i = 0; i < s.size(); i++)
{
result += joaat_to_lower(s[i]);
result += (result << 10);
result ^= (result >> 6);
}
result += (result << 3);
result ^= (result >> 11);
result += (result << 15);
return result;
}
}
inline consteval rage::joaat_t operator""_J(const char* s, std::size_t n)
{
rage::joaat_t result = 0;
for (std::size_t i = 0; i < n; i++)
{
result += consteval_to_lower(s[i]);
result += (result << 10);
result ^= (result >> 6);
}
result += (result << 3);
result ^= (result >> 11);
result += (result << 15);
return result;
}
static_assert("test"_J == 0x3f75ccc1);

View File

@ -5,156 +5,156 @@
enum Rewards : Hash enum Rewards : Hash
{ {
REWARD_AMMO_ADVANCEDRIFLE = RAGE_JOAAT("REWARD_AMMO_ADVANCEDRIFLE"), REWARD_AMMO_ADVANCEDRIFLE = "REWARD_AMMO_ADVANCEDRIFLE"_J,
REWARD_AMMO_APPISTOL = RAGE_JOAAT("REWARD_AMMO_APPISTOL"), REWARD_AMMO_APPISTOL = "REWARD_AMMO_APPISTOL"_J,
REWARD_AMMO_ASSAULTRIFLE = RAGE_JOAAT("REWARD_AMMO_ASSAULTRIFLE"), REWARD_AMMO_ASSAULTRIFLE = "REWARD_AMMO_ASSAULTRIFLE"_J,
REWARD_AMMO_ASSAULTSHOTGUN = RAGE_JOAAT("REWARD_AMMO_ASSAULTSHOTGUN"), REWARD_AMMO_ASSAULTSHOTGUN = "REWARD_AMMO_ASSAULTSHOTGUN"_J,
REWARD_AMMO_ASSAULTSMG = RAGE_JOAAT("REWARD_AMMO_ASSAULTSMG"), REWARD_AMMO_ASSAULTSMG = "REWARD_AMMO_ASSAULTSMG"_J,
REWARD_AMMO_AUTOSHOTGUN = RAGE_JOAAT("REWARD_AMMO_AUTOSHOTGUN"), REWARD_AMMO_AUTOSHOTGUN = "REWARD_AMMO_AUTOSHOTGUN"_J,
REWARD_AMMO_BULLET_MP = RAGE_JOAAT("REWARD_AMMO_BULLET_MP"), REWARD_AMMO_BULLET_MP = "REWARD_AMMO_BULLET_MP"_J,
REWARD_AMMO_BULLPUPRIFLE = RAGE_JOAAT("REWARD_AMMO_BULLPUPRIFLE"), REWARD_AMMO_BULLPUPRIFLE = "REWARD_AMMO_BULLPUPRIFLE"_J,
REWARD_AMMO_BULLPUPSHOTGUN = RAGE_JOAAT("REWARD_AMMO_BULLPUPSHOTGUN"), REWARD_AMMO_BULLPUPSHOTGUN = "REWARD_AMMO_BULLPUPSHOTGUN"_J,
REWARD_AMMO_CARBINERIFLE = RAGE_JOAAT("REWARD_AMMO_CARBINERIFLE"), REWARD_AMMO_CARBINERIFLE = "REWARD_AMMO_CARBINERIFLE"_J,
REWARD_AMMO_COMBATMG = RAGE_JOAAT("REWARD_AMMO_COMBATMG"), REWARD_AMMO_COMBATMG = "REWARD_AMMO_COMBATMG"_J,
REWARD_AMMO_COMBATPDW = RAGE_JOAAT("REWARD_AMMO_COMBATPDW"), REWARD_AMMO_COMBATPDW = "REWARD_AMMO_COMBATPDW"_J,
REWARD_AMMO_COMBATPISTOL = RAGE_JOAAT("REWARD_AMMO_COMBATPISTOL"), REWARD_AMMO_COMBATPISTOL = "REWARD_AMMO_COMBATPISTOL"_J,
REWARD_AMMO_COMPACTLAUNCHER = RAGE_JOAAT("REWARD_AMMO_COMPACTLAUNCHER"), REWARD_AMMO_COMPACTLAUNCHER = "REWARD_AMMO_COMPACTLAUNCHER"_J,
REWARD_AMMO_COMPACTRIFLE = RAGE_JOAAT("REWARD_AMMO_COMPACTRIFLE"), REWARD_AMMO_COMPACTRIFLE = "REWARD_AMMO_COMPACTRIFLE"_J,
REWARD_AMMO_DBSHOTGUN = RAGE_JOAAT("REWARD_AMMO_DBSHOTGUN"), REWARD_AMMO_DBSHOTGUN = "REWARD_AMMO_DBSHOTGUN"_J,
REWARD_AMMO_DOUBLEACTION = RAGE_JOAAT("REWARD_AMMO_DOUBLEACTION"), REWARD_AMMO_DOUBLEACTION = "REWARD_AMMO_DOUBLEACTION"_J,
REWARD_AMMO_FIREWORK = RAGE_JOAAT("REWARD_AMMO_FIREWORK"), REWARD_AMMO_FIREWORK = "REWARD_AMMO_FIREWORK"_J,
REWARD_AMMO_FIREWORK_MP = RAGE_JOAAT("REWARD_AMMO_FIREWORK_MP"), REWARD_AMMO_FIREWORK_MP = "REWARD_AMMO_FIREWORK_MP"_J,
REWARD_AMMO_FLAREGUN = RAGE_JOAAT("REWARD_AMMO_FLAREGUN"), REWARD_AMMO_FLAREGUN = "REWARD_AMMO_FLAREGUN"_J,
REWARD_AMMO_GRENADE = RAGE_JOAAT("REWARD_AMMO_GRENADE"), REWARD_AMMO_GRENADE = "REWARD_AMMO_GRENADE"_J,
REWARD_AMMO_GRENADELAUNCHER = RAGE_JOAAT("REWARD_AMMO_GRENADELAUNCHER"), REWARD_AMMO_GRENADELAUNCHER = "REWARD_AMMO_GRENADELAUNCHER"_J,
REWARD_AMMO_GRENADELAUNCHER_MP = RAGE_JOAAT("REWARD_AMMO_GRENADELAUNCHER_MP"), REWARD_AMMO_GRENADELAUNCHER_MP = "REWARD_AMMO_GRENADELAUNCHER_MP"_J,
REWARD_AMMO_GUSENBERG = RAGE_JOAAT("REWARD_AMMO_GUSENBERG"), REWARD_AMMO_GUSENBERG = "REWARD_AMMO_GUSENBERG"_J,
REWARD_AMMO_HEAVYPISTOL = RAGE_JOAAT("REWARD_AMMO_HEAVYPISTOL"), REWARD_AMMO_HEAVYPISTOL = "REWARD_AMMO_HEAVYPISTOL"_J,
REWARD_AMMO_HEAVYSHOTGUN = RAGE_JOAAT("REWARD_AMMO_HEAVYSHOTGUN"), REWARD_AMMO_HEAVYSHOTGUN = "REWARD_AMMO_HEAVYSHOTGUN"_J,
REWARD_AMMO_HEAVYSNIPER = RAGE_JOAAT("REWARD_AMMO_HEAVYSNIPER"), REWARD_AMMO_HEAVYSNIPER = "REWARD_AMMO_HEAVYSNIPER"_J,
REWARD_AMMO_HOMINGLAUNCHER = RAGE_JOAAT("REWARD_AMMO_HOMINGLAUNCHER"), REWARD_AMMO_HOMINGLAUNCHER = "REWARD_AMMO_HOMINGLAUNCHER"_J,
REWARD_AMMO_MACHINEPISTOL = RAGE_JOAAT("REWARD_AMMO_MACHINEPISTOL"), REWARD_AMMO_MACHINEPISTOL = "REWARD_AMMO_MACHINEPISTOL"_J,
REWARD_AMMO_MARKSMANPISTOL = RAGE_JOAAT("REWARD_AMMO_MARKSMANPISTOL"), REWARD_AMMO_MARKSMANPISTOL = "REWARD_AMMO_MARKSMANPISTOL"_J,
REWARD_AMMO_MARKSMANRIFLE = RAGE_JOAAT("REWARD_AMMO_MARKSMANRIFLE"), REWARD_AMMO_MARKSMANRIFLE = "REWARD_AMMO_MARKSMANRIFLE"_J,
REWARD_AMMO_MG = RAGE_JOAAT("REWARD_AMMO_MG"), REWARD_AMMO_MG = "REWARD_AMMO_MG"_J,
REWARD_AMMO_MICROSMG = RAGE_JOAAT("REWARD_AMMO_MICROSMG"), REWARD_AMMO_MICROSMG = "REWARD_AMMO_MICROSMG"_J,
REWARD_AMMO_MINIGUN = RAGE_JOAAT("REWARD_AMMO_MINIGUN"), REWARD_AMMO_MINIGUN = "REWARD_AMMO_MINIGUN"_J,
REWARD_AMMO_MINISMG = RAGE_JOAAT("REWARD_AMMO_MINISMG"), REWARD_AMMO_MINISMG = "REWARD_AMMO_MINISMG"_J,
REWARD_AMMO_MISSILE_MP = RAGE_JOAAT("REWARD_AMMO_MISSILE_MP"), REWARD_AMMO_MISSILE_MP = "REWARD_AMMO_MISSILE_MP"_J,
REWARD_AMMO_MOLOTOV = RAGE_JOAAT("REWARD_AMMO_MOLOTOV"), REWARD_AMMO_MOLOTOV = "REWARD_AMMO_MOLOTOV"_J,
REWARD_AMMO_MUSKET = RAGE_JOAAT("REWARD_AMMO_MUSKET"), REWARD_AMMO_MUSKET = "REWARD_AMMO_MUSKET"_J,
REWARD_AMMO_PETROLCAN = RAGE_JOAAT("REWARD_AMMO_PETROLCAN"), REWARD_AMMO_PETROLCAN = "REWARD_AMMO_PETROLCAN"_J,
REWARD_AMMO_PIPEBOMB = RAGE_JOAAT("REWARD_AMMO_PIPEBOMB"), REWARD_AMMO_PIPEBOMB = "REWARD_AMMO_PIPEBOMB"_J,
REWARD_AMMO_PISTOL = RAGE_JOAAT("REWARD_AMMO_PISTOL"), REWARD_AMMO_PISTOL = "REWARD_AMMO_PISTOL"_J,
REWARD_AMMO_PISTOL50 = RAGE_JOAAT("REWARD_AMMO_PISTOL50"), REWARD_AMMO_PISTOL50 = "REWARD_AMMO_PISTOL50"_J,
REWARD_AMMO_PROXMINE = RAGE_JOAAT("REWARD_AMMO_PROXMINE"), REWARD_AMMO_PROXMINE = "REWARD_AMMO_PROXMINE"_J,
REWARD_AMMO_PUMPSHOTGUN = RAGE_JOAAT("REWARD_AMMO_PUMPSHOTGUN"), REWARD_AMMO_PUMPSHOTGUN = "REWARD_AMMO_PUMPSHOTGUN"_J,
REWARD_AMMO_PUMPSHOTGUN_ENTER_VEHICLE = RAGE_JOAAT("REWARD_AMMO_PUMPSHOTGUN_ENTER_VEHICLE"), REWARD_AMMO_PUMPSHOTGUN_ENTER_VEHICLE = "REWARD_AMMO_PUMPSHOTGUN_ENTER_VEHICLE"_J,
REWARD_AMMO_RAILGUN = RAGE_JOAAT("REWARD_AMMO_RAILGUN"), REWARD_AMMO_RAILGUN = "REWARD_AMMO_RAILGUN"_J,
REWARD_AMMO_RAYPISTOL = RAGE_JOAAT("REWARD_AMMO_RAYPISTOL"), REWARD_AMMO_RAYPISTOL = "REWARD_AMMO_RAYPISTOL"_J,
REWARD_AMMO_REVOLVER = RAGE_JOAAT("REWARD_AMMO_REVOLVER"), REWARD_AMMO_REVOLVER = "REWARD_AMMO_REVOLVER"_J,
REWARD_AMMO_RPG = RAGE_JOAAT("REWARD_AMMO_RPG"), REWARD_AMMO_RPG = "REWARD_AMMO_RPG"_J,
REWARD_AMMO_SAWNOFFSHOTGUN = RAGE_JOAAT("REWARD_AMMO_SAWNOFFSHOTGUN"), REWARD_AMMO_SAWNOFFSHOTGUN = "REWARD_AMMO_SAWNOFFSHOTGUN"_J,
REWARD_AMMO_SMG = RAGE_JOAAT("REWARD_AMMO_SMG"), REWARD_AMMO_SMG = "REWARD_AMMO_SMG"_J,
REWARD_AMMO_SMOKEGRENADE = RAGE_JOAAT("REWARD_AMMO_SMOKEGRENADE"), REWARD_AMMO_SMOKEGRENADE = "REWARD_AMMO_SMOKEGRENADE"_J,
REWARD_AMMO_SNIPERRIFLE = RAGE_JOAAT("REWARD_AMMO_SNIPERRIFLE"), REWARD_AMMO_SNIPERRIFLE = "REWARD_AMMO_SNIPERRIFLE"_J,
REWARD_AMMO_SNSPISTOL = RAGE_JOAAT("REWARD_AMMO_SNSPISTOL"), REWARD_AMMO_SNSPISTOL = "REWARD_AMMO_SNSPISTOL"_J,
REWARD_AMMO_SPECIALCARBINE = RAGE_JOAAT("REWARD_AMMO_SPECIALCARBINE"), REWARD_AMMO_SPECIALCARBINE = "REWARD_AMMO_SPECIALCARBINE"_J,
REWARD_AMMO_STICKYBOMB = RAGE_JOAAT("REWARD_AMMO_STICKYBOMB"), REWARD_AMMO_STICKYBOMB = "REWARD_AMMO_STICKYBOMB"_J,
REWARD_AMMO_STUNGUN = RAGE_JOAAT("REWARD_AMMO_STUNGUN"), REWARD_AMMO_STUNGUN = "REWARD_AMMO_STUNGUN"_J,
REWARD_AMMO_VINTAGEPISTOL = RAGE_JOAAT("REWARD_AMMO_VINTAGEPISTOL"), REWARD_AMMO_VINTAGEPISTOL = "REWARD_AMMO_VINTAGEPISTOL"_J,
REWARD_ARMOUR = RAGE_JOAAT("REWARD_ARMOUR"), REWARD_ARMOUR = "REWARD_ARMOUR"_J,
REWARD_HEALTH = RAGE_JOAAT("REWARD_HEALTH"), REWARD_HEALTH = "REWARD_HEALTH"_J,
REWARD_HEALTH_ENTER_VEHICLE = RAGE_JOAAT("REWARD_HEALTH_ENTER_VEHICLE"), REWARD_HEALTH_ENTER_VEHICLE = "REWARD_HEALTH_ENTER_VEHICLE"_J,
REWARD_HEALTH_VARIABLE = RAGE_JOAAT("REWARD_HEALTH_VARIABLE"), REWARD_HEALTH_VARIABLE = "REWARD_HEALTH_VARIABLE"_J,
REWARD_MONEY_VARIABLE = RAGE_JOAAT("REWARD_MONEY_VARIABLE"), REWARD_MONEY_VARIABLE = "REWARD_MONEY_VARIABLE"_J,
REWARD_PARACHUTE = RAGE_JOAAT("REWARD_PARACHUTE"), REWARD_PARACHUTE = "REWARD_PARACHUTE"_J,
REWARD_STAT_HEALTH = RAGE_JOAAT("REWARD_STAT_HEALTH"), REWARD_STAT_HEALTH = "REWARD_STAT_HEALTH"_J,
REWARD_STAT_HEALTH_VARIABLE = RAGE_JOAAT("REWARD_STAT_HEALTH_VARIABLE"), REWARD_STAT_HEALTH_VARIABLE = "REWARD_STAT_HEALTH_VARIABLE"_J,
REWARD_STAT_WEAPON = RAGE_JOAAT("REWARD_STAT_WEAPON"), REWARD_STAT_WEAPON = "REWARD_STAT_WEAPON"_J,
REWARD_VEHICLE_FIX = RAGE_JOAAT("REWARD_VEHICLE_FIX"), REWARD_VEHICLE_FIX = "REWARD_VEHICLE_FIX"_J,
REWARD_WEAPON_ADVANCEDRIFLE = RAGE_JOAAT("REWARD_WEAPON_ADVANCEDRIFLE"), REWARD_WEAPON_ADVANCEDRIFLE = "REWARD_WEAPON_ADVANCEDRIFLE"_J,
REWARD_WEAPON_APPISTOL = RAGE_JOAAT("REWARD_WEAPON_APPISTOL"), REWARD_WEAPON_APPISTOL = "REWARD_WEAPON_APPISTOL"_J,
REWARD_WEAPON_ASSAULTRIFLE = RAGE_JOAAT("REWARD_WEAPON_ASSAULTRIFLE"), REWARD_WEAPON_ASSAULTRIFLE = "REWARD_WEAPON_ASSAULTRIFLE"_J,
REWARD_WEAPON_ASSAULTRIFLE_MK2 = RAGE_JOAAT("REWARD_WEAPON_ASSAULTRIFLE_MK2"), REWARD_WEAPON_ASSAULTRIFLE_MK2 = "REWARD_WEAPON_ASSAULTRIFLE_MK2"_J,
REWARD_WEAPON_ASSAULTSHOTGUN = RAGE_JOAAT("REWARD_WEAPON_ASSAULTSHOTGUN"), REWARD_WEAPON_ASSAULTSHOTGUN = "REWARD_WEAPON_ASSAULTSHOTGUN"_J,
REWARD_WEAPON_ASSAULTSMG = RAGE_JOAAT("REWARD_WEAPON_ASSAULTSMG"), REWARD_WEAPON_ASSAULTSMG = "REWARD_WEAPON_ASSAULTSMG"_J,
REWARD_WEAPON_AUTOSHOTGUN = RAGE_JOAAT("REWARD_WEAPON_AUTOSHOTGUN"), REWARD_WEAPON_AUTOSHOTGUN = "REWARD_WEAPON_AUTOSHOTGUN"_J,
REWARD_WEAPON_BAT = RAGE_JOAAT("REWARD_WEAPON_BAT"), REWARD_WEAPON_BAT = "REWARD_WEAPON_BAT"_J,
REWARD_WEAPON_BATTLEAXE = RAGE_JOAAT("REWARD_WEAPON_BATTLEAXE"), REWARD_WEAPON_BATTLEAXE = "REWARD_WEAPON_BATTLEAXE"_J,
REWARD_WEAPON_BOTTLE = RAGE_JOAAT("REWARD_WEAPON_BOTTLE"), REWARD_WEAPON_BOTTLE = "REWARD_WEAPON_BOTTLE"_J,
REWARD_WEAPON_BULLPUPRIFLE = RAGE_JOAAT("REWARD_WEAPON_BULLPUPRIFLE"), REWARD_WEAPON_BULLPUPRIFLE = "REWARD_WEAPON_BULLPUPRIFLE"_J,
REWARD_WEAPON_BULLPUPRIFLE_MK2 = RAGE_JOAAT("REWARD_WEAPON_BULLPUPRIFLE_MK2"), REWARD_WEAPON_BULLPUPRIFLE_MK2 = "REWARD_WEAPON_BULLPUPRIFLE_MK2"_J,
REWARD_WEAPON_BULLPUPSHOTGUN = RAGE_JOAAT("REWARD_WEAPON_BULLPUPSHOTGUN"), REWARD_WEAPON_BULLPUPSHOTGUN = "REWARD_WEAPON_BULLPUPSHOTGUN"_J,
REWARD_WEAPON_CARBINERIFLE = RAGE_JOAAT("REWARD_WEAPON_CARBINERIFLE"), REWARD_WEAPON_CARBINERIFLE = "REWARD_WEAPON_CARBINERIFLE"_J,
REWARD_WEAPON_CARBINERIFLE_MK2 = RAGE_JOAAT("REWARD_WEAPON_CARBINERIFLE_MK2"), REWARD_WEAPON_CARBINERIFLE_MK2 = "REWARD_WEAPON_CARBINERIFLE_MK2"_J,
REWARD_WEAPON_COMBATMG = RAGE_JOAAT("REWARD_WEAPON_COMBATMG"), REWARD_WEAPON_COMBATMG = "REWARD_WEAPON_COMBATMG"_J,
REWARD_WEAPON_COMBATMG_MK2 = RAGE_JOAAT("REWARD_WEAPON_COMBATMG_MK2"), REWARD_WEAPON_COMBATMG_MK2 = "REWARD_WEAPON_COMBATMG_MK2"_J,
REWARD_WEAPON_COMBATPDW = RAGE_JOAAT("REWARD_WEAPON_COMBATPDW"), REWARD_WEAPON_COMBATPDW = "REWARD_WEAPON_COMBATPDW"_J,
REWARD_WEAPON_COMBATPISTOL = RAGE_JOAAT("REWARD_WEAPON_COMBATPISTOL"), REWARD_WEAPON_COMBATPISTOL = "REWARD_WEAPON_COMBATPISTOL"_J,
REWARD_WEAPON_COMPACTLAUNCHER = RAGE_JOAAT("REWARD_WEAPON_COMPACTLAUNCHER"), REWARD_WEAPON_COMPACTLAUNCHER = "REWARD_WEAPON_COMPACTLAUNCHER"_J,
REWARD_WEAPON_COMPACTRIFLE = RAGE_JOAAT("REWARD_WEAPON_COMPACTRIFLE"), REWARD_WEAPON_COMPACTRIFLE = "REWARD_WEAPON_COMPACTRIFLE"_J,
REWARD_WEAPON_CROWBAR = RAGE_JOAAT("REWARD_WEAPON_CROWBAR"), REWARD_WEAPON_CROWBAR = "REWARD_WEAPON_CROWBAR"_J,
REWARD_WEAPON_DAGGER = RAGE_JOAAT("REWARD_WEAPON_DAGGER"), REWARD_WEAPON_DAGGER = "REWARD_WEAPON_DAGGER"_J,
REWARD_WEAPON_DBSHOTGUN = RAGE_JOAAT("REWARD_WEAPON_DBSHOTGUN"), REWARD_WEAPON_DBSHOTGUN = "REWARD_WEAPON_DBSHOTGUN"_J,
REWARD_WEAPON_DOUBLEACTION = RAGE_JOAAT("REWARD_WEAPON_DOUBLEACTION"), REWARD_WEAPON_DOUBLEACTION = "REWARD_WEAPON_DOUBLEACTION"_J,
REWARD_WEAPON_FIREWORK = RAGE_JOAAT("REWARD_WEAPON_FIREWORK"), REWARD_WEAPON_FIREWORK = "REWARD_WEAPON_FIREWORK"_J,
REWARD_WEAPON_FLAREGUN = RAGE_JOAAT("REWARD_WEAPON_FLAREGUN"), REWARD_WEAPON_FLAREGUN = "REWARD_WEAPON_FLAREGUN"_J,
REWARD_WEAPON_FLASHLIGHT = RAGE_JOAAT("REWARD_WEAPON_FLASHLIGHT"), REWARD_WEAPON_FLASHLIGHT = "REWARD_WEAPON_FLASHLIGHT"_J,
REWARD_WEAPON_GOLFCLUB = RAGE_JOAAT("REWARD_WEAPON_GOLFCLUB"), REWARD_WEAPON_GOLFCLUB = "REWARD_WEAPON_GOLFCLUB"_J,
REWARD_WEAPON_GRENADE = RAGE_JOAAT("REWARD_WEAPON_GRENADE"), REWARD_WEAPON_GRENADE = "REWARD_WEAPON_GRENADE"_J,
REWARD_WEAPON_GRENADELAUNCHER = RAGE_JOAAT("REWARD_WEAPON_GRENADELAUNCHER"), REWARD_WEAPON_GRENADELAUNCHER = "REWARD_WEAPON_GRENADELAUNCHER"_J,
REWARD_WEAPON_GUSENBERG = RAGE_JOAAT("REWARD_WEAPON_GUSENBERG"), REWARD_WEAPON_GUSENBERG = "REWARD_WEAPON_GUSENBERG"_J,
REWARD_WEAPON_HAMMER = RAGE_JOAAT("REWARD_WEAPON_HAMMER"), REWARD_WEAPON_HAMMER = "REWARD_WEAPON_HAMMER"_J,
REWARD_WEAPON_HATCHET = RAGE_JOAAT("REWARD_WEAPON_HATCHET"), REWARD_WEAPON_HATCHET = "REWARD_WEAPON_HATCHET"_J,
REWARD_WEAPON_HEAVYPISTOL = RAGE_JOAAT("REWARD_WEAPON_HEAVYPISTOL"), REWARD_WEAPON_HEAVYPISTOL = "REWARD_WEAPON_HEAVYPISTOL"_J,
REWARD_WEAPON_HEAVYSHOTGUN = RAGE_JOAAT("REWARD_WEAPON_HEAVYSHOTGUN"), REWARD_WEAPON_HEAVYSHOTGUN = "REWARD_WEAPON_HEAVYSHOTGUN"_J,
REWARD_WEAPON_HEAVYSNIPER = RAGE_JOAAT("REWARD_WEAPON_HEAVYSNIPER"), REWARD_WEAPON_HEAVYSNIPER = "REWARD_WEAPON_HEAVYSNIPER"_J,
REWARD_WEAPON_HEAVYSNIPER_MK2 = RAGE_JOAAT("REWARD_WEAPON_HEAVYSNIPER_MK2"), REWARD_WEAPON_HEAVYSNIPER_MK2 = "REWARD_WEAPON_HEAVYSNIPER_MK2"_J,
REWARD_WEAPON_HOMINGLAUNCHER = RAGE_JOAAT("REWARD_WEAPON_HOMINGLAUNCHER"), REWARD_WEAPON_HOMINGLAUNCHER = "REWARD_WEAPON_HOMINGLAUNCHER"_J,
REWARD_WEAPON_KNIFE = RAGE_JOAAT("REWARD_WEAPON_KNIFE"), REWARD_WEAPON_KNIFE = "REWARD_WEAPON_KNIFE"_J,
REWARD_WEAPON_KNUCKLE = RAGE_JOAAT("REWARD_WEAPON_KNUCKLE"), REWARD_WEAPON_KNUCKLE = "REWARD_WEAPON_KNUCKLE"_J,
REWARD_WEAPON_MACHETE = RAGE_JOAAT("REWARD_WEAPON_MACHETE"), REWARD_WEAPON_MACHETE = "REWARD_WEAPON_MACHETE"_J,
REWARD_WEAPON_MACHINEPISTOL = RAGE_JOAAT("REWARD_WEAPON_MACHINEPISTOL"), REWARD_WEAPON_MACHINEPISTOL = "REWARD_WEAPON_MACHINEPISTOL"_J,
REWARD_WEAPON_MARKSMANPISTOL = RAGE_JOAAT("REWARD_WEAPON_MARKSMANPISTOL"), REWARD_WEAPON_MARKSMANPISTOL = "REWARD_WEAPON_MARKSMANPISTOL"_J,
REWARD_WEAPON_MARKSMANRIFLE = RAGE_JOAAT("REWARD_WEAPON_MARKSMANRIFLE"), REWARD_WEAPON_MARKSMANRIFLE = "REWARD_WEAPON_MARKSMANRIFLE"_J,
REWARD_WEAPON_MARKSMANRIFLE_MK2 = RAGE_JOAAT("REWARD_WEAPON_MARKSMANRIFLE_MK2"), REWARD_WEAPON_MARKSMANRIFLE_MK2 = "REWARD_WEAPON_MARKSMANRIFLE_MK2"_J,
REWARD_WEAPON_MG = RAGE_JOAAT("REWARD_WEAPON_MG"), REWARD_WEAPON_MG = "REWARD_WEAPON_MG"_J,
REWARD_WEAPON_MICROSMG = RAGE_JOAAT("REWARD_WEAPON_MICROSMG"), REWARD_WEAPON_MICROSMG = "REWARD_WEAPON_MICROSMG"_J,
REWARD_WEAPON_MINIGUN = RAGE_JOAAT("REWARD_WEAPON_MINIGUN"), REWARD_WEAPON_MINIGUN = "REWARD_WEAPON_MINIGUN"_J,
REWARD_WEAPON_MINISMG = RAGE_JOAAT("REWARD_WEAPON_MINISMG"), REWARD_WEAPON_MINISMG = "REWARD_WEAPON_MINISMG"_J,
REWARD_WEAPON_MOLOTOV = RAGE_JOAAT("REWARD_WEAPON_MOLOTOV"), REWARD_WEAPON_MOLOTOV = "REWARD_WEAPON_MOLOTOV"_J,
REWARD_WEAPON_MUSKET = RAGE_JOAAT("REWARD_WEAPON_MUSKET"), REWARD_WEAPON_MUSKET = "REWARD_WEAPON_MUSKET"_J,
REWARD_WEAPON_NIGHTSTICK = RAGE_JOAAT("REWARD_WEAPON_NIGHTSTICK"), REWARD_WEAPON_NIGHTSTICK = "REWARD_WEAPON_NIGHTSTICK"_J,
REWARD_WEAPON_PETROLCAN = RAGE_JOAAT("REWARD_WEAPON_PETROLCAN"), REWARD_WEAPON_PETROLCAN = "REWARD_WEAPON_PETROLCAN"_J,
REWARD_WEAPON_PIPEBOMB = RAGE_JOAAT("REWARD_WEAPON_PIPEBOMB"), REWARD_WEAPON_PIPEBOMB = "REWARD_WEAPON_PIPEBOMB"_J,
REWARD_WEAPON_PISTOL = RAGE_JOAAT("REWARD_WEAPON_PISTOL"), REWARD_WEAPON_PISTOL = "REWARD_WEAPON_PISTOL"_J,
REWARD_WEAPON_PISTOL50 = RAGE_JOAAT("REWARD_WEAPON_PISTOL50"), REWARD_WEAPON_PISTOL50 = "REWARD_WEAPON_PISTOL50"_J,
REWARD_WEAPON_PISTOL_MK2 = RAGE_JOAAT("REWARD_WEAPON_PISTOL_MK2"), REWARD_WEAPON_PISTOL_MK2 = "REWARD_WEAPON_PISTOL_MK2"_J,
REWARD_WEAPON_POOLCUE = RAGE_JOAAT("REWARD_WEAPON_POOLCUE"), REWARD_WEAPON_POOLCUE = "REWARD_WEAPON_POOLCUE"_J,
REWARD_WEAPON_PROXMINE = RAGE_JOAAT("REWARD_WEAPON_PROXMINE"), REWARD_WEAPON_PROXMINE = "REWARD_WEAPON_PROXMINE"_J,
REWARD_WEAPON_PUMPSHOTGUN = RAGE_JOAAT("REWARD_WEAPON_PUMPSHOTGUN"), REWARD_WEAPON_PUMPSHOTGUN = "REWARD_WEAPON_PUMPSHOTGUN"_J,
REWARD_WEAPON_PUMPSHOTGUN_MK2 = RAGE_JOAAT("REWARD_WEAPON_PUMPSHOTGUN_MK2"), REWARD_WEAPON_PUMPSHOTGUN_MK2 = "REWARD_WEAPON_PUMPSHOTGUN_MK2"_J,
REWARD_WEAPON_RAILGUN = RAGE_JOAAT("REWARD_WEAPON_RAILGUN"), REWARD_WEAPON_RAILGUN = "REWARD_WEAPON_RAILGUN"_J,
REWARD_WEAPON_RAYCARBINE = RAGE_JOAAT("REWARD_WEAPON_RAYCARBINE"), REWARD_WEAPON_RAYCARBINE = "REWARD_WEAPON_RAYCARBINE"_J,
REWARD_WEAPON_RAYMINIGUN = RAGE_JOAAT("REWARD_WEAPON_RAYMINIGUN"), REWARD_WEAPON_RAYMINIGUN = "REWARD_WEAPON_RAYMINIGUN"_J,
REWARD_WEAPON_RAYPISTOL = RAGE_JOAAT("REWARD_WEAPON_RAYPISTOL"), REWARD_WEAPON_RAYPISTOL = "REWARD_WEAPON_RAYPISTOL"_J,
REWARD_WEAPON_REVOLVER = RAGE_JOAAT("REWARD_WEAPON_REVOLVER"), REWARD_WEAPON_REVOLVER = "REWARD_WEAPON_REVOLVER"_J,
REWARD_WEAPON_REVOLVER_MK2 = RAGE_JOAAT("REWARD_WEAPON_REVOLVER_MK2"), REWARD_WEAPON_REVOLVER_MK2 = "REWARD_WEAPON_REVOLVER_MK2"_J,
REWARD_WEAPON_RPG = RAGE_JOAAT("REWARD_WEAPON_RPG"), REWARD_WEAPON_RPG = "REWARD_WEAPON_RPG"_J,
REWARD_WEAPON_SAWNOFFSHOTGUN = RAGE_JOAAT("REWARD_WEAPON_SAWNOFFSHOTGUN"), REWARD_WEAPON_SAWNOFFSHOTGUN = "REWARD_WEAPON_SAWNOFFSHOTGUN"_J,
REWARD_WEAPON_SMG = RAGE_JOAAT("REWARD_WEAPON_SMG"), REWARD_WEAPON_SMG = "REWARD_WEAPON_SMG"_J,
REWARD_WEAPON_SMG_MK2 = RAGE_JOAAT("REWARD_WEAPON_SMG_MK2"), REWARD_WEAPON_SMG_MK2 = "REWARD_WEAPON_SMG_MK2"_J,
REWARD_WEAPON_SMOKEGRENADE = RAGE_JOAAT("REWARD_WEAPON_SMOKEGRENADE"), REWARD_WEAPON_SMOKEGRENADE = "REWARD_WEAPON_SMOKEGRENADE"_J,
REWARD_WEAPON_SNIPERRIFLE = RAGE_JOAAT("REWARD_WEAPON_SNIPERRIFLE"), REWARD_WEAPON_SNIPERRIFLE = "REWARD_WEAPON_SNIPERRIFLE"_J,
REWARD_WEAPON_SNSPISTOL = RAGE_JOAAT("REWARD_WEAPON_SNSPISTOL"), REWARD_WEAPON_SNSPISTOL = "REWARD_WEAPON_SNSPISTOL"_J,
REWARD_WEAPON_SNSPISTOL_MK2 = RAGE_JOAAT("REWARD_WEAPON_SNSPISTOL_MK2"), REWARD_WEAPON_SNSPISTOL_MK2 = "REWARD_WEAPON_SNSPISTOL_MK2"_J,
REWARD_WEAPON_SPECIALCARBINE = RAGE_JOAAT("REWARD_WEAPON_SPECIALCARBINE"), REWARD_WEAPON_SPECIALCARBINE = "REWARD_WEAPON_SPECIALCARBINE"_J,
REWARD_WEAPON_SPECIALCARBINE_MK2 = RAGE_JOAAT("REWARD_WEAPON_SPECIALCARBINE_MK2"), REWARD_WEAPON_SPECIALCARBINE_MK2 = "REWARD_WEAPON_SPECIALCARBINE_MK2"_J,
REWARD_WEAPON_STICKYBOMB = RAGE_JOAAT("REWARD_WEAPON_STICKYBOMB"), REWARD_WEAPON_STICKYBOMB = "REWARD_WEAPON_STICKYBOMB"_J,
REWARD_WEAPON_STONE_HATCHET = RAGE_JOAAT("REWARD_WEAPON_STONE_HATCHET"), REWARD_WEAPON_STONE_HATCHET = "REWARD_WEAPON_STONE_HATCHET"_J,
REWARD_WEAPON_STUNGUN = RAGE_JOAAT("REWARD_WEAPON_STUNGUN"), REWARD_WEAPON_STUNGUN = "REWARD_WEAPON_STUNGUN"_J,
REWARD_WEAPON_SWITCHBLADE = RAGE_JOAAT("REWARD_WEAPON_SWITCHBLADE"), REWARD_WEAPON_SWITCHBLADE = "REWARD_WEAPON_SWITCHBLADE"_J,
REWARD_WEAPON_VINTAGEPISTOL = RAGE_JOAAT("REWARD_WEAPON_VINTAGEPISTOL"), REWARD_WEAPON_VINTAGEPISTOL = "REWARD_WEAPON_VINTAGEPISTOL"_J,
REWARD_WEAPON_WRENCH = RAGE_JOAAT("REWARD_WEAPON_WRENCH") REWARD_WEAPON_WRENCH = "REWARD_WEAPON_WRENCH"_J
}; };

File diff suppressed because it is too large Load Diff

View File

@ -5,31 +5,31 @@
enum Weapons : Hash enum Weapons : Hash
{ {
WEAPON_UNARMED = RAGE_JOAAT("WEAPON_UNARMED") WEAPON_UNARMED = "WEAPON_UNARMED"_J
}; };
enum Gadgets : Hash enum Gadgets : Hash
{ {
GADGET_OBJECT = RAGE_JOAAT("OBJECT"), GADGET_OBJECT = "OBJECT"_J,
GADGET_PARACHUTE = RAGE_JOAAT("GADGET_PARACHUTE") GADGET_PARACHUTE = "GADGET_PARACHUTE"_J
}; };
enum WeaponGroup : Hash enum WeaponGroup : Hash
{ {
GROUP_MELEE = RAGE_JOAAT("GROUP_MELEE"), GROUP_MELEE = "GROUP_MELEE"_J,
GROUP_UNARMED = RAGE_JOAAT("GROUP_UNARMED"), GROUP_UNARMED = "GROUP_UNARMED"_J,
GROUP_PISTOL = RAGE_JOAAT("GROUP_PISTOL"), GROUP_PISTOL = "GROUP_PISTOL"_J,
GROUP_RIFLE = RAGE_JOAAT("GROUP_RIFLE"), GROUP_RIFLE = "GROUP_RIFLE"_J,
GROUP_MG = RAGE_JOAAT("GROUP_MG"), GROUP_MG = "GROUP_MG"_J,
GROUP_SMG = RAGE_JOAAT("GROUP_SMG"), GROUP_SMG = "GROUP_SMG"_J,
GROUP_SHOTGUN = RAGE_JOAAT("GROUP_SHOTGUN"), GROUP_SHOTGUN = "GROUP_SHOTGUN"_J,
GROUP_STUNGUN = RAGE_JOAAT("GROUP_STUNGUN"), GROUP_STUNGUN = "GROUP_STUNGUN"_J,
GROUP_SNIPER = RAGE_JOAAT("GROUP_SNIPER"), GROUP_SNIPER = "GROUP_SNIPER"_J,
GROUP_HEAVY = RAGE_JOAAT("GROUP_HEAVY"), GROUP_HEAVY = "GROUP_HEAVY"_J,
GROUP_THROWN = RAGE_JOAAT("GROUP_THROWN"), GROUP_THROWN = "GROUP_THROWN"_J,
GROUP_FIREEXTINGUISHER = RAGE_JOAAT("GROUP_FIREEXTINGUISHER"), GROUP_FIREEXTINGUISHER = "GROUP_FIREEXTINGUISHER"_J,
GROUP_PETROLCAN = RAGE_JOAAT("GROUP_PETROLCAN"), GROUP_PETROLCAN = "GROUP_PETROLCAN"_J,
GROUP_DIGISCANNER = RAGE_JOAAT("GROUP_DIGISCANNER"), GROUP_DIGISCANNER = "GROUP_DIGISCANNER"_J,
GROUP_NIGHTVISION = RAGE_JOAAT("GROUP_NIGHTVISION"), GROUP_NIGHTVISION = "GROUP_NIGHTVISION"_J,
GROUP_PARACHUTE = RAGE_JOAAT("GROUP_PARACHUTE") GROUP_PARACHUTE = "GROUP_PARACHUTE"_J
}; };

View File

@ -41,7 +41,7 @@ namespace big
template<template_str cmd_str, ImVec2 size = ImVec2(0, 0), ImVec4 color = ImVec4(0.24f, 0.23f, 0.29f, 1.00f)> template<template_str cmd_str, ImVec2 size = ImVec2(0, 0), ImVec4 color = ImVec4(0.24f, 0.23f, 0.29f, 1.00f)>
static void command_button(const std::vector<uint64_t> args = {}, std::optional<const std::string_view> label_override = std::nullopt) static void command_button(const std::vector<uint64_t> args = {}, std::optional<const std::string_view> label_override = std::nullopt)
{ {
static command* command = command::get(rage::consteval_joaat(cmd_str.value)); static command* command = command::get(rage::joaat(cmd_str.value));
if (command == nullptr) if (command == nullptr)
return ImGui::Text("INVALID COMMAND"); return ImGui::Text("INVALID COMMAND");
@ -57,7 +57,7 @@ namespace big
template<template_str cmd_str, ImVec2 size = ImVec2(0, 0), ImVec4 color = ImVec4(0.24f, 0.23f, 0.29f, 1.00f)> template<template_str cmd_str, ImVec2 size = ImVec2(0, 0), ImVec4 color = ImVec4(0.24f, 0.23f, 0.29f, 1.00f)>
static void player_command_button(player_ptr player = g_player_service->get_selected(), const std::vector<uint64_t> args = {}, std::optional<const std::string_view> label_override = std::nullopt) static void player_command_button(player_ptr player = g_player_service->get_selected(), const std::vector<uint64_t> args = {}, std::optional<const std::string_view> label_override = std::nullopt)
{ {
static player_command* command = dynamic_cast<player_command*>(command::get(rage::consteval_joaat(cmd_str.value))); static player_command* command = dynamic_cast<player_command*>(command::get(rage::joaat(cmd_str.value)));
if (command == nullptr) if (command == nullptr)
return ImGui::Text("INVALID COMMAND"); return ImGui::Text("INVALID COMMAND");
@ -70,7 +70,7 @@ namespace big
template<template_str cmd_str> template<template_str cmd_str>
static bool command_checkbox(std::optional<const std::string_view> label_override = std::nullopt) static bool command_checkbox(std::optional<const std::string_view> label_override = std::nullopt)
{ {
static bool_command* command = dynamic_cast<bool_command*>(command::get(rage::consteval_joaat(cmd_str.value))); static bool_command* command = dynamic_cast<bool_command*>(command::get(rage::joaat(cmd_str.value)));
if (command == nullptr) if (command == nullptr)
{ {
ImGui::Text("INVALID COMMAND"); ImGui::Text("INVALID COMMAND");
@ -89,7 +89,7 @@ namespace big
template<template_str cmd_str> template<template_str cmd_str>
static void command_int_slider(std::optional<const std::string_view> label_override = std::nullopt) static void command_int_slider(std::optional<const std::string_view> label_override = std::nullopt)
{ {
static int_command* command = (int_command*)command::get(rage::consteval_joaat(cmd_str.value)); static int_command* command = (int_command*)command::get(rage::joaat(cmd_str.value));
if (command == nullptr) if (command == nullptr)
return ImGui::Text("INVALID COMMAND"); return ImGui::Text("INVALID COMMAND");
@ -105,7 +105,7 @@ namespace big
template<template_str cmd_str> template<template_str cmd_str>
static void command_float_slider(std::optional<const std::string_view> label_override = std::nullopt) static void command_float_slider(std::optional<const std::string_view> label_override = std::nullopt)
{ {
static float_command* command = (float_command*)command::get(rage::consteval_joaat(cmd_str.value)); static float_command* command = (float_command*)command::get(rage::joaat(cmd_str.value));
if (command == nullptr) if (command == nullptr)
return ImGui::Text("INVALID COMMAND"); return ImGui::Text("INVALID COMMAND");
@ -121,7 +121,7 @@ namespace big
template<template_str cmd_str> template<template_str cmd_str>
static void command_float_input(std::optional<const std::string_view> label_override = std::nullopt) static void command_float_input(std::optional<const std::string_view> label_override = std::nullopt)
{ {
static float_command* command = (float_command*)command::get(rage::consteval_joaat(cmd_str.value)); static float_command* command = (float_command*)command::get(rage::joaat(cmd_str.value));
if (command == nullptr) if (command == nullptr)
return ImGui::Text("INVALID COMMAND"); return ImGui::Text("INVALID COMMAND");

View File

@ -59,7 +59,7 @@ namespace big
{ {
case rage::eEventNetworkType::CEventNetworkRemovedFromSessionDueToComplaints: case rage::eEventNetworkType::CEventNetworkRemovedFromSessionDueToComplaints:
{ {
if (g.protections.kick_rejoin && !NETWORK::NETWORK_IS_ACTIVITY_SESSION() && SCRIPT::GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(RAGE_JOAAT("maintransition")) == 0 && !STREAMING::IS_PLAYER_SWITCH_IN_PROGRESS()) if (g.protections.kick_rejoin && !NETWORK::NETWORK_IS_ACTIVITY_SESSION() && SCRIPT::GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH("maintransition"_J) == 0 && !STREAMING::IS_PLAYER_SWITCH_IN_PROGRESS())
{ {
g_fiber_pool->queue_job([] { g_fiber_pool->queue_job([] {
session::join_session(gta_util::get_network()->m_last_joined_session.m_session_info); session::join_session(gta_util::get_network()->m_last_joined_session.m_session_info);
@ -77,9 +77,9 @@ namespace big
rage::sEntityDamagedData damage_data; rage::sEntityDamagedData damage_data;
net_event->get_extra_information(&damage_data, sizeof(damage_data)); net_event->get_extra_information(&damage_data, sizeof(damage_data));
if (damage_data.m_weapon_used == RAGE_JOAAT("WEAPON_STICKYBOMB") || damage_data.m_weapon_used == RAGE_JOAAT("VEHICLE_WEAPON_MINE_KINETIC_RC") if (damage_data.m_weapon_used == "WEAPON_STICKYBOMB"_J || damage_data.m_weapon_used == "VEHICLE_WEAPON_MINE_KINETIC_RC"_J
|| damage_data.m_weapon_used == RAGE_JOAAT("VEHICLE_WEAPON_MINE_EMP_RC") || damage_data.m_weapon_used == RAGE_JOAAT("VEHICLE_WEAPON_MINE_KINETIC") || damage_data.m_weapon_used == "VEHICLE_WEAPON_MINE_EMP_RC"_J || damage_data.m_weapon_used == "VEHICLE_WEAPON_MINE_KINETIC"_J
|| damage_data.m_weapon_used == RAGE_JOAAT("VEHICLE_WEAPON_MINE_EMP") || damage_data.m_weapon_used == RAGE_JOAAT("VEHICLE_WEAPON_MINE_SPIKE")) || damage_data.m_weapon_used == "VEHICLE_WEAPON_MINE_EMP"_J || damage_data.m_weapon_used == "VEHICLE_WEAPON_MINE_SPIKE"_J)
break; break;
if (auto damager = g_pointers->m_gta.m_handle_to_ptr(damage_data.m_damager_index); if (auto damager = g_pointers->m_gta.m_handle_to_ptr(damage_data.m_damager_index);
@ -100,8 +100,8 @@ namespace big
{ {
if (auto vehicle = player->get_current_vehicle()) if (auto vehicle = player->get_current_vehicle())
if (auto model_info = vehicle->m_model_info) if (auto model_info = vehicle->m_model_info)
if (model_info->m_hash == RAGE_JOAAT("rcbandito") || model_info->m_hash == RAGE_JOAAT("minitank") if (model_info->m_hash == "rcbandito"_J || model_info->m_hash == "minitank"_J
|| model_info->m_hash == RAGE_JOAAT("kosatka")) || model_info->m_hash == "kosatka"_J)
break; break;
} }
@ -129,8 +129,8 @@ namespace big
if (!reinterpret_cast<CPed*>(victim)->m_player_info) if (!reinterpret_cast<CPed*>(victim)->m_player_info)
break; break;
if (damage_data.m_weapon_used == RAGE_JOAAT("WEAPON_EXPLOSION") || damage_data.m_weapon_used == RAGE_JOAAT("WEAPON_RAMMED_BY_CAR") if (damage_data.m_weapon_used == "WEAPON_EXPLOSION"_J || damage_data.m_weapon_used == "WEAPON_RAMMED_BY_CAR"_J
|| damage_data.m_weapon_used == RAGE_JOAAT("WEAPON_RUN_OVER_BY_CAR")) || damage_data.m_weapon_used == "WEAPON_RUN_OVER_BY_CAR"_J)
break; break;
session::add_infraction(player, Infraction::ATTACKING_WITH_INVISIBILITY); session::add_infraction(player, Infraction::ATTACKING_WITH_INVISIBILITY);

View File

@ -31,7 +31,7 @@ namespace big
void hooks::log_error_message_box(rage::joaat_t joaated_error_code, bool a2) void hooks::log_error_message_box(rage::joaat_t joaated_error_code, bool a2)
{ {
if (joaated_error_code == RAGE_JOAAT("ERR_NET_EVENT")) if (joaated_error_code == "ERR_NET_EVENT"_J)
return; return;
LOG(WARNING) << "Error Code: " << string_conversions::utf_16_to_code_page(CP_UTF8, g_pointers->m_gta.m_get_title_caption_error_message_box(joaated_error_code)); LOG(WARNING) << "Error Code: " << string_conversions::utf_16_to_code_page(CP_UTF8, g_pointers->m_gta.m_get_title_caption_error_message_box(joaated_error_code));

View File

@ -121,11 +121,11 @@ namespace big
{ {
if (g_player_service->get_self()->is_host()) if (g_player_service->get_self()->is_host())
{ {
dynamic_cast<player_command*>(command::get(RAGE_JOAAT("breakup")))->call(plyr, {}); dynamic_cast<player_command*>(command::get("breakup"_J))->call(plyr, {});
} }
else else
{ {
dynamic_cast<player_command*>(command::get(RAGE_JOAAT("desync")))->call(plyr, {}); dynamic_cast<player_command*>(command::get("desync"_J))->call(plyr, {});
} }
} }
@ -139,7 +139,7 @@ namespace big
} }
else else
{ {
dynamic_cast<player_command*>(command::get(RAGE_JOAAT("multikick")))->call(plyr, {}); dynamic_cast<player_command*>(command::get("multikick"_J))->call(plyr, {});
g_notification_service->push_warning("LOBBY_LOCK"_T.data(), g_notification_service->push_warning("LOBBY_LOCK"_T.data(),
std::vformat("LOBBY_LOCK_DENIED"_T.data(), std::make_format_args(plyr->get_net_data()->m_name))); std::vformat("LOBBY_LOCK_DENIED"_T.data(), std::make_format_args(plyr->get_net_data()->m_name)));
} }

View File

@ -1538,7 +1538,7 @@ namespace big
} }
for (int i = 0; i < game_state_node->m_num_equiped_gadgets; i++) for (int i = 0; i < game_state_node->m_num_equiped_gadgets; i++)
{ {
if (game_state_node->m_gadget_hash[i] != RAGE_JOAAT("gadget_parachute") && game_state_node->m_gadget_hash[i] != RAGE_JOAAT("gadget_nightvision")) if (game_state_node->m_gadget_hash[i] != "gadget_parachute"_J && game_state_node->m_gadget_hash[i] != "gadget_nightvision"_J)
{ {
notify::crash_blocked(sender, "invalid gadget"); notify::crash_blocked(sender, "invalid gadget");
return true; return true;
@ -1678,4 +1678,4 @@ namespace big
return g_hooking->get_original<hooks::can_apply_data>()(tree, object); return g_hooking->get_original<hooks::can_apply_data>()(tree, object);
} }
} }

View File

@ -10,20 +10,20 @@ namespace big
{ {
switch (net_event->m_stat) switch (net_event->m_stat)
{ {
case RAGE_JOAAT("MPPLY_BAD_CREW_STATUS"): case "MPPLY_BAD_CREW_STATUS"_J:
case RAGE_JOAAT("MPPLY_BAD_CREW_MOTTO"): case "MPPLY_BAD_CREW_MOTTO"_J:
case RAGE_JOAAT("MPPLY_BAD_CREW_NAME"): case "MPPLY_BAD_CREW_NAME"_J:
case RAGE_JOAAT("MPPLY_BAD_CREW_EMBLEM"): case "MPPLY_BAD_CREW_EMBLEM"_J:
case RAGE_JOAAT("MPPLY_EXPLOITS"): case "MPPLY_EXPLOITS"_J:
case RAGE_JOAAT("MPPLY_GAME_EXPLOITS"): case "MPPLY_GAME_EXPLOITS"_J:
case RAGE_JOAAT("MPPLY_TC_ANNOYINGME"): case "MPPLY_TC_ANNOYINGME"_J:
case RAGE_JOAAT("MPPLY_TC_HATE"): case "MPPLY_TC_HATE"_J:
case RAGE_JOAAT("MPPLY_VC_ANNOYINGME"): case "MPPLY_VC_ANNOYINGME"_J:
case RAGE_JOAAT("MPPLY_VC_HATE"): case "MPPLY_VC_HATE"_J:
g.reactions.report.process(g_player_service->get_by_id(sender->m_player_id)); g.reactions.report.process(g_player_service->get_by_id(sender->m_player_id));
return true; return true;
} }
return false; return false;
} }
} }

View File

@ -125,11 +125,11 @@ namespace big
&& !(player->is_trusted || (player->is_friend() && g.session.trust_friends) || g.session.trust_session)) && !(player->is_trusted || (player->is_friend() && g.session.trust_friends) || g.session.trust_session))
{ {
if (g_player_service->get_self()->is_host()) if (g_player_service->get_self()->is_host())
dynamic_cast<player_command*>(command::get(RAGE_JOAAT("breakup")))->call(player, {}), dynamic_cast<player_command*>(command::get("breakup"_J))->call(player, {}),
dynamic_cast<player_command*>(command::get(RAGE_JOAAT("hostkick")))->call(player, {}); dynamic_cast<player_command*>(command::get("hostkick"_J))->call(player, {});
dynamic_cast<player_command*>(command::get(RAGE_JOAAT("endkick")))->call(player, {}); dynamic_cast<player_command*>(command::get("endkick"_J))->call(player, {});
dynamic_cast<player_command*>(command::get(RAGE_JOAAT("nfkick")))->call(player, {}); dynamic_cast<player_command*>(command::get("nfkick"_J))->call(player, {});
} }
return true; return true;
} }
@ -178,7 +178,7 @@ namespace big
CGameScriptId script; CGameScriptId script;
script_id_deserialize(script, buffer); script_id_deserialize(script, buffer);
if (script.m_hash == RAGE_JOAAT("freemode") && g.session.force_script_host) if (script.m_hash == "freemode"_J && g.session.force_script_host)
return true; return true;
break; break;

View File

@ -16,7 +16,7 @@ namespace big
{ {
int old_beast_index = -1; int old_beast_index = -1;
int participant_id = 0; int participant_id = 0;
auto beast = gta_util::find_script_thread(RAGE_JOAAT("am_hunt_the_beast")); auto beast = gta_util::find_script_thread("am_hunt_the_beast"_J);
if (beast) if (beast)
{ {
@ -74,4 +74,4 @@ namespace big
return result; return result;
} }
} }

View File

@ -30,7 +30,7 @@ namespace big
{ {
for (const auto& info : g_pointers->m_gta.m_weapon_info_manager->m_item_infos) for (const auto& info : g_pointers->m_gta.m_weapon_info_manager->m_item_infos)
{ {
if (info && info->m_name == hash && info->GetClassId() == RAGE_JOAAT("cweaponinfo")) if (info && info->m_name == hash && info->GetClassId() == "cweaponinfo"_J)
{ {
return true; return true;
} }
@ -602,7 +602,7 @@ namespace big
std::int16_t net_id = buffer->Read<std::int16_t>(13); std::int16_t net_id = buffer->Read<std::int16_t>(13);
Hash hash = buffer->Read<Hash>(32); Hash hash = buffer->Read<Hash>(32);
if (hash == RAGE_JOAAT("WEAPON_UNARMED")) if (hash == "WEAPON_UNARMED"_J)
{ {
notify::crash_blocked(source_player, "remove unarmed"); notify::crash_blocked(source_player, "remove unarmed");
g_pointers->m_gta.m_send_event_ack(event_manager, source_player, target_player, event_index, event_handled_bitset); g_pointers->m_gta.m_send_event_ack(event_manager, source_player, target_player, event_index, event_handled_bitset);
@ -707,7 +707,7 @@ namespace big
uint32_t sound_hash = buffer->Read<uint32_t>(32); uint32_t sound_hash = buffer->Read<uint32_t>(32);
if (sound_hash == RAGE_JOAAT("Remote_Ring") && plyr) if (sound_hash == "Remote_Ring"_J && plyr)
{ {
g.reactions.sound_spam.process(plyr); g.reactions.sound_spam.process(plyr);
return; return;

View File

@ -138,7 +138,7 @@ namespace big
session::add_infraction(plyr, Infraction::TRIED_CRASH_PLAYER); // stand user detected session::add_infraction(plyr, Infraction::TRIED_CRASH_PLAYER); // stand user detected
return true; return true;
case eRemoteEvent::NotificationCrash2: case eRemoteEvent::NotificationCrash2:
if (!gta_util::find_script_thread(RAGE_JOAAT("gb_salvage"))) if (!gta_util::find_script_thread("gb_salvage"_J))
{ {
// This looks like it's meant to trigger a sound crash by spamming too many notifications. We've already patched it, but the notifications are still annoying // This looks like it's meant to trigger a sound crash by spamming too many notifications. We've already patched it, but the notifications are still annoying
session::add_infraction(plyr, Infraction::TRIED_CRASH_PLAYER); // stand user detected session::add_infraction(plyr, Infraction::TRIED_CRASH_PLAYER); // stand user detected
@ -392,7 +392,7 @@ namespace big
break; break;
case eRemoteEvent::TriggerCEORaid: case eRemoteEvent::TriggerCEORaid:
{ {
if (auto script = gta_util::find_script_thread(RAGE_JOAAT("freemode"))) if (auto script = gta_util::find_script_thread("freemode"_J))
{ {
if (script->m_net_component && ((CGameScriptHandlerNetComponent*)script->m_net_component)->m_host if (script->m_net_component && ((CGameScriptHandlerNetComponent*)script->m_net_component)->m_host
&& ((CGameScriptHandlerNetComponent*)script->m_net_component)->m_host->m_net_game_player != player) && ((CGameScriptHandlerNetComponent*)script->m_net_component)->m_host->m_net_game_player != player)
@ -406,7 +406,7 @@ namespace big
case eRemoteEvent::StartScriptProceed: case eRemoteEvent::StartScriptProceed:
{ {
// TODO: Breaks stuff // TODO: Breaks stuff
if (auto script = gta_util::find_script_thread(RAGE_JOAAT("freemode"))) if (auto script = gta_util::find_script_thread("freemode"_J))
{ {
if (script->m_net_component && ((CGameScriptHandlerNetComponent*)script->m_net_component)->m_host if (script->m_net_component && ((CGameScriptHandlerNetComponent*)script->m_net_component)->m_host
&& ((CGameScriptHandlerNetComponent*)script->m_net_component)->m_host->m_net_game_player != player) && ((CGameScriptHandlerNetComponent*)script->m_net_component)->m_host->m_net_game_player != player)

View File

@ -6,14 +6,14 @@
namespace big namespace big
{ {
constexpr uint32_t valid_parachute_models[] = { constexpr uint32_t valid_parachute_models[] = {
RAGE_JOAAT("p_parachute_s"), "p_parachute_s"_J,
RAGE_JOAAT("vw_p_para_bag_vine_s"), "vw_p_para_bag_vine_s"_J,
RAGE_JOAAT("reh_p_para_bag_reh_s_01a"), "reh_p_para_bag_reh_s_01a"_J,
RAGE_JOAAT("xm_prop_x17_scuba_tank"), "xm_prop_x17_scuba_tank"_J,
RAGE_JOAAT("lts_p_para_bag_pilot2_s"), "lts_p_para_bag_pilot2_s"_J,
RAGE_JOAAT("lts_p_para_bag_lts_s"), "lts_p_para_bag_lts_s"_J,
RAGE_JOAAT("p_para_bag_tr_s_01a"), "p_para_bag_tr_s_01a"_J,
RAGE_JOAAT("p_para_bag_xmas_s"), "p_para_bag_xmas_s"_J,
}; };
bool is_valid_parachute_model(rage::joaat_t hash) bool is_valid_parachute_model(rage::joaat_t hash)

View File

@ -11,7 +11,7 @@ namespace big
bool hooks::update_presence_attribute_int(void* presence_data, int profile_index, char* attr, uint64_t value) bool hooks::update_presence_attribute_int(void* presence_data, int profile_index, char* attr, uint64_t value)
{ {
auto hash = rage::joaat(attr); auto hash = rage::joaat(attr);
if (block_session_presence() && (hash == RAGE_JOAAT("gstok") || hash == RAGE_JOAAT("gsid") || hash == RAGE_JOAAT("gstype") || hash == RAGE_JOAAT("gshost") || hash == RAGE_JOAAT("gsjoin"))) if (block_session_presence() && (hash == "gstok"_J || hash == "gsid"_J || hash == "gstype"_J || hash == "gshost"_J || hash == "gsjoin"_J))
{ {
return true; return true;
} }
@ -22,17 +22,17 @@ namespace big
bool hooks::update_presence_attribute_string(void* presence_data, int profile_index, char* attr, char* value) bool hooks::update_presence_attribute_string(void* presence_data, int profile_index, char* attr, char* value)
{ {
auto hash = rage::joaat(attr); auto hash = rage::joaat(attr);
if (block_session_presence() && hash == RAGE_JOAAT("gsinfo")) if (block_session_presence() && hash == "gsinfo"_J)
{ {
return true; return true;
} }
// shouldn't have any side effects // shouldn't have any side effects
if (hash == RAGE_JOAAT("peeraddr")) if (hash == "peeraddr"_J)
{ {
value = (char*)""; value = (char*)"";
} }
return g_hooking->get_original<hooks::update_presence_attribute_string>()(presence_data, profile_index, attr, value); return g_hooking->get_original<hooks::update_presence_attribute_string>()(presence_data, profile_index, attr, value);
} }
} }

View File

@ -16,12 +16,12 @@ namespace big
{ {
CStatSerializationEntry* entry = reinterpret_cast<CStatSerializationEntry*>(&data[i]); CStatSerializationEntry* entry = reinterpret_cast<CStatSerializationEntry*>(&data[i]);
if (g.spoofing.spoof_rank && (entry->m_hash == RAGE_JOAAT("MP0_CHAR_RANK_FM") || entry->m_hash == RAGE_JOAAT("MP1_CHAR_RANK_FM"))) if (g.spoofing.spoof_rank && (entry->m_hash == "MP0_CHAR_RANK_FM"_J || entry->m_hash == "MP1_CHAR_RANK_FM"_J))
{ {
entry->m_int_value = g.spoofing.rank; entry->m_int_value = g.spoofing.rank;
} }
if (g.spoofing.spoof_bad_sport && entry->m_hash == RAGE_JOAAT("MPPLY_OVERALL_BADSPORT")) if (g.spoofing.spoof_bad_sport && entry->m_hash == "MPPLY_OVERALL_BADSPORT"_J)
{ {
switch (g.spoofing.badsport_type) switch (g.spoofing.badsport_type)
{ {
@ -33,15 +33,15 @@ namespace big
if (g.spoofing.spoof_kd_ratio) if (g.spoofing.spoof_kd_ratio)
{ {
if (entry->m_hash == RAGE_JOAAT("MPPLY_KILLS_PLAYERS")) if (entry->m_hash == "MPPLY_KILLS_PLAYERS"_J)
entry->m_int_value = g.spoofing.kd_ratio;// TODO precision loss entry->m_int_value = g.spoofing.kd_ratio;// TODO precision loss
if (entry->m_hash == RAGE_JOAAT("MPPLY_DEATHS_PLAYER")) if (entry->m_hash == "MPPLY_DEATHS_PLAYER"_J)
entry->m_int_value = 1; entry->m_int_value = 1;
if (entry->m_hash == RAGE_JOAAT("MPPLY_DEATHS_PLAYER_SUICIDE")) if (entry->m_hash == "MPPLY_DEATHS_PLAYER_SUICIDE"_J)
entry->m_int_value = 0; entry->m_int_value = 0;
} }
} }
} }
} }

View File

@ -22,11 +22,11 @@ namespace lua::gui
switch (hash) switch (hash)
{ {
case RAGE_JOAAT("title"): m_font = big::g.window.font_title; break; case "title"_J: m_font = big::g.window.font_title; break;
case RAGE_JOAAT("subtitle"): m_font = big::g.window.font_sub_title; break; case "subtitle"_J: m_font = big::g.window.font_sub_title; break;
case RAGE_JOAAT("small"): m_font = big::g.window.font_small; break; case "small"_J: m_font = big::g.window.font_small; break;
case RAGE_JOAAT("icon"): m_font = big::g.window.font_icon; break; case "icon"_J: m_font = big::g.window.font_icon; break;
default: m_font = nullptr; break; default: m_font = nullptr; break;
} }
} }
} }

View File

@ -47,14 +47,14 @@ namespace big
{ {
for (rage::game_skeleton_update_base* update_node = mode->m_head; update_node; update_node = update_node->m_next) for (rage::game_skeleton_update_base* update_node = mode->m_head; update_node; update_node = update_node->m_next)
{ {
if (update_node->m_hash != RAGE_JOAAT("Common Main")) if (update_node->m_hash != "Common Main"_J)
continue; continue;
rage::game_skeleton_update_group* group = reinterpret_cast<rage::game_skeleton_update_group*>(update_node); rage::game_skeleton_update_group* group = reinterpret_cast<rage::game_skeleton_update_group*>(update_node);
for (rage::game_skeleton_update_base* group_child_node = group->m_head; group_child_node; for (rage::game_skeleton_update_base* group_child_node = group->m_head; group_child_node;
group_child_node = group_child_node->m_next) group_child_node = group_child_node->m_next)
{ {
// TamperActions is a leftover from the old AC, but still useful to block anyway // TamperActions is a leftover from the old AC, but still useful to block anyway
if (group_child_node->m_hash != 0xA0F39FB6 && group_child_node->m_hash != RAGE_JOAAT("TamperActions")) if (group_child_node->m_hash != 0xA0F39FB6 && group_child_node->m_hash != "TamperActions"_J)
continue; continue;
patched = true; patched = true;
//LOG(INFO) << "Patching problematic skeleton update"; //LOG(INFO) << "Patching problematic skeleton update";
@ -67,7 +67,7 @@ namespace big
for (rage::skeleton_data& i : g_pointers->m_gta.m_game_skeleton->m_sys_data) for (rage::skeleton_data& i : g_pointers->m_gta.m_game_skeleton->m_sys_data)
{ {
if (i.m_hash != 0xA0F39FB6 && i.m_hash != RAGE_JOAAT("TamperActions")) if (i.m_hash != 0xA0F39FB6 && i.m_hash != "TamperActions"_J)
continue; continue;
i.m_init_func = reinterpret_cast<uint64_t>(g_pointers->m_gta.m_nullsub); i.m_init_func = reinterpret_cast<uint64_t>(g_pointers->m_gta.m_nullsub);
i.m_shutdown_func = reinterpret_cast<uint64_t>(g_pointers->m_gta.m_nullsub); i.m_shutdown_func = reinterpret_cast<uint64_t>(g_pointers->m_gta.m_nullsub);

View File

@ -52,7 +52,7 @@ namespace big
const auto ped = src->get_arg<Ped>(0); const auto ped = src->get_arg<Ped>(0);
const auto hash = src->get_arg<rage::joaat_t>(1); const auto hash = src->get_arg<rage::joaat_t>(1);
if (g.weapons.interior_weapon && ped == self::ped && hash == RAGE_JOAAT("WEAPON_UNARMED")) if (g.weapons.interior_weapon && ped == self::ped && hash == "WEAPON_UNARMED"_J)
return; return;
WEAPON::SET_CURRENT_PED_WEAPON(ped, hash, src->get_arg<int>(2)); WEAPON::SET_CURRENT_PED_WEAPON(ped, hash, src->get_arg<int>(2));
@ -185,4 +185,4 @@ namespace big
{ {
} }
} }
} }

View File

@ -4,7 +4,7 @@ namespace big
{ {
namespace am_launcher namespace am_launcher
{ {
static const std::unordered_set<Hash> bad_script_hashes = {RAGE_JOAAT("ggsm_arcade"), RAGE_JOAAT("camhedz_arcade"), RAGE_JOAAT("wizard_arcade"), RAGE_JOAAT("puzzle"), RAGE_JOAAT("fm_intro"), RAGE_JOAAT("pilot_school_mp"), RAGE_JOAAT("golf_mp"), RAGE_JOAAT("tennis_network_mp"), RAGE_JOAAT("fm_race_controler"), RAGE_JOAAT("fm_horde_controler"), RAGE_JOAAT("fm_mission_controller"), RAGE_JOAAT("fm_mission_controller_2020"), RAGE_JOAAT("fm_impromptu_dm_controler"), RAGE_JOAAT("fm_deathmatch_controler"), RAGE_JOAAT("fm_bj_race_controler"), RAGE_JOAAT("fm_survival_controller"), RAGE_JOAAT("sctv"), RAGE_JOAAT("am_pi_menu"), RAGE_JOAAT("scroll_arcade_cabinet"), RAGE_JOAAT("grid_arcade_cabinet"), RAGE_JOAAT("degenatron_games"), RAGE_JOAAT("gunslinger_arcade"), RAGE_JOAAT("road_arcade"), RAGE_JOAAT("AM_MP_DRONE")}; static const std::unordered_set<Hash> bad_script_hashes = {"ggsm_arcade"_J, "camhedz_arcade"_J, "wizard_arcade"_J, "puzzle"_J, "fm_intro"_J, "pilot_school_mp"_J, "golf_mp"_J, "tennis_network_mp"_J, "fm_race_controler"_J, "fm_horde_controler"_J, "fm_mission_controller"_J, "fm_mission_controller_2020"_J, "fm_impromptu_dm_controler"_J, "fm_deathmatch_controler"_J, "fm_bj_race_controler"_J, "fm_survival_controller"_J, "sctv"_J, "am_pi_menu"_J, "scroll_arcade_cabinet"_J, "grid_arcade_cabinet"_J, "degenatron_games"_J, "gunslinger_arcade"_J, "road_arcade"_J, "AM_MP_DRONE"_J};
static void START_NEW_SCRIPT_WITH_ARGS(rage::scrNativeCallContext* src) static void START_NEW_SCRIPT_WITH_ARGS(rage::scrNativeCallContext* src)
{ {
@ -23,4 +23,4 @@ namespace big
src->set_return_value<int>(SYSTEM::START_NEW_SCRIPT_WITH_ARGS(name, args, argc, stackSize)); src->set_return_value<int>(SYSTEM::START_NEW_SCRIPT_WITH_ARGS(name, args, argc, stackSize));
} }
} }
} }

View File

@ -14,38 +14,38 @@ namespace big
switch (hash) switch (hash)
{ {
case RAGE_JOAAT("MP0_RACES_WON"): case "MP0_RACES_WON"_J:
case RAGE_JOAAT("MP0_NUMBER_TURBO_STARTS_IN_RACE"): case "MP0_NUMBER_TURBO_STARTS_IN_RACE"_J:
case RAGE_JOAAT("MP0_USJS_COMPLETED"): case "MP0_USJS_COMPLETED"_J:
case RAGE_JOAAT("MP0_AWD_FM_RACES_FASTEST_LAP"): case "MP0_AWD_FM_RACES_FASTEST_LAP"_J:
case RAGE_JOAAT("MP1_RACES_WON"): case "MP1_RACES_WON"_J:
case RAGE_JOAAT("MP1_NUMBER_TURBO_STARTS_IN_RACE"): case "MP1_NUMBER_TURBO_STARTS_IN_RACE"_J:
case RAGE_JOAAT("MP1_USJS_COMPLETED"): case "MP1_USJS_COMPLETED"_J:
case RAGE_JOAAT("MP1_AWD_FM_RACES_FASTEST_LAP"): *out = 50; break; case "MP1_AWD_FM_RACES_FASTEST_LAP"_J: *out = 50; break;
case RAGE_JOAAT("MP0_NUMBER_SLIPSTREAMS_IN_RACE"): case "MP0_NUMBER_SLIPSTREAMS_IN_RACE"_J:
case RAGE_JOAAT("MP1_NUMBER_SLIPSTREAMS_IN_RACE"): *out = 100; break; case "MP1_NUMBER_SLIPSTREAMS_IN_RACE"_J: *out = 100; break;
case RAGE_JOAAT("MP0_CHAR_FM_CARMOD_1_UNLCK"): case "MP0_CHAR_FM_CARMOD_1_UNLCK"_J:
case RAGE_JOAAT("MP0_CHAR_FM_CARMOD_2_UNLCK"): case "MP0_CHAR_FM_CARMOD_2_UNLCK"_J:
case RAGE_JOAAT("MP0_CHAR_FM_CARMOD_3_UNLCK"): case "MP0_CHAR_FM_CARMOD_3_UNLCK"_J:
case RAGE_JOAAT("MP0_CHAR_FM_CARMOD_4_UNLCK"): case "MP0_CHAR_FM_CARMOD_4_UNLCK"_J:
case RAGE_JOAAT("MP0_CHAR_FM_CARMOD_5_UNLCK"): case "MP0_CHAR_FM_CARMOD_5_UNLCK"_J:
case RAGE_JOAAT("MP0_CHAR_FM_CARMOD_6_UNLCK"): case "MP0_CHAR_FM_CARMOD_6_UNLCK"_J:
case RAGE_JOAAT("MP0_CHAR_FM_CARMOD_7_UNLCK"): case "MP0_CHAR_FM_CARMOD_7_UNLCK"_J:
case RAGE_JOAAT("MP1_CHAR_FM_CARMOD_1_UNLCK"): case "MP1_CHAR_FM_CARMOD_1_UNLCK"_J:
case RAGE_JOAAT("MP1_CHAR_FM_CARMOD_2_UNLCK"): case "MP1_CHAR_FM_CARMOD_2_UNLCK"_J:
case RAGE_JOAAT("MP1_CHAR_FM_CARMOD_3_UNLCK"): case "MP1_CHAR_FM_CARMOD_3_UNLCK"_J:
case RAGE_JOAAT("MP1_CHAR_FM_CARMOD_4_UNLCK"): case "MP1_CHAR_FM_CARMOD_4_UNLCK"_J:
case RAGE_JOAAT("MP1_CHAR_FM_CARMOD_5_UNLCK"): case "MP1_CHAR_FM_CARMOD_5_UNLCK"_J:
case RAGE_JOAAT("MP1_CHAR_FM_CARMOD_6_UNLCK"): case "MP1_CHAR_FM_CARMOD_6_UNLCK"_J:
case RAGE_JOAAT("MP1_CHAR_FM_CARMOD_7_UNLCK"): *out = -1; break; case "MP1_CHAR_FM_CARMOD_7_UNLCK"_J: *out = -1; break;
case RAGE_JOAAT("MP0_AWD_FMRALLYWONDRIVE"): case "MP0_AWD_FMRALLYWONDRIVE"_J:
case RAGE_JOAAT("MP0_AWD_FMRALLYWONNAV"): case "MP0_AWD_FMRALLYWONNAV"_J:
case RAGE_JOAAT("MP0_AWD_FMWINSEARACE"): case "MP0_AWD_FMWINSEARACE"_J:
case RAGE_JOAAT("MP0_AWD_FMWINAIRRACE"): case "MP0_AWD_FMWINAIRRACE"_J:
case RAGE_JOAAT("MP1_AWD_FMRALLYWONDRIVE"): case "MP1_AWD_FMRALLYWONDRIVE"_J:
case RAGE_JOAAT("MP1_AWD_FMRALLYWONNAV"): case "MP1_AWD_FMRALLYWONNAV"_J:
case RAGE_JOAAT("MP1_AWD_FMWINSEARACE"): case "MP1_AWD_FMWINSEARACE"_J:
case RAGE_JOAAT("MP1_AWD_FMWINAIRRACE"): *out = 1; break; case "MP1_AWD_FMWINAIRRACE"_J: *out = 1; break;
default: src->set_return_value<BOOL>(STATS::STAT_GET_INT(hash, out, src->get_arg<int>(2))); break; default: src->set_return_value<BOOL>(STATS::STAT_GET_INT(hash, out, src->get_arg<int>(2))); break;
} }
} }
@ -53,7 +53,7 @@ namespace big
inline void STAT_SET_INT(rage::scrNativeCallContext* src) inline void STAT_SET_INT(rage::scrNativeCallContext* src)
{ {
const auto hash = src->get_arg<Hash>(0); 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")) if (hash == "SP0_TOTAL_CASH"_J || hash == "SP1_TOTAL_CASH"_J || hash == "SP2_TOTAL_CASH"_J)
return; return;
src->set_return_value<BOOL>(STATS::STAT_SET_INT(hash, src->get_arg<int>(1), src->get_arg<int>(2))); src->set_return_value<BOOL>(STATS::STAT_SET_INT(hash, src->get_arg<int>(1), src->get_arg<int>(2)));
@ -91,4 +91,4 @@ namespace big
} }
} }
} }
} }

View File

@ -13,7 +13,7 @@ namespace big
{ {
const auto hash = src->get_arg<rage::joaat_t>(0); const auto hash = src->get_arg<rage::joaat_t>(0);
if (hash == RAGE_JOAAT("freemode") || hash == RAGE_JOAAT("main")) if (hash == "freemode"_J || hash == "main"_J)
{ {
src->set_return_value(0); src->set_return_value(0);
return; return;
@ -29,8 +29,8 @@ namespace big
if (entity == self::ped) if (entity == self::ped)
{ {
if (model != RAGE_JOAAT("mp_m_freemode_01") && model != RAGE_JOAAT("mp_f_freemode_01")) if (model != "mp_m_freemode_01"_J && model != "mp_f_freemode_01"_J)
model = RAGE_JOAAT("mp_m_freemode_01"); model = "mp_m_freemode_01"_J;
} }
src->set_return_value<Hash>(std::move(model)); src->set_return_value<Hash>(std::move(model));
@ -44,4 +44,4 @@ namespace big
src->set_return_value<float>(STREAMING::GET_USED_CREATOR_BUDGET()); src->set_return_value<float>(STREAMING::GET_USED_CREATOR_BUDGET());
} }
} }
} }

View File

@ -10,7 +10,7 @@ namespace big
{ {
const auto hash = src->get_arg<rage::joaat_t>(0); const auto hash = src->get_arg<rage::joaat_t>(0);
if (hash == RAGE_JOAAT("director_mode") || hash == RAGE_JOAAT("main")) if (hash == "director_mode"_J || hash == "main"_J)
{ {
src->set_return_value(0); src->set_return_value(0);
return; return;
@ -21,7 +21,7 @@ namespace big
void STAT_GET_INT(rage::scrNativeCallContext* src) void STAT_GET_INT(rage::scrNativeCallContext* src)
{ {
if (g_vehicle_control_service.m_driver_performing_task && (src->get_arg<Hash>(0) == RAGE_JOAAT("MP0_PERSONAL_VEHICLE_ACCESS") || src->get_arg<Hash>(0) == RAGE_JOAAT("MP1_PERSONAL_VEHICLE_ACCESS"))) if (g_vehicle_control_service.m_driver_performing_task && (src->get_arg<Hash>(0) == "MP0_PERSONAL_VEHICLE_ACCESS"_J || src->get_arg<Hash>(0) == "MP1_PERSONAL_VEHICLE_ACCESS"_J))
{ {
src->set_return_value<int>(0); src->set_return_value<int>(0);
return; return;
@ -81,7 +81,7 @@ namespace big
}); });
} }
if (SCRIPT::GET_HASH_OF_THIS_SCRIPT_NAME() == RAGE_JOAAT("freemode") && g.session.fast_join) if (SCRIPT::GET_HASH_OF_THIS_SCRIPT_NAME() == "freemode"_J && g.session.fast_join)
{ {
scr_functions::set_freemode_session_active({}); scr_functions::set_freemode_session_active({});
src->set_return_value<BOOL>(TRUE); src->set_return_value<BOOL>(TRUE);
@ -93,4 +93,4 @@ namespace big
} }
} }
} }
} }

View File

@ -83,7 +83,7 @@ namespace big
} }
} }
constexpr auto ALL_SCRIPT_HASH = RAGE_JOAAT("ALL_SCRIPTS"); constexpr auto ALL_SCRIPT_HASH = "ALL_SCRIPTS"_J;
native_hooks::native_hooks() native_hooks::native_hooks()
{ {
@ -101,69 +101,69 @@ namespace big
add_native_detour(NativeIndex::UNREGISTER_SCRIPT_VARIABLE, all_scripts::DO_NOTHING); add_native_detour(NativeIndex::UNREGISTER_SCRIPT_VARIABLE, all_scripts::DO_NOTHING);
add_native_detour(NativeIndex::FORCE_CHECK_SCRIPT_VARIABLES, all_scripts::DO_NOTHING); add_native_detour(NativeIndex::FORCE_CHECK_SCRIPT_VARIABLES, all_scripts::DO_NOTHING);
add_native_detour(RAGE_JOAAT("shop_controller"), NativeIndex::IS_PED_SHOOTING, all_scripts::RETURN_FALSE); // prevent exploit reports add_native_detour("shop_controller"_J, NativeIndex::IS_PED_SHOOTING, all_scripts::RETURN_FALSE); // prevent exploit reports
add_native_detour(RAGE_JOAAT("shop_controller"), NativeIndex::SET_WARNING_MESSAGE_WITH_HEADER, shop_controller::SET_WARNING_MESSAGE_WITH_HEADER); add_native_detour("shop_controller"_J, NativeIndex::SET_WARNING_MESSAGE_WITH_HEADER, shop_controller::SET_WARNING_MESSAGE_WITH_HEADER);
add_native_detour(RAGE_JOAAT("carmod_shop"), NativeIndex::SET_ENTITY_COORDS, carmod_shop::SET_ENTITY_COORDS); add_native_detour("carmod_shop"_J, NativeIndex::SET_ENTITY_COORDS, carmod_shop::SET_ENTITY_COORDS);
add_native_detour(RAGE_JOAAT("carmod_shop"), NativeIndex::SET_ENTITY_HEADING, carmod_shop::SET_ENTITY_HEADING); add_native_detour("carmod_shop"_J, NativeIndex::SET_ENTITY_HEADING, carmod_shop::SET_ENTITY_HEADING);
add_native_detour(RAGE_JOAAT("carmod_shop"), NativeIndex::SET_VEHICLE_LIGHTS, carmod_shop::SET_VEHICLE_LIGHTS); add_native_detour("carmod_shop"_J, NativeIndex::SET_VEHICLE_LIGHTS, carmod_shop::SET_VEHICLE_LIGHTS);
add_native_detour(RAGE_JOAAT("carmod_shop"), NativeIndex::STAT_GET_INT, carmod_shop::STAT_GET_INT); add_native_detour("carmod_shop"_J, NativeIndex::STAT_GET_INT, carmod_shop::STAT_GET_INT);
add_native_detour(RAGE_JOAAT("carmod_shop"), NativeIndex::STAT_SET_INT, carmod_shop::STAT_SET_INT); add_native_detour("carmod_shop"_J, NativeIndex::STAT_SET_INT, carmod_shop::STAT_SET_INT);
add_native_detour(RAGE_JOAAT("carmod_shop"), NativeIndex::DISABLE_ALL_CONTROL_ACTIONS, carmod_shop::DISABLE_ALL_CONTROL_ACTIONS); add_native_detour("carmod_shop"_J, NativeIndex::DISABLE_ALL_CONTROL_ACTIONS, carmod_shop::DISABLE_ALL_CONTROL_ACTIONS);
add_native_detour(RAGE_JOAAT("freemode"), NativeIndex::GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH, freemode::GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH); add_native_detour("freemode"_J, NativeIndex::GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH, freemode::GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH);
add_native_detour(RAGE_JOAAT("freemode"), NativeIndex::STAT_GET_INT, freemode::STAT_GET_INT); add_native_detour("freemode"_J, NativeIndex::STAT_GET_INT, freemode::STAT_GET_INT);
add_native_detour(RAGE_JOAAT("freemode"), NativeIndex::IS_PLAYER_PLAYING, freemode::IS_PLAYER_PLAYING); add_native_detour("freemode"_J, NativeIndex::IS_PLAYER_PLAYING, freemode::IS_PLAYER_PLAYING);
add_native_detour(RAGE_JOAAT("freemode"), NativeIndex::SET_ENTITY_VISIBLE, freemode::SET_ENTITY_VISIBLE); add_native_detour("freemode"_J, NativeIndex::SET_ENTITY_VISIBLE, freemode::SET_ENTITY_VISIBLE);
add_native_detour(RAGE_JOAAT("freemode"), NativeIndex::SET_BIGMAP_ACTIVE, freemode::SET_BIGMAP_ACTIVE); add_native_detour("freemode"_J, NativeIndex::SET_BIGMAP_ACTIVE, freemode::SET_BIGMAP_ACTIVE);
add_native_detour(RAGE_JOAAT("freemode"), NativeIndex::SET_BLIP_DISPLAY, freemode::SET_BLIP_DISPLAY); add_native_detour("freemode"_J, NativeIndex::SET_BLIP_DISPLAY, freemode::SET_BLIP_DISPLAY);
add_native_detour(RAGE_JOAAT("freemode"), NativeIndex::NETWORK_HAS_RECEIVED_HOST_BROADCAST_DATA, freemode::NETWORK_HAS_RECEIVED_HOST_BROADCAST_DATA); add_native_detour("freemode"_J, NativeIndex::NETWORK_HAS_RECEIVED_HOST_BROADCAST_DATA, freemode::NETWORK_HAS_RECEIVED_HOST_BROADCAST_DATA);
add_native_detour(RAGE_JOAAT("fmmc_launcher"), NativeIndex::NETWORK_HAS_RECEIVED_HOST_BROADCAST_DATA, freemode::NETWORK_HAS_RECEIVED_HOST_BROADCAST_DATA); add_native_detour("fmmc_launcher"_J, NativeIndex::NETWORK_HAS_RECEIVED_HOST_BROADCAST_DATA, freemode::NETWORK_HAS_RECEIVED_HOST_BROADCAST_DATA);
add_native_detour(RAGE_JOAAT("maintransition"), NativeIndex::NETWORK_SESSION_HOST, network::NETWORK_SESSION_HOST); add_native_detour("maintransition"_J, NativeIndex::NETWORK_SESSION_HOST, network::NETWORK_SESSION_HOST);
add_native_detour(RAGE_JOAAT("am_launcher"), NativeIndex::START_NEW_SCRIPT_WITH_ARGS, am_launcher::START_NEW_SCRIPT_WITH_ARGS); add_native_detour("am_launcher"_J, NativeIndex::START_NEW_SCRIPT_WITH_ARGS, am_launcher::START_NEW_SCRIPT_WITH_ARGS);
add_native_detour(RAGE_JOAAT("am_launcher"), NativeIndex::NETWORK_HAS_RECEIVED_HOST_BROADCAST_DATA, freemode::NETWORK_HAS_RECEIVED_HOST_BROADCAST_DATA); add_native_detour("am_launcher"_J, NativeIndex::NETWORK_HAS_RECEIVED_HOST_BROADCAST_DATA, freemode::NETWORK_HAS_RECEIVED_HOST_BROADCAST_DATA);
add_native_detour(RAGE_JOAAT("fm_race_creator"), NativeIndex::GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH, creator::GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH); add_native_detour("fm_race_creator"_J, NativeIndex::GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH, creator::GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH);
add_native_detour(RAGE_JOAAT("fm_capture_creator"), NativeIndex::GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH, creator::GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH); add_native_detour("fm_capture_creator"_J, NativeIndex::GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH, creator::GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH);
add_native_detour(RAGE_JOAAT("fm_deathmatch_creator"), NativeIndex::GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH, creator::GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH); add_native_detour("fm_deathmatch_creator"_J, NativeIndex::GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH, creator::GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH);
add_native_detour(RAGE_JOAAT("fm_lts_creator"), NativeIndex::GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH, creator::GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH); add_native_detour("fm_lts_creator"_J, NativeIndex::GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH, creator::GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH);
add_native_detour(RAGE_JOAAT("fm_race_creator"), NativeIndex::GET_ENTITY_MODEL, creator::GET_ENTITY_MODEL); add_native_detour("fm_race_creator"_J, NativeIndex::GET_ENTITY_MODEL, creator::GET_ENTITY_MODEL);
add_native_detour(RAGE_JOAAT("fm_capture_creator"), NativeIndex::GET_ENTITY_MODEL, creator::GET_ENTITY_MODEL); add_native_detour("fm_capture_creator"_J, NativeIndex::GET_ENTITY_MODEL, creator::GET_ENTITY_MODEL);
add_native_detour(RAGE_JOAAT("fm_deathmatch_creator"), NativeIndex::GET_ENTITY_MODEL, creator::GET_ENTITY_MODEL); add_native_detour("fm_deathmatch_creator"_J, NativeIndex::GET_ENTITY_MODEL, creator::GET_ENTITY_MODEL);
add_native_detour(RAGE_JOAAT("fm_lts_creator"), NativeIndex::GET_ENTITY_MODEL, creator::GET_ENTITY_MODEL); add_native_detour("fm_lts_creator"_J, NativeIndex::GET_ENTITY_MODEL, creator::GET_ENTITY_MODEL);
// Infinite Model Memory // Infinite Model Memory
add_native_detour(RAGE_JOAAT("fm_race_creator"), NativeIndex::GET_USED_CREATOR_BUDGET, creator::GET_USED_CREATOR_BUDGET); add_native_detour("fm_race_creator"_J, NativeIndex::GET_USED_CREATOR_BUDGET, creator::GET_USED_CREATOR_BUDGET);
add_native_detour(RAGE_JOAAT("fm_capture_creator"), NativeIndex::GET_USED_CREATOR_BUDGET, creator::GET_USED_CREATOR_BUDGET); add_native_detour("fm_capture_creator"_J, NativeIndex::GET_USED_CREATOR_BUDGET, creator::GET_USED_CREATOR_BUDGET);
add_native_detour(RAGE_JOAAT("fm_deathmatch_creator"), NativeIndex::GET_USED_CREATOR_BUDGET, creator::GET_USED_CREATOR_BUDGET); add_native_detour("fm_deathmatch_creator"_J, NativeIndex::GET_USED_CREATOR_BUDGET, creator::GET_USED_CREATOR_BUDGET);
add_native_detour(RAGE_JOAAT("fm_lts_creator"), NativeIndex::GET_USED_CREATOR_BUDGET, creator::GET_USED_CREATOR_BUDGET); add_native_detour("fm_lts_creator"_J, NativeIndex::GET_USED_CREATOR_BUDGET, creator::GET_USED_CREATOR_BUDGET);
add_native_detour(RAGE_JOAAT("fm_survival_creator"), NativeIndex::GET_USED_CREATOR_BUDGET, creator::GET_USED_CREATOR_BUDGET); add_native_detour("fm_survival_creator"_J, NativeIndex::GET_USED_CREATOR_BUDGET, creator::GET_USED_CREATOR_BUDGET);
add_native_detour(RAGE_JOAAT("tuneables_processing"), NativeIndex::WAIT, tunables::WAIT); add_native_detour("tuneables_processing"_J, NativeIndex::WAIT, tunables::WAIT);
add_native_detour(RAGE_JOAAT("tuneables_processing"), NativeIndex::NETWORK_ACCESS_TUNABLE_INT_HASH, tunables::NETWORK_ACCESS_TUNABLE_INT_HASH); add_native_detour("tuneables_processing"_J, NativeIndex::NETWORK_ACCESS_TUNABLE_INT_HASH, tunables::NETWORK_ACCESS_TUNABLE_INT_HASH);
add_native_detour(RAGE_JOAAT("tuneables_processing"), NativeIndex::NETWORK_ACCESS_TUNABLE_BOOL_MODIFICATION_DETECTION_REGISTRATION_HASH, tunables::NETWORK_ACCESS_TUNABLE_BOOL_MODIFICATION_DETECTION_REGISTRATION_HASH); add_native_detour("tuneables_processing"_J, NativeIndex::NETWORK_ACCESS_TUNABLE_BOOL_MODIFICATION_DETECTION_REGISTRATION_HASH, tunables::NETWORK_ACCESS_TUNABLE_BOOL_MODIFICATION_DETECTION_REGISTRATION_HASH);
add_native_detour(RAGE_JOAAT("tuneables_processing"), NativeIndex::NETWORK_ACCESS_TUNABLE_FLOAT_HASH, tunables::NETWORK_ACCESS_TUNABLE_FLOAT_HASH); add_native_detour("tuneables_processing"_J, NativeIndex::NETWORK_ACCESS_TUNABLE_FLOAT_HASH, tunables::NETWORK_ACCESS_TUNABLE_FLOAT_HASH);
// TODO: is this safe? // TODO: is this safe?
add_native_detour(RAGE_JOAAT("arena_carmod"), NativeIndex::FORCE_PED_AI_AND_ANIMATION_UPDATE, all_scripts::DO_NOTHING); //Fix jittering weapons. add_native_detour("arena_carmod"_J, NativeIndex::FORCE_PED_AI_AND_ANIMATION_UPDATE, all_scripts::DO_NOTHING); //Fix jittering weapons.
add_native_detour(RAGE_JOAAT("armory_aircraft_carmod"), NativeIndex::FORCE_PED_AI_AND_ANIMATION_UPDATE, all_scripts::DO_NOTHING); //Fix jittering weapons. add_native_detour("armory_aircraft_carmod"_J, NativeIndex::FORCE_PED_AI_AND_ANIMATION_UPDATE, all_scripts::DO_NOTHING); //Fix jittering weapons.
add_native_detour(RAGE_JOAAT("base_carmod"), NativeIndex::FORCE_PED_AI_AND_ANIMATION_UPDATE, all_scripts::DO_NOTHING); //Fix jittering weapons. add_native_detour("base_carmod"_J, NativeIndex::FORCE_PED_AI_AND_ANIMATION_UPDATE, all_scripts::DO_NOTHING); //Fix jittering weapons.
add_native_detour(RAGE_JOAAT("business_hub_carmod"), NativeIndex::FORCE_PED_AI_AND_ANIMATION_UPDATE, all_scripts::DO_NOTHING); //Fix jittering weapons. add_native_detour("business_hub_carmod"_J, NativeIndex::FORCE_PED_AI_AND_ANIMATION_UPDATE, all_scripts::DO_NOTHING); //Fix jittering weapons.
add_native_detour(RAGE_JOAAT("car_meet_carmod"), NativeIndex::FORCE_PED_AI_AND_ANIMATION_UPDATE, all_scripts::DO_NOTHING); //Fix jittering weapons. add_native_detour("car_meet_carmod"_J, NativeIndex::FORCE_PED_AI_AND_ANIMATION_UPDATE, all_scripts::DO_NOTHING); //Fix jittering weapons.
add_native_detour(RAGE_JOAAT("carmod_shop"), NativeIndex::FORCE_PED_AI_AND_ANIMATION_UPDATE, all_scripts::DO_NOTHING); //Fix jittering weapons. add_native_detour("carmod_shop"_J, NativeIndex::FORCE_PED_AI_AND_ANIMATION_UPDATE, all_scripts::DO_NOTHING); //Fix jittering weapons.
add_native_detour(RAGE_JOAAT("fixer_hq_carmod"), NativeIndex::FORCE_PED_AI_AND_ANIMATION_UPDATE, all_scripts::DO_NOTHING); //Fix jittering weapons. add_native_detour("fixer_hq_carmod"_J, NativeIndex::FORCE_PED_AI_AND_ANIMATION_UPDATE, all_scripts::DO_NOTHING); //Fix jittering weapons.
add_native_detour(RAGE_JOAAT("hacker_truck_carmod"), NativeIndex::FORCE_PED_AI_AND_ANIMATION_UPDATE, all_scripts::DO_NOTHING); //Fix jittering weapons. add_native_detour("hacker_truck_carmod"_J, NativeIndex::FORCE_PED_AI_AND_ANIMATION_UPDATE, all_scripts::DO_NOTHING); //Fix jittering weapons.
add_native_detour(RAGE_JOAAT("hangar_carmod"), NativeIndex::FORCE_PED_AI_AND_ANIMATION_UPDATE, all_scripts::DO_NOTHING); //Fix jittering weapons. add_native_detour("hangar_carmod"_J, NativeIndex::FORCE_PED_AI_AND_ANIMATION_UPDATE, all_scripts::DO_NOTHING); //Fix jittering weapons.
add_native_detour(RAGE_JOAAT("juggalo_hideout_carmod"), NativeIndex::FORCE_PED_AI_AND_ANIMATION_UPDATE, all_scripts::DO_NOTHING); //Fix jittering weapons. add_native_detour("juggalo_hideout_carmod"_J, NativeIndex::FORCE_PED_AI_AND_ANIMATION_UPDATE, all_scripts::DO_NOTHING); //Fix jittering weapons.
add_native_detour(RAGE_JOAAT("personal_carmod_shop"), NativeIndex::FORCE_PED_AI_AND_ANIMATION_UPDATE, all_scripts::DO_NOTHING); //Fix jittering weapons. add_native_detour("personal_carmod_shop"_J, NativeIndex::FORCE_PED_AI_AND_ANIMATION_UPDATE, all_scripts::DO_NOTHING); //Fix jittering weapons.
add_native_detour(RAGE_JOAAT("tuner_property_carmod"), NativeIndex::FORCE_PED_AI_AND_ANIMATION_UPDATE, all_scripts::DO_NOTHING); //Fix jittering weapons. add_native_detour("tuner_property_carmod"_J, NativeIndex::FORCE_PED_AI_AND_ANIMATION_UPDATE, all_scripts::DO_NOTHING); //Fix jittering weapons.
add_native_detour(RAGE_JOAAT("clothes_shop_mp"), NativeIndex::FORCE_PED_AI_AND_ANIMATION_UPDATE, all_scripts::DO_NOTHING); //Fix jittering weapons. add_native_detour("clothes_shop_mp"_J, NativeIndex::FORCE_PED_AI_AND_ANIMATION_UPDATE, all_scripts::DO_NOTHING); //Fix jittering weapons.
add_native_detour(RAGE_JOAAT("gunclub_shop"), NativeIndex::FORCE_PED_AI_AND_ANIMATION_UPDATE, all_scripts::DO_NOTHING); //Fix jittering weapons. add_native_detour("gunclub_shop"_J, NativeIndex::FORCE_PED_AI_AND_ANIMATION_UPDATE, all_scripts::DO_NOTHING); //Fix jittering weapons.
add_native_detour(RAGE_JOAAT("hairdo_shop_mp"), NativeIndex::FORCE_PED_AI_AND_ANIMATION_UPDATE, all_scripts::DO_NOTHING); //Fix jittering weapons. add_native_detour("hairdo_shop_mp"_J, NativeIndex::FORCE_PED_AI_AND_ANIMATION_UPDATE, all_scripts::DO_NOTHING); //Fix jittering weapons.
add_native_detour(RAGE_JOAAT("tattoo_shop"), NativeIndex::FORCE_PED_AI_AND_ANIMATION_UPDATE, all_scripts::DO_NOTHING); //Fix jittering weapons. add_native_detour("tattoo_shop"_J, NativeIndex::FORCE_PED_AI_AND_ANIMATION_UPDATE, all_scripts::DO_NOTHING); //Fix jittering weapons.
for (auto& entry : *g_pointers->m_gta.m_script_program_table) for (auto& entry : *g_pointers->m_gta.m_script_program_table)
if (entry.m_program) if (entry.m_program)

View File

@ -27,17 +27,17 @@ namespace big
namespace scr_functions namespace scr_functions
{ {
static inline script_function join_ceo("JC", RAGE_JOAAT("freemode"), "2D 04 1D 00 00 5D", 0); static inline script_function join_ceo("JC", "freemode"_J, "2D 04 1D 00 00 5D", 0);
static inline script_function set_freemode_session_active("SFSA", RAGE_JOAAT("freemode"), "2D 00 02 00 00 75 5D ? ? ? 50", 0); static inline script_function set_freemode_session_active("SFSA", "freemode"_J, "2D 00 02 00 00 75 5D ? ? ? 50", 0);
static inline script_function dance_loop("DL", RAGE_JOAAT("am_mp_nightclub"), "2D 00 14 00 00 4F ? ? 47 ? ? 5D ? ? ? 56", 0); static inline script_function dance_loop("DL", "am_mp_nightclub"_J, "2D 00 14 00 00 4F ? ? 47 ? ? 5D ? ? ? 56", 0);
static inline script_function init_nightclub_script("INS", RAGE_JOAAT("am_mp_nightclub"), "2D 00 11 00 00 4F", 0); static inline script_function init_nightclub_script("INS", "am_mp_nightclub"_J, "2D 00 11 00 00 4F", 0);
static inline script_function save_to_datafile("STD", RAGE_JOAAT("fm_race_creator"), "2D 01 03 00 00 71 2C", 0); static inline script_function save_to_datafile("STD", "fm_race_creator"_J, "2D 01 03 00 00 71 2C", 0);
static inline script_function load_from_datafile("LFD", RAGE_JOAAT("fm_race_creator"), "2D 04 0D 00 00 71 2C", 0); static inline script_function load_from_datafile("LFD", "fm_race_creator"_J, "2D 04 0D 00 00 71 2C", 0);
static inline script_function modshop_loop("ML", RAGE_JOAAT("carmod_shop"), "2D 00 07 00 00 71 51", 0); static inline script_function modshop_loop("ML", "carmod_shop"_J, "2D 00 07 00 00 71 51", 0);
static inline script_function setup_modshop("SM", RAGE_JOAAT("carmod_shop"), "2D 04 12 00 00 38 00 51", 0); static inline script_function setup_modshop("SM", "carmod_shop"_J, "2D 04 12 00 00 38 00 51", 0);
static inline script_function reset_session_data("RSD", RAGE_JOAAT("pausemenu_multiplayer"), "2D 02 7D 00 00", 0); static inline script_function reset_session_data("RSD", "pausemenu_multiplayer"_J, "2D 02 7D 00 00", 0);
} }
} }

View File

@ -24,7 +24,7 @@ namespace big
void script_mgr::tick() void script_mgr::tick()
{ {
gta_util::execute_as_script(RAGE_JOAAT("main_persistent"), std::mem_fn(&script_mgr::tick_internal), this); gta_util::execute_as_script("main_persistent"_J, std::mem_fn(&script_mgr::tick_internal), this);
} }
void script_mgr::ensure_main_fiber() void script_mgr::ensure_main_fiber()

View File

@ -132,7 +132,7 @@ namespace big
[this] { [this] {
if (ped::get_player_from_ped(VEHICLE::GET_PED_IN_VEHICLE_SEAT(m_handle, -1, 0)) != NULL) if (ped::get_player_from_ped(VEHICLE::GET_PED_IN_VEHICLE_SEAT(m_handle, -1, 0)) != NULL)
{ {
static player_command* command = dynamic_cast<player_command*>(command::get(rage::consteval_joaat("vehkick"))); static player_command* command = dynamic_cast<player_command*>(command::get("vehkick"_J));
command->call(ped::get_player_from_ped(VEHICLE::GET_PED_IN_VEHICLE_SEAT(m_handle, -1, 0)), {}); command->call(ped::get_player_from_ped(VEHICLE::GET_PED_IN_VEHICLE_SEAT(m_handle, -1, 0)), {});
} }
@ -182,8 +182,8 @@ namespace big
PED::SET_PED_CONFIG_FLAG(m_handle, 394, true); PED::SET_PED_CONFIG_FLAG(m_handle, 394, true);
PED::SET_PED_CONFIG_FLAG(m_handle, 400, true); PED::SET_PED_CONFIG_FLAG(m_handle, 400, true);
PED::SET_PED_CONFIG_FLAG(m_handle, 134, true); PED::SET_PED_CONFIG_FLAG(m_handle, 134, true);
WEAPON::GIVE_WEAPON_TO_PED(m_handle, RAGE_JOAAT("weapon_microsmg"), 9999, false, false); WEAPON::GIVE_WEAPON_TO_PED(m_handle, "weapon_microsmg"_J, 9999, false, false);
WEAPON::GIVE_WEAPON_TO_PED(m_handle, RAGE_JOAAT("weapon_carbinerifle"), 9999, false, true); WEAPON::GIVE_WEAPON_TO_PED(m_handle, "weapon_carbinerifle"_J, 9999, false, true);
TASK::TASK_COMBAT_HATED_TARGETS_AROUND_PED(self::ped, 100, 67108864); TASK::TASK_COMBAT_HATED_TARGETS_AROUND_PED(self::ped, 100, 67108864);
}} }}
}}; }};
@ -204,17 +204,17 @@ namespace big
}}, }},
{"KICK", {"KICK",
[this] { [this] {
static player_command* command = dynamic_cast<player_command*>(command::get(rage::consteval_joaat("multikick"))); static player_command* command = dynamic_cast<player_command*>(command::get("multikick"_J));
command->call(ped::get_player_from_ped(m_handle), {}); command->call(ped::get_player_from_ped(m_handle), {});
script::get_current()->yield(500ms); script::get_current()->yield(500ms);
}}, }},
{"DISARM", {"DISARM",
[this] { [this] {
static player_command* command = dynamic_cast<player_command*>(command::get(rage::consteval_joaat("remweaps"))); static player_command* command = dynamic_cast<player_command*>(command::get("remweaps"_J));
command->call(ped::get_player_from_ped(m_handle), {}); command->call(ped::get_player_from_ped(m_handle), {});
}}, }},
{"RAGDOLL", [this] { {"RAGDOLL", [this] {
static player_command* command = dynamic_cast<player_command*>(command::get(rage::consteval_joaat("ragdoll"))); static player_command* command = dynamic_cast<player_command*>(command::get("ragdoll"_J));
command->call(ped::get_player_from_ped(m_handle), {}); command->call(ped::get_player_from_ped(m_handle), {});
}} }}
}}; }};

View File

@ -30,9 +30,9 @@ namespace big
{ {
std::ofstream file(check_jobs_folder().get_file(filename).get_path()); std::ofstream file(check_jobs_folder().get_file(filename).get_path());
while (!SCRIPT::HAS_SCRIPT_WITH_NAME_HASH_LOADED(RAGE_JOAAT("fm_race_creator"))) while (!SCRIPT::HAS_SCRIPT_WITH_NAME_HASH_LOADED("fm_race_creator"_J))
{ {
SCRIPT::REQUEST_SCRIPT_WITH_NAME_HASH(RAGE_JOAAT("fm_race_creator")); SCRIPT::REQUEST_SCRIPT_WITH_NAME_HASH("fm_race_creator"_J);
script::get_current()->yield(); script::get_current()->yield();
} }
@ -40,7 +40,7 @@ namespace big
scr_functions::save_to_datafile.static_call({(uint64_t)storage}); scr_functions::save_to_datafile.static_call({(uint64_t)storage});
delete[] storage; delete[] storage;
SCRIPT::SET_SCRIPT_WITH_NAME_HASH_AS_NO_LONGER_NEEDED(RAGE_JOAAT("fm_race_creator")); SCRIPT::SET_SCRIPT_WITH_NAME_HASH_AS_NO_LONGER_NEEDED("fm_race_creator"_J);
auto buffer = g_pointers->m_gta.m_save_json_data(g_pointers->m_gta.m_main_file_object, nullptr, "to save it to a file I guess?"); auto buffer = g_pointers->m_gta.m_save_json_data(g_pointers->m_gta.m_main_file_object, nullptr, "to save it to a file I guess?");
@ -71,15 +71,15 @@ namespace big
g_pointers->m_gta.m_load_cloud_file(&cloud_file, buffer.data(), buffer.length(), "to load it from a file I guess?"); g_pointers->m_gta.m_load_cloud_file(&cloud_file, buffer.data(), buffer.length(), "to load it from a file I guess?");
g_pointers->m_gta.m_set_as_active_cloud_file(g_pointers->m_gta.m_main_file_object, &cloud_file); g_pointers->m_gta.m_set_as_active_cloud_file(g_pointers->m_gta.m_main_file_object, &cloud_file);
while (!SCRIPT::HAS_SCRIPT_WITH_NAME_HASH_LOADED(RAGE_JOAAT("fm_race_creator"))) while (!SCRIPT::HAS_SCRIPT_WITH_NAME_HASH_LOADED("fm_race_creator"_J))
{ {
SCRIPT::REQUEST_SCRIPT_WITH_NAME_HASH(RAGE_JOAAT("fm_race_creator")); SCRIPT::REQUEST_SCRIPT_WITH_NAME_HASH("fm_race_creator"_J);
script::get_current()->yield(); script::get_current()->yield();
} }
scr_functions::load_from_datafile.static_call({1, true, false, 0}); scr_functions::load_from_datafile.static_call({1, true, false, 0});
SCRIPT::SET_SCRIPT_WITH_NAME_HASH_AS_NO_LONGER_NEEDED(RAGE_JOAAT("fm_race_creator")); SCRIPT::SET_SCRIPT_WITH_NAME_HASH_AS_NO_LONGER_NEEDED("fm_race_creator"_J);
file_stream.close(); file_stream.close();
} }

View File

@ -6,9 +6,9 @@ namespace big
{ {
custom_text_service::custom_text_service() custom_text_service::custom_text_service()
{ {
add_callback_for_labels({RAGE_JOAAT("RESPAWN_W"), RAGE_JOAAT("RESPAWN_W_MP")}, respawn_label_callback); add_callback_for_labels({"RESPAWN_W"_J, "RESPAWN_W_MP"_J}, respawn_label_callback);
add_label_overwrite(RAGE_JOAAT("GC_OTR_TMR"), "HIDING FROM CLOWNS"); add_label_overwrite("GC_OTR_TMR"_J, "HIDING FROM CLOWNS");
// add_label_overwrite(RAGE_JOAAT("TICK_LEFTCHEAT"), "~a~~HUD_COLOUR_WHITE~ has been swatted by Rockstar."); // add_label_overwrite("TICK_LEFTCHEAT"_J, "~a~~HUD_COLOUR_WHITE~ has been swatted by Rockstar.");
g_custom_text_service = this; g_custom_text_service = this;
} }
@ -49,4 +49,4 @@ namespace big
return it->second.get(); return it->second.get();
return nullptr; return nullptr;
} }
} }

View File

@ -352,7 +352,7 @@ namespace big
const auto name = item.child("Name").text().as_string(); const auto name = item.child("Name").text().as_string();
const auto hash = rage::joaat(name); const auto hash = rage::joaat(name);
if (hash == RAGE_JOAAT("WEAPON_BIRD_CRAP")) if (hash == "WEAPON_BIRD_CRAP"_J)
continue; continue;
if (exists(mapped_weapons, hash)) if (exists(mapped_weapons, hash))
@ -578,4 +578,4 @@ namespace big
load_data(); load_data();
}); });
} }
} }

View File

@ -12,30 +12,30 @@ namespace big
hotkey_service::hotkey_service() hotkey_service::hotkey_service()
{ {
// ordered alphabetically to more easily see if a certain hotkey is present // ordered alphabetically to more easily see if a certain hotkey is present
register_hotkey("beastjump", g.settings.hotkeys.beastjump, RAGE_JOAAT("beastjump")); register_hotkey("beastjump", g.settings.hotkeys.beastjump, "beastjump"_J);
register_hotkey("bringpv", g.settings.hotkeys.bringvehicle, RAGE_JOAAT("bringpv")); register_hotkey("bringpv", g.settings.hotkeys.bringvehicle, "bringpv"_J);
register_hotkey("clearwantedlvl", g.settings.hotkeys.clear_wanted, RAGE_JOAAT("clearwantedlvl")); register_hotkey("clearwantedlvl", g.settings.hotkeys.clear_wanted, "clearwantedlvl"_J);
register_hotkey("cmdexecutor", g.settings.hotkeys.cmd_excecutor, RAGE_JOAAT("cmdexecutor")); register_hotkey("cmdexecutor", g.settings.hotkeys.cmd_excecutor, "cmdexecutor"_J);
register_hotkey("fastquit", g.settings.hotkeys.fast_quit, RAGE_JOAAT("fastquit")); register_hotkey("fastquit", g.settings.hotkeys.fast_quit, "fastquit"_J);
register_hotkey("fastrun", g.settings.hotkeys.superrun, RAGE_JOAAT("fastrun")); register_hotkey("fastrun", g.settings.hotkeys.superrun, "fastrun"_J);
register_hotkey("fillammo", g.settings.hotkeys.fill_ammo, RAGE_JOAAT("fillammo")); register_hotkey("fillammo", g.settings.hotkeys.fill_ammo, "fillammo"_J);
register_hotkey("fillsnacks", g.settings.hotkeys.fill_inventory, RAGE_JOAAT("fillsnacks")); register_hotkey("fillsnacks", g.settings.hotkeys.fill_inventory, "fillsnacks"_J);
register_hotkey("freecam", g.settings.hotkeys.freecam, RAGE_JOAAT("freecam")); register_hotkey("freecam", g.settings.hotkeys.freecam, "freecam"_J);
register_hotkey("heal", g.settings.hotkeys.heal, RAGE_JOAAT("heal")); register_hotkey("heal", g.settings.hotkeys.heal, "heal"_J);
register_hotkey("invis", g.settings.hotkeys.invis, RAGE_JOAAT("invis")); register_hotkey("invis", g.settings.hotkeys.invis, "invis"_J);
register_hotkey("invisveh", g.settings.hotkeys.invisveh, RAGE_JOAAT("invisveh")); register_hotkey("invisveh", g.settings.hotkeys.invisveh, "invisveh"_J);
register_hotkey("localinvisveh", g.settings.hotkeys.localinvisveh, RAGE_JOAAT("localinvisveh")); register_hotkey("localinvisveh", g.settings.hotkeys.localinvisveh, "localinvisveh"_J);
register_hotkey("noclip", g.settings.hotkeys.noclip, RAGE_JOAAT("noclip")); register_hotkey("noclip", g.settings.hotkeys.noclip, "noclip"_J);
register_hotkey("objective", g.settings.hotkeys.teleport_objective, RAGE_JOAAT("objectivetp")); register_hotkey("objective", g.settings.hotkeys.teleport_objective, "objectivetp"_J);
register_hotkey("pvtp", g.settings.hotkeys.teleport_pv, RAGE_JOAAT("pvtp")); register_hotkey("pvtp", g.settings.hotkeys.teleport_pv, "pvtp"_J);
register_hotkey("passive", g.settings.hotkeys.passive, RAGE_JOAAT("passive")); register_hotkey("passive", g.settings.hotkeys.passive, "passive"_J);
register_hotkey("repairpv", g.settings.hotkeys.repairpv, RAGE_JOAAT("repairpv")); register_hotkey("repairpv", g.settings.hotkeys.repairpv, "repairpv"_J);
register_hotkey("skipcutscene", g.settings.hotkeys.skip_cutscene, RAGE_JOAAT("skipcutscene")); register_hotkey("skipcutscene", g.settings.hotkeys.skip_cutscene, "skipcutscene"_J);
register_hotkey("superjump", g.settings.hotkeys.superjump, RAGE_JOAAT("superjump")); register_hotkey("superjump", g.settings.hotkeys.superjump, "superjump"_J);
register_hotkey("vehiclecontroller", g.settings.hotkeys.open_vehicle_controller, RAGE_JOAAT("vehiclecontrol")); register_hotkey("vehiclecontroller", g.settings.hotkeys.open_vehicle_controller, "vehiclecontrol"_J);
register_hotkey("vehiclefly", g.settings.hotkeys.vehicle_flymode, RAGE_JOAAT("vehiclefly")); register_hotkey("vehiclefly", g.settings.hotkeys.vehicle_flymode, "vehiclefly"_J);
register_hotkey("waypoint", g.settings.hotkeys.teleport_waypoint, RAGE_JOAAT("waypointtp")); register_hotkey("waypoint", g.settings.hotkeys.teleport_waypoint, "waypointtp"_J);
register_hotkey("highlighttp", g.settings.hotkeys.teleport_selected, RAGE_JOAAT("highlighttp")); register_hotkey("highlighttp", g.settings.hotkeys.teleport_selected, "highlighttp"_J);
g_renderer.add_wndproc_callback([this](HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam) { g_renderer.add_wndproc_callback([this](HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam) {
wndproc(static_cast<eKeyState>(msg), wparam); wndproc(static_cast<eKeyState>(msg), wparam);
@ -91,7 +91,7 @@ namespace big
bool is_using_cellphone = false; bool is_using_cellphone = false;
for (auto script : *g_pointers->m_gta.m_script_threads) for (auto script : *g_pointers->m_gta.m_script_threads)
{ {
if (script && script->m_script_hash == RAGE_JOAAT("cellphone_flashhand")) if (script && script->m_script_hash == "cellphone_flashhand"_J)
{ {
is_using_cellphone = script->m_context.m_state == rage::eThreadState::running; is_using_cellphone = script->m_context.m_state == rage::eThreadState::running;
} }

View File

@ -97,36 +97,36 @@ namespace big
Hash stat = NULL; Hash stat = NULL;
switch (property) switch (property)
{ {
case 0: stat = self::char_index ? RAGE_JOAAT("MP1_PROPERTY_HOUSE") : RAGE_JOAAT("MP0_PROPERTY_HOUSE"); break; case 0: stat = self::char_index ? "MP1_PROPERTY_HOUSE"_J : "MP0_PROPERTY_HOUSE"_J; break;
case 1: stat = self::char_index ? RAGE_JOAAT("MP1_MULTI_PROPERTY_1") : RAGE_JOAAT("MP0_MULTI_PROPERTY_1"); break; case 1: stat = self::char_index ? "MP1_MULTI_PROPERTY_1"_J : "MP0_MULTI_PROPERTY_1"_J; break;
case 2: stat = self::char_index ? RAGE_JOAAT("MP1_MULTI_PROPERTY_2") : RAGE_JOAAT("MP0_MULTI_PROPERTY_2"); break; case 2: stat = self::char_index ? "MP1_MULTI_PROPERTY_2"_J : "MP0_MULTI_PROPERTY_2"_J; break;
case 3: stat = self::char_index ? RAGE_JOAAT("MP1_MULTI_PROPERTY_3") : RAGE_JOAAT("MP0_MULTI_PROPERTY_3"); break; case 3: stat = self::char_index ? "MP1_MULTI_PROPERTY_3"_J : "MP0_MULTI_PROPERTY_3"_J; break;
case 4: stat = self::char_index ? RAGE_JOAAT("MP1_MULTI_PROPERTY_4") : RAGE_JOAAT("MP0_MULTI_PROPERTY_4"); break; case 4: stat = self::char_index ? "MP1_MULTI_PROPERTY_4"_J : "MP0_MULTI_PROPERTY_4"_J; break;
case 5: stat = self::char_index ? RAGE_JOAAT("MP1_PROP_OFFICE") : RAGE_JOAAT("MP0_PROP_OFFICE"); break; case 5: stat = self::char_index ? "MP1_PROP_OFFICE"_J : "MP0_PROP_OFFICE"_J; break;
case 6: stat = self::char_index ? RAGE_JOAAT("MP1_PROP_CLUBHOUSE") : RAGE_JOAAT("MP0_PROP_CLUBHOUSE"); break; case 6: stat = self::char_index ? "MP1_PROP_CLUBHOUSE"_J : "MP0_PROP_CLUBHOUSE"_J; break;
case 7: stat = self::char_index ? RAGE_JOAAT("MP1_MULTI_PROPERTY_5") : RAGE_JOAAT("MP0_MULTI_PROPERTY_5"); break; case 7: stat = self::char_index ? "MP1_MULTI_PROPERTY_5"_J : "MP0_MULTI_PROPERTY_5"_J; break;
case 8: stat = self::char_index ? RAGE_JOAAT("MP1_PROP_OFFICE_GAR1") : RAGE_JOAAT("MP0_PROP_OFFICE_GAR1"); break; case 8: stat = self::char_index ? "MP1_PROP_OFFICE_GAR1"_J : "MP0_PROP_OFFICE_GAR1"_J; break;
case 9: stat = self::char_index ? RAGE_JOAAT("MP1_PROP_OFFICE_GAR2") : RAGE_JOAAT("MP0_PROP_OFFICE_GAR2"); break; case 9: stat = self::char_index ? "MP1_PROP_OFFICE_GAR2"_J : "MP0_PROP_OFFICE_GAR2"_J; break;
case 10: stat = self::char_index ? RAGE_JOAAT("MP1_PROP_OFFICE_GAR3") : RAGE_JOAAT("MP0_PROP_OFFICE_GAR3"); break; case 10: stat = self::char_index ? "MP1_PROP_OFFICE_GAR3"_J : "MP0_PROP_OFFICE_GAR3"_J; break;
case 11: stat = self::char_index ? RAGE_JOAAT("MP1_PROP_IE_WAREHOUSE") : RAGE_JOAAT("MP0_PROP_IE_WAREHOUSE"); break; case 11: stat = self::char_index ? "MP1_PROP_IE_WAREHOUSE"_J : "MP0_PROP_IE_WAREHOUSE"_J; break;
case 12: stat = self::char_index ? RAGE_JOAAT("MP1_PROP_HANGAR") : RAGE_JOAAT("MP0_PROP_HANGAR"); break; case 12: stat = self::char_index ? "MP1_PROP_HANGAR"_J : "MP0_PROP_HANGAR"_J; break;
case 13: stat = self::char_index ? RAGE_JOAAT("MP1_PROP_DEFUNCBASE") : RAGE_JOAAT("MP0_PROP_DEFUNCBASE"); break; case 13: stat = self::char_index ? "MP1_PROP_DEFUNCBASE"_J : "MP0_PROP_DEFUNCBASE"_J; break;
case 14: stat = self::char_index ? RAGE_JOAAT("MP1_PROP_NIGHTCLUB") : RAGE_JOAAT("MP0_PROP_NIGHTCLUB"); break; case 14: stat = self::char_index ? "MP1_PROP_NIGHTCLUB"_J : "MP0_PROP_NIGHTCLUB"_J; break;
case 15: stat = self::char_index ? RAGE_JOAAT("MP1_PROP_MEGAWARE_GAR1") : RAGE_JOAAT("MP0_PROP_MEGAWARE_GAR1"); break; case 15: stat = self::char_index ? "MP1_PROP_MEGAWARE_GAR1"_J : "MP0_PROP_MEGAWARE_GAR1"_J; break;
case 16: stat = self::char_index ? RAGE_JOAAT("MP1_PROP_MEGAWARE_GAR2") : RAGE_JOAAT("MP0_PROP_MEGAWARE_GAR2"); break; case 16: stat = self::char_index ? "MP1_PROP_MEGAWARE_GAR2"_J : "MP0_PROP_MEGAWARE_GAR2"_J; break;
case 17: stat = self::char_index ? RAGE_JOAAT("MP1_PROP_MEGAWARE_GAR3") : RAGE_JOAAT("MP0_PROP_MEGAWARE_GAR3"); break; case 17: stat = self::char_index ? "MP1_PROP_MEGAWARE_GAR3"_J : "MP0_PROP_MEGAWARE_GAR3"_J; break;
case 18: stat = self::char_index ? RAGE_JOAAT("MP1_PROP_ARENAWARS_GAR1") : RAGE_JOAAT("MP0_PROP_ARENAWARS_GAR1"); break; case 18: stat = self::char_index ? "MP1_PROP_ARENAWARS_GAR1"_J : "MP0_PROP_ARENAWARS_GAR1"_J; break;
case 19: stat = self::char_index ? RAGE_JOAAT("MP1_PROP_ARENAWARS_GAR2") : RAGE_JOAAT("MP0_PROP_ARENAWARS_GAR2"); break; case 19: stat = self::char_index ? "MP1_PROP_ARENAWARS_GAR2"_J : "MP0_PROP_ARENAWARS_GAR2"_J; break;
case 20: stat = self::char_index ? RAGE_JOAAT("MP1_PROP_ARENAWARS_GAR3") : RAGE_JOAAT("MP0_PROP_ARENAWARS_GAR3"); break; case 20: stat = self::char_index ? "MP1_PROP_ARENAWARS_GAR3"_J : "MP0_PROP_ARENAWARS_GAR3"_J; break;
case 21: stat = self::char_index ? RAGE_JOAAT("MP1_PROP_CASINO_GAR1") : RAGE_JOAAT("MP0_PROP_CASINO_GAR1"); break; case 21: stat = self::char_index ? "MP1_PROP_CASINO_GAR1"_J : "MP0_PROP_CASINO_GAR1"_J; break;
case 22: stat = self::char_index ? RAGE_JOAAT("MP1_PROP_ARCADE_GAR1") : RAGE_JOAAT("MP0_PROP_ARCADE_GAR1"); break; case 22: stat = self::char_index ? "MP1_PROP_ARCADE_GAR1"_J : "MP0_PROP_ARCADE_GAR1"_J; break;
case 23: stat = self::char_index ? RAGE_JOAAT("MP1_MULTI_PROPERTY_6") : RAGE_JOAAT("MP0_MULTI_PROPERTY_6"); break; case 23: stat = self::char_index ? "MP1_MULTI_PROPERTY_6"_J : "MP0_MULTI_PROPERTY_6"_J; break;
case 24: stat = self::char_index ? RAGE_JOAAT("MP1_MULTI_PROPERTY_7") : RAGE_JOAAT("MP0_MULTI_PROPERTY_7"); break; case 24: stat = self::char_index ? "MP1_MULTI_PROPERTY_7"_J : "MP0_MULTI_PROPERTY_7"_J; break;
case 25: stat = self::char_index ? RAGE_JOAAT("MP1_PROP_AUTO_SHOP") : RAGE_JOAAT("MP0_PROP_AUTO_SHOP"); break; case 25: stat = self::char_index ? "MP1_PROP_AUTO_SHOP"_J : "MP0_PROP_AUTO_SHOP"_J; break;
case 26: stat = self::char_index ? RAGE_JOAAT("MP1_PROP_SECURITY_OFFICE_GAR") : RAGE_JOAAT("MP0_PROP_SECURITY_OFFICE_GAR"); break; case 26: stat = self::char_index ? "MP1_PROP_SECURITY_OFFICE_GAR"_J : "MP0_PROP_SECURITY_OFFICE_GAR"_J; break;
case 27: stat = self::char_index ? RAGE_JOAAT("MP1_MULTI_PROPERTY_8") : RAGE_JOAAT("MP0_MULTI_PROPERTY_8"); break; case 27: stat = self::char_index ? "MP1_MULTI_PROPERTY_8"_J : "MP0_MULTI_PROPERTY_8"_J; break;
case 28: stat = self::char_index ? RAGE_JOAAT("MP1_MULTI_PROPERTY_9") : RAGE_JOAAT("MP0_MULTI_PROPERTY_9"); break; case 28: stat = self::char_index ? "MP1_MULTI_PROPERTY_9"_J : "MP0_MULTI_PROPERTY_9"_J; break;
case 29: stat = self::char_index ? RAGE_JOAAT("MP1_MULTSTOREY_GAR_OWNED") : RAGE_JOAAT("MP0_MULTSTOREY_GAR_OWNED"); break; case 29: stat = self::char_index ? "MP1_MULTSTOREY_GAR_OWNED"_J : "MP0_MULTSTOREY_GAR_OWNED"_J; break;
case MAX_GARAGE_NUM+0: case MAX_GARAGE_NUM+0:
case MAX_GARAGE_NUM+1: case MAX_GARAGE_NUM+1:
case MAX_GARAGE_NUM+2: case MAX_GARAGE_NUM+2:
@ -283,23 +283,23 @@ namespace big
{ {
switch (m_hash) switch (m_hash)
{ {
case RAGE_JOAAT("avenger"): case "avenger"_J:
case RAGE_JOAAT("avenger3"): case "avenger3"_J:
case RAGE_JOAAT("hauler2"): case "hauler2"_J:
case RAGE_JOAAT("phantom3"): case "phantom3"_J:
case RAGE_JOAAT("trailersmall2"): case "trailersmall2"_J:
case RAGE_JOAAT("khanjali"): case "khanjali"_J:
case RAGE_JOAAT("chernobog"): case "chernobog"_J:
case RAGE_JOAAT("riot2"): case "riot2"_J:
case RAGE_JOAAT("thruster"): case "thruster"_J:
case RAGE_JOAAT("brickade2"): case "brickade2"_J:
case RAGE_JOAAT("manchez3"): case "manchez3"_J:
case RAGE_JOAAT("terbyte"): case "terbyte"_J:
case RAGE_JOAAT("speedo4"): case "speedo4"_J:
case RAGE_JOAAT("mule4"): case "mule4"_J:
case RAGE_JOAAT("pounder2"): case "pounder2"_J:
case RAGE_JOAAT("rcbandito"): case "rcbandito"_J:
case RAGE_JOAAT("minitank"): case "minitank"_J:
return !g.clone_pv.spawn_clone; return !g.clone_pv.spawn_clone;
} }
return false; return false;
@ -395,4 +395,4 @@ namespace big
} }
} }
} }
} }

View File

@ -108,7 +108,7 @@ namespace big
j_props[std::to_string(item.id)] = tmp; j_props[std::to_string(item.id)] = tmp;
} }
if (model == RAGE_JOAAT("mp_m_freemode_01") || model == RAGE_JOAAT("mp_f_freemode_01")) if (model == "mp_m_freemode_01"_J || model == "mp_f_freemode_01"_J)
{ {
head_blend_data blend_data{}; head_blend_data blend_data{};
PED::GET_PED_HEAD_BLEND_DATA(self::ped, (Any*)&blend_data); PED::GET_PED_HEAD_BLEND_DATA(self::ped, (Any*)&blend_data);
@ -123,4 +123,4 @@ namespace big
std::ofstream o(saved_outfit_path.get_file(filename).get_path()); std::ofstream o(saved_outfit_path.get_file(filename).get_path());
o << std::setw(4) << j << std::endl; o << std::setw(4) << j << std::endl;
} }
} }

View File

@ -51,15 +51,15 @@ namespace big
void pickup_service::give_armour(const int targets) const void pickup_service::give_armour(const int targets) const
{ {
g_pointers->m_gta.m_give_pickup_rewards(targets, RAGE_JOAAT("REWARD_ARMOUR")); g_pointers->m_gta.m_give_pickup_rewards(targets, "REWARD_ARMOUR"_J);
script::get_current()->yield(20ms); script::get_current()->yield(20ms);
} }
void pickup_service::give_health(const int targets) const void pickup_service::give_health(const int targets) const
{ {
g_pointers->m_gta.m_give_pickup_rewards(targets, RAGE_JOAAT("REWARD_HEALTH")); g_pointers->m_gta.m_give_pickup_rewards(targets, "REWARD_HEALTH"_J);
script::get_current()->yield(20ms); script::get_current()->yield(20ms);
g_pointers->m_gta.m_give_pickup_rewards(targets, RAGE_JOAAT("REWARD_HEALTH")); g_pointers->m_gta.m_give_pickup_rewards(targets, "REWARD_HEALTH"_J);
script::get_current()->yield(20ms); script::get_current()->yield(20ms);
} }
@ -74,7 +74,7 @@ namespace big
} }
} }
g_pointers->m_gta.m_give_pickup_rewards(targets, RAGE_JOAAT("REWARD_PARACHUTE")); g_pointers->m_gta.m_give_pickup_rewards(targets, "REWARD_PARACHUTE"_J);
script::get_current()->yield(20ms); script::get_current()->yield(20ms);
} }
} }

View File

@ -277,7 +277,7 @@ namespace big
{ {
if (veh_spawned) if (veh_spawned)
PED::SET_PED_INTO_VEHICLE(s.m_members[i].handle, s.m_veh_handle, (i - 1)); PED::SET_PED_INTO_VEHICLE(s.m_members[i].handle, s.m_veh_handle, (i - 1));
PED::SET_PED_RELATIONSHIP_GROUP_HASH(s.m_members[i].handle, RAGE_JOAAT("HATES_PLAYER")); PED::SET_PED_RELATIONSHIP_GROUP_HASH(s.m_members[i].handle, "HATES_PLAYER"_J);
squad_spawner::build_and_perform_sequence(s, i); squad_spawner::build_and_perform_sequence(s, i);

View File

@ -42,18 +42,18 @@ namespace big
if (m_initialized || m_loading) if (m_initialized || m_loading)
return; return;
if (!m_script_started && SCRIPT::GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(RAGE_JOAAT("tuneables_processing")) > 0) if (!m_script_started && SCRIPT::GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH("tuneables_processing"_J) > 0)
continue; continue;
if (!m_script_started) if (!m_script_started)
{ {
SCRIPT::REQUEST_SCRIPT_WITH_NAME_HASH(RAGE_JOAAT("tuneables_processing")); SCRIPT::REQUEST_SCRIPT_WITH_NAME_HASH("tuneables_processing"_J);
if (SCRIPT::HAS_SCRIPT_WITH_NAME_HASH_LOADED(RAGE_JOAAT("tuneables_processing"))) if (SCRIPT::HAS_SCRIPT_WITH_NAME_HASH_LOADED("tuneables_processing"_J))
{ {
uint64_t args[] = {6, 27}; // TODO: check args uint64_t args[] = {6, 27}; // TODO: check args
int id = SYSTEM::START_NEW_SCRIPT_WITH_NAME_HASH_AND_ARGS(RAGE_JOAAT("tuneables_processing"), (Any*)args, sizeof(args) / 8, DEFAULT_STACK_SIZE); int id = SYSTEM::START_NEW_SCRIPT_WITH_NAME_HASH_AND_ARGS("tuneables_processing"_J, (Any*)args, sizeof(args) / 8, DEFAULT_STACK_SIZE);
if (!id) if (!id)
{ {
@ -61,17 +61,17 @@ namespace big
return; return;
} }
SCRIPT::SET_SCRIPT_WITH_NAME_HASH_AS_NO_LONGER_NEEDED(RAGE_JOAAT("tuneables_processing")); SCRIPT::SET_SCRIPT_WITH_NAME_HASH_AS_NO_LONGER_NEEDED("tuneables_processing"_J);
m_script_started = true; m_script_started = true;
g_script_patcher_service->add_patch({RAGE_JOAAT("tuneables_processing"), "tuneables_processing1", "2E ? ? 55 ? ? 38 06", 0, std::vector<uint8_t>(17, 0x0), &m_script_started}); // bool tunables registration hack g_script_patcher_service->add_patch({"tuneables_processing"_J, "tuneables_processing1", "2E ? ? 55 ? ? 38 06", 0, std::vector<uint8_t>(17, 0x0), &m_script_started}); // bool tunables registration hack
if (auto program = gta_util::find_script_program(RAGE_JOAAT("tuneables_processing"))) if (auto program = gta_util::find_script_program("tuneables_processing"_J))
g_script_patcher_service->on_script_load(program); g_script_patcher_service->on_script_load(program);
} }
} }
else else
{ {
if (SCRIPT::GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(RAGE_JOAAT("tuneables_processing")) == 0) if (SCRIPT::GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH("tuneables_processing"_J) == 0)
{ {
if (m_tunables.size() == 0) if (m_tunables.size() == 0)
{ {
@ -129,4 +129,4 @@ namespace big
m_initialized = true; m_initialized = true;
m_loading = false; m_loading = false;
} }
} }

View File

@ -384,7 +384,7 @@ namespace big
continue; continue;
// Don't save tow hook. // Don't save tow hook.
if (is_towed_vehicle && ENTITY::GET_ENTITY_MODEL(object) == RAGE_JOAAT("prop_v_hook_s")) if (is_towed_vehicle && ENTITY::GET_ENTITY_MODEL(object) == "prop_v_hook_s"_J)
continue; continue;
attached_objects.push_back(get_model_attachment(vehicle, object)); attached_objects.push_back(get_model_attachment(vehicle, object));

View File

@ -199,7 +199,7 @@ namespace big
{ {
//LOG(INFO) << "Driver didnt exist, creating one"; //LOG(INFO) << "Driver didnt exist, creating one";
m_driver = ped::spawn(PED_TYPE_CIVMALE, m_driver = ped::spawn(PED_TYPE_CIVMALE,
RAGE_JOAAT("s_m_y_devinsec_01"), "s_m_y_devinsec_01"_J,
-1, -1,
ENTITY::GET_ENTITY_COORDS(m_controlled_vehicle.handle, 1), ENTITY::GET_ENTITY_COORDS(m_controlled_vehicle.handle, 1),
0, 0,
@ -400,4 +400,4 @@ namespace big
case eControlledVehSelectionMode::CLOSEST: get_closest_vehicle(); break; case eControlledVehSelectionMode::CLOSEST: get_closest_vehicle(); break;
} }
} }
} }

View File

@ -4,7 +4,7 @@ namespace big::entity
{ {
void cage_ped(Ped ped) void cage_ped(Ped ped)
{ {
Hash hash = RAGE_JOAAT("prop_gold_cont_01"); Hash hash = "prop_gold_cont_01"_J;
Vector3 location = ENTITY::GET_ENTITY_COORDS(ped, true); Vector3 location = ENTITY::GET_ENTITY_COORDS(ped, true);
OBJECT::CREATE_OBJECT(hash, location.x, location.y, location.z - 1.f, true, false, false); OBJECT::CREATE_OBJECT(hash, location.x, location.y, location.z - 1.f, true, false, false);

View File

@ -50,41 +50,41 @@ namespace big::fuzzer
{ {
// TODO: trailer models? // TODO: trailer models?
std::vector<rage::joaat_t> models = { std::vector<rage::joaat_t> models = {
RAGE_JOAAT("player_zero"), // ped "player_zero"_J, // ped
RAGE_JOAAT("kosatka"), // submarine "kosatka"_J, // submarine
RAGE_JOAAT("akula"), // heli "akula"_J, // heli
RAGE_JOAAT("alkonost"), // plane "alkonost"_J, // plane
RAGE_JOAAT("jetmax"), // boat "jetmax"_J, // boat
RAGE_JOAAT("faggio"), // bike "faggio"_J, // bike
RAGE_JOAAT("zentorno"), // automobile "zentorno"_J, // automobile
RAGE_JOAAT("apa_heist_apart2_door"), // object, pickup, pickup placement, door (?) "apa_heist_apart2_door"_J, // object, pickup, pickup placement, door (?)
RAGE_JOAAT("freight"), // train "freight"_J, // train
}; };
auto info = model_info::get_model(original); auto info = model_info::get_model(original);
auto veh_model = model_info::get_vehicle_model(original); auto veh_model = model_info::get_vehicle_model(original);
if (is_object_model(original)) if (is_object_model(original))
std::erase(models, RAGE_JOAAT("apa_heist_apart2_door")); std::erase(models, "apa_heist_apart2_door"_J);
else if (info && info->m_model_type == eModelType::Vehicle) else if (info && info->m_model_type == eModelType::Vehicle)
{ {
if (veh_model->m_vehicle_type == eVehicleType::VEHICLE_TYPE_BIKE) if (veh_model->m_vehicle_type == eVehicleType::VEHICLE_TYPE_BIKE)
std::erase(models, RAGE_JOAAT("faggio")); std::erase(models, "faggio"_J);
else if (veh_model->m_vehicle_type == eVehicleType::VEHICLE_TYPE_SUBMARINE) else if (veh_model->m_vehicle_type == eVehicleType::VEHICLE_TYPE_SUBMARINE)
std::erase(models, RAGE_JOAAT("kosatka")); std::erase(models, "kosatka"_J);
else if (veh_model->m_vehicle_type == eVehicleType::VEHICLE_TYPE_BOAT) else if (veh_model->m_vehicle_type == eVehicleType::VEHICLE_TYPE_BOAT)
std::erase(models, RAGE_JOAAT("jetmax")); std::erase(models, "jetmax"_J);
else if (veh_model->m_vehicle_type == eVehicleType::VEHICLE_TYPE_HELI) else if (veh_model->m_vehicle_type == eVehicleType::VEHICLE_TYPE_HELI)
std::erase(models, RAGE_JOAAT("akula")); std::erase(models, "akula"_J);
else if (veh_model->m_vehicle_type == eVehicleType::VEHICLE_TYPE_PLANE) else if (veh_model->m_vehicle_type == eVehicleType::VEHICLE_TYPE_PLANE)
std::erase(models, RAGE_JOAAT("alkonost")); std::erase(models, "alkonost"_J);
else if (veh_model->m_vehicle_type == eVehicleType::VEHICLE_TYPE_TRAIN) else if (veh_model->m_vehicle_type == eVehicleType::VEHICLE_TYPE_TRAIN)
std::erase(models, RAGE_JOAAT("freight")); std::erase(models, "freight"_J);
else else
std::erase(models, RAGE_JOAAT("zentorno")); std::erase(models, "zentorno"_J);
} }
else if (info && (info->m_model_type == eModelType::Ped || info->m_model_type == eModelType::OnlineOnlyPed)) else if (info && (info->m_model_type == eModelType::Ped || info->m_model_type == eModelType::OnlineOnlyPed))
std::erase(models, RAGE_JOAAT("player_zero")); std::erase(models, "player_zero"_J);
return models[rand(models.size())]; return models[rand(models.size())];
} }
@ -94,13 +94,13 @@ namespace big::fuzzer
auto info = model_info::get_model(original); auto info = model_info::get_model(original);
if (is_object_model(original)) if (is_object_model(original))
return RAGE_JOAAT("urbanweeds01"); return "urbanweeds01"_J;
else if (info && (info->m_model_type == eModelType::Ped || info->m_model_type == eModelType::OnlineOnlyPed)) else if (info && (info->m_model_type == eModelType::Ped || info->m_model_type == eModelType::OnlineOnlyPed))
return RAGE_JOAAT("slod_human"); return "slod_human"_J;
else if (info && info->m_model_type == eModelType::Vehicle) else if (info && info->m_model_type == eModelType::Vehicle)
return RAGE_JOAAT("arbitergt"); return "arbitergt"_J;
else else
return rand(2) ? RAGE_JOAAT("urbanweeds01") : RAGE_JOAAT("slod_human"); return rand(2) ? "urbanweeds01"_J : "slod_human"_J;
} }
inline std::int16_t get_first_ped_id() inline std::int16_t get_first_ped_id()
@ -383,4 +383,4 @@ namespace big::fuzzer
return orig; return orig;
} }
} }

View File

@ -164,7 +164,7 @@ namespace big::mobile
script::get_current()->yield(100ms); script::get_current()->yield(100ms);
GtaThread* freemode_thread = gta_util::find_script_thread(RAGE_JOAAT("freemode")); GtaThread* freemode_thread = gta_util::find_script_thread("freemode"_J);
if (freemode_thread) if (freemode_thread)
{ {
// regex to find this shit easily // regex to find this shit easily

View File

@ -501,7 +501,7 @@ namespace big::ped
if (!ptr) if (!ptr)
return; return;
g_pointers->m_gta.m_send_network_damage(g_player_service->get_self()->get_ped(), ptr, ptr->get_position(), 0, true, RAGE_JOAAT("weapon_explosion"), 10000.0f, 2, 0, (1 << 4), 0, 0, 0, false, false, true, true, nullptr); g_pointers->m_gta.m_send_network_damage(g_player_service->get_self()->get_ped(), ptr, ptr->get_position(), 0, true, "weapon_explosion"_J, 10000.0f, 2, 0, (1 << 4), 0, 0, 0, false, false, true, true, nullptr);
} }
} }

View File

@ -4,7 +4,7 @@
namespace big::protection namespace big::protection
{ {
constexpr auto crash_objects = {RAGE_JOAAT("prop_dummy_01"), RAGE_JOAAT("prop_dummy_car"), RAGE_JOAAT("prop_dummy_light"), RAGE_JOAAT("prop_dummy_plane"), RAGE_JOAAT("prop_distantcar_night"), RAGE_JOAAT("prop_distantcar_day"), RAGE_JOAAT("hei_bh1_08_details4_em_night"), RAGE_JOAAT("dt1_18_sq_night_slod"), RAGE_JOAAT("ss1_12_night_slod"), RAGE_JOAAT("hash_b334b5e2_qyquzxq_collision"), RAGE_JOAAT("h4_prop_bush_bgnvla_med_01"), RAGE_JOAAT("h4_prop_bush_bgnvla_lrg_01"), RAGE_JOAAT("h4_prop_bush_buddleia_low_01"), RAGE_JOAAT("h4_prop_bush_ear_aa"), RAGE_JOAAT("h4_prop_bush_ear_ab"), RAGE_JOAAT("h4_prop_bush_fern_low_01"), RAGE_JOAAT("h4_prop_bush_fern_tall_cc"), RAGE_JOAAT("h4_prop_bush_mang_ad"), RAGE_JOAAT("h4_prop_bush_mang_low_aa"), RAGE_JOAAT("h4_prop_bush_mang_low_ab"), RAGE_JOAAT("h4_prop_bush_seagrape_low_01"), RAGE_JOAAT("prop_h4_ground_cover"), RAGE_JOAAT("h4_prop_weed_groundcover_01"), RAGE_JOAAT("h4_prop_grass_med_01"), RAGE_JOAAT("h4_prop_grass_tropical_lush_01"), RAGE_JOAAT("h4_prop_grass_wiregrass_01"), RAGE_JOAAT("h4_prop_weed_01_plant"), RAGE_JOAAT("h4_prop_weed_01_row"), RAGE_JOAAT("urbanweeds02_l1"), RAGE_JOAAT("proc_forest_grass01"), RAGE_JOAAT("prop_small_bushyba"), RAGE_JOAAT("v_res_d_dildo_a"), RAGE_JOAAT("v_res_d_dildo_b"), RAGE_JOAAT("v_res_d_dildo_c"), RAGE_JOAAT("v_res_d_dildo_d"), RAGE_JOAAT("v_res_d_dildo_e"), RAGE_JOAAT("v_res_d_dildo_f"), RAGE_JOAAT("v_res_skateboard"), RAGE_JOAAT("prop_battery_01"), RAGE_JOAAT("prop_barbell_01"), RAGE_JOAAT("prop_barbell_02"), RAGE_JOAAT("prop_bandsaw_01"), RAGE_JOAAT("prop_bbq_3"), RAGE_JOAAT("v_med_curtainsnewcloth2"), RAGE_JOAAT("bh1_07_flagpoles"), RAGE_JOAAT("hash_058a7eb5_deihiws_collision"), RAGE_JOAAT("proc_dry_plants_01"), RAGE_JOAAT("proc_leafyplant_01"), RAGE_JOAAT("proc_grassplantmix_02"), RAGE_JOAAT("proc_dryplantsgrass_01"), RAGE_JOAAT("proc_dryplantsgrass_02"), RAGE_JOAAT("proc_dryplantsgrass_02"), RAGE_JOAAT("proc_grasses01"), RAGE_JOAAT("prop_dryweed_002_a"), RAGE_JOAAT("prop_fernba"), RAGE_JOAAT("prop_weed_001_aa"), RAGE_JOAAT("urbangrnfrnds_01"), RAGE_JOAAT("urbanweeds01"), RAGE_JOAAT("prop_dandy_b"), RAGE_JOAAT("v_proc2_temp"), RAGE_JOAAT("prop_fernbb"), RAGE_JOAAT("proc_drygrassfronds01"), RAGE_JOAAT("prop_log_ae"), RAGE_JOAAT("prop_grass_da"), RAGE_JOAAT("prop_fragtest_cnst_04")}; constexpr auto crash_objects = {"prop_dummy_01"_J, "prop_dummy_car"_J, "prop_dummy_light"_J, "prop_dummy_plane"_J, "prop_distantcar_night"_J, "prop_distantcar_day"_J, "hei_bh1_08_details4_em_night"_J, "dt1_18_sq_night_slod"_J, "ss1_12_night_slod"_J, "hash_b334b5e2_qyquzxq_collision"_J, "h4_prop_bush_bgnvla_med_01"_J, "h4_prop_bush_bgnvla_lrg_01"_J, "h4_prop_bush_buddleia_low_01"_J, "h4_prop_bush_ear_aa"_J, "h4_prop_bush_ear_ab"_J, "h4_prop_bush_fern_low_01"_J, "h4_prop_bush_fern_tall_cc"_J, "h4_prop_bush_mang_ad"_J, "h4_prop_bush_mang_low_aa"_J, "h4_prop_bush_mang_low_ab"_J, "h4_prop_bush_seagrape_low_01"_J, "prop_h4_ground_cover"_J, "h4_prop_weed_groundcover_01"_J, "h4_prop_grass_med_01"_J, "h4_prop_grass_tropical_lush_01"_J, "h4_prop_grass_wiregrass_01"_J, "h4_prop_weed_01_plant"_J, "h4_prop_weed_01_row"_J, "urbanweeds02_l1"_J, "proc_forest_grass01"_J, "prop_small_bushyba"_J, "v_res_d_dildo_a"_J, "v_res_d_dildo_b"_J, "v_res_d_dildo_c"_J, "v_res_d_dildo_d"_J, "v_res_d_dildo_e"_J, "v_res_d_dildo_f"_J, "v_res_skateboard"_J, "prop_battery_01"_J, "prop_barbell_01"_J, "prop_barbell_02"_J, "prop_bandsaw_01"_J, "prop_bbq_3"_J, "v_med_curtainsnewcloth2"_J, "bh1_07_flagpoles"_J, "hash_058a7eb5_deihiws_collision"_J, "proc_dry_plants_01"_J, "proc_leafyplant_01"_J, "proc_grassplantmix_02"_J, "proc_dryplantsgrass_01"_J, "proc_dryplantsgrass_02"_J, "proc_dryplantsgrass_02"_J, "proc_grasses01"_J, "prop_dryweed_002_a"_J, "prop_fernba"_J, "prop_weed_001_aa"_J, "urbangrnfrnds_01"_J, "urbanweeds01"_J, "prop_dandy_b"_J, "v_proc2_temp"_J, "prop_fernbb"_J, "proc_drygrassfronds01"_J, "prop_log_ae"_J, "prop_grass_da"_J, "prop_fragtest_cnst_04"_J};
bool is_crash_object(rage::joaat_t model) bool is_crash_object(rage::joaat_t model)
{ {
if (!model_info::get_model(model)) if (!model_info::get_model(model))
@ -17,7 +17,7 @@ namespace big::protection
return false; return false;
} }
constexpr auto crash_peds = {RAGE_JOAAT("slod_human"), RAGE_JOAAT("slod_small_quadped"), RAGE_JOAAT("slod_large_quadped")}; constexpr auto crash_peds = {"slod_human"_J, "slod_small_quadped"_J, "slod_large_quadped"_J};
bool is_crash_ped(rage::joaat_t model) bool is_crash_ped(rage::joaat_t model)
{ {
for (auto iterator : crash_peds) for (auto iterator : crash_peds)
@ -28,7 +28,7 @@ namespace big::protection
return false; return false;
} }
constexpr auto crash_vehicles = {RAGE_JOAAT("arbitergt"), RAGE_JOAAT("astron2"), RAGE_JOAAT("cyclone2"), RAGE_JOAAT("ignus2"), RAGE_JOAAT("s95")}; constexpr auto crash_vehicles = {"arbitergt"_J, "astron2"_J, "cyclone2"_J, "ignus2"_J, "s95"_J};
bool is_crash_vehicle(rage::joaat_t model) bool is_crash_vehicle(rage::joaat_t model)
{ {
for (auto iterator : crash_vehicles) for (auto iterator : crash_vehicles)
@ -40,43 +40,43 @@ namespace big::protection
} }
constexpr auto valid_player_models = { constexpr auto valid_player_models = {
RAGE_JOAAT("mp_m_freemode_01"), "mp_m_freemode_01"_J,
RAGE_JOAAT("mp_f_freemode_01"), "mp_f_freemode_01"_J,
RAGE_JOAAT("u_m_m_filmdirector"), "u_m_m_filmdirector"_J,
RAGE_JOAAT("player_zero"), "player_zero"_J,
RAGE_JOAAT("player_one"), "player_one"_J,
RAGE_JOAAT("player_two"), "player_two"_J,
// peyote // peyote
RAGE_JOAAT("A_C_Boar"), "A_C_Boar"_J,
RAGE_JOAAT("A_C_Cat_01"), "A_C_Cat_01"_J,
RAGE_JOAAT("A_C_Cow"), "A_C_Cow"_J,
RAGE_JOAAT("A_C_Coyote"), "A_C_Coyote"_J,
RAGE_JOAAT("A_C_Deer"), "A_C_Deer"_J,
RAGE_JOAAT("A_C_Husky"), "A_C_Husky"_J,
RAGE_JOAAT("A_C_MtLion"), "A_C_MtLion"_J,
RAGE_JOAAT("A_C_Pig"), "A_C_Pig"_J,
RAGE_JOAAT("A_C_Poodle"), "A_C_Poodle"_J,
RAGE_JOAAT("A_C_Pug"), "A_C_Pug"_J,
RAGE_JOAAT("A_C_Rabbit_01"), "A_C_Rabbit_01"_J,
RAGE_JOAAT("A_C_Retriever"), "A_C_Retriever"_J,
RAGE_JOAAT("A_C_Rottweiler"), "A_C_Rottweiler"_J,
RAGE_JOAAT("A_C_shepherd"), "A_C_shepherd"_J,
RAGE_JOAAT("A_C_Westy"), "A_C_Westy"_J,
RAGE_JOAAT("A_C_Chickenhawk"), "A_C_Chickenhawk"_J,
RAGE_JOAAT("A_C_Cormorant"), "A_C_Cormorant"_J,
RAGE_JOAAT("A_C_Crow"), "A_C_Crow"_J,
RAGE_JOAAT("A_C_Hen"), "A_C_Hen"_J,
RAGE_JOAAT("A_C_Pigeon"), "A_C_Pigeon"_J,
RAGE_JOAAT("A_C_Seagull"), "A_C_Seagull"_J,
RAGE_JOAAT("A_C_Dolphin"), "A_C_Dolphin"_J,
RAGE_JOAAT("A_C_Fish"), "A_C_Fish"_J,
RAGE_JOAAT("A_C_KillerWhale"), "A_C_KillerWhale"_J,
RAGE_JOAAT("A_C_SharkHammer"), "A_C_SharkHammer"_J,
RAGE_JOAAT("A_C_SharkTiger"), "A_C_SharkTiger"_J,
RAGE_JOAAT("A_C_Stingray"), "A_C_Stingray"_J,
RAGE_JOAAT("IG_Orleans"), "IG_Orleans"_J,
RAGE_JOAAT("A_C_Chop"), "A_C_Chop"_J,
RAGE_JOAAT("A_C_HumpBack"), "A_C_HumpBack"_J,
}; };
bool is_valid_player_model(rage::joaat_t model) bool is_valid_player_model(rage::joaat_t model)
{ {
@ -85,4 +85,4 @@ namespace big::protection
return true; return true;
return false; return false;
} }
} }

View File

@ -114,10 +114,10 @@ namespace big::scripts
}; };
// 1) Get launcher // 1) Get launcher
if (auto launcher = gta_util::find_script_thread(RAGE_JOAAT("am_launcher"))) if (auto launcher = gta_util::find_script_thread("am_launcher"_J))
{ {
// 2) Force host of launcher // 2) Force host of launcher
if (!force_host(RAGE_JOAAT("am_launcher"))) if (!force_host("am_launcher"_J))
{ {
// 2F) Failed to force host of launcher // 2F) Failed to force host of launcher
g_notification_service->push_error("Script", "Cannot force script host of am_launcher"); g_notification_service->push_error("Script", "Cannot force script host of am_launcher");
@ -214,7 +214,7 @@ namespace big::scripts
return arr[0] + (arr[1] << 8) + (arr[2] << 16); return arr[0] + (arr[1] << 8) + (arr[2] << 16);
}; };
if (g.m_mission_creator_thread || SCRIPT::GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(RAGE_JOAAT("creator")) != 0 || SCRIPT::GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(RAGE_JOAAT("maintransition")) != 0 || STREAMING::IS_PLAYER_SWITCH_IN_PROGRESS() || CUTSCENE::IS_CUTSCENE_ACTIVE()) if (g.m_mission_creator_thread || SCRIPT::GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH("creator"_J) != 0 || SCRIPT::GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH("maintransition"_J) != 0 || STREAMING::IS_PLAYER_SWITCH_IN_PROGRESS() || CUTSCENE::IS_CUTSCENE_ACTIVE())
{ {
g_notification_service->push_warning("Creator", "Cannot start creator now"); g_notification_service->push_warning("Creator", "Cannot start creator now");
return; return;
@ -269,4 +269,4 @@ namespace big::scripts
SCRIPT::SET_SCRIPT_WITH_NAME_HASH_AS_NO_LONGER_NEEDED(hash); SCRIPT::SET_SCRIPT_WITH_NAME_HASH_AS_NO_LONGER_NEEDED(hash);
} }
} }

View File

@ -36,9 +36,9 @@ namespace big::session
inline bool join_type(eSessionType session) inline bool join_type(eSessionType session)
{ {
SCRIPT::REQUEST_SCRIPT_WITH_NAME_HASH(RAGE_JOAAT("pausemenu_multiplayer")); SCRIPT::REQUEST_SCRIPT_WITH_NAME_HASH("pausemenu_multiplayer"_J);
while (!SCRIPT::HAS_SCRIPT_WITH_NAME_HASH_LOADED(RAGE_JOAAT("pausemenu_multiplayer"))) while (!SCRIPT::HAS_SCRIPT_WITH_NAME_HASH_LOADED("pausemenu_multiplayer"_J))
script::get_current()->yield(); script::get_current()->yield();
*scr_globals::sctv_spectator.as<int*>() = (session == eSessionType::SC_TV ? 1 : 0); // If SCTV then enable spectator mode *scr_globals::sctv_spectator.as<int*>() = (session == eSessionType::SC_TV ? 1 : 0); // If SCTV then enable spectator mode
@ -67,14 +67,14 @@ namespace big::session
*scr_globals::session4.as<int*>() = 1; *scr_globals::session4.as<int*>() = 1;
*scr_globals::session5.as<int*>() = 32; *scr_globals::session5.as<int*>() = 32;
if (SCRIPT::GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(RAGE_JOAAT("maintransition")) == 0) if (SCRIPT::GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH("maintransition"_J) == 0)
{ {
*scr_globals::session6.as<int*>() = 1; *scr_globals::session6.as<int*>() = 1;
script::get_current()->yield(200ms); script::get_current()->yield(200ms);
*scr_globals::session.as<int*>() = 0; *scr_globals::session.as<int*>() = 0;
} }
SCRIPT::SET_SCRIPT_WITH_NAME_HASH_AS_NO_LONGER_NEEDED(RAGE_JOAAT("pausemenu_multiplayer")); SCRIPT::SET_SCRIPT_WITH_NAME_HASH_AS_NO_LONGER_NEEDED("pausemenu_multiplayer"_J);
return true; return true;
} }
@ -98,7 +98,7 @@ namespace big::session
inline void join_session(const rage::rlSessionInfo& info) inline void join_session(const rage::rlSessionInfo& info)
{ {
if (SCRIPT::GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(RAGE_JOAAT("maintransition")) != 0 || STREAMING::IS_PLAYER_SWITCH_IN_PROGRESS()) if (SCRIPT::GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH("maintransition"_J) != 0 || STREAMING::IS_PLAYER_SWITCH_IN_PROGRESS())
{ {
g_notification_service->push_error("RID Joiner", "Player switch in progress, wait a bit."); g_notification_service->push_error("RID Joiner", "Player switch in progress, wait a bit.");
return; return;
@ -107,7 +107,7 @@ namespace big::session
g.session.join_queued = true; g.session.join_queued = true;
g.session.info = info; g.session.info = info;
session::join_type({eSessionType::NEW_PUBLIC}); session::join_type({eSessionType::NEW_PUBLIC});
if (SCRIPT::GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(RAGE_JOAAT("maintransition")) == 0) if (SCRIPT::GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH("maintransition"_J) == 0)
{ {
g.session.join_queued = false; g.session.join_queued = false;
g_notification_service->push_error("RID Joiner", "Unable to launch maintransition"); g_notification_service->push_error("RID Joiner", "Unable to launch maintransition");
@ -117,7 +117,7 @@ namespace big::session
inline void join_by_rockstar_id(uint64_t rid) inline void join_by_rockstar_id(uint64_t rid)
{ {
if (SCRIPT::GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(RAGE_JOAAT("maintransition")) != 0 || STREAMING::IS_PLAYER_SWITCH_IN_PROGRESS()) if (SCRIPT::GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH("maintransition"_J) != 0 || STREAMING::IS_PLAYER_SWITCH_IN_PROGRESS())
{ {
g_notification_service->push_error("RID Joiner", "Player switch in progress, wait a bit."); g_notification_service->push_error("RID Joiner", "Player switch in progress, wait a bit.");
return; return;

View File

@ -17,10 +17,9 @@ namespace big
template<size_t N> template<size_t N>
constexpr sync_node_id(char const (&pp)[N]) constexpr sync_node_id(char const (&pp)[N])
{ {
id = rage::consteval_joaat(pp); id = rage::constexpr_joaat(pp);
name = pp; name = pp;
} }
// implicit conversion // implicit conversion
constexpr operator Hash() const constexpr operator Hash() const
{ {
@ -561,4 +560,4 @@ namespace big
inited = true; inited = true;
} }
}; };
} }

View File

@ -12,7 +12,7 @@ namespace big::train
{ {
for (auto veh : pools::get_all_vehicles()) for (auto veh : pools::get_all_vehicles())
{ {
if (veh->m_model_info->m_hash == RAGE_JOAAT("freight")) if (veh->m_model_info->m_hash == "freight"_J)
return g_pointers->m_gta.m_ptr_to_handle(veh); return g_pointers->m_gta.m_ptr_to_handle(veh);
} }
return 0; return 0;
@ -59,4 +59,4 @@ namespace big::train
if (PED::IS_PED_IN_ANY_VEHICLE(PLAYER::PLAYER_PED_ID(), false)) if (PED::IS_PED_IN_ANY_VEHICLE(PLAYER::PLAYER_PED_ID(), false))
VEHICLE::SET_TRAIN_CRUISE_SPEED(get_closest_train(), value); VEHICLE::SET_TRAIN_CRUISE_SPEED(get_closest_train(), value);
} }
} }

View File

@ -44,10 +44,10 @@ namespace big
}); });
components::button("DEBUG_REMOVE_FROM_BAD_SPORT"_T, [] { components::button("DEBUG_REMOVE_FROM_BAD_SPORT"_T, [] {
STATS::STAT_SET_INT(RAGE_JOAAT("MPPLY_BADSPORT_MESSAGE"), 0, 1); STATS::STAT_SET_INT("MPPLY_BADSPORT_MESSAGE"_J, 0, 1);
STATS::STAT_SET_INT(RAGE_JOAAT("MPPLY_BECAME_BADSPORT_NUM"), 0, 1); STATS::STAT_SET_INT("MPPLY_BECAME_BADSPORT_NUM"_J, 0, 1);
STATS::STAT_SET_FLOAT(RAGE_JOAAT("MPPLY_OVERALL_BADSPORT"), 0, true); STATS::STAT_SET_FLOAT("MPPLY_OVERALL_BADSPORT"_J, 0, true);
STATS::STAT_SET_BOOL(RAGE_JOAAT("MPPLY_CHAR_IS_BADSPORT"), false, true); STATS::STAT_SET_BOOL("MPPLY_CHAR_IS_BADSPORT"_J, false, true);
}); });
components::button("LOAD_MP_MAP"_T, [] { components::button("LOAD_MP_MAP"_T, [] {

View File

@ -11,19 +11,19 @@ namespace big
ImGui::PushID(1); ImGui::PushID(1);
components::button("VIEW_NET_MISSIONS_START_EVENT"_T, [] { components::button("VIEW_NET_MISSIONS_START_EVENT"_T, [] {
if (scripts::force_host(RAGE_JOAAT("am_cp_collection"))) if (scripts::force_host("am_cp_collection"_J))
if (auto script = gta_util::find_script_thread(RAGE_JOAAT("am_cp_collection"))) if (auto script = gta_util::find_script_thread("am_cp_collection"_J))
*script_local(script->m_stack, scr_locals::am_cp_collection::broadcast_idx).at(667).as<int*>() = 0; *script_local(script->m_stack, scr_locals::am_cp_collection::broadcast_idx).at(667).as<int*>() = 0;
}); });
ImGui::SameLine(); ImGui::SameLine();
components::button("VIEW_NET_MISSIONS_FINISH_EVENT"_T, [] { components::button("VIEW_NET_MISSIONS_FINISH_EVENT"_T, [] {
if (scripts::force_host(RAGE_JOAAT("am_cp_collection"))) if (scripts::force_host("am_cp_collection"_J))
if (auto script = gta_util::find_script_thread(RAGE_JOAAT("am_cp_collection"))) if (auto script = gta_util::find_script_thread("am_cp_collection"_J))
*script_local(script->m_stack, scr_locals::am_cp_collection::broadcast_idx).at(661).as<int*>() = 0; *script_local(script->m_stack, scr_locals::am_cp_collection::broadcast_idx).at(661).as<int*>() = 0;
}); });
ImGui::PopID(); ImGui::PopID();
components::button("VIEW_NET_MISSIONS_WIN_EVENT"_T, [] { components::button("VIEW_NET_MISSIONS_WIN_EVENT"_T, [] {
if (auto checkpoints = gta_util::find_script_thread(RAGE_JOAAT("am_cp_collection"))) if (auto checkpoints = gta_util::find_script_thread("am_cp_collection"_J))
*script_local(checkpoints->m_stack, scr_locals::am_cp_collection::player_broadcast_idx) *script_local(checkpoints->m_stack, scr_locals::am_cp_collection::player_broadcast_idx)
.at(((CGameScriptHandlerNetComponent*)checkpoints->m_net_component)->m_local_participant_index, 5) .at(((CGameScriptHandlerNetComponent*)checkpoints->m_net_component)->m_local_participant_index, 5)
.at(4) .at(4)
@ -31,9 +31,9 @@ namespace big
script::get_current()->yield(1s); script::get_current()->yield(1s);
if (scripts::force_host(RAGE_JOAAT("am_cp_collection"))) if (scripts::force_host("am_cp_collection"_J))
{ {
if (auto checkpoints = gta_util::find_script_thread(RAGE_JOAAT("am_cp_collection"))) if (auto checkpoints = gta_util::find_script_thread("am_cp_collection"_J))
{ {
*script_local(checkpoints->m_stack, scr_locals::am_cp_collection::broadcast_idx).at(708).as<int*>() = 0; *script_local(checkpoints->m_stack, scr_locals::am_cp_collection::broadcast_idx).at(708).as<int*>() = 0;
} }
@ -52,9 +52,9 @@ namespace big
} }
} }
if (scripts::force_host(RAGE_JOAAT("am_cp_collection"))) if (scripts::force_host("am_cp_collection"_J))
{ {
if (auto checkpoints = gta_util::find_script_thread(RAGE_JOAAT("am_cp_collection"))) if (auto checkpoints = gta_util::find_script_thread("am_cp_collection"_J))
{ {
for (int i = 0; i < 100; i++) for (int i = 0; i < 100; i++)
{ {
@ -65,4 +65,4 @@ namespace big
} }
}); });
} }
} }

View File

@ -9,21 +9,21 @@ namespace big
components::sub_title("CRIMINAL_DAMAGE"_T); components::sub_title("CRIMINAL_DAMAGE"_T);
ImGui::PushID(2); ImGui::PushID(2);
components::button("VIEW_NET_MISSIONS_START_EVENT"_T, [] { components::button("VIEW_NET_MISSIONS_START_EVENT"_T, [] {
if (scripts::force_host(RAGE_JOAAT("am_criminal_damage"))) if (scripts::force_host("am_criminal_damage"_J))
if (auto script = gta_util::find_script_thread(RAGE_JOAAT("am_criminal_damage"))) if (auto script = gta_util::find_script_thread("am_criminal_damage"_J))
*script_local(script->m_stack, scr_locals::am_criminal_damage::broadcast_idx).at(43).as<int*>() = 0; *script_local(script->m_stack, scr_locals::am_criminal_damage::broadcast_idx).at(43).as<int*>() = 0;
}); });
ImGui::SameLine(); ImGui::SameLine();
components::button("VIEW_NET_MISSIONS_FINISH_EVENT"_T, [] { components::button("VIEW_NET_MISSIONS_FINISH_EVENT"_T, [] {
if (scripts::force_host(RAGE_JOAAT("am_criminal_damage"))) if (scripts::force_host("am_criminal_damage"_J))
if (auto script = gta_util::find_script_thread(RAGE_JOAAT("am_criminal_damage"))) if (auto script = gta_util::find_script_thread("am_criminal_damage"_J))
*script_local(script->m_stack, scr_locals::am_criminal_damage::broadcast_idx).at(39).as<int*>() = 0; *script_local(script->m_stack, scr_locals::am_criminal_damage::broadcast_idx).at(39).as<int*>() = 0;
}); });
ImGui::PopID(); ImGui::PopID();
components::button("VIEW_NET_MISSIONS_MAX_SCORE"_T, [] { components::button("VIEW_NET_MISSIONS_MAX_SCORE"_T, [] {
if (auto criminal_damage = gta_util::find_script_thread(RAGE_JOAAT("am_criminal_damage"))) if (auto criminal_damage = gta_util::find_script_thread("am_criminal_damage"_J))
*script_local(criminal_damage->m_stack, scr_locals::am_criminal_damage::score_idx).as<int*>() = 999'999'999; *script_local(criminal_damage->m_stack, scr_locals::am_criminal_damage::score_idx).as<int*>() = 999'999'999;
}); });
} }
} }

View File

@ -34,7 +34,7 @@ namespace big
inline void render_hunt_the_beast_ui() inline void render_hunt_the_beast_ui()
{ {
if (auto hunt_the_beast_script_thread = gta_util::find_script_thread(RAGE_JOAAT("am_hunt_the_beast"))) if (auto hunt_the_beast_script_thread = gta_util::find_script_thread("am_hunt_the_beast"_J))
{ {
auto beast_player_index = auto beast_player_index =
*script_local(hunt_the_beast_script_thread, scr_locals::am_hunt_the_beast::broadcast_idx).at(1).at(6).as<uint32_t*>(); *script_local(hunt_the_beast_script_thread, scr_locals::am_hunt_the_beast::broadcast_idx).at(1).at(6).as<uint32_t*>();
@ -53,7 +53,7 @@ namespace big
static int* num_landmarks = nullptr; static int* num_landmarks = nullptr;
if (!num_landmarks) if (!num_landmarks)
num_landmarks = g_tunables_service->get_tunable<int*>(RAGE_JOAAT("HUNT_THE_BEAST_NUMBER_OF_ACTIVE_LANDMARKS")); num_landmarks = g_tunables_service->get_tunable<int*>("HUNT_THE_BEAST_NUMBER_OF_ACTIVE_LANDMARKS"_J);
if (ImGui::BeginListBox("##beastlandmarks", ImVec2(400, 300))) if (ImGui::BeginListBox("##beastlandmarks", ImVec2(400, 300)))
{ {
@ -77,4 +77,4 @@ namespace big
} }
} }
} }
} }

View File

@ -7,22 +7,22 @@ namespace big
components::sub_title("KING_OF_THE_CASTLE"_T); components::sub_title("KING_OF_THE_CASTLE"_T);
ImGui::PushID(3); ImGui::PushID(3);
components::button("VIEW_NET_MISSIONS_START_EVENT"_T, [] { components::button("VIEW_NET_MISSIONS_START_EVENT"_T, [] {
if (scripts::force_host(RAGE_JOAAT("am_king_of_the_castle"))) if (scripts::force_host("am_king_of_the_castle"_J))
if (auto script = gta_util::find_script_thread(RAGE_JOAAT("am_king_of_the_castle"))) if (auto script = gta_util::find_script_thread("am_king_of_the_castle"_J))
*script_local(script->m_stack, scr_locals::am_king_of_the_castle::broadcast_idx).at(1).at(1).as<int*>() = 0; *script_local(script->m_stack, scr_locals::am_king_of_the_castle::broadcast_idx).at(1).at(1).as<int*>() = 0;
}); });
ImGui::SameLine(); ImGui::SameLine();
components::button("VIEW_NET_MISSIONS_FINISH_EVENT"_T, [] { components::button("VIEW_NET_MISSIONS_FINISH_EVENT"_T, [] {
if (scripts::force_host(RAGE_JOAAT("am_king_of_the_castle"))) if (scripts::force_host("am_king_of_the_castle"_J))
if (auto script = gta_util::find_script_thread(RAGE_JOAAT("am_king_of_the_castle"))) if (auto script = gta_util::find_script_thread("am_king_of_the_castle"_J))
*script_local(script->m_stack, scr_locals::am_king_of_the_castle::broadcast_idx).at(1).at(3).as<int*>() = 0; *script_local(script->m_stack, scr_locals::am_king_of_the_castle::broadcast_idx).at(1).at(3).as<int*>() = 0;
}); });
ImGui::PopID(); ImGui::PopID();
components::button("VIEW_NET_MISSIONS_KOTC_BECOME_THE_KING"_T, [] { components::button("VIEW_NET_MISSIONS_KOTC_BECOME_THE_KING"_T, [] {
if (scripts::force_host(RAGE_JOAAT("am_king_of_the_castle"))) if (scripts::force_host("am_king_of_the_castle"_J))
{ {
if (auto kotc = gta_util::find_script_thread(RAGE_JOAAT("am_king_of_the_castle"))) if (auto kotc = gta_util::find_script_thread("am_king_of_the_castle"_J))
{ {
auto kotc_king = script_local(kotc->m_stack, scr_locals::am_king_of_the_castle::broadcast_idx).at(6).at(0, 204).at(74).at(0, 4); auto kotc_king = script_local(kotc->m_stack, scr_locals::am_king_of_the_castle::broadcast_idx).at(6).at(0, 204).at(74).at(0, 4);
*kotc_king.as<int*>() = 0; *kotc_king.as<int*>() = 0;
@ -34,9 +34,9 @@ namespace big
}); });
ImGui::SameLine(); ImGui::SameLine();
components::button("VIEW_NET_MISSIONS_KOTC_DETHRONE_EVERYONE"_T, [] { components::button("VIEW_NET_MISSIONS_KOTC_DETHRONE_EVERYONE"_T, [] {
if (scripts::force_host(RAGE_JOAAT("am_king_of_the_castle"))) if (scripts::force_host("am_king_of_the_castle"_J))
{ {
if (auto kotc = gta_util::find_script_thread(RAGE_JOAAT("am_king_of_the_castle"))) if (auto kotc = gta_util::find_script_thread("am_king_of_the_castle"_J))
{ {
for (int i = 0; i < *script_local(kotc->m_stack, scr_locals::am_king_of_the_castle::broadcast_idx) for (int i = 0; i < *script_local(kotc->m_stack, scr_locals::am_king_of_the_castle::broadcast_idx)
.at(6) .at(6)
@ -77,4 +77,4 @@ namespace big
} }
}); });
} }
} }

View File

@ -112,16 +112,16 @@ namespace big
ImGui::Separator(); ImGui::Separator();
if (check_script(RAGE_JOAAT("am_criminal_damage"))) if (check_script("am_criminal_damage"_J))
render_criminal_damage_ui(); render_criminal_damage_ui();
if (check_script(RAGE_JOAAT("am_cp_collection"))) if (check_script("am_cp_collection"_J))
render_cp_collection_ui(); render_cp_collection_ui();
if (check_script(RAGE_JOAAT("am_king_of_the_castle"))) if (check_script("am_king_of_the_castle"_J))
render_king_of_the_castle_ui(); render_king_of_the_castle_ui();
if (check_script(RAGE_JOAAT("am_hunt_the_beast"))) if (check_script("am_hunt_the_beast"_J))
render_hunt_the_beast_ui(); render_hunt_the_beast_ui();
if (!mission_found) if (!mission_found)
@ -129,4 +129,4 @@ namespace big
ImGui::Text("VIEW_NET_MISSIONS_NO_ACTIVE_MISSION"_T.data()); ImGui::Text("VIEW_NET_MISSIONS_NO_ACTIVE_MISSION"_T.data());
} }
} }
} }

View File

@ -334,12 +334,12 @@ namespace big
{ {
if (g.session.force_script_host) if (g.session.force_script_host)
g_fiber_pool->queue_job([] { g_fiber_pool->queue_job([] {
scripts::force_host(RAGE_JOAAT("freemode")); scripts::force_host("freemode"_J);
if (auto script = gta_util::find_script_thread(RAGE_JOAAT("freemode")); script && script->m_net_component) if (auto script = gta_util::find_script_thread("freemode"_J); script && script->m_net_component)
((CGameScriptHandlerNetComponent*)script->m_net_component)->block_host_migration(true); ((CGameScriptHandlerNetComponent*)script->m_net_component)->block_host_migration(true);
scripts::force_host(RAGE_JOAAT("fmmc_launcher")); scripts::force_host("fmmc_launcher"_J);
if (auto script = gta_util::find_script_thread(RAGE_JOAAT("fmmc_launcher")); script && script->m_net_component) if (auto script = gta_util::find_script_thread("fmmc_launcher"_J); script && script->m_net_component)
((CGameScriptHandlerNetComponent*)script->m_net_component)->block_host_migration(true); ((CGameScriptHandlerNetComponent*)script->m_net_component)->block_host_migration(true);
}); });
} }

View File

@ -77,7 +77,7 @@ namespace big
}); });
ImGui::SameLine(); ImGui::SameLine();
components::button("JOIN"_T, [session] { components::button("JOIN"_T, [session] {
if (SCRIPT::GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(RAGE_JOAAT("maintransition")) != 0 || STREAMING::IS_PLAYER_SWITCH_IN_PROGRESS()) if (SCRIPT::GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH("maintransition"_J) != 0 || STREAMING::IS_PLAYER_SWITCH_IN_PROGRESS())
{ {
g_notification_service->push_error("JOIN_SESSION"_T.data(), "PLAYER_SWITCH_IN_PROGRESS"_T.data()); g_notification_service->push_error("JOIN_SESSION"_T.data(), "PLAYER_SWITCH_IN_PROGRESS"_T.data());
return; return;

View File

@ -45,8 +45,8 @@ namespace big
// clang-format off // clang-format off
ImGui::BeginDisabled(!*g_pointers->m_gta.m_is_session_started || ImGui::BeginDisabled(!*g_pointers->m_gta.m_is_session_started ||
gpbd_fm_3->Entries[self::id].BossGoon.Boss != -1 || gpbd_fm_3->Entries[self::id].BossGoon.Boss != -1 ||
gta_util::find_script_thread(RAGE_JOAAT("fm_mission_controller")) || gta_util::find_script_thread("fm_mission_controller"_J) ||
gta_util::find_script_thread(RAGE_JOAAT("fm_mission_controller_2020"))); gta_util::find_script_thread("fm_mission_controller_2020"_J));
// clang-format on // clang-format on
components::command_checkbox<"passive">(); components::command_checkbox<"passive">();
ImGui::EndDisabled(); ImGui::EndDisabled();

View File

@ -105,14 +105,14 @@ namespace big
WEAPON::GIVE_DELAYED_WEAPON_TO_PED(self::ped, weapon.m_hash, 9999, false); WEAPON::GIVE_DELAYED_WEAPON_TO_PED(self::ped, weapon.m_hash, 9999, false);
} }
constexpr auto parachute_hash = RAGE_JOAAT("GADGET_PARACHUTE"); constexpr auto parachute_hash = "GADGET_PARACHUTE"_J;
WEAPON::GIVE_DELAYED_WEAPON_TO_PED(self::ped, parachute_hash, 0, true); WEAPON::GIVE_DELAYED_WEAPON_TO_PED(self::ped, parachute_hash, 0, true);
}); });
ImGui::SameLine(); ImGui::SameLine();
components::button("REMOVE_CUR_WEAPON"_T, [] { components::button("REMOVE_CUR_WEAPON"_T, [] {
Hash weaponHash; Hash weaponHash;
WEAPON::GET_CURRENT_PED_WEAPON(self::ped, &weaponHash, 1); WEAPON::GET_CURRENT_PED_WEAPON(self::ped, &weaponHash, 1);
if (weaponHash != RAGE_JOAAT("WEAPON_UNARMED")) if (weaponHash != "WEAPON_UNARMED"_J)
{ {
WEAPON::REMOVE_WEAPON_FROM_PED(self::ped, weaponHash); WEAPON::REMOVE_WEAPON_FROM_PED(self::ped, weaponHash);
} }

View File

@ -114,19 +114,19 @@ namespace big
components::sub_title("CREATOR_LAUNCH"_T); components::sub_title("CREATOR_LAUNCH"_T);
ImGui::BeginGroup(); ImGui::BeginGroup();
components::button("RACE"_T, [] { components::button("RACE"_T, [] {
scripts::start_creator_script(RAGE_JOAAT("fm_race_creator")); scripts::start_creator_script("fm_race_creator"_J);
}); });
ImGui::SameLine(); ImGui::SameLine();
components::button("CAPTURE"_T, [] { components::button("CAPTURE"_T, [] {
scripts::start_creator_script(RAGE_JOAAT("fm_capture_creator")); scripts::start_creator_script("fm_capture_creator"_J);
}); });
ImGui::SameLine(); ImGui::SameLine();
components::button("DEATHMATCH"_T, [] { components::button("DEATHMATCH"_T, [] {
scripts::start_creator_script(RAGE_JOAAT("fm_deathmatch_creator")); scripts::start_creator_script("fm_deathmatch_creator"_J);
}); });
ImGui::SameLine(); ImGui::SameLine();
components::button("LTS"_T, [] { components::button("LTS"_T, [] {
scripts::start_creator_script(RAGE_JOAAT("fm_lts_creator")); scripts::start_creator_script("fm_lts_creator"_J);
}); });
ImGui::EndGroup(); ImGui::EndGroup();

View File

@ -35,7 +35,7 @@ namespace big
{ {
if (selected_ped_weapon_type == SPAWN_PED_ALL_WEAPONS || weapon.m_weapon_type == weapon_type_arr[selected_ped_weapon_type]) if (selected_ped_weapon_type == SPAWN_PED_ALL_WEAPONS || weapon.m_weapon_type == weapon_type_arr[selected_ped_weapon_type])
{ {
if ((selected_ped_weapon_hash == 0 || weapon.m_hash == selected_ped_weapon_hash) && weapon.m_hash != RAGE_JOAAT("WEAPON_UNARMED")) if ((selected_ped_weapon_hash == 0 || weapon.m_hash == selected_ped_weapon_hash) && weapon.m_hash != "WEAPON_UNARMED"_J)
{ {
WEAPON::GIVE_WEAPON_TO_PED(ped, weapon.m_hash, 9999, false, selected_ped_weapon_hash != 0); WEAPON::GIVE_WEAPON_TO_PED(ped, weapon.m_hash, 9999, false, selected_ped_weapon_hash != 0);
} }
@ -132,7 +132,7 @@ namespace big
PED::SET_PED_SEEING_RANGE(ped, 200.0f); PED::SET_PED_SEEING_RANGE(ped, 200.0f);
PED::SET_PED_HEARING_RANGE(ped, 200.0f); PED::SET_PED_HEARING_RANGE(ped, 200.0f);
PED::SET_PED_ID_RANGE(ped, 200.0f); PED::SET_PED_ID_RANGE(ped, 200.0f);
PED::SET_PED_FIRING_PATTERN(ped, RAGE_JOAAT("FIRING_PATTERN_FULL_AUTO")); PED::SET_PED_FIRING_PATTERN(ped, "FIRING_PATTERN_FULL_AUTO"_J);
PED::SET_PED_SHOOT_RATE(ped, 150); PED::SET_PED_SHOOT_RATE(ped, 150);
if (!clone) if (!clone)
@ -177,7 +177,7 @@ namespace big
PED::SET_PED_KEEP_TASK(ped, true); PED::SET_PED_KEEP_TASK(ped, true);
PED::SET_BLOCKING_OF_NON_TEMPORARY_EVENTS(ped, true); PED::SET_BLOCKING_OF_NON_TEMPORARY_EVENTS(ped, true);
TASK::TASK_COMBAT_PED(ped, player_ped, 0, 16); TASK::TASK_COMBAT_PED(ped, player_ped, 0, 16);
PED::SET_PED_RELATIONSHIP_GROUP_HASH(ped, RAGE_JOAAT("HATES_PLAYER")); PED::SET_PED_RELATIONSHIP_GROUP_HASH(ped, "HATES_PLAYER"_J);
PED::SET_PED_ALERTNESS(ped, 3); PED::SET_PED_ALERTNESS(ped, 3);
} }