Skip to content

Improve CSlideShow PAL matching - #564

Open
encounter wants to merge 1 commit into
mainfrom
codex/pal-slideshow
Open

encounter wants to merge 1 commit into
mainfrom
codex/pal-slideshow

Conversation

@encounter

Copy link
Copy Markdown
Member

Recover PAL tiled slides and localized labels, correct resource layouts, and link CTweakSlideShow.

@decomp-dev

decomp-dev Bot commented Sep 22, 2026

Copy link
Copy Markdown

Report for GM8E01_48 (1ca34d7 - d4cff8d)

No changes

Report for GM8J01_00 (1ca34d7 - d4cff8d)

📈 Matched code: 15.85% (+0.05%, +2088 bytes)

✅ 2 new matches
Unit Item Bytes Before After
main/MetroidPrime/Tweaks/CTweakPlayerRes CTweakPlayerRes::CTweakPlayerRes(CInputStream&) +321 83.40% 100.00%
main/MetroidPrime/Tweaks/CTweakSlideShow CTweakSlideShow::~CTweakSlideShow() +17 89.64% 100.00%
📈 1 improvement in an unmatched item
Unit Item Bytes Before After
main/MetroidPrime/CPauseScreen CPauseScreen::ProcessControllerInput(const CStateManager&, const CFinalInput&) +1 97.15% 97.17%

Report for GM8P01_00 (1ca34d7 - d4cff8d)

📈 Matched code: 72.68% (+0.39%, +15364 bytes)
📈 Linked code: 24.22% (+0.02%, +724 bytes)
📈 Matched data: 74.99% (+0.60%, +5168 bytes)
📈 Linked data: 28.25% (+0.00%, +24 bytes)

