42 FLAG_ANM_EXISTS = (1 << 0),
43 FLAG_ANM_VTXPOS = (1 << 1),
44 FLAG_ANM_VTXNRM = (1 << 2),
45 FLAG_ANM_VTXCLR = (1 << 3),
48 static const int MAX_KEY_SHAPE = 32;
64 FLAG_ANM_EXISTS = (1 << 0),
65 FLAG_ANM_VTXPOS = (1 << 1),
66 FLAG_ANM_VTXNRM = (1 << 2),
67 FLAG_ANM_VTXCLR = (1 << 3),
75 s32 toAnmIdxToVtxIdxTable;
98 static const ulong SIGNATURE =
'SHP0';
99 static const int REVISION = 3;
104 ulong GetRevision()
const {
105 return ref().revision;
108 bool CheckRevision()
const {
109 return GetRevision() == REVISION;
112 void GetAnmResult(
ShpAnmResult* pResult, ulong idx, f32 frame,
117 ofs_to_obj<ResDic>(ref().toShpDataDic)[idx]);
121 ofs_to_obj<ResDic>(ref().toShpDataDic)[idx]);
124 ulong GetShapeAnmNumEntries()
const {
125 return ofs_to_obj<ResDic>(ref().toShpDataDic).GetNumData();
128 const s32* GetVtxNameArray()
const {
129 return ofs_to_ptr<s32>(ref().toVtxNameArray);
132 int GetNumFrame()
const {
133 return ref().info.numFrame;
136 int GetNumVtxNames()
const {
137 return ref().info.numVtxName;
140 AnmPolicy GetAnmPolicy()
const {
141 return ref().info.policy;