diff --git a/plugins/Assimp/CustomStream.cpp b/plugins/Assimp/CustomStream.cpp index d7ae0db27..2654211ff 100644 --- a/plugins/Assimp/CustomStream.cpp +++ b/plugins/Assimp/CustomStream.cpp @@ -23,7 +23,7 @@ void StreamFlush(aiFile* file) size_t StreamRead(aiFile* file, char* buffer, size_t size, size_t count) { Stream* stream = reinterpret_cast(file->UserData); - return stream->Read(buffer, size * count); + return stream->Read(buffer, size * count) / size; } aiReturn StreamSeek(aiFile* file, size_t offset, aiOrigin origin) @@ -71,12 +71,15 @@ aiFile* StreamOpener(aiFileIO* fileIO, const char* filePath, const char* openMod FileIOUserdata* fileIOUserdata = reinterpret_cast(fileIO->UserData); bool isOriginalStream = (std::strcmp(filePath, fileIOUserdata->originalFilePath) == 0); - if (!isOriginalStream && strstr(filePath, StreamPath) != 0) + if (!isOriginalStream && strstr(filePath, StreamPath) != nullptr) return nullptr; aiUserData stream; if (isOriginalStream) + { stream = reinterpret_cast(fileIOUserdata->originalStream); + fileIOUserdata->originalStream->SetCursorPos(0); + } else { ErrorFlags errFlags(ErrorMode::ThrowExceptionDisabled, true);