✅ 60 new matches
Unit Item Bytes Before After
main/MetroidPrime/CSlideShow CSlideShow::SSlideData::InitializeViewport() +716 0.00% 100.00%
main/MetroidPrime/Tweaks/CTweakSlideShow CTweakSlideShow::CTweakSlideShow(CInputStream&) +524 0.00% 100.00%
main/MetroidPrime/CSlideShow CSlideShow::SSlideData::Draw() const +464 0.00% 100.00%
main/MetroidPrime/CSlideShow CSlideShow::DrawSlideNumber() const +414 29.73% 100.00%
main/MetroidPrime/CSlideShow CSlideShow::SSlideData::IsLoaded() const +380 0.00% 100.00%
main/MetroidPrime/Tweaks/CTweakPlayerRes CTweakPlayerRes::CTweakPlayerRes(CInputStream&) +321 83.40% 100.00%
main/MetroidPrime/Tweaks/CTweakPlayerRes read_map_icons(CInputStream&) +320 0.00% 100.00%
main/MetroidPrime/CSlideShow rstl::vector<CSlideShow::STexture, rstl::rmemory_allocator>::reserve(int) +232 0.00% 100.00%
main/MetroidPrime/CSlideShow rstl::vector<rstl::basic_string<wchar_t, rstl::char_traits<wchar_t>, rstl::rmemory_allocator>, rstl::rmemory_allocator>::erase(rstl::pointer_iterator<rstl::basic_string<wchar_t, rstl::char_traits<wchar_t>, rstl::rmemory_allocator>, rstl::vector<rstl::basic_string<wchar_t, rstl::char_traits<wchar_t>, rstl::rmemory_allocator>, rstl::rmemory_allocator>, rstl::rmemory_allocator>, rstl::pointer_iterator<rstl::basic_string<wchar_t, rstl::char_traits<wchar_t>, rstl::rmemory_allocator>, rstl::vector<rstl::basic_string<wchar_t, rstl::char_traits<wchar_t>, rstl::rmemory_allocator>, rstl::rmemory_allocator>, rstl::rmemory_allocator>) +224 0.00% 100.00%
main/MetroidPrime/CSlideShow rstl::vector<const SObjectTag*, rstl::rmemory_allocator>::reserve(int) +212 0.00% 100.00%
main/MetroidPrime/CSlideShow CSlideShow::SSlideData::Reset() +200 0.00% 100.00%
main/MetroidPrime/CSlideShow CSlideShow::SSlideData::operator=(const CSlideShow::SSlideData&) +188 0.00% 100.00%
main/MetroidPrime/Tweaks/CTweaks .bss +183 96.39% 100.00%
main/MetroidPrime/CSlideShow rstl::vector<rstl::basic_string<wchar_t, rstl::char_traits<wchar_t>, rstl::rmemory_allocator>, rstl::rmemory_allocator>::~vector() +172 0.00% 100.00%
main/MetroidPrime/CSlideShow rstl::vector<CSlideShow::STexture, rstl::rmemory_allocator>::operator=(const rstl::vector<CSlideShow::STexture, rstl::rmemory_allocator>&) +160 0.00% 100.00%
main/MetroidPrime/CSlideShow CStateManager::CalculateScanCompletionRate() const +144 0.00% 100.00%
main/MetroidPrime/CSlideShow rstl::vector<CSlideShow::STexture, rstl::rmemory_allocator>::~vector() +140 0.00% 100.00%
main/MetroidPrime/CSlideShow rstl::destroy<rstl::pointer_iterator<CSlideShow::STexture, rstl::vector<CSlideShow::STexture, rstl::rmemory_allocator>, rstl::rmemory_allocator>>(rstl::pointer_iterator<CSlideShow::STexture, rstl::vector<CSlideShow::STexture, rstl::rmemory_allocator>, rstl::rmemory_allocator>, rstl::pointer_iterator<CSlideShow::STexture, rstl::vector<CSlideShow::STexture, rstl::rmemory_allocator>, rstl::rmemory_allocator>) +136 0.00% 100.00%
main/MetroidPrime/CSlideShow rstl::vector<CSlideShow::SGalleryData, rstl::rmemory_allocator>::push_back(const CSlideShow::SGalleryData&) +124 0.00% 100.00%
main/MetroidPrime/CSlideShow rstl::vector<CSlideShow::STexture, rstl::rmemory_allocator>::push_back(const CSlideShow::STexture&) +124 0.00% 100.00%
main/MetroidPrime/CSlideShow rstl::uninitialized_copy<rstl::pointer_iterator<CSlideShow::SGalleryData, rstl::vector<CSlideShow::SGalleryData, rstl::rmemory_allocator>, rstl::rmemory_allocator>, CSlideShow::SGalleryData*>(rstl::pointer_iterator<CSlideShow::SGalleryData, rstl::vector<CSlideShow::SGalleryData, rstl::rmemory_allocator>, rstl::rmemory_allocator>, rstl::pointer_iterator<CSlideShow::SGalleryData, rstl::vector<CSlideShow::SGalleryData, rstl::rmemory_allocator>, rstl::rmemory_allocator>, CSlideShow::SGalleryData*) +104 0.00% 100.00%
main/MetroidPrime/CSlideShow rstl::uninitialized_copy<rstl::pointer_iterator<CSlideShow::STexture, rstl::vector<CSlideShow::STexture, rstl::rmemory_allocator>, rstl::rmemory_allocator>, CSlideShow::STexture*>(rstl::pointer_iterator<CSlideShow::STexture, rstl::vector<CSlideShow::STexture, rstl::rmemory_allocator>, rstl::rmemory_allocator>, rstl::pointer_iterator<CSlideShow::STexture, rstl::vector<CSlideShow::STexture, rstl::rmemory_allocator>, rstl::rmemory_allocator>, CSlideShow::STexture*) +104 0.00% 100.00%
main/MetroidPrime/CSlideShow rstl::uninitialized_copy<CSlideShow::STexture*, CSlideShow::STexture*>(CSlideShow::STexture*, CSlideShow::STexture*, CSlideShow::STexture*) +100 0.00% 100.00%
main/MetroidPrime/CSlideShow rstl::vector<CSlideShow::STexture, rstl::rmemory_allocator>::clear() +96 0.00% 100.00%
main/MetroidPrime/Tweaks/CTweakPlayerRes CTweakPlayerRes::~CTweakPlayerRes() +94 90.84% 100.00%
main/MetroidPrime/CSlideShow CSlideShow::~CSlideShow() +92 74.99% 100.00%
main/MetroidPrime/CSlideShow CSlideShow::SSlideData::~SSlideData() +88 0.00% 100.00%
main/MetroidPrime/CSlideShow rstl::vector<rstl::basic_string<wchar_t, rstl::char_traits<wchar_t>, rstl::rmemory_allocator>, rstl::rmemory_allocator>::erase(rstl::pointer_iterator<rstl::basic_string<wchar_t, rstl::char_traits<wchar_t>, rstl::rmemory_allocator>, rstl::vector<rstl::basic_string<wchar_t, rstl::char_traits<wchar_t>, rstl::rmemory_allocator>, rstl::rmemory_allocator>, rstl::rmemory_allocator>) +76 0.00% 100.00%
main/MetroidPrime/CSlideShow rstl::construct<CSlideShow::STexture>(void*, const CSlideShow::STexture&) +76 0.00% 100.00%
main/MetroidPrime/CSlideShow rstl::vector<rstl::basic_string<wchar_t, rstl::char_traits<wchar_t>, rstl::rmemory_allocator>, rstl::rmemory_allocator>::reserve(int) +65 70.31% 100.00%

