diff --git a/ZHMModSDK/Include/Glacier/SDestinationLocationInfo.h b/ZHMModSDK/Include/Glacier/SDestinationLocationInfo.h new file mode 100644 index 000000000..7b06e3d1f --- /dev/null +++ b/ZHMModSDK/Include/Glacier/SDestinationLocationInfo.h @@ -0,0 +1,10 @@ +#pragma once + +#include "ZString.h" + +// Localised display text not keys +struct SDestinationLocationInfo { + ZString m_sCity; + ZString m_sCountry; + ZString m_sName; +}; diff --git a/ZHMModSDK/Include/Hooks.h b/ZHMModSDK/Include/Hooks.h index 66d1e8768..68e151dfd 100644 --- a/ZHMModSDK/Include/Hooks.h +++ b/ZHMModSDK/Include/Hooks.h @@ -94,6 +94,7 @@ class ZHitmanMorphemePostProcessor; class ZHM5WeaponRecoilController; class ZEvergreenCampaignManager; class ZFreeCameraControlEditorStyleEntity; +struct SDestinationLocationInfo; class ZHMSDK_API Hooks { public: @@ -350,4 +351,8 @@ class ZHMSDK_API Hooks { static Hook* ZFreeCameraControlEditorStyleEntity_GenerateActionBindingString; + + static Hook* GetDestinationLocationInfo; }; \ No newline at end of file diff --git a/ZHMModSDK/Src/Hooks.cpp b/ZHMModSDK/Src/Hooks.cpp index a16790ce8..fd36c015e 100644 --- a/ZHMModSDK/Src/Hooks.cpp +++ b/ZHMModSDK/Src/Hooks.cpp @@ -636,4 +636,11 @@ PATTERN_HOOK( // "xxxxxxxxxxxxxxxxxxxxxxx????xxx", // ZInputActionManager_ParseAsignment, // bool(ZInputActionManager* th, ZInputTokenStream* pkStream) -//); \ No newline at end of file +//); + +PATTERN_HOOK( + "\x48\x8B\xC4\x89\x48\x08\x55\x41\x54\x48\x8D\xA8\x00\x00\x00\x00\x48\x81\xEC\x00\x00\x00\x00\x80\x3D\x00\x00\x00\x00\x00\x44\x8B\xE1\x48\x8D\x0D", + "xxxxxxxxxxxx????xxx????xx????xxxxxxx", + GetDestinationLocationInfo, + const SDestinationLocationInfo*(IEvergreenTerritoryDefinition_EDestination eDestination) +);