Skip to content

CPlayerGun#43

Draft
encounter wants to merge 1 commit intomainfrom
playergun
Draft

CPlayerGun#43
encounter wants to merge 1 commit intomainfrom
playergun

Conversation

@encounter
Copy link
Member

No description provided.

@decomp-dev
Copy link

decomp-dev bot commented Mar 13, 2026

Report for GM8E01_01 (a3de68f - 856ec66)

📈 Matched code: 30.13% (+0.29%, +11588 bytes)

✅ 44 new matches
Unit Item Bytes Before After
main/MetroidPrime/Player/CPlayerGun CPlayerGun::ProcessGunMorph(float, CStateManager&) +824 0.48% 100.00%
main/MetroidPrime/Player/CPlayerGun CPlayerGun::HandleBeamChange(const CFinalInput&, CStateManager&) +564 0.70% 100.00%
main/MetroidPrime/Player/CPlayerGun CPlayerGun::EnableChargeFx(CPlayerState::EChargeStage, CStateManager&) +525 0.76% 100.00%
main/MetroidPrime/Player/CPlayerGun CPlayerGun::DropPowerBomb(CStateManager&) const +477 0.83% 100.00%
main/MetroidPrime/Player/CPlayerGun CPlayerGun::ProcessPhazonGunMorph(float, CStateManager&) +433 0.92% 100.00%
main/MetroidPrime/Player/CPlayerGun CPlayerGun::ProcessInput(const CFinalInput&, CStateManager&) +393 1.01% 100.00%
main/MetroidPrime/Player/CPlayerGun CPlayerGun::UpdateGunLight(const CTransform4f&, CStateManager&) +365 1.09% 100.00%
main/MetroidPrime/Player/CPlayerGun CPlayerGun::StartPhazonBeamTransition(bool, CStateManager&, CPlayerState&) +341 1.16% 100.00%
main/MetroidPrime/Player/CPlayerGun CPlayerGun::StopContinuousBeam(CStateManager&, bool) +313 1.27% 100.00%
main/MetroidPrime/Player/CPlayerGun CPlayerGun::HandlePhazonBeamChange(CStateManager&) +305 1.30% 100.00%
main/MetroidPrime/Player/CPlayerGun CAuxWeapon::~CAuxWeapon() +284 0.00% 100.00%
main/MetroidPrime/Player/CPlayerGun CPlayerGun::ChangeWeapon(const CPlayerState&, CStateManager&) +269 1.47% 100.00%
main/MetroidPrime/Player/CPlayerGun CPlayerGun::TouchModel(const CStateManager&) const +265 1.49% 100.00%
main/MetroidPrime/Player/CPlayerGun CPlayerGun::DoUserAnimEvent(float, CStateManager&, const CInt32POINode&, EUserEventType) +261 1.52% 100.00%
main/MetroidPrime/Player/CPlayerGun CPlayerGun::PlayAnim(NWeaponTypes::EGunAnimType, bool) +256 1.54% 100.00%
main/MetroidPrime/Player/CPlayerGun CPlayerGun::EnterFidget(CStateManager&) +256 1.54% 100.00%
main/MetroidPrime/Player/CPlayerGun CPlayerGun::AsyncLoadFidget(CStateManager&) +256 1.54% 100.00%
main/MetroidPrime/Player/CPlayerGun CPlayerGun::SetGunLightActive(bool, CStateManager&) +252 1.56% 100.00%
main/MetroidPrime/Player/CPlayerGun CPlayerGun::CancelFiring(CStateManager&) +248 1.59% 100.00%
main/MetroidPrime/Player/CPlayerGun CPlayerGun::~CPlayerGun() +242 77.17% 100.00%
main/MetroidPrime/Player/CPlayerGun CPlayerGun::SetPhazonBeamFeedback(bool) +225 1.75% 100.00%
main/MetroidPrime/Player/CPlayerGun CPlayerGun::ConvertToScreenSpace(const CVector3f&, const CGameCamera&) const +199 9.95% 100.00%
main/MetroidPrime/Player/CPlayerGun CPlayerGun::GetLctrWithShake(CTransform4f&, const CModelData&, const rstl::basic_string<char, rstl::char_traits<char>, rstl::rmemory_allocator>&, bool, bool) +193 2.04% 100.00%
main/MetroidPrime/Player/CPlayerGun CPlayerGun::IsFidgetLoaded() +191 2.86% 100.00%
main/MetroidPrime/Player/CPlayerGun CPlayerGun::RenderEnergyDrainEffects(const CStateManager&) const +189 2.08% 100.00%
main/MetroidPrime/Player/CPlayerGun CPlayerGun::CancelCharge(CStateManager&, bool) +173 2.27% 100.00%
main/MetroidPrime/Player/CPlayerGun CPlayerGun::HandleWeaponChange(const CFinalInput&, CStateManager&) +169 2.33% 100.00%
main/MetroidPrime/Player/CPlayerGun CPlayerGun::ReturnArmAndGunToDefault(CStateManager&, bool) +144 2.70% 100.00%
main/MetroidPrime/Player/CPlayerGun CPlayerGun::SetFidgetAnimBits(int, bool) +141 2.78% 100.00%
main/MetroidPrime/Player/CPlayerGun CPlayerGun::EnterFreeLook(CStateManager&) +136 2.86% 100.00%

...and 14 more new matches

📈 24 improvements in unmatched items
Unit Item Bytes Before After
main/MetroidPrime/Player/CPlayerGun CPlayerGun::Update(float, float, float, CStateManager&) +3290 0.10% 82.68%
main/MetroidPrime/Player/CPlayerGun CPlayerGun::Render(const CStateManager&, const CVector3f&, const CModelFlags&) const +1312 0.23% 75.27%
main/MetroidPrime/Player/CPlayerGun CPlayerGun::AcceptScriptMsg(EScriptObjectMessage, TUniqueId, CStateManager&) +1291 0.29% 93.29%
main/MetroidPrime/Player/CPlayerGun CPlayerGun::UpdateChargeState(float, CStateManager&) +888 0.45% 99.51%
main/MetroidPrime/Player/CPlayerGun CPlayerGun::FireSecondary(float, CStateManager&) +871 0.43% 94.19%
main/MetroidPrime/Player/CPlayerGun CPlayerGun::UpdateAuxWeapons(float, const CTransform4f&, CStateManager&) +723 0.54% 98.19%
main/MetroidPrime/Player/CPlayerGun DrawScreenTex(float) +640 0.00% 98.77%
main/MetroidPrime/Player/CPlayerGun CPlayerGun::UpdateNormalShotCycle(float, CStateManager&) +568 0.65% 92.17%
main/MetroidPrime/Player/CPlayerGun CPlayerGun::ActivateCombo(CStateManager&) +560 0.63% 89.15%
main/MetroidPrime/Player/CPlayerGun CPlayerGun::DoUserAnimEvents(float, CStateManager&) +426 0.81% 86.70%
main/MetroidPrime/Player/CPlayerGun CPlayerGun::DropBomb(CPlayerGun::EBWeapon, CStateManager&) +383 0.68% 66.30%
main/MetroidPrime/ScriptObjects/CScriptPlatform CScriptPlatform::AddSlave(TUniqueId, CStateManager&) +336 0.00% 73.18%
main/MetroidPrime/Player/CPlayerGun CPlayerGun::UpdateLeftArmTransform(const CModelData&, const CStateManager&) +231 1.69% 99.98%
main/MetroidPrime/Player/CPlayerGun CPlayerGun::CreateGunLight(CStateManager&) +230 1.45% 84.90%
main/MetroidPrime/Player/CPlayerGun CPlayerGun::LoadHandAnimTokens() +225 1.69% 97.25%
main/MetroidPrime/Player/CPlayerGun CPlayerGun::DrawArm(const CStateManager&, const CVector3f&, const CModelFlags&) const +185 1.27% 59.57%
main/MetroidPrime/Player/CGrappleArm CGrappleArm::TouchModel(const CStateManager&) const +178 0.00% 87.25%
main/MetroidPrime/Player/CPlayerGun CPlayerGun::InitMuzzleData() +131 66.05% 92.34%
main/MetroidPrime/Player/CPlayerGun CPlayerGun::UpdateWeaponFire(float, CPlayerState&, CStateManager&) +105 86.68% 94.24%
main/MetroidPrime/Player/CPlayerGun .rodata +62 58.54% 95.50%
main/MetroidPrime/Player/CPlayerGun __sinit_CPlayerGun_cpp +35 91.06% 96.62%
main/MetroidPrime/Player/CPlayerGun CPlayerGun::PreRender(CStateManager&, const CFrustumPlanes&, const CVector3f&) +29 94.62% 99.50%
main/MetroidPrime/Player/CPlayerGun CPlayerGun::CPlayerGun(TUniqueId) +8 98.84% 99.15%
main/MetroidPrime/Weapons/CGunWeapon CGunWeapon::GetDamageInfo(CStateManager&, CPlayerState::EChargeStage, float) +1 53.07% 53.16%
📉 3 regressions in unmatched items
Unit Item Bytes Before After
main/MetroidPrime/Weapons/WeaponTypes CGunWeapon::GetShotDamageInfo(const SShotParam&, CStateManager&) const -186 87.77% 0.00%
main/MetroidPrime/Player/CPlayerGun CPlayerGun::UpdateGunIdle(bool, float, float, CStateManager&) -31 89.19% 87.55%
main/MetroidPrime/Player/CPlayerGun .sdata -2 54.05% 51.28%

