mirror of https://github.com/zeldaret/tp.git
Misc framework fixes (#2578)
This commit is contained in:
parent
8785882261
commit
ddf4fc0677
10
configure.py
10
configure.py
|
|
@ -432,9 +432,9 @@ config.libs = [
|
|||
Object(MatchingFor("GZ2E01", "GZ2J01"), "m_Do/m_Do_audio.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2J01"), "m_Do/m_Do_controller_pad.cpp"),
|
||||
Object(NonMatching, "m_Do/m_Re_controller_pad.cpp"),
|
||||
Object(Equivalent, "m_Do/m_Do_graphic.cpp"), # weak func order
|
||||
Object(MatchingFor("GZ2E01"), "m_Do/m_Do_graphic.cpp"),
|
||||
Object(NonMatching, "m_Do/m_Do_machine.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2J01"), "m_Do/m_Do_mtx.cpp", extra_cflags=["-sym off"]),
|
||||
Object(MatchingFor("GZ2E01", "GZ2J01"), "m_Do/m_Do_mtx.cpp"),
|
||||
Object(NonMatching, "m_Do/m_Do_ext.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2J01"), "m_Do/m_Do_lib.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2J01"), "m_Do/m_Do_Reset.cpp"),
|
||||
|
|
@ -564,7 +564,7 @@ config.libs = [
|
|||
Object(MatchingFor("GZ2E01", "GZ2J01"), "d/d_particle_name.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2J01"), "d/d_particle_copoly.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2J01"), "d/d_path.cpp"),
|
||||
Object(NonMatching, "d/d_drawlist.cpp"),
|
||||
Object(Equivalent, "d/d_drawlist.cpp", extra_cflags=['-pragma "nosyminline on"']),
|
||||
Object(MatchingFor("GZ2E01", "GZ2J01"), "d/d_kankyo_data.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2J01"), "d/d_kankyo_wether.cpp"),
|
||||
Object(NonMatching, "d/d_kankyo_rain.cpp"),
|
||||
|
|
@ -591,7 +591,7 @@ config.libs = [
|
|||
Object(MatchingFor("GZ2E01", "GZ2J01"), "d/d_bg_w_base.cpp", extra_cflags=['-pragma "nosyminline on"']),
|
||||
Object(NonMatching, "d/d_bg_w_kcol.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2J01"), "d/d_bg_w_sv.cpp"),
|
||||
Object(Equivalent, "d/d_cc_d.cpp"), # weak func order
|
||||
Object(Equivalent, "d/d_cc_d.cpp", extra_cflags=['-sym off']), # weak func order
|
||||
Object(MatchingFor("GZ2E01", "GZ2J01"), "d/d_cc_mass_s.cpp", extra_cflags=['-pragma "nosyminline on"']),
|
||||
Object(NonMatching, "d/d_cc_s.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2J01"), "d/d_cc_uty.cpp"),
|
||||
|
|
@ -658,7 +658,7 @@ config.libs = [
|
|||
Object(MatchingFor("GZ2E01", "GZ2J01"), "d/d_meter_map.cpp"),
|
||||
Object(MatchingFor("GZ2E01", "GZ2J01"), "d/d_meter_string.cpp"),
|
||||
Object(MatchingFor("GZ2E01"), "d/d_meter2_draw.cpp"),
|
||||
Object(Equivalent, "d/d_meter2_info.cpp"),
|
||||
Object(MatchingFor("GZ2E01"), "d/d_meter2_info.cpp", extra_cflags=['-pragma "nosyminline on"']),
|
||||
Object(MatchingFor("GZ2E01", "GZ2J01"), "d/d_meter2.cpp"),
|
||||
Object(MatchingFor("GZ2E01"), "d/d_msg_out_font.cpp"),
|
||||
Object(NonMatching, "d/d_msg_class.cpp"),
|
||||
|
|
|
|||
|
|
@ -31,6 +31,8 @@ public:
|
|||
mFrameMax = 0;
|
||||
}
|
||||
/* 80053C94 */ virtual ~J2DAnmBase() {}
|
||||
// this is supposed to be inline, but doing so causes problems
|
||||
// with where the vtable is placed in the final framework.dol
|
||||
/* 800569B0 */ virtual void searchUpdateMaterialID(J2DScreen*);
|
||||
|
||||
s16 getFrameMax() const { return mFrameMax; }
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@
|
|||
#include "SSystem/SComponent/c_m3d_g_cyl.h"
|
||||
#include "SSystem/SComponent/c_m3d_g_sph.h"
|
||||
#include "SSystem/SComponent/c_m3d_g_tri.h"
|
||||
#include "SSystem/SComponent/c_m3d_g_vtx.h"
|
||||
#include "f_pc/f_pc_manager.h"
|
||||
|
||||
typedef struct _GXColor GXColor;
|
||||
|
|
@ -64,192 +65,18 @@ enum cCcD_ObjAtType {
|
|||
/* 0xD8000000 */ AT_TYPE_UNK = 0xD8000000
|
||||
};
|
||||
|
||||
class cCcD_ShapeAttr {
|
||||
public:
|
||||
/* 0x00 */ cM3dGAab mAab;
|
||||
/* 0x1C vtable */
|
||||
|
||||
struct Shape {
|
||||
/* 80167BBC */ ~Shape() {}
|
||||
|
||||
/* 0x00 */ int _0;
|
||||
/* 0x04 */ cXyz _4;
|
||||
/* 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 {
|
||||
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 { 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 { 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;
|
||||
|
||||
cM3dGAab& GetWorkAab() { return mAab; }
|
||||
cM3dGAab const& GetWorkAab() const { return mAab; }
|
||||
|
||||
static cXyz m_virtual_center;
|
||||
};
|
||||
|
||||
STATIC_ASSERT(0x20 == sizeof(cCcD_ShapeAttr));
|
||||
|
||||
struct cCcD_SrcTriAttr {
|
||||
cM3dGTriS mTri;
|
||||
};
|
||||
|
||||
class cCcD_TriAttr : public cCcD_ShapeAttr, public cM3dGTri {
|
||||
public:
|
||||
/* 80263C04 */ virtual void CalcAabBox();
|
||||
/* 80263C9C */ virtual bool GetNVec(cXyz const&, cXyz*) const;
|
||||
/* 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() {}
|
||||
};
|
||||
|
||||
struct cCcD_SrcCpsAttr {
|
||||
cM3dGCpsS mCps;
|
||||
};
|
||||
|
||||
class cCcD_CpsAttr : public cCcD_ShapeAttr, public cM3dGCps {
|
||||
public:
|
||||
cCcD_CpsAttr() {}
|
||||
void Set(const cCcD_SrcCpsAttr& pSrc) { cM3dGCps::Set(pSrc.mCps); }
|
||||
void Set(const cXyz& pStart, const cXyz& pEnd, float radius) {
|
||||
cM3dGCps::Set(pStart, pEnd, radius);
|
||||
}
|
||||
|
||||
/* 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& 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;
|
||||
/* 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& 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;
|
||||
};
|
||||
|
||||
STATIC_ASSERT(0x40 == sizeof(cCcD_CpsAttr));
|
||||
|
||||
struct cCcD_SrcSphAttr {
|
||||
cM3dGSphS mSph;
|
||||
};
|
||||
|
||||
class cCcD_SphAttr : public cCcD_ShapeAttr, public cM3dGSph {
|
||||
public:
|
||||
cCcD_SphAttr() {}
|
||||
void Set(const cCcD_SrcSphAttr& src) { cM3dGSph::Set(src.mSph); }
|
||||
|
||||
/* 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;
|
||||
/* 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;
|
||||
/* 80264644 */ virtual bool CrossCo(cCcD_SphAttr const&, f32*) const;
|
||||
/* 802645F8 */ virtual bool CrossCo(cCcD_CylAttr const&, f32*) const;
|
||||
/* 802646E0 */ virtual void CalcAabBox();
|
||||
/* 8026476C */ virtual bool GetNVec(cXyz const&, cXyz*) const;
|
||||
/* 80264808 */ virtual void getShapeAccess(cCcD_ShapeAttr::Shape*) const;
|
||||
|
||||
const cM3dGSph* GetShapeP() const { return this; }
|
||||
|
||||
}; // Size = 0x34
|
||||
|
||||
STATIC_ASSERT(0x34 == sizeof(cCcD_SphAttr));
|
||||
|
||||
class cCcD_CylAttr : public cCcD_ShapeAttr, public cM3dGCyl {
|
||||
public:
|
||||
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;
|
||||
/* 80264250 */ virtual bool CrossAtTg(cCcD_TriAttr 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;
|
||||
/* 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;
|
||||
/* 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;
|
||||
|
||||
const cM3dGCyl* GetShapeP() const { return this; }
|
||||
|
||||
}; // Size = 0x38
|
||||
|
||||
STATIC_ASSERT(0x38 == sizeof(cCcD_CylAttr));
|
||||
|
||||
class cCcD_DivideInfo {
|
||||
private:
|
||||
/* 0x00 */ u32 mXDivInfo;
|
||||
|
|
@ -384,6 +211,7 @@ public:
|
|||
void setRPrm(s32 rprm) { mRPrm = rprm; }
|
||||
s32 getRPrm() const { return mRPrm; }
|
||||
cCcD_Obj* GetHitObj() { return mHitObj; }
|
||||
const cCcD_Obj* GetHitObj() const { return mHitObj; }
|
||||
u32 MskSPrm(u32 mask) const { return mSPrm & mask; }
|
||||
u32 MskRPrm(u32 mask) { return mRPrm & mask; }
|
||||
void OnSPrmBit(u32 flag) { mSPrm |= flag; }
|
||||
|
|
@ -551,6 +379,51 @@ public:
|
|||
|
||||
STATIC_ASSERT(0x40 == sizeof(cCcD_ObjHitInf));
|
||||
|
||||
class cCcD_ShapeAttr {
|
||||
public:
|
||||
/* 0x00 */ cM3dGAab mAab;
|
||||
/* 0x1C vtable */
|
||||
|
||||
struct Shape {
|
||||
/* 80167BBC */ ~Shape() {}
|
||||
|
||||
/* 0x00 */ int _0;
|
||||
/* 0x04 */ cXyz _4;
|
||||
/* 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 {
|
||||
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 { 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 { 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;
|
||||
|
||||
cM3dGAab& GetWorkAab() { return mAab; }
|
||||
cM3dGAab const& GetWorkAab() const { return mAab; }
|
||||
|
||||
static cXyz m_virtual_center;
|
||||
};
|
||||
|
||||
STATIC_ASSERT(0x20 == sizeof(cCcD_ShapeAttr));
|
||||
|
||||
class cCcD_GObjInf;
|
||||
|
||||
class cCcD_Obj : public cCcD_ObjHitInf {
|
||||
|
|
@ -591,6 +464,161 @@ public:
|
|||
/* 800851A0 */ virtual cCcD_GObjInf* GetGObjInf() { return this; }
|
||||
};
|
||||
|
||||
class cCcD_PntAttr : public cCcD_ShapeAttr, public cM3dGVtx {
|
||||
public:
|
||||
cCcD_PntAttr() {}
|
||||
virtual ~cCcD_PntAttr() {}
|
||||
virtual bool GetNVec(cXyz const&, cXyz*) const;
|
||||
virtual bool CrossAtTg(cCcD_ShapeAttr const& param_0, cXyz* param_1) const {
|
||||
return param_0.CrossAtTg(*this, param_1);
|
||||
}
|
||||
virtual bool CrossAtTg(cCcD_PntAttr const&, cXyz*) const { return false; }
|
||||
virtual bool CrossAtTg(cCcD_CpsAttr const&, cXyz*) const { return false; }
|
||||
virtual bool CrossAtTg(cCcD_TriAttr const&, cXyz*) const { return false; }
|
||||
virtual bool CrossAtTg(cCcD_AabAttr const&, cXyz*) const { return false; }
|
||||
virtual bool CrossAtTg(cCcD_CylAttr const&, cXyz*) const { return false; }
|
||||
virtual bool CrossAtTg(cCcD_SphAttr const&, cXyz*) const { return false; }
|
||||
virtual bool CrossCo(const cCcD_ShapeAttr& param_0, f32* param_1) const {
|
||||
return param_0.CrossCo(*this, param_1);
|
||||
}
|
||||
virtual bool CrossCo(const cCcD_PntAttr&, f32*) const { return false; }
|
||||
virtual bool CrossCo(const cCcD_CpsAttr&, f32*) const { return false; }
|
||||
virtual bool CrossCo(const cCcD_TriAttr&, f32*) const { return false; }
|
||||
virtual bool CrossCo(const cCcD_AabAttr&, f32*) const { return false; }
|
||||
virtual bool CrossCo(const cCcD_CylAttr&, f32*) const { return false; }
|
||||
virtual bool CrossCo(const cCcD_SphAttr&, f32*) const { return false; }
|
||||
virtual void CalcAabBox() {}
|
||||
};
|
||||
|
||||
class cCcD_CpsAttr : public cCcD_ShapeAttr, public cM3dGCps {
|
||||
public:
|
||||
cCcD_CpsAttr() {}
|
||||
void Set(const cCcD_SrcCpsAttr& pSrc) { cM3dGCps::Set(pSrc.mCps); }
|
||||
void Set(const cXyz& pStart, const cXyz& pEnd, float radius) {
|
||||
cM3dGCps::Set(pStart, pEnd, radius);
|
||||
}
|
||||
|
||||
/* 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& 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;
|
||||
/* 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& 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;
|
||||
};
|
||||
|
||||
STATIC_ASSERT(0x40 == sizeof(cCcD_CpsAttr));
|
||||
|
||||
class cCcD_TriAttr : public cCcD_ShapeAttr, public cM3dGTri {
|
||||
public:
|
||||
/* 80263C04 */ virtual void CalcAabBox();
|
||||
/* 80263C9C */ virtual bool GetNVec(cXyz const&, cXyz*) const;
|
||||
/* 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_CylAttr : public cCcD_ShapeAttr, public cM3dGCyl {
|
||||
public:
|
||||
cCcD_CylAttr() {}
|
||||
/* 800854E0 */ virtual ~cCcD_CylAttr() {}
|
||||
/* 80084CC0 */ virtual const cXyz& GetCoCP() const { return *GetCP(); }
|
||||
/* 8026420C */ virtual bool CrossAtTg(cCcD_SphAttr const&, cXyz*) const;
|
||||
/* 802641C8 */ virtual bool CrossAtTg(cCcD_CylAttr const&, cXyz*) const;
|
||||
/* 80264250 */ virtual bool CrossAtTg(cCcD_TriAttr 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;
|
||||
/* 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;
|
||||
/* 80037A4C */ virtual cXyz& GetCoCP() { return *GetCP(); }
|
||||
/* 80264368 */ virtual void CalcAabBox();
|
||||
/* 802643D0 */ virtual bool GetNVec(cXyz const&, cXyz*) const;
|
||||
/* 802644B8 */ virtual void getShapeAccess(cCcD_ShapeAttr::Shape*) const;
|
||||
|
||||
const cM3dGCyl* GetShapeP() const { return this; }
|
||||
|
||||
}; // Size = 0x38
|
||||
|
||||
STATIC_ASSERT(0x38 == sizeof(cCcD_CylAttr));
|
||||
|
||||
class cCcD_SphAttr : public cCcD_ShapeAttr, public cM3dGSph {
|
||||
public:
|
||||
cCcD_SphAttr() {}
|
||||
void Set(const cCcD_SrcSphAttr& src) { cM3dGSph::Set(src.mSph); }
|
||||
|
||||
/* 8008721C */ virtual ~cCcD_SphAttr() {}
|
||||
/* 80084B44 */ virtual const cXyz& GetCoCP() const { return *GetCP(); }
|
||||
/* 80037A54 */ virtual cXyz& GetCoCP() { return *GetCP(); }
|
||||
/* 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;
|
||||
/* 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;
|
||||
/* 80264644 */ virtual bool CrossCo(cCcD_SphAttr const&, f32*) const;
|
||||
/* 802645F8 */ virtual bool CrossCo(cCcD_CylAttr const&, f32*) const;
|
||||
/* 802646E0 */ virtual void CalcAabBox();
|
||||
/* 8026476C */ virtual bool GetNVec(cXyz const&, cXyz*) const;
|
||||
/* 80264808 */ virtual void getShapeAccess(cCcD_ShapeAttr::Shape*) const;
|
||||
|
||||
const cM3dGSph* GetShapeP() const { return this; }
|
||||
|
||||
}; // Size = 0x34
|
||||
|
||||
STATIC_ASSERT(0x34 == sizeof(cCcD_SphAttr));
|
||||
|
||||
STATIC_ASSERT(0x58 == sizeof(cCcD_GObjInf));
|
||||
|
||||
#endif /* C_CC_D_H */
|
||||
|
|
|
|||
|
|
@ -33,6 +33,7 @@ public:
|
|||
void GetMinMaxCube(cXyz&, cXyz&) const;
|
||||
const cXyz& GetC(void) const { return mCenter; }
|
||||
const cXyz* GetCP() const { return &mCenter; }
|
||||
cXyz* GetCP() { return &mCenter; }
|
||||
const f32 GetR(void) const { return mRadius; }
|
||||
f32 GetCX(void) const { return mCenter.x; }
|
||||
f32 GetCY(void) const { return mCenter.y; }
|
||||
|
|
@ -50,4 +51,4 @@ extern "C" {
|
|||
void Set__8cM3dGSphFRC4cXyzf(void);
|
||||
}
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -67,6 +67,9 @@ public:
|
|||
/* 80558AF8 */ int follow(void*);
|
||||
/* 80558C4C */ int clothWait(void*);
|
||||
/* 80558E90 */ int talk(void*);
|
||||
#if DEBUG
|
||||
int test(void*);
|
||||
#endif
|
||||
/* 8055A3B8 */ daNpc_Kolin_c(
|
||||
daNpcT_faceMotionAnmData_c const* i_faceMotionAnmData,
|
||||
daNpcT_motionAnmData_c const* i_motionAnmData,
|
||||
|
|
|
|||
|
|
@ -115,6 +115,9 @@ public:
|
|||
/* 80A4738C */ int cutThankYou(int);
|
||||
/* 80A4742C */ int wait(void*);
|
||||
/* 80A475D4 */ int talk(void*);
|
||||
#if DEBUG
|
||||
int test(void*);
|
||||
#endif
|
||||
/* 80A4854C */ daNpc_Kolinb_c(
|
||||
daNpcT_faceMotionAnmData_c const* i_faceMotionAnmData,
|
||||
daNpcT_motionAnmData_c const* i_motionAnmData,
|
||||
|
|
|
|||
|
|
@ -12,12 +12,9 @@
|
|||
*
|
||||
*/
|
||||
|
||||
struct daNpc_Saru_HIO_c
|
||||
#ifdef DEBUG
|
||||
: public mDoHIO_entry_c
|
||||
#endif
|
||||
struct daNpc_Saru_HIOParam
|
||||
{
|
||||
public:
|
||||
|
||||
/* 0x00 */ daNpcT_HIOParam common;
|
||||
/* 0x8C */ s16 scared_time; // 怯える時間 - Scared Time
|
||||
/* 0x8E */ s16 field_0x8e;
|
||||
|
|
@ -31,7 +28,12 @@ public:
|
|||
void genMessage(JORMContext*);
|
||||
#endif
|
||||
|
||||
static const daNpc_Saru_HIO_c m;
|
||||
static const daNpc_Saru_HIOParam m;
|
||||
};
|
||||
|
||||
class daNpc_Saru_HIO_c : public mDoHIO_entry_c {
|
||||
public:
|
||||
daNpc_Saru_HIOParam param;
|
||||
};
|
||||
|
||||
class daNpc_Saru_c : public daNpcT_c {
|
||||
|
|
|
|||
|
|
@ -38,6 +38,10 @@ struct daNpc_ykM_HIOParam {
|
|||
|
||||
class daNpc_ykM_Param_c : public JORReflexible {
|
||||
public:
|
||||
#if DEBUG
|
||||
virtual void genMessage(JORMContext*);
|
||||
#endif
|
||||
|
||||
/* 80B5D6C8 */ virtual ~daNpc_ykM_Param_c() {}
|
||||
|
||||
void genMessage(JORMContext*);
|
||||
|
|
|
|||
|
|
@ -109,56 +109,13 @@ struct dCcD_SrcCps {
|
|||
/* 0x30 */ cCcD_SrcCpsAttr mCpsAttr;
|
||||
}; // Size: 0x4C
|
||||
|
||||
class dCcD_GStts : public cCcD_GStts {
|
||||
public:
|
||||
/* 80083760 */ dCcD_GStts();
|
||||
/* 800837F8 */ void Ct();
|
||||
/* 80083830 */ void Move();
|
||||
/* 8008523C */ virtual ~dCcD_GStts() {}
|
||||
void ClrAt() { mAt = 0; }
|
||||
void ClrTg() { mTg = 0; }
|
||||
void SetAtApid(fpc_ProcID id) { mAtApid = id; }
|
||||
void SetTgApid(fpc_ProcID id) { mTgApid = id; }
|
||||
u8 GetRoomId() { return mRoomId; }
|
||||
void SetRoomId(int id) { mRoomId = id; }
|
||||
fpc_ProcID GetAtOldApid() { return mAtOldApid; }
|
||||
fpc_ProcID GetTgOldApid() { return mTgOldApid; }
|
||||
bool ChkNoActor() { return field_0x1C & 1;}
|
||||
bool ChkNoneActorPerfTblId() { return field_0x08 == 0xFFFF; }
|
||||
dCcG_At_Spl GetAtSpl() { return (dCcG_At_Spl)mAt; }
|
||||
void SetAtSpl(dCcG_At_Spl spl) { mAt = spl; }
|
||||
dCcG_Tg_Spl GetTgSpl() { return (dCcG_Tg_Spl)mTg; }
|
||||
void SetTgSpl(dCcG_Tg_Spl spl) { mTg = spl; }
|
||||
void OnNoActor() { field_0x1C |= 1; }
|
||||
|
||||
// private:
|
||||
/* 0x04 */ u8 mAt;
|
||||
/* 0x05 */ u8 mTg;
|
||||
/* 0x06 */ u8 mRoomId;
|
||||
/* 0x08 */ u16 field_0x08;
|
||||
/* 0x0C */ int mAtApid;
|
||||
/* 0x10 */ int mAtOldApid;
|
||||
/* 0x14 */ int mTgApid;
|
||||
/* 0x18 */ int mTgOldApid;
|
||||
/* 0x1C */ int field_0x1C;
|
||||
}; // Size = 0x20
|
||||
|
||||
class dCcD_Stts : public cCcD_Stts, public dCcD_GStts {
|
||||
public:
|
||||
dCcD_Stts() {}
|
||||
/* 80083850 */ virtual cCcD_GStts* GetGStts();
|
||||
/* 80083860 */ void Init(int weight, int, fopAc_ac_c* pactor);
|
||||
/* 800838F4 */ virtual void Ct();
|
||||
/* 80083928 */ virtual void ClrAt();
|
||||
/* 80083934 */ virtual void ClrTg();
|
||||
/* 800851AC */ virtual ~dCcD_Stts() {}
|
||||
|
||||
}; // Size = 0x3C
|
||||
// unused, existence is inferred
|
||||
struct dCcD_SrcPnt {
|
||||
};
|
||||
|
||||
class dCcD_GObjInf;
|
||||
typedef void (*dCcD_HitCallback)(fopAc_ac_c* i_actorA, dCcD_GObjInf* i_objInfA, fopAc_ac_c* i_actorB, dCcD_GObjInf* i_objInfB);
|
||||
|
||||
|
||||
// Attack/Defense/Correction Collider Common Base
|
||||
class dCcD_GAtTgCoCommonBase {
|
||||
public:
|
||||
|
|
@ -272,6 +229,52 @@ public:
|
|||
void Set(dCcD_SrcGObjCo const& pSrc) { dCcD_GAtTgCoCommonBase::Set(pSrc.mBase); }
|
||||
}; // Size = 0x1C ?
|
||||
|
||||
class dCcD_GStts : public cCcD_GStts {
|
||||
public:
|
||||
/* 80083760 */ dCcD_GStts();
|
||||
/* 800837F8 */ void Ct();
|
||||
/* 80083830 */ void Move();
|
||||
/* 8008523C */ virtual ~dCcD_GStts() {}
|
||||
void ClrAt() { mAt = 0; }
|
||||
void ClrTg() { mTg = 0; }
|
||||
void SetAtApid(fpc_ProcID id) { mAtApid = id; }
|
||||
void SetTgApid(fpc_ProcID id) { mTgApid = id; }
|
||||
u8 GetRoomId() { return mRoomId; }
|
||||
void SetRoomId(int id) { mRoomId = id; }
|
||||
fpc_ProcID GetAtOldApid() { return mAtOldApid; }
|
||||
fpc_ProcID GetTgOldApid() { return mTgOldApid; }
|
||||
bool ChkNoActor() { return field_0x1C & 1;}
|
||||
bool ChkNoneActorPerfTblId() { return field_0x08 == 0xFFFF; }
|
||||
dCcG_At_Spl GetAtSpl() { return (dCcG_At_Spl)mAt; }
|
||||
void SetAtSpl(dCcG_At_Spl spl) { mAt = spl; }
|
||||
dCcG_Tg_Spl GetTgSpl() { return (dCcG_Tg_Spl)mTg; }
|
||||
void SetTgSpl(dCcG_Tg_Spl spl) { mTg = spl; }
|
||||
void OnNoActor() { field_0x1C |= 1; }
|
||||
|
||||
// private:
|
||||
/* 0x04 */ u8 mAt;
|
||||
/* 0x05 */ u8 mTg;
|
||||
/* 0x06 */ u8 mRoomId;
|
||||
/* 0x08 */ u16 field_0x08;
|
||||
/* 0x0C */ int mAtApid;
|
||||
/* 0x10 */ int mAtOldApid;
|
||||
/* 0x14 */ int mTgApid;
|
||||
/* 0x18 */ int mTgOldApid;
|
||||
/* 0x1C */ int field_0x1C;
|
||||
}; // Size = 0x20
|
||||
|
||||
class dCcD_Stts : public cCcD_Stts, public dCcD_GStts {
|
||||
public:
|
||||
dCcD_Stts() {}
|
||||
/* 80083850 */ virtual cCcD_GStts* GetGStts();
|
||||
/* 80083860 */ void Init(int weight, int, fopAc_ac_c* pactor);
|
||||
/* 800838F4 */ virtual void Ct();
|
||||
/* 80083928 */ virtual void ClrAt();
|
||||
/* 80083934 */ virtual void ClrTg();
|
||||
/* 800851AC */ virtual ~dCcD_Stts() {}
|
||||
|
||||
}; // Size = 0x3C
|
||||
|
||||
// Object Info
|
||||
class dCcD_GObjInf : public cCcD_GObjInf {
|
||||
public:
|
||||
|
|
@ -420,6 +423,36 @@ protected:
|
|||
/* 0x0E8 */ dCcD_GObjCo mGObjCo;
|
||||
}; // Size = 0x104
|
||||
|
||||
// Point (unused, existence is inferred)
|
||||
// Including this definition (and its GetShapeAttr impl) causes functions
|
||||
// from cCcD_PntAttr to be emitted in debug, matching what's seen in ShieldD.
|
||||
class dCcD_Pnt : public dCcD_GObjInf, public cCcD_PntAttr {
|
||||
public:
|
||||
/* 80084814 */ cCcD_ShapeAttr* GetShapeAttr();
|
||||
/* 8008506C */ virtual ~dCcD_Pnt() {}
|
||||
dCcD_Pnt() {}
|
||||
}; // Size = 0x144
|
||||
|
||||
// Capsule
|
||||
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 */ virtual ~dCcD_Cps() {}
|
||||
dCcD_Cps() {}
|
||||
}; // Size = 0x144
|
||||
|
||||
// Triangle
|
||||
class dCcD_Tri : public dCcD_GObjInf, public cCcD_TriAttr {
|
||||
public:
|
||||
/* 80084884 */ void Set(dCcD_SrcTri const&);
|
||||
/* 800848A4 */ cCcD_ShapeAttr* GetShapeAttr();
|
||||
/* 80084EF4 */ virtual ~dCcD_Tri() {}
|
||||
dCcD_Tri() {}
|
||||
};
|
||||
|
||||
// Cylinder
|
||||
class dCcD_Cyl : public dCcD_GObjInf, public cCcD_CylAttr {
|
||||
public:
|
||||
|
|
@ -443,27 +476,6 @@ public:
|
|||
/* 80084BF4 */ virtual ~dCcD_Sph() {}
|
||||
}; // Size = 0x138
|
||||
|
||||
|
||||
// Capsule
|
||||
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 */ virtual ~dCcD_Cps() {}
|
||||
dCcD_Cps() {}
|
||||
}; // Size = 0x144
|
||||
|
||||
// Triangle
|
||||
class dCcD_Tri : public dCcD_GObjInf, public cCcD_TriAttr {
|
||||
public:
|
||||
/* 80084884 */ void Set(dCcD_SrcTri const&);
|
||||
/* 800848A4 */ cCcD_ShapeAttr* GetShapeAttr();
|
||||
/* 80084EF4 */ virtual ~dCcD_Tri() {}
|
||||
dCcD_Tri() {}
|
||||
};
|
||||
|
||||
dCcD_GObjInf* dCcD_GetGObjInf(cCcD_Obj* param_0);
|
||||
|
||||
#endif /* D_CC_D_CC_D_H */
|
||||
|
|
|
|||
|
|
@ -4,6 +4,12 @@
|
|||
#include "JSystem/JFramework/JFWDisplay.h"
|
||||
#include "dolphin/mtx.h"
|
||||
#include "global.h"
|
||||
// Possibly fakematch?
|
||||
// Using `sym off` for this header fixes cXyz::~cXyz being incorrectly placed in
|
||||
// a separate .text section.
|
||||
#pragma sym off
|
||||
#include "SSystem/SComponent/c_xyz.h"
|
||||
#pragma sym on
|
||||
|
||||
int mDoGph_Create();
|
||||
void mDoGph_drawFilterQuad(s8 param_0, s8 param_1);
|
||||
|
|
@ -176,6 +182,9 @@ public:
|
|||
static u8 mFade;
|
||||
|
||||
#if PLATFORM_WII || PLATFORM_SHIELD
|
||||
static cXyz m_nowEffPos;
|
||||
static cXyz m_oldEffPos;
|
||||
static cXyz m_oldOldEffPos;
|
||||
static u8 mWide;
|
||||
static ResTIMG* m_fullFrameBufferTimg;
|
||||
static void* m_fullFrameBufferTex;
|
||||
|
|
|
|||
|
|
@ -299,6 +299,22 @@ void cCcD_ShapeAttr::getShapeAccess(cCcD_ShapeAttr::Shape* pshape) const {
|
|||
pshape->_4.x = 0.0f;
|
||||
}
|
||||
|
||||
bool cCcD_PntAttr::GetNVec(cXyz const& param_0, cXyz* param_1) const {
|
||||
param_1->x = param_0.x - vtx.x;
|
||||
param_1->y = param_0.y - vtx.y;
|
||||
param_1->z = param_0.z - vtx.z;
|
||||
if (cM3d_IsZero(PSVECMag(param_1))) {
|
||||
param_1->x = 0.0f;
|
||||
param_1->y = 0.0f;
|
||||
param_1->z = 0.0f;
|
||||
return false;
|
||||
} else {
|
||||
PSVECNormalize(param_1, param_1);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* 80263A88-80263B58 25E3C8 00D0+00 1/0 1/0 0/0 .text
|
||||
* CrossAtTg__12cCcD_TriAttrCFRC12cCcD_CpsAttrP4cXyz */
|
||||
bool cCcD_TriAttr::CrossAtTg(const cCcD_CpsAttr& cpsAttr, cXyz* pxyz) const {
|
||||
|
|
|
|||
|
|
@ -248,7 +248,7 @@ daNpc_Saru_c::~daNpc_Saru_c() {
|
|||
|
||||
/* ############################################################################################## */
|
||||
/* 80AC44F8-80AC4588 000000 0090+00 9/9 0/0 0/0 .rodata m__18daNpc_Saru_Param_c */
|
||||
daNpc_Saru_HIO_c const daNpc_Saru_Param_c::m = {
|
||||
daNpc_Saru_HIOParam const daNpc_Saru_Param_c::m = {
|
||||
140.0f,
|
||||
-3.0f,
|
||||
1.0f,
|
||||
|
|
|
|||
|
|
@ -364,6 +364,10 @@ dCcD_GObjInf* dCcD_GetGObjInf(cCcD_Obj* p_obj) {
|
|||
return (dCcD_GObjInf*)p_obj->GetGObjInf();
|
||||
}
|
||||
|
||||
cCcD_ShapeAttr* dCcD_Pnt::GetShapeAttr() {
|
||||
return this;
|
||||
}
|
||||
|
||||
/* 800847D0-80084814 07F110 0044+00 0/0 1/1 20/20 .text Set__8dCcD_CpsFRC11dCcD_SrcCps */
|
||||
void dCcD_Cps::Set(dCcD_SrcCps const& src) {
|
||||
dCcD_GObjInf::Set(src.mObjInf);
|
||||
|
|
|
|||
|
|
@ -4,17 +4,18 @@
|
|||
//
|
||||
|
||||
#include "d/d_drawlist.h"
|
||||
#include "d/d_s_play.h"
|
||||
#include "JSystem/J2DGraph/J2DAnimation.h"
|
||||
#include "JSystem/J2DGraph/J2DGrafContext.h"
|
||||
#include "JSystem/J2DGraph/J2DScreen.h"
|
||||
#include "JSystem/J3DGraphBase/J3DDrawBuffer.h"
|
||||
#include "SSystem/SComponent/c_bg_s_shdw_draw.h"
|
||||
#include "SSystem/SComponent/c_math.h"
|
||||
#include "d/d_com_inf_game.h"
|
||||
#include "d/d_s_play.h"
|
||||
#include "dol2asm.h"
|
||||
#include "m_Do/m_Do_graphic.h"
|
||||
#include "m_Do/m_Do_lib.h"
|
||||
#include "m_Do/m_Do_mtx.h"
|
||||
#include "JSystem/J2DGraph/J2DGrafContext.h"
|
||||
|
||||
class dDlst_blo_c : public dDlst_base_c {
|
||||
public:
|
||||
|
|
@ -911,6 +912,11 @@ void dDlst_2DMt_c::draw() {
|
|||
}
|
||||
}
|
||||
|
||||
// stand-in for a stripped function that calls J2DPicture::getTexture
|
||||
JUTTexture* dummy_getTexture(J2DPicture* picture) {
|
||||
return picture->getTexture(0);
|
||||
}
|
||||
|
||||
/* 80053A00-80053A9C 04E340 009C+00 0/0 1/1 0/0 .text __ct__10dDlst_2D_cFP7ResTIMGssssUc
|
||||
*/
|
||||
dDlst_2D_c::dDlst_2D_c(ResTIMG* i_timg, s16 i_posX, s16 i_posY, s16 i_sizeX, s16 i_sizeY,
|
||||
|
|
@ -934,6 +940,23 @@ void dDlst_blo_c::draw() {
|
|||
mScreen.draw(field_0x120, field_0x124, dComIfGp_getCurrentGrafPort());
|
||||
}
|
||||
|
||||
// stand-in for a function that pulls in a bunch of inline functions but was presumably stripped
|
||||
void dummy_misc() {
|
||||
J2DScreen* screen;
|
||||
J2DPane* pane;
|
||||
J2DPicture* picture;
|
||||
J2DAnmBase* anmBase;
|
||||
J2DAnmColor* anmColor;
|
||||
delete anmBase;
|
||||
picture->setBlack(JUtility::TColor(0, 0, 0, 0));
|
||||
picture->setWhite(JUtility::TColor(0, 0, 0, 0));
|
||||
pane->getTypeID();
|
||||
pane->makeMatrix(0.0f, 0.0f);
|
||||
pane->calcMtx();
|
||||
screen->clearAnmTransform();
|
||||
anmColor->searchUpdateMaterialID(screen);
|
||||
}
|
||||
|
||||
/* 80053CDC-80053CEC 04E61C 0010+00 0/0 2/2 0/0 .text init__8cM_rnd_cFiii */
|
||||
void cM_rnd_c::init(int s0, int s1, int s2) {
|
||||
seed0 = s0;
|
||||
|
|
|
|||
|
|
@ -17,7 +17,12 @@
|
|||
#include "m_Do/m_Do_machine.h"
|
||||
#include "m_Do/m_Do_main.h"
|
||||
#include "SSystem/SComponent/c_math.h"
|
||||
// Possibly fakematch?
|
||||
// Using `sym off` for this header fixes J2DOrthoGraph::~J2DOrthoGraph being
|
||||
// incorrectly placed in a separate .text section.
|
||||
#pragma sym off
|
||||
#include "JSystem/J2DGraph/J2DOrthoGraph.h"
|
||||
#pragma sym on
|
||||
#include "JSystem/JParticle/JPADrawInfo.h"
|
||||
#include "JSystem/JUtility/JUTConsole.h"
|
||||
#include "JSystem/JFramework/JFWSystem.h"
|
||||
|
|
@ -510,7 +515,7 @@ static void drawDepth2(view_class* param_0, view_port_class* param_1, int param_
|
|||
GXBegin(GX_QUADS, GX_VTXFMT0, 4);
|
||||
GXPosition3s16(x_orig, y_orig_pos, -5);
|
||||
GXTexCoord2s8(0, 0);
|
||||
GXPosition3s16(width, y_orig_pos, -5);
|
||||
GXPosition3s16(width, y_orig_pos, -5);
|
||||
GXTexCoord2s8(1, 0);
|
||||
GXPosition3s16(width, height, -5);
|
||||
GXTexCoord2s8(1, 1);
|
||||
|
|
|
|||
Loading…
Reference in New Issue