-
Notifications
You must be signed in to change notification settings - Fork 0
Match most of CKYellowPages #18
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Report for SALE4Q (14694f4 - 82939da)No changesReport for SALP4Q (14694f4 - 82939da)📈 Matched code: 0.27% (+0.01%, +344 bytes) ✅ 1 new match
|
730b96e to
82939da
Compare
There was a problem hiding this 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 ofvoid* - Changed
FindNonRecreableInstancesparameter froms32*toIKBaseClass***to properly represent pointer-to-pointer-to-pointer types - Refactored the
FindNonRecreableInstancesimplementation 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); |
Copilot
AI
Oct 17, 2025
There was a problem hiding this comment.
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).
| iVar2 = FUN_801bb454(this->m_pServiceManager, b); | |
| iVar2 = FUN_801bb454(this->m_pServiceManager, c); |
| *ppInstances = (IKBaseClass**)this->m_pInput; | ||
| break; | ||
| default: | ||
| if (b != 4) |
Copilot
AI
Oct 17, 2025
There was a problem hiding this comment.
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.
| found = (*(FuncType*)(*(int*)this->m_pSrvCollision + 0x24))(); | ||
| } | ||
| else | ||
| if (b == 6) |
Copilot
AI
Oct 17, 2025
There was a problem hiding this comment.
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).
| if (b == 6) | |
| if (c == 6) |
No description provided.