mirror of https://github.com/zeldaret/tp.git
71 lines
2.0 KiB
C++
71 lines
2.0 KiB
C++
#ifndef D_A_OBJ_SWBALLB_H
|
|
#define D_A_OBJ_SWBALLB_H
|
|
|
|
#include "f_op/f_op_actor_mng.h"
|
|
#include "d/d_event_lib.h"
|
|
#include "d/d_lib.h"
|
|
|
|
/**
|
|
* @ingroup actors-objects
|
|
* @class daObjSwBallB_c
|
|
* @brief Ball Switch B
|
|
*
|
|
* @details
|
|
*
|
|
*/
|
|
class daObjSwBallB_c : public fopAc_ac_c, public dEvLib_callback_c {
|
|
public:
|
|
daObjSwBallB_c() : dEvLib_callback_c(this) {}
|
|
|
|
int checkArea_sub(fopAc_ac_c*);
|
|
void search_ball();
|
|
void initBaseMtx();
|
|
void setBaseMtx();
|
|
int Create();
|
|
int CreateHeap();
|
|
int create();
|
|
int execute();
|
|
void actionRun();
|
|
void actionStop();
|
|
void PutCrrPos();
|
|
int draw();
|
|
int _delete();
|
|
virtual ~daObjSwBallB_c() {}
|
|
|
|
s32 getID() { return fopAcM_GetParamBit(this, 0, 8); }
|
|
u32 getSwbit2() { return fopAcM_GetParamBit(this, 8, 8); }
|
|
u32 getSwbit() { return fopAcM_GetParamBit(this, 16, 8); }
|
|
u32 getType() { return fopAcM_GetParamBit(this, 24, 4); }
|
|
u32 getArg1() { return fopAcM_GetParamBit(this, 28, 4); }
|
|
u8 getEvent() { return field_0x5a2; }
|
|
void clrFlag(u8 idx) { field_0x597[idx] = 0; }
|
|
void onFlag(u8 idx, u8 val) { field_0x597[idx] |= val; }
|
|
u8 checkFlag(u8 idx, u8 val) { return field_0x597[idx] & val; }
|
|
void setLightOn() { field_0x5ac = 1; }
|
|
void setLightOff() { field_0x5ad = 1; }
|
|
|
|
private:
|
|
/* 0x57C */ request_of_phase_process_class field_0x57c;
|
|
/* 0x584 */ J3DModel* mModel;
|
|
/* 0x588 */ mDoExt_btkAnm* field_0x588;
|
|
/* 0x58C */ u32 field_0x58c[2];
|
|
/* 0x594 */ u8 field_0x594;
|
|
/* 0x595 */ u8 field_0x595;
|
|
/* 0x596 */ u8 field_0x596;
|
|
/* 0x597 */ u8 field_0x597[2];
|
|
/* 0x598 */ u8 field_0x599[2];
|
|
/* 0x59C */ u32 field_0x59c;
|
|
/* 0x5A0 */ u8 field_0x5a0;
|
|
/* 0x5A1 */ u8 field_0x5a1;
|
|
/* 0x5A2 */ u16 field_0x5a2;
|
|
/* 0x5A4 */ u16 field_0x5a4;
|
|
/* 0x5A6 */ u16 field_0x5a6;
|
|
/* 0x5A8 */ int field_0x5a8;
|
|
/* 0x5AC */ u8 field_0x5ac;
|
|
/* 0x5AD */ u8 field_0x5ad;
|
|
};
|
|
|
|
// STATIC_ASSERT(sizeof(daObjSwBallB_c) == 0x5B0);
|
|
|
|
#endif /* D_A_OBJ_SWBALLB_H */
|