CommonLibVR
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  inline static constexpr auto VTABLE = VTABLE_BSScaleformImageLoader;
18 
20  {
21  public:
24  std::uint32_t refCount; // 10
25  std::uint32_t pad14; // 14
26  };
27  static_assert(sizeof(TextureEntry) == 0x18);
28 
29  virtual ~BSScaleformImageLoader(); // 00
30 
31  // override (GFxImageLoader)
32  GImageInfoBase* LoadImage(const char* a_url) override; // 01
33 
35  {
36  using func_t = decltype(&BSScaleformImageLoader::AddTexture);
37  static REL::Relocation<func_t> func{ RELOCATION_ID(82382, 84469) };
38  return func(this, a_texture);
39  }
40 
42  {
43  using func_t = decltype(&BSScaleformImageLoader::RemoveTexture);
44  static REL::Relocation<func_t> func{ RELOCATION_ID(82383, 84470) };
45  return func(this, a_texture);
46  }
47 
48  // members
50  private:
51  KEEP_FOR_RE()
52  };
53  static_assert(sizeof(BSScaleformImageLoader) == 0x48);
54 }
#define KEEP_FOR_RE()
Definition: PCH.h:713
#define RELOCATION_ID(SE, AE)
Definition: PCH.h:702
Definition: Relocation.h:210
Definition: BSScaleformExternalTexture.h:9
Definition: BSScaleformImageLoader.h:20
NiTexture * sourceTexture
Definition: BSScaleformImageLoader.h:23
GPtr< GTexture > texture
Definition: BSScaleformImageLoader.h:22
std::uint32_t refCount
Definition: BSScaleformImageLoader.h:24
std::uint32_t pad14
Definition: BSScaleformImageLoader.h:25
Definition: BSScaleformImageLoader.h:14
static constexpr auto RTTI
Definition: BSScaleformImageLoader.h:16
BSTHashMap< std::uint32_t, TextureEntry > textures
Definition: BSScaleformImageLoader.h:49
void RemoveTexture(BSScaleformExternalTexture &a_texture)
Definition: BSScaleformImageLoader.h:41
static constexpr auto VTABLE
Definition: BSScaleformImageLoader.h:17
GImageInfoBase * LoadImage(const char *a_url) override
bool AddTexture(BSScaleformExternalTexture &a_texture)
Definition: BSScaleformImageLoader.h:34
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 std::array< REL::ID, 1 > VTABLE_BSScaleformImageLoader
Definition: Offsets_VTABLE.h:9430
constexpr REL::ID RTTI_BSScaleformImageLoader(static_cast< std::uint64_t >(691076))