d_a_obj_movebox progress

This commit is contained in:
LagoLunatic
2023-10-21 18:52:52 -04:00
parent 1dd6f60fe6
commit 35bd70b8db
4 changed files with 455 additions and 210 deletions
+2 -2
View File
@@ -38,12 +38,12 @@ s32 cLib_distanceAngleS(s16 x, s16 y);
template <typename T>
inline void cLib_offBit(T& value, T bit) {
value &= ~bit;
value = static_cast<T>(value & ~bit);
}
template <typename T>
inline void cLib_onBit(T& value, T bit) {
value |= bit;
value = static_cast<T>(value | bit);
}
template <typename T>
+15 -8
View File
@@ -13,12 +13,17 @@ class cM3dGTri;
class dBgS_CrrPos;
class cBgS_PolyInfo;
class dBgW;
typedef void (*dBgW_CrrFunc)(dBgW*, void*, cBgS_PolyInfo&, bool, cXyz*, csXyz*, csXyz*);
class dBgW : public cBgW {
public:
enum PushPullLabel {};
enum PushPullLabel {
PP_UNK1_e = 0x01,
PP_UNK2_e = 0x02,
PP_UNK8_e = 0x08,
};
typedef void (*dBgW_CrrFunc)(dBgW*, void*, cBgS_PolyInfo&, bool, cXyz*, csXyz*, csXyz*);
typedef void (*dBgW_RideCallBack)(dBgW*, fopAc_ac_c*, fopAc_ac_c*);
typedef fopAc_ac_c* (*dBgW_PPCallBack)(fopAc_ac_c*, fopAc_ac_c*, s16, dBgW::PushPullLabel);
dBgW();
@@ -44,20 +49,22 @@ public:
void ChangeAttributeCodeByPathPntNo(int, u32);
virtual ~dBgW() {}
virtual void ChkPolyThrough(int, cBgS_PolyPassChk*);
virtual void ChkShdwDrawThrough(int, cBgS_PolyPassChk*);
virtual bool ChkPolyThrough(int, cBgS_PolyPassChk*);
virtual bool ChkShdwDrawThrough(int, cBgS_PolyPassChk*);
virtual bool ChkGrpThrough(int, cBgS_GrpPassChk*, int);
virtual void CrrPos(cBgS_PolyInfo&, void*, bool, cXyz*, csXyz*, csXyz*);
virtual void TransPos(cBgS_PolyInfo&, void*, bool, cXyz*, csXyz*, csXyz*);
virtual void MatrixCrrPos(cBgS_PolyInfo&, void*, bool, cXyz*, csXyz*, csXyz*);
void SetCrrFunc(dBgW_CrrFunc func) { m_crr_func = func; }
void SetRideCallback(dBgW_RideCallBack func) { mpRideCb = func; }
void SetPushPullCallback(dBgW_PPCallBack func) { mpPushPullCb = func; }
/* 0xA8 */ dBgW_CrrFunc m_crr_func;
/* 0xAC */ s16 mOldRotY;
/* 0xAE */ s16 mRotYDelta;
/* 0xB0 */ void* mpRideCb;
/* 0xB4 */ void* mpPushPullCb;
/* 0xB0 */ dBgW_RideCallBack mpRideCb;
/* 0xB4 */ dBgW_PPCallBack mpPushPullCb;
/* 0xB8 */ s16 mRoomNo;
/* 0xBA */ u8 mFlag;
/* 0xBB */ u8 mRoomNo2;