Skip to content

d_a_npc_zk1 100% matching - #1134

Open
slock83 wants to merge 10 commits into
zeldaret:mainfrom
slock83:d_a_npc_zk1
Open

d_a_npc_zk1 100% matching#1134
slock83 wants to merge 10 commits into
zeldaret:mainfrom
slock83:d_a_npc_zk1

Conversation

@slock83

@slock83 slock83 commented Jul 22, 2026

Copy link
Copy Markdown

Hello,
Started working on d_a_npc_Zk1.
100 % matching for retail
100 % matching for demo too thanks to @WilliamArnett

Closes #367

@decomp-dev

decomp-dev Bot commented Jul 22, 2026

Copy link
Copy Markdown

Report for GZLE01 (dbc093a - b3e9d53)

📈 Matched code: 72.81% (+0.13%, +10344 bytes)
📈 Linked code: 59.19% (+0.13%, +10488 bytes)
📈 Matched data: 89.24% (+0.05%, +1180 bytes)
📈 Linked data: 49.60% (+0.05%, +1180 bytes)

✅ 90 new matches
Unit Item Bytes Before After
d_a_npc_zk1/d/actor/d_a_npc_zk1 .data +634 11.01% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::bodyCreateHeap() +624 0.64% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::_create() +585 0.68% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::_execute() +548 0.72% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::lookBack() +448 0.88% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::createInit() +381 1.04% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::wait_1() +381 1.04% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::demo() +316 1.25% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::talk_1() +288 1.37% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::_nodeCB_Head(J3DNode*, J3DModel*) +285 1.39% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::setBtp(signed char, bool) +256 1.54% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 .rodata +224 0.00% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::getMsg_ZK1_0() +221 1.79% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::next_msgStatus(unsigned long*) +216 1.82% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::_draw() +209 1.89% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 dCcD_Cyl::~dCcD_Cyl() +204 0.00% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::init_ZK1_0() +200 1.96% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::anmAtr(unsigned short) +185 2.13% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::wait_action1(void*) +185 2.13% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::checkOrder() +176 2.22% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::setMtx(bool) +173 2.27% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::set_action(int (daNpc_Zk1_c::*)(void*), void*) +169 2.33% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::play_animation() +165 2.38% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::_nodeCB_BackBone(J3DNode*, J3DModel*) +156 2.50% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::privateCut(int) +156 2.50% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::play_btp_anm() +152 2.56% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::setAnm_anm(daNpc_Zk1_c::anm_prm_c*) +152 2.56% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::chk_talk() +149 2.63% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::shadowDraw() +141 2.78% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::eventOrder() +136 2.86% 100.00%

...and 60 more new matches


Report for D44J01 (dbc093a - b3e9d53)

📈 Matched code: 65.32% (+0.13%, +10368 bytes)
📈 Linked code: 38.95% (+0.13%, +10512 bytes)
📈 Matched data: 85.72% (+0.05%, +1179 bytes)
📈 Linked data: 33.16% (+0.05%, +1179 bytes)

✅ 89 new matches
Unit Item Bytes Before After
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::bodyCreateHeap() +624 0.64% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 .data +622 11.20% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::_create() +617 0.65% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::_execute() +556 0.71% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::lookBack() +448 0.88% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::createInit() +381 1.04% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::wait_1() +381 1.04% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::demo() +308 1.28% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::talk_1() +288 1.37% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::_nodeCB_Head(J3DNode*, J3DModel*) +285 1.39% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::setBtp(signed char, bool) +256 1.54% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 .rodata +231 0.00% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::getMsg_ZK1_0() +221 1.79% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::next_msgStatus(unsigned long*) +216 1.82% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::_draw() +213 1.85% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 dCcD_Cyl::~dCcD_Cyl() +204 0.00% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::init_ZK1_0() +200 1.96% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::privateCut(int) +193 2.04% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::anmAtr(unsigned short) +185 2.13% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::wait_action1(void*) +185 2.13% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::checkOrder() +176 2.22% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::setMtx(bool) +173 2.27% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::set_action(int (daNpc_Zk1_c::*)(void*), void*) +169 2.33% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::play_animation() +165 2.38% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::_nodeCB_BackBone(J3DNode*, J3DModel*) +156 2.50% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::play_btp_anm() +152 2.56% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::setAnm_anm(daNpc_Zk1_c::anm_prm_c*) +152 2.56% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::chk_talk() +149 2.63% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::shadowDraw() +141 2.78% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::eventOrder() +136 2.86% 100.00%

...and 59 more new matches


Report for GZLP01 (dbc093a - b3e9d53)

