Skip to content

Commit 137fe8b

Browse files
authored
d_a_e_th_ball done (#2352)
1 parent 934e14f commit 137fe8b

File tree

4 files changed

+1202
-777
lines changed

4 files changed

+1202
-777
lines changed

configure.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1674,7 +1674,7 @@ def MatchingFor(*versions):
16741674
ActorRel(MatchingFor("GZ2E01"), "d_a_e_st_line"),
16751675
ActorRel(NonMatching, "d_a_e_sw"),
16761676
ActorRel(NonMatching, "d_a_e_th"),
1677-
ActorRel(NonMatching, "d_a_e_th_ball"),
1677+
ActorRel(MatchingFor("GZ2E01"), "d_a_e_th_ball"),
16781678
ActorRel(NonMatching, "d_a_e_tk"),
16791679
ActorRel(NonMatching, "d_a_e_tk2"),
16801680
ActorRel(NonMatching, "d_a_e_tk_ball"),

include/d/actor/d_a_e_th.h

Lines changed: 84 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,21 @@
11
#ifndef D_A_E_TH_H
22
#define D_A_E_TH_H
3+
34
#include "f_op/f_op_actor_mng.h"
5+
#include "d/d_cc_d.h"
6+
#include "d/d_cc_uty.h"
7+
#include "d/d_bg_s_acch.h"
8+
9+
struct th_ke_s {
10+
/* 807B3B58 */ ~th_ke_s();
11+
/* 807B3BD4 */ th_ke_s();
12+
13+
/* 0x000 */ cXyz field_0x0[15];
14+
/* 0x0B4 */ cXyz field_0xb4[15];
15+
/* 0x168 */ s16 field_0x168;
16+
/* 0x16A */ s16 field_0x16a;
17+
/* 0x16C */ u8 field_0x16c[0x17C - 0x16C];
18+
};
419

520
/**
621
* @ingroup actors-enemies
@@ -11,8 +26,75 @@
1126
*
1227
*/
1328
class e_th_class : public fopEn_enemy_c {
14-
private:
15-
/* 0x5ac */ u8 field_0x5ac[0x123c - 0x5ac];
29+
public:
30+
/* 0x05AC */ request_of_phase_process_class mPhase;
31+
/* 0x05B4 */ s16 mMode;
32+
/* 0x05B6 */ u8 field_0x5b6;
33+
/* 0x05B7 */ u8 field_0x5b7;
34+
/* 0x05B8 */ u8 field_0x5b8;
35+
/* 0x05B9 */ u8 field_0x5b9;
36+
/* 0x05BA */ u8 field_0x5BA[0x05CC - 0x05BA];
37+
/* 0x05CC */ mDoExt_McaMorfSO* mpModelMorf;
38+
/* 0x05D0 */ int mAnm;
39+
/* 0x05D4 */ u8 field_0x5D4[0x05D8 - 0x05D4];
40+
/* 0x05D8 */ f32 field_0x5d8;
41+
/* 0x05DC */ s16 field_0x5dc;
42+
/* 0x05DE */ u8 field_0x5DE[0x05E0 - 0x05DE];
43+
/* 0x05E0 */ Z2CreatureEnemy mSound;
44+
/* 0x0684 */ s16 field_0x684;
45+
/* 0x0686 */ s16 mAction;
46+
/* 0x0688 */ u8 field_0x688[0x068A - 0x0688];
47+
/* 0x068A */ s8 field_0x68a;
48+
/* 0x068B */ u8 field_0x68B[0x068C - 0x068B];
49+
/* 0x068C */ f32 mPlayerDist;
50+
/* 0x0690 */ s16 mPlayerAngleY;
51+
/* 0x0692 */ u8 field_0x692[0x0698 - 0x0692];
52+
/* 0x0698 */ u32 mShadowKey;
53+
/* 0x069C */ s16 field_0x69c[4];
54+
/* 0x06A4 */ s16 field_0x6a4;
55+
/* 0x06A6 */ s16 field_0x6a6;
56+
/* 0x06A8 */ cXyz field_0x6a8;
57+
/* 0x06B4 */ cXyz field_0x6b4;
58+
/* 0x06C0 */ cXyz field_0x6c0;
59+
/* 0x06CC */ cXyz field_0x6cc;
60+
/* 0x06D8 */ u8 field_0x6D8[0x06E4 - 0x06D8];
61+
/* 0x06E4 */ u8 field_0x6e4;
62+
/* 0x06E5 */ u8 field_0x6E5[0x06E6 - 0x06E5];
63+
/* 0x06E6 */ s16 field_0x6e6;
64+
/* 0x06E8 */ s16 field_0x6e8;
65+
/* 0x06EA */ s8 field_0x6ea;
66+
/* 0x06EB */ u8 field_0x6EB[0x06F0 - 0x06EB];
67+
/* 0x06F0 */ fpc_ProcID mBallID;
68+
/* 0x06F4 */ dBgS_AcchCir mAcchCir;
69+
/* 0x0734 */ dBgS_ObjAcch mAcch;
70+
/* 0x090C */ dCcD_Stts mCcStts;
71+
/* 0x0948 */ dCcD_Sph mCcSph[3];
72+
/* 0x0CF0 */ dCcU_AtInfo mAtInfo;
73+
/* 0x0D14 */ cXyz field_0xd14;
74+
/* 0x0D20 */ cXyz field_0xd20;
75+
/* 0x0D2C */ s16 mDemoCamMode;
76+
/* 0x0D2E */ s16 mDemoCamTimer;
77+
/* 0x0D30 */ cXyz mDemoCamEye;
78+
/* 0x0D3C */ cXyz mDemoCamCenter;
79+
/* 0x0D48 */ cXyz mDemoCamEyeTarget;
80+
/* 0x0D54 */ cXyz mDemoCamCenterTarget;
81+
/* 0x0D60 */ cXyz mDemoCamEyeSpd;
82+
/* 0x0D6C */ cXyz mDemoCamCenterSpd;
83+
/* 0x0D78 */ f32 field_0xd78;
84+
/* 0x0D7C */ u8 field_0xD7C[0x0D80 - 0x0D7C];
85+
/* 0x0D80 */ f32 mDemoCamFovy;
86+
/* 0x0D84 */ u8 field_0xD84[0x0D88 - 0x0D84];
87+
/* 0x0D88 */ f32 field_0xd88;
88+
/* 0x0D8C */ u8 field_0xD8C[0x0D8E - 0x0D8C];
89+
/* 0x0D8E */ s8 field_0xd8e;
90+
/* 0x0D8F */ s8 field_0xd8f;
91+
/* 0x0D90 */ f32 field_0xd90;
92+
/* 0x0D94 */ u32 field_0xd94;
93+
/* 0x0D98 */ u32 field_0xd98;
94+
/* 0x0D9C */ th_ke_s field_0xd9c[3];
95+
/* 0x1210 */ mDoExt_3DlineMat0_c field_0x1210;
96+
/* 0x122C */ u8 field_0x122C[0x1238 - 0x122C];
97+
/* 0x1238 */ u8 mInitHIO;
1698
};
1799

18100
STATIC_ASSERT(sizeof(e_th_class) == 0x123c);
@@ -22,9 +104,4 @@ class daE_TH_HIO_c {
22104
/* 807B3FA4 */ ~daE_TH_HIO_c();
23105
};
24106

25-
struct th_ke_s {
26-
/* 807B3B58 */ ~th_ke_s();
27-
/* 807B3BD4 */ th_ke_s();
28-
};
29-
30107
#endif /* D_A_E_TH_H */

include/d/actor/d_a_e_th_ball.h

Lines changed: 53 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,27 @@
11
#ifndef D_A_E_TH_BALL_H
22
#define D_A_E_TH_BALL_H
3+
34
#include "f_op/f_op_actor_mng.h"
5+
#include "d/d_cc_d.h"
6+
#include "d/d_cc_uty.h"
7+
#include "d/d_bg_s_acch.h"
8+
9+
struct th_chain_s {
10+
/* 0x000 */ J3DModel* mp_model[50];
11+
/* 0x0C8 */ cXyz m_pos[50];
12+
/* 0x320 */ cXyz field_0x320[50];
13+
/* 0x578 */ csXyz m_rot[50];
14+
/* 0x6A4 */ f32 field_0x6a4[50];
15+
};
16+
17+
struct th_chain_2s {
18+
/* 0x000 */ J3DModel* mp_model[20];
19+
/* 0x050 */ cXyz m_pos[20];
20+
/* 0x140 */ cXyz field_0x140[20];
21+
/* 0x230 */ cXyz field_0x230[20];
22+
/* 0x320 */ csXyz m_rot[20];
23+
/* 0x398 */ f32 field_0x398[20];
24+
};
425

526
/**
627
* @ingroup actors-enemies
@@ -11,9 +32,38 @@
1132
*
1233
*/
1334
class e_th_ball_class : public fopEn_enemy_c {
14-
/* 807B7AA8 */ e_th_ball_class();
15-
private:
16-
/* 0x5ac */ u8 field_0x5ac[0x1a90 - 0x5ac];
35+
public:
36+
/* 0x05AC */ request_of_phase_process_class mPhase;
37+
/* 0x05B4 */ u8 field_0x5B4[0x05B8 - 0x05B4];
38+
/* 0x05B8 */ J3DModel* mpBallModel;
39+
/* 0x05BC */ Z2Creature mSound;
40+
/* 0x064C */ s16 mCounter;
41+
/* 0x064E */ s16 mAction;
42+
/* 0x0650 */ s16 mMode;
43+
/* 0x0652 */ s16 mTimers[3];
44+
/* 0x0658 */ s16 field_0x658;
45+
/* 0x065C */ th_chain_s field_0x65c;
46+
/* 0x0DC8 */ f32 field_0xdc8;
47+
/* 0x0DCC */ f32 field_0xdcc;
48+
/* 0x0DD0 */ s16 field_0xdd0;
49+
/* 0x0DD4 */ f32 field_0xdd4;
50+
/* 0x0DD8 */ cXyz field_0xdd8;
51+
/* 0x0DE4 */ f32 field_0xde4;
52+
/* 0x0DE8 */ int field_0xde8;
53+
/* 0x0DEC */ th_chain_2s field_0xdec;
54+
/* 0x11D4 */ int field_0x11d4;
55+
/* 0x11D8 */ th_chain_2s field_0x11d8;
56+
/* 0x15C0 */ f32 field_0x15c0;
57+
/* 0x15C4 */ s16 field_0x15c4;
58+
/* 0x15C6 */ s8 field_0x15c6;
59+
/* 0x15C8 */ dBgS_AcchCir mAcchCir;
60+
/* 0x1608 */ dBgS_ObjAcch mAcch;
61+
/* 0x17E0 */ dCcD_Stts mCcStts;
62+
/* 0x181C */ dCcD_Sph mCcSph;
63+
/* 0x1954 */ dCcD_Sph mAtSph;
64+
/* 0x1A8C */ s8 field_0x1a8c;
65+
/* 0x1A8D */ s8 mDemoMode;
66+
/* 0x1A8E */ s8 mPlayerGet;
1767
};
1868

1969
STATIC_ASSERT(sizeof(e_th_ball_class) == 0x1a90);

0 commit comments

Comments
 (0)