Files
Jcw87 5e7b59f2fe Improve compiler compatibility (#743)
* fix returns

* use standard C headers

* struct/class mismatch

* explicit this in template

* switch variable scope

* C standard compliance

* & l-value
2025-04-29 12:49:09 -04:00

91 lines
3.1 KiB
C++

#ifndef J3DANMLOADER_H
#define J3DANMLOADER_H
#include "dolphin/types.h"
enum J3DAnmLoaderDataBaseFlag { J3DLOADER_UNK_FLAG0 };
class J3DAnmBase;
class J3DAnmClusterFull;
struct J3DAnmClusterFullData;
class J3DAnmClusterKey;
struct J3DAnmClusterKeyData;
class J3DAnmColorFull;
struct J3DAnmColorFullData;
class J3DAnmColorKey;
struct J3DAnmColorKeyData;
class J3DAnmTevRegKey;
struct J3DAnmTevRegKeyData;
class J3DAnmTexPattern;
struct J3DAnmTexPatternFullData;
class J3DAnmTextureSRTKey;
struct J3DAnmTextureSRTKeyData;
class J3DAnmTransformFull;
struct J3DAnmTransformFullData;
class J3DAnmTransformKey;
struct J3DAnmTransformKeyData;
class J3DAnmVisibilityFull;
struct J3DAnmVisibilityFullData;
class J3DAnmVtxColorFull;
struct J3DAnmVtxColorFullData;
class J3DAnmVtxColorKey;
struct J3DAnmVtxColorKeyData;
struct J3DAnmLoaderDataBase {
static J3DAnmBase* load(const void*);
static void setResource(J3DAnmBase*, const void*);
};
class J3DAnmLoader {
public:
virtual J3DAnmBase* load(const void*) = 0;
virtual void setResource(J3DAnmBase*, const void*) = 0;
virtual ~J3DAnmLoader() {}
};
class J3DAnmFullLoader_v15 : public J3DAnmLoader {
public:
J3DAnmFullLoader_v15();
~J3DAnmFullLoader_v15();
J3DAnmBase* load(const void*);
void setResource(J3DAnmBase*, const void*);
void readAnmTransform(const J3DAnmTransformFullData*);
void setAnmTransform(J3DAnmTransformFull*, const J3DAnmTransformFullData*);
void readAnmColor(const J3DAnmColorFullData*);
void setAnmColor(J3DAnmColorFull*, const J3DAnmColorFullData*);
void readAnmTexPattern(const J3DAnmTexPatternFullData*);
void setAnmTexPattern(J3DAnmTexPattern*, const J3DAnmTexPatternFullData*);
void readAnmVisibility(const J3DAnmVisibilityFullData*);
void setAnmVisibility(J3DAnmVisibilityFull*, const J3DAnmVisibilityFullData*);
void readAnmCluster(const J3DAnmClusterFullData*);
void setAnmCluster(J3DAnmClusterFull*, const J3DAnmClusterFullData*);
void readAnmVtxColor(const J3DAnmVtxColorFullData*);
void setAnmVtxColor(J3DAnmVtxColorFull*, const J3DAnmVtxColorFullData*);
J3DAnmBase* mAnm;
};
class J3DAnmKeyLoader_v15 : public J3DAnmLoader {
public:
J3DAnmKeyLoader_v15();
~J3DAnmKeyLoader_v15();
J3DAnmBase* load(const void*);
void setResource(J3DAnmBase*, const void*);
void readAnmTransform(const J3DAnmTransformKeyData*);
void setAnmTransform(J3DAnmTransformKey*, const J3DAnmTransformKeyData*);
void readAnmTextureSRT(const J3DAnmTextureSRTKeyData*);
void setAnmTextureSRT(J3DAnmTextureSRTKey*, const J3DAnmTextureSRTKeyData*);
void readAnmColor(const J3DAnmColorKeyData*);
void setAnmColor(J3DAnmColorKey*, const J3DAnmColorKeyData*);
void readAnmCluster(const J3DAnmClusterKeyData*);
void setAnmCluster(J3DAnmClusterKey*, const J3DAnmClusterKeyData*);
void readAnmTevReg(const J3DAnmTevRegKeyData*);
void setAnmTevReg(J3DAnmTevRegKey*, const J3DAnmTevRegKeyData*);
void readAnmVtxColor(const J3DAnmVtxColorKeyData*);
void setAnmVtxColor(J3DAnmVtxColorKey*, const J3DAnmVtxColorKeyData*);
J3DAnmBase* mAnm;
};
#endif /* J3DANMLOADER_H */