summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKiritoDv <kiritodev01@gmail.com>2023-09-18 18:48:26 -0600
committerKiritoDv <kiritodev01@gmail.com>2023-09-18 18:48:26 -0600
commit00bb8fa3477511a655669cb26277594b4bf9d370 (patch)
tree012bebf1327b732879ba6a91a5ed0c29803486b4
parent820ccb1996e1bd5fd52bc95608f05075a2a534b0 (diff)
parent9421c024c891a883b547babdee471d8ca300ec0a (diff)
Fixed main conflicts
-rw-r--r--.gitignore3
-rw-r--r--src/audio/AIFCDecode.cpp8
-rw-r--r--src/audio/AudioManager.cpp10
-rw-r--r--src/audio/AudioManager.h2
4 files changed, 17 insertions, 6 deletions
diff --git a/.gitignore b/.gitignore
index 3eaed48..b32197e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -6,4 +6,5 @@ cmake-build-*/
.DS_Store
debug/
*.z64
-*.n64 \ No newline at end of file
+*.n64
+build/
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])
diff --git a/src/audio/AudioManager.cpp b/src/audio/AudioManager.cpp
index 2bd1960..c1475a7 100644
--- a/src/audio/AudioManager.cpp
+++ b/src/audio/AudioManager.cpp
@@ -508,7 +508,7 @@ void serialize_f80(double num, LUS::BinaryWriter &writer) {
#define START_SECTION(section) \
{ \
- out.Write(BSWAP32(section)); \
+ out.Write((uint32_t) BSWAP32(section)); \
LUS::BinaryWriter tmp = LUS::BinaryWriter(); \
tmp.SetEndianness(LUS::Endianness::Big); \
@@ -516,7 +516,7 @@ void serialize_f80(double num, LUS::BinaryWriter &writer) {
{ \
LUS::BinaryWriter tmp = LUS::BinaryWriter(); \
tmp.SetEndianness(LUS::Endianness::Big); \
- out.Write(BSWAP32(AIFC::MagicValues::AAPL)); \
+ out.Write((uint32_t) BSWAP32(AIFC::MagicValues::AAPL)); \
tmp.Write(AIFC::MagicValues::stoc); \
tmp.Write(section, false); \
@@ -524,7 +524,7 @@ void serialize_f80(double num, LUS::BinaryWriter &writer) {
auto odata = tmp.ToVector(); \
size_t size = odata.size(); \
len += ALIGN(size, 2) + 8; \
- out.Write(BSWAP32((uint32_t) size)); \
+ out.Write((uint32_t) BSWAP32((uint32_t) size)); \
out.Write(odata.data(), odata.size()); \
if(size % 2){ \
out.WriteByte(0); \
@@ -562,10 +562,10 @@ void AudioManager::write_aifc(AudioBankSample* entry, LUS::BinaryWriter &out) {
}
}
- out.Write(BSWAP32(AIFC::MagicValues::FORM));
+ out.Write((uint32_t) BSWAP32(AIFC::MagicValues::FORM));
// This should be where the size is, but we need to write it later
out.Write((uint32_t) 0);
- out.Write(BSWAP32(AIFC::MagicValues::AIFC));
+ out.Write((uint32_t) BSWAP32(AIFC::MagicValues::AIFC));
START_SECTION(AIFC::MagicValues::COMM);
diff --git a/src/audio/AudioManager.h b/src/audio/AudioManager.h
index 23aa875..dfe662f 100644
--- a/src/audio/AudioManager.h
+++ b/src/audio/AudioManager.h
@@ -6,6 +6,8 @@
#include <iostream>
#include <yaml-cpp/yaml.h>
#include "binarytools/BinaryWriter.h"
+#include <variant>
+#include <optional>
#define NONE 0xFFFF
#define ALIGN(val, al) (size_t) ((val + (al - 1)) & -al)