diff --git a/include/RE/A/ActorUtils.h b/include/RE/A/ActorUtils.h new file mode 100644 index 00000000..1aeb184b --- /dev/null +++ b/include/RE/A/ActorUtils.h @@ -0,0 +1,17 @@ +#pragma once + +namespace RE +{ + class Actor; + class BGSKeyword; +} + +namespace RE::ActorUtils +{ + inline bool ChangeAnimArchetype(Actor* a_actor, BGSKeyword* a_keyword) + { + using func_t = decltype(&ActorUtils::ChangeAnimArchetype); + static REL::Relocation func{ ID::ActorUtils::ChangeAnimArchetype }; + return func(a_actor, a_keyword); + } +} diff --git a/include/RE/IDs.h b/include/RE/IDs.h index 304ff88b..773ea27b 100644 --- a/include/RE/IDs.h +++ b/include/RE/IDs.h @@ -15,6 +15,11 @@ namespace RE::ID inline constexpr REL::ID WornHasKeyword{ 106992 }; } + namespace ActorUtils + { + inline constexpr REL::ID ChangeAnimArchetype{ 150497 }; + } + namespace ActorValue { inline constexpr REL::ID GetSingleton{ 36266 }; diff --git a/include/RE/Starfield.h b/include/RE/Starfield.h index 664412e0..783dd120 100644 --- a/include/RE/Starfield.h +++ b/include/RE/Starfield.h @@ -5,6 +5,7 @@ #include "RE/A/AIProcess.h" #include "RE/A/AVMData.h" #include "RE/A/Actor.h" +#include "RE/A/ActorUtils.h" #include "RE/A/ActorEquipManager.h" #include "RE/A/ActorPackage.h" #include "RE/A/ActorState.h"