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<typename T>
- inline std::size_t Copy(uint8_t* data, T& field) {
- std::memcpy(data, &AI_BE(field), sizeof(field)); return sizeof(field);
- }
+ template<typename T>
+ 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];