mirror of
https://github.com/zeldaret/tww.git
synced 2026-05-24 15:20:53 -04:00
60 lines
1.4 KiB
C++
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 */
|