Updated all functions to 2.7
This commit is contained in:
parent
e5def24b40
commit
45146d71be
@ -1,207 +1,253 @@
|
||||
// Generated C++ file by Il2CppInspector - http://www.djkaty.com - https://github.com/djkaty
|
||||
// Target Unity version: 2017.4.15 - 2017.4.40
|
||||
// Target Unity version: 2019.4.21 - 2019.4.24
|
||||
|
||||
// ******************************************************************************
|
||||
// * IL2CPP API function pointers
|
||||
// ******************************************************************************
|
||||
|
||||
#define il2cpp_add_internal_call_ptr 0x083FB9B0
|
||||
#define il2cpp_alloc_ptr 0x083FB9C0
|
||||
#define il2cpp_array_class_get_ptr 0x083FB9D0
|
||||
#define il2cpp_array_element_size_ptr 0x083FB9E0
|
||||
#define il2cpp_array_get_byte_length_ptr 0x08446D30
|
||||
#define il2cpp_array_length_ptr 0x083FB9F0
|
||||
#define il2cpp_array_new_ptr 0x083FBA00
|
||||
#define il2cpp_array_new_full_ptr 0x083FBA10
|
||||
#define il2cpp_array_new_specific_ptr 0x083FBA20
|
||||
#define il2cpp_assembly_get_image_ptr 0x083FBA30
|
||||
#define il2cpp_bounded_array_class_get_ptr 0x083FBA40
|
||||
#define il2cpp_capture_memory_snapshot_ptr 0x083FBA50
|
||||
#define il2cpp_class_array_element_size_ptr 0x083FBA60
|
||||
#define il2cpp_class_enum_basetype_ptr 0x083FBA70
|
||||
#define il2cpp_class_from_il2cpp_type_ptr 0x083FBAA0
|
||||
#define il2cpp_class_from_name_ptr 0x083FBA80
|
||||
#define il2cpp_class_from_system_type_ptr 0x083FBA90
|
||||
#define il2cpp_class_from_type_ptr 0x083FBAA0
|
||||
#define il2cpp_class_get_assemblyname_ptr 0x083FBAB0
|
||||
#define il2cpp_class_get_bitmap_ptr 0x083FBAC0
|
||||
#define il2cpp_class_get_bitmap_size_ptr 0x083FBAE0
|
||||
#define il2cpp_class_get_declaring_type_ptr 0x083FBAF0
|
||||
#define il2cpp_class_get_element_class_ptr 0x083FBB00
|
||||
#define il2cpp_class_get_events_ptr 0x083FBB10
|
||||
#define il2cpp_class_get_field_from_name_ptr 0x083FBB20
|
||||
#define il2cpp_class_get_fields_ptr 0x083FBB30
|
||||
#define il2cpp_class_get_flags_ptr 0x083FBB40
|
||||
#define il2cpp_class_get_image_ptr 0x083FC360
|
||||
#define il2cpp_class_get_interfaces_ptr 0x083FBB50
|
||||
#define il2cpp_class_get_method_from_name_ptr 0x083FBB60
|
||||
#define il2cpp_class_get_methods_ptr 0x083FBB70
|
||||
#define il2cpp_class_get_name_ptr 0x083FBB80
|
||||
#define il2cpp_class_get_namespace_ptr 0x083FBB90
|
||||
#define il2cpp_class_get_nested_types_ptr 0x083FBBA0
|
||||
#define il2cpp_class_get_parent_ptr 0x083FBBB0
|
||||
#define il2cpp_class_get_properties_ptr 0x083FBBC0
|
||||
#define il2cpp_class_get_property_from_name_ptr 0x083FBBD0
|
||||
#define il2cpp_class_get_type_ptr 0x083FBBE0
|
||||
#define il2cpp_class_has_attribute_ptr 0x083FBBF0
|
||||
#define il2cpp_class_has_parent_ptr 0x083FBC00
|
||||
#define il2cpp_class_has_references_ptr 0x083FBC10
|
||||
#define il2cpp_class_instance_size_ptr 0x083FBC20
|
||||
#define il2cpp_class_is_abstract_ptr 0x083FBC30
|
||||
#define il2cpp_class_is_assignable_from_ptr 0x083FBC40
|
||||
#define il2cpp_class_is_blittable_ptr 0x083FBC50
|
||||
#define il2cpp_class_is_enum_ptr 0x083FBC60
|
||||
#define il2cpp_class_is_generic_ptr 0x083FBC70
|
||||
#define il2cpp_class_is_inflated_ptr 0x083FBC80
|
||||
#define il2cpp_class_is_interface_ptr 0x083FBC90
|
||||
#define il2cpp_class_is_subclass_of_ptr 0x083FBCA0
|
||||
#define il2cpp_class_is_valuetype_ptr 0x083FBCB0
|
||||
#define il2cpp_class_num_fields_ptr 0x083FBCC0
|
||||
#define il2cpp_class_value_size_ptr 0x083FBCD0
|
||||
#define il2cpp_current_thread_get_frame_at_ptr 0x083FBCE0
|
||||
#define il2cpp_current_thread_get_stack_depth_ptr 0x083FBCF0
|
||||
#define il2cpp_current_thread_get_top_frame_ptr 0x083FBD10
|
||||
#define il2cpp_current_thread_walk_frame_stack_ptr 0x083FBD20
|
||||
#define il2cpp_domain_assembly_open_ptr 0x083FBD30
|
||||
#define il2cpp_domain_get_ptr 0x083FBD40
|
||||
#define il2cpp_domain_get_assemblies_ptr 0x083FBD50
|
||||
#define il2cpp_enable_object_type_mutex_ptr 0x084D6B40
|
||||
#define il2cpp_exception_from_name_msg_ptr 0x083FBD90
|
||||
#define il2cpp_field_get_flags_ptr 0x083FBDA0
|
||||
#define il2cpp_field_get_name_ptr 0x083FC360
|
||||
#define il2cpp_field_get_offset_ptr 0x083FBDB0
|
||||
#define il2cpp_field_get_parent_ptr 0x083FBB80
|
||||
#define il2cpp_field_get_type_ptr 0x083FBDC0
|
||||
#define il2cpp_field_get_value_ptr 0x083FBDD0
|
||||
#define il2cpp_field_get_value_object_ptr 0x083FBDE0
|
||||
#define il2cpp_field_has_attribute_ptr 0x083FBDF0
|
||||
#define il2cpp_field_set_value_ptr 0x083FBE00
|
||||
#define il2cpp_field_set_value_object_ptr 0x083FBE10
|
||||
#define il2cpp_field_static_get_value_ptr 0x083FBE20
|
||||
#define il2cpp_field_static_set_value_ptr 0x083FBE30
|
||||
#define il2cpp_format_exception_ptr 0x083FBE40
|
||||
#define il2cpp_format_stack_trace_ptr 0x083FBEF0
|
||||
#define il2cpp_free_ptr 0x083FBFA0
|
||||
#define il2cpp_free_captured_memory_snapshot_ptr 0x083FBFB0
|
||||
#define il2cpp_gc_collect_ptr 0x08445BB0
|
||||
#define il2cpp_gc_collect_a_little_ptr 0x083FBFC0
|
||||
#define il2cpp_gc_disable_ptr 0x083FBFD0
|
||||
#define il2cpp_gc_dump_append_text_to_log_ptr 0x084D6DA0
|
||||
#define il2cpp_gc_dump_info_ptr 0x084D6DB0
|
||||
#define il2cpp_gc_dump_set_large_allocated_block_found_callback_ptr 0x084D6DC0
|
||||
#define il2cpp_gc_dump_set_small_allocated_block_found_callback_ptr 0x084D6DD0
|
||||
#define il2cpp_gc_enable_ptr 0x083FC020
|
||||
#define il2cpp_gc_get_heap_size_ptr 0x083FC030
|
||||
#define il2cpp_gc_get_used_size_ptr 0x083FC040
|
||||
#define il2cpp_gc_set_object_malloc_callback_ptr 0x084D6E10
|
||||
#define il2cpp_gc_set_object_return_freelist_callback_ptr 0x084D6E20
|
||||
#define il2cpp_gchandle_free_ptr 0x083EB2A0
|
||||
#define il2cpp_gchandle_get_target_ptr 0x08436D60
|
||||
#define il2cpp_gchandle_new_ptr 0x083FC070
|
||||
#define il2cpp_gchandle_new_weakref_ptr 0x083FC080
|
||||
#define il2cpp_get_committed_memory_size_ptr 0x084D6E60
|
||||
#define il2cpp_get_corlib_ptr 0x083FC0A0
|
||||
#define il2cpp_get_exception_argument_null_ptr 0x083FC0B0
|
||||
#define il2cpp_get_gc_suspend_wait_tick_ptr 0x084D6E90
|
||||
#define il2cpp_get_hash_table_memory_ptr 0x084D6EA0
|
||||
#define il2cpp_get_meta_data_pool_memory_ptr 0x084D6EB0
|
||||
#define il2cpp_image_get_assembly_ptr 0x083FC100
|
||||
#define il2cpp_image_get_entry_point_ptr 0x083FC110
|
||||
#define il2cpp_image_get_filename_ptr 0x083FC360
|
||||
#define il2cpp_image_get_name_ptr 0x083FC360
|
||||
#define il2cpp_init_ptr 0x083FC120
|
||||
#define il2cpp_init_security_ptr 0x084D6F30
|
||||
#define il2cpp_init_utf16_ptr 0x083FC170
|
||||
#define il2cpp_is_vm_thread_ptr 0x083FC220
|
||||
#define il2cpp_method_get_class_ptr 0x083FBB90
|
||||
#define il2cpp_method_get_declaring_type_ptr 0x083FBB90
|
||||
#define il2cpp_method_get_flags_ptr 0x083FC230
|
||||
#define il2cpp_method_get_name_ptr 0x083FBB80
|
||||
#define il2cpp_method_get_object_ptr 0x083FC260
|
||||
#define il2cpp_method_get_param_ptr 0x083FC270
|
||||
#define il2cpp_method_get_param_count_ptr 0x083FC280
|
||||
#define il2cpp_method_get_param_name_ptr 0x083FC290
|
||||
#define il2cpp_method_get_return_type_ptr 0x083FBBE0
|
||||
#define il2cpp_method_get_token_ptr 0x083FC2A0
|
||||
#define il2cpp_method_has_attribute_ptr 0x083FC2B0
|
||||
#define il2cpp_method_is_generic_ptr 0x083FC2C0
|
||||
#define il2cpp_method_is_inflated_ptr 0x083FC2D0
|
||||
#define il2cpp_method_is_instance_ptr 0x083FC2E0
|
||||
#define il2cpp_monitor_enter_ptr 0x083FC2F0
|
||||
#define il2cpp_monitor_exit_ptr 0x083FC300
|
||||
#define il2cpp_monitor_pulse_ptr 0x083FC310
|
||||
#define il2cpp_monitor_pulse_all_ptr 0x083FC320
|
||||
#define il2cpp_monitor_try_enter_ptr 0x083FC330
|
||||
#define il2cpp_monitor_try_wait_ptr 0x083FC340
|
||||
#define il2cpp_monitor_wait_ptr 0x083FC350
|
||||
#define il2cpp_object_get_class_ptr 0x083FC360
|
||||
#define il2cpp_object_get_size_ptr 0x083FC370
|
||||
#define il2cpp_object_get_virtual_method_ptr 0x083FC380
|
||||
#define il2cpp_object_new_ptr 0x083FC390
|
||||
#define il2cpp_object_unbox_ptr 0x083FC3B0
|
||||
#define il2cpp_profiler_install_ptr 0x084D71C0
|
||||
#define il2cpp_profiler_install_allocation_ptr 0x084D71D0
|
||||
#define il2cpp_profiler_install_enter_leave_ptr 0x084D71E0
|
||||
#define il2cpp_profiler_install_fileio_ptr 0x084D71F0
|
||||
#define il2cpp_profiler_install_gc_ptr 0x084D7200
|
||||
#define il2cpp_profiler_set_events_ptr 0x084D7210
|
||||
#define il2cpp_property_get_flags_ptr 0x083FC420
|
||||
#define il2cpp_property_get_get_method_ptr 0x083FBB80
|
||||
#define il2cpp_property_get_name_ptr 0x083FBDC0
|
||||
#define il2cpp_property_get_parent_ptr 0x083FC360
|
||||
#define il2cpp_property_get_set_method_ptr 0x083FBB90
|
||||
#define il2cpp_raise_exception_ptr 0x083FC430
|
||||
#define il2cpp_register_filedelete_callback_ptr 0x084D7240
|
||||
#define il2cpp_register_filemodify_callback_ptr 0x084D7250
|
||||
#define il2cpp_register_log_callback_ptr 0x083FC460
|
||||
#define il2cpp_resolve_icall_ptr 0x083FC470
|
||||
#define il2cpp_runtime_class_init_ptr 0x083FC480
|
||||
#define il2cpp_runtime_invoke_ptr 0x083FC490
|
||||
#define il2cpp_runtime_invoke_convert_args_ptr 0x083FC4B0
|
||||
#define il2cpp_runtime_object_init_ptr 0x083FC4D0
|
||||
#define il2cpp_runtime_object_init_exception_ptr 0x083FC4E0
|
||||
#define il2cpp_runtime_unhandled_exception_policy_set_ptr 0x083FC4F0
|
||||
#define il2cpp_set_commandline_arguments_ptr 0x083FC500
|
||||
#define il2cpp_set_commandline_arguments_utf16_ptr 0x083FC510
|
||||
#define il2cpp_set_config_ptr 0x083FC520
|
||||
#define il2cpp_set_config_dir_ptr 0x083FC530
|
||||
#define il2cpp_set_config_utf16_ptr 0x083FC540
|
||||
#define il2cpp_set_data_dir_ptr 0x083FC550
|
||||
#define il2cpp_set_disable_gc_parallel_mark_ptr 0x084D7360
|
||||
#define il2cpp_set_find_plugin_callback_ptr 0x083FC570
|
||||
#define il2cpp_set_gc_suspend_wait_tick_ptr 0x084D7380
|
||||
#define il2cpp_set_memory_callbacks_ptr 0x083FC590
|
||||
#define il2cpp_set_output_redirected_file_path_ptr 0x084D73A0
|
||||
#define il2cpp_set_parallel_android_affinity_ptr 0x084D73B0
|
||||
#define il2cpp_set_parallel_android_cupcount_ptr 0x084D73C0
|
||||
#define il2cpp_set_temp_dir_ptr 0x083FC5D0
|
||||
#define il2cpp_shutdown_ptr 0x083FC5E0
|
||||
#define il2cpp_stats_dump_to_file_ptr 0x083FC5F0
|
||||
#define il2cpp_stats_get_value_ptr 0x083FC870
|
||||
#define il2cpp_string_chars_ptr 0x083FC8F0
|
||||
#define il2cpp_string_intern_ptr 0x083FC900
|
||||
#define il2cpp_string_is_interned_ptr 0x083FC910
|
||||
#define il2cpp_string_length_ptr 0x083FC920
|
||||
#define il2cpp_string_new_ptr 0x083FC930
|
||||
#define il2cpp_string_new_len_ptr 0x083FC940
|
||||
#define il2cpp_string_new_utf16_ptr 0x083FC950
|
||||
#define il2cpp_string_new_wrapper_ptr 0x083FC930
|
||||
#define il2cpp_thread_attach_ptr 0x083FC960
|
||||
#define il2cpp_thread_current_ptr 0x083FC970
|
||||
#define il2cpp_thread_detach_ptr 0x083FC980
|
||||
#define il2cpp_thread_get_all_attached_threads_ptr 0x083FC990
|
||||
#define il2cpp_thread_get_frame_at_ptr 0x083FC9A0
|
||||
#define il2cpp_thread_get_name_ptr 0x083FC9B0
|
||||
#define il2cpp_thread_get_stack_depth_ptr 0x083FC9C0
|
||||
#define il2cpp_thread_get_top_frame_ptr 0x083FC9D0
|
||||
#define il2cpp_thread_walk_frame_stack_ptr 0x083FC9E0
|
||||
#define il2cpp_type_get_class_or_element_class_ptr 0x083FC9F0
|
||||
#define il2cpp_type_get_name_ptr 0x083FCA00
|
||||
#define il2cpp_type_get_object_ptr 0x083FCAC0
|
||||
#define il2cpp_type_get_type_ptr 0x083FCAD0
|
||||
#define il2cpp_unhandled_exception_ptr 0x083FCAE0
|
||||
#define il2cpp_unity_liveness_calculation_begin_ptr 0x083FCAF0
|
||||
#define il2cpp_unity_liveness_calculation_end_ptr 0x083FCB00
|
||||
#define il2cpp_unity_liveness_calculation_from_root_ptr 0x083FCB10
|
||||
#define il2cpp_unity_liveness_calculation_from_statics_ptr 0x083FCB20
|
||||
#define il2cpp_value_box_ptr 0x083FCB30
|
||||
#define il2cpp_add_internal_call_ptr 0x006CB6F0
|
||||
#define il2cpp_alloc_ptr 0x006CB700
|
||||
#define il2cpp_allocation_granularity_ptr 0x0019E6E0
|
||||
#define il2cpp_array_class_get_ptr 0x006CB710
|
||||
#define il2cpp_array_element_size_ptr 0x006CB720
|
||||
#define il2cpp_array_get_byte_length_ptr 0x006EEA60
|
||||
#define il2cpp_array_length_ptr 0x006CB730
|
||||
#define il2cpp_array_new_ptr 0x006CB740
|
||||
#define il2cpp_array_new_full_ptr 0x006CB750
|
||||
#define il2cpp_array_new_specific_ptr 0x006CB760
|
||||
#define il2cpp_array_object_header_size_ptr 0x006CB770
|
||||
#define il2cpp_assembly_get_image_ptr 0x006CB8B0
|
||||
#define il2cpp_bounded_array_class_get_ptr 0x006CB780
|
||||
#define il2cpp_capture_memory_snapshot_ptr 0x006CB790
|
||||
#define il2cpp_class_array_element_size_ptr 0x006CB7A0
|
||||
#define il2cpp_class_enum_basetype_ptr 0x006CB7B0
|
||||
#define il2cpp_class_for_each_ptr 0x006CB7C0
|
||||
#define il2cpp_class_from_il2cpp_type_ptr 0x006CB7D0
|
||||
#define il2cpp_class_from_name_ptr 0x006CB7E0
|
||||
#define il2cpp_class_from_system_type_ptr 0x006CB7F0
|
||||
#define il2cpp_class_from_type_ptr 0x006CB7D0
|
||||
#define il2cpp_class_get_assemblyname_ptr 0x006CB800
|
||||
#define il2cpp_class_get_bitmap_ptr 0x006CB810
|
||||
#define il2cpp_class_get_bitmap_size_ptr 0x006CB830
|
||||
#define il2cpp_class_get_data_size_ptr 0x006CB840
|
||||
#define il2cpp_class_get_declaring_type_ptr 0x006CB850
|
||||
#define il2cpp_class_get_element_class_ptr 0x006CB860
|
||||
#define il2cpp_class_get_events_ptr 0x006CB870
|
||||
#define il2cpp_class_get_field_from_name_ptr 0x006CB880
|
||||
#define il2cpp_class_get_fields_ptr 0x006CB890
|
||||
#define il2cpp_class_get_flags_ptr 0x006CB8A0
|
||||
#define il2cpp_class_get_image_ptr 0x006CB8B0
|
||||
#define il2cpp_class_get_interfaces_ptr 0x006CB8C0
|
||||
#define il2cpp_class_get_method_from_name_ptr 0x006CB8D0
|
||||
#define il2cpp_class_get_methods_ptr 0x006CB8E0
|
||||
#define il2cpp_class_get_name_ptr 0x006CBFB0
|
||||
#define il2cpp_class_get_namespace_ptr 0x006CC330
|
||||
#define il2cpp_class_get_nested_types_ptr 0x006CB8F0
|
||||
#define il2cpp_class_get_parent_ptr 0x006CB900
|
||||
#define il2cpp_class_get_properties_ptr 0x006CB910
|
||||
#define il2cpp_class_get_property_from_name_ptr 0x006CB920
|
||||
#define il2cpp_class_get_rank_ptr 0x006CB930
|
||||
#define il2cpp_class_get_static_field_data_ptr 0x00129FB0
|
||||
#define il2cpp_class_get_type_ptr 0x006E7340
|
||||
#define il2cpp_class_get_type_token_ptr 0x006CB940
|
||||
#define il2cpp_class_get_userdata_offset_ptr 0x006CB950
|
||||
#define il2cpp_class_has_attribute_ptr 0x006CB960
|
||||
#define il2cpp_class_has_parent_ptr 0x006CB970
|
||||
#define il2cpp_class_has_references_ptr 0x006CB980
|
||||
#define il2cpp_class_instance_size_ptr 0x006CB990
|
||||
#define il2cpp_class_is_abstract_ptr 0x006CB9A0
|
||||
#define il2cpp_class_is_assignable_from_ptr 0x006CB9B0
|
||||
#define il2cpp_class_is_blittable_ptr 0x006CB9C0
|
||||
#define il2cpp_class_is_enum_ptr 0x006CB9D0
|
||||
#define il2cpp_class_is_generic_ptr 0x006CB9E0
|
||||
#define il2cpp_class_is_inflated_ptr 0x006CB9F0
|
||||
#define il2cpp_class_is_interface_ptr 0x006CBA00
|
||||
#define il2cpp_class_is_subclass_of_ptr 0x006CBA10
|
||||
#define il2cpp_class_is_valuetype_ptr 0x006CBA20
|
||||
#define il2cpp_class_num_fields_ptr 0x006CBA30
|
||||
#define il2cpp_class_set_userdata_ptr 0x006CBA40
|
||||
#define il2cpp_class_value_size_ptr 0x006CBA50
|
||||
#define il2cpp_current_thread_get_frame_at_ptr 0x006CBA60
|
||||
#define il2cpp_current_thread_get_stack_depth_ptr 0x006CBA70
|
||||
#define il2cpp_current_thread_get_top_frame_ptr 0x006CBA90
|
||||
#define il2cpp_current_thread_walk_frame_stack_ptr 0x006CBAA0
|
||||
#define il2cpp_custom_attrs_construct_ptr 0x006CBAB0
|
||||
#define il2cpp_custom_attrs_free_ptr 0x001C8D70
|
||||
#define il2cpp_custom_attrs_from_class_ptr 0x006CBAC0
|
||||
#define il2cpp_custom_attrs_from_method_ptr 0x006CBAE0
|
||||
#define il2cpp_custom_attrs_get_attr_ptr 0x006CBB00
|
||||
#define il2cpp_custom_attrs_has_attr_ptr 0x006CBB10
|
||||
#define il2cpp_debug_get_method_info_ptr 0x006CBB20
|
||||
#define il2cpp_debugger_set_agent_options_ptr 0x001C8D70
|
||||
#define il2cpp_domain_assembly_open_ptr 0x006CBB30
|
||||
#define il2cpp_domain_get_ptr 0x006CBB40
|
||||
#define il2cpp_domain_get_assemblies_ptr 0x006CBB50
|
||||
#define il2cpp_enable_object_type_mutex_ptr 0x006CBB80
|
||||
#define il2cpp_exception_from_name_msg_ptr 0x006CBB90
|
||||
#define il2cpp_field_get_flags_ptr 0x006CBBA0
|
||||
#define il2cpp_field_get_name_ptr 0x006CB8B0
|
||||
#define il2cpp_field_get_offset_ptr 0x006CBBB0
|
||||
#define il2cpp_field_get_parent_ptr 0x006CBFB0
|
||||
#define il2cpp_field_get_type_ptr 0x006CBBC0
|
||||
#define il2cpp_field_get_value_ptr 0x006CBBD0
|
||||
#define il2cpp_field_get_value_object_ptr 0x006CBBE0
|
||||
#define il2cpp_field_has_attribute_ptr 0x006CBBF0
|
||||
#define il2cpp_field_is_literal_ptr 0x006CBC00
|
||||
#define il2cpp_field_set_value_ptr 0x006CBC10
|
||||
#define il2cpp_field_set_value_object_ptr 0x006CBC20
|
||||
#define il2cpp_field_static_get_value_ptr 0x006CBC30
|
||||
#define il2cpp_field_static_set_value_ptr 0x006CBC40
|
||||
#define il2cpp_format_exception_ptr 0x006CBC50
|
||||
#define il2cpp_format_stack_trace_ptr 0x006CBD00
|
||||
#define il2cpp_free_ptr 0x006E2A60
|
||||
#define il2cpp_free_captured_memory_snapshot_ptr 0x006CBDB0
|
||||
#define il2cpp_gc_collect_ptr 0x006CBDC0
|
||||
#define il2cpp_gc_collect_a_little_ptr 0x006CBDD0
|
||||
#define il2cpp_gc_disable_ptr 0x006CBDE0
|
||||
#define il2cpp_gc_dump_append_text_to_log_ptr 0x006CBDF0
|
||||
#define il2cpp_gc_dump_info_ptr 0x006CBE00
|
||||
#define il2cpp_gc_dump_set_large_allocated_block_found_callback_ptr 0x006CBE10
|
||||
#define il2cpp_gc_dump_set_small_allocated_block_found_callback_ptr 0x006CBE20
|
||||
#define il2cpp_gc_enable_ptr 0x006CBE30
|
||||
#define il2cpp_gc_foreach_heap_ptr 0x006CBE40
|
||||
#define il2cpp_gc_get_heap_size_ptr 0x006CBE70
|
||||
#define il2cpp_gc_get_max_time_slice_ns_ptr 0x006CBE80
|
||||
#define il2cpp_gc_get_used_size_ptr 0x006CBE90
|
||||
#define il2cpp_gc_has_strict_wbarriers_ptr 0x006D35C0
|
||||
#define il2cpp_gc_is_disabled_ptr 0x006CBEA0
|
||||
#define il2cpp_gc_is_incremental_ptr 0x006CBEB0
|
||||
#define il2cpp_gc_set_external_allocation_tracker_ptr 0x001C8D70
|
||||
#define il2cpp_gc_set_external_wbarrier_tracker_ptr 0x001C8D70
|
||||
#define il2cpp_gc_set_max_time_slice_ns_ptr 0x006CBEC0
|
||||
#define il2cpp_gc_set_object_malloc_callback_ptr 0x006CBED0
|
||||
#define il2cpp_gc_set_object_return_freelist_callback_ptr 0x006CBEE0
|
||||
#define il2cpp_gc_wbarrier_set_field_ptr 0x006CBEF0
|
||||
#define il2cpp_gchandle_foreach_get_target_ptr 0x006CBF00
|
||||
#define il2cpp_gchandle_free_ptr 0x006E2A50
|
||||
#define il2cpp_gchandle_get_target_ptr 0x006CBF30
|
||||
#define il2cpp_gchandle_new_ptr 0x006CBF40
|
||||
#define il2cpp_gchandle_new_weakref_ptr 0x006CBF50
|
||||
#define il2cpp_get_committed_memory_size_ptr 0x006CBF60
|
||||
#define il2cpp_get_corlib_ptr 0x006CBF70
|
||||
#define il2cpp_get_exception_argument_null_ptr 0x00757750
|
||||
#define il2cpp_get_hash_table_memory_ptr 0x006CBF80
|
||||
#define il2cpp_get_meta_data_pool_memory_ptr 0x006CBF90
|
||||
#define il2cpp_image_get_assembly_ptr 0x006CBFB0
|
||||
#define il2cpp_image_get_class_ptr 0x006CBFC0
|
||||
#define il2cpp_image_get_class_count_ptr 0x006CBFD0
|
||||
#define il2cpp_image_get_entry_point_ptr 0x006CBFE0
|
||||
#define il2cpp_image_get_filename_ptr 0x006CB8B0
|
||||
#define il2cpp_image_get_name_ptr 0x006CB8B0
|
||||
#define il2cpp_init_ptr 0x006CBFF0
|
||||
#define il2cpp_init_security_ptr 0x006CC020
|
||||
#define il2cpp_init_utf16_ptr 0x006CC040
|
||||
#define il2cpp_is_debugger_attached_ptr 0x006CC0F0
|
||||
#define il2cpp_is_vm_thread_ptr 0x006CC100
|
||||
#define il2cpp_method_get_class_ptr 0x006CC330
|
||||
#define il2cpp_method_get_declaring_type_ptr 0x006CC330
|
||||
#define il2cpp_method_get_flags_ptr 0x006CC110
|
||||
#define il2cpp_method_get_from_reflection_ptr 0x006CBFB0
|
||||
#define il2cpp_method_get_name_ptr 0x006CBFB0
|
||||
#define il2cpp_method_get_object_ptr 0x006CC140
|
||||
#define il2cpp_method_get_param_ptr 0x006CC150
|
||||
#define il2cpp_method_get_param_count_ptr 0x006CC160
|
||||
#define il2cpp_method_get_param_name_ptr 0x006CC170
|
||||
#define il2cpp_method_get_return_type_ptr 0x006CC180
|
||||
#define il2cpp_method_get_token_ptr 0x006CC190
|
||||
#define il2cpp_method_has_attribute_ptr 0x006CC1A0
|
||||
#define il2cpp_method_is_generic_ptr 0x006CC1B0
|
||||
#define il2cpp_method_is_inflated_ptr 0x006CC1C0
|
||||
#define il2cpp_method_is_instance_ptr 0x006CC1D0
|
||||
#define il2cpp_monitor_enter_ptr 0x006CC1E0
|
||||
#define il2cpp_monitor_exit_ptr 0x006CC1F0
|
||||
#define il2cpp_monitor_pulse_ptr 0x006CC200
|
||||
#define il2cpp_monitor_pulse_all_ptr 0x006CC210
|
||||
#define il2cpp_monitor_try_enter_ptr 0x006CC220
|
||||
#define il2cpp_monitor_try_wait_ptr 0x006CC230
|
||||
#define il2cpp_monitor_wait_ptr 0x006CC240
|
||||
#define il2cpp_object_get_class_ptr 0x006CB8B0
|
||||
#define il2cpp_object_get_size_ptr 0x006CC250
|
||||
#define il2cpp_object_get_virtual_method_ptr 0x006CC260
|
||||
#define il2cpp_object_header_size_ptr 0x0019E6E0
|
||||
#define il2cpp_object_new_ptr 0x006CC270
|
||||
#define il2cpp_object_unbox_ptr 0x006CC290
|
||||
#define il2cpp_offset_of_array_bounds_in_array_object_header_ptr 0x0019E6E0
|
||||
#define il2cpp_offset_of_array_length_in_array_object_header_ptr 0x00121970
|
||||
#define il2cpp_override_stack_backtrace_ptr 0x006CC2A0
|
||||
#define il2cpp_profiler_install_ptr 0x006CC2B0
|
||||
#define il2cpp_profiler_install_allocation_ptr 0x006CC2C0
|
||||
#define il2cpp_profiler_install_enter_leave_ptr 0x006CC2D0
|
||||
#define il2cpp_profiler_install_fileio_ptr 0x006CC2E0
|
||||
#define il2cpp_profiler_install_gc_ptr 0x006CC2F0
|
||||
#define il2cpp_profiler_install_thread_ptr 0x006CC300
|
||||
#define il2cpp_profiler_set_events_ptr 0x006CC310
|
||||
#define il2cpp_property_get_flags_ptr 0x006CC320
|
||||
#define il2cpp_property_get_get_method_ptr 0x006CBFB0
|
||||
#define il2cpp_property_get_name_ptr 0x006CBBC0
|
||||
#define il2cpp_property_get_parent_ptr 0x006CB8B0
|
||||
#define il2cpp_property_get_set_method_ptr 0x006CC330
|
||||
#define il2cpp_raise_exception_ptr 0x006CC340
|
||||
#define il2cpp_register_debugger_agent_transport_ptr 0x001C8D70
|
||||
#define il2cpp_register_filedelete_callback_ptr 0x006CC350
|
||||
#define il2cpp_register_filemodify_callback_ptr 0x006CC360
|
||||
#define il2cpp_register_log_callback_ptr 0x006CC370
|
||||
#define il2cpp_resolve_icall_ptr 0x006CC380
|
||||
#define il2cpp_runtime_class_init_ptr 0x00757A20
|
||||
#define il2cpp_runtime_invoke_ptr 0x006CC390
|
||||
#define il2cpp_runtime_invoke_convert_args_ptr 0x006CC3B0
|
||||
#define il2cpp_runtime_object_init_ptr 0x006CC3D0
|
||||
#define il2cpp_runtime_object_init_exception_ptr 0x006CC3E0
|
||||
#define il2cpp_runtime_unhandled_exception_policy_set_ptr 0x006CC3F0
|
||||
#define il2cpp_set_commandline_arguments_ptr 0x006CC400
|
||||
#define il2cpp_set_commandline_arguments_utf16_ptr 0x006CC410
|
||||
#define il2cpp_set_config_ptr 0x006CC420
|
||||
#define il2cpp_set_config_dir_ptr 0x006CC430
|
||||
#define il2cpp_set_config_utf16_ptr 0x006CC440
|
||||
#define il2cpp_set_data_dir_ptr 0x006CC450
|
||||
#define il2cpp_set_default_thread_affinity_ptr 0x006CC460
|
||||
#define il2cpp_set_disable_gc_parallel_mark_ptr 0x006CC470
|
||||
#define il2cpp_set_find_plugin_callback_ptr 0x006CC480
|
||||
#define il2cpp_set_memory_callbacks_ptr 0x006CC490
|
||||
#define il2cpp_set_output_redirected_file_path_ptr 0x006CC4A0
|
||||
#define il2cpp_set_parallel_android_affinity_ptr 0x006CC4B0
|
||||
#define il2cpp_set_parallel_android_cupcount_ptr 0x006CC4C0
|
||||
#define il2cpp_set_temp_dir_ptr 0x006CC4D0
|
||||
#define il2cpp_shutdown_ptr 0x006CC4E0
|
||||
#define il2cpp_start_gc_world_ptr 0x006CC4F0
|
||||
#define il2cpp_stats_dump_to_file_ptr 0x006D35C0
|
||||
#define il2cpp_stats_get_value_ptr 0x006E2AF0
|
||||
#define il2cpp_stop_gc_world_ptr 0x006CC500
|
||||
#define il2cpp_string_chars_ptr 0x006CC510
|
||||
#define il2cpp_string_intern_ptr 0x006CC520
|
||||
#define il2cpp_string_is_interned_ptr 0x006CC530
|
||||
#define il2cpp_string_length_ptr 0x006CC540
|
||||
#define il2cpp_string_new_ptr 0x00757A30
|
||||
#define il2cpp_string_new_len_ptr 0x006CC550
|
||||
#define il2cpp_string_new_utf16_ptr 0x006CC560
|
||||
#define il2cpp_string_new_wrapper_ptr 0x00757A30
|
||||
#define il2cpp_thread_attach_ptr 0x006CC570
|
||||
#define il2cpp_thread_current_ptr 0x006CC580
|
||||
#define il2cpp_thread_detach_ptr 0x006CC590
|
||||
#define il2cpp_thread_get_all_attached_threads_ptr 0x006CC5A0
|
||||
#define il2cpp_thread_get_frame_at_ptr 0x006CC5B0
|
||||
#define il2cpp_thread_get_stack_depth_ptr 0x006CC5C0
|
||||
#define il2cpp_thread_get_top_frame_ptr 0x006CC5D0
|
||||
#define il2cpp_thread_walk_frame_stack_ptr 0x006CC5E0
|
||||
#define il2cpp_type_equals_ptr 0x006CC5F0
|
||||
#define il2cpp_type_get_assembly_qualified_name_ptr 0x006CC600
|
||||
#define il2cpp_type_get_attrs_ptr 0x006CC6C0
|
||||
#define il2cpp_type_get_class_or_element_class_ptr 0x006CC6D0
|
||||
#define il2cpp_type_get_name_ptr 0x006CC6E0
|
||||
#define il2cpp_type_get_name_chunked_ptr 0x006CC7A0
|
||||
#define il2cpp_type_get_object_ptr 0x00757A50
|
||||
#define il2cpp_type_get_type_ptr 0x006CC7B0
|
||||
#define il2cpp_type_is_byref_ptr 0x006CC7C0
|
||||
#define il2cpp_type_is_pointer_type_ptr 0x006CC7D0
|
||||
#define il2cpp_type_is_static_ptr 0x006CC7E0
|
||||
#define il2cpp_unhandled_exception_ptr 0x006EC170
|
||||
#define il2cpp_unity_install_unitytls_interface_ptr 0x006CC7F0
|
||||
#define il2cpp_unity_liveness_calculation_begin_ptr 0x006CC800
|
||||
#define il2cpp_unity_liveness_calculation_end_ptr 0x006CC810
|
||||
#define il2cpp_unity_liveness_calculation_from_root_ptr 0x006CC820
|
||||
#define il2cpp_unity_liveness_calculation_from_statics_ptr 0x006CC830
|
||||
#define il2cpp_value_box_ptr 0x007575C0
|
||||
|
@ -8,294 +8,290 @@ using namespace app;
|
||||
|
||||
|
||||
// Map hooks
|
||||
DO_APP_FUNC(0x013815E0, void, InLevelMapPageContext_OnMarkClicked, (InLevelMapPageContext* __this, MonoMapMark* mark, MethodInfo* method));
|
||||
DO_APP_FUNC(0x01390800, void, InLevelMapPageContext_OnMapClicked, (InLevelMapPageContext* __this, Vector2 screenPos, MethodInfo* method));
|
||||
DO_APP_FUNC(0x0158AD40, bool, MapModule_IsAreaUnlock, (MapModule* __this, uint32_t sceneID, uint32_t areaID, MethodInfo* method));
|
||||
DO_APP_FUNC(0x02E9F9E0, void, InLevelMapPageContext_OnMarkClicked, (InLevelMapPageContext* __this, MonoMapMark* mark, MethodInfo* method));
|
||||
DO_APP_FUNC(0x02E85EC0, void, InLevelMapPageContext_OnMapClicked, (InLevelMapPageContext* __this, Vector2 screenPos, MethodInfo* method));
|
||||
DO_APP_FUNC(0x00F0DCE0, bool, MapModule_IsAreaUnlock, (MapModule* __this, uint32_t sceneID, uint32_t areaID, MethodInfo* method));
|
||||
|
||||
// changed to:
|
||||
// DO_APP_FUNC(0, uint16_t, MoleMole_SimpleSafeUInt16_DBDMOONJALD_1, (MoleMole_SimpleSafeUInt16 v, MethodInfo * method));
|
||||
// DO_APP_FUNC(0x01B0A910, uint16_t, MoleMole_SimpleSafeUInt16_DBDMOONJALD_1, (MoleMole_SimpleSafeUInt16 v, MethodInfo * method));
|
||||
// DBDMOONJALD => op_Implicit
|
||||
DO_APP_FUNC(0x05036C50, uint16_t, SimpleSafeUInt16_get_Value, (void* __this, SimpleSafeUInt16 rawValue, MethodInfo* method));
|
||||
DO_APP_FUNC(0x03427B90, uint32_t, SimpleSafeUInt32_get_Value, (void* __this, app::SimpleSafeUInt32 rawValue, MethodInfo* method));
|
||||
DO_APP_FUNC(0x01B0A910, uint16_t, SimpleSafeUInt16_get_Value, (SimpleSafeUInt16 v, MethodInfo* method));
|
||||
DO_APP_FUNC(0x0400F280, uint32_t, SimpleSafeUInt32_get_Value, (SimpleSafeUInt32 v, MethodInfo* method));
|
||||
|
||||
// Map utility
|
||||
DO_APP_FUNC(0x04339D30, Rect, MonoInLevelMapPage_get_mapRect, (MonoInLevelMapPage* __this, MethodInfo* method));
|
||||
DO_APP_FUNC(0x04339D00, Transform*, MonoInLevelMapPage_get_mapBackground, (MonoInLevelMapPage* __this, MethodInfo* method));
|
||||
DO_APP_FUNC(0x00E866B0, Rect, MonoInLevelMapPage_get_mapRect, (MonoInLevelMapPage* __this, MethodInfo* method));
|
||||
DO_APP_FUNC(0x00E86680, Transform*, MonoInLevelMapPage_get_mapBackground, (MonoInLevelMapPage* __this, MethodInfo* method));
|
||||
|
||||
|
||||
// Teleport hooks
|
||||
DO_APP_FUNC(0x03253B80, void, GameManager_Update, (GameManager* __this, MethodInfo* method));
|
||||
DO_APP_FUNC(0x017F49E0, void, LoadingManager_SceneGoto, (LoadingManager* __this, PlayerEnterSceneNotify* notify, MethodInfo* method));
|
||||
DO_APP_FUNC(0x017F1310, void, LoadingManager_PerformPlayerTransmit, (LoadingManager* __this, Vector3 targetPos, EnterType__Enum enterType, uint32_t token, EvtTransmitAvatar_EvtTransmitAvatar_TransmitType__Enum transType, uint32_t enterReason, MethodInfo* method));
|
||||
DO_APP_FUNC(0x017F21F0, void, LoadingManager_RequestSceneTransToPoint, (LoadingManager* __this, uint32_t sceneId, uint32_t pointId, void* finishCallBackInForceDrag, MethodInfo* method));
|
||||
DO_APP_FUNC(0x017F4FE0, bool, LoadingManager_NeedTransByServer, (LoadingManager* __this, uint32_t sceneId, Vector3 position, MethodInfo* method));
|
||||
DO_APP_FUNC(0x07758D10, Vector3, LocalEntityInfoData_GetTargetPos, (LocalEntityInfoData* __this, MethodInfo* method));
|
||||
DO_APP_FUNC(0x028AD260, void, GameManager_Update, (GameManager* __this, MethodInfo* method));
|
||||
DO_APP_FUNC(0x01F54110, void, LoadingManager_SceneGoto, (LoadingManager* __this, PlayerEnterSceneNotify* notify, MethodInfo* method));
|
||||
DO_APP_FUNC(0x01F55300, void, LoadingManager_PerformPlayerTransmit, (LoadingManager* __this, Vector3 targetPos, EnterType__Enum enterType, uint32_t token, EvtTransmitAvatar_EvtTransmitAvatar_TransmitType__Enum transType, uint32_t enterReason, MethodInfo* method));
|
||||
DO_APP_FUNC(0x01F563C0, void, LoadingManager_RequestSceneTransToPoint, (LoadingManager* __this, uint32_t sceneId, uint32_t pointId, void* finishCallBackInForceDrag, MethodInfo* method));
|
||||
DO_APP_FUNC(0x01F57E60, bool, LoadingManager_NeedTransByServer, (LoadingManager* __this, uint32_t sceneId, Vector3 position, MethodInfo* method));
|
||||
DO_APP_FUNC(0x0104A6D0, Vector3, LocalEntityInfoData_get_initPos, (LocalEntityInfoData* __this, MethodInfo* method)); // shared offset
|
||||
|
||||
|
||||
// Unlimited stamina
|
||||
DO_APP_FUNC(0x04BDB410, void, LevelSyncCombatPlugin_RequestSceneEntityMoveReq, (LevelSyncCombatPlugin* __this, uint32_t entityId, MotionInfo* syncInfo, bool isReliable, uint32_t HAOCOEMOMBG, MethodInfo* method));
|
||||
DO_APP_FUNC(0x0186C290, void, DataItem_HandleNormalProp, (DataItem* __this, uint32_t type, int64_t value, DataPropOp__Enum state, MethodInfo* method));
|
||||
DO_APP_FUNC(0x01F17820, void, LevelSyncCombatPlugin_RequestSceneEntityMoveReq, (LevelSyncCombatPlugin* __this, uint32_t entityId, MotionInfo* syncInfo, bool isReliable, uint32_t HAOCOEMOMBG, MethodInfo* method));
|
||||
DO_APP_FUNC(0x016189E0, void, DataItem_HandleNormalProp, (DataItem* __this, uint32_t type, int64_t value, DataPropOp__Enum state, MethodInfo* method));
|
||||
|
||||
|
||||
// God mode
|
||||
DO_APP_FUNC(0x049428D0, void, VCHumanoidMove_NotifyLandVelocity, (VCHumanoidMove* __this, Vector3 velocity, float reachMaxDownVelocityTime, MethodInfo* method));
|
||||
DO_APP_FUNC(0x015E1C90, bool, Miscs_CheckTargetAttackable, (void* __this, BaseEntity* attackerEntity, /* CBIKBDBKLEG */ BaseEntity* targetEntity, MethodInfo* method));
|
||||
// DO_APP_FUNC(0x02ADE320, void, LCBaseCombat_FireBeingHitEvent, (LCBaseCombat* __this, uint32_t attackeeRuntimeID, AttackResult* attackResult, MethodInfo* method));
|
||||
DO_APP_FUNC(0x027DB100, void, VCHumanoidMove_NotifyLandVelocity, (VCHumanoidMove* __this, Vector3 velocity, float reachMaxDownVelocityTime, MethodInfo* method));
|
||||
DO_APP_FUNC(0x036889B0, bool, Miscs_CheckTargetAttackable, (void* __this, BaseEntity* attackerEntity, BaseEntity* targetEntity, MethodInfo* method));
|
||||
// DO_APP_FUNC(0x00D0CA90, void, LCBaseCombat_FireBeingHitEvent, (LCBaseCombat* __this, uint32_t attackeeRuntimeID, AttackResult* attackResult, MethodInfo* method));
|
||||
|
||||
|
||||
// Cooldown cheats
|
||||
DO_APP_FUNC(0x024D5450, bool, HumanoidMoveFSM_CheckSprintCooldown, (/* HumanoidMoveFSM */void* __this, MethodInfo* method));
|
||||
DO_APP_FUNC(0x02548810, bool, LCAvatarCombat_IsEnergyMax, (void* __this, MethodInfo* method));
|
||||
DO_APP_FUNC(0x0254A170, void, LCAvatarCombat_ChangeEnergy_1, (LCAvatarCombat* __this, ElementType__Enum type, float value, DataPropOp__Enum state, MethodInfo* method));
|
||||
DO_APP_FUNC(0x0254D660, bool, LCAvatarCombat_OnSkillStart, (LCAvatarCombat* __this, uint32_t skillID, float cdMultipler, MethodInfo* method));
|
||||
DO_APP_FUNC(0x02546C10, bool, LCAvatarCombat_IsSkillInCD_1, (LCAvatarCombat* __this, LCAvatarCombat_OMIIMOJOHIP* skillInfo, MethodInfo* method));
|
||||
DO_APP_FUNC(0x00C69910, bool, HumanoidMoveFSM_CheckSprintCooldown, (/* HumanoidMoveFSM */void* __this, MethodInfo* method));
|
||||
DO_APP_FUNC(0x01530C80, bool, LCAvatarCombat_IsEnergyMax, (void* __this, MethodInfo* method));
|
||||
DO_APP_FUNC(0x01530480, void, LCAvatarCombat_ChangeEnergy_1, (LCAvatarCombat* __this, ElementType__Enum type, float value, DataPropOp__Enum state, MethodInfo* method));
|
||||
DO_APP_FUNC(0x0152DC10, bool, LCAvatarCombat_OnSkillStart, (LCAvatarCombat* __this, uint32_t skillID, float cdMultipler, MethodInfo* method));
|
||||
DO_APP_FUNC(0x01530210, bool, LCAvatarCombat_IsSkillInCD_1, (LCAvatarCombat* __this, LCAvatarCombat_OMIIMOJOHIP* skillInfo, MethodInfo* method));
|
||||
|
||||
DO_APP_FUNC(0x0112A110, void, ActorAbilityPlugin_AddDynamicFloatWithRange, (void* __this, String* key, float value, float min, float max, bool forceDoAtRemote, MethodInfo* method));
|
||||
DO_APP_FUNC(0x02385800, void, ActorAbilityPlugin_AddDynamicFloatWithRange, (void* __this, String* key, float value, float min, float max, bool forceDoAtRemote, MethodInfo* method));
|
||||
|
||||
// Rapid fire
|
||||
DO_APP_FUNC(0x0318B070, void, LCBaseCombat_DoHitEntity, (LCBaseCombat* __this, uint32_t targetID, AttackResult* attackResult, bool ignoreCheckCanBeHitInMP, MethodInfo* method));
|
||||
DO_APP_FUNC(0x029B4870, void, Formula_CalcAttackResult, (void* __this, CombatProperty* attackCombatProperty, CombatProperty* defenseCombatProperty, AttackResult* attackResult, BaseEntity* attackerEntity, BaseEntity* attackeeEntity, MethodInfo* method));
|
||||
DO_APP_FUNC(0x00D12040, void, LCBaseCombat_DoHitEntity, (LCBaseCombat* __this, uint32_t targetID, AttackResult* attackResult, bool ignoreCheckCanBeHitInMP, MethodInfo* method));
|
||||
DO_APP_FUNC(0x01F0D930, void, Formula_CalcAttackResult, (CombatProperty* attackCombatProperty, CombatProperty* defenseCombatProperty, AttackResult* attackResult, BaseEntity* attackerEntity, BaseEntity* attackeeEntity, MethodInfo* method));
|
||||
|
||||
|
||||
// World cheats
|
||||
DO_APP_FUNC(0x01A56020, void, VCMonsterAIController_TryDoSkill, (/* VCMonsterAIController */ void* __this, uint32_t skillID, MethodInfo* method)); // Manual
|
||||
DO_APP_FUNC(0x0426A900, void, LCSelectPickup_AddInteeBtnByID, (void* __this, BaseEntity* entity, MethodInfo* method));
|
||||
DO_APP_FUNC(0x0426BDA0, bool, LCSelectPickup_IsInPosition, (void* __this, BaseEntity* entity, MethodInfo* method));
|
||||
DO_APP_FUNC(0x0426C350, bool, LCSelectPickup_IsOutPosition, (void* __this, BaseEntity* entity, MethodInfo* method));
|
||||
DO_APP_FUNC(0x03D31930, void, ItemModule_PickItem, (ItemModule* __this, uint32_t entityID, MethodInfo* method));
|
||||
DO_APP_FUNC(0x017B0A10, void, LevelSceneElementViewPlugin_Tick, (LevelSceneElementViewPlugin* __this, float inDeltaTime, MethodInfo* method));
|
||||
DO_APP_FUNC(0x022C3450, void, VCMonsterAIController_TryDoSkill, (/* VCMonsterAIController */ void* __this, uint32_t skillID, MethodInfo* method)); // Manual
|
||||
DO_APP_FUNC(0x020FA730, void, LCSelectPickup_AddInteeBtnByID, (void* __this, BaseEntity* entity, MethodInfo* method));
|
||||
DO_APP_FUNC(0x020FA090, bool, LCSelectPickup_IsInPosition, (void* __this, BaseEntity* entity, MethodInfo* method));
|
||||
DO_APP_FUNC(0x020FC120, bool, LCSelectPickup_IsOutPosition, (void* __this, BaseEntity* entity, MethodInfo* method));
|
||||
DO_APP_FUNC(0x0219B8E0, void, ItemModule_PickItem, (ItemModule* __this, uint32_t entityID, MethodInfo* method));
|
||||
DO_APP_FUNC(0x00C2F710, void, LevelSceneElementViewPlugin_Tick, (LevelSceneElementViewPlugin* __this, float inDeltaTime, MethodInfo* method));
|
||||
|
||||
// Time functions
|
||||
DO_APP_FUNC(0x073D35A0, float, Time_get_timeScale, (void* __this, MethodInfo* method));
|
||||
DO_APP_FUNC(0x073D3940, void, Time_set_timeScale, (void* __this, float value, MethodInfo* method));
|
||||
|
||||
// Dialog skipping
|
||||
DO_APP_FUNC(0x0204A380, bool, TalkDialogContext_get_canClick, (TalkDialogContext* __this, MethodInfo* method)); // delete
|
||||
DO_APP_FUNC(0x02052990, bool, TalkDialogContext_get_canAutoClick, (TalkDialogContext* __this, MethodInfo* method));
|
||||
DO_APP_FUNC(0x0204E820, void, TalkDialogContext_OnDialogSelectItem, (TalkDialogContext* __this, Notify* notify, MethodInfo* method));
|
||||
DO_APP_FUNC(0x0419D8A0, void, InLevelCutScenePageContext_OnFreeClick, (InLevelCutScenePageContext* __this, MethodInfo* method)); // manual
|
||||
DO_APP_FUNC(0x0419F270, void, InLevelCutScenePageContext_UpdateView, (InLevelCutScenePageContext* __this, MethodInfo* method)); // manual (find by InLevelCutScenePageContext_ShowSkipBtn)
|
||||
DO_APP_FUNC(0x0419BF40, void, InLevelCutScenePageContext_ClearView, (InLevelCutScenePageContext* __this, MethodInfo* method));
|
||||
DO_APP_FUNC(0x00F95350, bool, TalkDialogContext_get_canClick, (TalkDialogContext* __this, MethodInfo* method)); // delete
|
||||
DO_APP_FUNC(0x00F932D0, bool, TalkDialogContext_get_canAutoClick, (TalkDialogContext* __this, MethodInfo* method));
|
||||
DO_APP_FUNC(0x00F97D70, void, TalkDialogContext_OnDialogSelectItem, (TalkDialogContext* __this, Notify* notify, MethodInfo* method));
|
||||
DO_APP_FUNC(0x02BF0040, void, InLevelCutScenePageContext_OnFreeClick, (InLevelCutScenePageContext* __this, MethodInfo* method));
|
||||
DO_APP_FUNC(0x02BF1AC0, void, InLevelCutScenePageContext_UpdateView, (InLevelCutScenePageContext* __this, MethodInfo* method));
|
||||
DO_APP_FUNC(0x02BEF110, void, InLevelCutScenePageContext_ClearView, (InLevelCutScenePageContext* __this, MethodInfo* method));
|
||||
|
||||
|
||||
// Protection bypass
|
||||
DO_APP_FUNC(0x07435920, Byte__Array*, Application_RecordUserData, (void* __this, int32_t nType, MethodInfo* method));
|
||||
DO_APP_FUNC(0x066218D0, Byte__Array*, Application_RecordUserData, (int32_t nType, MethodInfo* method));
|
||||
|
||||
|
||||
// Networking
|
||||
DO_APP_FUNC(0x02B572B0, int32_t, KcpNative_kcp_client_send_packet, (void* __this, void* kcp_client, KcpPacket_1* packet, MethodInfo* method));
|
||||
DO_APP_FUNC(0x02FDCB30, bool, KcpClient_TryDequeueEvent, (void* __this, ClientKcpEvent* evt, MethodInfo* method));
|
||||
DO_APP_FUNC(0x02663FA0, void, Packet_XorEncrypt, (void* __this, Byte__Array** bytes, int32_t length, MethodInfo* method));
|
||||
DO_APP_FUNC(0x012519C0, int32_t, KcpNative_kcp_client_send_packet, (void* kcp_client, KcpPacket_1* packet, MethodInfo* method));
|
||||
DO_APP_FUNC(0x00BD08A0, bool, KcpClient_TryDequeueEvent, (void* __this, ClientKcpEvent* evt, MethodInfo* method));
|
||||
DO_APP_FUNC(0x029C3D60, void, Packet_XorEncrypt, (Byte__Array** bytes, int32_t length, MethodInfo* method));
|
||||
|
||||
|
||||
// Lua functions
|
||||
DO_APP_FUNC(0x04B1C0C0, Byte__Array*, LuaManager_LoadCustomLuaFile, (LuaManager* __this, String** filePath, bool* recycleBytes, MethodInfo* method));
|
||||
DO_APP_FUNC(0x06018660, void, Lua_xlua_pushasciistring, (void* __this, void* L, String* str, MethodInfo* method));
|
||||
DO_APP_FUNC(0x047ADA50, void, LuaShellManager_DoString, (void* __this, Byte__Array* byteArray, MethodInfo* method));
|
||||
DO_APP_FUNC(0x0600E890, void*, LuaEnv_DoString, (void* __this, Byte__Array* chunk, String* chunkName, void* env, MethodInfo* method));
|
||||
DO_APP_FUNC(0x047ACF40, void, LuaShellManager_ReportLuaShellResult, (void* __this, String* type, String* value, MethodInfo* method)); // Anticheat info
|
||||
DO_APP_FUNC(0x02D59730, Byte__Array*, LuaManager_LoadCustomLuaFile, (LuaManager* __this, String** filePath, bool* recycleBytes, MethodInfo* method));
|
||||
DO_APP_FUNC(0x0655E850, void, Lua_xlua_pushasciistring, (void* L, String* str, MethodInfo* method));
|
||||
DO_APP_FUNC(0x01D8D5D0, void, LuaShellManager_DoString, (void* __this, Byte__Array* byteArray, MethodInfo* method));
|
||||
DO_APP_FUNC(0x0600AFF0, void*, LuaEnv_DoString, (void* __this, Byte__Array* chunk, String* chunkName, void* env, MethodInfo* method));
|
||||
DO_APP_FUNC(0x01D8DCA0, void, LuaShellManager_ReportLuaShellResult, (void* __this, String* type, String* value, MethodInfo* method)); // Anticheat info
|
||||
|
||||
|
||||
// Debug hooks
|
||||
DO_APP_FUNC(0x04D07170, AttackResult_1*, AttackResult_FillProtoAttackResult, (AttackResult* __this, uint32_t attackerID, uint32_t defenseId, AttackResult_1* protoAttackResult, MethodInfo* method));
|
||||
DO_APP_FUNC(0x04BDAC80, void, LevelSyncCombatPlugin_SendFaceToDir, (void* __this, uint32_t runtimeID, Vector3 forward, MethodInfo* method));
|
||||
DO_APP_FUNC(0x0163EE90, void, BaseEntity_FireEvent, (BaseEntity* __this, BaseEvent* e, bool immediately, MethodInfo* method));
|
||||
DO_APP_FUNC(0x0116D200, bool, ActorAbilityPlugin_OnEvent, (void* __this, BaseEvent* e, MethodInfo* method));
|
||||
DO_APP_FUNC(0x02D3FA40, AttackResult_1*, AttackResult_FillProtoAttackResult, (AttackResult* __this, uint32_t attackerID, uint32_t defenseId, AttackResult_1* protoAttackResult, MethodInfo* method));
|
||||
DO_APP_FUNC(0x01F16210, void, LevelSyncCombatPlugin_SendFaceToDir, (void* __this, uint32_t runtimeID, Vector3 forward, MethodInfo* method));
|
||||
DO_APP_FUNC(0x035D4180, void, BaseEntity_FireEvent, (BaseEntity* __this, BaseEvent* e, bool immediately, MethodInfo* method));
|
||||
DO_APP_FUNC(0x023D4A90, bool, ActorAbilityPlugin_OnEvent, (void* __this, BaseEvent* e, MethodInfo* method));
|
||||
|
||||
|
||||
// Kill aura
|
||||
DO_APP_FUNC(0x04F8C3A0, void, EvtCrash_Init, (EvtCrash* __this, uint32_t targetID, MethodInfo* method)); // Manual offset
|
||||
DO_APP_FUNC(0x02F3B3D0, void, EventManager_FireEvent, (EventManager* __this, BaseEvent* e, bool immediately, MethodInfo* method));
|
||||
DO_APP_FUNC(0x01C11490, bool, FixedBoolStack_get_value, (FixedBoolStack* __this, MethodInfo* method));
|
||||
DO_APP_FUNC(0x00B8EB30, void, EvtCrash_Init, (EvtCrash* __this, uint32_t targetID, MethodInfo* method)); // Manual offset
|
||||
DO_APP_FUNC(0x00941E80, void, EventManager_FireEvent, (EventManager* __this, BaseEvent* e, bool immediately, MethodInfo* method));
|
||||
DO_APP_FUNC(0x0167B1A0, bool, FixedBoolStack_get_value, (FixedBoolStack* __this, MethodInfo* method));
|
||||
|
||||
// cannot find actual function name: CreateCrashEvent
|
||||
// shared offset
|
||||
// possible:
|
||||
// DO_APP_FUNC(0, MoleMole_EvtCrash *, JDGMIDCLFJK_CNCAIAIACLN_139, (MethodInfo * method));
|
||||
DO_APP_FUNC(0x031ADF70, EvtCrash*, CreateCrashEvent, (void* __this, MethodInfo* method));
|
||||
DO_APP_FUNC_METHODINFO(0x0B381CF8, CreateCrashEvent__MethodInfo);
|
||||
// DO_APP_FUNC(0x039E2030, MoleMole_EvtCrash_1 *, JDGMIDCLFJK_CNCAIAIACLN_103, (MethodInfo * method));
|
||||
DO_APP_FUNC(0x039E2030, EvtCrash*, CreateCrashEvent, (MethodInfo* method));
|
||||
DO_APP_FUNC_METHODINFO(0x0971A140, CreateCrashEvent__MethodInfo);
|
||||
|
||||
DO_APP_FUNC(0x028DD7F0, void, BaseMoveSyncPlugin_ConvertSyncTaskToMotionInfo, (BaseMoveSyncPlugin* __this, MethodInfo* method));
|
||||
DO_APP_FUNC(0x034BC360, void, BaseMoveSyncPlugin_ConvertSyncTaskToMotionInfo, (BaseMoveSyncPlugin* __this, MethodInfo* method));
|
||||
|
||||
|
||||
// Fishing
|
||||
DO_APP_FUNC(0x036B9B40, void, FishingModule_RequestFishCastRod, (void* __this, uint32_t baitId, uint32_t rodId, Vector3 pos, uint32_t rodEntityId, MethodInfo* method));
|
||||
DO_APP_FUNC(0x0292F8D0, void, FishingModule_RequestFishCastRod, (void* __this, uint32_t baitId, uint32_t rodId, Vector3 pos, uint32_t rodEntityId, MethodInfo* method));
|
||||
|
||||
DO_APP_FUNC(0x036BD030, void, FishingModule_RequestFishBite, (void* __this, MethodInfo* method));
|
||||
DO_APP_FUNC(0x036B9DB0, void, FishingModule_OnFishBiteRsp, (void* __this, FishBiteRsp* rsp, MethodInfo* method));
|
||||
DO_APP_FUNC(0x0292D6D0, void, FishingModule_RequestFishBite, (void* __this, MethodInfo* method));
|
||||
DO_APP_FUNC(0x02930440, void, FishingModule_OnFishBiteRsp, (void* __this, FishBiteRsp* rsp, MethodInfo* method));
|
||||
|
||||
DO_APP_FUNC(0x036BD440, void, FishingModule_RequestFishBattleBegin, (void* __this, MethodInfo* method));
|
||||
DO_APP_FUNC(0x036BACD0, void, FishingModule_OnFishBattleBeginRsp, (void* __this, FishBattleBeginRsp* rsp, MethodInfo* method));
|
||||
DO_APP_FUNC(0x0292F470, void, FishingModule_RequestFishBattleBegin, (void* __this, MethodInfo* method));
|
||||
DO_APP_FUNC(0x0292CAE0, void, FishingModule_OnFishBattleBeginRsp, (void* __this, FishBattleBeginRsp* rsp, MethodInfo* method));
|
||||
|
||||
DO_APP_FUNC(0x036BAB00, void, FishingModule_RequestFishBattleEnd, (void* __this, FishBattleResult__Enum result, bool isAlwaysBonus, float mxBonusTime, MethodInfo* method));
|
||||
DO_APP_FUNC(0x036BC180, void, FishingModule_OnFishBattleEndRsp, (void* __this, FishBattleEndRsp* rsp, MethodInfo* method));
|
||||
DO_APP_FUNC(0x0292D090, void, FishingModule_RequestFishBattleEnd, (void* __this, FishBattleResult__Enum result, bool isAlwaysBonus, float mxBonusTime, MethodInfo* method));
|
||||
DO_APP_FUNC(0x0292DBD0, void, FishingModule_OnFishBattleEndRsp, (void* __this, FishBattleEndRsp* rsp, MethodInfo* method));
|
||||
|
||||
DO_APP_FUNC(0x036B8AA0, void, FishingModule_OnExitFishingRsp, (void* __this, void* rsp, MethodInfo* method));
|
||||
DO_APP_FUNC(0x036BB0B0, void, FishingModule_onFishChosenNotify, (void* __this, void* notify, MethodInfo* method));
|
||||
DO_APP_FUNC(0x0292F190, void, FishingModule_OnExitFishingRsp, (void* __this, void* rsp, MethodInfo* method));
|
||||
DO_APP_FUNC(0x0292C7F0, void, FishingModule_onFishChosenNotify, (void* __this, void* notify, MethodInfo* method));
|
||||
|
||||
|
||||
// Visuals
|
||||
DO_APP_FUNC(0x0289DE30, void, SCameraModuleInitialize_SetWarningLocateRatio, (SCameraModuleInitialize* __this, double deltaTime, CameraShareData* data, MethodInfo* method));
|
||||
DO_APP_FUNC(0x013FC090, void, SCameraModuleInitialize_SetWarningLocateRatio, (SCameraModuleInitialize* __this, double deltaTime, CameraShareData* data, MethodInfo* method));
|
||||
|
||||
// Chest Indicator | RyujinZX#6666
|
||||
DO_APP_FUNC(0x0487E1D0, bool, LCIndicatorPlugin_DoCheck, (LCIndicatorPlugin* __this, MethodInfo* method));
|
||||
DO_APP_FUNC(0x0487F680, void, LCIndicatorPlugin_ShowIcon, (LCIndicatorPlugin* __this, MethodInfo* method));
|
||||
DO_APP_FUNC(0x0487CBF0, void, LCIndicatorPlugin_HideIcon, (LCIndicatorPlugin* __this, MethodInfo* method));
|
||||
DO_APP_FUNC(0x04C9B450, bool, LCIndicatorPlugin_DoCheck, (LCIndicatorPlugin* __this, MethodInfo* method));
|
||||
DO_APP_FUNC(0x04C9B830, void, LCIndicatorPlugin_ShowIcon, (LCIndicatorPlugin* __this, MethodInfo* method));
|
||||
DO_APP_FUNC(0x04C9A750, void, LCIndicatorPlugin_HideIcon, (LCIndicatorPlugin* __this, MethodInfo* method));
|
||||
|
||||
// Auto Cooking | RyujinZX#6666
|
||||
DO_APP_FUNC(0x01B91500, void, PlayerModule_RequestPlayerCook, (PlayerModule* __this, uint32_t recipeId, uint32_t avatarId, uint32_t qteQuality, uint32_t count, MethodInfo* method));
|
||||
DO_APP_FUNC(0x01B9E8F0, void, PlayerModule_OnPlayerCookRsp, (PlayerModule* __this, PlayerCookRsp* rsp, MethodInfo* method));
|
||||
DO_APP_FUNC(0x030E1000, void, CookingQtePageContext_UpdateProficiency, (CookingQtePageContext* __this, MethodInfo* method));
|
||||
DO_APP_FUNC(0x03AA2920, uint32_t, CookRecipeExcelConfig_get_maxProficiency, (CookRecipeExcelConfig* __this, MethodInfo* method));
|
||||
DO_APP_FUNC(0x02854E30, void, PlayerModule_RequestPlayerCook, (PlayerModule* __this, uint32_t recipeId, uint32_t avatarId, uint32_t qteQuality, uint32_t count, MethodInfo* method));
|
||||
DO_APP_FUNC(0x02858180, void, PlayerModule_OnPlayerCookRsp, (PlayerModule* __this, PlayerCookRsp* rsp, MethodInfo* method));
|
||||
DO_APP_FUNC(0x033F5820, void, CookingQtePageContext_UpdateProficiency, (CookingQtePageContext* __this, MethodInfo* method));
|
||||
DO_APP_FUNC(0x0116AA10, uint32_t, CookRecipeExcelConfig_get_maxProficiency, (CookRecipeExcelConfig* __this, MethodInfo* method));
|
||||
|
||||
|
||||
// Utility
|
||||
DO_APP_FUNC(0x015DD910, float, Miscs_CalcCurrentGroundWaterHeight, (void* __this, float x, float z, MethodInfo* method));
|
||||
DO_APP_FUNC(0x015DD1D0, float, Miscs_CalcCurrentGroundHeight, (void* __this, float x, float z, MethodInfo* method));
|
||||
DO_APP_FUNC(0x015DCEE0, float, Miscs_CalcCurrentGroundHeight_1, (void* __this, float x, float z, float rayStartHeight, float rayDetectLength, int32_t layer, MethodInfo* method));
|
||||
DO_APP_FUNC(0x015DD370, Vector3, Miscs_CalcCurrentGroundNorm, (void* __this, Vector3 pos, MethodInfo* method));
|
||||
DO_APP_FUNC(0x015E9B40, Vector3, Miscs_GenWorldPos, (void* __this, Vector2 levelMapPos, MethodInfo* method));
|
||||
DO_APP_FUNC(0x015E91A0, Vector2, Miscs_GenLevelPos_1, (void* __this, Vector3 worldPos, MethodInfo* method));
|
||||
DO_APP_FUNC(0x01601D90, int32_t, Miscs_GetSceneGroundLayerMask, (void* __this, MethodInfo* method));
|
||||
DO_APP_FUNC(0x036865D0, float, Miscs_CalcCurrentGroundWaterHeight, (float x, float z, MethodInfo* method));
|
||||
DO_APP_FUNC(0x03685E00, float, Miscs_CalcCurrentGroundHeight, (float x, float z, MethodInfo* method));
|
||||
DO_APP_FUNC(0x03685F10, float, Miscs_CalcCurrentGroundHeight_1, (float x, float z, float rayStartHeight, float rayDetectLength, int32_t layer, MethodInfo* method));
|
||||
DO_APP_FUNC(0x03686170, Vector3, Miscs_CalcCurrentGroundNorm, (Vector3 pos, MethodInfo* method));
|
||||
DO_APP_FUNC(0x01A4E0E0, Vector3, Miscs_GenWorldPos, (Vector2 levelMapPos, MethodInfo* method));
|
||||
DO_APP_FUNC(0x01A4DA90, Vector2, Miscs_GenLevelPos_1, (Vector3 worldPos, MethodInfo* method));
|
||||
DO_APP_FUNC(0x0369D590, int32_t, Miscs_GetSceneGroundLayerMask, (MethodInfo* method));
|
||||
|
||||
DO_APP_FUNC(0x060F0AA0, Vector3, WorldShiftManager_GetRelativePosition, (void* __this, Vector3 pos, MethodInfo* method));
|
||||
DO_APP_FUNC(0x060F0810, Vector3, WorldShiftManager_GetAbsolutePosition, (void* __this, Vector3 pos, MethodInfo* method));
|
||||
DO_APP_FUNC(0x056202E0, Vector3, WorldShiftManager_GetRelativePosition, (Vector3 pos, MethodInfo* method));
|
||||
DO_APP_FUNC(0x05620130, Vector3, WorldShiftManager_GetAbsolutePosition, (Vector3 pos, MethodInfo* method));
|
||||
|
||||
DO_APP_FUNC(0x014BC6D0, Vector3, ActorUtils_GetAvatarPos, (void* __this, MethodInfo* method));
|
||||
DO_APP_FUNC(0x014C3BF0, void, ActorUtils_SetAvatarPos, (void* __this, Vector3 pos, MethodInfo* method));
|
||||
DO_APP_FUNC(0x014C88B0, void, ActorUtils_SyncAvatarMotion, (void* __this, int32_t state, MethodInfo* method));
|
||||
DO_APP_FUNC(0x02DAB410, Vector3, ActorUtils_GetAvatarPos, (MethodInfo* method));
|
||||
DO_APP_FUNC(0x02DAF680, void, ActorUtils_SetAvatarPos, (Vector3 pos, MethodInfo* method));
|
||||
DO_APP_FUNC(0x02DB0AF0, void, ActorUtils_SyncAvatarMotion, (int32_t state, MethodInfo* method));
|
||||
|
||||
DO_APP_FUNC(0x02ECCFE0, Notify, Notify_CreateNotify_1, (void* __this, MoleMole_NotifyTypes__Enum type, Object* body, MethodInfo* method));
|
||||
DO_APP_FUNC(0x01AA5200, Notify, Notify_CreateNotify_1, (MoleMole_NotifyTypes__Enum type, Object* body, MethodInfo* method));
|
||||
|
||||
// changed to:
|
||||
// DO_APP_FUNC(0, float, MoleMole_SafeFloat_DBDMOONJALD_1, (MoleMole_SafeFloat v, MethodInfo * method));
|
||||
// DO_APP_FUNC(0x020C7AA0, float, MoleMole_SafeFloat_DBDMOONJALD_1, (MoleMole_SafeFloat v, MethodInfo * method));
|
||||
// DBDMOONJALD => op_Implicit
|
||||
DO_APP_FUNC(0x04D3A960, float, SafeFloat_GetValue, (void* __this, SafeFloat safeFloat, MethodInfo* method));
|
||||
DO_APP_FUNC(0x04D3A770, SafeFloat, SafeFloat_SetValue, (void* __this, float value, MethodInfo* method));
|
||||
DO_APP_FUNC(0x020C7AA0, float, SafeFloat_GetValue, (SafeFloat safeFloat, MethodInfo* method));
|
||||
// DO_APP_FUNC(0x020C7920, MoleMole_SafeFloat, MoleMole_SafeFloat_DBDMOONJALD, (float IGFNEICJINB, MethodInfo * method));
|
||||
DO_APP_FUNC(0x020C7920, SafeFloat, SafeFloat_SetValue, (float value, MethodInfo* method));
|
||||
|
||||
//DO_APP_FUNC(0, void, MoleMole_BaseEntity_SetRelativePosition, (MoleMole_BaseEntity * __this, Vector3 position, bool forceSyncToRigidbody, MethodInfo * method));
|
||||
DO_APP_FUNC(0x01645B20, void, Entity_SetPosition, (BaseEntity* __this, Vector3 position, bool someBool, MethodInfo* method));
|
||||
DO_APP_FUNC(0x035AC7B0, void, Entity_SetRelativePosition, (BaseEntity* __this, Vector3 position, bool forceSyncToRigidbody, MethodInfo* method));
|
||||
|
||||
//DO_APP_FUNC(0, MoleMole_LCBaseCombat *, MoleMole_BaseEntity_GetLogicCombatComponent_1, (MoleMole_BaseEntity * __this, MethodInfo * method));
|
||||
DO_APP_FUNC(0x05102970, LCBaseCombat*, BaseEntity_GetBaseCombat, (BaseEntity* __this, MethodInfo* method));
|
||||
//DO_APP_FUNC(0x039E2290, MoleMole_LCBaseCombat *, MoleMole_BaseEntity_GetLogicCombatComponent_1, (MoleMole_BaseEntity * __this, MethodInfo * method));
|
||||
DO_APP_FUNC(0x039E2290, LCBaseCombat*, BaseEntity_GetBaseCombat, (BaseEntity* __this, MethodInfo* method));
|
||||
|
||||
DO_APP_FUNC(0x0164DC50, String*, BaseEntity_ToStringRelease, (BaseEntity* __this, MethodInfo* method));
|
||||
DO_APP_FUNC(0x01659210, void, BaseEntity_SetRelativePosition, (BaseEntity* __this, Vector3 position, bool forceSyncToRigidbody, MethodInfo* method));
|
||||
DO_APP_FUNC(0x01645B20, void, BaseEntity_SetAbsolutePosition, (BaseEntity* __this, Vector3 abpos, bool forceSyncToRigidbody, MethodInfo* method));
|
||||
DO_APP_FUNC(0x01650C50, Vector3, BaseEntity_GetAbsolutePosition, (BaseEntity* __this, MethodInfo* method));
|
||||
DO_APP_FUNC(0x0164C3F0, Vector3, BaseEntity_GetRelativePosition, (BaseEntity* __this, MethodInfo* method));
|
||||
DO_APP_FUNC(0x0163D480, Vector3, BaseEntity_GetForward, (BaseEntity* __this, MethodInfo* method));
|
||||
DO_APP_FUNC(0x0163F7E0, Vector3, BaseEntity_GetForwardFast, (BaseEntity* __this, MethodInfo* method));
|
||||
DO_APP_FUNC(0x01655C20, Vector3, BaseEntity_GetRight, (BaseEntity* __this, MethodInfo* method));
|
||||
DO_APP_FUNC(0x01634200, Vector3, BaseEntity_GetUp, (BaseEntity* __this, MethodInfo* method));
|
||||
DO_APP_FUNC(0x0165E590, bool, BaseEntity_IsActive, (BaseEntity* __this, MethodInfo* method));
|
||||
DO_APP_FUNC(0x016425C0, Rigidbody*, BaseEntity_GetRigidbody, (BaseEntity* __this, MethodInfo* method));
|
||||
DO_APP_FUNC(0x035CC430, String*, BaseEntity_ToStringRelease, (BaseEntity* __this, MethodInfo* method));
|
||||
DO_APP_FUNC(0x035AC7B0, void, BaseEntity_SetRelativePosition, (BaseEntity* __this, Vector3 position, bool forceSyncToRigidbody, MethodInfo* method));
|
||||
DO_APP_FUNC(0x035C0AA0, void, BaseEntity_SetAbsolutePosition, (BaseEntity* __this, Vector3 abpos, bool forceSyncToRigidbody, MethodInfo* method));
|
||||
DO_APP_FUNC(0x035C4B00, Vector3, BaseEntity_GetAbsolutePosition, (BaseEntity* __this, MethodInfo* method));
|
||||
DO_APP_FUNC(0x035C3950, Vector3, BaseEntity_GetRelativePosition, (BaseEntity* __this, MethodInfo* method));
|
||||
DO_APP_FUNC(0x035B1EF0, Vector3, BaseEntity_GetForward, (BaseEntity* __this, MethodInfo* method));
|
||||
DO_APP_FUNC(0x035D4BA0, Vector3, BaseEntity_GetForwardFast, (BaseEntity* __this, MethodInfo* method));
|
||||
DO_APP_FUNC(0x035C08A0, Vector3, BaseEntity_GetRight, (BaseEntity* __this, MethodInfo* method));
|
||||
DO_APP_FUNC(0x035CB210, Vector3, BaseEntity_GetUp, (BaseEntity* __this, MethodInfo* method));
|
||||
DO_APP_FUNC(0x035D5B30, bool, BaseEntity_IsActive, (BaseEntity* __this, MethodInfo* method));
|
||||
DO_APP_FUNC(0x035C7A50, Rigidbody*, BaseEntity_GetRigidbody, (BaseEntity* __this, MethodInfo* method));
|
||||
|
||||
//DO_APP_FUNC(0, MoleMole_VCBaseMove_1 *, MoleMole_BaseEntity_GetMoveComponent_1, (MoleMole_BaseEntity * __this, MethodInfo * method));
|
||||
DO_APP_FUNC(0x05102780, VCBaseMove*, BaseEntity_GetMoveComponent_1, (BaseEntity* __this, MethodInfo* method));
|
||||
//DO_APP_FUNC(0x039E22C0, MoleMole_VCBaseMove_1 *, MoleMole_BaseEntity_GetMoveComponent_1, (MoleMole_BaseEntity * __this, MethodInfo * method));
|
||||
DO_APP_FUNC(0x039E22C0, VCBaseMove*, BaseEntity_GetMoveComponent_1, (BaseEntity* __this, MethodInfo* method)); // double check
|
||||
|
||||
DO_APP_FUNC(0x01659D20, List_1_MoleMole_BaseComponent_*, BaseEntity_GetAllLogicComponents, (BaseEntity* __this, MethodInfo* method));
|
||||
DO_APP_FUNC(0x0163DCF0, GameObject*, BaseEntity_get_gameObject, (BaseEntity* __this, MethodInfo* method));
|
||||
DO_APP_FUNC(0x013B9810, GameObject*, BaseEntity_get_rootGameObject, (BaseEntity* __this, MethodInfo* method));
|
||||
DO_APP_FUNC_METHODINFO(0x0B2BBB98, BaseEntity_GetMoveComponent_1__MethodInfo);
|
||||
DO_APP_FUNC(0x035C3850, List_1_MoleMole_BaseComponent_*, BaseEntity_GetAllLogicComponents, (BaseEntity* __this, MethodInfo* method));
|
||||
DO_APP_FUNC(0x0187FDC0, GameObject*, BaseEntity_get_gameObject, (BaseEntity* __this, MethodInfo* method));
|
||||
DO_APP_FUNC(0x035ACC70, GameObject*, BaseEntity_get_rootGameObject, (BaseEntity* __this, MethodInfo* method));
|
||||
DO_APP_FUNC_METHODINFO(0x096EE7D8, BaseEntity_GetMoveComponent_1__MethodInfo);
|
||||
|
||||
//DO_APP_FUNC_METHODINFO(0x096ED8A0, MoleMole_BaseEntity_GetLogicCombatComponent_1__MethodInfo); // double check
|
||||
DO_APP_FUNC_METHODINFO(0x0B2DB248, BaseEntity_GetBaseCombat__MethodInfo);
|
||||
//DO_APP_FUNC_METHODINFO(0x096EF950, MoleMole_BaseEntity_GetLogicCombatComponent_1__MethodInfo); // double check
|
||||
DO_APP_FUNC_METHODINFO(0x096EF950, BaseEntity_GetBaseCombat__MethodInfo);
|
||||
|
||||
// check comparison from 2.2 & 2.6
|
||||
// function type & name is wrong
|
||||
// DO_APP_FUNC(0, MoleMole_AvatarEntity *, MoleMole_EntityManager_GetLocalAvatarEntity, (MoleMole_EntityManager * __this, MethodInfo * method));
|
||||
DO_APP_FUNC(0x01555150, BaseEntity*, EntityManager_GetCurrentAvatar, (EntityManager* __this, MethodInfo* method));
|
||||
DO_APP_FUNC(0x01BF68A0, BaseEntity*, EntityManager_GetCurrentAvatar, (EntityManager* __this, MethodInfo* method));
|
||||
|
||||
DO_APP_FUNC(0x0155F060, CameraEntity*, EntityManager_GetMainCameraEntity, (EntityManager* __this, MethodInfo* method));
|
||||
DO_APP_FUNC(0x0154A660, BaseEntity*, EntityManager_GetValidEntity, (EntityManager* __this, uint32_t runtimeID, MethodInfo* method));
|
||||
DO_APP_FUNC(0x0155A580, bool, EntityManager_RemoveEntity, (EntityManager* __this, BaseEntity* entity, uint32_t specifiedRuntimeID, MethodInfo* method));
|
||||
DO_APP_FUNC(0x0154F520, bool, EntityManager_IsCachedEntity, (EntityManager* __this, BaseEntity* entity, MethodInfo* method));
|
||||
DO_APP_FUNC(0x01560F70, List_1_MoleMole_BaseEntity_*, EntityManager_GetEntities, (EntityManager* __this, MethodInfo* method));
|
||||
DO_APP_FUNC(0x01BF4E50, CameraEntity*, EntityManager_GetMainCameraEntity, (EntityManager* __this, MethodInfo* method));
|
||||
DO_APP_FUNC(0x01BEB030, BaseEntity*, EntityManager_GetValidEntity, (EntityManager* __this, uint32_t runtimeID, MethodInfo* method));
|
||||
DO_APP_FUNC(0x01C02920, bool, EntityManager_RemoveEntity, (EntityManager* __this, BaseEntity* entity, uint32_t specifiedRuntimeID, MethodInfo* method));
|
||||
DO_APP_FUNC(0x01C02800, bool, EntityManager_IsCachedEntity, (EntityManager* __this, BaseEntity* entity, MethodInfo* method));
|
||||
DO_APP_FUNC(0x01BF01F0, List_1_MoleMole_BaseEntity_*, EntityManager_GetEntities, (EntityManager* __this, MethodInfo* method));
|
||||
|
||||
// check comparison with 2.6
|
||||
// function name changed to:
|
||||
// DO_APP_FUNC(0, Bounds, Utils_4_GetBounds, (GameObject * go, MethodInfo * method));
|
||||
DO_APP_FUNC(0x05D07B50, Bounds, Utils_1_GetBounds, (void* __this, GameObject* go, MethodInfo* method));
|
||||
DO_APP_FUNC(0x044B8970, Bounds, Utils_4_GetBounds, (GameObject* go, MethodInfo* method));
|
||||
|
||||
// Modify | RyujinZX#6666
|
||||
DO_APP_FUNC(0x024E0BA0, void, HumanoidMoveFSM_LateTick, (app::HumanoidMoveFSM* __this, float deltaTime, MethodInfo* method));
|
||||
DO_APP_FUNC(0x00C6C780, void, HumanoidMoveFSM_LateTick, (HumanoidMoveFSM* __this, float deltaTime, MethodInfo* method));
|
||||
|
||||
DO_APP_FUNC(0x03511760, bool, ScenePropManager_GetTreeTypeByPattern, (ScenePropManager* __this, String* pattern, ECGLPBEEEAA__Enum* treeType, MethodInfo* method));
|
||||
DO_APP_FUNC(0x01DD2070, bool, ScenePropManager_GetTreeTypeByPattern, (ScenePropManager* __this, String* pattern, MoleMole_Config_TreeType__Enum* treeType, MethodInfo* method));
|
||||
|
||||
DO_APP_FUNC(0x01997D90, void, NetworkManager_1_RequestHitTreeDropNotify, (NetworkManager_1* __this, Vector3 position, Vector3 hitPostion, ECGLPBEEEAA__Enum treeType, MethodInfo* method));
|
||||
DO_APP_FUNC(0x0332CD30, uint64_t, GetTimestamp, (void* __this, MethodInfo* method));
|
||||
DO_APP_FUNC(0x00C3F160, void, NetworkManager_1_RequestHitTreeDropNotify, (NetworkManager_1* __this, Vector3 position, Vector3 hitPostion, MoleMole_Config_TreeType__Enum treeType, MethodInfo* method));
|
||||
DO_APP_FUNC(0x0291FEF0, uint64_t, TimeUtil_get_NowTimeStamp, (MethodInfo* method));
|
||||
|
||||
DO_APP_FUNC(0x017F43F0, bool, LoadingManager_IsLoaded, (LoadingManager* __this, MethodInfo* method));
|
||||
DO_APP_FUNC(0x01F5BA10, bool, LoadingManager_IsLoaded, (LoadingManager* __this, MethodInfo* method));
|
||||
|
||||
// Thanks to | RyujinZX
|
||||
DO_APP_FUNC(0x019C5D50, void, LCAbilityElement_ReduceModifierDurability, (LCAbilityElement* __this, int32_t modifierDurabilityIndex, float reduceDurability, Nullable_1_Single_ deltaTime, MethodInfo* method));
|
||||
DO_APP_FUNC(0x01337F70, void, LCAbilityElement_ReduceModifierDurability, (LCAbilityElement* __this, int32_t modifierDurabilityIndex, float reduceDurability, Nullable_1_Single_ deltaTime, MethodInfo* method));
|
||||
|
||||
DO_APP_FUNC(0x035D8B70, BaseEntity*, GadgetEntity_GetOwnerEntity, (GadgetEntity* __this, MethodInfo* method));
|
||||
DO_APP_FUNC(0x01FF2880, BaseEntity*, GadgetEntity_GetOwnerEntity, (GadgetEntity* __this, MethodInfo* method));
|
||||
|
||||
DO_APP_FUNC(0x0136FBD0, void, InLevelMapPageContext_ZoomMap, (InLevelMapPageContext* __this, float value, MethodInfo* method));
|
||||
DO_APP_FUNC(0x013B7F90, void, InLevelMapPageContext_UpdateView, (InLevelMapPageContext* __this, MethodInfo* method));
|
||||
DO_APP_FUNC(0x02E826A0, void, InLevelMapPageContext_ZoomMap, (InLevelMapPageContext* __this, float value, MethodInfo* method));
|
||||
DO_APP_FUNC(0x02EC7730, void, InLevelMapPageContext_UpdateView, (InLevelMapPageContext* __this, MethodInfo* method));
|
||||
|
||||
// actual function name:
|
||||
// DO_APP_FUNC(0, bool, MoleMole_UIManager_HasEnableMapCamera, (MoleMole_UIManager * __this, MethodInfo * method));
|
||||
DO_APP_FUNC(0x01C6A530, bool, UIManager_1_HasEnableMapCamera, (UIManager_1* __this, MethodInfo* method));
|
||||
DO_APP_FUNC(0x01A36960, bool, UIManager_HasEnableMapCamera, (UIManager* __this, MethodInfo* method));
|
||||
|
||||
DO_APP_FUNC(0x00E8E700, void, MonoMiniMap_Update, (MonoMiniMap* __this, MethodInfo* method));
|
||||
DO_APP_FUNC(0x0635A470, MonoMiniMap*, MonoInLevelMainPage_get_miniMap, (void* __this, MethodInfo* method));
|
||||
DO_APP_FUNC(0x024A3570, void, GadgetModule_OnGadgetInteractRsp, (void* __this, GadgetInteractRsp* notify, MethodInfo* method));
|
||||
DO_APP_FUNC(0x00A8D650, float, InLevelMainPageContext_get_miniMapScale, (InLevelMainPageContext* __this, MethodInfo* method));
|
||||
|
||||
DO_APP_FUNC(0x03D64A80, void, MonoMiniMap_Update, (MonoMiniMap* __this, MethodInfo* method));
|
||||
DO_APP_FUNC(0x03992EB0, MonoMiniMap*, MonoInLevelMainPage_get_miniMap, (void* __this, MethodInfo* method));
|
||||
DO_APP_FUNC(0x02702190, void, GadgetModule_OnGadgetInteractRsp, (void* __this, GadgetInteractRsp* notify, MethodInfo* method));
|
||||
DO_APP_FUNC(0x010A60C0, float, InLevelMainPageContext_get_miniMapScale, (InLevelMainPageContext* __this, MethodInfo* method));
|
||||
|
||||
// UnityEngine
|
||||
DO_APP_FUNC(0x073C1A30, void, RenderSettings_set_fog, (void* __this, bool value, MethodInfo* method));
|
||||
DO_APP_FUNC(0x07436CF0, void, Application_set_targetFrameRate, (void* __this, int32_t value, MethodInfo* method));
|
||||
DO_APP_FUNC(0x07436840, int32_t, Application_get_targetFrameRate, (void* __this, MethodInfo* method));
|
||||
DO_APP_FUNC(0x065ECB70, void, RenderSettings_set_fog, (void* __this, bool value, MethodInfo* method));
|
||||
DO_APP_FUNC(0x06621FF0, void, Application_set_targetFrameRate, (void* __this, int32_t value, MethodInfo* method));
|
||||
DO_APP_FUNC(0x06621D80, int32_t, Application_get_targetFrameRate, (void* __this, MethodInfo* method));
|
||||
|
||||
DO_APP_FUNC(0x083C28B0, bool, RectTransformUtility_ScreenPointToLocalPointInRectangle, (void* __this, void* rect, Vector2 screenPoint, void* cam, Vector2* localPoint, MethodInfo* method));
|
||||
DO_APP_FUNC(0x06678780, bool, RectTransformUtility_ScreenPointToLocalPointInRectangle, (void* __this, void* rect, Vector2 screenPoint, void* cam, Vector2* localPoint, MethodInfo* method));
|
||||
|
||||
DO_APP_FUNC(0x073D7190, Vector3, Transform_get_position, (Transform* __this, MethodInfo* method));
|
||||
DO_APP_FUNC(0x073D4A90, void, Transform_set_position, (Transform* __this, Vector3 value, MethodInfo* method));
|
||||
DO_APP_FUNC(0x073DAD90, float, Vector3_Distance, (void* __this, Vector3 a, Vector3 b, MethodInfo* method));
|
||||
DO_APP_FUNC(0x073D8E70, float, Vector2_Distance, (void* __this, Vector2 a, Vector2 b, MethodInfo* method));
|
||||
DO_APP_FUNC(0x06555BA0, Vector3, Transform_get_position, (Transform* __this, MethodInfo* method));
|
||||
DO_APP_FUNC(0x065548F0, void, Transform_set_position, (Transform* __this, Vector3 value, MethodInfo* method));
|
||||
DO_APP_FUNC(0x0664E3A0, float, Vector3_Distance, (Vector3 a, Vector3 b, MethodInfo* method));
|
||||
DO_APP_FUNC(0x06534FE0, float, Vector2_Distance, (Vector2 a, Vector2 b, MethodInfo* method));
|
||||
|
||||
DO_APP_FUNC(0x074450A0, void, Cursor_set_visible, (void* __this, bool value, MethodInfo* method));
|
||||
DO_APP_FUNC(0x07445050, void, Cursor_set_lockState, (void* __this, CursorLockMode__Enum value, MethodInfo* method));
|
||||
DO_APP_FUNC(0x07445000, bool, Cursor_get_visible, (void* __this, MethodInfo* method));
|
||||
DO_APP_FUNC(0x0658F980, void, Cursor_set_visible, (bool value, MethodInfo* method));
|
||||
DO_APP_FUNC(0x0658F970, void, Cursor_set_lockState, (CursorLockMode__Enum value, MethodInfo* method));
|
||||
DO_APP_FUNC(0x0658F960, bool, Cursor_get_visible, (MethodInfo* method));
|
||||
|
||||
DO_APP_FUNC(0x08334350, void, Rigidbody_set_detectCollisions, (Rigidbody* __this, bool value, MethodInfo* method));
|
||||
DO_APP_FUNC(0x08334530, void, Rigidbody_set_isKinematic, (Rigidbody* __this, bool value, MethodInfo* method));
|
||||
DO_APP_FUNC(0x08333840, void, Rigidbody_set_velocity, (Rigidbody* __this, Vector3 value, MethodInfo * method));
|
||||
DO_APP_FUNC(0x064B3A00, void, Rigidbody_set_detectCollisions, (Rigidbody* __this, bool value, MethodInfo* method));
|
||||
DO_APP_FUNC(0x064B3A40, void, Rigidbody_set_isKinematic, (Rigidbody* __this, bool value, MethodInfo* method));
|
||||
DO_APP_FUNC(0x064B3740, void, Rigidbody_set_velocity, (Rigidbody* __this, Vector3 value, MethodInfo* method));
|
||||
|
||||
DO_APP_FUNC(0x073D3140, float, Time_get_deltaTime, (void* __this, MethodInfo* method));
|
||||
DO_APP_FUNC(0x06631190, float, Time_get_timeScale, (MethodInfo* method));
|
||||
DO_APP_FUNC(0x06631240, void, Time_set_timeScale, (float value, MethodInfo* method));
|
||||
DO_APP_FUNC(0x066310B0, float, Time_get_deltaTime, (MethodInfo* method));
|
||||
|
||||
DO_APP_FUNC(0x0743D0A0, app::Vector3, Camera_WorldToScreenPoint, (app::Camera* __this, app::Vector3 position, MethodInfo* method));
|
||||
DO_APP_FUNC(0x0743DBF0, Camera*, Camera_get_main, (void* __this, MethodInfo* method));
|
||||
DO_APP_FUNC(0x0743DF30, int32_t, Camera_get_pixelWidth, (Camera* __this, MethodInfo* method));
|
||||
DO_APP_FUNC(0x0743DE60, int32_t, Camera_get_pixelHeight, (Camera* __this, MethodInfo* method));
|
||||
DO_APP_FUNC(0x06594F40, Vector3, Camera_WorldToScreenPoint, (Camera* __this, Vector3 position, MethodInfo* method));
|
||||
DO_APP_FUNC(0x06595270, Camera*, Camera_get_main, (MethodInfo* method));
|
||||
DO_APP_FUNC(0x065953B0, int32_t, Camera_get_pixelWidth, (Camera* __this, MethodInfo* method));
|
||||
DO_APP_FUNC(0x06595360, int32_t, Camera_get_pixelHeight, (Camera* __this, MethodInfo* method));
|
||||
|
||||
DO_APP_FUNC(0x073C9A50, int32_t, Screen_get_width, (void* __this, MethodInfo* method));
|
||||
DO_APP_FUNC(0x073C98F0, int32_t, Screen_get_height, (void* __this, MethodInfo* method));
|
||||
DO_APP_FUNC(0x06533CA0, int32_t, Screen_get_width, (MethodInfo* method));
|
||||
DO_APP_FUNC(0x06533C30, int32_t, Screen_get_height, (MethodInfo* method));
|
||||
|
||||
DO_APP_FUNC(0x07438F50, bool, Behaviour_get_isActiveAndEnabled, (Behaviour* __this, MethodInfo* method));
|
||||
DO_APP_FUNC(0x0664CF50, bool, Behaviour_get_isActiveAndEnabled, (Behaviour* __this, MethodInfo* method));
|
||||
|
||||
DO_APP_FUNC(0x066309A0, Vector3, Quaternion_get_eulerAngles, (Quaternion__Boxed* __this, MethodInfo* method));
|
||||
DO_APP_FUNC(0x06555C70, Quaternion, Transform_get_rotation, (Transform* __this, MethodInfo* method));
|
||||
DO_APP_FUNC(0x06552F50, Rect, RectTransform_get_rect, (RectTransform* __this, MethodInfo* method));
|
||||
DO_APP_FUNC(0x06677BD0, float, Canvas_get_scaleFactor, (/*Canvas**/void* __this, MethodInfo* method));
|
||||
|
||||
DO_APP_FUNC(0x074E9960, Vector3, Quaternion_get_eulerAngles, (Quaternion__Boxed* __this, MethodInfo* method));
|
||||
DO_APP_FUNC(0x073D73E0, Quaternion, Transform_get_rotation, (Transform* __this, MethodInfo* method));
|
||||
DO_APP_FUNC(0x073BFD20, Rect, RectTransform_get_rect, (RectTransform* __this, MethodInfo* method));
|
||||
DO_APP_FUNC(0x083C1430, float, Canvas_get_scaleFactor, (void* __this, MethodInfo* method));
|
||||
|
||||
// Singletons
|
||||
DO_APP_FUNC(0x07626D40, void*, Singleton_GetInstance, (void* __this, MethodInfo* method));
|
||||
DO_APP_FUNC_METHODINFO(0x0B327AD0, Singleton_1_MapModule__get_Instance__MethodInfo);
|
||||
DO_APP_FUNC_METHODINFO(0x0B2C2AC0, Singleton_1_LoadingManager__get_Instance__MethodInfo);
|
||||
DO_APP_FUNC_METHODINFO(0x0B2B2A80, Singleton_1_EntityManager__get_Instance__MethodInfo);
|
||||
DO_APP_FUNC_METHODINFO(0x0B2B4FC8, Singleton_1_InteractionManager__get_Instance__MethodInfo);
|
||||
DO_APP_FUNC_METHODINFO(0x0B37C078, Singleton_1_MessageInfo__get_Instance__MethodInfo);
|
||||
DO_APP_FUNC_METHODINFO(0x0B29F2D8, Singleton_1_UIManager_1__get_Instance__MethodInfo);
|
||||
DO_APP_FUNC_METHODINFO(0x0B2ACD50, Singleton_1_ItemModule__get_Instance__MethodInfo);
|
||||
DO_APP_FUNC_METHODINFO(0x0B2B3818, Singleton_1_EventManager__get_Instance__MethodInfo);
|
||||
|
||||
// 2.6
|
||||
DO_APP_FUNC_METHODINFO(0x0B2EC728, Singleton_1_PlayerModule__get_Instance__MethodInfo);
|
||||
DO_APP_FUNC_METHODINFO(0x0B2FD3D0, Singleton_1_MapManager__get_Instance__MethodInfo);
|
||||
DO_APP_FUNC_METHODINFO(0x0B321D50, Singleton_1_ScenePropManager__get_Instance__MethodInfo);
|
||||
DO_APP_FUNC_METHODINFO(0x0B3A9738, Singleton_1_NetworkManager_1__get_Instance__MethodInfo);
|
||||
DO_APP_FUNC(0x05189A90, void*, Singleton_GetInstance, (void* __this, MethodInfo* method));
|
||||
DO_APP_FUNC_METHODINFO(0x096EE180, Singleton_1_MapModule__get_Instance__MethodInfo);
|
||||
DO_APP_FUNC_METHODINFO(0x096EE1C0, Singleton_1_LoadingManager__get_Instance__MethodInfo);
|
||||
DO_APP_FUNC_METHODINFO(0x096EA380, Singleton_1_EntityManager__get_Instance__MethodInfo);
|
||||
DO_APP_FUNC_METHODINFO(0x096EB1E8, Singleton_1_InteractionManager__get_Instance__MethodInfo);
|
||||
DO_APP_FUNC_METHODINFO(0x096FAE70, Singleton_1_MessageInfo__get_Instance__MethodInfo);
|
||||
DO_APP_FUNC_METHODINFO(0x096EA278, Singleton_1_UIManager__get_Instance__MethodInfo);
|
||||
DO_APP_FUNC_METHODINFO(0x096ED720, Singleton_1_ItemModule__get_Instance__MethodInfo);
|
||||
DO_APP_FUNC_METHODINFO(0x096EB530, Singleton_1_EventManager__get_Instance__MethodInfo);
|
||||
DO_APP_FUNC_METHODINFO(0x096EA298, Singleton_1_PlayerModule__get_Instance__MethodInfo);
|
||||
DO_APP_FUNC_METHODINFO(0x096EA4F8, Singleton_1_MapManager__get_Instance__MethodInfo);
|
||||
DO_APP_FUNC_METHODINFO(0x096ECB80, Singleton_1_ScenePropManager__get_Instance__MethodInfo);
|
||||
DO_APP_FUNC_METHODINFO(0x096EA9A8, Singleton_1_NetworkManager_1__get_Instance__MethodInfo);
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
// Generated C++ file by Il2CppInspector - http://www.djkaty.com - https://github.com/djkaty
|
||||
// Target Unity version: 2017.4.15 - 2017.4.40
|
||||
// Target Unity version: 2019.4.21 - 2019.4.24
|
||||
|
||||
#define __IL2CPP_METADATA_VERSION 240
|
||||
#define __IL2CPP_METADATA_VERSION 245
|
||||
|
@ -5,22 +5,22 @@
|
||||
// * IL2CPP application-specific type definition addresses
|
||||
// ******************************************************************************
|
||||
|
||||
DO_TYPEDEF(0x0B224E28, Byte);
|
||||
DO_TYPEDEF(0x0B3117B8, GameManager);
|
||||
DO_TYPEDEF(0x0B38FF20, Int32);
|
||||
DO_TYPEDEF(0x0967B690, Byte);
|
||||
DO_TYPEDEF(0x097F01C0, GameManager);
|
||||
DO_TYPEDEF(0x0967B9F0, Int32);
|
||||
|
||||
// v 2.7
|
||||
DO_TYPEDEF(0x097EEDB0, LCChestPlugin);
|
||||
DO_TYPEDEF(0x097EE938, SceneTreeObject);
|
||||
|
||||
// v 2.6
|
||||
DO_TYPEDEF(0x0B39D338, LCChestPlugin);
|
||||
DO_TYPEDEF(0x0B2BC988, SceneTreeObject);
|
||||
|
||||
DO_SINGLETONEDEF(0x0B3442D8, Singleton_1_MapModule_);
|
||||
DO_SINGLETONEDEF(0x0B308870, Singleton_1_EntityManager_);
|
||||
DO_SINGLETONEDEF(0x0B316A68, Singleton_1_LoadingManager_);
|
||||
DO_SINGLETONEDEF(0x0B30BD10, Singleton_1_InteractionManager_);
|
||||
DO_SINGLETONEDEF(0x0B2F8038, Singleton_1_UIManager_1_);
|
||||
DO_SINGLETONEDEF(0x0B2F8038, Singleton_1_UIManager_);
|
||||
DO_SINGLETONEDEF(0x0B291838, Singleton_1_ItemModule_);
|
||||
DO_SINGLETONEDEF(0x0B309120, Singleton_1_EventManager_);
|
||||
// v 2.6
|
||||
DO_SINGLETONEDEF(0x0B326FF8, Singleton_1_PlayerModule_);
|
||||
DO_SINGLETONEDEF(0x0B2F2A38, Singleton_1_MapManager_);
|
||||
DO_SINGLETONEDEF(0x0B399890, Singleton_1_NetworkManager_1_);
|
||||
|
@ -7937,19 +7937,16 @@ namespace app {
|
||||
int32_t _greaterToDisableInterval_k__BackingField;
|
||||
};
|
||||
|
||||
// FJBDIDKHCPN__Fields
|
||||
struct VCBase__Fields {
|
||||
struct BaseComponent__Fields _;
|
||||
};
|
||||
|
||||
// FJBDIDKHCPN
|
||||
struct VCBase {
|
||||
struct FJBDIDKHCPN__Class* klass;
|
||||
MonitorData* monitor;
|
||||
struct VCBase__Fields fields;
|
||||
};
|
||||
|
||||
// ECBDOKJDPGH__Fields
|
||||
struct VCBaseMove__Fields {
|
||||
struct VCBase__Fields _;
|
||||
struct EOOCBMLHHIF* _moveData;
|
||||
@ -9197,7 +9194,7 @@ namespace app {
|
||||
Il2CppClass_1 _1;
|
||||
};
|
||||
|
||||
struct __declspec(align(8)) FHEJEJANBLD__Fields {
|
||||
struct __declspec(align(8)) UIManager__Fields {
|
||||
struct LinkedList_1_MoleMole_BaseContext_* _inputContextList;
|
||||
struct HashSet_1_MoleMole_BaseContext_* _inputContextSet;
|
||||
PCCursorMode__Enum _currCursorMode;
|
||||
@ -9208,10 +9205,10 @@ namespace app {
|
||||
struct Camera* _uiCamera;
|
||||
};
|
||||
|
||||
struct UIManager_1 {
|
||||
struct FHEJEJANBLD__Class* klass;
|
||||
struct UIManager {
|
||||
struct UIManager__Class* klass;
|
||||
MonitorData* monitor;
|
||||
struct FHEJEJANBLD__Fields fields;
|
||||
struct UIManager__Fields fields;
|
||||
};
|
||||
|
||||
enum class CanBeModifiedBy__Enum : int32_t {
|
||||
@ -10147,7 +10144,7 @@ namespace app {
|
||||
struct SceneTreeConfig__Fields fields;
|
||||
};
|
||||
|
||||
enum class ECGLPBEEEAA__Enum : int32_t
|
||||
enum class MoleMole_Config_TreeType__Enum : int32_t
|
||||
{
|
||||
TREE_TYPE_BIRCH = 0x00000001,
|
||||
TREE_TYPE_MAPLE = 0x00000002,
|
||||
|
@ -15,13 +15,13 @@ cheat::GenshinCM& cheat::GenshinCM::instance()
|
||||
|
||||
void cheat::GenshinCM::CursorSetVisibility(bool visibility)
|
||||
{
|
||||
app::Cursor_set_visible(nullptr, visibility, nullptr);
|
||||
app::Cursor_set_lockState(nullptr, visibility ? app::CursorLockMode__Enum::None : app::CursorLockMode__Enum::Locked, nullptr);
|
||||
app::Cursor_set_visible(visibility, nullptr);
|
||||
app::Cursor_set_lockState(visibility ? app::CursorLockMode__Enum::None : app::CursorLockMode__Enum::Locked, nullptr);
|
||||
}
|
||||
|
||||
bool cheat::GenshinCM::CursorGetVisibility()
|
||||
{
|
||||
return app::Cursor_get_visible(nullptr, nullptr);
|
||||
return app::Cursor_get_visible(nullptr);
|
||||
}
|
||||
|
||||
cheat::GenshinCM::GenshinCM() :
|
||||
|
@ -31,7 +31,7 @@ namespace cheat::feature::esp::render
|
||||
return;
|
||||
|
||||
SAFE_BEGIN();
|
||||
auto camera = app::Camera_get_main(nullptr, nullptr);
|
||||
auto camera = app::Camera_get_main(nullptr);
|
||||
if (camera == nullptr)
|
||||
return;
|
||||
|
||||
@ -58,8 +58,8 @@ namespace cheat::feature::esp::render
|
||||
if (pixelWidth == 0 || pixelHeight == 0)
|
||||
return;
|
||||
|
||||
auto screenWidth = app::Screen_get_width(nullptr, nullptr);
|
||||
auto screenHeight = app::Screen_get_height(nullptr, nullptr);
|
||||
auto screenWidth = app::Screen_get_width(nullptr);
|
||||
auto screenHeight = app::Screen_get_height(nullptr);
|
||||
|
||||
if (screenWidth == 0 || screenHeight == 0)
|
||||
return;
|
||||
@ -88,7 +88,7 @@ namespace cheat::feature::esp::render
|
||||
screenPos.y *= s_ResolutionScale.y;
|
||||
}
|
||||
|
||||
screenPos.y = app::Screen_get_height(nullptr, nullptr) - screenPos.y;
|
||||
screenPos.y = app::Screen_get_height(nullptr) - screenPos.y;
|
||||
return screenPos;
|
||||
}
|
||||
|
||||
@ -141,7 +141,7 @@ namespace cheat::feature::esp::render
|
||||
|
||||
// Sometimes occurs access violation in UnityPlayer.dll
|
||||
// Callow: Have no idea what to do with it unless just catch exception
|
||||
auto bounds = app::Utils_1_GetBounds(nullptr, gameObject, nullptr);
|
||||
auto bounds = app::Utils_4_GetBounds(gameObject, nullptr);
|
||||
if (bounds.m_Extents.x < esp.f_MinSize &&
|
||||
bounds.m_Extents.y < esp.f_MinSize &&
|
||||
bounds.m_Extents.z < esp.f_MinSize)
|
||||
@ -216,7 +216,7 @@ namespace cheat::feature::esp::render
|
||||
|
||||
}
|
||||
|
||||
auto screenHeight = app::Screen_get_height(nullptr, nullptr);
|
||||
auto screenHeight = app::Screen_get_height(nullptr);
|
||||
|
||||
#define FIX_Y(field) boxScreen.##field##.y = screenHeight - boxScreen.##field##.y
|
||||
|
||||
@ -263,7 +263,7 @@ namespace cheat::feature::esp::render
|
||||
boxRect.yMax *= s_ResolutionScale.y;
|
||||
}
|
||||
|
||||
auto screenHeight = app::Screen_get_height(nullptr, nullptr);
|
||||
auto screenHeight = app::Screen_get_height(nullptr);
|
||||
boxRect.yMin = screenHeight - boxRect.yMin;
|
||||
boxRect.yMax = screenHeight - boxRect.yMax;
|
||||
return boxRect;
|
||||
|
@ -24,7 +24,7 @@ namespace cheat::game
|
||||
entityFilters[filter] = { false, 0 };
|
||||
|
||||
auto& entry = entityFilters[filter];
|
||||
auto timestamp = app::GetTimestamp(nullptr, nullptr);
|
||||
auto timestamp = app::TimeUtil_get_NowTimeStamp(nullptr);
|
||||
if (entry.second + m_LifeTime > timestamp)
|
||||
return entry.first;
|
||||
|
||||
|
@ -77,7 +77,7 @@ namespace cheat::game
|
||||
if (m_RawEntity == nullptr)
|
||||
return {};
|
||||
|
||||
return app::Miscs_GenLevelPos_1(nullptr, absolutePosition(), nullptr);
|
||||
return app::Miscs_GenLevelPos_1(absolutePosition(), nullptr);
|
||||
}
|
||||
|
||||
float Entity::distance(Entity* entity)
|
||||
@ -102,7 +102,7 @@ namespace cheat::game
|
||||
if (m_RawEntity == nullptr)
|
||||
return 10000;
|
||||
|
||||
auto dist = app::Vector3_Distance(nullptr, relativePosition(), point, nullptr);
|
||||
auto dist = app::Vector3_Distance(relativePosition(), point, nullptr);
|
||||
return dist;
|
||||
}
|
||||
|
||||
@ -111,7 +111,7 @@ namespace cheat::game
|
||||
if (m_RawEntity == nullptr)
|
||||
return 10000;
|
||||
|
||||
return app::Vector2_Distance(nullptr, levelPosition(), levelPoint, nullptr);
|
||||
return app::Vector2_Distance(levelPosition(), levelPoint, nullptr);
|
||||
}
|
||||
|
||||
bool Entity::isGadget()
|
||||
|
@ -29,7 +29,7 @@ namespace cheat::game
|
||||
continue;
|
||||
|
||||
auto& config = waypoint.config->fields;
|
||||
uint16_t areaId = app::SimpleSafeUInt16_get_Value(nullptr, config.areaIdRawNum, nullptr);
|
||||
uint16_t areaId = app::SimpleSafeUInt16_get_Value(config.areaIdRawNum, nullptr);
|
||||
bool isAreaUnlocked = app::MapModule_IsAreaUnlock(mapModule, sceneId, areaId, nullptr);
|
||||
|
||||
if (waypoint.isUnlocked && isAreaUnlocked && !config._unlocked && !waypoint.isGroupLimit && !waypoint.isModelHidden)
|
||||
@ -45,7 +45,7 @@ namespace cheat::game
|
||||
float minDistance = -1;
|
||||
WaypointInfo result{};
|
||||
for (const auto& info : GetUnlockedWaypoints(targetSceneId)) {
|
||||
float distance = app::Vector3_Distance(nullptr, position, info.position, nullptr);
|
||||
float distance = app::Vector3_Distance(position, info.position, nullptr);
|
||||
if (minDistance < 0 || distance < minDistance)
|
||||
{
|
||||
minDistance = distance;
|
||||
|
@ -483,7 +483,7 @@ namespace cheat::feature
|
||||
if (nearestLabelPoint == nullptr)
|
||||
continue;
|
||||
|
||||
float distance = app::Vector2_Distance(nullptr, levelPosition, nearestLabelPoint->levelPosition, nullptr);
|
||||
float distance = app::Vector2_Distance(levelPosition, nearestLabelPoint->levelPosition, nullptr);
|
||||
if (distance < minDistance || minDistancePoint == nullptr)
|
||||
{
|
||||
minDistance = distance;
|
||||
@ -506,7 +506,7 @@ namespace cheat::feature
|
||||
if (!completed && point.completed)
|
||||
continue;
|
||||
|
||||
float distance = app::Vector2_Distance(nullptr, levelPosition, point.levelPosition, nullptr);
|
||||
float distance = app::Vector2_Distance(levelPosition, point.levelPosition, nullptr);
|
||||
if (distance < minDistance || minDistancePoint == nullptr)
|
||||
{
|
||||
minDistance = distance;
|
||||
@ -1274,11 +1274,11 @@ namespace cheat::feature
|
||||
|
||||
static bool IsMapActive()
|
||||
{
|
||||
auto uimanager = GET_SINGLETON(UIManager_1);
|
||||
auto uimanager = GET_SINGLETON(UIManager);
|
||||
if (uimanager == nullptr)
|
||||
return false;
|
||||
|
||||
return app::UIManager_1_HasEnableMapCamera(uimanager, nullptr);
|
||||
return app::UIManager_HasEnableMapCamera(uimanager, nullptr);
|
||||
}
|
||||
|
||||
static app::Rect s_MapViewRect = { 0, 0, 1, 1 };
|
||||
@ -1300,8 +1300,8 @@ namespace cheat::feature
|
||||
screenPosition.y = (levelPosition.y - s_MapViewRect.m_YMin) / s_MapViewRect.m_Height;
|
||||
|
||||
// Scaling to screen position
|
||||
screenPosition.x = screenPosition.x * app::Screen_get_width(nullptr, nullptr);
|
||||
screenPosition.y = (1.0f - screenPosition.y) * app::Screen_get_height(nullptr, nullptr);
|
||||
screenPosition.x = screenPosition.x * app::Screen_get_width(nullptr);
|
||||
screenPosition.y = (1.0f - screenPosition.y) * app::Screen_get_height(nullptr);
|
||||
|
||||
return screenPosition;
|
||||
}
|
||||
@ -1491,8 +1491,8 @@ namespace cheat::feature
|
||||
if (m_ScenesData.count(sceneID) == 0)
|
||||
return;
|
||||
|
||||
ImVec2 screenSize = { static_cast<float>(app::Screen_get_width(nullptr, nullptr)),
|
||||
static_cast<float>(app::Screen_get_height(nullptr, nullptr)) };
|
||||
ImVec2 screenSize = { static_cast<float>(app::Screen_get_width(nullptr)),
|
||||
static_cast<float>(app::Screen_get_height(nullptr)) };
|
||||
|
||||
|
||||
auto iconSize = (f_DynamicSize && s_MapViewRect.m_Width != 0.0f) ? f_IconSize * (relativeSizeX / s_MapViewRect.m_Width) : f_IconSize;
|
||||
@ -1549,7 +1549,7 @@ namespace cheat::feature
|
||||
|
||||
UPDATE_DELAY_VAR(ImCircle, _miniMapCircle, 2000);
|
||||
|
||||
auto uiManager = GET_SINGLETON(UIManager_1);
|
||||
auto uiManager = GET_SINGLETON(UIManager);
|
||||
if (uiManager == nullptr || uiManager->fields._sceneCanvas == nullptr)
|
||||
return {};
|
||||
|
||||
@ -1559,7 +1559,7 @@ namespace cheat::feature
|
||||
|
||||
auto mapPos = app::Transform_get_position(reinterpret_cast<app::Transform*>(back), nullptr);
|
||||
auto center = app::Camera_WorldToScreenPoint(uiManager->fields._uiCamera, mapPos, nullptr);
|
||||
center.y = app::Screen_get_height(nullptr, nullptr) - center.y;
|
||||
center.y = app::Screen_get_height(nullptr) - center.y;
|
||||
|
||||
auto mapRect = app::RectTransform_get_rect(back, nullptr);
|
||||
float scaleFactor = app::Canvas_get_scaleFactor(uiManager->fields._sceneCanvas, nullptr);
|
||||
|
@ -17,7 +17,7 @@
|
||||
#include <imgui_internal.h>
|
||||
|
||||
// This module is for debug purpose, and... well.. it's shit coded ^)
|
||||
namespace cheat::feature
|
||||
namespace cheat::feature
|
||||
{
|
||||
|
||||
static bool ActorAbilityPlugin_OnEvent_Hook(void* __this, app::BaseEvent* e, MethodInfo* method);
|
||||
@ -25,30 +25,30 @@ namespace cheat::feature
|
||||
static bool csvFriendly = true;
|
||||
static bool includeHeaders = true;
|
||||
|
||||
Debug::Debug() : Feature()
|
||||
{
|
||||
Debug::Debug() : Feature()
|
||||
{
|
||||
events::GameUpdateEvent += FUNCTION_HANDLER(OnGameUpdate);
|
||||
HookManager::install(app::ActorAbilityPlugin_OnEvent, ActorAbilityPlugin_OnEvent_Hook);
|
||||
// HookManager::install(app::LuaShellManager_ReportLuaShellResult, LuaShellManager_ReportLuaShellResult_Hook);
|
||||
// HookManager::install(app::LuaShellManager_DoString, LuaShellManager_DoString_Hook);
|
||||
// HookManager::install(app::LuaEnv_DoString, LuaEnv_DoString_Hook);
|
||||
// HookManager::install(app::Lua_xlua_pushasciistring, Lua_xlua_pushasciistring_Hook);
|
||||
HookManager::install(app::ActorAbilityPlugin_OnEvent, ActorAbilityPlugin_OnEvent_Hook);
|
||||
// HookManager::install(app::LuaShellManager_ReportLuaShellResult, LuaShellManager_ReportLuaShellResult_Hook);
|
||||
// HookManager::install(app::LuaShellManager_DoString, LuaShellManager_DoString_Hook);
|
||||
// HookManager::install(app::LuaEnv_DoString, LuaEnv_DoString_Hook);
|
||||
// HookManager::install(app::Lua_xlua_pushasciistring, Lua_xlua_pushasciistring_Hook);
|
||||
|
||||
// HookManager::install(app::GameLogin_SendInfo_2, SendInfo_Hook);
|
||||
// LOG_DEBUG("Hooked GameLogin::SendGameInfo. Origin at 0x%p", HookManager::getOrigin(SendInfo_Hook));
|
||||
}
|
||||
// HookManager::install(app::GameLogin_SendInfo_2, SendInfo_Hook);
|
||||
// LOG_DEBUG("Hooked GameLogin::SendGameInfo. Origin at 0x%p", HookManager::getOrigin(SendInfo_Hook));
|
||||
}
|
||||
|
||||
const FeatureGUIInfo& Debug::GetGUIInfo() const
|
||||
{
|
||||
static const FeatureGUIInfo info{ "DebugInfo", "Debug", false };
|
||||
return info;
|
||||
}
|
||||
const FeatureGUIInfo& Debug::GetGUIInfo() const
|
||||
{
|
||||
static const FeatureGUIInfo info{ "DebugInfo", "Debug", false };
|
||||
return info;
|
||||
}
|
||||
|
||||
Debug& Debug::GetInstance()
|
||||
{
|
||||
static Debug instance;
|
||||
return instance;
|
||||
}
|
||||
Debug& Debug::GetInstance()
|
||||
{
|
||||
static Debug instance;
|
||||
return instance;
|
||||
}
|
||||
|
||||
|
||||
// Raise when player start game log in (after press a door)
|
||||
@ -152,7 +152,7 @@ namespace cheat::feature
|
||||
ImGui::Text("Object position: %s", il2cppi_to_string(location._pos).c_str());
|
||||
ImGui::Text("_unlocked: %s", location._unlocked ? "true" : "false");
|
||||
ImGui::Text("_groupLimit: %s", location._groupLimit ? "true" : "false");
|
||||
uint16_t areaId = app::SimpleSafeUInt16_get_Value(nullptr, location.areaIdRawNum, nullptr);
|
||||
uint16_t areaId = app::SimpleSafeUInt16_get_Value(location.areaIdRawNum, nullptr);
|
||||
ImGui::Text("areaId: %u", areaId);
|
||||
ImGui::Text("areaUnlocked: %s", app::MapModule_IsAreaUnlock(singleton, sceneId, areaId, nullptr) ? "true" : "false");
|
||||
ImGui::Text("gadgetIdRawNum: %u", location.gadgetIdRawNum);
|
||||
@ -236,8 +236,8 @@ namespace cheat::feature
|
||||
auto combat = entity->combat();
|
||||
if (combat != nullptr) {
|
||||
auto combatProp = combat->fields._combatProperty_k__BackingField;
|
||||
auto maxHP = app::SafeFloat_GetValue(nullptr, combatProp->fields.maxHP, nullptr);
|
||||
auto HP = app::SafeFloat_GetValue(nullptr, combatProp->fields.HP, nullptr);
|
||||
auto maxHP = app::SafeFloat_GetValue(combatProp->fields.maxHP, nullptr);
|
||||
auto HP = app::SafeFloat_GetValue(combatProp->fields.HP, nullptr);
|
||||
auto isLockHp = combatProp->fields.islockHP == nullptr || app::FixedBoolStack_get_value(combatProp->fields.islockHP, nullptr);
|
||||
auto isInvincible = combatProp->fields.isInvincible == nullptr || app::FixedBoolStack_get_value(combatProp->fields.isInvincible, nullptr);
|
||||
ImGui::BeginTooltip();
|
||||
@ -336,16 +336,16 @@ namespace cheat::feature
|
||||
// many cases we want to keep supporting. Ternary is cleaner, but not a big
|
||||
// performance hit if we keep a switch statement.
|
||||
switch (condition) {
|
||||
case Debug::TeleportCondition::Closest: {
|
||||
// We've already selected this.
|
||||
break;
|
||||
}
|
||||
case Debug::TeleportCondition::Farthest: {
|
||||
target = sortedEntities.back();
|
||||
break;
|
||||
}
|
||||
case Debug::TeleportCondition::Closest: {
|
||||
// We've already selected this.
|
||||
break;
|
||||
}
|
||||
|
||||
case Debug::TeleportCondition::Farthest: {
|
||||
target = sortedEntities.back();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// Separating this logic to keep it clean and consistent.
|
||||
if (target != nullptr)
|
||||
{
|
||||
@ -500,7 +500,7 @@ namespace cheat::feature
|
||||
static bool checkOnlyShells = false;
|
||||
static bool showEmptyTypes = false;
|
||||
static Debug::EntitySortCondition sortCondition = Debug::EntitySortCondition::Distance;
|
||||
static ImGuiTabBarFlags tab_bar_flags = ImGuiTabBarFlags_Reorderable | ImGuiTabBarFlags_FittingPolicyScroll |
|
||||
static ImGuiTabBarFlags tab_bar_flags = ImGuiTabBarFlags_Reorderable | ImGuiTabBarFlags_FittingPolicyScroll |
|
||||
ImGuiTabBarFlags_NoCloseWithMiddleMouseButton | ImGuiTabBarFlags_TabListPopupButton;
|
||||
|
||||
auto& manager = game::EntityManager::instance();
|
||||
@ -529,7 +529,7 @@ namespace cheat::feature
|
||||
ImGui::Checkbox("Filter by Radius", &useRadius);
|
||||
if (!useRadius)
|
||||
ImGui::BeginDisabled();
|
||||
|
||||
|
||||
ImGui::SameLine();
|
||||
ImGui::PushItemWidth(200.0);
|
||||
ImGui::SliderFloat("Radius", &radius, 0.0f, 100.0f);
|
||||
@ -767,23 +767,23 @@ namespace cheat::feature
|
||||
|
||||
void DrawPositionInfo()
|
||||
{
|
||||
auto avatarPos = app::ActorUtils_GetAvatarPos(nullptr, nullptr);
|
||||
auto avatarPos = app::ActorUtils_GetAvatarPos(nullptr);
|
||||
ImGui::Text("Avatar position: %s", il2cppi_to_string(avatarPos).c_str());
|
||||
|
||||
auto relativePos = app::WorldShiftManager_GetRelativePosition(nullptr, avatarPos, nullptr);
|
||||
auto relativePos = app::WorldShiftManager_GetRelativePosition(avatarPos, nullptr);
|
||||
ImGui::Text("Relative position: %s", il2cppi_to_string(relativePos).c_str());
|
||||
|
||||
auto levelPos = app::Miscs_GenLevelPos_1(nullptr, avatarPos, nullptr);
|
||||
auto levelPos = app::Miscs_GenLevelPos_1(avatarPos, nullptr);
|
||||
ImGui::Text("Level position: %s", il2cppi_to_string(levelPos).c_str());
|
||||
|
||||
|
||||
static app::Vector3 teleportPos = {};
|
||||
ImGui::InputFloat3("Teleport position", reinterpret_cast<float*>(&teleportPos));
|
||||
|
||||
|
||||
auto& teleport = MapTeleport::GetInstance();
|
||||
if (ImGui::Button("Map teleport"))
|
||||
teleport.TeleportTo(app::Vector2 { teleportPos.x, teleportPos.y });
|
||||
|
||||
teleport.TeleportTo(app::Vector2{ teleportPos.x, teleportPos.y });
|
||||
|
||||
ImGui::SameLine();
|
||||
|
||||
if (ImGui::Button("World teleport"))
|
||||
@ -791,7 +791,7 @@ namespace cheat::feature
|
||||
|
||||
if (ImGui::TreeNode("Ground pos info"))
|
||||
{
|
||||
auto groundNormal = app::Miscs_CalcCurrentGroundNorm(nullptr, avatarPos, nullptr);
|
||||
auto groundNormal = app::Miscs_CalcCurrentGroundNorm(avatarPos, nullptr);
|
||||
ImGui::Text("Ground normal: %s", il2cppi_to_string(groundNormal).c_str());
|
||||
|
||||
static app::Vector3 pos{};
|
||||
@ -807,7 +807,7 @@ namespace cheat::feature
|
||||
static float length = 1000;
|
||||
ImGui::DragFloat("Raycast length", &length, 1.0f, -2000.0f, 2000.0f);
|
||||
|
||||
ImGui::Text("All: %f", app::Miscs_CalcCurrentGroundHeight_1(nullptr, avatarPos.x, avatarPos.z, avatarPos.y, length, 0xFFFFFFFF, nullptr));
|
||||
ImGui::Text("All: %f", app::Miscs_CalcCurrentGroundHeight_1(avatarPos.x, avatarPos.z, avatarPos.y, length, 0xFFFFFFFF, nullptr));
|
||||
|
||||
ImGui::TreePop();
|
||||
}
|
||||
@ -819,7 +819,7 @@ namespace cheat::feature
|
||||
ImGui::SameLine();
|
||||
if (ImGui::Button("Copy All Info"))
|
||||
{
|
||||
auto text = il2cppi_to_string(avatarPos) + "\n" + il2cppi_to_string(relativePos) + "\n" + il2cppi_to_string(levelPos) + "\n" + il2cppi_to_string(app::Miscs_CalcCurrentGroundNorm(nullptr, avatarPos, nullptr));
|
||||
auto text = il2cppi_to_string(avatarPos) + "\n" + il2cppi_to_string(relativePos) + "\n" + il2cppi_to_string(levelPos) + "\n" + il2cppi_to_string(app::Miscs_CalcCurrentGroundNorm(avatarPos, nullptr));
|
||||
ImGui::SetClipboardText(text.c_str());
|
||||
}
|
||||
ImGui::SameLine();
|
||||
@ -833,7 +833,7 @@ namespace cheat::feature
|
||||
for (int i = 0; i < 10; i++)
|
||||
name += std::to_string(rand() % 10);
|
||||
text = "\"name\":\"" + name + "\"," + text;
|
||||
text = "{" + text + "}";
|
||||
text = "{" + text + "}";
|
||||
ImGui::SetClipboardText(text.c_str());
|
||||
}
|
||||
|
||||
@ -841,27 +841,27 @@ namespace cheat::feature
|
||||
|
||||
void DrawMapManager()
|
||||
{
|
||||
auto mapManager = GET_SINGLETON(MapManager);
|
||||
auto mapManager = GET_SINGLETON(MapManager);
|
||||
if (mapManager == nullptr)
|
||||
return;
|
||||
|
||||
int temp = mapManager->fields.playerSceneID;
|
||||
ImGui::InputInt("Player scene id", &temp);
|
||||
|
||||
temp = mapManager->fields.mapSceneID;
|
||||
ImGui::InputInt("Map scene id", &temp);
|
||||
temp = mapManager->fields.mapSceneID;
|
||||
ImGui::InputInt("Map scene id", &temp);
|
||||
}
|
||||
|
||||
void DrawImGuiFocusTest()
|
||||
{
|
||||
ImGui::Text("Is any item active: %s", ImGui::IsAnyItemActive() ? "true" : "false");
|
||||
ImGui::Text("Is any item focused: %s", ImGui::IsAnyItemFocused() ? "true" : "false");
|
||||
ImGui::Text("Is any item active: %s", ImGui::IsAnyItemActive() ? "true" : "false");
|
||||
ImGui::Text("Is any item focused: %s", ImGui::IsAnyItemFocused() ? "true" : "false");
|
||||
|
||||
ImGui::Button("Test");
|
||||
auto hk = Hotkey();
|
||||
int temp = 0;
|
||||
InputHotkey("Test hotkey", &hk, false);
|
||||
ImGui::InputInt("Test input", &temp);
|
||||
ImGui::Button("Test");
|
||||
auto hk = Hotkey();
|
||||
int temp = 0;
|
||||
InputHotkey("Test hotkey", &hk, false);
|
||||
ImGui::InputInt("Test input", &temp);
|
||||
}
|
||||
|
||||
std::map<std::string, std::string> chestNames;
|
||||
@ -908,7 +908,7 @@ namespace cheat::feature
|
||||
app::GadgetState__Enum chestState = static_cast<app::GadgetState__Enum>(ownerData.gadgetState);
|
||||
ImGui::Text("Is ability locked: %s", pluginData._isLockByAbility ? "true" : "false");
|
||||
ImGui::Text("State: %s", magic_enum::enum_name(chestState).data());
|
||||
|
||||
|
||||
bool added = chestNames.count(entityName) > 0;
|
||||
|
||||
if (tempNames.count(entityName) == 0)
|
||||
@ -947,8 +947,8 @@ namespace cheat::feature
|
||||
ImGui::InputTextMultiline("Dict", &textStr);
|
||||
ImGui::TreePop();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void DrawScenePropManager()
|
||||
{
|
||||
@ -967,7 +967,7 @@ namespace cheat::feature
|
||||
}
|
||||
|
||||
ImGui::Text("Prop count: %d", scenePropDict->count);
|
||||
|
||||
|
||||
auto& manager = game::EntityManager::instance();
|
||||
for (auto& [id, propObject] : scenePropDict->pairs())
|
||||
{
|
||||
@ -979,20 +979,20 @@ namespace cheat::feature
|
||||
auto config = tree->fields._config->fields;
|
||||
|
||||
auto pattern = config._._.scenePropPatternName;
|
||||
app::ECGLPBEEEAA__Enum value;
|
||||
app::MoleMole_Config_TreeType__Enum value;
|
||||
bool result = app::ScenePropManager_GetTreeTypeByPattern(scenePropManager, pattern, &value, nullptr);
|
||||
if (!result)
|
||||
continue;
|
||||
|
||||
ImGui::Text("Tree at %s, type: %s, distance %0.3f", il2cppi_to_string(pos).c_str(), magic_enum::enum_name(value).data(),
|
||||
manager.avatar()->distance(app::WorldShiftManager_GetRelativePosition(nullptr, pos, nullptr)));
|
||||
manager.avatar()->distance(app::WorldShiftManager_GetRelativePosition(pos, nullptr)));
|
||||
}
|
||||
}
|
||||
|
||||
class ItemFilter : game::IEntityFilter
|
||||
{
|
||||
public:
|
||||
ItemFilter() : ItemFilter(app::EntityType__Enum_1::None, "")
|
||||
ItemFilter() : ItemFilter(app::EntityType__Enum_1::None, "")
|
||||
{}
|
||||
|
||||
ItemFilter(app::EntityType__Enum_1 type, const std::string& name) : m_Type(type), m_Name(name)
|
||||
@ -1033,18 +1033,18 @@ namespace cheat::feature
|
||||
|
||||
nlohmann::json jRoot;
|
||||
try {
|
||||
jRoot =nlohmann::json::parse(fs);
|
||||
jRoot = nlohmann::json::parse(fs);
|
||||
}
|
||||
catch (nlohmann::detail::parse_error& parseError)
|
||||
{
|
||||
UNREFERENCED_PARAMETER(parseError);
|
||||
LOG_ERROR("Failed to parse json");
|
||||
}
|
||||
|
||||
|
||||
for (auto& [key, value] : jRoot["filters"].items())
|
||||
simpleFilters[key] = ItemFilter(value["type"], value["name"]);
|
||||
|
||||
for (auto& value : jRoot["excluded"])
|
||||
for (auto& value : jRoot["excluded"])
|
||||
removedItems.push_back(ItemFilter(value["type"], value["name"]));
|
||||
}
|
||||
|
||||
@ -1098,20 +1098,20 @@ namespace cheat::feature
|
||||
ImGui::InputText("## Name", &keyText);
|
||||
ImGui::SameLine();
|
||||
|
||||
ImGui::InputText("## ItemName", &filter.m_Name);
|
||||
ImGui::SameLine();
|
||||
|
||||
ImGui::InputText("## ItemName", &filter.m_Name);
|
||||
ImGui::SameLine();
|
||||
|
||||
std::string typeName = std::string(magic_enum::enum_name(filter.m_Type));
|
||||
ImGui::InputText("## ItemType", &typeName);
|
||||
ImGui::InputText("## ItemType", &typeName);
|
||||
|
||||
ImGui::PopItemWidth();
|
||||
ImGui::PopID();
|
||||
}
|
||||
}
|
||||
|
||||
void Debug::DrawExternal()
|
||||
{
|
||||
//auto draw = ImGui::GetBackgroundDrawList();
|
||||
void Debug::DrawExternal()
|
||||
{
|
||||
//auto draw = ImGui::GetBackgroundDrawList();
|
||||
|
||||
//std::string fpsString = fmt::format("{:.1f}/{:.1f}", 1000.0f / ImGui::GetIO().Framerate, ImGui::GetIO().Framerate);
|
||||
//draw->AddText(ImVec2(100, 100), ImColor(0, 0, 0), fpsString.c_str());
|
||||
@ -1136,14 +1136,14 @@ namespace cheat::feature
|
||||
}
|
||||
}
|
||||
|
||||
for (auto& filter : removedItems)
|
||||
{
|
||||
if (executor.ApplyFilter(entity, reinterpret_cast<game::IEntityFilter*>(&filter)))
|
||||
{
|
||||
unexplored = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
for (auto& filter : removedItems)
|
||||
{
|
||||
if (executor.ApplyFilter(entity, reinterpret_cast<game::IEntityFilter*>(&filter)))
|
||||
{
|
||||
unexplored = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (!unexplored)
|
||||
continue;
|
||||
@ -1169,11 +1169,11 @@ namespace cheat::feature
|
||||
updated = true;
|
||||
}
|
||||
}
|
||||
else if (selectedEntity != nullptr && ImGui::IsKeyPressed(ImGuiKey_R, false))
|
||||
{
|
||||
removedItems.push_back(ItemFilter(selectedEntity->type(), selectedEntity->name()));
|
||||
updated = true;
|
||||
}
|
||||
else if (selectedEntity != nullptr && ImGui::IsKeyPressed(ImGuiKey_R, false))
|
||||
{
|
||||
removedItems.push_back(ItemFilter(selectedEntity->type(), selectedEntity->name()));
|
||||
updated = true;
|
||||
}
|
||||
|
||||
if (selectedEntity != nullptr && ImGui::IsKeyPressed(ImGuiKey_T, false))
|
||||
{
|
||||
@ -1189,8 +1189,8 @@ namespace cheat::feature
|
||||
ImGui::Begin("Input name", nullptr, ImGuiWindowFlags_AlwaysAutoResize);
|
||||
ImGui::PushItemWidth(500);
|
||||
ImGui::InputText("Section", &tempSectionName);
|
||||
if (!ImGui::IsAnyItemActive() && !ImGui::IsMouseClicked(0))
|
||||
ImGui::SetKeyboardFocusHere(0);
|
||||
if (!ImGui::IsAnyItemActive() && !ImGui::IsMouseClicked(0))
|
||||
ImGui::SetKeyboardFocusHere(0);
|
||||
ImGui::InputText("Name", &tempName);
|
||||
ImGui::PopItemWidth();
|
||||
ImGui::End();
|
||||
@ -1203,21 +1203,21 @@ namespace cheat::feature
|
||||
updated = true;
|
||||
}
|
||||
|
||||
if (ImGui::IsKeyPressed(ImGuiKey_Escape, false))
|
||||
{
|
||||
if (ImGui::IsKeyPressed(ImGuiKey_Escape, false))
|
||||
{
|
||||
renderer::SetInputLock(this, false);
|
||||
addingFilter = false;
|
||||
}
|
||||
addingFilter = false;
|
||||
}
|
||||
}
|
||||
|
||||
if (updated)
|
||||
FiltetItemPickerSave();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void DrawFPSGraph()
|
||||
{
|
||||
static float values[120] = {0};
|
||||
static float values[120] = { 0 };
|
||||
static int values_offset = 0;
|
||||
values[values_offset++] = ImGui::GetIO().Framerate;
|
||||
if (values_offset >= IM_ARRAYSIZE(values))
|
||||
@ -1232,43 +1232,43 @@ namespace cheat::feature
|
||||
}
|
||||
|
||||
void Debug::DrawMain()
|
||||
{
|
||||
if (ImGui::CollapsingHeader("Entity Manager", ImGuiTreeNodeFlags_None))
|
||||
DrawEntitiesData();
|
||||
{
|
||||
if (ImGui::CollapsingHeader("Entity Manager", ImGuiTreeNodeFlags_None))
|
||||
DrawEntitiesData();
|
||||
|
||||
if (ImGui::CollapsingHeader("Position", ImGuiTreeNodeFlags_None))
|
||||
{
|
||||
DrawMapManager();
|
||||
DrawPositionInfo();
|
||||
}
|
||||
if (ImGui::CollapsingHeader("Position", ImGuiTreeNodeFlags_None))
|
||||
{
|
||||
DrawMapManager();
|
||||
DrawPositionInfo();
|
||||
}
|
||||
|
||||
//if (ImGui::CollapsingHeader("Filter item picker"))
|
||||
// DrawFilterItemPicker();
|
||||
|
||||
//if (ImGui::CollapsingHeader("Chest plugin", ImGuiTreeNodeFlags_None))
|
||||
// DrawChestPlugin();
|
||||
//if (ImGui::CollapsingHeader("Chest plugin", ImGuiTreeNodeFlags_None))
|
||||
// DrawChestPlugin();
|
||||
|
||||
//if (ImGui::CollapsingHeader("Interaction manager", ImGuiTreeNodeFlags_None))
|
||||
// DrawInteractionManagerInfo();
|
||||
//if (ImGui::CollapsingHeader("Interaction manager", ImGuiTreeNodeFlags_None))
|
||||
// DrawInteractionManagerInfo();
|
||||
|
||||
if (ImGui::CollapsingHeader("Map Manager", ImGuiTreeNodeFlags_None))
|
||||
DrawManagerData();
|
||||
if (ImGui::CollapsingHeader("Map Manager", ImGuiTreeNodeFlags_None))
|
||||
DrawManagerData();
|
||||
if (ImGui::CollapsingHeader("FPS Graph", ImGuiTreeNodeFlags_None))
|
||||
DrawFPSGraph();
|
||||
}
|
||||
}
|
||||
|
||||
bool Debug::NeedInfoDraw() const
|
||||
{
|
||||
bool Debug::NeedInfoDraw() const
|
||||
{
|
||||
return showNotWritten && notWrittenChests.size() > 0;
|
||||
}
|
||||
}
|
||||
|
||||
void Debug::DrawInfo()
|
||||
{
|
||||
void Debug::DrawInfo()
|
||||
{
|
||||
for (auto& name : notWrittenChests)
|
||||
{
|
||||
ImGui::Text("%s", name.c_str());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
@ -24,7 +24,7 @@ namespace cheat::feature
|
||||
{
|
||||
for (int i = 0; i < 4; i++) {
|
||||
LOG_TRACE("Emulating call of RecordUserData with type %d", i);
|
||||
app::Application_RecordUserData(nullptr, i, nullptr);
|
||||
app::Application_RecordUserData(i, nullptr);
|
||||
}
|
||||
|
||||
// if (m_Enabled) {
|
||||
|
@ -183,7 +183,7 @@ namespace cheat::feature
|
||||
byteArray->max_length = length;
|
||||
memcpy_s(byteArray->vector, length, content, length);
|
||||
|
||||
app::Packet_XorEncrypt(nullptr, &byteArray, length, nullptr);
|
||||
app::Packet_XorEncrypt(&byteArray, length, nullptr);
|
||||
|
||||
auto result = new char[length];
|
||||
memcpy_s(result, length, byteArray->vector, length);
|
||||
@ -249,13 +249,13 @@ namespace cheat::feature
|
||||
return sniffer.OnPacketIO(evt->_evt.packet, PacketIOType::Receive);
|
||||
}
|
||||
|
||||
int32_t PacketSniffer::KcpNative_kcp_client_send_packet_Hook(void* __this, void* kcp_client, app::KcpPacket_1* packet, MethodInfo* method)
|
||||
int32_t PacketSniffer::KcpNative_kcp_client_send_packet_Hook(void* kcp_client, app::KcpPacket_1* packet, MethodInfo* method)
|
||||
{
|
||||
auto& sniffer = GetInstance();
|
||||
if (!sniffer.OnPacketIO(packet, PacketIOType::Send))
|
||||
return 0;
|
||||
|
||||
return CALL_ORIGIN(KcpNative_kcp_client_send_packet_Hook, __this, kcp_client, packet, method);
|
||||
return CALL_ORIGIN(KcpNative_kcp_client_send_packet_Hook, kcp_client, packet, method);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -49,7 +49,7 @@ namespace cheat::feature
|
||||
|
||||
static char* EncryptXor(void* content, uint32_t length);
|
||||
static bool KcpClient_TryDequeueEvent_Hook(void* __this, app::ClientKcpEvent* evt, MethodInfo* method);
|
||||
static int32_t KcpNative_kcp_client_send_packet_Hook(void* __this, void* kcp_client, app::KcpPacket_1* packet, MethodInfo* method);
|
||||
static int32_t KcpNative_kcp_client_send_packet_Hook(void* kcp_client, app::KcpPacket_1* packet, MethodInfo* method);
|
||||
|
||||
bool OnPacketIO(app::KcpPacket_1* packet, PacketIOType type);
|
||||
};
|
||||
|
@ -128,11 +128,11 @@ namespace cheat::feature
|
||||
NoCD& noCD = NoCD::GetInstance();
|
||||
if (noCD.f_AbilityReduce)
|
||||
{
|
||||
auto cdTimer = app::SafeFloat_GetValue(nullptr, skillInfo->fields.cdTimer, nullptr);
|
||||
auto cdTimer = app::SafeFloat_GetValue(skillInfo->fields.cdTimer, nullptr);
|
||||
|
||||
if (cdTimer > noCD.f_TimerReduce * 5.0f)
|
||||
{
|
||||
struct app::SafeFloat MyValueProtect = app::SafeFloat_SetValue(nullptr, noCD.f_TimerReduce * 5.0f, nullptr);
|
||||
struct app::SafeFloat MyValueProtect = app::SafeFloat_SetValue(noCD.f_TimerReduce * 5.0f, nullptr);
|
||||
skillInfo->fields.cdTimer = MyValueProtect;
|
||||
}
|
||||
}
|
||||
|
@ -154,7 +154,7 @@ namespace cheat::feature
|
||||
if (IsVectorZero(prevPos))
|
||||
return;
|
||||
|
||||
float deltaTime = app::Time_get_deltaTime(nullptr, nullptr);
|
||||
float deltaTime = app::Time_get_deltaTime(nullptr);
|
||||
|
||||
app::Vector3 newPos = prevPos + dir * speed * deltaTime;
|
||||
if (!f_VelocityMode)
|
||||
|
@ -121,7 +121,7 @@ namespace cheat::feature
|
||||
return f_Multiplier;
|
||||
|
||||
auto safeHP = baseCombat->fields._combatProperty_k__BackingField->fields.HP;
|
||||
auto HP = app::SafeFloat_GetValue(nullptr, safeHP, nullptr);
|
||||
auto HP = app::SafeFloat_GetValue(safeHP, nullptr);
|
||||
int attackCount = (int)ceil(HP / attackDamage);
|
||||
return std::clamp(attackCount, 1, 200);
|
||||
}
|
||||
|
@ -30,7 +30,7 @@ namespace cheat::feature
|
||||
static std::string teleportName;
|
||||
ImGui::InputText("Teleport name", &teleportName);
|
||||
static std::vector<std::pair<std::string, app::Vector3>> teleports;
|
||||
app::Vector3 pos = app::ActorUtils_GetAvatarPos(nullptr, nullptr);
|
||||
app::Vector3 pos = app::ActorUtils_GetAvatarPos(nullptr);
|
||||
if (ImGui::Button("Add teleport"))
|
||||
{
|
||||
// check if already added
|
||||
|
@ -6,48 +6,48 @@
|
||||
#include <cheat/game/EntityManager.h>
|
||||
#include <cheat/game/util.h>
|
||||
|
||||
namespace cheat::feature
|
||||
namespace cheat::feature
|
||||
{
|
||||
static void InLevelMapPageContext_OnMapClicked_Hook(app::InLevelMapPageContext* __this, app::Vector2 screenPos, MethodInfo* method);
|
||||
static void InLevelMapPageContext_OnMarkClicked_Hook(app::InLevelMapPageContext* __this, app::MonoMapMark* mark, MethodInfo* method);
|
||||
static app::Vector3 LocalEntityInfoData_GetTargetPos_Hook(app::LocalEntityInfoData* __this, MethodInfo* method);
|
||||
|
||||
static app::Vector3 LocalEntityInfoData_get_initPos_Hook(app::LocalEntityInfoData* __this, MethodInfo* method);
|
||||
|
||||
static bool LoadingManager_NeedTransByServer_Hook(app::LoadingManager* __this, uint32_t sceneId, app::Vector3 position, MethodInfo* method);
|
||||
static void LoadingManager_PerformPlayerTransmit_Hook(app::LoadingManager* __this, app::Vector3 position, app::EnterType__Enum someEnum,
|
||||
uint32_t someUint1, app::EvtTransmitAvatar_EvtTransmitAvatar_TransmitType__Enum teleportType, uint32_t someUint2, MethodInfo* method);
|
||||
static void Entity_SetPosition_Hook(app::BaseEntity* __this, app::Vector3 position, bool someBool, MethodInfo* method);
|
||||
static void Entity_SetRelativePosition_Hook(app::BaseEntity* __this, app::Vector3 position, bool someBool, MethodInfo* method);
|
||||
|
||||
MapTeleport::MapTeleport() : Feature(),
|
||||
NF(f_Enabled, "Map teleport", "MapTeleport", false),
|
||||
MapTeleport::MapTeleport() : Feature(),
|
||||
NF(f_Enabled, "Map teleport", "MapTeleport", false),
|
||||
NF(f_DetectHeight, "Auto height detect", "MapTeleport", true),
|
||||
NF(f_DefaultHeight, "Default teleport height", "MapTeleport", 300.0f),
|
||||
NF(f_Key, "Teleport key", "MapTeleport", Hotkey('T'))
|
||||
{
|
||||
{
|
||||
// Map touch
|
||||
HookManager::install(app::InLevelMapPageContext_OnMarkClicked, InLevelMapPageContext_OnMarkClicked_Hook);
|
||||
HookManager::install(app::InLevelMapPageContext_OnMapClicked, InLevelMapPageContext_OnMapClicked_Hook);
|
||||
|
||||
// Stage 1
|
||||
HookManager::install(app::LocalEntityInfoData_GetTargetPos, LocalEntityInfoData_GetTargetPos_Hook);
|
||||
HookManager::install(app::LocalEntityInfoData_get_initPos, LocalEntityInfoData_get_initPos_Hook);
|
||||
HookManager::install(app::LoadingManager_NeedTransByServer, LoadingManager_NeedTransByServer_Hook);
|
||||
|
||||
// Stage 2
|
||||
HookManager::install(app::LoadingManager_PerformPlayerTransmit, LoadingManager_PerformPlayerTransmit_Hook);
|
||||
|
||||
// Stage 3
|
||||
HookManager::install(app::Entity_SetPosition, Entity_SetPosition_Hook);
|
||||
HookManager::install(app::Entity_SetRelativePosition, Entity_SetRelativePosition_Hook);
|
||||
|
||||
events::GameUpdateEvent += MY_METHOD_HANDLER(MapTeleport::OnGameUpdate);
|
||||
}
|
||||
|
||||
const FeatureGUIInfo& MapTeleport::GetGUIInfo() const
|
||||
{
|
||||
static const FeatureGUIInfo info { "Map Teleport", "Teleport", true };
|
||||
return info;
|
||||
}
|
||||
const FeatureGUIInfo& MapTeleport::GetGUIInfo() const
|
||||
{
|
||||
static const FeatureGUIInfo info{ "Map Teleport", "Teleport", true };
|
||||
return info;
|
||||
}
|
||||
|
||||
void MapTeleport::DrawMain()
|
||||
{
|
||||
void MapTeleport::DrawMain()
|
||||
{
|
||||
ConfigWidget("Enabled",
|
||||
f_Enabled,
|
||||
"Enable teleport-to-mark functionality.\n" \
|
||||
@ -71,13 +71,13 @@ namespace cheat::feature
|
||||
|
||||
if (!f_Enabled)
|
||||
ImGui::EndDisabled();
|
||||
}
|
||||
}
|
||||
|
||||
MapTeleport& MapTeleport::GetInstance()
|
||||
{
|
||||
static MapTeleport instance;
|
||||
return instance;
|
||||
}
|
||||
MapTeleport& MapTeleport::GetInstance()
|
||||
{
|
||||
static MapTeleport instance;
|
||||
return instance;
|
||||
}
|
||||
|
||||
// Hook for game manager needs for starting teleport in game update thread.
|
||||
// Because, when we use Teleport call in non game thread (imgui update thread for example)
|
||||
@ -99,7 +99,7 @@ namespace cheat::feature
|
||||
{
|
||||
LOG_DEBUG("Stage 0. Target location at %s", il2cppi_to_string(position).c_str());
|
||||
|
||||
auto avatarPosition = app::ActorUtils_GetAvatarPos(nullptr, nullptr);
|
||||
auto avatarPosition = app::ActorUtils_GetAvatarPos(nullptr);
|
||||
auto nearestWaypoint = game::FindNearestWaypoint(position, sceneId);
|
||||
|
||||
if (nearestWaypoint.data == nullptr)
|
||||
@ -109,7 +109,7 @@ namespace cheat::feature
|
||||
}
|
||||
else
|
||||
{
|
||||
float dist = app::Vector3_Distance(nullptr, position, nearestWaypoint.position, nullptr);
|
||||
float dist = app::Vector3_Distance(position, nearestWaypoint.position, nullptr);
|
||||
LOG_DEBUG("Stage 0. Found nearest waypoint { sceneId: %d; waypointId: %d } with distance %fm.",
|
||||
nearestWaypoint.sceneId, nearestWaypoint.waypointId, dist);
|
||||
}
|
||||
@ -122,7 +122,7 @@ namespace cheat::feature
|
||||
if (!mapBackground)
|
||||
return false;
|
||||
|
||||
auto uimanager = GET_SINGLETON(UIManager_1);
|
||||
auto uimanager = GET_SINGLETON(UIManager);
|
||||
if (uimanager == nullptr)
|
||||
return false;
|
||||
|
||||
@ -149,10 +149,10 @@ namespace cheat::feature
|
||||
|
||||
void MapTeleport::TeleportTo(app::Vector2 mapPosition)
|
||||
{
|
||||
auto worldPosition = app::Miscs_GenWorldPos(nullptr, mapPosition, nullptr);
|
||||
auto worldPosition = app::Miscs_GenWorldPos(mapPosition, nullptr);
|
||||
|
||||
auto relativePos = app::WorldShiftManager_GetRelativePosition(nullptr, worldPosition, nullptr);
|
||||
auto groundHeight = app::Miscs_CalcCurrentGroundHeight(nullptr, relativePos.x, relativePos.z, nullptr);
|
||||
auto relativePos = app::WorldShiftManager_GetRelativePosition(worldPosition, nullptr);
|
||||
auto groundHeight = app::Miscs_CalcCurrentGroundHeight(relativePos.x, relativePos.z, nullptr);
|
||||
|
||||
TeleportTo({ worldPosition.x, groundHeight > 0 ? groundHeight + 5 : f_DefaultHeight, worldPosition.z }, true, game::GetCurrentMapSceneID());
|
||||
}
|
||||
@ -188,7 +188,7 @@ namespace cheat::feature
|
||||
// Before call, game checked if distance is near (<60) to cast near teleport.
|
||||
// But it check distance to waypoint location, given by this function.
|
||||
// So, we need to replace target position to do correct check.
|
||||
void MapTeleport::OnGetTargetPos(app::Vector3& position)
|
||||
void MapTeleport::OnGetTargetPos(app::Vector3& position)
|
||||
{
|
||||
if (taskInfo.currentStage == 3)
|
||||
{
|
||||
@ -199,7 +199,7 @@ namespace cheat::feature
|
||||
}
|
||||
|
||||
// Checking is teleport is far (>60m), if it isn't we clear stage.
|
||||
void MapTeleport::OnCheckTeleportDistance(bool needTransByServer)
|
||||
void MapTeleport::OnCheckTeleportDistance(bool needTransByServer)
|
||||
{
|
||||
if (!needTransByServer && taskInfo.currentStage == 2)
|
||||
{
|
||||
@ -210,7 +210,7 @@ namespace cheat::feature
|
||||
|
||||
// After server responded, it will give us the waypoint target location to load.
|
||||
// Change it to teleport location.
|
||||
void MapTeleport::OnPerformPlayerTransmit(app::Vector3& position)
|
||||
void MapTeleport::OnPerformPlayerTransmit(app::Vector3& position)
|
||||
{
|
||||
if (taskInfo.currentStage == 2)
|
||||
{
|
||||
@ -232,17 +232,17 @@ namespace cheat::feature
|
||||
|
||||
if (taskInfo.needHeightCalculation)
|
||||
{
|
||||
auto relativePos = app::WorldShiftManager_GetRelativePosition(nullptr, position, nullptr);
|
||||
auto relativePos = app::WorldShiftManager_GetRelativePosition(position, nullptr);
|
||||
float groundHeight;
|
||||
switch (taskInfo.sceneId)
|
||||
{
|
||||
// Underground mines has tunnel structure, so we need to calculate height from waypoint height to prevent tp above world.
|
||||
// Underground mines has tunnel structure, so we need to calculate height from waypoint height to prevent tp above world.
|
||||
case 6: // Underground mines scene id, if it was changed, please create issue
|
||||
groundHeight = app::Miscs_CalcCurrentGroundHeight_1(nullptr, relativePos.x, relativePos.z, originPosition.y, 100,
|
||||
app::Miscs_GetSceneGroundLayerMask(nullptr, nullptr), nullptr);
|
||||
groundHeight = app::Miscs_CalcCurrentGroundHeight_1(relativePos.x, relativePos.z, originPosition.y, 100,
|
||||
app::Miscs_GetSceneGroundLayerMask(nullptr), nullptr);
|
||||
break;
|
||||
default:
|
||||
groundHeight = app::Miscs_CalcCurrentGroundWaterHeight(nullptr, relativePos.x, relativePos.z, nullptr);
|
||||
groundHeight = app::Miscs_CalcCurrentGroundWaterHeight(relativePos.x, relativePos.z, nullptr);
|
||||
break;
|
||||
}
|
||||
if (groundHeight > 0 && position.y != groundHeight)
|
||||
@ -257,13 +257,13 @@ namespace cheat::feature
|
||||
}
|
||||
}
|
||||
|
||||
static app::Vector3 LocalEntityInfoData_GetTargetPos_Hook(app::LocalEntityInfoData* __this, MethodInfo* method)
|
||||
static app::Vector3 LocalEntityInfoData_get_initPos_Hook(app::LocalEntityInfoData* __this, MethodInfo* method)
|
||||
{
|
||||
auto result = CALL_ORIGIN(LocalEntityInfoData_GetTargetPos_Hook, __this, method);
|
||||
|
||||
auto result = CALL_ORIGIN(LocalEntityInfoData_get_initPos_Hook, __this, method);
|
||||
|
||||
MapTeleport& mapTeleport = MapTeleport::GetInstance();
|
||||
mapTeleport.OnGetTargetPos(result);
|
||||
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
@ -288,7 +288,7 @@ namespace cheat::feature
|
||||
}
|
||||
|
||||
|
||||
static void Entity_SetPosition_Hook(app::BaseEntity* __this, app::Vector3 position, bool someBool, MethodInfo* method)
|
||||
static void Entity_SetRelativePosition_Hook(app::BaseEntity* __this, app::Vector3 position, bool someBool, MethodInfo* method)
|
||||
{
|
||||
auto& manager = game::EntityManager::instance();
|
||||
if (manager.avatar()->raw() == __this)
|
||||
@ -297,7 +297,7 @@ namespace cheat::feature
|
||||
mapTeleport.OnSetAvatarPosition(position);
|
||||
}
|
||||
|
||||
CALL_ORIGIN(Entity_SetPosition_Hook, __this, position, someBool, method);
|
||||
CALL_ORIGIN(Entity_SetRelativePosition_Hook, __this, position, someBool, method);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -99,7 +99,7 @@ namespace cheat::feature
|
||||
AutoCook& autoCook = AutoCook::GetInstance();
|
||||
if (autoCook.f_Enabled)
|
||||
{
|
||||
uint32_t maxCount = app::SimpleSafeUInt32_get_Value(nullptr, __this->fields.maxProficiencyRawNum, nullptr);
|
||||
uint32_t maxCount = app::SimpleSafeUInt32_get_Value(__this->fields.maxProficiencyRawNum, nullptr);
|
||||
autoCook.CookCount = maxCount;
|
||||
}
|
||||
return CALL_ORIGIN(CookRecipeExcelConfig_get_maxProficiency, __this, method);
|
||||
|
@ -7,7 +7,7 @@
|
||||
#include <cheat/events.h>
|
||||
#include <cheat/game/util.h>
|
||||
|
||||
namespace cheat::feature
|
||||
namespace cheat::feature
|
||||
{
|
||||
AutoFish::AutoFish() : Feature(),
|
||||
NFEX(f_Enabled, "Auto Fish", "m_AutoFish", "AutoFish", false, false),
|
||||
@ -17,12 +17,12 @@ namespace cheat::feature
|
||||
{
|
||||
events::GameUpdateEvent += MY_METHOD_HANDLER(AutoFish::OnGameUpdate);
|
||||
|
||||
HookManager::install(app::FishingModule_RequestFishCastRod, FishingModule_RequestFishCastRod_Hook);
|
||||
HookManager::install(app::FishingModule_onFishChosenNotify, FishingModule_onFishChosenNotify_Hook);
|
||||
HookManager::install(app::FishingModule_OnFishBiteRsp, FishingModule_OnFishBiteRsp_Hook);
|
||||
HookManager::install(app::FishingModule_RequestFishCastRod, FishingModule_RequestFishCastRod_Hook);
|
||||
HookManager::install(app::FishingModule_onFishChosenNotify, FishingModule_onFishChosenNotify_Hook);
|
||||
HookManager::install(app::FishingModule_OnFishBiteRsp, FishingModule_OnFishBiteRsp_Hook);
|
||||
HookManager::install(app::FishingModule_OnFishBattleBeginRsp, FishingModule_OnFishBattleBeginRsp_Hook);
|
||||
HookManager::install(app::FishingModule_OnFishBattleEndRsp, FishingModule_OnFishBattleEndRsp_Hook);
|
||||
HookManager::install(app::FishingModule_OnExitFishingRsp, FishingModule_OnExitFishingRsp_Hook);
|
||||
HookManager::install(app::FishingModule_OnFishBattleEndRsp, FishingModule_OnFishBattleEndRsp_Hook);
|
||||
HookManager::install(app::FishingModule_OnExitFishingRsp, FishingModule_OnExitFishingRsp_Hook);
|
||||
}
|
||||
|
||||
const FeatureGUIInfo& AutoFish::GetGUIInfo() const
|
||||
@ -43,11 +43,11 @@ namespace cheat::feature
|
||||
}
|
||||
|
||||
bool AutoFish::NeedStatusDraw() const
|
||||
{
|
||||
{
|
||||
return f_Enabled;
|
||||
}
|
||||
|
||||
void AutoFish::DrawStatus()
|
||||
void AutoFish::DrawStatus()
|
||||
{
|
||||
ImGui::Text("Auto Fish");
|
||||
}
|
||||
@ -58,19 +58,19 @@ namespace cheat::feature
|
||||
return instance;
|
||||
}
|
||||
|
||||
void AutoFish::FishingModule_onFishChosenNotify_Hook(void* __this, void* notify, MethodInfo* method)
|
||||
{
|
||||
void AutoFish::FishingModule_onFishChosenNotify_Hook(void* __this, void* notify, MethodInfo* method)
|
||||
{
|
||||
CALL_ORIGIN(FishingModule_onFishChosenNotify_Hook, __this, notify, method);
|
||||
|
||||
auto& autoFish = GetInstance();
|
||||
if (!autoFish.f_Enabled)
|
||||
return;
|
||||
auto& autoFish = GetInstance();
|
||||
if (!autoFish.f_Enabled)
|
||||
return;
|
||||
|
||||
app::FishingModule_RequestFishBite(__this, nullptr);
|
||||
}
|
||||
}
|
||||
|
||||
void AutoFish::FishingModule_OnFishBiteRsp_Hook(void* __this, app::FishBiteRsp* rsp, MethodInfo* method)
|
||||
{
|
||||
void AutoFish::FishingModule_OnFishBiteRsp_Hook(void* __this, app::FishBiteRsp* rsp, MethodInfo* method)
|
||||
{
|
||||
auto& autoFish = GetInstance();
|
||||
if (!autoFish.f_Enabled)
|
||||
{
|
||||
@ -78,30 +78,30 @@ namespace cheat::feature
|
||||
return;
|
||||
}
|
||||
|
||||
app::FishingModule_RequestFishBattleBegin(__this, nullptr);
|
||||
app::FishingModule_RequestFishBattleBegin(__this, nullptr);
|
||||
}
|
||||
|
||||
void AutoFish::FishingModule_OnFishBattleBeginRsp_Hook(void* __this, app::FishBattleBeginRsp* rsp, MethodInfo* method)
|
||||
{
|
||||
auto& autoFish = GetInstance();
|
||||
if (!autoFish.f_Enabled)
|
||||
{
|
||||
void AutoFish::FishingModule_OnFishBattleBeginRsp_Hook(void* __this, app::FishBattleBeginRsp* rsp, MethodInfo* method)
|
||||
{
|
||||
auto& autoFish = GetInstance();
|
||||
if (!autoFish.f_Enabled)
|
||||
{
|
||||
CALL_ORIGIN(FishingModule_OnFishBattleBeginRsp_Hook, __this, rsp, method);
|
||||
return;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
std::lock_guard<std::mutex> catchLock(autoFish.m_BattleFinishTimestampMutex);
|
||||
autoFish.m_BattleFinishTimestamp = app::GetTimestamp(nullptr, nullptr) + autoFish.f_DelayBeforeCatch;
|
||||
std::lock_guard<std::mutex> catchLock(autoFish.m_BattleFinishTimestampMutex);
|
||||
autoFish.m_BattleFinishTimestamp = app::TimeUtil_get_NowTimeStamp(nullptr) + autoFish.f_DelayBeforeCatch;
|
||||
}
|
||||
|
||||
void AutoFish::FishingModule_OnFishBattleEndRsp_Hook(void* __this, app::FishBattleEndRsp* rsp, MethodInfo* method)
|
||||
{
|
||||
void AutoFish::FishingModule_OnFishBattleEndRsp_Hook(void* __this, app::FishBattleEndRsp* rsp, MethodInfo* method)
|
||||
{
|
||||
CALL_ORIGIN(FishingModule_OnFishBattleEndRsp_Hook, __this, rsp, method);
|
||||
|
||||
auto& autoFish = GetInstance();
|
||||
|
||||
if (rsp->fields.battleResult_ == app::FishBattleResult__Enum::Cancel
|
||||
|| rsp->fields.battleResult_ == app::FishBattleResult__Enum::Exit)
|
||||
if (rsp->fields.battleResult_ == app::FishBattleResult__Enum::Cancel
|
||||
|| rsp->fields.battleResult_ == app::FishBattleResult__Enum::Exit)
|
||||
{
|
||||
std::lock_guard<std::mutex> _lock2(autoFish.m_RecastTimestampMutex);
|
||||
autoFish.m_RecastTimestamp = 0;
|
||||
@ -114,8 +114,8 @@ namespace cheat::feature
|
||||
if (rsp->fields.retcode_ != 0)
|
||||
{
|
||||
LOG_WARNING("Failed to catch fish, retrying in %u ms", autoFish.f_DelayBeforeCatch);
|
||||
std::lock_guard<std::mutex> catchLock(autoFish.m_BattleFinishTimestampMutex);
|
||||
autoFish.m_BattleFinishTimestamp = app::GetTimestamp(nullptr, nullptr) + autoFish.f_DelayBeforeCatch;
|
||||
std::lock_guard<std::mutex> catchLock(autoFish.m_BattleFinishTimestampMutex);
|
||||
autoFish.m_BattleFinishTimestamp = app::TimeUtil_get_NowTimeStamp(nullptr) + autoFish.f_DelayBeforeCatch;
|
||||
return;
|
||||
}
|
||||
|
||||
@ -123,21 +123,21 @@ namespace cheat::feature
|
||||
return;
|
||||
|
||||
std::lock_guard<std::mutex> _lock(autoFish.m_RecastTimestampMutex);
|
||||
autoFish.m_RecastTimestamp = app::GetTimestamp(nullptr, nullptr) + autoFish.f_DelayBeforeRecast;
|
||||
}
|
||||
autoFish.m_RecastTimestamp = app::TimeUtil_get_NowTimeStamp(nullptr) + autoFish.f_DelayBeforeRecast;
|
||||
}
|
||||
|
||||
void AutoFish::FishingModule_OnExitFishingRsp_Hook(void* __this, void* rsp, MethodInfo* method)
|
||||
{
|
||||
void AutoFish::FishingModule_OnExitFishingRsp_Hook(void* __this, void* rsp, MethodInfo* method)
|
||||
{
|
||||
CALL_ORIGIN(FishingModule_OnExitFishingRsp_Hook, __this, rsp, method);
|
||||
|
||||
auto& autoFish = GetInstance();
|
||||
|
||||
std::lock_guard<std::mutex> _lock(autoFish.m_RecastTimestampMutex);
|
||||
autoFish.m_LastCastData.exist = false;
|
||||
}
|
||||
}
|
||||
|
||||
void AutoFish::FishingModule_RequestFishCastRod_Hook(void* __this, uint32_t baitId, uint32_t rodId, app::Vector3 pos, uint32_t rodEntityId, MethodInfo* method)
|
||||
{
|
||||
void AutoFish::FishingModule_RequestFishCastRod_Hook(void* __this, uint32_t baitId, uint32_t rodId, app::Vector3 pos, uint32_t rodEntityId, MethodInfo* method)
|
||||
{
|
||||
CALL_ORIGIN(FishingModule_RequestFishCastRod_Hook, __this, baitId, rodId, pos, rodEntityId, method);
|
||||
|
||||
auto& autoFish = GetInstance();
|
||||
@ -149,16 +149,16 @@ namespace cheat::feature
|
||||
autoFish.m_LastCastData.pos = pos;
|
||||
autoFish.m_LastCastData.rodEntityId = rodEntityId;
|
||||
|
||||
autoFish.m_RecastTimestamp = 0;
|
||||
}
|
||||
autoFish.m_RecastTimestamp = 0;
|
||||
}
|
||||
|
||||
void AutoFish::OnGameUpdate()
|
||||
{
|
||||
auto timestamp = app::TimeUtil_get_NowTimeStamp(nullptr);
|
||||
|
||||
void AutoFish::OnGameUpdate()
|
||||
{
|
||||
auto timestamp = app::GetTimestamp(nullptr, nullptr);
|
||||
|
||||
std::lock_guard<std::mutex> _lock(m_BattleFinishTimestampMutex);
|
||||
std::lock_guard<std::mutex> _lock2(m_RecastTimestampMutex);
|
||||
|
||||
|
||||
if (!m_LastCastData.exist)
|
||||
return;
|
||||
|
||||
@ -170,13 +170,13 @@ namespace cheat::feature
|
||||
static_cast<float>(f_DelayBeforeCatch / 1000), nullptr);
|
||||
}
|
||||
|
||||
if (m_RecastTimestamp != 0 && timestamp > m_RecastTimestamp)
|
||||
{
|
||||
m_RecastTimestamp = 0;
|
||||
if (m_RecastTimestamp != 0 && timestamp > m_RecastTimestamp)
|
||||
{
|
||||
m_RecastTimestamp = 0;
|
||||
|
||||
app::FishingModule_RequestFishCastRod(m_LastCastData.fishingModule, m_LastCastData.baitId,
|
||||
m_LastCastData.rodId, m_LastCastData.pos, m_LastCastData.rodEntityId, nullptr);
|
||||
}
|
||||
}
|
||||
app::FishingModule_RequestFishCastRod(m_LastCastData.fishingModule, m_LastCastData.baitId,
|
||||
m_LastCastData.rodId, m_LastCastData.pos, m_LastCastData.rodEntityId, nullptr);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -8,29 +8,29 @@
|
||||
#include <cheat/game/util.h>
|
||||
#include <cheat/game/EntityManager.h>
|
||||
|
||||
namespace cheat::feature
|
||||
namespace cheat::feature
|
||||
{
|
||||
AutoTreeFarm::AutoTreeFarm() : Feature(),
|
||||
NF(m_Enabled, "Auto tree farm", "AutoTreeFarm", false),
|
||||
NF(m_AttackDelay, "Attack delay", "AutoTreeFarm", 150),
|
||||
NF(m_RepeatDelay, "Repeat delay", "AutoTreeFarm", 500),
|
||||
NF(m_AttackPerTree,"Attack per tree", "AutoTreeFarm", 5),
|
||||
NF(m_Range, "Range", "AutoTreeFarm", 15.0f)
|
||||
{
|
||||
AutoTreeFarm::AutoTreeFarm() : Feature(),
|
||||
NF(m_Enabled, "Auto tree farm", "AutoTreeFarm", false),
|
||||
NF(m_AttackDelay, "Attack delay", "AutoTreeFarm", 150),
|
||||
NF(m_RepeatDelay, "Repeat delay", "AutoTreeFarm", 500),
|
||||
NF(m_AttackPerTree, "Attack per tree", "AutoTreeFarm", 5),
|
||||
NF(m_Range, "Range", "AutoTreeFarm", 15.0f)
|
||||
{
|
||||
events::GameUpdateEvent += MY_METHOD_HANDLER(AutoTreeFarm::OnGameUpdate);
|
||||
}
|
||||
|
||||
const FeatureGUIInfo& AutoTreeFarm::GetGUIInfo() const
|
||||
{
|
||||
static const FeatureGUIInfo info{ "Auto Tree Farm", "World", true };
|
||||
return info;
|
||||
}
|
||||
const FeatureGUIInfo& AutoTreeFarm::GetGUIInfo() const
|
||||
{
|
||||
static const FeatureGUIInfo info{ "Auto Tree Farm", "World", true };
|
||||
return info;
|
||||
}
|
||||
|
||||
void AutoTreeFarm::DrawMain()
|
||||
{
|
||||
void AutoTreeFarm::DrawMain()
|
||||
{
|
||||
ImGui::TextColored(ImColor(255, 165, 0, 255), "Note. This feature is not fully tested detection-wise.\n"
|
||||
"Not recommended for main accounts or used with high values.");
|
||||
|
||||
|
||||
ConfigWidget("Enabled", m_Enabled, "Automatically attack trees in range.");
|
||||
ConfigWidget("Attack Delay (ms)", m_AttackDelay, 1, 0, 1000, "Delay before attacking the next tree (in ms).");
|
||||
ConfigWidget("Repeat Delay (ms)", m_RepeatDelay, 1, 500, 1000, "Delay before attacking the same tree (in ms).\nValues <500ms will not work.");
|
||||
@ -43,27 +43,27 @@ namespace cheat::feature
|
||||
|
||||
ConfigWidget("Range (m)", m_Range, 0.1f, 1.0f, 15.0f);
|
||||
ImGui::TextColored(ImColor(255, 165, 0, 255), "Range is softly limited to ~15m for safety purposes.");
|
||||
}
|
||||
}
|
||||
|
||||
bool AutoTreeFarm::NeedStatusDraw() const
|
||||
bool AutoTreeFarm::NeedStatusDraw() const
|
||||
{
|
||||
return m_Enabled;
|
||||
}
|
||||
return m_Enabled;
|
||||
}
|
||||
|
||||
void AutoTreeFarm::DrawStatus()
|
||||
{
|
||||
ImGui::Text("Tree Farm\n[%dms|%dms|%d|%.1fm]",
|
||||
void AutoTreeFarm::DrawStatus()
|
||||
{
|
||||
ImGui::Text("Tree Farm\n[%dms|%dms|%d|%.1fm]",
|
||||
m_AttackDelay.value(),
|
||||
m_RepeatDelay.value(),
|
||||
m_AttackPerTree.value(),
|
||||
m_Range.value());
|
||||
}
|
||||
}
|
||||
|
||||
AutoTreeFarm& AutoTreeFarm::GetInstance()
|
||||
{
|
||||
static AutoTreeFarm instance;
|
||||
return instance;
|
||||
}
|
||||
AutoTreeFarm& AutoTreeFarm::GetInstance()
|
||||
{
|
||||
static AutoTreeFarm instance;
|
||||
return instance;
|
||||
}
|
||||
|
||||
|
||||
std::unordered_set<app::SceneTreeObject*> GetTreeSet()
|
||||
@ -126,7 +126,7 @@ namespace cheat::feature
|
||||
static std::unordered_set<app::SceneTreeObject*> s_AttackQueueSet;
|
||||
static uint64_t s_LastAttackTimestamp = 0;
|
||||
|
||||
uint64_t timestamp = app::GetTimestamp(nullptr, nullptr);
|
||||
uint64_t timestamp = app::TimeUtil_get_NowTimeStamp(nullptr);
|
||||
if (!m_Enabled || s_LastAttackTimestamp + m_AttackDelay > timestamp)
|
||||
return;
|
||||
|
||||
@ -146,27 +146,27 @@ namespace cheat::feature
|
||||
continue;
|
||||
|
||||
auto position = tree->fields._.realBounds.m_Center;
|
||||
if (manager.avatar()->distance(app::WorldShiftManager_GetRelativePosition(nullptr, position, nullptr)) > m_Range)
|
||||
if (manager.avatar()->distance(app::WorldShiftManager_GetRelativePosition(position, nullptr)) > m_Range)
|
||||
continue;
|
||||
|
||||
s_AttackQueueSet.insert(tree);
|
||||
s_AttackQueue.push(tree);
|
||||
}
|
||||
|
||||
|
||||
while (!s_AttackQueue.empty())
|
||||
{
|
||||
auto tree = s_AttackQueue.front();
|
||||
s_AttackQueue.pop();
|
||||
s_AttackQueueSet.erase(tree);
|
||||
|
||||
|
||||
if (treeSet.count(tree) == 0)
|
||||
continue;
|
||||
|
||||
auto position = tree->fields._.realBounds.m_Center;
|
||||
if (manager.avatar()->distance(app::WorldShiftManager_GetRelativePosition(nullptr, position, nullptr)) > m_Range)
|
||||
if (manager.avatar()->distance(app::WorldShiftManager_GetRelativePosition(position, nullptr)) > m_Range)
|
||||
continue;
|
||||
|
||||
app::ECGLPBEEEAA__Enum treeType;
|
||||
app::MoleMole_Config_TreeType__Enum treeType;
|
||||
auto pattern = tree->fields._config->fields._._.scenePropPatternName;
|
||||
if (!app::ScenePropManager_GetTreeTypeByPattern(scenePropManager, pattern, &treeType, nullptr))
|
||||
continue;
|
||||
|
@ -77,7 +77,7 @@ namespace cheat::feature
|
||||
return;
|
||||
|
||||
if (f_FastDialog)
|
||||
app::Time_set_timeScale(nullptr, f_TimeSpeedup, nullptr);
|
||||
app::Time_set_timeScale(f_TimeSpeedup, nullptr);
|
||||
|
||||
bool isImportant = false;
|
||||
if (f_ExcludeImportant)
|
||||
@ -107,7 +107,7 @@ namespace cheat::feature
|
||||
{
|
||||
int32_t value = 0;
|
||||
auto object = il2cpp_value_box((Il2CppClass*)*app::Int32__TypeInfo, &value);
|
||||
auto notify = app::Notify_CreateNotify_1(nullptr, app::MoleMole_NotifyTypes__Enum::DialogSelectItemNotify, (app::Object*)object, nullptr);
|
||||
auto notify = app::Notify_CreateNotify_1(app::MoleMole_NotifyTypes__Enum::DialogSelectItemNotify, (app::Object*)object, nullptr);
|
||||
app::TalkDialogContext_OnDialogSelectItem(talkDialog, ¬ify, nullptr);
|
||||
}
|
||||
else if (!talkDialog->fields._inSelect)
|
||||
@ -126,9 +126,9 @@ namespace cheat::feature
|
||||
// Should be a better way to store the pre-dialog speed using Time_get_timeScale.
|
||||
static void InLevelCutScenePageContext_ClearView_Hook(app::InLevelCutScenePageContext* __this, MethodInfo* method)
|
||||
{
|
||||
float gameSpeed = app::Time_get_timeScale(nullptr, nullptr);
|
||||
float gameSpeed = app::Time_get_timeScale(nullptr);
|
||||
if (gameSpeed > 1.0f)
|
||||
app::Time_set_timeScale(nullptr, 1.0f, nullptr);
|
||||
app::Time_set_timeScale(1.0f, nullptr);
|
||||
CALL_ORIGIN(InLevelCutScenePageContext_ClearView_Hook, __this, method);
|
||||
}
|
||||
}
|
||||
|
@ -112,10 +112,10 @@ namespace cheat::feature
|
||||
if (combatProp == nullptr)
|
||||
continue;
|
||||
|
||||
auto maxHP = app::SafeFloat_GetValue(nullptr, combatProp->fields.maxHP, nullptr);
|
||||
auto maxHP = app::SafeFloat_GetValue(combatProp->fields.maxHP, nullptr);
|
||||
auto isLockHp = combatProp->fields.islockHP == nullptr || app::FixedBoolStack_get_value(combatProp->fields.islockHP, nullptr);
|
||||
auto isInvincible = combatProp->fields.isInvincible == nullptr || app::FixedBoolStack_get_value(combatProp->fields.isInvincible, nullptr);
|
||||
auto HP = app::SafeFloat_GetValue(nullptr, combatProp->fields.HP, nullptr);
|
||||
auto HP = app::SafeFloat_GetValue(combatProp->fields.HP, nullptr);
|
||||
if (maxHP < 10 || HP < 2 || isLockHp || isInvincible)
|
||||
continue;
|
||||
|
||||
@ -151,9 +151,9 @@ namespace cheat::feature
|
||||
attackSet.erase(monster->runtimeID());
|
||||
|
||||
auto combat = monster->combat();
|
||||
auto maxHP = app::SafeFloat_GetValue(nullptr, combat->fields._combatProperty_k__BackingField->fields.maxHP, nullptr);
|
||||
auto maxHP = app::SafeFloat_GetValue(combat->fields._combatProperty_k__BackingField->fields.maxHP, nullptr);
|
||||
|
||||
auto crashEvt = app::CreateCrashEvent(nullptr, *app::CreateCrashEvent__MethodInfo);
|
||||
auto crashEvt = app::CreateCrashEvent(*app::CreateCrashEvent__MethodInfo);
|
||||
app::EvtCrash_Init(crashEvt, monster->runtimeID(), nullptr);
|
||||
crashEvt->fields.maxHp = maxHP;
|
||||
crashEvt->fields.velChange = 1000;
|
||||
|
@ -178,14 +178,14 @@ namespace cheat::feature
|
||||
uint32_t entityId = entity->runtimeID();
|
||||
app::Vector3 entityRelPos = positions->count(entityId) ? (*positions)[entityId] : entity->relativePosition();
|
||||
app::Vector3 newPosition = {};
|
||||
if (app::Vector3_Distance(nullptr, entityRelPos, targetPos, nullptr) < 0.1)
|
||||
if (app::Vector3_Distance(entityRelPos, targetPos, nullptr) < 0.1)
|
||||
{
|
||||
newPosition = targetPos;
|
||||
}
|
||||
else
|
||||
{
|
||||
app::Vector3 dir = GetVectorDirection(entityRelPos, targetPos);
|
||||
float deltaTime = app::Time_get_deltaTime(nullptr, nullptr);
|
||||
float deltaTime = app::Time_get_deltaTime(nullptr);
|
||||
newPosition = entityRelPos + dir * f_Speed * deltaTime;
|
||||
}
|
||||
|
||||
@ -213,7 +213,7 @@ namespace cheat::feature
|
||||
|
||||
app::Vector3 targetPos = CalcMobVacTargetPos();
|
||||
app::Vector3 entityPos = entity->relativePosition();
|
||||
if (app::Vector3_Distance(nullptr, targetPos, entityPos, nullptr) < 0.2)
|
||||
if (app::Vector3_Distance(targetPos, entityPos, nullptr) < 0.2)
|
||||
return;
|
||||
|
||||
app::Vector3 dir = GetVectorDirection(targetPos, entityPos);
|
||||
|
Loading…
Reference in New Issue
Block a user