summaryrefslogtreecommitdiff
path: root/Runtime/Serialize/SwapEndianArray.h
diff options
context:
space:
mode:
Diffstat (limited to 'Runtime/Serialize/SwapEndianArray.h')
-rw-r--r--Runtime/Serialize/SwapEndianArray.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/Runtime/Serialize/SwapEndianArray.h b/Runtime/Serialize/SwapEndianArray.h
new file mode 100644
index 0000000..2fbf30f
--- /dev/null
+++ b/Runtime/Serialize/SwapEndianArray.h
@@ -0,0 +1,27 @@
+#ifndef SWAPENDIANARRAY_H
+#define SWAPENDIANARRAY_H
+
+#include "SwapEndianBytes.h"
+
+inline void SwapEndianArray (void* data, int bytesPerComponent, int count)
+{
+
+ if (bytesPerComponent == 2)
+ {
+ UInt16* p = (UInt16*)data;
+ for (int i=0;i<count;i++)
+ SwapEndianBytes (*p++);
+ }
+ else if (bytesPerComponent == 4)
+ {
+ UInt32* p = (UInt32*)data;
+ for (int i=0;i<count;i++)
+ SwapEndianBytes (*p++);
+ }
+ else
+ {
+ AssertIf (bytesPerComponent != 1);
+ }
+}
+
+#endif