Report for GM8E01_48 (a3de68f - 856ec66)

No changes

Report for GM8E01_00 (a3de68f - 856ec66)

📈 Matched code: 30.99% (+0.30%, +12016 bytes)

✅ 47 new matches
Unit Item Bytes Before After
main/MetroidPrime/Player/CPlayerGun CPlayerGun::ProcessGunMorph(float, CStateManager&) +824 0.48% 100.00%
main/MetroidPrime/Player/CPlayerGun CPlayerGun::HandleBeamChange(const CFinalInput&, CStateManager&) +564 0.70% 100.00%
main/MetroidPrime/Player/CPlayerGun CPlayerGun::EnableChargeFx(CPlayerState::EChargeStage, CStateManager&) +525 0.76% 100.00%
main/MetroidPrime/Player/CPlayerGun CPlayerGun::DropPowerBomb(CStateManager&) const +477 0.83% 100.00%
main/MetroidPrime/Player/CPlayerGun CPlayerGun::ProcessPhazonGunMorph(float, CStateManager&) +433 0.92% 100.00%
main/MetroidPrime/Player/CPlayerGun CPlayerGun::ProcessInput(const CFinalInput&, CStateManager&) +393 1.01% 100.00%
main/MetroidPrime/Player/CPlayerGun CPlayerGun::UpdateGunLight(const CTransform4f&, CStateManager&) +365 1.09% 100.00%
main/MetroidPrime/Player/CPlayerGun CPlayerGun::StartPhazonBeamTransition(bool, CStateManager&, CPlayerState&) +341 1.16% 100.00%
main/MetroidPrime/Player/CPlayerGun CPlayerGun::StopContinuousBeam(CStateManager&, bool) +313 1.27% 100.00%
main/MetroidPrime/Player/CPlayerGun CPlayerGun::HandlePhazonBeamChange(CStateManager&) +305 1.30% 100.00%
main/MetroidPrime/Player/CPlayerGun CAuxWeapon::~CAuxWeapon() +284 0.00% 100.00%
main/MetroidPrime/Player/CPlayerGun CPlayerGun::ChangeWeapon(const CPlayerState&, CStateManager&) +269 1.47% 100.00%
main/MetroidPrime/Player/CPlayerGun CPlayerGun::TouchModel(const CStateManager&) const +265 1.49% 100.00%
main/MetroidPrime/Player/CPlayerGun CPlayerGun::DoUserAnimEvent(float, CStateManager&, const CInt32POINode&, EUserEventType) +261 1.52% 100.00%
main/MetroidPrime/Player/CPlayerGun CPlayerGun::PlayAnim(NWeaponTypes::EGunAnimType, bool) +256 1.54% 100.00%
main/MetroidPrime/Player/CPlayerGun CPlayerGun::EnterFidget(CStateManager&) +256 1.54% 100.00%
main/MetroidPrime/Player/CPlayerGun CPlayerGun::AsyncLoadFidget(CStateManager&) +256 1.54% 100.00%
main/MetroidPrime/Player/CPlayerGun CPlayerGun::SetGunLightActive(bool, CStateManager&) +252 1.56% 100.00%
main/MetroidPrime/Player/CPlayerGun CPlayerGun::CancelFiring(CStateManager&) +248 1.59% 100.00%
main/MetroidPrime/Player/CPlayerGun CPlayerGun::~CPlayerGun() +242 77.17% 100.00%
main/MetroidPrime/Player/CPlayerGun rstl::vector<CRainSplashGenerator::SRainSplash, rstl::rmemory_allocator>::~vector() +240 0.00% 100.00%
main/MetroidPrime/Player/CPlayerGun CPlayerGun::SetPhazonBeamFeedback(bool) +225 1.75% 100.00%
main/MetroidPrime/Player/CPlayerGun CPlayerGun::ConvertToScreenSpace(const CVector3f&, const CGameCamera&) const +199 9.95% 100.00%
main/MetroidPrime/Player/CPlayerGun CPlayerGun::GetLctrWithShake(CTransform4f&, const CModelData&, const rstl::basic_string<char, rstl::char_traits<char>, rstl::rmemory_allocator>&, bool, bool) +193 2.04% 100.00%
main/MetroidPrime/Player/CPlayerGun CPlayerGun::IsFidgetLoaded() +191 2.86% 100.00%
main/MetroidPrime/Player/CPlayerGun CPlayerGun::RenderEnergyDrainEffects(const CStateManager&) const +189 2.08% 100.00%
main/MetroidPrime/Player/CPlayerGun CPlayerGun::CancelCharge(CStateManager&, bool) +173 2.27% 100.00%
main/MetroidPrime/Player/CPlayerGun CPlayerGun::HandleWeaponChange(const CFinalInput&, CStateManager&) +169 2.33% 100.00%
main/Kyoto/Math/CFrustumPlanes CreateNormal(const CVector3f&, const CVector3f&, const CVector3f&) +156 0.00% 100.00%
main/MetroidPrime/Player/CPlayerGun CPlayerGun::ReturnArmAndGunToDefault(CStateManager&, bool) +144 2.70% 100.00%

...and 17 more new matches

📈 30 improvements in unmatched items
Unit Item Bytes Before After
main/MetroidPrime/Player/CPlayerGun CPlayerGun::Update(float, float, float, CStateManager&) +3290 0.10% 82.68%
main/MetroidPrime/Player/CPlayerGun CPlayerGun::Render(const CStateManager&, const CVector3f&, const CModelFlags&) const +1312 0.23% 75.27%
main/MetroidPrime/Player/CPlayerGun CPlayerGun::AcceptScriptMsg(EScriptObjectMessage, TUniqueId, CStateManager&) +1291 0.29% 93.29%
main/MetroidPrime/Player/CPlayerGun CPlayerGun::UpdateChargeState(float, CStateManager&) +888 0.45% 99.51%
main/MetroidPrime/Player/CPlayerGun CPlayerGun::FireSecondary(float, CStateManager&) +871 0.43% 94.19%
main/MetroidPrime/Player/CPlayerGun CPlayerGun::UpdateAuxWeapons(float, const CTransform4f&, CStateManager&) +723 0.54% 98.19%
main/MetroidPrime/Player/CPlayerGun DrawScreenTex(float) +640 0.00% 98.77%
main/Kyoto/Audio/DolphinCAudioSys rstl::red_black_tree<rstl::basic_string<char, rstl::char_traits<char>, rstl::rmemory_allocator>, rstl::pair<rstl::basic_string<char, rstl::char_traits<char>, rstl::rmemory_allocator>, rstl::ncrc_ptr<CAudioSys::CTrkData>>, 0, rstl::select1st<rstl::pair<rstl::basic_string<char, rstl::char_traits<char>, rstl::rmemory_allocator>, rstl::ncrc_ptr<CAudioSys::CTrkData>>>, rstl::less<rstl::basic_string<char, rstl::char_traits<char>, rstl::rmemory_allocator>>, rstl::rmemory_allocator>::insert_into(rstl::red_black_tree<rstl::basic_string<char, rstl::char_traits<char>, rstl::rmemory_allocator>, rstl::pair<rstl::basic_string<char, rstl::char_traits<char>, rstl::rmemory_allocator>, rstl::ncrc_ptr<CAudioSys::CTrkData>>, 0, rstl::select1st<rstl::pair<rstl::basic_string<char, rstl::char_traits<char>, rstl::rmemory_allocator>, rstl::ncrc_ptr<CAudioSys::CTrkData>>>, rstl::less<rstl::basic_string<char, rstl::char_traits<char>, rstl::rmemory_allocator>>, rstl::rmemory_allocator>::node*, const rstl::pair<rstl::basic_string<char, rstl::char_traits<char>, rstl::rmemory_allocator>, rstl::ncrc_ptr<CAudioSys::CTrkData>>&) +584 0.00% 91.31%
main/Kyoto/Audio/DolphinCAudioSys rstl::red_black_tree<rstl::basic_string<char, rstl::char_traits<char>, rstl::rmemory_allocator>, rstl::pair<rstl::basic_string<char, rstl::char_traits<char>, rstl::rmemory_allocator>, rstl::ncrc_ptr<CAudioGroupSet>>, 0, rstl::select1st<rstl::pair<rstl::basic_string<char, rstl::char_traits<char>, rstl::rmemory_allocator>, rstl::ncrc_ptr<CAudioGroupSet>>>, rstl::less<rstl::basic_string<char, rstl::char_traits<char>, rstl::rmemory_allocator>>, rstl::rmemory_allocator>::insert_into(rstl::red_black_tree<rstl::basic_string<char, rstl::char_traits<char>, rstl::rmemory_allocator>, rstl::pair<rstl::basic_string<char, rstl::char_traits<char>, rstl::rmemory_allocator>, rstl::ncrc_ptr<CAudioGroupSet>>, 0, rstl::select1st<rstl::pair<rstl::basic_string<char, rstl::char_traits<char>, rstl::rmemory_allocator>, rstl::ncrc_ptr<CAudioGroupSet>>>, rstl::less<rstl::basic_string<char, rstl::char_traits<char>, rstl::rmemory_allocator>>, rstl::rmemory_allocator>::node*, const rstl::pair<rstl::basic_string<char, rstl::char_traits<char>, rstl::rmemory_allocator>, rstl::ncrc_ptr<CAudioGroupSet>>&) +584 0.00% 91.31%
main/MetroidPrime/Player/CPlayerGun CPlayerGun::UpdateNormalShotCycle(float, CStateManager&) +568 0.65% 92.17%
main/MetroidPrime/Player/CPlayerGun CPlayerGun::ActivateCombo(CStateManager&) +560 0.63% 89.15%
main/Kyoto/Audio/DolphinCAudioSys rstl::red_black_tree<unsigned int, rstl::pair<unsigned int, rstl::basic_string<char, rstl::char_traits<char>, rstl::rmemory_allocator>>, 0, rstl::select1st<rstl::pair<unsigned int, rstl::basic_string<char, rstl::char_traits<char>, rstl::rmemory_allocator>>>, rstl::less<unsigned int>, rstl::rmemory_allocator>::insert_into(rstl::red_black_tree<unsigned int, rstl::pair<unsigned int, rstl::basic_string<char, rstl::char_traits<char>, rstl::rmemory_allocator>>, 0, rstl::select1st<rstl::pair<unsigned int, rstl::basic_string<char, rstl::char_traits<char>, rstl::rmemory_allocator>>>, rstl::less<unsigned int>, rstl::rmemory_allocator>::node*, const rstl::pair<unsigned int, rstl::basic_string<char, rstl::char_traits<char>, rstl::rmemory_allocator>>&) +519 0.00% 91.46%
main/MetroidPrime/Player/CPlayerGun CPlayerGun::DoUserAnimEvents(float, CStateManager&) +426 0.81% 86.70%
main/MetroidPrime/Player/CPlayerGun CPlayerGun::DropBomb(CPlayerGun::EBWeapon, CStateManager&) +383 0.68% 66.30%
main/MetroidPrime/ScriptObjects/CScriptPlatform CScriptPlatform::AddSlave(TUniqueId, CStateManager&) +336 0.00% 73.18%
main/MetroidPrime/Player/CPlayerGun CPlayerGun::UpdateLeftArmTransform(const CModelData&, const CStateManager&) +231 1.69% 99.98%
main/MetroidPrime/Player/CPlayerGun CPlayerGun::CreateGunLight(CStateManager&) +230 1.45% 84.90%
main/MetroidPrime/Player/CPlayerGun CPlayerGun::LoadHandAnimTokens() +225 1.69% 97.25%
main/MetroidPrime/Player/CPlayerGun CPlayerGun::DrawArm(const CStateManager&, const CVector3f&, const CModelFlags&) const +185 1.27% 59.57%
main/MetroidPrime/Player/CGrappleArm CGrappleArm::TouchModel(const CStateManager&) const +178 0.00% 87.25%
main/MetroidPrime/Player/CPlayerGun CPlayerGun::InitMuzzleData() +131 66.05% 92.34%
main/Kyoto/Audio/CDSPStreamManager CDSPStreamManager::UpdateVolume(int, char) +123 0.00% 80.97%
main/MetroidPrime/Player/CPlayerGun CPlayerGun::UpdateWeaponFire(float, CPlayerState&, CStateManager&) +105 86.68% 94.24%
main/MetroidPrime/Player/CPlayerGun .rodata +62 58.54% 95.50%
main/MetroidPrime/Player/CPlayerGun __sinit_CPlayerGun_cpp +35 91.06% 96.62%
main/MetroidPrime/Player/CPlayerGun CPlayerGun::PreRender(CStateManager&, const CFrustumPlanes&, const CVector3f&) +29 94.62% 99.50%
main/MetroidPrime/Weapons/WeaponTypes CGunWeapon::GetShotDamageInfo(const CDamageInfo&, CStateManager&) const +24 87.77% 99.15%
main/MetroidPrime/Player/CPlayerGun .sdata2 +8 0.00% 3.23%
main/MetroidPrime/Player/CPlayerGun CPlayerGun::CPlayerGun(TUniqueId) +8 98.84% 99.15%
main/MetroidPrime/Weapons/CGunWeapon CGunWeapon::GetDamageInfo(CStateManager&, CPlayerState::EChargeStage, float) +1 53.07% 53.16%
📉 2 regressions in unmatched items
Unit Item Bytes Before After
main/MetroidPrime/Player/CPlayerGun CPlayerGun::UpdateGunIdle(bool, float, float, CStateManager&) -31 89.19% 87.55%
main/MetroidPrime/Player/CPlayerGun .sdata -1 54.05% 51.61%

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