Files
tp/include/JSystem/J3DGraphLoader/J3DAnmLoader.h
T

78 lines
2.7 KiB
C++
Raw Normal View History

2021-03-28 22:49:05 +02:00
#ifndef J3DANMLOADER_H
#define J3DANMLOADER_H
2024-10-31 20:36:11 -04:00
#include "JSystem/J3DGraphAnimator/J3DAnimation.h"
2021-03-28 22:49:05 +02:00
2024-01-24 04:00:46 -08:00
enum J3DAnmLoaderDataBaseFlag {
J3DLOADER_UNK_FLAG0,
J3DLOADER_UNK_FLAG1,
};
2021-10-11 09:38:53 -07:00
2023-09-04 16:17:51 -07:00
class J3DAnmBase;
2021-10-11 09:38:53 -07:00
2024-04-12 00:10:30 -06:00
/**
* @ingroup jsystem-j3d
*
*/
2021-10-11 09:38:53 -07:00
struct J3DAnmLoaderDataBase {
2025-11-30 14:23:42 -08:00
static J3DAnmBase* load(void const*, J3DAnmLoaderDataBaseFlag);
static void setResource(J3DAnmBase*, void const*);
2023-08-27 20:09:20 -07:00
2024-01-24 04:00:46 -08:00
static J3DAnmBase* load(void const* param_0) { return load(param_0, J3DLOADER_UNK_FLAG0); }
2021-10-11 09:38:53 -07:00
};
2024-10-31 20:36:11 -04:00
class J3DAnmLoader {
public:
virtual J3DAnmBase* load(const void*) = 0;
virtual void setResource(J3DAnmBase*, const void*) = 0;
2025-11-30 14:23:42 -08:00
virtual ~J3DAnmLoader() {}
2024-10-31 20:36:11 -04:00
};
class J3DAnmKeyLoader_v15 : public J3DAnmLoader {
public:
2025-11-30 14:23:42 -08:00
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*);
2024-10-31 20:36:11 -04:00
2025-11-30 14:23:42 -08:00
virtual J3DAnmBase* load(void const*);
virtual void setResource(J3DAnmBase*, void const*);
virtual ~J3DAnmKeyLoader_v15();
2024-10-31 20:36:11 -04:00
/* 0x4 */ J3DAnmBase* mAnm;
};
class J3DAnmFullLoader_v15 : public J3DAnmLoader {
public:
2025-11-30 14:23:42 -08:00
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*);
2024-10-31 20:36:11 -04:00
2025-11-30 14:23:42 -08:00
virtual J3DAnmBase* load(void const*);
virtual void setResource(J3DAnmBase*, void const*);
virtual ~J3DAnmFullLoader_v15();
2024-10-31 20:36:11 -04:00
/* 0x4 */ J3DAnmBase* mAnm;
};
2021-03-28 22:49:05 +02:00
#endif /* J3DANMLOADER_H */