Fix hash truncation for MWII (and MWIII technically) #17
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hashes in MWII and MWIII aren't truncated to 60 bits
There are many examples I could give as proof, but this is a snippet of the assembly that registers the lua C functions. The args are (luaVM, hash, func address). You can see with rdx being set to many different hash values, some (highlighted) are values that are higher than 0xFFFFFFFFFFFFFFF. Updating the decompiler so that it doesn't truncate the hashes for MWII and MWIII would make it much better to avoid confusion.
Edit: I was making this comment with the regular 0x7FFFFFFFFFFFFFFF truncation in mind, slight brain fart. Point still stands though, but now every single hash in that screenshot is proof except for the second one.