Bladeren bron

Fix required for loading the binary gltf files included in the assimp unit test shapes.

OTHGMars 6 jaren geleden
bovenliggende
commit
698b7dddc2
2 gewijzigde bestanden met toevoegingen van 4 en 0 verwijderingen
  1. 2 0
      Engine/lib/assimp/code/glTF2Asset.inl
  2. 2 0
      Engine/lib/assimp/code/glTFAsset.inl

+ 2 - 0
Engine/lib/assimp/code/glTF2Asset.inl

@@ -405,6 +405,8 @@ inline void Buffer::Read(Value& obj, Asset& r)
 inline bool Buffer::LoadFromStream(IOStream& stream, size_t length, size_t baseOffset)
 inline bool Buffer::LoadFromStream(IOStream& stream, size_t length, size_t baseOffset)
 {
 {
     byteLength = length ? length : stream.FileSize();
     byteLength = length ? length : stream.FileSize();
+    if ((byteLength + baseOffset) > stream.FileSize())
+       byteLength = stream.FileSize() - baseOffset;
 
 
     if (baseOffset) {
     if (baseOffset) {
         stream.Seek(baseOffset, aiOrigin_SET);
         stream.Seek(baseOffset, aiOrigin_SET);

+ 2 - 0
Engine/lib/assimp/code/glTFAsset.inl

@@ -345,6 +345,8 @@ inline void Buffer::Read(Value& obj, Asset& r)
 inline bool Buffer::LoadFromStream(IOStream& stream, size_t length, size_t baseOffset)
 inline bool Buffer::LoadFromStream(IOStream& stream, size_t length, size_t baseOffset)
 {
 {
     byteLength = length ? length : stream.FileSize();
     byteLength = length ? length : stream.FileSize();
+    if ((byteLength + baseOffset) > stream.FileSize())
+       byteLength = stream.FileSize() - baseOffset;
 
 
     if (baseOffset) {
     if (baseOffset) {
         stream.Seek(baseOffset, aiOrigin_SET);
         stream.Seek(baseOffset, aiOrigin_SET);