Skip to content

Commit

Permalink
fix: separate ActorPackage and AIProcess from Actor
Browse files Browse the repository at this point in the history
  • Loading branch information
lStewieAl committed Sep 27, 2023
1 parent 0d32668 commit 388f650
Show file tree
Hide file tree
Showing 6 changed files with 77 additions and 56 deletions.
41 changes: 41 additions & 0 deletions CommonLibSF/include/RE/A/AIProcess.h
Original file line number Diff line number Diff line change
@@ -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);
}
57 changes: 1 addition & 56 deletions CommonLibSF/include/RE/A/Actor.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

#include "RE/T/TESObjectREFR.h"
#include "RE/A/AIProcess.h"
#include "RE/A/ActorPackage.h"

namespace RE
{
Expand Down Expand Up @@ -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);
}
25 changes: 25 additions & 0 deletions CommonLibSF/include/RE/A/ActorPackage.h
Original file line number Diff line number Diff line change
@@ -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);
}

2 changes: 2 additions & 0 deletions CommonLibSF/include/RE/Starfield.h
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down
4 changes: 4 additions & 0 deletions CommonLibSF/src/RE/A/AIProcess.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#include "RE/A/AIProcess.h"
namespace RE
{
}
4 changes: 4 additions & 0 deletions CommonLibSF/src/RE/A/ActorPackage.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#include "RE/A/ActorPackage.h"
namespace RE
{
}

0 comments on commit 388f650

Please sign in to comment.