Skip to content

DolphinCSkinnedModel 99% & CSkinnedModelWithAvgNormals 96%#51

Merged
encounter merged 2 commits intomainfrom
model
Mar 27, 2026
Merged

DolphinCSkinnedModel 99% & CSkinnedModelWithAvgNormals 96%#51
encounter merged 2 commits intomainfrom
model

Conversation

@encounter
Copy link
Copy Markdown
Member

No description provided.

@decomp-dev
Copy link
Copy Markdown

decomp-dev bot commented Mar 27, 2026

Report for GM8E01_48 (484417b - a50d08e)

📈 Matched code: 11.40% (+0.02%, +724 bytes)
📈 Matched data: 9.85% (+0.00%, +16 bytes)

✅ 5 new matches
Unit Item Bytes Before After
main/Kyoto/Animation/CSkinnedModelWithAvgNormals rstl::vector<rstl::pair<CVector3f, rstl::list<unsigned int, rstl::rmemory_allocator>>, rstl::rmemory_allocator>::reserve(int) +224 0.00% 100.00%
main/Kyoto/Animation/DolphinCSkinnedModel Skinning::AddSkinnedRef() +183 46.34% 100.00%
main/Kyoto/Animation/DolphinCSkinnedModel Skinning::DelSkinnedRef() +31 81.07% 100.00%
main/Kyoto/Animation/DolphinCSkinnedModel .rodata +8 0.00% 100.00%
main/Kyoto/Animation/CSkinnedModelWithAvgNormals .rodata +8 0.00% 100.00%
📈 2 improvements in unmatched items
Unit Item Bytes Before After
main/Kyoto/Animation/CSkinnedModelWithAvgNormals CSkinnedModelWithAvgNormals::CSkinnedModelWithAvgNormals(const CSkinnedModel&) +851 0.00% 99.00%
main/Kyoto/Animation/CSkinnedModelWithAvgNormals .sdata2 +4 0.00% 50.00%
📉 1 regression in an unmatched item
Unit Item Bytes Before After
main/Kyoto/Animation/DolphinCSkinnedModel .sbss -1 10.53% 8.00%

Report for GM8E01_01 (484417b - a50d08e)

📈 Matched code: 33.98% (+0.05%, +2100 bytes)
📈 Matched data: 13.58% (+0.00%, +16 bytes)

✅ 13 new matches
Unit Item Bytes Before After
main/Kyoto/Animation/DolphinCSkinnedModel CSkinnedModel::EnsureAllocation(int) +388 0.00% 100.00%
main/Kyoto/Animation/DolphinCSkinnedModel CSkinnedModel::AllocateStorage() +384 0.00% 100.00%
main/Kyoto/Animation/DolphinCSkinnedModel CSkinnedModel::~CSkinnedModel() +232 0.00% 100.00%
main/Kyoto/Animation/DolphinCSkinnedModel CSkinnedModel::CalculateDefault() +224 0.00% 100.00%
main/Kyoto/Animation/CSkinnedModelWithAvgNormals rstl::vector<rstl::pair<CVector3f, rstl::list<unsigned int, rstl::rmemory_allocator>>, rstl::rmemory_allocator>::reserve(int) +224 0.00% 100.00%
main/Kyoto/Animation/DolphinCSkinnedModel CSkinnedModel::CSkinnedModel(const TLockedToken<CModel>&, const TLockedToken<CSkinRules>&, const TLockedToken<CCharLayoutInfo>&, CSkinnedModel::EDataOwnership) +212 0.00% 100.00%
main/Kyoto/Animation/DolphinCSkinnedModel CSkinnedModel::CSkinnedModel(const CSkinnedModel&) +212 0.00% 100.00%
main/Kyoto/Animation/DolphinCSkinnedModel CSkinnedModel::TickAllocations() +168 0.00% 100.00%
main/Kyoto/Animation/DolphinCSkinnedModel CSkinnedModel::RemoveDummySkinnedModelRef() +32 0.00% 100.00%
main/Kyoto/Animation/DolphinCSkinnedModel CSkinnedModel::SetPointGeneratorFunc(void*, void (*)(void*, const CVector3f*, const CVector3f*, int)) +12 0.00% 100.00%
main/Kyoto/Animation/DolphinCSkinnedModel CSkinnedModel::ClearPointGeneratorFunc() +12 0.00% 100.00%
main/Kyoto/Animation/DolphinCSkinnedModel .rodata +8 0.00% 100.00%
main/Kyoto/Animation/CSkinnedModelWithAvgNormals .rodata +8 0.00% 100.00%
📈 6 improvements in unmatched items
Unit Item Bytes Before After
main/Kyoto/Animation/CSkinnedModelWithAvgNormals CSkinnedModelWithAvgNormals::CSkinnedModelWithAvgNormals(const CSkinnedModel&) +851 0.00% 99.00%
main/Kyoto/Animation/DolphinCSkinnedModel CSkinnedModel::Calculate(const CPoseAsTransforms&, const rstl::optional_object<CVertexMorphEffect>&, const float*, float*) +492 0.00% 99.31%
main/MetroidPrime/Enemies/CPuddleSpore CElementGen::CElementGen(const CElementGen&) +75 79.20% 83.71%
main/Kyoto/Animation/DolphinCSkinnedModel .data +13 0.00% 85.71%
main/MetroidPrime/CAnimData CAnimData::CAnimData(unsigned int, const CCharacterInfo&, int, int, bool, const TLockedToken<CCharLayoutInfo>&, const TToken<CSkinnedModel>&, const rstl::optional_object<TLockedToken<CSkinnedModelWithAvgNormals>>&, const rstl::ncrc_ptr<CAnimSysContext>&, const rstl::rc_ptr<CAnimationManager>&, const rstl::rc_ptr<CTransitionManager>&, const TLockedToken<CCharacterFactory>&) +8 57.30% 57.63%
main/Kyoto/Animation/CSkinnedModelWithAvgNormals .sdata2 +4 0.00% 50.00%
📉 1 regression in an unmatched item
Unit Item Bytes Before After
main/Kyoto/Animation/DolphinCSkinnedModel .sbss -1 10.53% 8.00%

Report for GM8E01_00 (484417b - a50d08e)

📈 Matched code: 35.26% (+0.10%, +4060 bytes)
📈 Matched data: 32.03% (+0.00%, +40 bytes)

