Skip to content

Conversation

@DeathHound6
Copy link
Member

No description provided.

@decomp-dev
Copy link

decomp-dev bot commented Oct 17, 2025

Report for SALE4Q (14694f4 - 82939da)

No changes

Report for SALP4Q (14694f4 - 82939da)

📈 Matched code: 0.27% (+0.01%, +344 bytes)

✅ 1 new match
Unit Function Bytes Before After
main/K/KCore/Main/CKYellowPages CKYellowPages::FindNonRecreableInstances(unsigned long, unsigned long, unsigned long, IKBaseClass***) +99 71.44% 100.00%

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR refactors the CKYellowPages class to use more specific interface types instead of generic void* pointers. The changes improve type safety by replacing void* with IKSerializable* and IKBaseClass*** where appropriate, and refactor the FindNonRecreableInstances method to use proper interface types and cleaner switch-case logic.

Key changes:

  • Updated multiple member variables and function signatures to use IKSerializable* instead of void*
  • Changed FindNonRecreableInstances parameter from s32* to IKBaseClass*** to properly represent pointer-to-pointer-to-pointer types
  • Refactored the FindNonRecreableInstances implementation to use nested switches and virtual method calls instead of manual vtable lookups

Reviewed Changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
src/K/KCore/Main/CKYellowPages.h Updated member variable types and function signatures to use interface types instead of void pointers
src/K/KCore/Main/CKYellowPages.cpp Refactored FindNonRecreableInstances implementation and updated function definitions to match header changes
src/K/KCore/Interfaces/IKBaseClass.h Updated virtual method signature from FindNonRecreableInstance to FindNonRecreableInstances with proper parameters
config/SALP4Q/symbols.txt Updated mangled symbol names to reflect new function signatures
config/SALP4Q/splits.txt Added data section mapping for CKYellowPages jump table

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

break;
case 1:
iVar2 = FUN_801bb454(this->m_pServiceManager,c);
iVar2 = FUN_801bb454(this->m_pServiceManager, b);
Copy link

Copilot AI Oct 17, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Function call passes parameter b but the surrounding case statement suggests this should be parameter c (case 1 should use the third parameter, not the second).

Suggested change
iVar2 = FUN_801bb454(this->m_pServiceManager, b);
iVar2 = FUN_801bb454(this->m_pServiceManager, c);

Copilot uses AI. Check for mistakes.
*ppInstances = (IKBaseClass**)this->m_pInput;
break;
default:
if (b != 4)
Copy link

Copilot AI Oct 17, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This condition check for b != 4 is redundant as it's already inside the case 4 branch of the outer switch statement, which only executes when b == 4. This code is unreachable.

Copilot uses AI. Check for mistakes.
found = (*(FuncType*)(*(int*)this->m_pSrvCollision + 0x24))();
}
else
if (b == 6)
Copy link

Copilot AI Oct 17, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The condition checks parameter b but cases 10 and 13 should likely check parameter c based on the original code structure (case 11 checked c == 6).

Suggested change
if (b == 6)
if (c == 6)

Copilot uses AI. Check for mistakes.
@DeathHound6 DeathHound6 merged commit ebc98b3 into master Oct 17, 2025
4 checks passed
@DeathHound6 DeathHound6 deleted the game/yellowpages branch October 17, 2025 18:29
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