CommonLibSSE NG
GFxResourceLib.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/G/GEvent.h"
4 #include "RE/G/GFxResourceKey.h"
5 #include "RE/G/GHashSet.h"
6 #include "RE/G/GRefCountBase.h"
7 #include "RE/G/GStats.h"
8 #include "RE/G/GString.h"
9 
10 namespace RE
11 {
12  class GFxResource;
13  class GFxResourceWeakLib;
14 
15  class GFxResourceLib : public GRefCountBase<GFxResourceLib, GStatGroups::kGStat_Default_Mem>
16  {
17  public:
18  class ResourceSlot : public GRefCountBase<ResourceSlot, GStatGroups::kGStat_Default_Mem>
19  {
20  public:
21  enum class ResolveState
22  {
24  kSuccess,
25  kFail,
26  };
27 
28  const GFxResourceKey& GetKey() const
29  {
30  return key;
31  }
32 
33  // members
35  volatile ResolveState state; // 18
36  std::uint32_t pad1C; // 1C
37  GFxResource* volatile resource; // 20
41  };
42  static_assert(sizeof(ResourceSlot) == 0x98);
43 
45  {
46  UPInt operator()(const GFxResource*& a_data) const
47  {
48  return (((UPInt)a_data) >> 6) ^ ((UPInt)a_data);
49  }
50  };
52 
53  // members
56  bool debugFlag; // 20
57  std::uint8_t pad21; // 21
58  std::uint16_t pad22; // 22
59  std::uint32_t pad24; // 24
60  };
61  static_assert(sizeof(GFxResourceLib) == 0x28);
62 }
Definition: GEvent.h:13
Definition: GFxResourceKey.h:6
Definition: GFxResourceLib.h:19
volatile ResolveState state
Definition: GFxResourceLib.h:35
const GFxResourceKey & GetKey() const
Definition: GFxResourceLib.h:28
GString errorMessage
Definition: GFxResourceLib.h:39
GFxResource *volatile resource
Definition: GFxResourceLib.h:37
GEvent resolveComplete
Definition: GFxResourceLib.h:40
ResolveState
Definition: GFxResourceLib.h:22
GPtr< GFxResourceWeakLib > lib
Definition: GFxResourceLib.h:34
std::uint32_t pad1C
Definition: GFxResourceLib.h:36
GFxResourceKey key
Definition: GFxResourceLib.h:38
Definition: GFxResourceLib.h:16
bool debugFlag
Definition: GFxResourceLib.h:56
std::uint32_t pad24
Definition: GFxResourceLib.h:59
std::uint16_t pad22
Definition: GFxResourceLib.h:58
std::uint8_t pad21
Definition: GFxResourceLib.h:57
GFxResourceWeakLib * weakLib
Definition: GFxResourceLib.h:54
PinHashSet pinSet
Definition: GFxResourceLib.h:55
Definition: GFxResourceWeakLib.h:11
Definition: GFxResource.h:15
Definition: GPtr.h:7
Definition: GRefCountBase.h:12
Definition: GString.h:8
Definition: AbsorbEffect.h:6
std::size_t UPInt
Definition: SFTypes.h:5
Definition: GFxResourceLib.h:45
UPInt operator()(const GFxResource *&a_data) const
Definition: GFxResourceLib.h:46