Skip to content

CTeamAiMgr 96%#41

Merged
encounter merged 1 commit intomainfrom
teamai
Mar 13, 2026
Merged

CTeamAiMgr 96%#41
encounter merged 1 commit intomainfrom
teamai

Conversation

@encounter
Copy link
Member

No description provided.

@decomp-dev
Copy link

decomp-dev bot commented Mar 13, 2026

Report for GM8E01_48 (ef8103d - f7db7af)

No changes

Report for GM8E01_01 (ef8103d - f7db7af)

📈 Matched code: 29.56% (+0.24%, +9404 bytes)
📈 Matched data: 9.21% (+0.00%, +32 bytes)

✅ 58 new matches
Unit Item Bytes Before After
main/MetroidPrime/Enemies/CTeamAiMgr CTeamAiMgr::UpdateRoles(CStateManager&) +472 0.00% 100.00%
main/MetroidPrime/Enemies/CTeamAiMgr CTeamAiMgr::AssignTeamAiRole(const CAi&, int, int, int) +464 0.00% 100.00%
main/MetroidPrime/Enemies/CTeamAiMgr CTeamAiMgr::RemoveTeamAiRole(TUniqueId) +384 0.00% 100.00%
main/MetroidPrime/Enemies/CTeamAiMgr CTeamAiMgr::AddMeleeAttacker(TUniqueId) +380 0.00% 100.00%
main/MetroidPrime/Enemies/CTeamAiMgr CTeamAiMgr::AddProjectileAttacker(TUniqueId) +380 0.00% 100.00%
main/MetroidPrime/Enemies/CTeamAiMgr CTeamAiMgr::HasTeamAiRole(TUniqueId) const +308 0.00% 100.00%
main/MetroidPrime/Enemies/CTeamAiMgr CTeamAiMgr::CTeamAiMgr(TUniqueId, const rstl::basic_string<char, rstl::char_traits<char>, rstl::rmemory_allocator>&, const CEntityInfo&, const CTeamAiMgr::CUnknown&) +304 0.00% 100.00%
main/MetroidPrime/Enemies/CTeamAiMgr CTeamAiMgr::PositionTeam(CStateManager&) +296 0.00% 100.00%
main/MetroidPrime/Enemies/CTeamAiMgr CTeamAiMgr::ResetTeamAiRole(EAttackType, CStateManager&, TUniqueId, TUniqueId, bool) +288 0.00% 100.00%
main/MetroidPrime/Enemies/CTeamAiMgr CTeamAiMgr::GetTeamAiRole(TUniqueId) const +276 0.00% 100.00%
main/MetroidPrime/Enemies/CTeamAiMgr CTeamAiMgr::ClearTeamAiRole(TUniqueId) +276 0.00% 100.00%
main/MetroidPrime/Enemies/CTeamAiMgr CTeamAiMgr::IsPartOfTeam(TUniqueId) const +276 0.00% 100.00%
main/MetroidPrime/Enemies/CTeamAiMgr CTeamAiMgr::CanAcceptMeleeAttacker(TUniqueId) const +252 0.00% 100.00%
main/MetroidPrime/Enemies/CTeamAiMgr CTeamAiMgr::CanAcceptProjectileAttacker(TUniqueId) const +252 0.00% 100.00%
main/MetroidPrime/Enemies/CTeamAiMgr rstl::swap<CTeamAiRole>(CTeamAiRole&, CTeamAiRole&) +248 0.00% 100.00%
main/MetroidPrime/ScriptObjects/CScriptPlatform rstl::vector<SRiders, rstl::rmemory_allocator>::erase(rstl::pointer_iterator<SRiders, rstl::vector<SRiders, rstl::rmemory_allocator>, rstl::rmemory_allocator>, rstl::pointer_iterator<SRiders, rstl::vector<SRiders, rstl::rmemory_allocator>, rstl::rmemory_allocator>) +224 0.00% 100.00%
main/MetroidPrime/Enemies/CTeamAiMgr CTeamAiMgr::RemoveMeleeAttacker(TUniqueId) +224 0.00% 100.00%
main/MetroidPrime/Enemies/CTeamAiMgr CTeamAiMgr::RemoveProjectileAttacker(TUniqueId) +224 0.00% 100.00%
main/MetroidPrime/Enemies/CTeamAiMgr CTeamAiMgr::IsMeleeAttacker(TUniqueId) const +204 0.00% 100.00%
main/MetroidPrime/Enemies/CTeamAiMgr CTeamAiMgr::IsProjectileAttacker(TUniqueId) const +204 0.00% 100.00%
main/MetroidPrime/Enemies/CTeamAiMgr CTeamAiMgr::CanAcceptAttacker(EAttackType, CStateManager&, TUniqueId, TUniqueId) +200 0.00% 100.00%
main/MetroidPrime/Enemies/CTeamAiMgr CTeamAiMgr::AddAttacker(EAttackType, CStateManager&, TUniqueId, TUniqueId) +200 0.00% 100.00%
main/MetroidPrime/ScriptObjects/CScriptCameraHint rstl::vector<SConnection, rstl::rmemory_allocator>::erase(rstl::pointer_iterator<SConnection, rstl::vector<SConnection, rstl::rmemory_allocator>, rstl::rmemory_allocator>, rstl::pointer_iterator<SConnection, rstl::vector<SConnection, rstl::rmemory_allocator>, rstl::rmemory_allocator>) +180 0.00% 100.00%
main/MetroidPrime/Player/CStaticInterference rstl::vector<CStaticInterferenceSource, rstl::rmemory_allocator>::erase(rstl::pointer_iterator<CStaticInterferenceSource, rstl::vector<CStaticInterferenceSource, rstl::rmemory_allocator>, rstl::rmemory_allocator>, rstl::pointer_iterator<CStaticInterferenceSource, rstl::vector<CStaticInterferenceSource, rstl::rmemory_allocator>, rstl::rmemory_allocator>) +180 0.00% 100.00%
main/MetroidPrime/ScriptObjects/CScriptCameraHint CScriptCameraHint::CheckLegacyConnections(CStateManager&) +173 65.58% 100.00%
main/MetroidPrime/Enemies/CTeamAiMgr CTeamAiMgr::ResetRoles(CStateManager&) +172 0.00% 100.00%
main/MetroidPrime/ScriptObjects/CScriptRandomRelay rstl::vector<rstl::pair<CEntity*, EScriptObjectMessage>, rstl::rmemory_allocator>::erase(rstl::pointer_iterator<rstl::pair<CEntity*, EScriptObjectMessage>, rstl::vector<rstl::pair<CEntity*, EScriptObjectMessage>, rstl::rmemory_allocator>, rstl::rmemory_allocator>, rstl::pointer_iterator<rstl::pair<CEntity*, EScriptObjectMessage>, rstl::vector<rstl::pair<CEntity*, EScriptObjectMessage>, rstl::rmemory_allocator>, rstl::rmemory_allocator>) +156 0.00% 100.00%
main/MetroidPrime/Cameras/CCameraManager rstl::vector<TUniqueId, rstl::rmemory_allocator>::erase(rstl::pointer_iterator<TUniqueId, rstl::vector<TUniqueId, rstl::rmemory_allocator>, rstl::rmemory_allocator>, rstl::pointer_iterator<TUniqueId, rstl::vector<TUniqueId, rstl::rmemory_allocator>, rstl::rmemory_allocator>) +152 0.00% 100.00%
main/MetroidPrime/Enemies/CTeamAiMgr CTeamAiMgr::Think(float, CStateManager&) +144 0.00% 100.00%
main/MetroidPrime/Enemies/CTeamAiMgr CTeamAiMgr::ShouldUpdateRoles(float) +140 0.00% 100.00%

