Skip to content

d_a_npc_grz matching#2664

Merged
hatal175 merged 7 commits intozeldaret:mainfrom
carter-ktb21:d_a_npc_grz
Sep 19, 2025
Merged

d_a_npc_grz matching#2664
hatal175 merged 7 commits intozeldaret:mainfrom
carter-ktb21:d_a_npc_grz

Conversation

@carter-ktb21
Copy link
Copy Markdown
Contributor

No description provided.

@decomp-dev
Copy link
Copy Markdown

decomp-dev bot commented Sep 16, 2025

Report for ShieldD (2c39c21 - 552dced)

📈 Matched code: 19.40% (+0.03%, +4396 bytes)

✅ 43 new matches
Unit Function Bytes Before After
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::setMotionAnm(int, float) +521 0.76% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpcF_c::daNpcF_c() +421 0.94% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::resetCol() +336 1.18% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::ctrlBtk() +256 1.54% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpcF_Lookat_c::daNpcF_Lookat_c() +224 0.00% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpcF_Lookat_c::~daNpcF_Lookat_c() +193 2.04% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::setExpressionTalkAfter() +181 2.17% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::isDelete() +173 2.27% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::setAction(int (daNpc_Grz_c::*)(void*)) +165 2.38% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::daNpc_Grz_c() +157 24.90% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::ctrlJointCallBack(J3DJoint*, int) +136 2.86% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpcF_Path_c::~daNpcF_Path_c() +105 3.70% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::setMotion(int, float, int) +89 4.35% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpcF_Path_c::daNpcF_Path_c() +80 0.00% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz mDoExt_morf_c::getStartFrame() +80 0.00% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpcF_SPCurve_c::~daNpcF_SPCurve_c() +73 5.26% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpcF_SPCurve_c::daNpcF_SPCurve_c() +72 0.00% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpcF_MatAnm_c::daNpcF_MatAnm_c() +72 0.00% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::Execute() +69 5.56% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz mDoExt_morf_c::setEndFrame(float) +68 0.00% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::daNpc_GrZ_prtclMngr_c::daNpc_GrZ_prtclMngr_c() +65 5.88% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpcF_ActorMngr_c::daNpcF_ActorMngr_c() +60 6.25% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::chkAction(int (daNpc_Grz_c::*)(void*)) +57 6.67% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz cCcD_ObjHitInf::SetTgSPrm(unsigned long) +52 0.00% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::getPathNoFromParam() +52 0.00% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::daNpc_GrZ_prtclMngr_c::~daNpc_GrZ_prtclMngr_c() +49 61.29% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz dComIfGp_event_chkTalkXY() +48 0.00% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::setExpression(int, float) +45 8.33% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz dComIfGp_evmng_ChkPresentEnd() +36 0.00% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::setLookMode(int) +36 10.00% 100.00%

...and 13 more new matches

📈 41 improvements in unmatched functions
Unit Function Bytes Before After
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::doStoneSmashCut(int) +2756 0.14% 99.85%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::doGoOutCut(int) +1435 0.27% 96.96%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::playMotion() +1304 0.29% 95.61%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::setAttnPos() +1243 0.30% 93.91%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::setCollisionPunch() +1186 0.32% 95.89%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::doEvent() +1141 0.35% 99.02%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::playExpression() +922 0.39% 90.02%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::setExpressionAnm(int, bool) +820 0.49% 99.99%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::reset() +761 0.51% 97.49%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::create() +753 0.49% 91.81%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::lookat() +677 0.57% 96.62%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::waitSmash(void*) +671 0.55% 92.23%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::wait(void*) +662 0.53% 88.22%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::Draw() +577 0.67% 97.58%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::CreateHeap() +531 0.72% 96.27%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::talk(void*) +514 0.70% 91.26%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::doTalkStandCut(int) +513 0.76% 97.79%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::doRebirthCut(int) +454 0.76% 86.74%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::ctrlJoint(J3DJoint*, J3DModel*) +451 0.85% 97.38%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::setPrtcl() +409 0.89% 92.10%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::setExpressionBtp(int) +344 1.15% 99.98%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::~daNpc_Grz_c() +330 18.92% 95.37%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::main() +328 1.10% 91.21%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::doStoneSmashSkipCut(int) +313 1.19% 94.10%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::selectAction() +284 1.35% 97.62%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::doNormalAction(int) +266 1.25% 84.53%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::setParam() +263 1.05% 70.47%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::test(void*) +204 1.61% 84.26%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::lieDown(void*) +180 2.04% 93.73%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::waitWeak(void*) +180 2.17% 99.98%

...and 11 more improvements in unmatched functions


Report for GZ2E01 (2c39c21 - 552dced)

📈 Matched code: 86.03% (+0.24%, +28016 bytes)
📈 Linked code: 57.91% (+0.24%, +28116 bytes)

✅ 90 new matches
Unit Function Bytes Before After
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::doStoneSmashCut(int) +2633 0.15% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::setAttnPos() +1573 0.25% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::doGoOutCut(int) +1460 0.27% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::setCollisionPunch() +1365 0.29% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::playMotion() +1144 0.35% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::doEvent() +945 0.42% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::waitSmash(void*) +921 0.43% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::playExpression() +905 0.44% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::setExpressionAnm(int, bool) +721 0.55% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::reset() +713 0.56% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::create() +709 0.56% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::~daNpc_Grz_c() +687 6.79% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::wait(void*) +681 0.58% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::lookat() +665 0.60% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::CreateHeap() +645 0.62% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpcF_c::~daNpcF_c() +585 0.68% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::Draw() +576 0.69% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::talk(void*) +564 0.70% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::ctrlJoint(J3DJoint*, J3DModel*) +560 0.71% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::daNpc_Grz_c() +550 6.53% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::doTalkStandCut(int) +533 0.75% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpcF_c::daNpcF_c() +492 0.81% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::setMotionAnm(int, float) +489 0.81% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::doRebirthCut(int) +425 0.93% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::main() +381 1.04% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::setParam() +328 1.20% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::doStoneSmashSkipCut(int) +305 1.30% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::setExpressionBtp(int) +296 1.33% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::setPrtcl() +285 1.39% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::doNormalAction(int) +272 1.45% 100.00%

