Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Add pronoun type for TESActorBase #131

Merged
merged 3 commits into from
Oct 2, 2023
Merged
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
91 changes: 37 additions & 54 deletions CommonLibSF/include/RE/T/TESActorBase.h
Original file line number Diff line number Diff line change
Expand Up @@ -7,67 +7,50 @@
#include "RE/B/BGSPerkRankArray.h"
#include "RE/B/BGSPropertySheet.h"
#include "RE/B/BGSSkinForm.h"
#include "RE/T/TESAIForm.h"
#include "RE/T/TESActorBaseData.h"
#include "RE/T/TESAIForm.h"
#include "RE/T/TESBoundAnimObject.h"
#include "RE/T/TESContainer.h"
#include "RE/T/TESFullName.h"
#include "RE/T/TESSpellList.h"

namespace RE
{
class TESActorBase :
public TESBoundAnimObject,
public TESActorBaseData, // 118
public TESContainer, // 188
public TESSpellList, // 1A0
public TESAIForm, // 1B8
public TESFullName, // 1F8
public ActorValueOwner, // 208
public BGSDestructibleObjectForm, // 210
public BGSSkinForm, // 220
public BGSKeywordForm, // 230
public BGSAttackDataForm, // 260
public BGSPerkRankArray, // 270
public BGSPropertySheet // 288
{
public:
SF_RTTI_VTABLE(TESActorBase);
class TESActorBase : public TESBoundAnimObject,
public TESActorBaseData, // 118
public TESContainer, // 188
public TESSpellList, // 1A0
public TESAIForm, // 1B8
public TESFullName, // 1F8
public ActorValueOwner, // 208
public BGSDestructibleObjectForm, // 210
public BGSSkinForm, // 220
public BGSKeywordForm, // 230
public BGSAttackDataForm, // 260
public BGSPerkRankArray, // 270
public BGSPropertySheet // 288
TommInfinite marked this conversation as resolved.
Show resolved Hide resolved
{
public:
SF_RTTI_VTABLE(TESActorBase);

enum class Pronoun_Type
{
kNotSet,
kHeHim,
kSheHer,
kTheyThem
};

// add
virtual void Unk_82(); // 82
virtual void Unk_83(); // 83
virtual void Unk_84(); // 84
virtual void Unk_85(); // 85

// add
virtual void Unk_82(); // 82
virtual void Unk_83(); // 83
virtual void Unk_84(); // 84
virtual void Unk_85(); // 85
// members
std::uint8_t pad298[488]; // 298
stl::enumeration<Pronoun_Type, std::uint8_t> pronoun; // 480
//
};

// members
/**
TESActorBaseData actorBaseData; // 118
TESContainer container; // 188
TESSpellList spellList; // 1A0
TESAIForm aiForm; // 1B8
TESFullName fullName; // 1F8
ActorValueOwner actorValue; // 208
BGSDestructibleObjectForm destructibleObject; // 210
BGSSkinForm skinForm; // 220
BGSKeywordForm keywords; // 230
BGSAttackDataForm attackData; // 260
BGSPerkRankArray perkRankArray; // 270
BGSPropertySheet propertySheet; // 288
*/
};
/*
static_assert(offsetof(TESActorBase, actorBaseData) == 0x118);
static_assert(offsetof(TESActorBase, container) == 0x188);
static_assert(offsetof(TESActorBase, spellList) == 0x1A0);
static_assert(offsetof(TESActorBase, aiForm) == 0x1B8);
static_assert(offsetof(TESActorBase, fullName) == 0x1F8);
static_assert(offsetof(TESActorBase, actorValue) == 0x208);
static_assert(offsetof(TESActorBase, destructibleObject) == 0x210);
static_assert(offsetof(TESActorBase, skinForm) == 0x220);
static_assert(offsetof(TESActorBase, keywords) == 0x230);
static_assert(offsetof(TESActorBase, attackData) == 0x260);
static_assert(offsetof(TESActorBase, perkRankArray) == 0x270);
static_assert(offsetof(TESActorBase, propertySheet) == 0x288);
*/
}
} // namespace RE