CommonLibSSE NG
BSScaleformImageLoader.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/B/BSTHashMap.h"
4 #include "RE/G/GFxImageLoader.h"
5 #include "RE/G/GPtr.h"
6 
7 namespace RE
8 {
9  class BSScaleformExternalTexture;
10  class GTexture;
11  class NiTexture;
12 
14  {
15  public:
16  inline static constexpr auto RTTI = RTTI_BSScaleformImageLoader;
17 
19  {
20  public:
23  std::uint32_t refCount; // 10
24  std::uint32_t pad14; // 14
25  };
26  static_assert(sizeof(TextureEntry) == 0x18);
27 
28  virtual ~BSScaleformImageLoader(); // 00
29 
30  // override (GFxImageLoader)
31  GImageInfoBase* LoadImage(const char* a_url) override; // 01
32 
34  {
35  using func_t = decltype(&BSScaleformImageLoader::AddTexture);
36  REL::Relocation<func_t> func{ RELOCATION_ID(82382, 84469) };
37  return func(this, a_texture);
38  }
39 
41  {
42  using func_t = decltype(&BSScaleformImageLoader::RemoveTexture);
43  REL::Relocation<func_t> func{ RELOCATION_ID(82383, 84470) };
44  return func(this, a_texture);
45  }
46 
47  // members
49  };
50  static_assert(sizeof(BSScaleformImageLoader) == 0x48);
51 }
#define RELOCATION_ID(a_se, a_ae)
Definition: PCH.h:724
Definition: Relocation.h:204
Definition: BSScaleformExternalTexture.h:9
Definition: BSScaleformImageLoader.h:19
NiTexture * sourceTexture
Definition: BSScaleformImageLoader.h:22
GPtr< GTexture > texture
Definition: BSScaleformImageLoader.h:21
std::uint32_t refCount
Definition: BSScaleformImageLoader.h:23
std::uint32_t pad14
Definition: BSScaleformImageLoader.h:24
Definition: BSScaleformImageLoader.h:14
static constexpr auto RTTI
Definition: BSScaleformImageLoader.h:16
BSTHashMap< std::uint32_t, TextureEntry > textures
Definition: BSScaleformImageLoader.h:48
void RemoveTexture(BSScaleformExternalTexture &a_texture)
Definition: BSScaleformImageLoader.h:40
GImageInfoBase * LoadImage(const char *a_url) override
bool AddTexture(BSScaleformExternalTexture &a_texture)
Definition: BSScaleformImageLoader.h:33
Definition: BSTHashMap.h:21
Definition: GFxImageLoader.h:10
Definition: GImageInfoBase.h:16
Definition: GPtr.h:7
Definition: NiTexture.h:15
Definition: AbsorbEffect.h:6
constexpr REL::VariantID RTTI_BSScaleformImageLoader(691076, 398931, 0x1f6bde0)