16 namespace GFxValueImpl
156 [[nodiscard]]
double GetX()
const;
157 [[nodiscard]]
double GetY()
const;
158 [[nodiscard]]
double GetZ()
const;
165 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);
168 void Set(
double a_x,
double a_y,
double a_rotation,
double a_xScale,
double a_yScale,
double a_alpha,
bool a_visible);
169 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);
239 bool HasMember(
void* a_data,
const char* a_name,
bool a_isDObj)
const;
260 bool SetText(
void* a_data,
const char* a_text,
bool a_isHTML);
262 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);
293 GFxValueImpl::is_integer_v<T>,
296 GFxValue(static_cast<double>(a_val))
314 GFxValueImpl::is_integer_v<T>,
318 return *
this =
static_cast<double>(a_val);
366 template <std::
size_t N>
367 inline bool Invoke(
const char* a_name,
const std::array<GFxValue, N>& a_args)
369 return Invoke(a_name,
nullptr, a_args);
372 template <std::
size_t N>
373 inline bool Invoke(
const char* a_name,
GFxValue* a_result,
const std::array<GFxValue, N>& a_args)
375 return Invoke(a_name, a_result, a_args.data(), a_args.size());
401 bool AttachMovie(
GFxValue* a_movieClip,
const char* a_symbolName,
const char* a_instanceName, std::int32_t a_depth = -1,
const GFxValue* a_initObj =
nullptr);
435 static_assert(
sizeof(
GFxValue) == 0x18);
Definition: GFxMovieRoot.h:20
Definition: GFxValue.h:122
double _fov
Definition: GFxValue.h:204
double _rotation
Definition: GFxValue.h:192
void SetFOV(double a_fov)
const GMatrix3D * GetViewMatrix3D() const
std::uint32_t _padD4
Definition: GFxValue.h:209
void SetAlpha(double a_alpha)
double _y
Definition: GFxValue.h:191
double _zScale
Definition: GFxValue.h:203
double _xScale
Definition: GFxValue.h:193
double GetYRotation() const
void SetXScale(double a_xScale)
DisplayInfo(double a_rotation)
GMatrix3D _viewMatrix3D
Definition: GFxValue.h:205
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:198
void SetZScale(double a_zScale)
bool _visible
Definition: GFxValue.h:196
void SetRotation(double a_degrees)
void SetViewMatrix3D(const GMatrix3D *a_mat)
double _alpha
Definition: GFxValue.h:195
double _z
Definition: GFxValue.h:200
void SetVisible(bool a_visible)
std::uint8_t _pad31
Definition: GFxValue.h:197
double GetRotation() const
bool IsFlagSet(Flag a_flag) const
DisplayInfo(bool a_visible)
const GMatrix3D * GetPerspectiveMatrix3D() const
Flag
Definition: GFxValue.h:126
void SetScale(double a_xScale, double a_yScale)
double _x
Definition: GFxValue.h:190
void SetXRotation(double a_degrees)
std::uint32_t _pad34
Definition: GFxValue.h:199
stl::enumeration< Flag, std::uint16_t > _flags
Definition: GFxValue.h:207
void SetYRotation(double a_degrees)
std::uint16_t _padD2
Definition: GFxValue.h:208
void ClearFlags(Flag a_flags)
double _yRotation
Definition: GFxValue.h:202
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:206
double _yScale
Definition: GFxValue.h:194
void SetPerspectiveMatrix3D(const GMatrix3D *a_mat)
double _xRotation
Definition: GFxValue.h:201
void Set(double a_x, double a_y, double a_rotation, double a_xScale, double a_yScale, double a_alpha, bool a_visible)
Definition: GFxValue.h:226
virtual void Visit(std::uint32_t a_idx, const GFxValue &a_val)=0
Definition: GFxValue.h:217
virtual void Visit(const char *a_name, const GFxValue &a_val)=0
Definition: GFxValue.h:214
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)
bool SetCxform(void *a_data, const GRenderer::Cxform &a_cx)
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 GetCxform(void *a_data, GRenderer::Cxform *a_cx) const
bool PushBack(void *a_data, const GFxValue &a_value)
bool SetDisplayMatrix(void *a_data, const GMatrix2D &a_mat)
bool HasMember(void *a_data, const char *a_name, bool a_isDObj) const
bool IsSameContext(const ObjectInterface *a_rhs) const
void VisitMembers(void *a_data, ObjVisitor *a_visitor, bool a_isDObj) const
GFxMovieRoot * _movieRoot
Definition: GFxValue.h:269
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 GetDisplayMatrix(void *a_data, GMatrix2D *a_mat) const
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:92
GFxValue & operator=(GFxValue &&a_rhs)
bool operator==(const GFxValue &a_rhs) const
bool SetMember(const char *a_name, const GFxValue &a_val)
GFxValue(const char *a_rhs)
GFxValue(std::wstring_view 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)
ValueType
Definition: GFxValue.h:98
ObjectInterface * _objectInterface
Definition: GFxValue.h:427
bool HasMember(const char *a_name) const
GFxValue & operator=(std::string_view a_rhs)
ValueUnion _value
Definition: GFxValue.h:433
GFxValue & operator=(T a_val)
Definition: GFxValue.h:316
std::function< void(const char *, const RE::GFxValue &)> ObjectVisitFn
Definition: GFxValue.h:276
void AcquireManagedValue(const GFxValue &a_rhs)
void VisitMembers(ObjectVisitFn &&a_visitor) const
bool GetCxform(GRenderer::Cxform *a_cx) const
bool Invoke(const char *a_name, const std::array< GFxValue, N > &a_args)
Definition: GFxValue.h:367
bool Invoke(const char *a_name, GFxValue *a_result=nullptr)
GFxValue & operator=(std::wstring_view a_rhs)
std::size_t GetUInt() const
bool IsDisplayObject() const
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)
bool DeleteMember(const char *a_name)
GFxValue(std::string_view a_rhs)
bool SetCxform(const GRenderer::Cxform &a_cx)
bool SetText(const char *a_text)
ValueType GetType() const
bool IsManagedValue() const
bool GetMember(const char *a_name, GFxValue *a_val) const
const wchar_t * GetStringW() 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)
GFxValue & operator=(std::nullptr_t)
bool SetElement(std::uint32_t a_idx, const GFxValue &a_val)
stl::enumeration< ValueType, std::uint32_t > _type
Definition: GFxValue.h:431
GFxValue & operator=(bool a_rhs)
bool GetDisplayMatrix(GMatrix2D *a_mat) const
bool Invoke(const char *a_name, GFxValue *a_result, const std::array< GFxValue, N > &a_args)
Definition: GFxValue.h:373
void SetNumber(double a_val)
void ReleaseManagedValue()
bool Invoke(const char *a_name, GFxValue *a_result, const GFxValue *a_args, UPInt a_numArgs)
GFxValue & operator=(const char *a_rhs)
std::uint32_t _pad0C
Definition: GFxValue.h:432
bool RemoveElement(std::uint32_t a_idx)
bool SetDisplayMatrix(const GMatrix2D &a_mat)
GFxValue(const wchar_t *a_rhs)
std::uint32_t GetArraySize() const
void ChangeType(ValueType a_type)
void SetBoolean(bool a_val)
GFxValue & operator=(double a_rhs)
GFxValue & operator=(const GFxValue &a_rhs)
GFxValue(T a_val)
Definition: GFxValue.h:295
std::ptrdiff_t GetSInt() const
void VisitMembers(ObjectVisitor *a_visitor) const
bool GotoAndStop(const char *a_frame)
void SetStringW(const wchar_t *a_str)
bool SetTextHTML(const char *a_html)
GFxValue & operator=(const wchar_t *a_rhs)
const char * GetString() const
Definition: GMatrix2D.h:6
Definition: GMatrix3D.h:6
Definition: GNewOverrideBase.h:9
constexpr bool is_integer_v
Definition: GFxValue.h:88
Definition: AbsorbEffect.h:6
std::size_t UPInt
Definition: SFTypes.h:5
Definition: GFxValue.h:21
Definition: GFxValue.h:85
@ kGStatGroup_Default
Definition: GStats.h:12
Definition: GFxValue.h:414
const char * string
Definition: GFxValue.h:421
double number
Definition: GFxValue.h:419
constexpr ValueUnion()
Definition: GFxValue.h:415
const char ** managedString
Definition: GFxValue.h:422
bool boolean
Definition: GFxValue.h:420
void * obj
Definition: GFxValue.h:425
const wchar_t * wideString
Definition: GFxValue.h:423
const wchar_t ** managedWideString
Definition: GFxValue.h:424