mirror of
https://github.com/zeldaret/ss
synced 2026-06-17 15:16:38 -04:00
26af4db82d
* update from dtk-template and start work towards using clangd * include <a> -> "a" * Update build.yml * remove/add non-trivial class in union warning
90 lines
2.0 KiB
C++
90 lines
2.0 KiB
C++
#ifndef D_CC_SHAPE_COLLIDERS_H
|
|
#define D_CC_SHAPE_COLLIDERS_H
|
|
|
|
#include "d/col/cc/d_cc_d.h"
|
|
#include "m/m_vec.h"
|
|
|
|
struct dCcD_SrcUnk {
|
|
/* 0x00 */ dCcD_SrcGObjInf mObjInf;
|
|
/* 0x44 */ dCcD_SrcUnk1Attr mUnk1Inf;
|
|
}; // Size: ???
|
|
|
|
class dCcD_Unk1 : public dCcD_GObjInf, public dCcD_ShapeAttr1 {
|
|
public:
|
|
dCcD_Unk1();
|
|
virtual ~dCcD_Unk1();
|
|
|
|
virtual void *dCcD_GObjInf_0x0C() override;
|
|
|
|
void init(const dCcD_SrcUnk &src);
|
|
void unknownCalc();
|
|
};
|
|
|
|
struct dCcD_SrcEmpty {
|
|
/* 0x00 */ dCcD_SrcGObjInf mObjInf;
|
|
}; // Size: 0x40
|
|
|
|
// Not sure what this is, the init function
|
|
// doesn't call the shape initializer
|
|
class dCcD_Empty : public dCcD_GObjInf, public dCcD_ShapeAttr2 {
|
|
public:
|
|
dCcD_Empty();
|
|
virtual ~dCcD_Empty();
|
|
|
|
virtual void *dCcD_GObjInf_0x0C() override;
|
|
|
|
void init(const dCcD_SrcEmpty &src);
|
|
};
|
|
|
|
struct dCcD_SrcCyl {
|
|
/* 0x00 */ dCcD_SrcGObjInf mObjInf;
|
|
/* 0x40 */ dCcD_SrcCylAttr mCylAttr;
|
|
}; // Size: 0x44
|
|
|
|
// Cylinder
|
|
class dCcD_Cyl : public dCcD_GObjInf, public dCcD_ShapeAttr3 {
|
|
public:
|
|
dCcD_Cyl();
|
|
virtual ~dCcD_Cyl();
|
|
|
|
virtual void *dCcD_GObjInf_0x0C() override;
|
|
void init(const dCcD_SrcCyl &src);
|
|
void setCenter(const mVec3_c &);
|
|
void moveCenter(const mVec3_c &);
|
|
};
|
|
|
|
struct dCcD_SrcSph {
|
|
/* 0x00 */ dCcD_SrcGObjInf mObjInf;
|
|
/* 0x40 */ dCcD_SrcSphAttr mSphAttr;
|
|
}; // Size: 0x44
|
|
|
|
// Sphere
|
|
class dCcD_Sph : public dCcD_GObjInf, public dCcD_ShapeAttr4 {
|
|
public:
|
|
dCcD_Sph();
|
|
virtual ~dCcD_Sph();
|
|
|
|
virtual void *dCcD_GObjInf_0x0C() override;
|
|
void init(const dCcD_SrcSph &src);
|
|
void setCenter(const mVec3_c &);
|
|
void moveCenter(const mVec3_c &);
|
|
void setCenterAndAtVec(const mVec3_c &, const mVec3_c &);
|
|
};
|
|
|
|
struct dCcD_SrcAabb {
|
|
/* 0x00 */ dCcD_SrcGObjInf mObjInf;
|
|
/* 0x40 */ dCcD_SrcAabbAttr mAabbAttr;
|
|
}; // Size: 0x58
|
|
|
|
class dCcD_Aabb : public dCcD_GObjInf, public dCcD_ShapeAttr5 {
|
|
public:
|
|
dCcD_Aabb();
|
|
virtual ~dCcD_Aabb();
|
|
|
|
virtual void *dCcD_GObjInf_0x0C() override;
|
|
|
|
void init(const dCcD_SrcAabb &src);
|
|
};
|
|
|
|
#endif
|