Skip to content

Commit 90a6389

Browse files
authored
d_a_e_gi equivalent (#2494)
* d_a_e_gi equivalent * fix
1 parent e43b660 commit 90a6389

File tree

3 files changed

+1069
-913
lines changed

3 files changed

+1069
-913
lines changed

configure.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1658,7 +1658,7 @@ def MatchingFor(*versions) -> bool:
16581658
ActorRel(Equivalent, "d_a_e_fz"), # weak func order
16591659
ActorRel(NonMatching, "d_a_e_gb"),
16601660
ActorRel(NonMatching, "d_a_e_ge"),
1661-
ActorRel(NonMatching, "d_a_e_gi"),
1661+
ActorRel(Equivalent, "d_a_e_gi"), # weak func order
16621662
ActorRel(NonMatching, "d_a_e_gm"),
16631663
ActorRel(Equivalent, "d_a_e_gob"), # weak func order
16641664
ActorRel(MatchingFor("GZ2E01"), "d_a_e_gs"),

include/d/actor/d_a_e_gi.h

Lines changed: 52 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,14 @@
1717
*/
1818
class daE_GI_c : public fopEn_enemy_c {
1919
public:
20-
/* 806CD4F4 */ void ctrlJoint(J3DJoint*, J3DModel*);
21-
/* 806CD594 */ void JointCallBack(J3DJoint*, int);
22-
/* 806CD5E0 */ void draw();
20+
/* 806CD4F4 */ int ctrlJoint(J3DJoint*, J3DModel*);
21+
/* 806CD594 */ static int JointCallBack(J3DJoint*, int);
22+
/* 806CD5E0 */ int draw();
2323
/* 806CD868 */ void setBck(int, u8, f32, f32);
2424
/* 806CD90C */ void setActionMode(int, int);
2525
/* 806CD938 */ void damage_check();
2626
/* 806CDD1C */ void setWeaponAtBit(u8);
27-
/* 806CDD8C */ void setCryStop();
27+
/* 806CDD8C */ bool setCryStop();
2828
/* 806CDED8 */ void setAttackEffect();
2929
/* 806CDFB0 */ void setDragSwordEffect();
3030
/* 806CE0D4 */ void setDeathSmokeEffect();
@@ -39,52 +39,53 @@ class daE_GI_c : public fopEn_enemy_c {
3939
/* 806CF878 */ void action();
4040
/* 806CFB60 */ void mtx_set();
4141
/* 806CFBF0 */ void cc_set();
42-
/* 806CFDF4 */ void execute();
43-
/* 806D0054 */ void _delete();
44-
/* 806D00E8 */ void CreateHeap();
45-
/* 806D027C */ void create();
42+
/* 806CFDF4 */ int execute();
43+
/* 806D0054 */ int _delete();
44+
/* 806D00E8 */ int CreateHeap();
45+
/* 806D027C */ int create();
46+
47+
bool isBattleOn() { return mIsBattleOn; }
48+
bool isAttackStart() { return mIsAttackStart; }
4649

4750
private:
48-
/* 0x05AC */ request_of_phase_process_class mPhaseReq;
49-
/* 0x05B4 */ mDoExt_McaMorfSO* mpMorfSO;
50-
/* 0x05B8 */ J3DModel* mpModel;
51-
/* 0x05BC */ Z2CreatureEnemy mCreatureSound;
52-
/* 0x0660 */ f32 field_0x0660;
53-
/* 0x0664 */ f32 field_0x0664;
54-
/* 0x0668 */ f32 field_0x0668;
55-
/* 0x066C */ s16 field_0x066c;
56-
/* 0x066E */ u8 field_0x066E[0x0670 - 0x066E];
57-
/* 0x0670 */ s32 mActionMode;
58-
/* 0x0674 */ s32 mMoveMode;
51+
/* 0x05AC */ request_of_phase_process_class mPhase;
52+
/* 0x05B4 */ mDoExt_McaMorfSO* mpModelMorf;
53+
/* 0x05B8 */ J3DModel* mpSwordModel;
54+
/* 0x05BC */ Z2CreatureEnemy mSound;
55+
/* 0x0660 */ f32 mBodyDamageColor;
56+
/* 0x0664 */ f32 mWallCheckRadius;
57+
/* 0x0668 */ f32 field_0x668;
58+
/* 0x066C */ s16 field_0x66c;
59+
/* 0x0670 */ int mActionMode;
60+
/* 0x0674 */ int mMoveMode;
5961
/* 0x0678 */ u32 mShadowKey;
60-
/* 0x067C */ u8 field_0x067C[0x067E - 0x067C];
61-
/* 0x067E */ s16 field_0x067e;
62-
/* 0x0680 */ s32 field_0x0680;
63-
/* 0x0684 */ s32 field_0x0684;
64-
/* 0x0688 */ s32 field_0x0688;
65-
/* 0x068C */ s32 field_0x068c;
66-
/* 0x0690 */ s32 field_0x0690;
67-
/* 0x0694 */ s32 field_0x0694;
68-
/* 0x0698 */ u8 field_0x0698;
69-
/* 0x0699 */ u8 field_0x0699;
70-
/* 0x069A */ u8 field_0x069a;
71-
/* 0x069B */ u8 field_0x069b;
72-
/* 0x069C */ u8 field_0x069c;
73-
/* 0x069D */ u8 field_0x069d;
74-
/* 0x069E */ u8 field_0x069e;
75-
/* 0x069F */ u8 field_0x069f;
76-
/* 0x06A0 */ u8 field_0x06a0;
77-
/* 0x06A1 */ u8 field_0x06A1[0x06A2 - 0x06A1];
78-
/* 0x06A2 */ s16 field_0x06a2;
79-
/* 0x06A4 */ u8 field_0x06a4;
80-
/* 0x06A5 */ u8 field_0x06a5;
81-
/* 0x06A6 */ s16 field_0x06a6;
82-
/* 0x06A8 */ s32 field_0x06a8;
62+
/* 0x067C */ u8 field_0x67C[0x067E - 0x067C];
63+
/* 0x067E */ s16 field_0x67e;
64+
/* 0x0680 */ int mInvulnerabilityTimer;
65+
/* 0x0684 */ int field_0x684;
66+
/* 0x0688 */ int field_0x688;
67+
/* 0x068C */ int mPlayerStunTimer;
68+
/* 0x0690 */ int mCryTimer;
69+
/* 0x0694 */ int mContinuousHitTimer;
70+
/* 0x0698 */ u8 field_0x698;
71+
/* 0x0699 */ u8 mIsBattleOn;
72+
/* 0x069A */ u8 mIsCreateAwake;
73+
/* 0x069B */ u8 mDamageDirection;
74+
/* 0x069C */ u8 mIsAttackStart;
75+
/* 0x069D */ u8 mSwbit;
76+
/* 0x069E */ u8 mSwbit2;
77+
/* 0x069F */ u8 field_0x69f;
78+
/* 0x06A0 */ u8 field_0x6a0;
79+
/* 0x06A2 */ s16 field_0x6a2;
80+
/* 0x06A4 */ u8 mWolfBiteCount;
81+
/* 0x06A5 */ u8 mIsOnHeadLock;
82+
/* 0x06A6 */ s16 mPrevStickAngle;
83+
/* 0x06A8 */ int mPushButtonCount;
8384
/* 0x06AC */ dBgS_AcchCir mAcchCir;
84-
/* 0x06EC */ dBgS_ObjAcch mObjAcch;
85-
/* 0x08C4 */ dCcD_Stts mStts;
86-
/* 0x0900 */ dCcD_Sph mSpheres[2];
87-
/* 0x0B70 */ dCcD_Sph mAttSpheres[4];
85+
/* 0x06EC */ dBgS_ObjAcch mAcch;
86+
/* 0x08C4 */ dCcD_Stts mCcStts;
87+
/* 0x0900 */ dCcD_Sph mCcSph[2];
88+
/* 0x0B70 */ dCcD_Sph mAtSph[4];
8889
/* 0x1050 */ dCcU_AtInfo mAtInfo;
8990
/* 0x1074 */ u32 mPolyColorKey;
9091
/* 0x1078 */ u8 mHIOInit;
@@ -95,18 +96,18 @@ STATIC_ASSERT(sizeof(daE_GI_c) == 0x107c);
9596
class daE_GI_HIO_c : public JORReflexible {
9697
public:
9798
/* 806CD48C */ daE_GI_HIO_c();
98-
/* 806D098C */ virtual ~daE_GI_HIO_c();
99+
/* 806D098C */ virtual ~daE_GI_HIO_c() {}
99100

100101
void genMessage(JORMContext*);
101102

102-
/* 0x04 */ s8 field_0x4;
103+
/* 0x04 */ s8 id;
103104
/* 0x08 */ f32 model_size;
104105
/* 0x0C */ f32 move_speed;
105106
/* 0x10 */ f32 player_detect_range;
106-
/* 0x14 */ f32 player_attack_distance;
107+
/* 0x14 */ f32 player_attack_range;
107108
/* 0x18 */ f32 attack_angle;
108-
/* 0x1C */ f32 link_down_time;
109-
/* 0x20 */ f32 wolf_stop_time;
109+
/* 0x1C */ f32 link_stun_time;
110+
/* 0x20 */ f32 wolf_stun_time;
110111
/* 0x24 */ f32 scream_prevention_time;
111112
/* 0x28 */ f32 lever_spin_time;
112113
};

0 commit comments

Comments
 (0)