mirror of https://github.com/zeldaret/tp.git
78 lines
2.7 KiB
C++
78 lines
2.7 KiB
C++
#ifndef J3DANMLOADER_H
|
|
#define J3DANMLOADER_H
|
|
|
|
#include "JSystem/J3DGraphAnimator/J3DAnimation.h"
|
|
|
|
enum J3DAnmLoaderDataBaseFlag {
|
|
J3DLOADER_UNK_FLAG0,
|
|
J3DLOADER_UNK_FLAG1,
|
|
};
|
|
|
|
class J3DAnmBase;
|
|
|
|
/**
|
|
* @ingroup jsystem-j3d
|
|
*
|
|
*/
|
|
struct J3DAnmLoaderDataBase {
|
|
static J3DAnmBase* load(void const*, J3DAnmLoaderDataBaseFlag);
|
|
static void setResource(J3DAnmBase*, void const*);
|
|
|
|
static J3DAnmBase* load(void const* param_0) { return load(param_0, J3DLOADER_UNK_FLAG0); }
|
|
};
|
|
|
|
class J3DAnmLoader {
|
|
public:
|
|
virtual J3DAnmBase* load(const void*) = 0;
|
|
virtual void setResource(J3DAnmBase*, const void*) = 0;
|
|
virtual ~J3DAnmLoader() {}
|
|
};
|
|
|
|
class J3DAnmKeyLoader_v15 : public J3DAnmLoader {
|
|
public:
|
|
J3DAnmKeyLoader_v15();
|
|
void readAnmTransform(J3DAnmTransformKeyData const*);
|
|
void setAnmTransform(J3DAnmTransformKey*, J3DAnmTransformKeyData const*);
|
|
void readAnmTextureSRT(J3DAnmTextureSRTKeyData const*);
|
|
void setAnmTextureSRT(J3DAnmTextureSRTKey*, J3DAnmTextureSRTKeyData const*);
|
|
void readAnmColor(J3DAnmColorKeyData const*);
|
|
void setAnmColor(J3DAnmColorKey*, J3DAnmColorKeyData const*);
|
|
void readAnmCluster(J3DAnmClusterKeyData const*);
|
|
void setAnmCluster(J3DAnmClusterKey*, J3DAnmClusterKeyData const*);
|
|
void readAnmTevReg(J3DAnmTevRegKeyData const*);
|
|
void setAnmTevReg(J3DAnmTevRegKey*, J3DAnmTevRegKeyData const*);
|
|
void readAnmVtxColor(J3DAnmVtxColorKeyData const*);
|
|
void setAnmVtxColor(J3DAnmVtxColorKey*, J3DAnmVtxColorKeyData const*);
|
|
|
|
virtual J3DAnmBase* load(void const*);
|
|
virtual void setResource(J3DAnmBase*, void const*);
|
|
virtual ~J3DAnmKeyLoader_v15();
|
|
|
|
/* 0x4 */ J3DAnmBase* mAnm;
|
|
};
|
|
|
|
class J3DAnmFullLoader_v15 : public J3DAnmLoader {
|
|
public:
|
|
J3DAnmFullLoader_v15();
|
|
void readAnmTransform(J3DAnmTransformFullData const*);
|
|
void setAnmTransform(J3DAnmTransformFull*, J3DAnmTransformFullData const*);
|
|
void readAnmColor(J3DAnmColorFullData const*);
|
|
void setAnmColor(J3DAnmColorFull*, J3DAnmColorFullData const*);
|
|
void readAnmTexPattern(J3DAnmTexPatternFullData const*);
|
|
void setAnmTexPattern(J3DAnmTexPattern*, J3DAnmTexPatternFullData const*);
|
|
void readAnmVisibility(J3DAnmVisibilityFullData const*);
|
|
void setAnmVisibility(J3DAnmVisibilityFull*, J3DAnmVisibilityFullData const*);
|
|
void readAnmCluster(J3DAnmClusterFullData const*);
|
|
void setAnmCluster(J3DAnmClusterFull*, J3DAnmClusterFullData const*);
|
|
void readAnmVtxColor(J3DAnmVtxColorFullData const*);
|
|
void setAnmVtxColor(J3DAnmVtxColorFull*, J3DAnmVtxColorFullData const*);
|
|
|
|
virtual J3DAnmBase* load(void const*);
|
|
virtual void setResource(J3DAnmBase*, void const*);
|
|
virtual ~J3DAnmFullLoader_v15();
|
|
|
|
/* 0x4 */ J3DAnmBase* mAnm;
|
|
};
|
|
|
|
#endif /* J3DANMLOADER_H */
|