CommonLibVR
GFxSpriteDef.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/G/GArrayLH.h"
4 #include "RE/G/GFxTimelineDef.h"
5 #include "RE/G/GStringHash.h"
6 
7 namespace RE
8 {
9  class GFxCharacter;
10  class GFxMovieDataDef;
11 
13  {
14  public:
15  // add
16  virtual void SetLoadingExecuteTagList(ExecuteTagList* a_data) = 0; // 0E
17  virtual void AddFrameName(GString* a_name, GFxLog* a_log) = 0; // 0F
18  private:
19  KEEP_FOR_RE()
20  };
21  static_assert(sizeof(GFxTimelineIODef) == 0x20);
22 
24  {
25  public:
26  ~GFxSpriteDef() override; // 00
27 
28  // override (GFxResource)
29  std::uint32_t GetResourceTypeCode() const override; // 02
30 
31  // override (GFxCharacterDef)
32  bool Unk_05(const GPointF& a_pt, bool a_arg2, void* a_arg3) override; // 05
33  std::uint32_t GetVersion() override; // 08
34  GFxCharacter* CreateCharacter() override; // 09
35 
36  // override (GFxTimelineDef)
37  std::uint32_t GetFrameCount() override; // 0A
38  ExecuteTagList* GetMovieTagArray(ExecuteTagList& a_data, std::int32_t a_frameNumber) override; // 0B
39  ExecuteTagList* GetImportTagArray(ExecuteTagList& a_data, std::int32_t a_frameNumber) override; // 0C - { return nullptr; }
40  bool GetLabeledFrame(const char* a_label, std::int32_t& a_frameNumber, bool a_labelIsNumber) override; // 0D
41 
42  // override (GFxTimelineIODef)
43  void SetLoadingExecuteTagList(ExecuteTagList* a_data) override; // 0E
44  void AddFrameName(GString* a_name, GFxLog* a_log) override; // 0F
45 
46  // add
47  virtual float GetWidth(); // 10 - { return 1.0f; }
48  virtual float GetHeight(); // 11 - { return 1.0f; }
49  virtual GFxMovieDataDef* GetMovieData(); // 12
50  virtual void GetBounds(GRectF& a_bounds); // 13
51  virtual std::int32_t GetLoadingFrame(); // 14
52  virtual std::uint32_t GetSWFFlags(); // 15
53  virtual void* Unk_16(); // 16 - { return nullptr; }
54  virtual void Unk_17(); // 17
55  virtual const char* GetFileURL(); // 18
56 
57  // members
60  std::int32_t frameCount; // 30
61  std::int32_t frameLoading; // 34
63  void* unk50; // 50
64  std::uint8_t buttonState; // 58 - 0x1 = up, 0x2 = down, 0x4 = over
65  std::uint8_t pad59; // 59
66  std::uint16_t pad5A; // 5A
67  std::uint32_t pad5C; // 5C
68  private:
69  KEEP_FOR_RE()
70  };
71  static_assert(sizeof(GFxSpriteDef) == 0x60);
72 }
#define KEEP_FOR_RE()
Definition: PCH.h:713
Definition: GFxCharacter.h:18
Definition: GFxLog.h:11
Definition: GFxMovieDataDef.h:89
Definition: GFxSpriteDef.h:24
GArrayLH< ExecuteTagList > frames
Definition: GFxSpriteDef.h:62
std::uint8_t pad59
Definition: GFxSpriteDef.h:65
GStringHash< std::int32_t > frameLabels
Definition: GFxSpriteDef.h:59
std::uint16_t pad5A
Definition: GFxSpriteDef.h:66
virtual float GetWidth()
bool GetLabeledFrame(const char *a_label, std::int32_t &a_frameNumber, bool a_labelIsNumber) override
virtual GFxMovieDataDef * GetMovieData()
ExecuteTagList * GetMovieTagArray(ExecuteTagList &a_data, std::int32_t a_frameNumber) override
virtual std::int32_t GetLoadingFrame()
std::uint8_t buttonState
Definition: GFxSpriteDef.h:64
std::uint32_t pad5C
Definition: GFxSpriteDef.h:67
ExecuteTagList * GetImportTagArray(ExecuteTagList &a_data, std::int32_t a_frameNumber) override
std::uint32_t GetVersion() override
~GFxSpriteDef() override
std::uint32_t GetResourceTypeCode() const override
GFxCharacter * CreateCharacter() override
std::int32_t frameCount
Definition: GFxSpriteDef.h:60
GFxMovieDataDef * movieData
Definition: GFxSpriteDef.h:58
std::uint32_t GetFrameCount() override
virtual float GetHeight()
virtual const char * GetFileURL()
void * unk50
Definition: GFxSpriteDef.h:63
virtual void Unk_17()
void SetLoadingExecuteTagList(ExecuteTagList *a_data) override
virtual std::uint32_t GetSWFFlags()
bool Unk_05(const GPointF &a_pt, bool a_arg2, void *a_arg3) override
std::int32_t frameLoading
Definition: GFxSpriteDef.h:61
void AddFrameName(GString *a_name, GFxLog *a_log) override
virtual void * Unk_16()
virtual void GetBounds(GRectF &a_bounds)
Definition: GFxTimelineDef.h:10
Definition: GFxSpriteDef.h:13
virtual void AddFrameName(GString *a_name, GFxLog *a_log)=0
virtual void SetLoadingExecuteTagList(ExecuteTagList *a_data)=0
Definition: GString.h:8
Definition: AbsorbEffect.h:6
Definition: GFxTimelineDef.h:13