Skip to content

Commit 5a13ca4

Browse files
authored
d_a_e_gb work (#2486)
* Starting work * Over halfway done * Work on action and damage functions * Almost equivalent * PR cleanup
1 parent ba4ea76 commit 5a13ca4

File tree

5 files changed

+1709
-1396
lines changed

5 files changed

+1709
-1396
lines changed

include/d/actor/d_a_e_gb.h

Lines changed: 112 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
#ifndef D_A_E_GB_H
22
#define D_A_E_GB_H
3+
#include "d/d_bg_s_acch.h"
4+
#include "d/d_cc_d.h"
5+
#include "d/d_cc_uty.h"
36
#include "f_op/f_op_actor_mng.h"
47

58
/**
@@ -10,17 +13,121 @@
1013
* @details
1114
*
1215
*/
13-
class e_gb_class : public fopEn_enemy_c {
16+
class e_gb_class {
17+
public:
1418
/* 806C6B94 */ e_gb_class();
15-
private:
16-
/* 0x5ac */ u8 field_0x5ac[0xef8 - 0x5ac];
19+
20+
/* 0x000 */ fopEn_enemy_c actor;
21+
/* 0x5AC */ request_of_phase_process_class mPhase;
22+
/* 0x5B4 */ u8 field_0x5b4;
23+
/* 0x5B5 */ u8 field_0x5b5;
24+
/* 0x5B6 */ u8 field_0x5b6;
25+
/* 0x5B7 */ u8 field_0x5b7;
26+
/* 0x5B8 */ mDoExt_McaMorf* mpModelMorf1;
27+
/* 0x5BC */ mDoExt_McaMorf* mpModelMorf2;
28+
/* 0x5C0 */ mDoExt_brkAnm* mBrkAnm;
29+
/* 0x5C4 */ Z2CreatureEnemy mSound;
30+
/* 0x668 */ s8 field_0x668;
31+
/* 0x66C */ J3DModel* field_0x66c;
32+
/* 0x670 */ s8 field_0x670;
33+
/* 0x674 */ cXyz field_0x674;
34+
/* 0x680 */ f32 field_0x680;
35+
/* 0x684 */ s16 field_0x684;
36+
/* 0x686 */ s16 field_0x686;
37+
/* 0x688 */ int field_0x688;
38+
/* 0x68C */ int field_0x68c;
39+
/* 0x690 */ u8 field_0x690[0x694 - 0x690];
40+
/* 0x694 */ u32 mShadowKey;
41+
/* 0x698 */ s16 field_0x698;
42+
/* 0x69A */ s16 field_0x69a;
43+
/* 0x69C */ s16 field_0x69c;
44+
/* 0x69E */ s16 field_0x69e;
45+
/* 0x6A0 */ s16 field_0x6a0;
46+
/* 0x6A2 */ u8 field_0x6a2[0x6a8 - 0x6a2];
47+
/* 0x6A8 */ cXyz field_0x6a8;
48+
/* 0x6B4 */ u8 field_0x6b4[0x6b8 - 0x6b4];
49+
/* 0x6B8 */ s16 field_0x6b8;
50+
/* 0x6BA */ s16 field_0x6ba;
51+
/* 0x6BC */ f32 field_0x6bc;
52+
/* 0x6C0 */ f32 field_0x6c0;
53+
/* 0x6C4 */ s16 field_0x6c4[5];
54+
/* 0x6CE */ s16 field_0x6ce;
55+
/* 0x6D0 */ s16 field_0x6d0;
56+
/* 0x6D4 */ cXyz field_0x6d4;
57+
/* 0x6E0 */ s8 field_0x6e0;
58+
/* 0x6E4 */ cXyz field_0x6e4[18];
59+
/* 0x7BC */ csXyz field_0x7bc[18];
60+
/* 0x828 */ J3DModel* field_0x828[18];
61+
/* 0x870 */ u8 field_0x870[0x8b8 - 0x870];
62+
/* 0x8B8 */ f32 field_0x8b8[18];
63+
/* 0x900 */ s16 field_0x900[18];
64+
/* 0x924 */ s16 field_0x924;
65+
/* 0x928 */ f32 field_0x928;
66+
/* 0x92C */ s16 field_0x92c[3];
67+
/* 0x932 */ s8 field_0x932[3];
68+
/* 0x935 */ s8 field_0x935[3];
69+
/* 0x938 */ s8 field_0x938;
70+
/* 0x939 */ s8 field_0x939;
71+
/* 0x93C */ f32 field_0x93c;
72+
/* 0x940 */ f32 field_0x940;
73+
/* 0x944 */ f32 field_0x944;
74+
/* 0x948 */ s16 field_0x948;
75+
/* 0x94A */ s16 field_0x94a;
76+
/* 0x94C */ f32 field_0x94c;
77+
/* 0x950 */ s16 field_0x950;
78+
/* 0x952 */ s16 field_0x952;
79+
/* 0x954 */ u8 field_0x954;
80+
/* 0x955 */ s8 field_0x955;
81+
/* 0x956 */ u8 field_0x956[0x964 - 0x956];
82+
/* 0x964 */ f32 field_0x964;
83+
/* 0x968 */ s8 field_0x968;
84+
/* 0x969 */ u8 field_0x969[0x970 - 0x969];
85+
/* 0x970 */ dCcD_Stts mStts;
86+
/* 0x9AC */ dCcD_Sph mHeadSph;
87+
/* 0xAE4 */ dCcD_Cyl mBodyCyl;
88+
/* 0xC20 */ s8 field_0xc20;
89+
/* 0xC24 */ dCcU_AtInfo mAtInfo;
90+
/* 0xC48 */ dBgS_AcchCir mAcchCir;
91+
/* 0xC88 */ dBgS_ObjAcch mObjAcch;
92+
/* 0xE60 */ u8 field_0xe60[2];
93+
/* 0xE62 */ u32 field_0xe62[2];
94+
/* 0xE6C */ u32 field_0xe6c;
95+
/* 0xE70 */ u32 field_0xe70;
96+
/* 0xE74 */ u32 field_0xe74;
97+
/* 0xE78 */ u32 field_0xe78;
98+
/* 0xE7C */ u32 field_0xe7c[5];
99+
/* 0xE90 */ s16 mDemoMode;
100+
/* 0xE92 */ s16 field_0xe92;
101+
/* 0xE94 */ cXyz mDemoCamEye;
102+
/* 0xEA0 */ cXyz mDemoCamCenter;
103+
/* 0xEAC */ cXyz field_0xeac;
104+
/* 0xEB8 */ cXyz field_0xeb8;
105+
/* 0xEC4 */ cXyz field_0xec4;
106+
/* 0xED0 */ cXyz field_0xed0;
107+
/* 0xEDC */ u8 field_0xedc[0xee4 - 0xedc];
108+
/* 0xEE4 */ f32 field_0xee4;
109+
/* 0xEE8 */ f32 mDemoCamFovy;
110+
/* 0xEEC */ u8 field_0xeec[0xef5 - 0xeec];
111+
/* 0xEF5 */ u8 field_0xef5;
17112
};
18113

19114
STATIC_ASSERT(sizeof(e_gb_class) == 0xef8);
20115

21-
class daE_GB_HIO_c {
116+
class daE_GB_HIO_c : public JORReflexible{
117+
public:
22118
/* 806C1CEC */ daE_GB_HIO_c();
23-
/* 806C6F98 */ ~daE_GB_HIO_c();
119+
/* 806C6F98 */ virtual ~daE_GB_HIO_c() {}
120+
121+
void genMessage(JORMContext*);
122+
123+
/* 0x04 */ s8 field_0x4;
124+
/* 0x08 */ f32 field_0x8;
125+
/* 0x0C */ f32 field_0xc;
126+
/* 0x10 */ f32 field_0x10;
127+
/* 0x14 */ s16 field_0x14;
128+
/* 0x18 */ f32 field_0x18;
129+
/* 0x1C */ s16 field_0x1c;
130+
/* 0x1E */ s16 field_0x1e;
24131
};
25132

26133

include/d/actor/d_a_obj_smallkey.h

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
*
1313
*/
1414
class daKey_c : public fopAc_ac_c {
15+
public:
1516
/* 80CD9F2C */ void initBaseMtx();
1617
/* 80CD9F68 */ void setBaseMtx();
1718
/* 80CD9FDC */ void Create();
@@ -40,8 +41,22 @@ class daKey_c : public fopAc_ac_c {
4041
/* 80CDB404 */ void execute();
4142
/* 80CDB5D4 */ void draw();
4243
/* 80CDB628 */ void _delete();
43-
private:
44-
/* 0x568 */ u8 field_0x568[0x988 - 0x568];
44+
45+
void setPos(cXyz pos) {
46+
current.pos = pos;
47+
}
48+
49+
void startMove(f32 param_1, f32 param_2) {
50+
speedF = param_1;
51+
speed.y = param_2;
52+
gravity = -6.0f;
53+
actionWaitInit();
54+
}
55+
56+
/* 0x568 */ u8 field_0x568[0x978 - 0x568];
57+
/* 0x978 */ cXyz field_0x978;
58+
/* 0x984 */ u8 field_0x984;
59+
/* 0x985 */ u8 field_0x985[0x988 - 0x985];
4560
};
4661

4762
STATIC_ASSERT(sizeof(daKey_c) == 0x988);

include/d/actor/d_a_player.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -685,7 +685,7 @@ class daPy_py_c : public fopAc_ac_c {
685685
f32 getSpinnerRideSpeed() const;
686686
bool checkSpinnerReflectEffect();
687687
static bool checkBoomerangCharge();
688-
int checkBoomerangChargeTime();
688+
static u8 checkBoomerangChargeTime();
689689
static daBoomerang_c* getThrowBoomerangActor();
690690
static void cancelBoomerangLockActor(fopAc_ac_c*);
691691
static void setPlayerDamage(int, int);

0 commit comments

Comments
 (0)