-
Notifications
You must be signed in to change notification settings - Fork 0
/
convex.h
73 lines (66 loc) · 1.49 KB
/
convex.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
#pragma once
#include "types.h"
namespace Teardown {
#pragma pack(push, 1)
struct ShaderVariable
{
small_string m_Name;
int32_t m_Type;
int32_t m_Size;
int32_t m_Hash;
int32_t m_Unk1;
};
struct ShaderBinding
{
ShaderVariable m_Variables[16];
int32_t m_Size;
int32_t m_TotalSize;
};
struct Buffer
{
ShaderBinding* m_Binding;
uint64_t m_Data;
uint64_t m_Data2;
uint64_t qword18;
uint32_t m_Size;
uint32_t m_Capacity;
uint32_t m_Stride;
uint32_t dword2C;
uint32_t m_Buffer;
uint32_t dword34;
};
struct AnotherBuffer
{
void* m_Data;
uint32_t m_Buffer;
uint32_t dwordC;
uint32_t m_Size;
uint32_t dword14;
uint32_t dword18;
};
struct Convex
{
void* vftable;
uint32_t dword8;
Vector4_f32 m_Rotation;
float dword14;
float dword20;
uint32_t dword1C;
uint32_t dword28;
uint8_t byte2C; uint8_t gap2D[3];
uint32_t m_ArrayBufferHandle;
uint32_t dword34;
small_vector<Vector3_f32> m_Vertices;
small_vector<uint32_t> m_Indices;
ShaderBinding m_Binding;
Buffer m_BufferInfo;
AnotherBuffer m_AnotherBuffer;
uint8_t pad2B4[4];
};
static_assert(sizeof(Convex) == 0x2B8u, "Convex size is incorrect!");
static_assert(sizeof(AnotherBuffer) == 0x1Cu, "AnotherBuffer size is incorrect!");
static_assert(sizeof(Buffer) == 0x38u, "Buffer size is incorrect!");
static_assert(sizeof(ShaderBinding) == 0x208, "ShaderBinding size is incorrect!");
static_assert(sizeof(ShaderVariable) == 0x20, "ShaderVariable size is incorrect!");
#pragma pack(pop)
}