CommonLibSSE (Parapets fork)
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 IsValidName(const char* a_name);
33 
34  bool LoadMovie(IMenu* a_menu, GPtr<GFxMovieView>& a_viewOut, const char* a_fileName, ScaleModeType a_mode = ScaleModeType::kShowAll, float a_backGroundAlpha = 0.0);
35 
36  bool LoadMovieEx(IMenu* a_menu, std::string_view a_fileName, std::function<void(GFxMovieDef*)> a_callback);
37  bool LoadMovieEx(IMenu* a_menu, std::string_view a_fileName, ScaleModeType a_mode, std::function<void(GFxMovieDef*)> a_callback);
38  bool LoadMovieEx(IMenu* a_menu, std::string_view a_fileName, ScaleModeType a_mode, float a_backGroundAlpha, std::function<void(GFxMovieDef*)> a_callback);
39 
40  bool LoadMovie_Impl(IMenu* a_menu, GPtr<GFxMovieView>& a_viewOut, const char* a_fileName, ScaleModeType a_mode = ScaleModeType::kShowAll, float a_backGroundAlpha = 0.0);
41 
42  // members
43  std::uint8_t pad01; // 01
44  std::uint16_t pad02; // 02
45  std::uint32_t pad04; // 04
46  GFxLoader* loader; // 08
51  std::uint64_t unk38; // 38
52 
53  private:
54  static std::optional<std::string> BuildFilePath(std::string_view a_fileName);
55  static std::tuple<float, float, std::int32_t, std::int32_t> CollectDisplayInfo();
56  static bool FileExists(const char* a_fileName);
57  };
58  static_assert(sizeof(BSScaleformManager) == 0x40);
59 }
Definition: BSScaleformManager.h:26
BSScaleformRenderer * renderer
Definition: BSScaleformManager.h:47
GPtr< GFxDrawTextManager > textManager
Definition: BSScaleformManager.h:48
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:46
std::uint32_t pad04
Definition: BSScaleformManager.h:45
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:49
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:43
bool IsValidName(const char *a_name)
std::uint64_t unk38
Definition: BSScaleformManager.h:51
BSString validNameChars
Definition: BSScaleformManager.h:50
std::uint16_t pad02
Definition: BSScaleformManager.h:44
Definition: GFxLoader.h:19
Definition: GFxMovieDef.h:21
ScaleModeType
Definition: GFxMovieView.h:30
Definition: GPtr.h:7
Definition: IMenu.h:56
Definition: AbsorbEffect.h:6
Definition: BSScaleformManager.h:18
GPtr< GFxRenderConfig > config
Definition: BSScaleformManager.h:21
Definition: BSTSingleton.h:50