Skip to content

Commit 70f0ed7

Browse files
authored
d_a_e_cr / d_a_e_cr_egg done (#2536)
* d_a_e_cr_egg done * e_cr done
1 parent aeeaf91 commit 70f0ed7

File tree

7 files changed

+803
-839
lines changed

7 files changed

+803
-839
lines changed

configure.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1657,8 +1657,8 @@ def MatchingFor(*versions) -> bool:
16571657
ActorRel(NonMatching, "d_a_e_bs"),
16581658
ActorRel(NonMatching, "d_a_e_bu"),
16591659
ActorRel(NonMatching, "d_a_e_bug"),
1660-
ActorRel(NonMatching, "d_a_e_cr"),
1661-
ActorRel(NonMatching, "d_a_e_cr_egg"),
1660+
ActorRel(Equivalent, "d_a_e_cr"), # weak func order
1661+
ActorRel(MatchingFor("GZ2E01"), "d_a_e_cr_egg"),
16621662
ActorRel(NonMatching, "d_a_e_db"),
16631663
ActorRel(MatchingFor("GZ2E01"), "d_a_e_db_leaf"),
16641664
ActorRel(NonMatching, "d_a_e_dd"),

include/d/actor/d_a_e_cr.h

Lines changed: 47 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
#ifndef D_A_E_CR_H
22
#define D_A_E_CR_H
3+
34
#include "f_op/f_op_actor_mng.h"
5+
#include "d/d_bg_s_acch.h"
6+
#include "d/d_cc_d.h"
7+
#include "d/d_cc_uty.h"
48

59
/**
610
* @ingroup actors-enemies
@@ -10,16 +14,54 @@
1014
* @details
1115
*
1216
*/
13-
class e_cr_class : public fopEn_enemy_c {
14-
private:
15-
/* 0x5ac */ u8 field_0x5ac[0xa60 - 0x5ac];
17+
class e_cr_class {
18+
public:
19+
/* 0x000 */ fopEn_enemy_c enemy;
20+
/* 0x5AC */ request_of_phase_process_class phase;
21+
/* 0x5B4 */ u8 field_0x5b4;
22+
/* 0x5B5 */ u8 field_0x5b5;
23+
/* 0x5B8 */ mDoExt_McaMorfSO* modelMorf;
24+
/* 0x5BC */ Z2CreatureEnemy sound;
25+
/* 0x660 */ int anm;
26+
/* 0x664 */ s16 lifetime;
27+
/* 0x666 */ s16 action;
28+
/* 0x668 */ s16 mode;
29+
/* 0x66A */ u8 field_0x66A[0x678 - 0x66A];
30+
/* 0x678 */ s16 angle_target;
31+
/* 0x67A */ u8 field_0x67A[0x67C - 0x67A];
32+
/* 0x67C */ s16 angle_to_pl;
33+
/* 0x680 */ f32 dist_to_pl;
34+
/* 0x684 */ s16 timers[4];
35+
/* 0x68C */ s16 invulnerabilityTimer;
36+
/* 0x68E */ s16 field_0x68e;
37+
/* 0x690 */ s8 field_0x690;
38+
/* 0x692 */ s16 field_0x692;
39+
/* 0x694 */ s16 head_rot;
40+
/* 0x696 */ s16 head_rot_target;
41+
/* 0x698 */ dBgS_AcchCir acchcir;
42+
/* 0x6D8 */ dBgS_ObjAcch acch;
43+
/* 0x8B0 */ dCcD_Stts ccStts;
44+
/* 0x8EC */ dCcD_Sph ccSph;
45+
/* 0xA24 */ dCcU_AtInfo atInfo;
46+
/* 0xA48 */ u32 field_0xa48;
47+
/* 0xA4C */ u32 field_0xa4c;
48+
/* 0xA50 */ u8 field_0xA50[0xA5C - 0xA50];
49+
/* 0xA5C */ u8 HIOInit;
1650
};
1751

1852
STATIC_ASSERT(sizeof(e_cr_class) == 0xa60);
1953

20-
class daE_CR_HIO_c {
54+
class daE_CR_HIO_c : public JORReflexible {
55+
public:
2156
/* 8069800C */ daE_CR_HIO_c();
22-
/* 806997F4 */ ~daE_CR_HIO_c();
57+
/* 806997F4 */ virtual ~daE_CR_HIO_c() {}
58+
59+
void genMessage(JORMContext*);
60+
61+
/* 0x04 */ s8 id;
62+
/* 0x08 */ f32 base_size;
63+
/* 0x0C */ f32 move_speed;
64+
/* 0x10 */ f32 pl_search_range;
2365
};
2466

2567

include/d/actor/d_a_e_cr_egg.h

Lines changed: 23 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
#ifndef D_A_E_CR_EGG_H
22
#define D_A_E_CR_EGG_H
3+
34
#include "f_op/f_op_actor_mng.h"
5+
#include "d/d_bg_s_acch.h"
6+
#include "d/d_cc_d.h"
7+
#include "d/d_cc_uty.h"
48

59
/**
610
* @ingroup actors-enemies
@@ -10,9 +14,25 @@
1014
* @details
1115
*
1216
*/
13-
class e_cr_egg_class : public fopEn_enemy_c {
14-
private:
15-
/* 0x5ac */ u8 field_0x5ac[0xa0c - 0x5ac];
17+
class e_cr_egg_class {
18+
public:
19+
/* 0x000 */ fopEn_enemy_c enemy;
20+
/* 0x5AC */ request_of_phase_process_class phase;
21+
/* 0x5B4 */ u8 field_0x5b4;
22+
/* 0x5B5 */ u8 field_0x5b5;
23+
/* 0x5B8 */ J3DModel* model;
24+
/* 0x5BC */ Z2Creature sound;
25+
/* 0x64C */ s16 lifetime;
26+
/* 0x64E */ s16 action;
27+
/* 0x650 */ s16 mode;
28+
/* 0x652 */ s16 timers[2];
29+
/* 0x656 */ s16 field_0x656;
30+
/* 0x658 */ u8 field_0x658[0x65C - 0x658];
31+
/* 0x65C */ dBgS_AcchCir acchcir;
32+
/* 0x69C */ dBgS_ObjAcch acch;
33+
/* 0x874 */ dCcD_Stts ccStts;
34+
/* 0x8B0 */ dCcD_Sph ccSph;
35+
/* 0x9E8 */ dCcU_AtInfo atInfo;
1636
};
1737

1838
STATIC_ASSERT(sizeof(e_cr_egg_class) == 0xa0c);

include/d/actor/d_a_e_ws.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ class daE_WS_c : public fopEn_enemy_c {
6161
/* 0x684 */ u32 mShadowId;
6262
/* 0x688 */ s16 mTargetAngle;
6363
/* 0x68A */ s16 mTargetStep;
64-
/* 0x68C */ u8 field_0x68c;
64+
/* 0x68C */ u8 mMoveWaitTimer;
6565
/* 0x68E */ s16 mInvulnerabilityTimer;
6666
/* 0x690 */ u8 field_0x690;
6767
/* 0x691 */ u8 field_0x691;

0 commit comments

Comments
 (0)