✅ 28 new matches
Unit Item Bytes Before After
main/Kyoto/Animation/DolphinCSkinnedModel CSkinnedModel::EnsureAllocation(int) +388 0.00% 100.00%
main/Kyoto/Animation/DolphinCSkinnedModel CSkinnedModel::AllocateStorage() +384 0.00% 100.00%
main/Kyoto/Animation/DolphinCSkinnedModel CSkinnedModel::Construct() +348 0.00% 100.00%
main/Kyoto/Animation/DolphinCSkinnedModel CSkinnedModel::~CSkinnedModel() +232 0.00% 100.00%
main/Kyoto/Animation/DolphinCSkinnedModel CSkinnedModel::CalculateDefault() +224 0.00% 100.00%
main/Kyoto/Animation/CSkinnedModelWithAvgNormals rstl::vector<rstl::pair<CVector3f, rstl::list<unsigned int, rstl::rmemory_allocator>>, rstl::rmemory_allocator>::reserve(int) +224 0.00% 100.00%
main/Kyoto/Animation/DolphinCSkinnedModel CSkinnedModel::CSkinnedModel(const TLockedToken<CModel>&, const TLockedToken<CSkinRules>&, const TLockedToken<CCharLayoutInfo>&, CSkinnedModel::EDataOwnership) +212 0.00% 100.00%
main/Kyoto/Animation/DolphinCSkinnedModel CSkinnedModel::CSkinnedModel(const CSkinnedModel&) +212 0.00% 100.00%
main/Kyoto/Animation/DolphinCSkinnedModel CSkinnedModel::Draw(const CModelFlags&) const +188 0.00% 100.00%
main/Kyoto/Animation/DolphinCSkinnedModel Skinning::AddSkinnedRef() +183 46.34% 100.00%
main/Kyoto/Animation/DolphinCSkinnedModel CSkinnedModel::TickAllocations() +168 0.00% 100.00%
main/Kyoto/Animation/DolphinCSkinnedModel CSkinnedModel::AllocateNewWorkspace(float**) +160 0.00% 100.00%
main/Kyoto/Animation/CSkinnedModelWithAvgNormals rstl::list<unsigned int, rstl::rmemory_allocator>::do_erase(rstl::list<unsigned int, rstl::rmemory_allocator>::node*) +124 0.00% 100.00%
main/Kyoto/Animation/CSkinnedModelWithAvgNormals rstl::vector<rstl::pair<CVector3f, rstl::list<unsigned int, rstl::rmemory_allocator>>, rstl::rmemory_allocator>::push_back(const rstl::pair<CVector3f, rstl::list<unsigned int, rstl::rmemory_allocator>>&) +124 0.00% 100.00%
main/Kyoto/Animation/CSkinnedModelWithAvgNormals rstl::list<unsigned int, rstl::rmemory_allocator>::~list() +120 0.00% 100.00%
main/Kyoto/Animation/CSkinnedModelWithAvgNormals rstl::uninitialized_copy<rstl::pointer_iterator<rstl::pair<CVector3f, rstl::list<unsigned int, rstl::rmemory_allocator>>, rstl::vector<rstl::pair<CVector3f, rstl::list<unsigned int, rstl::rmemory_allocator>>, rstl::rmemory_allocator>, rstl::rmemory_allocator>, rstl::pair<CVector3f, rstl::list<unsigned int, rstl::rmemory_allocator>>*>(rstl::pointer_iterator<rstl::pair<CVector3f, rstl::list<unsigned int, rstl::rmemory_allocator>>, rstl::vector<rstl::pair<CVector3f, rstl::list<unsigned int, rstl::rmemory_allocator>>, rstl::rmemory_allocator>, rstl::rmemory_allocator>, rstl::pointer_iterator<rstl::pair<CVector3f, rstl::list<unsigned int, rstl::rmemory_allocator>>, rstl::vector<rstl::pair<CVector3f, rstl::list<unsigned int, rstl::rmemory_allocator>>, rstl::rmemory_allocator>, rstl::rmemory_allocator>, rstl::pair<CVector3f, rstl::list<unsigned int, rstl::rmemory_allocator>>*) +104 0.00% 100.00%
main/Kyoto/Animation/CSkinnedModelWithAvgNormals rstl::pair<CVector3f, rstl::list<unsigned int, rstl::rmemory_allocator>>::pair(const rstl::pair<CVector3f, rstl::list<unsigned int, rstl::rmemory_allocator>>&) +84 0.00% 100.00%
main/Kyoto/Animation/CSkinnedModelWithAvgNormals rstl::pair<CVector3f, rstl::list<unsigned int, rstl::rmemory_allocator>>::pair(const CVector3f&, const rstl::list<unsigned int, rstl::rmemory_allocator>&) +80 0.00% 100.00%
main/Kyoto/Animation/DolphinCSkinnedModel CSkinnedModel::Draw(const float*, const float*, const CModelFlags&) const +56 0.00% 100.00%
main/Kyoto/Animation/CSkinnedModelWithAvgNormals rstl::construct<rstl::pair<CVector3f, rstl::list<unsigned int, rstl::rmemory_allocator>>>(void*, const rstl::pair<CVector3f, rstl::list<unsigned int, rstl::rmemory_allocator>>&) +40 0.00% 100.00%
main/Kyoto/Animation/DolphinCSkinnedModel CSkinnedModel::AddDummySkinnedModelRef() +32 0.00% 100.00%
main/Kyoto/Animation/DolphinCSkinnedModel CSkinnedModel::RemoveDummySkinnedModelRef() +32 0.00% 100.00%
main/Kyoto/Animation/DolphinCSkinnedModel Skinning::DelSkinnedRef() +31 81.07% 100.00%
main/Kyoto/Animation/DolphinCSkinnedModel .sbss +17 31.82% 100.00%
main/Kyoto/Animation/DolphinCSkinnedModel CSkinnedModel::SetPointGeneratorFunc(void*, void (*)(void*, const CVector3f*, const CVector3f*, int)) +12 0.00% 100.00%
main/Kyoto/Animation/DolphinCSkinnedModel CSkinnedModel::ClearPointGeneratorFunc() +12 0.00% 100.00%
main/Kyoto/Animation/DolphinCSkinnedModel .rodata +8 0.00% 100.00%
main/Kyoto/Animation/CSkinnedModelWithAvgNormals .rodata +8 0.00% 100.00%
📈 11 improvements in unmatched items
Unit Item Bytes Before After
main/Kyoto/Animation/CSkinnedModelWithAvgNormals CSkinnedModelWithAvgNormals::CSkinnedModelWithAvgNormals(const CSkinnedModel&) +851 0.00% 99.00%
main/Kyoto/Animation/DolphinCSkinnedModel CSkinnedModel::Calculate(const CPoseAsTransforms&, const rstl::optional_object<CVertexMorphEffect>&, const float*, float*) +492 0.00% 99.31%
main/Kyoto/Animation/DolphinCSkinnedModel CSkinnedModel::DoDrawCallback(void (*)(const float*, const float*, const void*), void*) +319 0.00% 98.70%
main/Kyoto/Animation/DolphinCSkinnedModel CSkinnedModel::PostDrawFunc() const +262 0.00% 97.99%
main/Kyoto/Animation/CSkinnedModelWithAvgNormals rstl::list<unsigned int, rstl::rmemory_allocator>::insert<rstl::list<unsigned int, rstl::rmemory_allocator>::const_iterator>(const rstl::list<unsigned int, rstl::rmemory_allocator>::iterator&, rstl::list<unsigned int, rstl::rmemory_allocator>::const_iterator, rstl::list<unsigned int, rstl::rmemory_allocator>::const_iterator) +178 0.00% 99.33%
main/Kyoto/Animation/CSkinnedModelWithAvgNormals rstl::list<unsigned int, rstl::rmemory_allocator>::destroy_helper::~destroy_helper() +138 0.00% 99.14%
main/Kyoto/Animation/CSkinnedModelWithAvgNormals rstl::list<unsigned int, rstl::rmemory_allocator>::list(const rstl::list<unsigned int, rstl::rmemory_allocator>&) +90 0.00% 59.32%
main/MetroidPrime/Enemies/CPuddleSpore CElementGen::CElementGen(const CElementGen&) +75 79.20% 83.71%
main/Kyoto/Animation/DolphinCSkinnedModel .data +14 0.00% 88.57%
main/MetroidPrime/CAnimData CAnimData::CAnimData(unsigned int, const CCharacterInfo&, int, int, bool, const TLockedToken<CCharLayoutInfo>&, const TToken<CSkinnedModel>&, const rstl::optional_object<TLockedToken<CSkinnedModelWithAvgNormals>>&, const rstl::ncrc_ptr<CAnimSysContext>&, const rstl::rc_ptr<CAnimationManager>&, const rstl::rc_ptr<CTransitionManager>&, const TLockedToken<CCharacterFactory>&) +8 57.30% 57.63%
main/Kyoto/Animation/CSkinnedModelWithAvgNormals .sdata2 +4 0.00% 50.00%

@encounter encounter merged commit cef20cc into main Mar 27, 2026
6 checks passed
@encounter encounter deleted the model branch March 27, 2026 20:25
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