Skip to content

d_a_npc_henna equivalent#2473

Merged
hatal175 merged 1 commit intozeldaret:mainfrom
caseif:d_a_npc_henna-1
Jun 3, 2025
Merged

d_a_npc_henna equivalent#2473
hatal175 merged 1 commit intozeldaret:mainfrom
caseif:d_a_npc_henna-1

Conversation

@caseif
Copy link
Copy Markdown
Contributor

@caseif caseif commented Jun 3, 2025

d_a_npc_henna should now be equivalent with the only outstanding problem (AFAICT) being weak function ordering.

@decomp-dev
Copy link
Copy Markdown

decomp-dev bot commented Jun 3, 2025

Report for GZ2E01 (5272152 - 9d5c64a)

📈 Matched code: 62.80% (+0.27%, +31384 bytes)

✅ 76 new matches:
Unit Function Bytes Before After
d_a_npc_henna/d/actor/d_a_npc_henna demo_camera_shop(npc_henna_class*) +11704 0.03% 100.00%
d_a_npc_henna/d/actor/d_a_npc_henna henna_ride(npc_henna_class*) +2573 0.16% 100.00%
d_a_npc_henna/d/actor/d_a_npc_henna daNpc_Henna_Execute(npc_henna_class*) +2537 0.16% 100.00%
d_a_npc_henna/d/actor/d_a_npc_henna daNpc_Henna_Create(fopAc_ac_c*) +1816 0.22% 100.00%
d_a_npc_henna/d/actor/d_a_npc_henna action(npc_henna_class*) +1625 0.25% 100.00%
d_a_npc_henna/d/actor/d_a_npc_henna henna_shop(npc_henna_class*) +1289 0.31% 100.00%
d_a_npc_henna/d/actor/d_a_npc_henna __sinit_d_a_npc_henna_cpp +1272 0.31% 100.00%
d_a_npc_henna/d/actor/d_a_npc_henna useHeapInit(fopAc_ac_c*) +985 0.40% 100.00%
d_a_npc_henna/d/actor/d_a_npc_henna demo_camera(npc_henna_class*) +781 0.51% 100.00%
d_a_npc_henna/d/actor/d_a_npc_henna nodeCallBack(J3DJoint*, int) +773 0.52% 100.00%
d_a_npc_henna/d/actor/d_a_npc_henna message_guide(npc_henna_class*) +585 0.68% 100.00%
d_a_npc_henna/d/actor/d_a_npc_henna env_control(npc_henna_class*) +552 0.72% 100.00%
d_a_npc_henna/d/actor/d_a_npc_henna zoom_check(npc_henna_class*, cXyz*, short) +409 0.97% 100.00%
d_a_npc_henna/d/actor/d_a_npc_henna s_npc_sub(void*, void*) +389 1.02% 100.00%
d_a_npc_henna/d/actor/d_a_npc_henna s_fish_sub(void*, void*) +389 1.02% 100.00%
d_a_npc_henna/d/actor/d_a_npc_henna daNpc_Henna_Draw(npc_henna_class*) +365 1.09% 100.00%
d_a_npc_henna/d/actor/d_a_npc_henna message_shop(npc_henna_class*) +276 1.43% 100.00%
d_a_npc_henna/d/actor/d_a_npc_henna cXyz::abs() const +272 1.45% 100.00%
d_a_npc_henna/d/actor/d_a_npc_henna cam_3d_morf(npc_henna_class*, float) +225 1.75% 100.00%
d_a_npc_henna/d/actor/d_a_npc_henna anm_init(npc_henna_class*, int, float, unsigned char, float) +173 2.27% 100.00%
d_a_npc_henna/d/actor/d_a_npc_henna daNpc_Henna_HIO_c::daNpc_Henna_HIO_c() +136 2.86% 100.00%
d_a_npc_henna/d/actor/d_a_npc_henna s_du_sub(void*, void*) +113 3.45% 100.00%
d_a_npc_henna/d/actor/d_a_npc_henna mDoAud_seStart(unsigned long, const Vec*, unsigned long, signed char) +96 4.00% 100.00%
d_a_npc_henna/d/actor/d_a_npc_henna s_shop_sub(void*, void*) +89 4.35% 100.00%
d_a_npc_henna/d/actor/d_a_npc_henna s_koro2ball_sub(void*, void*) +89 4.35% 100.00%
d_a_npc_henna/d/actor/d_a_npc_henna daNpc_Henna_Delete(npc_henna_class*) +81 4.76% 100.00%
d_a_npc_henna/d/actor/d_a_npc_henna s_piro_sub(void*, void*) +73 5.26% 100.00%
d_a_npc_henna/d/actor/d_a_npc_henna s_rod_sub(void*, void*) +73 5.26% 100.00%
d_a_npc_henna/d/actor/d_a_npc_henna s_boat_sub(void*, void*) +73 5.26% 100.00%
d_a_npc_henna/d/actor/d_a_npc_henna cM3dGPla::~cM3dGPla() +69 5.56% 100.00%

...and 46 more new matches

Comment thread include/d/actor/d_a_npc_henna.h Outdated
Comment thread src/d/actor/d_a_npc_henna.cpp Outdated
Comment thread src/d/actor/d_a_npc_henna.cpp Outdated
Comment thread src/d/actor/d_a_npc_henna.cpp Outdated
Comment thread src/d/actor/d_a_npc_henna.cpp Outdated
Comment thread src/d/actor/d_a_npc_henna.cpp Outdated
Comment thread src/d/actor/d_a_npc_henna.cpp Outdated
if (i_this->field_0x754 >= 2) {
if (i_this->field_0x754 == 2) {
i_this->mMsgFlow.init(actor, 0x34c, 0, NULL);
__memcpy(unkIntArr2, unkLimitsMs2, sizeof(unkLimitsMs2));
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does just = work here?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unfortunately not, this wouldn't be legal C++ (unless I'm missing something).

i_this->field_0x7b9 = 0;
if (i_this->field_0x754 >= 2) {
if (i_this->field_0x754 == 2) {
__memcpy(unkIntArr1, unkLimitsMs1, sizeof(unkLimitsMs1));
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does just = work here?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same for this

Comment thread src/d/actor/d_a_npc_henna.cpp Outdated
@caseif caseif force-pushed the d_a_npc_henna-1 branch from 31cf0f4 to e548668 Compare June 3, 2025 12:36
@caseif
Copy link
Copy Markdown
Contributor Author

caseif commented Jun 3, 2025

All problems except the ones for __memcpy should be resolved now.

@caseif caseif force-pushed the d_a_npc_henna-1 branch from e548668 to a8f73c5 Compare June 3, 2025 13:40
@caseif caseif force-pushed the d_a_npc_henna-1 branch from a8f73c5 to 9d5c64a Compare June 3, 2025 18:31
@hatal175 hatal175 merged commit 12ee8c9 into zeldaret:main Jun 3, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants