Skip to content

Decompiling ActorHeart#41

Draft
Alessevan wants to merge 7 commits intozeldaret:mainfrom
Alessevan:feat/actor/heart
Draft

Decompiling ActorHeart#41
Alessevan wants to merge 7 commits intozeldaret:mainfrom
Alessevan:feat/actor/heart

Conversation

@Alessevan
Copy link
Copy Markdown
Contributor

Beginning the decompilation of ActorHeart.

@decomp-dev
Copy link
Copy Markdown

decomp-dev Bot commented Apr 5, 2026

Report for jp (a12d3af - 2cf9884)

📈 Matched code: 2.82% (+0.01%, +668 bytes)
📈 Matched data: 22.98% (+0.02%, +264 bytes)

✅ 25 new matches
Unit Item Bytes Before After
src/031_Land/Actor/ActorHeart .data +264 0.00% 100.00%
src/031_Land/Actor/ActorHeart .init +108 0.00% 100.00%
src/031_Land/Actor/ActorHeart __sinit_ActorHeart.cpp +108 0.00% 100.00%
src/031_Land/Actor/ActorHeart ActorHeart::func_ov031_020ef1b4(short) +84 0.00% 100.00%
src/031_Land/Actor/ActorHeart .bss +76 0.00% 100.00%
src/031_Land/Actor/ActorHeart ActorHeart::func_ov031_020ef35c() +68 0.00% 100.00%
src/031_Land/Actor/ActorHeart ActorProfileHeart::ActorProfileHeart() +64 0.00% 100.00%
src/031_Land/Actor/ActorHeart ActorHeart_c4::ActorHeart_c4(Actor*) +56 0.00% 100.00%
src/031_Land/Actor/ActorHeart ActorHeart::func_ov031_020ef2f8() +40 0.00% 100.00%
src/031_Land/Actor/ActorHeart ActorHeart::func_ov031_020ef334() +40 0.00% 100.00%
src/031_Land/Actor/ActorHeart ActorHeart_c4::vfunc_0c(int) +40 0.00% 100.00%
src/031_Land/Actor/ActorHeart ActorHeart_c4::vfunc_04() +32 0.00% 100.00%
src/031_Land/Actor/ActorHeart ActorHeart_c4::vfunc_08() +28 0.00% 100.00%
src/031_Land/Actor/ActorHeart ActorHeart::~ActorHeart() +28 0.00% 100.00%
src/031_Land/Actor/ActorHeart ActorHeart::func_ov031_020ef3a0() +24 0.00% 100.00%
src/031_Land/Actor/ActorHeart ActorHeart::func_ov031_020ef320() +20 0.00% 100.00%
src/031_Land/Actor/ActorHeart ActorHeart::func_ov031_020ef430() +20 0.00% 100.00%
src/031_Land/Actor/ActorHeart ActorHeart::~ActorHeart() +20 0.00% 100.00%
src/031_Land/Actor/ActorHeart ActorProfileHeart::~ActorProfileHeart() +20 0.00% 100.00%
src/031_Land/Actor/ActorHeart ActorHeart::vfunc_18(int) +16 0.00% 100.00%
src/031_Land/Actor/ActorHeart ActorHeart::func_ov031_020ef448() +16 0.00% 100.00%
src/031_Land/Actor/ActorHeart ActorProfileHeart::GetProfile() +12 0.00% 100.00%
src/031_Land/Actor/ActorHeart ActorHeart::func_ov031_020ef2ec() +12 0.00% 100.00%
src/031_Land/Actor/ActorHeart .ctor +4 0.00% 100.00%
src/031_Land/Actor/ActorHeart ActorHeart::func_ov031_020ef444() +4 0.00% 100.00%
🥀 7 broken matches
Unit Item Bytes Before After
src/031_Land/Actor/ActorUnkHERT .bss -76 100.00% 0.00%
src/031_Land/Actor/ActorUnkHERT ActorUnkHERT::~ActorUnkHERT() -28 100.00% 0.00%
src/031_Land/Actor/ActorUnkHERT ActorUnkHERT::~ActorUnkHERT() -20 100.00% 0.00%
src/031_Land/Actor/ActorUnkHERT ActorProfileUnkHERT::~ActorProfileUnkHERT() -20 100.00% 0.00%
src/031_Land/Actor/ActorUnkHERT ActorProfileUnkHERT::GetProfile() -12 100.00% 0.00%
src/031_Land/Actor/ActorUnkHERT .ctor -4 100.00% 0.00%
src/031_Land/Actor/ActorUnkHERT ActorUnkHERT::func_ov031_020ef444() -4 100.00% 0.00%
📈 14 improvements in unmatched items
Unit Item Bytes Before After
src/031_Land/Actor/ActorHeart ActorHeart::func_ov031_020ef208() +147 0.00% 64.56%
src/031_Land/Actor/ActorHeart ActorHeart::func_ov031_020ef4a8() +92 0.00% 72.03%
src/031_Land/Actor/ActorHeart ActorHeart::func_ov031_020ef3d0() +87 0.00% 91.62%
src/031_Land/Actor/ActorHeart ActorHeart::func_ov031_020ef458() +77 0.00% 97.00%
src/031_Land/Actor/ActorHeart ActorHeart::vfunc_20() +68 0.00% 9.54%
src/031_Land/Actor/ActorHeart ActorHeart::func_ov031_020ef528() +66 0.00% 75.18%
src/031_Land/Actor/ActorHeart ActorHeart::vfunc_2c(int) +65 0.00% 37.45%
src/031_Land/Actor/ActorHeart ActorHeart::func_ov031_020ef698() +64 0.00% 67.62%
src/031_Land/Actor/ActorHeart ActorHeart_c4::vfunc_00(Actor_c4_stack, int) +61 0.00% 90.00%
src/031_Land/Actor/ActorHeart ActorProfileHeart::Create() +35 0.00% 99.89%
src/031_Land/Actor/ActorHeart ActorHeart::ActorHeart() +29 0.00% 12.08%
src/031_Land/Actor/ActorHeart ActorHeart::func_ov031_020ef3b8() +21 0.00% 90.00%
src/031_Land/Actor/ActorHeart ActorHeart::func_ov031_020ef570() +19 0.00% 16.07%
src/031_Land/Actor/ActorHeart ActorHeart::func_ov031_020f0750() +4 0.00% 3.23%
📉 30 regressions in unmatched items
Unit Item Bytes Before After
src/031_Land/Actor/ActorUnkHERT .init -79 73.74% 0.00%
src/031_Land/Actor/ActorUnkHERT __sinit_ActorUnkHERT.cpp -79 73.74% 0.00%
src/031_Land/Actor/ActorUnkHERT ActorProfileUnkHERT::ActorProfileUnkHERT() -39 62.00% 0.00%
src/031_Land/Actor/ActorUnkHERT ActorProfileUnkHERT::Create() -35 99.89% 0.00%
src/031_Land/Actor/ActorUnkHERT ActorUnkHERT::ActorUnkHERT() -26 10.60% 0.00%
src/031_Land/Actor/ActorUnkHERT ActorUnkHERT::func_ov031_020ef320() -4 20.00% 0.00%
src/031_Land/Actor/ActorUnkHERT ActorUnkHERT::func_ov031_020ef430() -4 20.00% 0.00%
src/031_Land/Actor/ActorUnkHERT ActorUnkHERT::func_ov031_020ef448() -4 25.00% 0.00%
src/031_Land/Actor/ActorUnkHERT ActorUnkHERT::func_ov031_020ef2ec() -3 33.33% 0.00%
src/031_Land/Actor/ActorUnkHERT ActorUnkHERT::func_ov031_020ef35c() -3 5.88% 0.00%
src/031_Land/Actor/ActorUnkHERT ActorUnkHERT::func_ov031_020ef730() -3 5.88% 0.00%
src/031_Land/Actor/ActorUnkHERT ActorUnkHERT::func_ov031_020eeed8() -1 10.00% 0.00%
src/031_Land/Actor/ActorUnkHERT ActorUnkHERT::func_ov031_020eeee8() -1 0.22% 0.00%
src/031_Land/Actor/ActorUnkHERT ActorUnkHERT::func_ov031_020ef1b4() -1 1.90% 0.00%
src/031_Land/Actor/ActorUnkHERT ActorUnkHERT::func_ov031_020ef208() -1 0.70% 0.00%
src/031_Land/Actor/ActorUnkHERT ActorUnkHERT::func_ov031_020ef2f8() -1 4.00% 0.00%
src/031_Land/Actor/ActorUnkHERT ActorUnkHERT::func_ov031_020ef334() -1 4.00% 0.00%
src/031_Land/Actor/ActorUnkHERT ActorUnkHERT::func_ov031_020ef3a0() -1 6.67% 0.00%
src/031_Land/Actor/ActorUnkHERT ActorUnkHERT::func_ov031_020ef3b8() -1 6.67% 0.00%
src/031_Land/Actor/ActorUnkHERT ActorUnkHERT::func_ov031_020ef3d0() -1 1.67% 0.00%
src/031_Land/Actor/ActorUnkHERT ActorUnkHERT::func_ov031_020ef458() -1 2.00% 0.00%
src/031_Land/Actor/ActorUnkHERT ActorUnkHERT::func_ov031_020ef4a8() -1 1.25% 0.00%
src/031_Land/Actor/ActorUnkHERT ActorUnkHERT::func_ov031_020ef528() -1 1.82% 0.00%
src/031_Land/Actor/ActorUnkHERT ActorUnkHERT::func_ov031_020ef570() -1 1.33% 0.00%
src/031_Land/Actor/ActorUnkHERT ActorUnkHERT::func_ov031_020ef5e8() -1 0.91% 0.00%
src/031_Land/Actor/ActorUnkHERT ActorUnkHERT::func_ov031_020ef698() -1 1.67% 0.00%
src/031_Land/Actor/ActorUnkHERT ActorUnkHERT::func_ov031_020ef6f8() -1 2.86% 0.00%
src/031_Land/Actor/ActorUnkHERT ActorUnkHERT::func_ov031_020ef774() -1 5.00% 0.00%
src/031_Land/Actor/ActorUnkHERT ActorUnkHERT::func_ov031_020ef794() -1 4.00% 0.00%
src/031_Land/Actor/ActorUnkHERT ActorUnkHERT::func_ov031_020ef7bc() -1 5.71% 0.00%

Report for eur (a12d3af - 2cf9884)

📈 Matched code: 2.86% (+0.02%, +740 bytes)
📈 Matched data: 22.97% (+0.02%, +264 bytes)

✅ 26 new matches
Unit Item Bytes Before After
src/031_Land/Actor/ActorHeart .data +264 0.00% 100.00%
src/031_Land/Actor/ActorHeart .init +108 0.00% 100.00%
src/031_Land/Actor/ActorHeart __sinit_ActorHeart.cpp +108 0.00% 100.00%
src/031_Land/Actor/ActorHeart ActorHeart::func_ov031_020ef1b4(short) +84 0.00% 100.00%
src/031_Land/Actor/ActorHeart .bss +76 0.00% 100.00%
src/031_Land/Actor/ActorHeart ActorHeart::func_ov031_020ef528() +72 0.00% 100.00%
src/031_Land/Actor/ActorHeart ActorHeart::func_ov031_020ef35c() +68 0.00% 100.00%
src/031_Land/Actor/ActorHeart ActorProfileHeart::ActorProfileHeart() +64 0.00% 100.00%
src/031_Land/Actor/ActorHeart ActorHeart_c4::ActorHeart_c4(Actor*) +56 0.00% 100.00%
src/031_Land/Actor/ActorHeart ActorHeart::func_ov031_020ef2f8() +40 0.00% 100.00%
src/031_Land/Actor/ActorHeart ActorHeart::func_ov031_020ef334() +40 0.00% 100.00%
src/031_Land/Actor/ActorHeart ActorHeart_c4::vfunc_0c(int) +40 0.00% 100.00%
src/031_Land/Actor/ActorHeart ActorHeart_c4::vfunc_04() +32 0.00% 100.00%
src/031_Land/Actor/ActorHeart ActorHeart_c4::vfunc_08() +28 0.00% 100.00%
src/031_Land/Actor/ActorHeart ActorHeart::~ActorHeart() +28 0.00% 100.00%
src/031_Land/Actor/ActorHeart ActorHeart::func_ov031_020ef3a0() +24 0.00% 100.00%
src/031_Land/Actor/ActorHeart ActorHeart::func_ov031_020ef320() +20 0.00% 100.00%
src/031_Land/Actor/ActorHeart ActorHeart::func_ov031_020ef430() +20 0.00% 100.00%
src/031_Land/Actor/ActorHeart ActorHeart::~ActorHeart() +20 0.00% 100.00%
src/031_Land/Actor/ActorHeart ActorProfileHeart::~ActorProfileHeart() +20 0.00% 100.00%
src/031_Land/Actor/ActorHeart ActorHeart::vfunc_18(int) +16 0.00% 100.00%
src/031_Land/Actor/ActorHeart ActorHeart::func_ov031_020ef448() +16 0.00% 100.00%
src/031_Land/Actor/ActorHeart ActorProfileHeart::GetProfile() +12 0.00% 100.00%
src/031_Land/Actor/ActorHeart ActorHeart::func_ov031_020ef2ec() +12 0.00% 100.00%
src/031_Land/Actor/ActorHeart .ctor +4 0.00% 100.00%
src/031_Land/Actor/ActorHeart ActorHeart::func_ov031_020ef444() +4 0.00% 100.00%
🥀 7 broken matches
Unit Item Bytes Before After
src/031_Land/Actor/ActorUnkHERT .bss -76 100.00% 0.00%
src/031_Land/Actor/ActorUnkHERT ActorUnkHERT::~ActorUnkHERT() -28 100.00% 0.00%
src/031_Land/Actor/ActorUnkHERT ActorUnkHERT::~ActorUnkHERT() -20 100.00% 0.00%
src/031_Land/Actor/ActorUnkHERT ActorProfileUnkHERT::~ActorProfileUnkHERT() -20 100.00% 0.00%
src/031_Land/Actor/ActorUnkHERT ActorProfileUnkHERT::GetProfile() -12 100.00% 0.00%
src/031_Land/Actor/ActorUnkHERT .ctor -4 100.00% 0.00%
src/031_Land/Actor/ActorUnkHERT ActorUnkHERT::func_ov031_020ef444() -4 100.00% 0.00%
📈 13 improvements in unmatched items
Unit Item Bytes Before After
src/031_Land/Actor/ActorHeart ActorHeart::func_ov031_020ef208() +147 0.00% 64.56%
src/031_Land/Actor/ActorHeart ActorHeart::func_ov031_020ef4a8() +92 0.00% 72.03%
src/031_Land/Actor/ActorHeart ActorHeart::func_ov031_020ef3d0() +87 0.00% 91.62%
src/031_Land/Actor/ActorHeart ActorHeart::func_ov031_020ef458() +77 0.00% 97.00%
src/031_Land/Actor/ActorHeart ActorHeart::vfunc_20() +68 0.00% 9.54%
src/031_Land/Actor/ActorHeart ActorHeart::vfunc_2c(int) +65 0.00% 37.45%
src/031_Land/Actor/ActorHeart ActorHeart::func_ov031_020ef698() +64 0.00% 67.62%
src/031_Land/Actor/ActorHeart ActorHeart_c4::vfunc_00(Actor_c4_stack, int) +61 0.00% 90.00%
src/031_Land/Actor/ActorHeart ActorHeart::func_ov031_020eed64(int*, int, int) +42 0.00% 34.52%
src/031_Land/Actor/ActorHeart ActorProfileHeart::Create() +35 0.00% 99.89%
src/031_Land/Actor/ActorHeart ActorHeart::ActorHeart() +29 0.00% 12.08%
src/031_Land/Actor/ActorHeart ActorHeart::func_ov031_020ef3b8() +21 0.00% 90.00%
src/031_Land/Actor/ActorHeart ActorHeart::func_ov031_020ef570() +19 0.00% 16.07%
📉 31 regressions in unmatched items
Unit Item Bytes Before After
src/031_Land/Actor/ActorUnkHERT .init -79 73.74% 0.00%
src/031_Land/Actor/ActorUnkHERT __sinit_ActorUnkHERT.cpp -79 73.74% 0.00%
src/031_Land/Actor/ActorUnkHERT ActorProfileUnkHERT::ActorProfileUnkHERT() -39 62.00% 0.00%
src/031_Land/Actor/ActorUnkHERT ActorProfileUnkHERT::Create() -35 99.89% 0.00%
src/031_Land/Actor/ActorUnkHERT ActorUnkHERT::ActorUnkHERT() -26 10.60% 0.00%
src/031_Land/Actor/ActorUnkHERT ActorUnkHERT::func_ov031_020eed64() -4 3.23% 0.00%
src/031_Land/Actor/ActorUnkHERT ActorUnkHERT::func_ov031_020ef320() -4 20.00% 0.00%
src/031_Land/Actor/ActorUnkHERT ActorUnkHERT::func_ov031_020ef430() -4 20.00% 0.00%
src/031_Land/Actor/ActorUnkHERT ActorUnkHERT::func_ov031_020ef448() -4 25.00% 0.00%
src/031_Land/Actor/ActorUnkHERT ActorUnkHERT::func_ov031_020ef2ec() -3 33.33% 0.00%
src/031_Land/Actor/ActorUnkHERT ActorUnkHERT::func_ov031_020ef35c() -3 5.88% 0.00%
src/031_Land/Actor/ActorUnkHERT ActorUnkHERT::func_ov031_020ef730() -3 5.88% 0.00%
src/031_Land/Actor/ActorUnkHERT ActorUnkHERT::func_ov031_020eeed8() -1 10.00% 0.00%
src/031_Land/Actor/ActorUnkHERT ActorUnkHERT::func_ov031_020eeee8() -1 0.22% 0.00%
src/031_Land/Actor/ActorUnkHERT ActorUnkHERT::func_ov031_020ef1b4() -1 1.90% 0.00%
src/031_Land/Actor/ActorUnkHERT ActorUnkHERT::func_ov031_020ef208() -1 0.70% 0.00%
src/031_Land/Actor/ActorUnkHERT ActorUnkHERT::func_ov031_020ef2f8() -1 4.00% 0.00%
src/031_Land/Actor/ActorUnkHERT ActorUnkHERT::func_ov031_020ef334() -1 4.00% 0.00%
src/031_Land/Actor/ActorUnkHERT ActorUnkHERT::func_ov031_020ef3a0() -1 6.67% 0.00%
src/031_Land/Actor/ActorUnkHERT ActorUnkHERT::func_ov031_020ef3b8() -1 6.67% 0.00%
src/031_Land/Actor/ActorUnkHERT ActorUnkHERT::func_ov031_020ef3d0() -1 1.67% 0.00%
src/031_Land/Actor/ActorUnkHERT ActorUnkHERT::func_ov031_020ef458() -1 2.00% 0.00%
src/031_Land/Actor/ActorUnkHERT ActorUnkHERT::func_ov031_020ef4a8() -1 1.25% 0.00%
src/031_Land/Actor/ActorUnkHERT ActorUnkHERT::func_ov031_020ef528() -1 2.22% 0.00%
src/031_Land/Actor/ActorUnkHERT ActorUnkHERT::func_ov031_020ef570() -1 1.33% 0.00%
src/031_Land/Actor/ActorUnkHERT ActorUnkHERT::func_ov031_020ef5e8() -1 0.91% 0.00%
src/031_Land/Actor/ActorUnkHERT ActorUnkHERT::func_ov031_020ef698() -1 1.67% 0.00%
src/031_Land/Actor/ActorUnkHERT ActorUnkHERT::func_ov031_020ef6f8() -1 2.86% 0.00%
src/031_Land/Actor/ActorUnkHERT ActorUnkHERT::func_ov031_020ef774() -1 5.00% 0.00%
src/031_Land/Actor/ActorUnkHERT ActorUnkHERT::func_ov031_020ef794() -1 4.00% 0.00%

...and 1 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.

2 participants