...and 28 more new matches

📈 24 improvements in unmatched items
Unit Item Bytes Before After
main/MetroidPrime/Enemies/CTeamAiMgr CTeamAiMgr::SpacingSort(CStateManager&, const CVector3f&) +810 0.00% 98.31%
main/Kyoto/Animation/CPASAnimState rstl::vector<CPASAnimInfo, rstl::rmemory_allocator>::insert_into<rstl::const_counting_iterator<CPASAnimInfo>>(rstl::pointer_iterator<CPASAnimInfo, rstl::vector<CPASAnimInfo, rstl::rmemory_allocator>, rstl::rmemory_allocator>, int, rstl::const_counting_iterator<CPASAnimInfo>) +808 0.00% 71.47%
main/MetroidPrime/Enemies/CTeamAiMgr rstl::vector<CTeamAiRole, rstl::rmemory_allocator>::insert_into<rstl::const_counting_iterator<CTeamAiRole>>(rstl::pointer_iterator<CTeamAiRole, rstl::vector<CTeamAiRole, rstl::rmemory_allocator>, rstl::rmemory_allocator>, int, rstl::const_counting_iterator<CTeamAiRole>) +761 0.00% 79.01%
main/MetroidPrime/Enemies/CTeamAiMgr rstl::vector<TUniqueId, rstl::rmemory_allocator>::insert_into<rstl::const_counting_iterator<TUniqueId>>(rstl::pointer_iterator<TUniqueId, rstl::vector<TUniqueId, rstl::rmemory_allocator>, rstl::rmemory_allocator>, int, rstl::const_counting_iterator<TUniqueId>) +404 0.00% 71.74%
main/MetroidPrime/ScriptObjects/CScriptSpecialFunction rstl::vector<float, rstl::rmemory_allocator>::insert_into<rstl::const_counting_iterator<float>>(rstl::pointer_iterator<float, rstl::vector<float, rstl::rmemory_allocator>, rstl::rmemory_allocator>, int, rstl::const_counting_iterator<float>) +388 0.00% 69.36%
main/MetroidPrime/ScriptObjects/CScriptPlatform CScriptPlatform::MoveRiders(CStateManager&, float, bool, rstl::vector<SRiders, rstl::rmemory_allocator>&, rstl::vector<SRiders, rstl::rmemory_allocator>&, const CTransform4f&, const CTransform4f&, const CVector3f&, CQuaternion) +181 75.20% 99.97%
main/MetroidPrime/ScriptObjects/CScriptPlatform CScriptPlatform::DecayRiders(rstl::vector<SRiders, rstl::rmemory_allocator>&, float, CStateManager&) +179 23.42% 98.25%
main/MetroidPrime/Enemies/CTeamAiMgr rstl::vector<TUniqueId, rstl::rmemory_allocator>::insert(rstl::pointer_iterator<TUniqueId, rstl::vector<TUniqueId, rstl::rmemory_allocator>, rstl::rmemory_allocator>, const TUniqueId&) +143 0.00% 99.72%
main/MetroidPrime/Cameras/CCameraManager CCameraManager::RemoveCinemaCamera(TUniqueId, CStateManager&) +131 8.76% 97.03%
main/MetroidPrime/Player/CStaticInterference CStaticInterference::RemoveSource(TUniqueId) +120 0.00% 91.21%
main/MetroidPrime/ScriptObjects/CScriptRandomRelay CScriptRandomRelay::SendLocalScriptMsgs(EScriptObjectState, CStateManager&) +115 72.86% 84.74%
main/Kyoto/Animation/CPASAnimState rstl::vector<CPASAnimInfo, rstl::rmemory_allocator>::insert(rstl::pointer_iterator<CPASAnimInfo, rstl::vector<CPASAnimInfo, rstl::rmemory_allocator>, rstl::rmemory_allocator>, const CPASAnimInfo&) +115 25.90% 99.74%
main/MetroidPrime/ScriptObjects/CScriptSpecialFunction rstl::vector<float, rstl::rmemory_allocator>::insert(rstl::pointer_iterator<float, rstl::vector<float, rstl::rmemory_allocator>, rstl::rmemory_allocator>, const float&) +106 24.00% 99.71%
main/MetroidPrime/Enemies/CAi rstl::sort<rstl::pointer_iterator<rstl::pair<const char*, bool (CAi::*)(CStateManager&, float)>, rstl::vector<rstl::pair<const char*, bool (CAi::*)(CStateManager&, float)>, rstl::rmemory_allocator>, rstl::rmemory_allocator>, rstl::pair_sorter_finder<rstl::pair<const char*, bool (CAi::*)(CStateManager&, float)>, @unnamed@CAi_cpp@::cstr_less>>(rstl::pointer_iterator<rstl::pair<const char*, bool (CAi::*)(CStateManager&, float)>, rstl::vector<rstl::pair<const char*, bool (CAi::*)(CStateManager&, float)>, rstl::rmemory_allocator>, rstl::rmemory_allocator>, rstl::pointer_iterator<rstl::pair<const char*, bool (CAi::*)(CStateManager&, float)>, rstl::vector<rstl::pair<const char*, bool (CAi::*)(CStateManager&, float)>, rstl::rmemory_allocator>, rstl::rmemory_allocator>, rstl::pair_sorter_finder<rstl::pair<const char*, bool (CAi::*)(CStateManager&, float)>, @unnamed@CAi_cpp@::cstr_less>) +74 75.65% 89.94%
main/MetroidPrime/Enemies/CAi rstl::sort<rstl::pointer_iterator<rstl::pair<const char*, void (CAi::*)(CStateManager&, EStateMsg, float)>, rstl::vector<rstl::pair<const char*, void (CAi::*)(CStateManager&, EStateMsg, float)>, rstl::rmemory_allocator>, rstl::rmemory_allocator>, rstl::pair_sorter_finder<rstl::pair<const char*, void (CAi::*)(CStateManager&, EStateMsg, float)>, @unnamed@CAi_cpp@::cstr_less>>(rstl::pointer_iterator<rstl::pair<const char*, void (CAi::*)(CStateManager&, EStateMsg, float)>, rstl::vector<rstl::pair<const char*, void (CAi::*)(CStateManager&, EStateMsg, float)>, rstl::rmemory_allocator>, rstl::rmemory_allocator>, rstl::pointer_iterator<rstl::pair<const char*, void (CAi::*)(CStateManager&, EStateMsg, float)>, rstl::vector<rstl::pair<const char*, void (CAi::*)(CStateManager&, EStateMsg, float)>, rstl::rmemory_allocator>, rstl::rmemory_allocator>, rstl::pair_sorter_finder<rstl::pair<const char*, void (CAi::*)(CStateManager&, EStateMsg, float)>, @unnamed@CAi_cpp@::cstr_less>) +74 75.65% 89.94%
main/MetroidPrime/CStateManager rstl::sort<rstl::pointer_iterator<CLight, rstl::vector<CLight, rstl::rmemory_allocator>, rstl::rmemory_allocator>, CLightPredicate>(rstl::pointer_iterator<CLight, rstl::vector<CLight, rstl::rmemory_allocator>, rstl::rmemory_allocator>, rstl::pointer_iterator<CLight, rstl::vector<CLight, rstl::rmemory_allocator>, rstl::rmemory_allocator>, CLightPredicate) +72 73.70% 85.75%
main/MetroidPrime/Player/CGameOptions rstl::sort<rstl::pointer_iterator<rstl::pair<unsigned int, unsigned int>, rstl::vector<rstl::pair<unsigned int, unsigned int>, rstl::rmemory_allocator>, rstl::rmemory_allocator>, @unnamed@CGameOptions_cpp@::AssetIdSorter>(rstl::pointer_iterator<rstl::pair<unsigned int, unsigned int>, rstl::vector<rstl::pair<unsigned int, unsigned int>, rstl::rmemory_allocator>, rstl::rmemory_allocator>, rstl::pointer_iterator<rstl::pair<unsigned int, unsigned int>, rstl::vector<rstl::pair<unsigned int, unsigned int>, rstl::rmemory_allocator>, rstl::rmemory_allocator>, @unnamed@CGameOptions_cpp@::AssetIdSorter) +55 76.89% 89.10%
main/MetroidPrime/ScriptObjects/CScriptSpecialFunction rstl::sort<rstl::pointer_iterator<CScriptSpecialFunction::SRingController, rstl::vector<CScriptSpecialFunction::SRingController, rstl::rmemory_allocator>, rstl::rmemory_allocator>, @unnamed@CScriptSpecialFunction_cpp@::CRingSorter>(rstl::pointer_iterator<CScriptSpecialFunction::SRingController, rstl::vector<CScriptSpecialFunction::SRingController, rstl::rmemory_allocator>, rstl::rmemory_allocator>, rstl::pointer_iterator<CScriptSpecialFunction::SRingController, rstl::vector<CScriptSpecialFunction::SRingController, rstl::rmemory_allocator>, rstl::rmemory_allocator>, @unnamed@CScriptSpecialFunction_cpp@::CRingSorter) +51 84.04% 89.83%
main/MetroidPrime/CFlameWarp rstl::sort<rstl::pointer_iterator<rstl::pair<float, unsigned char>, rstl::vector<rstl::pair<float, unsigned char>, rstl::rmemory_allocator>, rstl::rmemory_allocator>, Comparer>(rstl::pointer_iterator<rstl::pair<float, unsigned char>, rstl::vector<rstl::pair<float, unsigned char>, rstl::rmemory_allocator>, rstl::rmemory_allocator>, rstl::pointer_iterator<rstl::pair<float, unsigned char>, rstl::vector<rstl::pair<float, unsigned char>, rstl::rmemory_allocator>, rstl::rmemory_allocator>, Comparer) +38 67.27% 76.83%
main/MetroidPrime/CAnimationDatabaseGame rstl::vector<CPrimitive, rstl::rmemory_allocator>::insert_into<rstl::red_black_tree<CPrimitive, CPrimitive, 0, rstl::identity<CPrimitive>, rstl::less<CPrimitive>, rstl::rmemory_allocator>::iterator>(rstl::pointer_iterator<CPrimitive, rstl::vector<CPrimitive, rstl::rmemory_allocator>, rstl::rmemory_allocator>, int, rstl::red_black_tree<CPrimitive, CPrimitive, 0, rstl::identity<CPrimitive>, rstl::less<CPrimitive>, rstl::rmemory_allocator>::iterator) +29 56.56% 60.25%
main/MetroidPrime/CAnimationDatabaseGame rstl::vector<CPrimitive, rstl::rmemory_allocator>::insert<rstl::red_black_tree<CPrimitive, CPrimitive, 0, rstl::identity<CPrimitive>, rstl::less<CPrimitive>, rstl::rmemory_allocator>::iterator>(rstl::pointer_iterator<CPrimitive, rstl::vector<CPrimitive, rstl::rmemory_allocator>, rstl::rmemory_allocator>, rstl::red_black_tree<CPrimitive, CPrimitive, 0, rstl::identity<CPrimitive>, rstl::less<CPrimitive>, rstl::rmemory_allocator>::iterator, rstl::red_black_tree<CPrimitive, CPrimitive, 0, rstl::identity<CPrimitive>, rstl::less<CPrimitive>, rstl::rmemory_allocator>::iterator) +17 76.23% 90.23%
main/MetroidPrime/Enemies/CTeamAiMgr .sdata2 +11 0.00% 72.73%
main/MetroidPrime/Enemies/CTeamAiMgr .rodata +7 0.00% 93.33%
main/Kyoto/Text/CRasterFont rstl::sort<rstl::pointer_iterator<rstl::pair<wchar_t, CGlyph>, rstl::vector<rstl::pair<wchar_t, CGlyph>, rstl::rmemory_allocator>, rstl::rmemory_allocator>, rstl::pair_sorter_finder<rstl::pair<wchar_t, CGlyph>, rstl::less<wchar_t>>>(rstl::pointer_iterator<rstl::pair<wchar_t, CGlyph>, rstl::vector<rstl::pair<wchar_t, CGlyph>, rstl::rmemory_allocator>, rstl::rmemory_allocator>, rstl::pointer_iterator<rstl::pair<wchar_t, CGlyph>, rstl::vector<rstl::pair<wchar_t, CGlyph>, rstl::rmemory_allocator>, rstl::rmemory_allocator>, rstl::pair_sorter_finder<rstl::pair<wchar_t, CGlyph>, rstl::less<wchar_t>>) +3 45.27% 45.83%

