pikmin2/include/SysShape/AnimInfo.h

69 lines
1.2 KiB
C
Raw Normal View History

2021-10-14 05:59:40 +01:00
#ifndef _SYSSHAPE_ANIMINFO_H
#define _SYSSHAPE_ANIMINFO_H
2021-12-15 17:49:05 -05:00
#include "SysShape/KeyEvent.h"
struct J3DAnmBase;
2022-10-20 01:09:37 +01:00
struct J3DAnmTransform;
2021-12-15 17:49:05 -05:00
struct J3DMtxCalc;
struct J3DModelData;
2021-12-15 17:49:05 -05:00
struct JAIAnimeFrameSoundData;
struct Stream;
2021-12-15 17:49:05 -05:00
2021-10-14 05:59:40 +01:00
namespace SysShape {
2021-12-15 17:49:05 -05:00
struct AnimMgr;
2021-10-14 05:59:40 +01:00
2021-12-15 17:49:05 -05:00
/**
* @size{0x54}
*/
struct AnimInfo : public CNode {
2022-10-20 01:09:37 +01:00
AnimInfo()
{
mAnm = nullptr;
mCalc = nullptr;
mMgr = nullptr;
mBasFile = nullptr;
2022-10-20 01:09:37 +01:00
}
AnimInfo(AnimMgr* mgr)
{
mMgr = mgr;
mAnm = nullptr;
mCalc = nullptr;
mBasFile = nullptr;
2022-10-20 01:09:37 +01:00
}
virtual ~AnimInfo(); // _08 (weak)
2021-10-14 05:59:40 +01:00
2022-10-31 11:59:49 +11:00
void getLowestAnimKey(f32);
void getLastLoopStart(KeyEvent*);
2022-10-31 11:59:49 +11:00
KeyEvent* getAnimKeyByType(u32);
void read(Stream&);
2021-10-14 05:59:40 +01:00
void readEditor(Stream&);
void attach(J3DModelData*, void*);
2021-12-15 17:49:05 -05:00
2022-08-14 02:24:14 +10:00
inline AnimInfo* getInfoByID(int idx)
{
2022-10-31 11:59:49 +11:00
FOREACH_NODE(AnimInfo, this, info)
{
if (idx != info->mId) {
2022-08-14 02:24:14 +10:00
continue;
} else {
return info;
}
}
return nullptr;
}
J3DAnmTransform* mAnm; // _18
J3DMtxCalc* mCalc; // _1C
s16 mId; // _20, anim ID
JAIAnimeFrameSoundData* mBasFile; // _24
KeyEvent mKeyEvent; // _28
char* _4C; // _4C
AnimMgr* mMgr; // _50
2021-10-14 05:59:40 +01:00
};
} // namespace SysShape
2021-10-14 20:43:06 +01:00
#endif