Merge branch 'master' into vacuum-change

This commit is contained in:
biswop 2022-07-14 11:45:29 +10:00 committed by GitHub
commit bccdd9736c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
32 changed files with 2127 additions and 2118 deletions

View File

@ -70,7 +70,6 @@ As well as setting up **`cheat-library`** as startup project.
- Auto Fish - Auto Fish
- Kill Aura - Kill Aura
- Mob Vacuum - Mob Vacuum
- Music Event (temporary)
#### Teleport #### Teleport
- Chest/Oculi Teleport (Teleports to nearest) - Chest/Oculi Teleport (Teleports to nearest)
@ -89,6 +88,7 @@ As well as setting up **`cheat-library`** as startup project.
- In-game Embedded Browser - In-game Embedded Browser
- Enable Peaking - Enable Peaking
- Profile Changer - Profile Changer
- Free Camera
- Texture Changer - Texture Changer
- Paimon Follow - Paimon Follow

View File

@ -82,10 +82,10 @@ static IDXGISwapChainPresent findDirect11Present()
ID3D11DeviceContext* pContext = nullptr; ID3D11DeviceContext* pContext = nullptr;
ID3D11Device* pDevice = nullptr; ID3D11Device* pDevice = nullptr;
if (/*FAILED(D3D11CreateDeviceAndSwapChain(NULL, D3D_DRIVER_TYPE_WARP, NULL, NULL, &featureLevel, 1, if (FAILED(D3D11CreateDeviceAndSwapChain(nullptr, D3D_DRIVER_TYPE_WARP, nullptr, 0, nullptr, 1, D3D11_SDK_VERSION,
D3D11_SDK_VERSION, &swapChainDesc, &pSwapChain, &pDevice, NULL, &pContext)) &&*/ &swapChainDesc, &pSwapChain, &pDevice, &featureLevel, &pContext)) &&
FAILED(D3D11CreateDeviceAndSwapChain(nullptr, D3D_DRIVER_TYPE_HARDWARE, nullptr, 0, nullptr, 0, D3D11_SDK_VERSION, FAILED(D3D11CreateDeviceAndSwapChain(nullptr, D3D_DRIVER_TYPE_HARDWARE, nullptr, 0, nullptr, 0, D3D11_SDK_VERSION,
&swapChainDesc, &pSwapChain, &pDevice, &featureLevel, nullptr))) &swapChainDesc, &pSwapChain, &pDevice, &featureLevel, &pContext)))
{ {
DestroyWindow(swapChainDesc.OutputWindow); DestroyWindow(swapChainDesc.OutputWindow);
UnregisterClass(wc.lpszClassName, GetModuleHandle(nullptr)); UnregisterClass(wc.lpszClassName, GetModuleHandle(nullptr));

View File

@ -202,6 +202,9 @@ namespace renderer
ImGui_ImplDX12_CreateDeviceObjects(); ImGui_ImplDX12_CreateDeviceObjects();
ImGui::GetIO().ImeWindowHandle = window; ImGui::GetIO().ImeWindowHandle = window;
static const std::string imguiPath = (util::GetCurrentPath() / "imgui.ini").string();
ImGui::GetIO().IniFilename = imguiPath.c_str();
io.SetPlatformImeDataFn = nullptr; // F**king bug take 4 hours of my life io.SetPlatformImeDataFn = nullptr; // F**king bug take 4 hours of my life
} }
@ -213,6 +216,8 @@ namespace renderer
ImGui::CreateContext(); ImGui::CreateContext();
ImGuiIO& io = ImGui::GetIO(); (void)io; ImGuiIO& io = ImGui::GetIO(); (void)io;
io.ConfigFlags |= ImGuiConfigFlags_NavEnableKeyboard; io.ConfigFlags |= ImGuiConfigFlags_NavEnableKeyboard;
static const std::string imguiPath = (util::GetCurrentPath() / "imgui.ini").string();
io.IniFilename = imguiPath.c_str();
LoadCustomFont(); LoadCustomFont();
SetupImGuiStyle(); SetupImGuiStyle();

View File

@ -62,6 +62,25 @@ namespace util
return (*c); return (*c);
} }
std::string GetModulePath(HMODULE hModule /*= nullptr*/)
{
char pathOut[MAX_PATH] = {};
GetModuleFileNameA(hModule, pathOut, MAX_PATH);
return std::filesystem::path(pathOut).parent_path().string();
}
static std::filesystem::path _currentPath;
void SetCurrentPath(const std::filesystem::path& current_path)
{
_currentPath = current_path;
}
std::filesystem::path GetCurrentPath()
{
return _currentPath;
}
std::optional<std::string> SelectDirectory(const char* title) std::optional<std::string> SelectDirectory(const char* title)
{ {
auto currPath = std::filesystem::current_path(); auto currPath = std::filesystem::current_path();

View File

@ -6,6 +6,7 @@
#include <vector> #include <vector>
#include <cheat-base/Logger.h> #include <cheat-base/Logger.h>
#include <filesystem>
#include <SimpleIni.h> #include <SimpleIni.h>
@ -36,6 +37,11 @@ namespace util
std::string GetLastErrorAsString(DWORD errorId = 0); std::string GetLastErrorAsString(DWORD errorId = 0);
int64_t GetCurrentTimeMillisec(); int64_t GetCurrentTimeMillisec();
std::string GetModulePath(HMODULE hModule = nullptr);
void SetCurrentPath(const std::filesystem::path& curren_path);
std::filesystem::path GetCurrentPath();
std::vector<std::string> StringSplit(const std::string& delimiter, const std::string& content); std::vector<std::string> StringSplit(const std::string& delimiter, const std::string& content);
std::string SplitWords(const std::string& value); std::string SplitWords(const std::string& value);
std::string MakeCapital(std::string value); std::string MakeCapital(std::string value);

View File

@ -20,6 +20,7 @@
<ClInclude Include="src\user\cheat\misc\sniffer\pipe\messages\PipePacketData.h" /> <ClInclude Include="src\user\cheat\misc\sniffer\pipe\messages\PipePacketData.h" />
<ClInclude Include="src\user\cheat\misc\sniffer\pipe\PipeClient.h" /> <ClInclude Include="src\user\cheat\misc\sniffer\pipe\PipeClient.h" />
<ClInclude Include="src\user\cheat\misc\sniffer\pipe\PipeIO.h" /> <ClInclude Include="src\user\cheat\misc\sniffer\pipe\PipeIO.h" />
<ClInclude Include="src\user\cheat\player\AutoRun.h" />
<ClInclude Include="src\user\cheat\visuals\TextureChanger.h" /> <ClInclude Include="src\user\cheat\visuals\TextureChanger.h" />
<ClInclude Include="src\user\cheat\visuals\FreeCamera.h" /> <ClInclude Include="src\user\cheat\visuals\FreeCamera.h" />
<ClInclude Include="src\user\cheat\world\AutoSeelie.h" /> <ClInclude Include="src\user\cheat\world\AutoSeelie.h" />
@ -96,7 +97,6 @@
<ClInclude Include="src\user\cheat\world\DumbEnemies.h" /> <ClInclude Include="src\user\cheat\world\DumbEnemies.h" />
<ClInclude Include="src\user\cheat\world\KillAura.h" /> <ClInclude Include="src\user\cheat\world\KillAura.h" />
<ClInclude Include="src\user\cheat\world\MobVacuum.h" /> <ClInclude Include="src\user\cheat\world\MobVacuum.h" />
<ClInclude Include="src\user\cheat\world\MusicEvent.h" />
<ClInclude Include="src\user\cheat\world\VacuumLoot.h" /> <ClInclude Include="src\user\cheat\world\VacuumLoot.h" />
<ClInclude Include="src\user\main.h" /> <ClInclude Include="src\user\main.h" />
</ItemGroup> </ItemGroup>
@ -110,6 +110,7 @@
<ClCompile Include="src\user\cheat\misc\sniffer\pipe\messages\PipePacketData.cpp" /> <ClCompile Include="src\user\cheat\misc\sniffer\pipe\messages\PipePacketData.cpp" />
<ClCompile Include="src\user\cheat\misc\sniffer\pipe\PipeClient.cpp" /> <ClCompile Include="src\user\cheat\misc\sniffer\pipe\PipeClient.cpp" />
<ClCompile Include="src\user\cheat\misc\sniffer\pipe\PipeIO.cpp" /> <ClCompile Include="src\user\cheat\misc\sniffer\pipe\PipeIO.cpp" />
<ClCompile Include="src\user\cheat\player\AutoRun.cpp" />
<ClCompile Include="src\user\cheat\visuals\TextureChanger.cpp" /> <ClCompile Include="src\user\cheat\visuals\TextureChanger.cpp" />
<ClCompile Include="src\user\cheat\visuals\FreeCamera.cpp" /> <ClCompile Include="src\user\cheat\visuals\FreeCamera.cpp" />
<ClCompile Include="src\user\cheat\world\AutoSeelie.cpp" /> <ClCompile Include="src\user\cheat\world\AutoSeelie.cpp" />
@ -183,7 +184,6 @@
<ClCompile Include="src\user\cheat\world\DumbEnemies.cpp" /> <ClCompile Include="src\user\cheat\world\DumbEnemies.cpp" />
<ClCompile Include="src\user\cheat\world\KillAura.cpp" /> <ClCompile Include="src\user\cheat\world\KillAura.cpp" />
<ClCompile Include="src\user\cheat\world\MobVacuum.cpp" /> <ClCompile Include="src\user\cheat\world\MobVacuum.cpp" />
<ClCompile Include="src\user\cheat\world\MusicEvent.cpp" />
<ClCompile Include="src\user\cheat\world\VacuumLoot.cpp" /> <ClCompile Include="src\user\cheat\world\VacuumLoot.cpp" />
<ClCompile Include="src\user\main.cpp" /> <ClCompile Include="src\user\main.cpp" />
</ItemGroup> </ItemGroup>
@ -880,8 +880,7 @@
</Command> </Command>
</PostBuildEvent> </PostBuildEvent>
<CustomBuildStep> <CustomBuildStep>
<Command>"$(OutDir)injector.exe" <Command>"$(OutDir)injector.exe" powershell -nop -c "&amp;amp; {sleep 20}"</Command>
powershell -nop -c "&amp; {sleep 20}"</Command>
<Outputs>$(OutDir)_noexist.nope;%(Outputs)</Outputs> <Outputs>$(OutDir)_noexist.nope;%(Outputs)</Outputs>
<Inputs>$(TargetPath);%(Inputs)</Inputs> <Inputs>$(TargetPath);%(Inputs)</Inputs>
</CustomBuildStep> </CustomBuildStep>

View File

@ -213,9 +213,6 @@
<ClInclude Include="src\user\cheat\visuals\Browser.h"> <ClInclude Include="src\user\cheat\visuals\Browser.h">
<Filter>Header Files</Filter> <Filter>Header Files</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="src\user\cheat\world\MusicEvent.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\user\cheat\visuals\EnablePeaking.h"> <ClInclude Include="src\user\cheat\visuals\EnablePeaking.h">
<Filter>Header Files</Filter> <Filter>Header Files</Filter>
</ClInclude> </ClInclude>
@ -246,6 +243,9 @@
<ClInclude Include="src\user\cheat\visuals\FreeCamera.h"> <ClInclude Include="src\user\cheat\visuals\FreeCamera.h">
<Filter>Header Files</Filter> <Filter>Header Files</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="src\user\cheat\player\AutoRun.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Font Include="res\Ruda-Bold.ttf" /> <Font Include="res\Ruda-Bold.ttf" />
@ -417,9 +417,6 @@
<ClCompile Include="src\user\cheat\visuals\Browser.cpp"> <ClCompile Include="src\user\cheat\visuals\Browser.cpp">
<Filter>Source Files</Filter> <Filter>Source Files</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="src\user\cheat\world\MusicEvent.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\user\cheat\visuals\EnablePeaking.cpp"> <ClCompile Include="src\user\cheat\visuals\EnablePeaking.cpp">
<Filter>Source Files</Filter> <Filter>Source Files</Filter>
</ClCompile> </ClCompile>
@ -450,6 +447,9 @@
<ClCompile Include="src\user\cheat\visuals\FreeCamera.cpp"> <ClCompile Include="src\user\cheat\visuals\FreeCamera.cpp">
<Filter>Source Files</Filter> <Filter>Source Files</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="src\user\cheat\player\AutoRun.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ResourceCompile Include="res\res.rc"> <ResourceCompile Include="res\res.rc">

View File

@ -1,13 +1,13 @@
{ {
"game_version": "2.7", "game_version": "2.8",
"modules": { "modules": {
"UnityPlayer.dll": { "UnityPlayer.dll": {
"checksum": 17900298344514688789, "checksum": 4999961552328781053,
"timestamp": 132967628640000000 "timestamp": 0
}, },
"UserAssembly.dll": { "UserAssembly.dll": {
"checksum": 7306786341503590701, "checksum": 807890720029543258,
"timestamp": 132967628640000000 "timestamp": 0
} }
} }
} }

View File

@ -5,249 +5,250 @@
// * IL2CPP API function pointers // * IL2CPP API function pointers
// ****************************************************************************** // ******************************************************************************
#define il2cpp_add_internal_call_ptr 0x006CB6F0 #define il2cpp_add_internal_call_ptr 0x0065EF30
#define il2cpp_alloc_ptr 0x006CB700 #define il2cpp_alloc_ptr 0x0065EF40
#define il2cpp_allocation_granularity_ptr 0x0019E6E0 #define il2cpp_allocation_granularity_ptr 0x00710530
#define il2cpp_array_class_get_ptr 0x006CB710 #define il2cpp_array_class_get_ptr 0x0065EF50
#define il2cpp_array_element_size_ptr 0x006CB720 #define il2cpp_array_element_size_ptr 0x0065EF60
#define il2cpp_array_get_byte_length_ptr 0x006EEA60 #define il2cpp_array_get_byte_length_ptr 0x00681860
#define il2cpp_array_length_ptr 0x006CB730 #define il2cpp_array_length_ptr 0x0065EF70
#define il2cpp_array_new_ptr 0x006CB740 #define il2cpp_array_new_ptr 0x0065EF80
#define il2cpp_array_new_full_ptr 0x006CB750 #define il2cpp_array_new_full_ptr 0x0065EF90
#define il2cpp_array_new_specific_ptr 0x006CB760 #define il2cpp_array_new_specific_ptr 0x0065EFA0
#define il2cpp_array_object_header_size_ptr 0x006CB770 #define il2cpp_array_object_header_size_ptr 0x0065EFB0
#define il2cpp_assembly_get_image_ptr 0x006CB8B0 #define il2cpp_assembly_get_image_ptr 0x0065F830
#define il2cpp_bounded_array_class_get_ptr 0x006CB780 #define il2cpp_bounded_array_class_get_ptr 0x0065EFC0
#define il2cpp_capture_memory_snapshot_ptr 0x006CB790 #define il2cpp_capture_memory_snapshot_ptr 0x0065EFD0
#define il2cpp_class_array_element_size_ptr 0x006CB7A0 #define il2cpp_class_array_element_size_ptr 0x0065EFE0
#define il2cpp_class_enum_basetype_ptr 0x006CB7B0 #define il2cpp_class_enum_basetype_ptr 0x0065EFF0
#define il2cpp_class_for_each_ptr 0x006CB7C0 #define il2cpp_class_for_each_ptr 0x0065F000
#define il2cpp_class_from_il2cpp_type_ptr 0x006CB7D0 #define il2cpp_class_from_il2cpp_type_ptr 0x0065F010
#define il2cpp_class_from_name_ptr 0x006CB7E0 #define il2cpp_class_from_name_ptr 0x0065F020
#define il2cpp_class_from_system_type_ptr 0x006CB7F0 #define il2cpp_class_from_system_type_ptr 0x0065F030
#define il2cpp_class_from_type_ptr 0x006CB7D0 #define il2cpp_class_from_type_ptr 0x0065F010
#define il2cpp_class_get_assemblyname_ptr 0x006CB800 #define il2cpp_class_get_assemblyname_ptr 0x0065F040
#define il2cpp_class_get_bitmap_ptr 0x006CB810 #define il2cpp_class_get_bitmap_ptr 0x0065F050
#define il2cpp_class_get_bitmap_size_ptr 0x006CB830 #define il2cpp_class_get_bitmap_size_ptr 0x0065F070
#define il2cpp_class_get_data_size_ptr 0x006CB840 #define il2cpp_class_get_data_size_ptr 0x0065F080
#define il2cpp_class_get_declaring_type_ptr 0x006CB850 #define il2cpp_class_get_declaring_type_ptr 0x0065F090
#define il2cpp_class_get_element_class_ptr 0x006CB860 #define il2cpp_class_get_element_class_ptr 0x0065F0A0
#define il2cpp_class_get_events_ptr 0x006CB870 #define il2cpp_class_get_events_ptr 0x0065F0B0
#define il2cpp_class_get_field_from_name_ptr 0x006CB880 #define il2cpp_class_get_field_from_name_ptr 0x0065F0C0
#define il2cpp_class_get_fields_ptr 0x006CB890 #define il2cpp_class_get_fields_ptr 0x0065F0D0
#define il2cpp_class_get_flags_ptr 0x006CB8A0 #define il2cpp_class_get_flags_ptr 0x0065F0E0
#define il2cpp_class_get_image_ptr 0x006CB8B0 #define il2cpp_class_get_image_ptr 0x0065F830
#define il2cpp_class_get_interfaces_ptr 0x006CB8C0 #define il2cpp_class_get_interfaces_ptr 0x0065F0F0
#define il2cpp_class_get_method_from_name_ptr 0x006CB8D0 #define il2cpp_class_get_method_from_name_ptr 0x0065F100
#define il2cpp_class_get_methods_ptr 0x006CB8E0 #define il2cpp_class_get_methods_ptr 0x0065F110
#define il2cpp_class_get_name_ptr 0x006CBFB0 #define il2cpp_class_get_name_ptr 0x0065F7F0
#define il2cpp_class_get_namespace_ptr 0x006CC330 #define il2cpp_class_get_namespace_ptr 0x0065FB70
#define il2cpp_class_get_nested_types_ptr 0x006CB8F0 #define il2cpp_class_get_nested_types_ptr 0x0065F120
#define il2cpp_class_get_parent_ptr 0x006CB900 #define il2cpp_class_get_parent_ptr 0x0065F130
#define il2cpp_class_get_properties_ptr 0x006CB910 #define il2cpp_class_get_properties_ptr 0x0065F140
#define il2cpp_class_get_property_from_name_ptr 0x006CB920 #define il2cpp_class_get_property_from_name_ptr 0x0065F150
#define il2cpp_class_get_rank_ptr 0x006CB930 #define il2cpp_class_get_rank_ptr 0x0065F160
#define il2cpp_class_get_static_field_data_ptr 0x00129FB0 #define il2cpp_class_get_static_field_data_ptr 0x0065F170
#define il2cpp_class_get_type_ptr 0x006E7340 #define il2cpp_class_get_type_ptr 0x0065F180
#define il2cpp_class_get_type_token_ptr 0x006CB940 #define il2cpp_class_get_type_token_ptr 0x0065F190
#define il2cpp_class_get_userdata_offset_ptr 0x006CB950 #define il2cpp_class_get_userdata_offset_ptr 0x0065F1A0
#define il2cpp_class_has_attribute_ptr 0x006CB960 #define il2cpp_class_has_attribute_ptr 0x0065F1B0
#define il2cpp_class_has_parent_ptr 0x006CB970 #define il2cpp_class_has_parent_ptr 0x0065F1C0
#define il2cpp_class_has_references_ptr 0x006CB980 #define il2cpp_class_has_references_ptr 0x0065F1D0
#define il2cpp_class_instance_size_ptr 0x006CB990 #define il2cpp_class_instance_size_ptr 0x0065F1E0
#define il2cpp_class_is_abstract_ptr 0x006CB9A0 #define il2cpp_class_is_abstract_ptr 0x0065F1F0
#define il2cpp_class_is_assignable_from_ptr 0x006CB9B0 #define il2cpp_class_is_assignable_from_ptr 0x0065F200
#define il2cpp_class_is_blittable_ptr 0x006CB9C0 #define il2cpp_class_is_blittable_ptr 0x0065F210
#define il2cpp_class_is_enum_ptr 0x006CB9D0 #define il2cpp_class_is_enum_ptr 0x0065F220
#define il2cpp_class_is_generic_ptr 0x006CB9E0 #define il2cpp_class_is_generic_ptr 0x0065F230
#define il2cpp_class_is_inflated_ptr 0x006CB9F0 #define il2cpp_class_is_inflated_ptr 0x0065F240
#define il2cpp_class_is_interface_ptr 0x006CBA00 #define il2cpp_class_is_interface_ptr 0x0065F250
#define il2cpp_class_is_subclass_of_ptr 0x006CBA10 #define il2cpp_class_is_subclass_of_ptr 0x0065F260
#define il2cpp_class_is_valuetype_ptr 0x006CBA20 #define il2cpp_class_is_valuetype_ptr 0x006EA550
#define il2cpp_class_num_fields_ptr 0x006CBA30 #define il2cpp_class_num_fields_ptr 0x0065F270
#define il2cpp_class_set_userdata_ptr 0x006CBA40 #define il2cpp_class_set_userdata_ptr 0x0015A460
#define il2cpp_class_value_size_ptr 0x006CBA50 #define il2cpp_class_value_size_ptr 0x0065F280
#define il2cpp_current_thread_get_frame_at_ptr 0x006CBA60 #define il2cpp_current_thread_get_frame_at_ptr 0x0065F290
#define il2cpp_current_thread_get_stack_depth_ptr 0x006CBA70 #define il2cpp_current_thread_get_stack_depth_ptr 0x0065F2A0
#define il2cpp_current_thread_get_top_frame_ptr 0x006CBA90 #define il2cpp_current_thread_get_top_frame_ptr 0x0065F2C0
#define il2cpp_current_thread_walk_frame_stack_ptr 0x006CBAA0 #define il2cpp_current_thread_walk_frame_stack_ptr 0x0065F2D0
#define il2cpp_custom_attrs_construct_ptr 0x006CBAB0 #define il2cpp_custom_attrs_construct_ptr 0x0065F2E0
#define il2cpp_custom_attrs_free_ptr 0x001C8D70 #define il2cpp_custom_attrs_free_ptr 0x00161B80
#define il2cpp_custom_attrs_from_class_ptr 0x006CBAC0 #define il2cpp_custom_attrs_from_class_ptr 0x0065F2F0
#define il2cpp_custom_attrs_from_method_ptr 0x006CBAE0 #define il2cpp_custom_attrs_from_method_ptr 0x0065F310
#define il2cpp_custom_attrs_get_attr_ptr 0x006CBB00 #define il2cpp_custom_attrs_get_attr_ptr 0x0065F330
#define il2cpp_custom_attrs_has_attr_ptr 0x006CBB10 #define il2cpp_custom_attrs_has_attr_ptr 0x0065F340
#define il2cpp_debug_get_method_info_ptr 0x006CBB20 #define il2cpp_debug_get_method_info_ptr 0x0065F350
#define il2cpp_debugger_set_agent_options_ptr 0x001C8D70 #define il2cpp_debugger_set_agent_options_ptr 0x00161B80
#define il2cpp_domain_assembly_open_ptr 0x006CBB30 #define il2cpp_domain_assembly_open_ptr 0x0065F360
#define il2cpp_domain_get_ptr 0x006CBB40 #define il2cpp_domain_get_ptr 0x0065F370
#define il2cpp_domain_get_assemblies_ptr 0x006CBB50 #define il2cpp_domain_get_assemblies_ptr 0x0065F380
#define il2cpp_enable_object_type_mutex_ptr 0x006CBB80 #define il2cpp_enable_object_type_mutex_ptr 0x0065F3B0
#define il2cpp_exception_from_name_msg_ptr 0x006CBB90 #define il2cpp_exception_from_name_msg_ptr 0x0065F3C0
#define il2cpp_field_get_flags_ptr 0x006CBBA0 #define il2cpp_field_get_flags_ptr 0x0065F3D0
#define il2cpp_field_get_name_ptr 0x006CB8B0 #define il2cpp_field_get_name_ptr 0x0065F830
#define il2cpp_field_get_offset_ptr 0x006CBBB0 #define il2cpp_field_get_offset_ptr 0x0065F3E0
#define il2cpp_field_get_parent_ptr 0x006CBFB0 #define il2cpp_field_get_parent_ptr 0x0065F7F0
#define il2cpp_field_get_type_ptr 0x006CBBC0 #define il2cpp_field_get_type_ptr 0x0065FB60
#define il2cpp_field_get_value_ptr 0x006CBBD0 #define il2cpp_field_get_value_ptr 0x0065F3F0
#define il2cpp_field_get_value_object_ptr 0x006CBBE0 #define il2cpp_field_get_value_object_ptr 0x0065F400
#define il2cpp_field_has_attribute_ptr 0x006CBBF0 #define il2cpp_field_has_attribute_ptr 0x0065F410
#define il2cpp_field_is_literal_ptr 0x006CBC00 #define il2cpp_field_is_literal_ptr 0x0065F420
#define il2cpp_field_set_value_ptr 0x006CBC10 #define il2cpp_field_set_value_ptr 0x0065F430
#define il2cpp_field_set_value_object_ptr 0x006CBC20 #define il2cpp_field_set_value_object_ptr 0x0065F440
#define il2cpp_field_static_get_value_ptr 0x006CBC30 #define il2cpp_field_static_get_value_ptr 0x0065F450
#define il2cpp_field_static_set_value_ptr 0x006CBC40 #define il2cpp_field_static_set_value_ptr 0x0065F460
#define il2cpp_format_exception_ptr 0x006CBC50 #define il2cpp_format_exception_ptr 0x0065F470
#define il2cpp_format_stack_trace_ptr 0x006CBD00 #define il2cpp_format_stack_trace_ptr 0x0065F520
#define il2cpp_free_ptr 0x006E2A60 #define il2cpp_free_ptr 0x0065F5D0
#define il2cpp_free_captured_memory_snapshot_ptr 0x006CBDB0 #define il2cpp_free_captured_memory_snapshot_ptr 0x0065F5E0
#define il2cpp_gc_collect_ptr 0x006CBDC0 #define il2cpp_gc_collect_ptr 0x0067AC20
#define il2cpp_gc_collect_a_little_ptr 0x006CBDD0 #define il2cpp_gc_collect_a_little_ptr 0x0065F5F0
#define il2cpp_gc_disable_ptr 0x006CBDE0 #define il2cpp_gc_disable_ptr 0x0065F600
#define il2cpp_gc_dump_append_text_to_log_ptr 0x006CBDF0 #define il2cpp_gc_dump_append_text_to_log_ptr 0x0065F610
#define il2cpp_gc_dump_info_ptr 0x006CBE00 #define il2cpp_gc_dump_info_ptr 0x0065F620
#define il2cpp_gc_dump_set_large_allocated_block_found_callback_ptr 0x006CBE10 #define il2cpp_gc_dump_set_large_allocated_block_found_callback_ptr 0x0065F630
#define il2cpp_gc_dump_set_small_allocated_block_found_callback_ptr 0x006CBE20 #define il2cpp_gc_dump_set_small_allocated_block_found_callback_ptr 0x0065F640
#define il2cpp_gc_enable_ptr 0x006CBE30 #define il2cpp_gc_enable_ptr 0x0065F650
#define il2cpp_gc_foreach_heap_ptr 0x006CBE40 #define il2cpp_gc_foreach_heap_ptr 0x0065F660
#define il2cpp_gc_get_heap_size_ptr 0x006CBE70 #define il2cpp_gc_get_heap_size_ptr 0x0065F690
#define il2cpp_gc_get_max_time_slice_ns_ptr 0x006CBE80 #define il2cpp_gc_get_max_time_slice_ns_ptr 0x0065F6A0
#define il2cpp_gc_get_used_size_ptr 0x006CBE90 #define il2cpp_gc_get_used_size_ptr 0x0065F6B0
#define il2cpp_gc_has_strict_wbarriers_ptr 0x006D35C0 #define il2cpp_gc_has_strict_wbarriers_ptr 0x006665C0
#define il2cpp_gc_is_disabled_ptr 0x006CBEA0 #define il2cpp_gc_is_disabled_ptr 0x0065F6C0
#define il2cpp_gc_is_incremental_ptr 0x006CBEB0 #define il2cpp_gc_is_incremental_ptr 0x0065F6D0
#define il2cpp_gc_set_external_allocation_tracker_ptr 0x001C8D70 #define il2cpp_gc_set_enable_get_mem_address_hint_ptr 0x0065F6E0
#define il2cpp_gc_set_external_wbarrier_tracker_ptr 0x001C8D70 #define il2cpp_gc_set_external_allocation_tracker_ptr 0x00161B80
#define il2cpp_gc_set_max_time_slice_ns_ptr 0x006CBEC0 #define il2cpp_gc_set_external_wbarrier_tracker_ptr 0x00161B80
#define il2cpp_gc_set_object_malloc_callback_ptr 0x006CBED0 #define il2cpp_gc_set_max_time_slice_ns_ptr 0x0065F6F0
#define il2cpp_gc_set_object_return_freelist_callback_ptr 0x006CBEE0 #define il2cpp_gc_set_object_malloc_callback_ptr 0x0065F700
#define il2cpp_gc_wbarrier_set_field_ptr 0x006CBEF0 #define il2cpp_gc_set_object_return_freelist_callback_ptr 0x0065F710
#define il2cpp_gchandle_foreach_get_target_ptr 0x006CBF00 #define il2cpp_gc_wbarrier_set_field_ptr 0x0065F720
#define il2cpp_gchandle_free_ptr 0x006E2A50 #define il2cpp_gchandle_foreach_get_target_ptr 0x0065F730
#define il2cpp_gchandle_get_target_ptr 0x006CBF30 #define il2cpp_gchandle_free_ptr 0x006758B0
#define il2cpp_gchandle_new_ptr 0x006CBF40 #define il2cpp_gchandle_get_target_ptr 0x0065F760
#define il2cpp_gchandle_new_weakref_ptr 0x006CBF50 #define il2cpp_gchandle_new_ptr 0x0065F770
#define il2cpp_get_committed_memory_size_ptr 0x006CBF60 #define il2cpp_gchandle_new_weakref_ptr 0x0065F780
#define il2cpp_get_corlib_ptr 0x006CBF70 #define il2cpp_get_committed_memory_size_ptr 0x0065F790
#define il2cpp_get_exception_argument_null_ptr 0x00757750 #define il2cpp_get_corlib_ptr 0x0065F7A0
#define il2cpp_get_hash_table_memory_ptr 0x006CBF80 #define il2cpp_get_exception_argument_null_ptr 0x0065F7B0
#define il2cpp_get_meta_data_pool_memory_ptr 0x006CBF90 #define il2cpp_get_hash_table_memory_ptr 0x0065F7C0
#define il2cpp_image_get_assembly_ptr 0x006CBFB0 #define il2cpp_get_meta_data_pool_memory_ptr 0x0065F7D0
#define il2cpp_image_get_class_ptr 0x006CBFC0 #define il2cpp_image_get_assembly_ptr 0x0065F7F0
#define il2cpp_image_get_class_count_ptr 0x006CBFD0 #define il2cpp_image_get_class_ptr 0x0065F800
#define il2cpp_image_get_entry_point_ptr 0x006CBFE0 #define il2cpp_image_get_class_count_ptr 0x0065F810
#define il2cpp_image_get_filename_ptr 0x006CB8B0 #define il2cpp_image_get_entry_point_ptr 0x0065F820
#define il2cpp_image_get_name_ptr 0x006CB8B0 #define il2cpp_image_get_filename_ptr 0x0065F830
#define il2cpp_init_ptr 0x006CBFF0 #define il2cpp_image_get_name_ptr 0x0065F830
#define il2cpp_init_security_ptr 0x006CC020 #define il2cpp_init_ptr 0x0065F840
#define il2cpp_init_utf16_ptr 0x006CC040 #define il2cpp_init_security_ptr 0x0065F870
#define il2cpp_is_debugger_attached_ptr 0x006CC0F0 #define il2cpp_init_utf16_ptr 0x0065F890
#define il2cpp_is_vm_thread_ptr 0x006CC100 #define il2cpp_is_debugger_attached_ptr 0x0067BF10
#define il2cpp_method_get_class_ptr 0x006CC330 #define il2cpp_is_vm_thread_ptr 0x0065F940
#define il2cpp_method_get_declaring_type_ptr 0x006CC330 #define il2cpp_method_get_class_ptr 0x0065FB70
#define il2cpp_method_get_flags_ptr 0x006CC110 #define il2cpp_method_get_declaring_type_ptr 0x0065FB70
#define il2cpp_method_get_from_reflection_ptr 0x006CBFB0 #define il2cpp_method_get_flags_ptr 0x0065F950
#define il2cpp_method_get_name_ptr 0x006CBFB0 #define il2cpp_method_get_from_reflection_ptr 0x0065F7F0
#define il2cpp_method_get_object_ptr 0x006CC140 #define il2cpp_method_get_name_ptr 0x0065F7F0
#define il2cpp_method_get_param_ptr 0x006CC150 #define il2cpp_method_get_object_ptr 0x0065F980
#define il2cpp_method_get_param_count_ptr 0x006CC160 #define il2cpp_method_get_param_ptr 0x0065F990
#define il2cpp_method_get_param_name_ptr 0x006CC170 #define il2cpp_method_get_param_count_ptr 0x0065F9A0
#define il2cpp_method_get_return_type_ptr 0x006CC180 #define il2cpp_method_get_param_name_ptr 0x0065F9B0
#define il2cpp_method_get_token_ptr 0x006CC190 #define il2cpp_method_get_return_type_ptr 0x0065F9C0
#define il2cpp_method_has_attribute_ptr 0x006CC1A0 #define il2cpp_method_get_token_ptr 0x0065F9D0
#define il2cpp_method_is_generic_ptr 0x006CC1B0 #define il2cpp_method_has_attribute_ptr 0x0065F9E0
#define il2cpp_method_is_inflated_ptr 0x006CC1C0 #define il2cpp_method_is_generic_ptr 0x0065F9F0
#define il2cpp_method_is_instance_ptr 0x006CC1D0 #define il2cpp_method_is_inflated_ptr 0x0065FA00
#define il2cpp_monitor_enter_ptr 0x006CC1E0 #define il2cpp_method_is_instance_ptr 0x0065FA10
#define il2cpp_monitor_exit_ptr 0x006CC1F0 #define il2cpp_monitor_enter_ptr 0x0065FA20
#define il2cpp_monitor_pulse_ptr 0x006CC200 #define il2cpp_monitor_exit_ptr 0x0065FA30
#define il2cpp_monitor_pulse_all_ptr 0x006CC210 #define il2cpp_monitor_pulse_ptr 0x0065FA40
#define il2cpp_monitor_try_enter_ptr 0x006CC220 #define il2cpp_monitor_pulse_all_ptr 0x0065FA50
#define il2cpp_monitor_try_wait_ptr 0x006CC230 #define il2cpp_monitor_try_enter_ptr 0x0065FA60
#define il2cpp_monitor_wait_ptr 0x006CC240 #define il2cpp_monitor_try_wait_ptr 0x0065FA70
#define il2cpp_object_get_class_ptr 0x006CB8B0 #define il2cpp_monitor_wait_ptr 0x0065FA80
#define il2cpp_object_get_size_ptr 0x006CC250 #define il2cpp_object_get_class_ptr 0x0065F830
#define il2cpp_object_get_virtual_method_ptr 0x006CC260 #define il2cpp_object_get_size_ptr 0x0065FA90
#define il2cpp_object_header_size_ptr 0x0019E6E0 #define il2cpp_object_get_virtual_method_ptr 0x0065FAA0
#define il2cpp_object_new_ptr 0x006CC270 #define il2cpp_object_header_size_ptr 0x00710530
#define il2cpp_object_unbox_ptr 0x006CC290 #define il2cpp_object_new_ptr 0x0065FAB0
#define il2cpp_offset_of_array_bounds_in_array_object_header_ptr 0x0019E6E0 #define il2cpp_object_unbox_ptr 0x006EA540
#define il2cpp_offset_of_array_length_in_array_object_header_ptr 0x00121970 #define il2cpp_offset_of_array_bounds_in_array_object_header_ptr 0x00710530
#define il2cpp_override_stack_backtrace_ptr 0x006CC2A0 #define il2cpp_offset_of_array_length_in_array_object_header_ptr 0x00137CE0
#define il2cpp_profiler_install_ptr 0x006CC2B0 #define il2cpp_override_stack_backtrace_ptr 0x0065FAD0
#define il2cpp_profiler_install_allocation_ptr 0x006CC2C0 #define il2cpp_profiler_install_ptr 0x0065FAE0
#define il2cpp_profiler_install_enter_leave_ptr 0x006CC2D0 #define il2cpp_profiler_install_allocation_ptr 0x0065FAF0
#define il2cpp_profiler_install_fileio_ptr 0x006CC2E0 #define il2cpp_profiler_install_enter_leave_ptr 0x0065FB00
#define il2cpp_profiler_install_gc_ptr 0x006CC2F0 #define il2cpp_profiler_install_fileio_ptr 0x0065FB10
#define il2cpp_profiler_install_thread_ptr 0x006CC300 #define il2cpp_profiler_install_gc_ptr 0x0065FB20
#define il2cpp_profiler_set_events_ptr 0x006CC310 #define il2cpp_profiler_install_thread_ptr 0x0065FB30
#define il2cpp_property_get_flags_ptr 0x006CC320 #define il2cpp_profiler_set_events_ptr 0x0065FB40
#define il2cpp_property_get_get_method_ptr 0x006CBFB0 #define il2cpp_property_get_flags_ptr 0x0065FB50
#define il2cpp_property_get_name_ptr 0x006CBBC0 #define il2cpp_property_get_get_method_ptr 0x0065F7F0
#define il2cpp_property_get_parent_ptr 0x006CB8B0 #define il2cpp_property_get_name_ptr 0x0065FB60
#define il2cpp_property_get_set_method_ptr 0x006CC330 #define il2cpp_property_get_parent_ptr 0x0065F830
#define il2cpp_raise_exception_ptr 0x006CC340 #define il2cpp_property_get_set_method_ptr 0x0065FB70
#define il2cpp_register_debugger_agent_transport_ptr 0x001C8D70 #define il2cpp_raise_exception_ptr 0x0065FB80
#define il2cpp_register_filedelete_callback_ptr 0x006CC350 #define il2cpp_register_debugger_agent_transport_ptr 0x00161B80
#define il2cpp_register_filemodify_callback_ptr 0x006CC360 #define il2cpp_register_filedelete_callback_ptr 0x0065FB90
#define il2cpp_register_log_callback_ptr 0x006CC370 #define il2cpp_register_filemodify_callback_ptr 0x0065FBA0
#define il2cpp_resolve_icall_ptr 0x006CC380 #define il2cpp_register_log_callback_ptr 0x0065FBB0
#define il2cpp_runtime_class_init_ptr 0x00757A20 #define il2cpp_resolve_icall_ptr 0x0065FBC0
#define il2cpp_runtime_invoke_ptr 0x006CC390 #define il2cpp_runtime_class_init_ptr 0x006EA900
#define il2cpp_runtime_invoke_convert_args_ptr 0x006CC3B0 #define il2cpp_runtime_invoke_ptr 0x0065FBD0
#define il2cpp_runtime_object_init_ptr 0x006CC3D0 #define il2cpp_runtime_invoke_convert_args_ptr 0x0065FBF0
#define il2cpp_runtime_object_init_exception_ptr 0x006CC3E0 #define il2cpp_runtime_object_init_ptr 0x0065FC10
#define il2cpp_runtime_unhandled_exception_policy_set_ptr 0x006CC3F0 #define il2cpp_runtime_object_init_exception_ptr 0x0065FC20
#define il2cpp_set_commandline_arguments_ptr 0x006CC400 #define il2cpp_runtime_unhandled_exception_policy_set_ptr 0x0065FC30
#define il2cpp_set_commandline_arguments_utf16_ptr 0x006CC410 #define il2cpp_set_commandline_arguments_ptr 0x0065FC40
#define il2cpp_set_config_ptr 0x006CC420 #define il2cpp_set_commandline_arguments_utf16_ptr 0x0065FC50
#define il2cpp_set_config_dir_ptr 0x006CC430 #define il2cpp_set_config_ptr 0x0065FC60
#define il2cpp_set_config_utf16_ptr 0x006CC440 #define il2cpp_set_config_dir_ptr 0x0065FC70
#define il2cpp_set_data_dir_ptr 0x006CC450 #define il2cpp_set_config_utf16_ptr 0x0065FC80
#define il2cpp_set_default_thread_affinity_ptr 0x006CC460 #define il2cpp_set_data_dir_ptr 0x0065FC90
#define il2cpp_set_disable_gc_parallel_mark_ptr 0x006CC470 #define il2cpp_set_default_thread_affinity_ptr 0x0065FCA0
#define il2cpp_set_find_plugin_callback_ptr 0x006CC480 #define il2cpp_set_disable_gc_parallel_mark_ptr 0x0065FCB0
#define il2cpp_set_memory_callbacks_ptr 0x006CC490 #define il2cpp_set_find_plugin_callback_ptr 0x0065FCC0
#define il2cpp_set_output_redirected_file_path_ptr 0x006CC4A0 #define il2cpp_set_memory_callbacks_ptr 0x0065FCD0
#define il2cpp_set_parallel_android_affinity_ptr 0x006CC4B0 #define il2cpp_set_output_redirected_file_path_ptr 0x0065FCE0
#define il2cpp_set_parallel_android_cupcount_ptr 0x006CC4C0 #define il2cpp_set_parallel_android_affinity_ptr 0x0065FCF0
#define il2cpp_set_temp_dir_ptr 0x006CC4D0 #define il2cpp_set_parallel_android_cupcount_ptr 0x0065FD00
#define il2cpp_shutdown_ptr 0x006CC4E0 #define il2cpp_set_temp_dir_ptr 0x0065FD10
#define il2cpp_start_gc_world_ptr 0x006CC4F0 #define il2cpp_shutdown_ptr 0x0065FD20
#define il2cpp_stats_dump_to_file_ptr 0x006D35C0 #define il2cpp_start_gc_world_ptr 0x0065FD30
#define il2cpp_stats_get_value_ptr 0x006E2AF0 #define il2cpp_stats_dump_to_file_ptr 0x006665C0
#define il2cpp_stop_gc_world_ptr 0x006CC500 #define il2cpp_stats_get_value_ptr 0x006E7420
#define il2cpp_string_chars_ptr 0x006CC510 #define il2cpp_stop_gc_world_ptr 0x0065FD40
#define il2cpp_string_intern_ptr 0x006CC520 #define il2cpp_string_chars_ptr 0x0065FD50
#define il2cpp_string_is_interned_ptr 0x006CC530 #define il2cpp_string_intern_ptr 0x0065FD60
#define il2cpp_string_length_ptr 0x006CC540 #define il2cpp_string_is_interned_ptr 0x0065FD70
#define il2cpp_string_new_ptr 0x00757A30 #define il2cpp_string_length_ptr 0x0065FD80
#define il2cpp_string_new_len_ptr 0x006CC550 #define il2cpp_string_new_ptr 0x006EA910
#define il2cpp_string_new_utf16_ptr 0x006CC560 #define il2cpp_string_new_len_ptr 0x0065FD90
#define il2cpp_string_new_wrapper_ptr 0x00757A30 #define il2cpp_string_new_utf16_ptr 0x0065FDA0
#define il2cpp_thread_attach_ptr 0x006CC570 #define il2cpp_string_new_wrapper_ptr 0x006EA910
#define il2cpp_thread_current_ptr 0x006CC580 #define il2cpp_thread_attach_ptr 0x0065FDB0
#define il2cpp_thread_detach_ptr 0x006CC590 #define il2cpp_thread_current_ptr 0x00676210
#define il2cpp_thread_get_all_attached_threads_ptr 0x006CC5A0 #define il2cpp_thread_detach_ptr 0x0065FDC0
#define il2cpp_thread_get_frame_at_ptr 0x006CC5B0 #define il2cpp_thread_get_all_attached_threads_ptr 0x0065FDD0
#define il2cpp_thread_get_stack_depth_ptr 0x006CC5C0 #define il2cpp_thread_get_frame_at_ptr 0x0065FDE0
#define il2cpp_thread_get_top_frame_ptr 0x006CC5D0 #define il2cpp_thread_get_stack_depth_ptr 0x0065FDF0
#define il2cpp_thread_walk_frame_stack_ptr 0x006CC5E0 #define il2cpp_thread_get_top_frame_ptr 0x0065FE00
#define il2cpp_type_equals_ptr 0x006CC5F0 #define il2cpp_thread_walk_frame_stack_ptr 0x0065FE10
#define il2cpp_type_get_assembly_qualified_name_ptr 0x006CC600 #define il2cpp_type_equals_ptr 0x0065FE20
#define il2cpp_type_get_attrs_ptr 0x006CC6C0 #define il2cpp_type_get_assembly_qualified_name_ptr 0x0065FE30
#define il2cpp_type_get_class_or_element_class_ptr 0x006CC6D0 #define il2cpp_type_get_attrs_ptr 0x0065FEF0
#define il2cpp_type_get_name_ptr 0x006CC6E0 #define il2cpp_type_get_class_or_element_class_ptr 0x0065FF00
#define il2cpp_type_get_name_chunked_ptr 0x006CC7A0 #define il2cpp_type_get_name_ptr 0x0065FF10
#define il2cpp_type_get_object_ptr 0x00757A50 #define il2cpp_type_get_name_chunked_ptr 0x0065FFD0
#define il2cpp_type_get_type_ptr 0x006CC7B0 #define il2cpp_type_get_object_ptr 0x0065FFE0
#define il2cpp_type_is_byref_ptr 0x006CC7C0 #define il2cpp_type_get_type_ptr 0x0065FFF0
#define il2cpp_type_is_pointer_type_ptr 0x006CC7D0 #define il2cpp_type_is_byref_ptr 0x00660000
#define il2cpp_type_is_static_ptr 0x006CC7E0 #define il2cpp_type_is_pointer_type_ptr 0x00660010
#define il2cpp_unhandled_exception_ptr 0x006EC170 #define il2cpp_type_is_static_ptr 0x00660020
#define il2cpp_unity_install_unitytls_interface_ptr 0x006CC7F0 #define il2cpp_unhandled_exception_ptr 0x00660030
#define il2cpp_unity_liveness_calculation_begin_ptr 0x006CC800 #define il2cpp_unity_install_unitytls_interface_ptr 0x00660040
#define il2cpp_unity_liveness_calculation_end_ptr 0x006CC810 #define il2cpp_unity_liveness_calculation_begin_ptr 0x00660050
#define il2cpp_unity_liveness_calculation_from_root_ptr 0x006CC820 #define il2cpp_unity_liveness_calculation_end_ptr 0x00660060
#define il2cpp_unity_liveness_calculation_from_statics_ptr 0x006CC830 #define il2cpp_unity_liveness_calculation_from_root_ptr 0x00660070
#define il2cpp_value_box_ptr 0x007575C0 #define il2cpp_unity_liveness_calculation_from_statics_ptr 0x00660080
#define il2cpp_value_box_ptr 0x00660090

View File

@ -1,602 +1,303 @@
// 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: 2019.4.21 - 2019.4.24 // Target Unity version: 2019.4.21 - 2019.4.24
#ifndef DO_API_NO_RETURN #ifndef DO_API_NO_RETURN
#define DO_API_NO_RETURN(r, n, p) DO_API(r,n,p)
#define DO_API_NO_RETURN(r, n, p) DO_API(r,n,p) #endif
#endif 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_set_config_dir, (const char *config_path));
DO_API(int, il2cpp_init, (const char* domain_name)); DO_API(void, il2cpp_set_data_dir, (const char *data_path));
DO_API(void, il2cpp_set_temp_dir, (const char *temp_path));
DO_API(int, il2cpp_init_utf16, (const Il2CppChar * domain_name)); DO_API(void, il2cpp_set_commandline_arguments, (int argc, const char* const argv[], const char* basedir));
DO_API(void, il2cpp_set_commandline_arguments_utf16, (int argc, const Il2CppChar * const argv[], const char* basedir));
DO_API(void, il2cpp_shutdown, ()); DO_API(void, il2cpp_set_config_utf16, (const Il2CppChar * executablePath));
DO_API(void, il2cpp_set_config, (const char* executablePath));
DO_API(void, il2cpp_set_config_dir, (const char *config_path));
DO_API(void, il2cpp_set_memory_callbacks, (Il2CppMemoryCallbacks * callbacks));
DO_API(void, il2cpp_set_data_dir, (const char *data_path)); DO_API(const Il2CppImage*, il2cpp_get_corlib, ());
DO_API(void, il2cpp_add_internal_call, (const char* name, Il2CppMethodPointer method));
DO_API(void, il2cpp_set_temp_dir, (const char *temp_path)); DO_API(Il2CppMethodPointer, il2cpp_resolve_icall, (const char* name));
DO_API(void, il2cpp_set_commandline_arguments, (int argc, const char* const argv[], const char* basedir)); DO_API(void*, il2cpp_alloc, (size_t size));
DO_API(void, il2cpp_free, (void* ptr));
DO_API(void, il2cpp_set_commandline_arguments_utf16, (int argc, const Il2CppChar * const argv[], const char* basedir));
// array
DO_API(void, il2cpp_set_config_utf16, (const Il2CppChar * executablePath)); DO_API(Il2CppClass*, il2cpp_array_class_get, (Il2CppClass * element_class, uint32_t rank));
DO_API(uint32_t, il2cpp_array_length, (Il2CppArray * array));
DO_API(void, il2cpp_set_config, (const char* executablePath)); DO_API(uint32_t, il2cpp_array_get_byte_length, (Il2CppArray * array));
DO_API(Il2CppArray*, il2cpp_array_new, (Il2CppClass * elementTypeInfo, il2cpp_array_size_t length));
DO_API(Il2CppArray*, il2cpp_array_new_specific, (Il2CppClass * arrayTypeInfo, il2cpp_array_size_t length));
DO_API(Il2CppArray*, il2cpp_array_new_full, (Il2CppClass * array_class, il2cpp_array_size_t * lengths, il2cpp_array_size_t * lower_bounds));
DO_API(void, il2cpp_set_memory_callbacks, (Il2CppMemoryCallbacks * callbacks)); DO_API(Il2CppClass*, il2cpp_bounded_array_class_get, (Il2CppClass * element_class, uint32_t rank, bool bounded));
DO_API(int, il2cpp_array_element_size, (const Il2CppClass * array_class));
DO_API(const Il2CppImage*, il2cpp_get_corlib, ());
// assembly
DO_API(void, il2cpp_add_internal_call, (const char* name, Il2CppMethodPointer method)); DO_API(const Il2CppImage*, il2cpp_assembly_get_image, (const Il2CppAssembly * assembly));
DO_API(Il2CppMethodPointer, il2cpp_resolve_icall, (const char* name)); // 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(bool, il2cpp_class_is_generic, (const Il2CppClass * klass));
DO_API(void*, il2cpp_alloc, (size_t size)); DO_API(bool, il2cpp_class_is_inflated, (const Il2CppClass * klass));
DO_API(bool, il2cpp_class_is_assignable_from, (Il2CppClass * klass, Il2CppClass * oklass));
DO_API(void, il2cpp_free, (void* ptr)); DO_API(bool, il2cpp_class_is_subclass_of, (Il2CppClass * klass, Il2CppClass * klassc, bool check_interfaces));
DO_API(bool, il2cpp_class_has_parent, (Il2CppClass * klass, Il2CppClass * klassc));
DO_API(Il2CppClass*, il2cpp_class_from_il2cpp_type, (const Il2CppType * type));
DO_API(Il2CppClass*, il2cpp_class_from_name, (const Il2CppImage * image, const char* namespaze, const char *name));
// array DO_API(Il2CppClass*, il2cpp_class_from_system_type, (Il2CppReflectionType * type));
DO_API(Il2CppClass*, il2cpp_class_get_element_class, (Il2CppClass * klass));
DO_API(Il2CppClass*, il2cpp_array_class_get, (Il2CppClass * element_class, uint32_t rank)); DO_API(const EventInfo*, il2cpp_class_get_events, (Il2CppClass * klass, void* *iter));
DO_API(FieldInfo*, il2cpp_class_get_fields, (Il2CppClass * klass, void* *iter));
DO_API(uint32_t, il2cpp_array_length, (Il2CppArray * array)); DO_API(Il2CppClass*, il2cpp_class_get_nested_types, (Il2CppClass * klass, void* *iter));
DO_API(Il2CppClass*, il2cpp_class_get_interfaces, (Il2CppClass * klass, void* *iter));
DO_API(uint32_t, il2cpp_array_get_byte_length, (Il2CppArray * array)); DO_API(const PropertyInfo*, il2cpp_class_get_properties, (Il2CppClass * klass, void* *iter));
DO_API(const PropertyInfo*, il2cpp_class_get_property_from_name, (Il2CppClass * klass, const char *name));
DO_API(Il2CppArray*, il2cpp_array_new, (Il2CppClass * elementTypeInfo, il2cpp_array_size_t length)); DO_API(FieldInfo*, il2cpp_class_get_field_from_name, (Il2CppClass * klass, const char *name));
DO_API(const MethodInfo*, il2cpp_class_get_methods, (Il2CppClass * klass, void* *iter));
DO_API(Il2CppArray*, il2cpp_array_new_specific, (Il2CppClass * arrayTypeInfo, il2cpp_array_size_t length)); DO_API(const MethodInfo*, il2cpp_class_get_method_from_name, (Il2CppClass * klass, const char* name, int argsCount));
DO_API(const char*, il2cpp_class_get_name, (Il2CppClass * klass));
DO_API(Il2CppArray*, il2cpp_array_new_full, (Il2CppClass * array_class, il2cpp_array_size_t * lengths, il2cpp_array_size_t * lower_bounds)); 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(Il2CppClass*, il2cpp_bounded_array_class_get, (Il2CppClass * element_class, uint32_t rank, bool bounded)); DO_API(Il2CppClass*, il2cpp_class_get_parent, (Il2CppClass * klass));
DO_API(Il2CppClass*, il2cpp_class_get_declaring_type, (Il2CppClass * klass));
DO_API(int, il2cpp_array_element_size, (const Il2CppClass * array_class)); DO_API(int32_t, il2cpp_class_instance_size, (Il2CppClass * klass));
DO_API(size_t, il2cpp_class_num_fields, (const Il2CppClass * enumKlass));
DO_API(bool, il2cpp_class_is_valuetype, (const Il2CppClass * klass));
DO_API(int32_t, il2cpp_class_value_size, (Il2CppClass * klass, uint32_t * align));
// assembly DO_API(bool, il2cpp_class_is_blittable, (const Il2CppClass * klass));
DO_API(int, il2cpp_class_get_flags, (const Il2CppClass * klass));
DO_API(const Il2CppImage*, il2cpp_assembly_get_image, (const Il2CppAssembly * assembly)); DO_API(bool, il2cpp_class_is_abstract, (const Il2CppClass * klass));
DO_API(bool, il2cpp_class_is_interface, (const Il2CppClass * klass));
DO_API(int, il2cpp_class_array_element_size, (const Il2CppClass * klass));
DO_API(Il2CppClass*, il2cpp_class_from_type, (const Il2CppType * type));
// class DO_API(const Il2CppType*, il2cpp_class_get_type, (Il2CppClass * klass));
DO_API(uint32_t, il2cpp_class_get_type_token, (Il2CppClass * klass));
DO_API(void, il2cpp_class_for_each, (void(*klassReportFunc)(Il2CppClass* klass, void* userData), void* userData)); DO_API(bool, il2cpp_class_has_attribute, (Il2CppClass * klass, Il2CppClass * attr_class));
DO_API(bool, il2cpp_class_has_references, (Il2CppClass * klass));
DO_API(const Il2CppType*, il2cpp_class_enum_basetype, (Il2CppClass * klass)); DO_API(bool, il2cpp_class_is_enum, (const Il2CppClass * klass));
DO_API(const Il2CppImage*, il2cpp_class_get_image, (Il2CppClass * klass));
DO_API(bool, il2cpp_class_is_generic, (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(bool, il2cpp_class_is_inflated, (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));
DO_API(bool, il2cpp_class_is_assignable_from, (Il2CppClass * klass, Il2CppClass * oklass));
// testing only
DO_API(bool, il2cpp_class_is_subclass_of, (Il2CppClass * klass, Il2CppClass * klassc, bool check_interfaces)); DO_API(size_t, il2cpp_class_get_bitmap_size, (const Il2CppClass * klass));
DO_API(void, il2cpp_class_get_bitmap, (Il2CppClass * klass, size_t * bitmap));
DO_API(bool, il2cpp_class_has_parent, (Il2CppClass * klass, Il2CppClass * klassc));
// stats
DO_API(Il2CppClass*, il2cpp_class_from_il2cpp_type, (const Il2CppType * type)); DO_API(bool, il2cpp_stats_dump_to_file, (const char *path));
DO_API(uint64_t, il2cpp_stats_get_value, (Il2CppStat stat));
DO_API(Il2CppClass*, il2cpp_class_from_name, (const Il2CppImage * image, const char* namespaze, const char *name));
// domain
DO_API(Il2CppClass*, il2cpp_class_from_system_type, (Il2CppReflectionType * type)); DO_API(Il2CppDomain*, il2cpp_domain_get, ());
DO_API(const Il2CppAssembly*, il2cpp_domain_assembly_open, (Il2CppDomain * domain, const char* name));
DO_API(Il2CppClass*, il2cpp_class_get_element_class, (Il2CppClass * klass)); DO_API(const Il2CppAssembly**, il2cpp_domain_get_assemblies, (const Il2CppDomain * domain, size_t * size));
DO_API(const EventInfo*, il2cpp_class_get_events, (Il2CppClass * klass, void* *iter)); // exception
DO_API_NO_RETURN(void, il2cpp_raise_exception, (Il2CppException*));
DO_API(FieldInfo*, il2cpp_class_get_fields, (Il2CppClass * klass, void* *iter)); DO_API(Il2CppException*, il2cpp_exception_from_name_msg, (const Il2CppImage * image, const char *name_space, const char *name, const char *msg));
DO_API(Il2CppException*, il2cpp_get_exception_argument_null, (const char *arg));
DO_API(Il2CppClass*, il2cpp_class_get_nested_types, (Il2CppClass * klass, void* *iter)); DO_API(void, il2cpp_format_exception, (const Il2CppException * ex, char* message, int message_size));
DO_API(void, il2cpp_format_stack_trace, (const Il2CppException * ex, char* output, int output_size));
DO_API(Il2CppClass*, il2cpp_class_get_interfaces, (Il2CppClass * klass, void* *iter)); DO_API(void, il2cpp_unhandled_exception, (Il2CppException*));
DO_API(const PropertyInfo*, il2cpp_class_get_properties, (Il2CppClass * klass, void* *iter)); // field
DO_API(int, il2cpp_field_get_flags, (FieldInfo * field));
DO_API(const PropertyInfo*, il2cpp_class_get_property_from_name, (Il2CppClass * klass, const char *name)); DO_API(const char*, il2cpp_field_get_name, (FieldInfo * field));
DO_API(Il2CppClass*, il2cpp_field_get_parent, (FieldInfo * field));
DO_API(FieldInfo*, il2cpp_class_get_field_from_name, (Il2CppClass * klass, const char *name)); DO_API(size_t, il2cpp_field_get_offset, (FieldInfo * field));
DO_API(const Il2CppType*, il2cpp_field_get_type, (FieldInfo * field));
DO_API(const MethodInfo*, il2cpp_class_get_methods, (Il2CppClass * klass, void* *iter)); DO_API(void, il2cpp_field_get_value, (Il2CppObject * obj, FieldInfo * field, void *value));
DO_API(Il2CppObject*, il2cpp_field_get_value_object, (FieldInfo * field, Il2CppObject * obj));
DO_API(const MethodInfo*, il2cpp_class_get_method_from_name, (Il2CppClass * klass, const char* name, int argsCount)); DO_API(bool, il2cpp_field_has_attribute, (FieldInfo * field, Il2CppClass * attr_class));
DO_API(void, il2cpp_field_set_value, (Il2CppObject * obj, FieldInfo * field, void *value));
DO_API(const char*, il2cpp_class_get_name, (Il2CppClass * klass)); DO_API(void, il2cpp_field_static_get_value, (FieldInfo * field, void *value));
DO_API(void, il2cpp_field_static_set_value, (FieldInfo * field, void *value));
DO_API(void, il2cpp_type_get_name_chunked, (const Il2CppType * type, void(*chunkReportFunc)(void* data, void* userData), void* userData)); DO_API(void, il2cpp_field_set_value_object, (Il2CppObject * instance, FieldInfo * field, Il2CppObject * value));
DO_API(bool, il2cpp_field_is_literal, (FieldInfo * field));
DO_API(const char*, il2cpp_class_get_namespace, (Il2CppClass * klass)); // gc
DO_API(void, il2cpp_gc_collect, (int maxGenerations));
DO_API(Il2CppClass*, il2cpp_class_get_parent, (Il2CppClass * klass)); DO_API(int32_t, il2cpp_gc_collect_a_little, ());
DO_API(void, il2cpp_gc_disable, ());
DO_API(Il2CppClass*, il2cpp_class_get_declaring_type, (Il2CppClass * klass)); DO_API(void, il2cpp_gc_enable, ());
DO_API(bool, il2cpp_gc_is_disabled, ());
DO_API(int32_t, il2cpp_class_instance_size, (Il2CppClass * klass)); 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(size_t, il2cpp_class_num_fields, (const Il2CppClass * enumKlass)); DO_API(bool, il2cpp_gc_is_incremental, ());
DO_API(int64_t, il2cpp_gc_get_used_size, ());
DO_API(bool, il2cpp_class_is_valuetype, (const Il2CppClass * klass)); 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(int32_t, il2cpp_class_value_size, (Il2CppClass * klass, uint32_t * align)); 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(bool, il2cpp_class_is_blittable, (const Il2CppClass * klass)); 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(int, il2cpp_class_get_flags, (const Il2CppClass * klass)); DO_API(void, il2cpp_stop_gc_world, ());
DO_API(void, il2cpp_start_gc_world, ());
DO_API(bool, il2cpp_class_is_abstract, (const Il2CppClass * klass)); // gchandle
DO_API(uint32_t, il2cpp_gchandle_new, (Il2CppObject * obj, bool pinned));
DO_API(bool, il2cpp_class_is_interface, (const Il2CppClass * klass)); DO_API(uint32_t, il2cpp_gchandle_new_weakref, (Il2CppObject * obj, bool track_resurrection));
DO_API(Il2CppObject*, il2cpp_gchandle_get_target , (uint32_t gchandle));
DO_API(int, il2cpp_class_array_element_size, (const Il2CppClass * klass)); 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));
DO_API(Il2CppClass*, il2cpp_class_from_type, (const Il2CppType * type));
// vm runtime info
DO_API(const Il2CppType*, il2cpp_class_get_type, (Il2CppClass * klass)); DO_API(uint32_t, il2cpp_object_header_size, ());
DO_API(uint32_t, il2cpp_array_object_header_size, ());
DO_API(uint32_t, il2cpp_class_get_type_token, (Il2CppClass * klass)); 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(bool, il2cpp_class_has_attribute, (Il2CppClass * klass, Il2CppClass * attr_class)); DO_API(uint32_t, il2cpp_allocation_granularity, ());
DO_API(bool, il2cpp_class_has_references, (Il2CppClass * klass)); // liveness
DO_API(void*, il2cpp_unity_liveness_calculation_begin, (Il2CppClass * filter, int max_object_count, il2cpp_register_object_callback callback, void* userdata, il2cpp_WorldChangedCallback onWorldStarted, il2cpp_WorldChangedCallback onWorldStopped));
DO_API(bool, il2cpp_class_is_enum, (const Il2CppClass * klass)); DO_API(void, il2cpp_unity_liveness_calculation_end, (void* state));
DO_API(void, il2cpp_unity_liveness_calculation_from_root, (Il2CppObject * root, void* state));
DO_API(const Il2CppImage*, il2cpp_class_get_image, (Il2CppClass * klass)); DO_API(void, il2cpp_unity_liveness_calculation_from_statics, (void* state));
DO_API(const char*, il2cpp_class_get_assemblyname, (const Il2CppClass * klass)); // method
DO_API(const Il2CppType*, il2cpp_method_get_return_type, (const MethodInfo * method));
DO_API(int, il2cpp_class_get_rank, (const Il2CppClass * klass)); DO_API(Il2CppClass*, il2cpp_method_get_declaring_type, (const MethodInfo * method));
DO_API(const char*, il2cpp_method_get_name, (const MethodInfo * method));
DO_API(uint32_t, il2cpp_class_get_data_size, (const Il2CppClass * klass)); 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(void*, il2cpp_class_get_static_field_data, (const Il2CppClass * klass)); DO_API(bool, il2cpp_method_is_generic, (const MethodInfo * method));
DO_API(bool, il2cpp_method_is_inflated, (const MethodInfo * method));
DO_API(bool, il2cpp_method_is_instance, (const MethodInfo * method));
DO_API(uint32_t, il2cpp_method_get_param_count, (const MethodInfo * method));
// testing only DO_API(const Il2CppType*, il2cpp_method_get_param, (const MethodInfo * method, uint32_t index));
DO_API(Il2CppClass*, il2cpp_method_get_class, (const MethodInfo * method));
DO_API(size_t, il2cpp_class_get_bitmap_size, (const Il2CppClass * klass)); DO_API(bool, il2cpp_method_has_attribute, (const MethodInfo * method, Il2CppClass * attr_class));
DO_API(uint32_t, il2cpp_method_get_flags, (const MethodInfo * method, uint32_t * iflags));
DO_API(void, il2cpp_class_get_bitmap, (Il2CppClass * klass, size_t * bitmap)); DO_API(uint32_t, il2cpp_method_get_token, (const MethodInfo * method));
DO_API(const char*, il2cpp_method_get_param_name, (const MethodInfo * method, uint32_t index));
// profiler
// stats #if IL2CPP_ENABLE_PROFILER
DO_API(bool, il2cpp_stats_dump_to_file, (const char *path));
#endif
DO_API(uint64_t, il2cpp_stats_get_value, (Il2CppStat stat));
// property
DO_API(uint32_t, il2cpp_property_get_flags, (PropertyInfo * prop));
DO_API(const MethodInfo*, il2cpp_property_get_get_method, (PropertyInfo * prop));
// domain DO_API(const MethodInfo*, il2cpp_property_get_set_method, (PropertyInfo * prop));
DO_API(const char*, il2cpp_property_get_name, (PropertyInfo * prop));
DO_API(Il2CppDomain*, il2cpp_domain_get, ()); DO_API(Il2CppClass*, il2cpp_property_get_parent, (PropertyInfo * prop));
DO_API(const Il2CppAssembly*, il2cpp_domain_assembly_open, (Il2CppDomain * domain, const char* name)); // object
DO_API(Il2CppClass*, il2cpp_object_get_class, (Il2CppObject * obj));
DO_API(const Il2CppAssembly**, il2cpp_domain_get_assemblies, (const Il2CppDomain * domain, size_t * size)); DO_API(uint32_t, il2cpp_object_get_size, (Il2CppObject * obj));
DO_API(const MethodInfo*, il2cpp_object_get_virtual_method, (Il2CppObject * obj, const MethodInfo * method));
DO_API(Il2CppObject*, il2cpp_object_new, (const Il2CppClass * klass));
DO_API(void*, il2cpp_object_unbox, (Il2CppObject * obj));
// exception
DO_API(Il2CppObject*, il2cpp_value_box, (Il2CppClass * klass, void* data));
DO_API_NO_RETURN(void, il2cpp_raise_exception, (Il2CppException*));
// monitor
DO_API(Il2CppException*, il2cpp_exception_from_name_msg, (const Il2CppImage * image, const char *name_space, const char *name, const char *msg)); DO_API(void, il2cpp_monitor_enter, (Il2CppObject * obj));
DO_API(bool, il2cpp_monitor_try_enter, (Il2CppObject * obj, uint32_t timeout));
DO_API(Il2CppException*, il2cpp_get_exception_argument_null, (const char *arg)); DO_API(void, il2cpp_monitor_exit, (Il2CppObject * obj));
DO_API(void, il2cpp_monitor_pulse, (Il2CppObject * obj));
DO_API(void, il2cpp_format_exception, (const Il2CppException * ex, char* message, int message_size)); DO_API(void, il2cpp_monitor_pulse_all, (Il2CppObject * obj));
DO_API(void, il2cpp_monitor_wait, (Il2CppObject * obj));
DO_API(void, il2cpp_format_stack_trace, (const Il2CppException * ex, char* output, int output_size)); DO_API(bool, il2cpp_monitor_try_wait, (Il2CppObject * obj, uint32_t timeout));
DO_API(void, il2cpp_unhandled_exception, (Il2CppException*)); // runtime
DO_API(Il2CppObject*, il2cpp_runtime_invoke, (const MethodInfo * method, void *obj, void **params, Il2CppException **exc));
DO_API(Il2CppObject*, il2cpp_runtime_invoke_convert_args, (const MethodInfo * method, void *obj, Il2CppObject **params, int paramCount, Il2CppException **exc));
DO_API(void, il2cpp_runtime_class_init, (Il2CppClass * klass));
// field DO_API(void, il2cpp_runtime_object_init, (Il2CppObject * obj));
DO_API(int, il2cpp_field_get_flags, (FieldInfo * field)); DO_API(void, il2cpp_runtime_object_init_exception, (Il2CppObject * obj, Il2CppException** exc));
DO_API(const char*, il2cpp_field_get_name, (FieldInfo * field)); DO_API(void, il2cpp_runtime_unhandled_exception_policy_set, (Il2CppRuntimeUnhandledExceptionPolicy value));
DO_API(Il2CppClass*, il2cpp_field_get_parent, (FieldInfo * field)); // string
DO_API(int32_t, il2cpp_string_length, (Il2CppString * str));
DO_API(size_t, il2cpp_field_get_offset, (FieldInfo * field)); DO_API(Il2CppChar*, il2cpp_string_chars, (Il2CppString * str));
DO_API(Il2CppString*, il2cpp_string_new, (const char* str));
DO_API(const Il2CppType*, il2cpp_field_get_type, (FieldInfo * field)); DO_API(Il2CppString*, il2cpp_string_new_len, (const char* str, uint32_t length));
DO_API(Il2CppString*, il2cpp_string_new_utf16, (const Il2CppChar * text, int32_t len));
DO_API(void, il2cpp_field_get_value, (Il2CppObject * obj, FieldInfo * field, void *value)); DO_API(Il2CppString*, il2cpp_string_new_wrapper, (const char* str));
DO_API(Il2CppString*, il2cpp_string_intern, (Il2CppString * str));
DO_API(Il2CppObject*, il2cpp_field_get_value_object, (FieldInfo * field, Il2CppObject * obj)); DO_API(Il2CppString*, il2cpp_string_is_interned, (Il2CppString * str));
DO_API(bool, il2cpp_field_has_attribute, (FieldInfo * field, Il2CppClass * attr_class)); // thread
DO_API(Il2CppThread*, il2cpp_thread_current, ());
DO_API(void, il2cpp_field_set_value, (Il2CppObject * obj, FieldInfo * field, void *value)); DO_API(Il2CppThread*, il2cpp_thread_attach, (Il2CppDomain * domain));
DO_API(void, il2cpp_thread_detach, (Il2CppThread * thread));
DO_API(void, il2cpp_field_static_get_value, (FieldInfo * field, void *value));
DO_API(Il2CppThread**, il2cpp_thread_get_all_attached_threads, (size_t * size));
DO_API(void, il2cpp_field_static_set_value, (FieldInfo * field, void *value)); DO_API(bool, il2cpp_is_vm_thread, (Il2CppThread * thread));
DO_API(void, il2cpp_field_set_value_object, (Il2CppObject * instance, FieldInfo * field, Il2CppObject * value)); // stacktrace
DO_API(void, il2cpp_current_thread_walk_frame_stack, (Il2CppFrameWalkFunc func, void* user_data));
DO_API(bool, il2cpp_field_is_literal, (FieldInfo * field)); 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));
// gc 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(void, il2cpp_gc_collect, (int maxGenerations)); 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_gc_collect_a_little, ()); DO_API(int32_t, il2cpp_thread_get_stack_depth, (Il2CppThread * thread));
DO_API(void, il2cpp_override_stack_backtrace, (Il2CppBacktraceFunc stackBacktraceFunc));
DO_API(void, il2cpp_gc_disable, ());
// type
DO_API(void, il2cpp_gc_enable, ()); DO_API(Il2CppObject*, il2cpp_type_get_object, (const Il2CppType * type));
DO_API(int, il2cpp_type_get_type, (const Il2CppType * type));
DO_API(bool, il2cpp_gc_is_disabled, ()); DO_API(Il2CppClass*, il2cpp_type_get_class_or_element_class, (const Il2CppType * type));
DO_API(char*, il2cpp_type_get_name, (const Il2CppType * type));
DO_API(int64_t, il2cpp_gc_get_max_time_slice_ns, ()); DO_API(bool, il2cpp_type_is_byref, (const Il2CppType * type));
DO_API(uint32_t, il2cpp_type_get_attrs, (const Il2CppType * type));
DO_API(void, il2cpp_gc_set_max_time_slice_ns, (int64_t maxTimeSlice)); 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_gc_is_incremental, ()); DO_API(bool, il2cpp_type_is_static, (const Il2CppType * type));
DO_API(bool, il2cpp_type_is_pointer_type, (const Il2CppType * type));
DO_API(int64_t, il2cpp_gc_get_used_size, ());
// image
DO_API(int64_t, il2cpp_gc_get_heap_size, ()); DO_API(const Il2CppAssembly*, il2cpp_image_get_assembly, (const Il2CppImage * image));
DO_API(const char*, il2cpp_image_get_name, (const Il2CppImage * image));
DO_API(void, il2cpp_gc_wbarrier_set_field, (Il2CppObject * obj, void **targetAddress, void *object)); DO_API(const char*, il2cpp_image_get_filename, (const Il2CppImage * image));
DO_API(const MethodInfo*, il2cpp_image_get_entry_point, (const Il2CppImage * image));
DO_API(bool, il2cpp_gc_has_strict_wbarriers, ());
DO_API(size_t, il2cpp_image_get_class_count, (const Il2CppImage * image));
DO_API(void, il2cpp_gc_set_external_allocation_tracker, (void(*func)(void*, size_t, int))); DO_API(const Il2CppClass*, il2cpp_image_get_class, (const Il2CppImage * image, size_t index));
DO_API(void, il2cpp_gc_set_external_wbarrier_tracker, (void(*func)(void**))); // Memory information
DO_API(Il2CppManagedMemorySnapshot*, il2cpp_capture_memory_snapshot, ());
DO_API(void, il2cpp_gc_foreach_heap, (void(*func)(void* data, void* userData), void* userData)); DO_API(void, il2cpp_free_captured_memory_snapshot, (Il2CppManagedMemorySnapshot * snapshot));
DO_API(void, il2cpp_stop_gc_world, ()); DO_API(void, il2cpp_set_find_plugin_callback, (Il2CppSetFindPlugInCallback method));
DO_API(void, il2cpp_start_gc_world, ()); // Logging
DO_API(void, il2cpp_register_log_callback, (Il2CppLogCallback method));
// gchandle
// Debugger
DO_API(uint32_t, il2cpp_gchandle_new, (Il2CppObject * obj, bool pinned)); DO_API(void, il2cpp_debugger_set_agent_options, (const char* options));
DO_API(bool, il2cpp_is_debugger_attached, ());
DO_API(uint32_t, il2cpp_gchandle_new_weakref, (Il2CppObject * obj, bool track_resurrection)); DO_API(void, il2cpp_register_debugger_agent_transport, (Il2CppDebuggerTransport * debuggerTransport));
DO_API(Il2CppObject*, il2cpp_gchandle_get_target , (uint32_t gchandle)); // Debug metadata
DO_API(bool, il2cpp_debug_get_method_info, (const MethodInfo*, Il2CppMethodDebugInfo * methodDebugInfo));
DO_API(void, il2cpp_gchandle_free, (uint32_t gchandle));
// TLS module
DO_API(void , il2cpp_gchandle_foreach_get_target, (void(*func)(void* data, void* userData), void* userData)); DO_API(void, il2cpp_unity_install_unitytls_interface, (const void* unitytlsInterfaceStruct));
// custom attributes
DO_API(Il2CppCustomAttrInfo*, il2cpp_custom_attrs_from_class, (Il2CppClass * klass));
// vm runtime info DO_API(Il2CppCustomAttrInfo*, il2cpp_custom_attrs_from_method, (const MethodInfo * method));
DO_API(uint32_t, il2cpp_object_header_size, ()); 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(uint32_t, il2cpp_array_object_header_size, ()); DO_API(Il2CppArray*, il2cpp_custom_attrs_construct, (Il2CppCustomAttrInfo * cinfo));
DO_API(uint32_t, il2cpp_offset_of_array_length_in_array_object_header, ()); DO_API(void, il2cpp_custom_attrs_free, (Il2CppCustomAttrInfo * ainfo));
DO_API(uint32_t, il2cpp_offset_of_array_bounds_in_array_object_header, ()); // Il2CppClass user data for GetComponent optimization
DO_API(void, il2cpp_class_set_userdata, (Il2CppClass * klass, void* userdata));
DO_API(uint32_t, il2cpp_allocation_granularity, ()); DO_API(int, il2cpp_class_get_userdata_offset, ());
DO_API(void, il2cpp_set_default_thread_affinity, (int64_t affinity_mask));
// liveness
DO_API(void*, il2cpp_unity_liveness_calculation_begin, (Il2CppClass * filter, int max_object_count, il2cpp_register_object_callback callback, void* userdata, il2cpp_WorldChangedCallback onWorldStarted, il2cpp_WorldChangedCallback onWorldStopped));
DO_API(void, il2cpp_unity_liveness_calculation_end, (void* state));
DO_API(void, il2cpp_unity_liveness_calculation_from_root, (Il2CppObject * root, void* state));
DO_API(void, il2cpp_unity_liveness_calculation_from_statics, (void* state));
// method
DO_API(const Il2CppType*, il2cpp_method_get_return_type, (const MethodInfo * method));
DO_API(Il2CppClass*, il2cpp_method_get_declaring_type, (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(bool, il2cpp_method_is_generic, (const MethodInfo * method));
DO_API(bool, il2cpp_method_is_inflated, (const MethodInfo * method));
DO_API(bool, il2cpp_method_is_instance, (const MethodInfo * method));
DO_API(uint32_t, il2cpp_method_get_param_count, (const MethodInfo * method));
DO_API(const Il2CppType*, il2cpp_method_get_param, (const MethodInfo * method, uint32_t index));
DO_API(Il2CppClass*, il2cpp_method_get_class, (const MethodInfo * method));
DO_API(bool, il2cpp_method_has_attribute, (const MethodInfo * method, Il2CppClass * attr_class));
DO_API(uint32_t, il2cpp_method_get_flags, (const MethodInfo * method, uint32_t * iflags));
DO_API(uint32_t, il2cpp_method_get_token, (const MethodInfo * method));
DO_API(const char*, il2cpp_method_get_param_name, (const MethodInfo * method, uint32_t index));
// profiler
#if IL2CPP_ENABLE_PROFILER
#endif
// property
DO_API(uint32_t, il2cpp_property_get_flags, (PropertyInfo * prop));
DO_API(const MethodInfo*, il2cpp_property_get_get_method, (PropertyInfo * prop));
DO_API(const MethodInfo*, il2cpp_property_get_set_method, (PropertyInfo * prop));
DO_API(const char*, il2cpp_property_get_name, (PropertyInfo * prop));
DO_API(Il2CppClass*, il2cpp_property_get_parent, (PropertyInfo * prop));
// object
DO_API(Il2CppClass*, il2cpp_object_get_class, (Il2CppObject * obj));
DO_API(uint32_t, il2cpp_object_get_size, (Il2CppObject * obj));
DO_API(const MethodInfo*, il2cpp_object_get_virtual_method, (Il2CppObject * obj, const MethodInfo * method));
DO_API(Il2CppObject*, il2cpp_object_new, (const Il2CppClass * klass));
DO_API(void*, il2cpp_object_unbox, (Il2CppObject * obj));
DO_API(Il2CppObject*, il2cpp_value_box, (Il2CppClass * klass, void* data));
// monitor
DO_API(void, il2cpp_monitor_enter, (Il2CppObject * obj));
DO_API(bool, il2cpp_monitor_try_enter, (Il2CppObject * obj, uint32_t timeout));
DO_API(void, il2cpp_monitor_exit, (Il2CppObject * obj));
DO_API(void, il2cpp_monitor_pulse, (Il2CppObject * obj));
DO_API(void, il2cpp_monitor_pulse_all, (Il2CppObject * obj));
DO_API(void, il2cpp_monitor_wait, (Il2CppObject * obj));
DO_API(bool, il2cpp_monitor_try_wait, (Il2CppObject * obj, uint32_t timeout));
// runtime
DO_API(Il2CppObject*, il2cpp_runtime_invoke, (const MethodInfo * method, void *obj, void **params, Il2CppException **exc));
DO_API(Il2CppObject*, il2cpp_runtime_invoke_convert_args, (const MethodInfo * method, void *obj, Il2CppObject **params, int paramCount, Il2CppException **exc));
DO_API(void, il2cpp_runtime_class_init, (Il2CppClass * klass));
DO_API(void, il2cpp_runtime_object_init, (Il2CppObject * obj));
DO_API(void, il2cpp_runtime_object_init_exception, (Il2CppObject * obj, Il2CppException** exc));
DO_API(void, il2cpp_runtime_unhandled_exception_policy_set, (Il2CppRuntimeUnhandledExceptionPolicy value));
// string
DO_API(int32_t, il2cpp_string_length, (Il2CppString * str));
DO_API(Il2CppChar*, il2cpp_string_chars, (Il2CppString * str));
DO_API(Il2CppString*, il2cpp_string_new, (const char* str));
DO_API(Il2CppString*, il2cpp_string_new_len, (const char* str, uint32_t length));
DO_API(Il2CppString*, il2cpp_string_new_utf16, (const Il2CppChar * text, int32_t len));
DO_API(Il2CppString*, il2cpp_string_new_wrapper, (const char* str));
DO_API(Il2CppString*, il2cpp_string_intern, (Il2CppString * str));
DO_API(Il2CppString*, il2cpp_string_is_interned, (Il2CppString * str));
// thread
DO_API(Il2CppThread*, il2cpp_thread_current, ());
DO_API(Il2CppThread*, il2cpp_thread_attach, (Il2CppDomain * domain));
DO_API(void, il2cpp_thread_detach, (Il2CppThread * thread));
DO_API(Il2CppThread**, il2cpp_thread_get_all_attached_threads, (size_t * size));
DO_API(bool, il2cpp_is_vm_thread, (Il2CppThread * thread));
// stacktrace
DO_API(void, il2cpp_current_thread_walk_frame_stack, (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_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_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_thread_get_stack_depth, (Il2CppThread * thread));
DO_API(void, il2cpp_override_stack_backtrace, (Il2CppBacktraceFunc stackBacktraceFunc));
// type
DO_API(Il2CppObject*, il2cpp_type_get_object, (const Il2CppType * type));
DO_API(int, il2cpp_type_get_type, (const Il2CppType * type));
DO_API(Il2CppClass*, il2cpp_type_get_class_or_element_class, (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
DO_API(const Il2CppAssembly*, il2cpp_image_get_assembly, (const Il2CppImage * image));
DO_API(const char*, il2cpp_image_get_name, (const Il2CppImage * image));
DO_API(const char*, il2cpp_image_get_filename, (const Il2CppImage * image));
DO_API(const MethodInfo*, il2cpp_image_get_entry_point, (const Il2CppImage * image));
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
DO_API(Il2CppManagedMemorySnapshot*, il2cpp_capture_memory_snapshot, ());
DO_API(void, il2cpp_free_captured_memory_snapshot, (Il2CppManagedMemorySnapshot * snapshot));
DO_API(void, il2cpp_set_find_plugin_callback, (Il2CppSetFindPlugInCallback method));
// Logging
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,366 +8,356 @@ using namespace app;
// Map hooks // Map hooks
DO_APP_FUNC(0x02E9F9E0, void, MoleMole_InLevelMapPageContext_OnMarkClicked, (InLevelMapPageContext* __this, MonoMapMark* mark, MethodInfo* method)); DO_APP_FUNC(0x034CC320, void, MoleMole_InLevelMapPageContext_OnMarkClicked, (InLevelMapPageContext* __this, MonoMapMark* mark, MethodInfo* method));
DO_APP_FUNC(0x02E85EC0, void, MoleMole_InLevelMapPageContext_OnMapClicked, (InLevelMapPageContext* __this, Vector2 screenPos, MethodInfo* method)); DO_APP_FUNC(0x034DE970, void, MoleMole_InLevelMapPageContext_OnMapClicked, (InLevelMapPageContext* __this, Vector2 screenPos, MethodInfo* method));
DO_APP_FUNC(0x00F0DCE0, bool, MoleMole_MapModule_IsAreaUnlock, (MoleMole_MapModule* __this, uint32_t sceneID, uint32_t areaID, MethodInfo* method)); DO_APP_FUNC(0x00B6AEA0, bool, MoleMole_MapModule_IsAreaUnlock, (MoleMole_MapModule* __this, uint32_t sceneID, uint32_t areaID, MethodInfo* method));
// changed to:
// DO_APP_FUNC(0x01B0A910, uint16_t, MoleMole_SimpleSafeUInt16_DBDMOONJALD_1, (MoleMole_SimpleSafeUInt16 v, MethodInfo * method)); // should be 'op_Implicit' not 'get_value'
// DBDMOONJALD => op_Implicit DO_APP_FUNC(0x02356530, uint16_t, MoleMole_SimpleSafeUInt16_get_Value, (SimpleSafeUInt16 v, MethodInfo* method));
DO_APP_FUNC(0x01B0A910, uint16_t, MoleMole_SimpleSafeUInt16_get_Value, (SimpleSafeUInt16 v, MethodInfo* method)); DO_APP_FUNC(0x02B0B560, uint32_t, MoleMole_SimpleSafeUInt32_get_Value, (SimpleSafeUInt32 v, MethodInfo* method));
DO_APP_FUNC(0x0400F280, uint32_t, MoleMole_SimpleSafeUInt32_get_Value, (SimpleSafeUInt32 v, MethodInfo* method)); DO_APP_FUNC(0x0501E650, String*, Marshal_PtrToStringAnsi, (void* ptr, MethodInfo* method));
DO_APP_FUNC(0x05DF4590, String*, Marshal_PtrToStringAnsi, (void* ptr, MethodInfo* method));
// Map utility // Map utility
DO_APP_FUNC(0x00E866B0, Rect, MonoInLevelMapPage_get_mapRect, (MonoInLevelMapPage* __this, MethodInfo* method)); DO_APP_FUNC(0x01690060, Rect, MonoInLevelMapPage_get_mapRect, (MonoInLevelMapPage* __this, MethodInfo* method));
DO_APP_FUNC(0x00E86680, Transform*, MonoInLevelMapPage_get_mapBackground, (MonoInLevelMapPage* __this, MethodInfo* method)); DO_APP_FUNC(0x01690030, Transform*, MonoInLevelMapPage_get_mapBackground, (MonoInLevelMapPage* __this, MethodInfo* method));
// Teleport hooks // Teleport hooks
DO_APP_FUNC(0x028AD260, void, GameManager_Update, (GameManager* __this, MethodInfo* method)); DO_APP_FUNC(0x0164D930, void, GameManager_Update, (GameManager* __this, MethodInfo* method));
DO_APP_FUNC(0x01F54110, void, MoleMole_LoadingManager_SceneGoto, (MoleMole_LoadingManager* __this, PlayerEnterSceneNotify* notify, MethodInfo* method)); DO_APP_FUNC(0x00ABA150, void, MoleMole_LoadingManager_SceneGoto, (MoleMole_LoadingManager* __this, PlayerEnterSceneNotify* notify, 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(0x00AB9730, 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(0x01F563C0, void, MoleMole_LoadingManager_RequestSceneTransToPoint, (MoleMole_LoadingManager* __this, uint32_t sceneId, uint32_t pointId, void* finishCallBackInForceDrag, MethodInfo* method)); DO_APP_FUNC(0x00AB5910, void, MoleMole_LoadingManager_RequestSceneTransToPoint, (MoleMole_LoadingManager* __this, uint32_t sceneId, uint32_t pointId, void* finishCallBackInForceDrag, MethodInfo* method));
DO_APP_FUNC(0x01F57E60, bool, MoleMole_LoadingManager_NeedTransByServer, (MoleMole_LoadingManager* __this, uint32_t sceneId, Vector3 position, MethodInfo* method)); DO_APP_FUNC(0x00ABC980, bool, MoleMole_LoadingManager_NeedTransByServer, (MoleMole_LoadingManager* __this, uint32_t sceneId, Vector3 position, MethodInfo* method));
DO_APP_FUNC(0x0104A6D0, Vector3, MoleMole_LocalEntityInfoData_get_initPos, (LocalEntityInfoData* __this, MethodInfo* method)); // shared offset DO_APP_FUNC(0x02BBC4E0, Vector3, MoleMole_LocalEntityInfoData_get_initPos, (LocalEntityInfoData* __this, MethodInfo* method)); // shared offset
// Unlimited stamina // Unlimited stamina
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(0x01A89B80, void, MoleMole_LevelSyncCombatPlugin_RequestSceneEntityMoveReq, (LevelSyncCombatPlugin* __this, uint32_t entityId, MotionInfo* syncInfo, bool isReliable, uint32_t HAOCOEMOMBG, MethodInfo* method));
DO_APP_FUNC(0x016189E0, void, MoleMole_DataItem_HandleNormalProp, (DataItem* __this, uint32_t type, int64_t value, DataPropOp__Enum state, MethodInfo* method)); DO_APP_FUNC(0x03907A10, void, MoleMole_DataItem_HandleNormalProp, (DataItem* __this, uint32_t type, int64_t value, DataPropOp__Enum state, MethodInfo* method));
// God mode // God mode
DO_APP_FUNC(0x027DB100, void, VCHumanoidMove_NotifyLandVelocity, (VCHumanoidMove* __this, Vector3 velocity, float reachMaxDownVelocityTime, MethodInfo* method)); DO_APP_FUNC(0x02A6BF10, void, VCHumanoidMove_NotifyLandVelocity, (VCHumanoidMove* __this, Vector3 velocity, float reachMaxDownVelocityTime, MethodInfo* method));
DO_APP_FUNC(0x036889B0, bool, Miscs_CheckTargetAttackable, (BaseEntity* attackerEntity, BaseEntity* targetEntity, MethodInfo* method)); DO_APP_FUNC(0x0279BE90, bool, Miscs_CheckTargetAttackable, (BaseEntity* attackerEntity, BaseEntity* targetEntity, MethodInfo* method));
DO_APP_FUNC(0x00D0CA90, void, MoleMole_LCBaseCombat_FireBeingHitEvent, (LCBaseCombat* __this, uint32_t attackeeRuntimeID, AttackResult* attackResult, MethodInfo* method)); DO_APP_FUNC(0x02C3D800, void, MoleMole_LCBaseCombat_FireBeingHitEvent, (LCBaseCombat* __this, uint32_t attackeeRuntimeID, AttackResult* attackResult, MethodInfo* method));
DO_APP_FUNC(0x02383880, bool, MoleMole_ActorAbilityPlugin_HanlderModifierThinkTimerUp, (ActorAbilityPlugin* __this, float delay, Object* arg, MethodInfo* method)); DO_APP_FUNC(0x02DCBA70, bool, MoleMole_ActorAbilityPlugin_HanlderModifierThinkTimerUp, (ActorAbilityPlugin* __this, float delay, Object* arg, MethodInfo* method));
// Cooldown cheats // Cooldown cheats
DO_APP_FUNC(0x00C69910, bool, MoleMole_HumanoidMoveFSM_CheckSprintCooldown, (/* HumanoidMoveFSM */void* __this, MethodInfo* method)); DO_APP_FUNC(0x011640B0, bool, MoleMole_HumanoidMoveFSM_CheckSprintCooldown, (/* HumanoidMoveFSM */void* __this, MethodInfo* method));
DO_APP_FUNC(0x01530C80, bool, MoleMole_LCAvatarCombat_IsEnergyMax, (void* __this, MethodInfo* method)); DO_APP_FUNC(0x026F0820, bool, MoleMole_LCAvatarCombat_IsEnergyMax, (void* __this, 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(0x026F0500, void, MoleMole_LCAvatarCombat_ChangeEnergy_1, (LCAvatarCombat* __this, ElementType__Enum type, float value, DataPropOp__Enum state, MethodInfo* method));
DO_APP_FUNC(0x0152DC10, bool, MoleMole_LCAvatarCombat_OnSkillStart, (LCAvatarCombat* __this, uint32_t skillID, float cdMultipler, MethodInfo* method)); DO_APP_FUNC(0x026F13C0, bool, MoleMole_LCAvatarCombat_OnSkillStart, (LCAvatarCombat* __this, uint32_t skillID, float cdMultipler, MethodInfo* method));
DO_APP_FUNC(0x01530210, bool, MoleMole_LCAvatarCombat_IsSkillInCD_1, (LCAvatarCombat* __this, LCAvatarCombat_OMIIMOJOHIP* skillInfo, MethodInfo* method)); DO_APP_FUNC(0x026F54A0, bool, MoleMole_LCAvatarCombat_IsSkillInCD_1, (LCAvatarCombat* __this, LCAvatarCombat_LCAvatarCombat_SkillInfo* skillInfo, MethodInfo* method));
DO_APP_FUNC(0x02385800, void, MoleMole_ActorAbilityPlugin_AddDynamicFloatWithRange, (void* __this, String* key, float value, float min, float max, bool forceDoAtRemote, MethodInfo* method)); DO_APP_FUNC(0x02DB4680, 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(0x00D12040, void, MoleMole_LCBaseCombat_DoHitEntity, (LCBaseCombat* __this, uint32_t targetID, AttackResult* attackResult, bool ignoreCheckCanBeHitInMP, MethodInfo* method)); DO_APP_FUNC(0x017B1D50, void, MoleMole_LCBaseCombat_DoHitEntity, (LCBaseCombat* __this, uint32_t targetID, AttackResult* attackResult, bool ignoreCheckCanBeHitInMP, MethodInfo* method));
DO_APP_FUNC(0x01F0D930, void, MoleMole_Formula_CalcAttackResult, (CombatProperty* attackCombatProperty, CombatProperty* defenseCombatProperty, AttackResult* attackResult, BaseEntity* attackerEntity, BaseEntity* attackeeEntity, MethodInfo* method)); DO_APP_FUNC(0x019DDF40, void, MoleMole_Formula_CalcAttackResult, (CombatProperty* attackCombatProperty, CombatProperty* defenseCombatProperty, AttackResult* attackResult, BaseEntity* attackerEntity, BaseEntity* attackeeEntity, MethodInfo* method));
// World cheats // World cheats
DO_APP_FUNC(0x022C3450, void, MoleMole_VCMonsterAIController_TryDoSkill, (/* VCMonsterAIController */ void* __this, uint32_t skillID, MethodInfo* method)); // Manual DO_APP_FUNC(0x01A784B0, void, MoleMole_VCMonsterAIController_TryDoSkill, (/* VCMonsterAIController */ void* __this, uint32_t skillID, MethodInfo* method)); // Manual
DO_APP_FUNC(0x020FA730, void, MoleMole_LCSelectPickup_AddInteeBtnByID, (void* __this, BaseEntity* entity, MethodInfo* method)); DO_APP_FUNC(0x02A851C0, void, MoleMole_LCSelectPickup_AddInteeBtnByID, (void* __this, BaseEntity* entity, MethodInfo* method));
DO_APP_FUNC(0x020FA090, bool, MoleMole_LCSelectPickup_IsInPosition, (void* __this, BaseEntity* entity, MethodInfo* method)); DO_APP_FUNC(0x02A86D80, bool, MoleMole_LCSelectPickup_IsInPosition, (void* __this, BaseEntity* entity, MethodInfo* method));
DO_APP_FUNC(0x020FC120, bool, MoleMole_LCSelectPickup_IsOutPosition, (void* __this, BaseEntity* entity, MethodInfo* method)); DO_APP_FUNC(0x02A86410, bool, MoleMole_LCSelectPickup_IsOutPosition, (void* __this, BaseEntity* entity, MethodInfo* method));
DO_APP_FUNC(0x0219B8E0, void, MoleMole_ItemModule_PickItem, (MoleMole_ItemModule* __this, uint32_t entityID, MethodInfo* method)); DO_APP_FUNC(0x034AD740, void, MoleMole_ItemModule_PickItem, (MoleMole_ItemModule* __this, uint32_t entityID, MethodInfo* method));
DO_APP_FUNC(0x00C2F710, void, MoleMole_LevelSceneElementViewPlugin_Tick, (LevelSceneElementViewPlugin* __this, float inDeltaTime, MethodInfo* method)); DO_APP_FUNC(0x00916CD0, void, MoleMole_LevelSceneElementViewPlugin_Tick, (LevelSceneElementViewPlugin* __this, float inDeltaTime, MethodInfo* method));
// Dialog skipping // Dialog skipping
DO_APP_FUNC(0x00F95350, bool, MoleMole_TalkDialogContext_get_canClick, (TalkDialogContext* __this, MethodInfo* method)); // delete DO_APP_FUNC(0x032B0360, bool, MoleMole_TalkDialogContext_get_canClick, (TalkDialogContext* __this, MethodInfo* method)); // delete
DO_APP_FUNC(0x00F932D0, bool, MoleMole_TalkDialogContext_get_canAutoClick, (TalkDialogContext* __this, MethodInfo* method)); DO_APP_FUNC(0x032B1F60, bool, MoleMole_TalkDialogContext_get_canAutoClick, (TalkDialogContext* __this, MethodInfo* method));
DO_APP_FUNC(0x00F97D70, void, MoleMole_TalkDialogContext_OnDialogSelectItem, (TalkDialogContext* __this, Notify* notify, MethodInfo* method)); DO_APP_FUNC(0x032AE7D0, void, MoleMole_TalkDialogContext_OnDialogSelectItem, (TalkDialogContext* __this, Notify* notify, MethodInfo* method));
DO_APP_FUNC(0x02BF0040, void, MoleMole_InLevelCutScenePageContext_OnFreeClick, (InLevelCutScenePageContext* __this, MethodInfo* method)); DO_APP_FUNC(0x03C0DEF0, void, MoleMole_InLevelCutScenePageContext_OnFreeClick, (InLevelCutScenePageContext* __this, MethodInfo* method));
DO_APP_FUNC(0x02BF1AC0, void, MoleMole_InLevelCutScenePageContext_UpdateView, (InLevelCutScenePageContext* __this, MethodInfo* method)); DO_APP_FUNC(0x03C0F7D0, void, MoleMole_InLevelCutScenePageContext_UpdateView, (InLevelCutScenePageContext* __this, MethodInfo* method));
DO_APP_FUNC(0x02BEF110, void, MoleMole_InLevelCutScenePageContext_ClearView, (InLevelCutScenePageContext* __this, MethodInfo* method)); DO_APP_FUNC(0x03C0D4F0, void, MoleMole_InLevelCutScenePageContext_ClearView, (InLevelCutScenePageContext* __this, MethodInfo* method));
// Skip Cutscene | RyujinZX#6666 // Skip Cutscene | RyujinZX#6666
DO_APP_FUNC(0x0363A300, void, CriwareMediaPlayer_Update, (CriwareMediaPlayer* __this, MethodInfo* method)); DO_APP_FUNC(0x014C4720, void, CriwareMediaPlayer_Update, (CriwareMediaPlayer* __this, MethodInfo* method));
DO_APP_FUNC(0x0363A0D0, void, CriwareMediaPlayer_Skip, (CriwareMediaPlayer* __this, MethodInfo* method)); DO_APP_FUNC(0x014C44F0, void, CriwareMediaPlayer_Skip, (CriwareMediaPlayer* __this, MethodInfo* method));
// Protection bypass // Protection bypass
DO_APP_FUNC(0x066218D0, Byte__Array*, Application_RecordUserData, (int32_t nType, MethodInfo* method)); DO_APP_FUNC(0x058838C0, Byte__Array*, Application_RecordUserData, (int32_t nType, MethodInfo* method));
// Networking // Networking
DO_APP_FUNC(0x01251620, void, Kcp_KcpNative_kcp_packet_destroy, (KcpPacket_1* packet, MethodInfo* method)); DO_APP_FUNC(0x0193C630, void, Kcp_KcpNative_kcp_packet_destroy, (KcpPacket_1* packet, MethodInfo* method));
DO_APP_FUNC(0x01251820, KcpPacket_1*, Kcp_KcpNative_kcp_packet_create, (uint8_t* data, int32_t len, MethodInfo* method)); DO_APP_FUNC(0x0193C740, KcpPacket_1*, Kcp_KcpNative_kcp_packet_create, (uint8_t* data, int32_t len, 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(0x0193C7D0, int32_t, Kcp_KcpNative_kcp_client_send_packet, (void* kcp_client, KcpPacket_1* packet, MethodInfo* method));
DO_APP_FUNC(0x00BD08A0, bool, MoleMole_KcpClient_TryDequeueEvent, (void* __this, ClientKcpEvent* evt, MethodInfo* method)); DO_APP_FUNC(0x029F05C0, bool, MoleMole_KcpClient_TryDequeueEvent, (void* __this, ClientKcpEvent* evt, MethodInfo* method));
DO_APP_FUNC(0x029C3D60, void, MoleMole_Packet_XorEncrypt, (Byte__Array** bytes, int32_t length, MethodInfo* method)); DO_APP_FUNC(0x018293F0, void, MoleMole_Packet_XorEncrypt, (Byte__Array** bytes, int32_t length, MethodInfo* method));
// Lua functions // Lua functions
DO_APP_FUNC(0x02D59730, Byte__Array*, LuaManager_LoadCustomLuaFile, (LuaManager* __this, String** filePath, bool* recycleBytes, MethodInfo* method)); DO_APP_FUNC(0x010B0CA0, Byte__Array*, LuaManager_LoadCustomLuaFile, (LuaManager* __this, String** filePath, bool* recycleBytes, MethodInfo* method));
DO_APP_FUNC(0x0655E850, void, Lua_xlua_pushasciistring, (void* L, String* str, MethodInfo* method)); DO_APP_FUNC(0x03A481B0, void, Lua_xlua_pushasciistring, (void* L, String* str, MethodInfo* method));
DO_APP_FUNC(0x01D8D5D0, void, MoleMole_LuaShellManager_DoString, (void* __this, Byte__Array* byteArray, MethodInfo* method)); DO_APP_FUNC(0x00E5EE40, void, MoleMole_LuaShellManager_DoString, (void* __this, Byte__Array* byteArray, MethodInfo* method));
DO_APP_FUNC(0x0600AFF0, void*, LuaEnv_DoString, (void* __this, Byte__Array* chunk, String* chunkName, void* env, MethodInfo* method)); DO_APP_FUNC(0x053D9D40, void*, LuaEnv_DoString, (void* __this, Byte__Array* chunk, String* chunkName, void* env, MethodInfo* method));
DO_APP_FUNC(0x01D8DCA0, void, MoleMole_LuaShellManager_ReportLuaShellResult, (void* __this, String* type, String* value, MethodInfo* method)); // Anticheat info DO_APP_FUNC(0x00E5E300, void, MoleMole_LuaShellManager_ReportLuaShellResult, (void* __this, String* type, String* value, MethodInfo* method)); // Anticheat info
// Debug hooks // Debug hooks
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(0x02C2F060, AttackResult_1*, MoleMole_AttackResult_FillProtoAttackResult, (AttackResult* __this, uint32_t attackerID, uint32_t defenseId, AttackResult_1* protoAttackResult, MethodInfo* method));
DO_APP_FUNC(0x01F16210, void, MoleMole_LevelSyncCombatPlugin_SendFaceToDir, (void* __this, uint32_t runtimeID, Vector3 forward, MethodInfo* method)); DO_APP_FUNC(0x01A884F0, void, MoleMole_LevelSyncCombatPlugin_SendFaceToDir, (void* __this, uint32_t runtimeID, Vector3 forward, MethodInfo* method));
DO_APP_FUNC(0x035D4180, void, MoleMole_BaseEntity_FireEvent, (BaseEntity* __this, BaseEvent* e, bool immediately, MethodInfo* method)); DO_APP_FUNC(0x031A89D0, void, MoleMole_BaseEntity_FireEvent, (BaseEntity* __this, BaseEvent* e, bool immediately, MethodInfo* method));
DO_APP_FUNC(0x023D4A90, bool, MoleMole_ActorAbilityPlugin_OnEvent, (void* __this, BaseEvent* e, MethodInfo* method)); DO_APP_FUNC(0x02DE38B0, bool, MoleMole_ActorAbilityPlugin_OnEvent, (void* __this, BaseEvent* e, MethodInfo* method));
// Kill aura // Kill aura
DO_APP_FUNC(0x03A52200, void, MoleMole_EvtCrash_Init, (EvtCrash* __this, uint32_t targetID, MethodInfo* method)); // Manual offset DO_APP_FUNC(0x01013540, void, MoleMole_EvtCrash_Init, (EvtCrash* __this, uint32_t targetID, MethodInfo* method)); // Manual offset
DO_APP_FUNC(0x00941E80, void, MoleMole_EventManager_FireEvent, (MoleMole_EventManager* __this, BaseEvent* e, bool immediately, MethodInfo* method)); DO_APP_FUNC(0x016C3F50, void, MoleMole_EventManager_FireEvent, (MoleMole_EventManager* __this, BaseEvent* e, bool immediately, MethodInfo* method));
DO_APP_FUNC(0x0167B1A0, bool, MoleMole_FixedBoolStack_get_value, (FixedBoolStack* __this, MethodInfo* method)); DO_APP_FUNC(0x00BC25D0, bool, MoleMole_FixedBoolStack_get_value, (FixedBoolStack* __this, MethodInfo* method));
// cannot find actual function name: MoleMole_EventHelper_Allocate_103 // 2.8 changed to 'MoleMole_EventHelper_Allocate_144'
// shared offset DO_APP_FUNC(0x0595D6F0, EvtCrash*, MoleMole_EventHelper_Allocate_103, (MethodInfo* method));
// possible: DO_APP_FUNC_METHODINFO(0x09A4E310, MoleMole_EventHelper_Allocate_103__MethodInfo);
// 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)); DO_APP_FUNC(0x017F3E90, void, MoleMole_BaseMoveSyncPlugin_ConvertSyncTaskToMotionInfo, (BaseMoveSyncPlugin* __this, MethodInfo* method));
// Fishing // Fishing
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(0x02695850, void, MoleMole_FishingModule_RequestFishCastRod, (void* __this, uint32_t baitId, uint32_t rodId, Vector3 pos, uint32_t rodEntityId, MethodInfo* method));
DO_APP_FUNC(0x0292D6D0, void, MoleMole_FishingModule_RequestFishBite, (void* __this, MethodInfo* method)); DO_APP_FUNC(0x02698820, void, MoleMole_FishingModule_RequestFishBite, (void* __this, MethodInfo* method));
DO_APP_FUNC(0x02930440, void, MoleMole_FishingModule_OnFishBiteRsp, (void* __this, FishBiteRsp* rsp, MethodInfo* method)); DO_APP_FUNC(0x02696680, void, MoleMole_FishingModule_OnFishBiteRsp, (void* __this, FishBiteRsp* rsp, MethodInfo* method));
DO_APP_FUNC(0x0292F470, void, MoleMole_FishingModule_RequestFishBattleBegin, (void* __this, MethodInfo* method)); DO_APP_FUNC(0x02695A60, void, MoleMole_FishingModule_RequestFishBattleBegin, (void* __this, MethodInfo* method));
DO_APP_FUNC(0x0292CAE0, void, MoleMole_FishingModule_OnFishBattleBeginRsp, (void* __this, FishBattleBeginRsp* rsp, MethodInfo* method)); DO_APP_FUNC(0x02698920, void, MoleMole_FishingModule_OnFishBattleBeginRsp, (void* __this, FishBattleBeginRsp* rsp, MethodInfo* method));
DO_APP_FUNC(0x0292D090, void, MoleMole_FishingModule_RequestFishBattleEnd, (void* __this, FishBattleResult__Enum result, bool isAlwaysBonus, float mxBonusTime, MethodInfo* method)); DO_APP_FUNC(0x02694C20, void, MoleMole_FishingModule_RequestFishBattleEnd, (void* __this, FishBattleResult__Enum result, bool isAlwaysBonus, float mxBonusTime, MethodInfo* method));
DO_APP_FUNC(0x0292DBD0, void, MoleMole_FishingModule_OnFishBattleEndRsp, (void* __this, FishBattleEndRsp* rsp, MethodInfo* method)); DO_APP_FUNC(0x02694F90, void, MoleMole_FishingModule_OnFishBattleEndRsp, (void* __this, FishBattleEndRsp* rsp, MethodInfo* method));
DO_APP_FUNC(0x0292F190, void, MoleMole_FishingModule_OnExitFishingRsp, (void* __this, void* rsp, MethodInfo* method)); DO_APP_FUNC(0x02694DB0, void, MoleMole_FishingModule_OnExitFishingRsp, (void* __this, void* rsp, MethodInfo* method));
DO_APP_FUNC(0x0292C7F0, void, MoleMole_FishingModule_onFishChosenNotify, (void* __this, void* notify, MethodInfo* method)); DO_APP_FUNC(0x02696DE0, void, MoleMole_FishingModule_onFishChosenNotify, (void* __this, void* notify, MethodInfo* method));
// Visuals // Visuals
DO_APP_FUNC(0x013FC090, void, MoleMole_SCameraModuleInitialize_SetWarningLocateRatio, (SCameraModuleInitialize* __this, double deltaTime, CameraShareData* data, MethodInfo* method)); DO_APP_FUNC(0x03A1D1A0, void, MoleMole_SCameraModuleInitialize_SetWarningLocateRatio, (SCameraModuleInitialize* __this, double deltaTime, CameraShareData* data, MethodInfo* method));
DO_APP_FUNC(0x01B8DC20, void, MoleMole_VCBaseSetDitherValue_set_ManagerDitherAlphaValue, (MoleMole_VCBaseSetDitherValue* __this, float value, MethodInfo* method)); DO_APP_FUNC(0x008E01A0, void, MoleMole_VCBaseSetDitherValue_set_ManagerDitherAlphaValue, (MoleMole_VCBaseSetDitherValue* __this, float value, MethodInfo* method));
// Chest Indicator | RyujinZX#6666 // Chest Indicator | RyujinZX#6666
DO_APP_FUNC(0x04C9B450, bool, MoleMole_LCIndicatorPlugin_DoCheck, (LCIndicatorPlugin* __this, MethodInfo* method)); DO_APP_FUNC(0x00F1DE90, bool, MoleMole_LCIndicatorPlugin_DoCheck, (LCIndicatorPlugin* __this, MethodInfo* method));
DO_APP_FUNC(0x04C9B830, void, MoleMole_LCIndicatorPlugin_ShowIcon, (LCIndicatorPlugin* __this, MethodInfo* method)); DO_APP_FUNC(0x00F1E2B0, void, MoleMole_LCIndicatorPlugin_ShowIcon, (LCIndicatorPlugin* __this, MethodInfo* method));
DO_APP_FUNC(0x04C9A750, void, MoleMole_LCIndicatorPlugin_HideIcon, (LCIndicatorPlugin* __this, MethodInfo* method)); DO_APP_FUNC(0x00F1F610, void, MoleMole_LCIndicatorPlugin_HideIcon, (LCIndicatorPlugin* __this, MethodInfo* method));
// Auto Cooking | RyujinZX#6666 // Auto Cooking | RyujinZX#6666
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(0x02982660, void, MoleMole_PlayerModule_RequestPlayerCook, (MoleMole_PlayerModule* __this, uint32_t recipeId, uint32_t avatarId, uint32_t qteQuality, uint32_t count, MethodInfo* method));
DO_APP_FUNC(0x02858180, void, MoleMole_PlayerModule_OnPlayerCookRsp, (MoleMole_PlayerModule* __this, PlayerCookRsp* rsp, MethodInfo* method)); DO_APP_FUNC(0x029905A0, void, MoleMole_PlayerModule_OnPlayerCookRsp, (MoleMole_PlayerModule* __this, PlayerCookRsp* rsp, MethodInfo* method));
DO_APP_FUNC(0x033F5820, void, MoleMole_CookingQtePageContext_UpdateProficiency, (CookingQtePageContext* __this, MethodInfo* method)); DO_APP_FUNC(0x012C3890, void, MoleMole_CookingQtePageContext_UpdateProficiency, (CookingQtePageContext* __this, MethodInfo* method));
DO_APP_FUNC(0x008ECD70, uint32_t, MoleMole_Config_CookRecipeExcelConfig_CheckCookFoodMaxNum, (uint32_t UpdateCookRecipeDic, MethodInfo* method)); DO_APP_FUNC(0x01765DB0, uint32_t, MoleMole_Config_CookRecipeExcelConfig_CheckCookFoodMaxNum, (uint32_t UpdateCookRecipeDic, MethodInfo* method));
DO_APP_FUNC(0x032256C0, void, CookingQtePageContext_CloseItemGotPanel, (CookingQtePageContext* __this, MethodInfo* method)); DO_APP_FUNC(0x012BC260, void, CookingQtePageContext_CloseItemGotPanel, (CookingQtePageContext* __this, MethodInfo* method));
// Profile Changer | RyujinZX#6666 // Profile Changer | RyujinZX#6666
DO_APP_FUNC(0x027A41A0, Button_1*, ProfilePage, (MonoInLevelPlayerProfilePage* __this, MethodInfo* method)); // MonoInLevelPlayerProfilePage_get_logoutButton DO_APP_FUNC(0x02A37D50, Button_1*, ProfilePage, (MonoInLevelPlayerProfilePage* __this, MethodInfo* method)); // MonoInLevelPlayerProfilePage_get_logoutButton
DO_APP_FUNC(0x016A77B0, void, ProfileEditPage, (MonoFriendInformationDialog* __this, Sprite* value, MethodInfo* method)); // MonoFriendInformationDialog_set_icon DO_APP_FUNC(0x01B101B0, void, ProfileEditPage, (MonoFriendInformationDialog* __this, Sprite* value, MethodInfo* method)); // MonoFriendInformationDialog_set_icon
// Free Camera // Free Camera
DO_APP_FUNC(0x06595250, float, Camera_get_fieldOfView, (Camera* __this, MethodInfo* method)); DO_APP_FUNC(0x057E9C00, float, Camera_get_fieldOfView, (Camera* __this, MethodInfo* method));
DO_APP_FUNC(0x065956C0, void, Camera_set_fieldOfView, (Camera* __this, float value, MethodInfo* method)); DO_APP_FUNC(0x057EA060, void, Camera_set_fieldOfView, (Camera* __this, float value, MethodInfo* method));
DO_APP_FUNC(0x065949D0, void, Camera_CopyFrom, (Camera* __this, Camera* other, MethodInfo* method)); DO_APP_FUNC(0x057E9460, void, Camera_CopyFrom, (Camera* __this, Camera* other, MethodInfo* method));
// Game Object, Component, Transform Utility // Game Object, Component, Transform Utility
DO_APP_FUNC(0x0662F130, GameObject*, GameObject_Find, (String* name, MethodInfo* method)); DO_APP_FUNC(0x05890060, GameObject*, GameObject_Find, (String* name, MethodInfo* method));
DO_APP_FUNC(0x0662F190, Component_1*, GameObject_GetComponentByName, (GameObject* __this, String* type, MethodInfo* method)); DO_APP_FUNC(0x05890070, Component_1*, GameObject_GetComponentByName, (GameObject* __this, String* type, MethodInfo* method));
DO_APP_FUNC(0x0662F660, bool, GameObject_get_active, (GameObject* __this, MethodInfo* method)); DO_APP_FUNC(0x058905A0, bool, GameObject_get_active, (GameObject* __this, MethodInfo* method));
DO_APP_FUNC(0x0662F720, void, GameObject_set_active, (GameObject* __this, bool value, MethodInfo* method)); DO_APP_FUNC(0x05890660, void, GameObject_set_active, (GameObject* __this, bool value, MethodInfo* method));
DO_APP_FUNC(0x065546E0, Transform*, Transform_GetChild, (Transform* __this, int32_t index, MethodInfo* method)); DO_APP_FUNC(0x05890460, void, GameObject_SetActive, (GameObject* __this, bool value, MethodInfo* method));
DO_APP_FUNC(0x0652EA10, Component_1*, Component_1_GetComponent_1, (Component_1* __this, String* type, MethodInfo* method)); DO_APP_FUNC(0x057BA950, Transform*, Transform_GetChild, (Transform* __this, int32_t index, MethodInfo* method));
DO_APP_FUNC(0x0662F520, void, GameObject_SetActive, (GameObject* __this, bool value, MethodInfo* method)); DO_APP_FUNC(0x05799870, Component_1*, Component_1_GetComponent_1, (Component_1* __this, String* type, MethodInfo* method));
DO_APP_FUNC(0x0662F100, GameObject*, GameObject_CreatePrimitive, (PrimitiveType__Enum type, MethodInfo* method)); DO_APP_FUNC(0x05890030, GameObject*, GameObject_CreatePrimitive, (PrimitiveType__Enum type, MethodInfo* method));
DO_APP_FUNC(0x0662F700, Transform*, GameObject_get_transform, (GameObject* __this, MethodInfo* method)); DO_APP_FUNC(0x05890640, Transform*, GameObject_get_transform, (GameObject* __this, MethodInfo* method));
DO_APP_FUNC(0x06555A60, Quaternion, Transform_get_localRotation, (Transform* __this, MethodInfo* method)); DO_APP_FUNC(0x057BBCE0, Quaternion, Transform_get_localRotation, (Transform* __this, MethodInfo* method));
DO_APP_FUNC(0x06555EF0, void, Transform_set_localRotation, (Transform* __this, Quaternion value, MethodInfo* method)); DO_APP_FUNC(0x057BAB20, void, Transform_set_localRotation, (Transform* __this, Quaternion value, MethodInfo* method));
DO_APP_FUNC(0x06555AA0, Vector3, Transform_get_localScale, (Transform* __this, MethodInfo* method)); DO_APP_FUNC(0x057BBD20, Vector3, Transform_get_localScale, (Transform* __this, MethodInfo* method));
DO_APP_FUNC(0x065548E0, void, Transform_set_localScale, (Transform* __this, Vector3 value, MethodInfo* method)); DO_APP_FUNC(0x057BAB30, void, Transform_set_localScale, (Transform* __this, Vector3 value, MethodInfo* method));
DO_APP_FUNC(0x06555A20, Vector3, Transform_get_localPosition, (Transform* __this, MethodInfo* method)); DO_APP_FUNC(0x057BBCA0, Vector3, Transform_get_localPosition, (Transform* __this, MethodInfo* method));
DO_APP_FUNC(0x06555EE0, void, Transform_set_localPosition, (Transform* __this, Vector3 value, MethodInfo* method)); DO_APP_FUNC(0x057BC160, void, Transform_set_localPosition, (Transform* __this, Vector3 value, MethodInfo* method));
DO_APP_FUNC(0x0662F090, Component_1*, GameObject_AddComponentInternal, (GameObject* __this, String* className, MethodInfo* method)); DO_APP_FUNC(0x0588FFD0, Component_1*, GameObject_AddComponentInternal, (GameObject* __this, String* className, MethodInfo* method));
DO_APP_FUNC(0x0662F0A0, Component_1*, GameObject_AddComponent, (GameObject* __this, Type* componentType, MethodInfo* method)); DO_APP_FUNC(0x05890380, Component_1*, GameObject_AddComponent, (GameObject* __this, Type* componentType, MethodInfo* method));
DO_APP_FUNC(0x065508C0, void, Object_1_DestroyImmediate_1, (Object_1* obj, MethodInfo* method)); DO_APP_FUNC(0x057B6B30, void, Object_1_DestroyImmediate_1, (Object_1* obj, MethodInfo* method));
DO_APP_FUNC(0x06550C00, Object_1*, Object_1_Instantiate_2, (Object_1* original, MethodInfo* method)); DO_APP_FUNC(0x057B6E80, Object_1*, Object_1_Instantiate_2, (Object_1* original, MethodInfo* method));
DO_APP_FUNC(0x041B0BB0, Object*, Object_1_Instantiate_5, (Object* original, MethodInfo* method)); DO_APP_FUNC(0x05A5FA20, Object*, Object_1_Instantiate_5, (Object* original, MethodInfo* method));
DO_APP_FUNC(0x041B0BB0, GameObject*, Object_1_Instantiate_11, (GameObject* original, MethodInfo* method)); DO_APP_FUNC(0x05A5FA20, GameObject*, Object_1_Instantiate_10, (GameObject* original, MethodInfo* method));
DO_APP_FUNC(0x06555870, int32_t, Transform_get_childCount, (Transform* __this, MethodInfo* method)); DO_APP_FUNC(0x057BBAF0, int32_t, Transform_get_childCount, (Transform* __this, MethodInfo* method));
DO_APP_FUNC(0x0652EBC0, GameObject*, Component_1_get_gameObject, (Component_1* __this, MethodInfo* method)); DO_APP_FUNC(0x05799A20, GameObject*, Component_1_get_gameObject, (Component_1* __this, MethodInfo* method));
DO_APP_FUNC(0x06551030, String*, Object_1_get_name, (Object_1* __this, MethodInfo* method)); DO_APP_FUNC(0x057B72A0, String*, Object_1_get_name, (Object_1* __this, MethodInfo* method));
DO_APP_FUNC(0x0665DA90, Material__Array*, Renderer_GetMaterialArray, (Renderer* __this, MethodInfo* method)); DO_APP_FUNC(0x058BBC70, Material__Array*, Renderer_GetMaterialArray, (Renderer* __this, MethodInfo* method));
DO_APP_FUNC(0x0652FB40, void, Material_set_mainTexture, (Material* __this, Texture* value, MethodInfo* method)); DO_APP_FUNC(0x0579AA20, void, Material_set_mainTexture, (Material* __this, Texture* value, MethodInfo* method));
DO_APP_FUNC(0x0664E800, Vector3, Vector3_Lerp, (Vector3 a, Vector3 b, float t, MethodInfo* method)); DO_APP_FUNC(0x058AFCD0, Vector3, Vector3_Lerp, (Vector3 a, Vector3 b, float t, MethodInfo* method));
DO_APP_FUNC(0x06555890, Vector3, Transform_get_eulerAngles, (Transform* __this, MethodInfo* method)); DO_APP_FUNC(0x057BBB10, Vector3, Transform_get_eulerAngles, (Transform* __this, MethodInfo* method));
DO_APP_FUNC(0x06555DD0, void, Transform_set_eulerAngles, (Transform* __this, Vector3 value, MethodInfo* method)); DO_APP_FUNC(0x057BC050, void, Transform_set_eulerAngles, (Transform* __this, Vector3 value, MethodInfo* method));
DO_APP_FUNC(0x06555BE0, Vector3, Transform_get_right, (Transform* __this, MethodInfo* method)); DO_APP_FUNC(0x057BBE60, Vector3, Transform_get_right, (Transform* __this, MethodInfo* method));
DO_APP_FUNC(0x06555F70, void, Transform_set_right, (Transform* __this, Vector3 value, MethodInfo* method)); DO_APP_FUNC(0x057BC1E0, void, Transform_set_right, (Transform* __this, Vector3 value, MethodInfo* method));
DO_APP_FUNC(0x06555CC0, Vector3, Transform_get_up, (Transform* __this, MethodInfo* method)); DO_APP_FUNC(0x057BBF40, Vector3, Transform_get_up, (Transform* __this, MethodInfo* method));
DO_APP_FUNC(0x06555FF0, void, Transform_set_up, (Transform* __this, Vector3 value, MethodInfo* method)); DO_APP_FUNC(0x057BC260, void, Transform_set_up, (Transform* __this, Vector3 value, MethodInfo* method));
DO_APP_FUNC(0x06555900, Vector3, Transform_get_forward, (Transform* __this, MethodInfo* method)); DO_APP_FUNC(0x057BBB80, Vector3, Transform_get_forward, (Transform* __this, MethodInfo* method));
DO_APP_FUNC(0x06555E20, void, Transform_set_forward, (Transform* __this, Vector3 value, MethodInfo* method)); DO_APP_FUNC(0x057BC0A0, void, Transform_set_forward, (Transform* __this, Vector3 value, MethodInfo* method));
DO_APP_FUNC(0x06555FE0, void, Transform_set_rotation, (Transform* __this, Quaternion value, MethodInfo* method)); DO_APP_FUNC(0x057BC250, void, Transform_set_rotation, (Transform* __this, Quaternion value, MethodInfo* method));
DO_APP_FUNC(0x065E1EC0, float, Mathf_Lerp, (float a, float b, float t, MethodInfo* method)); DO_APP_FUNC(0x0583CA40, float, Mathf_Lerp, (float a, float b, float t, MethodInfo* method));
DO_APP_FUNC(0x065F56F0, float, Input_GetAxis, (String* axisName, MethodInfo* method)); DO_APP_FUNC(0x058502D0, float, Input_GetAxis, (String* axisName, MethodInfo* method));
DO_APP_FUNC(0x06550910, void, Object_1_Destroy_1, (Object_1* obj, MethodInfo* method)); DO_APP_FUNC(0x057B6B80, void, Object_1_Destroy_1, (Object_1* obj, MethodInfo* method));
// Music game event
DO_APP_FUNC(0x00FFE490, void, MusicGamePlayComponent_OnPlayerUpdate, (MusicGamePlayComponent* __this, MethodInfo* method));
DO_APP_FUNC(0x00FFE600, void, MusicGamePlayComponent_OnStart, (MusicGamePlayComponent* __this, BeatMapData* beatMapData, MusicMetaInfo* musicMetaInfo, MethodInfo* method));
DO_APP_FUNC(0x00FFE310, void, MusicGamePlayComponent_OnMiss, (MusicGamePlayComponent* __this, MethodInfo* method));
DO_APP_FUNC(0x00FFEE40, void, MusicGamePlayComponent_set_combo, (MusicGamePlayComponent* __this, uint32_t value, MethodInfo* method));
DO_APP_FUNC(0x00FFF050, void, MusicGamePlayComponent_set_score, (MusicGamePlayComponent* __this, float value, MethodInfo* method));
DO_APP_FUNC(0x01B5AEB0, void, MusicGamePlayComponent_set_maxCombo, (MusicGamePlayComponent* __this, uint32_t value, MethodInfo* method));
DO_APP_FUNC(0x02C749E0, void, MusicGamePlayComponent_set_perfectCnt, (MusicGamePlayComponent* __this, uint32_t value, MethodInfo* method));
DO_APP_FUNC(0x035C4E50, void, MusicGamePlayComponent_set_greatCnt, (MusicGamePlayComponent* __this, uint32_t value, MethodInfo* method));
DO_APP_FUNC(0x017A31C0, void, MusicGamePlayComponent_set_missCnt, (MusicGamePlayComponent* __this, uint32_t value, MethodInfo* method));
DO_APP_FUNC(0x00FFDE90, void, MusicGamePlayComponent_OnHit, (MusicGamePlayComponent* __this, float score, MethodInfo* method));
// Utility // Utility
DO_APP_FUNC(0x03551B60, String*, Text_get_text, (Text* __this, MethodInfo* method)); DO_APP_FUNC(0x03480F40, String*, Text_get_text, (Text* __this, MethodInfo* method));
DO_APP_FUNC(0x06568060, void, Text_set_text, (Text* __this, String* value, MethodInfo* method)); DO_APP_FUNC(0x057C4340, void, Text_set_text, (Text* __this, String* value, MethodInfo* method));
DO_APP_FUNC(0x0658D6B0, void, Slider_1_set_value, (Slider_1* __this, float value, MethodInfo* method)); DO_APP_FUNC(0x057E20F0, void, Slider_1_set_minValue, (Slider_1* __this, float value, MethodInfo* method));
DO_APP_FUNC(0x0658D560, void, Slider_1_set_maxValue, (Slider_1* __this, float value, MethodInfo* method)); DO_APP_FUNC(0x057E2070, void, Slider_1_set_maxValue, (Slider_1* __this, float value, MethodInfo* method));
DO_APP_FUNC(0x0658D5E0, void, Slider_1_set_minValue, (Slider_1* __this, float value, MethodInfo* method)); DO_APP_FUNC(0x057E14F0, void, Slider_1_set_value, (Slider_1* __this, float value, MethodInfo* method));
DO_APP_FUNC(0x065F6470, Rect, Sprite_get_rect, (Sprite* __this, MethodInfo* method)); DO_APP_FUNC(0x05851060, Rect, Sprite_get_rect, (Sprite* __this, MethodInfo* method));
DO_APP_FUNC(0x0667D6A0, Texture2D*, NativeGallery_LoadImageAtPath, (String* imagePath, int32_t maxSize, bool markTextureNonReadable, bool generateMipmaps, bool linearColorSpace, MethodInfo* method)); DO_APP_FUNC(0x058DC9E0, Texture2D*, NativeGallery_LoadImageAtPath, (String* imagePath, int32_t maxSize, bool markTextureNonReadable, bool generateMipmaps, bool linearColorSpace, MethodInfo* method));
DO_APP_FUNC(0x065F6270, Sprite*, Sprite_Create, (Texture2D* texture, Rect rect, Vector2 pivot, float pixelsPerUnit, MethodInfo* method)); DO_APP_FUNC(0x05850E60, Sprite*, Sprite_Create, (Texture2D* texture, Rect rect, Vector2 pivot, float pixelsPerUnit, MethodInfo* method));
DO_APP_FUNC(0x06567B70, void, Text_set_alignment, (Text* __this, TextAnchor__Enum value, MethodInfo* method)); DO_APP_FUNC(0x057C3E50, void, Text_set_alignment, (Text* __this, TextAnchor__Enum value, MethodInfo* method));
DO_APP_FUNC(0x06567E10, void, Text_set_horizontalOverflow, (Text* __this, HorizontalWrapMode__Enum value, MethodInfo* method)); DO_APP_FUNC(0x057C40F0, void, Text_set_horizontalOverflow, (Text* __this, HorizontalWrapMode__Enum value, MethodInfo* method));
DO_APP_FUNC(0x06568110, void, Text_set_verticalOverflow, (Text* __this, VerticalWrapMode__Enum value, MethodInfo* method)); DO_APP_FUNC(0x057C43F0, void, Text_set_verticalOverflow, (Text* __this, VerticalWrapMode__Enum value, MethodInfo* method));
DO_APP_FUNC(0x06567A80, bool, Text_get_resizeTextForBestFit, (Text* __this, MethodInfo* method)); DO_APP_FUNC(0x057C3D60, bool, Text_get_resizeTextForBestFit, (Text* __this, MethodInfo* method));
DO_APP_FUNC(0x06567EE0, void, Text_set_resizeTextForBestFit, (Text* __this, bool value, MethodInfo* method)); DO_APP_FUNC(0x057C41C0, void, Text_set_resizeTextForBestFit, (Text* __this, bool value, MethodInfo* method));
DO_APP_FUNC(0x06567450, int32_t, Text_get_fontSize, (Text* __this, MethodInfo* method)); DO_APP_FUNC(0x057C36A0, int32_t, Text_get_fontSize, (Text* __this, MethodInfo* method));
DO_APP_FUNC(0x06567CC0, void, Text_set_fontSize, (Text* __this, int32_t value, MethodInfo* method)); DO_APP_FUNC(0x057C3FA0, void, Text_set_fontSize, (Text* __this, int32_t value, MethodInfo* method));
DO_APP_FUNC(0x036865D0, float, Miscs_CalcCurrentGroundWaterHeight, (float x, float z, MethodInfo* method)); DO_APP_FUNC(0x02798730, float, Miscs_CalcCurrentGroundWaterHeight, (float x, float z, MethodInfo* method));
DO_APP_FUNC(0x03685E00, float, Miscs_CalcCurrentGroundHeight, (float x, float z, MethodInfo* method)); DO_APP_FUNC(0x02797F60, float, Miscs_CalcCurrentGroundHeight, (float x, float z, MethodInfo* method));
DO_APP_FUNC(0x03685F10, float, Miscs_CalcCurrentGroundHeight_1, (float x, float z, float rayStartHeight, float rayDetectLength, int32_t layer, MethodInfo* method)); DO_APP_FUNC(0x02798070, float, Miscs_CalcCurrentGroundHeight_1, (float x, float z, float rayStartHeight, float rayDetectLength, int32_t layer, MethodInfo* method));
DO_APP_FUNC(0x03686170, Vector3, Miscs_CalcCurrentGroundNorm, (Vector3 pos, MethodInfo* method)); DO_APP_FUNC(0x027982D0, Vector3, Miscs_CalcCurrentGroundNorm, (Vector3 pos, MethodInfo* method));
DO_APP_FUNC(0x01A4E0E0, Vector3, Miscs_GenWorldPos, (Vector2 levelMapPos, MethodInfo* method)); DO_APP_FUNC(0x027A24B0, Vector3, Miscs_GenWorldPos, (Vector2 levelMapPos, MethodInfo* method));
DO_APP_FUNC(0x01A4DA90, Vector2, Miscs_GenLevelPos_1, (Vector3 worldPos, MethodInfo* method)); DO_APP_FUNC(0x027A1F90, Vector2, Miscs_GenLevelPos_1, (Vector3 worldPos, MethodInfo* method));
DO_APP_FUNC(0x0369D590, int32_t, Miscs_GetSceneGroundLayerMask, (MethodInfo* method)); DO_APP_FUNC(0x027B6BF0, int32_t, Miscs_GetSceneGroundLayerMask, (MethodInfo* method));
DO_APP_FUNC(0x056202E0, Vector3, WorldShiftManager_GetRelativePosition, (Vector3 pos, MethodInfo* method)); DO_APP_FUNC(0x04D7B430, Vector3, WorldShiftManager_GetAbsolutePosition, (Vector3 pos, MethodInfo* method));
DO_APP_FUNC(0x05620130, Vector3, WorldShiftManager_GetAbsolutePosition, (Vector3 pos, MethodInfo* method)); DO_APP_FUNC(0x04D7B5E0, Vector3, WorldShiftManager_GetRelativePosition, (Vector3 pos, MethodInfo* method));
DO_APP_FUNC(0x02DAB410, Vector3, ActorUtils_GetAvatarPos, (MethodInfo* method)); DO_APP_FUNC(0x01F6B8F0, Vector3, ActorUtils_GetAvatarPos, (MethodInfo* method));
DO_APP_FUNC(0x02DAF680, void, ActorUtils_SetAvatarPos, (Vector3 pos, MethodInfo* method)); DO_APP_FUNC(0x01F72080, void, ActorUtils_SetAvatarPos, (Vector3 pos, MethodInfo* method));
DO_APP_FUNC(0x02DB0AF0, void, ActorUtils_SyncAvatarMotion, (int32_t state, MethodInfo* method)); DO_APP_FUNC(0x01F74C50, void, ActorUtils_SyncAvatarMotion, (int32_t state, MethodInfo* method));
DO_APP_FUNC(0x01AA5200, Notify, Notify_CreateNotify_1, (MoleMole_NotifyTypes__Enum type, Object* body, MethodInfo* method)); DO_APP_FUNC(0x02B87390, Notify, Notify_CreateNotify_1, (MoleMole_NotifyTypes__Enum type, Object* body, MethodInfo* method));
// DO_APP_FUNC(0x020C7AA0, float, MoleMole_SafeFloat_DBDMOONJALD_1, (MoleMole_SafeFloat v, MethodInfo * method)); // should be 'op_Implicit' not 'get_value'
// DBDMOONJALD => op_Implicit DO_APP_FUNC(0x0228EB70, float, MoleMole_SafeFloat_get_Value, (SafeFloat safeFloat, MethodInfo* method));
DO_APP_FUNC(0x020C7AA0, float, MoleMole_SafeFloat_get_Value, (SafeFloat safeFloat, MethodInfo* method)); // should be 'op_Implicit' not 'set_value'
// DO_APP_FUNC(0x020C7920, MoleMole_SafeFloat, MoleMole_SafeFloat_DBDMOONJALD, (float IGFNEICJINB, MethodInfo * method)); DO_APP_FUNC(0x0228EC70, SafeFloat, MoleMole_SafeFloat_set_Value, (float value, MethodInfo* method));
DO_APP_FUNC(0x020C7920, SafeFloat, MoleMole_SafeFloat_set_Value, (float value, MethodInfo* method));
DO_APP_FUNC(0x039E2290, LCBaseCombat*, MoleMole_BaseEntity_GetLogicCombatComponent_1, (BaseEntity* __this, MethodInfo* method));
DO_APP_FUNC(0x035CC430, String*, MoleMole_BaseEntity_ToStringRelease, (BaseEntity* __this, MethodInfo* method)); DO_APP_FUNC(0x0596AFF0, LCBaseCombat*, MoleMole_BaseEntity_GetLogicCombatComponent_1, (BaseEntity* __this, MethodInfo* method));
DO_APP_FUNC(0x035AC7B0, void, MoleMole_BaseEntity_SetRelativePosition, (BaseEntity* __this, Vector3 position, bool forceSyncToRigidbody, MethodInfo* method)); DO_APP_FUNC_METHODINFO(0x099D4410, MoleMole_BaseEntity_GetLogicCombatComponent_1__MethodInfo);
DO_APP_FUNC(0x035C0AA0, void, MoleMole_BaseEntity_SetAbsolutePosition, (BaseEntity* __this, Vector3 abpos, bool forceSyncToRigidbody, MethodInfo* method));
DO_APP_FUNC(0x035C4B00, Vector3, MoleMole_BaseEntity_GetAbsolutePosition, (BaseEntity* __this, MethodInfo* method));
DO_APP_FUNC(0x035BE810, Vector3, MoleMole_BaseEntity_GetRelativePosition, (BaseEntity* __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(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(0x031ACE30, String*, MoleMole_BaseEntity_ToStringRelease, (BaseEntity* __this, MethodInfo* method));
DO_APP_FUNC(0x0187FDC0, GameObject*, MoleMole_BaseEntity_get_gameObject, (BaseEntity* __this, MethodInfo* method)); DO_APP_FUNC(0x03180C10, void, MoleMole_BaseEntity_SetRelativePosition, (BaseEntity* __this, Vector3 position, bool forceSyncToRigidbody, MethodInfo* method));
DO_APP_FUNC(0x035ACC70, GameObject*, MoleMole_BaseEntity_get_rootGameObject, (BaseEntity* __this, MethodInfo* method)); DO_APP_FUNC(0x0319D8B0, void, MoleMole_BaseEntity_SetAbsolutePosition, (BaseEntity* __this, Vector3 abpos, bool forceSyncToRigidbody, MethodInfo* method));
DO_APP_FUNC_METHODINFO(0x096EAD20, MoleMole_BaseEntity_GetMoveComponent_1__MethodInfo); DO_APP_FUNC(0x031AA160, Vector3, MoleMole_BaseEntity_GetAbsolutePosition, (BaseEntity* __this, MethodInfo* method));
DO_APP_FUNC_METHODINFO(0x096EC0B8, MoleMole_BaseEntity_GetLogicCombatComponent_1__MethodInfo); DO_APP_FUNC(0x0318A430, Vector3, MoleMole_BaseEntity_GetRelativePosition, (BaseEntity* __this, MethodInfo* method));
DO_APP_FUNC(0x01BF68A0, BaseEntity*, MoleMole_EntityManager_GetLocalAvatarEntity, (MoleMole_EntityManager* __this, MethodInfo* method)); DO_APP_FUNC(0x03197170, Vector3, MoleMole_BaseEntity_GetForward, (BaseEntity* __this, MethodInfo* method));
DO_APP_FUNC(0x0319BCC0, Vector3, MoleMole_BaseEntity_GetForwardFast, (BaseEntity* __this, MethodInfo* method));
DO_APP_FUNC(0x03187C30, Vector3, MoleMole_BaseEntity_GetRight, (BaseEntity* __this, MethodInfo* method));
DO_APP_FUNC(0x03185DC0, Vector3, MoleMole_BaseEntity_GetUp, (BaseEntity* __this, MethodInfo* method));
DO_APP_FUNC(0x031A5120, bool, MoleMole_BaseEntity_IsActive, (BaseEntity* __this, MethodInfo* method));
DO_APP_FUNC(0x031AFEE0, Rigidbody*, MoleMole_BaseEntity_GetRigidbody, (BaseEntity* __this, MethodInfo* method));
DO_APP_FUNC(0x01BF4E50, CameraEntity*, MoleMole_EntityManager_GetMainCameraEntity, (MoleMole_EntityManager* __this, MethodInfo* method)); // type should be 'MoleMole_VCCharacterCombat' not 'MoleMole_VCBaseMove'
DO_APP_FUNC(0x01BEB030, BaseEntity*, MoleMole_EntityManager_GetValidEntity, (MoleMole_EntityManager* __this, uint32_t runtimeID, MethodInfo* method)); // function name should be 'GetVisualCombatComponent' not 'GetMoveComponent'
DO_APP_FUNC(0x01BF2D60, bool, MoleMole_EntityManager_RemoveEntity, (MoleMole_EntityManager* __this, BaseEntity* entity, uint32_t specifiedRuntimeID, MethodInfo* method)); DO_APP_FUNC(0x0596AEC0, VCBaseMove*, MoleMole_BaseEntity_GetMoveComponent_1, (BaseEntity* __this, MethodInfo* method));
DO_APP_FUNC(0x01C02800, bool, MoleMole_EntityManager_IsCachedEntity, (MoleMole_EntityManager* __this, BaseEntity* entity, MethodInfo* method)); DO_APP_FUNC_METHODINFO(0x099DBAE8, MoleMole_BaseEntity_GetMoveComponent_1__MethodInfo);
DO_APP_FUNC(0x01BF01F0, List_1_MoleMole_BaseEntity_*, MoleMole_EntityManager_GetEntities, (MoleMole_EntityManager* __this, MethodInfo* method));
DO_APP_FUNC(0x044B8970, Bounds, Utils_4_GetBounds, (GameObject* go, MethodInfo* method)); DO_APP_FUNC(0x03188270, List_1_MoleMole_BaseComponent_*, MoleMole_BaseEntity_GetAllLogicComponents, (BaseEntity* __this, MethodInfo* method));
DO_APP_FUNC(0x01E3E4F0, GameObject*, MoleMole_BaseEntity_get_gameObject, (BaseEntity* __this, MethodInfo* method));
DO_APP_FUNC(0x031A3550, GameObject*, MoleMole_BaseEntity_get_rootGameObject, (BaseEntity* __this, MethodInfo* method));
// type should be 'MoleMole_AvatarEntity' not 'MoleMole_BaseEntity'
DO_APP_FUNC(0x02F5E1C0, BaseEntity*, MoleMole_EntityManager_GetLocalAvatarEntity, (MoleMole_EntityManager* __this, MethodInfo* method));
DO_APP_FUNC(0x02F56C80, CameraEntity*, MoleMole_EntityManager_GetMainCameraEntity, (MoleMole_EntityManager* __this, MethodInfo* method));
DO_APP_FUNC(0x02F682B0, BaseEntity*, MoleMole_EntityManager_GetValidEntity, (MoleMole_EntityManager* __this, uint32_t runtimeID, MethodInfo* method));
// should be: DO_APP_FUNC(0x02F5F490, void, MoleMole_EntityManager_RemoveEntity, (MoleMole_EntityManager * __this, bool entity, MethodInfo * method));
DO_APP_FUNC(0x02F5F490, bool, MoleMole_EntityManager_RemoveEntity, (MoleMole_EntityManager* __this, BaseEntity* entity, uint32_t specifiedRuntimeID, MethodInfo* method));
DO_APP_FUNC(0x02F60A10, bool, MoleMole_EntityManager_IsCachedEntity, (MoleMole_EntityManager* __this, BaseEntity* entity, MethodInfo* method));
DO_APP_FUNC(0x02F65570, List_1_MoleMole_BaseEntity_*, MoleMole_EntityManager_GetEntities, (MoleMole_EntityManager* __this, MethodInfo* method));
DO_APP_FUNC(0x045E15B0, Bounds, Utils_4_GetBounds, (GameObject* go, MethodInfo* method));
// Modify | RyujinZX#6666 // Modify | RyujinZX#6666
DO_APP_FUNC(0x00C6C780, void, MoleMole_HumanoidMoveFSM_LateTick, (HumanoidMoveFSM* __this, float deltaTime, MethodInfo* method)); DO_APP_FUNC(0x0116C440, void, MoleMole_HumanoidMoveFSM_LateTick, (HumanoidMoveFSM* __this, float deltaTime, 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(0x013B7790, bool, MoleMole_ScenePropManager_GetTreeTypeByPattern, (MoleMole_ScenePropManager* __this, String* pattern, MoleMole_Config_TreeType__Enum* treeType, MethodInfo* method));
DO_APP_FUNC(0x018C5CE0, void, MoleMole_NetworkManager_RequestHitTreeDropNotify, (MoleMole_NetworkManager* __this, Vector3 position, Vector3 hitPostion, MoleMole_Config_TreeType__Enum treeType, MethodInfo* method));
// function should be 'MoleMole_TimeUtil_get_LocalNowMsTimeStamp'
DO_APP_FUNC(0x0266BFF0, uint64_t, MoleMole_TimeUtil_get_NowTimeStamp, (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(0x00AB5620, bool, MoleMole_LoadingManager_IsLoaded, (MoleMole_LoadingManager* __this, MethodInfo* method));
DO_APP_FUNC(0x0291FEF0, uint64_t, MoleMole_TimeUtil_get_NowTimeStamp, (MethodInfo* method));
DO_APP_FUNC(0x01F5BA10, bool, MoleMole_LoadingManager_IsLoaded, (MoleMole_LoadingManager* __this, MethodInfo* method));
// Thanks to | RyujinZX // Thanks to | RyujinZX
DO_APP_FUNC(0x01337F70, void, MoleMole_LCAbilityElement_ReduceModifierDurability, (LCAbilityElement* __this, int32_t modifierDurabilityIndex, float reduceDurability, Nullable_1_Single_ deltaTime, MethodInfo* method)); DO_APP_FUNC(0x00D87B20, void, MoleMole_LCAbilityElement_ReduceModifierDurability, (LCAbilityElement* __this, int32_t modifierDurabilityIndex, float reduceDurability, Nullable_1_Single_ deltaTime, MethodInfo* method));
DO_APP_FUNC(0x01FF2880, BaseEntity*, MoleMole_GadgetEntity_GetOwnerEntity, (GadgetEntity* __this, MethodInfo* method)); DO_APP_FUNC(0x023B07C0, 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(0x034D77C0, 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(0x0350F300, void, MoleMole_InLevelMapPageContext_UpdateView, (InLevelMapPageContext* __this, MethodInfo* method));
DO_APP_FUNC(0x01A36960, bool, MoleMole_UIManager_HasEnableMapCamera, (MoleMole_UIManager* __this, MethodInfo* method)); DO_APP_FUNC(0x014A97A0, bool, MoleMole_UIManager_HasEnableMapCamera, (MoleMole_UIManager* __this, MethodInfo* method));
DO_APP_FUNC(0x00E8E700, void, MonoMiniMap_Update, (MonoMiniMap* __this, MethodInfo* method)); DO_APP_FUNC(0x016981E0, void, MonoMiniMap_Update, (MonoMiniMap* __this, MethodInfo* method));
DO_APP_FUNC(0x0635A470, MonoMiniMap*, MonoInLevelMainPage_get_miniMap, (void* __this, MethodInfo* method)); DO_APP_FUNC(0x02CB6CA0, 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(0x0265C390, 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(0x009E9F50, float, MoleMole_InLevelMainPageContext_get_miniMapScale, (InLevelMainPageContext* __this, MethodInfo* method));
// UnityEngine // UnityEngine
DO_APP_FUNC(0x065ECB70, void, RenderSettings_set_fog, (bool value, MethodInfo* method)); DO_APP_FUNC(0x058476D0, void, RenderSettings_set_fog, (bool value, MethodInfo* method));
DO_APP_FUNC(0x06621FF0, void, Application_set_targetFrameRate, (int32_t value, MethodInfo* method)); DO_APP_FUNC(0x05883D80, int32_t, Application_get_targetFrameRate, (MethodInfo* method));
DO_APP_FUNC(0x06621D80, int32_t, Application_get_targetFrameRate, (MethodInfo* method)); DO_APP_FUNC(0x05883FE0, void, Application_set_targetFrameRate, (int32_t value, MethodInfo* method));
DO_APP_FUNC(0x06678780, bool, RectTransformUtility_ScreenPointToLocalPointInRectangle, (void* rect, Vector2 screenPoint, void* cam, Vector2* localPoint, MethodInfo* method)); DO_APP_FUNC(0x058D7A10, bool, RectTransformUtility_ScreenPointToLocalPointInRectangle, (void* rect, Vector2 screenPoint, void* cam, Vector2* localPoint, MethodInfo* method));
DO_APP_FUNC(0x06555BA0, Vector3, Transform_get_position, (Transform* __this, MethodInfo* method)); DO_APP_FUNC(0x057BBE20, Vector3, Transform_get_position, (Transform* __this, MethodInfo* method));
DO_APP_FUNC(0x065548F0, void, Transform_set_position, (Transform* __this, Vector3 value, MethodInfo* method)); DO_APP_FUNC(0x057BAB40, void, Transform_set_position, (Transform* __this, Vector3 value, MethodInfo* method));
DO_APP_FUNC(0x0664E3A0, float, Vector3_Distance, (Vector3 a, Vector3 b, MethodInfo* method)); DO_APP_FUNC(0x058AF880, float, Vector3_Distance, (Vector3 a, Vector3 b, MethodInfo* method));
DO_APP_FUNC(0x06534FE0, float, Vector2_Distance, (Vector2 a, Vector2 b, MethodInfo* method)); DO_APP_FUNC(0x0579FEB0, float, Vector2_Distance, (Vector2 a, Vector2 b, MethodInfo* method));
DO_APP_FUNC(0x0658F980, void, Cursor_set_visible, (bool value, MethodInfo* method)); DO_APP_FUNC(0x057E4470, void, Cursor_set_visible, (bool value, MethodInfo* method));
DO_APP_FUNC(0x0658F970, void, Cursor_set_lockState, (CursorLockMode__Enum value, MethodInfo* method)); DO_APP_FUNC(0x057E4460, void, Cursor_set_lockState, (CursorLockMode__Enum value, MethodInfo* method));
DO_APP_FUNC(0x0658F960, bool, Cursor_get_visible, (MethodInfo* method)); DO_APP_FUNC(0x057E4450, bool, Cursor_get_visible, (MethodInfo* method));
DO_APP_FUNC(0x064B3A00, void, Rigidbody_set_detectCollisions, (Rigidbody* __this, bool value, MethodInfo* method)); DO_APP_FUNC(0x0571E9A0, void, Rigidbody_set_detectCollisions, (Rigidbody* __this, bool value, MethodInfo* method));
DO_APP_FUNC(0x064B3A40, void, Rigidbody_set_isKinematic, (Rigidbody* __this, bool value, MethodInfo* method)); DO_APP_FUNC(0x0571E9E0, void, Rigidbody_set_isKinematic, (Rigidbody* __this, bool value, MethodInfo* method));
DO_APP_FUNC(0x064B3740, void, Rigidbody_set_velocity, (Rigidbody* __this, Vector3 value, MethodInfo* method)); DO_APP_FUNC(0x0571E8F0, Vector3, Rigidbody_get_velocity, (Rigidbody* __this, MethodInfo* method));
DO_APP_FUNC(0x0571EA60, void, Rigidbody_set_velocity, (Rigidbody* __this, Vector3 value, MethodInfo* method));
DO_APP_FUNC(0x06631190, float, Time_get_timeScale, (MethodInfo* method)); DO_APP_FUNC(0x058922C0, float, Time_get_timeScale, (MethodInfo* method));
DO_APP_FUNC(0x06631240, void, Time_set_timeScale, (float value, MethodInfo* method)); DO_APP_FUNC(0x05892370, void, Time_set_timeScale, (float value, MethodInfo* method));
DO_APP_FUNC(0x066310B0, float, Time_get_deltaTime, (MethodInfo* method)); DO_APP_FUNC(0x058921E0, float, Time_get_deltaTime, (MethodInfo* method));
DO_APP_FUNC(0x06594F40, Vector3, Camera_WorldToScreenPoint, (Camera* __this, Vector3 position, MethodInfo* method)); DO_APP_FUNC(0x057E98F0, Vector3, Camera_WorldToScreenPoint, (Camera* __this, Vector3 position, MethodInfo* method));
DO_APP_FUNC(0x06595270, Camera*, Camera_get_main, (MethodInfo* method)); DO_APP_FUNC(0x057E9C20, Camera*, Camera_get_main, (MethodInfo* method));
DO_APP_FUNC(0x065953B0, int32_t, Camera_get_pixelWidth, (Camera* __this, MethodInfo* method)); DO_APP_FUNC(0x057E9D60, int32_t, Camera_get_pixelWidth, (Camera* __this, MethodInfo* method));
DO_APP_FUNC(0x06595360, int32_t, Camera_get_pixelHeight, (Camera* __this, MethodInfo* method)); DO_APP_FUNC(0x057E9D10, int32_t, Camera_get_pixelHeight, (Camera* __this, MethodInfo* method));
DO_APP_FUNC(0x06533CA0, int32_t, Screen_get_width, (MethodInfo* method)); DO_APP_FUNC(0x0579EB70, int32_t, Screen_get_width, (MethodInfo* method));
DO_APP_FUNC(0x06533C30, int32_t, Screen_get_height, (MethodInfo* method)); DO_APP_FUNC(0x0579EB00, int32_t, Screen_get_height, (MethodInfo* method));
DO_APP_FUNC(0x0664CF50, bool, Behaviour_get_isActiveAndEnabled, (Behaviour* __this, MethodInfo* method)); DO_APP_FUNC(0x058AE2D0, bool, Behaviour_get_isActiveAndEnabled, (Behaviour* __this, MethodInfo* method));
DO_APP_FUNC(0x066306D0, Vector3, Quaternion_ToEulerAngles, (Quaternion rotation, MethodInfo* method)); DO_APP_FUNC(0x05891610, Vector3, Quaternion_ToEulerAngles, (Quaternion rotation, MethodInfo* method));
DO_APP_FUNC(0x066309A0, Vector3, Quaternion_get_eulerAngles, (Quaternion__Boxed* __this, MethodInfo* method)); DO_APP_FUNC(0x05891AD0, Vector3, Quaternion_get_eulerAngles, (Quaternion__Boxed* __this, MethodInfo* method));
DO_APP_FUNC(0x06555C70, Quaternion, Transform_get_rotation, (Transform* __this, MethodInfo* method)); DO_APP_FUNC(0x057BBEF0, Quaternion, Transform_get_rotation, (Transform* __this, MethodInfo* method));
DO_APP_FUNC(0x06552F50, Rect, RectTransform_get_rect, (RectTransform* __this, MethodInfo* method)); DO_APP_FUNC(0x057B91C0, Rect, RectTransform_get_rect, (RectTransform* __this, MethodInfo* method));
DO_APP_FUNC(0x06677BD0, float, Canvas_get_scaleFactor, (/*Canvas**/void* __this, MethodInfo* method)); DO_APP_FUNC(0x058D6E60, float, Canvas_get_scaleFactor, (/*Canvas**/void* __this, MethodInfo* method));
DO_APP_FUNC(0x00935700, void, LevelTimeManager_SetInternalTimeOfDay, (/*LevelTimeManager**/void* __this, float inHours, bool force, bool refreshEnviroTime, MethodInfo* method)); DO_APP_FUNC(0x00E3D750, void, LevelTimeManager_SetInternalTimeOfDay, (/*LevelTimeManager**/void* __this, float inHours, bool force, bool refreshEnviroTime, MethodInfo* method));
// Singletons // Singletons
DO_APP_FUNC(0x05189A90, void*, Singleton_GetInstance, (MethodInfo* method)); DO_APP_FUNC(0x06074140, void*, Singleton_GetInstance, (MethodInfo* method));
DO_APP_FUNC_METHODINFO(0x096EA3B0, Singleton_1_MoleMole_MapModule__get_Instance__MethodInfo); DO_APP_FUNC_METHODINFO(0x099D0B08, Singleton_1_MoleMole_MapModule__get_Instance__MethodInfo);
DO_APP_FUNC_METHODINFO(0x096EA470, Singleton_1_MoleMole_LoadingManager__get_Instance__MethodInfo); DO_APP_FUNC_METHODINFO(0x099D2620, Singleton_1_MoleMole_LoadingManager__get_Instance__MethodInfo);
DO_APP_FUNC_METHODINFO(0x096E5D68, Singleton_1_MoleMole_EntityManager__get_Instance__MethodInfo); DO_APP_FUNC_METHODINFO(0x099CFF50, Singleton_1_MoleMole_EntityManager__get_Instance__MethodInfo);
DO_APP_FUNC_METHODINFO(0x096E6D98, Singleton_1_InteractionManager__get_Instance__MethodInfo); DO_APP_FUNC_METHODINFO(0x099D3190, Singleton_1_InteractionManager__get_Instance__MethodInfo);
DO_APP_FUNC_METHODINFO(0x096E5C20, Singleton_1_MoleMole_UIManager__get_Instance__MethodInfo); DO_APP_FUNC_METHODINFO(0x099CFF78, Singleton_1_MoleMole_UIManager__get_Instance__MethodInfo);
DO_APP_FUNC_METHODINFO(0x096E9868, Singleton_1_MoleMole_ItemModule__get_Instance__MethodInfo); DO_APP_FUNC_METHODINFO(0x099DDF00, Singleton_1_MoleMole_ItemModule__get_Instance__MethodInfo);
DO_APP_FUNC_METHODINFO(0x096E7148, Singleton_1_MoleMole_EventManager__get_Instance__MethodInfo); DO_APP_FUNC_METHODINFO(0x099CFF60, Singleton_1_MoleMole_EventManager__get_Instance__MethodInfo);
DO_APP_FUNC_METHODINFO(0x096E5C58, Singleton_1_MoleMole_PlayerModule__get_Instance__MethodInfo); DO_APP_FUNC_METHODINFO(0x099D0570, Singleton_1_MoleMole_PlayerModule__get_Instance__MethodInfo);
DO_APP_FUNC_METHODINFO(0x096E5EE8, Singleton_1_MoleMole_MapManager__get_Instance__MethodInfo); DO_APP_FUNC_METHODINFO(0x099D4130, Singleton_1_MoleMole_MapManager__get_Instance__MethodInfo);
DO_APP_FUNC_METHODINFO(0x096E8A10, Singleton_1_MoleMole_ScenePropManager__get_Instance__MethodInfo); DO_APP_FUNC_METHODINFO(0x099D1CA8, Singleton_1_MoleMole_ScenePropManager__get_Instance__MethodInfo);
DO_APP_FUNC_METHODINFO(0x096E63A0, Singleton_1_MoleMole_NetworkManager__get_Instance__MethodInfo); DO_APP_FUNC_METHODINFO(0x099D49D0, Singleton_1_MoleMole_NetworkManager__get_Instance__MethodInfo);

View File

@ -5,14 +5,14 @@
// * IL2CPP application-specific type definition addresses // * IL2CPP application-specific type definition addresses
// ****************************************************************************** // ******************************************************************************
DO_TYPEDEF(0x0967B618, Byte); DO_TYPEDEF(0x09961DA8, Byte);
DO_TYPEDEF(0x09688C08, GameManager); DO_TYPEDEF(0x0996F680, GameManager);
DO_TYPEDEF(0x0967B508, Int32); DO_TYPEDEF(0x09961C98, Int32);
// v 2.7 // v 2.8
DO_TYPEDEF(0x0968AD88, LCChestPlugin); DO_TYPEDEF(0x099843E8, LCChestPlugin);
DO_TYPEDEF(0x09688FD8, SceneTreeObject); DO_TYPEDEF(0x0997B320, SceneTreeObject);
DO_TYPEDEF(0x0969D1F8, MoleMole_ActorModifier); DO_TYPEDEF(0x09977D70, MoleMole_ActorModifier);
//// v 2.6 //// v 2.6
//DO_SINGLETONEDEF(0x0B3442D8, Singleton_1_MoleMole_MapModule_); //DO_SINGLETONEDEF(0x0B3442D8, Singleton_1_MoleMole_MapModule_);

View File

@ -4160,8 +4160,8 @@ namespace app {
// Entity fields // Entity fields
struct __declspec(align(8)) BaseEntity__Fields { struct __declspec(align(8)) BaseEntity__Fields {
struct Dictionary_2_System_UInt32_AIPerceptionInfo_* _aiPerceptionDic; struct Dictionary_2_System_UInt32_AIPerceptionInfo_* _aiPerceptionDic;
struct ConfigEntity* jsonConfig; struct Config_ConfigEntity* jsonConfig;
struct EntityExcelConfig* excelConfig; struct Config_EntityExcelConfig* excelConfig;
uint32_t _runtimeID_k__BackingField; uint32_t _runtimeID_k__BackingField;
uint32_t _preRuntimeID_k__BackingField; uint32_t _preRuntimeID_k__BackingField;
uint32_t _configID_k__BackingField; uint32_t _configID_k__BackingField;
@ -4175,6 +4175,8 @@ namespace app {
struct String* alias; struct String* alias;
int32_t order; int32_t order;
bool isForceClientSynced; bool isForceClientSynced;
int32_t LBLOKJMMJJP;
bool MAHNGBKEEAD;
struct ComponentManager* _logicComponentManager; struct ComponentManager* _logicComponentManager;
struct ComponentManager* _visualComponentManager; struct ComponentManager* _visualComponentManager;
bool _isInited; bool _isInited;
@ -4184,12 +4186,12 @@ namespace app {
struct EntityQueryIndex* _queryIndex; struct EntityQueryIndex* _queryIndex;
struct AbilityComponentProxy* _abilityProxy; struct AbilityComponentProxy* _abilityProxy;
struct TokenManager* _tokenMgr; struct TokenManager* _tokenMgr;
VisionType__Enum _MCNHBKKJDCL_k__BackingField; VisionType__Enum _NLFDIGCIFIA_k__BackingField;
bool _createDuringReconnectingSceneInitFinish_k__BackingField; bool _createDuringReconnectingSceneInitFinish_k__BackingField;
bool _isCleared; bool _isCleared;
bool _checkRemoveifCached_k__BackingField; bool _checkRemoveifCached_k__BackingField;
bool _hasAddedInitialComponents; bool _hasAddedInitialComponents;
float BNPPLOPNGLD; float HLJJGAOMCGC;
bool _isEntityReady; bool _isEntityReady;
struct Action_1_BaseEntity_* onComponentInitPostCallback; struct Action_1_BaseEntity_* onComponentInitPostCallback;
struct Action_1_BaseEntity_* onEntityReadyPreCallback; struct Action_1_BaseEntity_* onEntityReadyPreCallback;
@ -4228,8 +4230,8 @@ namespace app {
EntityType__Enum_1 entityType; EntityType__Enum_1 entityType;
bool _isAuthority; bool _isAuthority;
uint32_t authorityPeerId; uint32_t authorityPeerId;
bool FEFIECBENHD; bool LODAGLOBAMF;
bool MGNKEDPIJKG; bool DEMKIIJDAAC;
struct HashList_1_BaseComponent_* _componentsForEntityTickManager; struct HashList_1_BaseComponent_* _componentsForEntityTickManager;
float _lastTickTime_k__BackingField; float _lastTickTime_k__BackingField;
struct List_1_BaseEntity_BaseEntity_ComponentInitNotifyData_* _notifyListOnComponentInit; struct List_1_BaseEntity_BaseEntity_ComponentInitNotifyData_* _notifyListOnComponentInit;
@ -4243,13 +4245,13 @@ namespace app {
struct Action_3_UnityEngine_TickState_Boolean_Boolean_* onAnimatorTickStateChange; struct Action_3_UnityEngine_TickState_Boolean_Boolean_* onAnimatorTickStateChange;
struct HashList_1_IRenderable_* _extraRenderers; struct HashList_1_IRenderable_* _extraRenderers;
struct HashSet_1_IRequestOwnerEntityNoPauseTask_* _noPauseTaskRequests; struct HashSet_1_IRequestOwnerEntityNoPauseTask_* _noPauseTaskRequests;
bool PNBKIOPIIKA; bool AHKEFAMPGBJ;
bool IMKKHNIODFJ; bool KPEBDCGGBGE;
TickState__Enum _currentAnimatorTickState; TickState__Enum _currentAnimatorTickState;
struct EntityTickBalanceProxy* _tickBalanceProxy; struct EntityTickBalanceProxy* _tickBalanceProxy;
bool isKinematicRigidbody; bool isKinematicRigidbody;
bool _PNECEMJLAHN_k__BackingField; bool _bIgnoreIntervalTick_k__BackingField;
bool _IFOBCICMOJM_k__BackingField; bool _AFKDABPOMLB_k__BackingField;
float __fullTickSqrMag_k__BackingField; float __fullTickSqrMag_k__BackingField;
int32_t _greaterToDisableInterval_k__BackingField; int32_t _greaterToDisableInterval_k__BackingField;
struct Func_1_Single_* _getBalanceTickDeltaTimeHandler; struct Func_1_Single_* _getBalanceTickDeltaTimeHandler;
@ -4311,18 +4313,18 @@ namespace app {
struct FixedFloatStack* _massRatio; struct FixedFloatStack* _massRatio;
bool _enableSetPostiion; bool _enableSetPostiion;
struct Vector3 _lastPosInParent; struct Vector3 _lastPosInParent;
struct Collider__Array* LIFJOPNILOC; struct Collider__Array* JFCGANLNHPN;
int32_t LPNNDJDEGMI; int32_t JJJMCJIFFBM;
int32_t GFMAMAGCBNE; int32_t LNECJMABKIH;
int32_t IPKBDFGENOE; int32_t EICAFOKBIPN;
bool _isForceDisableEffect; bool KJFPMNMJPJA;
bool _isActorHided; bool CLFLKBNIMOK;
bool _isRoomHided; bool OECPMFJFHDB;
struct Vector3 LMBBHMDGPGE; struct Vector3 IHBCGPKALHL;
struct Quaternion BFHGMCMIANA; struct Quaternion JOCEPMPLAAG;
float LMACHNHENOB; float JDCJJGPMLEN;
bool FJBBJDDFOIA; bool ONMFCCDOJHO;
struct Vector3 PDCOCJPHGAK; struct Vector3 PPAFPACBENC;
struct RuntimeAnimatorController* _authorityRuntimeAnimatorController; struct RuntimeAnimatorController* _authorityRuntimeAnimatorController;
struct RuntimeAnimatorController* _remoteRuntimeAnimatorController; struct RuntimeAnimatorController* _remoteRuntimeAnimatorController;
uint32_t _authorityRuntimeAnimatorHandler; uint32_t _authorityRuntimeAnimatorHandler;
@ -4909,12 +4911,12 @@ namespace app {
struct GameObject* playerIndicator; struct GameObject* playerIndicator;
struct RectTransform* playerIndicatorParent; struct RectTransform* playerIndicatorParent;
struct MonoMapCursor* _monoMapCursor; struct MonoMapCursor* _monoMapCursor;
struct InputField* _customMarkTipsInputField; struct MonoInputFieldExtention* _customMarkTipsInputField;
struct MonoMaterialItemRow* _resin; struct MonoMaterialItemRow* _resin;
struct RectTransform* _cycleDungeonLookupGrp; struct RectTransform* _cycleDungeonLookupGrp;
struct MonoUIContainer* _cycleDungeonLookupToggle; struct MonoUIContainer* _cycleDungeonLookupToggle;
struct Text* _cycleDungeonLookupText; struct Text* _cycleDungeonLookupText;
struct List_1_Queue_1_MoleMole_MonoMapMark_* KEIOHDAFIOC; struct List_1_Queue_1_MoleMole_MonoMapMark_* LMNPEFNMFIJ;
struct GameObject* _exploreDegreeGrp; struct GameObject* _exploreDegreeGrp;
struct Text* _exploreArea; struct Text* _exploreArea;
struct Text* _exploreDegree; struct Text* _exploreDegree;
@ -4933,7 +4935,7 @@ namespace app {
struct Button_1* homeworldVisitorBtn; struct Button_1* homeworldVisitorBtn;
struct Text* _homeworldVisitorLabel; struct Text* _homeworldVisitorLabel;
struct MonoUIContainer* _homeworldVisitorPS4Container; struct MonoUIContainer* _homeworldVisitorPS4Container;
struct Animator* NFGDFFBFOCF; struct Animator* _cursorAnimator;
}; };
struct MonoInLevelMapPage { struct MonoInLevelMapPage {
@ -5011,9 +5013,10 @@ namespace app {
uint32_t _dungeonIconTipsHandle; uint32_t _dungeonIconTipsHandle;
struct GameObject* _dungeonIconTips; struct GameObject* _dungeonIconTips;
struct GeneralMarkData* generalMapData; struct GeneralMarkData* generalMapData;
bool NLCJDMBMKPC; bool ADIBPKEGJOK;
int32_t floor; int32_t floor;
bool _up; bool _up;
struct UnityAction_1_UnityEngine_RectTransform_* OODIIHNIPFN;
struct String* _currEffectName; struct String* _currEffectName;
struct ParticleSystem* _currEffect; struct ParticleSystem* _currEffect;
float markAreaRadius; float markAreaRadius;
@ -5094,7 +5097,7 @@ namespace app {
EnterGotoByPortal = 0x00000008, EnterGotoByPortal = 0x00000008,
EnterSelfHome = 0x00000009, EnterSelfHome = 0x00000009,
EnterOtherHome = 0x0000000a, EnterOtherHome = 0x0000000a,
FCBBIIAOAGG = 0x0000000b, EnterGotoRecreate = 0x0000000b,
}; };
struct UInt32__Array { struct UInt32__Array {
@ -5257,6 +5260,7 @@ namespace app {
Quick = 0x00000002, Quick = 0x00000002,
DirectlySetPos = 0x00000003, DirectlySetPos = 0x00000003,
QuickWithoutPaimonReminder = 0x00000004, QuickWithoutPaimonReminder = 0x00000004,
QuickV2 = 0x00000005,
}; };
enum class MoleMole_NotifyTypes__Enum : int32_t { enum class MoleMole_NotifyTypes__Enum : int32_t {
@ -6259,27 +6263,28 @@ namespace app {
struct String* _activityLimitRegion; struct String* _activityLimitRegion;
struct String* _homeworldLimitRegion; struct String* _homeworldLimitRegion;
uint32_t _checkScenePointTimer; uint32_t _checkScenePointTimer;
uint32_t _HENAPPPHGFA_k__BackingField; uint32_t _OOBPJNGLEFD_k__BackingField;
uint32_t _IDKLCPBKKMC_k__BackingField; uint32_t _MKEGCMJMGPN_k__BackingField;
uint32_t _HAIMNNOMKFE_k__BackingField; uint32_t _POPAMGIKPFK_k__BackingField;
uint32_t _BEGGBAFACOG_k__BackingField; uint32_t _NADDOMFDIMH_k__BackingField;
uint32_t _LJCHGOJHIBN_k__BackingField; uint32_t _JEKJBGCPAPP_k__BackingField;
uint32_t _CEJAIKKNKEF_k__BackingField; uint32_t _BILGKHAIEPL_k__BackingField;
bool _isTowerUnlocked_k__BackingField; bool _isTowerUnlocked_k__BackingField;
struct List_1_System_UInt32_* dungeonDataLevelConfigIdList; struct List_1_System_UInt32_* dungeonDataLevelConfigIdList;
struct Nullable_1_UnityEngine_Vector3_ curClientAvatarRebornPoint; struct Nullable_1_UnityEngine_Vector3_ curClientAvatarRebornPoint;
struct Dictionary_2_System_UInt32_Dictionary_2_System_UInt32_System_UInt32_* toBeExploredDungeonEntryDic; struct Dictionary_2_System_UInt32_Dictionary_2_System_UInt32_System_UInt32_* toBeExploredDungeonEntryDic;
struct Dictionary_2_System_UInt32_Dictionary_2_System_UInt32_System_UInt32_* canNotBeExploredDungeonEntryDic; struct Dictionary_2_System_UInt32_Dictionary_2_System_UInt32_System_UInt32_* canNotBeExploredDungeonEntryDic;
struct HashSet_1_System_UInt32_* PGNGEOMEDEI; struct HashSet_1_System_UInt32_* HPNBAKBANGB;
struct Dictionary_2_System_UInt32_MoleMole_Config_ConfigScene_* _cfgSceneDic; struct Dictionary_2_System_UInt32_MoleMole_Config_ConfigScene_* _cfgSceneDic;
struct Dictionary_2_System_UInt32_Dictionary_2_System_UInt32_MoleMole_Config_ConfigScenePoint_* _cfgPointDic; struct Dictionary_2_System_UInt32_Dictionary_2_System_UInt32_MoleMole_Config_ConfigScenePoint_* _cfgPointDic;
struct List_1_System_UInt32_* _currTransPointList; struct List_1_System_UInt32_* _currTransPointList;
struct List_1_System_UInt32_* _currFunctionalPointList; struct List_1_System_UInt32_* _currFunctionalPointList;
struct Dictionary_2_System_UInt32_Dictionary_2_System_UInt32_MoleMole_MapModule_LJADJIPKKIK_* CJJCAAMGCOM; struct Dictionary_2_System_UInt32_Dictionary_2_System_UInt32_MoleMole_MapModule_LPANCMBHIPC_* DKHELEOJLPD;
uint32_t _activityPlayId_k__BackingField; uint32_t _activityPlayId_k__BackingField;
float MAX_IN_LIMIT_REGION_TIME; float MAX_IN_LIMIT_REGION_TIME;
float _startInLimitRegionTime; float _startInLimitRegionTime;
uint32_t _homeworldRegionSceneId_k__BackingField; uint32_t _homeworldRegionSceneId_k__BackingField;
uint32_t _FNGKDENFBGH_k__BackingField;
struct Dictionary_2_System_UInt32_Dictionary_2_System_UInt32_MoleMole_MapModule_MoleMole_MapModule_CityData_* _cityDataDic; struct Dictionary_2_System_UInt32_Dictionary_2_System_UInt32_MoleMole_MapModule_MoleMole_MapModule_CityData_* _cityDataDic;
struct Dictionary_2_System_UInt32_Dictionary_2_System_UInt32_MoleMole_MapModule_MoleMole_MapModule_WorldAreaData_* _worldAreaDataDic; struct Dictionary_2_System_UInt32_Dictionary_2_System_UInt32_MoleMole_MapModule_MoleMole_MapModule_WorldAreaData_* _worldAreaDataDic;
struct Dictionary_2_System_UInt32_System_UInt32_* _areaId2ExplorePointDic; struct Dictionary_2_System_UInt32_System_UInt32_* _areaId2ExplorePointDic;
@ -6294,7 +6299,7 @@ namespace app {
struct HashSet_1_System_UInt32_* _activatedDungeonWayPoint; struct HashSet_1_System_UInt32_* _activatedDungeonWayPoint;
bool _dungeonEntryOpen; bool _dungeonEntryOpen;
struct Dictionary_2_System_UInt32_System_Boolean_* _sceneUnlockDic; struct Dictionary_2_System_UInt32_System_Boolean_* _sceneUnlockDic;
struct Dictionary_2_System_UInt32_List_1_System_UInt32_* _sceneTagList; struct Dictionary_2_System_UInt32_List_1_System_UInt32_* FOAIHHEHFHF;
struct List_1_MoleMole_MapModule_MoleMole_MapModule_ScannerInfo_* _scannerInfoList; struct List_1_MoleMole_MapModule_MoleMole_MapModule_ScannerInfo_* _scannerInfoList;
struct List_1_MoleMole_MapAreaMistData_* _mistDataList; struct List_1_MoleMole_MapAreaMistData_* _mistDataList;
struct List_1_MoleMole_MapAreaMistData_* _openMistDataList; struct List_1_MoleMole_MapAreaMistData_* _openMistDataList;
@ -7225,9 +7230,9 @@ namespace app {
bool muteElementHurt; bool muteElementHurt;
struct String* onHitEffectName; struct String* onHitEffectName;
uint32_t attackTimeStamp; uint32_t attackTimeStamp;
struct Nullable_1_MoleMole_Config_TargetType_ targetType; struct Nullable_1_MoleMole_Config_TargetType_ targetType;
AttackResult_AttackSpecific__Enum attackType; AttackResult_AttackSpecific__Enum attackType;
struct AttackResult_HitCollsion hitCollision; struct AttackResult_HitCollsion hitCollision;
HitBoxType__Enum hitPosType; HitBoxType__Enum hitPosType;
struct String* animEventId; struct String* animEventId;
struct String* attackTag; struct String* attackTag;
@ -7246,7 +7251,7 @@ namespace app {
ElementReactionType__Enum elementReactionType; ElementReactionType__Enum elementReactionType;
struct ConfigAttackProperty* _attackerAttackProperty; struct ConfigAttackProperty* _attackerAttackProperty;
void* modifiedAttackProperty; void* modifiedAttackProperty;
float AMJDLLOENNI; float BNKPGFGKGBF;
ElementType__Enum _origElementType; ElementType__Enum _origElementType;
float _origElementDurability; float _origElementDurability;
float endureDelta; float endureDelta;
@ -7259,11 +7264,11 @@ namespace app {
float bulletFlyTime; float bulletFlyTime;
struct ConfigBulletWane* bulletWane; struct ConfigBulletWane* bulletWane;
int32_t rejectState; int32_t rejectState;
struct SafeUInt32 AADHIMJJCHK; struct SafeUInt32 MFFILNNNLDL;
struct SafeUInt32 CMNNNKEGKFI; struct SafeUInt32 EAGOJOOBMJO;
struct SafeUInt32 KBDMDNEKOLK; struct SafeUInt32 AMJNKBHPBDE;
struct SafeUInt32 HLIIHHNHHNP; struct SafeUInt32 OCFODICMFFH;
struct SafeUInt32 EMBFNJJJPNG; struct SafeUInt32 EDOGNDNPJDB;
struct Vector3 hitRetreatDir; struct Vector3 hitRetreatDir;
}; };
@ -8997,7 +9002,6 @@ namespace app {
struct MJNGIMLAOFN* _spriteLoadProxy; struct MJNGIMLAOFN* _spriteLoadProxy;
}; };
//BLDKFDKIPLL__Fields
struct BasePageContext__Fields { struct BasePageContext__Fields {
struct BaseContext__Fields _; struct BaseContext__Fields _;
struct List_1_BaseDialogContext_* dialogContextList; struct List_1_BaseDialogContext_* dialogContextList;
@ -9035,31 +9039,31 @@ namespace app {
struct Vector3 _customMarkWorldPos; struct Vector3 _customMarkWorldPos;
struct String* _customMarkTitle; struct String* _customMarkTitle;
MoleMole_Config_MarkIconType__Enum _customMarktype; MoleMole_Config_MarkIconType__Enum _customMarktype;
bool KHDDHMIGLMH; bool IFJIPEEPJJI;
bool AGABBDCCGPJ; bool OKNKCOJCKLN;
bool GBCMNPNHCBH; bool OGKHNHIHOFP;
uint32_t _customMarkTrackMonsterID; uint32_t _customMarkTrackMonsterID;
uint32_t _customMarkTrackQuestID; uint32_t _customMarkTrackQuestID;
MoleMole_CustomMarkTrackReasonType__Enum NHIIHLLCJAI; MoleMole_CustomMarkTrackReasonType__Enum _customMarkTrackReasonType;
bool _isAdventureHandbookOpened; bool _isAdventureHandbookOpened;
float _slideValue; float _slideValue;
struct MoleMole_ResinViewComponent* _resinComp; struct MoleMole_ResinViewComponent* _resinComp;
struct MoleMole_ZoomAudioComponent* _zoomAudioComp; struct MoleMole_ZoomAudioComponent* _zoomAudioComp;
struct Dictionary_2_MoleMole_MonoMapMark_UnityEngine_GameObject_* trackingIndictor; struct Dictionary_2_MoleMole_MonoMapMark_UnityEngine_GameObject_* trackingIndictor;
struct Coroutine* ELELLFBCPFM; struct Coroutine* JFIOMECANNL;
bool _NJHAEHLFGNP_k__BackingField; bool _LFIJLCKEKMP_k__BackingField;
bool JNBIIIHNPOL; bool DJMGCGDBLHD;
float FMNNMKICFCN; float PKBLMNBGCLL;
struct Vector2 JIEJCHOKMCH; struct Vector2 ENLNCLPCFHE;
float EGDCGHPCIGD; float CPFIIODOHKA;
float NNGIPKNIHHL; float MOJEDIFFFIJ;
struct Vector2 MABOFOAAIDK; struct Vector2 ADLDFCKPLGI;
float OOOKLDFFEOK; float EMOHKNNFADF;
bool DAMOBDBBBPD; bool FHBMGCDNMBE;
struct Vector2 _currRectPos; struct Vector2 _currRectPos;
struct Vector2 _currRectSize; struct Vector2 _currRectSize;
struct Dictionary_2_System_UInt32_UnityEngine_GameObject_* _companionIndicators; struct Dictionary_2_System_UInt32_UnityEngine_GameObject_* _companionIndicators;
struct List_1_System_UInt32_* EDDEMHGPOBD; struct List_1_System_UInt32_* GPLMGCNDKOP;
struct GameObject* _playerIndicator; struct GameObject* _playerIndicator;
struct Vector2 _newPos; struct Vector2 _newPos;
struct Dictionary_2_System_UInt32_UnityEngine_GameObject_* _questAreaMarkDic; struct Dictionary_2_System_UInt32_UnityEngine_GameObject_* _questAreaMarkDic;
@ -9085,14 +9089,16 @@ namespace app {
MoleMole_InLevelMapPageContext_MoleMole_InLevelMapPageContext_MarkTipsContentType__Enum _markTipsContentType; MoleMole_InLevelMapPageContext_MoleMole_InLevelMapPageContext_MarkTipsContentType__Enum _markTipsContentType;
struct List_1_MoleMole_BagItem_* _reward; struct List_1_MoleMole_BagItem_* _reward;
struct List_1_MoleMole_Config_IdCountStrConfig_* _rewardPreviewList; struct List_1_MoleMole_Config_IdCountStrConfig_* _rewardPreviewList;
float BCHEAHAGENA; float IOHJENGJBFM;
uint32_t _dungeonEntryPointID; uint32_t HHIHNGGOIFP;
struct MoleMole_Config_DungeonEntry* _selectedDungeonEntry; struct MoleMole_Config_DungeonEntry* _selectedDungeonEntry;
MoleMole_InLevelMapPageContext_MoleMole_InLevelMapPageContext_DungeonEntryState__Enum _selectDungeonEntryState; MoleMole_InLevelMapPageContext_MoleMole_InLevelMapPageContext_DungeonEntryState__Enum _selectDungeonEntryState;
struct Coroutine* _updateDungeonCooldownTipsCoroutine; struct Coroutine* _updateDungeonCooldownTipsCoroutine;
struct MoleMole_ItemTipsDialogHelper _itemTipsHelper; struct MoleMole_ItemTipsDialogHelper _itemTipsHelper;
struct Coroutine* _updateFarmFieldCoroutine; struct Coroutine* _updateFarmFieldCoroutine;
struct GameObject* _newMaxLevelGO; struct GameObject* _newMaxLevelGO;
bool IICOGPJKJKL;
bool LIGALMCPKNI;
struct MoleMole_RewardPreviewComponent* _moonfinTrialRewardPreviewComponent; struct MoleMole_RewardPreviewComponent* _moonfinTrialRewardPreviewComponent;
struct Coroutine* _updateReviveCooldownCoroutine; struct Coroutine* _updateReviveCooldownCoroutine;
int32_t _selectedMapTagIndex; int32_t _selectedMapTagIndex;
@ -9101,8 +9107,8 @@ namespace app {
int32_t _customMarkCount; int32_t _customMarkCount;
struct MoleMole_Config_MarkIconType__Enum__Array* _customMarkIcons; struct MoleMole_Config_MarkIconType__Enum__Array* _customMarkIcons;
struct Vector2 _currMapPos; struct Vector2 _currMapPos;
struct Dictionary_2_System_UInt32_List_1_MoleMole_InLevelMapPageContext_BKKFEMNNBMG_* LOLNIIFFJON; struct Dictionary_2_System_UInt32_List_1_MoleMole_InLevelMapPageContext_EACHJPIDJND_* IOLJGOCGPHB;
int32_t MAPJENKCNNE; int32_t GBKLEGIFLAI;
}; };
struct InLevelMapPageContext { struct InLevelMapPageContext {
@ -9138,8 +9144,8 @@ namespace app {
struct List_1_SelectItemParam_* _selectParamList; struct List_1_SelectItemParam_* _selectParamList;
struct Action* _updateGrpSelectBottom; struct Action* _updateGrpSelectBottom;
struct List_1_System_UInt32_* _selectDialogIdList; struct List_1_System_UInt32_* _selectDialogIdList;
bool EHOPIEOHBIJ; bool OBDPLKKDFBN;
bool IEFCCCNLHFG; bool GGFOHLGGCHI;
struct Action* _onFreeClick; struct Action* _onFreeClick;
float _interactableTime; float _interactableTime;
float _autoTalkInteractableTime; float _autoTalkInteractableTime;
@ -9456,26 +9462,26 @@ namespace app {
struct BaseMoveSyncPlugin__Fields { struct BaseMoveSyncPlugin__Fields {
struct BaseComponentPlugin__Fields _; struct BaseComponentPlugin__Fields _;
struct JEACJCEKBMO__Array* JFHIPAJNCEH; struct Proto_MotionInfo__Array* _motion;
struct MoveSyncTask moveSyncTask; struct MoveSyncTask _syncTask;
int32_t EBAFCLPDNOA; MotionState__Enum _prevMotionState;
struct PAGLNCJFJAB* EGOGHHCEKBI; struct MoleMole_VCBaseMove* _ownerMove;
uint32_t BMEKGDMGLDM; uint32_t _lod;
float BPNLDBMLCPG; float _lastSendSyncTaskTime;
int32_t IMGAJKMBICM; int32_t _fixedTickCount;
int32_t JFNJPLBNEAH; int32_t _intervalVelocityCheckCount;
uint64_t LDHCFEHMENK; uint64_t _intervalVelocityCheckBits;
struct MoveSyncTask PKJLBFAGDPG; struct MoveSyncTask _lastSendMoveSyncTask;
float KHDFGOBLNOH; float _intervalTime;
bool BAHIDGDKDPG; bool _canIgnoreTickSync;
bool MPNMLBJNIJK; bool _reliableSendWhenSameComparablePart;
float BPNMMCBBPDO; float _reliableSendWhenSameComparablePartTime;
uint32_t DANEEGOIAOE; uint32_t _lastSendReliabledPacketSeq;
struct HBGKJGFOBDG* HHAPKOKPBPN; struct MoleMole_LCSyncMotion* _lcSyncMotion;
bool KCODNABDGKC; bool _hasInitializedSyncMove;
uint64_t PHBBAMKNKEH; uint64_t _lastHandledTaskTimeStamp;
uint32_t JEKLOEMBBJB; uint32_t _lastHandledReliableTaskSeq;
struct MoveSyncTask GPOABHBBEGL; struct MoveSyncTask tempPeekGetMoveSyncTask;
}; };
struct BaseMoveSyncPlugin { struct BaseMoveSyncPlugin {
@ -9485,17 +9491,17 @@ namespace app {
}; };
struct __declspec(align(8)) ADOCDLJKPGF__Fields { struct __declspec(align(8)) ADOCDLJKPGF__Fields {
struct Dictionary_2_UniRx_Tuple_2_Dictionary_2_System_UInt32_MoleMole_IndexHandleObjectList_1_* PKPGAJELFJP; struct Dictionary_2_System_ValueTuple_2_Dictionary_2_System_UInt32_MoleMole_IndexHandleObjectList_1_* JJHMKFJMIFN;
struct Dictionary_2_System_UInt32_MoleMole_IndexHandleObjectList_1__2* EPNNKHDPMKN; struct Dictionary_2_System_UInt32_MoleMole_IndexHandleObjectList_1__2* EABFBNIMFPP;
struct Dictionary_2_System_UInt32_Dictionary_2_System_Type_ADOCDLJKPGF_NCKPKBOOPAE_* NHLMDJCPBOI; struct Dictionary_2_System_UInt32_Dictionary_2_System_Type_MoleMole_EventManager_ListenerRegistry_* _runtimeId2ListenerDic;
struct List_1_NLHGPLIGNNJ_* OCCMKONNAFF; struct List_1_MoleMole_BaseEvent_* _queuedFrameEvents;
struct List_1_NLHGPLIGNNJ_* ODMMGNLPPKO; struct List_1_MoleMole_BaseEvent_* _queuedNextEvents;
struct List_1_NLHGPLIGNNJ_* FMJOCJEEDNA; struct List_1_MoleMole_BaseEvent_* _queuedNextEventsToAdd;
struct Dictionary_2_System_Type_MoleMole_IndexHandleObjectList_1_* BGCNGICCMNG; struct Dictionary_2_System_Type_MoleMole_IndexHandleObjectList_1_* _evtListeners;
bool IKIHCFFFACC; bool _isStopped;
struct List_1_UniRx_Tuple_5__1* AOENJPJCHCP; struct List_1_System_ValueTuple_5__1* IEJKHEKFBII;
int32_t AANDAKJMONI; int32_t BGHBKPIABOK;
bool GEPOJPNFMKO; bool _dispatchPaused;
}; };
struct MoleMole_EventManager { struct MoleMole_EventManager {
@ -9509,14 +9515,15 @@ namespace app {
struct Action_3_BaseEntity_Config_AddGlobalValue_ActorAbility_* _addGlobalValueHandlerClosureDelegate; struct Action_3_BaseEntity_Config_AddGlobalValue_ActorAbility_* _addGlobalValueHandlerClosureDelegate;
struct Action_3_BaseEntity_Config_SetGlobalValue_ActorAbility_* _setGlobalValueHandlerClosureDelegate; struct Action_3_BaseEntity_Config_SetGlobalValue_ActorAbility_* _setGlobalValueHandlerClosureDelegate;
struct Action_3_BaseEntity_Config_MultiplyGlobalValue_ActorAbility_* _multiplyGlobalValueHandlerClosureDelegate; struct Action_3_BaseEntity_Config_MultiplyGlobalValue_ActorAbility_* _multiplyGlobalValueHandlerClosureDelegate;
struct Action_4_BaseEntity_Config_SetTargetNumToGlobalValue_ActorAbility_Single_* BFCGFMBGIHB; struct Action_4_BaseEntity_Config_MultiplyGlobalValue_ActorAbility_Single_* MEEAPCINNBE;
struct Action_4_BaseEntity_String_Single_GJKAGOLAHKK_* OJKOMJEBCLM; struct Action_4_BaseEntity_String_Single_CPKJHKOJDIF_* LLAIOCNHNPM;
struct List_1_MonoEffectProxyHandle_* _effectProxyListCache; struct List_1_MonoEffectProxyHandle_* _effectProxyListCache;
struct List_1_MonoEffectProxyHandle_* _effectProxyListCacheForChangFollowDampTime; struct List_1_MonoEffectProxyHandle_* _effectProxyListCacheForChangFollowDampTime;
struct List_1_UnityEngine_Vector3_* _pushedPosList; struct List_1_UnityEngine_Vector3_* _pushedPosList;
struct LCAbility* _owner; struct LCAbility* _owner;
struct List_1_ActorAbility_* _appliedAbilities; struct List_1_ActorAbility_* _appliedAbilities;
struct Dictionary_2_System_UInt32_System_Int32_* _appliedAbilitiesIndex; struct Dictionary_2_System_UInt32_System_Int32_* _appliedAbilitiesIndex;
struct Dictionary_2_System_String_ActorAbility_* CKDBIBGCPOB;
uint32_t nextValidAbilityID; uint32_t nextValidAbilityID;
struct List_1_ActorModifier_* _appliedModifiers; struct List_1_ActorModifier_* _appliedModifiers;
struct List_1_ActorModifier_* _deadModifiers; struct List_1_ActorModifier_* _deadModifiers;
@ -9556,7 +9563,7 @@ namespace app {
struct Dictionary_2_System_Int32_List_1_BaseAbilityMixin_* _listenEventMixins; struct Dictionary_2_System_Int32_List_1_BaseAbilityMixin_* _listenEventMixins;
struct List_1_BaseAbilityMixin_* _addListenEventMixins; struct List_1_BaseAbilityMixin_* _addListenEventMixins;
struct List_1_BaseAbilityMixin_* _removeListenEventMixins; struct List_1_BaseAbilityMixin_* _removeListenEventMixins;
int32_t ECLCGLCLPPD; int32_t CGNCPHPNGDB;
bool IsImmuneDebuff; bool IsImmuneDebuff;
bool _isDuringInitAbility_k__BackingField; bool _isDuringInitAbility_k__BackingField;
bool _isDuringChangeAbility_k__BackingField; bool _isDuringChangeAbility_k__BackingField;
@ -9592,7 +9599,7 @@ namespace app {
FAIL_COOLDOWN = 0x0000000c, FAIL_COOLDOWN = 0x0000000c,
}; };
struct __declspec(align(8)) GMNHONOINDB__Fields { struct __declspec(align(8)) MoleMole_CharacterModule__Fields {
struct Dictionary_2_System_UInt32_Dictionary_2_System_Int32_List_1_CFKBGDNLDGP_* MFEPPBMCAGP; struct Dictionary_2_System_UInt32_Dictionary_2_System_Int32_List_1_CFKBGDNLDGP_* MFEPPBMCAGP;
}; };
@ -9680,64 +9687,68 @@ namespace app {
struct BEKFICFOHKL__Fields fields; struct BEKFICFOHKL__Fields fields;
}; };
struct NEOGDEDNDHF__Fields { struct MoleMole_PlayerModule__Fields {
struct GMNHONOINDB__Fields _; struct MoleMole_CharacterModule__Fields _;
struct AccountDataItem* _accountData_k__BackingField; struct AccountDataItem* _accountData_k__BackingField;
struct HBFICKPEILE* openState; struct PlayerOpenStateData* openState;
uint32_t curWorldType; uint32_t curWorldType;
uint32_t curSceneID; uint32_t curSceneID;
struct OGNHDKJOONG* _curSceneConfig; struct Config_SceneExcelConfig* _curSceneConfig;
bool isSereverLevelPaused; bool isServerLevelPaused;
uint32_t extraAbilityId; uint32_t extraAbilityId;
bool extraAbilityEnable; bool extraAbilityEnable;
uint64_t extraAbilityUseTime; uint64_t extraAbilityUseTime;
float AJMFBGNGPIB; float lastSendChangeAvatarTime;
float KJKAPGLEELE; float lastPressSkillButtonTime;
struct List_1_UniRx_Tuple_3_* INANHBPCBLC; float PMAMAHGBLBJ;
bool MAOHENNPOMB; struct List_1_System_ValueTuple_3_* teamEntityAbilitiesFromServer;
bool HEJLGFNHKND; bool IMCBNAMPBPG;
bool NABCGFBLKDJ; bool PNCFBAOIKHB;
bool PNGMLKJFKND; bool IBNOIPGDGAG;
bool MNMODNDPIDD; bool MILPALJGOLD;
uint32_t OODBAMHAGPO; bool PNBHCGNHOFB;
uint32_t JPKIAEFDHMD; uint32_t ALCHAOANODE;
bool NFMOCKLFAOF; uint32_t FPBJOLBEJGO;
float JJLIHANGKEO; bool enterSceneFromLogin;
struct Dictionary_2_System_UInt64_System_UInt32_* ICPIOBFBPGA; float _nextLoginReqTime;
struct LGPKIADMOBE_System_UInt64_CJFLLIKJGLF_* BDBFEGIMOFI; struct Dictionary_2_System_UInt64_System_UInt32_* _backgroundAvatarRecoverTime;
struct DPHDLLFCIBC* HDOGLGNGMAP; struct Google_Protobuf_Collections_MessageMapField_2_System_UInt64_Proto_AvatarExpeditionInfo_* _currExpeditionInfo;
struct PHHEDBDLADE* ANDABFFFNHE; struct Proto_AvatarExpeditionAllDataRsp* _currAllDataRsp;
struct Action_1_Single_* KGABFCPEBDG; struct Proto_ExclusiveRuleNotify* _exclusiveRuleNotify;
struct Dictionary_2_System_UInt32_System_UInt32_* EPNCJKKPNIN; struct Action_1_Single_* LENAIDKELJE;
struct List_1_System_UInt64_* IDPDPDAENDP; void* DDFMMKJJENE;
bool HJOJBIBHGEC; void* CHNAOGEHNGB;
struct List_1_JBONEPGMKAD_* ODDFKLCINLC; struct Dictionary_2_System_UInt32_System_UInt32_* HENIBLEKILJ;
struct Coroutine* FCJOEAPBMHB; struct List_1_System_UInt64_* _teamToLoad;
Miscs_ChangeAvatarFailType__Enum FDFCHGCAIPL; bool needRecoverAbilities;
uint32_t MFKCKBGCADE; struct List_1_Proto_SceneEntityInfo_* _needAppearAvatars;
struct String* DMMKLMDFDLE; struct Coroutine* _changeAvatarCoroutine;
struct String* JKFKIOAJPKF; Miscs_ChangeAvatarFailType__Enum _failType;
struct Dictionary_2_System_UInt32_System_UInt32_* FMMDIGIIBJB; uint32_t _sceneOwnerUid;
float NDFMECJGCKK; struct String* CBTEST_TOOL_PATH;
float BHAMGAPDFEH; struct String* WATER_MASK_PATH;
uint32_t AFIIDKIKKMB; struct Dictionary_2_System_UInt32_System_UInt32_* _openstateDic;
struct List_1_System_UInt32_* DNKMPLJPOHG; float _satiationCriticalValue;
uint32_t MAPMNIDOJCG; float _satiationRecoverySpeed;
bool MIMGJGCADKB; uint32_t _nextRecoveryTimestampOfResin;
uint32_t LCMMMGHFEGG; struct List_1_System_UInt32_* _buyResinCost;
uint32_t DCGJMGBIDLD; uint32_t _dailyBoughtCountOfResin;
uint32_t GGJMEBPNECC; bool _resinParamsParsed;
uint32_t PIJHFCGJBJM; uint32_t _resinTotalLimit;
struct CAIMHKHHLHK_LJBGLAADLNC_* FFMOHPPEKLN; uint32_t _autoRecoveryResinLimit;
struct CAIMHKHHLHK_LJBGLAADLNC_* BLPNAPNOPFN; uint32_t _resinAutoRecoverySpeed;
uint64_t ONAPAACFOBM; uint32_t _resinCountPerPurchase;
struct JIBKJBJNFED* LGADGGJMODA; struct Google_Protobuf_Collections_RepeatedMessageField_1_Proto_FriendBrief_* _tempFriendBriefListInGame;
struct Google_Protobuf_Collections_RepeatedMessageField_1_Proto_FriendBrief_* _tempFriendBriefListPSN;
uint64_t _lastGetPlayerFriendListTime;
struct Proto_AntiAddictNotify* _antiAddictNotify;
struct GeneralDialogContext* KIEGHJDFLFD;
}; };
struct MoleMole_PlayerModule { struct MoleMole_PlayerModule {
struct PlayerModule__Class* klass; struct PlayerModule__Class* klass;
MonitorData* monitor; MonitorData* monitor;
struct NEOGDEDNDHF__Fields fields; struct MoleMole_PlayerModule__Fields fields;
}; };
enum class MapManager_FEDPCJIHAJJ__Enum : int32_t { enum class MapManager_FEDPCJIHAJJ__Enum : int32_t {
@ -9801,7 +9812,7 @@ namespace app {
struct MHCEDJLGNMG__Fields fields; struct MHCEDJLGNMG__Fields fields;
}; };
struct ANPOFFEGJHG__Fields { struct GadgetEntity__Fields {
struct BaseEntity__Fields _; struct BaseEntity__Fields _;
uint32_t groupId; uint32_t groupId;
uint32_t markFlag; uint32_t markFlag;
@ -9826,7 +9837,7 @@ namespace app {
struct GadgetEntity { struct GadgetEntity {
struct GadgetEntity__Class* klass; struct GadgetEntity__Class* klass;
MonitorData* monitor; MonitorData* monitor;
struct ANPOFFEGJHG__Fields fields; struct GadgetEntity__Fields fields;
}; };
struct BaseComponent__Array { struct BaseComponent__Array {
@ -10056,8 +10067,7 @@ namespace app {
struct LCChestPlugin__Fields fields; struct LCChestPlugin__Fields fields;
}; };
struct __declspec(align(8)) FKHDAEKGMKC__Fields struct __declspec(align(8)) MoleMole_ScenePropManager__Fields {
{
struct ScenePropEffectConfigs* _scenePropEffectConfigs; struct ScenePropEffectConfigs* _scenePropEffectConfigs;
uint32_t _scenePropEffectConfigsHandle; uint32_t _scenePropEffectConfigsHandle;
struct SceneChairConfigs* _sceneChairConfigs; struct SceneChairConfigs* _sceneChairConfigs;
@ -10066,35 +10076,35 @@ namespace app {
uint32_t _sceneBushConfigsHandle; uint32_t _sceneBushConfigsHandle;
struct SceneTreeConfigs* _sceneTreeConfigs; struct SceneTreeConfigs* _sceneTreeConfigs;
uint32_t _sceneTreeConfigsHandle; uint32_t _sceneTreeConfigsHandle;
struct SceneStoneTintConfigs* IJAJFDDPIBF; struct SceneStoneTintConfigs* AIOHDMBGHEI;
uint32_t MPGIOKCAEDG; uint32_t LCLFKLDHKIM;
struct Dictionary_2_System_Int32_IIJMGCIOIAP_* _treeBushCollection; struct Dictionary_2_System_Int32_MoleMole_ZOrderCollection_3_* _treeBushCollection;
struct List_1_NAKCOANCOHK_* _treeBushList; struct List_1_MoleMole_ICombatSceneProp_* _treeBushList;
struct Dictionary_2_System_Int32_UnityEngine_Vector3_* _treeBushId2Pos; struct Dictionary_2_System_Int32_UnityEngine_Vector3_* _treeBushId2Pos;
struct Vector3 _rangeQueryLen; struct Vector3 _rangeQueryLen;
struct Dictionary_2_System_Int32_NAKCOANCOHK_* _scenePropDict; struct Dictionary_2_System_Int32_MoleMole_ICombatSceneProp_* _scenePropDict;
struct Dictionary_2_System_Int32_ECGLPBEEEAA_* _treeTypeDict; struct Dictionary_2_System_Int32_MoleMole_Config_TreeType_* _treeTypeDict;
struct List_1_MoleMole_MonoEnviroLight_* _pointLights; struct List_1_MoleMole_MonoEnviroLight_* _pointLights;
struct List_1_MoleMole_MonoEnviroCityLight_* _cityLights; struct List_1_MoleMole_MonoEnviroCityLight_* _cityLights;
struct List_1_NPOOODHAHMF_* BAKKEOKNFOI;
struct Vector3 _lastSectorPos; struct Vector3 _lastSectorPos;
struct FKHDAEKGMKC_DEGEMNHILIP__Array* _treeLeafInfos; struct MoleMole_ScenePropManager_MoleMole_ScenePropManager_TreeLeafInfo__Array* _treeLeafInfos;
int32_t _treeLeafNum; int32_t _treeLeafNum;
struct MaterialPropertyBlock* _mpb; struct MaterialPropertyBlock* _mpb;
struct Camera* _mainCam; struct Camera* _mainCam;
struct List_1_UnityEngine_Material_* _leafDitherMaterials; struct List_1_UnityEngine_Material_* _leafDitherMaterials;
struct Dictionary_2_System_Int32_UnityEngine_Vector3__1* _shakeAnims; struct Dictionary_2_System_Int32_UnityEngine_Vector3__1* _shakeAnims;
struct List_1_NAKCOANCOHK_* _playingScenePropShakes; struct List_1_MoleMole_ICombatSceneProp_* _playingScenePropShakes;
struct List_1_JNFKAAAPLGE_* _chairs; struct List_1_MoleMole_IChair_* _chairs;
struct GameObject* iceBlockRoot; struct GameObject* iceBlockRoot;
struct GameObject* _surfaceMeshObjectRoot; struct GameObject* _surfaceMeshObjectRoot;
struct GameObject* _tileMeshObjectRoot; struct GameObject* _tileMeshObjectRoot;
}; };
struct MoleMole_ScenePropManager struct MoleMole_ScenePropManager {
{ struct MoleMole_ScenePropManager__Class* klass;
struct FKHDAEKGMKC__Class* klass;
MonitorData* monitor; MonitorData* monitor;
struct FKHDAEKGMKC__Fields fields; struct MoleMole_ScenePropManager__Fields fields;
}; };
@ -10212,30 +10222,29 @@ namespace app {
bool has_value; bool has_value;
}; };
struct IDPLOHKAJML__Fields { struct LCAbilityElement__Fields {
struct LCBase__Fields _; struct LCBase__Fields _;
struct Dictionary_2_System_Int32_List_1_MLAAELGDIJH_* _elementModifierMap; struct Dictionary_2_System_Int32_List_1_MoleMole_ActorModifier_* _elementModifierMap;
struct Action* _act; struct Action* onElementModifierChanged;
struct List_1_System_Nullable_1_* _modifierDurabilities; struct List_1_System_Nullable_1__2* _modifierDurabilities;
struct List_1_UniRx_Tuple_3__1* _elemAccuDurabilities; struct List_1_System_ValueTuple_3__3* _elemOverloadDurabilities;
struct OJGKFFDAGON* _levelAbilityCom; struct MoleMole_LCAbility* _levelAbilityCom;
struct OJGKFFDAGON* _selfLCAbility; struct MoleMole_LCAbility* _selfLCAbility;
struct KMALPDEBPFP* _lcAbilityState; struct MoleMole_LCAbilityState* _lcAbilityState;
struct DGLICFPOFBE* _vcBillboard; struct MoleMole_VCBillboard* _vcBillboard;
float _purgeRate; float _purgeRate;
float _purgeIncement; float _purgeIncement;
bool _ignorePurgeRate; bool _ignorePurgeRate;
struct EDDKNGCGJFI* _grassScenePlugin; struct MoleMole_LevelSceneGrassPlugin* _grassScenePlugin;
struct EADDBDCPBMJ* _waterScenePlugin; struct MoleMole_LevelSceneWaterPlugin* _waterScenePlugin;
struct EBLDCCEGAOF* _bushScenePlugin; struct MoleMole_LevelSceneBushPlugin* _bushScenePlugin;
struct BDFMIJCPDIC* _shakeInterval; struct MoleMole_EntityTimerReceiver* _shakeInterval;
bool _showReactionText; bool _showReactionText;
struct String* elementDecrateGroup; struct String* elementDecrateGroup;
bool BHDLGGOBAME; bool LDAPBJPCDHC;
bool AKLPKDONCJH; struct Func_2_MoleMole_ActorModifier_Boolean_* HGAAHMCALBE;
struct Func_2_MLAAELGDIJH_Boolean_* NEMHEFJLFEA; struct Action_3_MoleMole_Config_ElementReactionType_MoleMole_BaseEntity_Nullable_1_UnityEngine_Vector3_* GGOGFKDBFHJ;
struct Action_3_GLPNBMKEPPD_CCAMDLAOBAA_Nullable_1_UnityEngine_Vector3_* FDHMHGFNCFD; struct Action_3_MoleMole_Config_ElementReactionType_MoleMole_BaseEntity_Nullable_1_UnityEngine_Vector3_* MIIBJEAOIJI;
struct Action_3_GLPNBMKEPPD_CCAMDLAOBAA_Nullable_1_UnityEngine_Vector3_* NIHADNAGOND;
struct Vector3 elementReactionPos; struct Vector3 elementReactionPos;
bool triggerFrozenBroken; bool triggerFrozenBroken;
float _lastCrystallizeTime; float _lastCrystallizeTime;
@ -10244,7 +10253,7 @@ namespace app {
struct LCAbilityElement { struct LCAbilityElement {
struct LCAbilityElement__Class* klass; struct LCAbilityElement__Class* klass;
MonitorData* monitor; MonitorData* monitor;
struct IDPLOHKAJML__Fields fields; struct LCAbilityElement__Fields fields;
}; };
struct Camera__Fields { struct Camera__Fields {
@ -10546,7 +10555,6 @@ namespace app {
struct GadgetInteractRsp__Fields { struct GadgetInteractRsp__Fields {
struct MessageBase_1__Fields _; struct MessageBase_1__Fields _;
int32_t retcode_;
uint32_t gadgetEntityId_; uint32_t gadgetEntityId_;
InteractType__Enum interactType_; InteractType__Enum interactType_;
InterOpType__Enum opType_; InterOpType__Enum opType_;
@ -10761,35 +10769,42 @@ namespace app {
struct LCCharacterCombat__Fields fields; struct LCCharacterCombat__Fields fields;
}; };
struct __declspec(align(8)) LCAvatarCombat_OMIIMOJOHIP__Fields { enum class Config_MonitorType__Enum : int32_t {
MONITOR_NEVER = 0x00000000,
MONITOR_OFF_STAGE = 0x00000001,
MONITOR_ON_STAGE = 0x00000002,
MONITOR_ALWAYS = 0x00000003,
};
struct __declspec(align(8)) MoleMole_LCAvatarCombat_MoleMole_LCAvatarCombat_SkillInfo__Fields {
uint32_t skillID; uint32_t skillID;
struct AvatarSkillExcelConfig* config; struct Config_AvatarSkillExcelConfig* config;
struct SafeFloat cdTimer; struct SafeFloat cdTimer;
struct SafeFloat currChargeCount; struct SafeInt32 currChargeCount;
struct SafeFloat costStamina; struct SafeFloat costStamina;
bool canHold; bool canHold;
bool canTrigger; bool canTrigger;
bool useInAir; bool useInAir;
struct HashSet_1_System_Int32_* canUseSkillStateWhiteList; struct HashSet_1_System_Int32_* canUseSkillStateWhiteList;
int32_t needMonitor; Config_MonitorType__Enum needMonitor;
bool isLocked; bool isLocked;
bool ignoreCDMinusRatio; bool ignoreCDMinusRatio;
bool forceCanDoSkill; bool forceCanDoSkill;
struct SafeFloat NFNMNLKPNHD; struct SafeFloat KMKHNLHFIOL;
struct SafeFloat EBIABBHAFFD; struct SafeFloat KBLGNPCEMON;
struct SafeFloat HPDKMHFJFMI; struct SafeFloat BKNLEDABNBI;
struct SafeFloat IBKPGNDMDBJ; struct SafeFloat HADJBEOJAAI;
struct SafeFloat GBGBNALDDFM; struct SafeFloat DJHJCNGKFMC;
int32_t skillIndex; int32_t skillIndex;
int32_t prority; int32_t prority;
float _costElem_k__BackingField; float _costElem_k__BackingField;
int32_t _maxChargeCount_k__BackingField; int32_t _maxChargeCount_k__BackingField;
}; };
struct LCAvatarCombat_OMIIMOJOHIP { struct LCAvatarCombat_LCAvatarCombat_SkillInfo {
struct LCAvatarCombat_OMIIMOJOHIP__Class* klass; struct MoleMole_LCAvatarCombat_MoleMole_LCAvatarCombat_SkillInfo__Class* klass;
MonitorData* monitor; MonitorData* monitor;
struct LCAvatarCombat_OMIIMOJOHIP__Fields fields; struct MoleMole_LCAvatarCombat_MoleMole_LCAvatarCombat_SkillInfo__Fields fields;
}; };
struct LCAvatarCombat__Fields { struct LCAvatarCombat__Fields {
@ -10845,17 +10860,17 @@ namespace app {
struct HumanoidMoveFSM__Fields { struct HumanoidMoveFSM__Fields {
struct BaseComponentPlugin__Fields _; struct BaseComponentPlugin__Fields _;
struct HumanoidMoveFSMBaseMoveState* _curState; struct MoleMole_HumanoidMoveFSMBaseMoveState* _curState;
int32_t fallOnGroundFirstFrame; int32_t fallOnGroundFirstFrame;
struct Dictionary_2_MoleMole_HumanoidMoveFSM_JJLCCKKCHPD_MoleMole_HumanoidMoveFSMBaseMoveState_* stateMapInfo; struct Dictionary_2_MoleMole_HumanoidMoveFSM_MoleMole_HumanoidMoveFSM_FSMStateID_MoleMole_HumanoidMoveFSMBaseMoveState_* stateMapInfo;
struct VCHumanoidMoveData* _moveData; struct VCHumanoidMoveData* _moveData;
struct VCHumanoidMoveConfig* _moveConfig; struct MoleMole_VCHumanoidMoveConfig* _moveConfig;
struct VCHumanoidMove* _ownerMove; struct VCHumanoidMove* _ownerMove;
struct Animator* _animator; struct Animator* _animator;
struct Rigidbody* _rigidbody; struct Rigidbody* _rigidbody;
struct AnimatorController* _animatorController; struct AnimatorController* _animatorController;
void* OnMoveUpdateCallback; struct Action_1_MoleMole_HumanoidMoveFSMCallBackInfo_* OnMoveUpdateCallback;
void* OnAirUpdateCallback; struct Action_1_MoleMole_HumanoidMoveFSMCallBackInfo_* OnAirUpdateCallback;
bool _initSyncWithCurrentTask; bool _initSyncWithCurrentTask;
bool _behaviourSet; bool _behaviourSet;
float _sendCombatNotifyTime; float _sendCombatNotifyTime;
@ -10870,6 +10885,7 @@ namespace app {
bool ignoreOverallMoveWallProtectionCurrentFrame; bool ignoreOverallMoveWallProtectionCurrentFrame;
bool stopMoveWhenGoupstairs; bool stopMoveWhenGoupstairs;
bool lastStopMoveWhenGoupstairs; bool lastStopMoveWhenGoupstairs;
bool IMLLBMBBEJI;
float climbGlobalRecovery; float climbGlobalRecovery;
bool autoGoUpstair; bool autoGoUpstair;
bool forceDoNotSyncWhenReset; bool forceDoNotSyncWhenReset;
@ -10879,20 +10895,23 @@ namespace app {
bool _firstLatetick; bool _firstLatetick;
bool _lastInForbiddenToggleMoveState; bool _lastInForbiddenToggleMoveState;
bool _disableMotion4hiUpdateCurrentFrame; bool _disableMotion4hiUpdateCurrentFrame;
bool NGPIBEPBPKA;
int32_t _flyStateHash; int32_t _flyStateHash;
struct VCMoveIKController* _ikComp; struct MoleMole_VCMoveIKController* _ikComp;
struct Transform* _lCalf; struct Transform* _lCalf;
struct Transform* _rCalf; struct Transform* _rCalf;
void* _weaponStandbyIKParams; void* _weaponStandbyIKParams;
void* _normalStandbyIKParams; void* _normalStandbyIKParams;
void* _params; void* _params;
float _lastSkirtBlendParam; float BLLOGGMCMIA;
float _idealSkirtBlendParam; float HNOACEPONMF;
float _lastIdealSkirtBlendParam; float HDBOJNOFKFN;
float _lastSkirtWeight; float EGHOEFBGDKA;
float _idealSkirtWeight; float MCJGBJLKODK;
float _lastSkirtPos; float LACOILFNJGC;
float _idealSkirtPos; float EKNIHOJIDKN;
float COEEDFNDFEH;
float CDCJMAELEKE;
void* _lastFrameAnimSpeedInfo; void* _lastFrameAnimSpeedInfo;
void* _currentFrameAnimSpeedInfo; void* _currentFrameAnimSpeedInfo;
bool _isInSprintCheckInterval; bool _isInSprintCheckInterval;
@ -10993,22 +11012,14 @@ namespace app {
struct Vector3d_1 _smoothingTransformLookAtPoint; struct Vector3d_1 _smoothingTransformLookAtPoint;
struct SimpleKalmanFilter* _dirKfilter; struct SimpleKalmanFilter* _dirKfilter;
bool _isDirectionFilterInitialized; bool _isDirectionFilterInitialized;
struct Vector3d__Array* _faceDirectionTrace; struct Vector3d_1__Array* _faceDirectionTrace;
bool _isFaceDirectionTraceInitialized; bool _isFaceDirectionTraceInitialized;
struct Vector3d_1 _lastFrameSmoothFaceDirection; struct Vector3d_1 _lastFrameSmoothFaceDirection;
bool _hasEnteredAvatarClimb; bool _hasEnteredAvatarClimb;
bool _hasBeenConsistent; bool _hasBeenConsistent;
double _timerForWaitingFacingToWallNoraml; double _timerForWaitingFacingToWallNoraml;
#if defined(_CPLUSPLUS_)
HumanoidMoveFSM_HumanoidMoveFSM_FSMStateID__Enum _curFSMState; HumanoidMoveFSM_HumanoidMoveFSM_FSMStateID__Enum _curFSMState;
#else
int32_t _curFSMState;
#endif
#if defined(_CPLUSPLUS_)
HumanoidMoveFSM_HumanoidMoveFSM_FSMStateID__Enum _lastFSMState; HumanoidMoveFSM_HumanoidMoveFSM_FSMStateID__Enum _lastFSMState;
#else
int32_t _lastFSMState;
#endif
struct Vector3d_1 _climbWallNormal; struct Vector3d_1 _climbWallNormal;
bool _climbWallNormalGetted; bool _climbWallNormalGetted;
int32_t _LayerIndex; int32_t _LayerIndex;
@ -11029,11 +11040,11 @@ namespace app {
double _inputMoveAngle; double _inputMoveAngle;
double _inputMoveMold; double _inputMoveMold;
double _defaultCameraDistanceAdjust; double _defaultCameraDistanceAdjust;
float HOBOHFMFPPG; float KNJMIPJHINJ;
float POIEBBJDKKF; float DFGOMAELPBC;
bool DJDBLKBDMAH; bool KNHDJFKJJDC;
struct Dictionary_2_UnityEngine_Vector2_System_Double_* _animStateChangePair; struct Dictionary_2_UnityEngine_Vector2_System_Double_* _animStateChangePair;
struct Dictionary_2_UnityEngine_Vector2_SCameraModuleInitialize_SCameraModuleInitialize_FilterKeepType_* _animStateChangeType; struct Dictionary_2_UnityEngine_Vector2_MoleMole_SCameraModuleInitialize_MoleMole_SCameraModuleInitialize_FilterKeepType_* _animStateChangeType;
struct Dictionary_2_UnityEngine_Vector2_System_Double_* _animStateChangeTime; struct Dictionary_2_UnityEngine_Vector2_System_Double_* _animStateChangeTime;
double _preNormalRadiusTarget; double _preNormalRadiusTarget;
double _preNormalRadiusStart; double _preNormalRadiusStart;
@ -11307,7 +11318,8 @@ namespace app {
float _perfectRangeStart; float _perfectRangeStart;
float _perfectRangeEnd; float _perfectRangeEnd;
bool _qteStart; bool _qteStart;
float _qteTime; float OGOGOAJEFFI;
bool _qteTime;
float _qteBonusRange; float _qteBonusRange;
bool _isAuto; bool _isAuto;
int32_t _foodKind; int32_t _foodKind;
@ -11702,19 +11714,19 @@ namespace app {
}; };
struct MoleMole_VCBaseSetDitherValue__Fields { struct MoleMole_VCBaseSetDitherValue__Fields {
void* _; struct VCBase__Fields _;
bool _usingDitherAlpha; bool _usingDitherAlpha;
float _ditherAlphaValue; float _ditherAlphaValue;
float _managerDitherAlphaValue; float _managerDitherAlphaValue;
float _localDitherAlphaValue; float _localDitherAlphaValue;
bool IBKAJMBMGAE; bool HCPHLKHJEBI;
struct MoleMole_VCBaseModel* _modelComponent; struct MoleMole_VCBaseModel* _modelComponent;
float _showStartDitherDuration; float _showStartDitherDuration;
bool _needStartDitherAction; bool _needStartDitherAction;
float _detectDitherRangeBetweenCameraAndAvatar; float _detectDitherRangeBetweenCameraAndAvatar;
float _detectDitherRangeNormalBetweenCamera; float _detectDitherRangeNormalBetweenCamera;
float _detectDitherRangeNormalBetweenCameraInTimeLine; float _detectDitherRangeNormalBetweenCameraInTimeLine;
bool GCEGGKLBFPG; bool LGEKBIFMMLF;
struct List_1_MoleMole_BaseDither_* _dithers; struct List_1_MoleMole_BaseDither_* _dithers;
bool _isDitherChangeStarted; bool _isDitherChangeStarted;
float _spd; float _spd;
@ -11861,23 +11873,24 @@ namespace app {
struct MoleMole_Config_ConfigAbilityModifier__Fields fields; struct MoleMole_Config_ConfigAbilityModifier__Fields fields;
}; };
struct __declspec(align(8)) HKMHAGBLLMK__Fields { struct __declspec(align(8)) MoleMole_BaseActorActionContext__Fields {
struct MoleMole_BaseAbilityMixin__Array* JGLDNAPGGGC; struct MoleMole_BaseAbilityMixin__Array* instancedMixins;
struct List_1_System_ValueTuple_2__1* JFLGBBBFBLF; struct List_1_UniRx_Tuple_2__1* _attachedPatternIndices;
struct List_1_System_ValueTuple_2__2* EFOPNOEMFBI; struct List_1_UniRx_Tuple_2__2* _attachedResistanceBuffDebuffs;
struct List_1_MoleMole_Config_ConfigAbilityAction__1* PGICFJEDMAE; struct List_1_MoleMole_Config_ConfigAbilityAction__1* _attachedAbilityActions;
struct List_1_System_ValueTuple_3__1* CGBNAMBLDOE; struct List_1_UniRx_Tuple_3__1* _attachedElementTypeResistance;
struct IList_1_MoleMole_BaseAbilityMixin_* LOGOJNMHLIF; struct IList_1_MoleMole_BaseAbilityMixin_* _tickMixins;
}; };
struct MoleMole_ActorModifier__Fields { struct MoleMole_ActorModifier__Fields {
HKMHAGBLLMK__Fields _; struct MoleMole_BaseActorActionContext__Fields _;
struct MoleMole_ActorAbility* parentAbility; struct MoleMole_ActorAbility* parentAbility;
uint32_t parentAbilityInstanceID; uint32_t parentAbilityInstanceID;
struct MoleMole_Config_ConfigAbility* _parentAbilityConfig; struct MoleMole_Config_ConfigAbility* _parentAbilityConfig;
uint32_t parentAbilityEntityID; uint32_t parentAbilityEntityID;
uint32_t _applyEntityId_k__BackingField; uint32_t _applyEntityId_k__BackingField;
struct MoleMole_LCAbility* owner; struct MoleMole_LCAbility* owner;
struct Action* ADBOKMOBNAN;
struct MoleMole_Config_ConfigAbilityModifier* _config; struct MoleMole_Config_ConfigAbilityModifier* _config;
struct Dictionary_2_MoleMole_EncryptedString_System_Int32_* stackIndices; struct Dictionary_2_MoleMole_EncryptedString_System_Int32_* stackIndices;
int32_t _parentOwnedIx; int32_t _parentOwnedIx;
@ -11888,17 +11901,17 @@ namespace app {
bool attachedModifierIsServerBuff; bool attachedModifierIsServerBuff;
int32_t attachedModifierNameHash; int32_t attachedModifierNameHash;
bool isAttachedParentAbility; bool isAttachedParentAbility;
bool PBDIKHPKHLF; bool GDKHIMOECNI;
struct Action_1_MoleMole_ActorModifier_* onDetached; struct Action_1_MoleMole_ActorModifier_* onDetached;
uint32_t serverBuffUid; uint32_t serverBuffUid;
struct Action_1_Nullable_1_Single_* onDurabilityEmpty; struct Action_2_Nullable_1_Single_Single_* onDurabilityEmpty;
bool _isValid_k__BackingField; bool _isValid_k__BackingField;
uint64_t _modifierStartTime_k__BackingField; uint64_t _modifierStartTime_k__BackingField;
bool isModifierInvalidByServer; bool isModifierInvalidByServer;
bool hasAddedAbilityState; bool hasAddedAbilityState;
float thinkInterval; float thinkInterval;
float reduceElementRatio; float reduceElementRatio;
float PHKNIPMALFB; float JCCKKCLDNLF;
}; };
struct MoleMole_ActorModifier { struct MoleMole_ActorModifier {
@ -11957,6 +11970,15 @@ namespace app {
Overflow = 0x00000001, Overflow = 0x00000001,
}; };
struct Avatar__Fields {
struct Object_1__Fields _;
};
struct Avatar {
struct Avatar__Class* klass;
MonitorData* monitor;
struct Avatar__Fields fields;
};
#if !defined(_GHIDRA_) && !defined(_IDA_) #if !defined(_GHIDRA_) && !defined(_IDA_)
} }

View File

@ -1,4 +1,5 @@
using namespace app; using namespace app;
DO_APP_FUNC(0x00B64280, app::Byte__Array*, Unity_RecordUserData, (int32_t nType)); DO_APP_FUNC(0x00B7B980, app::Byte__Array*, Unity_RecordUserData, (int32_t nType));
DO_APP_FUNC(0x00AFCB60, Il2CppClass**, GetIl2Classes, ()); DO_APP_FUNC(0x00B1B220, Il2CppClass**, GetIl2Classes, ());
DO_APP_FUNC(0x00DCE2B0, void, Animator_set_avatar, (Animator* __this, Avatar* value, MethodInfo* method));

View File

@ -17,6 +17,7 @@
#include <cheat/player/NoCD.h> #include <cheat/player/NoCD.h>
#include <cheat/player/NoClip.h> #include <cheat/player/NoClip.h>
#include <cheat/player/RapidFire.h> #include <cheat/player/RapidFire.h>
#include <cheat/player/AutoRun.h>
#include <cheat/world/AutoLoot.h> #include <cheat/world/AutoLoot.h>
#include <cheat/world/DialogSkip.h> #include <cheat/world/DialogSkip.h>
@ -40,7 +41,6 @@
#include <cheat/world/AutoFish.h> #include <cheat/world/AutoFish.h>
#include <cheat/world/AutoCook.h> #include <cheat/world/AutoCook.h>
#include <cheat/world/MusicEvent.h>
#include <cheat/visuals/NoFog.h> #include <cheat/visuals/NoFog.h>
#include <cheat/visuals/FPSUnlock.h> #include <cheat/visuals/FPSUnlock.h>
@ -82,6 +82,7 @@ namespace cheat
FEAT_INST(NoCD), FEAT_INST(NoCD),
FEAT_INST(NoClip), FEAT_INST(NoClip),
FEAT_INST(RapidFire), FEAT_INST(RapidFire),
FEAT_INST(AutoRun),
FEAT_INST(AutoLoot), FEAT_INST(AutoLoot),
FEAT_INST(AutoTreeFarm), FEAT_INST(AutoTreeFarm),
@ -94,7 +95,6 @@ namespace cheat
FEAT_INST(KillAura), FEAT_INST(KillAura),
FEAT_INST(MobVacuum), FEAT_INST(MobVacuum),
FEAT_INST(FakeTime), FEAT_INST(FakeTime),
FEAT_INST(ChestTeleport), FEAT_INST(ChestTeleport),
FEAT_INST(OculiTeleport), FEAT_INST(OculiTeleport),
@ -106,7 +106,6 @@ namespace cheat
FEAT_INST(AutoFish), FEAT_INST(AutoFish),
FEAT_INST(AutoCook), FEAT_INST(AutoCook),
FEAT_INST(MusicEvent),
FEAT_INST(NoFog), FEAT_INST(NoFog),
FEAT_INST(FPSUnlock), FEAT_INST(FPSUnlock),

View File

@ -417,6 +417,8 @@ namespace cheat::feature
ADD_FILTER_FIELD(collection, RadiantSpincrystal); ADD_FILTER_FIELD(collection, RadiantSpincrystal);
ADD_FILTER_FIELD(collection, BookPage); ADD_FILTER_FIELD(collection, BookPage);
ADD_FILTER_FIELD(collection, QuestInteract); ADD_FILTER_FIELD(collection, QuestInteract);
ADD_FILTER_FIELD(collection, WoodenCrate);
ADD_FILTER_FIELD(collection, GeoSigil);
ADD_FILTER_FIELD(chest, CommonChest); ADD_FILTER_FIELD(chest, CommonChest);
ADD_FILTER_FIELD(chest, ExquisiteChest); ADD_FILTER_FIELD(chest, ExquisiteChest);

View File

@ -26,8 +26,10 @@ namespace cheat::game
public IEntityFilter public IEntityFilter
{ {
public: public:
AdvancedFilter(const std::vector<app::EntityType__Enum_1>& types = {}, const std::vector<std::string>& names = {}) : m_Names(names), m_Types(types) {} AdvancedFilter(std::initializer_list<app::EntityType__Enum_1> types = {}, std::initializer_list<std::string> names = {}) : m_Names(names), m_Types(types) {}
AdvancedFilter(const app::EntityType__Enum_1 type, const std::string name) : AdvancedFilter(std::vector<app::EntityType__Enum_1>{type}, std::vector<std::string>{name}) {} AdvancedFilter(std::initializer_list<app::EntityType__Enum_1> types, const std::string& name) : AdvancedFilter(types, { name }) {}
AdvancedFilter(const app::EntityType__Enum_1 type, std::initializer_list<std::string> name) : AdvancedFilter({ type }, name) {}
AdvancedFilter(const app::EntityType__Enum_1 type, const std::string& name) : AdvancedFilter({ type }, { name }) {}
friend AdvancedFilter operator+(AdvancedFilter lFilter, const AdvancedFilter& rFilter); friend AdvancedFilter operator+(AdvancedFilter lFilter, const AdvancedFilter& rFilter);
bool IsValid(Entity* entity) const override { bool IsValid(Entity* entity) const override {

View File

@ -3,6 +3,13 @@
namespace cheat::game namespace cheat::game
{ {
SimpleFilter::SimpleFilter(std::initializer_list<SimpleFilter> names)
: m_Type(names.begin()->m_Type)
{
std::for_each(names.begin(), names.end(), [this](const SimpleFilter& other) {
m_Names.insert(m_Names.begin(), other.m_Names.begin(), other.m_Names.end());
});
}
bool SimpleFilter::IsValid(Entity* entity) const bool SimpleFilter::IsValid(Entity* entity) const
{ {
@ -24,15 +31,4 @@ namespace cheat::game
return false; return false;
} }
}
SimpleFilter::SimpleFilter(app::EntityType__Enum_1 type, const std::vector<std::string>& names) : m_Names(names), m_Type(type)
{
}
SimpleFilter operator+(SimpleFilter lFilter, const SimpleFilter& rFilter)
{
lFilter.m_Names.insert(lFilter.m_Names.end(), rFilter.m_Names.begin(), rFilter.m_Names.end());
return lFilter;
}
}

View File

@ -10,12 +10,11 @@ namespace cheat::game
public IEntityFilter public IEntityFilter
{ {
public: public:
SimpleFilter(app::EntityType__Enum_1 type, std::initializer_list<std::string> names = {}) : m_Type(type), m_Names{ names } {}
SimpleFilter(app::EntityType__Enum_1 type, const std::vector<std::string>& names = {}); SimpleFilter(app::EntityType__Enum_1 type, const std::string& name) : SimpleFilter(type, {name}) {}
SimpleFilter(app::EntityType__Enum_1 type, const std::string name) : SimpleFilter(type, std::vector<std::string>{name}) {} SimpleFilter(std::initializer_list<SimpleFilter> lst);
bool IsValid(Entity* entity) const override; bool IsValid(Entity* entity) const override;
friend SimpleFilter operator+(SimpleFilter lFilter, const SimpleFilter& rFilter); protected:
private:
app::EntityType__Enum_1 m_Type; app::EntityType__Enum_1 m_Type;
std::vector<std::string> m_Names; std::vector<std::string> m_Names;
}; };

View File

@ -4,6 +4,9 @@
namespace cheat::game::filters namespace cheat::game::filters
{ {
using namespace game;
using namespace app;
namespace collection namespace collection
{ {
SimpleFilter Book = { app::EntityType__Enum_1::GatherObject, "SkillObj_EmptyGadget" }; SimpleFilter Book = { app::EntityType__Enum_1::GatherObject, "SkillObj_EmptyGadget" };
@ -11,312 +14,311 @@ namespace cheat::game::filters
ChestFilter RadiantSpincrystal = ChestFilter(game::Chest::ItemType::BGM); ChestFilter RadiantSpincrystal = ChestFilter(game::Chest::ItemType::BGM);
ChestFilter BookPage = ChestFilter(game::Chest::ItemType::BookPage); ChestFilter BookPage = ChestFilter(game::Chest::ItemType::BookPage);
ChestFilter QuestInteract = ChestFilter(game::Chest::ItemType::QuestInteract); ChestFilter QuestInteract = ChestFilter(game::Chest::ItemType::QuestInteract);
SimpleFilter WoodenCrate = { app::EntityType__Enum_1::Chest, "Searchpoint_OnWater" };
SimpleFilter GeoSigil = { app::EntityType__Enum_1::Chest, "Prop_Search_Point" };
} }
namespace chest namespace chest
{ {
ChestFilter CommonChest = ChestFilter(game::Chest::ChestRarity::Common); ChestFilter CommonChest = ChestFilter(Chest::ChestRarity::Common);
ChestFilter ExquisiteChest = ChestFilter(game::Chest::ChestRarity::Exquisite); ChestFilter ExquisiteChest = ChestFilter(Chest::ChestRarity::Exquisite);
ChestFilter PreciousChest = ChestFilter(game::Chest::ChestRarity::Precious); ChestFilter PreciousChest = ChestFilter(Chest::ChestRarity::Precious);
ChestFilter LuxuriousChest = ChestFilter(game::Chest::ChestRarity::Luxurious); ChestFilter LuxuriousChest = ChestFilter(Chest::ChestRarity::Luxurious);
ChestFilter RemarkableChest = ChestFilter(game::Chest::ChestRarity::Remarkable); ChestFilter RemarkableChest = ChestFilter(Chest::ChestRarity::Remarkable);
ChestFilter SearchPoint = ChestFilter(game::Chest::ItemType::Investigate); ChestFilter SearchPoint = ChestFilter(Chest::ItemType::Investigate);
ChestFilter SLocked = ChestFilter(game::Chest::ChestState::Locked); ChestFilter SLocked = ChestFilter(Chest::ChestState::Locked);
ChestFilter SInLock = ChestFilter(game::Chest::ChestState::InRock); ChestFilter SInLock = ChestFilter(Chest::ChestState::InRock);
ChestFilter SFrozen = ChestFilter(game::Chest::ChestState::Frozen); ChestFilter SFrozen = ChestFilter(Chest::ChestState::Frozen);
ChestFilter SBramble = ChestFilter(game::Chest::ChestState::Bramble); ChestFilter SBramble = ChestFilter(Chest::ChestState::Bramble);
ChestFilter STrap = ChestFilter(game::Chest::ChestState::Trap); ChestFilter STrap = ChestFilter(Chest::ChestState::Trap);
} }
namespace equipment namespace equipment
{ {
SimpleFilter Artifacts = { app::EntityType__Enum_1::DropItem, "_Relic" }; SimpleFilter Artifacts = { EntityType__Enum_1::DropItem, "_Relic" };
SimpleFilter Bow = { app::EntityType__Enum_1::DropItem, "_Bow" }; SimpleFilter Bow = { EntityType__Enum_1::DropItem, "_Bow" };
SimpleFilter Claymore = { app::EntityType__Enum_1::DropItem, "_Claymore" }; SimpleFilter Claymore = { EntityType__Enum_1::DropItem, "_Claymore" };
SimpleFilter Catalyst = { app::EntityType__Enum_1::DropItem, "_Catalyst" }; SimpleFilter Catalyst = { EntityType__Enum_1::DropItem, "_Catalyst" };
SimpleFilter Pole = { app::EntityType__Enum_1::DropItem, "_Pole" }; SimpleFilter Pole = { EntityType__Enum_1::DropItem, "_Pole" };
SimpleFilter Sword = { app::EntityType__Enum_1::DropItem, "_Sword" }; SimpleFilter Sword = { EntityType__Enum_1::DropItem, "_Sword" };
} }
namespace featured namespace featured
{ {
SimpleFilter Anemoculus = { app::EntityType__Enum_1::GatherObject, "WindCrystalShell" }; SimpleFilter Anemoculus = { EntityType__Enum_1::GatherObject, "WindCrystalShell" };
SimpleFilter CrimsonAgate = { app::EntityType__Enum_1::GatherObject, "Prop_Essence" }; SimpleFilter CrimsonAgate = { EntityType__Enum_1::GatherObject, "Prop_Essence" };
SimpleFilter Electroculus = { app::EntityType__Enum_1::GatherObject, "Prop_ElectricCrystal" }; SimpleFilter Electroculus = { EntityType__Enum_1::GatherObject, "Prop_ElectricCrystal" };
SimpleFilter Electrogranum = { app::EntityType__Enum_1::Gadget, "ThunderSeedCreate" }; SimpleFilter Electrogranum = { EntityType__Enum_1::Gadget, "ThunderSeedCreate" };
SimpleFilter FishingPoint = { app::EntityType__Enum_1::FishPool, "_FishingShoal" }; SimpleFilter FishingPoint = { EntityType__Enum_1::FishPool, "_FishingShoal" };
SimpleFilter Geoculus = { app::EntityType__Enum_1::GatherObject, "RockCrystalShell" }; SimpleFilter Geoculus = { EntityType__Enum_1::GatherObject, "RockCrystalShell" };
WhitelistFilter ItemDrops = { std::vector<app::EntityType__Enum_1> {app::EntityType__Enum_1::GatherObject, app::EntityType__Enum_1::DropItem }, std::vector<std::string> {"_Food_BirdMeat", "_Food_Meat", "_DropItem","_Fishmeat" } }; WhitelistFilter ItemDrops = { {EntityType__Enum_1::GatherObject, EntityType__Enum_1::DropItem }, {"_Food_BirdMeat", "_Food_Meat", "_DropItem","_Fishmeat" } };
SimpleFilter Lumenspar = { app::EntityType__Enum_1::GatherObject, "CelestiaSplinter" }; SimpleFilter Lumenspar = { EntityType__Enum_1::GatherObject, "CelestiaSplinter" };
SimpleFilter KeySigil = { app::EntityType__Enum_1::GatherObject, "RuneContent" }; SimpleFilter KeySigil = { EntityType__Enum_1::GatherObject, "RuneContent" };
SimpleFilter ShrineOfDepth = { app::EntityType__Enum_1::Gadget, "Temple" }; SimpleFilter ShrineOfDepth = { EntityType__Enum_1::Gadget, "Temple" };
SimpleFilter TimeTrialChallenge = { app::EntityType__Enum_1::Field, "Challengestarter_" }; SimpleFilter TimeTrialChallenge = { EntityType__Enum_1::Field, "Challengestarter_" };
} }
namespace guide namespace guide
{ {
SimpleFilter CampfireTorch = { app::EntityType__Enum_1::Gadget, "_FireBasin" }; SimpleFilter CampfireTorch = { EntityType__Enum_1::Gadget, "_FireBasin" };
SimpleFilter DayNightSwitchingMechanism = { app::EntityType__Enum_1::Field, "_CircleConsole" }; SimpleFilter DayNightSwitchingMechanism = { EntityType__Enum_1::Field, "_CircleConsole" };
SimpleFilter EnkanomiyaPhaseGate = { app::EntityType__Enum_1::Gadget, "_Singularity" }; SimpleFilter EnkanomiyaPhaseGate = { EntityType__Enum_1::Gadget, "_Singularity" };
SimpleFilter MysteriousCarvings = { app::EntityType__Enum_1::Gadget, "_ReginStatue" }; SimpleFilter MysteriousCarvings = { EntityType__Enum_1::Gadget, "_ReginStatue" };
SimpleFilter PhaseGate = { app::EntityType__Enum_1::Field, "_TeleportHighway" }; SimpleFilter PhaseGate = { EntityType__Enum_1::Field, "_TeleportHighway" };
SimpleFilter PlacesofEssenceWorship = { app::EntityType__Enum_1::Field, "_EnergySource" }; SimpleFilter PlacesofEssenceWorship = { EntityType__Enum_1::Field, "_EnergySource" };
SimpleFilter Pot = { app::EntityType__Enum_1::Gadget, "_Cooking_" }; SimpleFilter Pot = { EntityType__Enum_1::Gadget, "_Cooking_" };
SimpleFilter RuinBrazier = { app::EntityType__Enum_1::Gadget, "_AncientHeatSource" }; SimpleFilter RuinBrazier = { EntityType__Enum_1::Gadget, "_AncientHeatSource" };
SimpleFilter Stormstone = { app::EntityType__Enum_1::Gadget, "_ReginLamp" }; SimpleFilter Stormstone = { EntityType__Enum_1::Gadget, "_ReginLamp" };
SimpleFilter TriangularMechanism = { app::EntityType__Enum_1::Field, "_TuningFork" }; SimpleFilter TriangularMechanism = { EntityType__Enum_1::Field, "_TuningFork" };
} }
namespace living namespace living
{ {
SimpleFilter AvatarTeammate = { app::EntityType__Enum_1::Avatar, "authority :False" }; SimpleFilter AvatarTeammate = { EntityType__Enum_1::Avatar, "authority :False" };
SimpleFilter AvatarOwn = { app::EntityType__Enum_1::Avatar, "authority :True" }; SimpleFilter AvatarOwn = { EntityType__Enum_1::Avatar, "authority :True" };
SimpleFilter BirdEgg = { app::EntityType__Enum_1::GatherObject, "BirdEgg" }; SimpleFilter BirdEgg = { EntityType__Enum_1::GatherObject, "BirdEgg" };
SimpleFilter ButterflyWings = { app::EntityType__Enum_1::EnvAnimal, "Butterfly" }; SimpleFilter ButterflyWings = { EntityType__Enum_1::EnvAnimal, "Butterfly" };
SimpleFilter Crab = { app::EntityType__Enum_1::EnvAnimal, "Crab" }; SimpleFilter Crab = { EntityType__Enum_1::EnvAnimal, "Crab" };
SimpleFilter CrystalCore = { app::EntityType__Enum_1::EnvAnimal, "Wisp" }; SimpleFilter CrystalCore = { EntityType__Enum_1::EnvAnimal, "Wisp" };
SimpleFilter Fish = { app::EntityType__Enum_1::EnvAnimal, "Fish" }; SimpleFilter Fish = { EntityType__Enum_1::EnvAnimal, "Fish" };
SimpleFilter Frog = { app::EntityType__Enum_1::EnvAnimal, "Frog" }; SimpleFilter Frog = { EntityType__Enum_1::EnvAnimal, "Frog" };
SimpleFilter LizardTail = { app::EntityType__Enum_1::EnvAnimal, "Lizard" }; SimpleFilter LizardTail = { EntityType__Enum_1::EnvAnimal, "Lizard" };
SimpleFilter LuminescentSpine = { app::EntityType__Enum_1::EnvAnimal, "FireFly" }; SimpleFilter LuminescentSpine = { EntityType__Enum_1::EnvAnimal, "FireFly" };
SimpleFilter Onikabuto = { app::EntityType__Enum_1::GatherObject, "Electrohercules" }; SimpleFilter Onikabuto = { EntityType__Enum_1::GatherObject, "Electrohercules" };
SimpleFilter Starconch = { app::EntityType__Enum_1::GatherObject, "_Shell" }; SimpleFilter Starconch = { EntityType__Enum_1::GatherObject, "_Shell" };
SimpleFilter Eel = { app::EntityType__Enum_1::EnvAnimal, "Eel_" }; SimpleFilter Eel = { EntityType__Enum_1::EnvAnimal, "Eel_" };
SimpleFilter Inu = { app::EntityType__Enum_1::EnvAnimal, "_Inu_Shihandai" }; SimpleFilter Inu = { EntityType__Enum_1::EnvAnimal, "_Inu_Shihandai" };
SimpleFilter Boar = { app::EntityType__Enum_1::Monster, "Boar" }; SimpleFilter Boar = { EntityType__Enum_1::Monster, "Boar" };
SimpleFilter Fox = { app::EntityType__Enum_1::Monster, "Fox" }; SimpleFilter Fox = { EntityType__Enum_1::Monster, "Fox" };
SimpleFilter Squirrel = { app::EntityType__Enum_1::Monster, "Squirrel" }; SimpleFilter Squirrel = { EntityType__Enum_1::Monster, "Squirrel" };
SimpleFilter Npc = { app::EntityType__Enum_1::NPC, SimpleFilter Npc = { EntityType__Enum_1::NPC, { "_Liyue", "_Mengde", "_Inazuma", "_Coop", "_Quest", "_Enkanomiya", "_Animal", "_Guide", "_Homeworld" } };
std::vector<std::string> { "_Liyue", "_Mengde", "_Inazuma", "_Coop", "_Quest", "_Enkanomiya", "_Animal", "_Guide", "_Homeworld" } }; SimpleFilter Crane = { EntityType__Enum_1::Monster, "Crane" };
SimpleFilter Crane = { app::EntityType__Enum_1::Monster, "Crane" }; SimpleFilter Falcon = { EntityType__Enum_1::Monster, "Falcon" };
SimpleFilter Falcon = { app::EntityType__Enum_1::Monster, "Falcon" }; SimpleFilter LucklightFly = { EntityType__Enum_1::EnvAnimal, "Boltbug_" };
SimpleFilter LucklightFly = { app::EntityType__Enum_1::EnvAnimal, "Boltbug_" }; SimpleFilter Salamander = { EntityType__Enum_1::EnvAnimal, "Salamander" };
SimpleFilter Salamander = { app::EntityType__Enum_1::EnvAnimal, "Salamander" }; SimpleFilter Pigeon = { EntityType__Enum_1::Monster, "Pigeon" };
SimpleFilter Pigeon = { app::EntityType__Enum_1::Monster, "Pigeon" }; SimpleFilter Crow = { EntityType__Enum_1::Monster, "Crow" };
SimpleFilter Crow = { app::EntityType__Enum_1::Monster, "Crow" }; SimpleFilter Finch = { EntityType__Enum_1::Monster, "Tit" };
SimpleFilter Finch = { app::EntityType__Enum_1::Monster, "Tit" }; SimpleFilter Wigeon = { EntityType__Enum_1::Monster, "Wigeon" };
SimpleFilter Wigeon = { app::EntityType__Enum_1::Monster, "Wigeon" }; SimpleFilter Dog = { EntityType__Enum_1::Monster, "DogPrick" };
SimpleFilter Dog = { app::EntityType__Enum_1::Monster, "DogPrick" }; SimpleFilter Cat = { EntityType__Enum_1::Monster, "Cat" };
SimpleFilter Cat = { app::EntityType__Enum_1::Monster, "Cat" }; SimpleFilter Weasel = { EntityType__Enum_1::Monster, "Marten" };
SimpleFilter Weasel = { app::EntityType__Enum_1::Monster, "Marten" }; SimpleFilter WeaselThief = { EntityType__Enum_1::Monster, "Thoarder_Weasel" };
SimpleFilter WeaselThief = { app::EntityType__Enum_1::Monster, "Thoarder_Weasel" }; SimpleFilter Kitsune = { EntityType__Enum_1::EnvAnimal, "Vulpes" };
SimpleFilter Kitsune = { app::EntityType__Enum_1::EnvAnimal, "Vulpes" }; SimpleFilter BakeDanuki = { EntityType__Enum_1::Monster, "Inu_Tanuki" };
SimpleFilter BakeDanuki = { app::EntityType__Enum_1::Monster, "Inu_Tanuki" }; SimpleFilter Meat = { EntityType__Enum_1::GatherObject , { "_Food_BirdMeat", "_Food_Meat", "_Fishmeat" }};
SimpleFilter Meat = { app::EntityType__Enum_1::GatherObject , std::vector<std::string> { "_Food_BirdMeat", "_Food_Meat", "_Fishmeat" } };
} }
namespace mineral namespace mineral
{ {
SimpleFilter AmethystLump = { app::EntityType__Enum_1::GatherObject, "_Thundercrystal" }; SimpleFilter AmethystLump = { EntityType__Enum_1::GatherObject, "_Thundercrystal" };
SimpleFilter ArchaicStone = { app::EntityType__Enum_1::GatherObject, "_AncientOre" }; SimpleFilter ArchaicStone = { EntityType__Enum_1::GatherObject, "_AncientOre" };
SimpleFilter CorLapis = { app::EntityType__Enum_1::GatherObject, "_ElementRock" }; SimpleFilter CorLapis = { EntityType__Enum_1::GatherObject, "_ElementRock" };
SimpleFilter CrystalChunk = { app::EntityType__Enum_1::GatherObject, SimpleFilter CrystalChunk = { EntityType__Enum_1::GatherObject, { "_OreCrystal", "_ShiningCrystalOre" } };
std::vector<std::string> { "_OreCrystal", "_ShiningCrystalOre" } }; SimpleFilter CrystalMarrow = { EntityType__Enum_1::GatherObject, "_Crystalizedmarrow" };
SimpleFilter CrystalMarrow = { app::EntityType__Enum_1::GatherObject, "_Crystalizedmarrow" }; SimpleFilter ElectroCrystal = { EntityType__Enum_1::GatherObject, "_OreElectricRock" };
SimpleFilter ElectroCrystal = { app::EntityType__Enum_1::GatherObject, "_OreElectricRock" }; SimpleFilter IronChunk = { EntityType__Enum_1::GatherObject, "_OreStone" };
SimpleFilter IronChunk = { app::EntityType__Enum_1::GatherObject, "_OreStone" }; SimpleFilter NoctilucousJade = { EntityType__Enum_1::GatherObject, { "_OreNightBerth", "_ShiningNightBerthOre" } };
SimpleFilter NoctilucousJade = { app::EntityType__Enum_1::GatherObject, SimpleFilter MagicalCrystalChunk = { EntityType__Enum_1::GatherObject, "_OreMagicCrystal" };
std::vector<std::string> { "_OreNightBerth", "_ShiningNightBerthOre" } }; SimpleFilter ScarletQuartz = { EntityType__Enum_1::GatherObject, "_OreDulinsBlood" };
SimpleFilter MagicalCrystalChunk = { app::EntityType__Enum_1::GatherObject, "_OreMagicCrystal" }; SimpleFilter Starsilver = { EntityType__Enum_1::GatherObject, "_OreMoonMeteor" };
SimpleFilter ScarletQuartz = { app::EntityType__Enum_1::GatherObject, "_OreDulinsBlood" }; SimpleFilter WhiteIronChunk = { EntityType__Enum_1::GatherObject, "_OreMetal" };
SimpleFilter Starsilver = { app::EntityType__Enum_1::GatherObject, "_OreMoonMeteor" }; SimpleFilter DunlinsTooth = { EntityType__Enum_1::GatherObject, "_DunlinsTooth" };
SimpleFilter WhiteIronChunk = { app::EntityType__Enum_1::GatherObject, "_OreMetal" };
SimpleFilter DunlinsTooth = { app::EntityType__Enum_1::GatherObject, "_DunlinsTooth" };
SimpleFilter AmethystLumpDrop = { app::EntityType__Enum_1::GatherObject, "_Thundercrystaldrop" }; SimpleFilter AmethystLumpDrop = { EntityType__Enum_1::GatherObject, "_Thundercrystaldrop" };
SimpleFilter CrystalChunkDrop = { app::EntityType__Enum_1::GatherObject,"_Drop_Crystal" }; SimpleFilter CrystalChunkDrop = { EntityType__Enum_1::GatherObject,"_Drop_Crystal"};
SimpleFilter ElectroCrystalDrop = { app::EntityType__Enum_1::GatherObject, "_Drop_Ore_ElectricRock" }; SimpleFilter ElectroCrystalDrop = { EntityType__Enum_1::GatherObject, "_Drop_Ore_ElectricRock" };
SimpleFilter IronChunkDrop = { app::EntityType__Enum_1::GatherObject, "_Drop_Stone" }; SimpleFilter IronChunkDrop = { EntityType__Enum_1::GatherObject, "_Drop_Stone" };
SimpleFilter NoctilucousJadeDrop = { app::EntityType__Enum_1::GatherObject,"_NightBerth" }; SimpleFilter NoctilucousJadeDrop = { EntityType__Enum_1::GatherObject,"_NightBerth" };
SimpleFilter MagicalCrystalChunkDrop = { app::EntityType__Enum_1::GatherObject, "_DropMagicCrystal" }; SimpleFilter MagicalCrystalChunkDrop = { EntityType__Enum_1::GatherObject, "_DropMagicCrystal" };
SimpleFilter ScarletQuartzDrop = { app::EntityType__Enum_1::GatherObject, "_DropDulinsBlood" }; SimpleFilter ScarletQuartzDrop = { EntityType__Enum_1::GatherObject, "_DropDulinsBlood" };
SimpleFilter StarsilverDrop = { app::EntityType__Enum_1::GatherObject, "_DropMoonMeteor" }; SimpleFilter StarsilverDrop = { EntityType__Enum_1::GatherObject, "_DropMoonMeteor" };
SimpleFilter WhiteIronChunkDrop = { app::EntityType__Enum_1::GatherObject, "_Drop_Metal" }; SimpleFilter WhiteIronChunkDrop = { EntityType__Enum_1::GatherObject, "_Drop_Metal" };
} }
namespace monster namespace monster
{ {
SimpleFilter AbyssMage = { app::EntityType__Enum_1::Monster, "_Abyss" }; SimpleFilter AbyssMage = { EntityType__Enum_1::Monster, "_Abyss" };
SimpleFilter FatuiAgent = { app::EntityType__Enum_1::Monster, "_Fatuus" }; SimpleFilter FatuiAgent = { EntityType__Enum_1::Monster, "_Fatuus" };
SimpleFilter FatuiCicinMage = { app::EntityType__Enum_1::Monster, "_Fatuus_Summoner" }; SimpleFilter FatuiCicinMage = { EntityType__Enum_1::Monster, "_Fatuus_Summoner" };
SimpleFilter FatuiMirrorMaiden = { app::EntityType__Enum_1::Monster, "_Fatuus_Maiden" }; SimpleFilter FatuiMirrorMaiden = { EntityType__Enum_1::Monster, "_Fatuus_Maiden" };
SimpleFilter FatuiSkirmisher = { app::EntityType__Enum_1::Monster, "_Skirmisher" }; SimpleFilter FatuiSkirmisher = { EntityType__Enum_1::Monster, "_Skirmisher" };
SimpleFilter Geovishap = { app::EntityType__Enum_1::Monster, "_Drake_Rock" }; SimpleFilter Geovishap = { EntityType__Enum_1::Monster, "_Drake_Rock" };
SimpleFilter GeovishapHatchling = { app::EntityType__Enum_1::Monster, "_Wyrm_Rock" }; SimpleFilter GeovishapHatchling = { EntityType__Enum_1::Monster, "_Wyrm_Rock" };
SimpleFilter Hilichurl = { app::EntityType__Enum_1::Monster, "_Hili" }; SimpleFilter Hilichurl = { EntityType__Enum_1::Monster, "_Hili" };
SimpleFilter Mitachurl = { app::EntityType__Enum_1::Monster, "_Brute" }; SimpleFilter Mitachurl = { EntityType__Enum_1::Monster, "_Brute" };
SimpleFilter Nobushi = { app::EntityType__Enum_1::Monster, "_Ronin" }; SimpleFilter Nobushi = { EntityType__Enum_1::Monster, "_Ronin" };
SimpleFilter Kairagi = { app::EntityType__Enum_1::Monster, "_Kairagi" }; SimpleFilter Kairagi = { EntityType__Enum_1::Monster, "_Kairagi" };
SimpleFilter RuinGuard = { app::EntityType__Enum_1::Monster, "_Defender" }; SimpleFilter RuinGuard = { EntityType__Enum_1::Monster, "_Defender" };
SimpleFilter RuinHunter = { app::EntityType__Enum_1::Monster, "_Formathr" }; SimpleFilter RuinHunter = { EntityType__Enum_1::Monster, "_Formathr" };
SimpleFilter RuinGrader = { app::EntityType__Enum_1::Monster, "_Konungmathr" }; SimpleFilter RuinGrader = { EntityType__Enum_1::Monster, "_Konungmathr" };
SimpleFilter RuinSentinel = { app::EntityType__Enum_1::Monster, "_Apparatus_Enigma" }; SimpleFilter RuinSentinel = { EntityType__Enum_1::Monster, "_Apparatus_Enigma" };
SimpleFilter Samachurl = { app::EntityType__Enum_1::Monster, "_Shaman" }; SimpleFilter Samachurl = { EntityType__Enum_1::Monster, "_Shaman" };
SimpleFilter ShadowyHusk = { app::EntityType__Enum_1::Monster, "ForlornVessel_Strong" }; SimpleFilter ShadowyHusk = { EntityType__Enum_1::Monster, "ForlornVessel_Strong" };
SimpleFilter Slime = { app::EntityType__Enum_1::Monster, "_Slime" }; SimpleFilter Slime = { EntityType__Enum_1::Monster, "_Slime" };
SimpleFilter FloatingFungus = { app::EntityType__Enum_1::Monster, "_Fungus" }; SimpleFilter FloatingFungus = { EntityType__Enum_1::Monster, "_Fungus" };
SimpleFilter Specter = { app::EntityType__Enum_1::Monster, "_Sylph" }; SimpleFilter Specter = { EntityType__Enum_1::Monster, "_Sylph" };
SimpleFilter TreasureHoarder = { app::EntityType__Enum_1::Monster, "_Thoarder" }; SimpleFilter TreasureHoarder = { EntityType__Enum_1::Monster, "_Thoarder" };
SimpleFilter UnusualHilichurl = { app::EntityType__Enum_1::Monster, "_Hili_Wei" }; SimpleFilter UnusualHilichurl = { EntityType__Enum_1::Monster, "_Hili_Wei" };
SimpleFilter Whopperflower = { app::EntityType__Enum_1::Monster, "_Mimik" }; SimpleFilter Whopperflower = { EntityType__Enum_1::Monster, "_Mimik" };
SimpleFilter RifthoundWhelp = { app::EntityType__Enum_1::Monster, "_Hound_Kanis" }; SimpleFilter RifthoundWhelp = { EntityType__Enum_1::Monster, "_Hound_Kanis" };
SimpleFilter Rifthound = { app::EntityType__Enum_1::Monster, "_Hound_Riftstalker" }; SimpleFilter Rifthound = { EntityType__Enum_1::Monster, "_Hound_Riftstalker" };
SimpleFilter Dvalin = { app::EntityType__Enum_1::Monster, "_Dragon_Dvalin" }; SimpleFilter Dvalin = { EntityType__Enum_1::Monster, "_Dragon_Dvalin" };
SimpleFilter Andrius = { app::EntityType__Enum_1::Monster, "_Wolf_LupiBoreas" }; SimpleFilter Andrius = { EntityType__Enum_1::Monster, "_Wolf_LupiBoreas" };
SimpleFilter Tartaglia = { app::EntityType__Enum_1::Monster, "_Tartaglia" }; SimpleFilter Tartaglia = { EntityType__Enum_1::Monster, "_Tartaglia" };
SimpleFilter Azhdaha = { app::EntityType__Enum_1::Monster, "_Dahaka" }; SimpleFilter Azhdaha = { EntityType__Enum_1::Monster, "_Dahaka" };
SimpleFilter Signora = { app::EntityType__Enum_1::Monster, "_LaSignora" }; SimpleFilter Signora = { EntityType__Enum_1::Monster, "_LaSignora" };
SimpleFilter Shogun = { app::EntityType__Enum_1::Monster, "_Shougun" }; SimpleFilter Shogun = { EntityType__Enum_1::Monster, "_Shougun" };
SimpleFilter EyeOfTheStorm = { app::EntityType__Enum_1::Monster, "_Elemental_Wind" }; SimpleFilter EyeOfTheStorm = { EntityType__Enum_1::Monster, "_Elemental_Wind" };
SimpleFilter ElectroHypostasis = { app::EntityType__Enum_1::Monster, "_Effigy_Electric" }; SimpleFilter ElectroHypostasis = { EntityType__Enum_1::Monster, "_Effigy_Electric" };
SimpleFilter AnemoHypostasis = { app::EntityType__Enum_1::Monster, "_Effigy_Wind" }; SimpleFilter AnemoHypostasis = { EntityType__Enum_1::Monster, "_Effigy_Wind" };
SimpleFilter GeoHypostasis = { app::EntityType__Enum_1::Monster, "_Effigy_Rock" }; SimpleFilter GeoHypostasis = { EntityType__Enum_1::Monster, "_Effigy_Rock" };
SimpleFilter HydroHypostasis = { app::EntityType__Enum_1::Monster, "_Effigy_Water" }; SimpleFilter HydroHypostasis = { EntityType__Enum_1::Monster, "_Effigy_Water" };
SimpleFilter CryoHypostasis = { app::EntityType__Enum_1::Monster, "_Effigy_Ice" }; SimpleFilter CryoHypostasis = { EntityType__Enum_1::Monster, "_Effigy_Ice" };
SimpleFilter PyroHypostasis = { app::EntityType__Enum_1::Monster, "_Effigy_Fire" }; SimpleFilter PyroHypostasis = { EntityType__Enum_1::Monster, "_Effigy_Fire" };
SimpleFilter HydroHypostasisSummon = { app::EntityType__Enum_1::Monster, "_Effigy_Water_Underling_Ooze" }; SimpleFilter HydroHypostasisSummon = { EntityType__Enum_1::Monster, "_Effigy_Water_Underling_Ooze" };
SimpleFilter Oceanid = { app::EntityType__Enum_1::Monster, "_Oceanid" }; SimpleFilter Oceanid = { EntityType__Enum_1::Monster, "_Oceanid" };
SimpleFilter OceanidBoar = { app::EntityType__Enum_1::Monster, "_Oceanid_Boar" }; SimpleFilter OceanidBoar = { EntityType__Enum_1::Monster, "_Oceanid_Boar" };
SimpleFilter OceanidCrane = { app::EntityType__Enum_1::Monster, "_Oceanid_Crane" }; SimpleFilter OceanidCrane = { EntityType__Enum_1::Monster, "_Oceanid_Crane" };
SimpleFilter OceanidCrab = { app::EntityType__Enum_1::Monster, "_Oceanid_Crab" }; SimpleFilter OceanidCrab = { EntityType__Enum_1::Monster, "_Oceanid_Crab" };
SimpleFilter OceanidFinch = { app::EntityType__Enum_1::Monster, "_Oceanid_Tit" }; SimpleFilter OceanidFinch = { EntityType__Enum_1::Monster, "_Oceanid_Tit" };
SimpleFilter OceanidWigeon = { app::EntityType__Enum_1::Monster, "_Oceanid_Wigeon" }; SimpleFilter OceanidWigeon = { EntityType__Enum_1::Monster, "_Oceanid_Wigeon" };
SimpleFilter OceanidSquirrel = { app::EntityType__Enum_1::Monster, "_Oceanid_Squirrel" }; SimpleFilter OceanidSquirrel = { EntityType__Enum_1::Monster, "_Oceanid_Squirrel" };
SimpleFilter OceanidFrog = { app::EntityType__Enum_1::Monster, "_Oceanid_Frog" }; SimpleFilter OceanidFrog = { EntityType__Enum_1::Monster, "_Oceanid_Frog" };
SimpleFilter OceanidFalcon = { app::EntityType__Enum_1::Monster, "_Oceanid_Falcon" }; SimpleFilter OceanidFalcon = { EntityType__Enum_1::Monster, "_Oceanid_Falcon" };
SimpleFilter PerpetualMechanicalArray = { app::EntityType__Enum_1::Monster, "_Apparatus_Perpetual" }; SimpleFilter PerpetualMechanicalArray = { EntityType__Enum_1::Monster, "_Apparatus_Perpetual" };
SimpleFilter PrimoGeovishap = { app::EntityType__Enum_1::Monster, "_Drake_Primo_Rock" }; SimpleFilter PrimoGeovishap = { EntityType__Enum_1::Monster, "_Drake_Primo_Rock" };
SimpleFilter HydroBathysmalVishap = { app::EntityType__Enum_1::Monster, "_Drake_Deepsea_Water" }; SimpleFilter HydroBathysmalVishap = { EntityType__Enum_1::Monster, "_Drake_Deepsea_Water" };
SimpleFilter CryoBathysmalVishap = { app::EntityType__Enum_1::Monster, "_Drake_Deepsea_Ice" }; SimpleFilter CryoBathysmalVishap = { EntityType__Enum_1::Monster, "_Drake_Deepsea_Ice" };
SimpleFilter ElectroBathysmalVishap = { app::EntityType__Enum_1::Monster, "_Drake_Deepsea_Electric" }; SimpleFilter ElectroBathysmalVishap = { EntityType__Enum_1::Monster, "_Drake_Deepsea_Electric" };
SimpleFilter ThunderManifestation = { app::EntityType__Enum_1::Monster, "_Raijin" }; SimpleFilter ThunderManifestation = { EntityType__Enum_1::Monster, "_Raijin" };
SimpleFilter HydroAbyssHerald = { app::EntityType__Enum_1::Monster, "_Invoker_Herald_Water" }; SimpleFilter HydroAbyssHerald = { EntityType__Enum_1::Monster, "_Invoker_Herald_Water" };
SimpleFilter ElectroAbyssLector = { app::EntityType__Enum_1::Monster, "_Invoker_Deacon_Electric" }; SimpleFilter ElectroAbyssLector = { EntityType__Enum_1::Monster, "_Invoker_Deacon_Electric" };
SimpleFilter PyroAbyssLector = { app::EntityType__Enum_1::Monster, "_Invoker_Deacon_Fire" }; SimpleFilter PyroAbyssLector = { EntityType__Enum_1::Monster, "_Invoker_Deacon_Fire" };
SimpleFilter BlackSerpentKnight = { app::EntityType__Enum_1::Monster, "_Darkwraith_Strong_Wind" }; SimpleFilter BlackSerpentKnight = { EntityType__Enum_1::Monster, "_Darkwraith_Strong_Wind" };
SimpleFilter GoldenWolflord = { app::EntityType__Enum_1::Monster, "_Hound_Planelurker" }; SimpleFilter GoldenWolflord = { EntityType__Enum_1::Monster, "_Hound_Planelurker" };
SimpleFilter RuinSerpent = { app::EntityType__Enum_1::Monster, "_Nithhoggr" }; SimpleFilter RuinSerpent = { EntityType__Enum_1::Monster, "_Nithhoggr" };
SimpleFilter Millelith = { app::EntityType__Enum_1::Monster, "_Millelith_" }; SimpleFilter Millelith = { EntityType__Enum_1::Monster, "_Millelith_" };
SimpleFilter ShogunateInfantry = { app::EntityType__Enum_1::Monster, "_Aahigaru_" }; SimpleFilter ShogunateInfantry = { EntityType__Enum_1::Monster, "_Aahigaru_" };
SimpleFilter SangonomiyaCohort = { app::EntityType__Enum_1::Monster, "_AahigaruTaisho_" }; SimpleFilter SangonomiyaCohort = { EntityType__Enum_1::Monster, "_AahigaruTaisho_" };
SimpleFilter CryoRegisvine = { app::EntityType__Enum_1::Monster, "_Regisvine_Ice" }; SimpleFilter CryoRegisvine = { EntityType__Enum_1::Monster, "_Regisvine_Ice" };
SimpleFilter PyroRegisvine = { app::EntityType__Enum_1::Monster, "_Regisvine_Fire" }; SimpleFilter PyroRegisvine = { EntityType__Enum_1::Monster, "_Regisvine_Fire" };
SimpleFilter MaguuKenki = { app::EntityType__Enum_1::Monster, "_Ningyo" }; SimpleFilter MaguuKenki = { EntityType__Enum_1::Monster, "_Ningyo" };
SimpleFilter Cicin = { app::EntityType__Enum_1::Monster, "_Cicin" }; SimpleFilter Cicin = { EntityType__Enum_1::Monster, "_Cicin" };
SimpleFilter Beisht = { app::EntityType__Enum_1::Monster, "_Eldritch" }; SimpleFilter Beisht = { EntityType__Enum_1::Monster, "_Eldritch" };
} }
namespace plant namespace plant
{ {
SimpleFilter AmakumoFruit = { app::EntityType__Enum_1::GatherObject, "_Electroseed" }; SimpleFilter AmakumoFruit = { EntityType__Enum_1::GatherObject, "_Electroseed" };
SimpleFilter Apple = { app::EntityType__Enum_1::GatherObject, "_Drop_Plant_Apple" }; SimpleFilter Apple = { EntityType__Enum_1::GatherObject, "_Drop_Plant_Apple" };
SimpleFilter BambooShoot = { app::EntityType__Enum_1::GatherObject, "_Bambooshoot" }; SimpleFilter BambooShoot = { EntityType__Enum_1::GatherObject, "_Bambooshoot" };
SimpleFilter Berry = { app::EntityType__Enum_1::GatherObject, "_Raspberry" }; SimpleFilter Berry = { EntityType__Enum_1::GatherObject, "_Raspberry" };
SimpleFilter CallaLily = { app::EntityType__Enum_1::GatherObject, "_Plant_Callas" }; SimpleFilter CallaLily = { EntityType__Enum_1::GatherObject, "_Plant_Callas" };
SimpleFilter Cabbage = { app::EntityType__Enum_1::GatherObject, "_Plant_Cabbage" }; SimpleFilter Cabbage = { EntityType__Enum_1::GatherObject, "_Plant_Cabbage" };
SimpleFilter Carrot = { app::EntityType__Enum_1::GatherObject, "_Plant_Carrot" }; SimpleFilter Carrot = { EntityType__Enum_1::GatherObject, "_Plant_Carrot" };
SimpleFilter Cecilia = { app::EntityType__Enum_1::GatherObject, "_Cecilia" }; SimpleFilter Cecilia = { EntityType__Enum_1::GatherObject, "_Cecilia" };
SimpleFilter DandelionSeed = { app::EntityType__Enum_1::GatherObject, "_Plant_Dandelion" }; SimpleFilter DandelionSeed = { EntityType__Enum_1::GatherObject, "_Plant_Dandelion" };
SimpleFilter Dendrobium = { app::EntityType__Enum_1::GatherObject, "_Blooddendrobe" }; SimpleFilter Dendrobium = { EntityType__Enum_1::GatherObject, "_Blooddendrobe" };
SimpleFilter FlamingFlowerStamen = { app::EntityType__Enum_1::GatherObject, "_Flower_FireFlower" }; SimpleFilter FlamingFlowerStamen = { EntityType__Enum_1::GatherObject, "_Flower_FireFlower" };
SimpleFilter FluorescentFungus = { app::EntityType__Enum_1::GatherObject, "_Lampmushroom" }; SimpleFilter FluorescentFungus = { EntityType__Enum_1::GatherObject, "_Lampmushroom" };
SimpleFilter GlazeLily = { app::EntityType__Enum_1::GatherObject, "_GlazedLily" }; SimpleFilter GlazeLily = { EntityType__Enum_1::GatherObject, "_GlazedLily" };
SimpleFilter Horsetail = { app::EntityType__Enum_1::GatherObject, "_HorseTail" }; SimpleFilter Horsetail = { EntityType__Enum_1::GatherObject, "_HorseTail" };
SimpleFilter JueyunChili = { app::EntityType__Enum_1::GatherObject, "_UltimateChilli_Fruit" }; SimpleFilter JueyunChili = { EntityType__Enum_1::GatherObject, "_UltimateChilli_Fruit" };
SimpleFilter LavenderMelon = { app::EntityType__Enum_1::GatherObject, "_Akebia" }; SimpleFilter LavenderMelon = { EntityType__Enum_1::GatherObject, "_Akebia" };
SimpleFilter LotusHead = { app::EntityType__Enum_1::GatherObject, "_Lotus_Drop" }; SimpleFilter LotusHead = { EntityType__Enum_1::GatherObject, "_Lotus_Drop" };
SimpleFilter Matsutake = { app::EntityType__Enum_1::GatherObject, "_Food_Matsutake" }; SimpleFilter Matsutake = { EntityType__Enum_1::GatherObject, "_Food_Matsutake" };
SimpleFilter Mint = { app::EntityType__Enum_1::GatherObject, "_Plant_Mint" }; SimpleFilter Mint = { EntityType__Enum_1::GatherObject, "_Plant_Mint" };
SimpleFilter MistFlowerCorolla = { app::EntityType__Enum_1::GatherObject, "_Flower_IceFlower" }; SimpleFilter MistFlowerCorolla = { EntityType__Enum_1::GatherObject, "_Flower_IceFlower" };
SimpleFilter Mushroom = { app::EntityType__Enum_1::GatherObject, "_Plant_Mushroom" }; SimpleFilter Mushroom = { EntityType__Enum_1::GatherObject, "_Plant_Mushroom" };
SimpleFilter NakuWeed = { app::EntityType__Enum_1::GatherObject, "_Howlgrass" }; SimpleFilter NakuWeed = { EntityType__Enum_1::GatherObject, "_Howlgrass" };
SimpleFilter PhilanemoMushroom = { app::EntityType__Enum_1::GatherObject, "_WindmilHunter" }; SimpleFilter PhilanemoMushroom = { EntityType__Enum_1::GatherObject, "_WindmilHunter" };
SimpleFilter Pinecone = { app::EntityType__Enum_1::GatherObject, "_Drop_Plant_Pine" }; SimpleFilter Pinecone = { EntityType__Enum_1::GatherObject, "_Drop_Plant_Pine" };
SimpleFilter Potato = { app::EntityType__Enum_1::GatherObject, "_Plant_Potato" }; SimpleFilter Potato = { EntityType__Enum_1::GatherObject, "_Plant_Potato" };
SimpleFilter Qingxin = { app::EntityType__Enum_1::GatherObject, "_QingXin" }; SimpleFilter Qingxin = { EntityType__Enum_1::GatherObject, "_QingXin" };
SimpleFilter Radish = { app::EntityType__Enum_1::GatherObject, "_Plant_Radish" }; SimpleFilter Radish = { EntityType__Enum_1::GatherObject, "_Plant_Radish" };
SimpleFilter SakuraBloom = { app::EntityType__Enum_1::GatherObject, "_Cherrypetals" }; SimpleFilter SakuraBloom = { EntityType__Enum_1::GatherObject, "_Cherrypetals" };
SimpleFilter SangoPearl = { app::EntityType__Enum_1::GatherObject, "_Coralpearl" }; SimpleFilter SangoPearl = { EntityType__Enum_1::GatherObject, "_Coralpearl" };
SimpleFilter SeaGanoderma = { app::EntityType__Enum_1::GatherObject, "_Electroanemones" }; SimpleFilter SeaGanoderma = { EntityType__Enum_1::GatherObject, "_Electroanemones" };
SimpleFilter Seagrass = { app::EntityType__Enum_1::GatherObject, "_Seagrass" }; SimpleFilter Seagrass = { EntityType__Enum_1::GatherObject, "_Seagrass" };
SimpleFilter SilkFlower = { app::EntityType__Enum_1::GatherObject, "_NiChang_Drop" }; SimpleFilter SilkFlower = { EntityType__Enum_1::GatherObject, "_NiChang_Drop" };
SimpleFilter SmallLampGrass = { app::EntityType__Enum_1::Field, "_Plant_Fuchsia" }; SimpleFilter SmallLampGrass = { EntityType__Enum_1::Field, "_Plant_Fuchsia" };
SimpleFilter Snapdragon = { app::EntityType__Enum_1::GatherObject, "_Plant_Snapdragon" }; SimpleFilter Snapdragon = { EntityType__Enum_1::GatherObject, "_Plant_Snapdragon" };
SimpleFilter Sunsettia = { app::EntityType__Enum_1::GatherObject, "_SunsetFruit" }; SimpleFilter Sunsettia = { EntityType__Enum_1::GatherObject, "_SunsetFruit" };
SimpleFilter SweetFlower = { app::EntityType__Enum_1::GatherObject, "_Plant_Whiteballet" }; SimpleFilter SweetFlower = { EntityType__Enum_1::GatherObject, "_Plant_Whiteballet" };
SimpleFilter Valberry = { app::EntityType__Enum_1::GatherObject, "_DropingBerry_Gather" }; SimpleFilter Valberry = { EntityType__Enum_1::GatherObject, "_DropingBerry_Gather" };
SimpleFilter Violetgrass = { app::EntityType__Enum_1::GatherObject, "_GlazedGrass" }; SimpleFilter Violetgrass = { EntityType__Enum_1::GatherObject, "_GlazedGrass" };
SimpleFilter Wheat = { app::EntityType__Enum_1::GatherObject, "_Plant_Wheat" }; SimpleFilter Wheat = { EntityType__Enum_1::GatherObject, "_Plant_Wheat" };
SimpleFilter WindwheelAster = { app::EntityType__Enum_1::GatherObject, "_WindmilDaisy" }; SimpleFilter WindwheelAster = { EntityType__Enum_1::GatherObject, "_WindmilDaisy" };
SimpleFilter Wolfhook = { app::EntityType__Enum_1::GatherObject, "_GogoFruit" }; SimpleFilter Wolfhook = { EntityType__Enum_1::GatherObject, "_GogoFruit" };
SimpleFilter RadishDrop = { app::EntityType__Enum_1::GatherObject, "_Plant_Carrot02_Clear" }; SimpleFilter RadishDrop = { EntityType__Enum_1::GatherObject, "_Plant_Carrot02_Clear" };
SimpleFilter CarrotDrop = { app::EntityType__Enum_1::GatherObject, "_Plant_Radish02_Clear" }; SimpleFilter CarrotDrop = { EntityType__Enum_1::GatherObject, "_Plant_Radish02_Clear" };
} }
namespace puzzle namespace puzzle
{ {
SimpleFilter AncientRime = { app::EntityType__Enum_1::Gadget, "_IceSolidBulk" }; SimpleFilter AncientRime = { EntityType__Enum_1::Gadget, "_IceSolidBulk" };
SimpleFilter BakeDanuki = { app::EntityType__Enum_1::Monster, "Animal_Inu_Tanuki_" }; SimpleFilter BakeDanuki = { EntityType__Enum_1::Monster, "Animal_Inu_Tanuki_" };
SimpleFilter BloattyFloatty = { app::EntityType__Enum_1::Field, "_Flower_PongPongTree_" }; SimpleFilter BloattyFloatty = { EntityType__Enum_1::Field, "_Flower_PongPongTree_" };
WhitelistFilter CubeDevices = { std::vector<app::EntityType__Enum_1> {app::EntityType__Enum_1::Gadget, app::EntityType__Enum_1::Platform }, std::vector<std::string> {"_ElecStone", "_ElecSwitch" } }; WhitelistFilter CubeDevices = { {EntityType__Enum_1::Gadget, EntityType__Enum_1::Platform }, {"_ElecStone", "_ElecSwitch" }};
SimpleFilter EightStoneTablets = { app::EntityType__Enum_1::Gadget, "_HistoryBoard" }; SimpleFilter EightStoneTablets = { EntityType__Enum_1::Gadget, "_HistoryBoard" };
SimpleFilter ElectricConduction = { app::EntityType__Enum_1::Gear, "_ElectricPowerSource" }; SimpleFilter ElectricConduction = { EntityType__Enum_1::Gear, "_ElectricPowerSource" };
SimpleFilter RelayStone = { app::EntityType__Enum_1::Worktop, "_ElectricTransfer_" }; SimpleFilter RelayStone = { EntityType__Enum_1::Worktop, "_ElectricTransfer_" };
WhitelistFilter ElectroSeelie = { std::vector<app::EntityType__Enum_1> {app::EntityType__Enum_1::Field, app::EntityType__Enum_1::Platform }, std::vector<std::string> {"_ElectricSeelie"} }; WhitelistFilter ElectroSeelie = { {EntityType__Enum_1::Field, EntityType__Enum_1::Platform }, "_ElectricSeelie" };
SimpleFilter ElementalMonument = { app::EntityType__Enum_1::Gear, "_ElemTablet" }; SimpleFilter ElementalMonument = { EntityType__Enum_1::Gear, "_ElemTablet" };
SimpleFilter FloatingAnemoSlime = { app::EntityType__Enum_1::Platform, "_WindSlime" }; SimpleFilter FloatingAnemoSlime = { EntityType__Enum_1::Platform, "_WindSlime" };
SimpleFilter Geogranum = { app::EntityType__Enum_1::Gadget, "_Property_Prop_RockFragment" }; SimpleFilter Geogranum = { EntityType__Enum_1::Gadget, "_Property_Prop_RockFragment" };
SimpleFilter GeoPuzzle = { app::EntityType__Enum_1::Field, "_Rockstraight_" }; SimpleFilter GeoPuzzle = { EntityType__Enum_1::Field, "_Rockstraight_" };
SimpleFilter LargeRockPile = { app::EntityType__Enum_1::Gadget, std::vector<std::string> {"_ElecRocks", "_StonePile_02" } }; SimpleFilter LargeRockPile = { EntityType__Enum_1::Gadget, {"_ElecRocks", "_StonePile_02" } };
SimpleFilter LightUpTilePuzzle = { app::EntityType__Enum_1::Field, "_TwinStoryFloor" }; SimpleFilter LightUpTilePuzzle = { EntityType__Enum_1::Field, "_TwinStoryFloor" };
SimpleFilter LightningStrikeProbe = { app::EntityType__Enum_1::Gadget, "_MagneticGear" }; SimpleFilter LightningStrikeProbe = { EntityType__Enum_1::Gadget, "_MagneticGear" };
SimpleFilter LumenCage = { app::EntityType__Enum_1::Gadget, "_LitBulletLauncher" }; SimpleFilter LumenCage = { EntityType__Enum_1::Gadget, "_LitBulletLauncher" };
SimpleFilter LuminousSeelie = { app::EntityType__Enum_1::Platform, "_LitSeelie" }; SimpleFilter LuminousSeelie = { EntityType__Enum_1::Platform, "_LitSeelie" };
SimpleFilter MistBubble = { app::EntityType__Enum_1::Platform, "_Suspiciousbubbles" }; SimpleFilter MistBubble = { EntityType__Enum_1::Platform, "_Suspiciousbubbles" };
SimpleFilter OozingConcretions = { app::EntityType__Enum_1::Gadget, "_AbyssCoreLv" }; SimpleFilter OozingConcretions = { EntityType__Enum_1::Gadget, "_AbyssCoreLv" };
SimpleFilter PirateHelm = { app::EntityType__Enum_1::Field, "_PirateHelm" }; SimpleFilter PirateHelm = { EntityType__Enum_1::Field, "_PirateHelm" };
WhitelistFilter PressurePlate = { std::vector<app::EntityType__Enum_1> {app::EntityType__Enum_1::Field, app::EntityType__Enum_1::Gadget }, std::vector<std::string> {"Gear_Gravity", "_LitPathPlate" } }; WhitelistFilter PressurePlate = { {EntityType__Enum_1::Field, EntityType__Enum_1::Gadget }, {"Gear_Gravity", "_LitPathPlate" } };
SimpleFilter SealLocations = { app::EntityType__Enum_1::Gadget, "_RunesKey" }; SimpleFilter SealLocations = { EntityType__Enum_1::Gadget, "_RunesKey" };
SimpleFilter SeelieLamp = { app::EntityType__Enum_1::Field, "Gear_SeeliaLamp" }; SimpleFilter SeelieLamp = { EntityType__Enum_1::Field, "Gear_SeeliaLamp" };
SimpleFilter Seelie = { app::EntityType__Enum_1::Platform, "Gear_Seelie" }; SimpleFilter Seelie = { EntityType__Enum_1::Platform, "Gear_Seelie" };
SimpleFilter SmallRockPile = { app::EntityType__Enum_1::Gadget, "_StonePile_01" }; SimpleFilter SmallRockPile = { EntityType__Enum_1::Gadget, "_StonePile_01" };
SimpleFilter StormBarrier = { app::EntityType__Enum_1::Field, "_WindField_PushField" }; SimpleFilter StormBarrier = { EntityType__Enum_1::Field, "_WindField_PushField" };
SimpleFilter SwordHilt = { app::EntityType__Enum_1::Field, "_WastedSword_" }; SimpleFilter SwordHilt = { EntityType__Enum_1::Field, "_WastedSword_" };
SimpleFilter Temari = { app::EntityType__Enum_1::Field, "_Temari" }; SimpleFilter Temari = { EntityType__Enum_1::Field, "_Temari" };
SimpleFilter TorchPuzzle = { app::EntityType__Enum_1::Gadget, "_ImmortalFire" }; SimpleFilter TorchPuzzle = { EntityType__Enum_1::Gadget, "_ImmortalFire" };
SimpleFilter UniqueRocks = { app::EntityType__Enum_1::Gadget, "_Chalcedony" }; SimpleFilter UniqueRocks = { EntityType__Enum_1::Gadget, "_Chalcedony" };
SimpleFilter WarmingSeelie = { app::EntityType__Enum_1::Platform, "_FireSeelie" }; SimpleFilter WarmingSeelie = { EntityType__Enum_1::Platform, "_FireSeelie" };
SimpleFilter WindmillMechanism = { app::EntityType__Enum_1::Gear, "Gear_Windmill" }; SimpleFilter WindmillMechanism = { EntityType__Enum_1::Gear, "Gear_Windmill" };
} }
namespace combined namespace combined
{ {
SimpleFilter Oculies = { SimpleFilter Oculies = {
featured::Anemoculus + featured::Anemoculus,
featured::CrimsonAgate + featured::CrimsonAgate,
featured::Electroculus + featured::Electroculus,
featured::Geoculus + featured::Geoculus,
featured::Lumenspar + featured::Lumenspar,
featured::KeySigil featured::KeySigil
}; };
SimpleFilter Chests = { app::EntityType__Enum_1::Chest }; SimpleFilter Chests = { EntityType__Enum_1::Chest };
SimpleFilter Ores = { SimpleFilter Ores = {
mineral::AmethystLump + mineral::AmethystLump,
mineral::ArchaicStone + mineral::ArchaicStone,
mineral::CorLapis + mineral::CorLapis,
mineral::CrystalChunk + mineral::CrystalChunk,
mineral::CrystalMarrow + mineral::CrystalMarrow,
mineral::ElectroCrystal + mineral::ElectroCrystal,
mineral::IronChunk + mineral::IronChunk,
mineral::NoctilucousJade + mineral::NoctilucousJade,
mineral::MagicalCrystalChunk + mineral::MagicalCrystalChunk,
mineral::Starsilver + mineral::Starsilver,
mineral::WhiteIronChunk mineral::WhiteIronChunk
}; };
WhitelistFilter Doodads = { WhitelistFilter Doodads = {
std::vector<app::EntityType__Enum_1> { app::EntityType__Enum_1::Gadget }, EntityType__Enum_1::Gadget,
std::vector<std::string> { {
"Monster_Effigy_Electric_01", "Monster_Effigy_Electric_01",
"Monster_Effigy_Electric_02", "Monster_Effigy_Electric_02",
"Monster_Effigy_Wind_01", "Monster_Effigy_Wind_01",
@ -340,151 +342,149 @@ namespace cheat::game::filters
"StonePile", "StonePile",
"BrokenWall", "BrokenWall",
"WoodenBox" "WoodenBox"
} }; }
SimpleFilter Animals = { app::EntityType__Enum_1::EnvAnimal }; };
SimpleFilter Animals = { EntityType__Enum_1::EnvAnimal };
SimpleFilter AnimalDrop = { SimpleFilter AnimalDrop = {
living::Falcon + living::Falcon,
living::Pigeon + living::Pigeon,
living::Finch + living::Finch,
living::Wigeon + living::Wigeon,
living::Crane + living::Crane,
living::Crow + living::Crow,
living::Fox + living::Fox,
living::Squirrel + living::Squirrel,
living::Boar + living::Boar,
living::Weasel living::Weasel
}; };
SimpleFilter AnimalPickUp = { SimpleFilter AnimalPickUp = {
living::CrystalCore + living::CrystalCore,
living::Salamander + living::Salamander,
living::Frog + living::Frog,
living::Crab + living::Crab,
living::LizardTail + living::LizardTail,
living::Eel + living::Eel,
living::Onikabuto + living::Onikabuto,
living::ButterflyWings + living::ButterflyWings,
living::LucklightFly + living::LucklightFly,
living::LuminescentSpine + living::LuminescentSpine,
living::Starconch + living::Starconch,
living::BirdEgg + living::BirdEgg,
living::WeaselThief + living::WeaselThief,
living::Fish living::Fish
}; };
SimpleFilter AnimalNPC = { SimpleFilter AnimalNPC = {
living::Dog + living::Dog,
living::Cat + living::Cat,
living::Kitsune + living::Kitsune,
living::BakeDanuki living::BakeDanuki
}; };
SimpleFilter Monsters = { app::EntityType__Enum_1::Monster }; SimpleFilter Monsters = { EntityType__Enum_1::Monster };
SimpleFilter MonsterCommon = { SimpleFilter MonsterCommon = {
monster::Slime + monster::Slime,
monster::FloatingFungus + monster::FloatingFungus,
monster::Specter + monster::Specter,
monster::Whopperflower + monster::Whopperflower,
monster::Hilichurl + monster::Hilichurl,
monster::Samachurl + monster::Samachurl,
monster::UnusualHilichurl + monster::UnusualHilichurl,
monster::FatuiSkirmisher + monster::FatuiSkirmisher,
monster::TreasureHoarder + monster::TreasureHoarder,
monster::Nobushi + monster::Nobushi,
monster::Kairagi + monster::Kairagi,
monster::Millelith + monster::Millelith,
monster::ShogunateInfantry + monster::ShogunateInfantry,
monster::SangonomiyaCohort monster::SangonomiyaCohort
}; };
SimpleFilter MonsterElites = { SimpleFilter MonsterElites = {
monster::Mitachurl + monster::Mitachurl,
monster::AbyssMage + monster::AbyssMage,
monster::HydroAbyssHerald + monster::HydroAbyssHerald,
monster::PyroAbyssLector + monster::PyroAbyssLector,
monster::ElectroAbyssLector + monster::ElectroAbyssLector,
monster::RifthoundWhelp + monster::RifthoundWhelp,
monster::Rifthound + monster::Rifthound,
monster::ShadowyHusk + monster::ShadowyHusk,
monster::RuinGuard + monster::RuinGuard,
monster::RuinHunter + monster::RuinHunter,
monster::RuinGrader + monster::RuinGrader,
monster::RuinSentinel + monster::RuinSentinel,
monster::Cicin + monster::Cicin,
monster::FatuiCicinMage + monster::FatuiCicinMage,
monster::FatuiAgent + monster::FatuiAgent,
monster::FatuiMirrorMaiden + monster::FatuiMirrorMaiden,
monster::GeovishapHatchling + monster::GeovishapHatchling,
monster::Geovishap + monster::Geovishap,
monster::HydroBathysmalVishap + monster::HydroBathysmalVishap,
monster::EyeOfTheStorm + monster::EyeOfTheStorm,
monster::BlackSerpentKnight monster::BlackSerpentKnight
}; };
SimpleFilter MonsterBosses = { SimpleFilter MonsterBosses = {
// Adding these comments for better tracking. // Adding these comments for better tracking.
// Trounce // Trounce
monster::Dvalin + monster::Dvalin,
monster::Azhdaha + monster::Azhdaha,
monster::Signora + monster::Signora,
monster::Shogun + monster::Shogun,
monster::Andrius + monster::Andrius,
monster::Tartaglia + monster::Tartaglia,
// Mondstadt // Mondstadt
monster::CryoRegisvine + monster::CryoRegisvine,
monster::ElectroHypostasis + monster::ElectroHypostasis,
monster::AnemoHypostasis + monster::AnemoHypostasis,
monster::CryoHypostasis + monster::CryoHypostasis,
// Liyue // Liyue
monster::PyroRegisvine + monster::PyroRegisvine,
monster::Oceanid + monster::Oceanid,
monster::OceanidBoar + monster::OceanidBoar,
monster::OceanidCrab + monster::OceanidCrab,
monster::OceanidCrane + monster::OceanidCrane,
monster::OceanidFalcon + monster::OceanidFalcon,
monster::OceanidFinch + monster::OceanidFinch,
monster::OceanidFrog + monster::OceanidFrog,
monster::OceanidSquirrel + monster::OceanidSquirrel,
monster::OceanidWigeon + monster::OceanidWigeon,
monster::GeoHypostasis + monster::GeoHypostasis,
monster::RuinSerpent + monster::RuinSerpent,
monster::PrimoGeovishap + monster::PrimoGeovishap,
monster::Beisht + monster::Beisht,
// Inazuma // Inazuma
monster::PerpetualMechanicalArray + monster::PerpetualMechanicalArray,
monster::PyroHypostasis + monster::PyroHypostasis,
monster::MaguuKenki + monster::MaguuKenki,
monster::ThunderManifestation + monster::ThunderManifestation,
monster::GoldenWolflord + monster::GoldenWolflord,
monster::HydroHypostasis + monster::HydroHypostasis,
monster::HydroHypostasisSummon + monster::HydroHypostasisSummon,
monster::CryoBathysmalVishap + monster::CryoBathysmalVishap,
monster::ElectroBathysmalVishap monster::ElectroBathysmalVishap
}; };
SimpleFilter MonsterShielded = { SimpleFilter MonsterShielded = {
// Taken from https://genshin-impact.fandom.com/wiki/Shields/Enemy. // Taken from https://genshin-impact.fandom.com/wiki/Shields/Enemy.
// We won't be including Regisvines and enemy objects here, // We won't be including Regisvines and enemy objects here,
// just regular monsters. // just regular monsters.
monster::AbyssMage + monster::AbyssMage,
monster::Slime + monster::Slime,
monster::Mitachurl + monster::Mitachurl,
monster::ElectroAbyssLector + monster::ElectroAbyssLector,
monster::HydroAbyssHerald + monster::HydroAbyssHerald,
monster::PyroAbyssLector + monster::PyroAbyssLector,
monster::FatuiCicinMage + monster::FatuiCicinMage,
monster::Cicin + monster::Cicin,
monster::Whopperflower monster::Whopperflower
}; };
SimpleFilter MonsterEquips = { app::EntityType__Enum_1::MonsterEquip }; SimpleFilter MonsterEquips = { EntityType__Enum_1::MonsterEquip };
BlacklistFilter Living = { BlacklistFilter Living = {
std::vector<app::EntityType__Enum_1> { {EntityType__Enum_1::EnvAnimal, EntityType__Enum_1::Monster},
app::EntityType__Enum_1::EnvAnimal, {
app::EntityType__Enum_1::Monster // Environmental mobs
}, "Cat", "DogPrick", "Vulpues", "Inu_Tanuki",
std::vector<std::string> { // Overworld bosses
// Environmental mobs "Ningyo", "Regisvine", "Hypostasis", "Planelurker", "Nithhoggr"
"Cat", "DogPrick", "Vulpues", "Inu_Tanuki", }
// Overworld bosses };
"Ningyo", "Regisvine", "Hypostasis", "Planelurker", "Nithhoggr" SimpleFilter OrganicTargets = { Monsters, Animals }; // Solael: Please don't mess around with this filter.
}
};
SimpleFilter OrganicTargets = Monsters + Animals; // Solael: Please don't mess around with this filter.
//m0nkrel: We can choose the entities we need ourselves so as not to magnetize cats, dogs, etc. //m0nkrel: We can choose the entities we need ourselves so as not to magnetize cats, dogs, etc.
//AdvancedFilter Animals = { std::vector<app::EntityType__Enum_1> {app::EntityType__Enum_1::EnvAnimal, app::EntityType__Enum_1::Monster }, std::vector<std::string> {"Crane","Tit", "Boar" , "Squirrel", "Fox", "Pigeon", "Wigeon", "Falcon" ,"Marten" } }; //AdvancedFilter Animals = { {EntityType__Enum_1::EnvAnimal, EntityType__Enum_1::Monster }, {"Crane", "Tit", "Boar", "Squirrel", "Fox", "Pigeon", "Wigeon", "Falcon" ,"Marten" } };
} }
} }

View File

@ -10,6 +10,8 @@ namespace cheat::game::filters
{ {
extern SimpleFilter Book; extern SimpleFilter Book;
extern SimpleFilter Viewpoint; extern SimpleFilter Viewpoint;
extern SimpleFilter WoodenCrate;
extern SimpleFilter GeoSigil;
extern ChestFilter RadiantSpincrystal; extern ChestFilter RadiantSpincrystal;
extern ChestFilter BookPage; extern ChestFilter BookPage;

View File

@ -189,7 +189,7 @@ namespace cheat::feature
const auto sceneID = game::GetCurrentMapSceneID(); const auto sceneID = game::GetCurrentMapSceneID();
if (m_ScenesData.count(sceneID) == 0) if (m_ScenesData.count(sceneID) == 0)
ImGui::Text("Sorry. Current scene is not supported."); ImGui::Text("Sorry. Current scene is not supported.");
ImGui::InputText("Search", &m_SearchText); ImGui::SameLine(); ImGui::InputText("Search", &m_SearchText); ImGui::SameLine();
HelpMarker( HelpMarker(
"This page following with filters for items.\n" "This page following with filters for items.\n"
@ -1387,13 +1387,25 @@ namespace cheat::feature
bool mapActive = IsMapActive(); bool mapActive = IsMapActive();
if (mapActive != _lastMapActive) if (mapActive != _lastMapActive)
{
MapToggled(mapActive); MapToggled(mapActive);
if (!mapActive)
renderer::SetInputLock(this, false);
}
_lastMapActive = mapActive; _lastMapActive = mapActive;
if (!mapActive) if (!mapActive)
return; return;
// If any InputText is focused, the game will not respond any keyboard input.
auto ctx = ImGui::GetCurrentContext();
if (ctx->IO.WantCaptureKeyboard && !renderer::IsInputLocked())
renderer::SetInputLock(this, true);
else if (!ctx->IO.WantCaptureKeyboard && renderer::IsInputLocked())
renderer::SetInputLock(this, false);
auto mapManager = GET_SINGLETON(MoleMole_MapManager); auto mapManager = GET_SINGLETON(MoleMole_MapManager);
if (mapManager == nullptr) if (mapManager == nullptr)
return; return;

View File

@ -0,0 +1,77 @@
#include "pch-il2cpp.h"
#include "AutoRun.h"
#include <helpers.h>
#include <cheat/events.h>
#include <cheat/game/EntityManager.h>
#include <cheat/game/util.h>
#include <cheat-base/render/renderer.h>
namespace cheat::feature
{
AutoRun::AutoRun() : Feature(),
NF(f_Enabled, "Auto Run", "Player::AutoRun", false),
NF(f_Speed, "Speed", "Player::AutoRun",1.0f)
{
events::GameUpdateEvent += MY_METHOD_HANDLER(AutoRun::OnGameUpdate);
}
const FeatureGUIInfo& AutoRun::GetGUIInfo() const
{
static const FeatureGUIInfo info{ "Auto Run", "Player", true };
return info;
}
void AutoRun::DrawMain()
{
ConfigWidget("Enable", f_Enabled);
ConfigWidget("Auto Run speed", f_Speed, 0.01f, 0.01f, 1000.0f, "Speed of character \n Not recommended going above 5");
}
bool AutoRun::NeedStatusDraw() const
{
return f_Enabled;
}
void AutoRun::DrawStatus()
{
ImGui::Text("Auto Run[%.01f]",f_Speed.value());
}
AutoRun& AutoRun::GetInstance()
{
static AutoRun instance;
return instance;
}
void EnableAutoRun(float speed) {
auto& manager = game::EntityManager::instance();
auto avatarEntity = manager.avatar();
auto baseMove = avatarEntity->moveComponent();
auto rigidBody = avatarEntity->rigidbody();
if (baseMove == nullptr || rigidBody == nullptr || renderer::IsInputLocked())
return;
auto cameraEntity = game::Entity(reinterpret_cast<app::BaseEntity*>(manager.mainCamera()));
auto relativeEntity = &cameraEntity;
app::Vector3 dir = relativeEntity->forward();
app::Vector3 prevPos = avatarEntity->relativePosition();
float deltaTime = app::Time_get_deltaTime(nullptr);
app::Vector3 newPos = prevPos + dir * speed * deltaTime;
avatarEntity->setRelativePosition(newPos);
}
void AutoRun::OnGameUpdate() {
if (f_Enabled) {
float speed = f_Speed.value();
EnableAutoRun(speed);
}
}
}

View File

@ -0,0 +1,27 @@
#pragma once
#include <cheat-base/cheat/Feature.h>
#include <cheat-base/config/config.h>
namespace cheat::feature
{
class AutoRun : public Feature
{
public:
config::Field<config::Toggle<Hotkey>> f_Enabled;
config::Field<float> f_Speed;
static AutoRun& GetInstance();
const FeatureGUIInfo& GetGUIInfo() const override;
void DrawMain() override;
bool NeedStatusDraw() const override;
void DrawStatus() override;
void OnGameUpdate();
private:
AutoRun();
};
}

View File

@ -9,7 +9,7 @@ namespace cheat::feature
static bool HumanoidMoveFSM_CheckSprintCooldown_Hook(void* __this, MethodInfo* method); static bool HumanoidMoveFSM_CheckSprintCooldown_Hook(void* __this, MethodInfo* method);
static bool LCAvatarCombat_IsEnergyMax_Hook(void* __this, MethodInfo* method); static bool LCAvatarCombat_IsEnergyMax_Hook(void* __this, MethodInfo* method);
static bool LCAvatarCombat_OnSkillStart(app::LCAvatarCombat* __this, uint32_t skillID, float cdMultipler, MethodInfo* method); static bool LCAvatarCombat_OnSkillStart(app::LCAvatarCombat* __this, uint32_t skillID, float cdMultipler, MethodInfo* method);
static bool LCAvatarCombat_IsSkillInCD_1(app::LCAvatarCombat* __this, app::LCAvatarCombat_OMIIMOJOHIP* skillInfo, MethodInfo* method); static bool LCAvatarCombat_IsSkillInCD_1(app::LCAvatarCombat* __this, app::LCAvatarCombat_LCAvatarCombat_SkillInfo* skillInfo, MethodInfo* method);
static void ActorAbilityPlugin_AddDynamicFloatWithRange_Hook(void* __this, app::String* key, float value, float minValue, float maxValue, static void ActorAbilityPlugin_AddDynamicFloatWithRange_Hook(void* __this, app::String* key, float value, float minValue, float maxValue,
bool forceDoAtRemote, MethodInfo* method); bool forceDoAtRemote, MethodInfo* method);
@ -124,7 +124,7 @@ namespace cheat::feature
} }
// Timer Speed Up / CoolDown Reduce New | RyujinZX#6666 // Timer Speed Up / CoolDown Reduce New | RyujinZX#6666
static bool LCAvatarCombat_IsSkillInCD_1(app::LCAvatarCombat* __this, app::LCAvatarCombat_OMIIMOJOHIP* skillInfo, MethodInfo* method) { static bool LCAvatarCombat_IsSkillInCD_1(app::LCAvatarCombat* __this, app::LCAvatarCombat_LCAvatarCombat_SkillInfo* skillInfo, MethodInfo* method) {
NoCD& noCD = NoCD::GetInstance(); NoCD& noCD = NoCD::GetInstance();
if (noCD.f_AbilityReduce) if (noCD.f_AbilityReduce)
{ {

View File

@ -20,255 +20,387 @@ namespace cheat::feature
NF(f_DebugMode, "Debug Mode", "CustomTeleports", false), // Soon to be added NF(f_DebugMode, "Debug Mode", "CustomTeleports", false), // Soon to be added
NF(f_Enabled, "Custom Teleport", "CustomTeleports", false), NF(f_Enabled, "Custom Teleport", "CustomTeleports", false),
NF(f_Next, "Teleport Next", "CustomTeleports", Hotkey(VK_OEM_6)), NF(f_Next, "Teleport Next", "CustomTeleports", Hotkey(VK_OEM_6)),
NF(f_Previous, "Teleport Previous", "CustomTeleports", Hotkey(VK_OEM_4)) NF(f_Previous, "Teleport Previous", "CustomTeleports", Hotkey(VK_OEM_4)),
dir(util::GetCurrentPath() / "teleports")
{ {
f_Next.value().PressedEvent += MY_METHOD_HANDLER(CustomTeleports::OnNextKeyPressed); f_Next.value().PressedEvent += MY_METHOD_HANDLER(CustomTeleports::OnNext);
f_Previous.value().PressedEvent += MY_METHOD_HANDLER(CustomTeleports::OnPreviousKeyPressed); f_Previous.value().PressedEvent += MY_METHOD_HANDLER(CustomTeleports::OnPrevious);
} }
const FeatureGUIInfo& CustomTeleports::GetGUIInfo() const const FeatureGUIInfo& CustomTeleports::GetGUIInfo() const
{ {
static const FeatureGUIInfo info{ "Custom Teleports", "Teleport", true }; static const FeatureGUIInfo info{ "Custom Teleports", "Teleport", true };
return info; return info;
} }
void CustomTeleports::CheckFolder()
{
if (!std::filesystem::exists(dir))
std::filesystem::create_directory(dir);
else return;
}
bool CustomTeleports::ValidateTeleport(std::string name)
{
for (auto &Teleport : Teleports)
if (Teleport.name == name)
return false;
if (name.find_first_of("\\/:*?\"<>|") != std::string::npos)
return false;
return true;
}
Teleport CustomTeleports::Teleport_(std::string name, app::Vector3 position, std::string description)
{
Teleport t(name, position, description);
return t;
}
void CustomTeleports::SerializeTeleport(Teleport t)
{
Teleports.push_back(t);
LOG_INFO("Teleport '%s' Loaded", t.name.c_str());
CheckFolder();
std::ofstream ofs(dir / (t.name + ".json"));
nlohmann::json j;
try
{
j["name"] = t.name;
j["position"] = {t.position.x, t.position.y, t.position.z};
j["description"] = t.description;
ofs << j;
ofs.close();
LOG_INFO("Teleport '%s' Serialized.", t.name.c_str());
} catch (std::exception e)
{
ofs.close();
LOG_ERROR("Failed to serialize teleport: %s: %s", t.name.c_str(), e.what());
}
}
Teleport CustomTeleports::SerializeFromJson(std::string json, bool fromfile)
{
nlohmann::json j;
try { j = nlohmann::json::parse(json);}
catch (nlohmann::json::parse_error &e)
{
LOG_ERROR("Invalid JSON Format");
LOG_ERROR("Failed to parse JSON: %s", e.what());
}
std::string teleportName;
teleportName = j["name"];
if (j["name"].is_null() && fromfile)
{
LOG_ERROR("No name found! Using File Name");
teleportName = std::filesystem::path(json).stem().filename().string();
}
std::string description;
if (j["description"].is_null()) description = "";
else description = j["description"];
return Teleport_(teleportName, {j["position"][0], j["position"][1], j["position"][2]}, description);
}
void CustomTeleports::ReloadTeleports()
{
auto result = std::filesystem::directory_iterator(dir);
Teleports.clear();
for (auto &file : result)
{
if (file.path().extension() == ".json")
{
std::ifstream ifs(file.path());
std::string json;
std::getline(ifs, json);
SerializeTeleport(SerializeFromJson(json, true));
}
}
}
float PositionDistance(app::Vector3 a, app::Vector3 b)
{
return sqrt(pow(a.x - b.x, 2) + pow(a.y - b.y, 2) + pow(a.z - b.z, 2));
}
void CustomTeleports::OnTeleportKeyPressed(bool next)
{
if (!f_Enabled || selectedIndex < 0)
return;
auto &mapTeleport = MapTeleport::GetInstance();
app::Vector3 position;
if (selectedByClick)
{
position = Teleports.at(selectedIndex).position;
selectedByClick = false;
}
else
{
std::vector list(checkedIndices.begin(), checkedIndices.end());
if (selectedIndex == list.back() ? next : selectedIndex == list.front())
return;
auto index = std::distance(list.begin(), std::find(list.begin(), list.end(), selectedIndex));
position = Teleports.at(list.at(index + (next ? 1 : -1))).position;
selectedIndex = list.at(index + (next ? 1 : -1));
}
mapTeleport.TeleportTo(position);
UpdateIndexName();
}
void CustomTeleports::OnPrevious()
{
OnTeleportKeyPressed(false);
}
void CustomTeleports::OnNext()
{
OnTeleportKeyPressed(true);
}
void CustomTeleports::UpdateIndexName()
{
std::string name(selectedIndex == -1 || checkedIndices.empty() ? "" : Teleports.at(selectedIndex).name);
// abbreviate teleport names that are too long
if (name.length() > 15)
{
std::string shortened;
std::regex numsExp("[\\d]+");
std::regex firstCharsExp("\\b[A-Za-z]");
std::sregex_iterator wordItr(name.begin(), name.end(), firstCharsExp);
while (wordItr != std::sregex_iterator())
{
for (unsigned i = 0; i < wordItr->size(); i++)
{
shortened.append((*wordItr)[i]);
}
wordItr++;
}
std::sregex_iterator numItr(name.begin(), name.end(), numsExp);
while (numItr != std::sregex_iterator())
{
for (unsigned i = 0; i < numItr->size(); i++)
{
shortened.append(" ");
shortened.append((*numItr)[i]);
}
numItr++;
}
name = shortened;
}
selectedIndexName = name;
}
void CustomTeleports::DrawMain() void CustomTeleports::DrawMain()
{ {
auto& entityManager = game::EntityManager::instance(); // Buffers
auto& MapTeleport = MapTeleport::GetInstance(); static std::string nameBuffer_;
static std::string teleportName; static std::string searchBuffer_;
static std::string search; static std::string JSONBuffer_;
app::Vector3 pos = app::ActorUtils_GetAvatarPos(nullptr); static std::string descriptionBuffer_;
ImGui::InputText("Teleport name", &teleportName); ImGui::InputText("Name", &nameBuffer_);
ImGui::InputText("Description", &descriptionBuffer_);
if (ImGui::Button("Add Teleport")) if (ImGui::Button("Add Teleport"))
{ {
// check if name is valid and doesnt contain special characters
if (teleportName.find_first_of("\\/:*?\"<>|") != std::string::npos)
return;
// check if already added
if (std::any_of(teleports.begin(), teleports.end(), [](const auto& pair)
{ return pair.first == teleportName; }))
return;
selectedIndex = -1; selectedIndex = -1;
UpdateIndexName(); UpdateIndexName();
teleports.push_back({ teleportName, pos }); SerializeTeleport(Teleport_(nameBuffer_, app::ActorUtils_GetAvatarPos(nullptr), descriptionBuffer_));
nameBuffer_ = "";
auto dir = std::filesystem::current_path(); descriptionBuffer_ = "";
dir /= "teleports";
if (!std::filesystem::exists(dir))
std::filesystem::create_directory(dir);
std::ofstream ofs(dir / (teleportName + ".json"));
nlohmann::json j;
j["name"] = teleportName;
j["position"] = { pos.x, pos.y, pos.z };
ofs << j;
teleportName.clear();
} }
ImGui::SameLine(); ImGui::SameLine();
if (ImGui::Button("Reload")) if (ImGui::Button("Reload"))
{ {
selectedIndex = -1; selectedIndex = -1;
UpdateIndexName(); UpdateIndexName();
checkedIndices.clear(); checkedIndices.clear();
auto dir = std::filesystem::current_path(); ReloadTeleports();
dir /= "teleports";
auto result = std::filesystem::directory_iterator(dir);
teleports.clear();
for (auto& file : result)
{
if (file.path().extension() != ".json")
continue;
std::string name = file.path().stem().string();
if (file.is_directory())
continue;
std::ifstream ifs(file.path());
nlohmann::json j;
ifs >> j;
teleports.push_back({ j["name"], {j["position"][0], j["position"][1], j["position"][2]} });
LOG_INFO("Loaded teleport %s", name.c_str());
}
} }
ImGui::SameLine(); ImGui::SameLine();
// open directory
if (ImGui::Button("Open Folder")) if (ImGui::Button("Open Folder"))
{ {
auto dir = std::filesystem::current_path(); CheckFolder();
dir /= "teleports";
ShellExecuteA(NULL, "open", dir.string().c_str(), NULL, NULL, SW_SHOW); ShellExecuteA(NULL, "open", dir.string().c_str(), NULL, NULL, SW_SHOW);
} }
ImGui::SameLine(); ImGui::SameLine();
static std::string jsonInput;
if (ImGui::Button("Load from JSON")) if (ImGui::Button("Load from JSON"))
{ {
selectedIndex = -1; selectedIndex = -1;
UpdateIndexName(); UpdateIndexName();
auto dir = std::filesystem::current_path(); SerializeTeleport(SerializeFromJson(JSONBuffer_, false));
dir /= "teleports"; JSONBuffer_ = "";
LOG_INFO("Defined dir");
if (!std::filesystem::exists(dir))
std::filesystem::create_directory(dir);
nlohmann::json j;
try
{
j = nlohmann::json::parse(jsonInput);
}
catch (nlohmann::json::parse_error& e)
{
LOG_ERROR("Failed to parse JSON: %s", e.what());
return;
}
LOG_INFO("Parsed JSON");
std::string teleportName = j["name"];
app::Vector3 pos = { j["position"][0], j["position"][1], j["position"][2] };
teleports.push_back({ teleportName, pos });
LOG_INFO("Loaded teleport %s", teleportName.c_str());
std::ofstream ofs(dir / (teleportName + ".json"));
ofs << jsonInput;
jsonInput.clear();
} }
ImGui::InputTextMultiline("JSON input", &jsonInput, ImVec2(0, 50), ImGuiInputTextFlags_AllowTabInput); ImGui::InputTextMultiline("JSON input", &JSONBuffer_, ImVec2(0, 50), ImGuiInputTextFlags_AllowTabInput);
ConfigWidget("Teleport Next", f_Next, true, "Press to teleport next of selected"); ConfigWidget("Teleport Next", f_Next, true, "Press to teleport next of selected");
ConfigWidget("Teleport Previous", f_Previous, true, "Press to teleport previous of selected"); ConfigWidget("Teleport Previous", f_Previous, true, "Press to teleport previous of selected");
ConfigWidget("Enable", ConfigWidget("Enable", f_Enabled,
f_Enabled, "Enable teleport-through-list functionality\n"
"Enable teleport-through-list functionality\n" \ "Usage:\n"
"Usage:\n" \ "1. Put Checkmark to the teleports you want to teleport using hotkey\n"
"1. Put Checkmark to the teleports you want to teleport using hotkey\n" \ "2. Single click the teleport (with checkmark) to select where you want to start\n"
"2. Single click the teleport (with checkmark) to select where you want to start\n" \ "3. You can now press Next or Previous Hotkey to Teleport through the Checklist\n"
"3. You can now press Next or Previous Hotkey to Teleport through the Checklist\n" \ "Initially it will teleport the player to the selection made\n"
"Initially it will teleport the player to the selection made\n" \ "Note: Double click or click the arrow to open teleport details");
"Note: Double click or click the arrow to open teleport details");
ImGui::SameLine(); ImGui::SameLine();
if (ImGui::Button("Delete Checked")) if (ImGui::Button("Delete Checked"))
{ {
if (!teleports.empty()) { if (!Teleports.empty())
std::vector<std::string> teleportNames; {
// get all teleport names by index if (checkedIndices.empty())
for (auto& i : checkedIndices) { {
teleportNames.push_back(teleports.at(i).first); LOG_INFO("No teleports selected");
if (selectedIndex == i) selectedIndex = -1; return;
} }
std::vector<std::string> teleportNames;
for (auto& name : teleportNames) { for (auto &Teleport : Teleports)
auto dir = std::filesystem::current_path(); teleportNames.push_back(Teleport.name);
dir /= "teleports"; for (auto &index : checkedIndices)
// delete file {
std::filesystem::remove(dir / (name + ".json")); std::filesystem::remove(dir / (teleportNames[index] + ".json"));
// remove from list LOG_INFO("Deleted teleport %s", teleportNames[index].c_str());
teleports.erase(std::remove_if(teleports.begin(), teleports.end(), [&name](const auto& pair)
{ return pair.first == name; }), teleports.end());
} }
checkedIndices.clear(); checkedIndices.clear();
UpdateIndexName(); UpdateIndexName();
} ReloadTeleports();
} else {LOG_INFO("No teleports to delete");}
} }
ImGui::SameLine(); ImGui::SameLine();
HelpMarker("Warning: This will delete the file from the directory and\nremove the teleport from the list. It will be lost forever."); HelpMarker("Warning: This will delete the file from the directory and\n \
remove the teleport from the list. It will be lost forever.");
if (ImGui::TreeNode("Teleports")) if (ImGui::TreeNode("Teleports"))
{ {
std::sort(Teleports.begin(), Teleports.end(), [](const auto &a, const auto &b)
// using natural sort instead of ascii sort { return StrCmpLogicalW(std::wstring(a.name.begin(), a.name.end()).c_str(), std::wstring(b.name.begin(), b.name.end()).c_str()) < 0; });
std::sort(teleports.begin(), teleports.end(), [](const auto& a, const auto& b) bool allChecked = checkedIndices.size() == Teleports.size() && !Teleports.empty();
{ return StrCmpLogicalW(std::wstring(a.first.begin(), a.first.end()).c_str(), std::wstring(b.first.begin(), b.first.end()).c_str()) < 0; }); bool allSearchChecked = checkedIndices.size() == searchIndices.size() && !searchIndices.empty();
bool allSearchChecked = std::includes(checkedIndices.begin(), checkedIndices.end() ,searchIndices.begin(), searchIndices.end()) && !searchIndices.empty();
bool allChecked = (checkedIndices.size() == teleports.size() && !teleports.empty()) || allSearchChecked;
ImGui::Checkbox("All", &allChecked); ImGui::Checkbox("All", &allChecked);
if (ImGui::IsItemClicked()) { if (ImGui::IsItemClicked())
if (!teleports.empty()) { {
if (allChecked) { if (!Teleports.empty())
{
if (allChecked)
{
selectedIndex = -1; selectedIndex = -1;
if (!searchIndices.empty()) { if (!searchIndices.empty())
for (const auto& i : searchIndices) { for (const auto &i : searchIndices)
checkedIndices.erase(i); checkedIndices.erase(i);
} else
}
else {
checkedIndices.clear(); checkedIndices.clear();
}
}
else {
if (!searchIndices.empty()) {
checkedIndices.insert(searchIndices.begin(), searchIndices.end());
}
else {
for (int i = 0; i < teleports.size(); i++)
checkedIndices.insert(i);
}
} }
else if (!searchIndices.empty())
checkedIndices.insert(searchIndices.begin(), searchIndices.end());
else
for (int i = 0; i < Teleports.size(); i++)
checkedIndices.insert(i);
UpdateIndexName(); UpdateIndexName();
} }
} }
ImGui::SameLine(); ImGui::SameLine();
ImGui::InputText("Search", &search); ImGui::InputText("Search", &searchBuffer_);
unsigned int index = 0; unsigned int index = 0;
searchIndices.clear(); searchIndices.clear();
for (const auto& [teleportName, position] : teleports)
{
// find without case sensitivity
if (search.empty() || std::search(teleportName.begin(), teleportName.end(), search.begin(), search.end(), [](char a, char b)
{ return std::tolower(a) == std::tolower(b); }) != teleportName.end())
{
// sets are sorted by default and does not allow duplicates
// which works in favor here.
if (!search.empty()) {
searchIndices.insert(index);
}
bool checked = std::any_of(checkedIndices.begin(), checkedIndices.end(), [&index](const auto& i) { return i == index; }); unsigned int maxNameLength = 0;
for (auto &Teleport : Teleports)
if (Teleport.name.length() > maxNameLength)
maxNameLength = Teleport.name.length();
ImGui::BeginTable("Teleports", 4, ImGuiTableFlags_Borders | ImGuiTableFlags_Resizable | ImGuiTableFlags_Reorderable | ImGuiTableFlags_Hideable | ImGuiTableFlags_NoSavedSettings);
ImGui::TableSetupColumn("#", ImGuiTableColumnFlags_WidthFixed, 20);
ImGui::TableSetupColumn("Commands", ImGuiTableColumnFlags_WidthFixed, 100);
ImGui::TableSetupColumn("Name", ImGuiTableColumnFlags_WidthFixed, maxNameLength * 8 + 10);
ImGui::TableSetupColumn("Position");
ImGui::TableHeadersRow();
ImGuiTreeNodeFlags nodeFlags = ImGuiTreeNodeFlags_OpenOnArrow | ImGuiTreeNodeFlags_OpenOnDoubleClick | ImGuiTreeNodeFlags_SpanAvailWidth;
for (const auto &[name, position, description] : Teleports)
{
if (searchBuffer_.empty() || std::search(name.begin(), name.end(), searchBuffer_.begin(), searchBuffer_.end(), [](char a, char b)
{ return std::tolower(a) == std::tolower(b); }) != name.end())
{
if (!searchBuffer_.empty())
searchIndices.insert(index);
bool checked = std::any_of(checkedIndices.begin(), checkedIndices.end(), [&index](const auto &i)
{ return i == index; });
bool selected = index == selectedIndex; bool selected = index == selectedIndex;
ImGui::TableNextRow();
ImGui::TableNextColumn();
ImGui::Text("%d", index);
ImGui::TableNextColumn();
ImGui::Checkbox(("##Index" + std::to_string(index)).c_str(), &checked); ImGui::Checkbox(("##Index" + std::to_string(index)).c_str(), &checked);
if (ImGui::IsItemClicked(0)) { if (ImGui::IsItemClicked(0))
if (checked) { {
if (selected) selectedIndex = -1; if (checked)
{
if (selected)
selectedIndex = -1;
checkedIndices.erase(index); checkedIndices.erase(index);
} }
else { else
checkedIndices.insert(index); checkedIndices.insert(index);
}
UpdateIndexName(); UpdateIndexName();
} }
ImGui::SameLine(); ImGui::SameLine();
if (ImGui::Button(("TP##Button" + std::to_string(index)).c_str())) if (ImGui::Button(("TP##Button" + std::to_string(index)).c_str()))
{ {
auto& mapTeleport = MapTeleport::GetInstance(); auto &manager = game::EntityManager::instance();
mapTeleport.TeleportTo(position); auto avatar = manager.avatar();
if (avatar->moveComponent() == nullptr)
{
LOG_ERROR("Avatar has no move component, Is scene loaded?");
return;
}
if (PositionDistance(position, app::ActorUtils_GetAvatarPos(nullptr)) > 60.0f)
MapTeleport::GetInstance().TeleportTo(position);
else
manager.avatar()->setAbsolutePosition(position);
}
ImGui::SameLine();
if (ImGui::Button(("Select##Button" + std::to_string(index)).c_str()))
{
selectedIndex = index;
selectedByClick = true;
UpdateIndexName();
} }
ImGui::SameLine(); ImGui::SameLine();
ImGui::PushStyleColor(ImGuiCol_Text, selected ? IM_COL32(40, 90, 175, 255) : IM_COL32(255, 255, 255, 255)); ImGui::PushStyleColor(ImGuiCol_Text, selected ? IM_COL32(40, 90, 175, 255) : IM_COL32(255, 255, 255, 255));
ImGuiTreeNodeFlags nodeFlags = ImGuiTreeNodeFlags_OpenOnArrow | ImGuiTreeNodeFlags_OpenOnDoubleClick | ImGuiTreeNodeFlags_SpanAvailWidth;
if (selected) nodeFlags |= ImGuiTreeNodeFlags_Selected; if (selected)
bool node_open = ImGui::TreeNodeEx(teleportName.data(), nodeFlags); nodeFlags |= ImGuiTreeNodeFlags_Selected;
if (ImGui::IsItemClicked() && checked) {
if (!selected) {
selectedIndex = index;
selectedByClick = true;
}
else {
selectedIndex = -1;
selectedByClick = false;
}
UpdateIndexName();
}
if (node_open)
{
ImGui::Text("Position: %.3f, %.3f, %.3f", position.x, position.y, position.z);
ImGui::TreePop();
}
ImGui::PopStyleColor(); ImGui::PopStyleColor();
ImGui::TableNextColumn();
ImGui::Text("%s", name.c_str());
if (ImGui::IsItemHovered())
{
ImGui::BeginTooltip();
ImGui::Text("%s", description.c_str());
ImGui::Text("Distance: %.2f", PositionDistance(position, app::ActorUtils_GetAvatarPos(nullptr)));
ImGui::EndTooltip();
}
ImGui::TableNextColumn();
ImGui::Text("%f, %f, %f", position.x, position.y, position.z);
} }
index++; index++;
} }
ImGui::EndTable();
ImGui::TreePop(); ImGui::TreePop();
} }
if (selectedIndex != -1)
ImGui::Text("Selected: [%d] %s", selectedIndex, Teleports[selectedIndex].name.c_str());
} }
bool CustomTeleports::NeedStatusDraw() const bool CustomTeleports::NeedStatusDraw() const
@ -281,88 +413,7 @@ namespace cheat::feature
ImGui::Text("Custom Teleport\n[%s]", selectedIndexName); ImGui::Text("Custom Teleport\n[%s]", selectedIndexName);
} }
void CustomTeleports::OnNextKeyPressed() CustomTeleports &CustomTeleports::GetInstance()
{
if (!f_Enabled || selectedIndex < 0)
return;
auto& mapTeleport = MapTeleport::GetInstance();
app::Vector3 position;
if (selectedByClick) {
position = teleports.at(selectedIndex).second;
selectedByClick = false;
}
else {
std::vector list(checkedIndices.begin(), checkedIndices.end());
if (selectedIndex == list.back())
return;
auto index = std::distance(list.begin(), std::find(list.begin(), list.end(), selectedIndex));
position = teleports.at(list.at(index + 1)).second;
selectedIndex = list.at(index + 1);
}
mapTeleport.TeleportTo(position);
UpdateIndexName();
}
void CustomTeleports::OnPreviousKeyPressed()
{
if (!f_Enabled || selectedIndex < 0)
return;
auto& mapTeleport = MapTeleport::GetInstance();
app::Vector3 position;
if (selectedByClick) {
position = teleports.at(selectedIndex).second;
selectedByClick = false;
}
else {
std::vector list(checkedIndices.begin(), checkedIndices.end());
if (selectedIndex == list.front())
return;
auto index = std::distance(list.begin(), std::find(list.begin(), list.end(), selectedIndex));
position = teleports.at(list.at(index - 1)).second;
selectedIndex = list.at(index - 1);
}
mapTeleport.TeleportTo(position);
UpdateIndexName();
}
void CustomTeleports::UpdateIndexName() {
std::string name(selectedIndex == -1 || checkedIndices.empty() ? "" : teleports.at(selectedIndex).first);
// abbreviate teleport names that are too long
if (name.length() > 15) {
std::string shortened;
std::regex numsExp("[\\d]+");
std::regex firstCharsExp("\\b[A-Za-z]");
std::sregex_iterator wordItr(name.begin(), name.end(), firstCharsExp);
while (wordItr != std::sregex_iterator()) {
for (unsigned i = 0; i < wordItr->size(); i++) {
shortened.append((*wordItr)[i]);
}
wordItr++;
}
std::sregex_iterator numItr(name.begin(), name.end(), numsExp);
while (numItr != std::sregex_iterator()) {
for (unsigned i = 0; i < numItr->size(); i++) {
shortened.append(" ");
shortened.append((*numItr)[i]);
}
numItr++;
}
name = shortened;
}
selectedIndexName = name;
}
CustomTeleports& CustomTeleports::GetInstance()
{ {
static CustomTeleports instance; static CustomTeleports instance;
return instance; return instance;

View File

@ -8,6 +8,20 @@
namespace cheat::feature namespace cheat::feature
{ {
class Teleport
{
public:
Teleport(std::string name, app::Vector3 position, std::string description)
{
this->name = name;
this->position = position;
this->description = description;
}
std::string name;
app::Vector3 position;
std::string description;
};
class CustomTeleports : public Feature class CustomTeleports : public Feature
{ {
public: public:
@ -17,21 +31,34 @@ namespace cheat::feature
config::Field<Hotkey> f_Previous; config::Field<Hotkey> f_Previous;
static CustomTeleports& GetInstance(); static CustomTeleports& GetInstance();
const FeatureGUIInfo& GetGUIInfo() const override; const FeatureGUIInfo& GetGUIInfo() const override;
void DrawMain() override;
void CheckFolder();
bool ValidateTeleport(std::string name);
Teleport Teleport_(std::string name, app::Vector3 position, std::string description);
void SerializeTeleport(Teleport t);
void ReloadTeleports();
Teleport SerializeFromJson(std::string json, bool fromfile);
void DrawMain() override;
virtual bool NeedStatusDraw() const override; virtual bool NeedStatusDraw() const override;
void DrawStatus() override; void DrawStatus() override;
std::vector<Teleport> Teleports;
std::filesystem::path dir;
private: private:
std::vector<std::pair<std::string, app::Vector3>> teleports;
std::set<unsigned int> checkedIndices; std::set<unsigned int> checkedIndices;
std::set<unsigned int> searchIndices; std::set<unsigned int> searchIndices;
bool selectedByClick = false; bool selectedByClick = false;
int selectedIndex = -1; int selectedIndex = -1;
std::string selectedName;
std::string selectedIndexName; std::string selectedIndexName;
CustomTeleports(); CustomTeleports();
void OnNextKeyPressed(); void OnTeleportKeyPressed(bool next);
void OnPreviousKeyPressed(); void OnPrevious();
void OnNext();
void UpdateIndexName(); void UpdateIndexName();
}; };
} }

View File

@ -9,22 +9,33 @@
namespace cheat::feature namespace cheat::feature
{ {
AutoSeelie::AutoSeelie() : Feature(), AutoSeelie::AutoSeelie() : Feature(),
NF(f_Enabled, "Auto follow seelie", "AutoSeelie", false) NF(f_Enabled, "Auto seelie", "Auto Seelie", false),
{ NF(f_ElectroSeelie, "Auto Electro seelie", "Auto Seelie", false),
events::GameUpdateEvent += MY_METHOD_HANDLER(AutoSeelie::OnGameUpdate); nextTime(0)
} {
events::GameUpdateEvent += MY_METHOD_HANDLER(AutoSeelie::OnGameUpdate);
}
const FeatureGUIInfo& AutoSeelie::GetGUIInfo() const const FeatureGUIInfo& AutoSeelie::GetGUIInfo() const
{ {
static const FeatureGUIInfo info{ "", "World", true }; static const FeatureGUIInfo info{ "", "World", true };
return info; return info;
} }
void AutoSeelie::DrawMain() void AutoSeelie::DrawMain()
{ {
ConfigWidget("Auto seelie", f_Enabled, "Auto follow seelie to its home"); ConfigWidget("Auto seelie", f_Enabled, "Auto follow seelie to its home");
ImGui::SameLine();
ImGui::TextColored(ImColor(255, 165, 0, 255), "Don't work with Electro Seelies"); if (f_Enabled)
} {
ImGui::Indent();
ConfigWidget("Auto Electro seelie", f_ElectroSeelie, "Since you don't need to manually start electroseelie, \n"
"they start moving automatically with this option within 100m radius.");
ImGui::SameLine();
ImGui::TextColored(ImColor(255, 165, 0, 255), "Read the note!");
ImGui::Unindent();
}
}
bool AutoSeelie::NeedStatusDraw() const bool AutoSeelie::NeedStatusDraw() const
{ {
@ -33,7 +44,7 @@ namespace cheat::feature
void AutoSeelie::DrawStatus() void AutoSeelie::DrawStatus()
{ {
ImGui::Text ("AutoSeelie"); ImGui::Text("AutoSeelie %s", f_ElectroSeelie ? "+ Electro" : "");
} }
AutoSeelie& AutoSeelie::GetInstance() AutoSeelie& AutoSeelie::GetInstance()
@ -47,35 +58,52 @@ namespace cheat::feature
auto& manager = game::EntityManager::instance(); auto& manager = game::EntityManager::instance();
auto distance = manager.avatar()->distance(entity); auto distance = manager.avatar()->distance(entity);
float radius = 100.0f; float radius = 100.0f;
if (entity->name().find("Gear_Seelie") != std::string::npos || entity->name().find("_FireSeelie") != std::string::npos || if (entity->name().find("Seelie") != std::string::npos)
entity->name().find("_LitSeelie") != std::string::npos)
{ {
if (entity->name().find("ElectricSeelie") != std::string::npos)
{
if (f_ElectroSeelie)
{
auto EntityGameObject = app::MoleMole_BaseEntity_get_rootGameObject(entity->raw(), nullptr);
auto Transform = app::GameObject_GetComponentByName(EntityGameObject, string_to_il2cppi("Transform"), nullptr);
auto child = app::Transform_GetChild(reinterpret_cast<app::Transform*>(Transform), 1, nullptr);
auto pre_status = app::Component_1_get_gameObject(reinterpret_cast<app::Component_1*>(child), nullptr);
auto status = app::GameObject_get_active(reinterpret_cast<app::GameObject*>(pre_status), nullptr);
if (status)
{
return false;
}
return distance <= radius;
}
return false;
}
return distance <= radius; return distance <= radius;
} }
return false; return false;
} }
void AutoSeelie::OnGameUpdate() void AutoSeelie::OnGameUpdate()
{ {
if (!f_Enabled) if (!f_Enabled)
return; return;
auto currentTime = util::GetCurrentTimeMillisec(); auto currentTime = util::GetCurrentTimeMillisec();
if (currentTime < nextTime) if (currentTime < nextTime)
return; return;
auto& manager = game::EntityManager::instance(); auto& manager = game::EntityManager::instance();
auto avatarEntity = manager.avatar(); auto avatarEntity = manager.avatar();
for (const auto& entity : manager.entities()) for (const auto& entity : manager.entities())
{ {
if (!IsEntityForVac(entity)) if (!IsEntityForVac(entity))
continue; continue;
entity->setRelativePosition(avatarEntity->relativePosition()); entity->setRelativePosition(avatarEntity->relativePosition());
} }
nextTime = currentTime + 1000; nextTime = currentTime + 1000;
} }
} }

View File

@ -4,8 +4,10 @@
#include <cheat/game/Entity.h> #include <cheat/game/Entity.h>
#include <cheat/game/filters.h> #include <cheat/game/filters.h>
#include <cheat-base/thread-safe.h>
#include <il2cpp-appdata.h> #include <il2cpp-appdata.h>
namespace cheat::feature namespace cheat::feature
{ {
@ -13,6 +15,7 @@ namespace cheat::feature
{ {
public: public:
config::Field<config::Toggle<Hotkey>> f_Enabled; config::Field<config::Toggle<Hotkey>> f_Enabled;
config::Field<bool> f_ElectroSeelie;
static AutoSeelie& GetInstance(); static AutoSeelie& GetInstance();
@ -24,10 +27,8 @@ namespace cheat::feature
void OnGameUpdate(); void OnGameUpdate();
private: private:
std::vector<game::IEntityFilter*> m_Filters;
AutoSeelie(); AutoSeelie();
int nextTime{}; SafeValue<int64_t> nextTime;
bool IsEntityForVac(cheat::game::Entity* entity); bool IsEntityForVac(cheat::game::Entity* entity);
}; };
} }

View File

@ -190,7 +190,7 @@ namespace cheat::feature
if (manager.avatar()->distance(monster) > killAura.f_Range) if (manager.avatar()->distance(monster) > killAura.f_Range)
return; return;
moveSync->fields.moveSyncTask.position.x = 1000000.0f; moveSync->fields._syncTask.position.x = 1000000.0f;
} }
static void BaseMoveSyncPlugin_ConvertSyncTaskToMotionInfo_Hook(app::BaseMoveSyncPlugin* __this, MethodInfo* method) static void BaseMoveSyncPlugin_ConvertSyncTaskToMotionInfo_Hook(app::BaseMoveSyncPlugin* __this, MethodInfo* method)

View File

@ -14,16 +14,16 @@
void Run(HMODULE* phModule) void Run(HMODULE* phModule)
{ {
ResourceLoader::SetModuleHandle(*phModule); ResourceLoader::SetModuleHandle(*phModule);
util::SetCurrentPath(util::GetModulePath(*phModule));
// Init config // Init config
std::string configPath = (std::filesystem::current_path() / "cfg.json").string(); config::Initialize((util::GetCurrentPath() / "cfg.json").string());
config::Initialize(configPath);
// Init logger // Init logger
auto& settings = cheat::feature::Settings::GetInstance(); auto& settings = cheat::feature::Settings::GetInstance();
if (settings.f_FileLogging) if (settings.f_FileLogging)
{ {
Logger::PrepareFileLogging((std::filesystem::current_path() / "logs").string()); Logger::PrepareFileLogging((util::GetCurrentPath() / "logs").string());
Logger::SetLevel(Logger::Level::Trace, Logger::LoggerType::FileLogger); Logger::SetLevel(Logger::Level::Trace, Logger::LoggerType::FileLogger);
} }
@ -43,7 +43,7 @@ void Run(HMODULE* phModule)
#ifdef _DEBUG #ifdef _DEBUG
LOG_DEBUG("Waiting 10sec for loading game library."); LOG_DEBUG("Waiting 10sec for loading game library.");
Sleep(10000); Sleep(15000);
#else #else
LOG_DEBUG("Waiting 15sec for game initialize."); LOG_DEBUG("Waiting 15sec for game initialize.");
Sleep(15000); Sleep(15000);
@ -55,5 +55,5 @@ void Run(HMODULE* phModule)
cheat::Init(); cheat::Init();
LOG_DEBUG("Config path is at %s", configPath.c_str()); LOG_DEBUG("Config path is at %s", (util::GetCurrentPath() / "cfg.json").string().c_str());
} }

View File

@ -18,79 +18,121 @@ bool OpenGenshinProcess(HANDLE* phProcess, HANDLE* phThread);
int main(int argc, char* argv[]) int main(int argc, char* argv[])
{ {
Logger::SetLevel(Logger::Level::Debug, Logger::LoggerType::ConsoleLogger); Logger::SetLevel(Logger::Level::Debug, Logger::LoggerType::ConsoleLogger);
auto path = std::filesystem::path(argv[0]).parent_path(); auto path = std::filesystem::path(argv[0]).parent_path();
current_path(path); current_path(path);
WaitForCloseProcess(GlobalGenshinProcName);
WaitForCloseProcess(ChinaGenshinProcName);
Sleep(1000); // Wait for unloading all dlls. WaitForCloseProcess(GlobalGenshinProcName);
WaitForCloseProcess(ChinaGenshinProcName);
ini.SetUnicode(); Sleep(1000); // Wait for unloading all dlls.
ini.LoadFile("cfg.ini");
HANDLE hProcess, hThread; ini.SetUnicode();
if (!OpenGenshinProcess(&hProcess, &hThread)) ini.LoadFile("cfg.ini");
{
std::cout << "Failed to open GenshinImpact process." << std::endl;
return 1;
}
current_path(path); HANDLE hProcess, hThread;
ini.SaveFile("cfg.ini"); if (!OpenGenshinProcess(&hProcess, &hThread))
{
std::cout << "Failed to open GenshinImpact process." << std::endl;
system("pause");
return 1;
}
std::string filename = (argc == 2 ? argv[1] : "CLibrary.dll"); current_path(path);
std::filesystem::path currentDllPath = std::filesystem::current_path() / filename; ini.SaveFile("cfg.ini");
std::string filename = (argc == 2 ? argv[1] : "CLibrary.dll");
std::filesystem::path currentDllPath = std::filesystem::current_path() / filename;
#ifdef _DEBUG #ifdef _DEBUG
std::filesystem::path tempDllPath = std::filesystem::temp_directory_path() / filename; std::filesystem::path tempDllPath = std::filesystem::temp_directory_path() / filename;
std::error_code ec; std::error_code ec;
std::filesystem::copy_file(currentDllPath, tempDllPath, std::filesystem::copy_options::update_existing, ec); std::filesystem::copy_file(currentDllPath, tempDllPath, std::filesystem::copy_options::update_existing, ec);
if (ec) if (ec)
{ {
LOG_ERROR("Copy dll failed: %s", ec.message().c_str()); LOG_ERROR("Copy dll failed: %s", ec.message().c_str());
std::system("pause"); std::system("pause");
} }
InjectDLL(hProcess, tempDllPath.string()); InjectDLL(hProcess, tempDllPath.string());
#else #else
InjectDLL(hProcess, currentDllPath.string()); InjectDLL(hProcess, currentDllPath.string());
#endif #endif
Sleep(2000); Sleep(2000);
ResumeThread(hThread); ResumeThread(hThread);
CloseHandle(hProcess); CloseHandle(hProcess);
} }
bool OpenGenshinProcess(HANDLE *phProcess, HANDLE* phThread) bool OpenGenshinProcess(HANDLE* phProcess, HANDLE* phThread)
{ {
STARTUPINFOA startInfo{};
PROCESS_INFORMATION processInformation{};
auto filePath = util::GetOrSelectPath(ini, "Inject", "GenshinPath", "genshin path", "Executable\0GenshinImpact.exe;YuanShen.exe\0"); HANDLE hToken;
auto commandline = ini.GetValue("Inject", "GenshinCommandLine"); BOOL TokenRet = OpenProcessToken(GetCurrentProcess(), TOKEN_ALL_ACCESS, &hToken);
if (!TokenRet)
{
LOG_LAST_ERROR("Privilege escalation failed!");
return false;
}
LPSTR lpstr = commandline == nullptr ? nullptr : const_cast<LPSTR>(commandline); auto filePath = util::GetOrSelectPath(ini, "Inject", "GenshinPath", "genshin path", "Executable\0GenshinImpact.exe;YuanShen.exe\0");
auto commandline = ini.GetValue("Inject", "GenshinCommandLine");
if (!filePath) LPSTR lpstr = commandline == nullptr ? nullptr : const_cast<LPSTR>(commandline);
return false; if (!filePath)
return false;
BOOL result = CreateProcessA(filePath->c_str(), DWORD pid = FindProcessId("explorer.exe");
lpstr, 0, 0, FALSE, CREATE_SUSPENDED, nullptr, nullptr, &startInfo, &processInformation); if (pid == 0)
if (result == FALSE) {
{ LOG_ERROR("Can't find 'explorer' pid!");
LOG_LAST_ERROR("Failed to create game process."); return false;
LOG_ERROR("If you have problem with GenshinImpact.exe path. You can change it manually in cfg.ini."); }
return false;
}
ini.SaveFile("cfg.ini"); std::string CurrentDirectory = filePath.value();
int pos = CurrentDirectory.rfind("\\", CurrentDirectory.length());
CurrentDirectory = CurrentDirectory.substr(0, pos);
*phThread = processInformation.hThread; HANDLE handle = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pid);
*phProcess = processInformation.hProcess;
return true; SIZE_T lpsize = 0;
InitializeProcThreadAttributeList(NULL, 1, 0, &lpsize);
char* temp = new char[lpsize];
LPPROC_THREAD_ATTRIBUTE_LIST AttributeList = (LPPROC_THREAD_ATTRIBUTE_LIST)temp;
InitializeProcThreadAttributeList(AttributeList, 1, 0, &lpsize);
if (!UpdateProcThreadAttribute(AttributeList, 0, PROC_THREAD_ATTRIBUTE_PARENT_PROCESS,
&handle, sizeof(HANDLE), NULL, NULL))
{
LOG_WARNING("UpdateProcThreadAttribute failed ! (%d).\n", GetLastError());
}
STARTUPINFOEXA si{};
si.StartupInfo.cb = sizeof(si);
si.lpAttributeList = AttributeList;
PROCESS_INFORMATION pi{};
BOOL result = CreateProcessAsUserA(hToken, const_cast<LPSTR>(filePath->data()), lpstr,
0, 0, 0, EXTENDED_STARTUPINFO_PRESENT | CREATE_SUSPENDED, 0,
(LPSTR)CurrentDirectory.data(), (LPSTARTUPINFOA)&si, &pi);
bool isOpened = result;
if (isOpened)
{
ini.SaveFile("cfg.ini");
*phThread = pi.hThread;
*phProcess = pi.hProcess;
}
else
{
LOG_LAST_ERROR("Failed to create game process.");
LOG_ERROR("If you have problem with GenshinImpact.exe path. You can change it manually in cfg.ini.");
}
DeleteProcThreadAttributeList(AttributeList);
delete[] temp;
return isOpened;
} }