CommonLibSSE (Parapets fork)
Loading...
Searching...
No Matches
TESEffectShader.h
Go to the documentation of this file.
1#pragma once
2
3#include "RE/C/Color.h"
4#include "RE/F/FormTypes.h"
5#include "RE/T/TESForm.h"
6#include "RE/T/TESTexture.h"
7
8namespace RE
9{
10 enum class D3DBLEND;
11 enum class D3DBLENDOP;
12 enum class D3DCMPFUNC;
13
14 struct EffectShaderData // DATA
15 {
16 public:
17 enum class Flags
18 {
19 kNone = 0,
20 kDisableTextureShader = 1 << 0,
21 kGreyscaleToColor = 1 << 1,
22 kGreyscaleToAlpha = 1 << 2,
24 kEdgeColorSubtractive = 1 << 4,
25 kSkinOnly = 1 << 5,
26 kIgnoreTexAlpha = 1 << 6,
27 kFillTexProjectedUV = 1 << 7,
29 kLighting = 1 << 9,
30 kIgnoreWeapons = 1 << 10,
31 kAlpha = 1 << 11,
32 kPreferDismemberedLimb = 1 << 12,
33 kParticleAnimated = 1 << 15,
36 kUseBloodGeometry = 1 << 24
37 };
38
39 // members
40 std::uint32_t unk00; // 000
41
44 D3DCMPFUNC membraneShaderZTestFunction; // 00C
45
55
56 float edgeEffectFallOff; // 034
64
66
68
70
94
98 float colorKey1ColorAlpha; // 0C8
99 float colorKey2ColorAlpha; // 0CC
104
110
111 std::uint32_t pad0D4; // 0F4
112
114
115 float holesStartTime; // 100
116 float holesEndTime; // 104
117 float holesStartVal; // 108
118 float holesEndVal; // 10C
119
122
123 float explosionWindSpeed; // 118
124
125 float textureCountU; // 11C
126 float textureCountV; // 120
127
134
135 std::uint32_t pad13C; // 13C
136
138
147
148 float colorScale; // 168
149
152
160
162
165
166 std::uint32_t sceneGraphEmitDepthLimit; // 19C - unused
167 };
168 static_assert(sizeof(EffectShaderData) == 0x1A0);
169
171 {
172 public:
173 inline static constexpr auto RTTI = RTTI_TESEffectShader;
174 inline static constexpr auto FORMTYPE = FormType::EffectShader;
175
177 {
178 enum RecordFlag : std::uint32_t
179 {
180 kDeleted = 1 << 5,
181 kIgnored = 1 << 12
182 };
183 };
184
185 ~TESEffectShader() override; // 00
186
187 // override (TESForm)
188 void InitializeData() override; // 04
189 bool Load(TESFile* a_mod) override; // 06
190 void InitItemImpl() override; // 13
191
192 // members
193 EffectShaderData data; // 020 - DATA
194 TESTexture fillTexture; // 1C0 - ICON
199 void* unk210; // 210 - smart ptr
200 void* unk218; // 218 - smart ptr
201 };
202 static_assert(sizeof(TESEffectShader) == 0x220);
203}
Definition: BGSDebris.h:39
Definition: BGSSoundDescriptorForm.h:14
Definition: TESEffectShader.h:171
static constexpr auto RTTI
Definition: TESEffectShader.h:173
TESTexture particlePaletteTexture
Definition: TESEffectShader.h:198
void * unk218
Definition: TESEffectShader.h:200
void InitItemImpl() override
~TESEffectShader() override
void InitializeData() override
static constexpr auto FORMTYPE
Definition: TESEffectShader.h:174
bool Load(TESFile *a_mod) override
TESTexture holesTexture
Definition: TESEffectShader.h:196
EffectShaderData data
Definition: TESEffectShader.h:193
void * unk210
Definition: TESEffectShader.h:199
TESTexture fillTexture
Definition: TESEffectShader.h:194
TESTexture particleShaderTexture
Definition: TESEffectShader.h:195
TESTexture membranePaletteTexture
Definition: TESEffectShader.h:197
Definition: TESFile.h:14
Definition: TESForm.h:34
Definition: TESTexture.h:10
Definition: PCH.h:216
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_TESEffectShader
Definition: Offsets_RTTI.h:5988
Definition: Color.h:6
Definition: TESEffectShader.h:15
float holesStartTime
Definition: TESEffectShader.h:115
float addonModelsScaleInTime
Definition: TESEffectShader.h:132
float addonModelsFadeInTime
Definition: TESEffectShader.h:128
float particleShaderPersistantParticleCount
Definition: TESEffectShader.h:79
float colorKey3ColorKeyTime
Definition: TESEffectShader.h:103
float explosionWindSpeed
Definition: TESEffectShader.h:123
float particleShaderInitialVelocity2
Definition: TESEffectShader.h:85
float particleShaderAccelerationAlongNormal
Definition: TESEffectShader.h:83
Color edgeColor
Definition: TESEffectShader.h:121
float particleShaderAnimatedLoopStartFrame
Definition: TESEffectShader.h:156
float holesStartVal
Definition: TESEffectShader.h:117
float holesEndTime
Definition: TESEffectShader.h:116
Color fillTextureEffectColorKey1
Definition: TESEffectShader.h:46
Color fillTextureEffectColorKey3
Definition: TESEffectShader.h:140
float fillTextureEffectFullAlphaRatio
Definition: TESEffectShader.h:65
Color colorKey3
Definition: TESEffectShader.h:97
BGSSoundDescriptorForm * ambientSound
Definition: TESEffectShader.h:137
float colorKey2ColorKeyTime
Definition: TESEffectShader.h:102
float particleShaderParticleLifetimeVariance
Definition: TESEffectShader.h:81
D3DBLEND particleShaderSourceBlendMode
Definition: TESEffectShader.h:71
float edgeEffectFullAlphaTime
Definition: TESEffectShader.h:59
float particleShaderAnimatedStartFrame
Definition: TESEffectShader.h:153
float textureCountV
Definition: TESEffectShader.h:126
float colorKey3ColorAlpha
Definition: TESEffectShader.h:100
std::uint32_t sceneGraphEmitDepthLimit
Definition: TESEffectShader.h:166
Flags
Definition: TESEffectShader.h:18
float particleShaderInitialSpeedAlongNormal
Definition: TESEffectShader.h:82
Color colorKey1
Definition: TESEffectShader.h:95
float particleShaderInitialRotationVariance
Definition: TESEffectShader.h:107
float particleShaderAnimatedFrameCountVariance
Definition: TESEffectShader.h:159
Color fillTextureEffectColorKey2
Definition: TESEffectShader.h:139
float edgeEffectAlphaPulseFrequency
Definition: TESEffectShader.h:63
float particleShaderScaleKey2
Definition: TESEffectShader.h:91
float colorKey1ColorKeyTime
Definition: TESEffectShader.h:101
float holesEndVal
Definition: TESEffectShader.h:118
Color edgeEffectColor
Definition: TESEffectShader.h:57
float fillTextureEffectColorKeyScaleTimeColorKey1Time
Definition: TESEffectShader.h:144
stl::enumeration< Flags, std::uint32_t > flags
Definition: TESEffectShader.h:161
float particleShaderParticleLifetime
Definition: TESEffectShader.h:80
float edgeEffectFallOff
Definition: TESEffectShader.h:56
float fillTextureEffectColorKeyScaleTimeColorKey1Scale
Definition: TESEffectShader.h:141
float addonModelsFadeOutTime
Definition: TESEffectShader.h:129
float fillTextureEffectTextureScaleU
Definition: TESEffectShader.h:163
float colorKey2ColorAlpha
Definition: TESEffectShader.h:99
std::uint32_t pad0D4
Definition: TESEffectShader.h:111
float particleShaderScaleKey1
Definition: TESEffectShader.h:90
float addonModelsScaleStart
Definition: TESEffectShader.h:130
D3DCMPFUNC particleShaderZTestOperation
Definition: TESEffectShader.h:73
float edgeWidthAlphaUnits
Definition: TESEffectShader.h:120
float colorScale
Definition: TESEffectShader.h:148
float fillTextureEffectPersistentAlphaRatio
Definition: TESEffectShader.h:50
float birthPositionOffsetVariance
Definition: TESEffectShader.h:151
float particleShaderFullParticleBirthTime
Definition: TESEffectShader.h:76
float edgeEffectAlphaFadeInTime
Definition: TESEffectShader.h:58
D3DBLEND particleShaderDestBlendMode
Definition: TESEffectShader.h:74
float fillTextureEffectTextureAnimationSpeedU
Definition: TESEffectShader.h:53
float particleShaderFullParticleBirthRatio
Definition: TESEffectShader.h:78
float fillTextureEffectColorKeyScaleTimeColorKey3Scale
Definition: TESEffectShader.h:143
float particleShaderAnimatedFrameCount
Definition: TESEffectShader.h:158
std::uint32_t unk00
Definition: TESEffectShader.h:40
float edgeEffectAlphaPulseAmplitude
Definition: TESEffectShader.h:62
float fillTextureEffectAlphaFadeInTime
Definition: TESEffectShader.h:47
float particleShaderRotationSpeed
Definition: TESEffectShader.h:108
float particleShaderAnimatedStartFrameVariance
Definition: TESEffectShader.h:154
float particleShaderScaleKey2Time
Definition: TESEffectShader.h:93
float particleShaderInitialRotation
Definition: TESEffectShader.h:106
float particleShaderInitialVelocity3
Definition: TESEffectShader.h:86
float birthPositionOffset
Definition: TESEffectShader.h:150
float particleShaderAnimatedLoopStartVariance
Definition: TESEffectShader.h:157
Color colorKey2
Definition: TESEffectShader.h:96
float fillTextureEffectTextureAnimationSpeedV
Definition: TESEffectShader.h:54
std::uint32_t pad13C
Definition: TESEffectShader.h:135
float fillTextureEffectAlphaPulseFrequency
Definition: TESEffectShader.h:52
float particleShaderParticleBirthRampDownTime
Definition: TESEffectShader.h:77
float edgeEffectAlphaFadeOutTime
Definition: TESEffectShader.h:60
float particleShaderInitialSpeedAlongNormalVariance
Definition: TESEffectShader.h:105
float edgeEffectFullAlphaRatio
Definition: TESEffectShader.h:67
D3DBLEND membraneShaderDestBlendMode
Definition: TESEffectShader.h:69
float particleShaderScaleKey1Time
Definition: TESEffectShader.h:92
float edgeEffectPersistentAlphaRatio
Definition: TESEffectShader.h:61
float textureCountU
Definition: TESEffectShader.h:125
D3DBLENDOP membraneShaderBlendOperation
Definition: TESEffectShader.h:43
BGSDebris * addonModels
Definition: TESEffectShader.h:113
float particleShaderAnimatedEndFrame
Definition: TESEffectShader.h:155
D3DBLEND membraneShaderSourceBlendMode
Definition: TESEffectShader.h:42
float fillTextureEffectColorKeyScaleTimeColorKey2Scale
Definition: TESEffectShader.h:142
float addonModelsScaleEnd
Definition: TESEffectShader.h:131
D3DCMPFUNC membraneShaderZTestFunction
Definition: TESEffectShader.h:44
float particleShaderAcceleration1
Definition: TESEffectShader.h:87
float particleShaderParticleBirthRampUpTime
Definition: TESEffectShader.h:75
D3DBLENDOP particleShaderBlendOperation
Definition: TESEffectShader.h:72
float particleShaderInitialVelocity1
Definition: TESEffectShader.h:84
float fillTextureEffectAlphaFadeOutTime
Definition: TESEffectShader.h:49
float fillTextureEffectColorKeyScaleTimeColorKey2Time
Definition: TESEffectShader.h:145
float particleShaderAcceleration3
Definition: TESEffectShader.h:89
float fillTextureEffectTextureScaleV
Definition: TESEffectShader.h:164
float fillTextureEffectColorKeyScaleTimeColorKey3Time
Definition: TESEffectShader.h:146
float colorKey1ColorAlpha
Definition: TESEffectShader.h:98
float addonModelsScaleOutTime
Definition: TESEffectShader.h:133
float fillTextureEffectFullAlphaTime
Definition: TESEffectShader.h:48
float particleShaderAcceleration2
Definition: TESEffectShader.h:88
float fillTextureEffectAlphaPulseAmplitude
Definition: TESEffectShader.h:51
float particleShaderRotationSpeedVariance
Definition: TESEffectShader.h:109
Definition: TESEffectShader.h:177
RecordFlag
Definition: TESEffectShader.h:179
@ kIgnored
Definition: TESEffectShader.h:181
@ kDeleted
Definition: TESEffectShader.h:180