Files
tww/include/d/actor/d_a_obj_mknjd.h
T
2025-03-17 22:26:56 -04:00

104 lines
2.8 KiB
C++

#ifndef D_A_OBJ_MKNJD_H
#define D_A_OBJ_MKNJD_H
#include "f_op/f_op_actor.h"
#include "d/d_a_obj.h"
#include "d/d_bg_s_movebg_actor.h"
#include "d/d_particle.h"
#include "d/d_com_inf_game.h"
#include "SSystem/SComponent/c_phase.h"
class msg_class;
namespace daObjMknjD {
class Act_c : public dBgS_MoveBgActor {
public:
enum Prm_e {
PRM_SWITCH_W = 0x08,
PRM_SWITCH_S = 0x00,
PRM_TYPE_W = 0x01,
PRM_TYPE_S = 0x10,
};
int prm_get_swSave() const { return daObj::PrmAbstract<Prm_e>(this, PRM_SWITCH_W, PRM_SWITCH_S); }
u8 prm_get_Type() const { return daObj::PrmAbstract<Prm_e>(this, PRM_TYPE_W, PRM_TYPE_S); }
void anmAtr(u16) {}
u32 getMsg() {
if (m0500 == 0) {
dComIfGp_setMelodyNum(mMelodyNum);
return 0x05B3;
}
else {
return 0x1901;
}
}
cPhs_State Mthd_Create();
BOOL Mthd_Delete();
s16 XyCheckCB(int);
s16 XyEventCB(int);
virtual BOOL CreateHeap();
virtual BOOL Create();
virtual BOOL Delete();
void set_mtx();
void init_mtx();
void setGoal(int);
void setPlayerAngle(int);
u16 talk(int);
void privateCut();
bool daObjMknjD_break();
virtual BOOL Execute(Mtx**);
virtual BOOL Draw();
static const char M_arcname[];
static Mtx M_tmp_mtx;
/* 0x02C8 */ cXyz mLeftHalfPos;
/* 0x02D4 */ cXyz mRightHalfPos;
/* 0x02E0 */ cXyz mShardPositions[0x14];
/* 0x03D0 */ f32 mShardHeights[0x14];
/* 0x0420 */ request_of_phase_process_class mPhs;
/* 0x0428 */ J3DModel* mMainMdl;
/* 0x042C */ J3DModel* mBreakMdl;
/* 0x0430 */ u16 m0430;
/* 0x0432 */ u16 m0432;
/* 0x0434 */ u16 m0434;
/* 0x0438 */ s32 mBreakTimer;
/* 0x043C */ u8 mMainMdlAlpha;
/* 0x043D */ bool m043D;
/* 0x043E */ u8 m043E;
/* 0x043F */ u8 m043F;
/* 0x0440 */ JPABaseEmitter* mEmitters[4];
/* 0x0450 */ dPa_smokeEcallBack mSmokeCBs[4];
/* 0x04D0 */ cXyz mBrokenPos;
/* 0x04DC */ s16 mCheckEventIdx;
/* 0x04DE */ s16 mDemoEventIdx;
/* 0x04E0 */ s16 mErrorEventIdx;
/* 0x04E2 */ s16 mLessonEventIdx;
/* 0x04E4 */ s8 mActionIdx;
/* 0x04E5 */ u8 mMelodyNum;
/* 0x04E6 */ u8 mGiveItemNo;
/* 0x04E8 */ cXyz mGoalPos;
/* 0x04F4 */ u32 mMsgNo;
/* 0x04F8 */ fpc_ProcID mMsgPID;
/* 0x04FC */ msg_class* mMsgPtr;
/* 0x0500 */ s32 m0500;
/* 0x0504 */ bool m0504;
};
const char Act_c::M_arcname[] = "MknjD";
static void manage_friend_draw(int);
static void setMaterial(J3DMaterial*, u8);
};
#endif /* D_A_OBJ_MKNJD_H */