mirror of https://github.com/zeldaret/tp.git
187 lines
6.0 KiB
C++
187 lines
6.0 KiB
C++
#ifndef D_A_E_PM_H
|
|
#define D_A_E_PM_H
|
|
|
|
#include "SSystem/SComponent/c_phase.h"
|
|
#include "Z2AudioLib/Z2Creature.h"
|
|
#include "f_op/f_op_actor.h"
|
|
#include "d/d_bg_s_acch.h"
|
|
#include "d/d_cc_d.h"
|
|
#include "d/d_cc_uty.h"
|
|
#include "d/d_msg_flow.h"
|
|
|
|
class dPath;
|
|
|
|
/**
|
|
* @ingroup actors-enemies
|
|
* @class daE_PM_c
|
|
* @brief Skullkid
|
|
*
|
|
* @details
|
|
*
|
|
*/
|
|
class daE_PM_c : public fopEn_enemy_c {
|
|
public:
|
|
/* 80741FB4 */ void DemoSkip(int);
|
|
/* 80742004 */ static int DemoSkipCallBack(void*, int);
|
|
/* 80742038 */ int CreateHeap();
|
|
/* 80742448 */ void initCcCylinder();
|
|
/* 807424C0 */ void setCcCylinder();
|
|
/* 80742508 */ int ctrlJoint(J3DJoint*, J3DModel*);
|
|
/* 80742600 */ void Particle_Set(u16, cXyz);
|
|
/* 80742674 */ void SetAnm(int, int, f32, f32);
|
|
/* 80742810 */ void Yazirushi();
|
|
/* 807428A8 */ void SearchRndP();
|
|
/* 80742958 */ void SearchFarP();
|
|
/* 80742C94 */ void SearchNearP();
|
|
/* 80742E1C */ BOOL SearchNextPos();
|
|
/* 80742FB4 */ void SetGakkiEffect();
|
|
/* 807430C4 */ bool CameraSet();
|
|
/* 80743210 */ void SetStopingCam();
|
|
/* 80743294 */ void SetStopCam(cXyz, f32, f32, s16);
|
|
/* 807433E8 */ void SetMoveCam2(f32, f32);
|
|
/* 80743524 */ void SetMoveCam(f32, f32);
|
|
/* 80743600 */ void SetReleaseCam();
|
|
/* 807436A4 */ void Ap_StartAction();
|
|
/* 80743D8C */ void Ap_CreateAction();
|
|
/* 807444F0 */ void Ap_EscapeAction();
|
|
/* 80744790 */ void AppearAction();
|
|
/* 80744878 */ void DemoBeforeEscape();
|
|
/* 80744DA0 */ void DemoAfterEscape();
|
|
/* 807453F4 */ void DemoMoveAction();
|
|
/* 80745438 */ void WaitAction();
|
|
/* 807455F4 */ void GroundCheck();
|
|
/* 80745970 */ void EscapeAction();
|
|
/* 80745C44 */ void DeathAction();
|
|
/* 80745DBC */ void Action();
|
|
/* 80745ED0 */ void DemoBossStart2();
|
|
/* 80746624 */ void DemoBossStart();
|
|
/* 80747194 */ void BossEscapeAction();
|
|
/* 807476A0 */ void BossDamageAction();
|
|
/* 80747F38 */ void BossWaitAction();
|
|
/* 807480A4 */ void BossDeathAction();
|
|
/* 80748964 */ void BossAction();
|
|
/* 80748B18 */ int Execute();
|
|
/* 80748D74 */ void StartAction();
|
|
/* 8074954C */ void GakkiLoopAction(cXyz, f32);
|
|
/* 807499C0 */ void DemoCreateAction();
|
|
/* 80749C0C */ void CreateAction();
|
|
/* 80749D9C */ void CreateChk();
|
|
/* 80749ED0 */ void LampAction();
|
|
/* 8074A14C */ void DamageAction();
|
|
/* 8074A210 */ void At_Check();
|
|
/* 8074A3DC */ void ObjHit();
|
|
/* 8074A644 */ void EyeMove();
|
|
/* 8074A6CC */ int Draw();
|
|
/* 8074AAC0 */ int Delete();
|
|
/* 8074AB28 */ void setBaseMtx();
|
|
/* 8074ABA8 */ void setGakkiBaseMtx();
|
|
/* 8074AC10 */ void setLampBaseMtx();
|
|
/* 8074AEF8 */ void SkipChk();
|
|
/* 8074B4DC */ cPhs__Step Create();
|
|
|
|
void AppearSet() { mAppear = true; }
|
|
u8 ActionChk() { return mPuppetDelete; }
|
|
u8 SwitchChk() { return mStage; }
|
|
u8 DoorChk() { return mDoorAction; }
|
|
|
|
private:
|
|
/* 0x5AC */ fpc_ProcID mPuppetID[4];
|
|
/* 0x5BC */ u8 field_0x5bc[0x5DC - 0x5BC];
|
|
/* 0x5DC */ u8 mDoorAction;
|
|
/* 0x5E0 */ dPath* mpPath;
|
|
/* 0x5E4 */ cXyz mPoint;
|
|
/* 0x5F0 */ u8 mPathIndex;
|
|
/* 0x5F4 */ int mPointIndex;
|
|
/* 0x5F8 */ u8 mBossHealth;
|
|
/* 0x5FC */ f32 field_0x5fc;
|
|
/* 0x600 */ u8 mPuppetNum;
|
|
/* 0x602 */ s16 mTargetAngleY;
|
|
/* 0x604 */ s16 mHeadAngleX;
|
|
/* 0x606 */ s16 mHeadAngleZ;
|
|
/* 0x608 */ s16 mTargetHeadAngleX;
|
|
/* 0x60C */ f32 mTargetSpeed;
|
|
/* 0x610 */ u8 mAction;
|
|
/* 0x611 */ u8 mMode;
|
|
/* 0x612 */ u8 mDemoMode;
|
|
/* 0x613 */ u8 field_0x613;
|
|
/* 0x614 */ u8 mPuppetDelete;
|
|
/* 0x616 */ s16 mIFrameTimer;
|
|
/* 0x618 */ u8 field_0x618;
|
|
/* 0x619 */ bool mAppear;
|
|
/* 0x61A */ u8 mStage;
|
|
/* 0x61B */ u8 mSwBit;
|
|
/* 0x61C */ int mAnm;
|
|
/* 0x620 */ s16 mTimer[4];
|
|
/* 0x628 */ u32 mParticleKey;
|
|
/* 0x62C */ u32 mGakkiParticleKey[3];
|
|
/* 0x638 */ u32 mLampParticleKey;
|
|
/* 0x63C */ dMsgFlow_c mMsgFlow;
|
|
/* 0x688 */ u8 mEyeAnmTimer;
|
|
/* 0x689 */ u8 mEyeAnmFrame;
|
|
/* 0x68C */ cXyz mCamCenter;
|
|
/* 0x698 */ cXyz mCamEye;
|
|
/* 0x6A4 */ cXyz mCamCenterTarget;
|
|
/* 0x6B0 */ cXyz mCamEyeTarget;
|
|
/* 0x6BC */ cXyz mCamCenterTarget2;
|
|
/* 0x6C8 */ cXyz mCamEyeTarget2;
|
|
/* 0x6D4 */ f32 mCamFovY;
|
|
/* 0x6D8 */ bool mSecondEncounter;
|
|
/* 0x6DC */ cXyz mOldLampPosition;
|
|
/* 0x6E8 */ cXyz mLampPosition;
|
|
/* 0x6F4 */ csXyz mLampAngle;
|
|
/* 0x6FA */ s16 field_0x6fa;
|
|
/* 0x6FC */ s16 field_0x6fc;
|
|
/* 0x6FE */ bool mBossLightOn;
|
|
/* 0x6FF */ bool field_0x6ff;
|
|
/* 0x700 */ mDoExt_btpAnm* mpEyeAnm;
|
|
/* 0x704 */ mDoExt_McaMorfSO* mpMorf;
|
|
/* 0x708 */ mDoExt_McaMorf* mpTrumpetMorf;
|
|
/* 0x70C */ J3DModel* mpLampModel;
|
|
/* 0x710 */ mDoExt_McaMorf* mpGlowEffectMorf;
|
|
/* 0x714 */ request_of_phase_process_class mPhase;
|
|
/* 0x71C */ u32 mShadowKey;
|
|
/* 0x720 */ Z2CreatureEnemy mCreatureSound;
|
|
/* 0x7C4 */ dBgS_AcchCir mAcchCir;
|
|
/* 0x804 */ dBgS_ObjAcch mAcch;
|
|
/* 0x9DC */ dCcD_Stts mCcStts;
|
|
/* 0xA18 */ dCcD_Cyl mCcCyl;
|
|
/* 0xB54 */ dCcU_AtInfo mAtInfo;
|
|
/* 0xB78 */ bool mHIOInit;
|
|
};
|
|
|
|
STATIC_ASSERT(sizeof(daE_PM_c) == 0xB7C);
|
|
|
|
class daE_PM_HIO_c {
|
|
public:
|
|
/* 80741EEC */ daE_PM_HIO_c();
|
|
/* 8074BA68 */ virtual ~daE_PM_HIO_c() {}
|
|
|
|
/* 0x04 */ s8 field_0x4;
|
|
/* 0x08 */ f32 mLampParticleScale;
|
|
/* 0x0C */ f32 mGlowEffectScale;
|
|
/* 0x10 */ f32 mEscapeRange;
|
|
/* 0x14 */ s16 mGlowColor1R;
|
|
/* 0x16 */ s16 mGlowColor1G;
|
|
/* 0x18 */ s16 mGlowColor1B;
|
|
/* 0x1A */ s16 mGlowColor2R;
|
|
/* 0x1C */ s16 mGlowColor2G;
|
|
/* 0x1E */ s16 mGlowColor2B;
|
|
/* 0x20 */ s16 mGlowColor1A;
|
|
/* 0x22 */ s16 mBossEscapeTimer;
|
|
/* 0x24 */ s16 field_0x24;
|
|
/* 0x26 */ s16 mAdditionalPuppetNum;
|
|
/* 0x28 */ f32 mCreateTimer;
|
|
/* 0x2C */ f32 field_0x2c;
|
|
/* 0x30 */ f32 field_0x30;
|
|
/* 0x34 */ f32 field_0x34;
|
|
/* 0x38 */ f32 mBossLightR;
|
|
/* 0x3C */ f32 mBossLightG;
|
|
/* 0x40 */ f32 mBossLightB;
|
|
/* 0x44 */ f32 field_0x44;
|
|
/* 0x48 */ f32 field_0x48;
|
|
};
|
|
|
|
STATIC_ASSERT(sizeof(daE_PM_HIO_c) == 0x4C);
|
|
|
|
#endif /* D_A_E_PM_H */
|