mirror of https://github.com/zeldaret/tp.git
123 lines
3.8 KiB
C++
123 lines
3.8 KiB
C++
#ifndef D_A_E_WW_H
|
|
#define D_A_E_WW_H
|
|
|
|
#include "d/d_bg_s_acch.h"
|
|
#include "d/d_cc_d.h"
|
|
#include "d/d_cc_uty.h"
|
|
#include "f_op/f_op_actor_mng.h"
|
|
|
|
/**
|
|
* @ingroup actors-enemies
|
|
* @class daE_WW_c
|
|
* @brief White Wolfos
|
|
*
|
|
* @details
|
|
*
|
|
*/
|
|
|
|
class daE_WW_c : public fopEn_enemy_c {
|
|
public:
|
|
int ctrlJoint(J3DJoint*, J3DModel*);
|
|
static int JointCallBack(J3DJoint*, int);
|
|
void setHeadAngle();
|
|
int draw();
|
|
void setBck(int, u8, f32, f32);
|
|
bool checkBck(int);
|
|
void setActionMode(int, int);
|
|
void damage_check();
|
|
void setRandamNumber();
|
|
s16 getNearPlayerAngle();
|
|
void setGroundAngle();
|
|
f32 checkCreateBg(cXyz);
|
|
bool checkAttackWall();
|
|
void setBlurEffect();
|
|
void setAppearEffect();
|
|
bool checkSideStep();
|
|
void createWolf(cXyz, u8);
|
|
void executeMaster();
|
|
void executeWait();
|
|
int calcJumpSpeed();
|
|
void executeAttack();
|
|
bool checkAttackStart();
|
|
void executeChase();
|
|
void executeDamage();
|
|
bool checkMoveOut();
|
|
void executeMoveOut();
|
|
bool checkWalkStart();
|
|
void executeWalk();
|
|
void eWW_posMoveF();
|
|
void action();
|
|
void mtx_set();
|
|
void cc_set();
|
|
int execute();
|
|
bool calcMoveDir(s16*, s16);
|
|
int _delete();
|
|
int CreateHeap();
|
|
int create();
|
|
|
|
u8 isAttack() { return field_0x756; }
|
|
void setAttack() { mActionMode = 10; }
|
|
f32 const getSpeedF() { return speedF; }
|
|
|
|
private:
|
|
/* 0x5AC */ request_of_phase_process_class mPhase;
|
|
/* 0x5B4 */ mDoExt_McaMorfSO* mpModelMorf;
|
|
/* 0x5B8 */ Z2CreatureEnemy mSound;
|
|
/* 0x65C */ cXyz field_0x65c; // Under ground position ? see jump speed calc
|
|
/* 0x668 */ cXyz field_0x668;
|
|
/* 0x674 */ csXyz field_0x674; // Probably csXyz
|
|
/* 0x67A */ s16 field_0x67a; // Head angle x ? csXyz ???
|
|
/* 0x67C */ s16 field_0x67c; // Head angle y ?
|
|
/* 0x67E */ s16 field_0x67e; // Head angle z ?
|
|
/* 0x680 */ fpc_ProcID mChildID[10];
|
|
/* 0x6A8 */ f32 field_0x6a8; // Radius draw circle debug ?
|
|
/* 0x6AC */ f32 field_0x6ac; // Off set draw circle debug ??
|
|
/* 0x6B0 */ f32 mDistCheckModifier;
|
|
/* 0x6B4 */ u8 field_0x6b4; // Arg0 ??
|
|
/* 0x6B5 */ u8 field_0x6b5;
|
|
/* 0x6B6 */ u8 field_0x6b6;
|
|
/* 0x6B7 */ u8 field_0x6b7;
|
|
/* 0x6B8 */ s32 mAction;
|
|
/* 0x6BC */ s32 mActionMode; // Which wolf does action ? 1 jump ? 0 init ?, 26 Hide ? check sound action just before, check execute chase for cases in switch
|
|
/* 0x6C0 */ int field_0x6c0; // Side step ? 0-> step left, 1 step right
|
|
/* 0x6C4 */ s32 field_0x6c4; // Active index for the int arrays later ? Change to int ?
|
|
/* 0x6C8 */ s32 field_0x6c8;
|
|
/* 0x6CC */ s16 field_0x6cc; // angleY storage ?
|
|
/* 0x6CE */ s16 field_0x6ce;
|
|
/* 0x6D0 */ int field_0x6d0;
|
|
/* 0x6D4 */ int field_0x6d4[10]; // Existing wolf ?
|
|
/* 0x6FC */ int field_0x6fc[10];
|
|
/* 0x724 */ u16 field_0x724; // Linked with getting damage to link
|
|
/* 0x728 */ int field_0x728;
|
|
/* 0x72C */ int field_0x72c;
|
|
/* 0x730 */ int field_0x730;
|
|
/* 0x734 */ int field_0x734; // Attack interval ?
|
|
/* 0x738 */ int field_0x738;
|
|
/* 0x73C */ int field_0x73c;
|
|
/* 0x740 */ int field_0x740;
|
|
/* 0x744 */ int field_0x744[2];
|
|
/* 0x74C */ int field_0x74c;
|
|
/* 0x750 */ s16 field_0x750[3];
|
|
/* 0x756 */ u8 field_0x756;
|
|
/* 0x757 */ u8 field_0x757;
|
|
/* 0x758 */ u8 field_0x758;
|
|
/* 0x759 */ u8 field_0x759;
|
|
/* 0x75A */ u8 field_0x75a;
|
|
/* 0x75B */ u8 field_0x75b;
|
|
/* 0x75C */ u8 field_0x75c;
|
|
/* 0x75D */ bool field_0x75d;
|
|
/* 0x760 */ dBgS_AcchCir mAcchCir;
|
|
/* 0x7A0 */ dBgS_ObjAcch mObjAcch;
|
|
/* 0x994 */ dCcD_Stts mCcStts;
|
|
/* 0x9B4 */ dCcD_Sph mSph1[2];
|
|
/* 0xC24 */ dCcD_Sph mSph2[2];
|
|
/* 0xE94 */ dCcU_AtInfo mAtInfo;
|
|
/* 0xEB8 */ u8 field_0xeb8[0xec0 - 0xeb8];
|
|
/* 0xEC0 */ u32 mParticleKey;
|
|
/* 0xEC4 */ u8 field_0xec4;
|
|
};
|
|
|
|
STATIC_ASSERT(sizeof(daE_WW_c) == 0xec8);
|
|
|
|
#endif /* D_A_E_WW_H */
|