CommonLibSSE (powerof3)
BSScaleformManager.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/B/BSString.h"
4 #include "RE/B/BSTSingleton.h"
5 #include "RE/G/GFxMovieView.h"
6 #include "RE/G/GPtr.h"
7 
8 namespace RE
9 {
10  class BSScaleformImageLoader;
11  class GFxDrawTextManager;
12  class GFxLoader;
13  class GFxMovieDef;
14  class GFxRenderConfig;
15  class IMenu;
16 
18  {
19  public:
20  // members
22  };
23  static_assert(sizeof(BSScaleformRenderer) == 0x8);
24 
25  class BSScaleformManager : public BSTSingletonSDM<BSScaleformManager>
26  {
27  public:
29 
31 
32  bool LoadMovie(IMenu* a_menu, GPtr<GFxMovieView>& a_viewOut, const char* a_fileName, ScaleModeType a_mode = ScaleModeType::kShowAll, float a_backGroundAlpha = 0.0);
33 
34  bool LoadMovieEx(IMenu* a_menu, std::string_view a_fileName, std::function<void(GFxMovieDef*)> a_callback);
35  bool LoadMovieEx(IMenu* a_menu, std::string_view a_fileName, ScaleModeType a_mode, std::function<void(GFxMovieDef*)> a_callback);
36  bool LoadMovieEx(IMenu* a_menu, std::string_view a_fileName, ScaleModeType a_mode, float a_backGroundAlpha, std::function<void(GFxMovieDef*)> a_callback);
37 
38  bool LoadMovie_Impl(IMenu* a_menu, GPtr<GFxMovieView>& a_viewOut, const char* a_fileName, ScaleModeType a_mode = ScaleModeType::kShowAll, float a_backGroundAlpha = 0.0);
39 
40  // members
41  std::uint8_t pad01; // 01
42  std::uint16_t pad02; // 02
43  std::uint32_t pad04; // 04
44  GFxLoader* loader; // 08
49  std::uint64_t unk38; // 38
50 
51  private:
52  static std::optional<std::string> BuildFilePath(std::string_view a_fileName);
53  static std::tuple<float, float, std::int32_t, std::int32_t> CollectDisplayInfo();
54  static bool FileExists(const char* a_fileName);
55  };
56  static_assert(sizeof(BSScaleformManager) == 0x40);
57 }
Definition: BSScaleformManager.h:26
BSScaleformRenderer * renderer
Definition: BSScaleformManager.h:45
GPtr< GFxDrawTextManager > textManager
Definition: BSScaleformManager.h:46
bool LoadMovieEx(IMenu *a_menu, std::string_view a_fileName, std::function< void(GFxMovieDef *)> a_callback)
bool LoadMovie_Impl(IMenu *a_menu, GPtr< GFxMovieView > &a_viewOut, const char *a_fileName, ScaleModeType a_mode=ScaleModeType::kShowAll, float a_backGroundAlpha=0.0)
GFxLoader * loader
Definition: BSScaleformManager.h:44
std::uint32_t pad04
Definition: BSScaleformManager.h:43
bool LoadMovieEx(IMenu *a_menu, std::string_view a_fileName, ScaleModeType a_mode, float a_backGroundAlpha, std::function< void(GFxMovieDef *)> a_callback)
bool LoadMovieEx(IMenu *a_menu, std::string_view a_fileName, ScaleModeType a_mode, std::function< void(GFxMovieDef *)> a_callback)
GPtr< BSScaleformImageLoader > imageLoader
Definition: BSScaleformManager.h:47
bool LoadMovie(IMenu *a_menu, GPtr< GFxMovieView > &a_viewOut, const char *a_fileName, ScaleModeType a_mode=ScaleModeType::kShowAll, float a_backGroundAlpha=0.0)
static BSScaleformManager * GetSingleton()
std::uint8_t pad01
Definition: BSScaleformManager.h:41
std::uint64_t unk38
Definition: BSScaleformManager.h:49
BSString validNameChars
Definition: BSScaleformManager.h:48
std::uint16_t pad02
Definition: BSScaleformManager.h:42
Definition: GFxLoader.h:17
Definition: GFxMovieDef.h:19
ScaleModeType
Definition: GFxMovieView.h:30
Definition: GPtr.h:7
Definition: IMenu.h:55
Definition: AbsorbEffect.h:6
Definition: BSScaleformManager.h:18
GPtr< GFxRenderConfig > config
Definition: BSScaleformManager.h:21
Definition: BSTSingleton.h:50