tp/include/d/actor/d_a_obj_enemy_create.h

74 lines
1.4 KiB
C++

#ifndef D_A_OBJ_ENEMY_CREATE_H
#define D_A_OBJ_ENEMY_CREATE_H
#include "d/d_com_inf_game.h"
/**
* @ingroup actors-objects
* @class daObjE_CREATE_c
* @brief Enemy Spawner
*
* @details
*
*/
class daObjE_CREATE_c : public fopAc_ac_c {
public:
void NormalAction();
void SearchAction();
void LoopAction();
void Action();
int Execute();
int Delete();
void NameChk();
int create();
private:
/* 0x568 */ u8 field_0x568;
/* 0x569 */ u8 mEnemyNum;
/* 0x56A */ u8 mActivateSw;
/* 0x56B */ u8 mDeactivateSw;
/* 0x56C */ u8 mEndLoopSw;
/* 0x56E */ csXyz mEnemyAngle;
/* 0x574 */ s16 mEnemyProcName;
/* 0x578 */ u32 mEnemyParams;
/* 0x57C */ u32* mActorList;
/* 0x580 */ u8 mActionMode;
/* 0x582 */ s16 mKillCheckDelayTimer;
/* 0x584 */ u8 mAction;
/* 0x588 */ u8 unused[12];
};
STATIC_ASSERT(sizeof(daObjE_CREATE_c) == 0x594);
enum daObjE_EnemyType {
ENEMY_NONE,
ENEMY_KEESE,
ENEMY_RAT,
ENEMY_CHU,
ENEMY_CHU2,
ENEMY_BABY_GOHMA,
ENEMY_BUBBLE,
ENEMY_BOKOBLIN,
ENEMY_LIZALFOS,
ENEMY_SHADOW_BEAST,
ENEMY_SHADOW_VERMIN,
ENEMY_SHADOW_KEESE,
ENEMY_BOKOBLIN2,
};
enum daObjE_Action {
ACT_NORMAL,
ACT_SEARCH,
ACT_LOOP,
ACT_DEFAULT = 0xF,
};
enum daObjE_Mode {
MODE_CREATE,
MODE_WAIT,
MODE_KILL_CHECK,
MODE_END,
};
#endif /* D_A_OBJ_ENEMY_CREATE_H */