Skip to content

Commit c16e10a

Browse files
authored
Merge pull request #6 from libxse/feat-ue
feat: `UE`
2 parents 411f842 + e633fe7 commit c16e10a

Some content is hidden

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

62 files changed

+1434
-2
lines changed

CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -147,5 +147,6 @@ install(
147147
"include/RE"
148148
"include/REL"
149149
"include/REX"
150+
"include/UE"
150151
DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}"
151152
)

include/RE/IDs.h

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,3 +34,17 @@ namespace RE::ID
3434

3535
inline constexpr REL::Offset RTDynamicCast{ 0x6C23656 };
3636
}
37+
38+
namespace UE::ID
39+
{
40+
namespace UEngine
41+
{
42+
inline constexpr REL::Offset GetSingleton{ 0x92B0E48 };
43+
inline constexpr REL::Offset GetCurrentPlayWorld{ 0x37F0A20 };
44+
}
45+
46+
namespace UGameplayStatics
47+
{
48+
inline constexpr REL::Offset GetPlayerController{ 0x31B6B80 };
49+
}
50+
}

include/UE/B/BaseKeyFuncs.h

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
#pragma once
2+
3+
namespace UE
4+
{
5+
template <class T, class U, std::size_t N>
6+
class BaseKeyFuncs
7+
{
8+
public:
9+
};
10+
static_assert(std::is_empty_v<BaseKeyFuncs<void*, void*, 0>>);
11+
}

include/UE/D/DefaultKeyFuncs.h

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
#pragma once
2+
3+
#include "UE/B/BaseKeyFuncs.h"
4+
5+
namespace UE
6+
{
7+
template <class T, std::size_t N>
8+
class DefaultKeyFuncs :
9+
public BaseKeyFuncs<T, T, N>
10+
{
11+
public:
12+
};
13+
static_assert(std::is_empty_v<DefaultKeyFuncs<void*, 0>>);
14+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
#pragma once
2+
3+
#include "UE/T/TSizedDefaultAllocator.h"
4+
#include "UE/T/TSizedInlineAllocator.h"
5+
6+
namespace UE
7+
{
8+
class FDefaultBitArrayAllocator :
9+
public TSizedInlineAllocator<4, 32, TSizedDefaultAllocator<32>>
10+
{
11+
public:
12+
};
13+
static_assert(std::is_empty_v<FDefaultBitArrayAllocator>);
14+
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
#pragma once
2+
3+
#include "UE/F/FDefaultBitArrayAllocator.h"
4+
#include "UE/T/TSetAllocator.h"
5+
#include "UE/T/TSizedDefaultAllocator.h"
6+
#include "UE/T/TSizedInlineAllocator.h"
7+
#include "UE/T/TSparseArrayAllocator.h"
8+
9+
namespace UE
10+
{
11+
class FDefaultSetAllocator :
12+
public TSetAllocator<TSparseArrayAllocator<TSizedDefaultAllocator<32>, FDefaultBitArrayAllocator>, TSizedInlineAllocator<1, 32, TSizedDefaultAllocator<32>>, 2, 8, 4>
13+
{
14+
public:
15+
};
16+
static_assert(std::is_empty_v<FDefaultSetAllocator>);
17+
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
#pragma once
2+
3+
#include "UE/F/FDefaultBitArrayAllocator.h"
4+
#include "UE/T/TSizedDefaultAllocator.h"
5+
#include "UE/T/TSparseArrayAllocator.h"
6+
7+
namespace UE
8+
{
9+
class FDefaultSparseArrayAllocator :
10+
public TSparseArrayAllocator<TSizedDefaultAllocator<32>, FDefaultBitArrayAllocator>
11+
{
12+
public:
13+
};
14+
static_assert(std::is_empty_v<FDefaultSparseArrayAllocator>);
15+
}

include/UE/F/FExec.h

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
#pragma once
2+
3+
namespace UE
4+
{
5+
class FOutputDevice;
6+
class UWorld;
7+
8+
class FExec
9+
{
10+
public:
11+
// add
12+
virtual ~FExec(); // 00
13+
virtual bool Exec(UWorld*, const wchar_t*, FOutputDevice*); // 01
14+
virtual bool Exec_Runtime(UWorld*, const wchar_t*, FOutputDevice*); // 02
15+
virtual bool Exec_Dev(UWorld*, const wchar_t*, FOutputDevice*); // 03
16+
virtual bool Exec_Editor(UWorld*, const wchar_t*, FOutputDevice*); // 04
17+
};
18+
static_assert(sizeof(FExec) == 0x08);
19+
}

include/UE/F/FName.h

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
#pragma once
2+
3+
#include "UE/F/FNameEntryId.h"
4+
5+
namespace UE
6+
{
7+
class FName
8+
{
9+
public:
10+
// members
11+
FNameEntryId comparisonIndex; // 00
12+
std::uint32_t number; // 04
13+
};
14+
static_assert(sizeof(FName) == 0x08);
15+
}

include/UE/F/FNameEntryId.h

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
#pragma once
2+
3+
namespace UE
4+
{
5+
class FNameEntryId
6+
{
7+
public:
8+
// members
9+
std::uint32_t value; // 00
10+
};
11+
static_assert(sizeof(FNameEntryId) == 0x04);
12+
}

0 commit comments

Comments
 (0)