Merge branch 'Akebi-Group:master' into master

This commit is contained in:
FawazTakhji
2022-05-31 14:19:18 +03:00
committed by GitHub
47 changed files with 6075 additions and 5601 deletions

View File

@ -1,5 +1,9 @@
<h1 align="center">Akebi GC</h1> <h1 align="center">Akebi GC</h1>
The great software for some game that exploiting anime girls (and boys). The great software for some game that exploiting anime girls (and boys).
We try do update to 2.7 as fast as possible, oriented update data 01.06.2022. Wait for new releases.
In first week after 2.7 update cheat can be unstable. Please create issue, if you catch a crash after updating to 2.7.
<hr> <hr>
<h1 align="center">Getting Started</h1> <h1 align="center">Getting Started</h1>

View File

@ -63,6 +63,12 @@ struct EventCore
{ {
using TMyHandlerPtr = typename TypeHelper<TParams...>::TEventHandlerPtr; using TMyHandlerPtr = typename TypeHelper<TParams...>::TEventHandlerPtr;
EventCore() {}
EventCore(const EventCore<TParams...>& other) : handlers(other.handlers) {}
EventCore(EventCore<TParams...>&& other) : handlers(std::move(handlers)) {}
EventCore<TParams...>& operator=(const EventCore<TParams...>& other) { handlers = other.handlers; return *this; }
EventCore<TParams...>& operator=(EventCore<TParams...>&& other) { handlers = std::move(other.handlers); return *this; }
std::list<TMyHandlerPtr> handlers; std::list<TMyHandlerPtr> handlers;
mutable std::shared_mutex coreMutex; mutable std::shared_mutex coreMutex;
}; };
@ -126,6 +132,11 @@ class TEvent : public IEvent<TParams...>
{ {
} }
TEvent(const TEvent& other) : m_core(other.m_core), m_handlerRunners(other.m_handlerRunners)
{
}
virtual void operator()( TParams... params ) virtual void operator()( TParams... params )
{ {
TMyHandlerRunner newHandlerRunner( m_core ); TMyHandlerRunner newHandlerRunner( m_core );

View File

@ -3,6 +3,7 @@
#include "util.h" #include "util.h"
#include <Windows.h> #include <Windows.h>
#include <shellapi.h>
#include <commdlg.h> #include <commdlg.h>
#include <shtypes.h> #include <shtypes.h>
#include <shobjidl_core.h> #include <shobjidl_core.h>
@ -270,4 +271,9 @@ namespace util
return static_cast<int64_t>(timezoneInfo.Bias) * 60; return static_cast<int64_t>(timezoneInfo.Bias) * 60;
} }
void OpenURL(const char* url)
{
ShellExecute(nullptr, nullptr, url, nullptr, nullptr, SW_SHOW);
}
} }

View File

@ -32,6 +32,7 @@ namespace util
std::optional<std::string> SelectDirectory(const char* title); std::optional<std::string> SelectDirectory(const char* title);
std::optional<std::string> GetOrSelectPath(CSimpleIni& ini, const char* section, const char* name, const char* friendName, const char* filter); std::optional<std::string> GetOrSelectPath(CSimpleIni& ini, const char* section, const char* name, const char* friendName, const char* filter);
void OpenURL(const char* url);
std::string GetLastErrorAsString(DWORD errorId = 0); std::string GetLastErrorAsString(DWORD errorId = 0);
int64_t GetCurrentTimeMillisec(); int64_t GetCurrentTimeMillisec();

View File

@ -1,13 +1,13 @@
{ {
"game_version": "2.6", "game_version": "2.7",
"modules": { "modules": {
"UnityPlayer.dll": { "UnityPlayer.dll": {
"checksum": 1499808152269523874, "checksum": 0,
"timestamp": 132918960850629156 "timestamp": 0
}, },
"UserAssembly.dll": { "UserAssembly.dll": {
"checksum": 6469164240778644427, "checksum": 0,
"timestamp": 132918960789354191 "timestamp": 0
} }
} }
} }

View File

