diff --git a/src/3rdparty/assimp/code/Bitmap.cpp b/src/3rdparty/assimp/code/Bitmap.cpp index 30b5744..e1f58b0 100644 --- a/src/3rdparty/assimp/code/Bitmap.cpp +++ b/src/3rdparty/assimp/code/Bitmap.cpp @@ -80,10 +80,15 @@ namespace Assimp { } } - template - inline std::size_t Copy(uint8_t* data, T& field) { - std::memcpy(data, &AI_BE(field), sizeof(field)); return sizeof(field); - } + template + inline std::size_t Copy(uint8_t* data, T& field) { +#ifdef AI_BUILD_BIG_ENDIAN + T field_swapped=AI_BE(field); + std::memcpy(data, &field_swapped, sizeof(field)); return sizeof(field); +#else + std::memcpy(data, &AI_BE(field), sizeof(field)); return sizeof(field); +#endif + } void Bitmap::WriteHeader(Header& header, IOStream* file) { uint8_t data[Header::header_size];