mirror of https://github.com/zeldaret/tp.git
120 lines
3.2 KiB
C++
120 lines
3.2 KiB
C++
#ifndef M_DO_M_DO_EXT_H
|
|
#define M_DO_M_DO_EXT_H
|
|
|
|
#include "JSystem/J3DGraphAnimator/J3DAnimation.h"
|
|
#include "JSystem/J3DGraphAnimator/J3DModel.h"
|
|
#include "JSystem/JKernel/JKRAssertHeap.h"
|
|
#include "JSystem/JKernel/JKRExpHeap.h"
|
|
#include "JSystem/JKernel/JKRSolidHeap.h"
|
|
#include "global.h"
|
|
|
|
class mDoExt_baseAnm {
|
|
public:
|
|
mDoExt_baseAnm() {}
|
|
/* 8000D320 */ void initPlay(s16, int, f32, s16, s16);
|
|
/* 8000D428 */ void play();
|
|
|
|
private:
|
|
J3DFrameCtrl frame_control;
|
|
};
|
|
|
|
class mDoExt_btkAnm {
|
|
public:
|
|
mDoExt_btkAnm(void) { field_0x14 = 0; }
|
|
/* 8000D63C */ void init(J3DMaterialTable*, J3DAnmTextureSRTKey*, int, int, f32, s16, s16);
|
|
/* 8000D6D8 */ void entry(J3DMaterialTable*, f32);
|
|
|
|
private:
|
|
mDoExt_baseAnm base_anm;
|
|
u32 field_0x14;
|
|
};
|
|
|
|
STATIC_ASSERT(sizeof(mDoExt_btkAnm) == 0x18);
|
|
|
|
class mDoExt_brkAnm {
|
|
public:
|
|
mDoExt_brkAnm(void) { field_0x14 = 0; }
|
|
/* 8000D70C */ void init(J3DMaterialTable*, J3DAnmTevRegKey*, int, int, f32, s16, s16);
|
|
/* 8000D7A8 */ void entry(J3DMaterialTable*, f32);
|
|
|
|
private:
|
|
mDoExt_baseAnm mDoExt_baseAnm;
|
|
u32 field_0x14;
|
|
};
|
|
|
|
STATIC_ASSERT(sizeof(mDoExt_brkAnm) == 0x18);
|
|
|
|
class mDoExt_bpkAnm {
|
|
public:
|
|
mDoExt_bpkAnm(void) { field_0x14 = 0; }
|
|
/* 8000D47C */ void init(J3DMaterialTable*, J3DAnmColor*, int, int, f32, s16, s16);
|
|
/* 8000D518 */ void entry(J3DMaterialTable*, f32);
|
|
|
|
private:
|
|
mDoExt_baseAnm mDoExt_baseAnm;
|
|
u32 field_0x14;
|
|
};
|
|
|
|
STATIC_ASSERT(sizeof(mDoExt_bpkAnm) == 0x18);
|
|
|
|
class mDoExt_bckAnm {
|
|
public:
|
|
mDoExt_bckAnm(void) { field_0x18 = 0; }
|
|
/* 8000D7DC */ void init(J3DAnmTransform*, int, int, f32, s16, s16, bool);
|
|
/* 8000D990 */ void changeBckOnly(J3DAnmTransform*);
|
|
/* 8000D9CC */ void entry(J3DModelData*, f32);
|
|
/* 8000D9E8 */ void entryJoint(J3DModelData*, u16, f32);
|
|
|
|
private:
|
|
mDoExt_baseAnm base_anm;
|
|
u8 field_0x14[4];
|
|
u32 field_0x18;
|
|
}; // Size = 0x1C
|
|
|
|
STATIC_ASSERT(sizeof(mDoExt_bckAnm) == 0x1C);
|
|
|
|
class J3DTransformInfo;
|
|
|
|
class mDoExt_McaMorfCallBack1_c {
|
|
public:
|
|
private:
|
|
/*void* vtable;*/
|
|
virtual void execute(u16, J3DTransformInfo*) = 0;
|
|
};
|
|
|
|
class mDoExt_AnmRatioPack {
|
|
public:
|
|
/* 80140DF0 */ ~mDoExt_AnmRatioPack();
|
|
/* 80140E2C */ mDoExt_AnmRatioPack();
|
|
|
|
private:
|
|
/* 0x0 */ float mRatio;
|
|
/* 0x4 */ J3DAnmTransform* mAnmTransform;
|
|
}; // Size = 0x8
|
|
|
|
JKRSolidHeap* mDoExt_createSolidHeapFromGame(u32, u32);
|
|
void mDoExt_destroySolidHeap(JKRSolidHeap*);
|
|
u32 mDoExt_adjustSolidHeap(JKRSolidHeap*);
|
|
void mDoExt_restoreCurrentHeap();
|
|
JKRExpHeap* mDoExt_getGameHeap();
|
|
void mDoExt_destroySolidHeap(JKRSolidHeap*);
|
|
JKRHeap* mDoExt_setCurrentHeap(JKRHeap*);
|
|
JKRExpHeap* mDoExt_getArchiveHeap();
|
|
JKRExpHeap* mDoExt_getArchiveHeapPtr();
|
|
void mDoExt_destroyExpHeap(JKRExpHeap*);
|
|
JKRAssertHeap* mDoExt_getAssertHeap();
|
|
JKRExpHeap* mDoExt_getCommandHeap();
|
|
JKRExpHeap* mDoExt_getZeldaHeap();
|
|
JKRExpHeap* mDoExt_getJ2dHeap();
|
|
JKRExpHeap* mDoExt_getHostIOHeap();
|
|
JKRSolidHeap* mDoExt_createSolidHeapToCurrent(JKRHeap**, u32, JKRHeap*, u32);
|
|
JKRSolidHeap* mDoExt_createSolidHeapToCurrent(u32, JKRHeap*, u32);
|
|
JKRSolidHeap* mDoExt_createSolidHeapFromGameToCurrent(u32, u32);
|
|
JKRHeap* mDoExt_getCurrentHeap();
|
|
|
|
extern JKRExpHeap* zeldaHeap;
|
|
extern JKRExpHeap* gameHeap;
|
|
extern JKRExpHeap* archiveHeap;
|
|
|
|
#endif /* M_DO_M_DO_EXT_H */
|