diff --git a/src/Components/Modules/AssetInterfaces/IGfxWorld.cpp b/src/Components/Modules/AssetInterfaces/IGfxWorld.cpp index b7b2b44a..1ae642dd 100644 --- a/src/Components/Modules/AssetInterfaces/IGfxWorld.cpp +++ b/src/Components/Modules/AssetInterfaces/IGfxWorld.cpp @@ -231,7 +231,19 @@ namespace Assets if (aabbTree->smodelIndexes) { - aabbTree->smodelIndexes = reader.readArray(aabbTree->smodelIndexCount); + void* oldPointer = aabbTree->smodelIndexes; + if(builder->getAllocator()->isPointerMapped(oldPointer)) + { + // We still have to read it + reader.readArray(aabbTree->smodelIndexCount); + + aabbTree->smodelIndexes = builder->getAllocator()->getPointer(oldPointer); + } + else + { + aabbTree->smodelIndexes = reader.readArray(aabbTree->smodelIndexCount); + builder->getAllocator()->mapPointer(oldPointer, aabbTree->smodelIndexes); + } } } }