-
-
Notifications
You must be signed in to change notification settings - Fork 155
Open
Description
Not handling this results in segfault (with boost on) or "Expected to read xxx bytes, but only read yyy bytes" error (with boost off).
Its typetree from one of my files (int vesion = 1)
ManagedReferencesRegistry references // typeFlag=4 metaFlag=8001
int version // typeFlag=0 metaFlag=1
ReferencedObject 00000000 // typeFlag=0 metaFlag=8001
ReferencedManagedType type // typeFlag=0 metaFlag=208001
string class // typeFlag=0 metaFlag=208001
Array Array // typeFlag=1 metaFlag=204001
int size // typeFlag=0 metaFlag=200001
char data // typeFlag=0 metaFlag=200001
string ns // typeFlag=0 metaFlag=208001
Array Array // typeFlag=1 metaFlag=204001
int size // typeFlag=0 metaFlag=200001
char data // typeFlag=0 metaFlag=200001
string asm // typeFlag=0 metaFlag=208001
Array Array // typeFlag=1 metaFlag=204001
int size // typeFlag=0 metaFlag=200001
char data // typeFlag=0 metaFlag=200001
ReferencedObjectData data // typeFlag=0 metaFlag=1
Only one ReferencedObject is listed in the tree, however there are more ReferencedObject's after that.
Specifically, only stop when you get a ReferencedManagedType of ("Terminus", "UnityEngine.DMAT", "FAKE_ASM").
And in this case, managedRefArrayItem.id seems to be an index into this ReferencedObject array.
See also: https://github.com/Unity-Technologies/UnityDataTools/blob/main/TextDumper/TextDumperTool.cs#L308
Metadata
Metadata
Assignees
Labels
No labels