Add PropertyLoadable/UI hierarchy bintype strings - #36
Open
Crauzer wants to merge 1 commit into
Open
Conversation
Six class names recovered by FNV-1a brute force, constrained by the alphabetical order of the client's static-init MetaClass_register run.
Crauzer
force-pushed
the
add-propertyloadable-ui-hashes
branch
from
July 28, 2026 10:44
8da2dfa to
3bb4f00
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Six
hashes.bintypes.txtentries recovered while reversing the client'sPropertyLoadablehierarchy.174c7096UiComponent7ec8e5edUiBehaviorc7a79d2bGameScreenContainerBase65c802beIGameScreenNodee75836d4GameEntityTemplateLocatorPreviewde5dac9eGameEntityTemplateProxyLinkFNV-1a-32 brute force, constrained by the alphabetical order of the client's static-init
MetaClass_registerrun — registrars are emitted roughly alphabetically, so an unnamed class is bracketed by its named neighbours. All six are exact hash matches that also land in their expected registrar slot.Supporting evidence:
UiComponent'snameproperty holds a.../Components/...WAD path whose xxHash64 equals its inheritedFilepathHash;UiBehavioris theList2element type ofUiComponent's0xa1e5aa85;GameScreenContainerBasemixes inIGameScreenNodeas a secondary base at offset 32; the twoGameEntityTemplate*classes register immediately afterGameEntityTemplate.Not included:
0x858de500matchesGameScreenNodeLocalizedScriptsexactly but registers in theUi*block where that name doesn't belong — treated as a coincidence until corroborated.Sorted with
LC_ALL=Cpertools/hashes-prepare.Researched and prepared with the help of an LLM; every hash was verified against shipped data.