CommonLibSSE (Parapets fork)
Loading...
Searching...
No Matches
GFxValue.h
Go to the documentation of this file.
1#pragma once
2
4#include "RE/G/GMatrix3D.h"
5#include "RE/G/GMemory.h"
7#include "RE/G/GStats.h"
8#include "RE/G/GString.h"
9
10namespace RE
11{
12 class GFxMovieRoot;
13
14 namespace GFxValueImpl
15 {
16 template <class>
17 struct _is_integer :
18 std::false_type
19 {};
20
21 template <>
22 struct _is_integer<unsigned char> :
23 std::true_type
24 {};
25
26 template <>
27 struct _is_integer<char> :
28 std::true_type
29 {};
30
31 template <>
32 struct _is_integer<signed char> :
33 std::true_type
34 {};
35
36 template <>
37 struct _is_integer<unsigned short> :
38 std::true_type
39 {};
40
41 template <>
42 struct _is_integer<signed short> :
43 std::true_type
44 {};
45
46 template <>
47 struct _is_integer<unsigned int> :
48 std::true_type
49 {};
50
51 template <>
52 struct _is_integer<signed int> :
53 std::true_type
54 {};
55
56 template <>
57 struct _is_integer<unsigned long> :
58 std::true_type
59 {};
60
61 template <>
62 struct _is_integer<signed long> :
63 std::true_type
64 {};
65
66 template <>
67 struct _is_integer<unsigned long long> :
68 std::true_type
69 {};
70
71 template <>
72 struct _is_integer<signed long long> :
73 std::true_type
74 {};
75
76 template <class T>
77 struct is_integer :
78 std::conditional_t<
79 std::is_enum_v<T>,
80 std::true_type,
81 _is_integer<
82 std::remove_cv_t<T>>>
83 {};
84
85 template <class T>
86 inline constexpr bool is_integer_v = is_integer<T>::value;
87 }
88
90 {
91 private:
92 friend class GFxMovieRoot;
93
94 public:
95 enum class ValueType
96 {
97 kUndefined = 0x00,
98 kNull = 0x01,
99 kBoolean = 0x02,
100 kNumber = 0x03,
101 kString = 0x04,
102 kStringW = 0x05,
103 kObject = 0x06,
104 kArray = 0x07,
105 kDisplayObject = 0x08,
106
107 kManagedBit = 1 << 6,
108 kConvertBit = 1 << 7,
109 kValueMask = 0x0F,
111
116 };
117
118 // DisplayInfo is a structure to modify display properties of a display object (MovieClips, TextField, Button). This structure is used in conjunction with GetDisplayInfo/SetDisplayInfo.
120 {
121 public:
122 // Flags set to define the display properties of display objects.
123 enum class Flag
124 {
125 kNone = 0,
126 kX = 1 << 0,
127 kY = 1 << 1,
128 kRotation = 1 << 2,
129 kXScale = 1 << 3,
130 kYScale = 1 << 4,
131 kAlpha = 1 << 5,
132 kVisible = 1 << 6,
133 kZ = 1 << 7,
134 kXRotation = 1 << 8,
135 kYRotation = 1 << 9,
136 kZScale = 1 << 10,
137 kFOV = 1 << 11,
138 kPerspMatrix3D = 1 << 12,
139 kViewMatrix3D = 1 << 13
140 };
141
142 DisplayInfo() = default; // Initializes the DisplayInfo structure.
143 DisplayInfo(double a_x, double a_y); // Initializes the DisplayInfo structure.
144 DisplayInfo(double a_rotation); // Initializes the DisplayInfo structure.
145 DisplayInfo(bool a_visible); // Initializes the DisplayInfo structure.
146
147 void Clear(); // Clears all properties from the DisplayInfo object.
148 [[nodiscard]] double GetAlpha() const; // Retrieves the alpha transparency of the display object.
149 [[nodiscard]] double GetFOV() const; // Retrieves the perspective Field of View angle on the object.
150 [[nodiscard]] double GetRotation() const; // Retrieves the rotation of the display object.
151 [[nodiscard]] bool GetVisible() const; // Retrieves the Boolean value to indicate the visibility of the display object.
152 [[nodiscard]] const GMatrix3D* GetPerspectiveMatrix3D() const; // Returns a temporary pointer to the 3D perspective matrix set on a 3D movie clip.
153 [[nodiscard]] const GMatrix3D* GetViewMatrix3D() const; // Returns a temporary pointer to the 3D view matrix set on the 3D movie clip.
154 [[nodiscard]] double GetX() const; // Retrieves the x coordinate of the display object relative to the parent movie clip.
155 [[nodiscard]] double GetY() const; // Retrieves the y coordinate of the display object relative to the parent movie clip.
156 [[nodiscard]] double GetZ() const; // Retrieves the z coordinate of the display object relative to the parent movie clip.
157 [[nodiscard]] double GetXRotation() const; // Returns the rotation of the object around the X axis.
158 [[nodiscard]] double GetYRotation() const; // Returns the rotation of the object around the Y axis.
159 [[nodiscard]] double GetXScale() const; // Retrieves the horizontal scale of the display object.
160 [[nodiscard]] double GetYScale() const; // Retrieves the vertical scale of the display object.
161 [[nodiscard]] double GetZScale() const; // Retrieves the scale of the object along the Z axis.
162 [[nodiscard]] bool IsFlagSet(Flag a_flag) const; // Determines if a property of the DisplayInfo object is set
163 void Initialize(Flag a_varsSet, double a_x, double a_y, double a_rotation, double a_xScale, double a_yScale, double a_alpha, bool a_visible, double a_z, double a_xRotation, double a_yRotation, double a_zScale, double a_fov, const GMatrix3D* a_viewM, const GMatrix3D* a_perspM); // Initializes the display properties of a display object.
164 void SetVisible(bool a_visible); // Sets the visibility of the display object.
165 void SetPerspectiveMatrix3D(const GMatrix3D* a_mat); // Sets the erspective matrix for a 3D movie clip.
166 void Set(double a_x, double a_y, double a_rotation, double a_xScale, double a_yScale, double a_alpha, bool a_visible); // Sets the values in Flag structure indicating the display properties of objects on stage.
167 void Set(double a_x, double a_y, double a_rotation, double a_xScale, double a_yScale, double a_alpha, bool a_visible, double a_z, double a_xRotation, double a_yRotation, double a_zScale); // Sets the values in Flags structure indicating the display properties of objects on stage.
168 void SetViewMatrix3D(const GMatrix3D* a_mat); // Sets the view matrix for a 3D movie clip.
169 void SetAlpha(double a_alpha); // Sets the alpha transparency of the display object.
170 void SetFOV(double a_fov); // Sets the perspective Field of View angle in degrees.
171 void SetPosition(double a_x, double a_y); // Sets the coordinate position of the display object.
172 void SetRotation(double a_degrees); // Sets the rotation of the display object.
173 void SetScale(double a_xScale, double a_yScale); // Sets the scaling factor of the display object.
174 void SetX(double a_x); // Sets the x coordinate of the display object relative to the parent movie clip.
175 void SetXRotation(double a_degrees); // Sets the rotation of the object around the X axis.
176 void SetXScale(double a_xScale); // Sets the horizontal scale of the display object.
177 void SetY(double a_y); // Sets the y coordinate of the display object relative to the parent movie clip.
178 void SetYRotation(double a_degrees); // Sets the rotation of the object around the Y axis.
179 void SetYScale(double a_yScale); // Sets the vertical scale of the display object.
180 void SetZ(double a_z); // Sets the z coordinate of the display object relative to the parent movie clip.
181 void SetZScale(double a_zScale); // Sets the scale of the object along the Z axis
182
183 protected:
184 void SetFlags(Flag a_flags);
185 void ClearFlags(Flag a_flags);
186
187 // members
188 double _x = 0.0; // 00
189 double _y = 0.0; // 08
190 double _rotation = 0.0; // 10
191 double _xScale = 0.0; // 18
192 double _yScale = 0.0; // 20
193 double _alpha = 0.0; // 28
194 bool _visible = false; // 30
195 std::uint8_t _pad31 = 0; // 31
196 std::uint16_t _pad32 = 0; // 32
197 std::uint32_t _pad34 = 0; // 34
198 double _z = 0.0; // 38
199 double _xRotation = 0.0; // 40
200 double _yRotation = 0.0; // 48
201 double _zScale = 0.0; // 50
202 double _fov = 0.0; // 58
206 std::uint16_t _padD2 = 0; // E2
207 std::uint32_t _padD4 = 0; // E4
208 };
209 static_assert(sizeof(DisplayInfo) == 0xE8);
210
211 class ObjectInterface : public GNewOverrideBase<GFxStatMovieViews::kGFxStatMV_Other_Mem>
212 {
213 public:
215 {
216 public:
217 virtual ~ObjVisitor(); // 00
218
219 // add
220 virtual void Visit(const char* a_name, const GFxValue& a_val) = 0; // 01
221 };
222
224 {
225 public:
226 virtual ~ArrVisitor(); // 00
227
228 // add
229 virtual void Visit(std::uint32_t a_idx, const GFxValue& a_val) = 0; // 01
230 };
231
233
234 void ObjectAddRef(GFxValue* a_val, void* a_obj);
235 void ObjectRelease(GFxValue* a_val, void* a_obj);
236
237 bool HasMember(void* a_data, const char* a_name, bool a_isDObj) const;
238 bool GetMember(void* a_data, const char* a_name, GFxValue* a_val, bool a_isDObj) const;
239 bool SetMember(void* a_data, const char* a_name, const GFxValue& a_value, bool a_isDObj);
240 bool Invoke(void* a_data, GFxValue* a_result, const char* a_name, const GFxValue* a_args, UPInt a_numArgs, bool a_isDObj);
241 bool DeleteMember(void* a_data, const char* a_name, bool a_isDObj);
242
243 std::uint32_t GetArraySize(void* a_data) const;
244 bool SetArraySize(void* a_data, std::uint32_t a_size);
245 bool GetElement(void* a_data, std::uint32_t a_idx, GFxValue* a_val) const;
246 bool SetElement(void* a_data, std::uint32_t a_idx, const GFxValue& a_val);
247 bool PushBack(void* a_data, const GFxValue& a_value);
248 bool RemoveElements(void* a_data, std::uint32_t a_idx, std::int32_t a_count);
249
250 bool GetDisplayInfo(void* a_data, DisplayInfo* a_info) const;
251 bool SetDisplayInfo(void* a_data, const DisplayInfo& a_info);
252
253 bool SetText(void* a_data, const char* a_text, bool a_isHTML);
254
255 bool AttachMovie(void* a_data, GFxValue* a_movieClip, const char* a_symbolName, const char* a_instanceName, std::int32_t a_depth, const GFxValue* a_initObj);
256 bool GotoAndPlay(void* a_data, const char* a_frame, bool a_stop);
257
258 bool IsSameContext(const ObjectInterface* a_rhs) const;
259
260 protected:
261 // members
263 };
264 static_assert(sizeof(ObjectInterface) == 0x8);
265
268
271 GFxValue(std::nullptr_t);
272 GFxValue(double a_rhs);
273 GFxValue(bool a_rhs);
274 GFxValue(const char* a_rhs);
275 GFxValue(std::string_view a_rhs);
276 GFxValue(const wchar_t* a_rhs);
277 GFxValue(std::wstring_view a_rhs);
278 GFxValue(const GFxValue& a_rhs);
280
281 template <
282 class T,
283 std::enable_if_t<
284 GFxValueImpl::is_integer_v<T>,
285 int> = 0>
286 inline GFxValue(T a_val) :
287 GFxValue(static_cast<double>(a_val))
288 {}
289
291
292 GFxValue& operator=(std::nullptr_t);
293 GFxValue& operator=(double a_rhs);
294 GFxValue& operator=(bool a_rhs);
295 GFxValue& operator=(const char* a_rhs);
296 GFxValue& operator=(std::string_view a_rhs);
297 GFxValue& operator=(const wchar_t* a_rhs);
298 GFxValue& operator=(std::wstring_view a_rhs);
301
302 template <
303 class T,
304 std::enable_if_t<
305 GFxValueImpl::is_integer_v<T>,
306 int> = 0>
307 inline GFxValue& operator=(T a_val)
308 {
309 return *this = static_cast<double>(a_val);
310 }
311
312 bool operator==(const GFxValue& a_rhs) const;
313
314 [[nodiscard]] GString ToString() const;
315
316 [[nodiscard]] ValueType GetType() const;
317 [[nodiscard]] bool IsUndefined() const;
318 [[nodiscard]] bool IsNull() const;
319 [[nodiscard]] bool IsBool() const;
320 [[nodiscard]] bool IsNumber() const;
321 [[nodiscard]] bool IsString() const;
322 [[nodiscard]] bool IsStringW() const;
323 [[nodiscard]] bool IsObject() const;
324 [[nodiscard]] bool IsArray() const;
325 [[nodiscard]] bool IsDisplayObject() const;
326 [[nodiscard]] bool GetBool() const;
327 [[nodiscard]] double GetNumber() const;
328 [[nodiscard]] std::ptrdiff_t GetSInt() const;
329 [[nodiscard]] std::size_t GetUInt() const;
330 [[nodiscard]] const char* GetString() const;
331 [[nodiscard]] const wchar_t* GetStringW() const;
332
334 void SetNull();
335 void SetBoolean(bool a_val);
336 void SetNumber(double a_val);
337 void SetString(const char* a_str);
338 void SetString(std::string_view a_str);
339 void SetStringW(const wchar_t* a_str);
340 void SetStringW(std::wstring_view a_str);
341
346
347 // AS Object support. Valid for Object, Array and DisplayObject types
348 bool HasMember(const char* a_name) const;
349 bool GetMember(const char* a_name, GFxValue* a_val) const;
350 bool SetMember(const char* a_name, const GFxValue& a_val);
351 bool Invoke(const char* a_name, GFxValue* a_result, const GFxValue* a_args, UPInt a_numArgs);
352 bool Invoke(const char* a_name, GFxValue* a_result = nullptr);
353 bool DeleteMember(const char* a_name);
354
355 template <std::size_t N>
356 inline bool Invoke(const char* a_name, const std::array<GFxValue, N>& a_args)
357 {
358 return Invoke(a_name, nullptr, a_args);
359 }
360
361 template <std::size_t N>
362 inline bool Invoke(const char* a_name, GFxValue* a_result, const std::array<GFxValue, N>& a_args)
363 {
364 return Invoke(a_name, a_result, a_args.data(), a_args.size());
365 }
366
367 // AS Array support. Valid for Array type
368 [[nodiscard]] std::uint32_t GetArraySize() const;
369 bool SetArraySize(std::uint32_t a_size);
370 bool GetElement(std::uint32_t a_idx, GFxValue* a_val) const;
371 bool SetElement(std::uint32_t a_idx, const GFxValue& a_val);
372 bool PushBack(const GFxValue& a_val);
373 bool RemoveElements(std::uint32_t a_idx, std::int32_t a_count = -1);
374 bool RemoveElement(std::uint32_t a_idx);
376
377 // AS MovieClips, Buttons, TextFields support. Valid for DisplayObject type
378 bool GetDisplayInfo(DisplayInfo* a_info) const;
379 bool SetDisplayInfo(const DisplayInfo& a_info);
380
381 // AS TextField support. Valid for DisplayObject type.
382 bool SetText(const char* a_text);
383 bool SetTextHTML(const char* a_html);
384
385 // AS MovieClip support. Valid for MovieClips.
386 bool AttachMovie(GFxValue* a_movieClip, const char* a_symbolName, const char* a_instanceName, std::int32_t a_depth = -1, const GFxValue* a_initObj = nullptr);
387 bool GotoAndPlay(const char* a_frame);
388 bool GotoAndStop(const char* a_frame);
389
391
392 protected:
393 [[nodiscard]] bool IsManagedValue() const;
394 void AcquireManagedValue(const GFxValue& a_rhs);
396 void ChangeType(ValueType a_type);
397
399 {
400 constexpr ValueUnion() :
401 obj(nullptr)
402 {}
403
404 double number;
406 const char* string;
407 const char** managedString;
408 const wchar_t* wideString;
409 const wchar_t** managedWideString;
410 void* obj;
411 };
412 static_assert(sizeof(ValueUnion) == 0x8);
413
414 // members
417 std::uint32_t _pad0C; // 0C
419 };
420 static_assert(sizeof(GFxValue) == 0x18);
421}
Definition: GFxMovieRoot.h:10
Definition: GFxValue.h:120
double GetYScale() const
double _fov
Definition: GFxValue.h:202
void SetX(double a_x)
double _rotation
Definition: GFxValue.h:190
void SetFOV(double a_fov)
std::uint32_t _padD4
Definition: GFxValue.h:207
void SetAlpha(double a_alpha)
double _y
Definition: GFxValue.h:189
double _zScale
Definition: GFxValue.h:201
double _xScale
Definition: GFxValue.h:191
double GetYRotation() const
void SetXScale(double a_xScale)
DisplayInfo(double a_rotation)
void SetZ(double a_z)
GMatrix3D _viewMatrix3D
Definition: GFxValue.h:203
void Set(double a_x, double a_y, double a_rotation, double a_xScale, double a_yScale, double a_alpha, bool a_visible, double a_z, double a_xRotation, double a_yRotation, double a_zScale)
std::uint16_t _pad32
Definition: GFxValue.h:196
void SetZScale(double a_zScale)
const GMatrix3D * GetPerspectiveMatrix3D() const
bool _visible
Definition: GFxValue.h:194
void SetRotation(double a_degrees)
void SetViewMatrix3D(const GMatrix3D *a_mat)
double _alpha
Definition: GFxValue.h:193
double _z
Definition: GFxValue.h:198
void SetVisible(bool a_visible)
std::uint8_t _pad31
Definition: GFxValue.h:195
double GetRotation() const
bool IsFlagSet(Flag a_flag) const
DisplayInfo(bool a_visible)
Flag
Definition: GFxValue.h:124
const GMatrix3D * GetViewMatrix3D() const
void SetScale(double a_xScale, double a_yScale)
double _x
Definition: GFxValue.h:188
double GetXScale() const
void SetXRotation(double a_degrees)
std::uint32_t _pad34
Definition: GFxValue.h:197
double GetZScale() const
stl::enumeration< Flag, std::uint16_t > _flags
Definition: GFxValue.h:205
void SetYRotation(double a_degrees)
std::uint16_t _padD2
Definition: GFxValue.h:206
void ClearFlags(Flag a_flags)
double _yRotation
Definition: GFxValue.h:200
double GetXRotation() const
void SetPosition(double a_x, double a_y)
void SetFlags(Flag a_flags)
DisplayInfo(double a_x, double a_y)
void Initialize(Flag a_varsSet, double a_x, double a_y, double a_rotation, double a_xScale, double a_yScale, double a_alpha, bool a_visible, double a_z, double a_xRotation, double a_yRotation, double a_zScale, double a_fov, const GMatrix3D *a_viewM, const GMatrix3D *a_perspM)
void SetYScale(double a_yScale)
GMatrix3D _perspMatrix3D
Definition: GFxValue.h:204
double _yScale
Definition: GFxValue.h:192
void SetPerspectiveMatrix3D(const GMatrix3D *a_mat)
double _xRotation
Definition: GFxValue.h:199
void SetY(double a_y)
void Set(double a_x, double a_y, double a_rotation, double a_xScale, double a_yScale, double a_alpha, bool a_visible)
virtual void Visit(std::uint32_t a_idx, const GFxValue &a_val)=0
virtual void Visit(const char *a_name, const GFxValue &a_val)=0
Definition: GFxValue.h:212
bool SetMember(void *a_data, const char *a_name, const GFxValue &a_value, bool a_isDObj)
bool RemoveElements(void *a_data, std::uint32_t a_idx, std::int32_t a_count)
ObjectInterface(GFxMovieRoot *a_movieRoot)
bool GotoAndPlay(void *a_data, const char *a_frame, bool a_stop)
bool SetElement(void *a_data, std::uint32_t a_idx, const GFxValue &a_val)
bool PushBack(void *a_data, const GFxValue &a_value)
bool HasMember(void *a_data, const char *a_name, bool a_isDObj) const
bool IsSameContext(const ObjectInterface *a_rhs) const
GFxMovieRoot * _movieRoot
Definition: GFxValue.h:262
void ObjectRelease(GFxValue *a_val, void *a_obj)
bool Invoke(void *a_data, GFxValue *a_result, const char *a_name, const GFxValue *a_args, UPInt a_numArgs, bool a_isDObj)
void ObjectAddRef(GFxValue *a_val, void *a_obj)
std::uint32_t GetArraySize(void *a_data) const
bool SetArraySize(void *a_data, std::uint32_t a_size)
bool SetText(void *a_data, const char *a_text, bool a_isHTML)
bool SetDisplayInfo(void *a_data, const DisplayInfo &a_info)
bool AttachMovie(void *a_data, GFxValue *a_movieClip, const char *a_symbolName, const char *a_instanceName, std::int32_t a_depth, const GFxValue *a_initObj)
bool GetMember(void *a_data, const char *a_name, GFxValue *a_val, bool a_isDObj) const
bool GetElement(void *a_data, std::uint32_t a_idx, GFxValue *a_val) const
bool GetDisplayInfo(void *a_data, DisplayInfo *a_info) const
bool DeleteMember(void *a_data, const char *a_name, bool a_isDObj)
Definition: GFxValue.h:90
void SetConvertNumber()
void SetNull()
GString ToString() const
bool operator==(const GFxValue &a_rhs) const
bool SetMember(const char *a_name, const GFxValue &a_val)
GFxValue(const char *a_rhs)
bool IsString() const
GFxValue(std::wstring_view a_rhs)
GFxValue & operator=(const GFxValue &a_rhs)
GFxValue & operator=(const char *a_rhs)
GFxValue(ValueType a_rhs)
void SetString(std::string_view a_str)
bool RemoveElements(std::uint32_t a_idx, std::int32_t a_count=-1)
bool AttachMovie(GFxValue *a_movieClip, const char *a_symbolName, const char *a_instanceName, std::int32_t a_depth=-1, const GFxValue *a_initObj=nullptr)
void SetConvertBoolean()
GFxValue(double a_rhs)
GFxValue & operator=(bool a_rhs)
ValueType
Definition: GFxValue.h:96
ObjectInterface * _objectInterface
Definition: GFxValue.h:415
bool ClearElements()
bool HasMember(const char *a_name) const
bool IsArray() const
ValueUnion _value
Definition: GFxValue.h:418
GFxValue & operator=(std::string_view a_rhs)
void AcquireManagedValue(const GFxValue &a_rhs)
GFxValue & operator=(std::nullptr_t)
bool IsNumber() const
bool Invoke(const char *a_name, const std::array< GFxValue, N > &a_args)
Definition: GFxValue.h:356
bool Invoke(const char *a_name, GFxValue *a_result=nullptr)
std::size_t GetUInt() const
bool GetBool() const
bool IsDisplayObject() const
GFxValue & operator=(GFxValue &&a_rhs)
bool SetArraySize(std::uint32_t a_size)
GFxValue(const GFxValue &a_rhs)
bool GetElement(std::uint32_t a_idx, GFxValue *a_val) const
bool GotoAndPlay(const char *a_frame)
bool PushBack(const GFxValue &a_val)
void SetString(const char *a_str)
GFxValue & operator=(double a_rhs)
bool DeleteMember(const char *a_name)
GFxValue(std::string_view a_rhs)
double GetNumber() const
bool SetText(const char *a_text)
ValueType GetType() const
bool IsManagedValue() const
bool IsUndefined() const
GFxValue & operator=(T a_val)
Definition: GFxValue.h:307
bool GetMember(const char *a_name, GFxValue *a_val) const
bool GetDisplayInfo(DisplayInfo *a_info) const
GFC_MEMORY_REDEFINE_NEW(GFxValue, GStatGroups::kGStatGroup_Default)
void SetStringW(std::wstring_view a_str)
GFxValue(GFxValue &&a_rhs)
bool SetDisplayInfo(const DisplayInfo &a_info)
bool SetElement(std::uint32_t a_idx, const GFxValue &a_val)
stl::enumeration< ValueType, std::uint32_t > _type
Definition: GFxValue.h:416
bool Invoke(const char *a_name, GFxValue *a_result, const std::array< GFxValue, N > &a_args)
Definition: GFxValue.h:362
void SetNumber(double a_val)
void ReleaseManagedValue()
bool Invoke(const char *a_name, GFxValue *a_result, const GFxValue *a_args, UPInt a_numArgs)
GFxValue(bool a_rhs)
std::uint32_t _pad0C
Definition: GFxValue.h:417
GFxValue(std::nullptr_t)
bool RemoveElement(std::uint32_t a_idx)
void SetUndefined()
GFxValue(const wchar_t *a_rhs)
std::uint32_t GetArraySize() const
void ChangeType(ValueType a_type)
bool IsNull() const
bool IsBool() const
const wchar_t * GetStringW() const
void SetBoolean(bool a_val)
const char * GetString() const
GFxValue & operator=(const wchar_t *a_rhs)
GFxValue(T a_val)
Definition: GFxValue.h:286
void SetConvertStringW()
bool IsObject() const
std::ptrdiff_t GetSInt() const
bool GotoAndStop(const char *a_frame)
void SetStringW(const wchar_t *a_str)
bool SetTextHTML(const char *a_html)
GFxValue & operator=(std::wstring_view a_rhs)
bool IsStringW() const
void SetConvertString()
Definition: GMatrix3D.h:6
Definition: GNewOverrideBase.h:9
Definition: GString.h:8
Definition: PCH.h:216
constexpr bool is_integer_v
Definition: GFxValue.h:86
Definition: AbsorbEffect.h:6
std::size_t UPInt
Definition: SFTypes.h:5
Definition: GFxValue.h:19
Definition: GFxValue.h:83
@ kGStatGroup_Default
Definition: GStats.h:12
Definition: GFxValue.h:399
const char * string
Definition: GFxValue.h:406
double number
Definition: GFxValue.h:404
constexpr ValueUnion()
Definition: GFxValue.h:400
const char ** managedString
Definition: GFxValue.h:407
bool boolean
Definition: GFxValue.h:405
void * obj
Definition: GFxValue.h:410
const wchar_t * wideString
Definition: GFxValue.h:408
const wchar_t ** managedWideString
Definition: GFxValue.h:409