@ -3987,7 +3987,7 @@
"sig": "41 8D 51 05 E8 ?? ?? ?? ?? 48 8B 0D ?? ?? ?? ?? F6 81 0A 01 00 00 01 74 0E 83 B9 BC 00 00 00 00 75 05 E8 ?? ?? ?? ?? 48 8B 15" "sig": "41 8D 51 05 E8 ?? ?? ?? ?? 48 8B 0D ?? ?? ?? ?? F6 81 0A 01 00 00 01 74 0E 83 B9 BC 00 00 00 00 75 05 E8 ?? ?? ?? ?? 48 8B 15"
} }
], ],
"Singleton_1_MBHLOBDPKEC__get_Instance__MethodInfo": [ "Singleton_1_MapModule__get_Instance__MethodInfo": [
{ {
"offset": 36, "offset": 36,
"sig": "0F 85 B6 00 00 00 48 8B 0D ?? ?? ?? ?? 44 84 A1 0A 01 00 00 74 0E 44 39 A9 BC 00 00 00 75 05 E8 ?? ?? ?? ?? 48 8B 15" "sig": "0F 85 B6 00 00 00 48 8B 0D ?? ?? ?? ?? 44 84 A1 0A 01 00 00 74 0E 44 39 A9 BC 00 00 00 75 05 E8 ?? ?? ?? ?? 48 8B 15"
@ -4875,7 +4875,7 @@
"sig": "48 8B 0D ?? ?? ?? ?? 0F 85 91 00 00 00" "sig": "48 8B 0D ?? ?? ?? ?? 0F 85 91 00 00 00"
} }
], ],
"Singleton_1_MBHLOBDPKEC_": [ "Singleton_1_MapModule_": [
{ {
"offset": 0, "offset": 0,
"sig": "48 8B 0D ?? ?? ?? ?? 44 84 A1 0A 01 00 00 74 0E 44 39 A9 BC 00 00 00 75 05 E8 ?? ?? ?? ?? 48 8B 15 ?? ?? ?? ?? 33 C9 E8 ?? ?? ?? ?? 48 8B E8" "sig": "48 8B 0D ?? ?? ?? ?? 44 84 A1 0A 01 00 00 74 0E 44 39 A9 BC 00 00 00 75 05 E8 ?? ?? ?? ?? 48 8B 15 ?? ?? ?? ?? 33 C9 E8 ?? ?? ?? ?? 48 8B E8"

View File

@ -1,207 +1,253 @@
// Generated C++ file by Il2CppInspector - http://www.djkaty.com - https://github.com/djkaty // 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 // * IL2CPP API function pointers
// ****************************************************************************** // ******************************************************************************
#define il2cpp_add_internal_call_ptr 0x083FB9B0 #define il2cpp_add_internal_call_ptr 0x006CB6F0
#define il2cpp_alloc_ptr 0x083FB9C0 #define il2cpp_alloc_ptr 0x006CB700
#define il2cpp_array_class_get_ptr 0x083FB9D0 #define il2cpp_allocation_granularity_ptr 0x0019E6E0
#define il2cpp_array_element_size_ptr 0x083FB9E0 #define il2cpp_array_class_get_ptr 0x006CB710
#define il2cpp_array_get_byte_length_ptr 0x08446D30 #define il2cpp_array_element_size_ptr 0x006CB720
#define il2cpp_array_length_ptr 0x083FB9F0 #define il2cpp_array_get_byte_length_ptr 0x006EEA60
#define il2cpp_array_new_ptr 0x083FBA00 #define il2cpp_array_length_ptr 0x006CB730
#define il2cpp_array_new_full_ptr 0x083FBA10 #define il2cpp_array_new_ptr 0x006CB740
#define il2cpp_array_new_specific_ptr 0x083FBA20 #define il2cpp_array_new_full_ptr 0x006CB750
#define il2cpp_assembly_get_image_ptr 0x083FBA30 #define il2cpp_array_new_specific_ptr 0x006CB760
#define il2cpp_bounded_array_class_get_ptr 0x083FBA40 #define il2cpp_array_object_header_size_ptr 0x006CB770
#define il2cpp_capture_memory_snapshot_ptr 0x083FBA50 #define il2cpp_assembly_get_image_ptr 0x006CB8B0
#define il2cpp_class_array_element_size_ptr 0x083FBA60 #define il2cpp_bounded_array_class_get_ptr 0x006CB780
#define il2cpp_class_enum_basetype_ptr 0x083FBA70 #define il2cpp_capture_memory_snapshot_ptr 0x006CB790
#define il2cpp_class_from_il2cpp_type_ptr 0x083FBAA0 #define il2cpp_class_array_element_size_ptr 0x006CB7A0
#define il2cpp_class_from_name_ptr 0x083FBA80 #define il2cpp_class_enum_basetype_ptr 0x006CB7B0
#define il2cpp_class_from_system_type_ptr 0x083FBA90 #define il2cpp_class_for_each_ptr 0x006CB7C0
#define il2cpp_class_from_type_ptr 0x083FBAA0 #define il2cpp_class_from_il2cpp_type_ptr 0x006CB7D0
#define il2cpp_class_get_assemblyname_ptr 0x083FBAB0 #define il2cpp_class_from_name_ptr 0x006CB7E0
#define il2cpp_class_get_bitmap_ptr 0x083FBAC0 #define il2cpp_class_from_system_type_ptr 0x006CB7F0
#define il2cpp_class_get_bitmap_size_ptr 0x083FBAE0 #define il2cpp_class_from_type_ptr 0x006CB7D0
#define il2cpp_class_get_declaring_type_ptr 0x083FBAF0 #define il2cpp_class_get_assemblyname_ptr 0x006CB800
#define il2cpp_class_get_element_class_ptr 0x083FBB00 #define il2cpp_class_get_bitmap_ptr 0x006CB810
#define il2cpp_class_get_events_ptr 0x083FBB10 #define il2cpp_class_get_bitmap_size_ptr 0x006CB830
#define il2cpp_class_get_field_from_name_ptr 0x083FBB20 #define il2cpp_class_get_data_size_ptr 0x006CB840
#define il2cpp_class_get_fields_ptr 0x083FBB30 #define il2cpp_class_get_declaring_type_ptr 0x006CB850
#define il2cpp_class_get_flags_ptr 0x083FBB40 #define il2cpp_class_get_element_class_ptr 0x006CB860
#define il2cpp_class_get_image_ptr 0x083FC360 #define il2cpp_class_get_events_ptr 0x006CB870
#define il2cpp_class_get_interfaces_ptr 0x083FBB50 #define il2cpp_class_get_field_from_name_ptr 0x006CB880
#define il2cpp_class_get_method_from_name_ptr 0x083FBB60 #define il2cpp_class_get_fields_ptr 0x006CB890
#define il2cpp_class_get_methods_ptr 0x083FBB70 #define il2cpp_class_get_flags_ptr 0x006CB8A0
#define il2cpp_class_get_name_ptr 0x083FBB80 #define il2cpp_class_get_image_ptr 0x006CB8B0
#define il2cpp_class_get_namespace_ptr 0x083FBB90 #define il2cpp_class_get_interfaces_ptr 0x006CB8C0
#define il2cpp_class_get_nested_types_ptr 0x083FBBA0 #define il2cpp_class_get_method_from_name_ptr 0x006CB8D0
#define il2cpp_class_get_parent_ptr 0x083FBBB0 #define il2cpp_class_get_methods_ptr 0x006CB8E0
#define il2cpp_class_get_properties_ptr 0x083FBBC0 #define il2cpp_class_get_name_ptr 0x006CBFB0
#define il2cpp_class_get_property_from_name_ptr 0x083FBBD0 #define il2cpp_class_get_namespace_ptr 0x006CC330
#define il2cpp_class_get_type_ptr 0x083FBBE0 #define il2cpp_class_get_nested_types_ptr 0x006CB8F0
#define il2cpp_class_has_attribute_ptr 0x083FBBF0 #define il2cpp_class_get_parent_ptr 0x006CB900
#define il2cpp_class_has_parent_ptr 0x083FBC00 #define il2cpp_class_get_properties_ptr 0x006CB910
#define il2cpp_class_has_references_ptr 0x083FBC10 #define il2cpp_class_get_property_from_name_ptr 0x006CB920
#define il2cpp_class_instance_size_ptr 0x083FBC20 #define il2cpp_class_get_rank_ptr 0x006CB930
#define il2cpp_class_is_abstract_ptr 0x083FBC30 #define il2cpp_class_get_static_field_data_ptr 0x00129FB0
#define il2cpp_class_is_assignable_from_ptr 0x083FBC40 #define il2cpp_class_get_type_ptr 0x006E7340
#define il2cpp_class_is_blittable_ptr 0x083FBC50 #define il2cpp_class_get_type_token_ptr 0x006CB940
#define il2cpp_class_is_enum_ptr 0x083FBC60 #define il2cpp_class_get_userdata_offset_ptr 0x006CB950
#define il2cpp_class_is_generic_ptr 0x083FBC70 #define il2cpp_class_has_attribute_ptr 0x006CB960
#define il2cpp_class_is_inflated_ptr 0x083FBC80 #define il2cpp_class_has_parent_ptr 0x006CB970
#define il2cpp_class_is_interface_ptr 0x083FBC90 #define il2cpp_class_has_references_ptr 0x006CB980
#define il2cpp_class_is_subclass_of_ptr 0x083FBCA0 #define il2cpp_class_instance_size_ptr 0x006CB990
#define il2cpp_class_is_valuetype_ptr 0x083FBCB0 #define il2cpp_class_is_abstract_ptr 0x006CB9A0
#define il2cpp_class_num_fields_ptr 0x083FBCC0 #define il2cpp_class_is_assignable_from_ptr 0x006CB9B0
#define il2cpp_class_value_size_ptr 0x083FBCD0 #define il2cpp_class_is_blittable_ptr 0x006CB9C0
#define il2cpp_current_thread_get_frame_at_ptr 0x083FBCE0 #define il2cpp_class_is_enum_ptr 0x006CB9D0
#define il2cpp_current_thread_get_stack_depth_ptr 0x083FBCF0 #define il2cpp_class_is_generic_ptr 0x006CB9E0
#define il2cpp_current_thread_get_top_frame_ptr 0x083FBD10 #define il2cpp_class_is_inflated_ptr 0x006CB9F0
#define il2cpp_current_thread_walk_frame_stack_ptr 0x083FBD20 #define il2cpp_class_is_interface_ptr 0x006CBA00
#define il2cpp_domain_assembly_open_ptr 0x083FBD30 #define il2cpp_class_is_subclass_of_ptr 0x006CBA10
#define il2cpp_domain_get_ptr 0x083FBD40 #define il2cpp_class_is_valuetype_ptr 0x006CBA20
#define il2cpp_domain_get_assemblies_ptr 0x083FBD50 #define il2cpp_class_num_fields_ptr 0x006CBA30
#define il2cpp_enable_object_type_mutex_ptr 0x084D6B40 #define il2cpp_class_set_userdata_ptr 0x006CBA40
#define il2cpp_exception_from_name_msg_ptr 0x083FBD90 #define il2cpp_class_value_size_ptr 0x006CBA50
#define il2cpp_field_get_flags_ptr 0x083FBDA0 #define il2cpp_current_thread_get_frame_at_ptr 0x006CBA60
#define il2cpp_field_get_name_ptr 0x083FC360 #define il2cpp_current_thread_get_stack_depth_ptr 0x006CBA70
#define il2cpp_field_get_offset_ptr 0x083FBDB0 #define il2cpp_current_thread_get_top_frame_ptr 0x006CBA90
#define il2cpp_field_get_parent_ptr 0x083FBB80 #define il2cpp_current_thread_walk_frame_stack_ptr 0x006CBAA0
#define il2cpp_field_get_type_ptr 0x083FBDC0 #define il2cpp_custom_attrs_construct_ptr 0x006CBAB0
#define il2cpp_field_get_value_ptr 0x083FBDD0 #define il2cpp_custom_attrs_free_ptr 0x001C8D70
#define il2cpp_field_get_value_object_ptr 0x083FBDE0 #define il2cpp_custom_attrs_from_class_ptr 0x006CBAC0
#define il2cpp_field_has_attribute_ptr 0x083FBDF0 #define il2cpp_custom_attrs_from_method_ptr 0x006CBAE0
#define il2cpp_field_set_value_ptr 0x083FBE00 #define il2cpp_custom_attrs_get_attr_ptr 0x006CBB00
#define il2cpp_field_set_value_object_ptr 0x083FBE10 #define il2cpp_custom_attrs_has_attr_ptr 0x006CBB10
#define il2cpp_field_static_get_value_ptr 0x083FBE20 #define il2cpp_debug_get_method_info_ptr 0x006CBB20
#define il2cpp_field_static_set_value_ptr 0x083FBE30 #define il2cpp_debugger_set_agent_options_ptr 0x001C8D70
#define il2cpp_format_exception_ptr 0x083FBE40 #define il2cpp_domain_assembly_open_ptr 0x006CBB30
#define il2cpp_format_stack_trace_ptr 0x083FBEF0 #define il2cpp_domain_get_ptr 0x006CBB40
#define il2cpp_free_ptr 0x083FBFA0 #define il2cpp_domain_get_assemblies_ptr 0x006CBB50
#define il2cpp_free_captured_memory_snapshot_ptr 0x083FBFB0 #define il2cpp_enable_object_type_mutex_ptr 0x006CBB80
#define il2cpp_gc_collect_ptr 0x08445BB0 #define il2cpp_exception_from_name_msg_ptr 0x006CBB90
#define il2cpp_gc_collect_a_little_ptr 0x083FBFC0 #define il2cpp_field_get_flags_ptr 0x006CBBA0
#define il2cpp_gc_disable_ptr 0x083FBFD0 #define il2cpp_field_get_name_ptr 0x006CB8B0
#define il2cpp_gc_dump_append_text_to_log_ptr 0x084D6DA0 #define il2cpp_field_get_offset_ptr 0x006CBBB0
#define il2cpp_gc_dump_info_ptr 0x084D6DB0 #define il2cpp_field_get_parent_ptr 0x006CBFB0
#define il2cpp_gc_dump_set_large_allocated_block_found_callback_ptr 0x084D6DC0 #define il2cpp_field_get_type_ptr 0x006CBBC0
#define il2cpp_gc_dump_set_small_allocated_block_found_callback_ptr 0x084D6DD0 #define il2cpp_field_get_value_ptr 0x006CBBD0
#define il2cpp_gc_enable_ptr 0x083FC020 #define il2cpp_field_get_value_object_ptr 0x006CBBE0
#define il2cpp_gc_get_heap_size_ptr 0x083FC030 #define il2cpp_field_has_attribute_ptr 0x006CBBF0
#define il2cpp_gc_get_used_size_ptr 0x083FC040 #define il2cpp_field_is_literal_ptr 0x006CBC00
#define il2cpp_gc_set_object_malloc_callback_ptr 0x084D6E10 #define il2cpp_field_set_value_ptr 0x006CBC10
#define il2cpp_gc_set_object_return_freelist_callback_ptr 0x084D6E20 #define il2cpp_field_set_value_object_ptr 0x006CBC20
#define il2cpp_gchandle_free_ptr 0x083EB2A0 #define il2cpp_field_static_get_value_ptr 0x006CBC30
#define il2cpp_gchandle_get_target_ptr 0x08436D60 #define il2cpp_field_static_set_value_ptr 0x006CBC40
#define il2cpp_gchandle_new_ptr 0x083FC070 #define il2cpp_format_exception_ptr 0x006CBC50
#define il2cpp_gchandle_new_weakref_ptr 0x083FC080 #define il2cpp_format_stack_trace_ptr 0x006CBD00
#define il2cpp_get_committed_memory_size_ptr 0x084D6E60 #define il2cpp_free_ptr 0x006E2A60
#define il2cpp_get_corlib_ptr 0x083FC0A0 #define il2cpp_free_captured_memory_snapshot_ptr 0x006CBDB0
#define il2cpp_get_exception_argument_null_ptr 0x083FC0B0 #define il2cpp_gc_collect_ptr 0x006CBDC0
#define il2cpp_get_gc_suspend_wait_tick_ptr 0x084D6E90 #define il2cpp_gc_collect_a_little_ptr 0x006CBDD0
#define il2cpp_get_hash_table_memory_ptr 0x084D6EA0 #define il2cpp_gc_disable_ptr 0x006CBDE0
#define il2cpp_get_meta_data_pool_memory_ptr 0x084D6EB0 #define il2cpp_gc_dump_append_text_to_log_ptr 0x006CBDF0
#define il2cpp_image_get_assembly_ptr 0x083FC100 #define il2cpp_gc_dump_info_ptr 0x006CBE00
#define il2cpp_image_get_entry_point_ptr 0x083FC110 #define il2cpp_gc_dump_set_large_allocated_block_found_callback_ptr 0x006CBE10
#define il2cpp_image_get_filename_ptr 0x083FC360 #define il2cpp_gc_dump_set_small_allocated_block_found_callback_ptr 0x006CBE20
#define il2cpp_image_get_name_ptr 0x083FC360 #define il2cpp_gc_enable_ptr 0x006CBE30
#define il2cpp_init_ptr 0x083FC120 #define il2cpp_gc_foreach_heap_ptr 0x006CBE40
#define il2cpp_init_security_ptr 0x084D6F30 #define il2cpp_gc_get_heap_size_ptr 0x006CBE70
#define il2cpp_init_utf16_ptr 0x083FC170 #define il2cpp_gc_get_max_time_slice_ns_ptr 0x006CBE80
#define il2cpp_is_vm_thread_ptr 0x083FC220 #define il2cpp_gc_get_used_size_ptr 0x006CBE90
#define il2cpp_method_get_class_ptr 0x083FBB90 #define il2cpp_gc_has_strict_wbarriers_ptr 0x006D35C0
#define il2cpp_method_get_declaring_type_ptr 0x083FBB90 #define il2cpp_gc_is_disabled_ptr 0x006CBEA0
#define il2cpp_method_get_flags_ptr 0x083FC230 #define il2cpp_gc_is_incremental_ptr 0x006CBEB0
#define il2cpp_method_get_name_ptr 0x083FBB80 #define il2cpp_gc_set_external_allocation_tracker_ptr 0x001C8D70
#define il2cpp_method_get_object_ptr 0x083FC260 #define il2cpp_gc_set_external_wbarrier_tracker_ptr 0x001C8D70
#define il2cpp_method_get_param_ptr 0x083FC270 #define il2cpp_gc_set_max_time_slice_ns_ptr 0x006CBEC0
#define il2cpp_method_get_param_count_ptr 0x083FC280 #define il2cpp_gc_set_object_malloc_callback_ptr 0x006CBED0
#define il2cpp_method_get_param_name_ptr 0x083FC290 #define il2cpp_gc_set_object_return_freelist_callback_ptr 0x006CBEE0
#define il2cpp_method_get_return_type_ptr 0x083FBBE0 #define il2cpp_gc_wbarrier_set_field_ptr 0x006CBEF0
#define il2cpp_method_get_token_ptr 0x083FC2A0 #define il2cpp_gchandle_foreach_get_target_ptr 0x006CBF00
#define il2cpp_method_has_attribute_ptr 0x083FC2B0 #define il2cpp_gchandle_free_ptr 0x006E2A50
#define il2cpp_method_is_generic_ptr 0x083FC2C0 #define il2cpp_gchandle_get_target_ptr 0x006CBF30
#define il2cpp_method_is_inflated_ptr 0x083FC2D0 #define il2cpp_gchandle_new_ptr 0x006CBF40
#define il2cpp_method_is_instance_ptr 0x083FC2E0 #define il2cpp_gchandle_new_weakref_ptr 0x006CBF50
#define il2cpp_monitor_enter_ptr 0x083FC2F0 #define il2cpp_get_committed_memory_size_ptr 0x006CBF60
#define il2cpp_monitor_exit_ptr 0x083FC300 #define il2cpp_get_corlib_ptr 0x006CBF70
#define il2cpp_monitor_pulse_ptr 0x083FC310 #define il2cpp_get_exception_argument_null_ptr 0x00757750
#define il2cpp_monitor_pulse_all_ptr 0x083FC320 #define il2cpp_get_hash_table_memory_ptr 0x006CBF80
#define il2cpp_monitor_try_enter_ptr 0x083FC330 #define il2cpp_get_meta_data_pool_memory_ptr 0x006CBF90
#define il2cpp_monitor_try_wait_ptr 0x083FC340 #define il2cpp_image_get_assembly_ptr 0x006CBFB0
#define il2cpp_monitor_wait_ptr 0x083FC350 #define il2cpp_image_get_class_ptr 0x006CBFC0
#define il2cpp_object_get_class_ptr 0x083FC360 #define il2cpp_image_get_class_count_ptr 0x006CBFD0
#define il2cpp_object_get_size_ptr 0x083FC370 #define il2cpp_image_get_entry_point_ptr 0x006CBFE0
#define il2cpp_object_get_virtual_method_ptr 0x083FC380 #define il2cpp_image_get_filename_ptr 0x006CB8B0
#define il2cpp_object_new_ptr 0x083FC390 #define il2cpp_image_get_name_ptr 0x006CB8B0
#define il2cpp_object_unbox_ptr 0x083FC3B0 #define il2cpp_init_ptr 0x006CBFF0
#define il2cpp_profiler_install_ptr 0x084D71C0 #define il2cpp_init_security_ptr 0x006CC020
#define il2cpp_profiler_install_allocation_ptr 0x084D71D0 #define il2cpp_init_utf16_ptr 0x006CC040
#define il2cpp_profiler_install_enter_leave_ptr 0x084D71E0 #define il2cpp_is_debugger_attached_ptr 0x006CC0F0
#define il2cpp_profiler_install_fileio_ptr 0x084D71F0 #define il2cpp_is_vm_thread_ptr 0x006CC100
#define il2cpp_profiler_install_gc_ptr 0x084D7200 #define il2cpp_method_get_class_ptr 0x006CC330
#define il2cpp_profiler_set_events_ptr 0x084D7210 #define il2cpp_method_get_declaring_type_ptr 0x006CC330
#define il2cpp_property_get_flags_ptr 0x083FC420 #define il2cpp_method_get_flags_ptr 0x006CC110
#define il2cpp_property_get_get_method_ptr 0x083FBB80 #define il2cpp_method_get_from_reflection_ptr 0x006CBFB0
#define il2cpp_property_get_name_ptr 0x083FBDC0 #define il2cpp_method_get_name_ptr 0x006CBFB0
#define il2cpp_property_get_parent_ptr 0x083FC360 #define il2cpp_method_get_object_ptr 0x006CC140
#define il2cpp_property_get_set_method_ptr 0x083FBB90 #define il2cpp_method_get_param_ptr 0x006CC150
#define il2cpp_raise_exception_ptr 0x083FC430 #define il2cpp_method_get_param_count_ptr 0x006CC160
#define il2cpp_register_filedelete_callback_ptr 0x084D7240 #define il2cpp_method_get_param_name_ptr 0x006CC170
#define il2cpp_register_filemodify_callback_ptr 0x084D7250 #define il2cpp_method_get_return_type_ptr 0x006CC180
#define il2cpp_register_log_callback_ptr 0x083FC460 #define il2cpp_method_get_token_ptr 0x006CC190
#define il2cpp_resolve_icall_ptr 0x083FC470 #define il2cpp_method_has_attribute_ptr 0x006CC1A0
#define il2cpp_runtime_class_init_ptr 0x083FC480 #define il2cpp_method_is_generic_ptr 0x006CC1B0
#define il2cpp_runtime_invoke_ptr 0x083FC490 #define il2cpp_method_is_inflated_ptr 0x006CC1C0
#define il2cpp_runtime_invoke_convert_args_ptr 0x083FC4B0 #define il2cpp_method_is_instance_ptr 0x006CC1D0
#define il2cpp_runtime_object_init_ptr 0x083FC4D0 #define il2cpp_monitor_enter_ptr 0x006CC1E0
#define il2cpp_runtime_object_init_exception_ptr 0x083FC4E0 #define il2cpp_monitor_exit_ptr 0x006CC1F0
#define il2cpp_runtime_unhandled_exception_policy_set_ptr 0x083FC4F0 #define il2cpp_monitor_pulse_ptr 0x006CC200
#define il2cpp_set_commandline_arguments_ptr 0x083FC500 #define il2cpp_monitor_pulse_all_ptr 0x006CC210
#define il2cpp_set_commandline_arguments_utf16_ptr 0x083FC510 #define il2cpp_monitor_try_enter_ptr 0x006CC220
#define il2cpp_set_config_ptr 0x083FC520 #define il2cpp_monitor_try_wait_ptr 0x006CC230
#define il2cpp_set_config_dir_ptr 0x083FC530 #define il2cpp_monitor_wait_ptr 0x006CC240
#define il2cpp_set_config_utf16_ptr 0x083FC540 #define il2cpp_object_get_class_ptr 0x006CB8B0
#define il2cpp_set_data_dir_ptr 0x083FC550 #define il2cpp_object_get_size_ptr 0x006CC250
#define il2cpp_set_disable_gc_parallel_mark_ptr 0x084D7360 #define il2cpp_object_get_virtual_method_ptr 0x006CC260
#define il2cpp_set_find_plugin_callback_ptr 0x083FC570 #define il2cpp_object_header_size_ptr 0x0019E6E0
#define il2cpp_set_gc_suspend_wait_tick_ptr 0x084D7380 #define il2cpp_object_new_ptr 0x006CC270
#define il2cpp_set_memory_callbacks_ptr 0x083FC590 #define il2cpp_object_unbox_ptr 0x006CC290
#define il2cpp_set_output_redirected_file_path_ptr 0x084D73A0 #define il2cpp_offset_of_array_bounds_in_array_object_header_ptr 0x0019E6E0
#define il2cpp_set_parallel_android_affinity_ptr 0x084D73B0 #define il2cpp_offset_of_array_length_in_array_object_header_ptr 0x00121970
#define il2cpp_set_parallel_android_cupcount_ptr 0x084D73C0 #define il2cpp_override_stack_backtrace_ptr 0x006CC2A0
#define il2cpp_set_temp_dir_ptr 0x083FC5D0 #define il2cpp_profiler_install_ptr 0x006CC2B0
#define il2cpp_shutdown_ptr 0x083FC5E0 #define il2cpp_profiler_install_allocation_ptr 0x006CC2C0
#define il2cpp_stats_dump_to_file_ptr 0x083FC5F0 #define il2cpp_profiler_install_enter_leave_ptr 0x006CC2D0
#define il2cpp_stats_get_value_ptr 0x083FC870 #define il2cpp_profiler_install_fileio_ptr 0x006CC2E0
#define il2cpp_string_chars_ptr 0x083FC8F0 #define il2cpp_profiler_install_gc_ptr 0x006CC2F0
#define il2cpp_string_intern_ptr 0x083FC900 #define il2cpp_profiler_install_thread_ptr 0x006CC300
#define il2cpp_string_is_interned_ptr 0x083FC910 #define il2cpp_profiler_set_events_ptr 0x006CC310
#define il2cpp_string_length_ptr 0x083FC920 #define il2cpp_property_get_flags_ptr 0x006CC320
#define il2cpp_string_new_ptr 0x083FC930 #define il2cpp_property_get_get_method_ptr 0x006CBFB0
#define il2cpp_string_new_len_ptr 0x083FC940 #define il2cpp_property_get_name_ptr 0x006CBBC0
#define il2cpp_string_new_utf16_ptr 0x083FC950 #define il2cpp_property_get_parent_ptr 0x006CB8B0
#define il2cpp_string_new_wrapper_ptr 0x083FC930 #define il2cpp_property_get_set_method_ptr 0x006CC330
#define il2cpp_thread_attach_ptr 0x083FC960 #define il2cpp_raise_exception_ptr 0x006CC340
#define il2cpp_thread_current_ptr 0x083FC970 #define il2cpp_register_debugger_agent_transport_ptr 0x001C8D70
#define il2cpp_thread_detach_ptr 0x083FC980 #define il2cpp_register_filedelete_callback_ptr 0x006CC350
#define il2cpp_thread_get_all_attached_threads_ptr 0x083FC990 #define il2cpp_register_filemodify_callback_ptr 0x006CC360
#define il2cpp_thread_get_frame_at_ptr 0x083FC9A0 #define il2cpp_register_log_callback_ptr 0x006CC370
#define il2cpp_thread_get_name_ptr 0x083FC9B0 #define il2cpp_resolve_icall_ptr 0x006CC380
#define il2cpp_thread_get_stack_depth_ptr 0x083FC9C0 #define il2cpp_runtime_class_init_ptr 0x00757A20
#define il2cpp_thread_get_top_frame_ptr 0x083FC9D0 #define il2cpp_runtime_invoke_ptr 0x006CC390
#define il2cpp_thread_walk_frame_stack_ptr 0x083FC9E0 #define il2cpp_runtime_invoke_convert_args_ptr 0x006CC3B0
#define il2cpp_type_get_class_or_element_class_ptr 0x083FC9F0 #define il2cpp_runtime_object_init_ptr 0x006CC3D0
#define il2cpp_type_get_name_ptr 0x083FCA00 #define il2cpp_runtime_object_init_exception_ptr 0x006CC3E0
#define il2cpp_type_get_object_ptr 0x083FCAC0 #define il2cpp_runtime_unhandled_exception_policy_set_ptr 0x006CC3F0
#define il2cpp_type_get_type_ptr 0x083FCAD0 #define il2cpp_set_commandline_arguments_ptr 0x006CC400
#define il2cpp_unhandled_exception_ptr 0x083FCAE0 #define il2cpp_set_commandline_arguments_utf16_ptr 0x006CC410
#define il2cpp_unity_liveness_calculation_begin_ptr 0x083FCAF0 #define il2cpp_set_config_ptr 0x006CC420
#define il2cpp_unity_liveness_calculation_end_ptr 0x083FCB00 #define il2cpp_set_config_dir_ptr 0x006CC430
#define il2cpp_unity_liveness_calculation_from_root_ptr 0x083FCB10 #define il2cpp_set_config_utf16_ptr 0x006CC440
#define il2cpp_unity_liveness_calculation_from_statics_ptr 0x083FCB20 #define il2cpp_set_data_dir_ptr 0x006CC450
#define il2cpp_value_box_ptr 0x083FCB30 #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

View File

@ -1,7 +1,5 @@
// Generated C++ file by Il2CppInspector - http://www.djkaty.com - https://github.com/djkaty // 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
#include "il2cpp-appdata.h"
#ifndef DO_API_NO_RETURN #ifndef DO_API_NO_RETURN
@ -9,9 +7,11 @@
#endif #endif
DO_API(void, il2cpp_init, (const char* domain_name));
DO_API(void, il2cpp_init_utf16, (const Il2CppChar * domain_name));
DO_API(int, il2cpp_init, (const char* domain_name));
DO_API(int, il2cpp_init_utf16, (const Il2CppChar * domain_name));
DO_API(void, il2cpp_shutdown, ()); DO_API(void, il2cpp_shutdown, ());
@ -75,6 +75,8 @@ DO_API(const Il2CppImage*, il2cpp_assembly_get_image, (const Il2CppAssembly * as
// class // class
DO_API(void, il2cpp_class_for_each, (void(*klassReportFunc)(Il2CppClass* klass, void* userData), void* userData));
DO_API(const Il2CppType*, il2cpp_class_enum_basetype, (Il2CppClass * klass)); DO_API(const Il2CppType*, il2cpp_class_enum_basetype, (Il2CppClass * klass));
DO_API(bool, il2cpp_class_is_generic, (const Il2CppClass * klass)); DO_API(bool, il2cpp_class_is_generic, (const Il2CppClass * klass));
@ -115,6 +117,8 @@ DO_API(const MethodInfo*, il2cpp_class_get_method_from_name, (Il2CppClass * klas
DO_API(const char*, il2cpp_class_get_name, (Il2CppClass * klass)); DO_API(const char*, il2cpp_class_get_name, (Il2CppClass * klass));
DO_API(void, il2cpp_type_get_name_chunked, (const Il2CppType * type, void(*chunkReportFunc)(void* data, void* userData), void* userData));
DO_API(const char*, il2cpp_class_get_namespace, (Il2CppClass * klass)); DO_API(const char*, il2cpp_class_get_namespace, (Il2CppClass * klass));
DO_API(Il2CppClass*, il2cpp_class_get_parent, (Il2CppClass * klass)); DO_API(Il2CppClass*, il2cpp_class_get_parent, (Il2CppClass * klass));
@ -143,6 +147,8 @@ DO_API(Il2CppClass*, il2cpp_class_from_type, (const Il2CppType * type));
DO_API(const Il2CppType*, il2cpp_class_get_type, (Il2CppClass * klass)); DO_API(const Il2CppType*, il2cpp_class_get_type, (Il2CppClass * klass));
DO_API(uint32_t, il2cpp_class_get_type_token, (Il2CppClass * klass));
DO_API(bool, il2cpp_class_has_attribute, (Il2CppClass * klass, Il2CppClass * attr_class)); DO_API(bool, il2cpp_class_has_attribute, (Il2CppClass * klass, Il2CppClass * attr_class));
DO_API(bool, il2cpp_class_has_references, (Il2CppClass * klass)); DO_API(bool, il2cpp_class_has_references, (Il2CppClass * klass));
@ -153,6 +159,12 @@ DO_API(const Il2CppImage*, il2cpp_class_get_image, (Il2CppClass * klass));
DO_API(const char*, il2cpp_class_get_assemblyname, (const Il2CppClass * klass)); DO_API(const char*, il2cpp_class_get_assemblyname, (const Il2CppClass * klass));
DO_API(int, il2cpp_class_get_rank, (const Il2CppClass * klass));
DO_API(uint32_t, il2cpp_class_get_data_size, (const Il2CppClass * klass));
DO_API(void*, il2cpp_class_get_static_field_data, (const Il2CppClass * klass));
// testing only // testing only
@ -223,7 +235,7 @@ DO_API(void, il2cpp_field_static_set_value, (FieldInfo * field, void *value));
DO_API(void, il2cpp_field_set_value_object, (Il2CppObject * instance, FieldInfo * field, Il2CppObject * value)); DO_API(void, il2cpp_field_set_value_object, (Il2CppObject * instance, FieldInfo * field, Il2CppObject * value));
DO_API(bool, il2cpp_field_is_literal, (FieldInfo * field));
// gc // gc
@ -235,11 +247,31 @@ DO_API(void, il2cpp_gc_disable, ());
DO_API(void, il2cpp_gc_enable, ()); DO_API(void, il2cpp_gc_enable, ());
DO_API(bool, il2cpp_gc_is_disabled, ());
DO_API(int64_t, il2cpp_gc_get_max_time_slice_ns, ());
DO_API(void, il2cpp_gc_set_max_time_slice_ns, (int64_t maxTimeSlice));
DO_API(bool, il2cpp_gc_is_incremental, ());
DO_API(int64_t, il2cpp_gc_get_used_size, ()); DO_API(int64_t, il2cpp_gc_get_used_size, ());
DO_API(int64_t, il2cpp_gc_get_heap_size, ()); DO_API(int64_t, il2cpp_gc_get_heap_size, ());
DO_API(void, il2cpp_gc_wbarrier_set_field, (Il2CppObject * obj, void **targetAddress, void *object));
DO_API(bool, il2cpp_gc_has_strict_wbarriers, ());
DO_API(void, il2cpp_gc_set_external_allocation_tracker, (void(*func)(void*, size_t, int)));
DO_API(void, il2cpp_gc_set_external_wbarrier_tracker, (void(*func)(void**)));
DO_API(void, il2cpp_gc_foreach_heap, (void(*func)(void* data, void* userData), void* userData));
DO_API(void, il2cpp_stop_gc_world, ());
DO_API(void, il2cpp_start_gc_world, ());
// gchandle // gchandle
@ -251,6 +283,22 @@ DO_API(Il2CppObject*, il2cpp_gchandle_get_target , (uint32_t gchandle));
DO_API(void, il2cpp_gchandle_free, (uint32_t gchandle)); DO_API(void, il2cpp_gchandle_free, (uint32_t gchandle));
DO_API(void , il2cpp_gchandle_foreach_get_target, (void(*func)(void* data, void* userData), void* userData));
// vm runtime info
DO_API(uint32_t, il2cpp_object_header_size, ());
DO_API(uint32_t, il2cpp_array_object_header_size, ());
DO_API(uint32_t, il2cpp_offset_of_array_length_in_array_object_header, ());
DO_API(uint32_t, il2cpp_offset_of_array_bounds_in_array_object_header, ());
DO_API(uint32_t, il2cpp_allocation_granularity, ());
// liveness // liveness
@ -273,6 +321,8 @@ DO_API(Il2CppClass*, il2cpp_method_get_declaring_type, (const MethodInfo * metho
DO_API(const char*, il2cpp_method_get_name, (const MethodInfo * method)); DO_API(const char*, il2cpp_method_get_name, (const MethodInfo * method));
DO_API(const MethodInfo*, il2cpp_method_get_from_reflection, (const Il2CppReflectionMethod * method));
DO_API(Il2CppReflectionMethod*, il2cpp_method_get_object, (const MethodInfo * method, Il2CppClass * refclass)); DO_API(Il2CppReflectionMethod*, il2cpp_method_get_object, (const MethodInfo * method, Il2CppClass * refclass));
DO_API(bool, il2cpp_method_is_generic, (const MethodInfo * method)); DO_API(bool, il2cpp_method_is_generic, (const MethodInfo * method));
@ -401,8 +451,6 @@ DO_API(Il2CppString*, il2cpp_string_is_interned, (Il2CppString * str));
// thread // thread
DO_API(char*, il2cpp_thread_get_name, (Il2CppThread * thread, uint32_t * len));
DO_API(Il2CppThread*, il2cpp_thread_current, ()); DO_API(Il2CppThread*, il2cpp_thread_current, ());
DO_API(Il2CppThread*, il2cpp_thread_attach, (Il2CppDomain * domain)); DO_API(Il2CppThread*, il2cpp_thread_attach, (Il2CppDomain * domain));
@ -423,18 +471,20 @@ DO_API(void, il2cpp_current_thread_walk_frame_stack, (Il2CppFrameWalkFunc func,
DO_API(void, il2cpp_thread_walk_frame_stack, (Il2CppThread * thread, Il2CppFrameWalkFunc func, void* user_data)); DO_API(void, il2cpp_thread_walk_frame_stack, (Il2CppThread * thread, Il2CppFrameWalkFunc func, void* user_data));
DO_API(bool, il2cpp_current_thread_get_top_frame, (Il2CppStackFrameInfo & frame)); DO_API(bool, il2cpp_current_thread_get_top_frame, (Il2CppStackFrameInfo * frame));
DO_API(bool, il2cpp_thread_get_top_frame, (Il2CppThread * thread, Il2CppStackFrameInfo & frame)); DO_API(bool, il2cpp_thread_get_top_frame, (Il2CppThread * thread, Il2CppStackFrameInfo * frame));
DO_API(bool, il2cpp_current_thread_get_frame_at, (int32_t offset, Il2CppStackFrameInfo & frame)); DO_API(bool, il2cpp_current_thread_get_frame_at, (int32_t offset, Il2CppStackFrameInfo * frame));
DO_API(bool, il2cpp_thread_get_frame_at, (Il2CppThread * thread, int32_t offset, Il2CppStackFrameInfo & frame)); DO_API(bool, il2cpp_thread_get_frame_at, (Il2CppThread * thread, int32_t offset, Il2CppStackFrameInfo * frame));
DO_API(int32_t, il2cpp_current_thread_get_stack_depth, ()); DO_API(int32_t, il2cpp_current_thread_get_stack_depth, ());
DO_API(int32_t, il2cpp_thread_get_stack_depth, (Il2CppThread * thread)); DO_API(int32_t, il2cpp_thread_get_stack_depth, (Il2CppThread * thread));
DO_API(void, il2cpp_override_stack_backtrace, (Il2CppBacktraceFunc stackBacktraceFunc));
// type // type
@ -447,6 +497,18 @@ DO_API(Il2CppClass*, il2cpp_type_get_class_or_element_class, (const Il2CppType *
DO_API(char*, il2cpp_type_get_name, (const Il2CppType * type)); DO_API(char*, il2cpp_type_get_name, (const Il2CppType * type));
DO_API(bool, il2cpp_type_is_byref, (const Il2CppType * type));
DO_API(uint32_t, il2cpp_type_get_attrs, (const Il2CppType * type));
DO_API(bool, il2cpp_type_equals, (const Il2CppType * type, const Il2CppType * otherType));
DO_API(char*, il2cpp_type_get_assembly_qualified_name, (const Il2CppType * type));
DO_API(bool, il2cpp_type_is_static, (const Il2CppType * type));
DO_API(bool, il2cpp_type_is_pointer_type, (const Il2CppType * type));
// image // image
@ -461,6 +523,12 @@ DO_API(const MethodInfo*, il2cpp_image_get_entry_point, (const Il2CppImage * ima
DO_API(size_t, il2cpp_image_get_class_count, (const Il2CppImage * image));
DO_API(const Il2CppClass*, il2cpp_image_get_class, (const Il2CppImage * image, size_t index));
// Memory information // Memory information
DO_API(Il2CppManagedMemorySnapshot*, il2cpp_capture_memory_snapshot, ()); DO_API(Il2CppManagedMemorySnapshot*, il2cpp_capture_memory_snapshot, ());
@ -478,3 +546,57 @@ DO_API(void, il2cpp_set_find_plugin_callback, (Il2CppSetFindPlugInCallback metho
DO_API(void, il2cpp_register_log_callback, (Il2CppLogCallback method)); DO_API(void, il2cpp_register_log_callback, (Il2CppLogCallback method));
// Debugger
DO_API(void, il2cpp_debugger_set_agent_options, (const char* options));
DO_API(bool, il2cpp_is_debugger_attached, ());
DO_API(void, il2cpp_register_debugger_agent_transport, (Il2CppDebuggerTransport * debuggerTransport));
// Debug metadata
DO_API(bool, il2cpp_debug_get_method_info, (const MethodInfo*, Il2CppMethodDebugInfo * methodDebugInfo));
// TLS module
DO_API(void, il2cpp_unity_install_unitytls_interface, (const void* unitytlsInterfaceStruct));
// custom attributes
DO_API(Il2CppCustomAttrInfo*, il2cpp_custom_attrs_from_class, (Il2CppClass * klass));
DO_API(Il2CppCustomAttrInfo*, il2cpp_custom_attrs_from_method, (const MethodInfo * method));
DO_API(Il2CppObject*, il2cpp_custom_attrs_get_attr, (Il2CppCustomAttrInfo * ainfo, Il2CppClass * attr_klass));
DO_API(bool, il2cpp_custom_attrs_has_attr, (Il2CppCustomAttrInfo * ainfo, Il2CppClass * attr_klass));
DO_API(Il2CppArray*, il2cpp_custom_attrs_construct, (Il2CppCustomAttrInfo * cinfo));
DO_API(void, il2cpp_custom_attrs_free, (Il2CppCustomAttrInfo * ainfo));
// Il2CppClass user data for GetComponent optimization
DO_API(void, il2cpp_class_set_userdata, (Il2CppClass * klass, void* userdata));
DO_API(int, il2cpp_class_get_userdata_offset, ());
DO_API(void, il2cpp_set_default_thread_affinity, (int64_t affinity_mask));

View File

@ -8,261 +8,288 @@ using namespace app;
// Map hooks // Map hooks
DO_APP_FUNC(0x013815E0, void, InLevelMapPageContext_OnMarkClicked, (InLevelMapPageContext* __this, MonoMapMark* mark, MethodInfo* method)); DO_APP_FUNC(0x02E9F9E0, void, MoleMole_InLevelMapPageContext_OnMarkClicked, (InLevelMapPageContext* __this, MonoMapMark* mark, MethodInfo* method));
DO_APP_FUNC(0x01390800, void, InLevelMapPageContext_OnMapClicked, (InLevelMapPageContext* __this, Vector2 screenPos, MethodInfo* method)); DO_APP_FUNC(0x02E85EC0, void, MoleMole_InLevelMapPageContext_OnMapClicked, (InLevelMapPageContext* __this, Vector2 screenPos, MethodInfo* method));
DO_APP_FUNC(0x0158AD40, bool, MapModule_IsAreaUnlock, (MBHLOBDPKEC* __this, uint32_t sceneID, uint32_t areaID, MethodInfo* method)); DO_APP_FUNC(0x00F0DCE0, bool, MoleMole_MapModule_IsAreaUnlock, (MoleMole_MapModule* __this, uint32_t sceneID, uint32_t areaID, MethodInfo* method));
DO_APP_FUNC(0x05036C50, uint16_t, SimpleSafeUInt16_get_Value, (void* __this, LAFKDOLNGNA rawValue, MethodInfo* method));
DO_APP_FUNC(0x03427B90, uint32_t, SimpleSafeUInt32_get_Value, (void* __this, app::SimpleSafeUInt32 rawValue, MethodInfo* method)); // changed to:
// DO_APP_FUNC(0x01B0A910, uint16_t, MoleMole_SimpleSafeUInt16_DBDMOONJALD_1, (MoleMole_SimpleSafeUInt16 v, MethodInfo * method));
// DBDMOONJALD => op_Implicit
DO_APP_FUNC(0x01B0A910, uint16_t, MoleMole_SimpleSafeUInt16_get_Value, (SimpleSafeUInt16 v, MethodInfo* method));
DO_APP_FUNC(0x0400F280, uint32_t, MoleMole_SimpleSafeUInt32_get_Value, (SimpleSafeUInt32 v, MethodInfo* method));
// Map utility // Map utility
DO_APP_FUNC(0x04339D30, Rect, MonoInLevelMapPage_get_mapRect, (MonoInLevelMapPage* __this, MethodInfo* method)); DO_APP_FUNC(0x00E866B0, Rect, MonoInLevelMapPage_get_mapRect, (MonoInLevelMapPage* __this, MethodInfo* method));
DO_APP_FUNC(0x04339D00, Transform*, MonoInLevelMapPage_get_mapBackground, (MonoInLevelMapPage* __this, MethodInfo* method)); DO_APP_FUNC(0x00E86680, Transform*, MonoInLevelMapPage_get_mapBackground, (MonoInLevelMapPage* __this, MethodInfo* method));
// Teleport hooks // Teleport hooks
DO_APP_FUNC(0x03253B80, void, GameManager_Update, (GameManager* __this, MethodInfo* method)); DO_APP_FUNC(0x028AD260, void, GameManager_Update, (GameManager* __this, MethodInfo* method));
DO_APP_FUNC(0x017F49E0, void, LoadingManager_SceneGoto, (LoadingManager* __this, PlayerEnterSceneNotify* notify, MethodInfo* method)); DO_APP_FUNC(0x01F54110, void, MoleMole_LoadingManager_SceneGoto, (MoleMole_LoadingManager* __this, PlayerEnterSceneNotify* notify, MethodInfo* method));
DO_APP_FUNC(0x017F1310, void, LoadingManager_PerformPlayerTransmit, (LoadingManager* __this, Vector3 targetPos, EnterType__Enum enterType, uint32_t token, CMHGHBNDBMG_ECPNDLCPDIE__Enum transType, uint32_t BDFOCMLADLB, MethodInfo* method)); DO_APP_FUNC(0x01F55300, void, MoleMole_LoadingManager_PerformPlayerTransmit, (MoleMole_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(0x01F563C0, void, MoleMole_LoadingManager_RequestSceneTransToPoint, (MoleMole_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(0x01F57E60, bool, MoleMole_LoadingManager_NeedTransByServer, (MoleMole_LoadingManager* __this, uint32_t sceneId, Vector3 position, MethodInfo* method));
DO_APP_FUNC(0x07758D10, Vector3, LocalEntityInfoData_GetTargetPos, (LocalEntityInfoData* __this, MethodInfo* method)); DO_APP_FUNC(0x0104A6D0, Vector3, MoleMole_LocalEntityInfoData_get_initPos, (LocalEntityInfoData* __this, MethodInfo* method)); // shared offset
// Unlimited stamina // Unlimited stamina
DO_APP_FUNC(0x04BDB410, void, LevelSyncCombatPlugin_RequestSceneEntityMoveReq, (BKFGGJFIIKC* __this, uint32_t entityId, MotionInfo* syncInfo, bool isReliable, uint32_t HAOCOEMOMBG, MethodInfo* method)); DO_APP_FUNC(0x01F17820, void, MoleMole_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(0x016189E0, void, MoleMole_DataItem_HandleNormalProp, (DataItem* __this, uint32_t type, int64_t value, DataPropOp__Enum state, MethodInfo* method));
// God mode // God mode
DO_APP_FUNC(0x049428D0, void, VCHumanoidMove_NotifyLandVelocity, (VCHumanoidMove* __this, Vector3 velocity, float reachMaxDownVelocityTime, MethodInfo* method)); DO_APP_FUNC(0x027DB100, 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(0x036889B0, bool, Miscs_CheckTargetAttackable, (BaseEntity* attackerEntity, BaseEntity* targetEntity, MethodInfo* method));
// DO_APP_FUNC(0x02ADE320, void, LCBaseCombat_FireBeingHitEvent, (LCBaseCombat* __this, uint32_t attackeeRuntimeID, AttackResult* attackResult, MethodInfo* method)); // DO_APP_FUNC(0x00D0CA90, void, MoleMole_LCBaseCombat_FireBeingHitEvent, (LCBaseCombat* __this, uint32_t attackeeRuntimeID, AttackResult* attackResult, MethodInfo* method));
// Cooldown cheats // Cooldown cheats
DO_APP_FUNC(0x024D5450, bool, HumanoidMoveFSM_CheckSprintCooldown, (/* HumanoidMoveFSM */void* __this, MethodInfo* method)); DO_APP_FUNC(0x00C69910, bool, MoleMole_HumanoidMoveFSM_CheckSprintCooldown, (/* HumanoidMoveFSM */void* __this, MethodInfo* method));
DO_APP_FUNC(0x02548810, bool, LCAvatarCombat_IsEnergyMax, (void* __this, MethodInfo* method)); DO_APP_FUNC(0x01530C80, bool, MoleMole_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(0x01530480, void, MoleMole_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(0x0152DC10, bool, MoleMole_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(0x01530210, bool, MoleMole_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, MoleMole_ActorAbilityPlugin_AddDynamicFloatWithRange, (void* __this, String* key, float value, float min, float max, bool forceDoAtRemote, MethodInfo* method));
// Rapid fire // Rapid fire
DO_APP_FUNC(0x0318B070, void, LCBaseCombat_DoHitEntity, (LCBaseCombat* __this, uint32_t targetID, AttackResult* attackResult, bool ignoreCheckCanBeHitInMP, MethodInfo* method)); DO_APP_FUNC(0x00D12040, void, MoleMole_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(0x01F0D930, void, MoleMole_Formula_CalcAttackResult, (CombatProperty* attackCombatProperty, CombatProperty* defenseCombatProperty, AttackResult* attackResult, BaseEntity* attackerEntity, BaseEntity* attackeeEntity, MethodInfo* method));
// World cheats // World cheats
DO_APP_FUNC(0x01A56020, void, VCMonsterAIController_TryDoSkill, (/* VCMonsterAIController */ void* __this, uint32_t skillID, MethodInfo* method)); // Manual DO_APP_FUNC(0x022C3450, void, MoleMole_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(0x020FA730, void, MoleMole_LCSelectPickup_AddInteeBtnByID, (void* __this, BaseEntity* entity, MethodInfo* method));
DO_APP_FUNC(0x0426BDA0, bool, LCSelectPickup_IsInPosition, (void* __this, BaseEntity* entity, MethodInfo* method)); DO_APP_FUNC(0x020FA090, bool, MoleMole_LCSelectPickup_IsInPosition, (void* __this, BaseEntity* entity, MethodInfo* method));
DO_APP_FUNC(0x0426C350, bool, LCSelectPickup_IsOutPosition, (void* __this, BaseEntity* entity, MethodInfo* method)); DO_APP_FUNC(0x020FC120, bool, MoleMole_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(0x0219B8E0, void, MoleMole_ItemModule_PickItem, (MoleMole_ItemModule* __this, uint32_t entityID, MethodInfo* method));
DO_APP_FUNC(0x017B0A10, void, LevelSceneElementViewPlugin_Tick, (LevelSceneElementViewPlugin* __this, float inDeltaTime, MethodInfo* method)); DO_APP_FUNC(0x00C2F710, void, MoleMole_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 // Dialog skipping
DO_APP_FUNC(0x0204A380, bool, TalkDialogContext_get_canClick, (TalkDialogContext* __this, MethodInfo* method)); // delete DO_APP_FUNC(0x00F95350, bool, MoleMole_TalkDialogContext_get_canClick, (TalkDialogContext* __this, MethodInfo* method)); // delete
DO_APP_FUNC(0x02052990, bool, TalkDialogContext_get_canAutoClick, (TalkDialogContext* __this, MethodInfo* method)); DO_APP_FUNC(0x00F932D0, bool, MoleMole_TalkDialogContext_get_canAutoClick, (TalkDialogContext* __this, MethodInfo* method));
DO_APP_FUNC(0x0204E820, void, TalkDialogContext_OnDialogSelectItem, (TalkDialogContext* __this, Notify* notify, MethodInfo* method)); DO_APP_FUNC(0x00F97D70, void, MoleMole_TalkDialogContext_OnDialogSelectItem, (TalkDialogContext* __this, Notify* notify, MethodInfo* method));
DO_APP_FUNC(0x0419D8A0, void, InLevelCutScenePageContext_OnFreeClick, (InLevelCutScenePageContext* __this, MethodInfo* method)); // manual DO_APP_FUNC(0x02BF0040, void, MoleMole_InLevelCutScenePageContext_OnFreeClick, (InLevelCutScenePageContext* __this, MethodInfo* method));
DO_APP_FUNC(0x0419F270, void, InLevelCutScenePageContext_UpdateView, (InLevelCutScenePageContext* __this, MethodInfo* method)); // manual (find by InLevelCutScenePageContext_ShowSkipBtn) DO_APP_FUNC(0x02BF1AC0, void, MoleMole_InLevelCutScenePageContext_UpdateView, (InLevelCutScenePageContext* __this, MethodInfo* method));
DO_APP_FUNC(0x0419BF40, void, InLevelCutScenePageContext_ClearView, (InLevelCutScenePageContext* __this, MethodInfo* method)); DO_APP_FUNC(0x02BEF110, void, MoleMole_InLevelCutScenePageContext_ClearView, (InLevelCutScenePageContext* __this, MethodInfo* method));
// Protection bypass // 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 // 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(0x012519C0, int32_t, Kcp_KcpNative_kcp_client_send_packet, (void* kcp_client, KcpPacket_1* packet, MethodInfo* method));
DO_APP_FUNC(0x02FDCB30, bool, KcpClient_TryDequeueEvent, (void* __this, ClientKcpEvent* evt, MethodInfo* method)); DO_APP_FUNC(0x00BD08A0, bool, MoleMole_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(0x029C3D60, void, MoleMole_Packet_XorEncrypt, (Byte__Array** bytes, int32_t length, MethodInfo* method));
// Lua functions // Lua functions
DO_APP_FUNC(0x04B1C0C0, Byte__Array*, LuaManager_LoadCustomLuaFile, (LuaManager* __this, String** filePath, bool* recycleBytes, MethodInfo* method)); DO_APP_FUNC(0x02D59730, 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(0x0655E850, void, Lua_xlua_pushasciistring, (void* L, String* str, MethodInfo* method));
DO_APP_FUNC(0x047ADA50, void, LuaShellManager_DoString, (void* __this, Byte__Array* byteArray, MethodInfo* method)); DO_APP_FUNC(0x01D8D5D0, void, MoleMole_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(0x0600AFF0, 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(0x01D8DCA0, void, MoleMole_LuaShellManager_ReportLuaShellResult, (void* __this, String* type, String* value, MethodInfo* method)); // Anticheat info
// Debug hooks // 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(0x02D3FA40, AttackResult_1*, MoleMole_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(0x01F16210, void, MoleMole_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(0x035D4180, void, MoleMole_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(0x023D4A90, bool, MoleMole_ActorAbilityPlugin_OnEvent, (void* __this, BaseEvent* e, MethodInfo* method));
// Kill aura // Kill aura
DO_APP_FUNC(0x04F8C3A0, void, EvtCrash_Init, (EvtCrash* __this, uint32_t targetID, MethodInfo* method)); // Manual offset DO_APP_FUNC(0x00B8EB30, void, MoleMole_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(0x00941E80, void, MoleMole_EventManager_FireEvent, (MoleMole_EventManager* __this, BaseEvent* e, bool immediately, MethodInfo* method));
DO_APP_FUNC(0x01C11490, bool, FixedBoolStack_get_value, (FixedBoolStack* __this, MethodInfo* method)); DO_APP_FUNC(0x0167B1A0, bool, MoleMole_FixedBoolStack_get_value, (FixedBoolStack* __this, MethodInfo* method));
DO_APP_FUNC(0x031ADF70, EvtCrash*, CreateCrashEvent, (void* __this, MethodInfo* method));
DO_APP_FUNC_METHODINFO(0x0B381CF8, CreateCrashEvent__MethodInfo); // cannot find actual function name: MoleMole_EventHelper_Allocate_103
DO_APP_FUNC(0x028DD7F0, void, BaseMoveSyncPlugin_ConvertSyncTaskToMotionInfo, (BaseMoveSyncPlugin* __this, MethodInfo* method)); // shared offset
// possible:
// DO_APP_FUNC(0x039E2030, MoleMole_EvtCrash_1 *, EventHelper_Allocate_103, (MethodInfo * method));
DO_APP_FUNC(0x039E2030, EvtCrash*, MoleMole_EventHelper_Allocate_103, (MethodInfo* method));
DO_APP_FUNC_METHODINFO(0x09723528, MoleMole_EventHelper_Allocate_103__MethodInfo);
DO_APP_FUNC(0x034BC360, void, MoleMole_BaseMoveSyncPlugin_ConvertSyncTaskToMotionInfo, (BaseMoveSyncPlugin* __this, MethodInfo* method));
// Fishing // 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, MoleMole_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(0x0292D6D0, void, MoleMole_FishingModule_RequestFishBite, (void* __this, MethodInfo* method));
DO_APP_FUNC(0x036B9DB0, void, FishingModule_OnFishBiteRsp, (void* __this, FishBiteRsp* rsp, MethodInfo* method)); DO_APP_FUNC(0x02930440, void, MoleMole_FishingModule_OnFishBiteRsp, (void* __this, FishBiteRsp* rsp, MethodInfo* method));
DO_APP_FUNC(0x036BD440, void, FishingModule_RequestFishBattleBegin, (void* __this, MethodInfo* method)); DO_APP_FUNC(0x0292F470, void, MoleMole_FishingModule_RequestFishBattleBegin, (void* __this, MethodInfo* method));
DO_APP_FUNC(0x036BACD0, void, FishingModule_OnFishBattleBeginRsp, (void* __this, FishBattleBeginRsp* rsp, MethodInfo* method)); DO_APP_FUNC(0x0292CAE0, void, MoleMole_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(0x0292D090, void, MoleMole_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(0x0292DBD0, void, MoleMole_FishingModule_OnFishBattleEndRsp, (void* __this, FishBattleEndRsp* rsp, MethodInfo* method));
DO_APP_FUNC(0x036B8AA0, void, FishingModule_OnExitFishingRsp, (void* __this, void* rsp, MethodInfo* method)); DO_APP_FUNC(0x0292F190, void, MoleMole_FishingModule_OnExitFishingRsp, (void* __this, void* rsp, MethodInfo* method));
DO_APP_FUNC(0x036BB0B0, void, FishingModule_onFishChosenNotify, (void* __this, void* notify, MethodInfo* method)); DO_APP_FUNC(0x0292C7F0, void, MoleMole_FishingModule_onFishChosenNotify, (void* __this, void* notify, MethodInfo* method));
// Visuals // Visuals
DO_APP_FUNC(0x0289DE30, void, SCameraModuleInitialize_SetWarningLocateRatio, (SCameraModuleInitialize* __this, double deltaTime, CameraShareData* data, MethodInfo* method)); DO_APP_FUNC(0x013FC090, void, MoleMole_SCameraModuleInitialize_SetWarningLocateRatio, (SCameraModuleInitialize* __this, double deltaTime, CameraShareData* data, MethodInfo* method));
// Chest Indicator | RyujinZX#6666 // Chest Indicator | RyujinZX#6666
DO_APP_FUNC(0x0487E1D0, bool, LCIndicatorPlugin_DoCheck, (LCIndicatorPlugin* __this, MethodInfo* method)); DO_APP_FUNC(0x04C9B450, bool, MoleMole_LCIndicatorPlugin_DoCheck, (LCIndicatorPlugin* __this, MethodInfo* method));
DO_APP_FUNC(0x0487F680, void, LCIndicatorPlugin_ShowIcon, (LCIndicatorPlugin* __this, MethodInfo* method)); DO_APP_FUNC(0x04C9B830, void, MoleMole_LCIndicatorPlugin_ShowIcon, (LCIndicatorPlugin* __this, MethodInfo* method));
DO_APP_FUNC(0x0487CBF0, void, LCIndicatorPlugin_HideIcon, (LCIndicatorPlugin* __this, MethodInfo* method)); DO_APP_FUNC(0x04C9A750, void, MoleMole_LCIndicatorPlugin_HideIcon, (LCIndicatorPlugin* __this, MethodInfo* method));
// Auto Cooking | RyujinZX#6666 // 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(0x02854E30, void, MoleMole_PlayerModule_RequestPlayerCook, (MoleMole_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(0x02858180, void, MoleMole_PlayerModule_OnPlayerCookRsp, (MoleMole_PlayerModule* __this, PlayerCookRsp* rsp, MethodInfo* method));
DO_APP_FUNC(0x030E1000, void, CookingQtePageContext_UpdateProficiency, (CookingQtePageContext* __this, MethodInfo* method)); DO_APP_FUNC(0x033F5820, void, MoleMole_CookingQtePageContext_UpdateProficiency, (CookingQtePageContext* __this, MethodInfo* method));
DO_APP_FUNC(0x03AA2920, uint32_t, CookRecipeExcelConfig_get_maxProficiency, (CookRecipeExcelConfig* __this, MethodInfo* method)); DO_APP_FUNC(0x0116AA10, uint32_t, CookRecipeExcelConfig_get_maxProficiency, (CookRecipeExcelConfig* __this, MethodInfo* method));
// Utility // Utility
DO_APP_FUNC(0x015DD910, float, Miscs_CalcCurrentGroundWaterHeight, (void* __this, float x, float z, MethodInfo* method)); DO_APP_FUNC(0x036865D0, float, Miscs_CalcCurrentGroundWaterHeight, (float x, float z, MethodInfo* method));
DO_APP_FUNC(0x015DD1D0, float, Miscs_CalcCurrentGroundHeight, (void* __this, float x, float z, MethodInfo* method)); DO_APP_FUNC(0x03685E00, float, Miscs_CalcCurrentGroundHeight, (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(0x03685F10, float, Miscs_CalcCurrentGroundHeight_1, (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(0x03686170, Vector3, Miscs_CalcCurrentGroundNorm, (Vector3 pos, MethodInfo* method));
DO_APP_FUNC(0x015E9B40, Vector3, Miscs_GenWorldPos, (void* __this, Vector2 levelMapPos, MethodInfo* method)); DO_APP_FUNC(0x01A4E0E0, Vector3, Miscs_GenWorldPos, (Vector2 levelMapPos, MethodInfo* method));
DO_APP_FUNC(0x015E91A0, Vector2, Miscs_GenLevelPos_1, (void* __this, Vector3 worldPos, MethodInfo* method)); DO_APP_FUNC(0x01A4DA90, Vector2, Miscs_GenLevelPos_1, (Vector3 worldPos, MethodInfo* method));
DO_APP_FUNC(0x01601D90, int32_t, Miscs_GetSceneGroundLayerMask, (void* __this, 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(0x056202E0, Vector3, WorldShiftManager_GetRelativePosition, (Vector3 pos, MethodInfo* method));
DO_APP_FUNC(0x060F0810, Vector3, WorldShiftManager_GetAbsolutePosition, (void* __this, 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(0x02DAB410, Vector3, ActorUtils_GetAvatarPos, (MethodInfo* method));
DO_APP_FUNC(0x014C3BF0, void, ActorUtils_SetAvatarPos, (void* __this, Vector3 pos, MethodInfo* method)); DO_APP_FUNC(0x02DAF680, void, ActorUtils_SetAvatarPos, (Vector3 pos, MethodInfo* method));
DO_APP_FUNC(0x014C88B0, void, ActorUtils_SyncAvatarMotion, (void* __this, int32_t state, MethodInfo* method)); DO_APP_FUNC(0x02DB0AF0, void, ActorUtils_SyncAvatarMotion, (int32_t state, MethodInfo* method));
DO_APP_FUNC(0x02ECCFE0, Notify, Notify_CreateNotify_1, (void* __this, AJAPIFPNFKP__Enum type, Object* body, MethodInfo* method)); DO_APP_FUNC(0x01AA5200, Notify, Notify_CreateNotify_1, (MoleMole_NotifyTypes__Enum type, Object* body, MethodInfo* method));
DO_APP_FUNC(0x04D3A960, float, SafeFloat_GetValue, (void* __this, SafeFloat safeFloat, MethodInfo* method)); // DO_APP_FUNC(0x020C7AA0, float, MoleMole_SafeFloat_DBDMOONJALD_1, (MoleMole_SafeFloat v, MethodInfo * method));
DO_APP_FUNC(0x04D3A770, SafeFloat, SafeFloat_SetValue, (void* __this, float value, MethodInfo* method)); // DBDMOONJALD => op_Implicit
DO_APP_FUNC(0x020C7AA0, float, MoleMole_SafeFloat_get_Value, (SafeFloat safeFloat, MethodInfo* method));
// DO_APP_FUNC(0x020C7920, MoleMole_SafeFloat, MoleMole_SafeFloat_DBDMOONJALD, (float IGFNEICJINB, MethodInfo * method));
DO_APP_FUNC(0x020C7920, SafeFloat, MoleMole_SafeFloat_set_Value, (float value, MethodInfo* method));
DO_APP_FUNC(0x01645B20, void, Entity_SetPosition, (BaseEntity* __this, Vector3 position, bool someBool, MethodInfo* method)); //DO_APP_FUNC(0x039E2290, 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, LCBaseCombat*, MoleMole_BaseEntity_GetLogicCombatComponent_1, (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(0x05102780, VCBaseMove*, BaseEntity_GetMoveComponent_1, (BaseEntity* __this, MethodInfo* method));
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_METHODINFO(0x0B2DB248, BaseEntity_GetBaseCombat__MethodInfo);
DO_APP_FUNC(0x01555150, BaseEntity*, EntityManager_GetCurrentAvatar, (EntityManager* __this, MethodInfo* method)); DO_APP_FUNC(0x035CC430, String*, MoleMole_BaseEntity_ToStringRelease, (BaseEntity* __this, MethodInfo* method));
DO_APP_FUNC(0x0155F060, CameraEntity*, EntityManager_GetMainCameraEntity, (EntityManager* __this, MethodInfo* method)); DO_APP_FUNC(0x035AC7B0, void, MoleMole_BaseEntity_SetRelativePosition, (BaseEntity* __this, Vector3 position, bool forceSyncToRigidbody, MethodInfo* method));
DO_APP_FUNC(0x0154A660, BaseEntity*, EntityManager_GetValidEntity, (EntityManager* __this, uint32_t runtimeID, MethodInfo* method)); DO_APP_FUNC(0x035C0AA0, void, MoleMole_BaseEntity_SetAbsolutePosition, (BaseEntity* __this, Vector3 abpos, bool forceSyncToRigidbody, MethodInfo* method));
DO_APP_FUNC(0x0155A580, bool, EntityManager_RemoveEntity, (EntityManager* __this, BaseEntity* entity, uint32_t specifiedRuntimeID, MethodInfo* method)); DO_APP_FUNC(0x035C4B00, Vector3, MoleMole_BaseEntity_GetAbsolutePosition, (BaseEntity* __this, MethodInfo* method));
DO_APP_FUNC(0x0154F520, bool, EntityManager_IsCachedEntity, (EntityManager* __this, BaseEntity* entity, MethodInfo* method)); DO_APP_FUNC(0x035BE810, Vector3, MoleMole_BaseEntity_GetRelativePosition, (BaseEntity* __this, MethodInfo* method));
DO_APP_FUNC(0x01560F70, List_1_MoleMole_BaseEntity_*, EntityManager_GetEntities, (EntityManager* __this, MethodInfo* method)); DO_APP_FUNC(0x035B1EF0, Vector3, MoleMole_BaseEntity_GetForward, (BaseEntity* __this, MethodInfo* method));
DO_APP_FUNC(0x035D4BA0, Vector3, MoleMole_BaseEntity_GetForwardFast, (BaseEntity* __this, MethodInfo* method));
DO_APP_FUNC(0x035C08A0, Vector3, MoleMole_BaseEntity_GetRight, (BaseEntity* __this, MethodInfo* method));
DO_APP_FUNC(0x035CB210, Vector3, MoleMole_BaseEntity_GetUp, (BaseEntity* __this, MethodInfo* method));
DO_APP_FUNC(0x035D5B30, bool, MoleMole_BaseEntity_IsActive, (BaseEntity* __this, MethodInfo* method));
DO_APP_FUNC(0x035C7A50, Rigidbody*, MoleMole_BaseEntity_GetRigidbody, (BaseEntity* __this, MethodInfo* method));
DO_APP_FUNC(0x05D07B50, Bounds, Utils_1_GetBounds, (void* __this, GameObject* go, MethodInfo* method)); //DO_APP_FUNC(0x039E22C0, MoleMole_VCBaseMove_1 *, MoleMole_BaseEntity_GetMoveComponent_1, (MoleMole_BaseEntity * __this, MethodInfo * method));
DO_APP_FUNC(0x039E22C0, VCBaseMove*, MoleMole_BaseEntity_GetMoveComponent_1, (BaseEntity* __this, MethodInfo* method)); // double check
DO_APP_FUNC(0x035C3850, List_1_MoleMole_BaseComponent_*, MoleMole_BaseEntity_GetAllLogicComponents, (BaseEntity* __this, MethodInfo* method));
DO_APP_FUNC(0x0187FDC0, GameObject*, MoleMole_BaseEntity_get_gameObject, (BaseEntity* __this, MethodInfo* method));
DO_APP_FUNC(0x035ACC70, GameObject*, MoleMole_BaseEntity_get_rootGameObject, (BaseEntity* __this, MethodInfo* method));
DO_APP_FUNC_METHODINFO(0x096EAD20, MoleMole_BaseEntity_GetMoveComponent_1__MethodInfo);
//DO_APP_FUNC_METHODINFO(0x096EF950, MoleMole_BaseEntity_GetLogicCombatComponent_1__MethodInfo); // double check
DO_APP_FUNC_METHODINFO(0x096EC0B8, MoleMole_BaseEntity_GetLogicCombatComponent_1__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(0x01BF68A0, BaseEntity*, MoleMole_EntityManager_GetLocalAvatarEntity, (MoleMole_EntityManager* __this, MethodInfo* method));
DO_APP_FUNC(0x01BF4E50, CameraEntity*, MoleMole_EntityManager_GetMainCameraEntity, (MoleMole_EntityManager* __this, MethodInfo* method));
DO_APP_FUNC(0x01BEB030, BaseEntity*, MoleMole_EntityManager_GetValidEntity, (MoleMole_EntityManager* __this, uint32_t runtimeID, MethodInfo* method));
DO_APP_FUNC(0x01BF2D60, bool, MoleMole_EntityManager_RemoveEntity, (MoleMole_EntityManager* __this, BaseEntity* entity, uint32_t specifiedRuntimeID, MethodInfo* method));
DO_APP_FUNC(0x01C02800, bool, MoleMole_EntityManager_IsCachedEntity, (MoleMole_EntityManager* __this, BaseEntity* entity, MethodInfo* method));
DO_APP_FUNC(0x01BF01F0, List_1_MoleMole_BaseEntity_*, MoleMole_EntityManager_GetEntities, (MoleMole_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(0x044B8970, Bounds, Utils_4_GetBounds, (GameObject* go, MethodInfo* method));
// Modify | RyujinZX#6666 // Modify | RyujinZX#6666
DO_APP_FUNC(0x024E0BA0, void, HumanoidMoveFSM_LateTick, (app::HumanoidMoveFSM* __this, float deltaTime, MethodInfo* method)); DO_APP_FUNC(0x00C6C780, void, MoleMole_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, MoleMole_ScenePropManager_GetTreeTypeByPattern, (MoleMole_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(0x00C3F160, void, MoleMole_NetworkManager_RequestHitTreeDropNotify, (MoleMole_NetworkManager* __this, Vector3 position, Vector3 hitPostion, MoleMole_Config_TreeType__Enum treeType, MethodInfo* method));
DO_APP_FUNC(0x0332CD30, uint64_t, GetTimestamp, (void* __this, MethodInfo* method)); DO_APP_FUNC(0x0291FEF0, uint64_t, MoleMole_TimeUtil_get_NowTimeStamp, (MethodInfo* method));
DO_APP_FUNC(0x017F43F0, bool, LoadingManager_IsLoaded, (LoadingManager* __this, MethodInfo* method)); DO_APP_FUNC(0x01F5BA10, bool, MoleMole_LoadingManager_IsLoaded, (MoleMole_LoadingManager* __this, MethodInfo* method));
// Thanks to | RyujinZX // 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, MoleMole_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*, MoleMole_GadgetEntity_GetOwnerEntity, (GadgetEntity* __this, MethodInfo* method));
DO_APP_FUNC(0x02E826A0, void, MoleMole_InLevelMapPageContext_ZoomMap, (InLevelMapPageContext* __this, float value, MethodInfo* method));
DO_APP_FUNC(0x02EC7730, void, MoleMole_InLevelMapPageContext_UpdateView, (InLevelMapPageContext* __this, MethodInfo* method));
DO_APP_FUNC(0x01A36960, bool, MoleMole_UIManager_HasEnableMapCamera, (MoleMole_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, MoleMole_GadgetModule_OnGadgetInteractRsp, (void* __this, GadgetInteractRsp* notify, MethodInfo* method));
DO_APP_FUNC(0x00A8D650, float, MoleMole_InLevelMainPageContext_get_miniMapScale, (InLevelMainPageContext* __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(0x01C6A530, bool, UIManager_1_HasEnableMapCamera, (UIManager_1* __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 // UnityEngine
DO_APP_FUNC(0x073C1A30, void, RenderSettings_set_fog, (void* __this, bool value, MethodInfo* method)); DO_APP_FUNC(0x065ECB70, 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(0x06621FF0, 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(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(0x06555BA0, 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(0x065548F0, 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(0x0664E3A0, float, Vector3_Distance, (Vector3 a, Vector3 b, MethodInfo* method));
DO_APP_FUNC(0x073D8E70, float, Vector2_Distance, (void* __this, Vector2 a, Vector2 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(0x0658F980, void, Cursor_set_visible, (bool value, MethodInfo* method));
DO_APP_FUNC(0x07445050, void, Cursor_set_lockState, (void* __this, CursorLockMode__Enum value, MethodInfo* method)); DO_APP_FUNC(0x0658F970, void, Cursor_set_lockState, (CursorLockMode__Enum value, MethodInfo* method));
DO_APP_FUNC(0x07445000, bool, Cursor_get_visible, (void* __this, 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(0x064B3A00, 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(0x064B3A40, 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(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(0x06594F40, Vector3, Camera_WorldToScreenPoint, (Camera* __this, Vector3 position, MethodInfo* method));
DO_APP_FUNC(0x0743DBF0, Camera*, Camera_get_main, (void* __this, MethodInfo* method)); DO_APP_FUNC(0x06595270, Camera*, Camera_get_main, (MethodInfo* method));
DO_APP_FUNC(0x0743DF30, int32_t, Camera_get_pixelWidth, (Camera* __this, MethodInfo* method)); DO_APP_FUNC(0x065953B0, 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(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(0x06533CA0, int32_t, Screen_get_width, (MethodInfo* method));
DO_APP_FUNC(0x073C98F0, int32_t, Screen_get_height, (void* __this, 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(0x066306D0, Vector3, Quaternion_ToEulerAngles, (Quaternion rotation, 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 // Singletons
DO_APP_FUNC(0x07626D40, void*, Singleton_GetInstance, (void* __this, MethodInfo* method)); DO_APP_FUNC(0x05189A90, void*, Singleton_GetInstance, (MethodInfo* method));
DO_APP_FUNC_METHODINFO(0x0B327AD0, Singleton_1_MBHLOBDPKEC__get_Instance__MethodInfo); DO_APP_FUNC_METHODINFO(0x096EA3B0, Singleton_1_MoleMole_MapModule__get_Instance__MethodInfo);
DO_APP_FUNC_METHODINFO(0x0B2C2AC0, Singleton_1_LoadingManager__get_Instance__MethodInfo); DO_APP_FUNC_METHODINFO(0x096EA470, Singleton_1_MoleMole_LoadingManager__get_Instance__MethodInfo);
DO_APP_FUNC_METHODINFO(0x0B2B2A80, Singleton_1_EntityManager__get_Instance__MethodInfo); DO_APP_FUNC_METHODINFO(0x096E5D68, Singleton_1_MoleMole_EntityManager__get_Instance__MethodInfo);
DO_APP_FUNC_METHODINFO(0x0B2B4FC8, Singleton_1_InteractionManager__get_Instance__MethodInfo); DO_APP_FUNC_METHODINFO(0x096E6D98, Singleton_1_InteractionManager__get_Instance__MethodInfo);
DO_APP_FUNC_METHODINFO(0x0B37C078, Singleton_1_MessageInfo__get_Instance__MethodInfo); DO_APP_FUNC_METHODINFO(0x096E5C20, Singleton_1_MoleMole_UIManager__get_Instance__MethodInfo);
DO_APP_FUNC_METHODINFO(0x0B29F2D8, Singleton_1_UIManager_1__get_Instance__MethodInfo); DO_APP_FUNC_METHODINFO(0x096E9868, Singleton_1_MoleMole_ItemModule__get_Instance__MethodInfo);
DO_APP_FUNC_METHODINFO(0x0B2ACD50, Singleton_1_ItemModule__get_Instance__MethodInfo); DO_APP_FUNC_METHODINFO(0x096E7148, Singleton_1_MoleMole_EventManager__get_Instance__MethodInfo);
DO_APP_FUNC_METHODINFO(0x0B2B3818, Singleton_1_EventManager__get_Instance__MethodInfo); DO_APP_FUNC_METHODINFO(0x096E5C58, Singleton_1_MoleMole_PlayerModule__get_Instance__MethodInfo);
DO_APP_FUNC_METHODINFO(0x096E5EE8, Singleton_1_MoleMole_MapManager__get_Instance__MethodInfo);
// 2.6 DO_APP_FUNC_METHODINFO(0x096E8A10, Singleton_1_MoleMole_ScenePropManager__get_Instance__MethodInfo);
DO_APP_FUNC_METHODINFO(0x0B2EC728, Singleton_1_PlayerModule__get_Instance__MethodInfo); DO_APP_FUNC_METHODINFO(0x096E63A0, Singleton_1_MoleMole_NetworkManager__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);

View File

@ -1,4 +1,4 @@
// Generated C++ file by Il2CppInspector - http://www.djkaty.com - https://github.com/djkaty // 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

View File

@ -5,23 +5,23 @@
// * IL2CPP application-specific type definition addresses // * IL2CPP application-specific type definition addresses
// ****************************************************************************** // ******************************************************************************
DO_TYPEDEF(0x0B224E28, Byte); DO_TYPEDEF(0x0967B618, Byte);
DO_TYPEDEF(0x0B3117B8, GameManager); DO_TYPEDEF(0x09688C08, GameManager);
DO_TYPEDEF(0x0B38FF20, Int32); DO_TYPEDEF(0x0967B508, Int32);
// v 2.6 // v 2.7
DO_TYPEDEF(0x0B39D338, LCChestPlugin); DO_TYPEDEF(0x0968AD88, LCChestPlugin);
DO_TYPEDEF(0x0B2BC988, SceneTreeObject); DO_TYPEDEF(0x09688FD8, SceneTreeObject);
DO_SINGLETONEDEF(0x0B3442D8, Singleton_1_MBHLOBDPKEC_); //// v 2.6
DO_SINGLETONEDEF(0x0B308870, Singleton_1_EntityManager_); //DO_SINGLETONEDEF(0x0B3442D8, Singleton_1_MoleMole_MapModule_);
DO_SINGLETONEDEF(0x0B316A68, Singleton_1_LoadingManager_); //DO_SINGLETONEDEF(0x0B308870, Singleton_1_MoleMole_EntityManager_);
DO_SINGLETONEDEF(0x0B30BD10, Singleton_1_InteractionManager_); //DO_SINGLETONEDEF(0x0B316A68, Singleton_1_MoleMole_LoadingManager_);
DO_SINGLETONEDEF(0x0B2F8038, Singleton_1_UIManager_1_); //DO_SINGLETONEDEF(0x0B30BD10, Singleton_1_InteractionManager_);
DO_SINGLETONEDEF(0x0B291838, Singleton_1_ItemModule_); //DO_SINGLETONEDEF(0x0B2F8038, Singleton_1_MoleMole_UIManager_);
DO_SINGLETONEDEF(0x0B309120, Singleton_1_EventManager_); //DO_SINGLETONEDEF(0x0B291838, Singleton_1_MoleMole_ItemModule_);
// v 2.6 //DO_SINGLETONEDEF(0x0B309120, Singleton_1_MoleMole_EventManager_);
DO_SINGLETONEDEF(0x0B326FF8, Singleton_1_PlayerModule_); //DO_SINGLETONEDEF(0x0B326FF8, Singleton_1_MoleMole_PlayerModule_);
DO_SINGLETONEDEF(0x0B2F2A38, Singleton_1_MapManager_); //DO_SINGLETONEDEF(0x0B2F2A38, Singleton_1_MoleMole_MapManager_);
DO_SINGLETONEDEF(0x0B399890, Singleton_1_NetworkManager_1_); //DO_SINGLETONEDEF(0x0B399890, Singleton_1_MoleMole_NetworkManager_);
DO_SINGLETONEDEF(0x0B2227B8, Singleton_1_ScenePropManager_); //DO_SINGLETONEDEF(0x0B2227B8, Singleton_1_MoleMole_ScenePropManager_);

File diff suppressed because it is too large Load Diff

View File

@ -1,4 +1,4 @@
using namespace app; using namespace app;
DO_APP_FUNC(0x00AE5AD0, app::Byte__Array*, Unity_RecordUserData, (int32_t nType)); DO_APP_FUNC(0x00B64280, app::Byte__Array*, Unity_RecordUserData, (int32_t nType));
DO_APP_FUNC(0x00A80580, Il2CppClass**, GetIl2Classes, ()); DO_APP_FUNC(0x00AFCB60, Il2CppClass**, GetIl2Classes, ());

View File

@ -13,8 +13,8 @@
#include "il2cpp-metadata-version.h" #include "il2cpp-metadata-version.h"
#define IS_SINGLETON_LOADED(className) (*app::Singleton_1_## className ##___TypeInfo != nullptr && *app::Singleton_1_ ## className ## __get_Instance__MethodInfo != nullptr) #define IS_SINGLETON_LOADED(className) (/**app::Singleton_1_## className ##___TypeInfo != nullptr &&*/ *app::Singleton_1_ ## className ## __get_Instance__MethodInfo != nullptr)
#define GET_SINGLETON(tpname) IS_SINGLETON_LOADED(tpname) ? reinterpret_cast<app:: ## tpname ## *>(app::Singleton_GetInstance(nullptr, *app::Singleton_1_ ## tpname ## __get_Instance__MethodInfo)) : nullptr #define GET_SINGLETON(tpname) IS_SINGLETON_LOADED(tpname) ? reinterpret_cast<app:: ## tpname ## *>(app::Singleton_GetInstance(*app::Singleton_1_ ## tpname ## __get_Instance__MethodInfo)) : nullptr
#define INIT_ILCPP_CLASS(className, expr) (il2cpp_runtime_class_init(reinterpret_cast<Il2CppClass*>(*app::## className ##__TypeInfo)), expr) #define INIT_ILCPP_CLASS(className, expr) (il2cpp_runtime_class_init(reinterpret_cast<Il2CppClass*>(*app::## className ##__TypeInfo)), expr)
#define GET_STATIC_FIELDS(tpname) INIT_ILCPP_CLASS(tpname, (*app::## tpname ##__TypeInfo)->static_fields) #define GET_STATIC_FIELDS(tpname) INIT_ILCPP_CLASS(tpname, (*app::## tpname ##__TypeInfo)->static_fields)

View File

@ -15,13 +15,13 @@ cheat::GenshinCM& cheat::GenshinCM::instance()
void cheat::GenshinCM::CursorSetVisibility(bool visibility) void cheat::GenshinCM::CursorSetVisibility(bool visibility)
{ {
app::Cursor_set_visible(nullptr, visibility, nullptr); app::Cursor_set_visible(visibility, nullptr);
app::Cursor_set_lockState(nullptr, visibility ? app::CursorLockMode__Enum::None : app::CursorLockMode__Enum::Locked, nullptr); app::Cursor_set_lockState(visibility ? app::CursorLockMode__Enum::None : app::CursorLockMode__Enum::Locked, nullptr);
} }
bool cheat::GenshinCM::CursorGetVisibility() bool cheat::GenshinCM::CursorGetVisibility()
{ {
return app::Cursor_get_visible(nullptr, nullptr); return app::Cursor_get_visible(nullptr);
} }
cheat::GenshinCM::GenshinCM() : cheat::GenshinCM::GenshinCM() :

View File

@ -343,6 +343,7 @@ uintptr_t ILPatternScanner::FindFunctionEntry(uintptr_t address)
void ILPatternScanner::LoadMethodPointers() void ILPatternScanner::LoadMethodPointers()
{ {
/* Outdated. Need update to version 2.7
auto info = GetMetadataInfo(); auto info = GetMetadataInfo();
#define LOAD_METHOD_POINTERS(countField, field) LOG_DEBUG( #field ": %d", info->codeRegistration->##countField); \ #define LOAD_METHOD_POINTERS(countField, field) LOG_DEBUG( #field ": %d", info->codeRegistration->##countField); \
@ -359,6 +360,7 @@ void ILPatternScanner::LoadMethodPointers()
std::sort(m_MethodPointers.begin(), m_MethodPointers.end()); std::sort(m_MethodPointers.begin(), m_MethodPointers.end());
LOG_DEBUG("Loaded %llu method pointers.", m_MethodPointers.size()); LOG_DEBUG("Loaded %llu method pointers.", m_MethodPointers.size());
*/
} }
template<typename T> template<typename T>
@ -369,6 +371,7 @@ static T MetadataOffset(void* metadata, size_t sectionOffset, size_t itemIndex)
const MethodInfo* ILPatternScanner::GetMethodInfoFromIndex(uint32_t methodIndex) const MethodInfo* ILPatternScanner::GetMethodInfoFromIndex(uint32_t methodIndex)
{ {
/* Outdated. Need update to version 2.7
SET_API_FUNC_P(Il2CppGenericMethod*, GetGenericMethodFromIndex, (uint32_t index), "40 53 48 83 EC 20 48 8B 05 ?? ?? ?? ?? 48 63"); SET_API_FUNC_P(Il2CppGenericMethod*, GetGenericMethodFromIndex, (uint32_t index), "40 53 48 83 EC 20 48 8B 05 ?? ?? ?? ?? 48 63");
GET_FUNC_BY_XREF(MethodInfo*, GetMethod, (const Il2CppGenericMethod * gmethod), "E8 ?? ?? ?? ?? 48 8B C8 0F B7 FE", 1); GET_FUNC_BY_XREF(MethodInfo*, GetMethod, (const Il2CppGenericMethod * gmethod), "E8 ?? ?? ?? ?? 48 8B C8 0F B7 FE", 1);
@ -383,6 +386,8 @@ const MethodInfo* ILPatternScanner::GetMethodInfoFromIndex(uint32_t methodIndex)
return GetMethod(GetGenericMethodFromIndex(index)); return GetMethod(GetGenericMethodFromIndex(index));
else else
return GetMethodInfoFromMethodDefinitionIndex(index); return GetMethodInfoFromMethodDefinitionIndex(index);
*/
return nullptr;
} }
std::string ILPatternScanner::ComputeGenericParamsPrefix(const Il2CppGenericInst* inst) std::string ILPatternScanner::ComputeGenericParamsPrefix(const Il2CppGenericInst* inst)
@ -466,6 +471,7 @@ std::string ILPatternScanner::ComputeInspectorMethodName(const MethodInfo* metho
void ILPatternScanner::LoadUsage() void ILPatternScanner::LoadUsage()
{ {
/* Outdated. Need update to version 2.7.
SET_API_FUNC_P(Il2CppClass*, GetTypeInfoFromTypeIndex, (uint32_t index), "48 83 EC 28 83 F9 FF 75"); SET_API_FUNC_P(Il2CppClass*, GetTypeInfoFromTypeIndex, (uint32_t index), "48 83 EC 28 83 F9 FF 75");
auto info = GetMetadataInfo(); auto info = GetMetadataInfo();
@ -533,7 +539,7 @@ void ILPatternScanner::LoadUsage()
} }
} }
} }
LoadMetadata(); LoadMetadata();*/
} }
void ILPatternScanner::LoadMetadata() void ILPatternScanner::LoadMetadata()

View File

@ -127,7 +127,7 @@ namespace cheat
static uint32_t _lastUserID = 0; static uint32_t _lastUserID = 0;
auto playerModule = GET_SINGLETON(PlayerModule); auto playerModule = GET_SINGLETON(MoleMole_PlayerModule);
if (playerModule == nullptr || playerModule->fields._accountData_k__BackingField == nullptr) if (playerModule == nullptr || playerModule->fields._accountData_k__BackingField == nullptr)
return; return;
@ -148,7 +148,7 @@ namespace cheat
CALL_ORIGIN(GameManager_Update_Hook, __this, method); CALL_ORIGIN(GameManager_Update_Hook, __this, method);
} }
static void LevelSyncCombatPlugin_RequestSceneEntityMoveReq_Hook(app::BKFGGJFIIKC* __this, uint32_t entityId, app::MotionInfo* syncInfo, static void LevelSyncCombatPlugin_RequestSceneEntityMoveReq_Hook(app::LevelSyncCombatPlugin* __this, uint32_t entityId, app::MotionInfo* syncInfo,
bool isReliable, uint32_t relseq, MethodInfo* method) bool isReliable, uint32_t relseq, MethodInfo* method)
{ {
events::MoveSyncEvent(entityId, syncInfo); events::MoveSyncEvent(entityId, syncInfo);
@ -158,7 +158,7 @@ namespace cheat
static void InstallEventHooks() static void InstallEventHooks()
{ {
HookManager::install(app::GameManager_Update, GameManager_Update_Hook); HookManager::install(app::GameManager_Update, GameManager_Update_Hook);
HookManager::install(app::LevelSyncCombatPlugin_RequestSceneEntityMoveReq, LevelSyncCombatPlugin_RequestSceneEntityMoveReq_Hook); HookManager::install(app::MoleMole_LevelSyncCombatPlugin_RequestSceneEntityMoveReq, LevelSyncCombatPlugin_RequestSceneEntityMoveReq_Hook);
} }
} }

View File

@ -26,12 +26,12 @@ namespace cheat::feature::esp::render
s_Camera = nullptr; s_Camera = nullptr;
auto loadingManager = GET_SINGLETON(LoadingManager); auto loadingManager = GET_SINGLETON(MoleMole_LoadingManager);
if (loadingManager == nullptr || !app::LoadingManager_IsLoaded(loadingManager, nullptr)) if (loadingManager == nullptr || !app::MoleMole_LoadingManager_IsLoaded(loadingManager, nullptr))
return; return;
SAFE_BEGIN(); SAFE_BEGIN();
auto camera = app::Camera_get_main(nullptr, nullptr); auto camera = app::Camera_get_main(nullptr);
if (camera == nullptr) if (camera == nullptr)
return; return;
@ -58,8 +58,8 @@ namespace cheat::feature::esp::render
if (pixelWidth == 0 || pixelHeight == 0) if (pixelWidth == 0 || pixelHeight == 0)
return; return;
auto screenWidth = app::Screen_get_width(nullptr, nullptr); auto screenWidth = app::Screen_get_width(nullptr);
auto screenHeight = app::Screen_get_height(nullptr, nullptr); auto screenHeight = app::Screen_get_height(nullptr);
if (screenWidth == 0 || screenHeight == 0) if (screenWidth == 0 || screenHeight == 0)
return; return;
@ -88,7 +88,7 @@ namespace cheat::feature::esp::render
screenPos.y *= s_ResolutionScale.y; 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; return screenPos;
} }
@ -141,7 +141,7 @@ namespace cheat::feature::esp::render
// Sometimes occurs access violation in UnityPlayer.dll // Sometimes occurs access violation in UnityPlayer.dll
// Callow: Have no idea what to do with it unless just catch exception // 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 && if (bounds.m_Extents.x < esp.f_MinSize &&
bounds.m_Extents.y < esp.f_MinSize && bounds.m_Extents.y < esp.f_MinSize &&
bounds.m_Extents.z < 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 #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; 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.yMin = screenHeight - boxRect.yMin;
boxRect.yMax = screenHeight - boxRect.yMax; boxRect.yMax = screenHeight - boxRect.yMax;
return boxRect; return boxRect;

View File

@ -24,7 +24,7 @@ namespace cheat::game
entityFilters[filter] = { false, 0 }; entityFilters[filter] = { false, 0 };
auto& entry = entityFilters[filter]; auto& entry = entityFilters[filter];
auto timestamp = app::GetTimestamp(nullptr, nullptr); auto timestamp = app::MoleMole_TimeUtil_get_NowTimeStamp(nullptr);
if (entry.second + m_LifeTime > timestamp) if (entry.second + m_LifeTime > timestamp)
return entry.first; return entry.first;

View File

@ -14,7 +14,7 @@ namespace cheat::game
app::String* GetRawName(game::Entity* entity) app::String* GetRawName(game::Entity* entity)
{ {
SAFE_BEGIN(); SAFE_BEGIN();
return app::BaseEntity_ToStringRelease(entity->raw(), nullptr); return app::MoleMole_BaseEntity_ToStringRelease(entity->raw(), nullptr);
SAFE_ERROR(); SAFE_ERROR();
return nullptr; return nullptr;
SAFE_END(); SAFE_END();
@ -61,7 +61,7 @@ namespace cheat::game
if (m_RawEntity == nullptr) if (m_RawEntity == nullptr)
return {}; return {};
return app::BaseEntity_GetRelativePosition(m_RawEntity, nullptr); return app::MoleMole_BaseEntity_GetRelativePosition(m_RawEntity, nullptr);
} }
app::Vector3 Entity::absolutePosition() app::Vector3 Entity::absolutePosition()
@ -69,7 +69,7 @@ namespace cheat::game
if (m_RawEntity == nullptr) if (m_RawEntity == nullptr)
return {}; return {};
return app::BaseEntity_GetAbsolutePosition(m_RawEntity, nullptr); return app::MoleMole_BaseEntity_GetAbsolutePosition(m_RawEntity, nullptr);
} }
app::Vector2 Entity::levelPosition() app::Vector2 Entity::levelPosition()
@ -77,7 +77,7 @@ namespace cheat::game
if (m_RawEntity == nullptr) if (m_RawEntity == nullptr)
return {}; return {};
return app::Miscs_GenLevelPos_1(nullptr, absolutePosition(), nullptr); return app::Miscs_GenLevelPos_1(absolutePosition(), nullptr);
} }
float Entity::distance(Entity* entity) float Entity::distance(Entity* entity)
@ -93,7 +93,7 @@ namespace cheat::game
if (rawEntity == nullptr) if (rawEntity == nullptr)
return 10000; return 10000;
auto point = app::BaseEntity_GetRelativePosition(rawEntity, nullptr); auto point = app::MoleMole_BaseEntity_GetRelativePosition(rawEntity, nullptr);
return distance(point); return distance(point);
} }
@ -102,7 +102,7 @@ namespace cheat::game
if (m_RawEntity == nullptr) if (m_RawEntity == nullptr)
return 10000; return 10000;
auto dist = app::Vector3_Distance(nullptr, relativePosition(), point, nullptr); auto dist = app::Vector3_Distance(relativePosition(), point, nullptr);
return dist; return dist;
} }
@ -111,7 +111,7 @@ namespace cheat::game
if (m_RawEntity == nullptr) if (m_RawEntity == nullptr)
return 10000; return 10000;
return app::Vector2_Distance(nullptr, levelPosition(), levelPoint, nullptr); return app::Vector2_Distance(levelPosition(), levelPoint, nullptr);
} }
bool Entity::isGadget() bool Entity::isGadget()
@ -149,7 +149,7 @@ namespace cheat::game
if (m_RawEntity == nullptr) if (m_RawEntity == nullptr)
return; return;
app::BaseEntity_SetRelativePosition(m_RawEntity, value, true, nullptr); app::MoleMole_BaseEntity_SetRelativePosition(m_RawEntity, value, true, nullptr);
} }
void Entity::setAbsolutePosition(const app::Vector3& value) void Entity::setAbsolutePosition(const app::Vector3& value)
@ -157,15 +157,15 @@ namespace cheat::game
if (m_RawEntity == nullptr) if (m_RawEntity == nullptr)
return; return;
app::BaseEntity_SetAbsolutePosition(m_RawEntity, value, true, nullptr); app::MoleMole_BaseEntity_SetAbsolutePosition(m_RawEntity, value, true, nullptr);
} }
bool Entity::isLoaded() bool Entity::isLoaded()
{ {
if (m_RawEntity == nullptr || !app::BaseEntity_IsActive(m_RawEntity, nullptr)) if (m_RawEntity == nullptr || !app::MoleMole_BaseEntity_IsActive(m_RawEntity, nullptr))
return false; return false;
m_IsLoaded = m_IsLoaded || app::BaseEntity_get_rootGameObject(m_RawEntity, nullptr); m_IsLoaded = m_IsLoaded || app::MoleMole_BaseEntity_get_rootGameObject(m_RawEntity, nullptr);
return m_IsLoaded; return m_IsLoaded;
} }
@ -175,7 +175,7 @@ namespace cheat::game
return nullptr; return nullptr;
SAFE_BEGIN(); SAFE_BEGIN();
return app::BaseEntity_GetMoveComponent_1(m_RawEntity, *app::BaseEntity_GetMoveComponent_1__MethodInfo); return app::MoleMole_BaseEntity_GetMoveComponent_1(m_RawEntity, *app::MoleMole_BaseEntity_GetMoveComponent_1__MethodInfo);
SAFE_ERROR(); SAFE_ERROR();
return nullptr; return nullptr;
SAFE_END(); SAFE_END();
@ -187,7 +187,7 @@ namespace cheat::game
return nullptr; return nullptr;
SAFE_BEGIN(); SAFE_BEGIN();
return app::BaseEntity_GetBaseCombat(m_RawEntity, *app::BaseEntity_GetBaseCombat__MethodInfo); return app::MoleMole_BaseEntity_GetLogicCombatComponent_1(m_RawEntity, *app::MoleMole_BaseEntity_GetLogicCombatComponent_1__MethodInfo);
SAFE_ERROR(); SAFE_ERROR();
return nullptr; return nullptr;
SAFE_END(); SAFE_END();
@ -199,7 +199,7 @@ namespace cheat::game
return nullptr; return nullptr;
SAFE_BEGIN(); SAFE_BEGIN();
return app::BaseEntity_GetRigidbody(m_RawEntity, nullptr); return app::MoleMole_BaseEntity_GetRigidbody(m_RawEntity, nullptr);
SAFE_ERROR(); SAFE_ERROR();
return nullptr; return nullptr;
SAFE_END(); SAFE_END();
@ -211,7 +211,7 @@ namespace cheat::game
return nullptr; return nullptr;
SAFE_BEGIN(); SAFE_BEGIN();
return app::BaseEntity_get_gameObject(m_RawEntity, nullptr); return app::MoleMole_BaseEntity_get_gameObject(m_RawEntity, nullptr);
SAFE_ERROR(); SAFE_ERROR();
return nullptr; return nullptr;
SAFE_END(); SAFE_END();
@ -222,7 +222,7 @@ namespace cheat::game
if (m_RawEntity == nullptr) if (m_RawEntity == nullptr)
return {}; return {};
return app::BaseEntity_GetForward(m_RawEntity, nullptr); return app::MoleMole_BaseEntity_GetForward(m_RawEntity, nullptr);
} }
app::Vector3 Entity::back() app::Vector3 Entity::back()
@ -235,7 +235,7 @@ namespace cheat::game
if (m_RawEntity == nullptr) if (m_RawEntity == nullptr)
return {}; return {};
return app::BaseEntity_GetRight(m_RawEntity, nullptr); return app::MoleMole_BaseEntity_GetRight(m_RawEntity, nullptr);
} }
app::Vector3 Entity::left() app::Vector3 Entity::left()
@ -248,7 +248,7 @@ namespace cheat::game
if (m_RawEntity == nullptr) if (m_RawEntity == nullptr)
return {}; return {};
return app::BaseEntity_GetUp(m_RawEntity, nullptr); return app::MoleMole_BaseEntity_GetUp(m_RawEntity, nullptr);
} }
app::Vector3 Entity::down() app::Vector3 Entity::down()

View File

@ -53,7 +53,7 @@ namespace cheat::game
SAFE_BEGIN(); SAFE_BEGIN();
auto logicComponentsRaw = app::BaseEntity_GetAllLogicComponents(m_RawEntity, nullptr); auto logicComponentsRaw = app::MoleMole_BaseEntity_GetAllLogicComponents(m_RawEntity, nullptr);
auto logicComponents = TO_UNI_LIST(logicComponentsRaw, app::BaseComponent*); auto logicComponents = TO_UNI_LIST(logicComponentsRaw, app::BaseComponent*);
if (logicComponents == nullptr) if (logicComponents == nullptr)
return nullptr; return nullptr;

View File

@ -16,11 +16,11 @@ namespace cheat::game
std::vector<app::BaseEntity*> EntityManager::rawEntities() std::vector<app::BaseEntity*> EntityManager::rawEntities()
{ {
auto entityManager = GET_SINGLETON(EntityManager); auto entityManager = GET_SINGLETON(MoleMole_EntityManager);
if (entityManager == nullptr) if (entityManager == nullptr)
return {}; return {};
auto entities = TO_UNI_LIST(app::EntityManager_GetEntities(entityManager, nullptr), app::BaseEntity*); auto entities = TO_UNI_LIST(app::MoleMole_EntityManager_GetEntities(entityManager, nullptr), app::BaseEntity*);
if (entities == nullptr) if (entities == nullptr)
return {}; return {};
@ -29,7 +29,7 @@ namespace cheat::game
for (const auto& entity : *entities) for (const auto& entity : *entities)
{ {
if (entity != nullptr && app::BaseEntity_IsActive(entity, nullptr)) if (entity != nullptr && app::MoleMole_BaseEntity_IsActive(entity, nullptr))
aliveEntities.push_back(entity); aliveEntities.push_back(entity);
} }
return aliveEntities; return aliveEntities;
@ -73,11 +73,11 @@ namespace cheat::game
cheat::game::Entity* EntityManager::entity(uint32_t runtimeID, bool unsafe) cheat::game::Entity* EntityManager::entity(uint32_t runtimeID, bool unsafe)
{ {
auto entityManager = GET_SINGLETON(EntityManager); auto entityManager = GET_SINGLETON(MoleMole_EntityManager);
if (entityManager == nullptr) if (entityManager == nullptr)
return nullptr; return nullptr;
auto rawEntity = app::EntityManager_GetValidEntity(entityManager, runtimeID, nullptr); auto rawEntity = app::MoleMole_EntityManager_GetValidEntity(entityManager, runtimeID, nullptr);
if (unsafe) if (unsafe)
return new Entity(rawEntity); return new Entity(rawEntity);
@ -86,18 +86,18 @@ namespace cheat::game
cheat::game::Entity* EntityManager::avatar() cheat::game::Entity* EntityManager::avatar()
{ {
auto entityManager = GET_SINGLETON(EntityManager); auto entityManager = GET_SINGLETON(MoleMole_EntityManager);
if (entityManager == nullptr) if (entityManager == nullptr)
return s_EmptyEntity; return s_EmptyEntity;
auto avatarRaw = app::EntityManager_GetCurrentAvatar(entityManager, nullptr); auto avatarRaw = app::MoleMole_EntityManager_GetLocalAvatarEntity(entityManager, nullptr);
if (m_AvatarEntity.raw() != avatarRaw) if (m_AvatarEntity.raw() != avatarRaw)
m_AvatarEntity = Entity(avatarRaw); m_AvatarEntity = Entity(avatarRaw);
return &m_AvatarEntity; return &m_AvatarEntity;
} }
bool EntityManager_RemoveEntity_Hook(app::EntityManager* __this, app::BaseEntity* entity, uint32_t specifiedRuntimeID, MethodInfo* method) bool EntityManager_RemoveEntity_Hook(app::MoleMole_EntityManager* __this, app::BaseEntity* entity, uint32_t specifiedRuntimeID, MethodInfo* method)
{ {
EntityManager::instance().OnRawEntityDestroy(entity); EntityManager::instance().OnRawEntityDestroy(entity);
return CALL_ORIGIN(EntityManager_RemoveEntity_Hook, __this, entity, specifiedRuntimeID, method); return CALL_ORIGIN(EntityManager_RemoveEntity_Hook, __this, entity, specifiedRuntimeID, method);
@ -121,12 +121,12 @@ namespace cheat::game
EntityManager::EntityManager() : m_AvatarEntity(nullptr) EntityManager::EntityManager() : m_AvatarEntity(nullptr)
{ {
HookManager::install(app::EntityManager_RemoveEntity, EntityManager_RemoveEntity_Hook); HookManager::install(app::MoleMole_EntityManager_RemoveEntity, EntityManager_RemoveEntity_Hook);
} }
cheat::game::Entity* EntityManager::entity(app::BaseEntity* rawEntity) cheat::game::Entity* EntityManager::entity(app::BaseEntity* rawEntity)
{ {
if (rawEntity == nullptr || !app::BaseEntity_IsActive(rawEntity, nullptr)) if (rawEntity == nullptr || !app::MoleMole_BaseEntity_IsActive(rawEntity, nullptr))
return s_EmptyEntity; return s_EmptyEntity;
std::lock_guard<std::mutex> lock(m_EntityCacheLock); std::lock_guard<std::mutex> lock(m_EntityCacheLock);
@ -142,7 +142,7 @@ namespace cheat::game
entityDestroyEvent(entry.first); entityDestroyEvent(entry.first);
} }
if (app::BaseEntity_get_rootGameObject(rawEntity, nullptr) == nullptr) if (app::MoleMole_BaseEntity_get_rootGameObject(rawEntity, nullptr) == nullptr)
return s_EmptyEntity; return s_EmptyEntity;
Entity* ent = new Entity(rawEntity); Entity* ent = new Entity(rawEntity);
@ -158,11 +158,11 @@ namespace cheat::game
app::CameraEntity* EntityManager::mainCamera() app::CameraEntity* EntityManager::mainCamera()
{ {
auto entityManager = GET_SINGLETON(EntityManager); auto entityManager = GET_SINGLETON(MoleMole_EntityManager);
if (entityManager == nullptr) if (entityManager == nullptr)
return nullptr; return nullptr;
auto cameraEntity = app::EntityManager_GetMainCameraEntity(entityManager, nullptr); auto cameraEntity = app::MoleMole_EntityManager_GetMainCameraEntity(entityManager, nullptr);
return cameraEntity; return cameraEntity;
} }
} }

View File

@ -8,7 +8,7 @@ namespace cheat::game
{ {
std::vector<WaypointInfo> GetUnlockedWaypoints(uint32_t targetSceneId) std::vector<WaypointInfo> GetUnlockedWaypoints(uint32_t targetSceneId)
{ {
auto mapModule = GET_SINGLETON(MBHLOBDPKEC); auto mapModule = GET_SINGLETON(MoleMole_MapModule);
if (mapModule == nullptr) if (mapModule == nullptr)
return {}; return {};
@ -29,8 +29,8 @@ namespace cheat::game
continue; continue;
auto& config = waypoint.config->fields; auto& config = waypoint.config->fields;
uint16_t areaId = app::SimpleSafeUInt16_get_Value(nullptr, config.areaIdRawNum, nullptr); uint16_t areaId = app::MoleMole_SimpleSafeUInt16_get_Value(config.areaIdRawNum, nullptr);
bool isAreaUnlocked = app::MapModule_IsAreaUnlock(mapModule, sceneId, areaId, nullptr); bool isAreaUnlocked = app::MoleMole_MapModule_IsAreaUnlock(mapModule, sceneId, areaId, nullptr);
if (waypoint.isUnlocked && isAreaUnlocked && !config._unlocked && !waypoint.isGroupLimit && !waypoint.isModelHidden) if (waypoint.isUnlocked && isAreaUnlocked && !config._unlocked && !waypoint.isGroupLimit && !waypoint.isModelHidden)
result.push_back(WaypointInfo{ sceneId, waypointId, waypoint.config->fields._tranPos, (app::MapModule_ScenePointData*)&waypoint }); result.push_back(WaypointInfo{ sceneId, waypointId, waypoint.config->fields._tranPos, (app::MapModule_ScenePointData*)&waypoint });
@ -45,7 +45,7 @@ namespace cheat::game
float minDistance = -1; float minDistance = -1;
WaypointInfo result{}; WaypointInfo result{};
for (const auto& info : GetUnlockedWaypoints(targetSceneId)) { 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) if (minDistance < 0 || distance < minDistance)
{ {
minDistance = distance; minDistance = distance;
@ -57,7 +57,7 @@ namespace cheat::game
uint32_t GetCurrentPlayerSceneID() uint32_t GetCurrentPlayerSceneID()
{ {
auto playerModule = GET_SINGLETON(PlayerModule); auto playerModule = GET_SINGLETON(MoleMole_PlayerModule);
if (playerModule == nullptr) if (playerModule == nullptr)
return 0; return 0;
@ -66,7 +66,7 @@ namespace cheat::game
uint32_t GetCurrentMapSceneID() uint32_t GetCurrentMapSceneID()
{ {
auto mapManager = GET_SINGLETON(MapManager); auto mapManager = GET_SINGLETON(MoleMole_MapManager);
if (mapManager == nullptr) if (mapManager == nullptr)
return 0; return 0;
@ -118,7 +118,7 @@ namespace cheat::game
app::AccountDataItem* GetAccountData() app::AccountDataItem* GetAccountData()
{ {
auto playerModule = GET_SINGLETON(PlayerModule); auto playerModule = GET_SINGLETON(MoleMole_PlayerModule);
if (playerModule == nullptr || playerModule->fields._accountData_k__BackingField == nullptr) if (playerModule == nullptr || playerModule->fields._accountData_k__BackingField == nullptr)
return nullptr; return nullptr;

View File

@ -97,9 +97,9 @@ namespace cheat::feature
// Hooking // Hooking
HookManager::install(app::MonoMiniMap_Update, InteractiveMap::MonoMiniMap_Update_Hook); HookManager::install(app::MonoMiniMap_Update, InteractiveMap::MonoMiniMap_Update_Hook);
HookManager::install(app::GadgetModule_OnGadgetInteractRsp, InteractiveMap::GadgetModule_OnGadgetInteractRsp_Hook); HookManager::install(app::MoleMole_GadgetModule_OnGadgetInteractRsp, InteractiveMap::GadgetModule_OnGadgetInteractRsp_Hook);
HookManager::install(app::InLevelMapPageContext_UpdateView, InteractiveMap::InLevelMapPageContext_UpdateView_Hook); HookManager::install(app::MoleMole_InLevelMapPageContext_UpdateView, InteractiveMap::InLevelMapPageContext_UpdateView_Hook);
HookManager::install(app::InLevelMapPageContext_ZoomMap, InteractiveMap::InLevelMapPageContext_ZoomMap_Hook); HookManager::install(app::MoleMole_InLevelMapPageContext_ZoomMap, InteractiveMap::InLevelMapPageContext_ZoomMap_Hook);
} }
const FeatureGUIInfo& InteractiveMap::GetGUIInfo() const const FeatureGUIInfo& InteractiveMap::GetGUIInfo() const
@ -483,7 +483,7 @@ namespace cheat::feature
if (nearestLabelPoint == nullptr) if (nearestLabelPoint == nullptr)
continue; 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) if (distance < minDistance || minDistancePoint == nullptr)
{ {
minDistance = distance; minDistance = distance;
@ -506,7 +506,7 @@ namespace cheat::feature
if (!completed && point.completed) if (!completed && point.completed)
continue; 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) if (distance < minDistance || minDistancePoint == nullptr)
{ {
minDistance = distance; minDistance = distance;
@ -1274,11 +1274,11 @@ namespace cheat::feature
static bool IsMapActive() static bool IsMapActive()
{ {
auto uimanager = GET_SINGLETON(UIManager_1); auto uimanager = GET_SINGLETON(MoleMole_UIManager);
if (uimanager == nullptr) if (uimanager == nullptr)
return false; return false;
return app::UIManager_1_HasEnableMapCamera(uimanager, nullptr); return app::MoleMole_UIManager_HasEnableMapCamera(uimanager, nullptr);
} }
static app::Rect s_MapViewRect = { 0, 0, 1, 1 }; 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; screenPosition.y = (levelPosition.y - s_MapViewRect.m_YMin) / s_MapViewRect.m_Height;
// Scaling to screen position // Scaling to screen position
screenPosition.x = screenPosition.x * app::Screen_get_width(nullptr, nullptr); screenPosition.x = screenPosition.x * app::Screen_get_width(nullptr);
screenPosition.y = (1.0f - screenPosition.y) * app::Screen_get_height(nullptr, nullptr); screenPosition.y = (1.0f - screenPosition.y) * app::Screen_get_height(nullptr);
return screenPosition; return screenPosition;
} }
@ -1382,7 +1382,7 @@ namespace cheat::feature
if (!mapActive) if (!mapActive)
return; return;
auto mapManager = GET_SINGLETON(MapManager); auto mapManager = GET_SINGLETON(MoleMole_MapManager);
if (mapManager == nullptr) if (mapManager == nullptr)
return; return;
@ -1491,8 +1491,8 @@ namespace cheat::feature
if (m_ScenesData.count(sceneID) == 0) if (m_ScenesData.count(sceneID) == 0)
return; return;
ImVec2 screenSize = { static_cast<float>(app::Screen_get_width(nullptr, nullptr)), ImVec2 screenSize = { static_cast<float>(app::Screen_get_width(nullptr)),
static_cast<float>(app::Screen_get_height(nullptr, 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; 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); UPDATE_DELAY_VAR(ImCircle, _miniMapCircle, 2000);
auto uiManager = GET_SINGLETON(UIManager_1); auto uiManager = GET_SINGLETON(MoleMole_UIManager);
if (uiManager == nullptr || uiManager->fields._sceneCanvas == nullptr) if (uiManager == nullptr || uiManager->fields._sceneCanvas == nullptr)
return {}; return {};
@ -1559,7 +1559,7 @@ namespace cheat::feature
auto mapPos = app::Transform_get_position(reinterpret_cast<app::Transform*>(back), nullptr); auto mapPos = app::Transform_get_position(reinterpret_cast<app::Transform*>(back), nullptr);
auto center = app::Camera_WorldToScreenPoint(uiManager->fields._uiCamera, mapPos, 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); auto mapRect = app::RectTransform_get_rect(back, nullptr);
float scaleFactor = app::Canvas_get_scaleFactor(uiManager->fields._sceneCanvas, nullptr); float scaleFactor = app::Canvas_get_scaleFactor(uiManager->fields._sceneCanvas, nullptr);
@ -1576,7 +1576,7 @@ namespace cheat::feature
if (_monoMiniMap == nullptr || _monoMiniMap->fields.context == nullptr) if (_monoMiniMap == nullptr || _monoMiniMap->fields.context == nullptr)
return 1.0f; return 1.0f;
return app::InLevelMainPageContext_get_miniMapScale(_monoMiniMap->fields.context, nullptr); return app::MoleMole_InLevelMainPageContext_get_miniMapScale(_monoMiniMap->fields.context, nullptr);
} }
static float GetMinimapRotation() static float GetMinimapRotation()
@ -1591,14 +1591,14 @@ namespace cheat::feature
auto rotation = app::Transform_get_rotation(reinterpret_cast<app::Transform*>(back), nullptr); auto rotation = app::Transform_get_rotation(reinterpret_cast<app::Transform*>(back), nullptr);
app::Quaternion__Boxed boxed = { nullptr, nullptr, rotation }; app::Quaternion__Boxed boxed = { nullptr, nullptr, rotation };
return app::Quaternion_get_eulerAngles(&boxed, nullptr).z; return app::Quaternion_ToEulerAngles(rotation, nullptr).z;
} }
void InteractiveMap::DrawMinimapPoints() void InteractiveMap::DrawMinimapPoints()
{ {
// Found by hands. Only in Teyvat (3rd scene), need also test another scenes. // Found by hands. Only in Teyvat (3rd scene), need also test another scenes.
static const float minimapAreaLevelRadius = 175.0f; static const float minimapAreaLevelRadius = 175.0f;
constexpr float PI = 3.14159265f; constexpr float TWO_PI = 2 * 3.14159265f;
auto sceneID = game::GetCurrentPlayerSceneID(); auto sceneID = game::GetCurrentPlayerSceneID();
if (m_ScenesData.count(sceneID) == 0) if (m_ScenesData.count(sceneID) == 0)
@ -1608,7 +1608,7 @@ namespace cheat::feature
ImVec2 rotationMult = ImVec2(1.0f, 0.0f); ImVec2 rotationMult = ImVec2(1.0f, 0.0f);
if (rotation != 0) if (rotation != 0)
{ {
auto rad = ( (360.0f - rotation) * PI ) / 180.0f; auto rad = TWO_PI - rotation;// ((360.0f - rotation) * PI) / 180.0f;
rotationMult = { sin(rad), cos(rad) }; rotationMult = { sin(rad), cos(rad) };
} }

View File

@ -28,9 +28,9 @@ namespace cheat::feature
Debug::Debug() : Feature() Debug::Debug() : Feature()
{ {
events::GameUpdateEvent += FUNCTION_HANDLER(OnGameUpdate); events::GameUpdateEvent += FUNCTION_HANDLER(OnGameUpdate);
HookManager::install(app::ActorAbilityPlugin_OnEvent, ActorAbilityPlugin_OnEvent_Hook); HookManager::install(app::MoleMole_ActorAbilityPlugin_OnEvent, ActorAbilityPlugin_OnEvent_Hook);
// HookManager::install(app::LuaShellManager_ReportLuaShellResult, LuaShellManager_ReportLuaShellResult_Hook); // HookManager::install(app::MoleMole_LuaShellManager_ReportLuaShellResult, LuaShellManager_ReportLuaShellResult_Hook);
// HookManager::install(app::LuaShellManager_DoString, LuaShellManager_DoString_Hook); // HookManager::install(app::MoleMole_LuaShellManager_DoString, LuaShellManager_DoString_Hook);
// HookManager::install(app::LuaEnv_DoString, LuaEnv_DoString_Hook); // HookManager::install(app::LuaEnv_DoString, LuaEnv_DoString_Hook);
// HookManager::install(app::Lua_xlua_pushasciistring, Lua_xlua_pushasciistring_Hook); // HookManager::install(app::Lua_xlua_pushasciistring, Lua_xlua_pushasciistring_Hook);
@ -53,7 +53,7 @@ namespace cheat::feature
// Raise when player start game log in (after press a door) // Raise when player start game log in (after press a door)
// Contains information about player system and game integrity // Contains information about player system and game integrity
static void SendInfo_Hook(app::NetworkManager_1* __this, app::GKOJAICIOPA* info, MethodInfo* method) static void SendInfo_Hook(app::MoleMole_NetworkManager* __this, app::GKOJAICIOPA* info, MethodInfo* method)
{ {
LOG_TRACE("Game sending game info to server."); LOG_TRACE("Game sending game info to server.");
LOG_TRACE("Content: "); LOG_TRACE("Content: ");
@ -128,7 +128,7 @@ namespace cheat::feature
return; return;
} }
auto singleton = GET_SINGLETON(MBHLOBDPKEC); auto singleton = GET_SINGLETON(MoleMole_MapModule);
for (const auto& [sceneId, waypoints] : waypointsGrops->pairs()) for (const auto& [sceneId, waypoints] : waypointsGrops->pairs())
{ {
@ -152,9 +152,9 @@ namespace cheat::feature
ImGui::Text("Object position: %s", il2cppi_to_string(location._pos).c_str()); ImGui::Text("Object position: %s", il2cppi_to_string(location._pos).c_str());
ImGui::Text("_unlocked: %s", location._unlocked ? "true" : "false"); ImGui::Text("_unlocked: %s", location._unlocked ? "true" : "false");
ImGui::Text("_groupLimit: %s", location._groupLimit ? "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::MoleMole_SimpleSafeUInt16_get_Value(location.areaIdRawNum, nullptr);
ImGui::Text("areaId: %u", areaId); ImGui::Text("areaId: %u", areaId);
ImGui::Text("areaUnlocked: %s", app::MapModule_IsAreaUnlock(singleton, sceneId, areaId, nullptr) ? "true" : "false"); ImGui::Text("areaUnlocked: %s", app::MoleMole_MapModule_IsAreaUnlock(singleton, sceneId, areaId, nullptr) ? "true" : "false");
ImGui::Text("gadgetIdRawNum: %u", location.gadgetIdRawNum); ImGui::Text("gadgetIdRawNum: %u", location.gadgetIdRawNum);
} }
@ -169,7 +169,7 @@ namespace cheat::feature
void DrawManagerData() void DrawManagerData()
{ {
auto singleton = GET_SINGLETON(MBHLOBDPKEC); auto singleton = GET_SINGLETON(MoleMole_MapModule);
if (singleton == nullptr) if (singleton == nullptr)
{ {
ImGui::Text("Manager not initialized."); ImGui::Text("Manager not initialized.");
@ -236,10 +236,10 @@ namespace cheat::feature
auto combat = entity->combat(); auto combat = entity->combat();
if (combat != nullptr) { if (combat != nullptr) {
auto combatProp = combat->fields._combatProperty_k__BackingField; auto combatProp = combat->fields._combatProperty_k__BackingField;
auto maxHP = app::SafeFloat_GetValue(nullptr, combatProp->fields.maxHP, nullptr); auto maxHP = app::MoleMole_SafeFloat_get_Value(combatProp->fields.maxHP, nullptr);
auto HP = app::SafeFloat_GetValue(nullptr, combatProp->fields.HP, nullptr); auto HP = app::MoleMole_SafeFloat_get_Value(combatProp->fields.HP, nullptr);
auto isLockHp = combatProp->fields.islockHP == nullptr || app::FixedBoolStack_get_value(combatProp->fields.islockHP, nullptr); auto isLockHp = combatProp->fields.islockHP == nullptr || app::MoleMole_FixedBoolStack_get_value(combatProp->fields.islockHP, nullptr);
auto isInvincible = combatProp->fields.isInvincible == nullptr || app::FixedBoolStack_get_value(combatProp->fields.isInvincible, nullptr); auto isInvincible = combatProp->fields.isInvincible == nullptr || app::MoleMole_FixedBoolStack_get_value(combatProp->fields.isInvincible, nullptr);
ImGui::BeginTooltip(); ImGui::BeginTooltip();
ImGui::Text("Combat: %s", combat == nullptr ? "No" : "Yes"); ImGui::Text("Combat: %s", combat == nullptr ? "No" : "Yes");
ImGui::Text("Combat Prop: %s", combatProp == nullptr ? "No" : "Yes"); ImGui::Text("Combat Prop: %s", combatProp == nullptr ? "No" : "Yes");
@ -767,13 +767,13 @@ namespace cheat::feature
void DrawPositionInfo() 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()); 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()); 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()); ImGui::Text("Level position: %s", il2cppi_to_string(levelPos).c_str());
@ -782,7 +782,7 @@ namespace cheat::feature
auto& teleport = MapTeleport::GetInstance(); auto& teleport = MapTeleport::GetInstance();
if (ImGui::Button("Map teleport")) if (ImGui::Button("Map teleport"))
teleport.TeleportTo(app::Vector2 { teleportPos.x, teleportPos.y }); teleport.TeleportTo(app::Vector2{ teleportPos.x, teleportPos.y });
ImGui::SameLine(); ImGui::SameLine();
@ -791,7 +791,7 @@ namespace cheat::feature
if (ImGui::TreeNode("Ground pos info")) 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()); ImGui::Text("Ground normal: %s", il2cppi_to_string(groundNormal).c_str());
static app::Vector3 pos{}; static app::Vector3 pos{};
@ -807,7 +807,7 @@ namespace cheat::feature
static float length = 1000; static float length = 1000;
ImGui::DragFloat("Raycast length", &length, 1.0f, -2000.0f, 2000.0f); 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(); ImGui::TreePop();
} }
@ -819,7 +819,7 @@ namespace cheat::feature
ImGui::SameLine(); ImGui::SameLine();
if (ImGui::Button("Copy All Info")) 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::SetClipboardText(text.c_str());
} }
ImGui::SameLine(); ImGui::SameLine();
@ -841,7 +841,7 @@ namespace cheat::feature
void DrawMapManager() void DrawMapManager()
{ {
auto mapManager = GET_SINGLETON(MapManager); auto mapManager = GET_SINGLETON(MoleMole_MapManager);
if (mapManager == nullptr) if (mapManager == nullptr)
return; return;
@ -952,7 +952,7 @@ namespace cheat::feature
void DrawScenePropManager() void DrawScenePropManager()
{ {
auto scenePropManager = GET_SINGLETON(ScenePropManager); auto scenePropManager = GET_SINGLETON(MoleMole_ScenePropManager);
if (scenePropManager == nullptr) if (scenePropManager == nullptr)
{ {
ImGui::Text("Scene prop manager not loaded."); ImGui::Text("Scene prop manager not loaded.");
@ -979,13 +979,13 @@ namespace cheat::feature
auto config = tree->fields._config->fields; auto config = tree->fields._config->fields;
auto pattern = config._._.scenePropPatternName; auto pattern = config._._.scenePropPatternName;
app::ECGLPBEEEAA__Enum value; app::MoleMole_Config_TreeType__Enum value;
bool result = app::ScenePropManager_GetTreeTypeByPattern(scenePropManager, pattern, &value, nullptr); bool result = app::MoleMole_ScenePropManager_GetTreeTypeByPattern(scenePropManager, pattern, &value, nullptr);
if (!result) if (!result)
continue; continue;
ImGui::Text("Tree at %s, type: %s, distance %0.3f", il2cppi_to_string(pos).c_str(), magic_enum::enum_name(value).data(), 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)));
} }
} }
@ -1033,7 +1033,7 @@ namespace cheat::feature
nlohmann::json jRoot; nlohmann::json jRoot;
try { try {
jRoot =nlohmann::json::parse(fs); jRoot = nlohmann::json::parse(fs);
} }
catch (nlohmann::detail::parse_error& parseError) catch (nlohmann::detail::parse_error& parseError)
{ {
@ -1217,7 +1217,7 @@ namespace cheat::feature
void DrawFPSGraph() void DrawFPSGraph()
{ {
static float values[120] = {0}; static float values[120] = { 0 };
static int values_offset = 0; static int values_offset = 0;
values[values_offset++] = ImGui::GetIO().Framerate; values[values_offset++] = ImGui::GetIO().Framerate;
if (values_offset >= IM_ARRAYSIZE(values)) if (values_offset >= IM_ARRAYSIZE(values))

View File

@ -24,7 +24,7 @@ namespace cheat::feature
{ {
for (int i = 0; i < 4; i++) { for (int i = 0; i < 4; i++) {
LOG_TRACE("Emulating call of RecordUserData with type %d", 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) { // if (m_Enabled) {

View File

@ -24,8 +24,8 @@ namespace cheat::feature
{ {
sniffer::MessageManager::Connect("genshin_packet_pipe"); sniffer::MessageManager::Connect("genshin_packet_pipe");
HookManager::install(app::KcpNative_kcp_client_send_packet, KcpNative_kcp_client_send_packet_Hook); HookManager::install(app::Kcp_KcpNative_kcp_client_send_packet, KcpNative_kcp_client_send_packet_Hook);
HookManager::install(app::KcpClient_TryDequeueEvent, KcpClient_TryDequeueEvent_Hook); HookManager::install(app::MoleMole_KcpClient_TryDequeueEvent, KcpClient_TryDequeueEvent_Hook);
} }
const FeatureGUIInfo& PacketSniffer::GetGUIInfo() const const FeatureGUIInfo& PacketSniffer::GetGUIInfo() const
@ -183,7 +183,7 @@ namespace cheat::feature
byteArray->max_length = length; byteArray->max_length = length;
memcpy_s(byteArray->vector, length, content, length); memcpy_s(byteArray->vector, length, content, length);
app::Packet_XorEncrypt(nullptr, &byteArray, length, nullptr); app::MoleMole_Packet_XorEncrypt(&byteArray, length, nullptr);
auto result = new char[length]; auto result = new char[length];
memcpy_s(result, length, byteArray->vector, length); memcpy_s(result, length, byteArray->vector, length);
@ -249,13 +249,13 @@ namespace cheat::feature
return sniffer.OnPacketIO(evt->_evt.packet, PacketIOType::Receive); 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(); auto& sniffer = GetInstance();
if (!sniffer.OnPacketIO(packet, PacketIOType::Send)) if (!sniffer.OnPacketIO(packet, PacketIOType::Send))
return 0; 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);
} }
} }

View File

@ -49,7 +49,7 @@ namespace cheat::feature
static char* EncryptXor(void* content, uint32_t length); static char* EncryptXor(void* content, uint32_t length);
static bool KcpClient_TryDequeueEvent_Hook(void* __this, app::ClientKcpEvent* evt, MethodInfo* method); 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); bool OnPacketIO(app::KcpPacket_1* packet, PacketIOType type);
}; };

View File

@ -6,13 +6,13 @@
namespace cheat::feature namespace cheat::feature
{ {
static bool Miscs_CheckTargetAttackable_Hook(void* __this, app::BaseEntity* attacker, app::BaseEntity* target, MethodInfo* method); static bool Miscs_CheckTargetAttackable_Hook(app::BaseEntity* attacker, app::BaseEntity* target, MethodInfo* method);
static void VCHumanoidMove_NotifyLandVelocity_Hook(app::VCHumanoidMove* __this, app::Vector3 velocity, float reachMaxDownVelocityTime, MethodInfo* method); static void VCHumanoidMove_NotifyLandVelocity_Hook(app::VCHumanoidMove* __this, app::Vector3 velocity, float reachMaxDownVelocityTime, MethodInfo* method);
GodMode::GodMode() : Feature(), GodMode::GodMode() : Feature(),
NFEX(f_Enabled, "God mode", "m_GodMode", "Player", false, false) NFEX(f_Enabled, "God mode", "m_GodMode", "Player", false, false)
{ {
// HookManager::install(app::LCBaseCombat_FireBeingHitEvent, LCBaseCombat_FireBeingHitEvent_Hook); // HookManager::install(app::MoleMole_LCBaseCombat_FireBeingHitEvent, LCBaseCombat_FireBeingHitEvent_Hook);
HookManager::install(app::VCHumanoidMove_NotifyLandVelocity, VCHumanoidMove_NotifyLandVelocity_Hook); HookManager::install(app::VCHumanoidMove_NotifyLandVelocity, VCHumanoidMove_NotifyLandVelocity_Hook);
HookManager::install(app::Miscs_CheckTargetAttackable, Miscs_CheckTargetAttackable_Hook); HookManager::install(app::Miscs_CheckTargetAttackable, Miscs_CheckTargetAttackable_Hook);
} }
@ -47,7 +47,7 @@ namespace cheat::feature
} }
// Attack immunity (return false when target is avatar, that mean avatar entity isn't attackable) // Attack immunity (return false when target is avatar, that mean avatar entity isn't attackable)
static bool Miscs_CheckTargetAttackable_Hook(void* __this, app::BaseEntity* attacker, app::BaseEntity* target, MethodInfo* method) static bool Miscs_CheckTargetAttackable_Hook(app::BaseEntity* attacker, app::BaseEntity* target, MethodInfo* method)
{ {
auto& gm = GodMode::GetInstance(); auto& gm = GodMode::GetInstance();
auto& manager = game::EntityManager::instance(); auto& manager = game::EntityManager::instance();
@ -55,7 +55,7 @@ namespace cheat::feature
if (gm.f_Enabled && entity->isAvatar()) if (gm.f_Enabled && entity->isAvatar())
return false; return false;
return CALL_ORIGIN(Miscs_CheckTargetAttackable_Hook, __this, attacker, target, method); return CALL_ORIGIN(Miscs_CheckTargetAttackable_Hook, attacker, target, method);
} }
// Raised when avatar fall on ground. // Raised when avatar fall on ground.

View File

@ -11,7 +11,7 @@ namespace cheat::feature
NF(f_Enabled, "Infinite stamina", "InfiniteStamina", false), NF(f_Enabled, "Infinite stamina", "InfiniteStamina", false),
NF(f_PacketReplacement, "Move sync packet replacement", "InfiniteStamina", false) NF(f_PacketReplacement, "Move sync packet replacement", "InfiniteStamina", false)
{ {
HookManager::install(app::DataItem_HandleNormalProp, DataItem_HandleNormalProp_Hook); HookManager::install(app::MoleMole_DataItem_HandleNormalProp, DataItem_HandleNormalProp_Hook);
events::MoveSyncEvent += MY_METHOD_HANDLER(InfiniteStamina::OnMoveSync); events::MoveSyncEvent += MY_METHOD_HANDLER(InfiniteStamina::OnMoveSync);
} }

View File

@ -23,11 +23,11 @@ namespace cheat::feature
NF(f_Sprint, "No Sprint Cooldown", "NoCD", false), NF(f_Sprint, "No Sprint Cooldown", "NoCD", false),
NF(f_InstantBow, "Instant bow", "NoCD", false) NF(f_InstantBow, "Instant bow", "NoCD", false)
{ {
HookManager::install(app::LCAvatarCombat_IsEnergyMax, LCAvatarCombat_IsEnergyMax_Hook); HookManager::install(app::MoleMole_LCAvatarCombat_IsEnergyMax, LCAvatarCombat_IsEnergyMax_Hook);
HookManager::install(app::LCAvatarCombat_IsSkillInCD_1, LCAvatarCombat_IsSkillInCD_1); HookManager::install(app::MoleMole_LCAvatarCombat_IsSkillInCD_1, LCAvatarCombat_IsSkillInCD_1);
HookManager::install(app::HumanoidMoveFSM_CheckSprintCooldown, HumanoidMoveFSM_CheckSprintCooldown_Hook); HookManager::install(app::MoleMole_HumanoidMoveFSM_CheckSprintCooldown, HumanoidMoveFSM_CheckSprintCooldown_Hook);
HookManager::install(app::ActorAbilityPlugin_AddDynamicFloatWithRange, ActorAbilityPlugin_AddDynamicFloatWithRange_Hook); HookManager::install(app::MoleMole_ActorAbilityPlugin_AddDynamicFloatWithRange, ActorAbilityPlugin_AddDynamicFloatWithRange_Hook);
} }
const FeatureGUIInfo& NoCD::GetGUIInfo() const const FeatureGUIInfo& NoCD::GetGUIInfo() const
@ -128,11 +128,11 @@ namespace cheat::feature
NoCD& noCD = NoCD::GetInstance(); NoCD& noCD = NoCD::GetInstance();
if (noCD.f_AbilityReduce) if (noCD.f_AbilityReduce)
{ {
auto cdTimer = app::SafeFloat_GetValue(nullptr, skillInfo->fields.cdTimer, nullptr); auto cdTimer = app::MoleMole_SafeFloat_get_Value(skillInfo->fields.cdTimer, nullptr);
if (cdTimer > noCD.f_TimerReduce * 5.0f) 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::MoleMole_SafeFloat_set_Value(noCD.f_TimerReduce * 5.0f, nullptr);
skillInfo->fields.cdTimer = MyValueProtect; skillInfo->fields.cdTimer = MyValueProtect;
} }
} }

View File

@ -22,7 +22,7 @@ namespace cheat::feature
NF(f_AltSpeedEnabled, "Alt speed enabled", "NoClip", false), NF(f_AltSpeedEnabled, "Alt speed enabled", "NoClip", false),
NF(f_AltSpeed, "Alt speed", "NoClip", 1.0f) NF(f_AltSpeed, "Alt speed", "NoClip", 1.0f)
{ {
HookManager::install(app::HumanoidMoveFSM_LateTick, HumanoidMoveFSM_LateTick_Hook); HookManager::install(app::MoleMole_HumanoidMoveFSM_LateTick, HumanoidMoveFSM_LateTick_Hook);
events::GameUpdateEvent += MY_METHOD_HANDLER(NoClip::OnGameUpdate); events::GameUpdateEvent += MY_METHOD_HANDLER(NoClip::OnGameUpdate);
events::MoveSyncEvent += MY_METHOD_HANDLER(NoClip::OnMoveSync); events::MoveSyncEvent += MY_METHOD_HANDLER(NoClip::OnMoveSync);
@ -154,7 +154,7 @@ namespace cheat::feature
if (IsVectorZero(prevPos)) if (IsVectorZero(prevPos))
return; return;
float deltaTime = app::Time_get_deltaTime(nullptr, nullptr); float deltaTime = app::Time_get_deltaTime(nullptr);
app::Vector3 newPos = prevPos + dir * speed * deltaTime; app::Vector3 newPos = prevPos + dir * speed * deltaTime;
if (!f_VelocityMode) if (!f_VelocityMode)

View File

@ -22,7 +22,7 @@ namespace cheat::feature
NF(f_MultiTarget, "Multi-target", "RapidFire", false), NF(f_MultiTarget, "Multi-target", "RapidFire", false),
NF(f_MultiTargetRadius, "Multi-target Radius", "RapidFire", 20.0f) NF(f_MultiTargetRadius, "Multi-target Radius", "RapidFire", 20.0f)
{ {
HookManager::install(app::LCBaseCombat_DoHitEntity, LCBaseCombat_DoHitEntity_Hook); HookManager::install(app::MoleMole_LCBaseCombat_DoHitEntity, LCBaseCombat_DoHitEntity_Hook);
} }
const FeatureGUIInfo& RapidFire::GetGUIInfo() const const FeatureGUIInfo& RapidFire::GetGUIInfo() const
@ -121,7 +121,7 @@ namespace cheat::feature
return f_Multiplier; return f_Multiplier;
auto safeHP = baseCombat->fields._combatProperty_k__BackingField->fields.HP; auto safeHP = baseCombat->fields._combatProperty_k__BackingField->fields.HP;
auto HP = app::SafeFloat_GetValue(nullptr, safeHP, nullptr); auto HP = app::MoleMole_SafeFloat_get_Value(safeHP, nullptr);
int attackCount = (int)ceil(HP / attackDamage); int attackCount = (int)ceil(HP / attackDamage);
return std::clamp(attackCount, 1, 200); return std::clamp(attackCount, 1, 200);
} }
@ -140,7 +140,7 @@ namespace cheat::feature
int countOfAttacks = f_Multiplier; int countOfAttacks = f_Multiplier;
if (f_OnePunch) if (f_OnePunch)
{ {
app::Formula_CalcAttackResult(targetEntity, combat->fields._combatProperty_k__BackingField, app::MoleMole_Formula_CalcAttackResult(combat->fields._combatProperty_k__BackingField,
baseCombat->fields._combatProperty_k__BackingField, baseCombat->fields._combatProperty_k__BackingField,
attackResult, manager.avatar()->raw(), targetEntity->raw(), nullptr); attackResult, manager.avatar()->raw(), targetEntity->raw(), nullptr);
countOfAttacks = CalcCountToKill(attackResult->fields.damage, targetID); countOfAttacks = CalcCountToKill(attackResult->fields.damage, targetID);
@ -162,7 +162,7 @@ namespace cheat::feature
while (entity.isGadget()) while (entity.isGadget())
{ {
game::Entity temp = entity; game::Entity temp = entity;
entity = game::Entity(app::GadgetEntity_GetOwnerEntity(reinterpret_cast<app::GadgetEntity*>(entity.raw()), nullptr)); entity = game::Entity(app::MoleMole_GadgetEntity_GetOwnerEntity(reinterpret_cast<app::GadgetEntity*>(entity.raw()), nullptr));
if (entity.runtimeID() == avatarID) if (entity.runtimeID() == avatarID)
return true; return true;
} }

View File

@ -30,7 +30,7 @@ namespace cheat::feature
static std::string teleportName; static std::string teleportName;
ImGui::InputText("Teleport name", &teleportName); ImGui::InputText("Teleport name", &teleportName);
static std::vector<std::pair<std::string, app::Vector3>> teleports; 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")) if (ImGui::Button("Add teleport"))
{ {
// check if already added // check if already added

View File

@ -10,12 +10,12 @@ namespace cheat::feature
{ {
static void InLevelMapPageContext_OnMapClicked_Hook(app::InLevelMapPageContext* __this, app::Vector2 screenPos, MethodInfo* method); 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 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 bool LoadingManager_NeedTransByServer_Hook(app::MoleMole_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, static void LoadingManager_PerformPlayerTransmit_Hook(app::MoleMole_LoadingManager* __this, app::Vector3 position, app::EnterType__Enum someEnum,
uint32_t someUint1, app::CMHGHBNDBMG_ECPNDLCPDIE__Enum teleportType, uint32_t someUint2, MethodInfo* method); 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(), MapTeleport::MapTeleport() : Feature(),
NF(f_Enabled, "Map teleport", "MapTeleport", false), NF(f_Enabled, "Map teleport", "MapTeleport", false),
@ -24,25 +24,25 @@ namespace cheat::feature
NF(f_Key, "Teleport key", "MapTeleport", Hotkey('T')) NF(f_Key, "Teleport key", "MapTeleport", Hotkey('T'))
{ {
// Map touch // Map touch
HookManager::install(app::InLevelMapPageContext_OnMarkClicked, InLevelMapPageContext_OnMarkClicked_Hook); HookManager::install(app::MoleMole_InLevelMapPageContext_OnMarkClicked, InLevelMapPageContext_OnMarkClicked_Hook);
HookManager::install(app::InLevelMapPageContext_OnMapClicked, InLevelMapPageContext_OnMapClicked_Hook); HookManager::install(app::MoleMole_InLevelMapPageContext_OnMapClicked, InLevelMapPageContext_OnMapClicked_Hook);
// Stage 1 // Stage 1
HookManager::install(app::LocalEntityInfoData_GetTargetPos, LocalEntityInfoData_GetTargetPos_Hook); HookManager::install(app::MoleMole_LocalEntityInfoData_get_initPos, LocalEntityInfoData_get_initPos_Hook);
HookManager::install(app::LoadingManager_NeedTransByServer, LoadingManager_NeedTransByServer_Hook); HookManager::install(app::MoleMole_LoadingManager_NeedTransByServer, LoadingManager_NeedTransByServer_Hook);
// Stage 2 // Stage 2
HookManager::install(app::LoadingManager_PerformPlayerTransmit, LoadingManager_PerformPlayerTransmit_Hook); HookManager::install(app::MoleMole_LoadingManager_PerformPlayerTransmit, LoadingManager_PerformPlayerTransmit_Hook);
// Stage 3 // Stage 3
HookManager::install(app::Entity_SetPosition, Entity_SetPosition_Hook); HookManager::install(app::MoleMole_BaseEntity_SetRelativePosition, Entity_SetRelativePosition_Hook);
events::GameUpdateEvent += MY_METHOD_HANDLER(MapTeleport::OnGameUpdate); events::GameUpdateEvent += MY_METHOD_HANDLER(MapTeleport::OnGameUpdate);
} }
const FeatureGUIInfo& MapTeleport::GetGUIInfo() const const FeatureGUIInfo& MapTeleport::GetGUIInfo() const
{ {
static const FeatureGUIInfo info { "Map Teleport", "Teleport", true }; static const FeatureGUIInfo info{ "Map Teleport", "Teleport", true };
return info; return info;
} }
@ -88,8 +88,8 @@ namespace cheat::feature
if (taskInfo.waitingThread) if (taskInfo.waitingThread)
{ {
taskInfo.waitingThread = false; taskInfo.waitingThread = false;
auto someSingleton = GET_SINGLETON(LoadingManager); auto someSingleton = GET_SINGLETON(MoleMole_LoadingManager);
app::LoadingManager_RequestSceneTransToPoint(someSingleton, taskInfo.sceneId, taskInfo.waypointId, nullptr, nullptr); app::MoleMole_LoadingManager_RequestSceneTransToPoint(someSingleton, taskInfo.sceneId, taskInfo.waypointId, nullptr, nullptr);
} }
} }
@ -99,7 +99,7 @@ namespace cheat::feature
{ {
LOG_DEBUG("Stage 0. Target location at %s", il2cppi_to_string(position).c_str()); 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); auto nearestWaypoint = game::FindNearestWaypoint(position, sceneId);
if (nearestWaypoint.data == nullptr) if (nearestWaypoint.data == nullptr)
@ -109,7 +109,7 @@ namespace cheat::feature
} }
else 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.", LOG_DEBUG("Stage 0. Found nearest waypoint { sceneId: %d; waypointId: %d } with distance %fm.",
nearestWaypoint.sceneId, nearestWaypoint.waypointId, dist); nearestWaypoint.sceneId, nearestWaypoint.waypointId, dist);
} }
@ -122,7 +122,7 @@ namespace cheat::feature
if (!mapBackground) if (!mapBackground)
return false; return false;
auto uimanager = GET_SINGLETON(UIManager_1); auto uimanager = GET_SINGLETON(MoleMole_UIManager);
if (uimanager == nullptr) if (uimanager == nullptr)
return false; return false;
@ -149,10 +149,10 @@ namespace cheat::feature
void MapTeleport::TeleportTo(app::Vector2 mapPosition) 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 relativePos = app::WorldShiftManager_GetRelativePosition(worldPosition, nullptr);
auto groundHeight = app::Miscs_CalcCurrentGroundHeight(nullptr, relativePos.x, relativePos.z, 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()); TeleportTo({ worldPosition.x, groundHeight > 0 ? groundHeight + 5 : f_DefaultHeight, worldPosition.z }, true, game::GetCurrentMapSceneID());
} }
@ -232,17 +232,17 @@ namespace cheat::feature
if (taskInfo.needHeightCalculation) if (taskInfo.needHeightCalculation)
{ {
auto relativePos = app::WorldShiftManager_GetRelativePosition(nullptr, position, nullptr); auto relativePos = app::WorldShiftManager_GetRelativePosition(position, nullptr);
float groundHeight; float groundHeight;
switch (taskInfo.sceneId) 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 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, groundHeight = app::Miscs_CalcCurrentGroundHeight_1(relativePos.x, relativePos.z, originPosition.y, 100,
app::Miscs_GetSceneGroundLayerMask(nullptr, nullptr), nullptr); app::Miscs_GetSceneGroundLayerMask(nullptr), nullptr);
break; break;
default: default:
groundHeight = app::Miscs_CalcCurrentGroundWaterHeight(nullptr, relativePos.x, relativePos.z, nullptr); groundHeight = app::Miscs_CalcCurrentGroundWaterHeight(relativePos.x, relativePos.z, nullptr);
break; break;
} }
if (groundHeight > 0 && position.y != groundHeight) if (groundHeight > 0 && position.y != groundHeight)
@ -257,9 +257,9 @@ 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& mapTeleport = MapTeleport::GetInstance();
mapTeleport.OnGetTargetPos(result); mapTeleport.OnGetTargetPos(result);
@ -267,7 +267,7 @@ namespace cheat::feature
return result; return result;
} }
static bool LoadingManager_NeedTransByServer_Hook(app::LoadingManager* __this, uint32_t sceneId, app::Vector3 position, MethodInfo* method) static bool LoadingManager_NeedTransByServer_Hook(app::MoleMole_LoadingManager* __this, uint32_t sceneId, app::Vector3 position, MethodInfo* method)
{ {
auto result = CALL_ORIGIN(LoadingManager_NeedTransByServer_Hook, __this, sceneId, position, method); auto result = CALL_ORIGIN(LoadingManager_NeedTransByServer_Hook, __this, sceneId, position, method);
@ -278,8 +278,8 @@ namespace cheat::feature
} }
static void LoadingManager_PerformPlayerTransmit_Hook(app::LoadingManager* __this, app::Vector3 position, app::EnterType__Enum someEnum, static void LoadingManager_PerformPlayerTransmit_Hook(app::MoleMole_LoadingManager* __this, app::Vector3 position, app::EnterType__Enum someEnum,
uint32_t someUint1, app::CMHGHBNDBMG_ECPNDLCPDIE__Enum teleportType, uint32_t someUint2, MethodInfo* method) uint32_t someUint1, app::EvtTransmitAvatar_EvtTransmitAvatar_TransmitType__Enum teleportType, uint32_t someUint2, MethodInfo* method)
{ {
MapTeleport& mapTeleport = MapTeleport::GetInstance(); MapTeleport& mapTeleport = MapTeleport::GetInstance();
mapTeleport.OnPerformPlayerTransmit(position); mapTeleport.OnPerformPlayerTransmit(position);
@ -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(); auto& manager = game::EntityManager::instance();
if (manager.avatar()->raw() == __this) if (manager.avatar()->raw() == __this)
@ -297,7 +297,7 @@ namespace cheat::feature
mapTeleport.OnSetAvatarPosition(position); mapTeleport.OnSetAvatarPosition(position);
} }
CALL_ORIGIN(Entity_SetPosition_Hook, __this, position, someBool, method); CALL_ORIGIN(Entity_SetRelativePosition_Hook, __this, position, someBool, method);
} }
} }

View File

@ -12,7 +12,7 @@ namespace cheat::feature
NFEX(f_Enabled, "Camera Zoom", "CameraZoom", "Visuals", false, false), NFEX(f_Enabled, "Camera Zoom", "CameraZoom", "Visuals", false, false),
NF(f_Zoom, "Zoom", "CameraZoom", 200) NF(f_Zoom, "Zoom", "CameraZoom", 200)
{ {
HookManager::install(app::SCameraModuleInitialize_SetWarningLocateRatio, SCameraModuleInitialize_SetWarningLocateRatio_Hook); HookManager::install(app::MoleMole_SCameraModuleInitialize_SetWarningLocateRatio, SCameraModuleInitialize_SetWarningLocateRatio_Hook);
} }
const FeatureGUIInfo& CameraZoom::GetGUIInfo() const const FeatureGUIInfo& CameraZoom::GetGUIInfo() const

View File

@ -11,7 +11,7 @@ namespace cheat::feature
ChestIndicator::ChestIndicator() : Feature(), ChestIndicator::ChestIndicator() : Feature(),
NF(f_Enabled, "Show Chest Indicator", "ShowChest", false) NF(f_Enabled, "Show Chest Indicator", "ShowChest", false)
{ {
HookManager::install(app::LCIndicatorPlugin_DoCheck, IndicatorPlugin_DoCheck); HookManager::install(app::MoleMole_LCIndicatorPlugin_DoCheck, IndicatorPlugin_DoCheck);
} }
const FeatureGUIInfo& ChestIndicator::GetGUIInfo() const const FeatureGUIInfo& ChestIndicator::GetGUIInfo() const
@ -48,7 +48,7 @@ namespace cheat::feature
if (__this->fields._dataItem != nullptr) if (__this->fields._dataItem != nullptr)
{ {
// Base Chest not found, try improve // Base Chest not found, try improve
app::LCIndicatorPlugin_ShowIcon(__this, nullptr); app::MoleMole_LCIndicatorPlugin_ShowIcon(__this, nullptr);
} }
} }
return CALL_ORIGIN(IndicatorPlugin_DoCheck, __this, method); return CALL_ORIGIN(IndicatorPlugin_DoCheck, __this, method);

View File

@ -6,8 +6,8 @@
namespace cheat::feature namespace cheat::feature
{ {
static void PlayerModule_RequestPlayerCook(app::PlayerModule* __this, uint32_t recipeId, uint32_t avatarId, uint32_t qteQuality, uint32_t count, MethodInfo* method); static void PlayerModule_RequestPlayerCook(app::MoleMole_PlayerModule* __this, uint32_t recipeId, uint32_t avatarId, uint32_t qteQuality, uint32_t count, MethodInfo* method);
static void PlayerModule_OnPlayerCookRsp(app::PlayerModule* __this, app::PlayerCookRsp* rsp, MethodInfo* method); static void PlayerModule_OnPlayerCookRsp(app::MoleMole_PlayerModule* __this, app::PlayerCookRsp* rsp, MethodInfo* method);
static void CookingQtePageContext_UpdateProficiency(app::CookingQtePageContext* __this, MethodInfo* method); static void CookingQtePageContext_UpdateProficiency(app::CookingQtePageContext* __this, MethodInfo* method);
static void CookingQtePageContext_SetProficiencyInfo(app::CookingQtePageContext* __this, MethodInfo* method); static void CookingQtePageContext_SetProficiencyInfo(app::CookingQtePageContext* __this, MethodInfo* method);
@ -18,9 +18,9 @@ namespace cheat::feature
NF(f_Count, "Count Item", "AutoCook", 1), NF(f_Count, "Count Item", "AutoCook", 1),
NF(f_Quality, "Quality", "AutoCook", 1) NF(f_Quality, "Quality", "AutoCook", 1)
{ {
HookManager::install(app::PlayerModule_RequestPlayerCook, PlayerModule_RequestPlayerCook); HookManager::install(app::MoleMole_PlayerModule_RequestPlayerCook, PlayerModule_RequestPlayerCook);
HookManager::install(app::PlayerModule_OnPlayerCookRsp, PlayerModule_OnPlayerCookRsp); HookManager::install(app::MoleMole_PlayerModule_OnPlayerCookRsp, PlayerModule_OnPlayerCookRsp);
HookManager::install(app::CookingQtePageContext_UpdateProficiency, CookingQtePageContext_UpdateProficiency); HookManager::install(app::MoleMole_CookingQtePageContext_UpdateProficiency, CookingQtePageContext_UpdateProficiency);
HookManager::install(app::CookRecipeExcelConfig_get_maxProficiency, CookRecipeExcelConfig_get_maxProficiency); HookManager::install(app::CookRecipeExcelConfig_get_maxProficiency, CookRecipeExcelConfig_get_maxProficiency);
} }
@ -57,7 +57,7 @@ namespace cheat::feature
// Auto Cooking | RyujinZX#6666 // Auto Cooking | RyujinZX#6666
static void PlayerModule_RequestPlayerCook(app::PlayerModule* __this, uint32_t recipeId, uint32_t avatarId, uint32_t qteQuality, uint32_t count, MethodInfo* method) static void PlayerModule_RequestPlayerCook(app::MoleMole_PlayerModule* __this, uint32_t recipeId, uint32_t avatarId, uint32_t qteQuality, uint32_t count, MethodInfo* method)
{ {
AutoCook& autoCook = AutoCook::GetInstance(); AutoCook& autoCook = AutoCook::GetInstance();
if (autoCook.f_Enabled) if (autoCook.f_Enabled)
@ -69,7 +69,7 @@ namespace cheat::feature
return CALL_ORIGIN(PlayerModule_RequestPlayerCook, __this, recipeId, avatarId, qteQuality, count, method); return CALL_ORIGIN(PlayerModule_RequestPlayerCook, __this, recipeId, avatarId, qteQuality, count, method);
} }
static void PlayerModule_OnPlayerCookRsp(app::PlayerModule* __this, app::PlayerCookRsp* rsp, MethodInfo* method) { static void PlayerModule_OnPlayerCookRsp(app::MoleMole_PlayerModule* __this, app::PlayerCookRsp* rsp, MethodInfo* method) {
AutoCook& autoCook = AutoCook::GetInstance(); AutoCook& autoCook = AutoCook::GetInstance();
if (autoCook.f_Enabled) if (autoCook.f_Enabled)
{ {
@ -99,7 +99,7 @@ namespace cheat::feature
AutoCook& autoCook = AutoCook::GetInstance(); AutoCook& autoCook = AutoCook::GetInstance();
if (autoCook.f_Enabled) if (autoCook.f_Enabled)
{ {
uint32_t maxCount = app::SimpleSafeUInt32_get_Value(nullptr, __this->fields.maxProficiencyRawNum, nullptr); uint32_t maxCount = app::MoleMole_SimpleSafeUInt32_get_Value(__this->fields.maxProficiencyRawNum, nullptr);
autoCook.CookCount = maxCount; autoCook.CookCount = maxCount;
} }
return CALL_ORIGIN(CookRecipeExcelConfig_get_maxProficiency, __this, method); return CALL_ORIGIN(CookRecipeExcelConfig_get_maxProficiency, __this, method);

View File

@ -20,7 +20,7 @@ namespace cheat::feature
NF(f_DestroyDoodads, "Destroy Doodads", "AutoDestroy", false), NF(f_DestroyDoodads, "Destroy Doodads", "AutoDestroy", false),
NF(f_Range, "Range", "AutoDestroy", 10.0f) NF(f_Range, "Range", "AutoDestroy", 10.0f)
{ {
HookManager::install(app::LCAbilityElement_ReduceModifierDurability, LCAbilityElement_ReduceModifierDurability_Hook); HookManager::install(app::MoleMole_LCAbilityElement_ReduceModifierDurability, LCAbilityElement_ReduceModifierDurability_Hook);
} }
const FeatureGUIInfo& AutoDestroy::GetGUIInfo() const const FeatureGUIInfo& AutoDestroy::GetGUIInfo() const

View File

@ -17,12 +17,12 @@ namespace cheat::feature
{ {
events::GameUpdateEvent += MY_METHOD_HANDLER(AutoFish::OnGameUpdate); events::GameUpdateEvent += MY_METHOD_HANDLER(AutoFish::OnGameUpdate);
HookManager::install(app::FishingModule_RequestFishCastRod, FishingModule_RequestFishCastRod_Hook); HookManager::install(app::MoleMole_FishingModule_RequestFishCastRod, FishingModule_RequestFishCastRod_Hook);
HookManager::install(app::FishingModule_onFishChosenNotify, FishingModule_onFishChosenNotify_Hook); HookManager::install(app::MoleMole_FishingModule_onFishChosenNotify, FishingModule_onFishChosenNotify_Hook);
HookManager::install(app::FishingModule_OnFishBiteRsp, FishingModule_OnFishBiteRsp_Hook); HookManager::install(app::MoleMole_FishingModule_OnFishBiteRsp, FishingModule_OnFishBiteRsp_Hook);
HookManager::install(app::FishingModule_OnFishBattleBeginRsp, FishingModule_OnFishBattleBeginRsp_Hook); HookManager::install(app::MoleMole_FishingModule_OnFishBattleBeginRsp, FishingModule_OnFishBattleBeginRsp_Hook);
HookManager::install(app::FishingModule_OnFishBattleEndRsp, FishingModule_OnFishBattleEndRsp_Hook); HookManager::install(app::MoleMole_FishingModule_OnFishBattleEndRsp, FishingModule_OnFishBattleEndRsp_Hook);
HookManager::install(app::FishingModule_OnExitFishingRsp, FishingModule_OnExitFishingRsp_Hook); HookManager::install(app::MoleMole_FishingModule_OnExitFishingRsp, FishingModule_OnExitFishingRsp_Hook);
} }
const FeatureGUIInfo& AutoFish::GetGUIInfo() const const FeatureGUIInfo& AutoFish::GetGUIInfo() const
@ -66,7 +66,7 @@ namespace cheat::feature
if (!autoFish.f_Enabled) if (!autoFish.f_Enabled)
return; return;
app::FishingModule_RequestFishBite(__this, nullptr); app::MoleMole_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)
@ -78,7 +78,7 @@ namespace cheat::feature
return; return;
} }
app::FishingModule_RequestFishBattleBegin(__this, nullptr); app::MoleMole_FishingModule_RequestFishBattleBegin(__this, nullptr);
} }
void AutoFish::FishingModule_OnFishBattleBeginRsp_Hook(void* __this, app::FishBattleBeginRsp* rsp, MethodInfo* method) void AutoFish::FishingModule_OnFishBattleBeginRsp_Hook(void* __this, app::FishBattleBeginRsp* rsp, MethodInfo* method)
@ -91,7 +91,7 @@ namespace cheat::feature
} }
std::lock_guard<std::mutex> catchLock(autoFish.m_BattleFinishTimestampMutex); std::lock_guard<std::mutex> catchLock(autoFish.m_BattleFinishTimestampMutex);
autoFish.m_BattleFinishTimestamp = app::GetTimestamp(nullptr, nullptr) + autoFish.f_DelayBeforeCatch; autoFish.m_BattleFinishTimestamp = app::MoleMole_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)
@ -115,7 +115,7 @@ namespace cheat::feature
{ {
LOG_WARNING("Failed to catch fish, retrying in %u ms", autoFish.f_DelayBeforeCatch); LOG_WARNING("Failed to catch fish, retrying in %u ms", autoFish.f_DelayBeforeCatch);
std::lock_guard<std::mutex> catchLock(autoFish.m_BattleFinishTimestampMutex); std::lock_guard<std::mutex> catchLock(autoFish.m_BattleFinishTimestampMutex);
autoFish.m_BattleFinishTimestamp = app::GetTimestamp(nullptr, nullptr) + autoFish.f_DelayBeforeCatch; autoFish.m_BattleFinishTimestamp = app::MoleMole_TimeUtil_get_NowTimeStamp(nullptr) + autoFish.f_DelayBeforeCatch;
return; return;
} }
@ -123,7 +123,7 @@ namespace cheat::feature
return; return;
std::lock_guard<std::mutex> _lock(autoFish.m_RecastTimestampMutex); std::lock_guard<std::mutex> _lock(autoFish.m_RecastTimestampMutex);
autoFish.m_RecastTimestamp = app::GetTimestamp(nullptr, nullptr) + autoFish.f_DelayBeforeRecast; autoFish.m_RecastTimestamp = app::MoleMole_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)
@ -154,7 +154,7 @@ namespace cheat::feature
void AutoFish::OnGameUpdate() void AutoFish::OnGameUpdate()
{ {
auto timestamp = app::GetTimestamp(nullptr, nullptr); auto timestamp = app::MoleMole_TimeUtil_get_NowTimeStamp(nullptr);
std::lock_guard<std::mutex> _lock(m_BattleFinishTimestampMutex); std::lock_guard<std::mutex> _lock(m_BattleFinishTimestampMutex);
std::lock_guard<std::mutex> _lock2(m_RecastTimestampMutex); std::lock_guard<std::mutex> _lock2(m_RecastTimestampMutex);
@ -166,7 +166,7 @@ namespace cheat::feature
{ {
m_BattleFinishTimestamp = 0; m_BattleFinishTimestamp = 0;
app::FishingModule_RequestFishBattleEnd(m_LastCastData.fishingModule, app::FishBattleResult__Enum::Succ, f_DelayBeforeCatch == 4.0f, app::MoleMole_FishingModule_RequestFishBattleEnd(m_LastCastData.fishingModule, app::FishBattleResult__Enum::Succ, f_DelayBeforeCatch == 4.0f,
static_cast<float>(f_DelayBeforeCatch / 1000), nullptr); static_cast<float>(f_DelayBeforeCatch / 1000), nullptr);
} }
@ -174,7 +174,7 @@ namespace cheat::feature
{ {
m_RecastTimestamp = 0; m_RecastTimestamp = 0;
app::FishingModule_RequestFishCastRod(m_LastCastData.fishingModule, m_LastCastData.baitId, app::MoleMole_FishingModule_RequestFishCastRod(m_LastCastData.fishingModule, m_LastCastData.baitId,
m_LastCastData.rodId, m_LastCastData.pos, m_LastCastData.rodEntityId, nullptr); m_LastCastData.rodId, m_LastCastData.pos, m_LastCastData.rodEntityId, nullptr);
} }
} }

View File

@ -27,9 +27,9 @@ namespace cheat::feature
toBeLootedItems(), nextLootTime(0) toBeLootedItems(), nextLootTime(0)
{ {
// Auto loot // Auto loot
HookManager::install(app::LCSelectPickup_AddInteeBtnByID, LCSelectPickup_AddInteeBtnByID_Hook); HookManager::install(app::MoleMole_LCSelectPickup_AddInteeBtnByID, LCSelectPickup_AddInteeBtnByID_Hook);
HookManager::install(app::LCSelectPickup_IsInPosition, LCSelectPickup_IsInPosition_Hook); HookManager::install(app::MoleMole_LCSelectPickup_IsInPosition, LCSelectPickup_IsInPosition_Hook);
HookManager::install(app::LCSelectPickup_IsOutPosition, LCSelectPickup_IsOutPosition_Hook); HookManager::install(app::MoleMole_LCSelectPickup_IsOutPosition, LCSelectPickup_IsOutPosition_Hook);
events::GameUpdateEvent += MY_METHOD_HANDLER(AutoLoot::OnGameUpdate); events::GameUpdateEvent += MY_METHOD_HANDLER(AutoLoot::OnGameUpdate);
} }
@ -128,14 +128,14 @@ namespace cheat::feature
if (!f_AutoPickup) if (!f_AutoPickup)
return false; return false;
auto itemModule = GET_SINGLETON(ItemModule); auto itemModule = GET_SINGLETON(MoleMole_ItemModule);
if (itemModule == nullptr) if (itemModule == nullptr)
return false; return false;
auto entityId = entity->fields._runtimeID_k__BackingField; auto entityId = entity->fields._runtimeID_k__BackingField;
if (f_DelayTime == 0) if (f_DelayTime == 0)
{ {
app::ItemModule_PickItem(itemModule, entityId, nullptr); app::MoleMole_ItemModule_PickItem(itemModule, entityId, nullptr);
return true; return true;
} }
@ -149,7 +149,7 @@ namespace cheat::feature
if (currentTime < nextLootTime) if (currentTime < nextLootTime)
return; return;
auto entityManager = GET_SINGLETON(EntityManager); auto entityManager = GET_SINGLETON(MoleMole_EntityManager);
if (entityManager == nullptr) if (entityManager == nullptr)
return; return;
@ -199,15 +199,15 @@ namespace cheat::feature
if (!entityId) if (!entityId)
return; return;
auto itemModule = GET_SINGLETON(ItemModule); auto itemModule = GET_SINGLETON(MoleMole_ItemModule);
if (itemModule == nullptr) if (itemModule == nullptr)
return; return;
auto entity = app::EntityManager_GetValidEntity(entityManager, *entityId, nullptr); auto entity = app::MoleMole_EntityManager_GetValidEntity(entityManager, *entityId, nullptr);
if (entity == nullptr) if (entity == nullptr)
return; return;
app::ItemModule_PickItem(itemModule, *entityId, nullptr); app::MoleMole_ItemModule_PickItem(itemModule, *entityId, nullptr);
nextLootTime = currentTime + (int)f_DelayTime; nextLootTime = currentTime + (int)f_DelayTime;
} }

View File

@ -14,7 +14,7 @@ namespace cheat::feature
NF(m_Enabled, "Auto tree farm", "AutoTreeFarm", false), NF(m_Enabled, "Auto tree farm", "AutoTreeFarm", false),
NF(m_AttackDelay, "Attack delay", "AutoTreeFarm", 150), NF(m_AttackDelay, "Attack delay", "AutoTreeFarm", 150),
NF(m_RepeatDelay, "Repeat delay", "AutoTreeFarm", 500), NF(m_RepeatDelay, "Repeat delay", "AutoTreeFarm", 500),
NF(m_AttackPerTree,"Attack per tree", "AutoTreeFarm", 5), NF(m_AttackPerTree, "Attack per tree", "AutoTreeFarm", 5),
NF(m_Range, "Range", "AutoTreeFarm", 15.0f) NF(m_Range, "Range", "AutoTreeFarm", 15.0f)
{ {
events::GameUpdateEvent += MY_METHOD_HANDLER(AutoTreeFarm::OnGameUpdate); events::GameUpdateEvent += MY_METHOD_HANDLER(AutoTreeFarm::OnGameUpdate);
@ -68,7 +68,7 @@ namespace cheat::feature
std::unordered_set<app::SceneTreeObject*> GetTreeSet() std::unordered_set<app::SceneTreeObject*> GetTreeSet()
{ {
auto scenePropManager = GET_SINGLETON(ScenePropManager); auto scenePropManager = GET_SINGLETON(MoleMole_ScenePropManager);
if (scenePropManager == nullptr) if (scenePropManager == nullptr)
return {}; return {};
@ -126,13 +126,13 @@ namespace cheat::feature
static std::unordered_set<app::SceneTreeObject*> s_AttackQueueSet; static std::unordered_set<app::SceneTreeObject*> s_AttackQueueSet;
static uint64_t s_LastAttackTimestamp = 0; static uint64_t s_LastAttackTimestamp = 0;
uint64_t timestamp = app::GetTimestamp(nullptr, nullptr); uint64_t timestamp = app::MoleMole_TimeUtil_get_NowTimeStamp(nullptr);
if (!m_Enabled || s_LastAttackTimestamp + m_AttackDelay > timestamp) if (!m_Enabled || s_LastAttackTimestamp + m_AttackDelay > timestamp)
return; return;
auto& manager = game::EntityManager::instance(); auto& manager = game::EntityManager::instance();
auto scenePropManager = GET_SINGLETON(ScenePropManager); auto scenePropManager = GET_SINGLETON(MoleMole_ScenePropManager);
auto networkManager = GET_SINGLETON(NetworkManager_1); auto networkManager = GET_SINGLETON(MoleMole_NetworkManager);
if (networkManager == nullptr || scenePropManager == nullptr) if (networkManager == nullptr || scenePropManager == nullptr)
return; return;
@ -146,7 +146,7 @@ namespace cheat::feature
continue; continue;
auto position = tree->fields._.realBounds.m_Center; 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; continue;
s_AttackQueueSet.insert(tree); s_AttackQueueSet.insert(tree);
@ -163,12 +163,12 @@ namespace cheat::feature
continue; continue;
auto position = tree->fields._.realBounds.m_Center; 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; continue;
app::ECGLPBEEEAA__Enum treeType; app::MoleMole_Config_TreeType__Enum treeType;
auto pattern = tree->fields._config->fields._._.scenePropPatternName; auto pattern = tree->fields._config->fields._._.scenePropPatternName;
if (!app::ScenePropManager_GetTreeTypeByPattern(scenePropManager, pattern, &treeType, nullptr)) if (!app::MoleMole_ScenePropManager_GetTreeTypeByPattern(scenePropManager, pattern, &treeType, nullptr))
continue; continue;
if (m_AttackPerTree > 0) if (m_AttackPerTree > 0)
@ -183,7 +183,7 @@ namespace cheat::feature
} }
tree->fields._lastTreeDropTimeStamp = timestamp; tree->fields._lastTreeDropTimeStamp = timestamp;
app::NetworkManager_1_RequestHitTreeDropNotify(networkManager, position, position, treeType, nullptr); app::MoleMole_NetworkManager_RequestHitTreeDropNotify(networkManager, position, position, treeType, nullptr);
break; break;
} }

View File

@ -16,8 +16,8 @@ namespace cheat::feature
NF(f_FastDialog, "Fast dialog", "AutoTalk", false), NF(f_FastDialog, "Fast dialog", "AutoTalk", false),
NF(f_TimeSpeedup, "Time Speed", "AutoTalk", 5.0f) NF(f_TimeSpeedup, "Time Speed", "AutoTalk", 5.0f)
{ {
HookManager::install(app::InLevelCutScenePageContext_UpdateView, InLevelCutScenePageContext_UpdateView_Hook); HookManager::install(app::MoleMole_InLevelCutScenePageContext_UpdateView, InLevelCutScenePageContext_UpdateView_Hook);
HookManager::install(app::InLevelCutScenePageContext_ClearView, InLevelCutScenePageContext_ClearView_Hook); HookManager::install(app::MoleMole_InLevelCutScenePageContext_ClearView, InLevelCutScenePageContext_ClearView_Hook);
} }
const FeatureGUIInfo& DialogSkip::GetGUIInfo() const const FeatureGUIInfo& DialogSkip::GetGUIInfo() const
@ -77,7 +77,7 @@ namespace cheat::feature
return; return;
if (f_FastDialog) if (f_FastDialog)
app::Time_set_timeScale(nullptr, f_TimeSpeedup, nullptr); app::Time_set_timeScale(f_TimeSpeedup, nullptr);
bool isImportant = false; bool isImportant = false;
if (f_ExcludeImportant) if (f_ExcludeImportant)
@ -107,11 +107,11 @@ namespace cheat::feature
{ {
int32_t value = 0; int32_t value = 0;
auto object = il2cpp_value_box((Il2CppClass*)*app::Int32__TypeInfo, &value); auto object = il2cpp_value_box((Il2CppClass*)*app::Int32__TypeInfo, &value);
auto notify = app::Notify_CreateNotify_1(nullptr, app::AJAPIFPNFKP__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, &notify, nullptr); app::MoleMole_TalkDialogContext_OnDialogSelectItem(talkDialog, &notify, nullptr);
} }
else if (!talkDialog->fields._inSelect) else if (!talkDialog->fields._inSelect)
app::InLevelCutScenePageContext_OnFreeClick(context, nullptr); app::MoleMole_InLevelCutScenePageContext_OnFreeClick(context, nullptr);
} }
static void InLevelCutScenePageContext_UpdateView_Hook(app::InLevelCutScenePageContext* __this, MethodInfo* method) static void InLevelCutScenePageContext_UpdateView_Hook(app::InLevelCutScenePageContext* __this, MethodInfo* method)
@ -126,9 +126,9 @@ namespace cheat::feature
// Should be a better way to store the pre-dialog speed using Time_get_timeScale. // 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) 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) 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); CALL_ORIGIN(InLevelCutScenePageContext_ClearView_Hook, __this, method);
} }
} }

View File

@ -10,7 +10,7 @@ namespace cheat::feature
DumbEnemies::DumbEnemies() : Feature(), DumbEnemies::DumbEnemies() : Feature(),
NF(f_Enabled, "Dumb Enemies", "DumbEnemies", false) NF(f_Enabled, "Dumb Enemies", "DumbEnemies", false)
{ {
HookManager::install(app::VCMonsterAIController_TryDoSkill, VCMonsterAIController_TryDoSkill_Hook); HookManager::install(app::MoleMole_VCMonsterAIController_TryDoSkill, VCMonsterAIController_TryDoSkill_Hook);
} }
const FeatureGUIInfo& DumbEnemies::GetGUIInfo() const const FeatureGUIInfo& DumbEnemies::GetGUIInfo() const

View File

@ -10,7 +10,7 @@ namespace cheat::feature
ElementalSight::ElementalSight() : Feature(), ElementalSight::ElementalSight() : Feature(),
NF(f_Enabled, "Permanent Elemental Sight", "ElementalSight", false) NF(f_Enabled, "Permanent Elemental Sight", "ElementalSight", false)
{ {
HookManager::install(app::LevelSceneElementViewPlugin_Tick, LevelSceneElementViewPlugin_Tick_Hook); HookManager::install(app::MoleMole_LevelSceneElementViewPlugin_Tick, LevelSceneElementViewPlugin_Tick_Hook);
} }
const FeatureGUIInfo& ElementalSight::GetGUIInfo() const const FeatureGUIInfo& ElementalSight::GetGUIInfo() const
@ -45,7 +45,7 @@ namespace cheat::feature
{ {
ElementalSight& ElementalSight = ElementalSight::GetInstance(); ElementalSight& ElementalSight = ElementalSight::GetInstance();
if (ElementalSight.f_Enabled) if (ElementalSight.f_Enabled)
__this->fields.elementalSightActivated = true; __this->fields._triggerElementView = true;
CALL_ORIGIN(LevelSceneElementViewPlugin_Tick_Hook, __this, inDeltaTime, method); CALL_ORIGIN(LevelSceneElementViewPlugin_Tick_Hook, __this, inDeltaTime, method);
} }
} }

View File

@ -23,7 +23,7 @@ namespace cheat::feature
NF(f_RepeatDelay, "Repeat delay time (in ms)", "KillAura", 1000) NF(f_RepeatDelay, "Repeat delay time (in ms)", "KillAura", 1000)
{ {
events::GameUpdateEvent += MY_METHOD_HANDLER(KillAura::OnGameUpdate); events::GameUpdateEvent += MY_METHOD_HANDLER(KillAura::OnGameUpdate);
HookManager::install(app::BaseMoveSyncPlugin_ConvertSyncTaskToMotionInfo, BaseMoveSyncPlugin_ConvertSyncTaskToMotionInfo_Hook); HookManager::install(app::MoleMole_BaseMoveSyncPlugin_ConvertSyncTaskToMotionInfo, BaseMoveSyncPlugin_ConvertSyncTaskToMotionInfo_Hook);
} }
const FeatureGUIInfo& KillAura::GetGUIInfo() const const FeatureGUIInfo& KillAura::GetGUIInfo() const
@ -84,8 +84,8 @@ namespace cheat::feature
if (!f_Enabled || !f_DamageMode) if (!f_Enabled || !f_DamageMode)
return; return;
auto eventManager = GET_SINGLETON(EventManager); auto eventManager = GET_SINGLETON(MoleMole_EventManager);
if (eventManager == nullptr || *app::CreateCrashEvent__MethodInfo == nullptr) if (eventManager == nullptr || *app::MoleMole_EventHelper_Allocate_103__MethodInfo == nullptr)
return; return;
auto currentTime = util::GetCurrentTimeMillisec(); auto currentTime = util::GetCurrentTimeMillisec();
@ -112,10 +112,10 @@ namespace cheat::feature
if (combatProp == nullptr) if (combatProp == nullptr)
continue; continue;
auto maxHP = app::SafeFloat_GetValue(nullptr, combatProp->fields.maxHP, nullptr); auto maxHP = app::MoleMole_SafeFloat_get_Value(combatProp->fields.maxHP, nullptr);
auto isLockHp = combatProp->fields.islockHP == nullptr || app::FixedBoolStack_get_value(combatProp->fields.islockHP, nullptr); auto isLockHp = combatProp->fields.islockHP == nullptr || app::MoleMole_FixedBoolStack_get_value(combatProp->fields.islockHP, nullptr);
auto isInvincible = combatProp->fields.isInvincible == nullptr || app::FixedBoolStack_get_value(combatProp->fields.isInvincible, nullptr); auto isInvincible = combatProp->fields.isInvincible == nullptr || app::MoleMole_FixedBoolStack_get_value(combatProp->fields.isInvincible, nullptr);
auto HP = app::SafeFloat_GetValue(nullptr, combatProp->fields.HP, nullptr); auto HP = app::MoleMole_SafeFloat_get_Value(combatProp->fields.HP, nullptr);
if (maxHP < 10 || HP < 2 || isLockHp || isInvincible) if (maxHP < 10 || HP < 2 || isLockHp || isInvincible)
continue; continue;
@ -151,15 +151,15 @@ namespace cheat::feature
attackSet.erase(monster->runtimeID()); attackSet.erase(monster->runtimeID());
auto combat = monster->combat(); auto combat = monster->combat();
auto maxHP = app::SafeFloat_GetValue(nullptr, combat->fields._combatProperty_k__BackingField->fields.maxHP, nullptr); auto maxHP = app::MoleMole_SafeFloat_get_Value(combat->fields._combatProperty_k__BackingField->fields.maxHP, nullptr);
auto crashEvt = app::CreateCrashEvent(nullptr, *app::CreateCrashEvent__MethodInfo); auto crashEvt = app::MoleMole_EventHelper_Allocate_103(*app::MoleMole_EventHelper_Allocate_103__MethodInfo);
app::EvtCrash_Init(crashEvt, monster->runtimeID(), nullptr); app::MoleMole_EvtCrash_Init(crashEvt, monster->runtimeID(), nullptr);
crashEvt->fields.maxHp = maxHP; crashEvt->fields.maxHp = maxHP;
crashEvt->fields.velChange = 1000; crashEvt->fields.velChange = 1000;
crashEvt->fields.hitPos = monster->absolutePosition(); crashEvt->fields.hitPos = monster->absolutePosition();
app::EventManager_FireEvent(eventManager, reinterpret_cast<app::BaseEvent*>(crashEvt), false, nullptr); app::MoleMole_EventManager_FireEvent(eventManager, reinterpret_cast<app::BaseEvent*>(crashEvt), false, nullptr);
monsterRepeatTimeMap[monster->runtimeID()] = currentTime + (int)f_RepeatDelay + distribution(generator); monsterRepeatTimeMap[monster->runtimeID()] = currentTime + (int)f_RepeatDelay + distribution(generator);

View File

@ -178,14 +178,14 @@ namespace cheat::feature
uint32_t entityId = entity->runtimeID(); uint32_t entityId = entity->runtimeID();
app::Vector3 entityRelPos = positions->count(entityId) ? (*positions)[entityId] : entity->relativePosition(); app::Vector3 entityRelPos = positions->count(entityId) ? (*positions)[entityId] : entity->relativePosition();
app::Vector3 newPosition = {}; app::Vector3 newPosition = {};
if (app::Vector3_Distance(nullptr, entityRelPos, targetPos, nullptr) < 0.1) if (app::Vector3_Distance(entityRelPos, targetPos, nullptr) < 0.1)
{ {
newPosition = targetPos; newPosition = targetPos;
} }
else else
{ {
app::Vector3 dir = GetVectorDirection(entityRelPos, targetPos); 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; newPosition = entityRelPos + dir * f_Speed * deltaTime;
} }
@ -213,7 +213,7 @@ namespace cheat::feature
app::Vector3 targetPos = CalcMobVacTargetPos(); app::Vector3 targetPos = CalcMobVacTargetPos();
app::Vector3 entityPos = entity->relativePosition(); 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; return;
app::Vector3 dir = GetVectorDirection(targetPos, entityPos); app::Vector3 dir = GetVectorDirection(targetPos, entityPos);