Skip to content

Commit ac2d02b

Browse files
authored
feat: merge pr #50 from FalloutCascadia/main
Misc RE.
2 parents 886c1f3 + 0922d0a commit ac2d02b

133 files changed

Lines changed: 2868 additions & 153 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

include/RE/A/ACTOR_MOVEMENT_TYPE.h

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
#pragma once
2+
3+
namespace RE
4+
{
5+
enum class ACTOR_MOVEMENT_TYPE : std::uint32_t
6+
{
7+
kWalk = 0x0,
8+
kRun = 0x1,
9+
kSneak = 0x2,
10+
kBleedout = 0x3,
11+
kSwim = 0x4
12+
};
13+
}

include/RE/A/AIProcess.h

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,17 @@ namespace RE
3535
kOutDelete = 0x6
3636
};
3737

38+
enum class HEAD_TRACK_TYPE
39+
{
40+
kDefault = 0x0,
41+
kAction = 0x1,
42+
kCombat = 0x2,
43+
kDialog = 0x3,
44+
kScript = 0x4,
45+
kProcedure = 0x5,
46+
kTotal = 0x6
47+
};
48+
3849
[[nodiscard]] TESAmmo* GetCurrentAmmo(BGSEquipIndex a_equipIndex) const
3950
{
4051
using func_t = decltype(&AIProcess::GetCurrentAmmo);

include/RE/A/ActionOutput.h

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
#pragma once
2+
3+
#include "RE/B/BSFixedString.h"
4+
5+
namespace RE
6+
{
7+
class TESIdleForm;
8+
9+
class ActionOutput
10+
{
11+
public:
12+
static constexpr auto RTTI{ RTTI::ActionOutput };
13+
14+
enum class ACTION_RESULTS : std::uint32_t
15+
{
16+
kNotAllowed = 0xFFFFFFFF
17+
};
18+
19+
// members
20+
BSFixedString animEvent; // 00
21+
BSFixedString targetAnimEvent; // 08
22+
std::int32_t result; // 10
23+
TESIdleForm* sequence; // 18
24+
const TESIdleForm* animObjIdle; // 20
25+
std::uint32_t sequenceIndex; // 28;
26+
};
27+
static_assert(sizeof(ActionOutput) == 0x30);
28+
}

include/RE/A/ActionPoints.h

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
#pragma once
2+
3+
namespace RE
4+
{
5+
class ActionPoints
6+
{
7+
public:
8+
enum class Action
9+
{
10+
kUnarmed = 0x0,
11+
kOneHandMelee = 0x1,
12+
kTwoHandMelee = 0x2,
13+
kMagic = 0x3,
14+
kRanged = 0x4,
15+
kReload = 0x5,
16+
kSwitchWeapon = 0x6,
17+
kToggleWeaponDrawn = 0x7,
18+
kHeal = 0x8,
19+
kPlayerVATSDeath = 0x9,
20+
kPlayerDialogue = 0xA,
21+
kSightedEnter = 0xB,
22+
23+
kTotal = 0xC
24+
};
25+
};
26+
static_assert(std::is_empty_v<ActionPoints>);
27+
}

include/RE/A/Actor.h

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -124,16 +124,6 @@ namespace RE
124124
kUnderwater = 1 << 31,
125125
};
126126

127-
enum class DETECTION_PRIORITY
128-
{
129-
kNone = 0x0,
130-
kVeryLow = 0x1,
131-
kLow = 0x2,
132-
kNormal = 0x3,
133-
kHigh = 0x4,
134-
kCritical = 0x5,
135-
};
136-
137127
// add
138128
virtual void PlayPickUpSound(TESBoundObject* a_boundObj, bool a_pickUp, bool a_use); // 0C6
139129
virtual float GetHeading() const { return data.angle.z; } // 0C7

include/RE/A/ActorEquipManager.h

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,18 @@ namespace RE
1919
public BSTEventSource<ActorEquipManagerEvent::Event> // 08
2020
{
2121
public:
22+
enum class CanEquipResult
23+
{
24+
kSuccess = 0x0,
25+
kInvalidItem = 0x1,
26+
kNoModEquip = 0x2,
27+
kPAWhileNotInPA = 0x3,
28+
kNonPAWhileInPA = 0x4,
29+
kEquipStateLocked = 0x5,
30+
kItemBroken = 0x6,
31+
kNoEquipKeyword = 0x7
32+
};
33+
2234
[[nodiscard]] static ActorEquipManager* GetSingleton()
2335
{
2436
static REL::Relocation<ActorEquipManager**> singleton{ ID::ActorEquipManager::Singleton };
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
#pragma once
2+
3+
#include "RE/N/NiPoint.h"
4+
5+
namespace RE
6+
{
7+
class ActorMotionFeedbackData
8+
{
9+
public:
10+
// members
11+
NiPoint3 desiredWorldDelta; // 00
12+
NiPoint3 actualWorldDelta; // 0C
13+
float previousSpeed; // 18
14+
float previousDirection; // 1C
15+
float currentHeading; // 20
16+
};
17+
static_assert(sizeof(ActorMotionFeedbackData) == 0x24);
18+
}

include/RE/A/ActorStance.h

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
#pragma once
2+
3+
namespace RE
4+
{
5+
class ActorStance
6+
{
7+
public:
8+
// members
9+
std::uint8_t stance; // 00
10+
std::uint8_t stanceModifier; // 01
11+
bool mirrored; // 02
12+
};
13+
static_assert(sizeof(ActorStance) == 0x03);
14+
}

include/RE/A/ActorState.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ namespace RE
2525
virtual void SetReloadingImpl(bool a_reloading); // 26
2626

2727
[[nodiscard]] bool GetWeaponMagicDrawn() const noexcept { return weaponState >= WEAPON_STATE::kDrawn; }
28+
[[nodiscard]] bool IsSwimming() const noexcept { return DoGetMoveModeBits(0x400); }
2829

2930
// members
3031
std::uint32_t moveMode: 14; // 08:00
@@ -49,6 +50,9 @@ namespace RE
4950
INTERACTING_STATE interactingState: 2; // 0C:18
5051
std::uint32_t headTrackRotation: 1; // 0C:20
5152
std::uint32_t inSyncAnim: 1; // 0C:21
53+
54+
private:
55+
bool DoGetMoveModeBits(std::uint16_t a_bits) const { return (a_bits & moveMode & 0x3FFF) == a_bits; }
5256
};
5357
static_assert(sizeof(ActorState) == 0x10);
5458
}

include/RE/A/AvoidAreaStruct.h

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
#pragma once
2+
3+
#include "RE/B/BSPathingAvoidNode.h"
4+
5+
namespace RE
6+
{
7+
class TESObjectREFR;
8+
9+
class AvoidAreaStruct
10+
{
11+
public:
12+
// members
13+
BSPathingAvoidNode avoideNode; // 00
14+
float timeExpire; // 24
15+
TESObjectREFR* refObj; // 28
16+
AvoidAreaStruct* next; // 30
17+
};
18+
static_assert(sizeof(AvoidAreaStruct) == 0x38);
19+
}

0 commit comments

Comments
 (0)