2019-03-21 20:18:31 +01:00
|
|
|
#pragma once
|
|
|
|
#include "common.hpp"
|
2022-07-30 18:23:40 +02:00
|
|
|
#include "base/HashTable.hpp"
|
2022-12-17 17:24:45 +01:00
|
|
|
#include "socialclub/ScInfo.hpp"
|
2022-07-30 18:23:40 +02:00
|
|
|
#include "function_types.hpp"
|
2019-03-21 20:18:31 +01:00
|
|
|
#include "gta/fwddec.hpp"
|
2021-08-05 23:06:47 +02:00
|
|
|
#include "gta/replay.hpp"
|
2022-11-08 03:20:20 +08:00
|
|
|
#include "memory/byte_patch.hpp"
|
2019-03-21 20:18:31 +01:00
|
|
|
|
2022-11-13 16:34:44 +00:00
|
|
|
class CCommunications;
|
|
|
|
class FriendRegistry;
|
|
|
|
class CNetworkPlayerMgr;
|
|
|
|
class Network;
|
2022-11-29 20:48:58 +01:00
|
|
|
class ChatData;
|
2022-11-13 16:34:44 +00:00
|
|
|
|
2022-11-25 22:29:03 +01:00
|
|
|
namespace rage
|
|
|
|
{
|
|
|
|
template<typename T>
|
|
|
|
class atSingleton;
|
|
|
|
class RageSecurity;
|
2022-12-19 17:39:06 +00:00
|
|
|
class netTime;
|
2022-12-23 00:03:34 +01:00
|
|
|
class rlGamerInfo;
|
2022-11-25 22:29:03 +01:00
|
|
|
}
|
|
|
|
|
2019-03-21 20:18:31 +01:00
|
|
|
namespace big
|
|
|
|
{
|
|
|
|
class pointers
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
explicit pointers();
|
|
|
|
~pointers();
|
|
|
|
public:
|
|
|
|
HWND m_hwnd{};
|
|
|
|
|
2022-07-05 16:54:45 -04:00
|
|
|
eGameState* m_game_state{};
|
|
|
|
bool* m_is_session_started{};
|
2019-03-21 20:18:31 +01:00
|
|
|
|
2022-01-31 18:27:35 +01:00
|
|
|
CPedFactory** m_ped_factory{};
|
|
|
|
CNetworkPlayerMgr** m_network_player_mgr{};
|
2022-01-25 02:55:35 +01:00
|
|
|
CNetworkObjectMgr** m_network_object_mgr{};
|
2021-08-05 23:06:47 +02:00
|
|
|
rage::CReplayInterface** m_replay_interface{};
|
|
|
|
|
2022-07-05 16:54:45 -04:00
|
|
|
functions::ptr_to_handle m_ptr_to_handle{};
|
2022-11-23 06:12:40 +08:00
|
|
|
functions::handle_to_ptr m_handle_to_ptr{};
|
2022-07-05 16:54:45 -04:00
|
|
|
rage::scrNativeRegistrationTable* m_native_registration_table{};
|
|
|
|
functions::get_native_handler m_get_native_handler{};
|
|
|
|
functions::fix_vectors m_fix_vectors{};
|
2019-03-21 20:18:31 +01:00
|
|
|
|
2022-07-05 16:54:45 -04:00
|
|
|
rage::atArray<GtaThread*>* m_script_threads{};
|
|
|
|
rage::scrProgramTable* m_script_program_table{};
|
|
|
|
functions::run_script_threads m_run_script_threads{};
|
|
|
|
std::int64_t** m_script_globals{};
|
2019-03-21 20:18:31 +01:00
|
|
|
|
2022-07-05 16:54:45 -04:00
|
|
|
CGameScriptHandlerMgr** m_script_handler_mgr{};
|
2019-03-21 20:18:31 +01:00
|
|
|
|
2022-07-05 16:54:45 -04:00
|
|
|
IDXGISwapChain** m_swapchain{};
|
2020-02-22 18:37:42 -05:00
|
|
|
|
2022-03-17 12:08:03 +01:00
|
|
|
int* m_resolution_x;
|
|
|
|
int* m_resolution_y;
|
|
|
|
|
2022-11-12 07:13:01 +08:00
|
|
|
uint32_t* m_region_code;
|
|
|
|
|
2022-11-08 03:20:20 +08:00
|
|
|
memory::byte_patch* m_max_wanted_level;
|
|
|
|
memory::byte_patch* m_max_wanted_level_2;
|
|
|
|
|
2022-12-06 16:12:02 +00:00
|
|
|
memory::byte_patch* m_blame_explode;
|
2022-09-20 14:51:43 +02:00
|
|
|
PVOID m_world_model_spawn_bypass;
|
2021-05-18 23:03:42 +02:00
|
|
|
PVOID m_native_return;
|
2022-07-29 14:32:02 +02:00
|
|
|
PVOID m_get_label_text;
|
2022-10-26 15:38:01 -04:00
|
|
|
functions::multiplayer_chat_filter* m_multiplayer_chat_filter{};
|
2022-10-29 05:54:32 -04:00
|
|
|
functions::write_player_game_state_data_node m_write_player_game_state_data_node{};
|
2021-05-19 00:07:13 +02:00
|
|
|
|
2022-11-29 20:48:58 +01:00
|
|
|
ChatData** m_chat_data;
|
2022-12-17 17:24:45 +01:00
|
|
|
ScInfo* m_sc_info;
|
2022-02-18 17:44:32 +01:00
|
|
|
FriendRegistry* m_friend_registry{};
|
|
|
|
|
2022-07-05 16:54:45 -04:00
|
|
|
functions::get_screen_coords_for_world_coords m_get_screen_coords_for_world_coords{};
|
2022-03-09 00:03:14 +01:00
|
|
|
|
2022-07-05 11:11:16 +02:00
|
|
|
HashTable<CBaseModelInfo*>* m_model_table;
|
|
|
|
|
2022-01-21 23:08:00 +01:00
|
|
|
PVOID m_gta_thread_start{};
|
|
|
|
PVOID m_gta_thread_kill{};
|
2021-05-19 16:19:38 +02:00
|
|
|
|
2022-05-28 17:44:05 +02:00
|
|
|
PVOID m_network_player_mgr_init;
|
2022-01-31 18:27:35 +01:00
|
|
|
PVOID m_network_player_mgr_shutdown;
|
|
|
|
|
2022-07-05 16:54:45 -04:00
|
|
|
functions::get_gameplay_cam_coords m_get_gameplay_cam_coords;
|
2022-03-09 00:03:14 +01:00
|
|
|
|
2022-07-05 16:54:45 -04:00
|
|
|
functions::give_pickup_rewards m_give_pickup_rewards{};
|
2022-09-20 14:51:43 +02:00
|
|
|
|
2022-10-06 13:30:04 +02:00
|
|
|
PVOID m_write_player_gamer_data_node{};
|
|
|
|
|
2022-07-05 16:54:45 -04:00
|
|
|
functions::trigger_script_event m_trigger_script_event{};
|
|
|
|
|
|
|
|
// Bitbuffer Read/Write START
|
|
|
|
functions::read_bitbuf_dword m_read_bitbuf_dword{};
|
|
|
|
functions::read_bitbuf_string m_read_bitbuf_string{};
|
|
|
|
functions::read_bitbuf_bool m_read_bitbuf_bool{};
|
|
|
|
functions::read_bitbuf_array m_read_bitbuf_array{};
|
|
|
|
functions::write_bitbuf_qword m_write_bitbuf_qword{};
|
|
|
|
functions::write_bitbuf_dword m_write_bitbuf_dword{};
|
|
|
|
functions::write_bitbuf_int64 m_write_bitbuf_int64{};
|
|
|
|
functions::write_bitbuf_int32 m_write_bitbuf_int32{};
|
|
|
|
functions::write_bitbuf_bool m_write_bitbuf_bool{};
|
|
|
|
functions::write_bitbuf_array m_write_bitbuf_array{};
|
|
|
|
// Bitbuffer Read/Write END
|
2022-09-20 14:51:43 +02:00
|
|
|
|
2021-05-25 12:58:33 +02:00
|
|
|
// Received Event Signatures START
|
2022-05-08 22:00:55 +02:00
|
|
|
PVOID m_received_event{};
|
2022-07-05 16:54:45 -04:00
|
|
|
functions::send_event_ack m_send_event_ack{};
|
2021-05-25 12:58:33 +02:00
|
|
|
// Received Event Signatures END
|
2021-05-26 13:33:26 +02:00
|
|
|
|
2022-05-23 00:31:21 +02:00
|
|
|
//Sync Signatures START
|
2022-11-19 01:49:36 +00:00
|
|
|
PVOID m_received_clone_create;
|
2022-05-23 00:31:21 +02:00
|
|
|
PVOID m_received_clone_sync;
|
2022-11-19 01:49:36 +00:00
|
|
|
PVOID m_can_apply_data;
|
2022-07-05 16:54:45 -04:00
|
|
|
functions::get_sync_tree_for_type m_get_sync_tree_for_type{};
|
|
|
|
functions::get_sync_type_info m_get_sync_type_info{};
|
|
|
|
functions::get_net_object m_get_net_object{};
|
2022-11-10 19:21:38 -05:00
|
|
|
functions::get_net_object_for_player m_get_net_object_for_player{};
|
|
|
|
functions::read_bitbuffer_into_sync_tree m_read_bitbuffer_into_sync_tree{};
|
2022-05-23 00:31:21 +02:00
|
|
|
//Sync Signatures END
|
|
|
|
|
2021-12-18 19:24:30 +01:00
|
|
|
PVOID m_send_net_info_to_lobby{};
|
2022-05-20 18:17:41 -04:00
|
|
|
|
|
|
|
PVOID m_receive_net_message{};
|
|
|
|
PVOID m_get_network_event_data{};
|
2022-08-09 14:39:55 -04:00
|
|
|
PVOID m_assign_physical_index{};
|
2022-09-12 18:44:47 +00:00
|
|
|
|
|
|
|
Network** m_network;
|
|
|
|
|
2022-10-26 14:12:29 +02:00
|
|
|
functions::start_get_session_by_gamer_handle m_start_get_session_by_gamer_handle;
|
2022-11-24 21:49:05 +00:00
|
|
|
functions::start_matchmaking_find_sessions m_start_matchmaking_find_sessions;
|
2022-10-26 14:12:29 +02:00
|
|
|
functions::join_session_by_info m_join_session_by_info;
|
|
|
|
|
2022-11-23 06:12:40 +08:00
|
|
|
memory::byte_patch* m_bypass_max_count_of_active_sticky_bombs;
|
2022-10-26 22:10:19 +02:00
|
|
|
|
2022-09-12 18:44:47 +00:00
|
|
|
functions::reset_network_complaints m_reset_network_complaints{};
|
2022-10-19 00:30:32 +02:00
|
|
|
|
|
|
|
functions::fidevice_get_device m_fidevice_get_device{};
|
|
|
|
uintptr_t m_fidevices{};
|
|
|
|
uint16_t* m_fidevices_len{};
|
|
|
|
functions::fipackfile_ctor m_fipackfile_ctor{};
|
|
|
|
rage::fiPackfile** m_fipackfile_instances{};
|
|
|
|
functions::fipackfile_open_archive m_fipackfile_open_archive{};
|
|
|
|
functions::fipackfile_mount m_fipackfile_mount{};
|
|
|
|
functions::fipackfile_unmount m_fipackfile_unmount{};
|
|
|
|
|
|
|
|
const char* m_game_version;
|
|
|
|
const char* m_online_version;
|
2022-11-12 04:01:10 +08:00
|
|
|
|
|
|
|
PVOID m_invalid_mods_crash_detour{};
|
2022-12-09 20:55:25 +01:00
|
|
|
PVOID m_constraint_attachment_crash{};
|
2022-12-10 19:28:56 -05:00
|
|
|
PVOID m_invalid_decal_crash{};
|
2022-11-12 18:35:28 +00:00
|
|
|
|
2022-11-14 23:37:38 +08:00
|
|
|
int64_t** m_send_chat_ptr{};
|
|
|
|
functions::send_chat_message m_send_chat_message{};
|
|
|
|
|
2022-11-12 18:35:28 +00:00
|
|
|
PVOID m_init_native_tables{};
|
2022-12-06 16:12:02 +00:00
|
|
|
functions::script_vm m_script_vm{};
|
2022-11-13 16:34:44 +00:00
|
|
|
|
|
|
|
functions::generate_uuid m_generate_uuid{};
|
|
|
|
std::uint64_t* m_host_token{};
|
|
|
|
rage::rlGamerInfo* m_profile_gamer_info{}; // per profile gamer info
|
|
|
|
rage::rlGamerInfo* m_player_info_gamer_info{}; // the gamer info that is applied to CPlayerInfo
|
|
|
|
CCommunications** m_communications{};
|
|
|
|
|
2022-11-19 01:49:36 +00:00
|
|
|
PVOID m_update_presence_attribute_int;
|
|
|
|
PVOID m_update_presence_attribute_string;
|
|
|
|
|
|
|
|
PVOID m_serialize_dynamic_entity_game_state_data_node;
|
|
|
|
PVOID m_serialize_ped_inventory_data_node;
|
|
|
|
PVOID m_serialize_vehicle_gadget_data_node;
|
|
|
|
functions::get_vehicle_gadget_array_size m_get_vehicle_gadget_array_size;
|
|
|
|
|
|
|
|
PVOID m_handle_join_request;
|
|
|
|
functions::write_join_response_data m_write_join_response_data;
|
|
|
|
|
|
|
|
functions::queue_packet m_queue_packet;
|
|
|
|
|
|
|
|
PVOID m_sort_session_details;
|
2022-11-21 15:42:12 +00:00
|
|
|
|
|
|
|
PVOID m_add_player_to_session;
|
|
|
|
PVOID m_send_chat_net_message;
|
2022-11-24 21:49:05 +00:00
|
|
|
|
|
|
|
PVOID m_process_matchmaking_find_response;
|
|
|
|
PVOID m_serialize_player_data_msg;
|
|
|
|
|
|
|
|
PVOID m_serialize_join_request_message;
|
2022-11-25 22:29:03 +01:00
|
|
|
|
2022-12-06 16:12:02 +00:00
|
|
|
functions::send_network_damage m_send_network_damage;
|
|
|
|
functions::request_ragdoll m_request_ragdoll;
|
|
|
|
|
|
|
|
functions::get_connection_peer m_get_connection_peer{};
|
|
|
|
functions::send_remove_gamer_cmd m_send_remove_gamer_cmd{};
|
|
|
|
functions::handle_remove_gamer_cmd m_handle_remove_gamer_cmd{};
|
|
|
|
|
|
|
|
PVOID m_broadcast_net_array{};
|
|
|
|
memory::byte_patch* m_broadcast_patch;
|
|
|
|
|
2022-11-25 22:29:03 +01:00
|
|
|
rage::atSingleton<rage::RageSecurity>* m_security;
|
2022-12-18 01:00:04 +01:00
|
|
|
|
|
|
|
PVOID m_queue_dependency;
|
|
|
|
PVOID m_interval_check_func;
|
2022-12-06 16:12:02 +00:00
|
|
|
|
|
|
|
PVOID m_send_session_matchmaking_attributes;
|
|
|
|
|
|
|
|
PVOID m_serialize_take_off_ped_variation_task;
|
|
|
|
|
2022-12-08 12:23:57 +00:00
|
|
|
PVOID m_create_script_handler;
|
|
|
|
|
|
|
|
PVOID m_write_bitbuffer_gamer_handle;
|
|
|
|
PVOID m_read_bitbuffer_gamer_handle;
|
2022-12-17 14:47:01 +00:00
|
|
|
|
|
|
|
functions::encode_session_info m_encode_session_info;
|
|
|
|
functions::decode_session_info m_decode_session_info;
|
|
|
|
|
|
|
|
datafile_commands::SveFileObject* m_main_file_object;
|
|
|
|
functions::load_cloud_file m_load_cloud_file;
|
|
|
|
functions::set_as_active_cloud_file m_set_as_active_cloud_file;
|
|
|
|
functions::save_json_data m_save_json_data;
|
2022-12-19 17:39:06 +00:00
|
|
|
|
|
|
|
rage::netTime** m_network_time;
|
|
|
|
functions::sync_network_time m_sync_network_time;
|
2022-12-23 00:03:34 +01:00
|
|
|
|
|
|
|
rage::rlGamerInfo* m_chat_gamer_info;
|
2019-03-21 20:18:31 +01:00
|
|
|
};
|
|
|
|
|
2022-07-05 16:54:45 -04:00
|
|
|
inline pointers* g_pointers{};
|
2019-03-21 20:18:31 +01:00
|
|
|
}
|