Skip to content

Decompiling ActorUnkAROW#70

Draft
Alessevan wants to merge 91 commits into
zeldaret:mainfrom
Alessevan:feat/actor/shot_arrow
Draft

Decompiling ActorUnkAROW#70
Alessevan wants to merge 91 commits into
zeldaret:mainfrom
Alessevan:feat/actor/shot_arrow

Conversation

@Alessevan

Copy link
Copy Markdown
Contributor

Beginning the decompilation of ActorUnkAROW as ActorShotArrow.

@decomp-dev

decomp-dev Bot commented May 29, 2026

Copy link
Copy Markdown

Report for jp (d1e3be4 - c9cdb02)

📈 Matched code: 6.18% (+0.09%, +4276 bytes)

✅ 48 new matches
Unit Item Bytes Before After
src/031_Land/Actor/ActorShotArrow ActorShotArrow::ActorShotArrow() +492 0.00% 100.00%
src/031_Land/Actor/ActorShotArrow ActorShotArrow_194::func_ov031_020f374c(Actor*) +356 0.00% 100.00%
src/031_Land/Actor/ActorShotArrow ActorShotArrow::func_ov031_020f173c() +300 0.00% 100.00%
src/031_Land/Actor/ActorShotArrow ActorShotArrow::func_ov031_020f1e3c() +280 0.00% 100.00%
src/031_Land/Actor/ActorShotArrow ActorShotArrow::func_ov031_020f195c() +264 0.00% 100.00%
src/031_Land/Actor/ActorShotArrow ActorShotArrow::func_ov031_020f311c(Mat4x3p*) +244 0.00% 100.00%
src/031_Land/Actor/ActorShotArrow ActorShotArrow::func_ov031_020f1f54() +188 0.00% 100.00%
src/031_Land/Actor/ActorShotArrow ActorShotArrow::func_ov031_020f18bc() +156 0.00% 100.00%
src/031_Land/Actor/ActorShotArrow ActorShotArrow::~ActorShotArrow() +148 0.00% 100.00%
src/031_Land/Actor/ActorShotArrow ActorShotArrow::~ActorShotArrow() +140 0.00% 100.00%
src/031_Land/Actor/ActorShotArrow ActorShotArrow::func_ov031_020f2160() +124 0.00% 100.00%
src/031_Land/Actor/ActorShotArrow ActorShotArrow::func_ov031_020f20bc() +120 0.00% 100.00%
src/031_Land/Actor/ActorShotArrow ActorShotArrow::func_ov031_020f1dd4() +104 0.00% 100.00%
src/031_Land/Actor/ActorShotArrow ActorShotArrow::func_ov031_020f2f9c() +100 0.00% 100.00%
src/031_Land/Actor/ActorShotArrow ActorShotArrow::func_ov031_020f2010() +92 0.00% 100.00%
src/031_Land/Actor/ActorShotArrow ActorShotArrow::func_ov031_020f2214() +92 0.00% 100.00%
src/031_Land/Actor/ActorShotArrow ActorShotArrow::func_ov031_020f1c24() +88 0.00% 100.00%
src/031_Land/Actor/ActorShotArrow .init +80 0.00% 100.00%
src/031_Land/Actor/ActorShotArrow __sinit_ActorShotArrow.cpp +80 0.00% 100.00%
src/031_Land/Actor/ActorShotArrow ActorShotArrow::func_ov031_020f206c() +80 0.00% 100.00%
src/031_Land/Actor/ActorShotArrow .bss +76 0.00% 100.00%
src/031_Land/Actor/ActorShotArrow ActorShotArrow::func_ov031_020f3210(unsigned short) +72 0.00% 100.00%
src/031_Land/Actor/ActorShotArrow ActorProfileShotArrow::ActorProfileShotArrow() +68 0.00% 100.00%
src/031_Land/Actor/ActorShotArrow ActorShotArrow::func_ov031_020f2f5c(VecFx32*) +64 0.00% 100.00%
src/031_Land/Actor/ActorShotArrow ActorShotArrow_194::ActorShotArrow_194(ActorShotArrow*) +64 0.00% 100.00%
src/031_Land/Actor/ActorShotArrow ActorShotArrow::func_ov031_020f22d4(Mat3p*, VecFx32*) +60 0.00% 100.00%
src/031_Land/Actor/ActorShotArrow ActorShotArrow_178::ActorShotArrow_178(ActorShotArrow*) +60 0.00% 100.00%
src/031_Land/Actor/ActorShotArrow ActorShotArrow::func_ov031_020f21dc() +56 0.00% 100.00%
src/031_Land/Actor/ActorShotArrow ActorShotArrow::func_ov031_020f229c() +56 0.00% 100.00%
src/031_Land/Actor/ActorShotArrow ActorShotArrow::func_ov031_020f2b8c() +48 0.00% 100.00%

