CommonLibSSE NG
Loading...
Searching...
No Matches
GFxPlaceObjectBase.h
Go to the documentation of this file.
1#pragma once
2
4#include "RE/G/GArray.h"
6#include "RE/G/GMatrix2D.h"
7#include "RE/G/GRenderer.h"
8
9namespace RE
10{
11 enum class GFxPlaceFlags : std::uint8_t
12 {
13 kNone = 0,
14 kMove = 1 << 0,
15 kHasCharacter = 1 << 1,
16 kHasMatrix = 1 << 2,
17 kHasColorTransform = 1 << 3,
18 kHasRatio = 1 << 4,
19 kHasFilterList = 1 << 5,
20 kHasClipDepth = 1 << 6,
21 kHasBlendMode = 1 << 7,
22 };
23
25 {
27
28 enum class FilterType : std::uint8_t
29 {
30 kDropShadow = 0,
31 kBlur = 1,
32 kGlow = 2,
33 kBevel = 3,
34 kGradientGlow = 4,
35 kConvolution = 5,
36 kAdjustColor = 6,
38
39 kFlag_KnockOut = 1 << 5,
40 kFlag_HideObject = 1 << 6,
41 kFlag_FineBlur = 1 << 7,
42 };
43
44 struct Filter
45 {
47 std::uint8_t pad01; // 01
48 std::uint16_t angle; // 02
49 std::uint16_t distance; // 04
50 std::uint16_t pad06; // 06
52 float colorMatrix[20]; // 4C
53 };
54 static_assert(sizeof(Filter) == 0x9C);
55
59 float ratio; // 50
60 std::int32_t depth; // 54
62 std::uint16_t clipDepth; // 5C
65 };
66 static_assert(sizeof(GFxPlaceObjectUnpackedData) == 0x60);
67
69 {
70 enum class ChangeType
71 {
75 };
76
77 void* clipActions; // 60
78 const char* name; // 68
80 std::uint32_t pad74; // 74
81 };
82
84 {
85 public:
86 // add
87 virtual void GetPlaceObjectData(GFxPlaceObjectData& a_data); // 08 - pure
88 virtual void* GetClipActions(); // 09 - { return nullptr; }
89 virtual void GetPlaceFlags(GFxPlaceFlags& a_flags); // 0A - pure
90 };
91 static_assert(sizeof(GFxPlaceObjectBase) == 0x8);
92}
Definition GASExecuteTag.h:8
Definition GArray.h:13
Definition GFxPlaceObjectBase.h:84
virtual void * GetClipActions()
virtual void GetPlaceObjectData(GFxPlaceObjectData &a_data)
virtual void GetPlaceFlags(GFxPlaceFlags &a_flags)
Definition GFxResourceID.h:6
Definition GMatrix2D.h:6
Definition GRenderer.h:226
BlendType
Definition GRenderer.h:27
Definition PCH.h:223
Definition AbsorbEffect.h:6
GFxPlaceFlags
Definition GFxPlaceObjectBase.h:12
Definition GFxPlaceObjectBase.h:69
void * clipActions
Definition GFxPlaceObjectBase.h:77
stl::enumeration< ChangeType, std::int32_t > changeType
Definition GFxPlaceObjectBase.h:79
ChangeType
Definition GFxPlaceObjectBase.h:71
std::uint32_t pad74
Definition GFxPlaceObjectBase.h:80
const char * name
Definition GFxPlaceObjectBase.h:78
Definition GFxPlaceObjectBase.h:45
std::uint16_t pad06
Definition GFxPlaceObjectBase.h:50
GRenderer::BlurFilterParams blurFilterParams
Definition GFxPlaceObjectBase.h:51
std::uint8_t pad01
Definition GFxPlaceObjectBase.h:47
std::uint16_t distance
Definition GFxPlaceObjectBase.h:49
std::uint16_t angle
Definition GFxPlaceObjectBase.h:48
stl::enumeration< FilterType, std::uint8_t > filterType
Definition GFxPlaceObjectBase.h:46
float colorMatrix[20]
Definition GFxPlaceObjectBase.h:52
Definition GFxPlaceObjectBase.h:25
FilterType
Definition GFxPlaceObjectBase.h:29
GArray< Filter > filterList
Definition GFxPlaceObjectBase.h:56
std::int32_t depth
Definition GFxPlaceObjectBase.h:60
GRenderer::Cxform colorTransform
Definition GFxPlaceObjectBase.h:57
GMatrix2D matrix
Definition GFxPlaceObjectBase.h:58
GFxResourceID characterId
Definition GFxPlaceObjectBase.h:61
float ratio
Definition GFxPlaceObjectBase.h:59
stl::enumeration< GFxPlaceFlags, std::uint8_t > placeFlags
Definition GFxPlaceObjectBase.h:64
stl::enumeration< BlendType, std::uint8_t > blendMode
Definition GFxPlaceObjectBase.h:63
std::uint16_t clipDepth
Definition GFxPlaceObjectBase.h:62
Definition GRenderer.h:375