CommonLibSSE NG
Loading...
Searching...
No Matches
GFxMovieDataDef.h
Go to the documentation of this file.
1#pragma once
2
3#include "RE/G/GArrayLH.h"
4#include "RE/G/GAtomic.h"
8#include "RE/G/GHashSet.h"
10#include "RE/G/GPtr.h"
11#include "RE/G/GRect.h"
12#include "RE/G/GRefCountBase.h"
13#include "RE/G/GStringHash.h"
14
15namespace RE
16{
17 class GFxLog;
18
20 {
21 std::uint32_t totalBytes; // 00
22 std::uint32_t version; // 04
24 float frameRate; // 18
25 std::uint32_t frameCount; // 1C
26 std::uint32_t swfFlags; // 20
27 std::uint32_t unk24; // 24
28 std::uint64_t unk28; // 28
29 std::uint64_t unk30; // 30
30 std::uint64_t unk38; // 38
31 std::uint16_t unk40; // 40
32 std::uint16_t pad42; // 42
33 std::uint32_t unk44; // 44
36 void* unk58; // 58
37 std::uint64_t unk60; // 60
38 std::uint64_t unk68; // 68
39 };
40 static_assert(sizeof(GFxMovieLoadInfo) == 0x70);
41
43 {
44 enum SourceType : std::int32_t
45 {
48 };
49
51 {
52 std::uint32_t index;
53 std::uint32_t unk04;
54 };
55
57 {
60 };
61
63 std::uint32_t pad04; // 04
65 };
66 static_assert(sizeof(GFxResourceSource) == 0x10);
67
69 {
71 {
73 std::uint32_t id; // 08
74 std::uint32_t importIndex; // 0C
75 };
76 static_assert(sizeof(ImportAssetInfo) == 0x10);
77
80 std::uint32_t frame; // 20
81 std::uint32_t movieIndex; // 24
83 };
84 static_assert(sizeof(GFxImportNode) == 0x30);
85
87 public GFxTimelineDef, // 00
88 public GFxResourceReport // 20
89 {
90 public:
92 {
93 public:
94 void* Alloc(std::size_t a_size);
95 void Free();
96
97 // members
98 void* allocPtr; // 00
99 std::uint64_t memAvailable; // 08
100 void* lastBlock; // 10
102 };
103
104 class LoadTaskDataBase : public GRefCountBase<LoadTaskDataBase, GFxStatMovieData::kGFxStatMD_Other_Mem>
105 {
106 public:
107 // members
109 void* unk30; // 30
110 };
111 static_assert(sizeof(LoadTaskDataBase) == 0x38);
112
114 {
115 public:
117
118 ~LoadTaskData() override; // 00
119
120 // add
121 virtual void AddFrameName(GString* a_label, GFxLog* a_log); // 01
122 virtual void SetMovieTagArray(ExecuteTagList* a_data); // 02
123 virtual void SetImportTagArray(ExecuteTagList* a_data); // 03
124
125 // members
130 std::uint32_t fileAttributes; // 0C0
131 std::uint32_t padC4; // 0C4
132 void* metadata; // 0C8
133 std::uint32_t metadataSize; // 0D0
134 std::uint32_t loadStatus; // 0D4 - 1 when file loaded, 2 when loading finished, 4 if error?
135 std::int32_t frameLoading; // 0D8
136 std::uint8_t unkDC; // 0DC
137 std::uint8_t padDD; // 0DD
138 std::uint16_t padDE; // 0DE
139 std::uint32_t unkE0; // 0E0
140 std::uint32_t padE4; // 0E4
142 std::uint64_t unkF0; // 0F0
143 std::uint64_t unkF8; // 0F8
146 std::uint64_t unk110; // 110
147 std::uint64_t unk118; // 118
148 std::uint64_t unk120; // 120
149 std::uint64_t unk128; // 128
150 std::uint32_t importedResourceCount; // 130
151 std::uint32_t pad134; // 134
154 std::uint64_t unk168; // 168
155 std::uint64_t unk170; // 170
159 std::int32_t importFrameCount; // 1D0
160 std::uint32_t pad1D4; // 1D4
162 std::uint64_t unk1E0; // 1E0
163 };
164 static_assert(sizeof(LoadTaskData) == 0x1E8);
165
166 ~GFxMovieDataDef() override; // 00
167
168 // override (GFxResource)
169 GFxResourceKey GetKey() override; // 01
170 std::uint32_t GetResourceTypeCode() const override; // 02
172
173 // override (GFxCharacterDef)
174 std::uint32_t GetVersion() override; // 08
175
176 // override (GFxTimelineDef)
177 std::uint32_t GetFrameCount() override; // 0A
178 ExecuteTagList* GetMovieTagArray(ExecuteTagList& a_data, std::int32_t a_frameNumber) override; // 0B
179 ExecuteTagList* GetImportTagArray(ExecuteTagList& a_data, std::int32_t a_frameNumber) override; // 0C
180 bool GetLabeledFrame(const char* a_label, std::int32_t& a_frameNumber, bool a_arg3) override; // 0D
181
182 // add
183 virtual void Unk_0E(void); // 0E
184 virtual std::uint32_t GetSWFFlags(); // 0F
185
186 // members
188 void* unk30; // 30
189 std::uint32_t fileFormat; // 38
190 std::uint32_t pad3C; // 3C
192 };
193 static_assert(sizeof(GFxMovieDataDef) == 0x48);
194}
Definition GArray.h:13
Definition GArrayLH.h:13
Definition GFxLog.h:11
Definition GFxMovieDataDef.h:92
void * allocPtr
Definition GFxMovieDataDef.h:98
GMemoryHeap * heap
Definition GFxMovieDataDef.h:101
std::uint64_t memAvailable
Definition GFxMovieDataDef.h:99
void * lastBlock
Definition GFxMovieDataDef.h:100
void * Alloc(std::size_t a_size)
Definition GFxMovieDataDef.h:105
Allocator allocator
Definition GFxMovieDataDef.h:108
void * unk30
Definition GFxMovieDataDef.h:109
Definition GFxMovieDataDef.h:114
std::uint32_t loadStatus
Definition GFxMovieDataDef.h:134
std::uint64_t unk168
Definition GFxMovieDataDef.h:154
GLock frameLock
Definition GFxMovieDataDef.h:156
GPtr< GFxLoadUpdateSync > updateSync
Definition GFxMovieDataDef.h:141
std::uint64_t unkF0
Definition GFxMovieDataDef.h:142
GFxMovieLoadInfo movieInfo
Definition GFxMovieDataDef.h:129
GStringHash< std::int32_t > frameLabels
Definition GFxMovieDataDef.h:161
std::uint32_t pad1D4
Definition GFxMovieDataDef.h:160
std::uint64_t unk118
Definition GFxMovieDataDef.h:147
GString fileURL
Definition GFxMovieDataDef.h:128
std::uint32_t unkE0
Definition GFxMovieDataDef.h:139
std::uint32_t padE4
Definition GFxMovieDataDef.h:140
std::uint8_t unkDC
Definition GFxMovieDataDef.h:136
void * metadata
Definition GFxMovieDataDef.h:132
std::uint64_t unk1E0
Definition GFxMovieDataDef.h:162
GMemoryHeap * loadDataHeap
Definition GFxMovieDataDef.h:126
std::uint32_t pad134
Definition GFxMovieDataDef.h:151
GArrayLH< ExecuteTagList > movieFrames
Definition GFxMovieDataDef.h:157
std::uint64_t unkF8
Definition GFxMovieDataDef.h:143
std::uint32_t importedResourceCount
Definition GFxMovieDataDef.h:150
std::uint8_t padDD
Definition GFxMovieDataDef.h:137
std::uint64_t unk120
Definition GFxMovieDataDef.h:148
GFxImportNode * importInfoEnd
Definition GFxMovieDataDef.h:145
GMemoryHeap * imageHeap
Definition GFxMovieDataDef.h:127
std::uint64_t unk110
Definition GFxMovieDataDef.h:146
virtual void SetMovieTagArray(ExecuteTagList *a_data)
ResourceHash resources
Definition GFxMovieDataDef.h:153
std::uint16_t padDE
Definition GFxMovieDataDef.h:138
std::uint64_t unk128
Definition GFxMovieDataDef.h:149
std::uint32_t padC4
Definition GFxMovieDataDef.h:131
virtual void AddFrameName(GString *a_label, GFxLog *a_log)
virtual void SetImportTagArray(ExecuteTagList *a_data)
std::uint32_t fileAttributes
Definition GFxMovieDataDef.h:130
GFxImportNode * importInfoBegin
Definition GFxMovieDataDef.h:144
GLock resourceLock
Definition GFxMovieDataDef.h:152
std::int32_t importFrameCount
Definition GFxMovieDataDef.h:159
GArrayLH< ExecuteTagList > importFrames
Definition GFxMovieDataDef.h:158
std::uint32_t metadataSize
Definition GFxMovieDataDef.h:133
std::int32_t frameLoading
Definition GFxMovieDataDef.h:135
std::uint64_t unk170
Definition GFxMovieDataDef.h:155
Definition GFxMovieDataDef.h:89
GPtr< LoadTaskData > loadTaskData
Definition GFxMovieDataDef.h:191
GFxResourceReport * GetResourceReport() override
std::uint32_t GetFrameCount() override
void * unk30
Definition GFxMovieDataDef.h:188
~GFxMovieDataDef() override
std::uint32_t fileFormat
Definition GFxMovieDataDef.h:189
ExecuteTagList * GetMovieTagArray(ExecuteTagList &a_data, std::int32_t a_frameNumber) override
std::uint32_t GetResourceTypeCode() const override
GFxResourceKey * resourceKey
Definition GFxMovieDataDef.h:187
ExecuteTagList * GetImportTagArray(ExecuteTagList &a_data, std::int32_t a_frameNumber) override
bool GetLabeledFrame(const char *a_label, std::int32_t &a_frameNumber, bool a_arg3) override
virtual std::uint32_t GetSWFFlags()
std::uint32_t GetVersion() override
virtual void Unk_0E(void)
std::uint32_t pad3C
Definition GFxMovieDataDef.h:190
GFxResourceKey GetKey() override
Definition GFxResource.h:15
Definition GFxResourceKey.h:6
Definition GFxResourceReport.h:11
Definition GFxTimelineDef.h:10
Definition GAtomic.h:6
Definition GMemoryHeap.h:16
Definition GPtr.h:7
Definition GRefCountBase.h:12
Definition GStringHash.h:11
Definition GString.h:8
Definition AbsorbEffect.h:6
Definition GFxMovieDataDef.h:71
GString name
Definition GFxMovieDataDef.h:72
std::uint32_t importIndex
Definition GFxMovieDataDef.h:74
std::uint32_t id
Definition GFxMovieDataDef.h:73
Definition GFxMovieDataDef.h:69
GFxImportNode * nextInChain
Definition GFxMovieDataDef.h:82
std::uint32_t movieIndex
Definition GFxMovieDataDef.h:81
GString filename
Definition GFxMovieDataDef.h:79
GArray< ImportAssetInfo > assets
Definition GFxMovieDataDef.h:78
std::uint32_t frame
Definition GFxMovieDataDef.h:80
Definition GFxMovieDataDef.h:20
GRectF frameRect
Definition GFxMovieDataDef.h:23
void * unk58
Definition GFxMovieDataDef.h:36
std::uint64_t unk68
Definition GFxMovieDataDef.h:38
std::uint64_t unk28
Definition GFxMovieDataDef.h:28
std::uint32_t totalBytes
Definition GFxMovieDataDef.h:21
std::uint32_t unk24
Definition GFxMovieDataDef.h:27
std::uint32_t unk44
Definition GFxMovieDataDef.h:33
std::uint64_t unk38
Definition GFxMovieDataDef.h:30
std::uint16_t unk40
Definition GFxMovieDataDef.h:31
std::uint32_t version
Definition GFxMovieDataDef.h:22
std::uint64_t unk30
Definition GFxMovieDataDef.h:29
std::uint32_t frameCount
Definition GFxMovieDataDef.h:25
std::uint64_t unk60
Definition GFxMovieDataDef.h:37
std::uint32_t swfFlags
Definition GFxMovieDataDef.h:26
GString unk50
Definition GFxMovieDataDef.h:35
float frameRate
Definition GFxMovieDataDef.h:24
std::uint16_t pad42
Definition GFxMovieDataDef.h:32
GString unk48
Definition GFxMovieDataDef.h:34
Definition GFxMovieDataDef.h:51
std::uint32_t index
Definition GFxMovieDataDef.h:52
std::uint32_t unk04
Definition GFxMovieDataDef.h:53
Definition GFxMovieDataDef.h:43
SourceType
Definition GFxMovieDataDef.h:45
@ kImported
Definition GFxMovieDataDef.h:47
@ kNormal
Definition GFxMovieDataDef.h:46
SourceType type
Definition GFxMovieDataDef.h:62
ResourceUnion data
Definition GFxMovieDataDef.h:64
std::uint32_t pad04
Definition GFxMovieDataDef.h:63
Definition GFxTimelineDef.h:13
Definition GFxMovieDataDef.h:57
ImportSource importSource
Definition GFxMovieDataDef.h:59
GFxResource * resource
Definition GFxMovieDataDef.h:58