d_a_b_gg equivalent (#2478)

* b_gg equivalent

* clean up b_gg

* cleanup float literal
This commit is contained in:
TakaRikka 2025-06-07 07:37:27 -07:00 committed by GitHub
parent 09fdb3ece2
commit 372d782282
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 4227 additions and 2114 deletions

View File

@ -1606,7 +1606,7 @@ config.libs = [
ActorRel(Equivalent, "d_a_b_dr"), # weak func order
ActorRel(Equivalent, "d_a_b_dre"), # weak func order
ActorRel(Equivalent, "d_a_b_ds"),
ActorRel(NonMatching, "d_a_b_gg"),
ActorRel(Equivalent, "d_a_b_gg"),
ActorRel(NonMatching, "d_a_b_gm"),
ActorRel(NonMatching, "d_a_b_gnd"),
ActorRel(MatchingFor("GZ2E01"), "d_a_b_go"),

View File

@ -2,6 +2,9 @@
#define D_A_B_GG_H
#include "f_op/f_op_actor_mng.h"
#include "d/d_bg_s_acch.h"
#include "d/d_cc_d.h"
#include "d/d_cc_uty.h"
/**
* @ingroup actors-enemies
@ -13,21 +16,21 @@
*/
class daB_GG_c : public fopEn_enemy_c {
public:
/* 805DE464 */ void CreateHeap();
/* 805DE464 */ int CreateHeap();
/* 805DE650 */ void initCc();
/* 805DE7A4 */ void setCcCylinder();
/* 805DE9B8 */ void G_setCcCylinder();
/* 805DEAD0 */ void MoveCo();
/* 805DEB44 */ void ctrlJoint(J3DJoint*, J3DModel*);
/* 805DED58 */ void HeadctrlJoint(J3DJoint*, J3DModel*);
/* 805DEB44 */ int ctrlJoint(J3DJoint*, J3DModel*);
/* 805DED58 */ int HeadctrlJoint(J3DJoint*, J3DModel*);
/* 805DEF64 */ void SetAnm(int, int, f32, f32);
/* 805DF9F4 */ void Yazirushi();
/* 805DFA48 */ void SpeedClear();
/* 805DFA64 */ void SetAction(u8, u8, u8);
/* 805DFA8C */ void GetAction(u8, u8, u8);
/* 805DFA8C */ u8 GetAction(u8, u8, u8);
/* 805DFACC */ void DemoSkip(int);
/* 805DFC24 */ void DemoSkipCallBack(void*, int);
/* 805DFC58 */ void CameraSet();
/* 805DFC24 */ static int DemoSkipCallBack(void*, int);
/* 805DFC58 */ bool CameraSet();
/* 805DFD78 */ void SetStopingCam();
/* 805DFDFC */ void SetStopCam(cXyz, f32, f32, s16);
/* 805DFF4C */ void SetMoveCam(cXyz, f32, f32, s16, f32, f32);
@ -48,8 +51,8 @@ public:
/* 805E4914 */ void F_DamageAction();
/* 805E5190 */ void AttentionChk();
/* 805E5220 */ void FlyAction();
/* 805E561C */ void F_A_TargetMove(cXyz);
/* 805E53DC */ void F_A_TargetMove(cXyz, u8);
/* 805E561C */ bool F_A_TargetMove(cXyz);
/* 805E53DC */ bool F_A_TargetMove(cXyz, u8);
/* 805E5808 */ void F_A_MoveAction();
/* 805E5D0C */ void F_A_WaitAction();
/* 805E5D2C */ void F_A_Action();
@ -69,7 +72,7 @@ public:
/* 805E9418 */ void HeadAction();
/* 805E9A28 */ void SetHeadAngle();
/* 805E9B48 */ void SoundChk();
/* 805EA344 */ void Execute();
/* 805EA344 */ int Execute();
/* 805EA72C */ void ObjHit();
/* 805EA74C */ void At_Check();
/* 805EA938 */ void MoveAt();
@ -77,19 +80,97 @@ public:
/* 805EAAFC */ void ChanceTime();
/* 805EB028 */ void ArmAngleSet();
/* 805EB090 */ void Guard();
/* 805EB5E0 */ void Draw();
/* 805EB8A8 */ void Delete();
/* 805EB5E0 */ int Draw();
/* 805EB8A8 */ int Delete();
/* 805EB910 */ void setBaseMtx();
/* 805EB980 */ void setShieldMtx();
/* 805EB9DC */ void setSwordMtx();
/* 805EBA4C */ void setSwordMtx1();
/* 805EBAB8 */ void setHeadMtx();
/* 805EBB30 */ void setHeadMtx1();
/* 805EBBE4 */ void Create();
/* 805EC424 */ daB_GG_c();
/* 805EBBE4 */ int Create();
private:
/* 0x5ac */ u8 field_0x5ac[0x116c - 0x5ac];
/* 0x05AC */ f32 field_0x5ac;
/* 0x05B0 */ u8 field_0x5b0;
/* 0x05B1 */ u8 field_0x5b1;
/* 0x05B2 */ u8 field_0x5b2;
/* 0x05B4 */ s16 mInOutPosIdx;
/* 0x05B6 */ u8 field_0x5b6;
/* 0x05B7 */ u8 field_0x5b7;
/* 0x05B8 */ u8 field_0x5B8[0x05BA - 0x05B8];
/* 0x05BA */ s16 field_0x5ba;
/* 0x05BC */ f32 field_0x5bc;
/* 0x05C0 */ f32 field_0x5c0;
/* 0x05C4 */ u8 field_0x5c4;
/* 0x05C5 */ u8 mAction;
/* 0x05C6 */ u8 mSubAction;
/* 0x05C7 */ u8 mMode;
/* 0x05C8 */ u8 mPrevAction;
/* 0x05C9 */ u8 mPrevSubAction;
/* 0x05CA */ u8 mPrevMode;
/* 0x05CB */ u8 mCamMode;
/* 0x05CC */ s16 field_0x5cc;
/* 0x05CE */ u8 field_0x5ce;
/* 0x05CF */ u8 field_0x5cf;
/* 0x05D0 */ u8 field_0x5d0;
/* 0x05D4 */ int mAnm;
/* 0x05D8 */ s16 mTimers[4];
/* 0x05E0 */ s16 field_0x5e0;
/* 0x05E4 */ cXyz field_0x5e4;
/* 0x05F0 */ u8 field_0x5f0;
/* 0x05F4 */ cXyz mCamCenter;
/* 0x0600 */ cXyz mCamEye;
/* 0x060C */ cXyz field_0x60c;
/* 0x0618 */ cXyz field_0x618;
/* 0x0624 */ cXyz mCamCenterTarget;
/* 0x0630 */ cXyz mCamEyeTarget;
/* 0x063C */ f32 mCamFovy;
/* 0x0640 */ f32 mModelPlaySpeed;
/* 0x0644 */ f32 field_0x644;
/* 0x0648 */ f32 field_0x648;
/* 0x064C */ f32 field_0x64c;
/* 0x0650 */ f32 field_0x650;
/* 0x0654 */ u8 field_0x654[0x0658 - 0x0654];
/* 0x0658 */ s16 field_0x658;
/* 0x065A */ s16 field_0x65a;
/* 0x065C */ cXyz field_0x65c;
/* 0x0668 */ f32 field_0x668;
/* 0x066C */ u8 field_0x66c;
/* 0x066D */ u8 field_0x66d;
/* 0x0670 */ cXyz mSwordPos;
/* 0x067C */ csXyz mSwordRot;
/* 0x0684 */ cXyz field_0x684;
/* 0x0690 */ u8 mType;
/* 0x0694 */ cXyz mHeadPos;
/* 0x06A0 */ csXyz mHeadRot;
/* 0x06A8 */ cXyz field_0x6a8;
/* 0x06B4 */ csXyz field_0x6b4;
/* 0x06BA */ u8 field_0x6ba;
/* 0x06BC */ s16 field_0x6bc;
/* 0x06BE */ s16 field_0x6be;
/* 0x06C0 */ u8 field_0x6C0[0x06C4 - 0x06C0];
/* 0x06C4 */ s16 field_0x6c4;
/* 0x06C6 */ u8 field_0x6C6[0x06C8 - 0x06C6];
/* 0x06C8 */ csXyz mArmL1Rot;
/* 0x06CE */ csXyz mArmL2Rot;
/* 0x06D4 */ s16 field_0x6d4;
/* 0x06D6 */ s16 field_0x6d6;
/* 0x06D8 */ dCcD_Cyl mCcCyl;
/* 0x0814 */ dCcD_Sph mCcSph[3];
/* 0x0BBC */ dCcD_Cyl mCcHookCyl;
/* 0x0CF8 */ dCcD_Sph mCcShieldSph;
/* 0x0E30 */ mDoExt_McaMorfSO* mpModelMorf;
/* 0x0E34 */ J3DModel* mpShieldModel;
/* 0x0E38 */ J3DModel* mpSwordModel;
/* 0x0E3C */ J3DModel* mpHelmetModel;
/* 0x0E40 */ request_of_phase_process_class mPhase;
/* 0x0E48 */ u32 mShadowId;
/* 0x0E4C */ Z2CreatureEnemy mSound;
/* 0x0EF0 */ dBgS_AcchCir mAcchCir;
/* 0x0F30 */ dBgS_ObjAcch mAcch;
/* 0x1108 */ dCcD_Stts mCcStts;
/* 0x1144 */ dCcU_AtInfo mAtInfo;
/* 0x1168 */ u8 mHIOInit;
};
STATIC_ASSERT(sizeof(daB_GG_c) == 0x116c);
@ -97,7 +178,16 @@ STATIC_ASSERT(sizeof(daB_GG_c) == 0x116c);
class daB_GG_HIO_c {
public:
/* 805DE40C */ daB_GG_HIO_c();
/* 805EC9C4 */ ~daB_GG_HIO_c();
/* 805EC9C4 */ virtual ~daB_GG_HIO_c() {}
/* 0x04 */ s8 id;
/* 0x08 */ f32 base_size;
/* 0x0C */ s16 takeoff_time;
/* 0x0E */ s16 fly_attack_wait_time;
/* 0x10 */ f32 fly_attack_speed;
/* 0x14 */ s16 takeoff2_time;
/* 0x16 */ s16 max_hp;
/* 0x18 */ f32 field_0x18;
};

View File

@ -711,6 +711,14 @@ inline s32 fopAcM_seenPlayerAngleY(const fopAc_ac_c* i_actor) {
return fopAcM_seenActorAngleY(i_actor, dComIfGp_getPlayer(0));
}
inline s16 fopAcM_toActorShapeAngleY(const fopAc_ac_c* i_actorA, const fopAc_ac_c* i_actorB) {
return i_actorA->shape_angle.y - i_actorB->shape_angle.y;
}
inline s16 fopAcM_toPlayerShapeAngleY(const fopAc_ac_c* i_actor) {
return fopAcM_toActorShapeAngleY(i_actor, dComIfGp_getPlayer(0));
}
s8 dComIfGp_getReverb(int roomNo);
inline void fopAcM_seStartCurrent(const fopAc_ac_c* actor, u32 sfxID, u32 param_2) {

File diff suppressed because it is too large Load Diff