Skip to content

Commit f91e540

Browse files
authored
feat: merge pr #63 from FalloutCascadia/main
feat: Misc RE
2 parents 16cff68 + efee1aa commit f91e540

30 files changed

Lines changed: 560 additions & 3 deletions

‎include/RE/B/BGSCharacterTint.h‎

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -150,14 +150,15 @@ namespace RE
150150
// Members
151151
Entry* templateEntry; // 08
152152
std::uint16_t idLink; // 10
153-
std::uint8_t tingingValue; // 12
153+
std::uint8_t tintingValue; // 12
154154
};
155155
static_assert(sizeof(Entry) == 0x18);
156156

157157
class Entries
158158
{
159159
public:
160-
BSTArray<Entry*> entriesA;
160+
// members
161+
BSTArray<Entry*> entriesA; // 00
161162
};
162163
static_assert(sizeof(Entries) == 0x18);
163164

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/BSPathingRequest.h"
4+
#include "RE/B/BSPathingSolution.h"
5+
#include "RE/B/BSTSmartPointer.h"
6+
#include "RE/P/PATHING_MESSAGE_TYPE.h"
7+
8+
namespace RE
9+
{
10+
class BSActorPathingMessage
11+
{
12+
public:
13+
// members
14+
PATHING_MESSAGE_TYPE type; // 00
15+
BSTSmartPointer<BSPathingRequest> request; // 08
16+
BSTSmartPointer<BSPathingSolution> solution; // 10
17+
};
18+
static_assert(sizeof(BSActorPathingMessage) == 0x18);
19+
}
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/BSActorPathingMessage.h"
4+
#include "RE/B/BSIntrusiveRefCounted.h"
5+
#include "RE/B/BSSpinLock.h"
6+
#include "RE/B/BSTArray.h"
7+
8+
namespace RE
9+
{
10+
class BSActorPathingMessageQueue :
11+
public BSIntrusiveRefCounted
12+
{
13+
public:
14+
// members
15+
BSTSmallArray<BSActorPathingMessage, 1> messages; // 008
16+
BSSpinLock messagesLock; // 030
17+
};
18+
static_assert(sizeof(BSActorPathingMessageQueue) == 0x38);
19+
}
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
#pragma once
2+
3+
#include "RE/B/BSPathingLockData.h"
4+
#include "RE/B/BSTSmartPointer.h"
5+
6+
namespace RE
7+
{
8+
class BSPathingActorAttributes
9+
{
10+
public:
11+
enum ACTOR_SHAPE_TYPE : std::uint32_t
12+
{
13+
kPoint = 0x0,
14+
kBiped = 0x1,
15+
kQuadruped = 0x2
16+
};
17+
18+
enum LOCK_HANDLING_TYPE : std::uint32_t
19+
{
20+
kIgnore = 0x4,
21+
kCantOpen = 0x8,
22+
kUseLockData = 0xC
23+
};
24+
25+
enum ATTRIBUTE : std::uint32_t
26+
{
27+
kWaitIfPlayerWaits = 0x80
28+
};
29+
30+
enum TRAVERSAL_TYPE : std::uint32_t
31+
{
32+
kCanWalk = 0x1,
33+
kCanSwim = 0x2,
34+
kCanFly = 0x4,
35+
kCanFloat = 0x8,
36+
kIsLarge = 0x10,
37+
kCanJump = 0x20
38+
};
39+
40+
// members
41+
float radius; // 00
42+
float height; // 04
43+
float floatHeight; // 08
44+
BSTSmartPointer<BSPathingLockData> lockData; // 10
45+
std::uint32_t data; // 18
46+
std::uint8_t traversalFlags; // 1C
47+
};
48+
static_assert(sizeof(BSPathingActorAttributes) == 0x20);
49+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
#pragma once
2+
3+
#include "RE/B/BSPathingAvoidNode.h"
4+
#include "RE/B/BSTArrayRefCounted.h"
5+
6+
namespace RE
7+
{
8+
class BSPathingAvoidNodeArray :
9+
public BSTArrayRefCounted<BSPathingAvoidNode, BSTArrayHeapAllocator> // 00
10+
{
11+
public:
12+
};
13+
static_assert(sizeof(BSPathingAvoidNodeArray) == 0x20);
14+
}

‎include/RE/B/BSPathingCell.h‎

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
#pragma once
2+
3+
#include "RE/B/BSIntrusiveRefCounted.h"
4+
#include "RE/B/BSTSmartPointer.h"
5+
6+
namespace RE
7+
{
8+
class bhkWorld;
9+
class BSPathingNumericIDVisitor;
10+
class BSPathingSpace;
11+
class BSPathingStreamRead;
12+
class BSPathingStreamWrite;
13+
14+
class __declspec(novtable) BSPathingCell :
15+
public BSIntrusiveRefCounted // 00
16+
{
17+
public:
18+
static constexpr auto RTTI{ RTTI::BSPathingCell };
19+
static constexpr auto VTABLE{ VTABLE::BSPathingCell };
20+
21+
virtual ~BSPathingCell(); // 00
22+
virtual std::uint32_t GetType(); // 01
23+
virtual void Write(BSPathingStreamWrite* a_dst); // 02
24+
virtual void Read(BSPathingStreamRead* a_src); // 03
25+
virtual void FixupNumericID(BSPathingNumericIDVisitor* a_visitor); // 04
26+
virtual bool IsEqual(const BSTSmartPointer<BSPathingCell>* a_other); // 05
27+
virtual void GetSpace(BSTSmartPointer<BSPathingSpace>* a_spaceOut); // 06
28+
virtual bhkWorld* GetBhkWorld(); // 07
29+
virtual bool QValid(); // 08
30+
virtual bool QAttached(); // 09
31+
virtual bool QLoaded(); // 0A
32+
virtual bool IsInSameSpace(const BSTSmartPointer<BSPathingCell>* a_other); // 0B
33+
};
34+
static_assert(sizeof(BSPathingCell) == 0x10);
35+
}

‎include/RE/B/BSPathingLocation.h‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
namespace RE
88
{
99
class BSNavmeshInfo;
10+
class BSPathingCell;
1011

1112
class BSPathingLocation
1213
{

‎include/RE/B/BSPathingLockData.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/BSIntrusiveRefCounted.h"
4+
#include "RE/B/BSTSmartPointer.h"
5+
6+
namespace RE
7+
{
8+
class BSPathingDoor;
9+
class BSPathingStreamRead;
10+
class BSPathingStreamWrite;
11+
12+
class __declspec(novtable) BSPathingLockData :
13+
public BSIntrusiveRefCounted
14+
{
15+
public:
16+
static constexpr auto RTTI{ RTTI::BSPathingLockData };
17+
static constexpr auto VTABLE{ VTABLE::BSPathingLockData };
18+
19+
virtual ~BSPathingLockData(); // 00
20+
virtual std::uint32_t GetType(); // 01
21+
virtual bool CanTraverse(const BSTSmartPointer<BSPathingDoor>* a_door, float* a_arg2, bool* a_arg3); // 02
22+
virtual bool CanTraverse(const BSTSmartPointer<BSPathingDoor>* a_door, float* a_arg2); // 03
23+
virtual bool CanTraverse(const BSTSmartPointer<BSPathingDoor>* a_door); // 04
24+
virtual void Write(BSPathingStreamWrite* a_dst); // 05
25+
virtual void Read(BSPathingStreamRead* a_src); // 06
26+
};
27+
static_assert(sizeof(BSPathingLockData) == 0x10);
28+
}

‎include/RE/B/BSPathingNode.h‎

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/B/BSPathingLocation.h"
4+
#include "RE/B/BSTSmartPointer.h"
5+
#include "RE/M/MovementMessage.h"
6+
#include "RE/N/NiPoint3.h"
7+
8+
namespace RE
9+
{
10+
class BSPathingNode
11+
{
12+
public:
13+
BSPathingLocation location; // 000
14+
BSTSmartPointer<MovementMessage, BSTSmartPointerIntrusiveRefCount> actionAtNode; // 030
15+
NiPoint3 tangent; // 038
16+
};
17+
static_assert(sizeof(BSPathingNode) == 0x48);
18+
}

‎include/RE/B/BSPathingRequest.h‎

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
#pragma once
2+
3+
#include "RE/B/BSIntrusiveRefCounted.h"
4+
#include "RE/B/BSPathingActorAttributes.h"
5+
#include "RE/B/BSPathingGoal.h"
6+
#include "RE/B/BSPathingRestrictions.h"
7+
#include "RE/B/BSPathingSearchParameters.h"
8+
#include "RE/B/BSPathingStart.h"
9+
#include "RE/B/BSTArray.h"
10+
#include "RE/B/BSTSmartPointer.h"
11+
#include "RE/M/MeanderSettingsData.h"
12+
#include "RE/M/MovementActorAvoidanceParameters.h"
13+
14+
namespace RE
15+
{
16+
class BSPathingStreamRead;
17+
class BSPathingStreamWrite;
18+
class IDebugText;
19+
class IMovementParameters;
20+
21+
class __declspec(novtable) BSPathingRequest :
22+
public BSIntrusiveRefCounted // 0008
23+
{
24+
public:
25+
static constexpr auto RTTI{ RTTI::BSPathingRequest };
26+
static constexpr auto VTABLE{ VTABLE::BSPathingRequest };
27+
28+
virtual ~BSPathingRequest(); // 00
29+
virtual std::uint32_t GetType(); // 01
30+
virtual void CopyTo(BSPathingRequest* a_dst); // 02
31+
virtual void Write(BSPathingStreamWrite* a_dst); // 03
32+
virtual void Read(BSPathingStreamRead* a_src); // 04
33+
virtual void CheckValid(); // 05
34+
virtual void PrintDebugText(IDebugText* a_debugText); // 06
35+
virtual bool UpdateRequest(); // 07
36+
37+
// members
38+
BSPathingStart start; // 0010
39+
BSPathingGoal goal; // 0048
40+
BSPathingRestrictions restrictions; // 0098
41+
BSPathingSearchParameters searchParameters; // 00B0
42+
BSPathingActorAttributes actorAttributes; // 00C0
43+
MovementActorAvoidanceParameters avoidanceParameters; // 00E0
44+
BSTSmartPointer<IMovementParameters, BSTSmartPointerIntrusiveRefCount> defaultParameters; // 0100
45+
MeanderSettingsData meanderSettings; // 0108
46+
BSTArray<BSPathingStart> optionalStartArray; // 0120
47+
bool shouldMotionCorrectStartIdle; // 0138
48+
bool requiresPathStartIdle; // 0139
49+
bool disablePathEndIdle; // 013A
50+
};
51+
static_assert(sizeof(BSPathingRequest) == 0x140);
52+
}

0 commit comments

Comments
 (0)