NW4F G3d
Loading...
Searching...
No Matches
g3d_ResVisibilityAnim.h
Go to the documentation of this file.
1#ifndef NW_G3D_RES_RESVISIBILITYANIM_H_
2#define NW_G3D_RES_RESVISIBILITYANIM_H_
3
4#include <nw/g3d/g3d_config.h>
5#include <nw/g3d/res/g3d_ResCommon.h>
6#include <nw/g3d/res/g3d_ResDictionary.h>
7#include <nw/g3d/res/g3d_ResAnimCurve.h>
8#include <nw/g3d/res/g3d_ResModel.h>
9#include <nw/g3d/res/g3d_Binding.h>
10
11namespace nw { namespace g3d { namespace res {
12
34
36{
38
39public:
40 enum Signature { SIGNATURE = NW_G3D_MAKE_U8X4_AS_U32('F', 'V', 'I', 'S') };
41
52
53 BindResult PreBind(const ResModel* pModel);
54
55 bool BakeCurve(void* pBuffer, size_t bufferSize);
56
57 void* ResetCurve();
58
59 void Reset();
60
61 int GetVisibilityType() const { return ref().flag & TYPE_MASK; }
62
63 bool IsLooped() const { return 0 != (ref().flag & PLAYPOLICY_LOOP); }
64
65 bool IsCurveBaked() const { return 0 != (ref().flag & CURVE_BAKED); }
66
67 int GetAnimCount() const { return ref().numAnim; }
68
69 int GetFrameCount() const { return ref().numFrame; }
70
71 size_t GetBakedSize() const { return ref().bakedSize; }
72
75 NW_G3D_RES_FIELD_CLASS_DECL(ResModel, BindModel)
76 NW_G3D_RES_FIELD_CLASS_ARRAY_DECL(ResAnimCurve, Curve)
77
78 NW_G3D_RES_FIELD_DIC_DECL(ResUserData, UserData)
79};
80
81} } } // namespace nw::g3d::res
82
83#endif // NW_G3D_RES_RESVISIBILITYANIM_H_
Definition g3d_ResCommon.h:93
Definition g3d_Binding.h:16
Definition g3d_ResCommon.h:62
Definition g3d_ResModel.h:38
Definition g3d_ResVisibilityAnim.h:36
int GetAnimCount() const
Definition g3d_ResVisibilityAnim.h:67
int GetVisibilityType() const
Definition g3d_ResVisibilityAnim.h:61
bool IsLooped() const
Definition g3d_ResVisibilityAnim.h:63
bool BakeCurve(void *pBuffer, size_t bufferSize)
size_t GetBakedSize() const
Definition g3d_ResVisibilityAnim.h:71
Flag
Definition g3d_ResVisibilityAnim.h:43
@ TYPE_SHIFT
Definition g3d_ResVisibilityAnim.h:47
@ PLAYPOLICY_LOOP
Definition g3d_ResVisibilityAnim.h:45
@ CURVE_BAKED
Definition g3d_ResVisibilityAnim.h:44
@ TYPE_MASK
Definition g3d_ResVisibilityAnim.h:50
@ BONE_VISIBILITY
Definition g3d_ResVisibilityAnim.h:48
@ MAT_VISIBILITY
Definition g3d_ResVisibilityAnim.h:49
Signature
Definition g3d_ResVisibilityAnim.h:40
@ SIGNATURE
Definition g3d_ResVisibilityAnim.h:40
int GetFrameCount() const
Definition g3d_ResVisibilityAnim.h:69
BindResult PreBind(const ResModel *pModel)
bool IsCurveBaked() const
Definition g3d_ResVisibilityAnim.h:65
#define NW_G3D_RES_COMMON(class_name)
Definition g3d_ResCommon.h:30
#define NW_G3D_RES_FIELD_CLASS_ARRAY_DECL(type, name)
Definition g3d_ResDefs.h:92
#define NW_G3D_RES_FIELD_CLASS_DECL(type, name)
Definition g3d_ResDefs.h:124
#define NW_G3D_RES_FIELD_STRING_DECL(name)
Definition g3d_ResDefs.h:137
#define NW_G3D_RES_FIELD_DIC_DECL(type, name)
Definition g3d_ResDefs.h:51
u16 bit16
Definition g3d_defs.h:130
#define NW_G3D_MAKE_U8X4_AS_U32(a, b, c, d)
Definition g3d_defs.h:90
Definition g3d_defs.h:122
Definition g3d_GfxManage.cpp:10
Definition g3d_ResAnimCurve.h:13
@ PLAYPOLICY_LOOP
Definition g3d_ResAnimCurve.h:18
@ CURVE_BAKED
Definition g3d_ResAnimCurve.h:16
Definition g3d_ResCommon.h:179
Definition g3d_ResVisibilityAnim.h:14
u16 numAnim
Definition g3d_ResVisibilityAnim.h:21
Offset ofsNameArray
Definition g3d_ResVisibilityAnim.h:29
bit16 flag
Definition g3d_ResVisibilityAnim.h:19
BinaryBlockHeader blockHeader
Definition g3d_ResVisibilityAnim.h:15
Offset ofsBindIndexArray
Definition g3d_ResVisibilityAnim.h:28
u16 numCurve
Definition g3d_ResVisibilityAnim.h:22
s16 numFrame
Definition g3d_ResVisibilityAnim.h:20
Offset ofsCurveArray
Definition g3d_ResVisibilityAnim.h:30
u16 reserved
Definition g3d_ResVisibilityAnim.h:25
Offset ofsUserDataDic
Definition g3d_ResVisibilityAnim.h:32
u32 bakedSize
Definition g3d_ResVisibilityAnim.h:23
BinString ofsName
Definition g3d_ResVisibilityAnim.h:16
u16 numUserData
Definition g3d_ResVisibilityAnim.h:24
Offset ofsBaseValueArray
Definition g3d_ResVisibilityAnim.h:31
Offset ofsBindModel
Definition g3d_ResVisibilityAnim.h:27
BinString ofsPath
Definition g3d_ResVisibilityAnim.h:17