diff --git a/CommonLibSF/include/RE/A/AIProcess.h b/CommonLibSF/include/RE/A/AIProcess.h new file mode 100644 index 00000000..ca34b0f0 --- /dev/null +++ b/CommonLibSF/include/RE/A/AIProcess.h @@ -0,0 +1,41 @@ +#pragma once + +namespace RE +{ + struct MiddleLowProcessData; + struct MiddleHighProcessData; + struct HighProcessData; + + // F8 + class AIProcess + { + MiddleLowProcessData* middleLow; // 00 + MiddleHighProcessData* middleHigh; // 08 + HighProcessData* high; // 10 + ActorPackage currentPackage; // 18 + float hourLastProcessed; // 48 + std::uint32_t unk4C; + std::uint64_t unk50; + std::uint64_t unk58; + std::uint64_t unk60; + std::uint64_t unk68; + std::uint64_t unk70; + std::uint64_t unk78; + std::uint64_t unk80; + std::uint64_t unk88; + std::uint64_t unk90; + std::uint64_t unk98; + std::uint64_t unkA0; + std::uint64_t unkA8; + std::uint64_t unkB0; + std::uint64_t unkB8; + std::uint64_t unkC0; + std::uint64_t unkC8; + std::uint64_t unkD0; + std::uint64_t unkD8; + std::uint64_t unkE0; + std::uint64_t unkE8; + std::uint64_t unkF0; + }; + static_assert(sizeof(AIProcess) == 0xF8); +} diff --git a/CommonLibSF/include/RE/A/Actor.h b/CommonLibSF/include/RE/A/Actor.h index b0b579f4..b46283da 100644 --- a/CommonLibSF/include/RE/A/Actor.h +++ b/CommonLibSF/include/RE/A/Actor.h @@ -2,6 +2,7 @@ #include "RE/T/TESObjectREFR.h" #include "RE/A/AIProcess.h" +#include "RE/A/ActorPackage.h" namespace RE { @@ -285,60 +286,4 @@ namespace RE std::uint64_t unk548; // 548 }; static_assert(sizeof(Actor) == 0x550); - - struct MiddleLowProcessData; - struct MiddleHighProcessData; - struct HighProcessData; - struct ActorPackageData; - class TESPackage; - - class ActorPackage - { - public: - // members - void* packageLock; // 00 - TESPackage* package; // 08 - ActorPackageData* data; // 10 - void* target; // 18 - std::int32_t currentProcedureIndex; // 1C - float packageStartTime; // 20 - std::uint32_t modifiedPackageFlag; // 24 - std::uint16_t modifiedInterruptFlag; // 28 - std::int8_t actorPackageFlags; // 2A - std::int8_t preferredSpeed; // 2B - }; - static_assert(sizeof(ActorPackage) == 0x30); - - // F8 - class AIProcess - { - MiddleLowProcessData* middleLow; // 00 - MiddleHighProcessData* middleHigh; // 08 - HighProcessData* high; // 10 - ActorPackage currentPackage; // 18 - float hourLastProcessed; // 48 - std::uint32_t unk4C; - std::uint64_t unk50; - std::uint64_t unk58; - std::uint64_t unk60; - std::uint64_t unk68; - std::uint64_t unk70; - std::uint64_t unk78; - std::uint64_t unk80; - std::uint64_t unk88; - std::uint64_t unk90; - std::uint64_t unk98; - std::uint64_t unkA0; - std::uint64_t unkA8; - std::uint64_t unkB0; - std::uint64_t unkB8; - std::uint64_t unkC0; - std::uint64_t unkC8; - std::uint64_t unkD0; - std::uint64_t unkD8; - std::uint64_t unkE0; - std::uint64_t unkE8; - std::uint64_t unkF0; - }; - static_assert(sizeof(AIProcess) == 0xF8); } diff --git a/CommonLibSF/include/RE/A/ActorPackage.h b/CommonLibSF/include/RE/A/ActorPackage.h new file mode 100644 index 00000000..2e96f2f0 --- /dev/null +++ b/CommonLibSF/include/RE/A/ActorPackage.h @@ -0,0 +1,25 @@ +#pragma once + +namespace RE +{ + struct ActorPackageData; + class TESPackage; + + class ActorPackage + { + public: + // members + void* packageLock; // 00 + TESPackage* package; // 08 + ActorPackageData* data; // 10 + void* target; // 18 + std::int32_t currentProcedureIndex; // 1C + float packageStartTime; // 20 + std::uint32_t modifiedPackageFlag; // 24 + std::uint16_t modifiedInterruptFlag; // 28 + std::int8_t actorPackageFlags; // 2A + std::int8_t preferredSpeed; // 2B + }; + static_assert(sizeof(ActorPackage) == 0x30); +} + diff --git a/CommonLibSF/include/RE/Starfield.h b/CommonLibSF/include/RE/Starfield.h index 83499bc7..5953d009 100644 --- a/CommonLibSF/include/RE/Starfield.h +++ b/CommonLibSF/include/RE/Starfield.h @@ -3,9 +3,11 @@ #include "SFSE/Impl/PCH.h" #include "RE/A/Actor.h" +#include "RE/A/ActorPackage.h" #include "RE/A/ActorValueInfo.h" #include "RE/A/ActorValueOwner.h" #include "RE/A/ActorValues.h" +#include "RE/A/AIProcess.h" #include "RE/B/BGSAttackDataForm.h" #include "RE/B/BGSDestructibleObjectForm.h" #include "RE/B/BGSEditorID.h" diff --git a/CommonLibSF/src/RE/A/AIProcess.cpp b/CommonLibSF/src/RE/A/AIProcess.cpp new file mode 100644 index 00000000..b32c10c0 --- /dev/null +++ b/CommonLibSF/src/RE/A/AIProcess.cpp @@ -0,0 +1,4 @@ +#include "RE/A/AIProcess.h" +namespace RE +{ +} diff --git a/CommonLibSF/src/RE/A/ActorPackage.cpp b/CommonLibSF/src/RE/A/ActorPackage.cpp new file mode 100644 index 00000000..df6390af --- /dev/null +++ b/CommonLibSF/src/RE/A/ActorPackage.cpp @@ -0,0 +1,4 @@ +#include "RE/A/ActorPackage.h" +namespace RE +{ +}