mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-06-23 15:25:19 -04:00
d_a_e_bee mostly done (#2112)
This commit is contained in:
@@ -236,7 +236,7 @@ public:
|
||||
FLG0_MAGNE_BOOTS_ON = 0x1000,
|
||||
FLG0_PUSH_PULL_KEEP = 0x800,
|
||||
FLG0_UNK_400 = 0x400,
|
||||
FLG0_UNK_100 = 0x100,
|
||||
FLG0_SWIM_UP = 0x100,
|
||||
FLG0_UNK_80 = 0x80,
|
||||
FLG0_UNK_40 = 0x40,
|
||||
FLG0_UNK_20 = 0x20,
|
||||
@@ -346,7 +346,7 @@ public:
|
||||
ERFLG0_BOSS_ROOM_WAIT = 0x2000000,
|
||||
ERFLG0_UNK_1000000 = 0x1000000,
|
||||
ERFLG0_UNK_800000 = 0x800000,
|
||||
ERFLG0_UNK_400000 = 0x400000,
|
||||
ERFLG0_BEE_FOLLOW = 0x400000,
|
||||
ERFLG0_UNK_200000 = 0x200000,
|
||||
ERFLG0_UNK_100000 = 0x100000,
|
||||
ERFLG0_UNK_2000 = 0x2000,
|
||||
@@ -741,8 +741,10 @@ public:
|
||||
bool checkWolfTagLockJumpReady() const { return checkResetFlg0(RFLG0_UNK_20000); }
|
||||
bool getGrabUpEnd() const { return checkResetFlg0(RFLG0_GRAB_UP_END); }
|
||||
bool getGrabPutStart() const { return checkResetFlg0(RFLG0_GRAB_PUT_START); }
|
||||
bool checkSwimUp() const { return checkNoResetFlg0(FLG0_SWIM_UP); }
|
||||
|
||||
void onBossRoomWait() { onEndResetFlg0(ERFLG0_BOSS_ROOM_WAIT); }
|
||||
void onBeeFollow() { onEndResetFlg0(ERFLG0_BEE_FOLLOW); }
|
||||
void onForceAutoJump() { onEndResetFlg0(ERFLG0_FORCE_AUTO_JUMP); }
|
||||
void onNotAutoJump() { onEndResetFlg0(ERFLG0_NOT_AUTO_JUMP); }
|
||||
void onNotHang() { onEndResetFlg0(ERFLG0_NOT_HANG); }
|
||||
|
||||
@@ -29,8 +29,13 @@ struct dCcU_AtInfo {
|
||||
/* 0x20 */ u8 mHitType;
|
||||
};
|
||||
|
||||
fopAc_ac_c* cc_at_check(fopAc_ac_c*,dCcU_AtInfo*);
|
||||
u16 cc_pl_cut_bit_get();
|
||||
fopAc_ac_c* cc_at_check(fopAc_ac_c*, dCcU_AtInfo*);
|
||||
fopAc_ac_c* at_power_check(dCcU_AtInfo* i_AtInfo);
|
||||
void def_se_set(Z2Creature* p_sound, cCcD_Obj* p_collider, u32 map_info, fopAc_ac_c* p_actor);
|
||||
|
||||
inline fopAc_ac_c* dCc_GetAc(void* i_actor) {
|
||||
return static_cast<fopAc_ac_c*>(i_actor);
|
||||
}
|
||||
|
||||
#endif /* D_CC_D_CC_UTY_H */
|
||||
|
||||
@@ -1,6 +1,85 @@
|
||||
#ifndef D_A_E_BEE_H
|
||||
#define D_A_E_BEE_H
|
||||
|
||||
#include "f_op/f_op_actor.h"
|
||||
#include "SSystem/SComponent/c_phase.h"
|
||||
#include "Z2AudioLib/Z2Creature.h"
|
||||
#include "d/cc/d_cc_d.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
struct bee_s {
|
||||
enum Action {
|
||||
/* 0x0 */ ACT_DEAD,
|
||||
/* 0x1 */ ACT_FLY,
|
||||
/* 0x2 */ ACT_FLY_HOME_A,
|
||||
/* 0x3 */ ACT_FLY_HOME_B,
|
||||
/* 0x4 */ ACT_FAIL,
|
||||
/* 0x5 */ ACT_START,
|
||||
/* 0xA */ ACT_HOME = 10,
|
||||
};
|
||||
|
||||
/* 80685368 */ bee_s() {}
|
||||
/* 806852FC */ ~bee_s() {}
|
||||
|
||||
/* 0x00 */ J3DModel* mpModel1;
|
||||
/* 0x04 */ J3DModel* mpModel2;
|
||||
/* 0x08 */ J3DModel* mpModel3;
|
||||
/* 0x0C */ J3DModel* mpModel4;
|
||||
/* 0x10 */ cXyz mPos;
|
||||
/* 0x1C */ cXyz mTarget;
|
||||
/* 0x28 */ cXyz mSpeed;
|
||||
/* 0x34 */ csXyz mAngle;
|
||||
/* 0x3C */ f32 mSpeedF;
|
||||
/* 0x40 */ f32 mScale;
|
||||
/* 0x44 */ f32 mStartDistance;
|
||||
/* 0x48 */ s16 mCounter;
|
||||
/* 0x4A */ s16 mHomeTimer;
|
||||
/* 0x4C */ s8 mAction;
|
||||
/* 0x4D */ s8 mMode;
|
||||
/* 0x4E */ s8 mIsFlying;
|
||||
/* 0x4F */ u8 mTimer;
|
||||
/* 0x50 */ bool mNoDraw;
|
||||
/* 0x54 */ Z2SoundObjSimple mSound;
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(bee_s) == 0x74);
|
||||
|
||||
class e_bee_class : public fopAc_ac_c {
|
||||
public:
|
||||
/* 0x0568 */ request_of_phase_process_class mPhase;
|
||||
/* 0x0570 */ u8 mParam0;
|
||||
/* 0x0571 */ u8 mParam1;
|
||||
/* 0x0572 */ u8 mParam2;
|
||||
/* 0x0574 */ Z2SoundObjBeeGroup mSound;
|
||||
/* 0x0594 */ s16 mCounter;
|
||||
/* 0x0596 */ u8 unused_0x596[4];
|
||||
/* 0x059A */ s16 mTimers[2];
|
||||
/* 0x059E */ u8 mCcSetTimer;
|
||||
/* 0x059F */ u8 mHomeTimer;
|
||||
/* 0x05A0 */ bee_s mBees[0x40];
|
||||
/* 0x22A0 */ int mNumBees;
|
||||
/* 0x22A4 */ u8 unused_0x22a4[0x30];
|
||||
/* 0x22D4 */ dCcD_Stts mCcStts;
|
||||
/* 0x2310 */ dCcD_Cyl mCcCyl;
|
||||
/* 0x244C */ dCcD_Sph mCcSph;
|
||||
/* 0x2584 */ s16 mBoomerangAngle;
|
||||
/* 0x2586 */ bool mHIOInit;
|
||||
/* 0x2587 */ bool mResLoaded;
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(e_bee_class) == 0x2588);
|
||||
|
||||
class daE_Bee_HIO_c {
|
||||
public:
|
||||
/* 8068286C */ daE_Bee_HIO_c();
|
||||
/* 8068539C */ virtual ~daE_Bee_HIO_c() {}
|
||||
|
||||
/* 0x4 */ s8 field_0x4;
|
||||
/* 0x8 */ f32 mScale;
|
||||
/* 0xC */ bool mDelete;
|
||||
/* 0xD */ bool mNoKill;
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(daE_Bee_HIO_c) == 0x10);
|
||||
|
||||
#endif /* D_A_E_BEE_H */
|
||||
|
||||
Reference in New Issue
Block a user