Report for GM8E01_00 (ef8103d - f7db7af)

📈 Matched code: 30.40% (+0.33%, +13412 bytes)
📈 Matched data: 31.79% (+0.00%, +40 bytes)

✅ 74 new matches
Unit Item Bytes Before After
main/MetroidPrime/Enemies/CTeamAiMgr rstl::__sort3<CTeamAiRole, TeamAiRoleSorter>(CTeamAiRole&, CTeamAiRole&, CTeamAiRole&, TeamAiRoleSorter) +560 0.00% 100.00%
main/MetroidPrime/Enemies/CTeamAiMgr CTeamAiMgr::UpdateRoles(CStateManager&) +472 0.00% 100.00%
main/MetroidPrime/Enemies/CTeamAiMgr CTeamAiMgr::AssignTeamAiRole(const CAi&, int, int, int) +464 0.00% 100.00%
main/MetroidPrime/Enemies/CTeamAiMgr CTeamAiMgr::RemoveTeamAiRole(TUniqueId) +384 0.00% 100.00%
main/MetroidPrime/Enemies/CTeamAiMgr CTeamAiMgr::AddMeleeAttacker(TUniqueId) +380 0.00% 100.00%
main/MetroidPrime/Enemies/CTeamAiMgr CTeamAiMgr::AddProjectileAttacker(TUniqueId) +380 0.00% 100.00%
main/MetroidPrime/Enemies/CTeamAiMgr rstl::__insertion_sort<rstl::pointer_iterator<CTeamAiRole, rstl::vector<CTeamAiRole, rstl::rmemory_allocator>, rstl::rmemory_allocator>, TeamAiRoleSorter>(rstl::pointer_iterator<CTeamAiRole, rstl::vector<CTeamAiRole, rstl::rmemory_allocator>, rstl::rmemory_allocator>, rstl::pointer_iterator<CTeamAiRole, rstl::vector<CTeamAiRole, rstl::rmemory_allocator>, rstl::rmemory_allocator>, TeamAiRoleSorter) +372 0.00% 100.00%
main/MetroidPrime/Enemies/CTeamAiMgr CTeamAiMgr::~CTeamAiMgr() +316 0.00% 100.00%
main/MetroidPrime/Enemies/CTeamAiMgr rstl::vector<CTeamAiRole, rstl::rmemory_allocator>::reserve(int) +312 0.00% 100.00%
main/MetroidPrime/Enemies/CTeamAiMgr CTeamAiMgr::HasTeamAiRole(TUniqueId) const +308 0.00% 100.00%
main/MetroidPrime/Enemies/CTeamAiMgr CTeamAiMgr::CTeamAiMgr(TUniqueId, const rstl::basic_string<char, rstl::char_traits<char>, rstl::rmemory_allocator>&, const CEntityInfo&, const CTeamAiMgr::CUnknown&) +304 0.00% 100.00%
main/MetroidPrime/Enemies/CTeamAiMgr CTeamAiMgr::PositionTeam(CStateManager&) +296 0.00% 100.00%
main/MetroidPrime/Enemies/CTeamAiMgr CTeamAiMgr::ResetTeamAiRole(EAttackType, CStateManager&, TUniqueId, TUniqueId, bool) +288 0.00% 100.00%
main/MetroidPrime/Enemies/CTeamAiMgr CTeamAiMgr::GetTeamAiRole(TUniqueId) const +276 0.00% 100.00%
main/MetroidPrime/Enemies/CTeamAiMgr CTeamAiMgr::ClearTeamAiRole(TUniqueId) +276 0.00% 100.00%
main/MetroidPrime/Enemies/CTeamAiMgr CTeamAiMgr::IsPartOfTeam(TUniqueId) const +276 0.00% 100.00%
main/MetroidPrime/Enemies/CTeamAiMgr rstl::iter_swap<rstl::pointer_iterator<CTeamAiRole, rstl::vector<CTeamAiRole, rstl::rmemory_allocator>, rstl::rmemory_allocator>, rstl::pointer_iterator<CTeamAiRole, rstl::vector<CTeamAiRole, rstl::rmemory_allocator>, rstl::rmemory_allocator>>(rstl::pointer_iterator<CTeamAiRole, rstl::vector<CTeamAiRole, rstl::rmemory_allocator>, rstl::rmemory_allocator>, rstl::pointer_iterator<CTeamAiRole, rstl::vector<CTeamAiRole, rstl::rmemory_allocator>, rstl::rmemory_allocator>) +268 0.00% 100.00%
main/MetroidPrime/Enemies/CTeamAiMgr TeamAiRoleSorter::operator()(const CTeamAiRole&, const CTeamAiRole&) const +264 0.00% 100.00%
main/MetroidPrime/Enemies/CTeamAiMgr CTeamAiMgr::CanAcceptMeleeAttacker(TUniqueId) const +252 0.00% 100.00%
main/MetroidPrime/Enemies/CTeamAiMgr CTeamAiMgr::CanAcceptProjectileAttacker(TUniqueId) const +252 0.00% 100.00%
main/MetroidPrime/Enemies/CTeamAiMgr rstl::swap<CTeamAiRole>(CTeamAiRole&, CTeamAiRole&) +248 0.00% 100.00%
main/MetroidPrime/Enemies/CTeamAiMgr rstl::vector<CTeamAiRole, rstl::rmemory_allocator>::erase(rstl::pointer_iterator<CTeamAiRole, rstl::vector<CTeamAiRole, rstl::rmemory_allocator>, rstl::rmemory_allocator>, rstl::pointer_iterator<CTeamAiRole, rstl::vector<CTeamAiRole, rstl::rmemory_allocator>, rstl::rmemory_allocator>) +236 0.00% 100.00%
main/MetroidPrime/ScriptObjects/CScriptPlatform rstl::vector<SRiders, rstl::rmemory_allocator>::erase(rstl::pointer_iterator<SRiders, rstl::vector<SRiders, rstl::rmemory_allocator>, rstl::rmemory_allocator>, rstl::pointer_iterator<SRiders, rstl::vector<SRiders, rstl::rmemory_allocator>, rstl::rmemory_allocator>) +224 0.00% 100.00%
main/MetroidPrime/Enemies/CTeamAiMgr CTeamAiMgr::RemoveMeleeAttacker(TUniqueId) +224 0.00% 100.00%
main/MetroidPrime/Enemies/CTeamAiMgr CTeamAiMgr::RemoveProjectileAttacker(TUniqueId) +224 0.00% 100.00%
main/MetroidPrime/Enemies/CTeamAiMgr CTeamAiMgr::GetTeamAiMgr(const CAi&, const CStateManager&) +220 0.00% 100.00%
main/MetroidPrime/Enemies/CTeamAiMgr CTeamAiMgr::CUnknown::CUnknown(CInputStream&, int) +208 0.00% 100.00%
main/MetroidPrime/Enemies/CTeamAiMgr CTeamAiMgr::IsMeleeAttacker(TUniqueId) const +204 0.00% 100.00%
main/MetroidPrime/Enemies/CTeamAiMgr CTeamAiMgr::IsProjectileAttacker(TUniqueId) const +204 0.00% 100.00%
main/MetroidPrime/Enemies/CTeamAiMgr rstl::lower_bound_const<rstl::vector<CTeamAiRole, rstl::rmemory_allocator>>(rstl::const_pointer_iterator<CTeamAiRole, rstl::vector<CTeamAiRole, rstl::rmemory_allocator>, rstl::rmemory_allocator>, rstl::const_pointer_iterator<CTeamAiRole, rstl::vector<CTeamAiRole, rstl::rmemory_allocator>, rstl::rmemory_allocator>, const CTeamAiRole&) +200 0.00% 100.00%

