From e07601347d9578ede0f21d069ad1b177d6cfa2d2 Mon Sep 17 00:00:00 2001 From: Andreas Maerten <24669514+Yimura@users.noreply.github.com> Date: Tue, 12 Mar 2024 09:42:11 +0100 Subject: [PATCH] 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 ``` --- .../commands/player/kick/end_session_kick.cpp | 4 +- .../commands/player/kick/multi_kick.cpp | 12 +- .../commands/player/kick/script_host_kick.cpp | 4 +- .../commands/player/toxic/kill_player.cpp | 4 +- .../commands/player/toxic/turn_into_beast.cpp | 12 +- .../looped/hud/hud_transition_state.cpp | 4 +- src/backend/looped/player/toxic_options.cpp | 2 +- src/backend/looped/self/dance_mode.cpp | 14 +- src/backend/looped/self/persist_outfit.cpp | 8 +- src/backend/looped/self/super_hero_fly.cpp | 4 +- src/backend/looped/self/toggle_passive.cpp | 4 +- src/backend/looped/session/auto_kick_host.cpp | 2 +- src/backend/looped/session/block_jobs.cpp | 8 +- src/backend/looped/session/force_thunder.cpp | 4 +- .../looped/session/pop_multiplier_areas.cpp | 8 +- .../looped/session/randomize_ceo_colors.cpp | 4 +- src/backend/looped/system/mission_creator.cpp | 4 +- src/backend/looped/system/self_globals.cpp | 2 +- src/backend/looped/system/spoofing.cpp | 2 +- src/backend/looped/tunables/no_idle_kick.cpp | 16 +- .../vehicle/allow_all_vehicles_in_heists.cpp | 4 +- src/backend/looped/vehicle/drive_on_water.cpp | 2 +- src/backend/looped/vehicle/ls_customs.cpp | 14 +- .../vehicle/vehicle_ammo_special_type.cpp | 2 +- src/backend/looped/world/spawn_ped.cpp | 4 +- src/backend/looped/world/weather_override.cpp | 4 +- src/backend/reactions/reaction.cpp | 2 +- src/backend/script_patches.hpp | 44 +- src/core/data/all_script_names.hpp | 448 ++--- src/gta/joaat.hpp | 81 +- src/gta/pickup_rewards.hpp | 306 +-- src/gta/vehicles.hpp | 1654 ++++++++--------- src/gta/weapons.hpp | 40 +- src/gui/components/components.hpp | 12 +- src/hooks/info/get_network_event_data.cpp | 16 +- src/hooks/misc/log_message_error_box.cpp | 2 +- .../assign_physical_index.cpp | 6 +- src/hooks/protections/can_apply_data.cpp | 4 +- .../protections/increment_stat_event.cpp | 22 +- src/hooks/protections/receive_net_message.cpp | 10 +- .../protections/received_array_update.cpp | 4 +- src/hooks/protections/received_event.cpp | 6 +- .../protections/script_event_handler.cpp | 6 +- .../serialize_take_off_ped_variation_task.cpp | 16 +- .../protections/update_presence_attribute.cpp | 8 +- src/hooks/spoofing/serialize_stats.cpp | 12 +- src/lua/bindings/gui/text.cpp | 10 +- src/main.cpp | 6 +- src/native_hooks/all_scripts.hpp | 4 +- src/native_hooks/am_launcher.hpp | 4 +- src/native_hooks/carmod_shop.hpp | 68 +- src/native_hooks/creator.hpp | 8 +- src/native_hooks/freemode.hpp | 8 +- src/native_hooks/native_hooks.cpp | 106 +- src/script_function.hpp | 20 +- src/script_mgr.cpp | 2 +- .../context_menu/context_menu_service.hpp | 12 +- .../creator_storage_service.cpp | 12 +- .../custom_text/custom_text_service.cpp | 8 +- src/services/gta_data/gta_data_service.cpp | 4 +- src/services/hotkey/hotkey_service.cpp | 50 +- src/services/mobile/mobile_service.cpp | 96 +- src/services/outfit/outfit_service.cpp | 4 +- src/services/pickups/pickup_service.cpp | 8 +- src/services/squad_spawner/squad_spawner.cpp | 2 +- src/services/tunables/tunables_service.cpp | 18 +- src/services/vehicle/persist_car_service.cpp | 2 +- .../vehicle/vehicle_control_service.cpp | 4 +- src/util/entity.cpp | 2 +- src/util/fuzzer.hpp | 46 +- src/util/mobile.hpp | 2 +- src/util/ped.hpp | 2 +- src/util/protection.cpp | 80 +- src/util/scripts.hpp | 8 +- src/util/session.hpp | 14 +- src/util/sync_trees.hpp | 5 +- src/util/train.hpp | 4 +- src/views/debug/view_debug_misc.cpp | 8 +- src/views/network/missions/cp_collection.hpp | 20 +- .../network/missions/criminal_damage.hpp | 12 +- src/views/network/missions/hunt_the_beast.hpp | 6 +- .../network/missions/king_of_the_castle.hpp | 18 +- src/views/network/view_missions.cpp | 10 +- src/views/network/view_network.cpp | 8 +- src/views/network/view_session_browser.cpp | 2 +- src/views/self/view_self.cpp | 4 +- src/views/self/view_weapons.cpp | 4 +- src/views/world/view_creator.cpp | 8 +- src/views/world/view_spawn_ped.cpp | 6 +- 89 files changed, 1788 insertions(+), 1788 deletions(-) diff --git a/src/backend/commands/player/kick/end_session_kick.cpp b/src/backend/commands/player/kick/end_session_kick.cpp index 723a43f4..bd401c25 100644 --- a/src/backend/commands/player/kick/end_session_kick.cpp +++ b/src/backend/commands/player/kick/end_session_kick.cpp @@ -19,7 +19,7 @@ namespace big { if (!player) 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()); return; @@ -33,4 +33,4 @@ namespace big }; end_session_kick g_end_session_kick("endkick", "END_KICK", "END_KICK_DESC", 0, false); -} \ No newline at end of file +} diff --git a/src/backend/commands/player/kick/multi_kick.cpp b/src/backend/commands/player/kick/multi_kick.cpp index 14bb7c1f..7c77b6d3 100644 --- a/src/backend/commands/player/kick/multi_kick.cpp +++ b/src/backend/commands/player/kick/multi_kick.cpp @@ -17,19 +17,19 @@ namespace big virtual void execute(player_ptr player, const command_arguments& _args, const std::shared_ptr ctx) override { - dynamic_cast(command::get(RAGE_JOAAT("nfkick")))->call(player, {}); - dynamic_cast(command::get(RAGE_JOAAT("oomkick")))->call(player, {}); - dynamic_cast(command::get(RAGE_JOAAT("endkick")))->call(player, {}); + dynamic_cast(command::get("nfkick"_J))->call(player, {}); + dynamic_cast(command::get("oomkick"_J))->call(player, {}); + dynamic_cast(command::get("endkick"_J))->call(player, {}); script::get_current()->yield(700ms); if (g_player_service->get_self()->is_host()) - dynamic_cast(command::get(RAGE_JOAAT("hostkick")))->call(player, {}); + dynamic_cast(command::get("hostkick"_J))->call(player, {}); if (player && !g_player_service->get_self()->is_host() && player->is_valid() && !player->is_host()) - dynamic_cast(command::get(RAGE_JOAAT("desync")))->call(player, {}); + dynamic_cast(command::get("desync"_J))->call(player, {}); if (g_player_service->get_self()->is_host()) - dynamic_cast(command::get(RAGE_JOAAT("breakup")))->call(player, {}), + dynamic_cast(command::get("breakup"_J))->call(player, {}), NETWORK::NETWORK_SESSION_KICK_PLAYER(player->id()); } }; diff --git a/src/backend/commands/player/kick/script_host_kick.cpp b/src/backend/commands/player/kick/script_host_kick.cpp index e40e8277..d66330e5 100644 --- a/src/backend/commands/player/kick/script_host_kick.cpp +++ b/src/backend/commands/player/kick/script_host_kick.cpp @@ -19,7 +19,7 @@ namespace big { if (!player) return; - if (!scripts::force_host(RAGE_JOAAT("freemode"))) + if (!scripts::force_host("freemode"_J)) { g_notification_service->push_error("Kick", "Force script host failed!"); return; @@ -30,4 +30,4 @@ namespace big }; script_host_kick g_script_host_kick("shkick", "SCRIPT_HOST_KICK", "SCRIPT_HOST_KICK_DESC", 0, false); -} \ No newline at end of file +} diff --git a/src/backend/commands/player/toxic/kill_player.cpp b/src/backend/commands/player/toxic/kill_player.cpp index e8ee3896..1606ca8d 100644 --- a/src/backend/commands/player/toxic/kill_player.cpp +++ b/src/backend/commands/player/toxic/kill_player.cpp @@ -23,7 +23,7 @@ namespace big player->get_ped()->m_navigation->get_position(), 0, true, - RAGE_JOAAT("weapon_explosion"), + "weapon_explosion"_J, 10000.0f, 2, 0, @@ -40,4 +40,4 @@ namespace big }; kill_player g_kill_player("kill", "KILL_PLAYER", "KILL_PLAYER_DESC", 0); -} \ No newline at end of file +} diff --git a/src/backend/commands/player/toxic/turn_into_beast.cpp b/src/backend/commands/player/toxic/turn_into_beast.cpp index 155c8e9e..1aa70b27 100644 --- a/src/backend/commands/player/toxic/turn_into_beast.cpp +++ b/src/backend/commands/player/toxic/turn_into_beast.cpp @@ -46,13 +46,13 @@ namespace big if (!NETWORK::NETWORK_IS_PLAYER_CONNECTED(id)) 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()); 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 net_component = (CGameScriptHandlerNetComponent*)thread->m_net_component; auto idx = scr_locals::am_hunt_the_beast::broadcast_idx; @@ -85,7 +85,7 @@ namespace big { 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) { @@ -98,7 +98,7 @@ namespace big 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()); return; @@ -106,7 +106,7 @@ namespace big 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) 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_all g_turn_into_beast_all("beastall", "TURN_INTO_BEAST_ALL", "TURN_INTO_BEAST_ALL_DESC", 0); -} \ No newline at end of file +} diff --git a/src/backend/looped/hud/hud_transition_state.cpp b/src/backend/looped/hud/hud_transition_state.cpp index 27643a33..88ba95d5 100644 --- a/src/backend/looped/hud/hud_transition_state.cpp +++ b/src/backend/looped/hud/hud_transition_state.cpp @@ -18,7 +18,7 @@ namespace big const auto state = *scr_globals::transition_state.as(); const std::vector 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; // When freemode script loaded remove loading screen. @@ -41,7 +41,7 @@ namespace big { rage::scrThread* freemode{}; 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 received_array_handlers{}; diff --git a/src/backend/looped/player/toxic_options.cpp b/src/backend/looped/player/toxic_options.cpp index 8027d3bd..a432b0d1 100644 --- a/src/backend/looped/player/toxic_options.cpp +++ b/src/backend/looped/player/toxic_options.cpp @@ -23,7 +23,7 @@ namespace big entry.second->get_ped()->m_navigation->get_position(), 0, true, - RAGE_JOAAT("weapon_explosion"), + "weapon_explosion"_J, 10000.0f, 2, 0, diff --git a/src/backend/looped/self/dance_mode.cpp b/src/backend/looped/self/dance_mode.cpp index 93d228c2..38fb38ba 100644 --- a/src/backend/looped/self/dance_mode.cpp +++ b/src/backend/looped/self/dance_mode.cpp @@ -10,24 +10,24 @@ namespace big bool bLastDanceMode = false; void looped::self_dance_mode() { - if (g.self.dance_mode && SCRIPT::GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(RAGE_JOAAT("maintransition")) > 0) + if (g.self.dance_mode && SCRIPT::GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH("maintransition"_J) > 0) g.self.dance_mode = false; if (g.self.dance_mode && g.self.dance_mode != bLastDanceMode) { g_script_patcher_service->update(); - scripts::request_script(RAGE_JOAAT("am_mp_nightclub")); - if (!scripts::wait_till_loaded(RAGE_JOAAT("am_mp_nightclub"))) + scripts::request_script("am_mp_nightclub"_J); + if (!scripts::wait_till_loaded("am_mp_nightclub"_J)) return; - auto thread = SYSTEM::START_NEW_SCRIPT_WITH_NAME_HASH(RAGE_JOAAT("am_mp_nightclub"), 19400 /*PROPERTY_INT*/); - SCRIPT::SET_SCRIPT_WITH_NAME_HASH_AS_NO_LONGER_NEEDED(RAGE_JOAAT("am_mp_nightclub")); + 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("am_mp_nightclub"_J); if (!thread) return; 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); @@ -63,4 +63,4 @@ namespace big scr_functions::dance_loop.call(g.m_dance_thread, g.m_dance_program, {}); } } -} \ No newline at end of file +} diff --git a/src/backend/looped/self/persist_outfit.cpp b/src/backend/looped/self/persist_outfit.cpp index 6eb46f5a..69689832 100644 --- a/src/backend/looped/self/persist_outfit.cpp +++ b/src/backend/looped/self/persist_outfit.cpp @@ -15,8 +15,8 @@ namespace big int offset = 0; switch (model) { - case RAGE_JOAAT("mp_m_freemode_01"): break; - case RAGE_JOAAT("mp_f_freemode_01"): + case "mp_m_freemode_01"_J: break; + case "mp_f_freemode_01"_J: { offset = 1; break; @@ -31,7 +31,7 @@ namespace big { //Disable clothing validation *scr_globals::reset_clothing.as() = FALSE; - if (auto tunable = g_tunables_service->get_tunable(RAGE_JOAAT("DISABLE_CLOTHING_SAVE_SLOT_VALIDATION"))) + if (auto tunable = g_tunables_service->get_tunable("DISABLE_CLOTHING_SAVE_SLOT_VALIDATION"_J)) *tunable = TRUE; if (g.self.persist_outfit.empty()) @@ -62,4 +62,4 @@ namespace big if (outfit.contains("model") && outfit["model"].get() == model) outfit_service::apply_outfit(outfit, false); } -} \ No newline at end of file +} diff --git a/src/backend/looped/self/super_hero_fly.cpp b/src/backend/looped/self/super_hero_fly.cpp index e13a21a8..e832c28d 100644 --- a/src/backend/looped/self/super_hero_fly.cpp +++ b/src/backend/looped/self/super_hero_fly.cpp @@ -213,7 +213,7 @@ namespace big if (!m_landing && m_flying) { //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); detach_delete_vehicle(); 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); 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); -} \ No newline at end of file +} diff --git a/src/backend/looped/self/toggle_passive.cpp b/src/backend/looped/self/toggle_passive.cpp index bd632d30..a3a5c83d 100644 --- a/src/backend/looped/self/toggle_passive.cpp +++ b/src/backend/looped/self/toggle_passive.cpp @@ -15,7 +15,7 @@ namespace big virtual void on_tick() override { - if (scr_globals::gpbd_fm_3.as()->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()->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(); g.self.passive = false; @@ -39,4 +39,4 @@ namespace big }; toggle_passive g_toggle_passive("passive", "PASSIVE", "PASSIVE_DESC", g.self.passive); -} \ No newline at end of file +} diff --git a/src/backend/looped/session/auto_kick_host.cpp b/src/backend/looped/session/auto_kick_host.cpp index fbe98ad2..08a13635 100644 --- a/src/backend/looped/session/auto_kick_host.cpp +++ b/src/backend/looped/session/auto_kick_host.cpp @@ -14,7 +14,7 @@ namespace big g_player_service->iterate([](auto& plyr) { if (plyr.second->is_host()) { - dynamic_cast(command::get(RAGE_JOAAT("multikick")))->call(plyr.second, {}); + dynamic_cast(command::get("multikick"_J))->call(plyr.second, {}); } }); } diff --git a/src/backend/looped/session/block_jobs.cpp b/src/backend/looped/session/block_jobs.cpp index 8b751a5e..bbe4e965 100644 --- a/src/backend/looped/session/block_jobs.cpp +++ b/src/backend/looped/session/block_jobs.cpp @@ -14,18 +14,18 @@ namespace big bool used = g.session.block_jobs && *g_pointers->m_gta.m_is_session_started; 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() = (-1 & ~(1 << self::id)); bLastBlockJobsEnabled = true; } } 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() = 0; } diff --git a/src/backend/looped/session/force_thunder.cpp b/src/backend/looped/session/force_thunder.cpp index b288fdad..01897a4c 100644 --- a/src/backend/looped/session/force_thunder.cpp +++ b/src/backend/looped/session/force_thunder.cpp @@ -13,7 +13,7 @@ namespace big bool used = g.session.force_thunder && *g_pointers->m_gta.m_is_session_started; if (!bLastForceThunderEnabled && used) { - if (!STREAMING::IS_PLAYER_SWITCH_IN_PROGRESS() && gta_util::find_script_thread(RAGE_JOAAT("freemode")) && SCRIPT::GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(RAGE_JOAAT("maintransition")) == 0) + 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(10); @@ -23,7 +23,7 @@ namespace big } 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(10); diff --git a/src/backend/looped/session/pop_multiplier_areas.cpp b/src/backend/looped/session/pop_multiplier_areas.cpp index e5a7e7fb..ea8c3963 100644 --- a/src/backend/looped/session/pop_multiplier_areas.cpp +++ b/src/backend/looped/session/pop_multiplier_areas.cpp @@ -15,9 +15,9 @@ namespace big bool used = (g.session.disable_traffic || g.session.disable_peds) && *g_pointers->m_gta.m_is_session_started; if (!bLastPopMultiplierAreasEnabled && used) { - if (!STREAMING::IS_PLAYER_SWITCH_IN_PROGRESS() && gta_util::find_script_thread(RAGE_JOAAT("freemode")) && SCRIPT::GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(RAGE_JOAAT("maintransition")) == 0) + 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, 1.1f, 1.1f, @@ -44,9 +44,9 @@ namespace big 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); }); } diff --git a/src/backend/looped/session/randomize_ceo_colors.cpp b/src/backend/looped/session/randomize_ceo_colors.cpp index 29db62f3..0399a67c 100644 --- a/src/backend/looped/session/randomize_ceo_colors.cpp +++ b/src/backend/looped/session/randomize_ceo_colors.cpp @@ -9,9 +9,9 @@ namespace big { 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()) { for (int i = 0; i < *scr_globals::gsbd.at(818).at(44).as(); i++) diff --git a/src/backend/looped/system/mission_creator.cpp b/src/backend/looped/system/mission_creator.cpp index 390afad7..db89489b 100644 --- a/src/backend/looped/system/mission_creator.cpp +++ b/src/backend/looped/system/mission_creator.cpp @@ -14,7 +14,7 @@ namespace big { *scr_globals::terminate_creator.as() = 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) g.m_mission_creator_thread->kill(); @@ -36,4 +36,4 @@ namespace big bLastMissionCreator = false; } } -} \ No newline at end of file +} diff --git a/src/backend/looped/system/self_globals.cpp b/src/backend/looped/system/self_globals.cpp index a8089bbd..469a6353 100644 --- a/src/backend/looped/system/self_globals.cpp +++ b/src/backend/looped/system/self_globals.cpp @@ -16,7 +16,7 @@ namespace big 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*/); diff --git a/src/backend/looped/system/spoofing.cpp b/src/backend/looped/system/spoofing.cpp index efd6c479..ab2e0f84 100644 --- a/src/backend/looped/system/spoofing.cpp +++ b/src/backend/looped/system/spoofing.cpp @@ -37,7 +37,7 @@ namespace big 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 (g.spoofing.spoof_rank) diff --git a/src/backend/looped/tunables/no_idle_kick.cpp b/src/backend/looped/tunables/no_idle_kick.cpp index 4fa77d48..6f9365f5 100644 --- a/src/backend/looped/tunables/no_idle_kick.cpp +++ b/src/backend/looped/tunables/no_idle_kick.cpp @@ -17,14 +17,14 @@ namespace big { if (!m_ready_to_use) { - m_tunables[0] = g_tunables_service->get_tunable(RAGE_JOAAT("IDLEKICK_WARNING1")); - m_tunables[1] = g_tunables_service->get_tunable(RAGE_JOAAT("IDLEKICK_WARNING2")); - m_tunables[2] = g_tunables_service->get_tunable(RAGE_JOAAT("IDLEKICK_WARNING3")); - m_tunables[3] = g_tunables_service->get_tunable(RAGE_JOAAT("IDLEKICK_KICK")); - m_tunables[4] = g_tunables_service->get_tunable(RAGE_JOAAT("ConstrainedKick_Warning1")); - m_tunables[5] = g_tunables_service->get_tunable(RAGE_JOAAT("ConstrainedKick_Warning2")); - m_tunables[6] = g_tunables_service->get_tunable(RAGE_JOAAT("ConstrainedKick_Warning3")); - m_tunables[7] = g_tunables_service->get_tunable(RAGE_JOAAT("ConstrainedKick_Kick")); + m_tunables[0] = g_tunables_service->get_tunable("IDLEKICK_WARNING1"_J); + m_tunables[1] = g_tunables_service->get_tunable("IDLEKICK_WARNING2"_J); + m_tunables[2] = g_tunables_service->get_tunable("IDLEKICK_WARNING3"_J); + m_tunables[3] = g_tunables_service->get_tunable("IDLEKICK_KICK"_J); + m_tunables[4] = g_tunables_service->get_tunable("ConstrainedKick_Warning1"_J); + m_tunables[5] = g_tunables_service->get_tunable("ConstrainedKick_Warning2"_J); + m_tunables[6] = g_tunables_service->get_tunable("ConstrainedKick_Warning3"_J); + m_tunables[7] = g_tunables_service->get_tunable("ConstrainedKick_Kick"_J); // create backup of tunables m_ready_to_use = true; diff --git a/src/backend/looped/vehicle/allow_all_vehicles_in_heists.cpp b/src/backend/looped/vehicle/allow_all_vehicles_in_heists.cpp index c4a0960a..6b7a1249 100644 --- a/src/backend/looped/vehicle/allow_all_vehicles_in_heists.cpp +++ b/src/backend/looped/vehicle/allow_all_vehicles_in_heists.cpp @@ -6,7 +6,7 @@ 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 { @@ -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); -} \ No newline at end of file +} diff --git a/src/backend/looped/vehicle/drive_on_water.cpp b/src/backend/looped/vehicle/drive_on_water.cpp index dde082c6..31751146 100644 --- a/src/backend/looped/vehicle/drive_on_water.cpp +++ b/src/backend/looped/vehicle/drive_on_water.cpp @@ -10,7 +10,7 @@ namespace big { 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; Object surface; diff --git a/src/backend/looped/vehicle/ls_customs.cpp b/src/backend/looped/vehicle/ls_customs.cpp index 0858d3bb..b8d7772f 100644 --- a/src/backend/looped/vehicle/ls_customs.cpp +++ b/src/backend/looped/vehicle/ls_customs.cpp @@ -18,8 +18,8 @@ namespace big if (g.vehicle.ls_customs && g.vehicle.ls_customs != bLastLsCustoms) { g_fiber_pool->queue_job([] { - scripts::request_script(RAGE_JOAAT("carmod_shop")); - if (scripts::wait_till_loaded(RAGE_JOAAT("carmod_shop"))) + scripts::request_script("carmod_shop"_J); + if (scripts::wait_till_loaded("carmod_shop"_J)) { HUD::REQUEST_ADDITIONAL_TEXT("MOD_MNU", 9); @@ -37,7 +37,7 @@ namespace big script::get_current()->yield(); // 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) return; @@ -51,7 +51,7 @@ namespace big 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() = 2; *scr_locals::carmod_shop::input_button.set(g.m_modshop_thread->m_stack).as() = ControllerInputs::INPUT_FRONTEND_LT; } @@ -73,7 +73,7 @@ namespace big 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; 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() == 0) *scr_locals::carmod_shop::maintainer.set(g.m_modshop_thread->m_stack).at(scr_locals::carmod_shop::state).as() = 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), {}); } } -} \ No newline at end of file +} diff --git a/src/backend/looped/vehicle/vehicle_ammo_special_type.cpp b/src/backend/looped/vehicle/vehicle_ammo_special_type.cpp index 26b11b50..d13b24d0 100644 --- a/src/backend/looped/vehicle/vehicle_ammo_special_type.cpp +++ b/src/backend/looped/vehicle/vehicle_ammo_special_type.cpp @@ -92,7 +92,7 @@ namespace big // this is to differentiate missiles from turrets, mortars and barrage CAmmoRocketInfo* rocket_info = (CAmmoRocketInfo*)weapon_info->m_ammo_info; 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() diff --git a/src/backend/looped/world/spawn_ped.cpp b/src/backend/looped/world/spawn_ped.cpp index 9f9d3188..353a6eb1 100644 --- a/src/backend/looped/world/spawn_ped.cpp +++ b/src/backend/looped/world/spawn_ped.cpp @@ -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); } - 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); } diff --git a/src/backend/looped/world/weather_override.cpp b/src/backend/looped/world/weather_override.cpp index d025646e..d2fdba28 100644 --- a/src/backend/looped/world/weather_override.cpp +++ b/src/backend/looped/world/weather_override.cpp @@ -19,7 +19,7 @@ namespace big virtual void on_tick() override { if (!turn_snow_on_off) - turn_snow_on_off = g_tunables_service->get_tunable(RAGE_JOAAT("TURN_SNOW_ON_OFF")); + turn_snow_on_off = g_tunables_service->get_tunable("TURN_SNOW_ON_OFF"_J); 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); -} \ No newline at end of file +} diff --git a/src/backend/reactions/reaction.cpp b/src/backend/reactions/reaction.cpp index 4354297a..bfd51844 100644 --- a/src/backend/reactions/reaction.cpp +++ b/src/backend/reactions/reaction.cpp @@ -33,7 +33,7 @@ namespace big if (kick) { g_fiber_pool->queue_job([player] { - dynamic_cast(command::get(RAGE_JOAAT("multikick")))->call(player, {}); + dynamic_cast(command::get("multikick"_J))->call(player, {}); }); } diff --git a/src/backend/script_patches.hpp b/src/backend/script_patches.hpp index 3fc168e9..a8a189cd 100644 --- a/src/backend/script_patches.hpp +++ b/src/backend/script_patches.hpp @@ -9,63 +9,63 @@ namespace big void register_script_patches() { 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}); - 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({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({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({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({RAGE_JOAAT("freemode"), "disable population load balancing", "2D 00 07 00 00 7B", 5, {0x2E, 0x00, 0x00}, nullptr}); // disable population load balancing + {"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({"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({"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({"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({"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({"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( - {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( - {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( - {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 - g_script_patcher_service->add_patch({RAGE_JOAAT("freemode"), + {"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({"freemode"_J, "prevent normal blip update 2", "2C ? ? ? 55 ? ? 71 2C ? ? ? 61", 7, std::vector(16, 0x0), &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({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({RAGE_JOAAT("am_mp_nightclub"), + 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({"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({"am_mp_nightclub"_J, "am_mp_nightclub1", "2D 01 03 00 00 2C ? ? ? 56 ? ? 72 2E ? ? 38 00", 5, {0x72, 0x2E, 0x01, 0x01}, &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", "20 56 ? ? 4F ? ? 46 ? ? 41 ? 71", 0, {0x2B, 0x55}, &g.self.dance_mode}); - g_script_patcher_service->add_patch({RAGE_JOAAT("freemode"), + g_script_patcher_service->add_patch({"freemode"_J, "freemode9", "5D ? ? ? 56 ? ? 72 39 05 38 04 2C ? ? ? 58", 0, {0x2B, 0x2B, 0x2B, 0x00, 0x55}, &g.self.invisibility}); - g_script_patcher_service->add_patch({RAGE_JOAAT("freemode"), + g_script_patcher_service->add_patch({"freemode"_J, "freemode10", "2D 01 03 00 00 38 00 71 72 5D ? ? ? 06 56 ? ? 71 2E ? ? 2C ? ? ? 71", 5, {0x72, 0x2E, 0x01, 0x01}, &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", "2D 01 0A 00 00 4F ? ? 40 ? 41 ? 39 03", 5, {0x2E, 0x01, 0x00}, &g.vehicle.ls_customs}); // disable camera 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( - {RAGE_JOAAT("carmod_shop"), "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({RAGE_JOAAT("carmod_shop"), + {"carmod_shop"_J, "carmod_shop2", "2D 00 B8 00 00", 5, {0x2E, 0x00, 0x00}, &g.vehicle.ls_customs}); + 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({"carmod_shop"_J, "allow all vehicles 2", "2D 03 07 00 00 71 38 02", 5, @@ -78,4 +78,4 @@ namespace big g_script_patcher_service->on_script_load(entry.m_program); } } -} \ No newline at end of file +} diff --git a/src/core/data/all_script_names.hpp b/src/core/data/all_script_names.hpp index b9e1e8e2..ff51edc9 100644 --- a/src/core/data/all_script_names.hpp +++ b/src/core/data/all_script_names.hpp @@ -4,232 +4,232 @@ namespace big { constexpr const static inline auto launcher_scripts = std::to_array({ 0u, - RAGE_JOAAT("AM_HOLD_UP"), + "AM_HOLD_UP"_J, 0u, - RAGE_JOAAT("AM_CR_SELL_DRUGS"), - RAGE_JOAAT("AM_STRIPPER"), - RAGE_JOAAT("stripclub_mp"), - RAGE_JOAAT("AM_ArmWrestling"), - RAGE_JOAAT("AM_ImportExport"), - RAGE_JOAAT("AM_Tennis"), - RAGE_JOAAT("AM_Darts"), - RAGE_JOAAT("AM_FistFight"), - RAGE_JOAAT("AM_DropOffHooker"), - RAGE_JOAAT("AM_Safehouse"), - RAGE_JOAAT("AM_Hitchhiker"), + "AM_CR_SELL_DRUGS"_J, + "AM_STRIPPER"_J, + "stripclub_mp"_J, + "AM_ArmWrestling"_J, + "AM_ImportExport"_J, + "AM_Tennis"_J, + "AM_Darts"_J, + "AM_FistFight"_J, + "AM_DropOffHooker"_J, + "AM_Safehouse"_J, + "AM_Hitchhiker"_J, 0u, - RAGE_JOAAT("AM_DOORS"), - RAGE_JOAAT("MG_RACE_TO_POINT"), - RAGE_JOAAT("AM_PI_MENU"), - RAGE_JOAAT("AM_CRATE_DROP"), - RAGE_JOAAT("AM_IMP_EXP"), - RAGE_JOAAT("FM_INTRO"), - RAGE_JOAAT("AM_PROSTITUTE"), - RAGE_JOAAT("AM_TAXI"), - RAGE_JOAAT("AM_TAXI_LAUNCHER"), - RAGE_JOAAT("AM_GANG_CALL"), - RAGE_JOAAT("heli_gun"), - RAGE_JOAAT("AM_backup_heli"), - RAGE_JOAAT("AM_airstrike"), - RAGE_JOAAT("AM_AMMO_DROP"), - RAGE_JOAAT("AM_VEHICLE_DROP"), - RAGE_JOAAT("AM_BRU_BOX"), - RAGE_JOAAT("AM_GA_PICKUPS"), - RAGE_JOAAT("AM_JOYRIDER"), - RAGE_JOAAT("AM_PLANE_TAKEDOWN"), - RAGE_JOAAT("AM_DISTRACT_COPS"), - RAGE_JOAAT("AM_DESTROY_VEH"), - RAGE_JOAAT("AM_HOT_TARGET"), - RAGE_JOAAT("AM_KILL_LIST"), - RAGE_JOAAT("AM_TIME_TRIAL"), - RAGE_JOAAT("AM_CP_COLLECTION"), - RAGE_JOAAT("AM_CHALLENGES"), - RAGE_JOAAT("AM_PENNED_IN"), - RAGE_JOAAT("AM_PASS_THE_PARCEL"), - RAGE_JOAAT("AM_HOT_PROPERTY"), - RAGE_JOAAT("AM_DEAD_DROP"), - RAGE_JOAAT("AM_KING_OF_THE_CASTLE"), - RAGE_JOAAT("AM_CRIMINAL_DAMAGE"), - RAGE_JOAAT("AM_HUNT_THE_BEAST"), - RAGE_JOAAT("GB_LIMO_ATTACK"), - RAGE_JOAAT("GB_DEATHMATCH"), - RAGE_JOAAT("GB_STEAL_VEH"), - RAGE_JOAAT("GB_POINT_TO_POINT"), - RAGE_JOAAT("GB_TERMINATE"), - RAGE_JOAAT("GB_YACHT_ROB"), - RAGE_JOAAT("GB_BELLYBEAST"), - RAGE_JOAAT("GB_FIVESTAR"), - RAGE_JOAAT("GB_ROB_SHOP"), - RAGE_JOAAT("GB_COLLECT_MONEY"), - RAGE_JOAAT("GB_ASSAULT"), - RAGE_JOAAT("GB_VEH_SURV"), - RAGE_JOAAT("GB_SIGHTSEER"), - RAGE_JOAAT("GB_FLYING_IN_STYLE"), - RAGE_JOAAT("GB_FINDERSKEEPERS"), - RAGE_JOAAT("GB_HUNT_THE_BOSS"), - RAGE_JOAAT("GB_CARJACKING"), - RAGE_JOAAT("GB_HEADHUNTER"), - RAGE_JOAAT("GB_CONTRABAND_BUY"), - RAGE_JOAAT("GB_CONTRABAND_SELL"), - RAGE_JOAAT("GB_CONTRABAND_DEFEND"), - RAGE_JOAAT("GB_AIRFREIGHT"), - RAGE_JOAAT("GB_CASHING_OUT"), - RAGE_JOAAT("GB_SALVAGE"), - RAGE_JOAAT("GB_FRAGILE_GOODS"), - RAGE_JOAAT("GB_VEHICLE_EXPORT"), - RAGE_JOAAT("GB_VEHICLE_EXPORT"), - RAGE_JOAAT("GB_PLOUGHED"), - RAGE_JOAAT("GB_FULLY_LOADED"), - RAGE_JOAAT("GB_AMPHIBIOUS_ASSAULT"), - RAGE_JOAAT("GB_TRANSPORTER"), - RAGE_JOAAT("GB_FORTIFIED"), - RAGE_JOAAT("GB_VELOCITY"), - RAGE_JOAAT("GB_RAMPED_UP"), - RAGE_JOAAT("GB_STOCKPILING"), - RAGE_JOAAT("GB_BIKER_RACE_P2P"), - RAGE_JOAAT("GB_BIKER_JOUST"), - RAGE_JOAAT("GB_BIKER_UNLOAD_WEAPONS"), + "AM_DOORS"_J, + "MG_RACE_TO_POINT"_J, + "AM_PI_MENU"_J, + "AM_CRATE_DROP"_J, + "AM_IMP_EXP"_J, + "FM_INTRO"_J, + "AM_PROSTITUTE"_J, + "AM_TAXI"_J, + "AM_TAXI_LAUNCHER"_J, + "AM_GANG_CALL"_J, + "heli_gun"_J, + "AM_backup_heli"_J, + "AM_airstrike"_J, + "AM_AMMO_DROP"_J, + "AM_VEHICLE_DROP"_J, + "AM_BRU_BOX"_J, + "AM_GA_PICKUPS"_J, + "AM_JOYRIDER"_J, + "AM_PLANE_TAKEDOWN"_J, + "AM_DISTRACT_COPS"_J, + "AM_DESTROY_VEH"_J, + "AM_HOT_TARGET"_J, + "AM_KILL_LIST"_J, + "AM_TIME_TRIAL"_J, + "AM_CP_COLLECTION"_J, + "AM_CHALLENGES"_J, + "AM_PENNED_IN"_J, + "AM_PASS_THE_PARCEL"_J, + "AM_HOT_PROPERTY"_J, + "AM_DEAD_DROP"_J, + "AM_KING_OF_THE_CASTLE"_J, + "AM_CRIMINAL_DAMAGE"_J, + "AM_HUNT_THE_BEAST"_J, + "GB_LIMO_ATTACK"_J, + "GB_DEATHMATCH"_J, + "GB_STEAL_VEH"_J, + "GB_POINT_TO_POINT"_J, + "GB_TERMINATE"_J, + "GB_YACHT_ROB"_J, + "GB_BELLYBEAST"_J, + "GB_FIVESTAR"_J, + "GB_ROB_SHOP"_J, + "GB_COLLECT_MONEY"_J, + "GB_ASSAULT"_J, + "GB_VEH_SURV"_J, + "GB_SIGHTSEER"_J, + "GB_FLYING_IN_STYLE"_J, + "GB_FINDERSKEEPERS"_J, + "GB_HUNT_THE_BOSS"_J, + "GB_CARJACKING"_J, + "GB_HEADHUNTER"_J, + "GB_CONTRABAND_BUY"_J, + "GB_CONTRABAND_SELL"_J, + "GB_CONTRABAND_DEFEND"_J, + "GB_AIRFREIGHT"_J, + "GB_CASHING_OUT"_J, + "GB_SALVAGE"_J, + "GB_FRAGILE_GOODS"_J, + "GB_VEHICLE_EXPORT"_J, + "GB_VEHICLE_EXPORT"_J, + "GB_PLOUGHED"_J, + "GB_FULLY_LOADED"_J, + "GB_AMPHIBIOUS_ASSAULT"_J, + "GB_TRANSPORTER"_J, + "GB_FORTIFIED"_J, + "GB_VELOCITY"_J, + "GB_RAMPED_UP"_J, + "GB_STOCKPILING"_J, + "GB_BIKER_RACE_P2P"_J, + "GB_BIKER_JOUST"_J, + "GB_BIKER_UNLOAD_WEAPONS"_J, 0u, - RAGE_JOAAT("GB_BIKER_BAD_DEAL"), - RAGE_JOAAT("GB_BIKER_RESCUE_CONTACT"), - RAGE_JOAAT("GB_BIKER_LAST_RESPECTS"), - RAGE_JOAAT("GB_BIKER_CONTRACT_KILLING"), - RAGE_JOAAT("GB_BIKER_CONTRABAND_SELL"), - RAGE_JOAAT("GB_BIKER_CONTRABAND_DEFEND"), - RAGE_JOAAT("GB_ILLICIT_GOODS_RESUPPLY"), - RAGE_JOAAT("GB_BIKER_DRIVEBY_ASSASSIN"), - RAGE_JOAAT("GB_BIKER_RIPPIN_IT_UP"), - RAGE_JOAAT("GB_BIKER_FREE_PRISONER"), - RAGE_JOAAT("GB_BIKER_SAFECRACKER"), - RAGE_JOAAT("GB_BIKER_STEAL_BIKES"), - RAGE_JOAAT("GB_BIKER_SEARCH_AND_DESTROY"), - RAGE_JOAAT("AM_PENNED_IN"), - RAGE_JOAAT("GB_BIKER_STAND_YOUR_GROUND"), - RAGE_JOAAT("GB_BIKER_CRIMINAL_MISCHIEF"), - RAGE_JOAAT("GB_BIKER_DESTROY_VANS"), - RAGE_JOAAT("GB_BIKER_BURN_ASSETS"), - RAGE_JOAAT("GB_BIKER_SHUTTLE"), - RAGE_JOAAT("GB_BIKER_WHEELIE_RIDER"), - RAGE_JOAAT("GB_GUNRUNNING"), - RAGE_JOAAT("GB_GUNRUNNING"), - RAGE_JOAAT("GB_GUNRUNNING_DEFEND"), - RAGE_JOAAT("GB_SMUGGLER"), - RAGE_JOAAT("GB_SMUGGLER"), - RAGE_JOAAT("GB_SMUGGLER"), - RAGE_JOAAT("GB_GANGOPS"), - RAGE_JOAAT("BUSINESS_BATTLES"), - RAGE_JOAAT("BUSINESS_BATTLES_SELL"), - RAGE_JOAAT("BUSINESS_BATTLES_DEFEND"), - RAGE_JOAAT("GB_SECURITY_VAN"), - RAGE_JOAAT("GB_TARGET_PURSUIT"), - RAGE_JOAAT("GB_JEWEL_STORE_GRAB"), - RAGE_JOAAT("GB_BANK_JOB"), - RAGE_JOAAT("GB_DATA_HACK"), - RAGE_JOAAT("GB_INFILTRATION"), - RAGE_JOAAT("BUSINESS_BATTLES_DEFEND"), - RAGE_JOAAT("BUSINESS_BATTLES_SELL"), - RAGE_JOAAT("GB_CASINO"), - RAGE_JOAAT("GB_CASINO_HEIST"), - RAGE_JOAAT("fm_content_business_battles"), - RAGE_JOAAT("fm_content_drug_vehicle"), - RAGE_JOAAT("fm_content_movie_props"), - RAGE_JOAAT("fm_content_island_heist"), - RAGE_JOAAT("fm_content_island_dj"), - RAGE_JOAAT("AM_ISLAND_BACKUP_HELI"), - RAGE_JOAAT("fm_content_golden_gun"), - RAGE_JOAAT("fm_content_tuner_robbery"), - RAGE_JOAAT("fm_content_vehicle_list"), - RAGE_JOAAT("tuner_sandbox_activity"), - RAGE_JOAAT("fm_content_auto_shop_delivery"), - RAGE_JOAAT("fm_content_payphone_hit"), - RAGE_JOAAT("fm_content_security_contract"), - RAGE_JOAAT("fm_content_vip_contract_1"), - RAGE_JOAAT("fm_content_metal_detector"), - RAGE_JOAAT("am_agency_suv"), - RAGE_JOAAT("fm_content_phantom_car"), - RAGE_JOAAT("fm_content_slasher"), - RAGE_JOAAT("fm_content_sightseeing"), - RAGE_JOAAT("fm_content_smuggler_trail"), - RAGE_JOAAT("fm_content_smuggler_plane"), - RAGE_JOAAT("fm_content_skydive"), - RAGE_JOAAT("fm_content_cerberus"), - RAGE_JOAAT("fm_content_parachuter"), - RAGE_JOAAT("fm_content_crime_scene"), - RAGE_JOAAT("fm_content_bar_resupply"), - RAGE_JOAAT("fm_content_bike_shop_delivery"), - RAGE_JOAAT("fm_content_clubhouse_contracts"), - RAGE_JOAAT("fm_content_cargo"), - RAGE_JOAAT("fm_content_export_cargo"), - RAGE_JOAAT("fm_content_ammunation"), - RAGE_JOAAT("fm_content_gunrunning"), - RAGE_JOAAT("fm_content_source_research"), - RAGE_JOAAT("fm_content_club_management"), - RAGE_JOAAT("fm_content_club_odd_jobs"), - RAGE_JOAAT("fm_content_club_source"), - RAGE_JOAAT("fm_content_convoy"), - RAGE_JOAAT("fm_content_robbery"), - RAGE_JOAAT("fm_content_acid_lab_setup"), - RAGE_JOAAT("fm_content_acid_lab_source"), - RAGE_JOAAT("fm_content_acid_lab_sell"), - RAGE_JOAAT("fm_content_drug_lab_work"), - RAGE_JOAAT("fm_content_stash_house"), - RAGE_JOAAT("fm_content_taxi_driver"), - RAGE_JOAAT("fm_content_xmas_mugger"), - RAGE_JOAAT("fm_content_bank_shootout"), - RAGE_JOAAT("fm_content_armoured_truck"), - RAGE_JOAAT("fm_content_ghosthunt"), - RAGE_JOAAT("fm_content_smuggler_sell"), - RAGE_JOAAT("fm_content_smuggler_resupply"), - RAGE_JOAAT("fm_content_smuggler_ops"), - RAGE_JOAAT("fm_content_bicycle_time_trial"), - RAGE_JOAAT("fm_content_possessed_animals"), - RAGE_JOAAT("AM_BOAT_TAXI"), - RAGE_JOAAT("AM_HELI_TAXI"), - RAGE_JOAAT("fm_hold_up_tut"), - RAGE_JOAAT("AM_CAR_MOD_TUT"), - RAGE_JOAAT("AM_CONTACT_REQUESTS"), - RAGE_JOAAT("am_mission_launch"), - RAGE_JOAAT("am_npc_invites"), - RAGE_JOAAT("am_lester_cut"), - RAGE_JOAAT("am_heist_int"), - RAGE_JOAAT("am_lowrider_int"), - RAGE_JOAAT("AM_VEHICLE_SPAWN"), - RAGE_JOAAT("am_ronTrevor_Cut"), - RAGE_JOAAT("AM_ARMYBASE"), - RAGE_JOAAT("AM_PRISON"), - RAGE_JOAAT("am_rollercoaster"), - RAGE_JOAAT("am_ferriswheel"), - RAGE_JOAAT("AM_LAUNCHER"), - RAGE_JOAAT("AM_DAILY_OBJECTIVES"), - RAGE_JOAAT("AM_ArmWrestling"), - RAGE_JOAAT("AM_Darts"), - RAGE_JOAAT("golf_mp"), - RAGE_JOAAT("Range_Modern_MP"), - RAGE_JOAAT("tennis_network_mp"), - RAGE_JOAAT("Pilot_School_MP"), - RAGE_JOAAT("FM_Impromptu_DM_Controler"), - RAGE_JOAAT("fm_Bj_race_controler"), - RAGE_JOAAT("fm_deathmatch_controler"), - RAGE_JOAAT("fm_hideout_controler"), - RAGE_JOAAT("fm_mission_controller"), - RAGE_JOAAT("FM_Race_Controler"), - RAGE_JOAAT("FM_Horde_Controler"), - RAGE_JOAAT("dont_cross_the_line"), - RAGE_JOAAT("am_darts_apartment"), - RAGE_JOAAT("AM_Armwrestling_Apartment"), - RAGE_JOAAT("grid_arcade_cabinet"), - RAGE_JOAAT("scroll_arcade_cabinet"), - RAGE_JOAAT("example_arcade"), - RAGE_JOAAT("road_arcade"), - RAGE_JOAAT("gunslinger_arcade"), - RAGE_JOAAT("wizard_arcade"), - RAGE_JOAAT("AM_CASINO_LIMO"), - RAGE_JOAAT("AM_CASINO_LUXURY_CAR"), - RAGE_JOAAT("Degenatron Games"), - RAGE_JOAAT("ggsm_arcade"), - RAGE_JOAAT("puzzle"), - RAGE_JOAAT("camhedz_arcade"), - RAGE_JOAAT("SCTV"), + "GB_BIKER_BAD_DEAL"_J, + "GB_BIKER_RESCUE_CONTACT"_J, + "GB_BIKER_LAST_RESPECTS"_J, + "GB_BIKER_CONTRACT_KILLING"_J, + "GB_BIKER_CONTRABAND_SELL"_J, + "GB_BIKER_CONTRABAND_DEFEND"_J, + "GB_ILLICIT_GOODS_RESUPPLY"_J, + "GB_BIKER_DRIVEBY_ASSASSIN"_J, + "GB_BIKER_RIPPIN_IT_UP"_J, + "GB_BIKER_FREE_PRISONER"_J, + "GB_BIKER_SAFECRACKER"_J, + "GB_BIKER_STEAL_BIKES"_J, + "GB_BIKER_SEARCH_AND_DESTROY"_J, + "AM_PENNED_IN"_J, + "GB_BIKER_STAND_YOUR_GROUND"_J, + "GB_BIKER_CRIMINAL_MISCHIEF"_J, + "GB_BIKER_DESTROY_VANS"_J, + "GB_BIKER_BURN_ASSETS"_J, + "GB_BIKER_SHUTTLE"_J, + "GB_BIKER_WHEELIE_RIDER"_J, + "GB_GUNRUNNING"_J, + "GB_GUNRUNNING"_J, + "GB_GUNRUNNING_DEFEND"_J, + "GB_SMUGGLER"_J, + "GB_SMUGGLER"_J, + "GB_SMUGGLER"_J, + "GB_GANGOPS"_J, + "BUSINESS_BATTLES"_J, + "BUSINESS_BATTLES_SELL"_J, + "BUSINESS_BATTLES_DEFEND"_J, + "GB_SECURITY_VAN"_J, + "GB_TARGET_PURSUIT"_J, + "GB_JEWEL_STORE_GRAB"_J, + "GB_BANK_JOB"_J, + "GB_DATA_HACK"_J, + "GB_INFILTRATION"_J, + "BUSINESS_BATTLES_DEFEND"_J, + "BUSINESS_BATTLES_SELL"_J, + "GB_CASINO"_J, + "GB_CASINO_HEIST"_J, + "fm_content_business_battles"_J, + "fm_content_drug_vehicle"_J, + "fm_content_movie_props"_J, + "fm_content_island_heist"_J, + "fm_content_island_dj"_J, + "AM_ISLAND_BACKUP_HELI"_J, + "fm_content_golden_gun"_J, + "fm_content_tuner_robbery"_J, + "fm_content_vehicle_list"_J, + "tuner_sandbox_activity"_J, + "fm_content_auto_shop_delivery"_J, + "fm_content_payphone_hit"_J, + "fm_content_security_contract"_J, + "fm_content_vip_contract_1"_J, + "fm_content_metal_detector"_J, + "am_agency_suv"_J, + "fm_content_phantom_car"_J, + "fm_content_slasher"_J, + "fm_content_sightseeing"_J, + "fm_content_smuggler_trail"_J, + "fm_content_smuggler_plane"_J, + "fm_content_skydive"_J, + "fm_content_cerberus"_J, + "fm_content_parachuter"_J, + "fm_content_crime_scene"_J, + "fm_content_bar_resupply"_J, + "fm_content_bike_shop_delivery"_J, + "fm_content_clubhouse_contracts"_J, + "fm_content_cargo"_J, + "fm_content_export_cargo"_J, + "fm_content_ammunation"_J, + "fm_content_gunrunning"_J, + "fm_content_source_research"_J, + "fm_content_club_management"_J, + "fm_content_club_odd_jobs"_J, + "fm_content_club_source"_J, + "fm_content_convoy"_J, + "fm_content_robbery"_J, + "fm_content_acid_lab_setup"_J, + "fm_content_acid_lab_source"_J, + "fm_content_acid_lab_sell"_J, + "fm_content_drug_lab_work"_J, + "fm_content_stash_house"_J, + "fm_content_taxi_driver"_J, + "fm_content_xmas_mugger"_J, + "fm_content_bank_shootout"_J, + "fm_content_armoured_truck"_J, + "fm_content_ghosthunt"_J, + "fm_content_smuggler_sell"_J, + "fm_content_smuggler_resupply"_J, + "fm_content_smuggler_ops"_J, + "fm_content_bicycle_time_trial"_J, + "fm_content_possessed_animals"_J, + "AM_BOAT_TAXI"_J, + "AM_HELI_TAXI"_J, + "fm_hold_up_tut"_J, + "AM_CAR_MOD_TUT"_J, + "AM_CONTACT_REQUESTS"_J, + "am_mission_launch"_J, + "am_npc_invites"_J, + "am_lester_cut"_J, + "am_heist_int"_J, + "am_lowrider_int"_J, + "AM_VEHICLE_SPAWN"_J, + "am_ronTrevor_Cut"_J, + "AM_ARMYBASE"_J, + "AM_PRISON"_J, + "am_rollercoaster"_J, + "am_ferriswheel"_J, + "AM_LAUNCHER"_J, + "AM_DAILY_OBJECTIVES"_J, + "AM_ArmWrestling"_J, + "AM_Darts"_J, + "golf_mp"_J, + "Range_Modern_MP"_J, + "tennis_network_mp"_J, + "Pilot_School_MP"_J, + "FM_Impromptu_DM_Controler"_J, + "fm_Bj_race_controler"_J, + "fm_deathmatch_controler"_J, + "fm_hideout_controler"_J, + "fm_mission_controller"_J, + "FM_Race_Controler"_J, + "FM_Horde_Controler"_J, + "dont_cross_the_line"_J, + "am_darts_apartment"_J, + "AM_Armwrestling_Apartment"_J, + "grid_arcade_cabinet"_J, + "scroll_arcade_cabinet"_J, + "example_arcade"_J, + "road_arcade"_J, + "gunslinger_arcade"_J, + "wizard_arcade"_J, + "AM_CASINO_LIMO"_J, + "AM_CASINO_LUXURY_CAR"_J, + "Degenatron Games"_J, + "ggsm_arcade"_J, + "puzzle"_J, + "camhedz_arcade"_J, + "SCTV"_J, }); constexpr const static inline auto all_script_names = std::to_array({ @@ -1255,4 +1255,4 @@ namespace big "net_test_drive", "simeon_showroom_seating", }); -} \ No newline at end of file +} diff --git a/src/gta/joaat.hpp b/src/gta/joaat.hpp index de774119..96cb23d0 100644 --- a/src/gta/joaat.hpp +++ b/src/gta/joaat.hpp @@ -6,46 +6,47 @@ #include #include -namespace rage +inline consteval char consteval_to_lower(char c) { - template - 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& 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); + return c >= 'A' && c <= 'Z' ? c | 1 << 5 : c; } -#define RAGE_JOAAT_IMPL(str) (::rage::consteval_joaat(str)) -#define RAGE_JOAAT(str) (std::integral_constant::value) \ No newline at end of file +namespace rage +{ + 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); diff --git a/src/gta/pickup_rewards.hpp b/src/gta/pickup_rewards.hpp index 30d80f13..50d6d91a 100644 --- a/src/gta/pickup_rewards.hpp +++ b/src/gta/pickup_rewards.hpp @@ -5,156 +5,156 @@ enum Rewards : Hash { - REWARD_AMMO_ADVANCEDRIFLE = RAGE_JOAAT("REWARD_AMMO_ADVANCEDRIFLE"), - REWARD_AMMO_APPISTOL = RAGE_JOAAT("REWARD_AMMO_APPISTOL"), - REWARD_AMMO_ASSAULTRIFLE = RAGE_JOAAT("REWARD_AMMO_ASSAULTRIFLE"), - REWARD_AMMO_ASSAULTSHOTGUN = RAGE_JOAAT("REWARD_AMMO_ASSAULTSHOTGUN"), - REWARD_AMMO_ASSAULTSMG = RAGE_JOAAT("REWARD_AMMO_ASSAULTSMG"), - REWARD_AMMO_AUTOSHOTGUN = RAGE_JOAAT("REWARD_AMMO_AUTOSHOTGUN"), - REWARD_AMMO_BULLET_MP = RAGE_JOAAT("REWARD_AMMO_BULLET_MP"), - REWARD_AMMO_BULLPUPRIFLE = RAGE_JOAAT("REWARD_AMMO_BULLPUPRIFLE"), - REWARD_AMMO_BULLPUPSHOTGUN = RAGE_JOAAT("REWARD_AMMO_BULLPUPSHOTGUN"), - REWARD_AMMO_CARBINERIFLE = RAGE_JOAAT("REWARD_AMMO_CARBINERIFLE"), - REWARD_AMMO_COMBATMG = RAGE_JOAAT("REWARD_AMMO_COMBATMG"), - REWARD_AMMO_COMBATPDW = RAGE_JOAAT("REWARD_AMMO_COMBATPDW"), - REWARD_AMMO_COMBATPISTOL = RAGE_JOAAT("REWARD_AMMO_COMBATPISTOL"), - REWARD_AMMO_COMPACTLAUNCHER = RAGE_JOAAT("REWARD_AMMO_COMPACTLAUNCHER"), - REWARD_AMMO_COMPACTRIFLE = RAGE_JOAAT("REWARD_AMMO_COMPACTRIFLE"), - REWARD_AMMO_DBSHOTGUN = RAGE_JOAAT("REWARD_AMMO_DBSHOTGUN"), - REWARD_AMMO_DOUBLEACTION = RAGE_JOAAT("REWARD_AMMO_DOUBLEACTION"), - REWARD_AMMO_FIREWORK = RAGE_JOAAT("REWARD_AMMO_FIREWORK"), - REWARD_AMMO_FIREWORK_MP = RAGE_JOAAT("REWARD_AMMO_FIREWORK_MP"), - REWARD_AMMO_FLAREGUN = RAGE_JOAAT("REWARD_AMMO_FLAREGUN"), - REWARD_AMMO_GRENADE = RAGE_JOAAT("REWARD_AMMO_GRENADE"), - REWARD_AMMO_GRENADELAUNCHER = RAGE_JOAAT("REWARD_AMMO_GRENADELAUNCHER"), - REWARD_AMMO_GRENADELAUNCHER_MP = RAGE_JOAAT("REWARD_AMMO_GRENADELAUNCHER_MP"), - REWARD_AMMO_GUSENBERG = RAGE_JOAAT("REWARD_AMMO_GUSENBERG"), - REWARD_AMMO_HEAVYPISTOL = RAGE_JOAAT("REWARD_AMMO_HEAVYPISTOL"), - REWARD_AMMO_HEAVYSHOTGUN = RAGE_JOAAT("REWARD_AMMO_HEAVYSHOTGUN"), - REWARD_AMMO_HEAVYSNIPER = RAGE_JOAAT("REWARD_AMMO_HEAVYSNIPER"), - REWARD_AMMO_HOMINGLAUNCHER = RAGE_JOAAT("REWARD_AMMO_HOMINGLAUNCHER"), - REWARD_AMMO_MACHINEPISTOL = RAGE_JOAAT("REWARD_AMMO_MACHINEPISTOL"), - REWARD_AMMO_MARKSMANPISTOL = RAGE_JOAAT("REWARD_AMMO_MARKSMANPISTOL"), - REWARD_AMMO_MARKSMANRIFLE = RAGE_JOAAT("REWARD_AMMO_MARKSMANRIFLE"), - REWARD_AMMO_MG = RAGE_JOAAT("REWARD_AMMO_MG"), - REWARD_AMMO_MICROSMG = RAGE_JOAAT("REWARD_AMMO_MICROSMG"), - REWARD_AMMO_MINIGUN = RAGE_JOAAT("REWARD_AMMO_MINIGUN"), - REWARD_AMMO_MINISMG = RAGE_JOAAT("REWARD_AMMO_MINISMG"), - REWARD_AMMO_MISSILE_MP = RAGE_JOAAT("REWARD_AMMO_MISSILE_MP"), - REWARD_AMMO_MOLOTOV = RAGE_JOAAT("REWARD_AMMO_MOLOTOV"), - REWARD_AMMO_MUSKET = RAGE_JOAAT("REWARD_AMMO_MUSKET"), - REWARD_AMMO_PETROLCAN = RAGE_JOAAT("REWARD_AMMO_PETROLCAN"), - REWARD_AMMO_PIPEBOMB = RAGE_JOAAT("REWARD_AMMO_PIPEBOMB"), - REWARD_AMMO_PISTOL = RAGE_JOAAT("REWARD_AMMO_PISTOL"), - REWARD_AMMO_PISTOL50 = RAGE_JOAAT("REWARD_AMMO_PISTOL50"), - REWARD_AMMO_PROXMINE = RAGE_JOAAT("REWARD_AMMO_PROXMINE"), - REWARD_AMMO_PUMPSHOTGUN = RAGE_JOAAT("REWARD_AMMO_PUMPSHOTGUN"), - REWARD_AMMO_PUMPSHOTGUN_ENTER_VEHICLE = RAGE_JOAAT("REWARD_AMMO_PUMPSHOTGUN_ENTER_VEHICLE"), - REWARD_AMMO_RAILGUN = RAGE_JOAAT("REWARD_AMMO_RAILGUN"), - REWARD_AMMO_RAYPISTOL = RAGE_JOAAT("REWARD_AMMO_RAYPISTOL"), - REWARD_AMMO_REVOLVER = RAGE_JOAAT("REWARD_AMMO_REVOLVER"), - REWARD_AMMO_RPG = RAGE_JOAAT("REWARD_AMMO_RPG"), - REWARD_AMMO_SAWNOFFSHOTGUN = RAGE_JOAAT("REWARD_AMMO_SAWNOFFSHOTGUN"), - REWARD_AMMO_SMG = RAGE_JOAAT("REWARD_AMMO_SMG"), - REWARD_AMMO_SMOKEGRENADE = RAGE_JOAAT("REWARD_AMMO_SMOKEGRENADE"), - REWARD_AMMO_SNIPERRIFLE = RAGE_JOAAT("REWARD_AMMO_SNIPERRIFLE"), - REWARD_AMMO_SNSPISTOL = RAGE_JOAAT("REWARD_AMMO_SNSPISTOL"), - REWARD_AMMO_SPECIALCARBINE = RAGE_JOAAT("REWARD_AMMO_SPECIALCARBINE"), - REWARD_AMMO_STICKYBOMB = RAGE_JOAAT("REWARD_AMMO_STICKYBOMB"), - REWARD_AMMO_STUNGUN = RAGE_JOAAT("REWARD_AMMO_STUNGUN"), - REWARD_AMMO_VINTAGEPISTOL = RAGE_JOAAT("REWARD_AMMO_VINTAGEPISTOL"), - REWARD_ARMOUR = RAGE_JOAAT("REWARD_ARMOUR"), - REWARD_HEALTH = RAGE_JOAAT("REWARD_HEALTH"), - REWARD_HEALTH_ENTER_VEHICLE = RAGE_JOAAT("REWARD_HEALTH_ENTER_VEHICLE"), - REWARD_HEALTH_VARIABLE = RAGE_JOAAT("REWARD_HEALTH_VARIABLE"), - REWARD_MONEY_VARIABLE = RAGE_JOAAT("REWARD_MONEY_VARIABLE"), - REWARD_PARACHUTE = RAGE_JOAAT("REWARD_PARACHUTE"), - REWARD_STAT_HEALTH = RAGE_JOAAT("REWARD_STAT_HEALTH"), - REWARD_STAT_HEALTH_VARIABLE = RAGE_JOAAT("REWARD_STAT_HEALTH_VARIABLE"), - REWARD_STAT_WEAPON = RAGE_JOAAT("REWARD_STAT_WEAPON"), - REWARD_VEHICLE_FIX = RAGE_JOAAT("REWARD_VEHICLE_FIX"), - REWARD_WEAPON_ADVANCEDRIFLE = RAGE_JOAAT("REWARD_WEAPON_ADVANCEDRIFLE"), - REWARD_WEAPON_APPISTOL = RAGE_JOAAT("REWARD_WEAPON_APPISTOL"), - REWARD_WEAPON_ASSAULTRIFLE = RAGE_JOAAT("REWARD_WEAPON_ASSAULTRIFLE"), - REWARD_WEAPON_ASSAULTRIFLE_MK2 = RAGE_JOAAT("REWARD_WEAPON_ASSAULTRIFLE_MK2"), - REWARD_WEAPON_ASSAULTSHOTGUN = RAGE_JOAAT("REWARD_WEAPON_ASSAULTSHOTGUN"), - REWARD_WEAPON_ASSAULTSMG = RAGE_JOAAT("REWARD_WEAPON_ASSAULTSMG"), - REWARD_WEAPON_AUTOSHOTGUN = RAGE_JOAAT("REWARD_WEAPON_AUTOSHOTGUN"), - REWARD_WEAPON_BAT = RAGE_JOAAT("REWARD_WEAPON_BAT"), - REWARD_WEAPON_BATTLEAXE = RAGE_JOAAT("REWARD_WEAPON_BATTLEAXE"), - REWARD_WEAPON_BOTTLE = RAGE_JOAAT("REWARD_WEAPON_BOTTLE"), - REWARD_WEAPON_BULLPUPRIFLE = RAGE_JOAAT("REWARD_WEAPON_BULLPUPRIFLE"), - REWARD_WEAPON_BULLPUPRIFLE_MK2 = RAGE_JOAAT("REWARD_WEAPON_BULLPUPRIFLE_MK2"), - REWARD_WEAPON_BULLPUPSHOTGUN = RAGE_JOAAT("REWARD_WEAPON_BULLPUPSHOTGUN"), - REWARD_WEAPON_CARBINERIFLE = RAGE_JOAAT("REWARD_WEAPON_CARBINERIFLE"), - REWARD_WEAPON_CARBINERIFLE_MK2 = RAGE_JOAAT("REWARD_WEAPON_CARBINERIFLE_MK2"), - REWARD_WEAPON_COMBATMG = RAGE_JOAAT("REWARD_WEAPON_COMBATMG"), - REWARD_WEAPON_COMBATMG_MK2 = RAGE_JOAAT("REWARD_WEAPON_COMBATMG_MK2"), - REWARD_WEAPON_COMBATPDW = RAGE_JOAAT("REWARD_WEAPON_COMBATPDW"), - REWARD_WEAPON_COMBATPISTOL = RAGE_JOAAT("REWARD_WEAPON_COMBATPISTOL"), - REWARD_WEAPON_COMPACTLAUNCHER = RAGE_JOAAT("REWARD_WEAPON_COMPACTLAUNCHER"), - REWARD_WEAPON_COMPACTRIFLE = RAGE_JOAAT("REWARD_WEAPON_COMPACTRIFLE"), - REWARD_WEAPON_CROWBAR = RAGE_JOAAT("REWARD_WEAPON_CROWBAR"), - REWARD_WEAPON_DAGGER = RAGE_JOAAT("REWARD_WEAPON_DAGGER"), - REWARD_WEAPON_DBSHOTGUN = RAGE_JOAAT("REWARD_WEAPON_DBSHOTGUN"), - REWARD_WEAPON_DOUBLEACTION = RAGE_JOAAT("REWARD_WEAPON_DOUBLEACTION"), - REWARD_WEAPON_FIREWORK = RAGE_JOAAT("REWARD_WEAPON_FIREWORK"), - REWARD_WEAPON_FLAREGUN = RAGE_JOAAT("REWARD_WEAPON_FLAREGUN"), - REWARD_WEAPON_FLASHLIGHT = RAGE_JOAAT("REWARD_WEAPON_FLASHLIGHT"), - REWARD_WEAPON_GOLFCLUB = RAGE_JOAAT("REWARD_WEAPON_GOLFCLUB"), - REWARD_WEAPON_GRENADE = RAGE_JOAAT("REWARD_WEAPON_GRENADE"), - REWARD_WEAPON_GRENADELAUNCHER = RAGE_JOAAT("REWARD_WEAPON_GRENADELAUNCHER"), - REWARD_WEAPON_GUSENBERG = RAGE_JOAAT("REWARD_WEAPON_GUSENBERG"), - REWARD_WEAPON_HAMMER = RAGE_JOAAT("REWARD_WEAPON_HAMMER"), - REWARD_WEAPON_HATCHET = RAGE_JOAAT("REWARD_WEAPON_HATCHET"), - REWARD_WEAPON_HEAVYPISTOL = RAGE_JOAAT("REWARD_WEAPON_HEAVYPISTOL"), - REWARD_WEAPON_HEAVYSHOTGUN = RAGE_JOAAT("REWARD_WEAPON_HEAVYSHOTGUN"), - REWARD_WEAPON_HEAVYSNIPER = RAGE_JOAAT("REWARD_WEAPON_HEAVYSNIPER"), - REWARD_WEAPON_HEAVYSNIPER_MK2 = RAGE_JOAAT("REWARD_WEAPON_HEAVYSNIPER_MK2"), - REWARD_WEAPON_HOMINGLAUNCHER = RAGE_JOAAT("REWARD_WEAPON_HOMINGLAUNCHER"), - REWARD_WEAPON_KNIFE = RAGE_JOAAT("REWARD_WEAPON_KNIFE"), - REWARD_WEAPON_KNUCKLE = RAGE_JOAAT("REWARD_WEAPON_KNUCKLE"), - REWARD_WEAPON_MACHETE = RAGE_JOAAT("REWARD_WEAPON_MACHETE"), - REWARD_WEAPON_MACHINEPISTOL = RAGE_JOAAT("REWARD_WEAPON_MACHINEPISTOL"), - REWARD_WEAPON_MARKSMANPISTOL = RAGE_JOAAT("REWARD_WEAPON_MARKSMANPISTOL"), - REWARD_WEAPON_MARKSMANRIFLE = RAGE_JOAAT("REWARD_WEAPON_MARKSMANRIFLE"), - REWARD_WEAPON_MARKSMANRIFLE_MK2 = RAGE_JOAAT("REWARD_WEAPON_MARKSMANRIFLE_MK2"), - REWARD_WEAPON_MG = RAGE_JOAAT("REWARD_WEAPON_MG"), - REWARD_WEAPON_MICROSMG = RAGE_JOAAT("REWARD_WEAPON_MICROSMG"), - REWARD_WEAPON_MINIGUN = RAGE_JOAAT("REWARD_WEAPON_MINIGUN"), - REWARD_WEAPON_MINISMG = RAGE_JOAAT("REWARD_WEAPON_MINISMG"), - REWARD_WEAPON_MOLOTOV = RAGE_JOAAT("REWARD_WEAPON_MOLOTOV"), - REWARD_WEAPON_MUSKET = RAGE_JOAAT("REWARD_WEAPON_MUSKET"), - REWARD_WEAPON_NIGHTSTICK = RAGE_JOAAT("REWARD_WEAPON_NIGHTSTICK"), - REWARD_WEAPON_PETROLCAN = RAGE_JOAAT("REWARD_WEAPON_PETROLCAN"), - REWARD_WEAPON_PIPEBOMB = RAGE_JOAAT("REWARD_WEAPON_PIPEBOMB"), - REWARD_WEAPON_PISTOL = RAGE_JOAAT("REWARD_WEAPON_PISTOL"), - REWARD_WEAPON_PISTOL50 = RAGE_JOAAT("REWARD_WEAPON_PISTOL50"), - REWARD_WEAPON_PISTOL_MK2 = RAGE_JOAAT("REWARD_WEAPON_PISTOL_MK2"), - REWARD_WEAPON_POOLCUE = RAGE_JOAAT("REWARD_WEAPON_POOLCUE"), - REWARD_WEAPON_PROXMINE = RAGE_JOAAT("REWARD_WEAPON_PROXMINE"), - REWARD_WEAPON_PUMPSHOTGUN = RAGE_JOAAT("REWARD_WEAPON_PUMPSHOTGUN"), - REWARD_WEAPON_PUMPSHOTGUN_MK2 = RAGE_JOAAT("REWARD_WEAPON_PUMPSHOTGUN_MK2"), - REWARD_WEAPON_RAILGUN = RAGE_JOAAT("REWARD_WEAPON_RAILGUN"), - REWARD_WEAPON_RAYCARBINE = RAGE_JOAAT("REWARD_WEAPON_RAYCARBINE"), - REWARD_WEAPON_RAYMINIGUN = RAGE_JOAAT("REWARD_WEAPON_RAYMINIGUN"), - REWARD_WEAPON_RAYPISTOL = RAGE_JOAAT("REWARD_WEAPON_RAYPISTOL"), - REWARD_WEAPON_REVOLVER = RAGE_JOAAT("REWARD_WEAPON_REVOLVER"), - REWARD_WEAPON_REVOLVER_MK2 = RAGE_JOAAT("REWARD_WEAPON_REVOLVER_MK2"), - REWARD_WEAPON_RPG = RAGE_JOAAT("REWARD_WEAPON_RPG"), - REWARD_WEAPON_SAWNOFFSHOTGUN = RAGE_JOAAT("REWARD_WEAPON_SAWNOFFSHOTGUN"), - REWARD_WEAPON_SMG = RAGE_JOAAT("REWARD_WEAPON_SMG"), - REWARD_WEAPON_SMG_MK2 = RAGE_JOAAT("REWARD_WEAPON_SMG_MK2"), - REWARD_WEAPON_SMOKEGRENADE = RAGE_JOAAT("REWARD_WEAPON_SMOKEGRENADE"), - REWARD_WEAPON_SNIPERRIFLE = RAGE_JOAAT("REWARD_WEAPON_SNIPERRIFLE"), - REWARD_WEAPON_SNSPISTOL = RAGE_JOAAT("REWARD_WEAPON_SNSPISTOL"), - REWARD_WEAPON_SNSPISTOL_MK2 = RAGE_JOAAT("REWARD_WEAPON_SNSPISTOL_MK2"), - REWARD_WEAPON_SPECIALCARBINE = RAGE_JOAAT("REWARD_WEAPON_SPECIALCARBINE"), - REWARD_WEAPON_SPECIALCARBINE_MK2 = RAGE_JOAAT("REWARD_WEAPON_SPECIALCARBINE_MK2"), - REWARD_WEAPON_STICKYBOMB = RAGE_JOAAT("REWARD_WEAPON_STICKYBOMB"), - REWARD_WEAPON_STONE_HATCHET = RAGE_JOAAT("REWARD_WEAPON_STONE_HATCHET"), - REWARD_WEAPON_STUNGUN = RAGE_JOAAT("REWARD_WEAPON_STUNGUN"), - REWARD_WEAPON_SWITCHBLADE = RAGE_JOAAT("REWARD_WEAPON_SWITCHBLADE"), - REWARD_WEAPON_VINTAGEPISTOL = RAGE_JOAAT("REWARD_WEAPON_VINTAGEPISTOL"), - REWARD_WEAPON_WRENCH = RAGE_JOAAT("REWARD_WEAPON_WRENCH") -}; \ No newline at end of file + REWARD_AMMO_ADVANCEDRIFLE = "REWARD_AMMO_ADVANCEDRIFLE"_J, + REWARD_AMMO_APPISTOL = "REWARD_AMMO_APPISTOL"_J, + REWARD_AMMO_ASSAULTRIFLE = "REWARD_AMMO_ASSAULTRIFLE"_J, + REWARD_AMMO_ASSAULTSHOTGUN = "REWARD_AMMO_ASSAULTSHOTGUN"_J, + REWARD_AMMO_ASSAULTSMG = "REWARD_AMMO_ASSAULTSMG"_J, + REWARD_AMMO_AUTOSHOTGUN = "REWARD_AMMO_AUTOSHOTGUN"_J, + REWARD_AMMO_BULLET_MP = "REWARD_AMMO_BULLET_MP"_J, + REWARD_AMMO_BULLPUPRIFLE = "REWARD_AMMO_BULLPUPRIFLE"_J, + REWARD_AMMO_BULLPUPSHOTGUN = "REWARD_AMMO_BULLPUPSHOTGUN"_J, + REWARD_AMMO_CARBINERIFLE = "REWARD_AMMO_CARBINERIFLE"_J, + REWARD_AMMO_COMBATMG = "REWARD_AMMO_COMBATMG"_J, + REWARD_AMMO_COMBATPDW = "REWARD_AMMO_COMBATPDW"_J, + REWARD_AMMO_COMBATPISTOL = "REWARD_AMMO_COMBATPISTOL"_J, + REWARD_AMMO_COMPACTLAUNCHER = "REWARD_AMMO_COMPACTLAUNCHER"_J, + REWARD_AMMO_COMPACTRIFLE = "REWARD_AMMO_COMPACTRIFLE"_J, + REWARD_AMMO_DBSHOTGUN = "REWARD_AMMO_DBSHOTGUN"_J, + REWARD_AMMO_DOUBLEACTION = "REWARD_AMMO_DOUBLEACTION"_J, + REWARD_AMMO_FIREWORK = "REWARD_AMMO_FIREWORK"_J, + REWARD_AMMO_FIREWORK_MP = "REWARD_AMMO_FIREWORK_MP"_J, + REWARD_AMMO_FLAREGUN = "REWARD_AMMO_FLAREGUN"_J, + REWARD_AMMO_GRENADE = "REWARD_AMMO_GRENADE"_J, + REWARD_AMMO_GRENADELAUNCHER = "REWARD_AMMO_GRENADELAUNCHER"_J, + REWARD_AMMO_GRENADELAUNCHER_MP = "REWARD_AMMO_GRENADELAUNCHER_MP"_J, + REWARD_AMMO_GUSENBERG = "REWARD_AMMO_GUSENBERG"_J, + REWARD_AMMO_HEAVYPISTOL = "REWARD_AMMO_HEAVYPISTOL"_J, + REWARD_AMMO_HEAVYSHOTGUN = "REWARD_AMMO_HEAVYSHOTGUN"_J, + REWARD_AMMO_HEAVYSNIPER = "REWARD_AMMO_HEAVYSNIPER"_J, + REWARD_AMMO_HOMINGLAUNCHER = "REWARD_AMMO_HOMINGLAUNCHER"_J, + REWARD_AMMO_MACHINEPISTOL = "REWARD_AMMO_MACHINEPISTOL"_J, + REWARD_AMMO_MARKSMANPISTOL = "REWARD_AMMO_MARKSMANPISTOL"_J, + REWARD_AMMO_MARKSMANRIFLE = "REWARD_AMMO_MARKSMANRIFLE"_J, + REWARD_AMMO_MG = "REWARD_AMMO_MG"_J, + REWARD_AMMO_MICROSMG = "REWARD_AMMO_MICROSMG"_J, + REWARD_AMMO_MINIGUN = "REWARD_AMMO_MINIGUN"_J, + REWARD_AMMO_MINISMG = "REWARD_AMMO_MINISMG"_J, + REWARD_AMMO_MISSILE_MP = "REWARD_AMMO_MISSILE_MP"_J, + REWARD_AMMO_MOLOTOV = "REWARD_AMMO_MOLOTOV"_J, + REWARD_AMMO_MUSKET = "REWARD_AMMO_MUSKET"_J, + REWARD_AMMO_PETROLCAN = "REWARD_AMMO_PETROLCAN"_J, + REWARD_AMMO_PIPEBOMB = "REWARD_AMMO_PIPEBOMB"_J, + REWARD_AMMO_PISTOL = "REWARD_AMMO_PISTOL"_J, + REWARD_AMMO_PISTOL50 = "REWARD_AMMO_PISTOL50"_J, + REWARD_AMMO_PROXMINE = "REWARD_AMMO_PROXMINE"_J, + REWARD_AMMO_PUMPSHOTGUN = "REWARD_AMMO_PUMPSHOTGUN"_J, + REWARD_AMMO_PUMPSHOTGUN_ENTER_VEHICLE = "REWARD_AMMO_PUMPSHOTGUN_ENTER_VEHICLE"_J, + REWARD_AMMO_RAILGUN = "REWARD_AMMO_RAILGUN"_J, + REWARD_AMMO_RAYPISTOL = "REWARD_AMMO_RAYPISTOL"_J, + REWARD_AMMO_REVOLVER = "REWARD_AMMO_REVOLVER"_J, + REWARD_AMMO_RPG = "REWARD_AMMO_RPG"_J, + REWARD_AMMO_SAWNOFFSHOTGUN = "REWARD_AMMO_SAWNOFFSHOTGUN"_J, + REWARD_AMMO_SMG = "REWARD_AMMO_SMG"_J, + REWARD_AMMO_SMOKEGRENADE = "REWARD_AMMO_SMOKEGRENADE"_J, + REWARD_AMMO_SNIPERRIFLE = "REWARD_AMMO_SNIPERRIFLE"_J, + REWARD_AMMO_SNSPISTOL = "REWARD_AMMO_SNSPISTOL"_J, + REWARD_AMMO_SPECIALCARBINE = "REWARD_AMMO_SPECIALCARBINE"_J, + REWARD_AMMO_STICKYBOMB = "REWARD_AMMO_STICKYBOMB"_J, + REWARD_AMMO_STUNGUN = "REWARD_AMMO_STUNGUN"_J, + REWARD_AMMO_VINTAGEPISTOL = "REWARD_AMMO_VINTAGEPISTOL"_J, + REWARD_ARMOUR = "REWARD_ARMOUR"_J, + REWARD_HEALTH = "REWARD_HEALTH"_J, + REWARD_HEALTH_ENTER_VEHICLE = "REWARD_HEALTH_ENTER_VEHICLE"_J, + REWARD_HEALTH_VARIABLE = "REWARD_HEALTH_VARIABLE"_J, + REWARD_MONEY_VARIABLE = "REWARD_MONEY_VARIABLE"_J, + REWARD_PARACHUTE = "REWARD_PARACHUTE"_J, + REWARD_STAT_HEALTH = "REWARD_STAT_HEALTH"_J, + REWARD_STAT_HEALTH_VARIABLE = "REWARD_STAT_HEALTH_VARIABLE"_J, + REWARD_STAT_WEAPON = "REWARD_STAT_WEAPON"_J, + REWARD_VEHICLE_FIX = "REWARD_VEHICLE_FIX"_J, + REWARD_WEAPON_ADVANCEDRIFLE = "REWARD_WEAPON_ADVANCEDRIFLE"_J, + REWARD_WEAPON_APPISTOL = "REWARD_WEAPON_APPISTOL"_J, + REWARD_WEAPON_ASSAULTRIFLE = "REWARD_WEAPON_ASSAULTRIFLE"_J, + REWARD_WEAPON_ASSAULTRIFLE_MK2 = "REWARD_WEAPON_ASSAULTRIFLE_MK2"_J, + REWARD_WEAPON_ASSAULTSHOTGUN = "REWARD_WEAPON_ASSAULTSHOTGUN"_J, + REWARD_WEAPON_ASSAULTSMG = "REWARD_WEAPON_ASSAULTSMG"_J, + REWARD_WEAPON_AUTOSHOTGUN = "REWARD_WEAPON_AUTOSHOTGUN"_J, + REWARD_WEAPON_BAT = "REWARD_WEAPON_BAT"_J, + REWARD_WEAPON_BATTLEAXE = "REWARD_WEAPON_BATTLEAXE"_J, + REWARD_WEAPON_BOTTLE = "REWARD_WEAPON_BOTTLE"_J, + REWARD_WEAPON_BULLPUPRIFLE = "REWARD_WEAPON_BULLPUPRIFLE"_J, + REWARD_WEAPON_BULLPUPRIFLE_MK2 = "REWARD_WEAPON_BULLPUPRIFLE_MK2"_J, + REWARD_WEAPON_BULLPUPSHOTGUN = "REWARD_WEAPON_BULLPUPSHOTGUN"_J, + REWARD_WEAPON_CARBINERIFLE = "REWARD_WEAPON_CARBINERIFLE"_J, + REWARD_WEAPON_CARBINERIFLE_MK2 = "REWARD_WEAPON_CARBINERIFLE_MK2"_J, + REWARD_WEAPON_COMBATMG = "REWARD_WEAPON_COMBATMG"_J, + REWARD_WEAPON_COMBATMG_MK2 = "REWARD_WEAPON_COMBATMG_MK2"_J, + REWARD_WEAPON_COMBATPDW = "REWARD_WEAPON_COMBATPDW"_J, + REWARD_WEAPON_COMBATPISTOL = "REWARD_WEAPON_COMBATPISTOL"_J, + REWARD_WEAPON_COMPACTLAUNCHER = "REWARD_WEAPON_COMPACTLAUNCHER"_J, + REWARD_WEAPON_COMPACTRIFLE = "REWARD_WEAPON_COMPACTRIFLE"_J, + REWARD_WEAPON_CROWBAR = "REWARD_WEAPON_CROWBAR"_J, + REWARD_WEAPON_DAGGER = "REWARD_WEAPON_DAGGER"_J, + REWARD_WEAPON_DBSHOTGUN = "REWARD_WEAPON_DBSHOTGUN"_J, + REWARD_WEAPON_DOUBLEACTION = "REWARD_WEAPON_DOUBLEACTION"_J, + REWARD_WEAPON_FIREWORK = "REWARD_WEAPON_FIREWORK"_J, + REWARD_WEAPON_FLAREGUN = "REWARD_WEAPON_FLAREGUN"_J, + REWARD_WEAPON_FLASHLIGHT = "REWARD_WEAPON_FLASHLIGHT"_J, + REWARD_WEAPON_GOLFCLUB = "REWARD_WEAPON_GOLFCLUB"_J, + REWARD_WEAPON_GRENADE = "REWARD_WEAPON_GRENADE"_J, + REWARD_WEAPON_GRENADELAUNCHER = "REWARD_WEAPON_GRENADELAUNCHER"_J, + REWARD_WEAPON_GUSENBERG = "REWARD_WEAPON_GUSENBERG"_J, + REWARD_WEAPON_HAMMER = "REWARD_WEAPON_HAMMER"_J, + REWARD_WEAPON_HATCHET = "REWARD_WEAPON_HATCHET"_J, + REWARD_WEAPON_HEAVYPISTOL = "REWARD_WEAPON_HEAVYPISTOL"_J, + REWARD_WEAPON_HEAVYSHOTGUN = "REWARD_WEAPON_HEAVYSHOTGUN"_J, + REWARD_WEAPON_HEAVYSNIPER = "REWARD_WEAPON_HEAVYSNIPER"_J, + REWARD_WEAPON_HEAVYSNIPER_MK2 = "REWARD_WEAPON_HEAVYSNIPER_MK2"_J, + REWARD_WEAPON_HOMINGLAUNCHER = "REWARD_WEAPON_HOMINGLAUNCHER"_J, + REWARD_WEAPON_KNIFE = "REWARD_WEAPON_KNIFE"_J, + REWARD_WEAPON_KNUCKLE = "REWARD_WEAPON_KNUCKLE"_J, + REWARD_WEAPON_MACHETE = "REWARD_WEAPON_MACHETE"_J, + REWARD_WEAPON_MACHINEPISTOL = "REWARD_WEAPON_MACHINEPISTOL"_J, + REWARD_WEAPON_MARKSMANPISTOL = "REWARD_WEAPON_MARKSMANPISTOL"_J, + REWARD_WEAPON_MARKSMANRIFLE = "REWARD_WEAPON_MARKSMANRIFLE"_J, + REWARD_WEAPON_MARKSMANRIFLE_MK2 = "REWARD_WEAPON_MARKSMANRIFLE_MK2"_J, + REWARD_WEAPON_MG = "REWARD_WEAPON_MG"_J, + REWARD_WEAPON_MICROSMG = "REWARD_WEAPON_MICROSMG"_J, + REWARD_WEAPON_MINIGUN = "REWARD_WEAPON_MINIGUN"_J, + REWARD_WEAPON_MINISMG = "REWARD_WEAPON_MINISMG"_J, + REWARD_WEAPON_MOLOTOV = "REWARD_WEAPON_MOLOTOV"_J, + REWARD_WEAPON_MUSKET = "REWARD_WEAPON_MUSKET"_J, + REWARD_WEAPON_NIGHTSTICK = "REWARD_WEAPON_NIGHTSTICK"_J, + REWARD_WEAPON_PETROLCAN = "REWARD_WEAPON_PETROLCAN"_J, + REWARD_WEAPON_PIPEBOMB = "REWARD_WEAPON_PIPEBOMB"_J, + REWARD_WEAPON_PISTOL = "REWARD_WEAPON_PISTOL"_J, + REWARD_WEAPON_PISTOL50 = "REWARD_WEAPON_PISTOL50"_J, + REWARD_WEAPON_PISTOL_MK2 = "REWARD_WEAPON_PISTOL_MK2"_J, + REWARD_WEAPON_POOLCUE = "REWARD_WEAPON_POOLCUE"_J, + REWARD_WEAPON_PROXMINE = "REWARD_WEAPON_PROXMINE"_J, + REWARD_WEAPON_PUMPSHOTGUN = "REWARD_WEAPON_PUMPSHOTGUN"_J, + REWARD_WEAPON_PUMPSHOTGUN_MK2 = "REWARD_WEAPON_PUMPSHOTGUN_MK2"_J, + REWARD_WEAPON_RAILGUN = "REWARD_WEAPON_RAILGUN"_J, + REWARD_WEAPON_RAYCARBINE = "REWARD_WEAPON_RAYCARBINE"_J, + REWARD_WEAPON_RAYMINIGUN = "REWARD_WEAPON_RAYMINIGUN"_J, + REWARD_WEAPON_RAYPISTOL = "REWARD_WEAPON_RAYPISTOL"_J, + REWARD_WEAPON_REVOLVER = "REWARD_WEAPON_REVOLVER"_J, + REWARD_WEAPON_REVOLVER_MK2 = "REWARD_WEAPON_REVOLVER_MK2"_J, + REWARD_WEAPON_RPG = "REWARD_WEAPON_RPG"_J, + REWARD_WEAPON_SAWNOFFSHOTGUN = "REWARD_WEAPON_SAWNOFFSHOTGUN"_J, + REWARD_WEAPON_SMG = "REWARD_WEAPON_SMG"_J, + REWARD_WEAPON_SMG_MK2 = "REWARD_WEAPON_SMG_MK2"_J, + REWARD_WEAPON_SMOKEGRENADE = "REWARD_WEAPON_SMOKEGRENADE"_J, + REWARD_WEAPON_SNIPERRIFLE = "REWARD_WEAPON_SNIPERRIFLE"_J, + REWARD_WEAPON_SNSPISTOL = "REWARD_WEAPON_SNSPISTOL"_J, + REWARD_WEAPON_SNSPISTOL_MK2 = "REWARD_WEAPON_SNSPISTOL_MK2"_J, + REWARD_WEAPON_SPECIALCARBINE = "REWARD_WEAPON_SPECIALCARBINE"_J, + REWARD_WEAPON_SPECIALCARBINE_MK2 = "REWARD_WEAPON_SPECIALCARBINE_MK2"_J, + REWARD_WEAPON_STICKYBOMB = "REWARD_WEAPON_STICKYBOMB"_J, + REWARD_WEAPON_STONE_HATCHET = "REWARD_WEAPON_STONE_HATCHET"_J, + REWARD_WEAPON_STUNGUN = "REWARD_WEAPON_STUNGUN"_J, + REWARD_WEAPON_SWITCHBLADE = "REWARD_WEAPON_SWITCHBLADE"_J, + REWARD_WEAPON_VINTAGEPISTOL = "REWARD_WEAPON_VINTAGEPISTOL"_J, + REWARD_WEAPON_WRENCH = "REWARD_WEAPON_WRENCH"_J +}; diff --git a/src/gta/vehicles.hpp b/src/gta/vehicles.hpp index 326b91c0..3cc61d25 100644 --- a/src/gta/vehicles.hpp +++ b/src/gta/vehicles.hpp @@ -5,962 +5,962 @@ enum Boats : Hash { - VEHICLE_DINGHY = RAGE_JOAAT("DINGHY"), - VEHICLE_DINGHY2 = RAGE_JOAAT("DINGHY2"), - VEHICLE_DINGHY3 = RAGE_JOAAT("DINGHY3"), - VEHICLE_DINGHY4 = RAGE_JOAAT("DINGHY4"), - VEHICLE_JETMAX = RAGE_JOAAT("JETMAX"), - VEHICLE_MARQUIS = RAGE_JOAAT("MARQUIS"), - VEHICLE_SEASHARK = RAGE_JOAAT("SEASHARK"), - VEHICLE_SEASHARK2 = RAGE_JOAAT("SEASHARK2"), - VEHICLE_SEASHARK3 = RAGE_JOAAT("SEASHARK3"), - VEHICLE_SPEEDER = RAGE_JOAAT("SPEEDER"), - VEHICLE_SPEEDER2 = RAGE_JOAAT("SPEEDER2"), - VEHICLE_SQUALO = RAGE_JOAAT("SQUALO"), - VEHICLE_SUBMERSIBLE = RAGE_JOAAT("SUBMERSIBLE"), - VEHICLE_SUBMERSIBLE2 = RAGE_JOAAT("SUBMERSIBLE2"), - VEHICLE_SUNTRAP = RAGE_JOAAT("SUNTRAP"), - VEHICLE_TORO = RAGE_JOAAT("TORO"), - VEHICLE_TORO2 = RAGE_JOAAT("TORO2"), - VEHICLE_TROPIC = RAGE_JOAAT("TROPIC"), - VEHICLE_TROPIC2 = RAGE_JOAAT("TROPIC2"), - VEHICLE_TUG = RAGE_JOAAT("TUG"), + VEHICLE_DINGHY = "DINGHY"_J, + VEHICLE_DINGHY2 = "DINGHY2"_J, + VEHICLE_DINGHY3 = "DINGHY3"_J, + VEHICLE_DINGHY4 = "DINGHY4"_J, + VEHICLE_JETMAX = "JETMAX"_J, + VEHICLE_MARQUIS = "MARQUIS"_J, + VEHICLE_SEASHARK = "SEASHARK"_J, + VEHICLE_SEASHARK2 = "SEASHARK2"_J, + VEHICLE_SEASHARK3 = "SEASHARK3"_J, + VEHICLE_SPEEDER = "SPEEDER"_J, + VEHICLE_SPEEDER2 = "SPEEDER2"_J, + VEHICLE_SQUALO = "SQUALO"_J, + VEHICLE_SUBMERSIBLE = "SUBMERSIBLE"_J, + VEHICLE_SUBMERSIBLE2 = "SUBMERSIBLE2"_J, + VEHICLE_SUNTRAP = "SUNTRAP"_J, + VEHICLE_TORO = "TORO"_J, + VEHICLE_TORO2 = "TORO2"_J, + VEHICLE_TROPIC = "TROPIC"_J, + VEHICLE_TROPIC2 = "TROPIC2"_J, + VEHICLE_TUG = "TUG"_J, }; enum Commericals : Hash { - VEHICLE_BENSON = RAGE_JOAAT("BENSON"), - VEHICLE_BIFF = RAGE_JOAAT("BIFF"), - VEHICLE_HAULER = RAGE_JOAAT("HAULER"), - VEHICLE_HAULER2 = RAGE_JOAAT("HAULER2"), - VEHICLE_MULE = RAGE_JOAAT("MULE"), - VEHICLE_MULE2 = RAGE_JOAAT("MULE2"), - VEHICLE_MULE3 = RAGE_JOAAT("MULE3"), - VEHICLE_MULE4 = RAGE_JOAAT("MULE4"), - VEHICLE_PACKER = RAGE_JOAAT("PACKER"), - VEHICLE_PHANTOM = RAGE_JOAAT("PHANTOM"), - VEHICLE_PHANTOM2 = RAGE_JOAAT("PHANTOM2"), - VEHICLE_PHANTOM3 = RAGE_JOAAT("PHANTOM3"), - VEHICLE_POUNDER = RAGE_JOAAT("POUNDER"), - VEHICLE_POUNDER2 = RAGE_JOAAT("POUNDER2"), - VEHICLE_STOCKADE = RAGE_JOAAT("STOCKADE"), - VEHICLE_STOCKADE3 = RAGE_JOAAT("STOCKADE3"), - VEHICLE_TERBYTE = RAGE_JOAAT("TERBYTE"), + VEHICLE_BENSON = "BENSON"_J, + VEHICLE_BIFF = "BIFF"_J, + VEHICLE_HAULER = "HAULER"_J, + VEHICLE_HAULER2 = "HAULER2"_J, + VEHICLE_MULE = "MULE"_J, + VEHICLE_MULE2 = "MULE2"_J, + VEHICLE_MULE3 = "MULE3"_J, + VEHICLE_MULE4 = "MULE4"_J, + VEHICLE_PACKER = "PACKER"_J, + VEHICLE_PHANTOM = "PHANTOM"_J, + VEHICLE_PHANTOM2 = "PHANTOM2"_J, + VEHICLE_PHANTOM3 = "PHANTOM3"_J, + VEHICLE_POUNDER = "POUNDER"_J, + VEHICLE_POUNDER2 = "POUNDER2"_J, + VEHICLE_STOCKADE = "STOCKADE"_J, + VEHICLE_STOCKADE3 = "STOCKADE3"_J, + VEHICLE_TERBYTE = "TERBYTE"_J, }; enum Compacts : Hash { - VEHICLE_BLISTA = RAGE_JOAAT("BLISTA"), - VEHICLE_BRIOSO = RAGE_JOAAT("BRIOSO"), - VEHICLE_DILETTANTE = RAGE_JOAAT("DILETTANTE"), - VEHICLE_DILETTANTE2 = RAGE_JOAAT("DILETTANTE2"), - VEHICLE_ISSI2 = RAGE_JOAAT("ISSI2"), - VEHICLE_ISSI3 = RAGE_JOAAT("ISSI3"), - VEHICLE_PANTO = RAGE_JOAAT("PANTO"), - VEHICLE_PRAIRIE = RAGE_JOAAT("PRAIRIE"), - VEHICLE_RHAPSODY = RAGE_JOAAT("RHAPSODY"), + VEHICLE_BLISTA = "BLISTA"_J, + VEHICLE_BRIOSO = "BRIOSO"_J, + VEHICLE_DILETTANTE = "DILETTANTE"_J, + VEHICLE_DILETTANTE2 = "DILETTANTE2"_J, + VEHICLE_ISSI2 = "ISSI2"_J, + VEHICLE_ISSI3 = "ISSI3"_J, + VEHICLE_PANTO = "PANTO"_J, + VEHICLE_PRAIRIE = "PRAIRIE"_J, + VEHICLE_RHAPSODY = "RHAPSODY"_J, }; enum Coupes : Hash { - VEHICLE_COGCABRIO = RAGE_JOAAT("COGCABRIO"), - VEHICLE_EXEMPLAR = RAGE_JOAAT("EXEMPLAR"), - VEHICLE_F620 = RAGE_JOAAT("F620"), - VEHICLE_FELON = RAGE_JOAAT("FELON"), - VEHICLE_FELON2 = RAGE_JOAAT("FELON2"), - VEHICLE_JACKAL = RAGE_JOAAT("JACKAL"), - VEHICLE_ORACLE = RAGE_JOAAT("ORACLE"), - VEHICLE_ORACLE2 = RAGE_JOAAT("ORACLE2"), - VEHICLE_SENTINEL = RAGE_JOAAT("SENTINEL"), - VEHICLE_SENTINEL2 = RAGE_JOAAT("SENTINEL2"), - VEHICLE_WINDSOR = RAGE_JOAAT("WINDSOR"), - VEHICLE_WINDSOR2 = RAGE_JOAAT("WINDSOR2"), - VEHICLE_ZION = RAGE_JOAAT("ZION"), - VEHICLE_ZION2 = RAGE_JOAAT("ZION2"), + VEHICLE_COGCABRIO = "COGCABRIO"_J, + VEHICLE_EXEMPLAR = "EXEMPLAR"_J, + VEHICLE_F620 = "F620"_J, + VEHICLE_FELON = "FELON"_J, + VEHICLE_FELON2 = "FELON2"_J, + VEHICLE_JACKAL = "JACKAL"_J, + VEHICLE_ORACLE = "ORACLE"_J, + VEHICLE_ORACLE2 = "ORACLE2"_J, + VEHICLE_SENTINEL = "SENTINEL"_J, + VEHICLE_SENTINEL2 = "SENTINEL2"_J, + VEHICLE_WINDSOR = "WINDSOR"_J, + VEHICLE_WINDSOR2 = "WINDSOR2"_J, + VEHICLE_ZION = "ZION"_J, + VEHICLE_ZION2 = "ZION2"_J, }; enum Bikes : Hash { - VEHICLE_BMX = RAGE_JOAAT("BMX"), - VEHICLE_CRUISER = RAGE_JOAAT("CRUISER"), - VEHICLE_FIXTER = RAGE_JOAAT("FIXTER"), - VEHICLE_SCORCHER = RAGE_JOAAT("SCORCHER"), - VEHICLE_TRIBIKE = RAGE_JOAAT("TRIBIKE"), - VEHICLE_TRIBIKE2 = RAGE_JOAAT("TRIBIKE2"), - VEHICLE_TRIBIKE3 = RAGE_JOAAT("TRIBIKE3"), + VEHICLE_BMX = "BMX"_J, + VEHICLE_CRUISER = "CRUISER"_J, + VEHICLE_FIXTER = "FIXTER"_J, + VEHICLE_SCORCHER = "SCORCHER"_J, + VEHICLE_TRIBIKE = "TRIBIKE"_J, + VEHICLE_TRIBIKE2 = "TRIBIKE2"_J, + VEHICLE_TRIBIKE3 = "TRIBIKE3"_J, }; enum Emergency : Hash { - VEHICLE_AMBULANCE = RAGE_JOAAT("AMBULANCE"), - VEHICLE_FBI = RAGE_JOAAT("FBI"), - VEHICLE_FBI2 = RAGE_JOAAT("FBI2"), - VEHICLE_FIRETRUK = RAGE_JOAAT("FIRETRUK"), - VEHICLE_LGUARD = RAGE_JOAAT("LGUARD"), - VEHICLE_PBUS = RAGE_JOAAT("PBUS"), - VEHICLE_POLICE = RAGE_JOAAT("POLICE"), - VEHICLE_POLICE2 = RAGE_JOAAT("POLICE2"), - VEHICLE_POLICE3 = RAGE_JOAAT("POLICE3"), - VEHICLE_POLICE4 = RAGE_JOAAT("POLICE4"), - VEHICLE_POLICEB = RAGE_JOAAT("POLICEB"), - VEHICLE_POLMAV = RAGE_JOAAT("POLMAV"), - VEHICLE_POLICEOLD1 = RAGE_JOAAT("POLICEOLD1"), - VEHICLE_POLICEOLD2 = RAGE_JOAAT("POLICEOLD2"), - VEHICLE_POLICET = RAGE_JOAAT("POLICET"), - VEHICLE_PRANGER = RAGE_JOAAT("PRANGER"), - VEHICLE_PREDATOR = RAGE_JOAAT("PREDATOR"), - VEHICLE_RIOT = RAGE_JOAAT("RIOT"), - VEHICLE_RIOT2 = RAGE_JOAAT("RIOT2"), - VEHICLE_SHERIFF = RAGE_JOAAT("SHERIFF"), - VEHICLE_SHERIFF2 = RAGE_JOAAT("SHERIFF2"), + VEHICLE_AMBULANCE = "AMBULANCE"_J, + VEHICLE_FBI = "FBI"_J, + VEHICLE_FBI2 = "FBI2"_J, + VEHICLE_FIRETRUK = "FIRETRUK"_J, + VEHICLE_LGUARD = "LGUARD"_J, + VEHICLE_PBUS = "PBUS"_J, + VEHICLE_POLICE = "POLICE"_J, + VEHICLE_POLICE2 = "POLICE2"_J, + VEHICLE_POLICE3 = "POLICE3"_J, + VEHICLE_POLICE4 = "POLICE4"_J, + VEHICLE_POLICEB = "POLICEB"_J, + VEHICLE_POLMAV = "POLMAV"_J, + VEHICLE_POLICEOLD1 = "POLICEOLD1"_J, + VEHICLE_POLICEOLD2 = "POLICEOLD2"_J, + VEHICLE_POLICET = "POLICET"_J, + VEHICLE_PRANGER = "PRANGER"_J, + VEHICLE_PREDATOR = "PREDATOR"_J, + VEHICLE_RIOT = "RIOT"_J, + VEHICLE_RIOT2 = "RIOT2"_J, + VEHICLE_SHERIFF = "SHERIFF"_J, + VEHICLE_SHERIFF2 = "SHERIFF2"_J, }; enum Helicopters : Hash { - VEHICLE_AKULA = RAGE_JOAAT("AKULA"), - VEHICLE_ANNIHILATOR = RAGE_JOAAT("ANNIHILATOR"), - VEHICLE_BUZZARD = RAGE_JOAAT("BUZZARD"), - VEHICLE_BUZZARD2 = RAGE_JOAAT("BUZZARD2"), - VEHICLE_CARGOBOB = RAGE_JOAAT("CARGOBOB"), - VEHICLE_CARGOBOB2 = RAGE_JOAAT("CARGOBOB2"), - VEHICLE_CARGOBOB3 = RAGE_JOAAT("CARGOBOB3"), - VEHICLE_CARGOBOB4 = RAGE_JOAAT("CARGOBOB4"), - VEHICLE_FROGGER = RAGE_JOAAT("FROGGER"), - VEHICLE_FROGGER2 = RAGE_JOAAT("FROGGER2"), - VEHICLE_HAVOK = RAGE_JOAAT("HAVOK"), - VEHICLE_HUNTER = RAGE_JOAAT("HUNTER"), - VEHICLE_MAVERICK = RAGE_JOAAT("MAVERICK"), - VEHICLE_SAVAGE = RAGE_JOAAT("SAVAGE"), - VEHICLE_SKYLIFT = RAGE_JOAAT("SKYLIFT"), - VEHICLE_SUPERVOLITO = RAGE_JOAAT("SUPERVOLITO"), - VEHICLE_SUPERVOLITO2 = RAGE_JOAAT("SUPERVOLITO2"), - VEHICLE_SWIFT = RAGE_JOAAT("SWIFT"), - VEHICLE_SWIFT2 = RAGE_JOAAT("SWIFT2"), - VEHICLE_VALKYRIE = RAGE_JOAAT("VALKYRIE"), - VEHICLE_VALKYRIE2 = RAGE_JOAAT("VALKYRIE2"), - VEHICLE_VOLATUS = RAGE_JOAAT("VOLATUS"), + VEHICLE_AKULA = "AKULA"_J, + VEHICLE_ANNIHILATOR = "ANNIHILATOR"_J, + VEHICLE_BUZZARD = "BUZZARD"_J, + VEHICLE_BUZZARD2 = "BUZZARD2"_J, + VEHICLE_CARGOBOB = "CARGOBOB"_J, + VEHICLE_CARGOBOB2 = "CARGOBOB2"_J, + VEHICLE_CARGOBOB3 = "CARGOBOB3"_J, + VEHICLE_CARGOBOB4 = "CARGOBOB4"_J, + VEHICLE_FROGGER = "FROGGER"_J, + VEHICLE_FROGGER2 = "FROGGER2"_J, + VEHICLE_HAVOK = "HAVOK"_J, + VEHICLE_HUNTER = "HUNTER"_J, + VEHICLE_MAVERICK = "MAVERICK"_J, + VEHICLE_SAVAGE = "SAVAGE"_J, + VEHICLE_SKYLIFT = "SKYLIFT"_J, + VEHICLE_SUPERVOLITO = "SUPERVOLITO"_J, + VEHICLE_SUPERVOLITO2 = "SUPERVOLITO2"_J, + VEHICLE_SWIFT = "SWIFT"_J, + VEHICLE_SWIFT2 = "SWIFT2"_J, + VEHICLE_VALKYRIE = "VALKYRIE"_J, + VEHICLE_VALKYRIE2 = "VALKYRIE2"_J, + VEHICLE_VOLATUS = "VOLATUS"_J, }; enum Industrial : Hash { - VEHICLE_BULLDOZER = RAGE_JOAAT("BULLDOZER"), - VEHICLE_CUTTER = RAGE_JOAAT("CUTTER"), - VEHICLE_DUMP = RAGE_JOAAT("DUMP"), - VEHICLE_FLATBED = RAGE_JOAAT("FLATBED"), - VEHICLE_GUARDIAN = RAGE_JOAAT("GUARDIAN"), - VEHICLE_HANDLER = RAGE_JOAAT("HANDLER"), - VEHICLE_MIXER = RAGE_JOAAT("MIXER"), - VEHICLE_MIXER2 = RAGE_JOAAT("MIXER2"), - VEHICLE_RUBBLE = RAGE_JOAAT("RUBBLE"), - VEHICLE_TIPTRUCK = RAGE_JOAAT("TIPTRUCK"), - VEHICLE_TIPTRUCK2 = RAGE_JOAAT("TIPTRUCK2"), + VEHICLE_BULLDOZER = "BULLDOZER"_J, + VEHICLE_CUTTER = "CUTTER"_J, + VEHICLE_DUMP = "DUMP"_J, + VEHICLE_FLATBED = "FLATBED"_J, + VEHICLE_GUARDIAN = "GUARDIAN"_J, + VEHICLE_HANDLER = "HANDLER"_J, + VEHICLE_MIXER = "MIXER"_J, + VEHICLE_MIXER2 = "MIXER2"_J, + VEHICLE_RUBBLE = "RUBBLE"_J, + VEHICLE_TIPTRUCK = "TIPTRUCK"_J, + VEHICLE_TIPTRUCK2 = "TIPTRUCK2"_J, }; enum Military : Hash { - VEHICLE_APC = RAGE_JOAAT("APC"), - VEHICLE_BARRACKS = RAGE_JOAAT("BARRACKS"), - VEHICLE_BARRACKS2 = RAGE_JOAAT("BARRACKS2"), - VEHICLE_BARRACKS3 = RAGE_JOAAT("BARRACKS3"), - VEHICLE_BARRAGE = RAGE_JOAAT("BARRAGE"), - VEHICLE_CHERNOBOG = RAGE_JOAAT("CHERNOBOG"), - VEHICLE_CRUSADER = RAGE_JOAAT("CRUSADER"), - VEHICLE_HALFTRACK = RAGE_JOAAT("HALFTRACK"), - VEHICLE_KHANJALI = RAGE_JOAAT("KHANJALI"), - VEHICLE_RHINO = RAGE_JOAAT("RHINO"), - VEHICLE_THRUSTER = RAGE_JOAAT("THRUSTER"), - VEHICLE_TRAILERSMALL2 = RAGE_JOAAT("TRAILERSMALL2"), + VEHICLE_APC = "APC"_J, + VEHICLE_BARRACKS = "BARRACKS"_J, + VEHICLE_BARRACKS2 = "BARRACKS2"_J, + VEHICLE_BARRACKS3 = "BARRACKS3"_J, + VEHICLE_BARRAGE = "BARRAGE"_J, + VEHICLE_CHERNOBOG = "CHERNOBOG"_J, + VEHICLE_CRUSADER = "CRUSADER"_J, + VEHICLE_HALFTRACK = "HALFTRACK"_J, + VEHICLE_KHANJALI = "KHANJALI"_J, + VEHICLE_RHINO = "RHINO"_J, + VEHICLE_THRUSTER = "THRUSTER"_J, + VEHICLE_TRAILERSMALL2 = "TRAILERSMALL2"_J, }; enum Motorcycles : Hash { - VEHICLE_AKUMA = RAGE_JOAAT("AKUMA"), - VEHICLE_AVARUS = RAGE_JOAAT("AVARUS"), - VEHICLE_BAGGER = RAGE_JOAAT("BAGGER"), - VEHICLE_BATI = RAGE_JOAAT("BATI"), - VEHICLE_BATI2 = RAGE_JOAAT("BATI2"), - VEHICLE_BF400 = RAGE_JOAAT("BF400"), - VEHICLE_CARBONRS = RAGE_JOAAT("CARBONRS"), - VEHICLE_CHIMERA = RAGE_JOAAT("CHIMERA"), - VEHICLE_CLIFFHANGER = RAGE_JOAAT("CLIFFHANGER"), - VEHICLE_DAEMON = RAGE_JOAAT("DAEMON"), - VEHICLE_DAEMON2 = RAGE_JOAAT("DAEMON2"), - VEHICLE_DEFILER = RAGE_JOAAT("DEFILER"), - VEHICLE_DIABLOUS = RAGE_JOAAT("DIABLOUS"), - VEHICLE_DIABLOUS2 = RAGE_JOAAT("DIABLOUS2"), - VEHICLE_DOUBLE = RAGE_JOAAT("DOUBLE"), - VEHICLE_ENDURO = RAGE_JOAAT("ENDURO"), - VEHICLE_ESSKEY = RAGE_JOAAT("ESSKEY"), - VEHICLE_FAGGIO = RAGE_JOAAT("FAGGIO"), - VEHICLE_FAGGIO2 = RAGE_JOAAT("FAGGIO2"), - VEHICLE_FAGGIO3 = RAGE_JOAAT("FAGGIO3"), - VEHICLE_FCR = RAGE_JOAAT("FCR"), - VEHICLE_FCR2 = RAGE_JOAAT("FCR2"), - VEHICLE_GARGOYLE = RAGE_JOAAT("GARGOYLE"), - VEHICLE_HAKUCHOU = RAGE_JOAAT("HAKUCHOU"), - VEHICLE_HAKUCHOU2 = RAGE_JOAAT("HAKUCHOU2"), - VEHICLE_HEXER = RAGE_JOAAT("HEXER"), - VEHICLE_INNOVATION = RAGE_JOAAT("INNOVATION"), - VEHICLE_LECTRO = RAGE_JOAAT("LECTRO"), - VEHICLE_MANCHEZ = RAGE_JOAAT("MANCHEZ"), - VEHICLE_NEMESIS = RAGE_JOAAT("NEMESIS"), - VEHICLE_NIGHTBLADE = RAGE_JOAAT("NIGHTBLADE"), - VEHICLE_OPPRESSOR = RAGE_JOAAT("OPPRESSOR"), - VEHICLE_OPPRESSOR2 = RAGE_JOAAT("OPPRESSOR2"), - VEHICLE_PCJ = RAGE_JOAAT("PCJ"), - VEHICLE_RATBIKE = RAGE_JOAAT("RATBIKE"), - VEHICLE_RUFFIAN = RAGE_JOAAT("RUFFIAN"), - VEHICLE_SANCHEZ2 = RAGE_JOAAT("SANCHEZ2"), - VEHICLE_SANCTUS = RAGE_JOAAT("SANCTUS"), - VEHICLE_SHOTARO = RAGE_JOAAT("SHOTARO"), - VEHICLE_SOVEREIGN = RAGE_JOAAT("SOVEREIGN"), - VEHICLE_THRUST = RAGE_JOAAT("THRUST"), - VEHICLE_VADER = RAGE_JOAAT("VADER"), - VEHICLE_VINDICATOR = RAGE_JOAAT("VINDICATOR"), - VEHICLE_VORTEX = RAGE_JOAAT("VORTEX"), - VEHICLE_WOLFSBANE = RAGE_JOAAT("WOLFSBANE"), - VEHICLE_ZOMBIEA = RAGE_JOAAT("ZOMBIEA"), - VEHICLE_ZOMBIEB = RAGE_JOAAT("ZOMBIEB"), + VEHICLE_AKUMA = "AKUMA"_J, + VEHICLE_AVARUS = "AVARUS"_J, + VEHICLE_BAGGER = "BAGGER"_J, + VEHICLE_BATI = "BATI"_J, + VEHICLE_BATI2 = "BATI2"_J, + VEHICLE_BF400 = "BF400"_J, + VEHICLE_CARBONRS = "CARBONRS"_J, + VEHICLE_CHIMERA = "CHIMERA"_J, + VEHICLE_CLIFFHANGER = "CLIFFHANGER"_J, + VEHICLE_DAEMON = "DAEMON"_J, + VEHICLE_DAEMON2 = "DAEMON2"_J, + VEHICLE_DEFILER = "DEFILER"_J, + VEHICLE_DIABLOUS = "DIABLOUS"_J, + VEHICLE_DIABLOUS2 = "DIABLOUS2"_J, + VEHICLE_DOUBLE = "DOUBLE"_J, + VEHICLE_ENDURO = "ENDURO"_J, + VEHICLE_ESSKEY = "ESSKEY"_J, + VEHICLE_FAGGIO = "FAGGIO"_J, + VEHICLE_FAGGIO2 = "FAGGIO2"_J, + VEHICLE_FAGGIO3 = "FAGGIO3"_J, + VEHICLE_FCR = "FCR"_J, + VEHICLE_FCR2 = "FCR2"_J, + VEHICLE_GARGOYLE = "GARGOYLE"_J, + VEHICLE_HAKUCHOU = "HAKUCHOU"_J, + VEHICLE_HAKUCHOU2 = "HAKUCHOU2"_J, + VEHICLE_HEXER = "HEXER"_J, + VEHICLE_INNOVATION = "INNOVATION"_J, + VEHICLE_LECTRO = "LECTRO"_J, + VEHICLE_MANCHEZ = "MANCHEZ"_J, + VEHICLE_NEMESIS = "NEMESIS"_J, + VEHICLE_NIGHTBLADE = "NIGHTBLADE"_J, + VEHICLE_OPPRESSOR = "OPPRESSOR"_J, + VEHICLE_OPPRESSOR2 = "OPPRESSOR2"_J, + VEHICLE_PCJ = "PCJ"_J, + VEHICLE_RATBIKE = "RATBIKE"_J, + VEHICLE_RUFFIAN = "RUFFIAN"_J, + VEHICLE_SANCHEZ2 = "SANCHEZ2"_J, + VEHICLE_SANCTUS = "SANCTUS"_J, + VEHICLE_SHOTARO = "SHOTARO"_J, + VEHICLE_SOVEREIGN = "SOVEREIGN"_J, + VEHICLE_THRUST = "THRUST"_J, + VEHICLE_VADER = "VADER"_J, + VEHICLE_VINDICATOR = "VINDICATOR"_J, + VEHICLE_VORTEX = "VORTEX"_J, + VEHICLE_WOLFSBANE = "WOLFSBANE"_J, + VEHICLE_ZOMBIEA = "ZOMBIEA"_J, + VEHICLE_ZOMBIEB = "ZOMBIEB"_J, }; enum Muscle : Hash { - VEHICLE_BLADE = RAGE_JOAAT("BLADE"), - VEHICLE_BUCCANEER = RAGE_JOAAT("BUCCANEER"), - VEHICLE_BUCCANEER2 = RAGE_JOAAT("BUCCANEER2"), - VEHICLE_CHINO = RAGE_JOAAT("CHINO"), - VEHICLE_CHINO2 = RAGE_JOAAT("CHINO2"), - VEHICLE_COQUETTE3 = RAGE_JOAAT("COQUETTE3"), - VEHICLE_DOMINATOR = RAGE_JOAAT("DOMINATOR"), - VEHICLE_DOMINATOR2 = RAGE_JOAAT("DOMINATOR2"), - VEHICLE_DOMINATOR3 = RAGE_JOAAT("DOMINATOR3"), - VEHICLE_DUKES = RAGE_JOAAT("DUKES"), - VEHICLE_DUKES2 = RAGE_JOAAT("DUKES2"), - VEHICLE_ELLIE = RAGE_JOAAT("ELLIE"), - VEHICLE_FACTION = RAGE_JOAAT("FACTION"), - VEHICLE_FACTION2 = RAGE_JOAAT("FACTION2"), - VEHICLE_FACTION3 = RAGE_JOAAT("FACTION3"), - VEHICLE_GAUNTLET = RAGE_JOAAT("GAUNTLET"), - VEHICLE_GAUNTLET2 = RAGE_JOAAT("GAUNTLET2"), - VEHICLE_HERMES = RAGE_JOAAT("HERMES"), - VEHICLE_HOTKNIFE = RAGE_JOAAT("HOTKNIFE"), - VEHICLE_LURCHER = RAGE_JOAAT("LURCHER"), - VEHICLE_MOONBEAM = RAGE_JOAAT("MOONBEAM"), - VEHICLE_MOONBEAM2 = RAGE_JOAAT("MOONBEAM2"), - VEHICLE_NIGHTSHADE = RAGE_JOAAT("NIGHTSHADE"), - VEHICLE_PHOENIX = RAGE_JOAAT("PHOENIX"), - VEHICLE_PICADOR = RAGE_JOAAT("PICADOR"), - VEHICLE_RATLOADER = RAGE_JOAAT("RATLOADER"), - VEHICLE_RATLOADER2 = RAGE_JOAAT("RATLOADER2"), - VEHICLE_RUINER = RAGE_JOAAT("RUINER"), - VEHICLE_RUINER2 = RAGE_JOAAT("RUINER2"), - VEHICLE_RUINER3 = RAGE_JOAAT("RUINER3"), - VEHICLE_SABREGT = RAGE_JOAAT("SABREGT"), - VEHICLE_SABREGT2 = RAGE_JOAAT("SABREGT2"), - VEHICLE_SLAMVAN = RAGE_JOAAT("SLAMVAN"), - VEHICLE_SLAMVAN2 = RAGE_JOAAT("SLAMVAN2"), - VEHICLE_SLAMVAN3 = RAGE_JOAAT("SLAMVAN3"), - VEHICLE_STALION = RAGE_JOAAT("STALION"), - VEHICLE_STALION2 = RAGE_JOAAT("STALION2"), - VEHICLE_TAMPA = RAGE_JOAAT("TAMPA"), - VEHICLE_TAMPA3 = RAGE_JOAAT("TAMPA3"), - VEHICLE_VIGERO = RAGE_JOAAT("VIGERO"), - VEHICLE_VIRGO = RAGE_JOAAT("VIRGO"), - VEHICLE_VIRGO2 = RAGE_JOAAT("VIRGO2"), - VEHICLE_VIRGO3 = RAGE_JOAAT("VIRGO3"), - VEHICLE_VOODOO = RAGE_JOAAT("VOODOO"), - VEHICLE_VOODOO2 = RAGE_JOAAT("VOODOO2"), - VEHICLE_YOSEMITE = RAGE_JOAAT("YOSEMITE"), + VEHICLE_BLADE = "BLADE"_J, + VEHICLE_BUCCANEER = "BUCCANEER"_J, + VEHICLE_BUCCANEER2 = "BUCCANEER2"_J, + VEHICLE_CHINO = "CHINO"_J, + VEHICLE_CHINO2 = "CHINO2"_J, + VEHICLE_COQUETTE3 = "COQUETTE3"_J, + VEHICLE_DOMINATOR = "DOMINATOR"_J, + VEHICLE_DOMINATOR2 = "DOMINATOR2"_J, + VEHICLE_DOMINATOR3 = "DOMINATOR3"_J, + VEHICLE_DUKES = "DUKES"_J, + VEHICLE_DUKES2 = "DUKES2"_J, + VEHICLE_ELLIE = "ELLIE"_J, + VEHICLE_FACTION = "FACTION"_J, + VEHICLE_FACTION2 = "FACTION2"_J, + VEHICLE_FACTION3 = "FACTION3"_J, + VEHICLE_GAUNTLET = "GAUNTLET"_J, + VEHICLE_GAUNTLET2 = "GAUNTLET2"_J, + VEHICLE_HERMES = "HERMES"_J, + VEHICLE_HOTKNIFE = "HOTKNIFE"_J, + VEHICLE_LURCHER = "LURCHER"_J, + VEHICLE_MOONBEAM = "MOONBEAM"_J, + VEHICLE_MOONBEAM2 = "MOONBEAM2"_J, + VEHICLE_NIGHTSHADE = "NIGHTSHADE"_J, + VEHICLE_PHOENIX = "PHOENIX"_J, + VEHICLE_PICADOR = "PICADOR"_J, + VEHICLE_RATLOADER = "RATLOADER"_J, + VEHICLE_RATLOADER2 = "RATLOADER2"_J, + VEHICLE_RUINER = "RUINER"_J, + VEHICLE_RUINER2 = "RUINER2"_J, + VEHICLE_RUINER3 = "RUINER3"_J, + VEHICLE_SABREGT = "SABREGT"_J, + VEHICLE_SABREGT2 = "SABREGT2"_J, + VEHICLE_SLAMVAN = "SLAMVAN"_J, + VEHICLE_SLAMVAN2 = "SLAMVAN2"_J, + VEHICLE_SLAMVAN3 = "SLAMVAN3"_J, + VEHICLE_STALION = "STALION"_J, + VEHICLE_STALION2 = "STALION2"_J, + VEHICLE_TAMPA = "TAMPA"_J, + VEHICLE_TAMPA3 = "TAMPA3"_J, + VEHICLE_VIGERO = "VIGERO"_J, + VEHICLE_VIRGO = "VIRGO"_J, + VEHICLE_VIRGO2 = "VIRGO2"_J, + VEHICLE_VIRGO3 = "VIRGO3"_J, + VEHICLE_VOODOO = "VOODOO"_J, + VEHICLE_VOODOO2 = "VOODOO2"_J, + VEHICLE_YOSEMITE = "YOSEMITE"_J, }; enum OffRoad : Hash { - VEHICLE_BFINJECTION = RAGE_JOAAT("BFINJECTION"), - VEHICLE_BIFTA = RAGE_JOAAT("BIFTA"), - VEHICLE_BLAZER = RAGE_JOAAT("BLAZER"), - VEHICLE_BLAZER2 = RAGE_JOAAT("BLAZER2"), - VEHICLE_BLAZER3 = RAGE_JOAAT("BLAZER3"), - VEHICLE_BLAZER4 = RAGE_JOAAT("BLAZER4"), - VEHICLE_BLAZER5 = RAGE_JOAAT("BLAZER5"), - VEHICLE_BODHI2 = RAGE_JOAAT("BODHI2"), - VEHICLE_BRAWLER = RAGE_JOAAT("BRAWLER"), - VEHICLE_DLOADER = RAGE_JOAAT("DLOADER"), - VEHICLE_DUBSTA3 = RAGE_JOAAT("DUBSTA3"), - VEHICLE_DUNE = RAGE_JOAAT("DUNE"), - VEHICLE_DUNE2 = RAGE_JOAAT("DUNE2"), - VEHICLE_DUNE3 = RAGE_JOAAT("DUNE3"), - VEHICLE_DUNE4 = RAGE_JOAAT("DUNE4"), - VEHICLE_DUNE5 = RAGE_JOAAT("DUNE5"), - VEHICLE_FREECRAWLER = RAGE_JOAAT("FREECRAWLER"), - VEHICLE_INSURGENT = RAGE_JOAAT("INSURGENT"), - VEHICLE_INSURGENT2 = RAGE_JOAAT("INSURGENT2"), - VEHICLE_INSURGENT3 = RAGE_JOAAT("INSURGENT3"), - VEHICLE_KALAHARI = RAGE_JOAAT("KALAHARI"), - VEHICLE_KAMACHO = RAGE_JOAAT("KAMACHO"), - VEHICLE_MARSHALL = RAGE_JOAAT("MARSHALL"), - VEHICLE_MESA3 = RAGE_JOAAT("MESA3"), - VEHICLE_MONSTER = RAGE_JOAAT("MONSTER"), - VEHICLE_MENACER = RAGE_JOAAT("MENACER"), - VEHICLE_NIGHTSHARK = RAGE_JOAAT("NIGHTSHARK"), - VEHICLE_RANCHERXL = RAGE_JOAAT("RANCHERXL"), - VEHICLE_RANCHERXL2 = RAGE_JOAAT("RANCHERXL2"), - VEHICLE_REBEL = RAGE_JOAAT("REBEL"), - VEHICLE_REBEL2 = RAGE_JOAAT("REBEL2"), - VEHICLE_RIATA = RAGE_JOAAT("RIATA"), - VEHICLE_SANDKING = RAGE_JOAAT("SANDKING"), - VEHICLE_SANDKING2 = RAGE_JOAAT("SANDKING2"), - VEHICLE_TECHNICAL = RAGE_JOAAT("TECHNICAL"), - VEHICLE_TECHNICAL2 = RAGE_JOAAT("TECHNICAL2"), - VEHICLE_TECHNICAL3 = RAGE_JOAAT("TECHNICAL3"), - VEHICLE_TROPHYTRUCK = RAGE_JOAAT("TROPHYTRUCK"), - VEHICLE_TROPHYTRUCK2 = RAGE_JOAAT("TROPHYTRUCK2"), + VEHICLE_BFINJECTION = "BFINJECTION"_J, + VEHICLE_BIFTA = "BIFTA"_J, + VEHICLE_BLAZER = "BLAZER"_J, + VEHICLE_BLAZER2 = "BLAZER2"_J, + VEHICLE_BLAZER3 = "BLAZER3"_J, + VEHICLE_BLAZER4 = "BLAZER4"_J, + VEHICLE_BLAZER5 = "BLAZER5"_J, + VEHICLE_BODHI2 = "BODHI2"_J, + VEHICLE_BRAWLER = "BRAWLER"_J, + VEHICLE_DLOADER = "DLOADER"_J, + VEHICLE_DUBSTA3 = "DUBSTA3"_J, + VEHICLE_DUNE = "DUNE"_J, + VEHICLE_DUNE2 = "DUNE2"_J, + VEHICLE_DUNE3 = "DUNE3"_J, + VEHICLE_DUNE4 = "DUNE4"_J, + VEHICLE_DUNE5 = "DUNE5"_J, + VEHICLE_FREECRAWLER = "FREECRAWLER"_J, + VEHICLE_INSURGENT = "INSURGENT"_J, + VEHICLE_INSURGENT2 = "INSURGENT2"_J, + VEHICLE_INSURGENT3 = "INSURGENT3"_J, + VEHICLE_KALAHARI = "KALAHARI"_J, + VEHICLE_KAMACHO = "KAMACHO"_J, + VEHICLE_MARSHALL = "MARSHALL"_J, + VEHICLE_MESA3 = "MESA3"_J, + VEHICLE_MONSTER = "MONSTER"_J, + VEHICLE_MENACER = "MENACER"_J, + VEHICLE_NIGHTSHARK = "NIGHTSHARK"_J, + VEHICLE_RANCHERXL = "RANCHERXL"_J, + VEHICLE_RANCHERXL2 = "RANCHERXL2"_J, + VEHICLE_REBEL = "REBEL"_J, + VEHICLE_REBEL2 = "REBEL2"_J, + VEHICLE_RIATA = "RIATA"_J, + VEHICLE_SANDKING = "SANDKING"_J, + VEHICLE_SANDKING2 = "SANDKING2"_J, + VEHICLE_TECHNICAL = "TECHNICAL"_J, + VEHICLE_TECHNICAL2 = "TECHNICAL2"_J, + VEHICLE_TECHNICAL3 = "TECHNICAL3"_J, + VEHICLE_TROPHYTRUCK = "TROPHYTRUCK"_J, + VEHICLE_TROPHYTRUCK2 = "TROPHYTRUCK2"_J, }; enum Planes : Hash { - VEHICLE_ALPHAZ1 = RAGE_JOAAT("ALPHAZ1"), - VEHICLE_AVENGER = RAGE_JOAAT("AVENGER"), - VEHICLE_BESRA = RAGE_JOAAT("BESRA"), - VEHICLE_BLIMP = RAGE_JOAAT("BLIMP"), - VEHICLE_BLIMP2 = RAGE_JOAAT("BLIMP2"), - VEHICLE_BLIMP3 = RAGE_JOAAT("BLIMP3"), - VEHICLE_BOMBUSHKA = RAGE_JOAAT("BOMBUSHKA"), - VEHICLE_CARGOPLANE = RAGE_JOAAT("CARGOPLANE"), - VEHICLE_CUBAN800 = RAGE_JOAAT("CUBAN800"), - VEHICLE_DODO = RAGE_JOAAT("DODO"), - VEHICLE_DUSTER = RAGE_JOAAT("DUSTER"), - VEHICLE_HOWARD = RAGE_JOAAT("HOWARD"), - VEHICLE_HYDRA = RAGE_JOAAT("HYDRA"), - VEHICLE_JET = RAGE_JOAAT("JET"), - VEHICLE_LAZER = RAGE_JOAAT("LAZER"), - VEHICLE_LUXOR = RAGE_JOAAT("LUXOR"), - VEHICLE_LUXOR2 = RAGE_JOAAT("LUXOR2"), - VEHICLE_MAMMATUS = RAGE_JOAAT("MAMMATUS"), - VEHICLE_MICROLIGHT = RAGE_JOAAT("MICROLIGHT"), - VEHICLE_MILJET = RAGE_JOAAT("MILJET"), - VEHICLE_MOGUL = RAGE_JOAAT("MOGUL"), - VEHICLE_MOLOTOK = RAGE_JOAAT("MOLOTOK"), - VEHICLE_NIMBUS = RAGE_JOAAT("NIMBUS"), - VEHICLE_NOKOTA = RAGE_JOAAT("NOKOTA"), - VEHICLE_PYRO = RAGE_JOAAT("PYRO"), - VEHICLE_ROGUE = RAGE_JOAAT("ROGUE"), - VEHICLE_SEABREEZE = RAGE_JOAAT("SEABREEZE"), - VEHICLE_SHAMAL = RAGE_JOAAT("SHAMAL"), - VEHICLE_STARLING = RAGE_JOAAT("STARLING"), - VEHICLE_STRIKEFORCE = RAGE_JOAAT("STRIKEFORCE"), - VEHICLE_STUNT = RAGE_JOAAT("STUNT"), - VEHICLE_TITAN = RAGE_JOAAT("TITAN"), - VEHICLE_TULA = RAGE_JOAAT("TULA"), - VEHICLE_VELUM = RAGE_JOAAT("VELUM"), - VEHICLE_VELUM2 = RAGE_JOAAT("VELUM2"), - VEHICLE_VESTRA = RAGE_JOAAT("VESTRA"), - VEHICLE_VOLATOL = RAGE_JOAAT("VOLATOL"), + VEHICLE_ALPHAZ1 = "ALPHAZ1"_J, + VEHICLE_AVENGER = "AVENGER"_J, + VEHICLE_BESRA = "BESRA"_J, + VEHICLE_BLIMP = "BLIMP"_J, + VEHICLE_BLIMP2 = "BLIMP2"_J, + VEHICLE_BLIMP3 = "BLIMP3"_J, + VEHICLE_BOMBUSHKA = "BOMBUSHKA"_J, + VEHICLE_CARGOPLANE = "CARGOPLANE"_J, + VEHICLE_CUBAN800 = "CUBAN800"_J, + VEHICLE_DODO = "DODO"_J, + VEHICLE_DUSTER = "DUSTER"_J, + VEHICLE_HOWARD = "HOWARD"_J, + VEHICLE_HYDRA = "HYDRA"_J, + VEHICLE_JET = "JET"_J, + VEHICLE_LAZER = "LAZER"_J, + VEHICLE_LUXOR = "LUXOR"_J, + VEHICLE_LUXOR2 = "LUXOR2"_J, + VEHICLE_MAMMATUS = "MAMMATUS"_J, + VEHICLE_MICROLIGHT = "MICROLIGHT"_J, + VEHICLE_MILJET = "MILJET"_J, + VEHICLE_MOGUL = "MOGUL"_J, + VEHICLE_MOLOTOK = "MOLOTOK"_J, + VEHICLE_NIMBUS = "NIMBUS"_J, + VEHICLE_NOKOTA = "NOKOTA"_J, + VEHICLE_PYRO = "PYRO"_J, + VEHICLE_ROGUE = "ROGUE"_J, + VEHICLE_SEABREEZE = "SEABREEZE"_J, + VEHICLE_SHAMAL = "SHAMAL"_J, + VEHICLE_STARLING = "STARLING"_J, + VEHICLE_STRIKEFORCE = "STRIKEFORCE"_J, + VEHICLE_STUNT = "STUNT"_J, + VEHICLE_TITAN = "TITAN"_J, + VEHICLE_TULA = "TULA"_J, + VEHICLE_VELUM = "VELUM"_J, + VEHICLE_VELUM2 = "VELUM2"_J, + VEHICLE_VESTRA = "VESTRA"_J, + VEHICLE_VOLATOL = "VOLATOL"_J, }; enum SUVs : Hash { - VEHICLE_BALLER = RAGE_JOAAT("BALLER"), - VEHICLE_BALLER2 = RAGE_JOAAT("BALLER2"), - VEHICLE_BALLER3 = RAGE_JOAAT("BALLER3"), - VEHICLE_BALLER4 = RAGE_JOAAT("BALLER4"), - VEHICLE_BALLER5 = RAGE_JOAAT("BALLER5"), - VEHICLE_BALLER6 = RAGE_JOAAT("BALLER6"), - VEHICLE_BJXL = RAGE_JOAAT("BJXL"), - VEHICLE_CAVALCADE = RAGE_JOAAT("CAVALCADE"), - VEHICLE_CAVALCADE2 = RAGE_JOAAT("CAVALCADE2"), - VEHICLE_CONTENDER = RAGE_JOAAT("CONTENDER"), - VEHICLE_DUBSTA = RAGE_JOAAT("DUBSTA"), - VEHICLE_DUBSTA2 = RAGE_JOAAT("DUBSTA2"), - VEHICLE_FQ2 = RAGE_JOAAT("FQ2"), - VEHICLE_GRANGER = RAGE_JOAAT("GRANGER"), - VEHICLE_GRESLEY = RAGE_JOAAT("GRESLEY"), - VEHICLE_HABANERO = RAGE_JOAAT("HABANERO"), - VEHICLE_HUNTLEY = RAGE_JOAAT("HUNTLEY"), - VEHICLE_LANDSTALKER = RAGE_JOAAT("LANDSTALKER"), - VEHICLE_MESA = RAGE_JOAAT("MESA"), - VEHICLE_MESA2 = RAGE_JOAAT("MESA2"), - VEHICLE_PATRIOT = RAGE_JOAAT("PATRIOT"), - VEHICLE_PATRIOT2 = RAGE_JOAAT("PATRIOT2"), - VEHICLE_RADI = RAGE_JOAAT("RADI"), - VEHICLE_ROCOTO = RAGE_JOAAT("ROCOTO"), - VEHICLE_SEMINOLE = RAGE_JOAAT("SEMINOLE"), - VEHICLE_SERRANO = RAGE_JOAAT("SERRANO"), - VEHICLE_XLS = RAGE_JOAAT("XLS"), - VEHICLE_XLS2 = RAGE_JOAAT("XLS2"), + VEHICLE_BALLER = "BALLER"_J, + VEHICLE_BALLER2 = "BALLER2"_J, + VEHICLE_BALLER3 = "BALLER3"_J, + VEHICLE_BALLER4 = "BALLER4"_J, + VEHICLE_BALLER5 = "BALLER5"_J, + VEHICLE_BALLER6 = "BALLER6"_J, + VEHICLE_BJXL = "BJXL"_J, + VEHICLE_CAVALCADE = "CAVALCADE"_J, + VEHICLE_CAVALCADE2 = "CAVALCADE2"_J, + VEHICLE_CONTENDER = "CONTENDER"_J, + VEHICLE_DUBSTA = "DUBSTA"_J, + VEHICLE_DUBSTA2 = "DUBSTA2"_J, + VEHICLE_FQ2 = "FQ2"_J, + VEHICLE_GRANGER = "GRANGER"_J, + VEHICLE_GRESLEY = "GRESLEY"_J, + VEHICLE_HABANERO = "HABANERO"_J, + VEHICLE_HUNTLEY = "HUNTLEY"_J, + VEHICLE_LANDSTALKER = "LANDSTALKER"_J, + VEHICLE_MESA = "MESA"_J, + VEHICLE_MESA2 = "MESA2"_J, + VEHICLE_PATRIOT = "PATRIOT"_J, + VEHICLE_PATRIOT2 = "PATRIOT2"_J, + VEHICLE_RADI = "RADI"_J, + VEHICLE_ROCOTO = "ROCOTO"_J, + VEHICLE_SEMINOLE = "SEMINOLE"_J, + VEHICLE_SERRANO = "SERRANO"_J, + VEHICLE_XLS = "XLS"_J, + VEHICLE_XLS2 = "XLS2"_J, }; enum Sedans : Hash { - VEHICLE_ASEA = RAGE_JOAAT("ASEA"), - VEHICLE_ASEA2 = RAGE_JOAAT("ASEA2"), - VEHICLE_ASTEROPE = RAGE_JOAAT("ASTEROPE"), - VEHICLE_CHEBUREK = RAGE_JOAAT("CHEBUREK"), - VEHICLE_COG55 = RAGE_JOAAT("COG55"), - VEHICLE_COG552 = RAGE_JOAAT("COG552"), - VEHICLE_COGNOSCENTI = RAGE_JOAAT("COGNOSCENTI"), - VEHICLE_COGNOSCENTI2 = RAGE_JOAAT("COGNOSCENTI2"), - VEHICLE_EMPEROR = RAGE_JOAAT("EMPEROR"), - VEHICLE_EMPEROR2 = RAGE_JOAAT("EMPEROR2"), - VEHICLE_EMPEROR3 = RAGE_JOAAT("EMPEROR3"), - VEHICLE_FUGITIVE = RAGE_JOAAT("FUGITIVE"), - VEHICLE_GLENDALE = RAGE_JOAAT("GLENDALE"), - VEHICLE_INGOT = RAGE_JOAAT("INGOT"), - VEHICLE_INTRUDER = RAGE_JOAAT("INTRUDER"), - VEHICLE_LIMO2 = RAGE_JOAAT("LIMO2"), - VEHICLE_PREMIER = RAGE_JOAAT("PREMIER"), - VEHICLE_PRIMO = RAGE_JOAAT("PRIMO"), - VEHICLE_PRIMO2 = RAGE_JOAAT("PRIMO2"), - VEHICLE_REGINA = RAGE_JOAAT("REGINA"), - VEHICLE_ROMERO = RAGE_JOAAT("ROMERO"), - VEHICLE_SCHAFTER2 = RAGE_JOAAT("SCHAFTER2"), - VEHICLE_SCHAFTER5 = RAGE_JOAAT("SCHAFTER5"), - VEHICLE_SCHAFTER6 = RAGE_JOAAT("SCHAFTER6"), - VEHICLE_STAFFORD = RAGE_JOAAT("STAFFORD"), - VEHICLE_STANIER = RAGE_JOAAT("STANIER"), - VEHICLE_STRATUM = RAGE_JOAAT("STRATUM"), - VEHICLE_STRETCH = RAGE_JOAAT("STRETCH"), - VEHICLE_SUPERD = RAGE_JOAAT("SUPERD"), - VEHICLE_SURGE = RAGE_JOAAT("SURGE"), - VEHICLE_TAILGATER = RAGE_JOAAT("TAILGATER"), - VEHICLE_WARRENER = RAGE_JOAAT("WARRENER"), - VEHICLE_WASHINGTON = RAGE_JOAAT("WASHINGTON"), + VEHICLE_ASEA = "ASEA"_J, + VEHICLE_ASEA2 = "ASEA2"_J, + VEHICLE_ASTEROPE = "ASTEROPE"_J, + VEHICLE_CHEBUREK = "CHEBUREK"_J, + VEHICLE_COG55 = "COG55"_J, + VEHICLE_COG552 = "COG552"_J, + VEHICLE_COGNOSCENTI = "COGNOSCENTI"_J, + VEHICLE_COGNOSCENTI2 = "COGNOSCENTI2"_J, + VEHICLE_EMPEROR = "EMPEROR"_J, + VEHICLE_EMPEROR2 = "EMPEROR2"_J, + VEHICLE_EMPEROR3 = "EMPEROR3"_J, + VEHICLE_FUGITIVE = "FUGITIVE"_J, + VEHICLE_GLENDALE = "GLENDALE"_J, + VEHICLE_INGOT = "INGOT"_J, + VEHICLE_INTRUDER = "INTRUDER"_J, + VEHICLE_LIMO2 = "LIMO2"_J, + VEHICLE_PREMIER = "PREMIER"_J, + VEHICLE_PRIMO = "PRIMO"_J, + VEHICLE_PRIMO2 = "PRIMO2"_J, + VEHICLE_REGINA = "REGINA"_J, + VEHICLE_ROMERO = "ROMERO"_J, + VEHICLE_SCHAFTER2 = "SCHAFTER2"_J, + VEHICLE_SCHAFTER5 = "SCHAFTER5"_J, + VEHICLE_SCHAFTER6 = "SCHAFTER6"_J, + VEHICLE_STAFFORD = "STAFFORD"_J, + VEHICLE_STANIER = "STANIER"_J, + VEHICLE_STRATUM = "STRATUM"_J, + VEHICLE_STRETCH = "STRETCH"_J, + VEHICLE_SUPERD = "SUPERD"_J, + VEHICLE_SURGE = "SURGE"_J, + VEHICLE_TAILGATER = "TAILGATER"_J, + VEHICLE_WARRENER = "WARRENER"_J, + VEHICLE_WASHINGTON = "WASHINGTON"_J, }; enum Service : Hash { - VEHICLE_AIRBUS = RAGE_JOAAT("AIRBUS"), - VEHICLE_BRICKADE = RAGE_JOAAT("BRICKADE"), - VEHICLE_BUS = RAGE_JOAAT("BUS"), - VEHICLE_COACH = RAGE_JOAAT("COACH"), - VEHICLE_PBUS2 = RAGE_JOAAT("PBUS2"), - VEHICLE_RALLYTRUCK = RAGE_JOAAT("RALLYTRUCK"), - VEHICLE_RENTALBUS = RAGE_JOAAT("RENTALBUS"), - VEHICLE_TAXI = RAGE_JOAAT("TAXI"), - VEHICLE_TOURBUS = RAGE_JOAAT("TOURBUS"), - VEHICLE_TRASH = RAGE_JOAAT("TRASH"), - VEHICLE_TRASH2 = RAGE_JOAAT("TRASH2"), - VEHICLE_WASTELANDER = RAGE_JOAAT("WASTELANDER"), + VEHICLE_AIRBUS = "AIRBUS"_J, + VEHICLE_BRICKADE = "BRICKADE"_J, + VEHICLE_BUS = "BUS"_J, + VEHICLE_COACH = "COACH"_J, + VEHICLE_PBUS2 = "PBUS2"_J, + VEHICLE_RALLYTRUCK = "RALLYTRUCK"_J, + VEHICLE_RENTALBUS = "RENTALBUS"_J, + VEHICLE_TAXI = "TAXI"_J, + VEHICLE_TOURBUS = "TOURBUS"_J, + VEHICLE_TRASH = "TRASH"_J, + VEHICLE_TRASH2 = "TRASH2"_J, + VEHICLE_WASTELANDER = "WASTELANDER"_J, }; enum Sports : Hash { - VEHICLE_ALPHA = RAGE_JOAAT("ALPHA"), - VEHICLE_BANSHEE = RAGE_JOAAT("BANSHEE"), - VEHICLE_BESTIAGTS = RAGE_JOAAT("BESTIAGTS"), - VEHICLE_BLISTA2 = RAGE_JOAAT("BLISTA2"), - VEHICLE_BLISTA3 = RAGE_JOAAT("BLISTA3"), - VEHICLE_BUFFALO = RAGE_JOAAT("BUFFALO"), - VEHICLE_BUFFALO2 = RAGE_JOAAT("BUFFALO2"), - VEHICLE_BUFFALO3 = RAGE_JOAAT("BUFFALO3"), - VEHICLE_CARBONIZZARE = RAGE_JOAAT("CARBONIZZARE"), - VEHICLE_COMET2 = RAGE_JOAAT("COMET2"), - VEHICLE_COMET3 = RAGE_JOAAT("COMET3"), - VEHICLE_COMET4 = RAGE_JOAAT("COMET4"), - VEHICLE_COMET5 = RAGE_JOAAT("COMET5"), - VEHICLE_COQUETTE = RAGE_JOAAT("COQUETTE"), - VEHICLE_ELEGY = RAGE_JOAAT("ELEGY"), - VEHICLE_ELEGY2 = RAGE_JOAAT("ELEGY2"), - VEHICLE_FELTZER2 = RAGE_JOAAT("FELTZER2"), - VEHICLE_FLASHGT = RAGE_JOAAT("FLASHGT"), - VEHICLE_FUROREGT = RAGE_JOAAT("FUROREGT"), - VEHICLE_FUSILADE = RAGE_JOAAT("FUSILADE"), - VEHICLE_FUTO = RAGE_JOAAT("FUTO"), - VEHICLE_GB200 = RAGE_JOAAT("GB200"), - VEHICLE_HOTRING = RAGE_JOAAT("HOTRING"), - VEHICLE_JESTER = RAGE_JOAAT("JESTER"), - VEHICLE_JESTER2 = RAGE_JOAAT("JESTER2"), - VEHICLE_JESTER3 = RAGE_JOAAT("JESTER3"), - VEHICLE_KHAMELION = RAGE_JOAAT("KHAMELION"), - VEHICLE_KURUMA = RAGE_JOAAT("KURUMA"), - VEHICLE_KURUMA2 = RAGE_JOAAT("KURUMA2"), - VEHICLE_LYNX2 = RAGE_JOAAT("LYNX2"), - VEHICLE_MASSACRO = RAGE_JOAAT("MASSACRO"), - VEHICLE_MASSACRO2 = RAGE_JOAAT("MASSACRO2"), - VEHICLE_NEON = RAGE_JOAAT("NEON"), - VEHICLE_NINEF = RAGE_JOAAT("NINEF"), - VEHICLE_NINEF2 = RAGE_JOAAT("NINEF2"), - VEHICLE_OMNIS = RAGE_JOAAT("OMNIS"), - VEHICLE_PARIAH = RAGE_JOAAT("PARIAH"), - VEHICLE_PENUMBRA = RAGE_JOAAT("PENUMBRA"), - VEHICLE_RAIDEN = RAGE_JOAAT("RAIDEN"), - VEHICLE_RAPIDGT = RAGE_JOAAT("RAPIDGT"), - VEHICLE_RAPIDGT2 = RAGE_JOAAT("RAPIDGT2"), - VEHICLE_RAPTOR = RAGE_JOAAT("RAPTOR"), - VEHICLE_REVOLTER = RAGE_JOAAT("REVOLTER"), - VEHICLE_RUSTON = RAGE_JOAAT("RUSTON"), - VEHICLE_SCHAFTER3 = RAGE_JOAAT("SCHAFTER3"), - VEHICLE_SCHAFTER4 = RAGE_JOAAT("SCHAFTER4"), - VEHICLE_SCHWARZER = RAGE_JOAAT("SCHWARZER"), - VEHICLE_SENTINEL3 = RAGE_JOAAT("SENTINEL3"), - VEHICLE_SEVEN70 = RAGE_JOAAT("SEVEN70"), - VEHICLE_SPECTER = RAGE_JOAAT("SPECTER"), - VEHICLE_SPECTER2 = RAGE_JOAAT("SPECTER2"), - VEHICLE_STREITER = RAGE_JOAAT("STREITER"), - VEHICLE_SULTAN = RAGE_JOAAT("SULTAN"), - VEHICLE_SURANO = RAGE_JOAAT("SURANO"), - VEHICLE_TAMPA2 = RAGE_JOAAT("TAMPA2"), - VEHICLE_TROPOS = RAGE_JOAAT("TROPOS"), - VEHICLE_VERLIERER2 = RAGE_JOAAT("VERLIERER2"), + VEHICLE_ALPHA = "ALPHA"_J, + VEHICLE_BANSHEE = "BANSHEE"_J, + VEHICLE_BESTIAGTS = "BESTIAGTS"_J, + VEHICLE_BLISTA2 = "BLISTA2"_J, + VEHICLE_BLISTA3 = "BLISTA3"_J, + VEHICLE_BUFFALO = "BUFFALO"_J, + VEHICLE_BUFFALO2 = "BUFFALO2"_J, + VEHICLE_BUFFALO3 = "BUFFALO3"_J, + VEHICLE_CARBONIZZARE = "CARBONIZZARE"_J, + VEHICLE_COMET2 = "COMET2"_J, + VEHICLE_COMET3 = "COMET3"_J, + VEHICLE_COMET4 = "COMET4"_J, + VEHICLE_COMET5 = "COMET5"_J, + VEHICLE_COQUETTE = "COQUETTE"_J, + VEHICLE_ELEGY = "ELEGY"_J, + VEHICLE_ELEGY2 = "ELEGY2"_J, + VEHICLE_FELTZER2 = "FELTZER2"_J, + VEHICLE_FLASHGT = "FLASHGT"_J, + VEHICLE_FUROREGT = "FUROREGT"_J, + VEHICLE_FUSILADE = "FUSILADE"_J, + VEHICLE_FUTO = "FUTO"_J, + VEHICLE_GB200 = "GB200"_J, + VEHICLE_HOTRING = "HOTRING"_J, + VEHICLE_JESTER = "JESTER"_J, + VEHICLE_JESTER2 = "JESTER2"_J, + VEHICLE_JESTER3 = "JESTER3"_J, + VEHICLE_KHAMELION = "KHAMELION"_J, + VEHICLE_KURUMA = "KURUMA"_J, + VEHICLE_KURUMA2 = "KURUMA2"_J, + VEHICLE_LYNX2 = "LYNX2"_J, + VEHICLE_MASSACRO = "MASSACRO"_J, + VEHICLE_MASSACRO2 = "MASSACRO2"_J, + VEHICLE_NEON = "NEON"_J, + VEHICLE_NINEF = "NINEF"_J, + VEHICLE_NINEF2 = "NINEF2"_J, + VEHICLE_OMNIS = "OMNIS"_J, + VEHICLE_PARIAH = "PARIAH"_J, + VEHICLE_PENUMBRA = "PENUMBRA"_J, + VEHICLE_RAIDEN = "RAIDEN"_J, + VEHICLE_RAPIDGT = "RAPIDGT"_J, + VEHICLE_RAPIDGT2 = "RAPIDGT2"_J, + VEHICLE_RAPTOR = "RAPTOR"_J, + VEHICLE_REVOLTER = "REVOLTER"_J, + VEHICLE_RUSTON = "RUSTON"_J, + VEHICLE_SCHAFTER3 = "SCHAFTER3"_J, + VEHICLE_SCHAFTER4 = "SCHAFTER4"_J, + VEHICLE_SCHWARZER = "SCHWARZER"_J, + VEHICLE_SENTINEL3 = "SENTINEL3"_J, + VEHICLE_SEVEN70 = "SEVEN70"_J, + VEHICLE_SPECTER = "SPECTER"_J, + VEHICLE_SPECTER2 = "SPECTER2"_J, + VEHICLE_STREITER = "STREITER"_J, + VEHICLE_SULTAN = "SULTAN"_J, + VEHICLE_SURANO = "SURANO"_J, + VEHICLE_TAMPA2 = "TAMPA2"_J, + VEHICLE_TROPOS = "TROPOS"_J, + VEHICLE_VERLIERER2 = "VERLIERER2"_J, }; enum SportsClassic : Hash { - VEHICLE_ARDENT = RAGE_JOAAT("ARDENT"), - VEHICLE_BTYPE = RAGE_JOAAT("BTYPE"), - VEHICLE_BTYPE2 = RAGE_JOAAT("BTYPE2"), - VEHICLE_BTYPE3 = RAGE_JOAAT("BTYPE3"), - VEHICLE_CASCO = RAGE_JOAAT("CASCO"), - VEHICLE_CHEETAH2 = RAGE_JOAAT("CHEETAH2"), - VEHICLE_COQUETTE2 = RAGE_JOAAT("COQUETTE2"), - VEHICLE_DELUXO = RAGE_JOAAT("DELUXO"), - VEHICLE_FAGALOA = RAGE_JOAAT("FAGALOA"), - VEHICLE_FELTZER3 = RAGE_JOAAT("FELTZER3"), - VEHICLE_GT500 = RAGE_JOAAT("GT500"), - VEHICLE_HUSTLER = RAGE_JOAAT("HUSTLER"), - VEHICLE_INFERNUS2 = RAGE_JOAAT("INFERNUS2"), - VEHICLE_JB700 = RAGE_JOAAT("JB700"), - VEHICLE_MAMBA = RAGE_JOAAT("MAMBA"), - VEHICLE_MANANA = RAGE_JOAAT("MANANA"), - VEHICLE_MICHELLI = RAGE_JOAAT("MICHELLI"), - VEHICLE_MONROE = RAGE_JOAAT("MONROE"), - VEHICLE_PEYOTE = RAGE_JOAAT("PEYOTE"), - VEHICLE_PIGALLE = RAGE_JOAAT("PIGALLE"), - VEHICLE_RAPIDGT3 = RAGE_JOAAT("RAPIDGT3"), - VEHICLE_RETINUE = RAGE_JOAAT("RETINUE"), - VEHICLE_SAVESTRA = RAGE_JOAAT("SAVESTRA"), - VEHICLE_STINGER = RAGE_JOAAT("STINGER"), - VEHICLE_STINGERGT = RAGE_JOAAT("STINGERGT"), - VEHICLE_STROMBERG = RAGE_JOAAT("STROMBERG"), - VEHICLE_SWINGER = RAGE_JOAAT("SWINGER"), - VEHICLE_TORERO = RAGE_JOAAT("TORERO"), - VEHICLE_TORNADO = RAGE_JOAAT("TORNADO"), - VEHICLE_TORNADO2 = RAGE_JOAAT("TORNADO2"), - VEHICLE_TORNADO3 = RAGE_JOAAT("TORNADO3"), - VEHICLE_TORNADO4 = RAGE_JOAAT("TORNADO4"), - VEHICLE_TORNADO5 = RAGE_JOAAT("TORNADO5"), - VEHICLE_TORNADO6 = RAGE_JOAAT("TORNADO6"), - VEHICLE_TURISMO2 = RAGE_JOAAT("TURISMO2"), - VEHICLE_VISERIS = RAGE_JOAAT("VISERIS"), - VEHICLE_Z190 = RAGE_JOAAT("Z190"), - VEHICLE_ZTYPE = RAGE_JOAAT("ZTYPE"), + VEHICLE_ARDENT = "ARDENT"_J, + VEHICLE_BTYPE = "BTYPE"_J, + VEHICLE_BTYPE2 = "BTYPE2"_J, + VEHICLE_BTYPE3 = "BTYPE3"_J, + VEHICLE_CASCO = "CASCO"_J, + VEHICLE_CHEETAH2 = "CHEETAH2"_J, + VEHICLE_COQUETTE2 = "COQUETTE2"_J, + VEHICLE_DELUXO = "DELUXO"_J, + VEHICLE_FAGALOA = "FAGALOA"_J, + VEHICLE_FELTZER3 = "FELTZER3"_J, + VEHICLE_GT500 = "GT500"_J, + VEHICLE_HUSTLER = "HUSTLER"_J, + VEHICLE_INFERNUS2 = "INFERNUS2"_J, + VEHICLE_JB700 = "JB700"_J, + VEHICLE_MAMBA = "MAMBA"_J, + VEHICLE_MANANA = "MANANA"_J, + VEHICLE_MICHELLI = "MICHELLI"_J, + VEHICLE_MONROE = "MONROE"_J, + VEHICLE_PEYOTE = "PEYOTE"_J, + VEHICLE_PIGALLE = "PIGALLE"_J, + VEHICLE_RAPIDGT3 = "RAPIDGT3"_J, + VEHICLE_RETINUE = "RETINUE"_J, + VEHICLE_SAVESTRA = "SAVESTRA"_J, + VEHICLE_STINGER = "STINGER"_J, + VEHICLE_STINGERGT = "STINGERGT"_J, + VEHICLE_STROMBERG = "STROMBERG"_J, + VEHICLE_SWINGER = "SWINGER"_J, + VEHICLE_TORERO = "TORERO"_J, + VEHICLE_TORNADO = "TORNADO"_J, + VEHICLE_TORNADO2 = "TORNADO2"_J, + VEHICLE_TORNADO3 = "TORNADO3"_J, + VEHICLE_TORNADO4 = "TORNADO4"_J, + VEHICLE_TORNADO5 = "TORNADO5"_J, + VEHICLE_TORNADO6 = "TORNADO6"_J, + VEHICLE_TURISMO2 = "TURISMO2"_J, + VEHICLE_VISERIS = "VISERIS"_J, + VEHICLE_Z190 = "Z190"_J, + VEHICLE_ZTYPE = "ZTYPE"_J, }; enum Super : Hash { - VEHICLE_ADDER = RAGE_JOAAT("ADDER"), - VEHICLE_AUTARCH = RAGE_JOAAT("AUTARCH"), - VEHICLE_BANSHEE2 = RAGE_JOAAT("BANSHEE2"), - VEHICLE_BULLET = RAGE_JOAAT("BULLET"), - VEHICLE_CHEETAH = RAGE_JOAAT("CHEETAH"), - VEHICLE_CYCLONE = RAGE_JOAAT("CYCLONE"), - VEHICLE_ENTITYXF = RAGE_JOAAT("ENTITYXF"), - VEHICLE_ENTITY2 = RAGE_JOAAT("ENTITY2"), - VEHICLE_FMJ = RAGE_JOAAT("FMJ"), - VEHICLE_GP1 = RAGE_JOAAT("GP1"), - VEHICLE_INFERNUS = RAGE_JOAAT("INFERNUS"), - VEHICLE_ITALIGTB = RAGE_JOAAT("ITALIGTB"), - VEHICLE_ITALIGTB2 = RAGE_JOAAT("ITALIGTB2"), - VEHICLE_LE7B = RAGE_JOAAT("LE7B"), - VEHICLE_NERO = RAGE_JOAAT("NERO"), - VEHICLE_NERO2 = RAGE_JOAAT("NERO2"), - VEHICLE_OSIRIS = RAGE_JOAAT("OSIRIS"), - VEHICLE_PENETRATOR = RAGE_JOAAT("PENETRATOR"), - VEHICLE_PFISTER811 = RAGE_JOAAT("PFISTER811"), - VEHICLE_PROTOTIPO = RAGE_JOAAT("PROTOTIPO"), - VEHICLE_REAPER = RAGE_JOAAT("REAPER"), - VEHICLE_SC1 = RAGE_JOAAT("SC1"), - VEHICLE_SCRAMJET = RAGE_JOAAT("SCRAMJET"), - VEHICLE_SHEAVA = RAGE_JOAAT("SHEAVA"), - VEHICLE_SULTANRS = RAGE_JOAAT("SULTANRS"), - VEHICLE_T20 = RAGE_JOAAT("T20"), - VEHICLE_TAIPAN = RAGE_JOAAT("TAIPAN"), - VEHICLE_TEMPESTA = RAGE_JOAAT("TEMPESTA"), - VEHICLE_TEZERACT = RAGE_JOAAT("TEZERACT"), - VEHICLE_TURISMOR = RAGE_JOAAT("TURISMOR"), - VEHICLE_TYRANT = RAGE_JOAAT("TYRANT"), - VEHICLE_TYRUS = RAGE_JOAAT("TYRUS"), - VEHICLE_VACCA = RAGE_JOAAT("VACCA"), - VEHICLE_VAGNER = RAGE_JOAAT("VAGNER"), - VEHICLE_VIGILANTE = RAGE_JOAAT("VIGILANTE"), - VEHICLE_VISIONE = RAGE_JOAAT("VISIONE"), - VEHICLE_VOLTIC = RAGE_JOAAT("VOLTIC"), - VEHICLE_VOLTIC2 = RAGE_JOAAT("VOLTIC2"), - VEHICLE_XA21 = RAGE_JOAAT("XA21"), - VEHICLE_ZENTORNO = RAGE_JOAAT("ZENTORNO"), + VEHICLE_ADDER = "ADDER"_J, + VEHICLE_AUTARCH = "AUTARCH"_J, + VEHICLE_BANSHEE2 = "BANSHEE2"_J, + VEHICLE_BULLET = "BULLET"_J, + VEHICLE_CHEETAH = "CHEETAH"_J, + VEHICLE_CYCLONE = "CYCLONE"_J, + VEHICLE_ENTITYXF = "ENTITYXF"_J, + VEHICLE_ENTITY2 = "ENTITY2"_J, + VEHICLE_FMJ = "FMJ"_J, + VEHICLE_GP1 = "GP1"_J, + VEHICLE_INFERNUS = "INFERNUS"_J, + VEHICLE_ITALIGTB = "ITALIGTB"_J, + VEHICLE_ITALIGTB2 = "ITALIGTB2"_J, + VEHICLE_LE7B = "LE7B"_J, + VEHICLE_NERO = "NERO"_J, + VEHICLE_NERO2 = "NERO2"_J, + VEHICLE_OSIRIS = "OSIRIS"_J, + VEHICLE_PENETRATOR = "PENETRATOR"_J, + VEHICLE_PFISTER811 = "PFISTER811"_J, + VEHICLE_PROTOTIPO = "PROTOTIPO"_J, + VEHICLE_REAPER = "REAPER"_J, + VEHICLE_SC1 = "SC1"_J, + VEHICLE_SCRAMJET = "SCRAMJET"_J, + VEHICLE_SHEAVA = "SHEAVA"_J, + VEHICLE_SULTANRS = "SULTANRS"_J, + VEHICLE_T20 = "T20"_J, + VEHICLE_TAIPAN = "TAIPAN"_J, + VEHICLE_TEMPESTA = "TEMPESTA"_J, + VEHICLE_TEZERACT = "TEZERACT"_J, + VEHICLE_TURISMOR = "TURISMOR"_J, + VEHICLE_TYRANT = "TYRANT"_J, + VEHICLE_TYRUS = "TYRUS"_J, + VEHICLE_VACCA = "VACCA"_J, + VEHICLE_VAGNER = "VAGNER"_J, + VEHICLE_VIGILANTE = "VIGILANTE"_J, + VEHICLE_VISIONE = "VISIONE"_J, + VEHICLE_VOLTIC = "VOLTIC"_J, + VEHICLE_VOLTIC2 = "VOLTIC2"_J, + VEHICLE_XA21 = "XA21"_J, + VEHICLE_ZENTORNO = "ZENTORNO"_J, }; enum Trailers : Hash { - VEHICLE_ARMYTANKER = RAGE_JOAAT("ARMYTANKER"), - VEHICLE_ARMYTRAILER2 = RAGE_JOAAT("ARMYTRAILER2"), - VEHICLE_BALETRAILER = RAGE_JOAAT("BALETRAILER"), - VEHICLE_BOATTRAILER = RAGE_JOAAT("BOATTRAILER"), - VEHICLE_CABLECAR = RAGE_JOAAT("CABLECAR"), - VEHICLE_DOCKTRAILER = RAGE_JOAAT("DOCKTRAILER"), - VEHICLE_GRAINTRAILER = RAGE_JOAAT("GRAINTRAILER"), - VEHICLE_PROPTRAILER = RAGE_JOAAT("PROPTRAILER"), - VEHICLE_RAKETRAILER = RAGE_JOAAT("RAKETRAILER"), - VEHICLE_TR2 = RAGE_JOAAT("TR2"), - VEHICLE_TR3 = RAGE_JOAAT("TR3"), - VEHICLE_TR4 = RAGE_JOAAT("TR4"), - VEHICLE_TRFLAT = RAGE_JOAAT("TRFLAT"), - VEHICLE_TVTRAILER = RAGE_JOAAT("TVTRAILER"), - VEHICLE_TANKER = RAGE_JOAAT("TANKER"), - VEHICLE_TANKER2 = RAGE_JOAAT("TANKER2"), - VEHICLE_TRAILERLOGS = RAGE_JOAAT("TRAILERLOGS"), - VEHICLE_TRAILERSMALL = RAGE_JOAAT("TRAILERSMALL"), - VEHICLE_TRAILERS = RAGE_JOAAT("TRAILERS"), - VEHICLE_TRAILERS2 = RAGE_JOAAT("TRAILERS2"), - VEHICLE_TRAILERS3 = RAGE_JOAAT("TRAILERS3"), + VEHICLE_ARMYTANKER = "ARMYTANKER"_J, + VEHICLE_ARMYTRAILER2 = "ARMYTRAILER2"_J, + VEHICLE_BALETRAILER = "BALETRAILER"_J, + VEHICLE_BOATTRAILER = "BOATTRAILER"_J, + VEHICLE_CABLECAR = "CABLECAR"_J, + VEHICLE_DOCKTRAILER = "DOCKTRAILER"_J, + VEHICLE_GRAINTRAILER = "GRAINTRAILER"_J, + VEHICLE_PROPTRAILER = "PROPTRAILER"_J, + VEHICLE_RAKETRAILER = "RAKETRAILER"_J, + VEHICLE_TR2 = "TR2"_J, + VEHICLE_TR3 = "TR3"_J, + VEHICLE_TR4 = "TR4"_J, + VEHICLE_TRFLAT = "TRFLAT"_J, + VEHICLE_TVTRAILER = "TVTRAILER"_J, + VEHICLE_TANKER = "TANKER"_J, + VEHICLE_TANKER2 = "TANKER2"_J, + VEHICLE_TRAILERLOGS = "TRAILERLOGS"_J, + VEHICLE_TRAILERSMALL = "TRAILERSMALL"_J, + VEHICLE_TRAILERS = "TRAILERS"_J, + VEHICLE_TRAILERS2 = "TRAILERS2"_J, + VEHICLE_TRAILERS3 = "TRAILERS3"_J, }; enum Trains : Hash { - VEHICLE_FREIGHT = RAGE_JOAAT("FREIGHT"), - VEHICLE_FREIGHTCAR = RAGE_JOAAT("FREIGHTCAR"), - VEHICLE_FREIGHTCONT1 = RAGE_JOAAT("FREIGHTCONT1"), - VEHICLE_FREIGHTCONT2 = RAGE_JOAAT("FREIGHTCONT2"), - VEHICLE_FREIGHTGRAIN = RAGE_JOAAT("FREIGHTGRAIN"), - VEHICLE_TANKERCAR = RAGE_JOAAT("TANKERCAR"), + VEHICLE_FREIGHT = "FREIGHT"_J, + VEHICLE_FREIGHTCAR = "FREIGHTCAR"_J, + VEHICLE_FREIGHTCONT1 = "FREIGHTCONT1"_J, + VEHICLE_FREIGHTCONT2 = "FREIGHTCONT2"_J, + VEHICLE_FREIGHTGRAIN = "FREIGHTGRAIN"_J, + VEHICLE_TANKERCAR = "TANKERCAR"_J, }; enum Utility : Hash { - VEHICLE_AIRTUG = RAGE_JOAAT("AIRTUG"), - VEHICLE_CADDY = RAGE_JOAAT("CADDY"), - VEHICLE_CADDY2 = RAGE_JOAAT("CADDY2"), - VEHICLE_CADDY3 = RAGE_JOAAT("CADDY3"), - VEHICLE_CARACARA = RAGE_JOAAT("CARACARA"), - VEHICLE_DOCKTUG = RAGE_JOAAT("DOCKTUG"), - VEHICLE_FORKLIFT = RAGE_JOAAT("FORKLIFT"), - VEHICLE_MOWER = RAGE_JOAAT("MOWER"), - VEHICLE_RIPLEY = RAGE_JOAAT("RIPLEY"), - VEHICLE_SADLER = RAGE_JOAAT("SADLER"), - VEHICLE_SADLER2 = RAGE_JOAAT("SADLER2"), - VEHICLE_SCRAP = RAGE_JOAAT("SCRAP"), - VEHICLE_TOWTRUCK = RAGE_JOAAT("TOWTRUCK"), - VEHICLE_TOWTRUCK2 = RAGE_JOAAT("TOWTRUCK2"), - VEHICLE_TRACTOR = RAGE_JOAAT("TRACTOR"), - VEHICLE_TRACTOR2 = RAGE_JOAAT("TRACTOR2"), - VEHICLE_TRACTOR3 = RAGE_JOAAT("TRACTOR3"), - VEHICLE_UTILLITRUCK = RAGE_JOAAT("UTILLITRUCK"), - VEHICLE_UTILLITRUCK2 = RAGE_JOAAT("UTILLITRUCK2"), - VEHICLE_UTILLITRUCK3 = RAGE_JOAAT("UTILLITRUCK3"), + VEHICLE_AIRTUG = "AIRTUG"_J, + VEHICLE_CADDY = "CADDY"_J, + VEHICLE_CADDY2 = "CADDY2"_J, + VEHICLE_CADDY3 = "CADDY3"_J, + VEHICLE_CARACARA = "CARACARA"_J, + VEHICLE_DOCKTUG = "DOCKTUG"_J, + VEHICLE_FORKLIFT = "FORKLIFT"_J, + VEHICLE_MOWER = "MOWER"_J, + VEHICLE_RIPLEY = "RIPLEY"_J, + VEHICLE_SADLER = "SADLER"_J, + VEHICLE_SADLER2 = "SADLER2"_J, + VEHICLE_SCRAP = "SCRAP"_J, + VEHICLE_TOWTRUCK = "TOWTRUCK"_J, + VEHICLE_TOWTRUCK2 = "TOWTRUCK2"_J, + VEHICLE_TRACTOR = "TRACTOR"_J, + VEHICLE_TRACTOR2 = "TRACTOR2"_J, + VEHICLE_TRACTOR3 = "TRACTOR3"_J, + VEHICLE_UTILLITRUCK = "UTILLITRUCK"_J, + VEHICLE_UTILLITRUCK2 = "UTILLITRUCK2"_J, + VEHICLE_UTILLITRUCK3 = "UTILLITRUCK3"_J, }; enum Vans : Hash { - VEHICLE_BISON = RAGE_JOAAT("BISON"), - VEHICLE_BISON2 = RAGE_JOAAT("BISON2"), - VEHICLE_BISON3 = RAGE_JOAAT("BISON3"), - VEHICLE_BOBCATXL = RAGE_JOAAT("BOBCATXL"), - VEHICLE_BOXVILLE = RAGE_JOAAT("BOXVILLE"), - VEHICLE_BOXVILLE2 = RAGE_JOAAT("BOXVILLE2"), - VEHICLE_BOXVILLE3 = RAGE_JOAAT("BOXVILLE3"), - VEHICLE_BOXVILLE4 = RAGE_JOAAT("BOXVILLE4"), - VEHICLE_BOXVILLE5 = RAGE_JOAAT("BOXVILLE5"), - VEHICLE_BURRITO = RAGE_JOAAT("BURRITO"), - VEHICLE_BURRITO2 = RAGE_JOAAT("BURRITO2"), - VEHICLE_BURRITO3 = RAGE_JOAAT("BURRITO3"), - VEHICLE_BURRITO4 = RAGE_JOAAT("BURRITO4"), - VEHICLE_BURRITO5 = RAGE_JOAAT("BURRITO5"), - VEHICLE_CAMPER = RAGE_JOAAT("CAMPER"), - VEHICLE_GBURRITO = RAGE_JOAAT("GBURRITO"), - VEHICLE_GBURRITO2 = RAGE_JOAAT("GBURRITO2"), - VEHICLE_JOURNEY = RAGE_JOAAT("JOURNEY"), - VEHICLE_MINIVAN = RAGE_JOAAT("MINIVAN"), - VEHICLE_MINIVAN2 = RAGE_JOAAT("MINIVAN2"), - VEHICLE_PARADISE = RAGE_JOAAT("PARADISE"), - VEHICLE_PONY = RAGE_JOAAT("PONY"), - VEHICLE_PONY2 = RAGE_JOAAT("PONY2"), - VEHICLE_RUMPO = RAGE_JOAAT("RUMPO"), - VEHICLE_RUMPO2 = RAGE_JOAAT("RUMPO2"), - VEHICLE_RUMPO3 = RAGE_JOAAT("RUMPO3"), - VEHICLE_SPEEDO = RAGE_JOAAT("SPEEDO"), - VEHICLE_SPEEDO2 = RAGE_JOAAT("SPEEDO2"), - VEHICLE_SURFER = RAGE_JOAAT("SURFER"), - VEHICLE_SURFER2 = RAGE_JOAAT("SURFER2"), - VEHICLE_TACO = RAGE_JOAAT("TACO"), - VEHICLE_YOUGA = RAGE_JOAAT("YOUGA"), - VEHICLE_YOUGA2 = RAGE_JOAAT("YOUGA2"), + VEHICLE_BISON = "BISON"_J, + VEHICLE_BISON2 = "BISON2"_J, + VEHICLE_BISON3 = "BISON3"_J, + VEHICLE_BOBCATXL = "BOBCATXL"_J, + VEHICLE_BOXVILLE = "BOXVILLE"_J, + VEHICLE_BOXVILLE2 = "BOXVILLE2"_J, + VEHICLE_BOXVILLE3 = "BOXVILLE3"_J, + VEHICLE_BOXVILLE4 = "BOXVILLE4"_J, + VEHICLE_BOXVILLE5 = "BOXVILLE5"_J, + VEHICLE_BURRITO = "BURRITO"_J, + VEHICLE_BURRITO2 = "BURRITO2"_J, + VEHICLE_BURRITO3 = "BURRITO3"_J, + VEHICLE_BURRITO4 = "BURRITO4"_J, + VEHICLE_BURRITO5 = "BURRITO5"_J, + VEHICLE_CAMPER = "CAMPER"_J, + VEHICLE_GBURRITO = "GBURRITO"_J, + VEHICLE_GBURRITO2 = "GBURRITO2"_J, + VEHICLE_JOURNEY = "JOURNEY"_J, + VEHICLE_MINIVAN = "MINIVAN"_J, + VEHICLE_MINIVAN2 = "MINIVAN2"_J, + VEHICLE_PARADISE = "PARADISE"_J, + VEHICLE_PONY = "PONY"_J, + VEHICLE_PONY2 = "PONY2"_J, + VEHICLE_RUMPO = "RUMPO"_J, + VEHICLE_RUMPO2 = "RUMPO2"_J, + VEHICLE_RUMPO3 = "RUMPO3"_J, + VEHICLE_SPEEDO = "SPEEDO"_J, + VEHICLE_SPEEDO2 = "SPEEDO2"_J, + VEHICLE_SURFER = "SURFER"_J, + VEHICLE_SURFER2 = "SURFER2"_J, + VEHICLE_TACO = "TACO"_J, + VEHICLE_YOUGA = "YOUGA"_J, + VEHICLE_YOUGA2 = "YOUGA2"_J, }; enum ArenaWar : Hash { - VEHICLE_BRUISER = RAGE_JOAAT("BRUISER"), - VEHICLE_BRUISER2 = RAGE_JOAAT("BRUISER2"), - VEHICLE_BRUISER3 = RAGE_JOAAT("BRUISER3"), - VEHICLE_BRUTUS = RAGE_JOAAT("BRUTUS"), - VEHICLE_BRUTUS2 = RAGE_JOAAT("BRUTUS2"), - VEHICLE_BRUTUS3 = RAGE_JOAAT("BRUTUS3"), - VEHICLE_CERBERUS = RAGE_JOAAT("CERBERUS"), - VEHICLE_CERBERUS2 = RAGE_JOAAT("CERBERUS2"), - VEHICLE_CERBERUS3 = RAGE_JOAAT("CERBERUS3"), - VEHICLE_CLIQUE = RAGE_JOAAT("CLIQUE"), - VEHICLE_DEATHBIKE = RAGE_JOAAT("DEATHBIKE"), - VEHICLE_DEATHBIKE2 = RAGE_JOAAT("DEATHBIKE2"), - VEHICLE_DEATHBIKE3 = RAGE_JOAAT("DEATHBIKE3"), - VEHICLE_DEVESTE = RAGE_JOAAT("DEVESTE"), - VEHICLE_DEVIANT = RAGE_JOAAT("DEVIANT"), - VEHICLE_DOMINATOR4 = RAGE_JOAAT("DOMINATOR4"), - VEHICLE_DOMINATOR5 = RAGE_JOAAT("DOMINATOR5"), - VEHICLE_DOMINATOR6 = RAGE_JOAAT("DOMINATOR6"), - VEHICLE_IMPALER = RAGE_JOAAT("IMPALER"), - VEHICLE_IMPALER2 = RAGE_JOAAT("IMPALER2"), - VEHICLE_IMPALER3 = RAGE_JOAAT("IMPALER3"), - VEHICLE_IMPALER4 = RAGE_JOAAT("IMPALER4"), - VEHICLE_IMPERATOR = RAGE_JOAAT("IMPERATOR"), - VEHICLE_IMPERATOR2 = RAGE_JOAAT("IMPERATOR2"), - VEHICLE_IMPERATOR3 = RAGE_JOAAT("IMPERATOR3"), - VEHICLE_ISSI4 = RAGE_JOAAT("ISSI4"), - VEHICLE_ISSI5 = RAGE_JOAAT("ISSI5"), - VEHICLE_ISSI6 = RAGE_JOAAT("ISSI6"), - VEHICLE_ITALIGTO = RAGE_JOAAT("ITALIGTO"), - VEHICLE_MONSTER3 = RAGE_JOAAT("MONSTER3"), - VEHICLE_MONSTER4 = RAGE_JOAAT("MONSTER4"), - VEHICLE_MONSTER5 = RAGE_JOAAT("MONSTER5"), - VEHICLE_RCBANDITO = RAGE_JOAAT("RCBANDITO"), - VEHICLE_SCARAB2 = RAGE_JOAAT("SCARAB2"), - VEHICLE_SCARAB3 = RAGE_JOAAT("SCARAB3"), - VEHICLE_SCHLAGEN = RAGE_JOAAT("SCHLAGEN"), - VEHICLE_SLAMVAN4 = RAGE_JOAAT("SLAMVAN4"), - VEHICLE_SLAMVAN5 = RAGE_JOAAT("SLAMVAN5"), - VEHICLE_SLAMVAN6 = RAGE_JOAAT("SLAMVAN6"), - VEHICLE_TOROS = RAGE_JOAAT("TOROS"), - VEHICLE_TULIP = RAGE_JOAAT("TULIP"), - VEHICLE_VAMOS = RAGE_JOAAT("VAMOS"), - VEHICLE_ZR380 = RAGE_JOAAT("ZR380"), - VEHICLE_ZR3802 = RAGE_JOAAT("ZR3802"), - VEHICLE_ZR3803 = RAGE_JOAAT("ZR3803"), + VEHICLE_BRUISER = "BRUISER"_J, + VEHICLE_BRUISER2 = "BRUISER2"_J, + VEHICLE_BRUISER3 = "BRUISER3"_J, + VEHICLE_BRUTUS = "BRUTUS"_J, + VEHICLE_BRUTUS2 = "BRUTUS2"_J, + VEHICLE_BRUTUS3 = "BRUTUS3"_J, + VEHICLE_CERBERUS = "CERBERUS"_J, + VEHICLE_CERBERUS2 = "CERBERUS2"_J, + VEHICLE_CERBERUS3 = "CERBERUS3"_J, + VEHICLE_CLIQUE = "CLIQUE"_J, + VEHICLE_DEATHBIKE = "DEATHBIKE"_J, + VEHICLE_DEATHBIKE2 = "DEATHBIKE2"_J, + VEHICLE_DEATHBIKE3 = "DEATHBIKE3"_J, + VEHICLE_DEVESTE = "DEVESTE"_J, + VEHICLE_DEVIANT = "DEVIANT"_J, + VEHICLE_DOMINATOR4 = "DOMINATOR4"_J, + VEHICLE_DOMINATOR5 = "DOMINATOR5"_J, + VEHICLE_DOMINATOR6 = "DOMINATOR6"_J, + VEHICLE_IMPALER = "IMPALER"_J, + VEHICLE_IMPALER2 = "IMPALER2"_J, + VEHICLE_IMPALER3 = "IMPALER3"_J, + VEHICLE_IMPALER4 = "IMPALER4"_J, + VEHICLE_IMPERATOR = "IMPERATOR"_J, + VEHICLE_IMPERATOR2 = "IMPERATOR2"_J, + VEHICLE_IMPERATOR3 = "IMPERATOR3"_J, + VEHICLE_ISSI4 = "ISSI4"_J, + VEHICLE_ISSI5 = "ISSI5"_J, + VEHICLE_ISSI6 = "ISSI6"_J, + VEHICLE_ITALIGTO = "ITALIGTO"_J, + VEHICLE_MONSTER3 = "MONSTER3"_J, + VEHICLE_MONSTER4 = "MONSTER4"_J, + VEHICLE_MONSTER5 = "MONSTER5"_J, + VEHICLE_RCBANDITO = "RCBANDITO"_J, + VEHICLE_SCARAB2 = "SCARAB2"_J, + VEHICLE_SCARAB3 = "SCARAB3"_J, + VEHICLE_SCHLAGEN = "SCHLAGEN"_J, + VEHICLE_SLAMVAN4 = "SLAMVAN4"_J, + VEHICLE_SLAMVAN5 = "SLAMVAN5"_J, + VEHICLE_SLAMVAN6 = "SLAMVAN6"_J, + VEHICLE_TOROS = "TOROS"_J, + VEHICLE_TULIP = "TULIP"_J, + VEHICLE_VAMOS = "VAMOS"_J, + VEHICLE_ZR380 = "ZR380"_J, + VEHICLE_ZR3802 = "ZR3802"_J, + VEHICLE_ZR3803 = "ZR3803"_J, }; enum CasinoUpdate : Hash { - VEHICLE_CARACARA2 = RAGE_JOAAT("CARACARA2"), - VEHICLE_DRAFTER = RAGE_JOAAT("DRAFTER"), - VEHICLE_DYNASTY = RAGE_JOAAT("DYNASTY"), - VEHICLE_EMERUS = RAGE_JOAAT("EMERUS"), - VEHICLE_GAUNTLET3 = RAGE_JOAAT("GAUNTLET3"), - VEHICLE_GAUNTLET4 = RAGE_JOAAT("GAUNTLET4"), - VEHICLE_HELLION = RAGE_JOAAT("HELLION"), - VEHICLE_ISSI7 = RAGE_JOAAT("ISSI7"), - VEHICLE_JUGULAR = RAGE_JOAAT("JUGULAR"), - VEHICLE_KRIEGER = RAGE_JOAAT("KRIEGER"), - VEHICLE_LOCUST = RAGE_JOAAT("LOCUST"), - VEHICLE_NEBULA = RAGE_JOAAT("NEBULA"), - VEHICLE_NEO = RAGE_JOAAT("NEO"), - VEHICLE_NOVAK = RAGE_JOAAT("NOVAK"), - VEHICLE_PARAGON = RAGE_JOAAT("PARAGON"), - VEHICLE_PARAGON2 = RAGE_JOAAT("PARAGON2"), - VEHICLE_PEYOTE2 = RAGE_JOAAT("PEYOTE2"), - VEHICLE_RROCKET = RAGE_JOAAT("RROCKET"), - VEHICLE_S80 = RAGE_JOAAT("S80"), - VEHICLE_THRAX = RAGE_JOAAT("THRAX"), - VEHICLE_ZION3 = RAGE_JOAAT("ZION3"), - VEHICLE_ZORRUSSO = RAGE_JOAAT("ZORRUSSO") + VEHICLE_CARACARA2 = "CARACARA2"_J, + VEHICLE_DRAFTER = "DRAFTER"_J, + VEHICLE_DYNASTY = "DYNASTY"_J, + VEHICLE_EMERUS = "EMERUS"_J, + VEHICLE_GAUNTLET3 = "GAUNTLET3"_J, + VEHICLE_GAUNTLET4 = "GAUNTLET4"_J, + VEHICLE_HELLION = "HELLION"_J, + VEHICLE_ISSI7 = "ISSI7"_J, + VEHICLE_JUGULAR = "JUGULAR"_J, + VEHICLE_KRIEGER = "KRIEGER"_J, + VEHICLE_LOCUST = "LOCUST"_J, + VEHICLE_NEBULA = "NEBULA"_J, + VEHICLE_NEO = "NEO"_J, + VEHICLE_NOVAK = "NOVAK"_J, + VEHICLE_PARAGON = "PARAGON"_J, + VEHICLE_PARAGON2 = "PARAGON2"_J, + VEHICLE_PEYOTE2 = "PEYOTE2"_J, + VEHICLE_RROCKET = "RROCKET"_J, + VEHICLE_S80 = "S80"_J, + VEHICLE_THRAX = "THRAX"_J, + VEHICLE_ZION3 = "ZION3"_J, + VEHICLE_ZORRUSSO = "ZORRUSSO"_J }; enum CasinoHeist : Hash { - VEHICLE_ASBO = RAGE_JOAAT("ABSO"), - VEHICLE_EVERON = RAGE_JOAAT("EVERON"), - VEHICLE_FORMULA = RAGE_JOAAT("FORMULA"), - VEHICLE_FORMULA2 = RAGE_JOAAT("FORMULA2"), - VEHICLE_FURIA = RAGE_JOAAT("FURIA"), - VEHICLE_IMORGON = RAGE_JOAAT("IMORGON"), - VEHICLE_JB7002 = RAGE_JOAAT("JB7002"), - VEHICLE_KANJO = RAGE_JOAAT("KANJO"), - VEHICLE_KOMODA = RAGE_JOAAT("KOMODA"), - VEHICLE_MINITANK = RAGE_JOAAT("MINITANK"), - VEHICLE_OUTLAW = RAGE_JOAAT("OUTLAW"), - VEHICLE_REBLA = RAGE_JOAAT("REBLA"), - VEHICLE_RETINUE2 = RAGE_JOAAT("RETINUE2"), - VEHICLE_STRYDER = RAGE_JOAAT("STRYDER"), - VEHICLE_SUGOI = RAGE_JOAAT("SUGOI"), - VEHICLE_SULTAN2 = RAGE_JOAAT("SULTAN2"), - VEHICLE_VAGRANT = RAGE_JOAAT("VAGRANT"), - VEHICLE_VSTR = RAGE_JOAAT("VSTR"), - VEHICLE_YOSEMITE2 = RAGE_JOAAT("YOSEMITE2"), - VEHICLE_ZHABA = RAGE_JOAAT("ZHABA"), + VEHICLE_ASBO = "ABSO"_J, + VEHICLE_EVERON = "EVERON"_J, + VEHICLE_FORMULA = "FORMULA"_J, + VEHICLE_FORMULA2 = "FORMULA2"_J, + VEHICLE_FURIA = "FURIA"_J, + VEHICLE_IMORGON = "IMORGON"_J, + VEHICLE_JB7002 = "JB7002"_J, + VEHICLE_KANJO = "KANJO"_J, + VEHICLE_KOMODA = "KOMODA"_J, + VEHICLE_MINITANK = "MINITANK"_J, + VEHICLE_OUTLAW = "OUTLAW"_J, + VEHICLE_REBLA = "REBLA"_J, + VEHICLE_RETINUE2 = "RETINUE2"_J, + VEHICLE_STRYDER = "STRYDER"_J, + VEHICLE_SUGOI = "SUGOI"_J, + VEHICLE_SULTAN2 = "SULTAN2"_J, + VEHICLE_VAGRANT = "VAGRANT"_J, + VEHICLE_VSTR = "VSTR"_J, + VEHICLE_YOSEMITE2 = "YOSEMITE2"_J, + VEHICLE_ZHABA = "ZHABA"_J, }; enum SummerUpdate : Hash { - VEHICLE_CLUB = RAGE_JOAAT("CLUB"), - VEHICLE_COQUETTE4 = RAGE_JOAAT("VEHICLE_COQUETTE4"), - VEHICLE_DUKES3 = RAGE_JOAAT("DUKES3"), - VEHICLE_GAUNTLET5 = RAGE_JOAAT("GAUNTLET5"), - VEHICLE_GLENDALE2 = RAGE_JOAAT("GLENDALE2"), - VEHICLE_LANDSTALKER2 = RAGE_JOAAT("LANDSTALKER2"), - VEHICLE_MANANA2 = RAGE_JOAAT("MANANA2"), - VEHICLE_OPENWHEEL1 = RAGE_JOAAT("OPENWHEEL1"), - VEHICLE_OPENWHEEL2 = RAGE_JOAAT("OPENWHEEL2"), - VEHICLE_PENUMBRA2 = RAGE_JOAAT("PENUMBRA2"), - VEHICLE_PEYOTE3 = RAGE_JOAAT("PEYOTE3"), - VEHICLE_SEMINOLE2 = RAGE_JOAAT("SEMINOLE2"), - VEHICLE_TIGON = RAGE_JOAAT("TIGON"), - VEHICLE_YOSEMITE3 = RAGE_JOAAT("YOSEMITE3"), - VEHICLE_YOUGA3 = RAGE_JOAAT("YOUGA3") + VEHICLE_CLUB = "CLUB"_J, + VEHICLE_COQUETTE4 = "VEHICLE_COQUETTE4"_J, + VEHICLE_DUKES3 = "DUKES3"_J, + VEHICLE_GAUNTLET5 = "GAUNTLET5"_J, + VEHICLE_GLENDALE2 = "GLENDALE2"_J, + VEHICLE_LANDSTALKER2 = "LANDSTALKER2"_J, + VEHICLE_MANANA2 = "MANANA2"_J, + VEHICLE_OPENWHEEL1 = "OPENWHEEL1"_J, + VEHICLE_OPENWHEEL2 = "OPENWHEEL2"_J, + VEHICLE_PENUMBRA2 = "PENUMBRA2"_J, + VEHICLE_PEYOTE3 = "PEYOTE3"_J, + VEHICLE_SEMINOLE2 = "SEMINOLE2"_J, + VEHICLE_TIGON = "TIGON"_J, + VEHICLE_YOSEMITE3 = "YOSEMITE3"_J, + VEHICLE_YOUGA3 = "YOUGA3"_J }; enum CayoPericoHeist : Hash { - VEHICLE_ALKONOST = RAGE_JOAAT("ALKONOST"), - VEHICLE_ANNIHILATOR2 = RAGE_JOAAT("ANNIHILATOR2"), - VEHICLE_AVISA = RAGE_JOAAT("AVISA"), - VEHICLE_BRIOSO2 = RAGE_JOAAT("BRIOSO2"), - VEHICLE_DINGHY5 = RAGE_JOAAT("DINGHY5"), - VEHICLE_ITALIRSX = RAGE_JOAAT("ITALIRSX"), - VEHICLE_KOSATKA = RAGE_JOAAT("KOSATKA"), - VEHICLE_LONGFIN = RAGE_JOAAT("LONGFIN"), - VEHICLE_MANCHEZE = RAGE_JOAAT("MANCHEZE"), - VEHICLE_PATROLBOAT = RAGE_JOAAT("PATROLBOAT"), - VEHICLE_SEASPARROW2 = RAGE_JOAAT("SEASPARROW2"), - VEHICLE_SLAMTRUCK = RAGE_JOAAT("SLAMTRUCK"), - VEHICLE_SQUADDIE = RAGE_JOAAT("SQUADDIE"), - VEHICLE_TOREADOR = RAGE_JOAAT("TOREADOR"), - VEHICLE_VERUS = RAGE_JOAAT("VERUS"), - VEHICLE_VETIR = RAGE_JOAAT("VETIR"), - VEHICLE_VETO = RAGE_JOAAT("VETO"), - VEHICLE_VETO2 = RAGE_JOAAT("VETO2"), - VEHICLE_WEEVIL = RAGE_JOAAT("WEEVIL"), - VEHICLE_WINKY = RAGE_JOAAT("WINKY") + VEHICLE_ALKONOST = "ALKONOST"_J, + VEHICLE_ANNIHILATOR2 = "ANNIHILATOR2"_J, + VEHICLE_AVISA = "AVISA"_J, + VEHICLE_BRIOSO2 = "BRIOSO2"_J, + VEHICLE_DINGHY5 = "DINGHY5"_J, + VEHICLE_ITALIRSX = "ITALIRSX"_J, + VEHICLE_KOSATKA = "KOSATKA"_J, + VEHICLE_LONGFIN = "LONGFIN"_J, + VEHICLE_MANCHEZE = "MANCHEZE"_J, + VEHICLE_PATROLBOAT = "PATROLBOAT"_J, + VEHICLE_SEASPARROW2 = "SEASPARROW2"_J, + VEHICLE_SLAMTRUCK = "SLAMTRUCK"_J, + VEHICLE_SQUADDIE = "SQUADDIE"_J, + VEHICLE_TOREADOR = "TOREADOR"_J, + VEHICLE_VERUS = "VERUS"_J, + VEHICLE_VETIR = "VETIR"_J, + VEHICLE_VETO = "VETO"_J, + VEHICLE_VETO2 = "VETO2"_J, + VEHICLE_WEEVIL = "WEEVIL"_J, + VEHICLE_WINKY = "WINKY"_J }; enum LosSantosTuners : Hash { - VEHICLE_CALICO = RAGE_JOAAT("CALICO"), - VEHICLE_COMET6 = RAGE_JOAAT("COMET6"), - VEHICLE_CYPHER = RAGE_JOAAT("CYPHER"), - VEHICLE_DOMINATOR7 = RAGE_JOAAT("DOMINATOR7"), - VEHICLE_DOMINATOR8 = RAGE_JOAAT("DOMINATOR8"), - VEHICLE_EUROS = RAGE_JOAAT("EUROS"), - VEHICLE_FREIGHTCAR2 = RAGE_JOAAT("FREIGHTCAR2"), - VEHICLE_FUTO2 = RAGE_JOAAT("FUTO2"), - VEHICLE_GROWLER = RAGE_JOAAT("GROWLER"), - VEHICLE_JESTER4 = RAGE_JOAAT("JESTER4"), - VEHICLE_PREVION = RAGE_JOAAT("PREVION"), - VEHICLE_REMUS = RAGE_JOAAT("REMUS"), - VEHICLE_RT3000 = RAGE_JOAAT("RT3000"), - VEHICLE_SULTAN3 = RAGE_JOAAT("SULTAN3"), - VEHICLE_TAILGATER2 = RAGE_JOAAT("TAILGATER2"), - VEHICLE_VECTRE = RAGE_JOAAT("VECTRE"), - VEHICLE_WARRENER2 = RAGE_JOAAT("WARRENER2"), - VEHICLE_ZR350 = RAGE_JOAAT("ZR350") + VEHICLE_CALICO = "CALICO"_J, + VEHICLE_COMET6 = "COMET6"_J, + VEHICLE_CYPHER = "CYPHER"_J, + VEHICLE_DOMINATOR7 = "DOMINATOR7"_J, + VEHICLE_DOMINATOR8 = "DOMINATOR8"_J, + VEHICLE_EUROS = "EUROS"_J, + VEHICLE_FREIGHTCAR2 = "FREIGHTCAR2"_J, + VEHICLE_FUTO2 = "FUTO2"_J, + VEHICLE_GROWLER = "GROWLER"_J, + VEHICLE_JESTER4 = "JESTER4"_J, + VEHICLE_PREVION = "PREVION"_J, + VEHICLE_REMUS = "REMUS"_J, + VEHICLE_RT3000 = "RT3000"_J, + VEHICLE_SULTAN3 = "SULTAN3"_J, + VEHICLE_TAILGATER2 = "TAILGATER2"_J, + VEHICLE_VECTRE = "VECTRE"_J, + VEHICLE_WARRENER2 = "WARRENER2"_J, + VEHICLE_ZR350 = "ZR350"_J }; enum TheContract : Hash { - VEHICLE_BUFFALO4 = RAGE_JOAAT("BUFFALO4"), - VEHICLE_GRANGER2 = RAGE_JOAAT("GRANGER2"), - VEHICLE_IWAGEN = RAGE_JOAAT("IWAGEN"), - VEHICLE_PATRIOT3 = RAGE_JOAAT("PATRIOT3"), - VEHICLE_ASTRON = RAGE_JOAAT("ASTRON"), - VEHICLE_DEITY = RAGE_JOAAT("DEITY"), - VEHICLE_IGNUS = RAGE_JOAAT("IGNUS"), - VEHICLE_JUBILEE = RAGE_JOAAT("JUBILEE"), - VEHICLE_REEVER = RAGE_JOAAT("REEVER"), - VEHICLE_SHINOBI = RAGE_JOAAT("SHINOBI"), - VEHICLE_ZENO = RAGE_JOAAT("ZENO"), - VEHICLE_BALLER7 = RAGE_JOAAT("BALLER7"), - VEHICLE_CHAMPION = RAGE_JOAAT("CHAMPION"), - VEHICLE_CINQUEMILA = RAGE_JOAAT("CINQUEMILA"), - VEHICLE_COMET7 = RAGE_JOAAT("COMET7"), - VEHICLE_YOUGA4 = RAGE_JOAAT("YOUGA4"), - VEHICLE_MULE5 = RAGE_JOAAT("MULE5") + VEHICLE_BUFFALO4 = "BUFFALO4"_J, + VEHICLE_GRANGER2 = "GRANGER2"_J, + VEHICLE_IWAGEN = "IWAGEN"_J, + VEHICLE_PATRIOT3 = "PATRIOT3"_J, + VEHICLE_ASTRON = "ASTRON"_J, + VEHICLE_DEITY = "DEITY"_J, + VEHICLE_IGNUS = "IGNUS"_J, + VEHICLE_JUBILEE = "JUBILEE"_J, + VEHICLE_REEVER = "REEVER"_J, + VEHICLE_SHINOBI = "SHINOBI"_J, + VEHICLE_ZENO = "ZENO"_J, + VEHICLE_BALLER7 = "BALLER7"_J, + VEHICLE_CHAMPION = "CHAMPION"_J, + VEHICLE_CINQUEMILA = "CINQUEMILA"_J, + VEHICLE_COMET7 = "COMET7"_J, + VEHICLE_YOUGA4 = "YOUGA4"_J, + VEHICLE_MULE5 = "MULE5"_J }; enum TheCriminalEnterprise : Hash { - VEHICLE_TENF = RAGE_JOAAT("TENF"), - VEHICLE_TENF2 = RAGE_JOAAT("TENF2"), - VEHICLE_WEEVIL2 = RAGE_JOAAT("WEEVIL2"), - VEHICLE_TORERO2 = RAGE_JOAAT("TORERO2"), - VEHICLE_SENTINEL4 = RAGE_JOAAT("SENTINEL4"), - VEHICLE_POSTLUDE = RAGE_JOAAT("POSTLUDE"), - VEHICLE_DRAUGUR = RAGE_JOAAT("DRAUGUR"), - VEHICLE_RHINEHART = RAGE_JOAAT("RHINEHART"), - VEHICLE_VIGERO2 = RAGE_JOAAT("VIGERO2"), - VEHICLE_GREENWOOD = RAGE_JOAAT("GREENWOOD"), - VEHICLE_OMNISEGT = RAGE_JOAAT("OMNISEGT"), - VEHICLE_RUINER4 = RAGE_JOAAT("RUINER4"), - VEHICLE_CORSITA = RAGE_JOAAT("CORSITA"), - VEHICLE_LM87 = RAGE_JOAAT("LM87"), - VEHICLE_SM722 = RAGE_JOAAT("SM722"), - VEHICLE_CONADA = RAGE_JOAAT("CONADA"), - VEHICLE_BRIOSO3 = RAGE_JOAAT("BRIOSO3"), - VEHICLE_KANJOSJ = RAGE_JOAAT("KANJOSJ") + VEHICLE_TENF = "TENF"_J, + VEHICLE_TENF2 = "TENF2"_J, + VEHICLE_WEEVIL2 = "WEEVIL2"_J, + VEHICLE_TORERO2 = "TORERO2"_J, + VEHICLE_SENTINEL4 = "SENTINEL4"_J, + VEHICLE_POSTLUDE = "POSTLUDE"_J, + VEHICLE_DRAUGUR = "DRAUGUR"_J, + VEHICLE_RHINEHART = "RHINEHART"_J, + VEHICLE_VIGERO2 = "VIGERO2"_J, + VEHICLE_GREENWOOD = "GREENWOOD"_J, + VEHICLE_OMNISEGT = "OMNISEGT"_J, + VEHICLE_RUINER4 = "RUINER4"_J, + VEHICLE_CORSITA = "CORSITA"_J, + VEHICLE_LM87 = "LM87"_J, + VEHICLE_SM722 = "SM722"_J, + VEHICLE_CONADA = "CONADA"_J, + VEHICLE_BRIOSO3 = "BRIOSO3"_J, + VEHICLE_KANJOSJ = "KANJOSJ"_J }; enum DrugWars : Hash { - VEHICLE_BOOR = RAGE_JOAAT("boor"), - VEHICLE_BRICKADE2 = RAGE_JOAAT("brickade2"), - VEHICLE_BROADWAY = RAGE_JOAAT("broadway"), - VEHICLE_CARGOPLANE2 = RAGE_JOAAT("cargoplane2"), - VEHICLE_ENTITY3 = RAGE_JOAAT("entity3"), - VEHICLE_ENDORA = RAGE_JOAAT("eudora"), - VEHICLE_EVERON2 = RAGE_JOAAT("everon2"), - VEHICLE_ISSI8 = RAGE_JOAAT("issi8"), - VEHICLE_JOURNEY2 = RAGE_JOAAT("journey2"), - VEHICLE_MANCHEZ3 = RAGE_JOAAT("manchez3"), - VEHICLE_PANTHERE = RAGE_JOAAT("panthere"), - VEHICLE_POWERSURGE = RAGE_JOAAT("powersurge"), - VEHICLE_R300 = RAGE_JOAAT("r300"), - VEHICLE_SURFER3 = RAGE_JOAAT("surfer3"), - VEHICLE_TAHOMA = RAGE_JOAAT("tahoma"), - VEHICLE_TULIP2 = RAGE_JOAAT("tulip2"), - VEHICLE_VIRTUE = RAGE_JOAAT("virtue") + VEHICLE_BOOR = "boor"_J, + VEHICLE_BRICKADE2 = "brickade2"_J, + VEHICLE_BROADWAY = "broadway"_J, + VEHICLE_CARGOPLANE2 = "cargoplane2"_J, + VEHICLE_ENTITY3 = "entity3"_J, + VEHICLE_ENDORA = "eudora"_J, + VEHICLE_EVERON2 = "everon2"_J, + VEHICLE_ISSI8 = "issi8"_J, + VEHICLE_JOURNEY2 = "journey2"_J, + VEHICLE_MANCHEZ3 = "manchez3"_J, + VEHICLE_PANTHERE = "panthere"_J, + VEHICLE_POWERSURGE = "powersurge"_J, + VEHICLE_R300 = "r300"_J, + VEHICLE_SURFER3 = "surfer3"_J, + VEHICLE_TAHOMA = "tahoma"_J, + VEHICLE_TULIP2 = "tulip2"_J, + VEHICLE_VIRTUE = "virtue"_J }; enum SanAndreasMercenaries : Hash { - VEHICLE_AVENGER3 = RAGE_JOAAT("avenger3"), - VEHICLE_AVENGER4 = RAGE_JOAAT("avenger4"), - VEHICLE_BRIGHAM = RAGE_JOAAT("brigham"), - VEHICLE_BUFFALO5 = RAGE_JOAAT("buffalo5"), - VEHICLE_CLIQUE2 = RAGE_JOAAT("clique2"), - VEHICLE_CONADA2 = RAGE_JOAAT("conada2"), - VEHICLE_COUREUR = RAGE_JOAAT("coureur"), - VEHICLE_GAUNTLET6 = RAGE_JOAAT("gauntlet6"), - VEHICLE_INDUCTOR = RAGE_JOAAT("inductor"), - VEHICLE_INDUCTOR2 = RAGE_JOAAT("inductor2"), - VEHICLE_L35 = RAGE_JOAAT("l35"), - VEHICLE_MONSTROCITI = RAGE_JOAAT("monstrociti"), - VEHICLE_RAIJU = RAGE_JOAAT("raiju"), - VEHICLE_RATEL = RAGE_JOAAT("ratel"), - VEHICLE_SPEEDO4 = RAGE_JOAAT("speedo4"), - VEHICLE_STINGERTT = RAGE_JOAAT("stingertt"), - VEHICLE_STREAMER216 = RAGE_JOAAT("streamer216") + VEHICLE_AVENGER3 = "avenger3"_J, + VEHICLE_AVENGER4 = "avenger4"_J, + VEHICLE_BRIGHAM = "brigham"_J, + VEHICLE_BUFFALO5 = "buffalo5"_J, + VEHICLE_CLIQUE2 = "clique2"_J, + VEHICLE_CONADA2 = "conada2"_J, + VEHICLE_COUREUR = "coureur"_J, + VEHICLE_GAUNTLET6 = "gauntlet6"_J, + VEHICLE_INDUCTOR = "inductor"_J, + VEHICLE_INDUCTOR2 = "inductor2"_J, + VEHICLE_L35 = "l35"_J, + VEHICLE_MONSTROCITI = "monstrociti"_J, + VEHICLE_RAIJU = "raiju"_J, + VEHICLE_RATEL = "ratel"_J, + VEHICLE_SPEEDO4 = "speedo4"_J, + VEHICLE_STINGERTT = "stingertt"_J, + VEHICLE_STREAMER216 = "streamer216"_J }; enum Scrapyard : Hash { - VEHICLE_ALEUTIAN = RAGE_JOAAT("ALEUTIAN"), - VEHICLE_ASTEROPE2 = RAGE_JOAAT("ASTEROPE2"), - VEHICLE_BALLER8 = RAGE_JOAAT("BALLER8"), - VEHICLE_BENSON2 = RAGE_JOAAT("BENSON2"), - VEHICLE_BOXVILLE6 = RAGE_JOAAT("BOXVILLE6"), - VEHICLE_CAVALCADE3 = RAGE_JOAAT("CAVALCADE3"), - VEHICLE_DOMINATOR9 = RAGE_JOAAT("DOMINATOR9"), - VEHICLE_DORADO = RAGE_JOAAT("DORADO"), - VEHICLE_DRIFTEUROS = RAGE_JOAAT("DRIFTEUROS"), - VEHICLE_DRIFTFR36 = RAGE_JOAAT("DRIFTFR36"), - VEHICLE_DRIFTFUTO = RAGE_JOAAT("DRIFTFUTO"), - VEHICLE_DRIFTJESTER = RAGE_JOAAT("DRIFTJESTER"), - VEHICLE_DRIFTREMUS = RAGE_JOAAT("DRIFTREMUS"), - VEHICLE_DRIFTTAMPA = RAGE_JOAAT("DRIFTTAMPA"), - VEHICLE_DRIFTYOSEMITE = RAGE_JOAAT("DRIFTYOSEMITE"), - VEHICLE_DRIFTZR350 = RAGE_JOAAT("DRIFTZR350"), - VEHICLE_FR36 = RAGE_JOAAT("FR36"), - VEHICLE_IMPALER5 = RAGE_JOAAT("IMPALER5"), - VEHICLE_IMPALER6 = RAGE_JOAAT("IMPALER6"), - VEHICLE_POLGAUNTLET = RAGE_JOAAT("POLGAUNTLET"), - VEHICLE_POLICE5 = RAGE_JOAAT("POLICE5"), - VEHICLE_TERMINUS = RAGE_JOAAT("TERMINUS"), - VEHICLE_TOWTRUCK3 = RAGE_JOAAT("TOWTRUCK3"), - VEHICLE_TOWTRUCK4 = RAGE_JOAAT("TOWTRUCK4"), - VEHICLE_TURISMO3 = RAGE_JOAAT("TURISMO3"), - VEHICLE_VIGERO3 = RAGE_JOAAT("VIGERO3"), - VEHICLE_VIVANITE = RAGE_JOAAT("VIVANITE") -}; \ No newline at end of file + VEHICLE_ALEUTIAN = "ALEUTIAN"_J, + VEHICLE_ASTEROPE2 = "ASTEROPE2"_J, + VEHICLE_BALLER8 = "BALLER8"_J, + VEHICLE_BENSON2 = "BENSON2"_J, + VEHICLE_BOXVILLE6 = "BOXVILLE6"_J, + VEHICLE_CAVALCADE3 = "CAVALCADE3"_J, + VEHICLE_DOMINATOR9 = "DOMINATOR9"_J, + VEHICLE_DORADO = "DORADO"_J, + VEHICLE_DRIFTEUROS = "DRIFTEUROS"_J, + VEHICLE_DRIFTFR36 = "DRIFTFR36"_J, + VEHICLE_DRIFTFUTO = "DRIFTFUTO"_J, + VEHICLE_DRIFTJESTER = "DRIFTJESTER"_J, + VEHICLE_DRIFTREMUS = "DRIFTREMUS"_J, + VEHICLE_DRIFTTAMPA = "DRIFTTAMPA"_J, + VEHICLE_DRIFTYOSEMITE = "DRIFTYOSEMITE"_J, + VEHICLE_DRIFTZR350 = "DRIFTZR350"_J, + VEHICLE_FR36 = "FR36"_J, + VEHICLE_IMPALER5 = "IMPALER5"_J, + VEHICLE_IMPALER6 = "IMPALER6"_J, + VEHICLE_POLGAUNTLET = "POLGAUNTLET"_J, + VEHICLE_POLICE5 = "POLICE5"_J, + VEHICLE_TERMINUS = "TERMINUS"_J, + VEHICLE_TOWTRUCK3 = "TOWTRUCK3"_J, + VEHICLE_TOWTRUCK4 = "TOWTRUCK4"_J, + VEHICLE_TURISMO3 = "TURISMO3"_J, + VEHICLE_VIGERO3 = "VIGERO3"_J, + VEHICLE_VIVANITE = "VIVANITE"_J +}; diff --git a/src/gta/weapons.hpp b/src/gta/weapons.hpp index 25d7d2e1..77ad0439 100644 --- a/src/gta/weapons.hpp +++ b/src/gta/weapons.hpp @@ -5,31 +5,31 @@ enum Weapons : Hash { - WEAPON_UNARMED = RAGE_JOAAT("WEAPON_UNARMED") + WEAPON_UNARMED = "WEAPON_UNARMED"_J }; enum Gadgets : Hash { - GADGET_OBJECT = RAGE_JOAAT("OBJECT"), - GADGET_PARACHUTE = RAGE_JOAAT("GADGET_PARACHUTE") + GADGET_OBJECT = "OBJECT"_J, + GADGET_PARACHUTE = "GADGET_PARACHUTE"_J }; enum WeaponGroup : Hash { - GROUP_MELEE = RAGE_JOAAT("GROUP_MELEE"), - GROUP_UNARMED = RAGE_JOAAT("GROUP_UNARMED"), - GROUP_PISTOL = RAGE_JOAAT("GROUP_PISTOL"), - GROUP_RIFLE = RAGE_JOAAT("GROUP_RIFLE"), - GROUP_MG = RAGE_JOAAT("GROUP_MG"), - GROUP_SMG = RAGE_JOAAT("GROUP_SMG"), - GROUP_SHOTGUN = RAGE_JOAAT("GROUP_SHOTGUN"), - GROUP_STUNGUN = RAGE_JOAAT("GROUP_STUNGUN"), - GROUP_SNIPER = RAGE_JOAAT("GROUP_SNIPER"), - GROUP_HEAVY = RAGE_JOAAT("GROUP_HEAVY"), - GROUP_THROWN = RAGE_JOAAT("GROUP_THROWN"), - GROUP_FIREEXTINGUISHER = RAGE_JOAAT("GROUP_FIREEXTINGUISHER"), - GROUP_PETROLCAN = RAGE_JOAAT("GROUP_PETROLCAN"), - GROUP_DIGISCANNER = RAGE_JOAAT("GROUP_DIGISCANNER"), - GROUP_NIGHTVISION = RAGE_JOAAT("GROUP_NIGHTVISION"), - GROUP_PARACHUTE = RAGE_JOAAT("GROUP_PARACHUTE") -}; \ No newline at end of file + GROUP_MELEE = "GROUP_MELEE"_J, + GROUP_UNARMED = "GROUP_UNARMED"_J, + GROUP_PISTOL = "GROUP_PISTOL"_J, + GROUP_RIFLE = "GROUP_RIFLE"_J, + GROUP_MG = "GROUP_MG"_J, + GROUP_SMG = "GROUP_SMG"_J, + GROUP_SHOTGUN = "GROUP_SHOTGUN"_J, + GROUP_STUNGUN = "GROUP_STUNGUN"_J, + GROUP_SNIPER = "GROUP_SNIPER"_J, + GROUP_HEAVY = "GROUP_HEAVY"_J, + GROUP_THROWN = "GROUP_THROWN"_J, + GROUP_FIREEXTINGUISHER = "GROUP_FIREEXTINGUISHER"_J, + GROUP_PETROLCAN = "GROUP_PETROLCAN"_J, + GROUP_DIGISCANNER = "GROUP_DIGISCANNER"_J, + GROUP_NIGHTVISION = "GROUP_NIGHTVISION"_J, + GROUP_PARACHUTE = "GROUP_PARACHUTE"_J +}; diff --git a/src/gui/components/components.hpp b/src/gui/components/components.hpp index 0316bcd5..9688833b 100644 --- a/src/gui/components/components.hpp +++ b/src/gui/components/components.hpp @@ -41,7 +41,7 @@ namespace big template static void command_button(const std::vector args = {}, std::optional 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) return ImGui::Text("INVALID COMMAND"); @@ -57,7 +57,7 @@ namespace big template static void player_command_button(player_ptr player = g_player_service->get_selected(), const std::vector args = {}, std::optional label_override = std::nullopt) { - static player_command* command = dynamic_cast(command::get(rage::consteval_joaat(cmd_str.value))); + static player_command* command = dynamic_cast(command::get(rage::joaat(cmd_str.value))); if (command == nullptr) return ImGui::Text("INVALID COMMAND"); @@ -70,7 +70,7 @@ namespace big template static bool command_checkbox(std::optional label_override = std::nullopt) { - static bool_command* command = dynamic_cast(command::get(rage::consteval_joaat(cmd_str.value))); + static bool_command* command = dynamic_cast(command::get(rage::joaat(cmd_str.value))); if (command == nullptr) { ImGui::Text("INVALID COMMAND"); @@ -89,7 +89,7 @@ namespace big template static void command_int_slider(std::optional 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) return ImGui::Text("INVALID COMMAND"); @@ -105,7 +105,7 @@ namespace big template static void command_float_slider(std::optional 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) return ImGui::Text("INVALID COMMAND"); @@ -121,7 +121,7 @@ namespace big template static void command_float_input(std::optional 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) return ImGui::Text("INVALID COMMAND"); diff --git a/src/hooks/info/get_network_event_data.cpp b/src/hooks/info/get_network_event_data.cpp index b1d1387d..e5a06c05 100644 --- a/src/hooks/info/get_network_event_data.cpp +++ b/src/hooks/info/get_network_event_data.cpp @@ -59,7 +59,7 @@ namespace big { 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([] { session::join_session(gta_util::get_network()->m_last_joined_session.m_session_info); @@ -77,9 +77,9 @@ namespace big rage::sEntityDamagedData 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") - || 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 == RAGE_JOAAT("VEHICLE_WEAPON_MINE_EMP") || damage_data.m_weapon_used == RAGE_JOAAT("VEHICLE_WEAPON_MINE_SPIKE")) + 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 == "VEHICLE_WEAPON_MINE_EMP_RC"_J || damage_data.m_weapon_used == "VEHICLE_WEAPON_MINE_KINETIC"_J + || damage_data.m_weapon_used == "VEHICLE_WEAPON_MINE_EMP"_J || damage_data.m_weapon_used == "VEHICLE_WEAPON_MINE_SPIKE"_J) break; 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 model_info = vehicle->m_model_info) - if (model_info->m_hash == RAGE_JOAAT("rcbandito") || model_info->m_hash == RAGE_JOAAT("minitank") - || model_info->m_hash == RAGE_JOAAT("kosatka")) + if (model_info->m_hash == "rcbandito"_J || model_info->m_hash == "minitank"_J + || model_info->m_hash == "kosatka"_J) break; } @@ -129,8 +129,8 @@ namespace big if (!reinterpret_cast(victim)->m_player_info) break; - if (damage_data.m_weapon_used == RAGE_JOAAT("WEAPON_EXPLOSION") || damage_data.m_weapon_used == RAGE_JOAAT("WEAPON_RAMMED_BY_CAR") - || damage_data.m_weapon_used == RAGE_JOAAT("WEAPON_RUN_OVER_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 == "WEAPON_RUN_OVER_BY_CAR"_J) break; session::add_infraction(player, Infraction::ATTACKING_WITH_INVISIBILITY); diff --git a/src/hooks/misc/log_message_error_box.cpp b/src/hooks/misc/log_message_error_box.cpp index d05b77be..9cefc260 100644 --- a/src/hooks/misc/log_message_error_box.cpp +++ b/src/hooks/misc/log_message_error_box.cpp @@ -31,7 +31,7 @@ namespace big 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; 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)); diff --git a/src/hooks/player_management/assign_physical_index.cpp b/src/hooks/player_management/assign_physical_index.cpp index 47945cd7..056a5eeb 100644 --- a/src/hooks/player_management/assign_physical_index.cpp +++ b/src/hooks/player_management/assign_physical_index.cpp @@ -121,11 +121,11 @@ namespace big { if (g_player_service->get_self()->is_host()) { - dynamic_cast(command::get(RAGE_JOAAT("breakup")))->call(plyr, {}); + dynamic_cast(command::get("breakup"_J))->call(plyr, {}); } else { - dynamic_cast(command::get(RAGE_JOAAT("desync")))->call(plyr, {}); + dynamic_cast(command::get("desync"_J))->call(plyr, {}); } } @@ -139,7 +139,7 @@ namespace big } else { - dynamic_cast(command::get(RAGE_JOAAT("multikick")))->call(plyr, {}); + dynamic_cast(command::get("multikick"_J))->call(plyr, {}); 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))); } diff --git a/src/hooks/protections/can_apply_data.cpp b/src/hooks/protections/can_apply_data.cpp index 6573186f..36792bb8 100644 --- a/src/hooks/protections/can_apply_data.cpp +++ b/src/hooks/protections/can_apply_data.cpp @@ -1538,7 +1538,7 @@ namespace big } 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"); return true; @@ -1678,4 +1678,4 @@ namespace big return g_hooking->get_original()(tree, object); } -} \ No newline at end of file +} diff --git a/src/hooks/protections/increment_stat_event.cpp b/src/hooks/protections/increment_stat_event.cpp index 82f71484..a95c92eb 100644 --- a/src/hooks/protections/increment_stat_event.cpp +++ b/src/hooks/protections/increment_stat_event.cpp @@ -10,20 +10,20 @@ namespace big { switch (net_event->m_stat) { - case RAGE_JOAAT("MPPLY_BAD_CREW_STATUS"): - case RAGE_JOAAT("MPPLY_BAD_CREW_MOTTO"): - case RAGE_JOAAT("MPPLY_BAD_CREW_NAME"): - case RAGE_JOAAT("MPPLY_BAD_CREW_EMBLEM"): - case RAGE_JOAAT("MPPLY_EXPLOITS"): - case RAGE_JOAAT("MPPLY_GAME_EXPLOITS"): - case RAGE_JOAAT("MPPLY_TC_ANNOYINGME"): - case RAGE_JOAAT("MPPLY_TC_HATE"): - case RAGE_JOAAT("MPPLY_VC_ANNOYINGME"): - case RAGE_JOAAT("MPPLY_VC_HATE"): + case "MPPLY_BAD_CREW_STATUS"_J: + case "MPPLY_BAD_CREW_MOTTO"_J: + case "MPPLY_BAD_CREW_NAME"_J: + case "MPPLY_BAD_CREW_EMBLEM"_J: + case "MPPLY_EXPLOITS"_J: + case "MPPLY_GAME_EXPLOITS"_J: + case "MPPLY_TC_ANNOYINGME"_J: + case "MPPLY_TC_HATE"_J: + case "MPPLY_VC_ANNOYINGME"_J: + case "MPPLY_VC_HATE"_J: g.reactions.report.process(g_player_service->get_by_id(sender->m_player_id)); return true; } return false; } -} \ No newline at end of file +} diff --git a/src/hooks/protections/receive_net_message.cpp b/src/hooks/protections/receive_net_message.cpp index 436fea14..54b48911 100644 --- a/src/hooks/protections/receive_net_message.cpp +++ b/src/hooks/protections/receive_net_message.cpp @@ -125,11 +125,11 @@ namespace big && !(player->is_trusted || (player->is_friend() && g.session.trust_friends) || g.session.trust_session)) { if (g_player_service->get_self()->is_host()) - dynamic_cast(command::get(RAGE_JOAAT("breakup")))->call(player, {}), - dynamic_cast(command::get(RAGE_JOAAT("hostkick")))->call(player, {}); + dynamic_cast(command::get("breakup"_J))->call(player, {}), + dynamic_cast(command::get("hostkick"_J))->call(player, {}); - dynamic_cast(command::get(RAGE_JOAAT("endkick")))->call(player, {}); - dynamic_cast(command::get(RAGE_JOAAT("nfkick")))->call(player, {}); + dynamic_cast(command::get("endkick"_J))->call(player, {}); + dynamic_cast(command::get("nfkick"_J))->call(player, {}); } return true; } @@ -178,7 +178,7 @@ namespace big CGameScriptId script; 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; break; diff --git a/src/hooks/protections/received_array_update.cpp b/src/hooks/protections/received_array_update.cpp index 9aa297c7..8d479b6d 100644 --- a/src/hooks/protections/received_array_update.cpp +++ b/src/hooks/protections/received_array_update.cpp @@ -16,7 +16,7 @@ namespace big { int old_beast_index = -1; 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) { @@ -74,4 +74,4 @@ namespace big return result; } -} \ No newline at end of file +} diff --git a/src/hooks/protections/received_event.cpp b/src/hooks/protections/received_event.cpp index 0207afaa..8ffa309e 100644 --- a/src/hooks/protections/received_event.cpp +++ b/src/hooks/protections/received_event.cpp @@ -30,7 +30,7 @@ namespace big { 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; } @@ -602,7 +602,7 @@ namespace big std::int16_t net_id = buffer->Read(13); Hash hash = buffer->Read(32); - if (hash == RAGE_JOAAT("WEAPON_UNARMED")) + if (hash == "WEAPON_UNARMED"_J) { 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); @@ -707,7 +707,7 @@ namespace big uint32_t sound_hash = buffer->Read(32); - if (sound_hash == RAGE_JOAAT("Remote_Ring") && plyr) + if (sound_hash == "Remote_Ring"_J && plyr) { g.reactions.sound_spam.process(plyr); return; diff --git a/src/hooks/protections/script_event_handler.cpp b/src/hooks/protections/script_event_handler.cpp index de24a53c..0ebfc8a8 100644 --- a/src/hooks/protections/script_event_handler.cpp +++ b/src/hooks/protections/script_event_handler.cpp @@ -138,7 +138,7 @@ namespace big session::add_infraction(plyr, Infraction::TRIED_CRASH_PLAYER); // stand user detected return true; 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 session::add_infraction(plyr, Infraction::TRIED_CRASH_PLAYER); // stand user detected @@ -392,7 +392,7 @@ namespace big break; 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 && ((CGameScriptHandlerNetComponent*)script->m_net_component)->m_host->m_net_game_player != player) @@ -406,7 +406,7 @@ namespace big case eRemoteEvent::StartScriptProceed: { // 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 && ((CGameScriptHandlerNetComponent*)script->m_net_component)->m_host->m_net_game_player != player) diff --git a/src/hooks/protections/serialize_take_off_ped_variation_task.cpp b/src/hooks/protections/serialize_take_off_ped_variation_task.cpp index 7365c4d0..054b70fc 100644 --- a/src/hooks/protections/serialize_take_off_ped_variation_task.cpp +++ b/src/hooks/protections/serialize_take_off_ped_variation_task.cpp @@ -6,14 +6,14 @@ namespace big { constexpr uint32_t valid_parachute_models[] = { - RAGE_JOAAT("p_parachute_s"), - RAGE_JOAAT("vw_p_para_bag_vine_s"), - RAGE_JOAAT("reh_p_para_bag_reh_s_01a"), - RAGE_JOAAT("xm_prop_x17_scuba_tank"), - RAGE_JOAAT("lts_p_para_bag_pilot2_s"), - RAGE_JOAAT("lts_p_para_bag_lts_s"), - RAGE_JOAAT("p_para_bag_tr_s_01a"), - RAGE_JOAAT("p_para_bag_xmas_s"), + "p_parachute_s"_J, + "vw_p_para_bag_vine_s"_J, + "reh_p_para_bag_reh_s_01a"_J, + "xm_prop_x17_scuba_tank"_J, + "lts_p_para_bag_pilot2_s"_J, + "lts_p_para_bag_lts_s"_J, + "p_para_bag_tr_s_01a"_J, + "p_para_bag_xmas_s"_J, }; bool is_valid_parachute_model(rage::joaat_t hash) diff --git a/src/hooks/protections/update_presence_attribute.cpp b/src/hooks/protections/update_presence_attribute.cpp index 7d5d802d..1033b2e6 100644 --- a/src/hooks/protections/update_presence_attribute.cpp +++ b/src/hooks/protections/update_presence_attribute.cpp @@ -11,7 +11,7 @@ namespace big bool hooks::update_presence_attribute_int(void* presence_data, int profile_index, char* attr, uint64_t value) { 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; } @@ -22,17 +22,17 @@ namespace big bool hooks::update_presence_attribute_string(void* presence_data, int profile_index, char* attr, char* value) { auto hash = rage::joaat(attr); - if (block_session_presence() && hash == RAGE_JOAAT("gsinfo")) + if (block_session_presence() && hash == "gsinfo"_J) { return true; } // shouldn't have any side effects - if (hash == RAGE_JOAAT("peeraddr")) + if (hash == "peeraddr"_J) { value = (char*)""; } return g_hooking->get_original()(presence_data, profile_index, attr, value); } -} \ No newline at end of file +} diff --git a/src/hooks/spoofing/serialize_stats.cpp b/src/hooks/spoofing/serialize_stats.cpp index d564f4c3..7061893d 100644 --- a/src/hooks/spoofing/serialize_stats.cpp +++ b/src/hooks/spoofing/serialize_stats.cpp @@ -16,12 +16,12 @@ namespace big { CStatSerializationEntry* entry = reinterpret_cast(&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; } - 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) { @@ -33,15 +33,15 @@ namespace big 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 - if (entry->m_hash == RAGE_JOAAT("MPPLY_DEATHS_PLAYER")) + if (entry->m_hash == "MPPLY_DEATHS_PLAYER"_J) 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; } } } -} \ No newline at end of file +} diff --git a/src/lua/bindings/gui/text.cpp b/src/lua/bindings/gui/text.cpp index b9d3671a..80d5e7b0 100644 --- a/src/lua/bindings/gui/text.cpp +++ b/src/lua/bindings/gui/text.cpp @@ -22,11 +22,11 @@ namespace lua::gui switch (hash) { - case RAGE_JOAAT("title"): m_font = big::g.window.font_title; break; - case RAGE_JOAAT("subtitle"): m_font = big::g.window.font_sub_title; break; - case RAGE_JOAAT("small"): m_font = big::g.window.font_small; break; - case RAGE_JOAAT("icon"): m_font = big::g.window.font_icon; break; + case "title"_J: m_font = big::g.window.font_title; break; + case "subtitle"_J: m_font = big::g.window.font_sub_title; break; + case "small"_J: m_font = big::g.window.font_small; break; + case "icon"_J: m_font = big::g.window.font_icon; break; default: m_font = nullptr; break; } } -} \ No newline at end of file +} diff --git a/src/main.cpp b/src/main.cpp index c57bc289..6873f2ef 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -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) { - if (update_node->m_hash != RAGE_JOAAT("Common Main")) + if (update_node->m_hash != "Common Main"_J) continue; rage::game_skeleton_update_group* group = reinterpret_cast(update_node); for (rage::game_skeleton_update_base* group_child_node = group->m_head; group_child_node; group_child_node = group_child_node->m_next) { // 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; patched = true; //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) { - if (i.m_hash != 0xA0F39FB6 && i.m_hash != RAGE_JOAAT("TamperActions")) + if (i.m_hash != 0xA0F39FB6 && i.m_hash != "TamperActions"_J) continue; i.m_init_func = reinterpret_cast(g_pointers->m_gta.m_nullsub); i.m_shutdown_func = reinterpret_cast(g_pointers->m_gta.m_nullsub); diff --git a/src/native_hooks/all_scripts.hpp b/src/native_hooks/all_scripts.hpp index 78202d54..f50a737c 100644 --- a/src/native_hooks/all_scripts.hpp +++ b/src/native_hooks/all_scripts.hpp @@ -52,7 +52,7 @@ namespace big const auto ped = src->get_arg(0); const auto hash = src->get_arg(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; WEAPON::SET_CURRENT_PED_WEAPON(ped, hash, src->get_arg(2)); @@ -185,4 +185,4 @@ namespace big { } } -} \ No newline at end of file +} diff --git a/src/native_hooks/am_launcher.hpp b/src/native_hooks/am_launcher.hpp index a1450383..9f0c4dc5 100644 --- a/src/native_hooks/am_launcher.hpp +++ b/src/native_hooks/am_launcher.hpp @@ -4,7 +4,7 @@ namespace big { namespace am_launcher { - static const std::unordered_set 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 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) { @@ -23,4 +23,4 @@ namespace big src->set_return_value(SYSTEM::START_NEW_SCRIPT_WITH_ARGS(name, args, argc, stackSize)); } } -} \ No newline at end of file +} diff --git a/src/native_hooks/carmod_shop.hpp b/src/native_hooks/carmod_shop.hpp index 942f2f0a..80b81c59 100644 --- a/src/native_hooks/carmod_shop.hpp +++ b/src/native_hooks/carmod_shop.hpp @@ -14,38 +14,38 @@ namespace big switch (hash) { - case RAGE_JOAAT("MP0_RACES_WON"): - case RAGE_JOAAT("MP0_NUMBER_TURBO_STARTS_IN_RACE"): - case RAGE_JOAAT("MP0_USJS_COMPLETED"): - case RAGE_JOAAT("MP0_AWD_FM_RACES_FASTEST_LAP"): - case RAGE_JOAAT("MP1_RACES_WON"): - case RAGE_JOAAT("MP1_NUMBER_TURBO_STARTS_IN_RACE"): - case RAGE_JOAAT("MP1_USJS_COMPLETED"): - case RAGE_JOAAT("MP1_AWD_FM_RACES_FASTEST_LAP"): *out = 50; break; - case RAGE_JOAAT("MP0_NUMBER_SLIPSTREAMS_IN_RACE"): - case RAGE_JOAAT("MP1_NUMBER_SLIPSTREAMS_IN_RACE"): *out = 100; break; - case RAGE_JOAAT("MP0_CHAR_FM_CARMOD_1_UNLCK"): - case RAGE_JOAAT("MP0_CHAR_FM_CARMOD_2_UNLCK"): - case RAGE_JOAAT("MP0_CHAR_FM_CARMOD_3_UNLCK"): - case RAGE_JOAAT("MP0_CHAR_FM_CARMOD_4_UNLCK"): - case RAGE_JOAAT("MP0_CHAR_FM_CARMOD_5_UNLCK"): - case RAGE_JOAAT("MP0_CHAR_FM_CARMOD_6_UNLCK"): - case RAGE_JOAAT("MP0_CHAR_FM_CARMOD_7_UNLCK"): - case RAGE_JOAAT("MP1_CHAR_FM_CARMOD_1_UNLCK"): - case RAGE_JOAAT("MP1_CHAR_FM_CARMOD_2_UNLCK"): - case RAGE_JOAAT("MP1_CHAR_FM_CARMOD_3_UNLCK"): - case RAGE_JOAAT("MP1_CHAR_FM_CARMOD_4_UNLCK"): - case RAGE_JOAAT("MP1_CHAR_FM_CARMOD_5_UNLCK"): - case RAGE_JOAAT("MP1_CHAR_FM_CARMOD_6_UNLCK"): - case RAGE_JOAAT("MP1_CHAR_FM_CARMOD_7_UNLCK"): *out = -1; break; - case RAGE_JOAAT("MP0_AWD_FMRALLYWONDRIVE"): - case RAGE_JOAAT("MP0_AWD_FMRALLYWONNAV"): - case RAGE_JOAAT("MP0_AWD_FMWINSEARACE"): - case RAGE_JOAAT("MP0_AWD_FMWINAIRRACE"): - case RAGE_JOAAT("MP1_AWD_FMRALLYWONDRIVE"): - case RAGE_JOAAT("MP1_AWD_FMRALLYWONNAV"): - case RAGE_JOAAT("MP1_AWD_FMWINSEARACE"): - case RAGE_JOAAT("MP1_AWD_FMWINAIRRACE"): *out = 1; break; + case "MP0_RACES_WON"_J: + case "MP0_NUMBER_TURBO_STARTS_IN_RACE"_J: + case "MP0_USJS_COMPLETED"_J: + case "MP0_AWD_FM_RACES_FASTEST_LAP"_J: + case "MP1_RACES_WON"_J: + case "MP1_NUMBER_TURBO_STARTS_IN_RACE"_J: + case "MP1_USJS_COMPLETED"_J: + case "MP1_AWD_FM_RACES_FASTEST_LAP"_J: *out = 50; break; + case "MP0_NUMBER_SLIPSTREAMS_IN_RACE"_J: + case "MP1_NUMBER_SLIPSTREAMS_IN_RACE"_J: *out = 100; break; + case "MP0_CHAR_FM_CARMOD_1_UNLCK"_J: + case "MP0_CHAR_FM_CARMOD_2_UNLCK"_J: + case "MP0_CHAR_FM_CARMOD_3_UNLCK"_J: + case "MP0_CHAR_FM_CARMOD_4_UNLCK"_J: + case "MP0_CHAR_FM_CARMOD_5_UNLCK"_J: + case "MP0_CHAR_FM_CARMOD_6_UNLCK"_J: + case "MP0_CHAR_FM_CARMOD_7_UNLCK"_J: + case "MP1_CHAR_FM_CARMOD_1_UNLCK"_J: + case "MP1_CHAR_FM_CARMOD_2_UNLCK"_J: + case "MP1_CHAR_FM_CARMOD_3_UNLCK"_J: + case "MP1_CHAR_FM_CARMOD_4_UNLCK"_J: + case "MP1_CHAR_FM_CARMOD_5_UNLCK"_J: + case "MP1_CHAR_FM_CARMOD_6_UNLCK"_J: + case "MP1_CHAR_FM_CARMOD_7_UNLCK"_J: *out = -1; break; + case "MP0_AWD_FMRALLYWONDRIVE"_J: + case "MP0_AWD_FMRALLYWONNAV"_J: + case "MP0_AWD_FMWINSEARACE"_J: + case "MP0_AWD_FMWINAIRRACE"_J: + case "MP1_AWD_FMRALLYWONDRIVE"_J: + case "MP1_AWD_FMRALLYWONNAV"_J: + case "MP1_AWD_FMWINSEARACE"_J: + case "MP1_AWD_FMWINAIRRACE"_J: *out = 1; break; default: src->set_return_value(STATS::STAT_GET_INT(hash, out, src->get_arg(2))); break; } } @@ -53,7 +53,7 @@ namespace big inline void STAT_SET_INT(rage::scrNativeCallContext* src) { const auto hash = src->get_arg(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; src->set_return_value(STATS::STAT_SET_INT(hash, src->get_arg(1), src->get_arg(2))); @@ -91,4 +91,4 @@ namespace big } } } -} \ No newline at end of file +} diff --git a/src/native_hooks/creator.hpp b/src/native_hooks/creator.hpp index 4e4c0b2e..7a675155 100644 --- a/src/native_hooks/creator.hpp +++ b/src/native_hooks/creator.hpp @@ -13,7 +13,7 @@ namespace big { const auto hash = src->get_arg(0); - if (hash == RAGE_JOAAT("freemode") || hash == RAGE_JOAAT("main")) + if (hash == "freemode"_J || hash == "main"_J) { src->set_return_value(0); return; @@ -29,8 +29,8 @@ namespace big if (entity == self::ped) { - if (model != RAGE_JOAAT("mp_m_freemode_01") && model != RAGE_JOAAT("mp_f_freemode_01")) - model = RAGE_JOAAT("mp_m_freemode_01"); + if (model != "mp_m_freemode_01"_J && model != "mp_f_freemode_01"_J) + model = "mp_m_freemode_01"_J; } src->set_return_value(std::move(model)); @@ -44,4 +44,4 @@ namespace big src->set_return_value(STREAMING::GET_USED_CREATOR_BUDGET()); } } -} \ No newline at end of file +} diff --git a/src/native_hooks/freemode.hpp b/src/native_hooks/freemode.hpp index 3990d4f8..89c9a5f9 100644 --- a/src/native_hooks/freemode.hpp +++ b/src/native_hooks/freemode.hpp @@ -10,7 +10,7 @@ namespace big { const auto hash = src->get_arg(0); - if (hash == RAGE_JOAAT("director_mode") || hash == RAGE_JOAAT("main")) + if (hash == "director_mode"_J || hash == "main"_J) { src->set_return_value(0); return; @@ -21,7 +21,7 @@ namespace big void STAT_GET_INT(rage::scrNativeCallContext* src) { - if (g_vehicle_control_service.m_driver_performing_task && (src->get_arg(0) == RAGE_JOAAT("MP0_PERSONAL_VEHICLE_ACCESS") || src->get_arg(0) == RAGE_JOAAT("MP1_PERSONAL_VEHICLE_ACCESS"))) + if (g_vehicle_control_service.m_driver_performing_task && (src->get_arg(0) == "MP0_PERSONAL_VEHICLE_ACCESS"_J || src->get_arg(0) == "MP1_PERSONAL_VEHICLE_ACCESS"_J)) { src->set_return_value(0); 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({}); src->set_return_value(TRUE); @@ -93,4 +93,4 @@ namespace big } } } -} \ No newline at end of file +} diff --git a/src/native_hooks/native_hooks.cpp b/src/native_hooks/native_hooks.cpp index 04a656a3..1a86d60a 100644 --- a/src/native_hooks/native_hooks.cpp +++ b/src/native_hooks/native_hooks.cpp @@ -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() { @@ -101,69 +101,69 @@ namespace big 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(RAGE_JOAAT("shop_controller"), 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::IS_PED_SHOOTING, all_scripts::RETURN_FALSE); // prevent exploit reports + 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(RAGE_JOAAT("carmod_shop"), 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(RAGE_JOAAT("carmod_shop"), 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(RAGE_JOAAT("carmod_shop"), NativeIndex::DISABLE_ALL_CONTROL_ACTIONS, carmod_shop::DISABLE_ALL_CONTROL_ACTIONS); + add_native_detour("carmod_shop"_J, NativeIndex::SET_ENTITY_COORDS, carmod_shop::SET_ENTITY_COORDS); + add_native_detour("carmod_shop"_J, NativeIndex::SET_ENTITY_HEADING, carmod_shop::SET_ENTITY_HEADING); + add_native_detour("carmod_shop"_J, NativeIndex::SET_VEHICLE_LIGHTS, carmod_shop::SET_VEHICLE_LIGHTS); + add_native_detour("carmod_shop"_J, NativeIndex::STAT_GET_INT, carmod_shop::STAT_GET_INT); + add_native_detour("carmod_shop"_J, NativeIndex::STAT_SET_INT, carmod_shop::STAT_SET_INT); + 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(RAGE_JOAAT("freemode"), 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(RAGE_JOAAT("freemode"), 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(RAGE_JOAAT("freemode"), 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::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::STAT_GET_INT, freemode::STAT_GET_INT); + add_native_detour("freemode"_J, NativeIndex::IS_PLAYER_PLAYING, freemode::IS_PLAYER_PLAYING); + add_native_detour("freemode"_J, NativeIndex::SET_ENTITY_VISIBLE, freemode::SET_ENTITY_VISIBLE); + add_native_detour("freemode"_J, NativeIndex::SET_BIGMAP_ACTIVE, freemode::SET_BIGMAP_ACTIVE); + add_native_detour("freemode"_J, NativeIndex::SET_BLIP_DISPLAY, freemode::SET_BLIP_DISPLAY); + 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(RAGE_JOAAT("maintransition"), NativeIndex::NETWORK_SESSION_HOST, network::NETWORK_SESSION_HOST); + add_native_detour("fmmc_launcher"_J, NativeIndex::NETWORK_HAS_RECEIVED_HOST_BROADCAST_DATA, freemode::NETWORK_HAS_RECEIVED_HOST_BROADCAST_DATA); + 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(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::START_NEW_SCRIPT_WITH_ARGS, am_launcher::START_NEW_SCRIPT_WITH_ARGS); + 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(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(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(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_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("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("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("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(RAGE_JOAAT("fm_capture_creator"), 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(RAGE_JOAAT("fm_lts_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("fm_capture_creator"_J, 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("fm_lts_creator"_J, NativeIndex::GET_ENTITY_MODEL, creator::GET_ENTITY_MODEL); // Infinite Model Memory - add_native_detour(RAGE_JOAAT("fm_race_creator"), 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(RAGE_JOAAT("fm_deathmatch_creator"), 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(RAGE_JOAAT("fm_survival_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("fm_capture_creator"_J, 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("fm_lts_creator"_J, 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(RAGE_JOAAT("tuneables_processing"), 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(RAGE_JOAAT("tuneables_processing"), NativeIndex::NETWORK_ACCESS_TUNABLE_FLOAT_HASH, tunables::NETWORK_ACCESS_TUNABLE_FLOAT_HASH); + add_native_detour("tuneables_processing"_J, NativeIndex::WAIT, tunables::WAIT); + add_native_detour("tuneables_processing"_J, NativeIndex::NETWORK_ACCESS_TUNABLE_INT_HASH, tunables::NETWORK_ACCESS_TUNABLE_INT_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("tuneables_processing"_J, NativeIndex::NETWORK_ACCESS_TUNABLE_FLOAT_HASH, tunables::NETWORK_ACCESS_TUNABLE_FLOAT_HASH); // 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(RAGE_JOAAT("armory_aircraft_carmod"), 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(RAGE_JOAAT("business_hub_carmod"), 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(RAGE_JOAAT("carmod_shop"), 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(RAGE_JOAAT("hacker_truck_carmod"), 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(RAGE_JOAAT("juggalo_hideout_carmod"), 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(RAGE_JOAAT("tuner_property_carmod"), 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(RAGE_JOAAT("gunclub_shop"), 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(RAGE_JOAAT("tattoo_shop"), 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("armory_aircraft_carmod"_J, 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("business_hub_carmod"_J, 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("carmod_shop"_J, 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("hacker_truck_carmod"_J, 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("juggalo_hideout_carmod"_J, 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("tuner_property_carmod"_J, 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("gunclub_shop"_J, 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("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) if (entry.m_program) diff --git a/src/script_function.hpp b/src/script_function.hpp index ab6a4583..839bf69f 100644 --- a/src/script_function.hpp +++ b/src/script_function.hpp @@ -27,17 +27,17 @@ namespace big namespace scr_functions { - static inline script_function join_ceo("JC", RAGE_JOAAT("freemode"), "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 dance_loop("DL", RAGE_JOAAT("am_mp_nightclub"), "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 join_ceo("JC", "freemode"_J, "2D 04 1D 00 00 5D", 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", "am_mp_nightclub"_J, "2D 00 14 00 00 4F ? ? 47 ? ? 5D ? ? ? 56", 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 load_from_datafile("LFD", RAGE_JOAAT("fm_race_creator"), "2D 04 0D 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", "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 setup_modshop("SM", RAGE_JOAAT("carmod_shop"), "2D 04 12 00 00 38 00 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", "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); } -} \ No newline at end of file +} diff --git a/src/script_mgr.cpp b/src/script_mgr.cpp index 0b17a8b0..cb80fd36 100644 --- a/src/script_mgr.cpp +++ b/src/script_mgr.cpp @@ -24,7 +24,7 @@ namespace big 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() diff --git a/src/services/context_menu/context_menu_service.hpp b/src/services/context_menu/context_menu_service.hpp index a6966d4e..48aa3f06 100644 --- a/src/services/context_menu/context_menu_service.hpp +++ b/src/services/context_menu/context_menu_service.hpp @@ -132,7 +132,7 @@ namespace big [this] { if (ped::get_player_from_ped(VEHICLE::GET_PED_IN_VEHICLE_SEAT(m_handle, -1, 0)) != NULL) { - static player_command* command = dynamic_cast(command::get(rage::consteval_joaat("vehkick"))); + static player_command* command = dynamic_cast(command::get("vehkick"_J)); 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, 400, 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, RAGE_JOAAT("weapon_carbinerifle"), 9999, false, true); + WEAPON::GIVE_WEAPON_TO_PED(m_handle, "weapon_microsmg"_J, 9999, false, false); + WEAPON::GIVE_WEAPON_TO_PED(m_handle, "weapon_carbinerifle"_J, 9999, false, true); TASK::TASK_COMBAT_HATED_TARGETS_AROUND_PED(self::ped, 100, 67108864); }} }}; @@ -204,17 +204,17 @@ namespace big }}, {"KICK", [this] { - static player_command* command = dynamic_cast(command::get(rage::consteval_joaat("multikick"))); + static player_command* command = dynamic_cast(command::get("multikick"_J)); command->call(ped::get_player_from_ped(m_handle), {}); script::get_current()->yield(500ms); }}, {"DISARM", [this] { - static player_command* command = dynamic_cast(command::get(rage::consteval_joaat("remweaps"))); + static player_command* command = dynamic_cast(command::get("remweaps"_J)); command->call(ped::get_player_from_ped(m_handle), {}); }}, {"RAGDOLL", [this] { - static player_command* command = dynamic_cast(command::get(rage::consteval_joaat("ragdoll"))); + static player_command* command = dynamic_cast(command::get("ragdoll"_J)); command->call(ped::get_player_from_ped(m_handle), {}); }} }}; diff --git a/src/services/creator_storage/creator_storage_service.cpp b/src/services/creator_storage/creator_storage_service.cpp index f5ea376c..862e9f5c 100644 --- a/src/services/creator_storage/creator_storage_service.cpp +++ b/src/services/creator_storage/creator_storage_service.cpp @@ -30,9 +30,9 @@ namespace big { 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(); } @@ -40,7 +40,7 @@ namespace big scr_functions::save_to_datafile.static_call({(uint64_t)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?"); @@ -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_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(); } 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(); } diff --git a/src/services/custom_text/custom_text_service.cpp b/src/services/custom_text/custom_text_service.cpp index 68e9cfdb..53f41abd 100644 --- a/src/services/custom_text/custom_text_service.cpp +++ b/src/services/custom_text/custom_text_service.cpp @@ -6,9 +6,9 @@ namespace big { custom_text_service::custom_text_service() { - add_callback_for_labels({RAGE_JOAAT("RESPAWN_W"), RAGE_JOAAT("RESPAWN_W_MP")}, respawn_label_callback); - add_label_overwrite(RAGE_JOAAT("GC_OTR_TMR"), "HIDING FROM CLOWNS"); - // add_label_overwrite(RAGE_JOAAT("TICK_LEFTCHEAT"), "~a~~HUD_COLOUR_WHITE~ has been swatted by Rockstar."); + add_callback_for_labels({"RESPAWN_W"_J, "RESPAWN_W_MP"_J}, respawn_label_callback); + add_label_overwrite("GC_OTR_TMR"_J, "HIDING FROM CLOWNS"); + // add_label_overwrite("TICK_LEFTCHEAT"_J, "~a~~HUD_COLOUR_WHITE~ has been swatted by Rockstar."); g_custom_text_service = this; } @@ -49,4 +49,4 @@ namespace big return it->second.get(); return nullptr; } -} \ No newline at end of file +} diff --git a/src/services/gta_data/gta_data_service.cpp b/src/services/gta_data/gta_data_service.cpp index 387702d7..f4df89f6 100644 --- a/src/services/gta_data/gta_data_service.cpp +++ b/src/services/gta_data/gta_data_service.cpp @@ -352,7 +352,7 @@ namespace big const auto name = item.child("Name").text().as_string(); const auto hash = rage::joaat(name); - if (hash == RAGE_JOAAT("WEAPON_BIRD_CRAP")) + if (hash == "WEAPON_BIRD_CRAP"_J) continue; if (exists(mapped_weapons, hash)) @@ -578,4 +578,4 @@ namespace big load_data(); }); } -} \ No newline at end of file +} diff --git a/src/services/hotkey/hotkey_service.cpp b/src/services/hotkey/hotkey_service.cpp index 97ced35f..f8cbf028 100644 --- a/src/services/hotkey/hotkey_service.cpp +++ b/src/services/hotkey/hotkey_service.cpp @@ -12,30 +12,30 @@ namespace big hotkey_service::hotkey_service() { // ordered alphabetically to more easily see if a certain hotkey is present - register_hotkey("beastjump", g.settings.hotkeys.beastjump, RAGE_JOAAT("beastjump")); - register_hotkey("bringpv", g.settings.hotkeys.bringvehicle, RAGE_JOAAT("bringpv")); - register_hotkey("clearwantedlvl", g.settings.hotkeys.clear_wanted, RAGE_JOAAT("clearwantedlvl")); - register_hotkey("cmdexecutor", g.settings.hotkeys.cmd_excecutor, RAGE_JOAAT("cmdexecutor")); - register_hotkey("fastquit", g.settings.hotkeys.fast_quit, RAGE_JOAAT("fastquit")); - register_hotkey("fastrun", g.settings.hotkeys.superrun, RAGE_JOAAT("fastrun")); - register_hotkey("fillammo", g.settings.hotkeys.fill_ammo, RAGE_JOAAT("fillammo")); - register_hotkey("fillsnacks", g.settings.hotkeys.fill_inventory, RAGE_JOAAT("fillsnacks")); - register_hotkey("freecam", g.settings.hotkeys.freecam, RAGE_JOAAT("freecam")); - register_hotkey("heal", g.settings.hotkeys.heal, RAGE_JOAAT("heal")); - register_hotkey("invis", g.settings.hotkeys.invis, RAGE_JOAAT("invis")); - register_hotkey("invisveh", g.settings.hotkeys.invisveh, RAGE_JOAAT("invisveh")); - register_hotkey("localinvisveh", g.settings.hotkeys.localinvisveh, RAGE_JOAAT("localinvisveh")); - register_hotkey("noclip", g.settings.hotkeys.noclip, RAGE_JOAAT("noclip")); - register_hotkey("objective", g.settings.hotkeys.teleport_objective, RAGE_JOAAT("objectivetp")); - register_hotkey("pvtp", g.settings.hotkeys.teleport_pv, RAGE_JOAAT("pvtp")); - register_hotkey("passive", g.settings.hotkeys.passive, RAGE_JOAAT("passive")); - register_hotkey("repairpv", g.settings.hotkeys.repairpv, RAGE_JOAAT("repairpv")); - register_hotkey("skipcutscene", g.settings.hotkeys.skip_cutscene, RAGE_JOAAT("skipcutscene")); - register_hotkey("superjump", g.settings.hotkeys.superjump, RAGE_JOAAT("superjump")); - register_hotkey("vehiclecontroller", g.settings.hotkeys.open_vehicle_controller, RAGE_JOAAT("vehiclecontrol")); - register_hotkey("vehiclefly", g.settings.hotkeys.vehicle_flymode, RAGE_JOAAT("vehiclefly")); - register_hotkey("waypoint", g.settings.hotkeys.teleport_waypoint, RAGE_JOAAT("waypointtp")); - register_hotkey("highlighttp", g.settings.hotkeys.teleport_selected, RAGE_JOAAT("highlighttp")); + register_hotkey("beastjump", g.settings.hotkeys.beastjump, "beastjump"_J); + register_hotkey("bringpv", g.settings.hotkeys.bringvehicle, "bringpv"_J); + register_hotkey("clearwantedlvl", g.settings.hotkeys.clear_wanted, "clearwantedlvl"_J); + register_hotkey("cmdexecutor", g.settings.hotkeys.cmd_excecutor, "cmdexecutor"_J); + register_hotkey("fastquit", g.settings.hotkeys.fast_quit, "fastquit"_J); + register_hotkey("fastrun", g.settings.hotkeys.superrun, "fastrun"_J); + register_hotkey("fillammo", g.settings.hotkeys.fill_ammo, "fillammo"_J); + register_hotkey("fillsnacks", g.settings.hotkeys.fill_inventory, "fillsnacks"_J); + register_hotkey("freecam", g.settings.hotkeys.freecam, "freecam"_J); + register_hotkey("heal", g.settings.hotkeys.heal, "heal"_J); + register_hotkey("invis", g.settings.hotkeys.invis, "invis"_J); + register_hotkey("invisveh", g.settings.hotkeys.invisveh, "invisveh"_J); + register_hotkey("localinvisveh", g.settings.hotkeys.localinvisveh, "localinvisveh"_J); + register_hotkey("noclip", g.settings.hotkeys.noclip, "noclip"_J); + register_hotkey("objective", g.settings.hotkeys.teleport_objective, "objectivetp"_J); + register_hotkey("pvtp", g.settings.hotkeys.teleport_pv, "pvtp"_J); + register_hotkey("passive", g.settings.hotkeys.passive, "passive"_J); + register_hotkey("repairpv", g.settings.hotkeys.repairpv, "repairpv"_J); + register_hotkey("skipcutscene", g.settings.hotkeys.skip_cutscene, "skipcutscene"_J); + register_hotkey("superjump", g.settings.hotkeys.superjump, "superjump"_J); + register_hotkey("vehiclecontroller", g.settings.hotkeys.open_vehicle_controller, "vehiclecontrol"_J); + register_hotkey("vehiclefly", g.settings.hotkeys.vehicle_flymode, "vehiclefly"_J); + register_hotkey("waypoint", g.settings.hotkeys.teleport_waypoint, "waypointtp"_J); + register_hotkey("highlighttp", g.settings.hotkeys.teleport_selected, "highlighttp"_J); g_renderer.add_wndproc_callback([this](HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam) { wndproc(static_cast(msg), wparam); @@ -91,7 +91,7 @@ namespace big bool is_using_cellphone = false; 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; } diff --git a/src/services/mobile/mobile_service.cpp b/src/services/mobile/mobile_service.cpp index 0fde3c21..27356c32 100644 --- a/src/services/mobile/mobile_service.cpp +++ b/src/services/mobile/mobile_service.cpp @@ -97,36 +97,36 @@ namespace big Hash stat = NULL; switch (property) { - case 0: stat = self::char_index ? RAGE_JOAAT("MP1_PROPERTY_HOUSE") : RAGE_JOAAT("MP0_PROPERTY_HOUSE"); break; - case 1: stat = self::char_index ? RAGE_JOAAT("MP1_MULTI_PROPERTY_1") : RAGE_JOAAT("MP0_MULTI_PROPERTY_1"); break; - case 2: stat = self::char_index ? RAGE_JOAAT("MP1_MULTI_PROPERTY_2") : RAGE_JOAAT("MP0_MULTI_PROPERTY_2"); break; - case 3: stat = self::char_index ? RAGE_JOAAT("MP1_MULTI_PROPERTY_3") : RAGE_JOAAT("MP0_MULTI_PROPERTY_3"); break; - case 4: stat = self::char_index ? RAGE_JOAAT("MP1_MULTI_PROPERTY_4") : RAGE_JOAAT("MP0_MULTI_PROPERTY_4"); break; - case 5: stat = self::char_index ? RAGE_JOAAT("MP1_PROP_OFFICE") : RAGE_JOAAT("MP0_PROP_OFFICE"); break; - case 6: stat = self::char_index ? RAGE_JOAAT("MP1_PROP_CLUBHOUSE") : RAGE_JOAAT("MP0_PROP_CLUBHOUSE"); break; - case 7: stat = self::char_index ? RAGE_JOAAT("MP1_MULTI_PROPERTY_5") : RAGE_JOAAT("MP0_MULTI_PROPERTY_5"); break; - case 8: stat = self::char_index ? RAGE_JOAAT("MP1_PROP_OFFICE_GAR1") : RAGE_JOAAT("MP0_PROP_OFFICE_GAR1"); break; - case 9: stat = self::char_index ? RAGE_JOAAT("MP1_PROP_OFFICE_GAR2") : RAGE_JOAAT("MP0_PROP_OFFICE_GAR2"); break; - case 10: stat = self::char_index ? RAGE_JOAAT("MP1_PROP_OFFICE_GAR3") : RAGE_JOAAT("MP0_PROP_OFFICE_GAR3"); break; - case 11: stat = self::char_index ? RAGE_JOAAT("MP1_PROP_IE_WAREHOUSE") : RAGE_JOAAT("MP0_PROP_IE_WAREHOUSE"); break; - case 12: stat = self::char_index ? RAGE_JOAAT("MP1_PROP_HANGAR") : RAGE_JOAAT("MP0_PROP_HANGAR"); break; - case 13: stat = self::char_index ? RAGE_JOAAT("MP1_PROP_DEFUNCBASE") : RAGE_JOAAT("MP0_PROP_DEFUNCBASE"); break; - case 14: stat = self::char_index ? RAGE_JOAAT("MP1_PROP_NIGHTCLUB") : RAGE_JOAAT("MP0_PROP_NIGHTCLUB"); break; - case 15: stat = self::char_index ? RAGE_JOAAT("MP1_PROP_MEGAWARE_GAR1") : RAGE_JOAAT("MP0_PROP_MEGAWARE_GAR1"); break; - case 16: stat = self::char_index ? RAGE_JOAAT("MP1_PROP_MEGAWARE_GAR2") : RAGE_JOAAT("MP0_PROP_MEGAWARE_GAR2"); break; - case 17: stat = self::char_index ? RAGE_JOAAT("MP1_PROP_MEGAWARE_GAR3") : RAGE_JOAAT("MP0_PROP_MEGAWARE_GAR3"); break; - case 18: stat = self::char_index ? RAGE_JOAAT("MP1_PROP_ARENAWARS_GAR1") : RAGE_JOAAT("MP0_PROP_ARENAWARS_GAR1"); break; - case 19: stat = self::char_index ? RAGE_JOAAT("MP1_PROP_ARENAWARS_GAR2") : RAGE_JOAAT("MP0_PROP_ARENAWARS_GAR2"); break; - case 20: stat = self::char_index ? RAGE_JOAAT("MP1_PROP_ARENAWARS_GAR3") : RAGE_JOAAT("MP0_PROP_ARENAWARS_GAR3"); break; - case 21: stat = self::char_index ? RAGE_JOAAT("MP1_PROP_CASINO_GAR1") : RAGE_JOAAT("MP0_PROP_CASINO_GAR1"); break; - case 22: stat = self::char_index ? RAGE_JOAAT("MP1_PROP_ARCADE_GAR1") : RAGE_JOAAT("MP0_PROP_ARCADE_GAR1"); break; - case 23: stat = self::char_index ? RAGE_JOAAT("MP1_MULTI_PROPERTY_6") : RAGE_JOAAT("MP0_MULTI_PROPERTY_6"); break; - case 24: stat = self::char_index ? RAGE_JOAAT("MP1_MULTI_PROPERTY_7") : RAGE_JOAAT("MP0_MULTI_PROPERTY_7"); break; - case 25: stat = self::char_index ? RAGE_JOAAT("MP1_PROP_AUTO_SHOP") : RAGE_JOAAT("MP0_PROP_AUTO_SHOP"); break; - case 26: stat = self::char_index ? RAGE_JOAAT("MP1_PROP_SECURITY_OFFICE_GAR") : RAGE_JOAAT("MP0_PROP_SECURITY_OFFICE_GAR"); break; - case 27: stat = self::char_index ? RAGE_JOAAT("MP1_MULTI_PROPERTY_8") : RAGE_JOAAT("MP0_MULTI_PROPERTY_8"); break; - case 28: stat = self::char_index ? RAGE_JOAAT("MP1_MULTI_PROPERTY_9") : RAGE_JOAAT("MP0_MULTI_PROPERTY_9"); break; - case 29: stat = self::char_index ? RAGE_JOAAT("MP1_MULTSTOREY_GAR_OWNED") : RAGE_JOAAT("MP0_MULTSTOREY_GAR_OWNED"); break; + case 0: stat = self::char_index ? "MP1_PROPERTY_HOUSE"_J : "MP0_PROPERTY_HOUSE"_J; break; + case 1: stat = self::char_index ? "MP1_MULTI_PROPERTY_1"_J : "MP0_MULTI_PROPERTY_1"_J; break; + case 2: stat = self::char_index ? "MP1_MULTI_PROPERTY_2"_J : "MP0_MULTI_PROPERTY_2"_J; break; + case 3: stat = self::char_index ? "MP1_MULTI_PROPERTY_3"_J : "MP0_MULTI_PROPERTY_3"_J; break; + case 4: stat = self::char_index ? "MP1_MULTI_PROPERTY_4"_J : "MP0_MULTI_PROPERTY_4"_J; break; + case 5: stat = self::char_index ? "MP1_PROP_OFFICE"_J : "MP0_PROP_OFFICE"_J; break; + case 6: stat = self::char_index ? "MP1_PROP_CLUBHOUSE"_J : "MP0_PROP_CLUBHOUSE"_J; break; + case 7: stat = self::char_index ? "MP1_MULTI_PROPERTY_5"_J : "MP0_MULTI_PROPERTY_5"_J; break; + case 8: stat = self::char_index ? "MP1_PROP_OFFICE_GAR1"_J : "MP0_PROP_OFFICE_GAR1"_J; break; + case 9: stat = self::char_index ? "MP1_PROP_OFFICE_GAR2"_J : "MP0_PROP_OFFICE_GAR2"_J; break; + case 10: stat = self::char_index ? "MP1_PROP_OFFICE_GAR3"_J : "MP0_PROP_OFFICE_GAR3"_J; break; + case 11: stat = self::char_index ? "MP1_PROP_IE_WAREHOUSE"_J : "MP0_PROP_IE_WAREHOUSE"_J; break; + case 12: stat = self::char_index ? "MP1_PROP_HANGAR"_J : "MP0_PROP_HANGAR"_J; break; + case 13: stat = self::char_index ? "MP1_PROP_DEFUNCBASE"_J : "MP0_PROP_DEFUNCBASE"_J; break; + case 14: stat = self::char_index ? "MP1_PROP_NIGHTCLUB"_J : "MP0_PROP_NIGHTCLUB"_J; break; + case 15: stat = self::char_index ? "MP1_PROP_MEGAWARE_GAR1"_J : "MP0_PROP_MEGAWARE_GAR1"_J; break; + case 16: stat = self::char_index ? "MP1_PROP_MEGAWARE_GAR2"_J : "MP0_PROP_MEGAWARE_GAR2"_J; break; + case 17: stat = self::char_index ? "MP1_PROP_MEGAWARE_GAR3"_J : "MP0_PROP_MEGAWARE_GAR3"_J; break; + case 18: stat = self::char_index ? "MP1_PROP_ARENAWARS_GAR1"_J : "MP0_PROP_ARENAWARS_GAR1"_J; break; + case 19: stat = self::char_index ? "MP1_PROP_ARENAWARS_GAR2"_J : "MP0_PROP_ARENAWARS_GAR2"_J; break; + case 20: stat = self::char_index ? "MP1_PROP_ARENAWARS_GAR3"_J : "MP0_PROP_ARENAWARS_GAR3"_J; break; + case 21: stat = self::char_index ? "MP1_PROP_CASINO_GAR1"_J : "MP0_PROP_CASINO_GAR1"_J; break; + case 22: stat = self::char_index ? "MP1_PROP_ARCADE_GAR1"_J : "MP0_PROP_ARCADE_GAR1"_J; break; + case 23: stat = self::char_index ? "MP1_MULTI_PROPERTY_6"_J : "MP0_MULTI_PROPERTY_6"_J; break; + case 24: stat = self::char_index ? "MP1_MULTI_PROPERTY_7"_J : "MP0_MULTI_PROPERTY_7"_J; break; + case 25: stat = self::char_index ? "MP1_PROP_AUTO_SHOP"_J : "MP0_PROP_AUTO_SHOP"_J; 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 ? "MP1_MULTI_PROPERTY_8"_J : "MP0_MULTI_PROPERTY_8"_J; break; + case 28: stat = self::char_index ? "MP1_MULTI_PROPERTY_9"_J : "MP0_MULTI_PROPERTY_9"_J; 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+1: case MAX_GARAGE_NUM+2: @@ -283,23 +283,23 @@ namespace big { switch (m_hash) { - case RAGE_JOAAT("avenger"): - case RAGE_JOAAT("avenger3"): - case RAGE_JOAAT("hauler2"): - case RAGE_JOAAT("phantom3"): - case RAGE_JOAAT("trailersmall2"): - case RAGE_JOAAT("khanjali"): - case RAGE_JOAAT("chernobog"): - case RAGE_JOAAT("riot2"): - case RAGE_JOAAT("thruster"): - case RAGE_JOAAT("brickade2"): - case RAGE_JOAAT("manchez3"): - case RAGE_JOAAT("terbyte"): - case RAGE_JOAAT("speedo4"): - case RAGE_JOAAT("mule4"): - case RAGE_JOAAT("pounder2"): - case RAGE_JOAAT("rcbandito"): - case RAGE_JOAAT("minitank"): + case "avenger"_J: + case "avenger3"_J: + case "hauler2"_J: + case "phantom3"_J: + case "trailersmall2"_J: + case "khanjali"_J: + case "chernobog"_J: + case "riot2"_J: + case "thruster"_J: + case "brickade2"_J: + case "manchez3"_J: + case "terbyte"_J: + case "speedo4"_J: + case "mule4"_J: + case "pounder2"_J: + case "rcbandito"_J: + case "minitank"_J: return !g.clone_pv.spawn_clone; } return false; @@ -395,4 +395,4 @@ namespace big } } } -} \ No newline at end of file +} diff --git a/src/services/outfit/outfit_service.cpp b/src/services/outfit/outfit_service.cpp index fe5c7f8c..c0ce29ad 100644 --- a/src/services/outfit/outfit_service.cpp +++ b/src/services/outfit/outfit_service.cpp @@ -108,7 +108,7 @@ namespace big 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{}; 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()); o << std::setw(4) << j << std::endl; } -} \ No newline at end of file +} diff --git a/src/services/pickups/pickup_service.cpp b/src/services/pickups/pickup_service.cpp index 41b4acb1..49ad0598 100644 --- a/src/services/pickups/pickup_service.cpp +++ b/src/services/pickups/pickup_service.cpp @@ -51,15 +51,15 @@ namespace big 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); } 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); - 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); } @@ -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); } } diff --git a/src/services/squad_spawner/squad_spawner.cpp b/src/services/squad_spawner/squad_spawner.cpp index c1c0d22f..224757f0 100644 --- a/src/services/squad_spawner/squad_spawner.cpp +++ b/src/services/squad_spawner/squad_spawner.cpp @@ -277,7 +277,7 @@ namespace big { if (veh_spawned) 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); diff --git a/src/services/tunables/tunables_service.cpp b/src/services/tunables/tunables_service.cpp index ac2c2010..40bf39d1 100644 --- a/src/services/tunables/tunables_service.cpp +++ b/src/services/tunables/tunables_service.cpp @@ -42,18 +42,18 @@ namespace big if (m_initialized || m_loading) 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; 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 - 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) { @@ -61,17 +61,17 @@ namespace big 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; - g_script_patcher_service->add_patch({RAGE_JOAAT("tuneables_processing"), "tuneables_processing1", "2E ? ? 55 ? ? 38 06", 0, std::vector(17, 0x0), &m_script_started}); // bool tunables registration hack - if (auto program = gta_util::find_script_program(RAGE_JOAAT("tuneables_processing"))) + g_script_patcher_service->add_patch({"tuneables_processing"_J, "tuneables_processing1", "2E ? ? 55 ? ? 38 06", 0, std::vector(17, 0x0), &m_script_started}); // bool tunables registration hack + if (auto program = gta_util::find_script_program("tuneables_processing"_J)) g_script_patcher_service->on_script_load(program); } } 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) { @@ -129,4 +129,4 @@ namespace big m_initialized = true; m_loading = false; } -} \ No newline at end of file +} diff --git a/src/services/vehicle/persist_car_service.cpp b/src/services/vehicle/persist_car_service.cpp index c9270141..30adb1cf 100644 --- a/src/services/vehicle/persist_car_service.cpp +++ b/src/services/vehicle/persist_car_service.cpp @@ -384,7 +384,7 @@ namespace big continue; // 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; attached_objects.push_back(get_model_attachment(vehicle, object)); diff --git a/src/services/vehicle/vehicle_control_service.cpp b/src/services/vehicle/vehicle_control_service.cpp index 9a0a104d..3571d35e 100644 --- a/src/services/vehicle/vehicle_control_service.cpp +++ b/src/services/vehicle/vehicle_control_service.cpp @@ -199,7 +199,7 @@ namespace big { //LOG(INFO) << "Driver didnt exist, creating one"; m_driver = ped::spawn(PED_TYPE_CIVMALE, - RAGE_JOAAT("s_m_y_devinsec_01"), + "s_m_y_devinsec_01"_J, -1, ENTITY::GET_ENTITY_COORDS(m_controlled_vehicle.handle, 1), 0, @@ -400,4 +400,4 @@ namespace big case eControlledVehSelectionMode::CLOSEST: get_closest_vehicle(); break; } } -} \ No newline at end of file +} diff --git a/src/util/entity.cpp b/src/util/entity.cpp index 751a4f50..4360ea31 100644 --- a/src/util/entity.cpp +++ b/src/util/entity.cpp @@ -4,7 +4,7 @@ namespace big::entity { 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); OBJECT::CREATE_OBJECT(hash, location.x, location.y, location.z - 1.f, true, false, false); diff --git a/src/util/fuzzer.hpp b/src/util/fuzzer.hpp index b1580dcd..560587fc 100644 --- a/src/util/fuzzer.hpp +++ b/src/util/fuzzer.hpp @@ -50,41 +50,41 @@ namespace big::fuzzer { // TODO: trailer models? std::vector models = { - RAGE_JOAAT("player_zero"), // ped - RAGE_JOAAT("kosatka"), // submarine - RAGE_JOAAT("akula"), // heli - RAGE_JOAAT("alkonost"), // plane - RAGE_JOAAT("jetmax"), // boat - RAGE_JOAAT("faggio"), // bike - RAGE_JOAAT("zentorno"), // automobile - RAGE_JOAAT("apa_heist_apart2_door"), // object, pickup, pickup placement, door (?) - RAGE_JOAAT("freight"), // train + "player_zero"_J, // ped + "kosatka"_J, // submarine + "akula"_J, // heli + "alkonost"_J, // plane + "jetmax"_J, // boat + "faggio"_J, // bike + "zentorno"_J, // automobile + "apa_heist_apart2_door"_J, // object, pickup, pickup placement, door (?) + "freight"_J, // train }; auto info = model_info::get_model(original); auto veh_model = model_info::get_vehicle_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) { 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) - std::erase(models, RAGE_JOAAT("kosatka")); + std::erase(models, "kosatka"_J); 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) - std::erase(models, RAGE_JOAAT("akula")); + std::erase(models, "akula"_J); 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) - std::erase(models, RAGE_JOAAT("freight")); + std::erase(models, "freight"_J); 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)) - std::erase(models, RAGE_JOAAT("player_zero")); + std::erase(models, "player_zero"_J); return models[rand(models.size())]; } @@ -94,13 +94,13 @@ namespace big::fuzzer auto info = model_info::get_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)) - return RAGE_JOAAT("slod_human"); + return "slod_human"_J; else if (info && info->m_model_type == eModelType::Vehicle) - return RAGE_JOAAT("arbitergt"); + return "arbitergt"_J; 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() @@ -383,4 +383,4 @@ namespace big::fuzzer return orig; } -} \ No newline at end of file +} diff --git a/src/util/mobile.hpp b/src/util/mobile.hpp index 4ad7ce77..07014a0d 100644 --- a/src/util/mobile.hpp +++ b/src/util/mobile.hpp @@ -164,7 +164,7 @@ namespace big::mobile 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) { // regex to find this shit easily diff --git a/src/util/ped.hpp b/src/util/ped.hpp index d35502c8..8e0cf87d 100644 --- a/src/util/ped.hpp +++ b/src/util/ped.hpp @@ -501,7 +501,7 @@ namespace big::ped if (!ptr) 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); } } diff --git a/src/util/protection.cpp b/src/util/protection.cpp index 26e6f044..985a570c 100644 --- a/src/util/protection.cpp +++ b/src/util/protection.cpp @@ -4,7 +4,7 @@ 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) { if (!model_info::get_model(model)) @@ -17,7 +17,7 @@ namespace big::protection 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) { for (auto iterator : crash_peds) @@ -28,7 +28,7 @@ namespace big::protection 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) { for (auto iterator : crash_vehicles) @@ -40,43 +40,43 @@ namespace big::protection } constexpr auto valid_player_models = { - RAGE_JOAAT("mp_m_freemode_01"), - RAGE_JOAAT("mp_f_freemode_01"), - RAGE_JOAAT("u_m_m_filmdirector"), - RAGE_JOAAT("player_zero"), - RAGE_JOAAT("player_one"), - RAGE_JOAAT("player_two"), + "mp_m_freemode_01"_J, + "mp_f_freemode_01"_J, + "u_m_m_filmdirector"_J, + "player_zero"_J, + "player_one"_J, + "player_two"_J, // peyote - RAGE_JOAAT("A_C_Boar"), - RAGE_JOAAT("A_C_Cat_01"), - RAGE_JOAAT("A_C_Cow"), - RAGE_JOAAT("A_C_Coyote"), - RAGE_JOAAT("A_C_Deer"), - RAGE_JOAAT("A_C_Husky"), - RAGE_JOAAT("A_C_MtLion"), - RAGE_JOAAT("A_C_Pig"), - RAGE_JOAAT("A_C_Poodle"), - RAGE_JOAAT("A_C_Pug"), - RAGE_JOAAT("A_C_Rabbit_01"), - RAGE_JOAAT("A_C_Retriever"), - RAGE_JOAAT("A_C_Rottweiler"), - RAGE_JOAAT("A_C_shepherd"), - RAGE_JOAAT("A_C_Westy"), - RAGE_JOAAT("A_C_Chickenhawk"), - RAGE_JOAAT("A_C_Cormorant"), - RAGE_JOAAT("A_C_Crow"), - RAGE_JOAAT("A_C_Hen"), - RAGE_JOAAT("A_C_Pigeon"), - RAGE_JOAAT("A_C_Seagull"), - RAGE_JOAAT("A_C_Dolphin"), - RAGE_JOAAT("A_C_Fish"), - RAGE_JOAAT("A_C_KillerWhale"), - RAGE_JOAAT("A_C_SharkHammer"), - RAGE_JOAAT("A_C_SharkTiger"), - RAGE_JOAAT("A_C_Stingray"), - RAGE_JOAAT("IG_Orleans"), - RAGE_JOAAT("A_C_Chop"), - RAGE_JOAAT("A_C_HumpBack"), + "A_C_Boar"_J, + "A_C_Cat_01"_J, + "A_C_Cow"_J, + "A_C_Coyote"_J, + "A_C_Deer"_J, + "A_C_Husky"_J, + "A_C_MtLion"_J, + "A_C_Pig"_J, + "A_C_Poodle"_J, + "A_C_Pug"_J, + "A_C_Rabbit_01"_J, + "A_C_Retriever"_J, + "A_C_Rottweiler"_J, + "A_C_shepherd"_J, + "A_C_Westy"_J, + "A_C_Chickenhawk"_J, + "A_C_Cormorant"_J, + "A_C_Crow"_J, + "A_C_Hen"_J, + "A_C_Pigeon"_J, + "A_C_Seagull"_J, + "A_C_Dolphin"_J, + "A_C_Fish"_J, + "A_C_KillerWhale"_J, + "A_C_SharkHammer"_J, + "A_C_SharkTiger"_J, + "A_C_Stingray"_J, + "IG_Orleans"_J, + "A_C_Chop"_J, + "A_C_HumpBack"_J, }; bool is_valid_player_model(rage::joaat_t model) { @@ -85,4 +85,4 @@ namespace big::protection return true; return false; } -} \ No newline at end of file +} diff --git a/src/util/scripts.hpp b/src/util/scripts.hpp index 46fc289f..198626d3 100644 --- a/src/util/scripts.hpp +++ b/src/util/scripts.hpp @@ -114,10 +114,10 @@ namespace big::scripts }; // 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 - if (!force_host(RAGE_JOAAT("am_launcher"))) + if (!force_host("am_launcher"_J)) { // 2F) Failed to force host of 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); }; - 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"); return; @@ -269,4 +269,4 @@ namespace big::scripts SCRIPT::SET_SCRIPT_WITH_NAME_HASH_AS_NO_LONGER_NEEDED(hash); } -} \ No newline at end of file +} diff --git a/src/util/session.hpp b/src/util/session.hpp index 3f411e67..2108d58c 100644 --- a/src/util/session.hpp +++ b/src/util/session.hpp @@ -36,9 +36,9 @@ namespace big::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(); *scr_globals::sctv_spectator.as() = (session == eSessionType::SC_TV ? 1 : 0); // If SCTV then enable spectator mode @@ -67,14 +67,14 @@ namespace big::session *scr_globals::session4.as() = 1; *scr_globals::session5.as() = 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() = 1; script::get_current()->yield(200ms); *scr_globals::session.as() = 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; } @@ -98,7 +98,7 @@ namespace big::session 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."); return; @@ -107,7 +107,7 @@ namespace big::session g.session.join_queued = true; g.session.info = info; 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_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) { - 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."); return; diff --git a/src/util/sync_trees.hpp b/src/util/sync_trees.hpp index 49d859a6..b89cb57f 100644 --- a/src/util/sync_trees.hpp +++ b/src/util/sync_trees.hpp @@ -17,10 +17,9 @@ namespace big template constexpr sync_node_id(char const (&pp)[N]) { - id = rage::consteval_joaat(pp); + id = rage::constexpr_joaat(pp); name = pp; } - // implicit conversion constexpr operator Hash() const { @@ -561,4 +560,4 @@ namespace big inited = true; } }; -} \ No newline at end of file +} diff --git a/src/util/train.hpp b/src/util/train.hpp index abd24bce..0c13882f 100644 --- a/src/util/train.hpp +++ b/src/util/train.hpp @@ -12,7 +12,7 @@ namespace big::train { 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 0; @@ -59,4 +59,4 @@ namespace big::train if (PED::IS_PED_IN_ANY_VEHICLE(PLAYER::PLAYER_PED_ID(), false)) VEHICLE::SET_TRAIN_CRUISE_SPEED(get_closest_train(), value); } -} \ No newline at end of file +} diff --git a/src/views/debug/view_debug_misc.cpp b/src/views/debug/view_debug_misc.cpp index e3f50a3b..3c758a33 100644 --- a/src/views/debug/view_debug_misc.cpp +++ b/src/views/debug/view_debug_misc.cpp @@ -44,10 +44,10 @@ namespace big }); components::button("DEBUG_REMOVE_FROM_BAD_SPORT"_T, [] { - STATS::STAT_SET_INT(RAGE_JOAAT("MPPLY_BADSPORT_MESSAGE"), 0, 1); - STATS::STAT_SET_INT(RAGE_JOAAT("MPPLY_BECAME_BADSPORT_NUM"), 0, 1); - STATS::STAT_SET_FLOAT(RAGE_JOAAT("MPPLY_OVERALL_BADSPORT"), 0, true); - STATS::STAT_SET_BOOL(RAGE_JOAAT("MPPLY_CHAR_IS_BADSPORT"), false, true); + STATS::STAT_SET_INT("MPPLY_BADSPORT_MESSAGE"_J, 0, 1); + STATS::STAT_SET_INT("MPPLY_BECAME_BADSPORT_NUM"_J, 0, 1); + STATS::STAT_SET_FLOAT("MPPLY_OVERALL_BADSPORT"_J, 0, true); + STATS::STAT_SET_BOOL("MPPLY_CHAR_IS_BADSPORT"_J, false, true); }); components::button("LOAD_MP_MAP"_T, [] { diff --git a/src/views/network/missions/cp_collection.hpp b/src/views/network/missions/cp_collection.hpp index b1e0118d..8e2c99c0 100644 --- a/src/views/network/missions/cp_collection.hpp +++ b/src/views/network/missions/cp_collection.hpp @@ -11,19 +11,19 @@ namespace big ImGui::PushID(1); components::button("VIEW_NET_MISSIONS_START_EVENT"_T, [] { - if (scripts::force_host(RAGE_JOAAT("am_cp_collection"))) - if (auto script = gta_util::find_script_thread(RAGE_JOAAT("am_cp_collection"))) + if (scripts::force_host("am_cp_collection"_J)) + 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() = 0; }); ImGui::SameLine(); components::button("VIEW_NET_MISSIONS_FINISH_EVENT"_T, [] { - if (scripts::force_host(RAGE_JOAAT("am_cp_collection"))) - if (auto script = gta_util::find_script_thread(RAGE_JOAAT("am_cp_collection"))) + if (scripts::force_host("am_cp_collection"_J)) + 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() = 0; }); ImGui::PopID(); 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) .at(((CGameScriptHandlerNetComponent*)checkpoints->m_net_component)->m_local_participant_index, 5) .at(4) @@ -31,9 +31,9 @@ namespace big 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() = 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++) { @@ -65,4 +65,4 @@ namespace big } }); } -} \ No newline at end of file +} diff --git a/src/views/network/missions/criminal_damage.hpp b/src/views/network/missions/criminal_damage.hpp index d2ca2f89..253a1d4f 100644 --- a/src/views/network/missions/criminal_damage.hpp +++ b/src/views/network/missions/criminal_damage.hpp @@ -9,21 +9,21 @@ namespace big components::sub_title("CRIMINAL_DAMAGE"_T); ImGui::PushID(2); components::button("VIEW_NET_MISSIONS_START_EVENT"_T, [] { - if (scripts::force_host(RAGE_JOAAT("am_criminal_damage"))) - if (auto script = gta_util::find_script_thread(RAGE_JOAAT("am_criminal_damage"))) + if (scripts::force_host("am_criminal_damage"_J)) + 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() = 0; }); ImGui::SameLine(); components::button("VIEW_NET_MISSIONS_FINISH_EVENT"_T, [] { - if (scripts::force_host(RAGE_JOAAT("am_criminal_damage"))) - if (auto script = gta_util::find_script_thread(RAGE_JOAAT("am_criminal_damage"))) + if (scripts::force_host("am_criminal_damage"_J)) + 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() = 0; }); ImGui::PopID(); 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() = 999'999'999; }); } -} \ No newline at end of file +} diff --git a/src/views/network/missions/hunt_the_beast.hpp b/src/views/network/missions/hunt_the_beast.hpp index cb901503..d07aa481 100644 --- a/src/views/network/missions/hunt_the_beast.hpp +++ b/src/views/network/missions/hunt_the_beast.hpp @@ -34,7 +34,7 @@ namespace big 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 = *script_local(hunt_the_beast_script_thread, scr_locals::am_hunt_the_beast::broadcast_idx).at(1).at(6).as(); @@ -53,7 +53,7 @@ namespace big static int* num_landmarks = nullptr; if (!num_landmarks) - num_landmarks = g_tunables_service->get_tunable(RAGE_JOAAT("HUNT_THE_BEAST_NUMBER_OF_ACTIVE_LANDMARKS")); + num_landmarks = g_tunables_service->get_tunable("HUNT_THE_BEAST_NUMBER_OF_ACTIVE_LANDMARKS"_J); if (ImGui::BeginListBox("##beastlandmarks", ImVec2(400, 300))) { @@ -77,4 +77,4 @@ namespace big } } } -} \ No newline at end of file +} diff --git a/src/views/network/missions/king_of_the_castle.hpp b/src/views/network/missions/king_of_the_castle.hpp index 1c223a98..0cd8dfa1 100644 --- a/src/views/network/missions/king_of_the_castle.hpp +++ b/src/views/network/missions/king_of_the_castle.hpp @@ -7,22 +7,22 @@ namespace big components::sub_title("KING_OF_THE_CASTLE"_T); ImGui::PushID(3); components::button("VIEW_NET_MISSIONS_START_EVENT"_T, [] { - if (scripts::force_host(RAGE_JOAAT("am_king_of_the_castle"))) - if (auto script = gta_util::find_script_thread(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("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() = 0; }); ImGui::SameLine(); components::button("VIEW_NET_MISSIONS_FINISH_EVENT"_T, [] { - if (scripts::force_host(RAGE_JOAAT("am_king_of_the_castle"))) - if (auto script = gta_util::find_script_thread(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("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() = 0; }); ImGui::PopID(); 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); *kotc_king.as() = 0; @@ -34,9 +34,9 @@ namespace big }); ImGui::SameLine(); 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) .at(6) @@ -77,4 +77,4 @@ namespace big } }); } -} \ No newline at end of file +} diff --git a/src/views/network/view_missions.cpp b/src/views/network/view_missions.cpp index f17ffab6..1edd5f3f 100644 --- a/src/views/network/view_missions.cpp +++ b/src/views/network/view_missions.cpp @@ -112,16 +112,16 @@ namespace big ImGui::Separator(); - if (check_script(RAGE_JOAAT("am_criminal_damage"))) + if (check_script("am_criminal_damage"_J)) render_criminal_damage_ui(); - if (check_script(RAGE_JOAAT("am_cp_collection"))) + if (check_script("am_cp_collection"_J)) 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(); - if (check_script(RAGE_JOAAT("am_hunt_the_beast"))) + if (check_script("am_hunt_the_beast"_J)) render_hunt_the_beast_ui(); if (!mission_found) @@ -129,4 +129,4 @@ namespace big ImGui::Text("VIEW_NET_MISSIONS_NO_ACTIVE_MISSION"_T.data()); } } -} \ No newline at end of file +} diff --git a/src/views/network/view_network.cpp b/src/views/network/view_network.cpp index 5ddb0489..b895e672 100644 --- a/src/views/network/view_network.cpp +++ b/src/views/network/view_network.cpp @@ -334,12 +334,12 @@ namespace big { if (g.session.force_script_host) g_fiber_pool->queue_job([] { - scripts::force_host(RAGE_JOAAT("freemode")); - if (auto script = gta_util::find_script_thread(RAGE_JOAAT("freemode")); script && script->m_net_component) + scripts::force_host("freemode"_J); + if (auto script = gta_util::find_script_thread("freemode"_J); script && script->m_net_component) ((CGameScriptHandlerNetComponent*)script->m_net_component)->block_host_migration(true); - scripts::force_host(RAGE_JOAAT("fmmc_launcher")); - if (auto script = gta_util::find_script_thread(RAGE_JOAAT("fmmc_launcher")); script && script->m_net_component) + scripts::force_host("fmmc_launcher"_J); + 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); }); } diff --git a/src/views/network/view_session_browser.cpp b/src/views/network/view_session_browser.cpp index 187726ba..686efbc1 100644 --- a/src/views/network/view_session_browser.cpp +++ b/src/views/network/view_session_browser.cpp @@ -77,7 +77,7 @@ namespace big }); ImGui::SameLine(); 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()); return; diff --git a/src/views/self/view_self.cpp b/src/views/self/view_self.cpp index 4b285e02..a8ba77bb 100644 --- a/src/views/self/view_self.cpp +++ b/src/views/self/view_self.cpp @@ -45,8 +45,8 @@ namespace big // clang-format off ImGui::BeginDisabled(!*g_pointers->m_gta.m_is_session_started || 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"))); + gta_util::find_script_thread("fm_mission_controller"_J) || + gta_util::find_script_thread("fm_mission_controller_2020"_J)); // clang-format on components::command_checkbox<"passive">(); ImGui::EndDisabled(); diff --git a/src/views/self/view_weapons.cpp b/src/views/self/view_weapons.cpp index 1fa028c1..473204a9 100644 --- a/src/views/self/view_weapons.cpp +++ b/src/views/self/view_weapons.cpp @@ -105,14 +105,14 @@ namespace big 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); }); ImGui::SameLine(); components::button("REMOVE_CUR_WEAPON"_T, [] { Hash weaponHash; 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); } diff --git a/src/views/world/view_creator.cpp b/src/views/world/view_creator.cpp index 4798ce2b..b46db32f 100644 --- a/src/views/world/view_creator.cpp +++ b/src/views/world/view_creator.cpp @@ -114,19 +114,19 @@ namespace big components::sub_title("CREATOR_LAUNCH"_T); ImGui::BeginGroup(); components::button("RACE"_T, [] { - scripts::start_creator_script(RAGE_JOAAT("fm_race_creator")); + scripts::start_creator_script("fm_race_creator"_J); }); ImGui::SameLine(); components::button("CAPTURE"_T, [] { - scripts::start_creator_script(RAGE_JOAAT("fm_capture_creator")); + scripts::start_creator_script("fm_capture_creator"_J); }); ImGui::SameLine(); components::button("DEATHMATCH"_T, [] { - scripts::start_creator_script(RAGE_JOAAT("fm_deathmatch_creator")); + scripts::start_creator_script("fm_deathmatch_creator"_J); }); ImGui::SameLine(); components::button("LTS"_T, [] { - scripts::start_creator_script(RAGE_JOAAT("fm_lts_creator")); + scripts::start_creator_script("fm_lts_creator"_J); }); ImGui::EndGroup(); diff --git a/src/views/world/view_spawn_ped.cpp b/src/views/world/view_spawn_ped.cpp index 2f238422..d0f87022 100644 --- a/src/views/world/view_spawn_ped.cpp +++ b/src/views/world/view_spawn_ped.cpp @@ -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_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); } @@ -132,7 +132,7 @@ namespace big PED::SET_PED_SEEING_RANGE(ped, 200.0f); PED::SET_PED_HEARING_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); if (!clone) @@ -177,7 +177,7 @@ namespace big PED::SET_PED_KEEP_TASK(ped, true); PED::SET_BLOCKING_OF_NON_TEMPORARY_EVENTS(ped, true); 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); }