Files
ss/include/d/a/obj/d_a_obj_fairy.h
T
Elijah Thomas 26af4db82d update from dtk-template - clangd :) (#66)
* update from dtk-template and start work towards using clangd

* include <a> -> "a"

* Update build.yml

* remove/add non-trivial class in union warning
2024-10-16 15:36:02 -04:00

48 lines
1.4 KiB
C++

#ifndef D_A_OBJ_FAIRY_H
#define D_A_OBJ_FAIRY_H
#include "d/a/obj/d_a_obj_base.h"
#include "m/m3d/m_anmmdl.h"
#include "m/m3d/m_shadow.h"
#include "s/s_State.hpp"
#include "s/s_StateMgr.hpp"
class dAcObjFairy_c : public dAcObjBase_c {
public:
dAcObjFairy_c() : mStateMgr(*this, sStateID::null) {}
virtual ~dAcObjFairy_c() {}
virtual bool createHeap() override;
virtual int create() override;
virtual int doDelete() override;
virtual int actorExecute() override;
virtual int draw() override;
STATE_FUNC_DECLARE(dAcObjFairy_c, Wait);
STATE_FUNC_DECLARE(dAcObjFairy_c, Avoid);
STATE_FUNC_DECLARE(dAcObjFairy_c, PlayerAvoid);
STATE_FUNC_DECLARE(dAcObjFairy_c, CureStart);
STATE_FUNC_DECLARE(dAcObjFairy_c, Cure);
STATE_FUNC_DECLARE(dAcObjFairy_c, CureEnd);
STATE_FUNC_DECLARE(dAcObjFairy_c, CatchDemo);
private:
bool shouldAvoidLink() const;
bool isCuring() const;
bool canTargetWithBugNet() const;
/* 0x330 */ UNKWORD field_0x330;
/* 0x334 */ m3d::mdlAnmChr mModel;
/* 0x39C */ m3d::mShadowCircle_c mShadow;
/* 0x3A4 */ u8 field_0x3A4[0x4B0 - 0x3A4];
/* 0x4B0 */ f32 field_0x4B0;
/* 0x4B4 */ u8 field_0x4B4[0xA50 - 0x4B4];
/* 0xA50 */ STATE_MGR_DECLARE(dAcObjFairy_c);
/* 0xA8C */ u8 field_0xA8C[0xB89 - 0xA8C];
/* 0xB89 */ u8 field_0xB89;
// TODO collision, effects
};
#endif