...and 18 more new matches

🥀 8 broken matches
Unit Item Bytes Before After
src/031_Land/Actor/ActorUnkAROW .init -80 100.00% 0.00%
src/031_Land/Actor/ActorUnkAROW __sinit_ActorUnkAROW.cpp -80 100.00% 0.00%
src/031_Land/Actor/ActorUnkAROW .bss -76 100.00% 0.00%
src/031_Land/Actor/ActorUnkAROW ActorProfileUnkAROW::~ActorProfileUnkAROW() -20 100.00% 0.00%
src/031_Land/Actor/ActorUnkAROW ActorProfileUnkAROW::GetProfile() -12 100.00% 0.00%
src/031_Land/Actor/ActorUnkAROW .ctor -4 100.00% 0.00%
src/031_Land/Actor/ActorUnkAROW ActorUnkAROW::func_ov031_020f1874() -4 100.00% 0.00%
src/031_Land/Actor/ActorUnkAROW ActorUnkAROW::func_ov031_020f1958() -4 100.00% 0.00%
📈 16 improvements in unmatched items
Unit Item Bytes Before After
src/031_Land/Actor/ActorShotArrow ActorShotArrow_194::vfunc_10(Actor*) +863 0.00% 95.58%
src/031_Land/Actor/ActorShotArrow ActorShotArrow::func_ov031_020f2310() +607 0.00% 72.62%
src/031_Land/Actor/ActorShotArrow ActorShotArrow::func_ov031_020f28ac() +566 0.00% 76.91%
src/031_Land/Actor/ActorShotArrow ActorShotArrow::func_ov031_020f1c7c() +342 0.00% 99.65%
src/031_Land/Actor/ActorShotArrow ActorShotArrow::func_ov031_020f1b04() +272 0.00% 94.57%
src/031_Land/Actor/ActorShotArrow ActorShotArrow_194::vfunc_0C(Actor*, VecFx32*) +203 0.00% 99.80%
src/031_Land/Actor/ActorShotArrow ActorShotArrow_178::vfunc_00(UnkStruct_ov031_020f3310 const*) +164 0.00% 95.58%
src/031_Land/Actor/ActorShotArrow ActorShotArrow::func_ov031_020f1a64() +154 0.00% 96.80%
src/031_Land/Actor/ActorShotArrow ActorShotArrow::func_ov031_020f2ef0() +94 0.00% 87.48%
src/031_Land/Actor/ActorShotArrow ActorShotArrow::func_ov031_020f3258(unsigned short) +43 0.00% 90.83%
src/075_BossLast2/Actor/ActorUnkMRD2 ActorProfileUnkMRD2::Create() +12 68.80% 99.90%
src/075_BossLast2/Actor/ActorUnkMRD2 ActorUnkMRD2::func_ov075_0215bbf0(ActorRef*, int*) +7 0.00% 8.29%
src/031_Land/Actor/ActorShotArrow ActorShotArrow_178::func_ov031_020f33bc() +3 0.00% 0.37%
src/031_Land/Actor/ActorShotArrow ActorShotArrow::func_ov031_020f2654(Mat3p*) +1 0.00% 0.50%
src/031_Land/Actor/ActorShotArrow ActorShotArrow::func_ov031_020f2cac(int*, int) +1 0.00% 0.28%
src/031_Land/Actor/ActorShotArrow ActorShotArrow::func_ov031_020f3000() +1 0.00% 0.56%
📉 59 regressions in unmatched items
Unit Item Bytes Before After
src/031_Land/Actor/ActorUnkAROW ActorProfileUnkAROW::ActorProfileUnkAROW() -39 58.29% 0.00%
src/031_Land/Actor/ActorUnkAROW ActorProfileUnkAROW::Create() -35 99.89% 0.00%
src/031_Land/Actor/ActorUnkAROW ActorUnkAROW::~ActorUnkAROW() -27 18.65% 0.00%
src/031_Land/Actor/ActorUnkAROW ActorUnkAROW::ActorUnkAROW() -26 5.38% 0.00%
src/031_Land/Actor/ActorUnkAROW ActorUnkAROW::~ActorUnkAROW() -19 14.00% 0.00%
src/031_Land/Actor/ActorUnkAROW ActorUnkAROW::func_ov031_020f2270() -4 25.00% 0.00%
src/031_Land/Actor/ActorUnkAROW ActorUnkAROW::func_ov031_020f370c() -4 6.25% 0.00%
src/031_Land/Actor/ActorUnkAROW ActorUnkAROW::func_ov031_020f1404() -3 16.67% 0.00%
src/031_Land/Actor/ActorUnkAROW ActorUnkAROW::func_ov031_020f1868() -3 33.33% 0.00%
src/031_Land/Actor/ActorUnkAROW ActorUnkAROW::func_ov031_020f2134() -3 8.64% 0.00%
src/031_Land/Actor/ActorUnkAROW ActorUnkAROW::func_ov031_020f21dc() -3 6.79% 0.00%
src/031_Land/Actor/ActorUnkAROW ActorUnkAROW::func_ov031_020f2280() -3 14.29% 0.00%
src/031_Land/Actor/ActorUnkAROW ActorUnkAROW::func_ov031_020f229c() -3 7.14% 0.00%
src/031_Land/Actor/ActorUnkAROW ActorUnkAROW::func_ov031_020f3258() -3 8.33% 0.00%
src/031_Land/Actor/ActorUnkAROW ActorUnkAROW::func_ov031_020f3304() -3 33.33% 0.00%
src/031_Land/Actor/ActorUnkAROW ActorUnkAROW::func_ov031_020f33bc() -3 0.37% 0.00%
src/075_BossLast2/Actor/ActorUnkMRD2 ActorUnkMRD2::func_ov075_0215bbf0() -3 4.17% 0.00%
src/031_Land/Actor/ActorUnkAROW ActorUnkAROW::func_ov031_020f1608() -1 8.00% 0.00%
src/031_Land/Actor/ActorUnkAROW ActorUnkAROW::func_ov031_020f173c() -1 0.53% 0.00%
src/031_Land/Actor/ActorUnkAROW ActorUnkAROW::func_ov031_020f1878() -1 2.35% 0.00%
src/031_Land/Actor/ActorUnkAROW ActorUnkAROW::func_ov031_020f18bc() -1 1.03% 0.00%
src/031_Land/Actor/ActorUnkAROW ActorUnkAROW::func_ov031_020f195c() -1 0.61% 0.00%
src/031_Land/Actor/ActorUnkAROW ActorUnkAROW::func_ov031_020f1a64() -1 1.00% 0.00%
src/031_Land/Actor/ActorUnkAROW ActorUnkAROW::func_ov031_020f1b04() -1 0.56% 0.00%
src/031_Land/Actor/ActorUnkAROW ActorUnkAROW::func_ov031_020f1c24() -1 1.82% 0.00%
src/031_Land/Actor/ActorUnkAROW ActorUnkAROW::func_ov031_020f1c7c() -1 0.47% 0.00%
src/031_Land/Actor/ActorUnkAROW ActorUnkAROW::func_ov031_020f1dd4() -1 1.54% 0.00%
src/031_Land/Actor/ActorUnkAROW ActorUnkAROW::func_ov031_020f1e3c() -1 0.57% 0.00%
src/031_Land/Actor/ActorUnkAROW ActorUnkAROW::func_ov031_020f1f54() -1 0.85% 0.00%
src/031_Land/Actor/ActorUnkAROW ActorUnkAROW::func_ov031_020f2010() -1 1.74% 0.00%

