CommonLibSSE (powerof3)
GFxLoader.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/G/GFxStateBag.h"
4 #include "RE/G/GPtr.h"
5 
6 namespace RE
7 {
8  class GFxFileOpenerBase;
9  class GFxJpegSupportBase;
10  class GFxZlibSupportBase;
11  class GFxLoaderImpl;
12  class GFxMovieDef;
13  class GFxMovieInfo;
14  class GFxResourceLib;
15 
16  class GFxLoader : public GFxStateBag
17  {
18  public:
19  enum LoadConstants : std::uint32_t
20  {
21  kLoadAll = 0,
23  kLoadWaitFrame1 = 1 << 1,
24  kLoadOrdered = 1 << 4,
26  kLoadOnThread = 1 << 6,
28  kLoadImageFiles = 1 << 16,
29  kLoadDisableSWF = 1 << 19,
31  kLoadQuietOpen = 1 << 21,
32  kLoadDebugHeap = 1 << 28
33  };
34 
35  struct LoaderConfig
36  {
37  std::uint32_t defLoadFlags;
41  };
42 
43  // override (GFxStateBag)
44  GFxStateBag* GetStateBagImpl() const override; // 00
45 
46  ~GFxLoader() override; // 01
47 
48  // add
49  [[nodiscard]] virtual bool CheckTagLoader(std::int32_t a_tagType) const; // 05
50 
51  GFxMovieDef* CreateMovie(const char* a_filename, LoadConstants a_loadConstants = LoadConstants::kLoadAll, UPInt a_memoryArena = 0);
52  [[nodiscard]] GFxLoaderImpl* GetLoaderImpl() const;
53 
54  // members
55  GFxLoaderImpl* impl; // 08
56  GFxResourceLib* strongResourceLib; // 10
57  std::uint32_t defLoadFlags; // 18
58  std::uint32_t pad1C; // 1C
59  };
60  static_assert(sizeof(GFxLoader) == 0x20);
61 }
Definition: GFxLoader.h:17
GFxMovieDef * CreateMovie(const char *a_filename, LoadConstants a_loadConstants=LoadConstants::kLoadAll, UPInt a_memoryArena=0)
GFxLoaderImpl * GetLoaderImpl() const
~GFxLoader() override
virtual bool CheckTagLoader(std::int32_t a_tagType) const
GFxStateBag * GetStateBagImpl() const override
GFxResourceLib * strongResourceLib
Definition: GFxLoader.h:56
LoadConstants
Definition: GFxLoader.h:20
@ kLoadAll
Definition: GFxLoader.h:21
@ kLoadOnThread
Definition: GFxLoader.h:26
@ kLoadDebugHeap
Definition: GFxLoader.h:32
@ kLoadWaitCompletion
Definition: GFxLoader.h:22
@ kLoadThreadedBinding
Definition: GFxLoader.h:25
@ kLoadKeepBindData
Definition: GFxLoader.h:27
@ kLoadImageFiles
Definition: GFxLoader.h:28
@ kLoadQuietOpen
Definition: GFxLoader.h:31
@ kLoadDisableImports
Definition: GFxLoader.h:30
@ kLoadOrdered
Definition: GFxLoader.h:24
@ kLoadDisableSWF
Definition: GFxLoader.h:29
@ kLoadWaitFrame1
Definition: GFxLoader.h:23
std::uint32_t defLoadFlags
Definition: GFxLoader.h:57
GFxLoaderImpl * impl
Definition: GFxLoader.h:55
std::uint32_t pad1C
Definition: GFxLoader.h:58
Definition: GFxMovieDef.h:19
Definition: GFxStateBag.h:11
Definition: AbsorbEffect.h:6
std::size_t UPInt
Definition: SFTypes.h:5
Definition: GFxLoader.h:36
GPtr< GFxZlibSupportBase > zLibSupport
Definition: GFxLoader.h:39
GPtr< GFxJpegSupportBase > jpegSupport
Definition: GFxLoader.h:40
GPtr< GFxFileOpenerBase > fileOpener
Definition: GFxLoader.h:38
std::uint32_t defLoadFlags
Definition: GFxLoader.h:37