From 97a8c5d60b0472606fdf4292a670075ee3120eff Mon Sep 17 00:00:00 2001 From: maybegreat48 <96936658+maybegreat48@users.noreply.github.com> Date: Wed, 1 Mar 2023 21:27:15 +0000 Subject: [PATCH] Add more spoofing options and added clang-format (#1020) * feat(Spoofing): add spoofing * feat(Spoofing): prepare code for player attach * remove(PlayerAttach): isn't going to work due to netsync architecture * fix(GUI): fix scaling * feat(Project): add clang-format file * feat(Classes): update classes * fix(BlackHole): remove unnecessary cleanup * fix(Formatting): fix formatting for initializer lists * feat(clang-format): Set tab width and 1 space before comment Co-authored-by: Yimura <24669514+Yimura@users.noreply.github.com> --- .clang-format | 74 + scripts/gtav-classes.cmake | 2 +- src/backend/backend.cpp | 13 +- src/backend/bool_command.cpp | 4 +- src/backend/bool_command.hpp | 18 +- src/backend/command.cpp | 27 +- src/backend/command.hpp | 31 +- .../commands/player/kick/bail_kick.cpp | 13 +- .../commands/player/kick/breakup_kick.cpp | 27 +- .../commands/player/kick/complaint_kick.cpp | 6 +- .../commands/player/kick/end_session_kick.cpp | 4 +- .../player/kick/lost_connection_kick.cpp | 6 +- .../player/kick/null_function_kick.cpp | 11 +- src/backend/commands/player/kick/oom_kick.cpp | 6 +- .../commands/player/kick/script_host_kick.cpp | 2 +- .../commands/player/misc/enter_interior.cpp | 30 +- .../commands/player/misc/give_ammo.cpp | 2 +- .../commands/player/misc/give_armor.cpp | 2 +- .../commands/player/misc/give_health.cpp | 2 +- src/backend/commands/player/misc/join_ceo.cpp | 4 +- .../commands/player/misc/steal_identity.cpp | 6 +- .../commands/player/misc/steal_outfit.cpp | 4 +- .../commands/player/toxic/ceo_kick.cpp | 17 +- .../player/toxic/force_into_mission.cpp | 11 +- .../player/toxic/give_all_weapons.cpp | 6 +- .../player/toxic/kick_from_interior.cpp | 45 +- .../player/toxic/kick_from_vehicle.cpp | 9 +- .../commands/player/toxic/kill_player.cpp | 20 +- .../player/toxic/send_fake_ban_message.cpp | 10 +- .../commands/player/toxic/send_sext.cpp | 25 +- .../player/toxic/send_to_apartment.cpp | 11 +- .../player/toxic/send_to_interior.cpp | 39 +- .../commands/player/toxic/send_to_island.cpp | 8 +- .../player/toxic/send_to_warehouse.cpp | 12 +- .../player/toxic/set_wanted_level.cpp | 6 +- .../player/toxic/show_transaction_error.cpp | 23 +- .../commands/player/toxic/start_script.cpp | 22 +- .../player/toxic/trigger_ceo_raid.cpp | 9 +- .../commands/player/toxic/turn_into_beast.cpp | 56 +- .../commands/player/troll/set_bounty.cpp | 5 +- .../commands/player/troll/teleport.cpp | 5 +- .../player/troll/teleport_into_vehicle.cpp | 3 +- src/backend/commands/spawn/spawn_vehicle.cpp | 14 +- .../teleport/bring_personal_vehicle.cpp | 2 +- .../teleport/teleport_to_last_vehicle.cpp | 2 +- .../teleport/teleport_to_personal_vehicle.cpp | 2 +- src/backend/context/chat_command_context.cpp | 13 +- src/backend/context/chat_command_context.hpp | 1 + src/backend/context/command_context.hpp | 8 +- .../context/default_command_context.hpp | 2 +- src/backend/int_command.cpp | 8 +- src/backend/int_command.hpp | 6 +- .../looped/hud/hud_transition_state.cpp | 85 +- src/backend/looped/looped.hpp | 2 +- src/backend/looped/player/good_options.cpp | 16 +- .../looped/player/remote_control_vehicle.cpp | 11 +- src/backend/looped/player/spectate.cpp | 5 +- src/backend/looped/player/toxic_options.cpp | 32 +- src/backend/looped/self/beast_jump.cpp | 7 +- src/backend/looped/self/clean_player.cpp | 5 +- src/backend/looped/self/dance_mode.cpp | 13 +- src/backend/looped/self/fast_respawn.cpp | 2 +- src/backend/looped/self/free_cam.cpp | 30 +- src/backend/looped/self/godmode.cpp | 10 +- src/backend/looped/self/hud.cpp | 26 +- src/backend/looped/self/invisibility.cpp | 14 +- src/backend/looped/self/mobile_radio.cpp | 2 +- src/backend/looped/self/no_collision.cpp | 14 +- src/backend/looped/self/no_ragdoll.cpp | 2 +- .../looped/self/no_water_collision.cpp | 5 +- src/backend/looped/self/noclip.cpp | 18 +- src/backend/looped/self/off_radar.cpp | 2 +- src/backend/looped/self/part_water.cpp | 4 +- src/backend/looped/self/police.cpp | 3 +- src/backend/looped/self/ptfx.cpp | 48 +- src/backend/looped/self/super_jump.cpp | 3 +- src/backend/looped/self/super_run.cpp | 14 +- src/backend/looped/self/superman.cpp | 8 +- src/backend/looped/self/unlimited_oxygen.cpp | 6 +- src/backend/looped/session/auto_kick_host.cpp | 5 +- src/backend/looped/session/block_jobs.cpp | 9 +- src/backend/looped/session/force_thunder.cpp | 2 +- src/backend/looped/session/local_time.cpp | 8 +- .../looped/session/pop_multiplier_areas.cpp | 31 +- .../looped/session/randomize_ceo_colors.cpp | 7 +- .../looped/system/auto_tp_to_waypoint.cpp | 27 +- .../looped/system/desync_kick_protection.cpp | 12 +- src/backend/looped/system/mission_creator.cpp | 4 +- src/backend/looped/system/self_globals.cpp | 9 +- src/backend/looped/system/spoofing.cpp | 37 +- src/backend/looped/tunables/disable_phone.cpp | 2 +- src/backend/looped/vehicle/auto_drive.cpp | 72 +- src/backend/looped/vehicle/block_homing.cpp | 5 +- src/backend/looped/vehicle/boost_behavior.cpp | 8 +- src/backend/looped/vehicle/drive_on_water.cpp | 57 +- src/backend/looped/vehicle/fly.cpp | 240 +- src/backend/looped/vehicle/horn_boost.cpp | 11 +- src/backend/looped/vehicle/instant_brake.cpp | 5 +- src/backend/looped/vehicle/invisibility.cpp | 5 +- src/backend/looped/vehicle/keep_on_ground.cpp | 9 +- .../looped/vehicle/keep_vehicle_repaired.cpp | 5 +- src/backend/looped/vehicle/ls_customs.cpp | 28 +- .../looped/vehicle/no_water_collision.cpp | 5 +- src/backend/looped/vehicle/rgb_paint.cpp | 35 +- src/backend/looped/vehicle/seatbelt.cpp | 5 +- src/backend/looped/vehicle/speedo_meter.cpp | 29 +- src/backend/looped/vehicle/turn_signals.cpp | 38 +- src/backend/looped/vehicle/vehicle_god.cpp | 14 +- src/backend/looped/vehicle/vehicle_jump.cpp | 5 +- src/backend/looped/weapons/aimbot.cpp | 91 +- .../looped/weapons/ammo_special_type.cpp | 65 +- src/backend/looped/weapons/c4_limit.cpp | 2 +- src/backend/looped/weapons/cage_gun.cpp | 3 +- .../custom_gun_disable_control_action.cpp | 22 +- src/backend/looped/weapons/delete_gun.cpp | 8 +- .../looped/weapons/force_crosshairs.cpp | 5 +- src/backend/looped/weapons/gravity_gun.cpp | 16 +- .../looped/weapons/increase_damage.cpp | 5 +- src/backend/looped/weapons/infinite_ammo.cpp | 4 +- src/backend/looped/weapons/infinite_mag.cpp | 4 +- src/backend/looped/weapons/no_recoil.cpp | 8 +- src/backend/looped/weapons/no_spread.cpp | 26 +- src/backend/looped/weapons/rapid_fire.cpp | 30 +- src/backend/looped/weapons/repair_gun.cpp | 3 +- .../looped/weapons/steal_vehicle_gun.cpp | 6 +- src/backend/looped/weapons/triggerbot.cpp | 7 +- src/backend/looped/weapons/vehicle_gun.cpp | 24 +- src/backend/looped/world/blackhole.cpp | 75 +- .../looped/world/nearby/high_alert.cpp | 3 +- src/backend/looped/world/nearby/ignore.cpp | 13 +- src/backend/looped/world/nearby/ped_rush.cpp | 6 +- src/backend/looped/world/nearby/peds_rain.cpp | 14 +- .../looped/world/nearby/vehicles_rain.cpp | 15 +- src/backend/looped/world/spawn_ped.cpp | 4 +- src/backend/looped/world/train.cpp | 7 +- src/backend/looped_command.cpp | 23 +- src/backend/looped_command.hpp | 4 +- src/backend/player_command.cpp | 21 +- src/backend/player_command.hpp | 8 +- src/backend/reactions/interloper_reaction.cpp | 25 +- src/backend/reactions/interloper_reaction.hpp | 2 +- src/backend/reactions/reaction.cpp | 29 +- src/backend/reactions/reaction.hpp | 8 +- src/backend/script_patches.hpp | 51 +- src/benchmark.hpp | 13 +- src/common.hpp | 8 +- src/core/data/all_script_names.hpp | 2032 +- src/core/data/apartment_names.hpp | 232 +- src/core/data/blip_types.hpp | 99 + src/core/data/block_join_reasons.hpp | 47 +- src/core/data/bullet_impact_types.hpp | 173 +- src/core/data/command_access_levels.hpp | 13 +- src/core/data/custom_weapons.hpp | 17 +- src/core/data/hud_component_names.hpp | 44 +- src/core/data/infractions.hpp | 21 +- src/core/data/language_codes.hpp | 29 +- src/core/data/levels.hpp | 8202 +++- src/core/data/lsc_types.hpp | 342 +- src/core/data/packet_types.hpp | 223 +- src/core/data/ptfx_effects.hpp | 61 +- src/core/data/region_codes.hpp | 23 +- src/core/data/session_types.hpp | 25 +- src/core/data/special_ammo_types.hpp | 14 +- src/core/data/speed_units.hpp | 6 +- src/core/data/stack_sizes.hpp | 59 +- src/core/data/warehouse_names.hpp | 46 +- src/core/enums.hpp | 239 +- src/core/globals.cpp | 203 +- src/core/globals.hpp | 735 +- src/core/scr_globals.hpp | 16 +- src/crossmap.cpp | 12993 +++--- src/crossmap.hpp | 4 +- src/detour_hook.cpp | 31 +- src/detour_hook.hpp | 10 +- src/fiber_pool.cpp | 3 +- src/fiber_pool.hpp | 3 +- src/file_manager.hpp | 5 +- src/file_manager/file.cpp | 15 +- src/file_manager/file.hpp | 2 - src/file_manager/folder.cpp | 18 +- src/file_manager/folder.hpp | 3 - src/fonts/fonts.hpp | 12 +- src/fonts/icons.cpp | 496 +- src/fonts/storopia.cpp | 7494 +--- src/function_types.hpp | 134 +- src/gta/blip.hpp | 66 +- src/gta/color.hpp | 10 +- src/gta/decal_controller.hpp | 82 +- src/gta/enums.hpp | 776 +- src/gta/fidevice.cpp | 12 +- src/gta/fidevice.hpp | 24 +- src/gta/fwddec.hpp | 2 +- src/gta/gxt2.hpp | 2 +- src/gta/joaat.hpp | 4 +- src/gta/matrix.hpp | 3 +- src/gta/natives.hpp | 63 +- src/gta/net_array.hpp | 144 +- src/gta/net_game_event.hpp | 773 +- src/gta/net_object_mgr.hpp | 105 +- src/gta/node_list.hpp | 13 +- src/gta/ped_factory.hpp | 7 +- src/gta/pickup_rewards.hpp | 304 +- src/gta/replay.hpp | 97 +- src/gta/script_handler.cpp | 2 + src/gta/script_handler.hpp | 250 +- src/gta/script_id.hpp | 83 +- src/gta/script_program.hpp | 52 +- src/gta/script_thread.hpp | 84 +- src/gta/sysMemAllocator.hpp | 1 + src/gta/tls_context.hpp | 13 +- src/gta/vehicle_values.hpp | 6010 ++- src/gta/vehicles.hpp | 1438 +- src/gta/weapons.hpp | 1237 +- src/gta_util.hpp | 29 +- src/gui.cpp | 134 +- src/gui.hpp | 12 +- src/gui/components/components.hpp | 14 +- src/gui/components/custom_text.cpp | 5 +- src/gui/components/icon.cpp | 5 +- src/gui/components/input_text.cpp | 5 +- src/gui/components/input_text_with_hint.cpp | 5 +- src/gui/components/nav_button.cpp | 8 +- src/gui/components/nav_item.cpp | 11 +- src/gui/components/script_patch_checkbox.cpp | 3 +- src/gui/components/selectable.cpp | 2 +- src/gui/components/small.cpp | 5 +- src/gui/components/sub_title.cpp | 5 +- src/gui/components/title.cpp | 5 +- .../current_profile_general.cpp | 9 +- src/gui/handling/handling_current_profile.cpp | 1 - src/gui/handling/modals/save_handling.cpp | 7 +- src/hooking.cpp | 20 +- src/hooking.hpp | 53 +- src/hooks/gui/swap_chain_present.cpp | 3 +- src/hooks/gui/swap_chain_resizebuffers.cpp | 9 +- src/hooks/gui/wndproc.cpp | 3 +- src/hooks/info/get_network_event_data.cpp | 46 +- src/hooks/info/prepare_metric_for_sending.cpp | 31 +- src/hooks/misc/check_chat_profanity.cpp | 5 +- src/hooks/misc/get_model_info.cpp | 3 +- .../process_matchmaking_find_response.cpp | 24 +- src/hooks/misc/queue_dependency.cpp | 18 +- src/hooks/misc/send_chat_message.cpp | 7 +- src/hooks/misc/send_chat_net_message.cpp | 19 +- .../misc/serialize_join_request_message.cpp | 3 +- src/hooks/misc/serialize_player_data_msg.cpp | 7 +- src/hooks/misc/sort_session_details.cpp | 4 +- .../misc/start_matchmaking_find_sessions.cpp | 12 +- .../assign_physical_index.cpp | 47 +- .../player_management/network_player_mgr.cpp | 1 + .../protections/add_player_to_session.cpp | 29 +- .../constraint_attachment_crash.cpp | 12 +- .../protections/fragment_physics_crash.cpp | 26 +- src/hooks/protections/handle_join_request.cpp | 13 +- .../protections/increment_stat_event.cpp | 3 +- .../protections/infinite_train_crash.cpp | 24 +- src/hooks/protections/invalid_decal.cpp | 18 +- .../protections/invalid_mods_crash_detour.cpp | 12 +- src/hooks/protections/receive_net_message.cpp | 497 +- src/hooks/protections/receive_pickup.cpp | 18 +- .../protections/received_array_update.cpp | 40 +- src/hooks/protections/received_event.cpp | 208 +- .../protections/script_event_handler.cpp | 48 +- ...ze_dynamic_entity_game_state_data_node.cpp | 58 - .../serialize_ped_inventory_data_node.cpp | 5 +- .../serialize_take_off_ped_variation_task.cpp | 8 +- .../serialize_vehicle_gadget_data_node.cpp | 5 +- .../task_parachute_object_0x270.cpp | 24 +- .../protections/update_presence_attribute.cpp | 3 +- src/hooks/script/gta_thread_kill.cpp | 3 +- src/hooks/script/init_native_tables.cpp | 2 +- src/hooks/script/script_handler.cpp | 3 +- src/hooks/script/script_vm.cpp | 17 +- src/hooks/spoofing/send_player_card_stats.cpp | 28 + src/hooks/spoofing/serialize_stats.cpp | 47 + .../write_player_appearance_data_node.cpp | 18 + .../write_player_camera_data_node.cpp | 7 +- .../write_player_creation_data_node.cpp | 14 + .../write_player_game_state_data_node.cpp | 17 +- .../spoofing/write_player_gamer_data_node.cpp | 13 +- src/hooks/toxic/broadcast_net_array.cpp | 51 +- src/invoker.cpp | 22 +- src/invoker.hpp | 12 +- src/json_util.hpp | 2 +- src/logger/exception_handler.cpp | 50 +- src/logger/exception_handler.hpp | 19 +- src/logger/logger.cpp | 310 +- src/logger/logger.hpp | 19 +- src/logger/stack_trace.cpp | 323 +- src/logger/stack_trace.hpp | 96 +- src/main.cpp | 311 +- src/memory/all.hpp | 4 +- src/memory/batch.cpp | 17 +- src/memory/batch.hpp | 18 +- src/memory/byte_patch.cpp | 55 +- src/memory/byte_patch.hpp | 27 +- src/memory/handle.hpp | 31 +- src/memory/module.cpp | 28 +- src/memory/module.hpp | 1 - src/memory/pattern.cpp | 74 +- src/memory/pattern.hpp | 13 +- src/memory/range.cpp | 26 +- src/memory/range.hpp | 4 +- src/native_hooks/all_scripts.hpp | 110 +- src/native_hooks/am_launcher.hpp | 27 +- src/native_hooks/carmod_shop.hpp | 51 +- src/native_hooks/creator.hpp | 66 +- src/native_hooks/freemode.hpp | 10 +- src/native_hooks/native_hooks.cpp | 27 +- src/native_hooks/native_hooks.hpp | 6 +- src/native_hooks/network_session_host.hpp | 12 +- src/native_hooks/shop_controller.hpp | 13 +- src/natives.hpp | 32488 ++++++++++++---- src/packet.cpp | 17 +- src/packet.hpp | 4 +- src/pointers.cpp | 483 +- src/pointers.hpp | 20 +- src/renderer.cpp | 41 +- src/renderer.hpp | 6 +- src/script.cpp | 29 +- src/script.hpp | 15 +- src/script_function.cpp | 36 +- src/script_function.hpp | 2 +- src/script_global.cpp | 7 +- src/script_global.hpp | 7 +- src/script_local.cpp | 13 +- src/script_local.hpp | 7 +- src/script_mgr.cpp | 3 +- src/script_mgr.hpp | 4 +- src/services/api/api_service.cpp | 33 +- src/services/api/api_service.hpp | 10 +- .../context_menu/context_menu_service.cpp | 72 +- .../context_menu/context_menu_service.hpp | 112 +- .../creator_storage_service.cpp | 14 +- .../custom_text/custom_text_service.cpp | 11 +- .../custom_text/custom_text_service.hpp | 8 +- src/services/friends/friends_service.cpp | 2 + src/services/friends/friends_service.hpp | 8 +- src/services/globals/globals_service.cpp | 4 +- src/services/globals/globals_service.hpp | 26 +- src/services/gta_data/cache_file.cpp | 21 +- src/services/gta_data/cache_file.hpp | 2 +- src/services/gta_data/gta_data_service.cpp | 95 +- src/services/gta_data/gta_data_service.hpp | 27 +- src/services/gta_data/yim_fipackfile.cpp | 31 +- src/services/gta_data/yim_fipackfile.hpp | 1 - src/services/gui/gui_service.cpp | 8 +- src/services/gui/gui_service.hpp | 104 +- src/services/hotkey/hotkey.cpp | 53 +- src/services/hotkey/hotkey.hpp | 37 +- src/services/hotkey/hotkey_service.cpp | 145 +- src/services/hotkey/hotkey_service.hpp | 52 +- .../matchmaking/matchmaking_service.cpp | 25 +- .../matchmaking/matchmaking_service.hpp | 6 +- src/services/mobile/mobile_service.cpp | 27 +- src/services/mobile/mobile_service.hpp | 13 +- .../model_preview/model_preview_service.cpp | 35 +- .../model_preview/model_preview_service.hpp | 9 +- .../notifications/notification_service.cpp | 25 +- .../notifications/notification_service.hpp | 12 +- src/services/pickups/pickup_service.cpp | 1 + src/services/pickups/pickup_service.hpp | 6 +- .../player_database/persistent_player.hpp | 27 +- .../player_database_service.cpp | 12 +- src/services/players/player.cpp | 21 +- src/services/players/player.hpp | 33 +- src/services/players/player_service.cpp | 28 +- src/services/players/player_service.hpp | 24 +- src/services/players/rate_limiter.hpp | 7 +- src/services/script_patcher/script_data.hpp | 8 +- src/services/script_patcher/script_patch.cpp | 19 +- src/services/script_patcher/script_patch.hpp | 5 +- .../script_patcher/script_patcher_service.cpp | 8 +- .../script_patcher/script_patcher_service.hpp | 7 +- .../translation_service/local_index.hpp | 19 +- .../translation_service/remote_index.hpp | 17 +- .../translation_service/translation_entry.hpp | 14 +- .../translation_service.cpp | 346 +- .../translation_service.hpp | 125 +- src/services/vehicle/handling_profile.cpp | 10 +- src/services/vehicle/handling_profile.hpp | 15 +- src/services/vehicle/handling_service.cpp | 17 +- src/services/vehicle/handling_service.hpp | 7 +- src/services/vehicle/model_attachment.hpp | 20 +- src/services/vehicle/persist_car_service.cpp | 131 +- src/services/vehicle/persist_car_service.hpp | 30 +- .../vehicle_helper/vehicle_helper.cpp | 156 +- src/thread_pool.cpp | 12 +- src/thread_pool.hpp | 2 + src/util/animator.hpp | 20 +- src/util/blip.hpp | 40 +- src/util/entity.hpp | 20 +- src/util/globals.hpp | 28 +- src/util/is_key_pressed.hpp | 22 +- src/util/math.hpp | 13 +- src/util/mobile.hpp | 34 +- src/util/model_info.hpp | 8 +- src/util/notify.hpp | 34 +- src/util/ped.hpp | 38 +- src/util/scripts.hpp | 96 +- src/util/session.hpp | 67 +- src/util/spam.hpp | 102 +- src/util/system.hpp | 6 +- src/util/toxic.hpp | 77 +- src/util/train.hpp | 14 +- src/util/troll.hpp | 53 +- src/util/vehicle.hpp | 140 +- src/util/world_model.hpp | 2 +- src/version.cpp.in | 8 +- src/version.hpp | 14 +- src/views/core/view_active_view.cpp | 14 +- src/views/core/view_heading.cpp | 17 +- src/views/core/view_navigation.cpp | 16 +- src/views/core/view_notifications.cpp | 31 +- src/views/core/view_overlay.cpp | 36 +- src/views/debug/view_debug.cpp | 3 +- src/views/debug/view_debug_globals.cpp | 33 +- src/views/debug/view_debug_locals.cpp | 1 - src/views/debug/view_debug_misc.cpp | 42 +- src/views/debug/view_debug_script_events.cpp | 7 +- src/views/debug/view_debug_scripts.cpp | 24 +- src/views/debug/view_debug_threads.cpp | 44 +- src/views/debug/views_debug_logs.cpp | 2 +- src/views/esp/view_esp.cpp | 114 +- src/views/network/view_missions.cpp | 196 +- src/views/network/view_player_database.cpp | 51 +- src/views/network/view_session.cpp | 172 +- src/views/network/view_session_browser.cpp | 42 +- src/views/network/view_spoofing.cpp | 78 +- src/views/players/player/player_info.cpp | 64 +- src/views/players/player/player_kick.cpp | 9 +- src/views/players/player/player_misc.cpp | 7 +- src/views/players/player/player_toxic.cpp | 112 +- src/views/players/player/player_troll.cpp | 10 +- src/views/players/view_player.cpp | 2 +- src/views/players/view_players.cpp | 31 +- src/views/self/view_mobile.cpp | 12 +- src/views/self/view_self.cpp | 56 +- src/views/self/view_teleport.cpp | 2 +- src/views/self/view_weapons.cpp | 44 +- .../settings/view_context_menu_settings.cpp | 18 +- src/views/settings/view_esp_settings.cpp | 30 +- src/views/settings/view_gui_settings.cpp | 8 +- src/views/settings/view_hotkey_settings.cpp | 4 +- src/views/settings/view_stat_editor.cpp | 319 +- .../settings/view_translation_settings.cpp | 2 +- src/views/vehicle/view_fun_vehicle.cpp | 68 +- src/views/vehicle/view_lsc.cpp | 164 +- src/views/vehicle/view_persist_car.cpp | 17 +- src/views/vehicle/view_pv.cpp | 47 +- src/views/vehicle/view_spawn_vehicle.cpp | 42 +- src/views/vehicle/view_vehicle.cpp | 63 +- src/views/view.hpp | 6 +- src/views/view_context_menu.cpp | 20 +- src/views/view_gta_data.cpp | 6 +- src/views/world/model_swapper.cpp | 24 +- src/views/world/view_blackhole.cpp | 2 +- src/views/world/view_creator.cpp | 65 +- src/views/world/view_nearby.cpp | 71 +- src/views/world/view_spawn_ped.cpp | 194 +- src/views/world/view_time_and_weather.cpp | 8 +- src/views/world/view_train.cpp | 27 +- src/vmt_hook.cpp | 11 +- src/vmt_hook.hpp | 7 +- src/widgets/imgui_bitfield.hpp | 8 +- src/widgets/imgui_hotkey.hpp | 260 +- 466 files changed, 55224 insertions(+), 35596 deletions(-) create mode 100644 .clang-format create mode 100644 src/core/data/blip_types.hpp delete mode 100644 src/hooks/protections/serialize_dynamic_entity_game_state_data_node.cpp create mode 100644 src/hooks/spoofing/send_player_card_stats.cpp create mode 100644 src/hooks/spoofing/serialize_stats.cpp create mode 100644 src/hooks/spoofing/write_player_appearance_data_node.cpp create mode 100644 src/hooks/spoofing/write_player_creation_data_node.cpp diff --git a/.clang-format b/.clang-format new file mode 100644 index 00000000..8c858c52 --- /dev/null +++ b/.clang-format @@ -0,0 +1,74 @@ +BasedOnStyle: Microsoft +AccessModifierOffset: '-4' +AlignAfterOpenBracket: DontAlign +AlignConsecutiveAssignments: 'true' +AlignEscapedNewlines: Left +AlignOperands: 'false' +AlignTrailingComments: 'true' +AllowAllArgumentsOnNextLine: 'false' +AllowAllConstructorInitializersOnNextLine: 'false' +AllowAllParametersOfDeclarationOnNextLine: 'false' +AllowShortBlocksOnASingleLine: 'false' +AllowShortCaseLabelsOnASingleLine: 'true' +AllowShortFunctionsOnASingleLine: None +AllowShortIfStatementsOnASingleLine: Never +AllowShortLambdasOnASingleLine: None +AlwaysBreakAfterReturnType: None +AlwaysBreakBeforeMultilineStrings: 'false' +AlwaysBreakTemplateDeclarations: 'Yes' +BinPackArguments: 'false' +BinPackParameters: 'true' +BreakBeforeBinaryOperators: NonAssignment +BreakBeforeBraces: Allman +BreakBeforeTernaryOperators: 'false' +BreakConstructorInitializers: AfterColon +BreakInheritanceList: AfterColon +BreakStringLiterals: 'false' +CompactNamespaces: 'false' +ConstructorInitializerAllOnOneLineOrOnePerLine: 'false' +ConstructorInitializerIndentWidth: '4' +Cpp11BracedListStyle: 'true' +DerivePointerAlignment: 'false' +FixNamespaceComments: 'false' +IncludeBlocks: Regroup +IndentCaseLabels: 'false' +IndentPPDirectives: BeforeHash +IndentWidth: '4' +TabWidth: 4 +IndentWrappedFunctionNames: 'true' +KeepEmptyLinesAtTheStartOfBlocks: 'false' +Language: Cpp +MacroBlockBegin: '0' +MaxEmptyLinesToKeep: '2' +NamespaceIndentation: All +PenaltyExcessCharacter: '0' +PenaltyReturnTypeOnItsOwnLine: '0' +PointerAlignment: Left +ReflowComments: 'false' +SortIncludes: 'true' +SortUsingDeclarations: 'true' +SpaceAfterCStyleCast: 'false' +SpaceAfterLogicalNot: 'false' +SpaceAfterTemplateKeyword: 'false' +SpaceBeforeAssignmentOperators: 'true' +SpaceBeforeCpp11BracedList: 'false' +SpaceBeforeCtorInitializerColon: 'true' +SpaceBeforeInheritanceColon: 'true' +SpaceBeforeParens: ControlStatements +SpaceBeforeRangeBasedForLoopColon: 'true' +SpaceInEmptyParentheses: 'false' +SpacesBeforeTrailingComments: '1' +SpacesInAngles: 'false' +SpacesInCStyleCastParentheses: 'false' +SpacesInContainerLiterals: 'false' +SpacesInParentheses: 'false' +SpacesInSquareBrackets: 'false' +Standard: Auto +UseTab: ForIndentation + +BreakBeforeBraces: Custom +BraceWrapping: + BeforeLambdaBody: 'false' + AfterCaseLabel: 'true' + +PackConstructorInitializers: Never \ No newline at end of file diff --git a/scripts/gtav-classes.cmake b/scripts/gtav-classes.cmake index 0f7c611f..5ebb60ee 100644 --- a/scripts/gtav-classes.cmake +++ b/scripts/gtav-classes.cmake @@ -3,7 +3,7 @@ include(FetchContent) FetchContent_Declare( gtav_classes GIT_REPOSITORY https://github.com/Yimura/GTAV-Classes.git - GIT_TAG 9bf112e0431e3618978a8dd2fec12ffeeb7dd7ce + GIT_TAG f71748dd1dfac7b1c678e0e8b87d2739bde314b6 GIT_PROGRESS TRUE CONFIGURE_COMMAND "" BUILD_COMMAND "" diff --git a/src/backend/backend.cpp b/src/backend/backend.cpp index ce07d5d8..3690f30d 100644 --- a/src/backend/backend.cpp +++ b/src/backend/backend.cpp @@ -1,10 +1,11 @@ #include "backend.hpp" -#include "script.hpp" -#include "thread_pool.hpp" + #include "looped/looped.hpp" -#include "services/context_menu/context_menu_service.hpp" -#include "script_patches.hpp" #include "looped_command.hpp" +#include "script.hpp" +#include "script_patches.hpp" +#include "services/context_menu/context_menu_service.hpp" +#include "thread_pool.hpp" namespace big { @@ -15,7 +16,7 @@ namespace big register_script_patches(); - while (g_running) + while (g_running) { looped::system_self_globals(); looped::system_update_pointers(); @@ -169,7 +170,6 @@ namespace big while (g_running) { - looped::custom_gun_disable_control_action(); context_menu_service::disable_control_action_loop(); @@ -183,7 +183,6 @@ namespace big while (g_running) { - looped::world_spawn_ped(); script::get_current()->yield(); } diff --git a/src/backend/bool_command.cpp b/src/backend/bool_command.cpp index 1ff5ca88..a255d32b 100644 --- a/src/backend/bool_command.cpp +++ b/src/backend/bool_command.cpp @@ -3,8 +3,8 @@ namespace big { bool_command::bool_command(const std::string& name, const std::string& label, const std::string& description, bool& toggle) : - command(name, label, description, std::nullopt), - m_toggle(toggle) + command(name, label, description, std::nullopt), + m_toggle(toggle) { } diff --git a/src/backend/bool_command.hpp b/src/backend/bool_command.hpp index 7bd08f49..e23316af 100644 --- a/src/backend/bool_command.hpp +++ b/src/backend/bool_command.hpp @@ -9,12 +9,22 @@ namespace big bool& m_toggle; virtual void execute(const std::vector& args, const std::shared_ptr ctx = std::make_shared()) override; virtual std::optional> parse_args(const std::vector& args, const std::shared_ptr ctx = std::make_shared()) override; + public: bool_command(const std::string& name, const std::string& label, const std::string& description, bool& toggle); - inline bool& is_enabled() { return m_toggle; } + inline bool& is_enabled() + { + return m_toggle; + } - virtual void refresh() {}; - virtual void enable() { m_toggle = true; }; - virtual void disable() { m_toggle = false; }; + virtual void refresh(){}; + virtual void enable() + { + m_toggle = true; + }; + virtual void disable() + { + m_toggle = false; + }; }; } \ No newline at end of file diff --git a/src/backend/command.cpp b/src/backend/command.cpp index f4a022e5..d4890954 100644 --- a/src/backend/command.cpp +++ b/src/backend/command.cpp @@ -1,4 +1,5 @@ #include "command.hpp" + #include "fiber_pool.hpp" namespace @@ -27,11 +28,11 @@ namespace namespace big { command::command(const std::string& name, const std::string& label, const std::string& description, std::optional num_args, bool fiber_pool) : - m_name(name), - m_label(label), - m_description(description), - m_num_args(num_args), - m_fiber_pool(fiber_pool) + m_name(name), + m_label(label), + m_description(description), + m_num_args(num_args), + m_fiber_pool(fiber_pool) { g_commands[rage::joaat(name)] = this; } @@ -40,7 +41,10 @@ namespace big { if (m_num_args.has_value() && args.size() != m_num_args.value()) { - ctx->report_error(std::format("Command {} called with the wrong number of arguments. Expected {}, got {}", m_name, m_num_args.value(), args.size())); + ctx->report_error(std::format("Command {} called with the wrong number of arguments. Expected {}, got {}", + m_name, + m_num_args.value(), + args.size())); return; } @@ -51,7 +55,9 @@ namespace big } if (m_fiber_pool) - g_fiber_pool->queue_job([this, args, ctx] { execute(args, ctx); }); + g_fiber_pool->queue_job([this, args, ctx] { + execute(args, ctx); + }); else execute(args, ctx); } @@ -60,7 +66,10 @@ namespace big { if (m_num_args.has_value() && args.size() != m_num_args.value()) { - ctx->report_error(std::format("Command {} called with the wrong number of arguments. Expected {}, got {}", m_name, m_num_args.value(), args.size())); + ctx->report_error(std::format("Command {} called with the wrong number of arguments. Expected {}, got {}", + m_name, + m_num_args.value(), + args.size())); return; } @@ -98,7 +107,7 @@ namespace big ctx->report_error("No command to call"); return; } - + std::uint32_t hash = rage::joaat(args[0]); if (!g_commands.contains(hash)) { diff --git a/src/backend/command.hpp b/src/backend/command.hpp index 111b6b16..9683ed94 100644 --- a/src/backend/command.hpp +++ b/src/backend/command.hpp @@ -1,8 +1,8 @@ #pragma once -#include "gta/joaat.hpp" -#include "core/enums.hpp" #include "context/command_context.hpp" #include "context/default_command_context.hpp" +#include "core/enums.hpp" +#include "gta/joaat.hpp" namespace big { @@ -16,14 +16,29 @@ namespace big bool m_fiber_pool; virtual void execute(const std::vector& args, const std::shared_ptr ctx = std::make_shared()) = 0; - virtual std::optional> parse_args(const std::vector& args, const std::shared_ptr ctx = std::make_shared()) { return std::vector(); }; - virtual CommandAccessLevel get_access_level() { return CommandAccessLevel::ADMIN; } + virtual std::optional> parse_args(const std::vector& args, const std::shared_ptr ctx = std::make_shared()) + { + return std::vector(); + }; + virtual CommandAccessLevel get_access_level() + { + return CommandAccessLevel::ADMIN; + } public: command(const std::string& name, const std::string& label, const std::string& description, std::optional num_args, bool fiber_pool = true); - inline const std::string& get_name() { return m_name; } - inline const std::string& get_label() { return m_label; } - inline const std::string& get_description() { return m_description; } + inline const std::string& get_name() + { + return m_name; + } + inline const std::string& get_label() + { + return m_label; + } + inline const std::string& get_description() + { + return m_description; + } void call(const std::vector& args, const std::shared_ptr ctx = std::make_shared()); void call(const std::vector& args, const std::shared_ptr ctx = std::make_shared()); @@ -36,5 +51,5 @@ namespace big static void process(const std::string& text, const std::shared_ptr ctx = std::make_shared()); }; - inline std::unordered_map g_commands; + inline std::unordered_map g_commands; } \ No newline at end of file diff --git a/src/backend/commands/player/kick/bail_kick.cpp b/src/backend/commands/player/kick/bail_kick.cpp index 05be91b1..cd29a0be 100644 --- a/src/backend/commands/player/kick/bail_kick.cpp +++ b/src/backend/commands/player/kick/bail_kick.cpp @@ -1,7 +1,7 @@ #include "backend/player_command.hpp" +#include "core/scr_globals.hpp" #include "natives.hpp" #include "pointers.hpp" -#include "core/scr_globals.hpp" #include