Skip to content
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

Fix issue finding GetFieldDefaultValue on 2021.3.23 #90

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

limoka
Copy link
Contributor

@limoka limoka commented May 7, 2023

This PR fixes an issue where Class::GetDefaultFieldValue() is not found by signature and traversal search returns wrong value because of compiler optimization.
Added a check for such optimization and added the signature from the game where issue occured.
Tested on Idle Slayer Unity 2021.3.23 and Core Keeper Unity 2021.3.14

@ds5678
Copy link
Collaborator

ds5678 commented Dec 13, 2024

@limoka can you rebase?

@limoka limoka force-pushed the fix_finding_get_field_default_value branch from 4e6132e to 37168ce Compare January 16, 2025 14:17
@limoka
Copy link
Contributor Author

limoka commented Jan 16, 2025

@ds5678 rebased as you asked. Sorry it took a while, I was busy with IRL things.

@limoka
Copy link
Contributor Author

limoka commented Jan 18, 2025

@ds5678 addressed your comments. You can have a look at why these changes were made in these Discord messages. https://discord.com/channels/623153565053222947/623153565661265952/1104817110888235018

This message in particular shows exactly the situation in which this check is triggered.

A correct match should not contain more than 4 jumps, at least on metadata version 30 and below (IDK about further versions, this needs more testing)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants