Files
ss/include/d/a/d_a_bird.h
T
elijah-thomas774 fe566ba5db d_a_e_skytail OK
2026-09-24 17:21:34 -04:00

67 lines
1.8 KiB
C++

#ifndef D_A_BIRD_H
#define D_A_BIRD_H
#include "d/a/obj/d_a_obj_base.h"
#include "m/m_vec.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);
void fn_129_C4A0(mVec3_c &out, u16);
bool fn_129_CFB0();
s16 getNumDashes() const {
return mNumDashes;
}
const mVec3_c &getField_0xFAC() const {
return field_0xFAC;
}
s16 getField_0xFCC() const {
return field_0xFCC;
}
static dBird_c *getInstance() {
return spInstance;
}
dAcObjRef_c &getRef_0xEB8() {
return field_0xEB8;
}
private:
static dBird_c *spInstance;
/* 0x??? */ STATE_MGR_DECLARE(dBird_c);
u8 _0x36C[0xEB8 - 0x36C];
/* 0xEB8 */ dAcObjRef_c field_0xEB8;
u8 _0xEC4[0xF8E - 0xEC4];
/* 0xF8E */ s16 mNumDashes;
/* 0xFB0 */ u8 _0xFB90[0xFAC - 0xF90];
/* 0xFAC */ mVec3_c field_0xFAC;
/* 0xFB8 */ u8 _0xFB8[0xFCC - 0xFB8];
/* 0xFCC */ s16 field_0xFCC;
};
#endif