CommonLibSSE (powerof3)
Character.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/A/Actor.h"
4 
5 namespace RE
6 {
7  class Character : public Actor
8  {
9  public:
10  inline static constexpr auto RTTI = RTTI_Character;
11  inline static constexpr auto FORMTYPE = FormType::ActorCharacter;
12 
13  struct RecordFlags
14  {
15  enum RecordFlag : std::uint32_t
16  {
17  kDeleted = 1 << 5,
18  kStartsDead = 1 << 9,
19  kPersistent = 1 << 10,
20  kInitiallyDisabled = 1 << 11,
21  kIgnored = 1 << 12,
22  kNoAIAcquire = 1 << 25,
23  kDontHavokSettle = 1 << 29
24  };
25  };
26 
27  ~Character() override; // 000
28 
29  // override (Actor)
30  void SaveGame(BGSSaveFormBuffer* a_buf) override; // 00E - { Actor::SaveBuffer(a_buf); }
31  void LoadGame(BGSLoadFormBuffer* a_buf) override; // 00F - { Actor::LoadBuffer(a_buf); }
32  void InitLoadGame(BGSLoadFormBuffer* a_buf) override; // 010 - { Actor::InitLoadGame(a_arg1); }
33  void FinishLoadGame(BGSLoadFormBuffer* a_buf) override; // 011 - { Actor::FinishLoadGame(a_arg1); }
34  void Revert(BGSLoadFormBuffer* a_buf) override; // 012 - { return; }
35  void Predestroy(void) override; // 03B
36  bool IsChild() const override; // 05E - { return race ? (race->data.flags & Flag::kChild) != Flag::kNone : false; }
37  BSFaceGenNiNode* GetFaceNodeSkinned() override; // 061
39  void SetBiped(const BSTSmartPointer<BipedAnim>& a_biped) override; // 081
40  void InitiateVampireFeedPackage(Actor* a_arg1, TESObjectREFR* a_arg2) override; // 0C0
41  void Unk_C4(void) override; // 0C4 - { unk272 = a_arg1; }
42  void Unk_C5(void) override; // 0C5 - { return unk272; }
43  void Unk_C6(void) override; // 0C6 - { return 1; }
44  void OnArmorActorValueChanged() override; // 0CA
45  void Unk_D7(void) override; // 0D7
46  void Unk_D9(void) override; // 0D9
47  void Unk_E6(void) override; // 0E6 - calculate armor rating?
48  void Unk_E7(void) override; // 0E7 - something about armor rating
49  void Unk_E8(void) override; // 0E8 - get unarmed damage?
50  void PrecacheData(void) override; // 120
51 
52  // add
53  virtual void Unk_128(void); // 128
54  virtual void Unk_129(void); // 129 - { return 1; }
55  };
56  static_assert(sizeof(Character) == 0x2B8);
57 }
Definition: Actor.h:125
Definition: BSFaceGenAnimationData.h:11
Definition: BSFaceGenNiNode.h:14
Definition: BSTSmartPointer.h:37
Definition: Character.h:8
BSFaceGenNiNode * GetFaceNodeSkinned() override
void InitiateVampireFeedPackage(Actor *a_arg1, TESObjectREFR *a_arg2) override
void LoadGame(BGSLoadFormBuffer *a_buf) override
void Unk_E6(void) override
~Character() override
void FinishLoadGame(BGSLoadFormBuffer *a_buf) override
void InitLoadGame(BGSLoadFormBuffer *a_buf) override
void OnArmorActorValueChanged() override
void Unk_C5(void) override
void SetBiped(const BSTSmartPointer< BipedAnim > &a_biped) override
static constexpr auto RTTI
Definition: Character.h:10
void Unk_D7(void) override
void Unk_C6(void) override
void PrecacheData(void) override
void Unk_D9(void) override
void Unk_E7(void) override
virtual void Unk_128(void)
static constexpr auto FORMTYPE
Definition: Character.h:11
void Unk_E8(void) override
virtual void Unk_129(void)
void Predestroy(void) override
BSFaceGenAnimationData * GetFaceGenAnimationData() override
void SaveGame(BGSSaveFormBuffer *a_buf) override
void Unk_C4(void) override
bool IsChild() const override
void Revert(BGSLoadFormBuffer *a_buf) override
Definition: TESObjectREFR.h:103
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_Character
Definition: Offsets_RTTI.h:3711
Definition: Character.h:14
RecordFlag
Definition: Character.h:16
@ kInitiallyDisabled
Definition: Character.h:20
@ kPersistent
Definition: Character.h:19
@ kDeleted
Definition: Character.h:17
@ kNoAIAcquire
Definition: Character.h:22
@ kDontHavokSettle
Definition: Character.h:23
@ kStartsDead
Definition: Character.h:18
@ kIgnored
Definition: Character.h:21