CommonLibSSE NG
ImageSpaceEffect.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/N/NiTArray.h"
4 
5 namespace RE
6 {
7  class ImageSpaceManager;
8  class ImageSpaceEffectParam;
9  class ImageSpaceTexture;
10 
12  {
13  public:
14  class EffectInput;
15 
16  inline static constexpr auto RTTI = RTTI_ImageSpaceEffect;
17 
18  virtual ~ImageSpaceEffect(); // 00
19 
20  // add
21  virtual void Render(BSTriShape* a_shape, ImageSpaceEffectParam* a_param); // 01
22  virtual void Setup(ImageSpaceManager* a_manager, ImageSpaceEffectParam* a_param); // 02 - { return; }
23  virtual void ShutDown(); // 03 - { return; }
24  virtual void BorrowTextures(ImageSpaceEffectParam* a_param); // 04 - { return; }
25  virtual void ReturnTextures(); // 05 - { return; }
26  virtual bool IsActive(); // 06
27  virtual bool UpdateParams(ImageSpaceEffectParam* a_param); // 07 - { return 0; }
28  virtual bool SetRenderStates(ImageSpaceEffectParam* a_param); // 08 - { return 0; }
29  virtual bool RestoreRenderStates(ImageSpaceEffectParam* a_param); // 09 - { return 0; }
30 
31  // members
32  bool active; // 08
33  bool unk09; // 09
34  std::uint16_t pad0A; // 0A
35  std::uint32_t pad0C; // 0C
41  bool unk88; // 88
42  std::uint8_t pad89; // 89
43  std::uint16_t pad8A; // 8A
44  std::uint32_t pad8C; // 8C
45  };
46  static_assert(sizeof(ImageSpaceEffect) == 0x90);
47 }
Definition: BSTriShape.h:8
Definition: ImageSpaceEffectParam.h:6
Definition: ImageSpaceEffect.h:12
std::uint16_t pad0A
Definition: ImageSpaceEffect.h:34
std::uint32_t pad0C
Definition: ImageSpaceEffect.h:35
virtual void ShutDown()
static constexpr auto RTTI
Definition: ImageSpaceEffect.h:16
NiTPrimitiveArray< ImageSpaceTexture * > effectTextures
Definition: ImageSpaceEffect.h:38
bool active
Definition: ImageSpaceEffect.h:32
virtual bool UpdateParams(ImageSpaceEffectParam *a_param)
std::uint16_t pad8A
Definition: ImageSpaceEffect.h:43
virtual bool RestoreRenderStates(ImageSpaceEffectParam *a_param)
NiTPrimitiveArray< ImageSpaceEffectParam * > effectParams
Definition: ImageSpaceEffect.h:37
NiTPrimitiveArray< ImageSpaceEffect * > effects
Definition: ImageSpaceEffect.h:36
virtual void BorrowTextures(ImageSpaceEffectParam *a_param)
bool unk09
Definition: ImageSpaceEffect.h:33
virtual void Setup(ImageSpaceManager *a_manager, ImageSpaceEffectParam *a_param)
virtual void ReturnTextures()
virtual void Render(BSTriShape *a_shape, ImageSpaceEffectParam *a_param)
virtual bool IsActive()
NiTPrimitiveArray< ImageSpaceEffect::EffectInput * > effectInputs
Definition: ImageSpaceEffect.h:39
std::uint8_t pad89
Definition: ImageSpaceEffect.h:42
NiTPrimitiveArray< std::int32_t > unk70
Definition: ImageSpaceEffect.h:40
virtual bool SetRenderStates(ImageSpaceEffectParam *a_param)
virtual ~ImageSpaceEffect()
bool unk88
Definition: ImageSpaceEffect.h:41
std::uint32_t pad8C
Definition: ImageSpaceEffect.h:44
Definition: ImageSpaceManager.h:16
Definition: NiTArray.h:136
Definition: AbsorbEffect.h:6
constexpr REL::VariantID RTTI_ImageSpaceEffect(691883, 399927, 0x1f7d978)