...and 29 more regressions in unmatched items


Report for eur (d1e3be4 - c9cdb02)

📈 Matched code: 6.22% (+0.10%, +4696 bytes)

✅ 51 new matches
Unit Item Bytes Before After
src/031_Land/Actor/ActorShotArrow ActorShotArrow::ActorShotArrow() +492 0.00% 100.00%
src/031_Land/Actor/ActorShotArrow ActorShotArrow_194::func_ov031_020f374c(Actor*) +356 0.00% 100.00%
src/031_Land/Actor/ActorShotArrow ActorShotArrow::func_ov031_020f173c() +300 0.00% 100.00%
src/031_Land/Actor/ActorShotArrow ActorShotArrow::func_ov031_020f1e3c() +280 0.00% 100.00%
src/031_Land/Actor/ActorShotArrow ActorShotArrow::func_ov031_020f2794(short) +280 0.00% 100.00%
src/031_Land/Actor/ActorShotArrow ActorShotArrow::func_ov031_020f195c() +264 0.00% 100.00%
src/031_Land/Actor/ActorShotArrow ActorShotArrow::func_ov031_020f311c(Mat4x3p*) +244 0.00% 100.00%
src/031_Land/Actor/ActorShotArrow ActorShotArrow::func_ov031_020f1f54() +188 0.00% 100.00%
src/031_Land/Actor/ActorShotArrow ActorShotArrow::func_ov031_020f18bc() +156 0.00% 100.00%
src/031_Land/Actor/ActorShotArrow ActorShotArrow::~ActorShotArrow() +148 0.00% 100.00%
src/031_Land/Actor/ActorShotArrow ActorShotArrow::~ActorShotArrow() +140 0.00% 100.00%
src/031_Land/Actor/ActorShotArrow ActorShotArrow::func_ov031_020f2160() +124 0.00% 100.00%
src/031_Land/Actor/ActorShotArrow ActorShotArrow::func_ov031_020f20bc() +120 0.00% 100.00%
src/031_Land/Actor/ActorShotArrow ActorShotArrow::func_ov031_020f1dd4() +104 0.00% 100.00%
src/031_Land/Actor/ActorShotArrow ActorShotArrow::func_ov031_020f2f9c() +100 0.00% 100.00%
src/031_Land/Actor/ActorShotArrow ActorShotArrow::func_ov031_020f2010() +92 0.00% 100.00%
src/031_Land/Actor/ActorShotArrow ActorShotArrow::func_ov031_020f2214() +92 0.00% 100.00%
src/031_Land/Actor/ActorShotArrow ActorShotArrow::func_ov031_020f1c24() +88 0.00% 100.00%
src/031_Land/Actor/ActorShotArrow .init +80 0.00% 100.00%
src/031_Land/Actor/ActorShotArrow __sinit_ActorShotArrow.cpp +80 0.00% 100.00%
src/031_Land/Actor/ActorShotArrow ActorShotArrow::func_ov031_020f206c() +80 0.00% 100.00%
src/031_Land/Actor/ActorShotArrow .bss +76 0.00% 100.00%
src/031_Land/Actor/ActorShotArrow ActorShotArrow::func_ov031_020f3210(unsigned short) +72 0.00% 100.00%
src/031_Land/Actor/ActorShotArrow ActorShotArrow::func_ov031_020f3d04(short) +72 0.00% 100.00%
src/031_Land/Actor/ActorShotArrow ActorProfileShotArrow::ActorProfileShotArrow() +68 0.00% 100.00%
src/031_Land/Actor/ActorShotArrow ActorShotArrow::func_ov031_020f1878(ActorShotArrowState_) +68 0.00% 100.00%
src/031_Land/Actor/ActorShotArrow ActorShotArrow::func_ov031_020f2f5c(VecFx32*) +64 0.00% 100.00%
src/031_Land/Actor/ActorShotArrow ActorShotArrow_194::ActorShotArrow_194(ActorShotArrow*) +64 0.00% 100.00%
src/031_Land/Actor/ActorShotArrow ActorShotArrow::func_ov031_020f22d4(Mat3p*, VecFx32*) +60 0.00% 100.00%
src/031_Land/Actor/ActorShotArrow ActorShotArrow_178::ActorShotArrow_178(ActorShotArrow*) +60 0.00% 100.00%

