Files
LagoLunatic e05ebf1724 Misc cleanup
2025-08-04 20:52:16 -04:00

60 lines
1.4 KiB
C++

#ifndef D_A_OBJ_ICE_H
#define D_A_OBJ_ICE_H
#include "f_op/f_op_actor.h"
#include "d/d_cc_d.h"
#include "d/d_a_obj.h"
#include "f_op/f_op_actor_mng.h"
class dBgW;
class dBgS;
class daObjIce_c : public fopAc_ac_c {
typedef void (daObjIce_c::*memberFuncPtr)();
enum Param_e {
PRM_SWSAVE_W = 8,
PRM_SWSAVE_S = 0,
};
public:
s32 param_get_swSave() const { return daObj::PrmAbstract(this, PRM_SWSAVE_W, PRM_SWSAVE_S); }
void param_on_swSave() const {
const s32 sw = param_get_swSave();
if (sw != 0xFF) {
fopAcM_onSwitch((fopAc_ac_c*)this, sw);
}
}
inline void setEffectMtx();
u8 chk_appear();
void set_mtx();
void init_mtx();
static BOOL solidHeapCB(fopAc_ac_c*);
bool create_heap();
static void tg_hitCallback(fopAc_ac_c*, dCcD_GObjInf*, fopAc_ac_c*, dCcD_GObjInf*);
cPhs_State _create();
bool _delete();
void wait_act_proc();
void fade_out_retire_act_proc();
bool _execute();
bool _draw();
public:
/* 0x290 */ request_of_phase_process_class mPhase;
/* 0x298 */ J3DModel* mModel;
/* 0x29C */ dCcD_Stts mStts;
/* 0x2D8 */ dCcD_Cyl mCyl;
/* 0x408 */ dBgW* mBgw;
/* 0x40C */ Mtx m40C;
/* 0x43C */ memberFuncPtr m43C;
/* 0x448 */ u8 m448;
/* 0x44C */ f32 m44C;
/* 0x450 */ f32 m450;
/* 0x454 */ f32 m454;
/* 0x458 */ s32 m458;
/* 0x45C */ s32 m45C;
}; // size = 0x460
#endif /* D_A_OBJ_ICE_H */