📈 Matched code: 70.79% (+0.13%, +10344 bytes)
📈 Linked code: 57.31% (+0.13%, +10488 bytes)
📈 Matched data: 88.01% (+0.05%, +1180 bytes)
📈 Linked data: 49.23% (+0.05%, +1180 bytes)

✅ 90 new matches
Unit Item Bytes Before After
d_a_npc_zk1/d/actor/d_a_npc_zk1 .data +634 11.01% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::bodyCreateHeap() +624 0.64% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::_create() +585 0.68% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::_execute() +548 0.72% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::lookBack() +448 0.88% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::createInit() +381 1.04% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::wait_1() +381 1.04% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::demo() +316 1.25% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::talk_1() +288 1.37% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::_nodeCB_Head(J3DNode*, J3DModel*) +285 1.39% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::setBtp(signed char, bool) +256 1.54% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 .rodata +224 0.00% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::getMsg_ZK1_0() +221 1.79% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::next_msgStatus(unsigned long*) +216 1.82% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::_draw() +209 1.89% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 dCcD_Cyl::~dCcD_Cyl() +204 0.00% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::init_ZK1_0() +200 1.96% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::anmAtr(unsigned short) +185 2.13% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::wait_action1(void*) +185 2.13% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::checkOrder() +176 2.22% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::setMtx(bool) +173 2.27% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::set_action(int (daNpc_Zk1_c::*)(void*), void*) +169 2.33% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::play_animation() +165 2.38% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::_nodeCB_BackBone(J3DNode*, J3DModel*) +156 2.50% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::privateCut(int) +156 2.50% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::play_btp_anm() +152 2.56% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::setAnm_anm(daNpc_Zk1_c::anm_prm_c*) +152 2.56% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::chk_talk() +149 2.63% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::shadowDraw() +141 2.78% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::eventOrder() +136 2.86% 100.00%

...and 60 more new matches


Report for GZLJ01 (dbc093a - b3e9d53)

📈 Matched code: 71.02% (+0.13%, +10344 bytes)
📈 Linked code: 57.84% (+0.13%, +10488 bytes)
📈 Matched data: 88.68% (+0.05%, +1180 bytes)
📈 Linked data: 48.37% (+0.05%, +1180 bytes)

✅ 90 new matches
Unit Item Bytes Before After
d_a_npc_zk1/d/actor/d_a_npc_zk1 .data +634 11.01% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::bodyCreateHeap() +624 0.64% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::_create() +585 0.68% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::_execute() +548 0.72% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::lookBack() +448 0.88% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::createInit() +381 1.04% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::wait_1() +381 1.04% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::demo() +316 1.25% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::talk_1() +288 1.37% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::_nodeCB_Head(J3DNode*, J3DModel*) +285 1.39% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::setBtp(signed char, bool) +256 1.54% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 .rodata +224 0.00% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::getMsg_ZK1_0() +221 1.79% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::next_msgStatus(unsigned long*) +216 1.82% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::_draw() +209 1.89% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 dCcD_Cyl::~dCcD_Cyl() +204 0.00% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::init_ZK1_0() +200 1.96% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::anmAtr(unsigned short) +185 2.13% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::wait_action1(void*) +185 2.13% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::checkOrder() +176 2.22% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::setMtx(bool) +173 2.27% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::set_action(int (daNpc_Zk1_c::*)(void*), void*) +169 2.33% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::play_animation() +165 2.38% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::_nodeCB_BackBone(J3DNode*, J3DModel*) +156 2.50% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::privateCut(int) +156 2.50% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::play_btp_anm() +152 2.56% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::setAnm_anm(daNpc_Zk1_c::anm_prm_c*) +152 2.56% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::chk_talk() +149 2.63% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::shadowDraw() +141 2.78% 100.00%
d_a_npc_zk1/d/actor/d_a_npc_zk1 daNpc_Zk1_c::eventOrder() +136 2.86% 100.00%

...and 60 more new matches

@slock83
slock83 marked this pull request as draft July 23, 2026 09:25
@slock83
slock83 force-pushed the d_a_npc_zk1 branch 2 times, most recently from f0b4753 to 9470d76 Compare July 23, 2026 09:30
@slock83
slock83 marked this pull request as ready for review July 23, 2026 20:04
Events are named using the messages used, the table @ ZeldaSpeedruns, and where they are set in the TU
@slock83

slock83 commented Jul 30, 2026

Copy link
Copy Markdown
Author

Should be ready to merge, let me know if I need to change something

@slock83 slock83 changed the title Initial work on d_a_npc_zk1 d_a_npc_zk1 100% matching Aug 1, 2026
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.

d_a_npc_zk1

2 participants