mirror of
https://github.com/zeldaret/tp
synced 2026-06-12 05:27:46 -04:00
obj_yousei equivalent / bullet done (#2426)
* obj_yousei equivalent * d_a_bullet done
This commit is contained in:
@@ -1,8 +1,9 @@
|
||||
#ifndef D_A_BULLET_H
|
||||
#define D_A_BULLET_H
|
||||
|
||||
#include "dolphin/types.h"
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
#include "d/d_bg_s_acch.h"
|
||||
#include "d/d_cc_d.h"
|
||||
|
||||
/**
|
||||
* @ingroup actors-unsorted
|
||||
@@ -12,37 +13,60 @@
|
||||
* @details
|
||||
*
|
||||
*/
|
||||
class daBullet_c : public fopEn_enemy_c {
|
||||
class daBullet_c : public fopAc_ac_c {
|
||||
public:
|
||||
/* 8065594C */ ~daBullet_c();
|
||||
/* 80655B08 */ void create();
|
||||
/* 80655E5C */ void CreateHeap();
|
||||
/* 80655EDC */ void Delete();
|
||||
/* 80655F10 */ void Execute();
|
||||
/* 806560FC */ void Draw();
|
||||
/* 80656160 */ void createHeapCallBack(fopAc_ac_c*);
|
||||
/* 80656180 */ void getResName();
|
||||
/* 80656198 */ void getBmdName();
|
||||
/* 806561B0 */ void getTypeFromParam();
|
||||
typedef int (daBullet_c::*processFn)(void*);
|
||||
|
||||
/* 0x568 */ request_of_phase_process_class mPhase;
|
||||
/* 0x570 */ J3DModel* mpModel;
|
||||
/* 0x574 */ dBgS_ObjAcch mAcch;
|
||||
/* 0x74C */ dCcD_Stts mCcStts;
|
||||
/* 0x788 */ dBgS_AcchCir mAcchCir;
|
||||
/* 0x7C8 */ dCcD_Sph mCcSph;
|
||||
/* 0x900 */ cBgS_GndChk mGndChk;
|
||||
/* 0x93C */ u8 field_0x93C[0x940 - 0x93C];
|
||||
/* 0x940 */ f32 mGroundY;
|
||||
/* 0x944 */ processFn mProcess;
|
||||
/* 0x950 */ int mLifetime;
|
||||
/* 0x954 */ u16 mMode;
|
||||
/* 0x956 */ u8 mType;
|
||||
/* 0x957 */ u8 field_0x957;
|
||||
|
||||
/* 8065594C */ virtual ~daBullet_c();
|
||||
/* 80655B08 */ int create();
|
||||
/* 80655E5C */ BOOL CreateHeap();
|
||||
/* 80655EDC */ int Delete();
|
||||
/* 80655F10 */ int Execute();
|
||||
/* 806560FC */ int Draw();
|
||||
/* 80656160 */ static int createHeapCallBack(fopAc_ac_c*);
|
||||
/* 80656180 */ const char* getResName();
|
||||
/* 80656198 */ const char* getBmdName();
|
||||
/* 806561B0 */ int getTypeFromParam();
|
||||
/* 806561D0 */ void initialize();
|
||||
/* 80656378 */ void setProcess(int (daBullet_c::*)(void*));
|
||||
/* 80656420 */ void wait(void*);
|
||||
/* 806564B8 */ void move(void*);
|
||||
/* 80656378 */ int setProcess(processFn);
|
||||
/* 80656420 */ int wait(void*);
|
||||
/* 806564B8 */ int move(void*);
|
||||
|
||||
static u8 const mCcDObjInfo[48];
|
||||
static u8 mCcDSph[64];
|
||||
|
||||
private:
|
||||
/* 0x5ac */ u8 field_0x5ac[0x95c - 0x5ac];
|
||||
static dCcD_SrcGObjInf const mCcDObjInfo;
|
||||
static dCcD_SrcSph mCcDSph;
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(daBullet_c) == 0x95c);
|
||||
|
||||
struct daBullet_HIOParam {
|
||||
/* 0x00 */ f32 gravity;
|
||||
/* 0x04 */ f32 weight;
|
||||
/* 0x08 */ f32 height;
|
||||
/* 0x0C */ f32 knee_height;
|
||||
/* 0x10 */ f32 width;
|
||||
/* 0x14 */ s16 lifetime;
|
||||
};
|
||||
|
||||
class daBullet_Param_c {
|
||||
public:
|
||||
/* 806566A8 */ ~daBullet_Param_c();
|
||||
/* 806566A8 */ virtual ~daBullet_Param_c() {}
|
||||
|
||||
static u8 const m[24];
|
||||
static daBullet_HIOParam const m;
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
#define D_A_OBJ_YOUSEI_H
|
||||
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
#include "d/actor/d_a_player.h"
|
||||
|
||||
/**
|
||||
* @ingroup actors-objects
|
||||
@@ -11,7 +12,7 @@
|
||||
* @details
|
||||
*
|
||||
*/
|
||||
class daObjYOUSEI_c : public fopAc_ac_c {
|
||||
class daObjYOUSEI_c : public fopEn_enemy_c {
|
||||
public:
|
||||
/* 804CE738 */ void InitCcSph();
|
||||
/* 804CE7A4 */ void SetCcSph();
|
||||
@@ -21,20 +22,58 @@ public:
|
||||
/* 804CF098 */ void LinkChk();
|
||||
/* 804CF6C4 */ void WaitAction();
|
||||
/* 804CFCE8 */ void LinkAction();
|
||||
/* 804D057C */ void LinkSearch();
|
||||
/* 804D065C */ void WayBgCheck(f32, f32, s16);
|
||||
/* 804D057C */ bool LinkSearch();
|
||||
/* 804D065C */ bool WayBgCheck(f32, f32, s16);
|
||||
/* 804D0780 */ void CareAction();
|
||||
/* 804D080C */ void CheckGround();
|
||||
/* 804D0988 */ void CheckWater();
|
||||
/* 804D0988 */ bool CheckWater();
|
||||
/* 804D0AD0 */ void Action();
|
||||
/* 804D0CCC */ void ObjHit();
|
||||
/* 804D0DF0 */ void Execute();
|
||||
/* 804D0F98 */ void Delete();
|
||||
/* 804D0DF0 */ int Execute();
|
||||
/* 804D0F98 */ int Delete();
|
||||
/* 804D0FCC */ void setBaseMtx();
|
||||
/* 804D111C */ void create();
|
||||
/* 804D111C */ int create();
|
||||
|
||||
private:
|
||||
/* 0x568 */ u8 field_0x568[0xa4c - 0x568];
|
||||
inline int CreateHeap();
|
||||
inline int Draw();
|
||||
|
||||
/* 0x5AC */ u8 field_0x5ac;
|
||||
/* 0x5AD */ u8 field_0x5ad;
|
||||
/* 0x5AE */ u8 field_0x5ae;
|
||||
/* 0x5AF */ u8 field_0x5af;
|
||||
/* 0x5B0 */ cXyz field_0x5b0;
|
||||
/* 0x5BC */ daPy_boomerangMove_c mBoomerangMove;
|
||||
/* 0x5C8 */ u8 mPrm;
|
||||
/* 0x5CA */ s16 mAction;
|
||||
/* 0x5CC */ s16 mMode;
|
||||
/* 0x5CE */ s16 mTimers[4];
|
||||
/* 0x5D6 */ s16 field_0x5d6;
|
||||
/* 0x5D8 */ u8 field_0x5D8[0x5DA - 0x5D8];
|
||||
/* 0x5DA */ s16 mAngleTarget;
|
||||
/* 0x5DC */ s16 field_0x5dc;
|
||||
/* 0x5E0 */ f32 mSpeedVTarget;
|
||||
/* 0x5E4 */ f32 mSpeedFTarget;
|
||||
/* 0x5E8 */ f32 field_0x5e8;
|
||||
/* 0x5EC */ f32 field_0x5ec;
|
||||
/* 0x5F0 */ f32 mAnmSpeed;
|
||||
/* 0x5F4 */ u8 field_0x5F4[0x5F8 - 0x5F4];
|
||||
/* 0x5F8 */ cXyz field_0x5f8;
|
||||
/* 0x604 */ u32 field_0x604;
|
||||
/* 0x608 */ u32 field_0x608;
|
||||
/* 0x60C */ u32 field_0x60c;
|
||||
/* 0x610 */ u32 field_0x610;
|
||||
/* 0x614 */ f32 mDistToPlayer;
|
||||
/* 0x618 */ s16 mAngleToPlayer;
|
||||
/* 0x61A */ s16 field_0x61a;
|
||||
/* 0x61C */ Z2Creature mSound;
|
||||
/* 0x6AC */ u8 field_0x6AC[0x6B0 - 0x6AC];
|
||||
/* 0x6B0 */ mDoExt_McaMorfSO* mpModelMorf;
|
||||
/* 0x6B4 */ u8 field_0x6B4[0x6BC - 0x6B4];
|
||||
/* 0x6BC */ dBgS_AcchCir mAcchCir;
|
||||
/* 0x6FC */ dBgS_ObjAcch mAcch;
|
||||
/* 0x8D4 */ dCcD_Stts mCcStts;
|
||||
/* 0x910 */ dCcD_Sph mCcSph;
|
||||
/* 0xA48 */ u8 field_0xa48[0xA4C - 0xA48];
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(daObjYOUSEI_c) == 0xa4c);
|
||||
|
||||
@@ -920,6 +920,7 @@ public:
|
||||
bool checkGrabThrow() const { return checkResetFlg0(RFLG0_GRAB_THROW); }
|
||||
bool checkMidnaAtnPos() const { return checkNoResetFlg1(FLG1_MIDNA_ATN_POS); }
|
||||
bool checkMidnaHairAtnPos() const { return checkNoResetFlg1(FLG1_MIDNA_HAIR_ATN_POS); }
|
||||
bool checkAttentionLock() const { return checkResetFlg0(RFLG0_UNK_10000); }
|
||||
|
||||
void onBossRoomWait() { onEndResetFlg0(ERFLG0_BOSS_ROOM_WAIT); }
|
||||
void onBeeFollow() { onEndResetFlg0(ERFLG0_BEE_FOLLOW); }
|
||||
|
||||
Reference in New Issue
Block a user