Hello Aron, after some research I’am write a little extension (for parse int32 from binary stream)
here it is:
public static class BinaryReaderExtension
{
public static bool IsEndOfStream(this System.IO.BinaryReader reader)
{
return reader.BaseStream.Position == reader.BaseStream.Length;
}
public static int ReadInt32(this System.IO.BinaryReader reader)
{
int result = 0;
if (reader.IsEndOfStream())
return result;
byte[] intBytes = null;
intBytes = reader.ReadBytes(4);
if(intBytes.Length > 0)
result = System.BitConverter.ToInt32(intBytes, 0);
return result;
}
}
And change small code: http://take.ms/dNaEV
P.S.: Now I see correct values
After it I don’t see exception which I saw yesterday, but current my broblem in that:
"Node data did not match with bounds data. Probably a change to the bounds/width/depth data was made after scanning the graph just prior to saving it. Nodes will be discarded"
Here my new log from xCode:
Unloading 7 Unused Serialized files (Serialized files now loaded: 0)
UnloadTime: 3.962083 ms
7
uScript_Lerper:.ctor()
UnityEngine.Debug:Internal_Log(Int32, String, Object)
UnityEngine.Debug:Log(Object)
Pathfinding.Serialization.Zip.ZipFile:Read(Stream)
Pathfinding.Serialization.AstarSerializer:OpenDeserialize(Byte[])
Pathfinding.AstarData:DeserializeGraphs(Byte[])
Pathfinding.AstarData:LoadFromCache()
Pathfinding.AstarData:Awake()
AstarPath:Initialize()
AstarPath:Awake()
uScript_Lerper:.ctor()
(Filename: /Users/builduser/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebug.gen.cpp Line: 56)
name graph0.binary length 229 bytes 229
uScript_Lerper:.ctor()
UnityEngine.Debug:Internal_Log(Int32, String, Object)
UnityEngine.Debug:Log(Object)
Pathfinding.Serialization.Zip.ZipFile:Read(Stream)
Pathfinding.Serialization.AstarSerializer:OpenDeserialize(Byte[])
Pathfinding.AstarData:DeserializeGraphs(Byte[])
Pathfinding.AstarData:LoadFromCache()
Pathfinding.AstarData:Awake()
AstarPath:Initialize()
AstarPath:Awake()
uScript_Lerper:.ctor()
(Filename: /Users/builduser/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebug.gen.cpp Line: 56)
name graph0_nodes.binary length 0 bytes 0
uScript_Lerper:.ctor()
UnityEngine.Debug:Internal_Log(Int32, String, Object)
UnityEngine.Debug:Log(Object)
Pathfinding.Serialization.Zip.ZipFile:Read(Stream)
Pathfinding.Serialization.AstarSerializer:OpenDeserialize(Byte[])
Pathfinding.AstarData:DeserializeGraphs(Byte[])
Pathfinding.AstarData:LoadFromCache()
Pathfinding.AstarData:Awake()
AstarPath:Initialize()
AstarPath:Awake()
uScript_Lerper:.ctor()
(Filename: /Users/builduser/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebug.gen.cpp Line: 56)
name graph0_conns.binary length 0 bytes 0
uScript_Lerper:.ctor()
UnityEngine.Debug:Internal_Log(Int32, String, Object)
UnityEngine.Debug:Log(Object)
Pathfinding.Serialization.Zip.ZipFile:Read(Stream)
Pathfinding.Serialization.AstarSerializer:OpenDeserialize(Byte[])
Pathfinding.AstarData:DeserializeGraphs(Byte[])
Pathfinding.AstarData:LoadFromCache()
Pathfinding.AstarData:Awake()
AstarPath:Initialize()
AstarPath:Awake()
uScript_Lerper:.ctor()
(Filename: /Users/builduser/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebug.gen.cpp Line: 56)
name graph_references.binary length 90004 bytes 90004
uScript_Lerper:.ctor()
UnityEngine.Debug:Internal_Log(Int32, String, Object)
UnityEngine.Debug:Log(Object)
Pathfinding.Serialization.Zip.ZipFile:Read(Stream)
Pathfinding.Serialization.AstarSerializer:OpenDeserialize(Byte[])
Pathfinding.AstarData:DeserializeGraphs(Byte[])
Pathfinding.AstarData:LoadFromCache()
Pathfinding.AstarData:Awake()
AstarPath:Initialize()
AstarPath:Awake()
uScript_Lerper:.ctor()
(Filename: /Users/builduser/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebug.gen.cpp Line: 56)
name graph0_extra.binary length 495004 bytes 495004
uScript_Lerper:.ctor()
UnityEngine.Debug:Internal_Log(Int32, String, Object)
UnityEngine.Debug:Log(Object)
Pathfinding.Serialization.Zip.ZipFile:Read(Stream)
Pathfinding.Serialization.AstarSerializer:OpenDeserialize(Byte[])
Pathfinding.AstarData:DeserializeGraphs(Byte[])
Pathfinding.AstarData:LoadFromCache()
Pathfinding.AstarData:Awake()
AstarPath:Initialize()
AstarPath:Awake()
uScript_Lerper:.ctor()
(Filename: /Users/builduser/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebug.gen.cpp Line: 56)
name graph0_references.binary length 0 bytes 0
uScript_Lerper:.ctor()
UnityEngine.Debug:Internal_Log(Int32, String, Object)
UnityEngine.Debug:Log(Object)
Pathfinding.Serialization.Zip.ZipFile:Read(Stream)
Pathfinding.Serialization.AstarSerializer:OpenDeserialize(Byte[])
Pathfinding.AstarData:DeserializeGraphs(Byte[])
Pathfinding.AstarData:LoadFromCache()
Pathfinding.AstarData:Awake()
AstarPath:Initialize()
AstarPath:Awake()
uScript_Lerper:.ctor()
(Filename: /Users/builduser/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebug.gen.cpp Line: 56)
name meta.binary length 95 bytes 95
uScript_Lerper:.ctor()
UnityEngine.Debug:Internal_Log(Int32, String, Object)
UnityEngine.Debug:Log(Object)
Pathfinding.Serialization.Zip.ZipFile:Read(Stream)
Pathfinding.Serialization.AstarSerializer:OpenDeserialize(Byte[])
Pathfinding.AstarData:DeserializeGraphs(Byte[])
Pathfinding.AstarData:LoadFromCache()
Pathfinding.AstarData:Awake()
AstarPath:Initialize()
AstarPath:Awake()
uScript_Lerper:.ctor()
(Filename: /Users/builduser/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebug.gen.cpp Line: 56)
Trying to load data from a newer version of the A* Pathfinding Project
Current version: 3.6 Data version: 3.6.255.255
uScript_Lerper:.ctor()
UnityEngine.Debug:Internal_Log(Int32, String, Object)
UnityEngine.Debug:LogWarning(Object)
Pathfinding.Serialization.AstarSerializer:OpenDeserialize(Byte[])
Pathfinding.AstarData:DeserializeGraphs(Byte[])
Pathfinding.AstarData:LoadFromCache()
Pathfinding.AstarData:Awake()
AstarPath:Initialize()
AstarPath:Awake()
uScript_Lerper:.ctor()
(Filename: /Users/builduser/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebug.gen.cpp Line: 56)
PostDeserialization228 width 150 depth 150
uScript_Lerper:.ctor()
UnityEngine.Debug:Internal_Log(Int32, String, Object)
UnityEngine.Debug:Log(Object)
Pathfinding.GridGraph:PostDeserialization()
VortexEffect:OnRenderImage(RenderTexture, RenderTexture)
Pathfinding.Serialization.AstarSerializer:PostDeserialization()
Pathfinding.AstarData:DeserializeGraphsPart(AstarSerializer)
Pathfinding.AstarData:DeserializeGraphs(Byte[])
Pathfinding.AstarData:LoadFromCache()
Pathfinding.AstarData:Awake()
AstarPath:Initialize()
AstarPath:Awake()
uScript_Lerper:.ctor()
(Filename: /Users/builduser/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebug.gen.cpp Line: 56)
Node data did not match with bounds data. Probably a change to the bounds/width/depth data was made after scanning the graph just prior to saving it. Nodes will be discarded
uScript_Lerper:.ctor()
UnityEngine.Debug:Internal_Log(Int32, String, Object)
UnityEngine.Debug:LogWarning(Object)
Pathfinding.GridGraph:PostDeserialization()
VortexEffect:OnRenderImage(RenderTexture, RenderTexture)
Pathfinding.Serialization.AstarSerializer:PostDeserialization()
Pathfinding.AstarData:DeserializeGraphsPart(AstarSerializer)
Pathfinding.AstarData:DeserializeGraphs(Byte[])
Pathfinding.AstarData:LoadFromCache()
Pathfinding.AstarData:Awake()
AstarPath:Initialize()
AstarPath:Awake()
uScript_Lerper:.ctor()
(Filename: /Users/builduser/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebug.gen.cpp Line: 56)
System memory in use before: 28.5 MB.
System memory in use after: 29.0 MB.
Unloading 23 unused Assets to reduce memory usage. Loaded Objects now: 17861.
Total: 22.612499 ms (FindLiveObjects: 5.821666 ms CreateObjectMapping: 0.844708 ms MarkObjects: 13.439040 ms DeleteObjects: 2.500083 ms)
After 20 minutes I found a problem with wrong nodes count: http://take.ms/cL8Zf
It main il2cpp bug wrong ReadInt32 method implementation (instead 4 bytes it read only one!)