Files
2026-01-30 00:05:51 +01:00

47 lines
1.2 KiB
C++

#ifndef D_A_BIRD_H
#define D_A_BIRD_H
#include "d/a/obj/d_a_obj_base.h"
#include "s/s_State.hpp"
class dBird_c : public dAcObjBase_c {
public:
dBird_c() : mStateMgr(*this) {}
virtual ~dBird_c() {}
STATE_FUNC_DECLARE(dBird_c, Wait);
STATE_FUNC_DECLARE(dBird_c, PreMove);
STATE_FUNC_DECLARE(dBird_c, Move);
STATE_FUNC_DECLARE(dBird_c, Hide);
STATE_FUNC_DECLARE(dBird_c, RideDemo);
STATE_FUNC_DECLARE(dBird_c, FirstRideDemo);
STATE_FUNC_DECLARE(dBird_c, OutAreaDemo);
STATE_FUNC_DECLARE(dBird_c, RideOff);
STATE_FUNC_DECLARE(dBird_c, OnGround);
STATE_FUNC_DECLARE(dBird_c, Tornado);
STATE_FUNC_DECLARE(dBird_c, SaveStartDemo);
STATE_FUNC_DECLARE(dBird_c, MiniGameWait);
STATE_FUNC_DECLARE(dBird_c, MiniGameMove);
STATE_FUNC_DECLARE(dBird_c, MiniGameEnd);
STATE_FUNC_DECLARE(dBird_c, MiniGameLevelUpDemo);
// fn_129_8DD0, only referenced by d_a_obj_bird_sp
void accelerateTowards(mVec3_c &targetDirection);
s16 getNumDashes() const {
return mNumDashes;
}
static dBird_c *getInstance() {
return spInstance;
}
private:
static dBird_c *spInstance;
/* 0x??? */ STATE_MGR_DECLARE(dBird_c);
u8 _0x36C[0xF8E - 0x36C];
/* 0xF8E */ s16 mNumDashes;
};
#endif