Skip to content

Commit 31cf0f4

Browse files
committed
d_a_npc_henna equivalent
1 parent 588b206 commit 31cf0f4

File tree

15 files changed

+2896
-2560
lines changed

15 files changed

+2896
-2560
lines changed

config/GZ2E01/rels/d_a_npc_henna/symbols.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -309,6 +309,7 @@ lbl_82_bss_45 = .bss:0x00000045; // type:object size:0x1 data:byte
309309
l_HIO = .bss:0x00000054; // type:object size:0x38 scope:global data:byte
310310
lrl = .bss:0x0000008C; // type:object size:0x4 scope:global data:4byte
311311
lbl_82_bss_90 = .bss:0x00000090; // type:object size:0x1 data:byte
312+
lbl_82_bss_91 = .bss:0x00000091; // type:object size:0x1 data:byte
312313
@5112 = .bss:0x00000094; // type:object size:0xC scope:local
313314
@5113 = .bss:0x000000A0; // type:object size:0xC scope:local
314315
@5114 = .bss:0x000000AC; // type:object size:0xC scope:local
@@ -331,8 +332,11 @@ lbl_82_bss_90 = .bss:0x00000090; // type:object size:0x1 data:byte
331332
@5131 = .bss:0x00000178; // type:object size:0xC scope:local
332333
zoom_check_pos = .bss:0x00000184; // type:object size:0xF0 scope:global
333334
koro2_reset = .bss:0x00000274; // type:object size:0x4 scope:global
335+
@5134 = .bss:0x00000278; // type:object size:0x4 scope:local
334336
old_stick_x$5644 = .bss:0x0000027C; // type:object size:0x4 scope:local
337+
@5136 = .bss:0x00000280; // type:object size:0x4 scope:local
335338
old_stick_sx$5647 = .bss:0x00000284; // type:object size:0x4 scope:local
339+
lbl_82_bss_288 = .bss:0x00000288; // type:object size:0x1 scope:local
336340
lbl_82_bss_289 = .bss:0x00000289; // type:object size:0x1 data:byte
337341
sInstance__40JASGlobalInstance<19JASDefaultBankTable> = .bss:0x0000028C; // type:object size:0x4 scope:global
338342
sInstance__35JASGlobalInstance<14JASAudioThread> = .bss:0x00000290; // type:object size:0x4 scope:global

configure.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1545,7 +1545,7 @@ def MatchingFor(*versions) -> bool:
15451545
ActorRel(NonMatching, "d_a_npc_besu"),
15461546
ActorRel(Equivalent, "d_a_npc_fairy_seirei"),
15471547
ActorRel(MatchingFor("GZ2E01"), "d_a_npc_fish"),
1548-
ActorRel(NonMatching, "d_a_npc_henna"),
1548+
ActorRel(Equivalent, "d_a_npc_henna"), # weak func order
15491549
ActorRel(NonMatching, "d_a_npc_kakashi"),
15501550
ActorRel(NonMatching, "d_a_npc_kkri"),
15511551
ActorRel(NonMatching, "d_a_npc_kolin"),

