mirror of
https://github.com/zeldaret/tp
synced 2026-08-09 02:48:21 -04:00
__sinit_d_com_inf_game_cpp OK (#140)
* mass mng header * d_cc_d start * c_cc_d ok * tmp commit * almost, reordering of vtable functions * progress * more progress * cleanup, still non matching * mark all of d_cc_d as nonmatching to OK * c_cc_s * c_cc_s OK * d_cc_mass_s OK * cleanup * gameinfo __sinit, not OK * a bit of cleanup * format * remove asm Co-authored-by: lepelog <lepelog@users.noreply.github.com>
This commit is contained in:
@@ -3,13 +3,13 @@
|
||||
|
||||
#include "dolphin/types.h"
|
||||
|
||||
#pragma pack(push, 1)
|
||||
class J3DFrameCtrl {
|
||||
public:
|
||||
J3DFrameCtrl() { this->init(0); }
|
||||
void init(s16);
|
||||
BOOL checkPass(f32);
|
||||
void update();
|
||||
~J3DFrameCtrl();
|
||||
virtual ~J3DFrameCtrl() {}
|
||||
|
||||
float getRate() const { return mRate; }
|
||||
void setAttribute(u8 pAttr) { mAttribute = pAttr; }
|
||||
@@ -23,7 +23,7 @@ public:
|
||||
void setLoop(s16 pLoop) { mLoop = pLoop; }
|
||||
|
||||
private:
|
||||
void* vtable;
|
||||
/* vtable */;
|
||||
u8 mAttribute;
|
||||
bool mState;
|
||||
s16 mStart;
|
||||
@@ -32,6 +32,5 @@ private:
|
||||
float mRate;
|
||||
float mFrame;
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
#endif /* J3DANIMATION_H */
|
||||
|
||||
@@ -5,11 +5,13 @@
|
||||
#include "dolphin/gx/GXTexture.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
struct J3DLightInfo {
|
||||
class J3DLightInfo {
|
||||
public:
|
||||
J3DLightInfo(J3DLightInfo const& other) { *this = other; }
|
||||
/* 803256C4 */ void operator=(J3DLightInfo const&);
|
||||
|
||||
/* 0x00 */ cXyz mLightPosition;
|
||||
/* 0x0C */ cXyz mLightDirection;
|
||||
/* 0x00 */ Vec mLightPosition;
|
||||
/* 0x0C */ Vec mLightDirection;
|
||||
/* 0x18 */ _GXColor mColor;
|
||||
/* 0x1C */ f32 mA0;
|
||||
/* 0x20 */ f32 mA1;
|
||||
@@ -19,8 +21,11 @@ struct J3DLightInfo {
|
||||
/* 0x30 */ f32 mK2;
|
||||
}; // Size = 0x34
|
||||
|
||||
struct J3DLightObj {
|
||||
/* 80018C0C */ J3DLightObj();
|
||||
extern "C" extern J3DLightInfo const j3dDefaultLightInfo;
|
||||
|
||||
class J3DLightObj {
|
||||
public:
|
||||
/* 80018C0C */ J3DLightObj() : mInfo(j3dDefaultLightInfo) {}
|
||||
|
||||
/* 0x00 */ J3DLightInfo mInfo;
|
||||
/* 0x34 */ u8 field_0x34[64];
|
||||
|
||||
@@ -31,71 +31,86 @@ public:
|
||||
/* 0x10 */ f32 _10;
|
||||
/* 0x14 */ f32 _14;
|
||||
};
|
||||
|
||||
cCcD_ShapeAttr() {}
|
||||
/* 8008556C vt[2] */ virtual ~cCcD_ShapeAttr() {}
|
||||
/* 802649D8 vt[3] */ virtual bool CrossAtTg(cCcD_ShapeAttr const&, cXyz*) const;
|
||||
/* 802649D8 vt[3] */ virtual bool CrossAtTg(cCcD_ShapeAttr const&, cXyz*) const {
|
||||
return false;
|
||||
}
|
||||
/* vt[4] */ virtual bool CrossAtTg(cCcD_PntAttr const&, cXyz*) const = 0;
|
||||
/* vt[5] */ virtual bool CrossAtTg(cCcD_CpsAttr const&, cXyz*) const = 0;
|
||||
/* vt[6] */ virtual bool CrossAtTg(cCcD_TriAttr const&, cXyz*) const = 0;
|
||||
/* vt[7] */ virtual bool CrossAtTg(cCcD_AabAttr const&, cXyz*) const = 0;
|
||||
/* vt[8] */ virtual bool CrossAtTg(cCcD_CylAttr const&, cXyz*) const = 0;
|
||||
/* vt[9] */ virtual bool CrossAtTg(cCcD_SphAttr const&, cXyz*) const = 0;
|
||||
/* 802649E0 vt[10]*/ virtual bool CrossCo(cCcD_ShapeAttr const&, f32*) const;
|
||||
/* 802649E0 vt[10]*/ virtual bool CrossCo(cCcD_ShapeAttr const&, f32*) const { return false; }
|
||||
/* vt[11]*/ virtual bool CrossCo(cCcD_PntAttr const&, f32*) const = 0;
|
||||
/* vt[12]*/ virtual bool CrossCo(cCcD_CpsAttr const&, f32*) const = 0;
|
||||
/* vt[13]*/ virtual bool CrossCo(cCcD_TriAttr const&, f32*) const = 0;
|
||||
/* vt[14]*/ virtual bool CrossCo(cCcD_AabAttr const&, f32*) const = 0;
|
||||
/* vt[15]*/ virtual bool CrossCo(cCcD_CylAttr const&, f32*) const = 0;
|
||||
/* vt[16]*/ virtual bool CrossCo(cCcD_SphAttr const&, f32*) const = 0;
|
||||
/* 80084E38 vt[17]*/ virtual const cXyz& GetCoCP() const;
|
||||
/* 80084E2C vt[18]*/ virtual cXyz& GetCoCP();
|
||||
/* 80084E38 vt[17]*/ virtual const cXyz& GetCoCP() const { return m_virtual_center; }
|
||||
/* 80084E2C vt[18]*/ virtual cXyz& GetCoCP() { return m_virtual_center; }
|
||||
/* vt[19]*/ virtual void CalcAabBox() = 0;
|
||||
/* vt[20]*/ virtual bool GetNVec(cXyz const&, cXyz*) const = 0;
|
||||
/* 80263A64 vt[21]*/ virtual void getShapeAccess(cCcD_ShapeAttr::Shape*) const;
|
||||
|
||||
static f32 m_virtual_center[3];
|
||||
cM3dGAab& GetWorkAab() { return mAab; }
|
||||
cM3dGAab const& GetWorkAab() const { return mAab; }
|
||||
|
||||
static cXyz m_virtual_center;
|
||||
};
|
||||
|
||||
STATIC_ASSERT(0x20 == sizeof(cCcD_ShapeAttr));
|
||||
|
||||
class cCcD_TriAttr : public cCcD_ShapeAttr, public cM3dGTri {
|
||||
public:
|
||||
/* 80084E44 */ virtual bool CrossAtTg(cCcD_AabAttr const&, cXyz*) const;
|
||||
/* 80263A88 */ virtual bool CrossAtTg(cCcD_CpsAttr const&, cXyz*) const;
|
||||
/* 80263BCC */ virtual bool CrossAtTg(cCcD_TriAttr const&, cXyz*) const;
|
||||
/* 80084E4C */ virtual bool CrossAtTg(cCcD_PntAttr const&, cXyz*) const;
|
||||
/* 80263B90 */ virtual bool CrossAtTg(cCcD_SphAttr const&, cXyz*) const;
|
||||
/* 80084E54 */ virtual bool CrossAtTg(cCcD_ShapeAttr const&, cXyz*) const;
|
||||
/* 80263B58 */ virtual bool CrossAtTg(cCcD_CylAttr const&, cXyz*) const;
|
||||
/* 80084E9C */ virtual bool CrossCo(cCcD_AabAttr const&, f32*) const;
|
||||
/* 80084EBC */ virtual bool CrossCo(cCcD_ShapeAttr const&, f32*) const;
|
||||
/* 80084EA4 */ virtual bool CrossCo(cCcD_TriAttr const&, f32*) const;
|
||||
/* 80084E8C */ virtual bool CrossCo(cCcD_SphAttr const&, f32*) const;
|
||||
/* 80084EAC */ virtual bool CrossCo(cCcD_CpsAttr const&, f32*) const;
|
||||
/* 80084E94 */ virtual bool CrossCo(cCcD_CylAttr const&, f32*) const;
|
||||
/* 80084EB4 */ virtual bool CrossCo(cCcD_PntAttr const&, f32*) const;
|
||||
/* 80263C04 */ virtual void CalcAabBox();
|
||||
/* 80263C9C */ virtual bool GetNVec(cXyz const&, cXyz*) const;
|
||||
/* 80264938 */ virtual ~cCcD_TriAttr();
|
||||
/* 80263A88 */ virtual bool CrossAtTg(cCcD_CpsAttr const&, cXyz*) const;
|
||||
/* 80263BCC */ virtual bool CrossAtTg(cCcD_TriAttr const&, cXyz*) const;
|
||||
/* 80263B90 */ virtual bool CrossAtTg(cCcD_SphAttr const&, cXyz*) const;
|
||||
/* 80084E54 */ virtual bool CrossAtTg(cCcD_ShapeAttr const& shape, cXyz* xyz) const {
|
||||
return shape.CrossAtTg(*this, xyz);
|
||||
}
|
||||
/* 80084E4C */ virtual bool CrossAtTg(cCcD_PntAttr const&, cXyz*) const { return false; }
|
||||
/* 80084E44 */ virtual bool CrossAtTg(cCcD_AabAttr const&, cXyz*) const { return false; }
|
||||
/* 80263B58 */ virtual bool CrossAtTg(cCcD_CylAttr const&, cXyz*) const;
|
||||
/* 80084EBC */ virtual bool CrossCo(cCcD_ShapeAttr const& shape, f32* f) const {
|
||||
return shape.CrossCo(*this, f);
|
||||
}
|
||||
/* 80084EB4 */ virtual bool CrossCo(cCcD_PntAttr const&, f32*) const { return false; }
|
||||
/* 80084EAC */ virtual bool CrossCo(cCcD_CpsAttr const&, f32*) const { return false; }
|
||||
/* 80084EA4 */ virtual bool CrossCo(cCcD_TriAttr const&, f32*) const { return false; }
|
||||
/* 80084E9C */ virtual bool CrossCo(cCcD_AabAttr const&, f32*) const { return false; }
|
||||
/* 80084E94 */ virtual bool CrossCo(cCcD_CylAttr const&, f32*) const { return false; }
|
||||
/* 80084E8C */ virtual bool CrossCo(cCcD_SphAttr const&, f32*) const { return false; }
|
||||
/* 80264938 */ virtual ~cCcD_TriAttr() {}
|
||||
cCcD_TriAttr() {}
|
||||
};
|
||||
|
||||
class cCcD_CpsAttr : public cCcD_ShapeAttr, public cM3dGCps {
|
||||
public:
|
||||
/* 80085450 */ virtual ~cCcD_CpsAttr();
|
||||
cCcD_CpsAttr() {}
|
||||
/* 80085450 */ virtual ~cCcD_CpsAttr() {}
|
||||
/* 80263DC0 */ virtual bool CrossAtTg(cCcD_SphAttr const&, cXyz*) const;
|
||||
/* 80263E04 */ virtual bool CrossAtTg(cCcD_TriAttr const&, cXyz*) const;
|
||||
/* 80084FE4 */ virtual bool CrossAtTg(cCcD_ShapeAttr const&, cXyz*) const;
|
||||
/* 80084FDC */ virtual bool CrossAtTg(cCcD_PntAttr const&, cXyz*) const;
|
||||
/* 80084FD4 */ virtual bool CrossAtTg(cCcD_AabAttr const&, cXyz*) const;
|
||||
/* 80084FE4 */ virtual bool CrossAtTg(cCcD_ShapeAttr const& shape, cXyz* xyz) const {
|
||||
return shape.CrossAtTg(*this, xyz);
|
||||
}
|
||||
/* 80084FDC */ virtual bool CrossAtTg(cCcD_PntAttr const&, cXyz*) const { return false; }
|
||||
/* 80084FD4 */ virtual bool CrossAtTg(cCcD_AabAttr const&, cXyz*) const { return false; }
|
||||
/* 80263D38 */ virtual bool CrossAtTg(cCcD_CpsAttr const&, cXyz*) const;
|
||||
/* 80263D7C */ virtual bool CrossAtTg(cCcD_CylAttr const&, cXyz*) const;
|
||||
/* 80263F24 */ virtual bool CrossCo(cCcD_CylAttr const&, f32*) const;
|
||||
/* 80085024 */ virtual bool CrossCo(cCcD_TriAttr const&, f32*) const;
|
||||
/* 8008502C */ virtual bool CrossCo(cCcD_PntAttr const&, f32*) const;
|
||||
/* 8008501C */ virtual bool CrossCo(cCcD_AabAttr const&, f32*) const;
|
||||
/* 80263ED4 */ virtual bool CrossCo(cCcD_CpsAttr const&, f32*) const;
|
||||
/* 80263F74 */ virtual bool CrossCo(cCcD_SphAttr const&, f32*) const;
|
||||
/* 80085034 */ virtual bool CrossCo(cCcD_ShapeAttr const&, f32*) const;
|
||||
/* 80085034 */ virtual bool CrossCo(cCcD_ShapeAttr const& shape, f32* f) const {
|
||||
return shape.CrossCo(*this, f);
|
||||
}
|
||||
/* 8008502C */ virtual bool CrossCo(cCcD_PntAttr const&, f32*) const { return false; }
|
||||
/* 80085024 */ virtual bool CrossCo(cCcD_TriAttr const&, f32*) const { return false; }
|
||||
/* 8008501C */ virtual bool CrossCo(cCcD_AabAttr const&, f32*) const { return false; }
|
||||
/* 80263FC4 */ virtual void CalcAabBox();
|
||||
/* 80264014 */ virtual bool GetNVec(cXyz const&, cXyz*) const;
|
||||
};
|
||||
@@ -104,23 +119,28 @@ STATIC_ASSERT(0x40 == sizeof(cCcD_CpsAttr));
|
||||
|
||||
class cCcD_SphAttr : public cCcD_ShapeAttr, public cM3dGSph {
|
||||
public:
|
||||
/* 8008721C */ virtual ~cCcD_SphAttr();
|
||||
cCcD_SphAttr() {}
|
||||
/* 8008721C */ virtual ~cCcD_SphAttr() {}
|
||||
/* 80084B44 */ virtual const cXyz& GetCoCP() const { return mCenter; }
|
||||
/* 80037A54 */ virtual cXyz& GetCoCP() { return mCenter; }
|
||||
/* 80084B5C */ virtual bool CrossAtTg(cCcD_ShapeAttr const& shape, cXyz* xyz) const {
|
||||
return shape.CrossAtTg(*this, xyz);
|
||||
}
|
||||
/* 80084B54 */ virtual bool CrossAtTg(cCcD_PntAttr const&, cXyz*) const { return false; }
|
||||
/* 80084B4C */ virtual bool CrossAtTg(cCcD_AabAttr const&, cXyz*) const { return false; }
|
||||
/* 80084BAC */ virtual bool CrossCo(cCcD_ShapeAttr const& shape, f32* f) const {
|
||||
return shape.CrossCo(*this, f);
|
||||
}
|
||||
/* 80084BA4 */ virtual bool CrossCo(cCcD_PntAttr const&, f32*) const { return false; }
|
||||
/* 80084B9C */ virtual bool CrossCo(cCcD_TriAttr const&, f32*) const { return false; }
|
||||
/* 80084B94 */ virtual bool CrossCo(cCcD_AabAttr const&, f32*) const { return false; }
|
||||
/* 80264538 */ virtual bool CrossAtTg(cCcD_CylAttr const&, cXyz*) const;
|
||||
/* 802645C0 */ virtual bool CrossAtTg(cCcD_TriAttr const&, cXyz*) const;
|
||||
/* 80084B4C */ virtual bool CrossAtTg(cCcD_AabAttr const&, cXyz*) const;
|
||||
/* 80084B54 */ virtual bool CrossAtTg(cCcD_PntAttr const&, cXyz*) const;
|
||||
/* 80084B5C */ virtual bool CrossAtTg(cCcD_ShapeAttr const&, cXyz*) const;
|
||||
/* 802644EC */ virtual bool CrossAtTg(cCcD_CpsAttr const&, cXyz*) const;
|
||||
/* 8026457C */ virtual bool CrossAtTg(cCcD_SphAttr const&, cXyz*) const;
|
||||
/* 80264688 */ virtual bool CrossCo(cCcD_CpsAttr const&, f32*) const;
|
||||
/* 80084B94 */ virtual bool CrossCo(cCcD_AabAttr const&, f32*) const;
|
||||
/* 80084B9C */ virtual bool CrossCo(cCcD_TriAttr const&, f32*) const;
|
||||
/* 80084BA4 */ virtual bool CrossCo(cCcD_PntAttr const&, f32*) const;
|
||||
/* 80084BAC */ virtual bool CrossCo(cCcD_ShapeAttr const&, f32*) const;
|
||||
/* 80264644 */ virtual bool CrossCo(cCcD_SphAttr const&, f32*) const;
|
||||
/* 802645F8 */ virtual bool CrossCo(cCcD_CylAttr const&, f32*) const;
|
||||
/* 80084B44 */ virtual const cXyz& GetCoCP() const;
|
||||
/* 80037A54 */ virtual cXyz& GetCoCP();
|
||||
/* 802646E0 */ virtual void CalcAabBox();
|
||||
/* 8026476C */ virtual bool GetNVec(cXyz const&, cXyz*) const;
|
||||
/* 80264808 */ virtual void getShapeAccess(cCcD_ShapeAttr::Shape*) const;
|
||||
@@ -131,23 +151,28 @@ STATIC_ASSERT(0x34 == sizeof(cCcD_SphAttr));
|
||||
|
||||
class cCcD_CylAttr : public cCcD_ShapeAttr, public cM3dGCyl {
|
||||
public:
|
||||
/* 800854E0 */ virtual ~cCcD_CylAttr();
|
||||
cCcD_CylAttr() {}
|
||||
/* 800854E0 */ virtual ~cCcD_CylAttr() {}
|
||||
/* 80084CC0 */ virtual const cXyz& GetCoCP() const { return mCenter; }
|
||||
/* 8026420C */ virtual bool CrossAtTg(cCcD_SphAttr const&, cXyz*) const;
|
||||
/* 802641C8 */ virtual bool CrossAtTg(cCcD_CylAttr const&, cXyz*) const;
|
||||
/* 80084CC8 */ virtual bool CrossAtTg(cCcD_AabAttr const&, cXyz*) const;
|
||||
/* 80264250 */ virtual bool CrossAtTg(cCcD_TriAttr const&, cXyz*) const;
|
||||
/* 80084CD0 */ virtual bool CrossAtTg(cCcD_PntAttr const&, cXyz*) const;
|
||||
/* 80084CD8 */ virtual bool CrossAtTg(cCcD_ShapeAttr const&, cXyz*) const;
|
||||
/* 80084CD8 */ virtual bool CrossAtTg(cCcD_ShapeAttr const& shape, cXyz* xyz) const {
|
||||
return shape.CrossAtTg(*this, xyz);
|
||||
}
|
||||
/* 80084CD0 */ virtual bool CrossAtTg(cCcD_PntAttr const&, cXyz*) const { return false; }
|
||||
/* 80084CC8 */ virtual bool CrossAtTg(cCcD_AabAttr const&, cXyz*) const { return false; }
|
||||
/* 8026417C */ virtual bool CrossAtTg(cCcD_CpsAttr const&, cXyz*) const;
|
||||
/* 80264288 */ virtual bool CrossCo(cCcD_CylAttr const&, f32*) const;
|
||||
/* 80264310 */ virtual bool CrossCo(cCcD_CpsAttr const&, f32*) const;
|
||||
/* 80084D10 */ virtual bool CrossCo(cCcD_AabAttr const&, f32*) const;
|
||||
/* 80084D18 */ virtual bool CrossCo(cCcD_TriAttr const&, f32*) const;
|
||||
/* 80084D20 */ virtual bool CrossCo(cCcD_PntAttr const&, f32*) const;
|
||||
/* 80084D28 */ virtual bool CrossCo(cCcD_ShapeAttr const&, f32*) const;
|
||||
/* 80084D28 */ virtual bool CrossCo(cCcD_ShapeAttr const& shape, f32* f) const {
|
||||
return shape.CrossCo(*this, f);
|
||||
}
|
||||
/* 80084D20 */ virtual bool CrossCo(cCcD_PntAttr const&, f32*) const { return false; }
|
||||
/* 80084D18 */ virtual bool CrossCo(cCcD_TriAttr const&, f32*) const { return false; }
|
||||
/* 80084D10 */ virtual bool CrossCo(cCcD_AabAttr const&, f32*) const { return false; }
|
||||
/* 802642CC */ virtual bool CrossCo(cCcD_SphAttr const&, f32*) const;
|
||||
/* 80084CC0 */ virtual const cXyz& GetCoCP() const;
|
||||
/* 80037A4C */ virtual cXyz& GetCoCP();
|
||||
/* 80037A4C */ virtual cXyz& GetCoCP() { return mCenter; }
|
||||
/* 80264368 */ virtual void CalcAabBox();
|
||||
/* 802643D0 */ virtual bool GetNVec(cXyz const&, cXyz*) const;
|
||||
/* 802644B8 */ virtual void getShapeAccess(cCcD_ShapeAttr::Shape*) const;
|
||||
@@ -158,13 +183,13 @@ STATIC_ASSERT(0x38 == sizeof(cCcD_CylAttr));
|
||||
|
||||
class cCcD_DivideInfo {
|
||||
private:
|
||||
/* 0x00 */ u32 field_0x0;
|
||||
/* 0x04 */ u32 field_0x4;
|
||||
/* 0x08 */ u32 field_0x8;
|
||||
/* 0x00 */ u32 mXDivInfo;
|
||||
/* 0x04 */ u32 mYDivInfo;
|
||||
/* 0x08 */ u32 mZDivInfo;
|
||||
/* 0x0C vtable */
|
||||
public:
|
||||
virtual void test(); // temp to build OK, remove later
|
||||
virtual ~cCcD_DivideInfo();
|
||||
cCcD_DivideInfo() {}
|
||||
virtual ~cCcD_DivideInfo() {}
|
||||
/* 80263358 */ void Set(u32, u32, u32);
|
||||
/* 80263368 */ bool Chk(cCcD_DivideInfo const&) const;
|
||||
}; // Size = 0x10
|
||||
@@ -184,8 +209,8 @@ private:
|
||||
/* 0x3C */ f32 mInvScaledZDiff;
|
||||
|
||||
public:
|
||||
virtual void test(); // temp to build OK, remove later
|
||||
virtual ~cCcD_DivideArea();
|
||||
cCcD_DivideArea() {}
|
||||
virtual ~cCcD_DivideArea() {}
|
||||
/* 802633A8 */ void SetArea(cM3dGAab const&);
|
||||
/* 802634D4 */ void CalcDivideInfo(cCcD_DivideInfo*, cM3dGAab const&, u32);
|
||||
/* 802636A0 */ void CalcDivideInfoOverArea(cCcD_DivideInfo*, cM3dGAab const&);
|
||||
@@ -217,10 +242,10 @@ struct cCcD_SrcObj {
|
||||
|
||||
class cCcD_GStts {
|
||||
public:
|
||||
/* 800837B0 */ ~cCcD_GStts();
|
||||
/* 800837B0 */ virtual ~cCcD_GStts() {}
|
||||
|
||||
private:
|
||||
/* 0x00 */ void* vtable;
|
||||
/* 0x00 vtable */
|
||||
}; // Size = 0x4
|
||||
|
||||
class cCcD_Stts {
|
||||
@@ -233,6 +258,7 @@ private:
|
||||
/* 0x16 */ u8 mTg;
|
||||
|
||||
public:
|
||||
cCcD_Stts() {}
|
||||
/* 801410A4 vt[3] */ virtual ~cCcD_Stts() {}
|
||||
/* 80263894 vt[4] */ virtual const cCcD_GStts* GetGStts() const;
|
||||
/* 8026389C vt[5] */ virtual cCcD_GStts* GetGStts();
|
||||
@@ -242,8 +268,8 @@ public:
|
||||
/* 8026395C */ void ClrCcMove();
|
||||
/* 80263970 */ void PlusDmg(int);
|
||||
/* 80263984 */ f32 GetWeightF() const;
|
||||
/* 802649E8 vt[7] */ virtual void ClrAt();
|
||||
/* 802649EC vt[8] */ virtual void ClrTg();
|
||||
/* 802649E8 vt[7] */ virtual void ClrAt() {}
|
||||
/* 802649EC vt[8] */ virtual void ClrTg() { mTg = 0; }
|
||||
u8 GetWeightUc() const { return mWeight; }
|
||||
void SetWeight(u8 weight) { mWeight = weight; }
|
||||
fopAc_ac_c* GetAc() { return mActor; }
|
||||
@@ -254,30 +280,39 @@ STATIC_ASSERT(0x1C == sizeof(cCcD_Stts));
|
||||
class cCcD_Obj; // placeholder
|
||||
|
||||
class cCcD_ObjCommonBase {
|
||||
public:
|
||||
/* 8008409C */ ~cCcD_ObjCommonBase();
|
||||
/* 802639B0 */ void ct();
|
||||
void setSPrm(s32 sprm) { mSPrm = sprm; }
|
||||
s32 getSPrm() { return mSPrm; }
|
||||
|
||||
protected:
|
||||
/* 0x00 */ int mSPrm;
|
||||
/* 0x04 */ int mRPrm;
|
||||
/* 0x08 */ cCcD_Obj* mHitObj;
|
||||
/* 0x0C */ void* vtable;
|
||||
/* 0x0C vtable */
|
||||
public:
|
||||
cCcD_ObjCommonBase() { ct(); }
|
||||
/* 8008409C */ virtual ~cCcD_ObjCommonBase() {}
|
||||
/* 802639B0 */ void ct();
|
||||
void setSPrm(s32 sprm) { mSPrm = sprm; }
|
||||
s32 getSPrm() const { return mSPrm; }
|
||||
void setRPrm(s32 rprm) { mRPrm = rprm; }
|
||||
s32 getRPrm() const { return mRPrm; }
|
||||
cCcD_Obj* getHitObj() { return mHitObj; }
|
||||
u32 MskSPrm(u32 mask) const { return mSPrm & mask; }
|
||||
};
|
||||
|
||||
STATIC_ASSERT(0x10 == sizeof(cCcD_ObjCommonBase));
|
||||
|
||||
class cCcD_ObjAt : public cCcD_ObjCommonBase {
|
||||
public:
|
||||
/* 80084040 */ ~cCcD_ObjAt();
|
||||
cCcD_ObjAt() { mType = 0; }
|
||||
/* 80084040 */ virtual ~cCcD_ObjAt() {}
|
||||
/* 8026483C */ void SetHit(cCcD_Obj*);
|
||||
/* 8026484C */ void Set(cCcD_SrcObjAt const&);
|
||||
/* 80264868 */ void ClrHit();
|
||||
int GetType() const { return mType; }
|
||||
u32 GetGrp() const { return MskSPrm(0x1E); }
|
||||
bool ChkSet() const { return MskSPrm(1); }
|
||||
u8 GetAtp() const { return mAtp; }
|
||||
u32 MskType(u32 msk) const { return mType & msk; }
|
||||
|
||||
private:
|
||||
protected:
|
||||
/* 0x10 */ int mType;
|
||||
/* 0x14 */ u8 mAtp;
|
||||
};
|
||||
@@ -286,12 +321,15 @@ STATIC_ASSERT(0x18 == sizeof(cCcD_ObjAt));
|
||||
|
||||
class cCcD_ObjTg : public cCcD_ObjCommonBase {
|
||||
public:
|
||||
/* 80083FE4 */ ~cCcD_ObjTg();
|
||||
cCcD_ObjTg() { ct(); }
|
||||
/* 80083FE4 */ virtual ~cCcD_ObjTg() {}
|
||||
/* 80264880 */ void Set(cCcD_SrcObjTg const&);
|
||||
/* 80264894 */ void SetGrp(u32);
|
||||
/* 802648B0 */ void ClrHit();
|
||||
/* 802648C8 */ void SetHit(cCcD_Obj*);
|
||||
int GetType() const { return mType; }
|
||||
u32 GetGrp() const { return MskSPrm(0x1E); }
|
||||
bool ChkSet() const { return MskSPrm(1); }
|
||||
|
||||
private:
|
||||
/* 0x10 */ int mType;
|
||||
@@ -301,27 +339,55 @@ STATIC_ASSERT(0x14 == sizeof(cCcD_ObjTg));
|
||||
|
||||
class cCcD_ObjCo : public cCcD_ObjCommonBase {
|
||||
public:
|
||||
/* 80083F88 */ ~cCcD_ObjCo();
|
||||
/* 80083F88 */ virtual ~cCcD_ObjCo() {}
|
||||
/* 802648D8 */ void SetHit(cCcD_Obj*);
|
||||
/* 802648E8 */ void ClrHit();
|
||||
/* 80264900 */ void SetIGrp(u32);
|
||||
/* 8026491C */ void SetVsGrp(u32);
|
||||
u32 GetGrp() const { return MskSPrm(0x1E); }
|
||||
bool ChkSet() const { return MskSPrm(1); }
|
||||
u32 GetVsGrp() const { return MskSPrm(0x70); }
|
||||
u32 GetIGrp() const { return MskSPrm(0xE); }
|
||||
u32 ChkNoCrr() const { return MskSPrm(0x100); }
|
||||
u32 ChkSph3DCrr() const { return MskSPrm(0x80); }
|
||||
};
|
||||
|
||||
STATIC_ASSERT(0x10 == sizeof(cCcD_ObjCo));
|
||||
|
||||
class cCcD_ObjHitInf {
|
||||
private:
|
||||
protected:
|
||||
/* 0x000 */ cCcD_ObjAt mObjAt;
|
||||
/* 0x018 */ cCcD_ObjTg mObjTg;
|
||||
/* 0x02C */ cCcD_ObjCo mObjCo;
|
||||
/* 0x03C vtable */
|
||||
public:
|
||||
/* 80083EC8 */ virtual ~cCcD_ObjHitInf();
|
||||
/* 80083EC8 */ virtual ~cCcD_ObjHitInf() {}
|
||||
/* 802639C4 */ void Set(cCcD_SrcObjHitInf const&);
|
||||
cCcD_ObjAt& GetObjAt() { return mObjAt; }
|
||||
cCcD_ObjTg& GetObjTg() { return mObjTg; }
|
||||
cCcD_ObjCo& GetObjCo() { return mObjCo; }
|
||||
u32 GetTgGrp() const { return mObjTg.GetGrp(); }
|
||||
u32 GetAtGrp() const { return mObjAt.GetGrp(); }
|
||||
u32 GetCoGrp() const { return mObjCo.GetGrp(); }
|
||||
int GetTgType() const { return mObjTg.GetType(); }
|
||||
int GetAtType() const { return mObjAt.GetType(); }
|
||||
bool ChkTgSet() const { return mObjTg.ChkSet(); }
|
||||
bool ChkAtSet() const { return mObjAt.ChkSet(); }
|
||||
bool ChkCoSet() const { return mObjCo.ChkSet(); }
|
||||
u32 ChkCoSameActorHit() const { return mObjCo.MskSPrm(0x400); }
|
||||
u32 GetCoVsGrp() const { return mObjCo.GetVsGrp(); }
|
||||
u32 GetCoIGrp() const { return mObjCo.GetIGrp(); }
|
||||
u8 GetAtAtp() const { return mObjAt.GetAtp(); }
|
||||
u32 ChkAtNoTgHitInfSet() const { return mObjAt.MskSPrm(0x20); }
|
||||
u32 ChkTgNoAtHitInfSet() const { return mObjTg.MskSPrm(0x20); }
|
||||
u32 ChkCoNoCoHitInfSet() const { return mObjCo.MskSPrm(0x200); }
|
||||
bool ChkTgNoSlingHitInfSet() const { return mObjTg.MskSPrm(0x40); }
|
||||
void SetAtHit(cCcD_Obj* obj) { mObjAt.SetHit(obj); }
|
||||
void SetTgHit(cCcD_Obj* obj) { mObjTg.SetHit(obj); }
|
||||
void SetCoHit(cCcD_Obj* obj) { mObjCo.SetHit(obj); }
|
||||
bool ChkAtType(u32 type) const { return mObjAt.MskType(type); }
|
||||
u32 ChkCoNoCrr() const { return mObjCo.ChkNoCrr(); }
|
||||
u32 ChkCoSph3DCrr() const { return mObjCo.ChkSph3DCrr(); }
|
||||
|
||||
}; // Size = 0x40
|
||||
|
||||
@@ -331,18 +397,20 @@ class cCcD_GObjInf;
|
||||
|
||||
class cCcD_Obj : public cCcD_ObjHitInf {
|
||||
public:
|
||||
/* 80083DE0 */ virtual ~cCcD_Obj();
|
||||
/* 800851A4 */ virtual cCcD_GObjInf const* GetGObjInf() const;
|
||||
/* 800847C8 */ virtual cCcD_GObjInf* GetGObjInf();
|
||||
/* 80084BE8 */ virtual cCcD_ShapeAttr const* GetShapeAttr() const;
|
||||
/* 80085130 */ virtual cCcD_ShapeAttr* GetShapeAttr();
|
||||
/* 80084BF0 */ virtual void Draw(_GXColor const&);
|
||||
cCcD_Obj() { ct(); }
|
||||
/* 80083DE0 */ virtual ~cCcD_Obj() {}
|
||||
/* 800851A4 */ virtual cCcD_GObjInf const* GetGObjInf() const { return NULL; }
|
||||
/* 800847C8 */ virtual cCcD_GObjInf* GetGObjInf() { return NULL; }
|
||||
/* 80084BE8 */ virtual cCcD_ShapeAttr const* GetShapeAttr() const { return NULL; }
|
||||
/* 80085130 */ virtual cCcD_ShapeAttr* GetShapeAttr() { return NULL; }
|
||||
/* 80084BF0 */ virtual void Draw(_GXColor const&) {}
|
||||
/* 80263A10 */ void ct();
|
||||
/* 80263A1C */ void Set(cCcD_SrcObj const&);
|
||||
fopAc_ac_c* GetAc();
|
||||
|
||||
cCcD_Stts* GetStts() { return mStts; }
|
||||
cCcD_DivideInfo& GetDivideInfo() { return mDivideInfo; }
|
||||
int ChkBsRevHit() const { return field_0x40 & 2; }
|
||||
|
||||
private:
|
||||
/* 0x040 */ int field_0x40;
|
||||
@@ -354,12 +422,13 @@ STATIC_ASSERT(0x58 == sizeof(cCcD_Obj));
|
||||
|
||||
class cCcD_GObjInf : public cCcD_Obj {
|
||||
public:
|
||||
/* 80083CE8 */ virtual ~cCcD_GObjInf();
|
||||
/* 800851A0 */ virtual cCcD_GObjInf* GetGObjInf();
|
||||
/* 80084BE4 */ virtual cCcD_GObjInf const* GetGObjInf() const;
|
||||
/* 80085138 */ virtual void ClrAtHit();
|
||||
/* 80085158 */ virtual void ClrTgHit();
|
||||
/* 8008517C */ virtual void ClrCoHit();
|
||||
cCcD_GObjInf() {}
|
||||
/* 80083CE8 */ virtual ~cCcD_GObjInf() {}
|
||||
/* 80085138 */ virtual void ClrAtHit() { mObjAt.ClrHit(); }
|
||||
/* 80085158 */ virtual void ClrTgHit() { mObjTg.ClrHit(); }
|
||||
/* 8008517C */ virtual void ClrCoHit() { mObjCo.ClrHit(); }
|
||||
/* 80084BE4 */ virtual cCcD_GObjInf const* GetGObjInf() const { return this; }
|
||||
/* 800851A0 */ virtual cCcD_GObjInf* GetGObjInf() { return this; }
|
||||
};
|
||||
|
||||
STATIC_ASSERT(0x58 == sizeof(cCcD_GObjInf));
|
||||
|
||||
@@ -32,9 +32,9 @@ public:
|
||||
/* 80264C5C */ void ClrCoHitInf();
|
||||
/* 80264CF0 */ void ClrTgHitInf();
|
||||
/* 80264D90 */ void ClrAtHitInf();
|
||||
/* 80264E2C */ int ChkNoHitAtTg(cCcD_Obj*, cCcD_Obj*);
|
||||
/* 80264E2C */ bool ChkNoHitAtTg(cCcD_Obj*, cCcD_Obj*);
|
||||
/* 80264F40 */ void ChkAtTg();
|
||||
/* 8026515C */ void ChkNoHitCo(cCcD_Obj*, cCcD_Obj*);
|
||||
/* 8026515C */ bool ChkNoHitCo(cCcD_Obj*, cCcD_Obj*);
|
||||
/* 80265230 */ void ChkCo();
|
||||
/* 802653A0 vt[2] */ virtual void CalcTgPlusDmg(cCcD_Obj*, cCcD_Obj*, cCcD_Stts*, cCcD_Stts*);
|
||||
/* 802653C8 */ void SetAtTgCommonHitInf(cCcD_Obj*, cCcD_Obj*, cXyz*);
|
||||
@@ -55,7 +55,7 @@ public:
|
||||
cCcD_GObjInf const*, cCcD_Stts*,
|
||||
cCcD_Stts*, cCcD_GStts*, cCcD_GStts*);
|
||||
/* 80265E10 vt[8] */ virtual bool ChkNoHitGCo(cCcD_Obj*, cCcD_Obj*);
|
||||
/* 80030BDC vt[9] */ virtual ~cCcS();
|
||||
/* 80030BDC vt[9] */ virtual ~cCcS() {}
|
||||
/* 80265E18 vt[10] */ virtual void MoveAfterCheck();
|
||||
/* 80265DF4 vt[11] */ virtual void SetCoGCorrectProc(cCcD_Obj*, cCcD_Obj*);
|
||||
}; // Size = 0x284C
|
||||
|
||||
@@ -12,7 +12,6 @@ public:
|
||||
/* 0x0C */ cXyz mMax;
|
||||
/* 0x18 vtable */
|
||||
|
||||
virtual void test(); // temp to build OK, remove later
|
||||
virtual ~cM3dGAab() {}
|
||||
void Set(const cXyz*, const cXyz*);
|
||||
bool CrossY(const cXyz*) const;
|
||||
|
||||
@@ -13,12 +13,15 @@ struct cM3dGCylS {
|
||||
}; // Size = 0x14
|
||||
class cM3dGSph;
|
||||
|
||||
class cM3dGCyl : public cM3dGCylS {
|
||||
/* 0x14 vtable */
|
||||
class cM3dGCyl {
|
||||
public:
|
||||
/* 0x00 */ cXyz mCenter;
|
||||
/* 0x0C */ f32 mRadius;
|
||||
/* 0x10 */ f32 mHeight;
|
||||
/* 0x14 vtable */
|
||||
cM3dGCyl() {}
|
||||
cM3dGCyl(const cXyz*, f32, f32);
|
||||
virtual void test(); // temp to build OK, remove later
|
||||
virtual ~cM3dGCyl();
|
||||
virtual ~cM3dGCyl() {}
|
||||
void Set(const cM3dGCylS&);
|
||||
void Set(const cXyz&, f32, f32);
|
||||
void SetC(const cXyz&);
|
||||
|
||||
@@ -9,7 +9,7 @@ class cM3dGPla {
|
||||
public:
|
||||
cXyz mNormal;
|
||||
f32 mD;
|
||||
cM3dGPla();
|
||||
cM3dGPla() {}
|
||||
cM3dGPla(const cXyz*, f32);
|
||||
virtual ~cM3dGPla() {}
|
||||
bool crossInfLin(const cXyz&, const cXyz&, cXyz&) const;
|
||||
|
||||
@@ -18,8 +18,8 @@ public:
|
||||
/* 0x0C */ f32 mRadius;
|
||||
/* 0x10 vtable */
|
||||
|
||||
virtual void test(); // temp to build OK, remove later
|
||||
virtual ~cM3dGSph();
|
||||
cM3dGSph() {}
|
||||
virtual ~cM3dGSph() {}
|
||||
void SetC(const cXyz&);
|
||||
void Set(const cXyz&, f32);
|
||||
void Set(const cM3dGSphS&);
|
||||
|
||||
@@ -15,6 +15,7 @@ public:
|
||||
Vec mB;
|
||||
Vec mC;
|
||||
|
||||
cM3dGTri() {}
|
||||
virtual ~cM3dGTri() {}
|
||||
bool cross(const cM3dGCyl*, Vec*) const;
|
||||
void setPos(const Vec*, const Vec*, const Vec*);
|
||||
|
||||
@@ -75,12 +75,6 @@ struct cXyz : Vec {
|
||||
x = f;
|
||||
}
|
||||
|
||||
void set(f32 pX, f32 pY, f32 pZ) {
|
||||
x = pX;
|
||||
y = pY;
|
||||
z = pZ;
|
||||
}
|
||||
|
||||
void setMin(const cXyz& other) {
|
||||
if (x > other.x) {
|
||||
x = other.x;
|
||||
|
||||
+26
-24
@@ -13,30 +13,35 @@ struct cBgW_BgId {
|
||||
/* 802681D4 */ void ChkUsed() const;
|
||||
};
|
||||
|
||||
#pragma pack(push, 1)
|
||||
class cBgS_ChkElm {
|
||||
cBgS_ChkElm(void);
|
||||
~cBgS_ChkElm();
|
||||
void Init();
|
||||
void Regist2(dBgW_Base*, unsigned int, void*);
|
||||
void Release();
|
||||
|
||||
private:
|
||||
/* 0x00 */ dBgW_Base* bgw_base_pointer;
|
||||
/* 0x04 */ u8 used;
|
||||
/* 0x05 */ u8 padding[3];
|
||||
/* 0x08 */ u32 field_0x8;
|
||||
/* 0x0C */ void* actor_pointer;
|
||||
/* 0x10 */ u32 field_0x10;
|
||||
};
|
||||
#pragma pack(pop)
|
||||
/* 0x10 vtable */
|
||||
public:
|
||||
cBgS_ChkElm(void) { this->Init(); }
|
||||
virtual ~cBgS_ChkElm() {}
|
||||
void Init();
|
||||
virtual void Regist2(dBgW_Base*, unsigned int, void*);
|
||||
void Release();
|
||||
}; // Size = 0x14
|
||||
|
||||
STATIC_ASSERT(sizeof(cBgS_ChkElm) == 0x14);
|
||||
|
||||
#pragma pack(push, 1)
|
||||
class cBgS {
|
||||
~cBgS();
|
||||
private:
|
||||
/* 0x0000 */ cBgS_ChkElm cbgs_elements[256];
|
||||
/* 0x1400 vtable */
|
||||
public:
|
||||
cBgS() {}
|
||||
virtual ~cBgS() {}
|
||||
void Regist(dBgW_Base*, unsigned int, void*);
|
||||
void Release(dBgW_Base*);
|
||||
void Ct();
|
||||
void Dt();
|
||||
virtual void Ct();
|
||||
virtual void Dt();
|
||||
void LineCross(cBgS_LinChk*);
|
||||
void GroundCross(cBgS_GndChk*);
|
||||
void ConvDzb(void*);
|
||||
@@ -48,10 +53,7 @@ class cBgS {
|
||||
void GetTriPnt(cBgS_PolyInfo const&, cXyz*, cXyz*, cXyz*) const;
|
||||
void ShdwDraw(cBgS_ShdwDraw*);
|
||||
void GetGrpInf(cBgS_PolyInfo const&) const;
|
||||
|
||||
/* 0x0000 */ cBgS_ChkElm cbgs_elements[256];
|
||||
};
|
||||
#pragma pack(pop)
|
||||
}; // Size = 0x1404
|
||||
|
||||
class dBgS_HIO {
|
||||
/* 0x00 */ u8 vtable[4];
|
||||
@@ -66,10 +68,11 @@ class dBgS_HIO {
|
||||
};
|
||||
|
||||
class dBgS_Acch;
|
||||
#pragma pack(push, 1)
|
||||
class dBgS {
|
||||
|
||||
class dBgS : public cBgS {
|
||||
public:
|
||||
~dBgS();
|
||||
dBgS() {}
|
||||
~dBgS() {}
|
||||
void Ct();
|
||||
void Dt();
|
||||
void ClrMoveFlag();
|
||||
@@ -110,9 +113,8 @@ public:
|
||||
void PushPullCallBack(cBgS_PolyInfo const&, fopAc_ac_c*, s16, dBgW_Base::PushPullLabel);
|
||||
|
||||
private:
|
||||
/* 0x0000 */ cBgS cbgs;
|
||||
/* 0x1400 */ void* vtable;
|
||||
// /* 0x0000 */ cBgS cbgs;
|
||||
// /* 0x1400 */ void* vtable;
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
#endif /* D_BG_D_BG_S_H */
|
||||
|
||||
@@ -95,7 +95,6 @@ struct cBgW {
|
||||
/* 8007B964 */ void ChkMoveBg() const;
|
||||
};
|
||||
|
||||
#pragma pack(push, 1)
|
||||
class dBgW_Base {
|
||||
public:
|
||||
enum PushPullLabel {};
|
||||
@@ -118,7 +117,6 @@ private:
|
||||
s16 field_0xc;
|
||||
s16 field_0xe;
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
class dBgW {
|
||||
public:
|
||||
|
||||
+110
-76
@@ -4,30 +4,61 @@
|
||||
#include "SSystem/SComponent/c_cc_d.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
struct dCcD_SrcTri {};
|
||||
struct dCcD_SrcGAtTgCoCommonBase {
|
||||
/* 0x00 */ u32 mGFlag;
|
||||
};
|
||||
|
||||
struct dCcD_SrcSph {};
|
||||
struct dCcD_SrcGObjAt {
|
||||
u8 mSe;
|
||||
u8 mHitMark;
|
||||
u8 mSpl;
|
||||
u8 mMtrl;
|
||||
dCcD_SrcGAtTgCoCommonBase mBase;
|
||||
};
|
||||
|
||||
struct dCcD_SrcGObjTg {};
|
||||
struct dCcD_SrcGObjTg {
|
||||
u8 mSe;
|
||||
u8 mHitMark;
|
||||
u8 mSpl;
|
||||
u8 mMtrl;
|
||||
dCcD_SrcGAtTgCoCommonBase mBase;
|
||||
};
|
||||
|
||||
struct dCcD_SrcGObjInf {};
|
||||
struct dCcD_SrcGObjInf {
|
||||
cCcD_SrcObj mObj;
|
||||
dCcD_SrcGObjAt mGObjAt;
|
||||
dCcD_SrcGObjTg mGObjTg;
|
||||
dCcD_SrcGAtTgCoCommonBase mGObjCo;
|
||||
};
|
||||
|
||||
struct dCcD_SrcGObjAt {};
|
||||
struct dCcD_SrcSph {
|
||||
dCcD_SrcGObjInf mObjInf;
|
||||
cM3dGSphS mSph;
|
||||
};
|
||||
|
||||
struct dCcD_SrcGAtTgCoCommonBase {};
|
||||
struct dCcD_SrcTri {
|
||||
dCcD_SrcGObjInf mObjInf;
|
||||
};
|
||||
|
||||
struct dCcD_SrcCyl {};
|
||||
struct dCcD_SrcCyl {
|
||||
dCcD_SrcGObjInf mObjInf;
|
||||
cM3dGCylS mCyl;
|
||||
};
|
||||
|
||||
struct dCcD_SrcCps {};
|
||||
struct dCcD_SrcCps {
|
||||
dCcD_SrcGObjInf mObjInf;
|
||||
cM3dGCpsS mCps;
|
||||
};
|
||||
|
||||
class dCcD_GStts : cCcD_GStts {
|
||||
class dCcD_GStts : public cCcD_GStts {
|
||||
public:
|
||||
/* 80083760 */ dCcD_GStts();
|
||||
/* 800837F8 */ void Ct();
|
||||
/* 80083830 */ void Move();
|
||||
/* 8008523C */ ~dCcD_GStts();
|
||||
/* 8008523C */ virtual ~dCcD_GStts() {}
|
||||
void ClrTg() { mTg = 0; }
|
||||
|
||||
private:
|
||||
// private:
|
||||
/* 0x04 */ u8 mAt;
|
||||
/* 0x05 */ u8 mTg;
|
||||
/* 0x06 */ u8 mRoomId;
|
||||
@@ -39,50 +70,55 @@ private:
|
||||
/* 0x1C */ int field_0x1C;
|
||||
}; // Size = 0x20
|
||||
|
||||
// class dCcD_Stts : cCcD_Stts {
|
||||
class dCcD_Stts { // TODO: vtables get messed up :(
|
||||
class dCcD_Stts : public cCcD_Stts, public dCcD_GStts {
|
||||
public:
|
||||
dCcD_Stts() {}
|
||||
/* 80083850 */ cCcD_GStts* GetGStts();
|
||||
/* 80083860 */ void Init(int, int, fopAc_ac_c*);
|
||||
/* 800838F4 */ void Ct();
|
||||
/* 80083928 */ void ClrAt();
|
||||
/* 80083934 */ void ClrTg();
|
||||
/* 800851AC */ ~dCcD_Stts();
|
||||
/* 800851AC */ virtual ~dCcD_Stts() {}
|
||||
|
||||
private:
|
||||
/* 0x00 */ u8 _0[0x1C]; // TODO, should be covered by inheritance
|
||||
/* 0x1C */ dCcD_GStts mGStts;
|
||||
}; // Size = 0x3C
|
||||
|
||||
class dCcD_GAtTgCoCommonBase {
|
||||
public:
|
||||
/* 8008364C */ void ClrActorInfo();
|
||||
/* 80083660 */ void ct();
|
||||
/* 80083678 */ void SetHitApid(unsigned int);
|
||||
/* 80083688 */ void GetAc();
|
||||
/* 80083704 */ void Set(dCcD_SrcGAtTgCoCommonBase const&);
|
||||
/* 80083718 */ void SetEffCounterTimer();
|
||||
/* 80083724 */ void SubtractEffCounter();
|
||||
/* 80083748 */ void ChkEffCounter();
|
||||
/* 80083CA0 */ ~dCcD_GAtTgCoCommonBase();
|
||||
|
||||
private:
|
||||
/* 0x00 */ void* mBase; // type dCcD_SrcGAtTgCoCommonBase*
|
||||
/* 0x00 */ u32 mGFlag;
|
||||
/* 0x04 */ u32 mRPrm;
|
||||
/* 0x08 */ u32 field_0x08;
|
||||
/* 0x0C */ u32 field_0x0C;
|
||||
/* 0x0C */ u32 mApid;
|
||||
/* 0x10 */ fopAc_ac_c* mAc;
|
||||
/* 0x14 */ s8 mEffCounter;
|
||||
/* 0x15 */ u8 field_0x15[3];
|
||||
/* 0x18 */ void* vtable;
|
||||
/* 0x18 vtable */
|
||||
|
||||
public:
|
||||
dCcD_GAtTgCoCommonBase() { ct(); }
|
||||
/* 8008364C */ void ClrActorInfo();
|
||||
/* 80083660 */ void ct();
|
||||
/* 80083678 */ void SetHitApid(unsigned int);
|
||||
/* 80083688 */ fopAc_ac_c* GetAc();
|
||||
/* 80083704 */ void Set(dCcD_SrcGAtTgCoCommonBase const&);
|
||||
/* 80083718 */ void SetEffCounterTimer();
|
||||
/* 80083724 */ void SubtractEffCounter();
|
||||
/* 80083748 */ bool ChkEffCounter();
|
||||
/* 80083CA0 */ virtual ~dCcD_GAtTgCoCommonBase() {}
|
||||
void ResetEffCounter() { mEffCounter = 0; }
|
||||
u32 GetGFlag() const { return mGFlag; }
|
||||
u32 GetRPrm() const { return mRPrm; }
|
||||
u32 MskSPrm(u32 mask) const { return mGFlag & mask; }
|
||||
bool ChkSPrm(u32 mask) const { return MskSPrm(mask); }
|
||||
}; // Size = 0x1C
|
||||
|
||||
class dCcD_GObjAt : dCcD_GAtTgCoCommonBase {
|
||||
class dCcD_GObjAt : public dCcD_GAtTgCoCommonBase {
|
||||
public:
|
||||
/* 80083944 */ void Set(dCcD_SrcGObjAt const&);
|
||||
/* 80083C44 */ ~dCcD_GObjAt();
|
||||
/* 80083C44 */ virtual ~dCcD_GObjAt() {}
|
||||
void SetVec(cXyz& vec) { mVec = vec; }
|
||||
cXyz& GetVec() { return mVec; }
|
||||
|
||||
private:
|
||||
// private:
|
||||
/* 0x1C */ u8 mSe;
|
||||
/* 0x1D */ u8 mMtrl;
|
||||
/* 0x1E */ u8 mHitMark;
|
||||
@@ -91,10 +127,12 @@ private:
|
||||
/* 0x2C */ cXyz mVec;
|
||||
/* 0x38 */ cXyz mRVec;
|
||||
}; // Size = 0x44
|
||||
class dCcD_GObjTg : dCcD_GAtTgCoCommonBase {
|
||||
class dCcD_GObjTg : public dCcD_GAtTgCoCommonBase {
|
||||
public:
|
||||
/* 800839A0 */ void Set(dCcD_SrcGObjTg const&);
|
||||
/* 80083BE8 */ ~dCcD_GObjTg();
|
||||
/* 80083BE8 */ virtual ~dCcD_GObjTg() {}
|
||||
void SetVec(cXyz& vec) { mVec = vec; }
|
||||
cXyz& GetVec() { return mVec; }
|
||||
|
||||
private:
|
||||
/* 0x1C */ u8 mSe;
|
||||
@@ -107,89 +145,85 @@ private:
|
||||
/* 0x44 */ s16* mShieldFrontRangeYAngle;
|
||||
/* 0x48 */ s16 mShieldRange;
|
||||
}; // Size = 0x4A ?
|
||||
class dCcD_GObjCo : dCcD_GAtTgCoCommonBase {
|
||||
class dCcD_GObjCo : public dCcD_GAtTgCoCommonBase {
|
||||
public:
|
||||
/* 80083B8C */ ~dCcD_GObjCo();
|
||||
|
||||
private:
|
||||
/* 80083B8C */ virtual ~dCcD_GObjCo() {}
|
||||
}; // Size = 0x1C ?
|
||||
|
||||
class dCcD_GObjInf : cCcD_GObjInf {
|
||||
class dCcD_GObjInf : public cCcD_GObjInf {
|
||||
public:
|
||||
/* 80083A28 */ dCcD_GObjInf();
|
||||
/* 800840E4 */ ~dCcD_GObjInf();
|
||||
/* 800840E4 */ virtual ~dCcD_GObjInf();
|
||||
/* 80084268 */ cCcD_GObjInf* GetGObjInf();
|
||||
/* 8008426C */ void ClrAtHit();
|
||||
/* 800842C0 */ void ChkAtHit();
|
||||
/* 8008426C */ virtual void ClrAtHit();
|
||||
/* 800842C0 */ s32 ChkAtHit();
|
||||
/* 80084318 */ void ResetAtHit();
|
||||
/* 80084358 */ void GetAtHitObj();
|
||||
/* 800843A8 */ void GetAtHitGObj();
|
||||
/* 800843DC */ void ChkAtNoGuard();
|
||||
/* 80084358 */ cCcD_Obj* GetAtHitObj();
|
||||
/* 800843A8 */ cCcD_GObjInf* GetAtHitGObj();
|
||||
/* 800843DC */ bool ChkAtNoGuard();
|
||||
/* 800843FC */ void ClrTgHit();
|
||||
/* 80084460 */ void ChkTgHit();
|
||||
/* 80084460 */ bool ChkTgHit();
|
||||
/* 800844B8 */ void ResetTgHit();
|
||||
/* 800844F8 */ void GetTgHitObj();
|
||||
/* 80084548 */ void GetTgHitGObj();
|
||||
/* 8008457C */ void GetTgHitObjSe();
|
||||
/* 800845B0 */ void getHitSeID(u8, int);
|
||||
/* 800844F8 */ cCcD_Obj* GetTgHitObj();
|
||||
/* 80084548 */ dCcD_GObjInf* GetTgHitGObj();
|
||||
/* 8008457C */ u8 GetTgHitObjSe();
|
||||
/* 800845B0 */ static u32 getHitSeID(u8, int);
|
||||
/* 8008460C */ void ClrCoHit();
|
||||
/* 80084658 */ void ChkCoHit();
|
||||
/* 80084658 */ bool ChkCoHit();
|
||||
/* 800846B0 */ void ResetCoHit();
|
||||
/* 800846F0 */ void GetCoHitObj();
|
||||
/* 800846F0 */ cCcD_Obj* GetCoHitObj();
|
||||
/* 80084740 */ void Set(dCcD_SrcGObjInf const&);
|
||||
|
||||
static u8 const m_hitSeID[96];
|
||||
void SetAtVec(cXyz& vec) { mGObjAt.SetVec(vec); }
|
||||
bool ChkAtNoMass() const { return mGObjAt.ChkSPrm(8); }
|
||||
|
||||
private:
|
||||
static u32 const m_hitSeID[24];
|
||||
|
||||
protected:
|
||||
/* 0x058 */ dCcD_GObjAt mGObjAt;
|
||||
/* 0x09C */ dCcD_GObjTg mGObjTg;
|
||||
/* 0x0E8 */ dCcD_GObjCo mGObjCo;
|
||||
}; // Size = 0x104
|
||||
|
||||
class dCcD_Cyl : dCcD_GObjInf {
|
||||
class dCcD_Cyl : public dCcD_GObjInf, public cCcD_CylAttr {
|
||||
public:
|
||||
/* 800848B4 */ void Set(dCcD_SrcCyl const&);
|
||||
/* 800848F8 */ cCcD_ShapeAttr* GetShapeAttr();
|
||||
/* 80084908 */ void StartCAt(cXyz&);
|
||||
/* 80084954 */ void MoveCAt(cXyz&);
|
||||
/* 800849C4 */ void MoveCTg(cXyz&);
|
||||
/* 80084D60 */ ~dCcD_Cyl();
|
||||
dCcD_Cyl();
|
||||
|
||||
private:
|
||||
/* 0x104 */ cCcD_CylAttr mCylAttr;
|
||||
/* 80084D60 */ virtual ~dCcD_Cyl() {}
|
||||
dCcD_Cyl() {}
|
||||
}; // Size = 0x13C
|
||||
|
||||
class dCcD_Sph : dCcD_GObjInf {
|
||||
class dCcD_Sph : public dCcD_GObjInf, public cCcD_SphAttr {
|
||||
public:
|
||||
dCcD_Sph() {}
|
||||
/* 80084A34 */ void Set(dCcD_SrcSph const&);
|
||||
/* 80084A78 */ void StartCAt(cXyz&);
|
||||
/* 80084AC4 */ void MoveCAt(cXyz&);
|
||||
/* 80084B34 */ cCcD_ShapeAttr* GetShapeAttr();
|
||||
/* 80084BF4 */ ~dCcD_Sph();
|
||||
|
||||
private:
|
||||
/* 0x104 */ cCcD_SphAttr mSphAttr;
|
||||
/* 80084B34 */ virtual cCcD_ShapeAttr* GetShapeAttr();
|
||||
/* 80084BF4 */ virtual ~dCcD_Sph() {}
|
||||
}; // Size = 0x138
|
||||
|
||||
class dCcD_Cps : dCcD_GObjInf {
|
||||
class dCcD_Cps : public dCcD_GObjInf, public cCcD_CpsAttr {
|
||||
public:
|
||||
/* 800847D0 */ void Set(dCcD_SrcCps const&);
|
||||
/* 80084814 */ cCcD_ShapeAttr* GetShapeAttr();
|
||||
/* 80084824 */ void CalcAtVec();
|
||||
/* 80084854 */ void CalcTgVec();
|
||||
/* 8008506C */ ~dCcD_Cps();
|
||||
dCcD_Cps();
|
||||
|
||||
private:
|
||||
/* 0x104 */ cCcD_CpsAttr mCpsAttr;
|
||||
/* 8008506C */ virtual ~dCcD_Cps() {}
|
||||
dCcD_Cps() {}
|
||||
}; // Size = 0x144
|
||||
|
||||
class dCcD_Tri {
|
||||
class dCcD_Tri : public dCcD_GObjInf, public cCcD_TriAttr {
|
||||
public:
|
||||
/* 80084884 */ void Set(dCcD_SrcTri const&);
|
||||
/* 800848A4 */ cCcD_ShapeAttr* GetShapeAttr();
|
||||
/* 80084EF4 */ ~dCcD_Tri();
|
||||
/* 80084EF4 */ virtual ~dCcD_Tri() {}
|
||||
dCcD_Tri() {}
|
||||
};
|
||||
|
||||
dCcD_GObjInf* dCcD_GetGObjInf(cCcD_Obj* param_0);
|
||||
|
||||
#endif /* D_CC_D_CC_D_H */
|
||||
|
||||
+50
-17
@@ -4,24 +4,44 @@
|
||||
#include "SSystem/SComponent/c_cc_d.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
typedef void (*dCcMassS_ObjCallback)(fopAc_ac_c*, cXyz*, u32);
|
||||
|
||||
class dCcMassS_Obj {
|
||||
private:
|
||||
/* 0x00 */ cCcD_Obj* mpObj;
|
||||
/* 0x04 */ u8 mPriority;
|
||||
/* 0x08 */ dCcMassS_ObjCallback mpCallback;
|
||||
/* 0x0C */ cCcD_DivideInfo mDivideInfo;
|
||||
/* 0x1C vtable */
|
||||
public:
|
||||
dCcMassS_Obj();
|
||||
~dCcMassS_Obj();
|
||||
|
||||
private:
|
||||
u8 field_0x0[12];
|
||||
cCcD_DivideInfo cccd_divideinfo;
|
||||
void* vtable;
|
||||
virtual ~dCcMassS_Obj() {}
|
||||
/* 800852E0 */ void Set(cCcD_Obj*, u8, void (*)(fopAc_ac_c*, cXyz*, u32));
|
||||
/* 800852F0 */ void Clear();
|
||||
cCcD_Obj* GetObj() { return mpObj; }
|
||||
u8 GetPriority() const { return mPriority; }
|
||||
dCcMassS_ObjCallback GetCallback() const { return mpCallback; }
|
||||
cCcD_DivideInfo& GetDivideInfo() { return mDivideInfo; }
|
||||
}; // Size = 0x20
|
||||
|
||||
STATIC_ASSERT(0x20 == sizeof(dCcMassS_Obj));
|
||||
|
||||
class dCcMassS_Mng {
|
||||
public:
|
||||
dCcMassS_Mng(void);
|
||||
~dCcMassS_Mng();
|
||||
class dCcMassS_HitInf {
|
||||
private:
|
||||
/* 0x00 */ cCcD_Obj* mpArea;
|
||||
/* 0x04 */ cCcD_Obj* mpAtObj;
|
||||
/* 0x08 */ cCcD_Obj* mpCoObj;
|
||||
/* 0x0C */ f32 mCoHitLen;
|
||||
|
||||
public:
|
||||
/* 80085334 */ void ClearPointer();
|
||||
void SetAreaHitObj(cCcD_Obj* obj) { mpArea = obj; }
|
||||
void SetCoHitObj(cCcD_Obj* obj) { mpCoObj = obj; }
|
||||
void SetAtHitObj(cCcD_Obj* obj) { mpAtObj = obj; }
|
||||
void SetCoHitLen(f32 len) { mCoHitLen = len; }
|
||||
};
|
||||
|
||||
class dCcMassS_Mng {
|
||||
public:
|
||||
/* 0x0000 */ cCcD_DivideArea mDivideArea;
|
||||
/* 0x0040 */ s32 mMassObjCount;
|
||||
@@ -29,16 +49,29 @@ public:
|
||||
/* 0x0184 */ s32 mMassAreaCount;
|
||||
/* 0x0188 */ dCcMassS_Obj mMassAreas[2];
|
||||
/* 0x01C8 */ cCcD_CylAttr mCylAttr;
|
||||
/* 0x0200 */ u8 field_0x200[2];
|
||||
/* 0x0200 */ u8 field_0x200;
|
||||
/* 0x0200 */ u8 field_0x201;
|
||||
/* 0x0202 */ u8 field_0x202;
|
||||
/* 0x0203 */ u8 field_0x203;
|
||||
/* 0x0204 */ cXyz mCamTopPos;
|
||||
/* 0x0203 */ u8 mResultCam;
|
||||
/* 0x0204 */ Vec mCamTopPos;
|
||||
/* 0x0210 */ f32 mCamTopDist;
|
||||
/* 0x0214 */ cXyz mCamBottomPos;
|
||||
/* 0x0214 */ Vec mCamBottomPos;
|
||||
/* 0x0220 */ f32 mCamBottomDist;
|
||||
/* 0x0224 */ cCcD_CpsAttr cccd_cpsattr;
|
||||
/* 0x0264 */ cCcD_DivideInfo cccd_divideinfo;
|
||||
/* 0x0274 */ void* vtable;
|
||||
/* 0x0224 */ cCcD_CpsAttr mCpsAttr;
|
||||
/* 0x0264 */ cCcD_DivideInfo mDivideInfo;
|
||||
/* 0x0274 vtable */
|
||||
public:
|
||||
dCcMassS_Mng(void);
|
||||
virtual ~dCcMassS_Mng() {}
|
||||
/* 800855E4 */ void Ct();
|
||||
/* 80085630 */ void SetAttr(f32, f32, u8, u8);
|
||||
/* 80085690 */ void Prepare();
|
||||
/* 800858AC */ u32 Chk(cXyz*, fopAc_ac_c**, dCcMassS_HitInf*);
|
||||
/* 80085CF0 */ void Clear();
|
||||
/* 80085D98 */ void Set(cCcD_Obj*, u8);
|
||||
/* 80085E6C */ void SetCam(cM3dGCps const&);
|
||||
/* 80085EB0 */ u8 GetResultCam() const;
|
||||
/* 80085EB8 */ void GetCamTopPos(Vec*);
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(dCcMassS_Mng) == 0x278);
|
||||
|
||||
@@ -6,15 +6,15 @@
|
||||
#include "d/cc/d_cc_mass_s.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
class dCcS {
|
||||
class dCcS : public cCcS {
|
||||
public:
|
||||
/* 8002FF40 */ ~dCcS();
|
||||
dCcS() {}
|
||||
/* 80085ED4 */ void Ct();
|
||||
/* 80085F08 */ void Dt();
|
||||
/* 80085F28 */ void ChkShieldFrontRange(cCcD_Obj*, cCcD_Obj*, int, cXyz const*);
|
||||
/* 800860F8 */ void ChkShield(cCcD_Obj*, cCcD_Obj*, dCcD_GObjInf*, dCcD_GObjInf*, cXyz const*);
|
||||
/* 800861B0 */ void CalcTgPlusDmg(cCcD_Obj*, cCcD_Obj*, cCcD_Stts*, cCcD_Stts*);
|
||||
/* 800861B4 */ void ChkAtTgHitAfterCross(bool, bool, cCcD_GObjInf const*, cCcD_GObjInf const*,
|
||||
/* 800861B4 */ bool ChkAtTgHitAfterCross(bool, bool, cCcD_GObjInf const*, cCcD_GObjInf const*,
|
||||
cCcD_Stts*, cCcD_Stts*, cCcD_GStts*, cCcD_GStts*);
|
||||
/* 80086240 */ void SetCoGObjInf(bool, bool, cCcD_GObjInf*, cCcD_GObjInf*, cCcD_Stts*,
|
||||
cCcD_Stts*, cCcD_GStts*, cCcD_GStts*);
|
||||
@@ -37,13 +37,14 @@ public:
|
||||
/* 800872D0 */ void Draw();
|
||||
/* 8008730C */ void MassClear();
|
||||
/* 80087330 */ void ChkAtTgMtrlHit(u8, u8);
|
||||
/* 8008734C */ void ChkNoHitGAtTg(cCcD_GObjInf const*, cCcD_GObjInf const*, cCcD_GStts*,
|
||||
/* 8008734C */ bool ChkNoHitGAtTg(cCcD_GObjInf const*, cCcD_GObjInf const*, cCcD_GStts*,
|
||||
cCcD_GStts*);
|
||||
/* 8002FF40 */ virtual ~dCcS() {}
|
||||
|
||||
static u8 m_mtrl_hit_tbl[64];
|
||||
|
||||
private:
|
||||
/* 0x0000 */ cCcS mCCcS;
|
||||
// /* 0x0000 */ cCcS mCCcS;
|
||||
/* 0x284C */ dCcMassS_Mng mMass_Mng;
|
||||
}; // Size = 0x2AC4
|
||||
|
||||
|
||||
@@ -24,22 +24,37 @@ struct dTimer_c {
|
||||
/* 8025D9E0 */ void deleteRequest();
|
||||
};
|
||||
|
||||
#pragma pack(push, 1)
|
||||
class __d_timer_info_c {
|
||||
public:
|
||||
__d_timer_info_c() {
|
||||
mTimerMode = -1;
|
||||
mTimerLimitTimeMs = 0;
|
||||
mTimerNowTimeMs = 0;
|
||||
mTimerPtr = NULL;
|
||||
}
|
||||
dTimer_c* mTimerPtr;
|
||||
s32 mTimerNowTimeMs;
|
||||
s32 mTimerLimitTimeMs;
|
||||
s32 mTimerMode;
|
||||
u8 mTimerType;
|
||||
};
|
||||
|
||||
class dComIfG_camera_info_class {
|
||||
public:
|
||||
dComIfG_camera_info_class(void);
|
||||
/* 80030208 */ ~dComIfG_camera_info_class();
|
||||
dComIfG_camera_info_class(void) {}
|
||||
/* 80030208 */ ~dComIfG_camera_info_class() {}
|
||||
|
||||
private:
|
||||
u8 field_0x0[12];
|
||||
cXyz field_0xc;
|
||||
cXyz field_0x18;
|
||||
u8 field_0x24[0x14];
|
||||
};
|
||||
#pragma pack(pop)
|
||||
STATIC_ASSERT(sizeof(dComIfG_camera_info_class) == 0x38);
|
||||
|
||||
#pragma pack(push, 1)
|
||||
class dComIfG_play_c {
|
||||
public:
|
||||
dComIfG_play_c() { this->ct(); }
|
||||
void ct(void);
|
||||
void init(void);
|
||||
void itemInit(void);
|
||||
@@ -72,12 +87,12 @@ public:
|
||||
void setWarpItemData(const char*, cXyz, s16, s8, u8, u8);
|
||||
void setSelectItem(int, u8);
|
||||
void setSelectItemTest(int, u8);
|
||||
~dComIfG_play_c();
|
||||
~dComIfG_play_c() {}
|
||||
|
||||
// inlines
|
||||
bool& isPauseFlag() { return mPauseFlag; }
|
||||
void* getMsgObjectClass() { return mMsgObjectClass; }
|
||||
dStage_roomControl_c* getRoomControl() { return mRoomControl; }
|
||||
dStage_roomControl_c* getRoomControl() { return &mRoomControl; }
|
||||
dEvt_control_c getEvent() { return mEvent; }
|
||||
daHorse_c* getHorseActor() { return mHorseActor; }
|
||||
u8& getItemLifeCountType() { return mItemLifeCountType; }
|
||||
@@ -134,7 +149,7 @@ public:
|
||||
/* 0x03ED6 */ dStage_nextStage_c mNextStage;
|
||||
/* 0x03EE7 */ u8 field_0x3ee7; // probably padding
|
||||
/* 0x03EE8 */ dStage_stageDt_c mStageData;
|
||||
/* 0x03F8C */ dStage_roomControl_c* mRoomControl;
|
||||
/* 0x03F8C */ dStage_roomControl_c mRoomControl;
|
||||
/* 0x03F90 */ dEvt_control_c mEvent;
|
||||
/* 0x040C0 */ dEvent_manager_c mEvtManager;
|
||||
/* 0x04780 */ dAttention_c mAttention;
|
||||
@@ -171,21 +186,8 @@ public:
|
||||
/* 0x04E0C */ u8 mWindowNum;
|
||||
/* 0x04E0D */ u8 mLayerOld;
|
||||
/* 0x04E0E */ u16 mStatus;
|
||||
/* 0x04E10 */ dDlst_window_c mWindow;
|
||||
/* 0x04E3C */ dComIfG_camera_info_class* mCameraInfo;
|
||||
/* 0x04E40 */ s8 mCameraWinID;
|
||||
/* 0x04E41 */ s8 mCameraPlayer1ID;
|
||||
/* 0x04E42 */ s8 mCameraPlayer2ID;
|
||||
/* 0x04E43 */ u8 field_0x4e43;
|
||||
/* 0x04E44 */ int mCameraAttentionStatus;
|
||||
/* 0x04E48 */ float mCameraZoomScale;
|
||||
/* 0x04E4C */ float mCameraZoomForcus;
|
||||
/* 0x04E50 */ void* mCameraParamFileName;
|
||||
/* 0x04E54 */ cXyz mCameraPos;
|
||||
/* 0x04E60 */ cXyz mCameraTarget;
|
||||
/* 0x04E6C */ float mCameraUnk1;
|
||||
/* 0x04E70 */ s16 mCameraUnk2;
|
||||
/* 0x04E72 */ s16 field_0x4e72;
|
||||
/* 0x04E10 */ dDlst_window_c mWindow[1];
|
||||
/* 0x04E3C */ dComIfG_camera_info_class mCameraInfo[1];
|
||||
/* 0x04E74 */ daAlink_c* mPlayer;
|
||||
/* 0x04E78 */ s8 mPlayerCameraID[4];
|
||||
/* 0x04E7C */ daAlink_c* mPlayerPtr;
|
||||
@@ -351,26 +353,35 @@ public:
|
||||
/* 0x04FDC */ fopAc_ac_c* mMesgCamInfoActor10;
|
||||
/* 0x04FE0 */ int mPlayerStatus;
|
||||
/* 0x04FE4 */ u8 field_0x4fe4[0x14];
|
||||
/* 0x04FF8 */ dTimer_c* mTimerPtr;
|
||||
/* 0x04FFC */ int mTimerNowTimeMs;
|
||||
/* 0x05000 */ int mTimerLimitTimeMs;
|
||||
/* 0x05004 */ int mTimerMode;
|
||||
/* 0x05008 */ u8 mTimerType;
|
||||
/* 0x04FF8 */ __d_timer_info_c mTimerInfo;
|
||||
/* 0x0500C */ dDlst_window_c* mCurrentWindow;
|
||||
/* 0x05010 */ void* mCurrentView;
|
||||
/* 0x05014 */ void* mCurrentViewport;
|
||||
/* 0x05018 */ void* mCurrentGrafPort;
|
||||
/* 0x0501C */ void* mItemTable;
|
||||
/* 0x0501D */ u8 field_0x501d[7];
|
||||
/* 0x0501D */ u8 field_0x501d[4];
|
||||
/* 0x05024 */ char mLastPlayStageName[8];
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
class dRes_control_c {
|
||||
public:
|
||||
dRes_control_c() {}
|
||||
/* 8003BFB0 */ ~dRes_control_c();
|
||||
/* 8003C078 */ void setRes(char const*, dRes_info_c*, int, char const*, u8, JKRHeap*);
|
||||
/* 8003C160 */ void syncRes(char const*, dRes_info_c*, int);
|
||||
/* 8003C194 */ void deleteRes(char const*, dRes_info_c*, int);
|
||||
/* 8003C37C */ void getRes(char const*, char const*, dRes_info_c*, int);
|
||||
|
||||
private:
|
||||
/* 0x0000 */ dRes_info_c mResInfos1[0x80];
|
||||
/* 0x1200 */ dRes_info_c mResInfos2[0x40];
|
||||
}; // Size: 0x1B00
|
||||
|
||||
#pragma pack(push, 1)
|
||||
class dComIfG_inf_c {
|
||||
public:
|
||||
dComIfG_inf_c(void);
|
||||
~dComIfG_inf_c();
|
||||
dComIfG_inf_c(void) { this->ct(); }
|
||||
~dComIfG_inf_c() {}
|
||||
void ct(void);
|
||||
|
||||
// temp for setWarashibeItem
|
||||
@@ -393,11 +404,8 @@ private:
|
||||
/* 0x00000 */ dSv_info_c info;
|
||||
/* 0x00F38 */ dComIfG_play_c play;
|
||||
/* 0x05F64 */ dDlst_list_c draw_list_list;
|
||||
/* 0x1C110 */ u8 field_0x1C114[0x1E8];
|
||||
/* 0x1C2F8 */ dRes_info_c resource_info1;
|
||||
/* 0x1C31C */ u8 unk19[0x11DC];
|
||||
/* 0x1D4F8 */ dRes_info_c resource_info2;
|
||||
/* 0x1D51C */ u8 unk20[0x8DA];
|
||||
/* 0x1C110 */ u8 field_0x1C114[0x1E8 - 0xA];
|
||||
/* 0x1C2F8 */ dRes_control_c mResControl;
|
||||
/* 0x1DDF8 */ u8 field_0x1ddf8;
|
||||
/* 0x1DDF9 */ u8 mWorldDark;
|
||||
/* 0x1DDFA */ u8 field_0x1ddfa;
|
||||
@@ -408,29 +416,15 @@ private:
|
||||
/* 0x1DE08 */ u8 field_0x1de08;
|
||||
/* 0x1DE09 */ u8 field_0x1de09;
|
||||
/* 0x1DE0A */ u8 field_0x1de0a;
|
||||
u8 _pad[8];
|
||||
|
||||
static u8 dComIfG_mTimerInfo[20];
|
||||
static __d_timer_info_c dComIfG_mTimerInfo;
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
class __d_timer_info_c {
|
||||
public:
|
||||
__d_timer_info_c() {
|
||||
field_0xc = -1;
|
||||
field_0x8 = 0;
|
||||
field_0x4 = 0;
|
||||
field_0x0 = 0;
|
||||
}
|
||||
u32 field_0x0;
|
||||
u32 field_0x4;
|
||||
u32 field_0x8;
|
||||
u32 field_0xc;
|
||||
u32 field_0x10;
|
||||
};
|
||||
|
||||
STATIC_ASSERT(122384 == sizeof(dComIfG_inf_c));
|
||||
|
||||
// extern dComIfG_inf_c g_dComIfG_gameInfo;
|
||||
extern dComIfG_inf_c g_dComIfG_gameInfo;
|
||||
|
||||
/* void dComIfGp_setItemLifeCount(float, u8);
|
||||
void dComIfGp_setItemRupeeCount(long);
|
||||
|
||||
+20
-14
@@ -11,6 +11,7 @@ struct J3DTransformInfo {};
|
||||
|
||||
class dAttHint_c {
|
||||
public:
|
||||
dAttHint_c() {}
|
||||
/* 800738B4 */ void getPId(void*);
|
||||
/* 800738CC */ void convPId(unsigned int);
|
||||
/* 800738FC */ void request(fopAc_ac_c*, int);
|
||||
@@ -25,6 +26,7 @@ private:
|
||||
|
||||
class dAttCatch_c {
|
||||
public:
|
||||
dAttCatch_c() {}
|
||||
void convPId(unsigned int);
|
||||
void init();
|
||||
void proc();
|
||||
@@ -43,12 +45,8 @@ private:
|
||||
}; // Size = 0x14
|
||||
|
||||
class dAttParam_c {
|
||||
public:
|
||||
/* 80070038 */ dAttParam_c(s32);
|
||||
/* 80070110 */ ~dAttParam_c();
|
||||
|
||||
private:
|
||||
/* 0x00 */ void* vtable;
|
||||
/* 0x00 vtable */
|
||||
/* 0x04 */ u8 field_0x4;
|
||||
/* 0x05 */ u8 field_0x5;
|
||||
/* 0x06 */ u16 mFlag;
|
||||
@@ -66,6 +64,13 @@ private:
|
||||
/* 0x34 */ float field_0x34;
|
||||
/* 0x38 */ u8 field_0x38;
|
||||
/* 0x39 */ u8 field_0x39;
|
||||
|
||||
public:
|
||||
dAttParam_c() {}
|
||||
/* 80070038 */ dAttParam_c(s32);
|
||||
/* 80070110 */ virtual ~dAttParam_c();
|
||||
|
||||
private:
|
||||
/* 0x3C */ float field_0x3c;
|
||||
/* 0x40 */ float field_0x40;
|
||||
/* 0x44 */ u32 field_0x44;
|
||||
@@ -89,8 +94,8 @@ private:
|
||||
#pragma pack(push, 1)
|
||||
class dAttList_c {
|
||||
public:
|
||||
/* 800304D0 */ ~dAttList_c();
|
||||
/* 8003050C */ dAttList_c();
|
||||
/* 800304D0 */ ~dAttList_c() {}
|
||||
/* 8003050C */ dAttList_c() {}
|
||||
/* 80073864 */ void getActor();
|
||||
/* 80073898 */ void setActor(fopAc_ac_c*);
|
||||
|
||||
@@ -98,13 +103,13 @@ private:
|
||||
u8 field_0x0[8];
|
||||
cSAngle angle;
|
||||
u8 field_0xa[10];
|
||||
};
|
||||
}; // Size = 0x14
|
||||
#pragma pack(pop)
|
||||
|
||||
class dAttDraw_c {
|
||||
public:
|
||||
/* 8003054C */ ~dAttDraw_c();
|
||||
/* 800307F0 */ dAttDraw_c();
|
||||
/* 8003054C */ ~dAttDraw_c() {}
|
||||
/* 800307F0 */ dAttDraw_c() {}
|
||||
/* 80072DD8 */ void setAnm(u8, f32);
|
||||
/* 80072FE8 */ void setAlphaAnm(u8, u8);
|
||||
/* 80073004 */ void alphaAnm();
|
||||
@@ -136,15 +141,16 @@ public:
|
||||
/* 0x175 */ u8 field_0x175;
|
||||
};
|
||||
|
||||
class dAttDraw_CallBack_c {
|
||||
public:
|
||||
/* 80070178 */ void execute(u16, J3DTransformInfo*);
|
||||
STATIC_ASSERT(sizeof(dAttDraw_c) == 0x178);
|
||||
|
||||
mDoExt_McaMorfCallBack1_c mDoExt_McaMorfCallback;
|
||||
class dAttDraw_CallBack_c : public mDoExt_McaMorfCallBack1_c {
|
||||
public:
|
||||
/* 80070178 */ virtual void execute(u16, J3DTransformInfo*);
|
||||
};
|
||||
|
||||
class dAttention_c {
|
||||
public:
|
||||
dAttention_c() {}
|
||||
/* 80070198 */ dAttention_c(fopAc_ac_c*, u32);
|
||||
/* 80070774 */ ~dAttention_c();
|
||||
/* 80070844 */ void GetLockonList(s32);
|
||||
|
||||
@@ -26,11 +26,10 @@ public:
|
||||
}; // actual size unknown!!!
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push, 1)
|
||||
class dDlst_window_c {
|
||||
public:
|
||||
dDlst_window_c(void);
|
||||
~dDlst_window_c();
|
||||
dDlst_window_c(void) {}
|
||||
~dDlst_window_c() {}
|
||||
/* 80051AC0 */ void setViewPort(f32, f32, f32, f32, f32, f32);
|
||||
/* 80051ADC */ void setScissor(f32, f32, f32, f32);
|
||||
|
||||
@@ -47,7 +46,8 @@ private:
|
||||
float scissor4;
|
||||
int camera_id;
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
STATIC_ASSERT(sizeof(dDlst_window_c) == 0x2C);
|
||||
|
||||
class dDlst_base_c {
|
||||
public:
|
||||
|
||||
+227
-127
@@ -2,6 +2,7 @@
|
||||
#define D_D_STAGE_H
|
||||
|
||||
#include "JSystem/JKernel/JKRExpHeap.h"
|
||||
#include "d/kankyo/d_kankyo.h"
|
||||
#include "d/save/d_save.h"
|
||||
#include "dolphin/types.h"
|
||||
#include "f_op/f_op_actor.h"
|
||||
@@ -13,19 +14,14 @@ struct stage_vrbox_info_class {};
|
||||
|
||||
struct stage_tresure_class {};
|
||||
|
||||
class stage_tgsc_data_class {
|
||||
public:
|
||||
/* 8002847C */ ~stage_tgsc_data_class();
|
||||
/* 800284B8 */ stage_tgsc_data_class();
|
||||
|
||||
private:
|
||||
/* 0x00 */ u32 field_0x00;
|
||||
/* 0x04 */ u32 field_0x04;
|
||||
/* 0x08 */ u8 field_0x08[0x18]; // fopAcM_prmBase_class
|
||||
/* 0x20 */ u16 field_0x20;
|
||||
/* 0x22 */ u8 field_0x22;
|
||||
struct stage_tgsc_data_class {
|
||||
/* 8002847C */ ~stage_tgsc_data_class() {}
|
||||
/* 800284B8 */ stage_tgsc_data_class() {}
|
||||
u8 unk_0[0x24];
|
||||
}; // Size = 0x24
|
||||
|
||||
STATIC_ASSERT(sizeof(stage_tgsc_data_class) == 0x24);
|
||||
|
||||
struct stage_tgsc_class {};
|
||||
|
||||
struct stage_stag_info_class {};
|
||||
@@ -52,9 +48,7 @@ struct stage_camera2_data_class {};
|
||||
|
||||
struct stage_arrow_class {};
|
||||
|
||||
struct stage_actor_data_class {
|
||||
/* 0x00 */ const char* mName;
|
||||
};
|
||||
struct stage_actor_data_class {};
|
||||
|
||||
struct stage_actor_class {};
|
||||
|
||||
@@ -88,112 +82,205 @@ struct dStage_MapEventInfo_c {};
|
||||
|
||||
class dStage_dt_c {
|
||||
public:
|
||||
dStage_dt_c() {}
|
||||
void setRoomNo(s8 roomNo) { mRoomNo = roomNo; }
|
||||
s8 getRoomNo() { return mRoomNo; }
|
||||
|
||||
/* vt[ 2] */ virtual void init(void) = 0;
|
||||
/* vt[ 3] */ virtual void setCamera(stage_camera_class*) = 0;
|
||||
/* vt[ 4] */ virtual stage_camera_class* getCamera(void) const = 0;
|
||||
/* vt[ 5] */ virtual void setArrow(stage_arrow_class*) = 0;
|
||||
/* vt[ 6] */ virtual stage_arrow_class* getArrow(void) const = 0;
|
||||
/* vt[ 7] */ virtual void setPlayer(stage_actor_class*) = 0;
|
||||
/* vt[ 8] */ virtual stage_actor_class* getPlayer(void) const = 0;
|
||||
/* vt[ 9] */ virtual void setPlayerNum(u16) = 0;
|
||||
/* vt[10] */ virtual u16 getPlayerNum(void) const = 0;
|
||||
/* vt[11] */ virtual void setRoom(roomRead_class*) = 0;
|
||||
/* vt[12] */ virtual roomRead_class* getRoom(void) const = 0;
|
||||
/* vt[13] */ virtual void setMapInfo(stage_map_info_class*) = 0;
|
||||
/* vt[14] */ virtual stage_map_info_class* getMapInfo(void) const = 0;
|
||||
/* vt[15] */ virtual int getMapInfo2(int) const = 0;
|
||||
/* vt[16] */ virtual void setMapInfoBase(stage_map_info_dummy_class*) = 0;
|
||||
/* vt[17] */ virtual stage_map_info_dummy_class* getMapInfoBase(void) const = 0;
|
||||
/* vt[18] */ virtual void setPaletteInfo(stage_palette_info_class*) = 0;
|
||||
/* vt[19] */ virtual stage_palette_info_class* getPaletteInfo(void) const = 0;
|
||||
/* vt[20] */ virtual void setPselectInfo(stage_pselect_info_class*) = 0;
|
||||
/* vt[21] */ virtual stage_pselect_info_class* getPselectInfo(void) const = 0;
|
||||
/* vt[22] */ virtual void setEnvrInfo(stage_envr_info_class*) = 0;
|
||||
/* vt[23] */ virtual stage_envr_info_class* getEnvrInfo(void) const = 0;
|
||||
/* vt[24] */ virtual void setVrboxInfo(stage_vrbox_info_class*) = 0;
|
||||
/* vt[25] */ virtual stage_vrbox_info_class* getVrboxInfo(void) const = 0;
|
||||
/* vt[26] */ virtual void setVrboxcolInfo(stage_vrboxcol_info_class*) = 0;
|
||||
/* vt[27] */ virtual stage_vrboxcol_info_class* getVrboxcolInfo(void) const = 0;
|
||||
/* vt[28] */ virtual void setPlightInfo(stage_plight_info_class*) = 0;
|
||||
/* vt[29] */ virtual stage_plight_info_class* getPlightInfo(void) const = 0;
|
||||
/* vt[30] */ virtual void setPaletteNumInfo(int) = 0;
|
||||
/* vt[31] */ virtual int getPaletteNumInfo(void) const = 0;
|
||||
/* vt[32] */ virtual void setPselectNumInfo(int) = 0;
|
||||
/* vt[33] */ virtual int getPselectNumInfo(void) const = 0;
|
||||
/* vt[34] */ virtual void setEnvrNumInfo(int) = 0;
|
||||
/* vt[35] */ virtual int getEnvrNumInfo(void) const = 0;
|
||||
/* vt[36] */ virtual void setVrboxNumInfo(int) = 0;
|
||||
/* vt[37] */ virtual int getVrboxNumInfo(void) const = 0;
|
||||
/* vt[38] */ virtual void setVrboxcolNumInfo(int) = 0;
|
||||
/* vt[39] */ virtual int getVrboxcolNumInfo(void) const = 0;
|
||||
/* vt[40] */ virtual void setPlightNumInfo(int) = 0;
|
||||
/* vt[41] */ virtual int getPlightNumInfo(void) const = 0;
|
||||
/* vt[42] */ virtual void setLightVecInfo(stage_pure_lightvec_info_class*) = 0;
|
||||
/* vt[43] */ virtual stage_pure_lightvec_info_class* getLightVecInfo(void) const = 0;
|
||||
/* vt[44] */ virtual void setLightVecInfoNum(int) = 0;
|
||||
/* vt[45] */ virtual int getLightVecInfoNum(void) const = 0;
|
||||
/* vt[46] */ virtual void setStagInfo(stage_stag_info_class*) = 0;
|
||||
/* vt[47] */ virtual stage_stag_info_class* getStagInfo(void) const = 0;
|
||||
/* vt[48] */ virtual void setSclsInfo(stage_scls_info_dummy_class*) = 0;
|
||||
/* vt[49] */ virtual stage_scls_info_dummy_class* getSclsInfo(void) const = 0;
|
||||
/* vt[50] */ virtual void setPntInfo(dStage_dPnt_c*) = 0;
|
||||
/* vt[51] */ virtual dStage_dPnt_c* getPntInf(void) const = 0;
|
||||
/* vt[52] */ virtual void setPathInfo(dStage_dPath_c*) = 0;
|
||||
/* vt[53] */ virtual dStage_dPath_c* getPathInf(void) const = 0;
|
||||
/* vt[54] */ virtual void setPnt2Info(dStage_dPnt_c*) = 0;
|
||||
/* vt[55] */ virtual dStage_dPnt_c* getPnt2Inf(void) const = 0;
|
||||
/* vt[56] */ virtual void setPath2Info(dStage_dPath_c*) = 0;
|
||||
/* vt[57] */ virtual dStage_dPath_c* getPath2Inf(void) const = 0;
|
||||
/* vt[58] */ virtual void setSoundInf(dStage_SoundInfo_c*) = 0;
|
||||
/* vt[59] */ virtual dStage_SoundInfo_c* getSoundInf(void) const = 0;
|
||||
/* vt[60] */ virtual void setSoundInfCL(dStage_SoundInfo_c*) = 0;
|
||||
/* vt[61] */ virtual dStage_SoundInfo_c* getSoundInfCL(void) const = 0;
|
||||
/* vt[62] */ virtual void setMapEventInfo(dStage_MapEventInfo_c*) = 0;
|
||||
/* vt[63] */ virtual dStage_MapEventInfo_c* getMapEventInfo(void) const = 0;
|
||||
/* vt[64] */ virtual void setFileList2Info(dStage_FileList2_dt_c*) = 0;
|
||||
/* vt[65] */ virtual dStage_FileList2_dt_c* getFileList2Info(void) const = 0;
|
||||
/* vt[66] */ virtual void setFileListInfo(dStage_FileList_dt_c*) = 0;
|
||||
/* vt[67] */ virtual dStage_FileList_dt_c* getFileListInfo(void) const = 0;
|
||||
/* vt[68] */ virtual void setFloorInfo(dStage_FloorInfo_c*) = 0;
|
||||
/* vt[69] */ virtual dStage_FloorInfo_c* getFloorInfo(void) const = 0;
|
||||
/* vt[70] */ virtual void setMemoryConfig(dStage_MemoryConfig_c*) = 0;
|
||||
/* vt[71] */ virtual dStage_MemoryConfig_c* getMemoryConfig(void) const = 0;
|
||||
/* vt[72] */ virtual void setMemoryMap(dStage_MemoryMap_c*) = 0;
|
||||
/* vt[73] */ virtual dStage_MemoryMap_c* getMemoryMap(void) const = 0;
|
||||
/* vt[74] */ virtual void setMulti(dStage_Multi_c*) = 0;
|
||||
/* vt[75] */ virtual dStage_Multi_c* getMulti(void) const = 0;
|
||||
/* vt[76] */ virtual void setOldMulti(void) = 0;
|
||||
/* vt[77] */ virtual void resetOldMulti(void) = 0;
|
||||
/* vt[78] */ virtual dStage_Multi_c* getOldMulti(void) const = 0;
|
||||
/* vt[79] */ virtual void setLbnk(dStage_Lbnk_c*) = 0;
|
||||
/* vt[80] */ virtual dStage_Lbnk_c* getLbnk(void) const = 0;
|
||||
/* vt[81] */ virtual void setTresure(stage_tresure_class*) = 0;
|
||||
/* vt[82] */ virtual stage_tresure_class* getTresure(void) const = 0;
|
||||
/* vt[83] */ virtual void setDMap(dStage_DMap_c*) = 0;
|
||||
/* vt[84] */ virtual dStage_DMap_c* getDMap(void) const = 0;
|
||||
/* vt[85] */ virtual void setDrTg(stage_tgsc_class*) = 0;
|
||||
/* vt[86] */ virtual stage_tgsc_class* getDrTg(void) const = 0;
|
||||
/* vt[87] */ virtual void setDoor(stage_tgsc_class*) = 0;
|
||||
/* vt[88] */ virtual stage_tgsc_class* getDoor(void) const = 0;
|
||||
/* vt[89] */ virtual void setMapPath(void*) = 0;
|
||||
/* vt[90] */ virtual int getMapPath(void) = 0;
|
||||
/* vt[91] */ virtual void setElst(dStage_Elst_c*) = 0;
|
||||
/* vt[92] */ virtual dStage_Elst_c* getElst(void) = 0;
|
||||
|
||||
private:
|
||||
/* 0x04 */ s8 mRoomNo;
|
||||
};
|
||||
|
||||
class dStage_stageDt_c {
|
||||
class dStage_stageDt_c : public dStage_dt_c {
|
||||
public:
|
||||
stage_camera_class* getCamera(void) const;
|
||||
stage_arrow_class* getArrow(void) const;
|
||||
stage_actor_class* getPlayer(void) const;
|
||||
roomRead_class* getRoom(void) const;
|
||||
stage_map_info_class* getMapInfo(void) const;
|
||||
stage_map_info_dummy_class* getMapInfoBase(void) const;
|
||||
stage_palette_info_class* getPaletteInfo(void) const;
|
||||
stage_pselect_info_class* getPselectInfo(void) const;
|
||||
stage_envr_info_class* getEnvrInfo(void) const;
|
||||
stage_vrbox_info_class* getVrboxInfo(void) const;
|
||||
stage_vrboxcol_info_class* getVrboxcolInfo(void) const;
|
||||
dStage_FileList2_dt_c* getFileList2Info(void) const;
|
||||
dStage_FileList_dt_c* getFileListInfo(void) const;
|
||||
stage_plight_info_class* getPlightInfo(void) const;
|
||||
dStage_MapEventInfo_c* getMapEventInfo(void) const;
|
||||
int getPaletteNumInfo(void) const;
|
||||
int getPselectNumInfo(void) const;
|
||||
int getEnvrNumInfo(void) const;
|
||||
int getVrboxNumInfo(void) const;
|
||||
int getVrboxcolNumInfo(void) const;
|
||||
int getPlightNumInfo(void) const;
|
||||
u16 getPlayerNum(void) const;
|
||||
int getMapInfo2(int) const;
|
||||
stage_stag_info_class* getStagInfo(void) const;
|
||||
stage_scls_info_dummy_class* getSclsInfo(void) const;
|
||||
dStage_Lbnk_c* getLbnk(void) const;
|
||||
dStage_dPnt_c* getPntInf(void) const;
|
||||
dStage_dPath_c* getPathInf(void) const;
|
||||
dStage_dPnt_c* getPnt2Inf(void) const;
|
||||
dStage_dPath_c* getPath2Inf(void) const;
|
||||
dStage_SoundInfo_c* getSoundInf(void) const;
|
||||
dStage_SoundInfo_c* getSoundInfCL(void) const;
|
||||
dStage_FloorInfo_c* getFloorInfo(void) const;
|
||||
dStage_MemoryConfig_c* getMemoryConfig(void) const;
|
||||
dStage_MemoryMap_c* getMemoryMap(void) const;
|
||||
dStage_Multi_c* getMulti(void) const;
|
||||
dStage_Multi_c* getOldMulti(void) const;
|
||||
stage_tresure_class* getTresure(void) const;
|
||||
dStage_DMap_c* getDMap(void) const;
|
||||
stage_tgsc_class* getDrTg(void) const;
|
||||
stage_tgsc_class* getDoor(void) const;
|
||||
dStage_Elst_c* getElst(void);
|
||||
stage_pure_lightvec_info_class* getLightVecInfo(void) const;
|
||||
int getLightVecInfoNum(void) const;
|
||||
int getMapPath(void);
|
||||
dStage_stageDt_c() {}
|
||||
|
||||
void init(void);
|
||||
void resetOldMulti(void);
|
||||
/* vt[ 2] */ virtual void init(void);
|
||||
/* vt[ 3] */ virtual void setCamera(stage_camera_class*);
|
||||
/* vt[ 4] */ virtual stage_camera_class* getCamera(void) const;
|
||||
/* vt[ 5] */ virtual void setArrow(stage_arrow_class*);
|
||||
/* vt[ 6] */ virtual stage_arrow_class* getArrow(void) const;
|
||||
/* vt[ 7] */ virtual void setPlayer(stage_actor_class*);
|
||||
/* vt[ 8] */ virtual stage_actor_class* getPlayer(void) const;
|
||||
/* vt[ 9] */ virtual void setPlayerNum(u16);
|
||||
/* vt[10] */ virtual u16 getPlayerNum(void) const;
|
||||
/* vt[11] */ virtual void setRoom(roomRead_class*);
|
||||
/* vt[12] */ virtual roomRead_class* getRoom(void) const;
|
||||
/* vt[13] */ virtual void setMapInfo(stage_map_info_class*);
|
||||
/* vt[14] */ virtual stage_map_info_class* getMapInfo(void) const;
|
||||
/* vt[15] */ virtual int getMapInfo2(int) const;
|
||||
/* vt[16] */ virtual void setMapInfoBase(stage_map_info_dummy_class*);
|
||||
/* vt[17] */ virtual stage_map_info_dummy_class* getMapInfoBase(void) const;
|
||||
/* vt[18] */ virtual void setPaletteInfo(stage_palette_info_class*);
|
||||
/* vt[19] */ virtual stage_palette_info_class* getPaletteInfo(void) const;
|
||||
/* vt[20] */ virtual void setPselectInfo(stage_pselect_info_class*);
|
||||
/* vt[21] */ virtual stage_pselect_info_class* getPselectInfo(void) const;
|
||||
/* vt[22] */ virtual void setEnvrInfo(stage_envr_info_class*);
|
||||
/* vt[23] */ virtual stage_envr_info_class* getEnvrInfo(void) const;
|
||||
/* vt[24] */ virtual void setVrboxInfo(stage_vrbox_info_class*);
|
||||
/* vt[25] */ virtual stage_vrbox_info_class* getVrboxInfo(void) const;
|
||||
/* vt[26] */ virtual void setVrboxcolInfo(stage_vrboxcol_info_class*);
|
||||
/* vt[27] */ virtual stage_vrboxcol_info_class* getVrboxcolInfo(void) const;
|
||||
/* vt[28] */ virtual void setPlightInfo(stage_plight_info_class*);
|
||||
/* vt[29] */ virtual stage_plight_info_class* getPlightInfo(void) const;
|
||||
/* vt[30] */ virtual void setPaletteNumInfo(int);
|
||||
/* vt[31] */ virtual int getPaletteNumInfo(void) const;
|
||||
/* vt[32] */ virtual void setPselectNumInfo(int);
|
||||
/* vt[33] */ virtual int getPselectNumInfo(void) const;
|
||||
/* vt[34] */ virtual void setEnvrNumInfo(int);
|
||||
/* vt[35] */ virtual int getEnvrNumInfo(void) const;
|
||||
/* vt[36] */ virtual void setVrboxNumInfo(int);
|
||||
/* vt[37] */ virtual int getVrboxNumInfo(void) const;
|
||||
/* vt[38] */ virtual void setVrboxcolNumInfo(int);
|
||||
/* vt[39] */ virtual int getVrboxcolNumInfo(void) const;
|
||||
/* vt[40] */ virtual void setPlightNumInfo(int);
|
||||
/* vt[41] */ virtual int getPlightNumInfo(void) const;
|
||||
/* vt[42] */ virtual void setLightVecInfo(stage_pure_lightvec_info_class*);
|
||||
/* vt[43] */ virtual stage_pure_lightvec_info_class* getLightVecInfo(void) const;
|
||||
/* vt[44] */ virtual void setLightVecInfoNum(int);
|
||||
/* vt[45] */ virtual int getLightVecInfoNum(void) const;
|
||||
/* vt[46] */ virtual void setStagInfo(stage_stag_info_class*);
|
||||
/* vt[47] */ virtual stage_stag_info_class* getStagInfo(void) const;
|
||||
/* vt[48] */ virtual void setSclsInfo(stage_scls_info_dummy_class*);
|
||||
/* vt[49] */ virtual stage_scls_info_dummy_class* getSclsInfo(void) const;
|
||||
/* vt[50] */ virtual void setPntInfo(dStage_dPnt_c*);
|
||||
/* vt[51] */ virtual dStage_dPnt_c* getPntInf(void) const;
|
||||
/* vt[52] */ virtual void setPathInfo(dStage_dPath_c*);
|
||||
/* vt[53] */ virtual dStage_dPath_c* getPathInf(void) const;
|
||||
/* vt[54] */ virtual void setPnt2Info(dStage_dPnt_c*);
|
||||
/* vt[55] */ virtual dStage_dPnt_c* getPnt2Inf(void) const;
|
||||
/* vt[56] */ virtual void setPath2Info(dStage_dPath_c*);
|
||||
/* vt[57] */ virtual dStage_dPath_c* getPath2Inf(void) const;
|
||||
/* vt[58] */ virtual void setSoundInf(dStage_SoundInfo_c*);
|
||||
/* vt[59] */ virtual dStage_SoundInfo_c* getSoundInf(void) const;
|
||||
/* vt[60] */ virtual void setSoundInfCL(dStage_SoundInfo_c*);
|
||||
/* vt[61] */ virtual dStage_SoundInfo_c* getSoundInfCL(void) const;
|
||||
/* vt[62] */ virtual void setMapEventInfo(dStage_MapEventInfo_c*);
|
||||
/* vt[63] */ virtual dStage_MapEventInfo_c* getMapEventInfo(void) const;
|
||||
/* vt[64] */ virtual void setFileList2Info(dStage_FileList2_dt_c*);
|
||||
/* vt[65] */ virtual dStage_FileList2_dt_c* getFileList2Info(void) const;
|
||||
/* vt[66] */ virtual void setFileListInfo(dStage_FileList_dt_c*);
|
||||
/* vt[67] */ virtual dStage_FileList_dt_c* getFileListInfo(void) const;
|
||||
/* vt[68] */ virtual void setFloorInfo(dStage_FloorInfo_c*);
|
||||
/* vt[69] */ virtual dStage_FloorInfo_c* getFloorInfo(void) const;
|
||||
/* vt[70] */ virtual void setMemoryConfig(dStage_MemoryConfig_c*);
|
||||
/* vt[71] */ virtual dStage_MemoryConfig_c* getMemoryConfig(void) const;
|
||||
/* vt[72] */ virtual void setMemoryMap(dStage_MemoryMap_c*);
|
||||
/* vt[73] */ virtual dStage_MemoryMap_c* getMemoryMap(void) const;
|
||||
/* vt[74] */ virtual void setMulti(dStage_Multi_c*);
|
||||
/* vt[75] */ virtual dStage_Multi_c* getMulti(void) const;
|
||||
/* vt[76] */ virtual void setOldMulti(void);
|
||||
/* vt[77] */ virtual void resetOldMulti(void);
|
||||
/* vt[78] */ virtual dStage_Multi_c* getOldMulti(void) const;
|
||||
/* vt[79] */ virtual void setLbnk(dStage_Lbnk_c*);
|
||||
/* vt[80] */ virtual dStage_Lbnk_c* getLbnk(void) const;
|
||||
/* vt[81] */ virtual void setTresure(stage_tresure_class*);
|
||||
/* vt[82] */ virtual stage_tresure_class* getTresure(void) const;
|
||||
/* vt[83] */ virtual void setDMap(dStage_DMap_c*);
|
||||
/* vt[84] */ virtual dStage_DMap_c* getDMap(void) const;
|
||||
/* vt[85] */ virtual void setDrTg(stage_tgsc_class*);
|
||||
/* vt[86] */ virtual stage_tgsc_class* getDrTg(void) const;
|
||||
/* vt[87] */ virtual void setDoor(stage_tgsc_class*);
|
||||
/* vt[88] */ virtual stage_tgsc_class* getDoor(void) const;
|
||||
/* vt[89] */ virtual void setMapPath(void*);
|
||||
/* vt[90] */ virtual int getMapPath(void);
|
||||
/* vt[91] */ virtual void setElst(dStage_Elst_c*);
|
||||
/* vt[92] */ virtual dStage_Elst_c* getElst(void);
|
||||
|
||||
void setCamera(stage_camera_class*);
|
||||
void setArrow(stage_arrow_class*);
|
||||
void setPlayer(stage_actor_class*);
|
||||
void setRoom(roomRead_class*);
|
||||
void setMapInfo(stage_map_info_class*);
|
||||
void setMapInfoBase(stage_map_info_dummy_class*);
|
||||
void setPaletteInfo(stage_palette_info_class*);
|
||||
void setPselectInfo(stage_pselect_info_class*);
|
||||
void setEnvrInfo(stage_envr_info_class*);
|
||||
void setVrboxInfo(stage_vrbox_info_class*);
|
||||
void setVrboxcolInfo(stage_vrboxcol_info_class*);
|
||||
void setFileList2Info(dStage_FileList2_dt_c*);
|
||||
void setFileListInfo(dStage_FileList_dt_c*);
|
||||
void setPlightInfo(stage_plight_info_class*);
|
||||
void setMapEventInfo(dStage_MapEventInfo_c*);
|
||||
void setPaletteNumInfo(int);
|
||||
void setPselectNumInfo(int);
|
||||
void setEnvrNumInfo(int);
|
||||
void setVrboxNumInfo(int);
|
||||
void setVrboxcolNumInfo(int);
|
||||
void setPlightNumInfo(int);
|
||||
void setPlayerNum(u16);
|
||||
void setStagInfo(stage_stag_info_class*);
|
||||
void setSclsInfo(stage_scls_info_dummy_class*);
|
||||
void setLbnk(dStage_Lbnk_c*);
|
||||
void setPntInfo(dStage_dPnt_c*);
|
||||
void setPathInfo(dStage_dPath_c*);
|
||||
void setPnt2Info(dStage_dPnt_c*);
|
||||
void setPath2Info(dStage_dPath_c*);
|
||||
void setSoundInf(dStage_SoundInfo_c*);
|
||||
void setSoundInfCL(dStage_SoundInfo_c*);
|
||||
void setFloorInfo(dStage_FloorInfo_c*);
|
||||
void setMemoryConfig(dStage_MemoryConfig_c*);
|
||||
void setMemoryMap(dStage_MemoryMap_c*);
|
||||
void setMulti(dStage_Multi_c*);
|
||||
void setOldMulti(void);
|
||||
void setTreasure(stage_tresure_class*);
|
||||
void setDMap(dStage_DMap_c*);
|
||||
void setDrTg(stage_tgsc_class*);
|
||||
void setDoor(stage_tgsc_class*);
|
||||
void setElst(dStage_Elst_c*);
|
||||
void setLightVecInfo(stage_pure_lightvec_info_class*);
|
||||
void setLightVecInfoNum(int);
|
||||
void setTresure(stage_tresure_class*);
|
||||
void setMapPath(void*);
|
||||
|
||||
private:
|
||||
u8 field_0x0[0x8];
|
||||
stage_camera_class* mCamera;
|
||||
stage_arrow_class* mArrow;
|
||||
stage_actor_class* mPlayer;
|
||||
@@ -237,8 +324,9 @@ private:
|
||||
dStage_Elst_c* mElst;
|
||||
};
|
||||
|
||||
class dStage_roomDt_c {
|
||||
class dStage_roomDt_c : public dStage_dt_c {
|
||||
public:
|
||||
dStage_roomDt_c() {}
|
||||
stage_pure_lightvec_info_class* getLightVecInfo(void) const;
|
||||
int getLightVecInfoNum(void) const;
|
||||
stage_map_info_class* getMapInfo(void) const;
|
||||
@@ -337,7 +425,6 @@ public:
|
||||
void setEnvrNumInfo(int);
|
||||
|
||||
private:
|
||||
u8 field_0x0[0x8];
|
||||
stage_pure_lightvec_info_class* mLightVecInfo;
|
||||
int mLightVecInfoNum;
|
||||
stage_map_info_class* mMapInfo;
|
||||
@@ -366,10 +453,27 @@ private:
|
||||
int mVrboxcolNumInfo;
|
||||
}; // Size: 0x6C
|
||||
|
||||
class dStage_roomStatus_c {
|
||||
private:
|
||||
/* 0x000 */ dStage_roomDt_c mRoomDt;
|
||||
/* 0x06C */ dKy_tevstr_c mKyTevStr;
|
||||
/* 0x3F4 */ u8 unk_0x3F4[3];
|
||||
/* 0x3F7 */ s8 mZoneNo;
|
||||
/* 0x3F8 */ u8 unk_3F8[0x404 - 0x3F8];
|
||||
|
||||
public:
|
||||
int getZoneNo() const { return mZoneNo; }
|
||||
/* 80028360 */ ~dStage_roomStatus_c() {}
|
||||
/* 8002839C */ dStage_roomStatus_c() {}
|
||||
}; // Size: 0x404
|
||||
|
||||
STATIC_ASSERT(sizeof(dStage_roomStatus_c) == 0x404);
|
||||
|
||||
class dStage_roomControl_c {
|
||||
public:
|
||||
class roomDzs_c {
|
||||
public:
|
||||
roomDzs_c() { m_num = 0; }
|
||||
/* 80024A34 */ void create(u8);
|
||||
/* 80024ABC */ void remove();
|
||||
/* 80024B44 */ void add(u8, u8);
|
||||
@@ -378,6 +482,7 @@ public:
|
||||
/* 0x04 */ JKRHeap* m_dzs;
|
||||
};
|
||||
|
||||
dStage_roomControl_c() {}
|
||||
void init(void);
|
||||
static int getZoneNo(int room);
|
||||
/* 80024338 */ void initZone();
|
||||
@@ -397,19 +502,23 @@ public:
|
||||
|
||||
static JKRExpHeap* mMemoryBlock[19];
|
||||
static u8 mArcBank[320];
|
||||
static u8 mStatus[65792];
|
||||
static dStage_roomStatus_c mStatus[0x40];
|
||||
static u8 mDemoArcName[10 + 2 /* padding */];
|
||||
static u32 mProcID;
|
||||
static u8 mArcBankName[4];
|
||||
static u8 mArcBankData[4];
|
||||
static roomDzs_c m_roomDzs;
|
||||
|
||||
u8 field_0x0[164];
|
||||
private:
|
||||
u8 field_0x0[4];
|
||||
};
|
||||
|
||||
#pragma pack(push, 1)
|
||||
class dStage_nextStage_c {
|
||||
public:
|
||||
dStage_nextStage_c() {
|
||||
enabled = 0; // TODO: maybe wrong
|
||||
}
|
||||
void set(const char*, s8, s16, s8, s8, u8);
|
||||
|
||||
private:
|
||||
@@ -418,14 +527,12 @@ private:
|
||||
u8 mRoomNo;
|
||||
u8 mLayer;
|
||||
u8 field_0xc;
|
||||
u8 field_0xd;
|
||||
s8 enabled;
|
||||
u8 wipe;
|
||||
u8 wipe_speed;
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push, 1)
|
||||
class dStage_startStage_c {
|
||||
public:
|
||||
void set(const char*, s8, s16, s8);
|
||||
@@ -446,20 +553,6 @@ private:
|
||||
/* 0xB */ s8 mLayer;
|
||||
/* 0xC */ s8 mDarkArea;
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
class dStage_roomStatus_c : dStage_roomDt_c {
|
||||
private:
|
||||
/* 0x06C */ u8 mJ3DLightInfo[0xA0 - 0x6C];
|
||||
/* 0x0A0 */ u8 unk_A0[0x3F7 - 0xA0];
|
||||
/* 0x3F7 */ s8 mZoneNo;
|
||||
/* 0x3F8 */ u8 unk_3F8[0x404 - 0x3F8];
|
||||
|
||||
public:
|
||||
int getZoneNo() const { return mZoneNo; }
|
||||
/* 80028360 */ ~dStage_roomStatus_c();
|
||||
/* 8002839C */ dStage_roomStatus_c();
|
||||
}; // Size: 0x404
|
||||
|
||||
// unknown name
|
||||
struct dStage_objectNameInf {
|
||||
@@ -468,6 +561,13 @@ struct dStage_objectNameInf {
|
||||
s8 mSubtype;
|
||||
}; // Size: 0xC
|
||||
|
||||
class dStage_KeepDoorInfo {
|
||||
public:
|
||||
/* 80028418 */ ~dStage_KeepDoorInfo() {}
|
||||
/* 0x000 */ u8 unk_0x0[4];
|
||||
/* 0x004 */ stage_tgsc_data_class unk_0x4[0x40];
|
||||
}; // Size = 0x904
|
||||
|
||||
typedef void (*dStage_Func)(dStage_dt_c*, void*, int, void*);
|
||||
|
||||
struct FuncTable {
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
#include "d/save/d_save.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
#pragma pack(push, 1)
|
||||
class dVibration_c {
|
||||
public:
|
||||
/* 8006F268 */ void Run();
|
||||
@@ -62,6 +61,5 @@ private:
|
||||
u32 field_0x88;
|
||||
u32 field_0x8c;
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
#endif /* D_D_VIBRATION_H */
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
|
||||
class dEvt_order_c {
|
||||
public:
|
||||
~dEvt_order_c();
|
||||
~dEvt_order_c() {}
|
||||
dEvt_order_c();
|
||||
|
||||
/* 0x00 */ u16 mEventType;
|
||||
@@ -24,6 +24,8 @@ public:
|
||||
/* 0x15 */ u8 mEventInfoIdx;
|
||||
}; // Size = 0x18
|
||||
|
||||
STATIC_ASSERT(sizeof(dEvt_order_c) == 0x18);
|
||||
|
||||
typedef int (*SkipFunc)(void*, int);
|
||||
|
||||
class dEvt_control_c {
|
||||
|
||||
@@ -85,11 +85,10 @@ private:
|
||||
u32 mFlags[320];
|
||||
}; // Size = 0x500
|
||||
|
||||
#pragma pack(push, 1)
|
||||
class dEvDtBase_c {
|
||||
public:
|
||||
dEvDtBase_c();
|
||||
~dEvDtBase_c();
|
||||
~dEvDtBase_c() {}
|
||||
void init();
|
||||
void init(char*, int);
|
||||
void advanceCut(dEvDtEvent_c*);
|
||||
@@ -110,6 +109,7 @@ private:
|
||||
/* 0x1C */ char* mSDataP;
|
||||
/* 0x20 */ s32 mRoomNo;
|
||||
}; // Size = 0x24
|
||||
#pragma pack(pop)
|
||||
|
||||
STATIC_ASSERT(sizeof(dEvDtBase_c) == 0x24);
|
||||
|
||||
#endif /* D_EVENT_D_EVENT_DATA_H */
|
||||
|
||||
@@ -24,6 +24,7 @@ class dEvent_manager_c {
|
||||
public:
|
||||
void getSubstance(dEvDtData_c*, int);
|
||||
dEvent_manager_c();
|
||||
~dEvent_manager_c() {}
|
||||
void create();
|
||||
void setObjectArchive(char*);
|
||||
void demoInit();
|
||||
|
||||
@@ -61,4 +61,6 @@ private:
|
||||
/* 0x385 */ u8 field_0x385;
|
||||
}; // Size = 0x388?
|
||||
|
||||
STATIC_ASSERT(sizeof(dKy_tevstr_c) == 0x388);
|
||||
|
||||
#endif /* D_KANKYO_D_KANKYO_H */
|
||||
|
||||
+12
-4
@@ -757,7 +757,7 @@ private:
|
||||
|
||||
class dSv_memory_c {
|
||||
public:
|
||||
dSv_memory_c(void);
|
||||
dSv_memory_c(void) { this->init(); }
|
||||
void init(void);
|
||||
dSv_memBit_c& getMemBit() { return mMemBit; }
|
||||
const dSv_memBit_c& getMemBitConst() const { return mMemBit; }
|
||||
@@ -767,9 +767,11 @@ private:
|
||||
u8 padding30[2];
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(dSv_memory_c) == 0x20);
|
||||
|
||||
class dSv_memory2_c {
|
||||
public:
|
||||
dSv_memory2_c(void);
|
||||
dSv_memory2_c(void) { this->init(); }
|
||||
void init(void);
|
||||
void onVisitedRoom(int);
|
||||
void offVisitedRoom(int);
|
||||
@@ -779,6 +781,8 @@ private:
|
||||
u32 mVisitedRoom[2];
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(dSv_memory2_c) == 8);
|
||||
|
||||
class dSv_danBit_c {
|
||||
public:
|
||||
bool init(s8);
|
||||
@@ -839,7 +843,7 @@ private:
|
||||
|
||||
class dSv_zone_c {
|
||||
public:
|
||||
dSv_zone_c(void); // the assembly for this is in d_com_inf_game.s
|
||||
dSv_zone_c(void) { mRoomNo = -1; } // the assembly for this is in d_com_inf_game.s
|
||||
void init(int);
|
||||
dSv_zoneBit_c& getZoneBit() { return mBit; }
|
||||
const dSv_zoneBit_c& getZoneBitConst() const { return mBit; }
|
||||
@@ -855,6 +859,8 @@ private:
|
||||
dSv_zoneActor_c mActor;
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(dSv_zone_c) == 0x20);
|
||||
|
||||
class dSv_restart_c {
|
||||
public:
|
||||
void setRoom(const cXyz&, s16, s8);
|
||||
@@ -914,7 +920,7 @@ public:
|
||||
static const int STAGE_MAX = 32;
|
||||
static const int STAGE2_MAX = 64;
|
||||
|
||||
private:
|
||||
// private:
|
||||
dSv_player_c mPlayer;
|
||||
dSv_memory_c mSave[STAGE_MAX];
|
||||
dSv_memory2_c mSave2[STAGE2_MAX];
|
||||
@@ -925,6 +931,8 @@ private:
|
||||
#pragma pack(push, 1)
|
||||
class dSv_info_c {
|
||||
public:
|
||||
dSv_info_c() {}
|
||||
~dSv_info_c() {}
|
||||
void init(void);
|
||||
void getSave(int);
|
||||
void putSave(int);
|
||||
|
||||
@@ -11,6 +11,11 @@ struct Vec {
|
||||
float getXDiff(const Vec* other) const { return x - other->x; }
|
||||
float getYDiff(const Vec* other) const { return y - other->y; }
|
||||
float getZDiff(const Vec* other) const { return z - other->z; }
|
||||
void set(f32 pX, f32 pY, f32 pZ) {
|
||||
x = pX;
|
||||
y = pY;
|
||||
z = pZ;
|
||||
}
|
||||
};
|
||||
|
||||
extern "C" {
|
||||
|
||||
@@ -72,7 +72,7 @@ struct DOUBLE_POS {
|
||||
};
|
||||
|
||||
inline s32 fopAcM_GetRoomNo(const fopAc_ac_c* pActor) {
|
||||
return pActor->mCurrent.mRoomNo;
|
||||
return (s8)pActor->mCurrent.mRoomNo;
|
||||
}
|
||||
|
||||
inline u32 fopAcM_GetID(const void* pActor) {
|
||||
|
||||
+18
-22
@@ -6,7 +6,7 @@
|
||||
#include "JSystem/JKernel/JKRAssertHeap.h"
|
||||
#include "JSystem/JKernel/JKRExpHeap.h"
|
||||
#include "JSystem/JKernel/JKRSolidHeap.h"
|
||||
#include "dolphin/types.h"
|
||||
#include "global.h"
|
||||
|
||||
struct J3DMaterialTable;
|
||||
struct J3DAnmTextureSRTKey {
|
||||
@@ -41,22 +41,19 @@ struct J3DAnmTransform {
|
||||
/* 80328E40 */ J3DAnmTransform(s16, f32*, s16*, f32*);
|
||||
};
|
||||
|
||||
#pragma pack(push, 1)
|
||||
class mDoExt_baseAnm {
|
||||
public:
|
||||
mDoExt_baseAnm() {}
|
||||
/* 8000D320 */ void initPlay(s16, int, f32, s16, s16);
|
||||
/* 8000D428 */ void play();
|
||||
|
||||
private:
|
||||
J3DFrameCtrl frame_control;
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push, 1)
|
||||
class mDoExt_btkAnm {
|
||||
public:
|
||||
mDoExt_btkAnm(void);
|
||||
~mDoExt_btkAnm();
|
||||
mDoExt_btkAnm(void) { field_0x14 = 0; }
|
||||
/* 8000D63C */ void init(J3DMaterialTable*, J3DAnmTextureSRTKey*, int, int, f32, s16, s16);
|
||||
/* 8000D6D8 */ void entry(J3DMaterialTable*, f32);
|
||||
|
||||
@@ -64,13 +61,12 @@ private:
|
||||
mDoExt_baseAnm base_anm;
|
||||
u32 field_0x14;
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push, 1)
|
||||
STATIC_ASSERT(sizeof(mDoExt_btkAnm) == 0x18);
|
||||
|
||||
class mDoExt_brkAnm {
|
||||
public:
|
||||
mDoExt_brkAnm(void);
|
||||
~mDoExt_brkAnm();
|
||||
mDoExt_brkAnm(void) { field_0x14 = 0; }
|
||||
/* 8000D70C */ void init(J3DMaterialTable*, J3DAnmTevRegKey*, int, int, f32, s16, s16);
|
||||
/* 8000D7A8 */ void entry(J3DMaterialTable*, f32);
|
||||
|
||||
@@ -78,13 +74,12 @@ private:
|
||||
mDoExt_baseAnm mDoExt_baseAnm;
|
||||
u32 field_0x14;
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push, 1)
|
||||
STATIC_ASSERT(sizeof(mDoExt_brkAnm) == 0x18);
|
||||
|
||||
class mDoExt_bpkAnm {
|
||||
public:
|
||||
mDoExt_bpkAnm(void);
|
||||
~mDoExt_bpkAnm();
|
||||
mDoExt_bpkAnm(void) { field_0x14 = 0; }
|
||||
/* 8000D47C */ void init(J3DMaterialTable*, J3DAnmColor*, int, int, f32, s16, s16);
|
||||
/* 8000D518 */ void entry(J3DMaterialTable*, f32);
|
||||
|
||||
@@ -92,13 +87,12 @@ private:
|
||||
mDoExt_baseAnm mDoExt_baseAnm;
|
||||
u32 field_0x14;
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push, 1)
|
||||
STATIC_ASSERT(sizeof(mDoExt_bpkAnm) == 0x18);
|
||||
|
||||
class mDoExt_bckAnm {
|
||||
public:
|
||||
mDoExt_bckAnm(void);
|
||||
~mDoExt_bckAnm();
|
||||
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);
|
||||
@@ -109,15 +103,17 @@ private:
|
||||
u8 field_0x14[4];
|
||||
u32 field_0x18;
|
||||
}; // Size = 0x1C
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push, 1)
|
||||
STATIC_ASSERT(sizeof(mDoExt_bckAnm) == 0x1C);
|
||||
|
||||
class J3DTransformInfo;
|
||||
|
||||
class mDoExt_McaMorfCallBack1_c {
|
||||
public:
|
||||
private:
|
||||
void* vtable;
|
||||
/*void* vtable;*/
|
||||
virtual void execute(u16, J3DTransformInfo*) = 0;
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
class mDoExt_AnmRatioPack {
|
||||
public:
|
||||
|
||||
Reference in New Issue
Block a user