...and 60 more new matches


Report for GZ2P01 (2c39c21 - 552dced)

📈 Matched code: 85.15% (+0.24%, +28016 bytes)

✅ 90 new matches
Unit Function Bytes Before After
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::doStoneSmashCut(int) +2633 0.15% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::setAttnPos() +1573 0.25% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::doGoOutCut(int) +1460 0.27% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::setCollisionPunch() +1365 0.29% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::playMotion() +1144 0.35% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::doEvent() +945 0.42% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::waitSmash(void*) +921 0.43% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::playExpression() +905 0.44% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::setExpressionAnm(int, bool) +721 0.55% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::reset() +713 0.56% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::create() +709 0.56% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::~daNpc_Grz_c() +687 6.79% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::wait(void*) +681 0.58% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::lookat() +665 0.60% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::CreateHeap() +645 0.62% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpcF_c::~daNpcF_c() +585 0.68% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::Draw() +576 0.69% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::talk(void*) +564 0.70% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::ctrlJoint(J3DJoint*, J3DModel*) +560 0.71% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::daNpc_Grz_c() +550 6.53% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::doTalkStandCut(int) +533 0.75% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpcF_c::daNpcF_c() +492 0.81% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::setMotionAnm(int, float) +489 0.81% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::doRebirthCut(int) +425 0.93% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::main() +381 1.04% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::setParam() +328 1.20% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::doStoneSmashSkipCut(int) +305 1.30% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::setExpressionBtp(int) +296 1.33% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::setPrtcl() +285 1.39% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::doNormalAction(int) +272 1.45% 100.00%

...and 60 more new matches


Report for GZ2J01 (2c39c21 - 552dced)

📈 Matched code: 85.16% (+0.24%, +28016 bytes)
📈 Linked code: 56.77% (+0.24%, +28116 bytes)

✅ 90 new matches
Unit Function Bytes Before After
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::doStoneSmashCut(int) +2633 0.15% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::setAttnPos() +1573 0.25% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::doGoOutCut(int) +1460 0.27% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::setCollisionPunch() +1365 0.29% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::playMotion() +1144 0.35% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::doEvent() +945 0.42% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::waitSmash(void*) +921 0.43% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::playExpression() +905 0.44% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::setExpressionAnm(int, bool) +721 0.55% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::reset() +713 0.56% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::create() +709 0.56% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::~daNpc_Grz_c() +687 6.79% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::wait(void*) +681 0.58% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::lookat() +665 0.60% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::CreateHeap() +645 0.62% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpcF_c::~daNpcF_c() +585 0.68% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::Draw() +576 0.69% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::talk(void*) +564 0.70% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::ctrlJoint(J3DJoint*, J3DModel*) +560 0.71% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::daNpc_Grz_c() +550 6.53% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::doTalkStandCut(int) +533 0.75% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpcF_c::daNpcF_c() +492 0.81% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::setMotionAnm(int, float) +489 0.81% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::doRebirthCut(int) +425 0.93% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::main() +381 1.04% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::setParam() +328 1.20% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::doStoneSmashSkipCut(int) +305 1.30% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::setExpressionBtp(int) +296 1.33% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::setPrtcl() +285 1.39% 100.00%
d_a_npc_grz/d/actor/d_a_npc_grz daNpc_Grz_c::doNormalAction(int) +272 1.45% 100.00%

...and 60 more new matches

for (int i = 0; i < 4; i++) {
mSphs[i].Set(mCcDSph);
mSphs[i].SetStts(&mCcStts);
mSphs[i].SetAtSe(0xB);
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.

dCcD_SE_HARD_BODY

@caseif
Copy link
Copy Markdown
Contributor

caseif commented Sep 18, 2025

This matches fully (USA and JP) if you remove the explicit ctor/dtor for daNpc_GrZ_prtclMngr_c and let the compiler generate them instead.

@carter-ktb21 carter-ktb21 changed the title d_a_npc_grz equivalent d_a_npc_grz matching Sep 18, 2025
Comment on lines +34 to +36
enum Event_Cut_Nums {
/* 0x7 */ NUM_EVT_CUTS_e = 0x7,
};
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.

i dont think this change is correct, or rather half-finished. i think this should be local to the files it's being used in and the value changes per file. like in npc_grr, it should be set to 1 like it was before

return true;
}

OS_REPORT("%s: 表情Bckアニメーションの登録に失敗しました!\n", "d_a_npc_grz.cpp");
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.

you can use the __FILE__ macro instead of manually specifying a filename

case EXPR_LAUGH:
case EXPR_SNIFF:
if (mExpressionPhase != 0) {
mAnmFlags &= 0xFFFFEFFF;
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.

~0x1000, or whatever anm flag enum is 0x1000

@hatal175 hatal175 merged commit 7089e18 into zeldaret:main Sep 19, 2025
4 checks 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.

4 participants