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