mirror of https://github.com/zeldaret/tp.git
74 lines
1.4 KiB
C++
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 */
|