Skip to content

d_a_e_gm matching#2669

Merged
hatal175 merged 7 commits intozeldaret:mainfrom
carter-ktb21:d_a_e_gm
Sep 20, 2025
Merged

d_a_e_gm matching#2669
hatal175 merged 7 commits intozeldaret:mainfrom
carter-ktb21:d_a_e_gm

Conversation

@carter-ktb21
Copy link
Copy Markdown
Contributor

@carter-ktb21 carter-ktb21 commented Sep 18, 2025

Not sure why, but TU is not matching, despite everything looking fine in objdiff, at least on my end.

@decomp-dev
Copy link
Copy Markdown

decomp-dev bot commented Sep 18, 2025

Report for GZ2E01 (818dec8 - 665f62d)

📈 Matched code: 85.92% (+0.22%, +25348 bytes)
📈 Linked code: 56.54% (+0.23%, +26400 bytes)

✅ 52 new matches
Unit Function Bytes Before After
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::core_escape() +1773 0.23% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::draw() +1445 0.28% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::normal_wait() +1380 0.29% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::rebound() +1333 0.30% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::core_damage() +1329 0.30% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::egg_wait() +1305 0.31% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::create() +1281 0.31% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::walk() +1248 0.32% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::damage() +1004 0.40% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::damage_check() +1000 0.40% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::walk2() +960 0.41% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::cc_set() +896 0.44% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::normal_chase() +812 0.49% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::egg_damage() +688 0.58% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::execute() +588 0.68% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::mtx_set() +576 0.69% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::pechanko_damage() +552 0.72% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::appear() +545 0.73% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::CreateHeap() +516 0.77% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::hook() +508 0.78% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::dead_wait() +477 0.83% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::chaseCheck() +468 0.85% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::core_wait() +448 0.88% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::core_pechanko_damage() +421 0.94% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::core_piku() +404 0.98% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::action() +368 1.08% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::core_delwait() +321 1.23% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::wait() +292 1.35% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::_delete() +292 1.35% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::create_item() +237 1.67% 100.00%

...and 22 more new matches


Report for GZ2P01 (818dec8 - 665f62d)

📈 Matched code: 85.03% (+0.22%, +25348 bytes)

✅ 52 new matches
Unit Function Bytes Before After
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::core_escape() +1773 0.23% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::draw() +1445 0.28% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::normal_wait() +1380 0.29% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::rebound() +1333 0.30% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::core_damage() +1329 0.30% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::egg_wait() +1305 0.31% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::create() +1281 0.31% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::walk() +1248 0.32% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::damage() +1004 0.40% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::damage_check() +1000 0.40% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::walk2() +960 0.41% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::cc_set() +896 0.44% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::normal_chase() +812 0.49% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::egg_damage() +688 0.58% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::execute() +588 0.68% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::mtx_set() +576 0.69% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::pechanko_damage() +552 0.72% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::appear() +545 0.73% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::CreateHeap() +516 0.77% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::hook() +508 0.78% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::dead_wait() +477 0.83% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::chaseCheck() +468 0.85% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::core_wait() +448 0.88% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::core_pechanko_damage() +421 0.94% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::core_piku() +404 0.98% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::action() +368 1.08% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::core_delwait() +321 1.23% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::wait() +292 1.35% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::_delete() +292 1.35% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::create_item() +237 1.67% 100.00%

...and 22 more new matches


Report for GZ2J01 (818dec8 - 665f62d)

📈 Matched code: 83.81% (+0.22%, +25348 bytes)
📈 Linked code: 52.36% (+0.23%, +26400 bytes)

✅ 52 new matches
Unit Function Bytes Before After
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::core_escape() +1773 0.23% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::draw() +1445 0.28% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::normal_wait() +1380 0.29% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::rebound() +1333 0.30% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::core_damage() +1329 0.30% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::egg_wait() +1305 0.31% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::create() +1281 0.31% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::walk() +1248 0.32% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::damage() +1004 0.40% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::damage_check() +1000 0.40% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::walk2() +960 0.41% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::cc_set() +896 0.44% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::normal_chase() +812 0.49% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::egg_damage() +688 0.58% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::execute() +588 0.68% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::mtx_set() +576 0.69% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::pechanko_damage() +552 0.72% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::appear() +545 0.73% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::CreateHeap() +516 0.77% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::hook() +508 0.78% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::dead_wait() +477 0.83% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::chaseCheck() +468 0.85% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::core_wait() +448 0.88% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::core_pechanko_damage() +421 0.94% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::core_piku() +404 0.98% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::action() +368 1.08% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::core_delwait() +321 1.23% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::wait() +292 1.35% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::_delete() +292 1.35% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::create_item() +237 1.67% 100.00%

...and 22 more new matches


Report for ShieldD (818dec8 - 665f62d)

📈 Matched code: 19.38% (+0.01%, +2188 bytes)

