CommonLibSSE (Parapets fork)
Loading...
Searching...
No Matches
GFxMovieRoot.h
Go to the documentation of this file.
1#pragma once
2
3#include "RE/G/GColor.h"
5#include "RE/G/GFxMovieView.h"
6
7namespace RE
8{
10 {
11 enum class Flag
12 {
13 kNone = 0,
14 kDirty = 1 << 10,
15 kMovieFocused = 1 << 18,
16 kPaused = 1 << 20
17 };
18
19 ~GFxMovieRoot() override; // 00
20
21 // override (GFxMovieView)
22 GFxMovieDef* GetMovieDef() const override; // 01 - Obtains the movie definition that created this instance.
23 std::uint32_t GetCurrentFrame() const override; // 02 - Obtains the currently active frame of the movie, starting with 0.
24 bool HasLooped() const override; // 03 - Determines whether the movie clip has looped past its last frame.
25 void GotoFrame(std::uint32_t a_frameNumber) override; // 04 - Moves a playhead to a specified frame.
26 bool GotoLabeledFrame(const char* a_label, std::int32_t a_offset = 0) override; // 05 - Moves a playhead to a specified frame identified by a label.
27 void SetPlayState(PlayState a_state) override; // 06 - Changes playback state of the movie, allowing animation to be paused and resumed.
28 PlayState GetPlayState() const override; // 07 - Obtains the play state of the movie clip, currently either Playing or Stopped.
29 void SetVisible(bool a_visible) override; // 08 - Sets the visibility state of a movie clip.
30 bool GetVisible() const override; // 09 - Obtains the visibility state of a movie clip.
31 bool IsAvailable(const char* a_pathToVar) const override; // 0A - Checks for availability of a field, method, or nested clip.
32 void CreateString(GFxValue* a_value, const char* a_string) override; // 0B - Creates strings that are managed by ActionScript runtime.
33 void CreateStringW(GFxValue* a_value, const wchar_t* a_string) override; // 0C - Creates wide character strings that are managed by ActionScript runtime.
34 void CreateObject(GFxValue* a_value, const char* a_className = 0, const GFxValue* a_args = 0, std::uint32_t a_numArgs = 0) override; // 0D - Creates an instance of ActionScript Object.
35 void CreateArray(GFxValue* a_value) override; // 0E - Creates an instance of an ActionScript Array object.
36 void CreateFunction(GFxValue* a_value, GFxFunctionHandler* a_fc, void* a_userData = 0) override; // 0F - Creates a function object that wraps a C++ function.
37 bool SetVariable(const char* a_pathToVar, const GFxValue& a_value, SetVarType a_setType = SetVarType::kSticky) override; // 10 - Sets a variable identified by a path to a new value, specified in UTF-8 encoding.
38 bool GetVariable(GFxValue* a_val, const char* a_pathToVar) const override; // 11 - Obtains the value of an ActionScript variable based on its path.
39 bool SetVariableArray(SetArrayType a_type, const char* a_pathToVar, std::uint32_t a_index, const void* a_data, std::uint32_t a_count, SetVarType a_setType = SetVarType::kSticky) const override; // 12 - Sets array elements in specified range to data items of specified type.
40 bool SetVariableArraySize(const char* a_pathToVar, std::uint32_t a_count, SetVarType a_setType = SetVarType::kSticky) override; // 13 - Sets the size of the array.
41 std::uint32_t GetVariableArraySize(const char* a_pathToVar) override; // 14 - Returns the size of array buffer necessary for GetVariableArray.
42 bool GetVariableArray(SetArrayType a_type, const char* a_pathToVar, std::uint32_t a_index, void* a_data, std::uint32_t a_count) override; // 15 - Populates a buffer with results from an ActionScript array.
43 bool Invoke(const char* a_methodName, GFxValue* a_result, const GFxValue* a_args, std::uint32_t a_numArgs) override; // 16 - Calls an ActionScript method on the movie clip.
44 bool InvokeFmt(const char* a_methodName, GFxValue* a_result, const char* a_argFmt, ...) override; // 17 - Calls an ActionScript method on the movie clip.
45 bool InvokeArgs(const char* a_methodName, GFxValue* a_result, const char* a_argFmt, std::va_list a_args) override; // 18 - Invokes an ActionScript method on the movie clip using a format string followed by a variable argument list.
46 void SetViewport(const GViewport& a_viewDesc) override; // 19 - Sets the render-target surface viewport to which the movie is scaled.
47 void GetViewport(GViewport* a_viewDesc) const override; // 1A - Obtains the render-target surface viewport to which the movie is scaled.
48 void SetViewScaleMode(ScaleModeType a_type) override; // 1B - Sets the current scale mode for the movie.
49 ScaleModeType GetViewScaleMode() const override; // 1C - Obtains the current scale mode for the movie.
50 void SetViewAlignment(AlignType a_type) override; // 1D - Sets the current alignment mode for the movie.
51 AlignType GetViewAlignment() const override; // 1E - Gets the current alignment mode for the movie.
52 GRectF GetVisibleFrameRect() const override; // 1F - Obtains the currently visible rectangle.
53 void SetPerspective3D(const GMatrix3D& a_projMatIn) override; // 20
54 void SetView3D(const GMatrix3D& a_viewMatIn) override; // 21
55 GRectF GetSafeRect() const override; // 22
56 void SetSafeRect(const GRectF& a_rect) override; // 23
57 void Restart() override; // 24
58 float Advance(float a_deltaT, std::uint32_t a_frameCatchUpCount = 2) override; // 25
59 void Display() override; // 26
60 void DisplayPrePass() override; // 27
61 void SetPause(bool a_pause) override; // 28
62 bool IsPaused() const override; // 29
63 void SetBackgroundColor(const GColor a_bgColor) override; // 2A
64 void SetBackgroundAlpha(float a_alpha) override; // 2B
65 float GetBackgroundAlpha() const override; // 2C
66 HEResult HandleEvent(const GFxEvent& a_event) override; // 2D
67 void GetMouseState(std::uint32_t a_mouseIndex, float* a_x, float* a_y, std::uint32_t* a_buttons) override; // 2E
68 void NotifyMouseState(float a_x, float a_y, std::uint32_t a_buttons, std::uint32_t a_mouseIndex = 0) override; // 2F
69 bool HitTest(float a_x, float a_y, HitTestType a_testCond = HitTestType::kShapes, std::uint32_t a_controllerIdx = 0) override; // 30
70 bool HitTest3D(GPoint3F* a_ptOut, float a_x, float a_y, std::uint32_t a_controllerIdx = 0) override; // 31
71 void SetExternalInterfaceRetVal(const GFxValue& a_val) override; // 32
72 void* GetUserData() const override; // 33
73 void SetUserData(void* a_data) override; // 34
74 bool AttachDisplayCallback(const char* a_pathToObject, void (*a_callback)(void* a_user), void* a_user) override; // 35
75 bool IsMovieFocused() const override; // 36
76 bool GetDirtyFlag(bool a_doReset = true) override; // 37
77 void SetMouseCursorCount(std::uint32_t a_count) override; // 38
78 std::uint32_t GetMouseCursorCount() const override; // 39
79 void SetControllerCount(std::uint32_t a_count) override; // 3A
80 std::uint32_t GetControllerCount() const override; // 3B
81 void GetStats(GStatBag* a_bag, bool a_reset = true) override; // 3C
82 GMemoryHeap* GetHeap() const override; // 3D
83 void ForceCollectGarbage() override; // 3E
84 GPointF TranslateToScreen(const GPointF& a_p, void* a_userMatrix) override; // 3F
85 GRectF TranslateToScreen(const GRectF& a_p, void* a_userMatrix) override; // 40
86 bool TranslateLocalToScreen(const char* a_pathToCharacter, const GPointF& a_pt, GPointF* a_presPt, void* a_userMatrix) override; // 41
87 bool SetControllerFocusGroup(std::uint32_t a_controllerIdx, std::uint32_t a_focusGroupIndex) override; // 42
88 std::uint32_t GetControllerFocusGroup(std::uint32_t a_controllerIdx) const override; // 43
89 GFxMovieDef::MemoryContext* GetMemoryContext() const override; // 44
90 void Release() override; // 45
91
92 // add
93 virtual void Unk_46(void); // 46
94 virtual void Unk_47(void); // 47
95 virtual void Unk_48(void); // 48
96
97 // members
98 std::uint64_t unk0018; // 0018
99 std::uint64_t unk0020; // 0020
100 void* refCountCollector; // 0028
101 std::uint64_t unk0030; // 0030
102 GMemoryHeap* heap; // 0038
103 std::uint64_t unk0040; // 0040
104 std::uint64_t unk0048; // 0048
105 std::uint64_t unk0050; // 0050
106 void* unk0058; // 0058
107 GFxMovieDef* movieDef; // 0060
108 std::uint64_t unk0068; // 0068
109 std::uint64_t unk0070; // 0070
110 GViewport unk0078; // 0078
111 std::uint64_t unk00B0; // 00B0
112 std::uint64_t unk00B8; // 00B8
113 ScaleModeType viewScaleMode; // 00C0
114 AlignType viewAlignment; // 00C4
115 GRectF visibleFrameRect; // 00C8
116 std::uint64_t unk00D8; // 00D8
117 GRectF safeRect; // 00E0
118 std::uint64_t unk00F0; // 00F0
119 std::uint64_t unk00F8; // 00F8
120 GMatrix3D* perspective3D; // 0100
121 std::uint64_t unk0108; // 0108
122 std::uint64_t unk0110; // 0110
123 std::uint64_t unk0118[(0x09A0 - 0x0118) >> 3]; // 0118
124 GColor backgroundColor; // 09A0
125 std::uint32_t unk09A4; // 09A4
126 std::uint64_t unk09A8[(0x0A68 - 0x09A8) >> 3]; // 09A8
127 std::uint32_t mouseCursorCount; // 0A68
128 std::uint32_t controllerCount; // 0A6C
129 void* userData; // 0A70
130 std::uint64_t unk0A78; // 0A78
131 GFxKeyboardState keyboardState; // 0A80
132 std::uint64_t unk1108[(0x25E0 - 0x1108) >> 3]; // 1108
134 std::uint32_t unk25E4; // 25E4
135 std::uint64_t unk25E8[(0x2B48 - 0x25E8) >> 3]; // 25E8
136 std::uint32_t focusGroup; // 2B48
137 std::uint8_t controllerGroups[16]; // 2B4C
138 std::uint32_t unk2B54; // 2B54
139 std::uint64_t unk2B58[(0x2BE8 - 0x2B58) >> 3]; // 2B58
140 };
141 static_assert(sizeof(GFxMovieRoot) == 0x2BF0);
142}
Definition: GColor.h:6
Definition: GFxEvent.h:9
Definition: GFxFunctionHandler.h:12
Definition: GFxKeyboardState.h:14
Definition: GFxMovieDef.h:60
Definition: GFxMovieDef.h:19
SetArrayType
Definition: GFxMovie.h:32
SetVarType
Definition: GFxMovie.h:24
PlayState
Definition: GFxMovie.h:17
Definition: GFxMovieRoot.h:10
Definition: GFxMovieView.h:24
AlignType
Definition: GFxMovieView.h:39
HitTestType
Definition: GFxMovieView.h:60
HEResult
Definition: GFxMovieView.h:52
ScaleModeType
Definition: GFxMovieView.h:30
Definition: GFxValue.h:90
Definition: GMatrix3D.h:6
Definition: GMemoryHeap.h:16
Definition: GViewport.h:6
Definition: PCH.h:216
Definition: AbsorbEffect.h:6