...and 44 more new matches

📈 27 improvements in unmatched items
Unit Item Bytes Before After
main/MetroidPrime/Enemies/CTeamAiMgr CTeamAiMgr::SpacingSort(CStateManager&, const CVector3f&) +810 0.00% 98.31%
main/Kyoto/Animation/CPASAnimState rstl::vector<CPASAnimInfo, rstl::rmemory_allocator>::insert_into<rstl::const_counting_iterator<CPASAnimInfo>>(rstl::pointer_iterator<CPASAnimInfo, rstl::vector<CPASAnimInfo, rstl::rmemory_allocator>, rstl::rmemory_allocator>, int, rstl::const_counting_iterator<CPASAnimInfo>) +808 0.00% 71.47%
main/MetroidPrime/Enemies/CTeamAiMgr rstl::vector<CTeamAiRole, rstl::rmemory_allocator>::insert_into<rstl::const_counting_iterator<CTeamAiRole>>(rstl::pointer_iterator<CTeamAiRole, rstl::vector<CTeamAiRole, rstl::rmemory_allocator>, rstl::rmemory_allocator>, int, rstl::const_counting_iterator<CTeamAiRole>) +761 0.00% 79.01%
main/MetroidPrime/Enemies/CTeamAiMgr rstl::sort<rstl::pointer_iterator<CTeamAiRole, rstl::vector<CTeamAiRole, rstl::rmemory_allocator>, rstl::rmemory_allocator>, TeamAiRoleSorter>(rstl::pointer_iterator<CTeamAiRole, rstl::vector<CTeamAiRole, rstl::rmemory_allocator>, rstl::rmemory_allocator>, rstl::pointer_iterator<CTeamAiRole, rstl::vector<CTeamAiRole, rstl::rmemory_allocator>, rstl::rmemory_allocator>, TeamAiRoleSorter) +581 0.00% 89.69%
main/MetroidPrime/Enemies/CTeamAiMgr rstl::vector<TUniqueId, rstl::rmemory_allocator>::insert_into<rstl::const_counting_iterator<TUniqueId>>(rstl::pointer_iterator<TUniqueId, rstl::vector<TUniqueId, rstl::rmemory_allocator>, rstl::rmemory_allocator>, int, rstl::const_counting_iterator<TUniqueId>) +404 0.00% 71.74%
main/MetroidPrime/ScriptObjects/CScriptSpecialFunction rstl::vector<float, rstl::rmemory_allocator>::insert_into<rstl::const_counting_iterator<float>>(rstl::pointer_iterator<float, rstl::vector<float, rstl::rmemory_allocator>, rstl::rmemory_allocator>, int, rstl::const_counting_iterator<float>) +388 0.00% 69.36%
main/MetroidPrime/ScriptObjects/CScriptPlatform CScriptPlatform::MoveRiders(CStateManager&, float, bool, rstl::vector<SRiders, rstl::rmemory_allocator>&, rstl::vector<SRiders, rstl::rmemory_allocator>&, const CTransform4f&, const CTransform4f&, const CVector3f&, CQuaternion) +181 75.20% 99.97%
main/MetroidPrime/ScriptObjects/CScriptPlatform CScriptPlatform::DecayRiders(rstl::vector<SRiders, rstl::rmemory_allocator>&, float, CStateManager&) +179 23.42% 98.25%
main/MetroidPrime/Enemies/CTeamAiMgr rstl::vector<CTeamAiRole, rstl::rmemory_allocator>::insert(rstl::pointer_iterator<CTeamAiRole, rstl::vector<CTeamAiRole, rstl::rmemory_allocator>, rstl::rmemory_allocator>, const CTeamAiRole&) +155 0.00% 99.74%
main/MetroidPrime/Enemies/CTeamAiMgr rstl::vector<TUniqueId, rstl::rmemory_allocator>::insert(rstl::pointer_iterator<TUniqueId, rstl::vector<TUniqueId, rstl::rmemory_allocator>, rstl::rmemory_allocator>, const TUniqueId&) +143 0.00% 99.72%
main/MetroidPrime/Enemies/CTeamAiMgr CTeamAiMgr::AssignRoles(CTeamAiRole::ETeamAiRole, int) +134 0.00% 99.12%
main/MetroidPrime/Cameras/CCameraManager CCameraManager::RemoveCinemaCamera(TUniqueId, CStateManager&) +131 8.76% 97.03%
main/MetroidPrime/Player/CStaticInterference CStaticInterference::RemoveSource(TUniqueId) +120 0.00% 91.21%
main/MetroidPrime/ScriptObjects/CScriptRandomRelay CScriptRandomRelay::SendLocalScriptMsgs(EScriptObjectState, CStateManager&) +115 72.86% 84.74%
main/Kyoto/Animation/CPASAnimState rstl::vector<CPASAnimInfo, rstl::rmemory_allocator>::insert(rstl::pointer_iterator<CPASAnimInfo, rstl::vector<CPASAnimInfo, rstl::rmemory_allocator>, rstl::rmemory_allocator>, const CPASAnimInfo&) +115 25.90% 99.74%
main/MetroidPrime/ScriptObjects/CScriptSpecialFunction rstl::vector<float, rstl::rmemory_allocator>::insert(rstl::pointer_iterator<float, rstl::vector<float, rstl::rmemory_allocator>, rstl::rmemory_allocator>, const float&) +106 24.00% 99.71%
main/MetroidPrime/Enemies/CAi rstl::sort<rstl::pointer_iterator<rstl::pair<const char*, bool (CAi::*)(CStateManager&, float)>, rstl::vector<rstl::pair<const char*, bool (CAi::*)(CStateManager&, float)>, rstl::rmemory_allocator>, rstl::rmemory_allocator>, rstl::pair_sorter_finder<rstl::pair<const char*, bool (CAi::*)(CStateManager&, float)>, @unnamed@CAi_cpp@::cstr_less>>(rstl::pointer_iterator<rstl::pair<const char*, bool (CAi::*)(CStateManager&, float)>, rstl::vector<rstl::pair<const char*, bool (CAi::*)(CStateManager&, float)>, rstl::rmemory_allocator>, rstl::rmemory_allocator>, rstl::pointer_iterator<rstl::pair<const char*, bool (CAi::*)(CStateManager&, float)>, rstl::vector<rstl::pair<const char*, bool (CAi::*)(CStateManager&, float)>, rstl::rmemory_allocator>, rstl::rmemory_allocator>, rstl::pair_sorter_finder<rstl::pair<const char*, bool (CAi::*)(CStateManager&, float)>, @unnamed@CAi_cpp@::cstr_less>) +74 75.65% 89.94%
main/MetroidPrime/Enemies/CAi rstl::sort<rstl::pointer_iterator<rstl::pair<const char*, void (CAi::*)(CStateManager&, EStateMsg, float)>, rstl::vector<rstl::pair<const char*, void (CAi::*)(CStateManager&, EStateMsg, float)>, rstl::rmemory_allocator>, rstl::rmemory_allocator>, rstl::pair_sorter_finder<rstl::pair<const char*, void (CAi::*)(CStateManager&, EStateMsg, float)>, @unnamed@CAi_cpp@::cstr_less>>(rstl::pointer_iterator<rstl::pair<const char*, void (CAi::*)(CStateManager&, EStateMsg, float)>, rstl::vector<rstl::pair<const char*, void (CAi::*)(CStateManager&, EStateMsg, float)>, rstl::rmemory_allocator>, rstl::rmemory_allocator>, rstl::pointer_iterator<rstl::pair<const char*, void (CAi::*)(CStateManager&, EStateMsg, float)>, rstl::vector<rstl::pair<const char*, void (CAi::*)(CStateManager&, EStateMsg, float)>, rstl::rmemory_allocator>, rstl::rmemory_allocator>, rstl::pair_sorter_finder<rstl::pair<const char*, void (CAi::*)(CStateManager&, EStateMsg, float)>, @unnamed@CAi_cpp@::cstr_less>) +74 75.65% 89.94%
main/MetroidPrime/CStateManager rstl::sort<rstl::pointer_iterator<CLight, rstl::vector<CLight, rstl::rmemory_allocator>, rstl::rmemory_allocator>, CLightPredicate>(rstl::pointer_iterator<CLight, rstl::vector<CLight, rstl::rmemory_allocator>, rstl::rmemory_allocator>, rstl::pointer_iterator<CLight, rstl::vector<CLight, rstl::rmemory_allocator>, rstl::rmemory_allocator>, CLightPredicate) +72 73.70% 85.75%
main/MetroidPrime/Player/CGameOptions rstl::sort<rstl::pointer_iterator<rstl::pair<unsigned int, unsigned int>, rstl::vector<rstl::pair<unsigned int, unsigned int>, rstl::rmemory_allocator>, rstl::rmemory_allocator>, @unnamed@CGameOptions_cpp@::AssetIdSorter>(rstl::pointer_iterator<rstl::pair<unsigned int, unsigned int>, rstl::vector<rstl::pair<unsigned int, unsigned int>, rstl::rmemory_allocator>, rstl::rmemory_allocator>, rstl::pointer_iterator<rstl::pair<unsigned int, unsigned int>, rstl::vector<rstl::pair<unsigned int, unsigned int>, rstl::rmemory_allocator>, rstl::rmemory_allocator>, @unnamed@CGameOptions_cpp@::AssetIdSorter) +55 76.89% 89.10%
main/MetroidPrime/ScriptObjects/CScriptSpecialFunction rstl::sort<rstl::pointer_iterator<CScriptSpecialFunction::SRingController, rstl::vector<CScriptSpecialFunction::SRingController, rstl::rmemory_allocator>, rstl::rmemory_allocator>, @unnamed@CScriptSpecialFunction_cpp@::CRingSorter>(rstl::pointer_iterator<CScriptSpecialFunction::SRingController, rstl::vector<CScriptSpecialFunction::SRingController, rstl::rmemory_allocator>, rstl::rmemory_allocator>, rstl::pointer_iterator<CScriptSpecialFunction::SRingController, rstl::vector<CScriptSpecialFunction::SRingController, rstl::rmemory_allocator>, rstl::rmemory_allocator>, @unnamed@CScriptSpecialFunction_cpp@::CRingSorter) +51 84.04% 89.83%
main/MetroidPrime/CFlameWarp rstl::sort<rstl::pointer_iterator<rstl::pair<float, unsigned char>, rstl::vector<rstl::pair<float, unsigned char>, rstl::rmemory_allocator>, rstl::rmemory_allocator>, Comparer>(rstl::pointer_iterator<rstl::pair<float, unsigned char>, rstl::vector<rstl::pair<float, unsigned char>, rstl::rmemory_allocator>, rstl::rmemory_allocator>, rstl::pointer_iterator<rstl::pair<float, unsigned char>, rstl::vector<rstl::pair<float, unsigned char>, rstl::rmemory_allocator>, rstl::rmemory_allocator>, Comparer) +38 67.27% 76.83%
main/MetroidPrime/CAnimationDatabaseGame rstl::vector<CPrimitive, rstl::rmemory_allocator>::insert_into<rstl::red_black_tree<CPrimitive, CPrimitive, 0, rstl::identity<CPrimitive>, rstl::less<CPrimitive>, rstl::rmemory_allocator>::iterator>(rstl::pointer_iterator<CPrimitive, rstl::vector<CPrimitive, rstl::rmemory_allocator>, rstl::rmemory_allocator>, int, rstl::red_black_tree<CPrimitive, CPrimitive, 0, rstl::identity<CPrimitive>, rstl::less<CPrimitive>, rstl::rmemory_allocator>::iterator) +29 56.56% 60.25%
main/MetroidPrime/CAnimationDatabaseGame rstl::vector<CPrimitive, rstl::rmemory_allocator>::insert<rstl::red_black_tree<CPrimitive, CPrimitive, 0, rstl::identity<CPrimitive>, rstl::less<CPrimitive>, rstl::rmemory_allocator>::iterator>(rstl::pointer_iterator<CPrimitive, rstl::vector<CPrimitive, rstl::rmemory_allocator>, rstl::rmemory_allocator>, rstl::red_black_tree<CPrimitive, CPrimitive, 0, rstl::identity<CPrimitive>, rstl::less<CPrimitive>, rstl::rmemory_allocator>::iterator, rstl::red_black_tree<CPrimitive, CPrimitive, 0, rstl::identity<CPrimitive>, rstl::less<CPrimitive>, rstl::rmemory_allocator>::iterator) +17 76.23% 90.23%
main/MetroidPrime/Enemies/CTeamAiMgr .sdata2 +11 0.00% 72.73%
main/MetaRender/CCubeRenderer rstl::sort<unsigned short*, Buckets::planeSorter>(unsigned short*, unsigned short*, Buckets::planeSorter) +10 96.30% 99.26%
main/Kyoto/Text/CRasterFont rstl::sort<rstl::pointer_iterator<rstl::pair<wchar_t, CGlyph>, rstl::vector<rstl::pair<wchar_t, CGlyph>, rstl::rmemory_allocator>, rstl::rmemory_allocator>, rstl::pair_sorter_finder<rstl::pair<wchar_t, CGlyph>, rstl::less<wchar_t>>>(rstl::pointer_iterator<rstl::pair<wchar_t, CGlyph>, rstl::vector<rstl::pair<wchar_t, CGlyph>, rstl::rmemory_allocator>, rstl::rmemory_allocator>, rstl::pointer_iterator<rstl::pair<wchar_t, CGlyph>, rstl::vector<rstl::pair<wchar_t, CGlyph>, rstl::rmemory_allocator>, rstl::rmemory_allocator>, rstl::pair_sorter_finder<rstl::pair<wchar_t, CGlyph>, rstl::less<wchar_t>>) +3 45.27% 45.83%

@encounter encounter merged commit 7484777 into main Mar 13, 2026
6 checks passed
@encounter encounter deleted the teamai branch March 13, 2026 04:21
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