✅ 22 new matches
Unit Function Bytes Before After
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::execute() +529 0.75% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::action() +349 1.14% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::core_delwait() +301 1.32% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::setAction(void (daE_GM_c::*)()) +160 2.44% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::setEggBreakEffect() +120 3.23% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::daE_GM_c() +116 0.00% 100.00%
d_a_e_gm/d/actor/d_a_e_gm __sinit_\d_a_e_gm_cpp +92 0.00% 100.00%
d_a_e_gm/d/actor/d_a_e_gm fopEn_enemy_c::fopEn_enemy_c() +68 0.00% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::checkAction(void (daE_GM_c::*)()) +60 0.00% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::checkOldAction(void (daE_GM_c::*)()) +60 0.00% 100.00%
d_a_e_gm/d/actor/d_a_e_gm dCcU_AtInfo::dCcU_AtInfo() +52 0.00% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_Draw(daE_GM_c*) +36 10.00% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_Execute(daE_GM_c*) +36 10.00% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_Delete(daE_GM_c*) +36 10.00% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_Create(daE_GM_c*) +36 10.00% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daCstatue_c::checkBossAtGroundHit() const +32 0.00% 100.00%
d_a_e_gm/d/actor/d_a_e_gm daPy_py_c::getDamageWaitTimer() const +12 0.00% 100.00%
d_a_e_gm/d/actor/d_a_e_gm fopAcM_SetCullSize(fopAc_ac_c*, int) +12 0.00% 100.00%
d_a_e_gm/d/actor/d_a_e_gm fopAcM_GetLinkId(const fopAc_ac_c*) +8 0.00% 100.00%
d_a_b_gm/d/actor/d_a_b_gm daE_GM_c::InstantKill() +1 99.67% 100.00%
d_a_b_gm/d/actor/d_a_b_gm daE_GM_c::MoveStart(unsigned char) +1 99.60% 100.00%
d_a_b_gm/d/actor/d_a_b_gm daE_GM_c::CheckDeath() +1 99.50% 100.00%
📈 31 improvements in unmatched functions
Unit Function Bytes Before After
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::rebound() +1567 0.25% 96.45%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::egg_wait() +1565 0.25% 96.67%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::draw() +1364 0.27% 93.97%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::core_escape() +1359 0.29% 99.34%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::create() +1355 0.29% 98.24%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::core_damage() +1344 0.29% 98.18%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::normal_wait() +1176 0.33% 98.06%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::damage_check() +1169 0.31% 90.74%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::walk() +1151 0.34% 99.25%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::damage() +987 0.40% 99.96%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::normal_chase() +891 0.44% 99.52%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::walk2() +755 0.52% 97.69%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::cc_set() +727 0.52% 94.09%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::egg_damage() +718 0.53% 95.56%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::CreateHeap() +591 0.67% 99.89%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::hook() +579 0.68% 99.93%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::appear() +568 0.69% 99.17%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::mtx_set() +544 0.68% 93.14%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::pechanko_damage() +524 0.75% 99.08%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::core_wait() +459 0.84% 97.40%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::dead_wait() +435 0.91% 99.98%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::core_pechanko_damage() +431 0.91% 98.94%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::core_piku() +395 0.98% 97.89%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::wait() +315 1.25% 99.97%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::_delete() +275 1.37% 95.73%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::create_item() +248 1.45% 91.35%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::chaseCheck() +191 1.79% 87.04%
d_a_e_gm/d/actor/d_a_e_gm s_obj_sub2(void*, void*) +140 1.89% 67.83%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_HIO_c::daE_GM_HIO_c() +104 2.63% 70.47%
d_a_e_gm/d/actor/d_a_e_gm daE_GM_c::setDeathLightEffect() +74 3.70% 71.41%

...and 1 more improvements in unmatched functions

@carter-ktb21 carter-ktb21 marked this pull request as draft September 18, 2025 15:29
@carter-ktb21 carter-ktb21 changed the title d_a_e_gm matching d_a_e_gm equivalent Sep 18, 2025
@carter-ktb21 carter-ktb21 marked this pull request as ready for review September 18, 2025 15:43
mMode = 3;
} else {
field_0xa68 = 1;
lbl_195_bss_AE = 1;
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.

Suggested change
lbl_195_bss_AE = 1;
lbl_195_bss_AF = 1;

mSph.SetTgType(0);
mSph.SetAtType(AT_TYPE_0);
field_0xa68 = 2;
lbl_195_bss_AE = 1;
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.

Suggested change
lbl_195_bss_AE = 1;
lbl_195_bss_AF = 1;

}

if (field_0xa6c == 0) {
if (player->getDamageWaitTimer() != 0 || field_0xa72 != 0 || lbl_195_bss_AE != 0) {
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.

Suggested change
if (player->getDamageWaitTimer() != 0 || field_0xa72 != 0 || lbl_195_bss_AE != 0) {
if (player->getDamageWaitTimer() != 0 || field_0xa72 != 0 || lbl_195_bss_AC != 0) {

damage_check();
action();

if (l_hitActorID == fopAcM_GetID(this)) {
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.

Suggested change
if (l_hitActorID == fopAcM_GetID(this)) {
if (l_coreActorID == fopAcM_GetID(this)) {

@caseif
Copy link
Copy Markdown
Contributor

caseif commented Sep 18, 2025

There were some incorrect .bss/.data references that were messing up the relocation table - not sure why objdiff doesn't pick up on them. In any case this should match now for US and JP with the above changes.

@carter-ktb21 carter-ktb21 changed the title d_a_e_gm equivalent d_a_e_gm matching Sep 19, 2025
@hatal175 hatal175 merged commit 5f70650 into zeldaret:main Sep 20, 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.

3 participants