NW4F G3d
Loading...
Searching...
No Matches
g3d_ResTexPatternAnim.h
Go to the documentation of this file.
1#ifndef NW_G3D_RES_RESTEXPATTERNANIM_H_
2#define NW_G3D_RES_RESTEXPATTERNANIM_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
13class BindCallback;
14class ResFile;
15
29
31{
33
34public:
43
44 void PreBind(const ResMaterial* target);
45
46 void Init(u16* pResult) const;
47
48 void Eval(u16* pResult, float frame, const s8* pSubBindIndex) const;
49
50 void Eval(u16* pResult, float frame, const s8* pSubBindIndex,
51 AnimFrameCache* pFrameCache) const;
52
54 NW_G3D_RES_FIELD_CLASS_ARRAY_DECL(ResAnimCurve, Curve)
55
56 int GetPatAnimCount() const { return ref().numPatAnim; }
57};
58
81
83{
85
86public:
87 enum Signature { SIGNATURE = NW_G3D_MAKE_U8X4_AS_U32('F', 'T', 'X', 'P') };
88
94
95 BindResult Bind(const ResFile* pFile);
96
97 BindResult Bind(const ResFile* pFile, BindCallback* pCallback);
98
99 bool ForceBind(const ResTexture* pTexture, const char* name);
100
101 void Release();
102
104
105 bool BakeCurve(void* pBuffer, size_t bufferSize);
106
107 void* ResetCurve();
108
109 void Reset();
110
111 bool IsLooped() const { return 0 != (ref().flag & PLAYPOLICY_LOOP); }
112
113 bool IsCurveBaked() const { return 0 != (ref().flag & CURVE_BAKED); }
114
115 int GetFrameCount() const { return ref().numFrame; }
116
117 int GetPatAnimCount() const { return ref().numPatAnim; }
118
119 int GetCurveCount() const { return ref().numCurve; }
120
121 size_t GetBakedSize() const { return ref().bakedSize; }
122
125 NW_G3D_RES_FIELD_CLASS_DECL(ResModel, BindModel)
126 NW_G3D_RES_FIELD_CLASS_ARRAY_DECL(ResTexPatternMatAnim, MatAnim)
127 NW_G3D_RES_FIELD_CLASS_ARRAY_DECL(ResTextureRef, TextureRef)
128
129 NW_G3D_RES_FIELD_DIC_DECL(ResUserData, UserData)
130};
131
132} } } // namespace nw::g3d::res
133
134#endif // NW_G3D_RES_RESTEXPATTERNANIM_H_
Definition g3d_ResCommon.h:93
Definition g3d_ResFile.h:131
Definition g3d_Binding.h:16
Definition g3d_ResCommon.h:62
Definition g3d_ResFile.h:62
Definition g3d_ResMaterial.h:375
Definition g3d_ResModel.h:38
Definition g3d_ResTexPatternAnim.h:83
bool IsCurveBaked() const
Definition g3d_ResTexPatternAnim.h:113
size_t GetBakedSize() const
Definition g3d_ResTexPatternAnim.h:121
int GetCurveCount() const
Definition g3d_ResTexPatternAnim.h:119
int GetPatAnimCount() const
Definition g3d_ResTexPatternAnim.h:117
BindResult Bind(const ResFile *pFile, BindCallback *pCallback)
int GetFrameCount() const
Definition g3d_ResTexPatternAnim.h:115
BindResult Bind(const ResFile *pFile)
Definition g3d_ResTexPatternAnim.cpp:55
bool IsLooped() const
Definition g3d_ResTexPatternAnim.h:111
BindResult PreBind(const ResModel *pModel)
bool ForceBind(const ResTexture *pTexture, const char *name)
Definition g3d_ResTexPatternAnim.cpp:73
Signature
Definition g3d_ResTexPatternAnim.h:87
@ SIGNATURE
Definition g3d_ResTexPatternAnim.h:87
bool BakeCurve(void *pBuffer, size_t bufferSize)
Flag
Definition g3d_ResTexPatternAnim.h:90
@ PLAYPOLICY_LOOP
Definition g3d_ResTexPatternAnim.h:92
@ CURVE_BAKED
Definition g3d_ResTexPatternAnim.h:91
Definition g3d_ResTexPatternAnim.h:31
void Init(u16 *pResult) const
Definition g3d_ResTexPatternAnim.cpp:46
void PreBind(const ResMaterial *target)
void Eval(u16 *pResult, float frame, const s8 *pSubBindIndex) const
Definition g3d_ResTexPatternAnim.cpp:7
void Eval(u16 *pResult, float frame, const s8 *pSubBindIndex, AnimFrameCache *pFrameCache) const
Definition g3d_ResTexPatternAnim.cpp:26
int GetPatAnimCount() const
Definition g3d_ResTexPatternAnim.h:56
Definition g3d_ResTexture.h:32
#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_ResAnimCurve.h:25
Definition g3d_ResCommon.h:179
Definition g3d_ResTexPatternAnim.h:60
Offset ofsMatAnimArray
Definition g3d_ResTexPatternAnim.h:77
s32 numPatAnim
Definition g3d_ResTexPatternAnim.h:69
u16 numTextureRef
Definition g3d_ResTexPatternAnim.h:67
bit16 flag
Definition g3d_ResTexPatternAnim.h:65
u16 numUserData
Definition g3d_ResTexPatternAnim.h:72
u32 bakedSize
Definition g3d_ResTexPatternAnim.h:71
BinString ofsPath
Definition g3d_ResTexPatternAnim.h:63
u16 reserved
Definition g3d_ResTexPatternAnim.h:73
BinString ofsName
Definition g3d_ResTexPatternAnim.h:62
Offset ofsUserDataDic
Definition g3d_ResTexPatternAnim.h:79
Offset ofsBindModel
Definition g3d_ResTexPatternAnim.h:75
Offset ofsBindIndexArray
Definition g3d_ResTexPatternAnim.h:76
s32 numCurve
Definition g3d_ResTexPatternAnim.h:70
s16 numFrame
Definition g3d_ResTexPatternAnim.h:66
u16 numMatAnim
Definition g3d_ResTexPatternAnim.h:68
BinaryBlockHeader blockHeader
Definition g3d_ResTexPatternAnim.h:61
Offset ofsTextureRefArray
Definition g3d_ResTexPatternAnim.h:78
Definition g3d_ResTexPatternAnim.h:17
s32 beginPatAnim
Definition g3d_ResTexPatternAnim.h:21
Offset ofsPatAnimInfoArray
Definition g3d_ResTexPatternAnim.h:25
Offset ofsBaseValueArray
Definition g3d_ResTexPatternAnim.h:27
BinString ofsName
Definition g3d_ResTexPatternAnim.h:23
u16 numCurve
Definition g3d_ResTexPatternAnim.h:19
u16 numPatAnim
Definition g3d_ResTexPatternAnim.h:18
s32 beginCurve
Definition g3d_ResTexPatternAnim.h:20
Offset ofsCurveArray
Definition g3d_ResTexPatternAnim.h:26
Definition g3d_ResTexPatternAnim.h:36
s8 subbindIndex
Definition g3d_ResTexPatternAnim.h:38
s8 curveIndex
Definition g3d_ResTexPatternAnim.h:37
BinString ofsName
Definition g3d_ResTexPatternAnim.h:41
u16 reserved
Definition g3d_ResTexPatternAnim.h:39