include/c/c_damagereaction.h

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,14 @@ class JPTraceParticleCallBack4 : JPAParticleCallBack {
1313
BOOL cDmrNowMidnaTalk();
1414

1515
extern u8 cDmr_SkipInfo;
16+
extern u8 data_80450C99;
17+
extern u8 data_80450C9A;
18+
extern u8 data_80450C9B;
19+
extern u8 data_80450C9C;
20+
extern u8 data_80450C9D;
21+
extern u8 data_80450C9E;
22+
extern u8 data_80450C9F;
23+
extern u8 data_80450CA0;
1624
extern JPTraceParticleCallBack4 JPTracePCB4;
1725

1826
#endif /* C_C_DAMAGEREACTION_H */

include/d/actor/d_a_npc_du.h

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,12 @@
1111
* @details
1212
*
1313
*/
14-
class npc_du_class : public fopAc_ac_c {
15-
private:
16-
/* 0x568 */ u8 field_0x568[0xa00 - 0x568];
14+
class npc_du_class {
15+
public:
16+
fopAc_ac_c actor;
17+
/* 0x568 */ u8 field_0x568[0x5b8 - 0x568];
18+
/* 0x5B8 */ f32 field_0x5b8;
19+
/* 0x5BC */ u8 field_0x5bc[0xa00 - 0x5bc];
1720
};
1821

1922
STATIC_ASSERT(sizeof(npc_du_class) == 0xa00);

include/d/actor/d_a_npc_henna.h

Lines changed: 132 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
#ifndef D_A_NPC_HENNA_H
22
#define D_A_NPC_HENNA_H
33

4+
#include "JSystem/JHostIO/JORReflexible.h"
5+
#include "SSystem/SComponent/c_phase.h"
6+
#include "d/d_msg_flow.h"
47
#include "f_op/f_op_actor.h"
58

69
/**
@@ -11,25 +14,145 @@
1114
* @details
1215
*
1316
*/
14-
class npc_henna_class : public fopAc_ac_c {
17+
class npc_henna_class {
1518
public:
16-
/* 0x568 */ u8 field_0x568[0x752 - 0x568];
17-
/* 0x752 */ u16 field_0x752;
18-
/* 0x754 */ u16 field_0x754;
19-
/* 0x756 */ u8 field_0x756[0x7b5 - 0x756];
19+
/* 0x0 */ fopAc_ac_c actor;
20+
/* 0x568 */ u8 field_0x568[0x5ac - 0x568];
21+
/* 0x5AC */ request_of_phase_process_class field_0x5ac;
22+
/* 0x5B4 */ u8 field_0x5b4;
23+
/* 0x5B5 */ s8 field_0x5b5;
24+
/* 0x5B6 */ s8 field_0x5b6;
25+
/* 0x5B8 */ s16 mIsTalking;
26+
/* 0x5BA */ s16 field_0x5ba;
27+
/* 0x5BC */ s16 field_0x5bc;
28+
/* 0x5BE */ s16 field_0x5be;
29+
/* 0x5C0 */ dMsgFlow_c mMsgFlow;
30+
/* 0x60C */ u8 field_0x60c[0x618 - 0x60c];
31+
/* 0x618 */ s16 field_0x618;
32+
/* 0x61C */ f32 field_0x61c;
33+
/* 0x620 */ s16 field_0x620;
34+
/* 0x624 */ mDoExt_McaMorf* mpMorf;
35+
/* 0x628 */ mDoExt_btkAnm* mpBtkAnms[3];
36+
/* 0x634 */ mDoExt_btpAnm* mpBtpAnms[3];
37+
/* 0x640 */ u8 field_0x640[0x654 - 0x640];
38+
/* 0x654 */ s32 field_0x654;
39+
/* 0x658 */ s32 field_0x658;
40+
/* 0x65C */ s32 mAnmResIndex;
41+
/* 0x660 */ s16 field_0x660;
42+
/* 0x662 */ s16 field_0x662;
43+
/* 0x664 */ s32 field_0x664;
44+
/* 0x668 */ mDoExt_bckAnm* mpBckAnms[8];
45+
/* 0x688 */ s32 field_0x688;
46+
/* 0x68C */ J3DModel* mpModel;
47+
/* 0x690 */ s16 field_0x690;
48+
/* 0x692 */ s8 field_0x692;
49+
/* 0x693 */ s8 field_0x693;
50+
/* 0x694 */ s8 field_0x694;
51+
/* 0x698 */ f32 field_0x698;
52+
/* 0x69C */ f32 field_0x69c;
53+
/* 0x6A0 */ s16 field_0x6a0;
54+
/* 0x6A2 */ s16 field_0x6a2;
55+
/* 0x6A4 */ s16 field_0x6a4;
56+
/* 0x6A6 */ s16 field_0x6a6;
57+
/* 0x6A8 */ u8 field_0x6a8[0x6ac - 0x6a8];
58+
/* 0x6AC */ f32 field_0x6ac;
59+
/* 0x6B0 */ s16 field_0x6b0;
60+
/* 0x6B2 */ u8 field_0x6b2[0x6b6 - 0x6b2];
61+
/* 0x6B6 */ s16 field_0x6b6;
62+
/* 0x6B8 */ u8 field_0x6b8[0x6ba - 0x6b8];
63+
/* 0x6BA */ s16 field_0x6ba;
64+
/* 0x6BC */ s16 field_0x6bc;
65+
/* 0x6BE */ s16 field_0x6be;
66+
/* 0x6C0 */ s16 field_0x6c0;
67+
/* 0x6C2 */ s16 field_0x6c2;
68+
/* 0x6C4 */ s16 field_0x6c4;
69+
/* 0x6C6 */ u8 field_0x6c6[0x6f2 - 0x6c6];
70+
/* 0x6F2 */ s16 field_0x6f2;
71+
/* 0x6F4 */ u8 field_0x6f4[0x704 - 0x6f4];
72+
/* 0x704 */ s16 field_0x704;
73+
/* 0x706 */ s16 field_0x706;
74+
/* 0x708 */ u8 field_0x708;
75+
/* 0x709 */ u8 field_0x709;
76+
/* 0x70A */ u8 field_0x70a;
77+
/* 0x70B */ u8 field_0x70b;
78+
/* 0x70C */ s8 field_0x70c;
79+
/* 0x70D */ s8 field_0x70d;
80+
/* 0x70E */ s16 field_0x70e;
81+
/* 0x710 */ s16 field_0x710;
82+
/* 0x714 */ cXyz field_0x714;
83+
/* 0x720 */ cXyz field_0x720;
84+
/* 0x72C */ f32 field_0x72c;
85+
/* 0x730 */ f32 field_0x730;
86+
/* 0x734 */ u8 field_0x734;
87+
/* 0x738 */ f32 field_0x738;
88+
/* 0x73C */ s16 field_0x73c[10];
89+
/* 0x750 */ s16 field_0x750;
90+
/* 0x752 */ s16 field_0x752;
91+
/* 0x754 */ s16 field_0x754;
92+
/* 0x756 */ u16 field_0x756;
93+
/* 0x758 */ s16 field_0x758;
94+
/* 0x75A */ u8 field_0x75a[0x75c - 0x75a];
95+
/* 0x75C */ s16 field_0x75c;
96+
/* 0x760 */ cXyz field_0x760;
97+
/* 0x76C */ cXyz field_0x76c;
98+
/* 0x778 */ cXyz field_0x778;
99+
/* 0x784 */ cXyz field_0x784;
100+
/* 0x790 */ cXyz field_0x790;
101+
/* 0x79C */ cXyz field_0x79c;
102+
/* 0x7A8 */ cXyz field_0x7a8;
103+
/* 0x7B4 */ u8 field_0x7b4;
20104
/* 0x7B5 */ u8 field_0x7b5;
21-
/* 0x7B6 */ u8 field_0x7b6[0x7b9 - 0x7b6];
105+
/* 0x7B6 */ u8 field_0x7b6;
106+
/* 0x7B7 */ u8 field_0x7b7;
107+
/* 0x7B8 */ u8 field_0x7b8;
22108
/* 0x7B9 */ u8 field_0x7b9;
23-
/* 0x7BA */ u8 field_0x7ba[0x7fc - 0x7ba];
109+
/* 0x7BA */ u8 field_0x7ba;
110+
/* 0x7BC */ f32 field_0x7bc;
111+
/* 0x7C0 */ f32 field_0x7c0;
112+
/* 0x7C4 */ f32 field_0x7c4;
113+
/* 0x7C8 */ u8 field_0x7c8[0x7cc - 0x7c8];
114+
/* 0x7CC */ u32 field_0x7cc;
115+
/* 0x7D0 */ u8 field_0x7d0[0x7d4 - 0x7d0];
116+
/* 0x7D4 */ u8 field_0x7d4;
117+
/* 0x7D5 */ u8 field_0x7d5;
118+
/* 0x7D6 */ u8 field_0x7d6;
119+
/* 0x7D7 */ u8 field_0x7d7;
120+
/* 0x7D8 */ u8 field_0x7d8[0x7e1 - 0x7d8];
121+
/* 0x7E1 */ s8 field_0x7e1;
122+
/* 0x7E4 */ fpc_ProcID mBoatId;
123+
/* 0x7E8 */ u8 field_0x7e8[0x7f8 - 0x7e8];
124+
/* 0x7F8 */ u8 field_0x7f8;
24125
};
25126

26127
STATIC_ASSERT(sizeof(npc_henna_class) == 0x7fc);
27128

28-
class daNpc_Henna_HIO_c {
129+
class daNpc_Henna_HIO_c : public JORReflexible {
29130
public:
30131
/* 80542F0C */ daNpc_Henna_HIO_c();
31-
/* 80549E40 */ ~daNpc_Henna_HIO_c();
132+
/* 80549E40 */ virtual ~daNpc_Henna_HIO_c() {}
133+
void genMessage(JORMContext*);
134+
135+
s8 field_0x4;
136+
f32 field_0x8;
137+
s16 field_0xc;
138+
s16 mSeasonDefColorR;
139+
s16 mSeasonDefColorG;
140+
s16 mSeasonDefColorB;
141+
s16 mSeason2ColorR;
142+
s16 mSeason2ColorG;
143+
s16 mSeason2ColorB;
144+
s16 mSeason3ColorR;
145+
s16 mSeason3ColorG;
146+
s16 mSeason3ColorB;
147+
f32 mSeasonDefLightDist;
148+
s16 mSeasonDefLightAngle;
149+
f32 mSeason2LightDist;
150+
s16 mSeason2LightAngle;
151+
f32 mSeason3LightDist;
152+
s16 mSeason3LightAngle;
32153
};
33154

34155

156+
157+
35158
#endif /* D_A_NPC_HENNA_H */

include/d/actor/d_a_player.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1148,6 +1148,10 @@ class daPy_py_c : public fopAc_ac_c {
11481148
onEndResetFlg2(ERFLG2_UNK_2);
11491149
}
11501150

1151+
s16 getFishingRodAngleY() const {
1152+
return shape_angle.y + mBodyAngle.y;
1153+
}
1154+
11511155
void onFishingRelease() {
11521156
this->mEndResetFlg0 |= 0x4000000;
11531157
}

include/d/d_com_inf_game.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1868,7 +1868,7 @@ inline u8 dComIfGs_getTmpReg(const u16 i_reg) {
18681868
return g_dComIfG_gameInfo.info.getTmp().getEventReg(i_reg);
18691869
}
18701870

1871-
inline u8 dComIfGs_getEventReg(const u16 reg) {
1871+
inline u8 dComIfGs_getEventReg(u16 reg) {
18721872
return g_dComIfG_gameInfo.info.getEvent().getEventReg(reg);
18731873
}
18741874

@@ -3064,7 +3064,7 @@ inline bool dComIfGp_checkMesgBgm() {
30643064
return g_dComIfG_gameInfo.play.checkMesgBgm();
30653065
}
30663066

3067-
inline void dComIfGp_setMessageCountNumber(u32 number) {
3067+
inline void dComIfGp_setMessageCountNumber(s32 number) {
30683068
g_dComIfG_gameInfo.play.setMessageCountNumber(number);
30693069
}
30703070

include/d/d_save.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -648,10 +648,10 @@ class dSv_memBit_c {
648648
class dSv_event_c {
649649
public:
650650
void init();
651-
void onEventBit(u16 i_no);
652-
void offEventBit(u16 i_no);
653-
int isEventBit(u16 i_no) const;
654-
void setEventReg(u16 i_reg, u8 i_no);
651+
void onEventBit(const u16 i_no);
652+
void offEventBit(const u16 i_no);
653+
int isEventBit(const u16 i_no) const;
654+
void setEventReg(const u16 i_reg, u8 i_no);
655655
u8 getEventReg(u16 i_reg) const;
656656

657657
void* getPEventBit() { return (void*)mEvent; }

include/m_Do/m_Do_ext.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,9 @@ class mDoExt_bckAnm : public mDoExt_baseAnm {
146146
/* 8000D990 */ void changeBckOnly(J3DAnmTransform* i_bck);
147147
/* 8000D9CC */ void entry(J3DModelData* i_modelData, f32 i_frame);
148148
/* 8000D9E8 */ void entryJoint(J3DModelData* i_modelData, u16 i_jntNo, f32 i_frame);
149+
inline void entryJoint(J3DModelData* i_modelData, u16 i_jntNo) {
150+
entryJoint(i_modelData, i_jntNo, getFrame());
151+
}
149152

150153
void entry(J3DModelData* i_modelData) { entry(i_modelData, getFrame()); }
151154

src/c/c_damagereaction.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,8 +67,7 @@ BOOL cDmrNowMidnaTalk() {
6767
}
6868

6969
/* 80450CA0-80450CA4 0001A0 0004+00 0/0 0/0 2/2 .sbss None */
70-
extern u8 data_80450CA0[4];
71-
u8 data_80450CA0[4];
70+
u8 data_80450CA0;
7271

7372
/* 80450CA4-80450CA8 0001A4 0004+00 1/1 1/1 1/1 .sbss JPTracePCB4 */
7473
JPTraceParticleCallBack4 JPTracePCB4;

0 commit comments

Comments
 (0)