...and 21 more new matches

🥀 8 broken matches
Unit Item Bytes Before After
src/031_Land/Actor/ActorUnkAROW .init -80 100.00% 0.00%
src/031_Land/Actor/ActorUnkAROW __sinit_ActorUnkAROW.cpp -80 100.00% 0.00%
src/031_Land/Actor/ActorUnkAROW .bss -76 100.00% 0.00%
src/031_Land/Actor/ActorUnkAROW ActorProfileUnkAROW::~ActorProfileUnkAROW() -20 100.00% 0.00%
src/031_Land/Actor/ActorUnkAROW ActorProfileUnkAROW::GetProfile() -12 100.00% 0.00%
src/031_Land/Actor/ActorUnkAROW .ctor -4 100.00% 0.00%
src/031_Land/Actor/ActorUnkAROW ActorUnkAROW::func_ov031_020f1874() -4 100.00% 0.00%
src/031_Land/Actor/ActorUnkAROW ActorUnkAROW::func_ov031_020f1958() -4 100.00% 0.00%
📈 19 improvements in unmatched items
Unit Item Bytes Before After
src/031_Land/Actor/ActorShotArrow ActorShotArrow_194::vfunc_10(Actor*) +863 0.00% 95.58%
src/031_Land/Actor/ActorShotArrow ActorShotArrow::func_ov031_020f2310() +607 0.00% 72.62%
src/031_Land/Actor/ActorShotArrow ActorShotArrow::func_ov031_020f28ac() +566 0.00% 76.91%
src/031_Land/Actor/ActorShotArrow ActorShotArrow::func_ov031_020f1c7c() +342 0.00% 99.65%
src/031_Land/Actor/ActorShotArrow ActorShotArrow::func_ov031_020f1b04() +272 0.00% 94.57%
src/031_Land/Actor/ActorShotArrow .data +209 0.00% 60.19%
src/031_Land/Actor/ActorShotArrow ActorShotArrow_194::vfunc_0C(Actor*, VecFx32*) +203 0.00% 99.80%
src/031_Land/Actor/ActorShotArrow ActorShotArrow_178::vfunc_00(UnkStruct_ov031_020f3310 const*) +164 0.00% 95.58%
src/031_Land/Actor/ActorShotArrow ActorShotArrow::func_ov031_020f1a64() +154 0.00% 96.80%
src/031_Land/Actor/ActorShotArrow ActorShotArrow::func_ov031_020f2ef0() +94 0.00% 87.48%
src/031_Land/Actor/ActorShotArrow ActorShotArrow::func_ov031_020f3258(unsigned short) +43 0.00% 90.83%
src/075_BossLast2/Actor/ActorUnkMRD2 ActorProfileUnkMRD2::Create() +12 68.80% 99.90%
src/075_BossLast2/Actor/ActorUnkMRD2 ActorUnkMRD2::func_ov075_0215bbf0(ActorRef*, int*) +7 0.00% 8.29%
src/031_Land/Actor/ActorShotArrow ActorShotArrow_178::func_ov031_020f33bc() +3 0.00% 0.45%
src/084_BossFlame/Actor/ActorUnkIWTS ActorUnkIWTS::func_ov084_02153064(ActorRef*, Mat4x3p**) +1 0.00% 1.43%
src/031_Land/Actor/ActorShotArrow ActorShotArrow::func_ov031_020f2654(Mat3p*) +1 0.00% 0.50%
src/031_Land/Actor/ActorShotArrow ActorShotArrow::func_ov031_020f2c08(short) +1 0.00% 0.98%
src/031_Land/Actor/ActorShotArrow ActorShotArrow::func_ov031_020f2cac(int*, int) +1 0.00% 0.28%
src/031_Land/Actor/ActorShotArrow ActorShotArrow::func_ov031_020f3000() +1 0.00% 0.56%
📉 60 regressions in unmatched items
Unit Item Bytes Before After
src/031_Land/Actor/ActorUnkAROW ActorProfileUnkAROW::ActorProfileUnkAROW() -39 58.29% 0.00%
src/031_Land/Actor/ActorUnkAROW ActorProfileUnkAROW::Create() -35 99.89% 0.00%
src/031_Land/Actor/ActorUnkAROW ActorUnkAROW::~ActorUnkAROW() -27 18.65% 0.00%
src/031_Land/Actor/ActorUnkAROW ActorUnkAROW::ActorUnkAROW() -26 5.38% 0.00%
src/031_Land/Actor/ActorUnkAROW ActorUnkAROW::~ActorUnkAROW() -19 14.00% 0.00%
src/031_Land/Actor/ActorUnkAROW ActorUnkAROW::func_ov031_020f2270() -4 25.00% 0.00%
src/031_Land/Actor/ActorUnkAROW ActorUnkAROW::func_ov031_020f370c() -4 6.25% 0.00%
src/031_Land/Actor/ActorUnkAROW ActorUnkAROW::func_ov031_020f1404() -3 16.67% 0.00%
src/031_Land/Actor/ActorUnkAROW ActorUnkAROW::func_ov031_020f1868() -3 33.33% 0.00%
src/031_Land/Actor/ActorUnkAROW ActorUnkAROW::func_ov031_020f2134() -3 8.64% 0.00%
src/031_Land/Actor/ActorUnkAROW ActorUnkAROW::func_ov031_020f21dc() -3 6.79% 0.00%
src/031_Land/Actor/ActorUnkAROW ActorUnkAROW::func_ov031_020f2280() -3 14.29% 0.00%
src/031_Land/Actor/ActorUnkAROW ActorUnkAROW::func_ov031_020f229c() -3 7.14% 0.00%
src/031_Land/Actor/ActorUnkAROW ActorUnkAROW::func_ov031_020f3258() -3 8.33% 0.00%
src/031_Land/Actor/ActorUnkAROW ActorUnkAROW::func_ov031_020f3304() -3 33.33% 0.00%
src/031_Land/Actor/ActorUnkAROW ActorUnkAROW::func_ov031_020f33bc() -3 0.45% 0.00%
src/075_BossLast2/Actor/ActorUnkMRD2 ActorUnkMRD2::func_ov075_0215bbf0() -3 4.17% 0.00%
src/031_Land/Actor/ActorUnkAROW ActorUnkAROW::func_ov031_020f1608() -1 8.00% 0.00%
src/031_Land/Actor/ActorUnkAROW ActorUnkAROW::func_ov031_020f173c() -1 0.53% 0.00%
src/031_Land/Actor/ActorUnkAROW ActorUnkAROW::func_ov031_020f1878() -1 2.35% 0.00%
src/031_Land/Actor/ActorUnkAROW ActorUnkAROW::func_ov031_020f18bc() -1 1.03% 0.00%
src/031_Land/Actor/ActorUnkAROW ActorUnkAROW::func_ov031_020f195c() -1 0.61% 0.00%
src/031_Land/Actor/ActorUnkAROW ActorUnkAROW::func_ov031_020f1a64() -1 1.00% 0.00%
src/031_Land/Actor/ActorUnkAROW ActorUnkAROW::func_ov031_020f1b04() -1 0.56% 0.00%
src/031_Land/Actor/ActorUnkAROW ActorUnkAROW::func_ov031_020f1c24() -1 1.82% 0.00%
src/031_Land/Actor/ActorUnkAROW ActorUnkAROW::func_ov031_020f1c7c() -1 0.47% 0.00%
src/031_Land/Actor/ActorUnkAROW ActorUnkAROW::func_ov031_020f1dd4() -1 1.54% 0.00%
src/031_Land/Actor/ActorUnkAROW ActorUnkAROW::func_ov031_020f1e3c() -1 0.57% 0.00%
src/031_Land/Actor/ActorUnkAROW ActorUnkAROW::func_ov031_020f1f54() -1 0.85% 0.00%
src/031_Land/Actor/ActorUnkAROW ActorUnkAROW::func_ov031_020f2010() -1 1.74% 0.00%

...and 30 more regressions in unmatched items

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.

1 participant