summaryrefslogtreecommitdiff
path: root/src/audio/AIFCDecode.cpp
diff options
context:
space:
mode:
authorKiritoDv <kiritodev01@gmail.com>2023-09-16 12:01:39 -0600
committerKiritoDv <kiritodev01@gmail.com>2023-09-16 12:01:39 -0600
commit9421c024c891a883b547babdee471d8ca300ec0a (patch)
tree5e1334e90c28aaa967ea609f011c984f81347cd2 /src/audio/AIFCDecode.cpp
parentae8487a4adc5d6d33c47d41e3a40d3c67ddb1e45 (diff)
Fixed animation and audio extraction on windows
Diffstat (limited to 'src/audio/AIFCDecode.cpp')
-rw-r--r--src/audio/AIFCDecode.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/audio/AIFCDecode.cpp b/src/audio/AIFCDecode.cpp
index 21eec08..e627ad0 100644
--- a/src/audio/AIFCDecode.cpp
+++ b/src/audio/AIFCDecode.cpp
@@ -8,6 +8,7 @@
#include <cstdio>
#include <cstdlib>
#include <cstdarg>
+#include <stdexcept>
#include "binarytools/BinaryWriter.h"
#include "BinaryReader.h"
@@ -24,10 +25,17 @@ typedef float f32;
#undef BSWAP32
#undef BSWAP64
+#ifdef _MSC_VER
+#define bswap16(x) _byteswap_ushort(x)
+#define bswap32(x) _byteswap_ulong(x)
+#define BSWAP16(x) x = bswap16(x)
+#define BSWAP32(x) x = bswap32(x)
+#else
#define bswap16(x) __builtin_bswap16(x)
#define bswap32(x) __builtin_bswap32(x)
#define BSWAP16(x) x = bswap16(x)
#define BSWAP32(x) x = bswap32(x)
+#endif
#define BSWAP16_MANY(x, n) for (s32 _i = 0; _i < n; _i++) BSWAP16((x)[_i])