...and 30 more new matches

📈 20 improvements in unmatched items
Unit Item Bytes Before After
main/MetroidPrime/CSlideShow CSlideShow::OnMessage(const CArchitectureMessage&, CArchitectureQueue&) +1891 0.00% 99.99%
main/MetroidPrime/CSlideShow CSlideShow::BuildGalleryLists(unsigned int) +881 0.00% 97.04%
main/MetroidPrime/CSlideShow CSlideShow::LoadSlide() +691 0.00% 99.99%
main/MetroidPrime/CSlideShow UpdatePersistentScanPercent(int, int, int) +495 0.00% 99.98%
main/MetroidPrime/CSlideShow CSlideShow::CSlideShow() +245 83.53% 99.62%
main/MetroidPrime/CSlideShow CSlideShow::SSlideData::ProcessUserInput(const CFinalInput&) +209 80.79% 99.53%
main/MetroidPrime/CSlideShow .rodata +29 91.31% 96.43%
main/MetroidPrime/CSlideShow .sdata +29 71.43% 94.12%
main/MetroidPrime/CSlideShow CSlideShow::UpdateControlsText(const CFinalInput&) +21 98.42% 99.64%
main/MetroidPrime/CSlideShow .sdata2 +11 4.35% 12.73%
main/MetroidPrime/Tweaks/CTweakSlideShow .sdata2 +4 0.00% 50.00%
main/MetroidPrime/CPauseScreen CPauseScreen::ProcessControllerInput(const CStateManager&, const CFinalInput&) +1 97.15% 97.17%
main/MetroidPrime/CSlideShow CSlideShow::UpdateControls(float) +1 99.66% 99.89%
main/MetroidPrime/CFrontEndUI CFrontEndUI::StartSlideShow(CArchitectureQueue&) 0 99.91% 99.94%
main/MetroidPrime/CPauseScreen CPauseScreenBase::InitializeFrameGlue() 0 85.91% 85.91%
main/MetroidPrime/Cameras/CCinematicCamera CCinematicCamera::GenerateMoveOutofIntoPoints(bool, CStateManager&) 0 88.09% 88.09%
main/MetroidPrime/CAutoMapper CAutoMapper::CAutoMapper(const CStateManager&) 0 46.44% 46.45%
main/MetroidPrime/CAutoMapper CAutoMapper::ProcessControllerInput(const CFinalInput&, const CStateManager&) 0 96.52% 96.52%
main/MetroidPrime/CAutoMapper CAutoMapper::Update(float, const CStateManager&) 0 95.93% 95.93%
main/MetroidPrime/CSlideShow CSlideShow::UpdateSlideNumber(float) 0 99.81% 99.99%

Report for GM8E01_02 (1ca34d7 - d4cff8d)

No changes

Report for GM8E01_01 (1ca34d7 - d4cff8d)

No changes

Report for GM8E01_00 (1ca34d7 - d4cff8d)

No changes

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