mirror of
https://github.com/zeldaret/tww.git
synced 2024-11-23 13:29:53 +00:00
42 lines
1.3 KiB
C++
42 lines
1.3 KiB
C++
#ifndef D_BG_D_BG_S_GRP_PASS_CHK_H
|
|
#define D_BG_D_BG_S_GRP_PASS_CHK_H
|
|
|
|
#include "SSystem/SComponent/c_bg_s_chk.h"
|
|
|
|
class dBgS_GrpPassChk : public cBgS_GrpPassChk {
|
|
public:
|
|
enum {
|
|
NORMAL_GRP = 0x01,
|
|
WATER_GRP = 0x02,
|
|
YOGAN_GRP = 0x04, // Lava
|
|
DOKU_GRP = 0x08, // Unused, for poison?
|
|
SPL_GRP = WATER_GRP | YOGAN_GRP | DOKU_GRP,
|
|
FULL_GRP = NORMAL_GRP | SPL_GRP,
|
|
LIGHT_GRP = 0x10,
|
|
};
|
|
|
|
dBgS_GrpPassChk() { mGrp = NORMAL_GRP; }
|
|
|
|
virtual ~dBgS_GrpPassChk() {}
|
|
|
|
void OnNormalGrp() { mGrp |= NORMAL_GRP; }
|
|
void OnWaterGrp() { mGrp |= WATER_GRP; }
|
|
void OnYoganGrp() { mGrp |= YOGAN_GRP; }
|
|
void OnSpl() { mGrp |= SPL_GRP; }
|
|
void OnAll() { mGrp |= FULL_GRP; }
|
|
void OnLightGrp() { mGrp |= LIGHT_GRP; }
|
|
void OffNormalGrp() { mGrp &= ~NORMAL_GRP; }
|
|
void OffWaterGrp() { mGrp &= ~WATER_GRP; }
|
|
void OffFullGrp() { mGrp &= ~FULL_GRP; }
|
|
u32 MaskNormalGrp() const { return mGrp & NORMAL_GRP; }
|
|
u32 MaskWaterGrp() const { return mGrp & WATER_GRP; }
|
|
u32 MaskYoganGrp() const { return mGrp & YOGAN_GRP; }
|
|
u32 MaskDokuGrp() const { return mGrp & DOKU_GRP; }
|
|
u32 MaskLightGrp() const { return mGrp & LIGHT_GRP; }
|
|
private:
|
|
/* 0x4 */ u32 mGrp;
|
|
};
|
|
|
|
STATIC_ASSERT(sizeof(dBgS_GrpPassChk) == 0x8);
|
|
|
|
#endif /* D_BG_D_BG_S_GRP_PASS_CHK_H */ |