mirror of
https://github.com/zeldaret/ss
synced 2026-06-22 16:42:53 -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
75 lines
1.8 KiB
C++
75 lines
1.8 KiB
C++
#ifndef C_BG_S_CHK_H
|
|
#define C_BG_S_CHK_H
|
|
|
|
#include "d/col/bg/d_bg_w_base.h"
|
|
#include "d/col/c/c_partition.h"
|
|
#include "f/f_base.h"
|
|
#include "rvl/MTX.h" // IWYU pragma: export
|
|
|
|
struct cBgD_Vtx_t : public nw4r::math::VEC3 {};
|
|
|
|
class cBgS_GrpPassChk {
|
|
public:
|
|
cBgS_GrpPassChk();
|
|
virtual ~cBgS_GrpPassChk();
|
|
};
|
|
|
|
class cBgS_PolyPassChk;
|
|
|
|
class cBgS_Chk {
|
|
public:
|
|
/* 0x00 */ cBgS_PolyPassChk *mPolyPassChk;
|
|
/* 0x04 */ cBgS_GrpPassChk *mGrpPassChk;
|
|
/* 0x08 */ u32 mActorId;
|
|
/* 0x0C */ u16 mField_0x0C;
|
|
/* 0x0E */ u16 mField_0x0E;
|
|
/* 0x10 */ u8 mField_0x10;
|
|
/* 0x14 */ cPartition mPartition;
|
|
/* 0x24 */ // __vtable__
|
|
|
|
public:
|
|
cBgS_Chk();
|
|
virtual ~cBgS_Chk();
|
|
void SetActorID(u32 *);
|
|
|
|
void SetPolyPassChk(cBgS_PolyPassChk *p_chk) {
|
|
mPolyPassChk = p_chk;
|
|
}
|
|
void SetGrpPassChk(cBgS_GrpPassChk *p_chk) {
|
|
mGrpPassChk = p_chk;
|
|
}
|
|
cBgS_PolyPassChk *GetPolyPassChk() const {
|
|
return mPolyPassChk;
|
|
}
|
|
cBgS_GrpPassChk *GetGrpPassChk() const {
|
|
return mGrpPassChk;
|
|
}
|
|
|
|
int ChkSameActorPid(const fBase_c *pActor) const {
|
|
int id = pActor ? pActor->unique_ID : 0;
|
|
if (id == 0 || mActorId == 0 || mField_0x10 == 0) {
|
|
return false;
|
|
}
|
|
return mActorId == id ? 1 : 0;
|
|
}
|
|
|
|
bool ChkField_0xC(const dBgW_Base *pBg) const {
|
|
return mField_0x0C & pBg->GetField_0x20();
|
|
}
|
|
|
|
bool ChkField_0xE(const dBgW_Base *pBg) const {
|
|
return mField_0x0E & pBg->GetField_0x22();
|
|
}
|
|
|
|
void SetExtChk(const cBgS_Chk &other) {
|
|
mPolyPassChk = other.mPolyPassChk;
|
|
mGrpPassChk = other.mGrpPassChk;
|
|
mActorId = other.mActorId;
|
|
mField_0x10 = other.mField_0x10;
|
|
mField_0x0C = other.mField_0x0C;
|
|
mField_0x0E = other.mField_0x0E;
|
|
}
|
|
};
|
|
|
|
#endif
|