Skip to content

Commit d640fb8

Browse files
authored
d_a_fr and d_a_obj_lp work (#2372)
* Initial d_a_fr work * general d_a_fr work * Pull request cleanup * d_a_obj_lp almost matching * Fixed compile error
1 parent a159f3b commit d640fb8

File tree

5 files changed

+1190
-1359
lines changed

5 files changed

+1190
-1359
lines changed

include/d/actor/d_a_fr.h

Lines changed: 58 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
11
#ifndef D_A_FR_H
22
#define D_A_FR_H
33

4+
#include "d/d_bg_s_acch.h"
5+
#include "d/d_cc_d.h"
6+
#include "d/d_msg_flow.h"
47
#include "dolphin/types.h"
8+
#include "SSystem/SComponent/c_phase.h"
59
#include "f_op/f_op_actor_mng.h"
610

711
/**
@@ -13,16 +17,66 @@
1317
*
1418
*/
1519
class fr_class : public fopAc_ac_c {
16-
private:
17-
/* 0x568 */ u8 field_0x568[0x9e8 - 0x568];
20+
public:
21+
/* 0x568 */ u8 field_0x568[0x5ac - 0x568];
22+
/* 0x5AC */ request_of_phase_process_class mPhase;
23+
/* 0x5B4 */ u8 field_0x5b4;
24+
/* 0x5B5 */ u8 field_0x5b5[0x5c4 - 0x5b5];
25+
/* 0x5C4 */ mDoExt_McaMorf* mMorf;
26+
/* 0x5C8 */ mDoExt_btkAnm* mBtkAnm;
27+
/* 0x5CC */ u8 field_0x5cc;
28+
/* 0x5CD */ s8 field_0x5cd;
29+
/* 0x5CE */ s8 field_0x5ce;
30+
/* 0x5CF */ u8 field_0x5cf;
31+
/* 0x5D0 */ s16 field_0x5d0;
32+
/* 0x5D2 */ s16 field_0x5d2;
33+
/* 0x5D4 */ s16 field_0x5d4;
34+
/* 0x5D6 */ u8 field_0x5d6[0x5d8 - 0x5d6];
35+
/* 0x5D8 */ f32 field_0x5d8;
36+
/* 0x5DC */ s16 field_0x5dc[4];
37+
/* 0x5E4 */ s16 field_0x5e4;
38+
/* 0x5E6 */ u8 field_0x5e6[0x5e8 - 0x5e6];
39+
/* 0x5E8 */ f32 field_0x5e8;
40+
/* 0x5EC */ s8 field_0x5ec;
41+
/* 0x5ED */ u8 field_0x5ed[0x5f0 - 0x5ed];
42+
/* 0x5F0 */ f32 field_0x5f0;
43+
/* 0x5F4 */ f32 field_0x5f4;
44+
/* 0x5F8 */ fpc_ProcID field_0x5f8;
45+
/* 0x5FC */ s16 field_0x5fc;
46+
/* 0x5FE */ u8 field_0x5fe[0x600 - 0x5fe];
47+
/* 0x600 */ f32 field_0x600;
48+
/* 0x604 */ dBgS_AcchCir mAcchCir;
49+
/* 0x644 */ dBgS_ObjAcch mAcch;
50+
/* 0x81C */ dCcD_Stts mStts;
51+
/* 0x858 */ dCcD_Sph mSph;
52+
/* 0x990 */ u8 field_0x990;
53+
/* 0x991 */ s8 field_0x991;
54+
/* 0x992 */ s16 field_0x992;
55+
/* 0x994 */ s16 field_0x994;
56+
/* 0x998 */ dMsgFlow_c mMsgFlow;
57+
/* 0x9E4 */ u8 field_0x9e4;
58+
/* 0x9E5 */ u8 field_0x9e5[0x9e8 - 0x9e5];
1859
};
1960

2061
STATIC_ASSERT(sizeof(fr_class) == 0x9e8);
2162

22-
class daFr_HIO_c {
63+
class daFr_HIO_c : public JORReflexible {
2364
public:
2465
/* 805198EC */ daFr_HIO_c();
25-
/* 8051B920 */ ~daFr_HIO_c();
66+
/* 8051B920 */ virtual ~daFr_HIO_c() {};
67+
68+
void genMessage(JORMContext*);
69+
70+
/* 0x04 */ s8 field_0x4;
71+
/* 0x08 */ f32 field_0x8;
72+
/* 0x0C */ f32 field_0xc;
73+
/* 0x10 */ f32 field_0x10;
74+
/* 0x14 */ f32 field_0x14;
75+
/* 0x18 */ f32 field_0x18;
76+
/* 0x1C */ f32 field_0x1c;
77+
/* 0x20 */ f32 field_0x20;
78+
/* 0x24 */ f32 field_0x24;
79+
/* 0x28 */ f32 field_0x28;
2680
};
2781

2882

include/d/actor/d_a_mg_rod.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ struct mg_hook_s {
2424
/* 0x18 */ u8 field_0x18[0x20 - 0x18];
2525
};
2626

27-
struct wd_ss {};
27+
struct wd_ss;
2828

2929
/**
3030
* @ingroup actors-items
@@ -78,7 +78,8 @@ class dmg_rod_class : public fopAc_ac_c {
7878
/* 0x11D0 */ dBgS_ObjAcch field_0x11d0;
7979
/* 0x13A8 */ u8 field_0x13a8[0x13B4 - 0x13A8];
8080
/* 0x13B4 */ s16 field_0x13b4;
81-
/* 0x13B6 */ u8 field_0x13b6[0x1474 - 0x13B6];
81+
/* 0x13B6 */ s16 field_0x13b6;
82+
/* 0x13B8 */ u8 field_0x13b8[0x1474 - 0x13B8];
8283
/* 0x1474 */ dMsgFlow_c mMsgFlow;
8384
/* 0x14C0 */ u8 field_0x14c0[0x14C8 - 0x14C0];
8485
/* 0x14C8 */ f32 mRodStickX;

include/d/actor/d_a_obj_lp.h

Lines changed: 47 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,6 @@
33

44
#include "f_op/f_op_actor_mng.h"
55

6-
struct wd_ss {
7-
public:
8-
/* 80C559C8 */ ~wd_ss();
9-
/* 80C55A04 */ wd_ss();
10-
};
11-
126
/**
137
* @ingroup actors-objects
148
* @class obj_lp_class
@@ -17,9 +11,54 @@ struct wd_ss {
1711
* @details
1812
*
1913
*/
14+
15+
struct wd_ss {
16+
public:
17+
/* 80C559C8 */ ~wd_ss() {};
18+
/* 80C55A04 */ wd_ss() {};
19+
20+
/* 0x00 */ J3DModel* mpModel;
21+
/* 0x04 */ cXyz field_0x4;
22+
/* 0x10 */ cXyz field_0x10;
23+
/* 0x1C */ cXyz field_0x1c;
24+
/* 0x28 */ cXyz field_0x28;
25+
/* 0x34 */ s16 field_0x34;
26+
/* 0x36 */ s16 field_0x36;
27+
/* 0x38 */ s16 field_0x38;
28+
/* 0x3A */ u8 field_0x3a[0x3c - 0x3a];
29+
/* 0x3C */ f32 field_0x3c;
30+
/* 0x40 */ s16 field_0x40;
31+
/* 0x42 */ s16 field_0x42;
32+
/* 0x44 */ s16 field_0x44;
33+
/* 0x46 */ u8 field_0x46[0x4e - 0x46];
34+
/* 0x4E */ u8 field_0x4e;
35+
/* 0x4F */ u8 field_0x4f;
36+
/* 0x50 */ int field_0x50;
37+
};
38+
39+
STATIC_ASSERT(sizeof(wd_ss) == 0x54);
40+
2041
class obj_lp_class : public fopAc_ac_c {
21-
private:
22-
/* 0x568 */ u8 field_0x568[0xadb8 - 0x568];
42+
public:
43+
/* 0x0568 */ request_of_phase_process_class mPhase;
44+
/* 0x0570 */ u8 field_0x570;
45+
/* 0x0571 */ u8 field_0x571;
46+
/* 0x0572 */ u8 field_0x572;
47+
/* 0x0573 */ u8 field_0x573;
48+
/* 0x0574 */ s16 field_0x574;
49+
/* 0x0576 */ u8 field_0x576[0x57c - 0x576];
50+
/* 0x057C */ wd_ss mWdSs[512];
51+
/* 0xAD7C */ mDoExt_3DlineMat0_c field_0xad7c;
52+
/* 0xAD98 */ int field_0xad98;
53+
/* 0xAD9C */ cXyz field_0xad9c;
54+
/* 0xADA8 */ f32 field_0xada8;
55+
/* 0xADAC */ f32 field_0xadac;
56+
/* 0xADB0 */ u8 field_0xadb0;
57+
/* 0xADB1 */ u8 field_0xadb1;
58+
/* 0xADB2 */ u8 field_0xadb2;
59+
/* 0xADB3 */ u8 field_0xadb3;
60+
/* 0xADB4 */ u8 field_0xadb4;
61+
/* 0xADB5 */ u8 field_0xadb5[0xadb8 - 0xadb5];
2362
};
2463

2564
STATIC_ASSERT(sizeof(obj_lp_class) == 0xadb8);

0 commit comments

Comments
 (0)