Fix extended hash in exported url #7280
Draft
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.
Fixes #6736 .
Description of the problem being solved:
Currently the passive URL generated during export is different to the one from the official site.
This is because PoB generates the extended hashes using by converting an internal nodeId and doesn't sort the hashes before encoding.
This PR aligns the extended hashes with what is exported from the official site, as well as ensuring the same sorting of the hashes to generate the same URL as the official site.
Whats changed?
nodeId
for cluster nodes has been updated to include 2 bits which determine the type of socket the cluster jewel is a part of. This will be 0 if the node belongs to a cluster jewel socketed into a large cluster socket, 1 if socketed into a medium cluster socket and 2 if socketed into a small cluster socket.nodeId
also includes a new bit flag to indicate if it's using the new version to allow for backwards compatibility. This means that previously saved builds will still load correctly.PassiveSpecClass:EncodeURL()
Steps taken to verify a working solution: