diff options
| author | KiritoDv <kiritodev01@gmail.com> | 2023-09-18 18:48:26 -0600 |
|---|---|---|
| committer | KiritoDv <kiritodev01@gmail.com> | 2023-09-18 18:48:26 -0600 |
| commit | 00bb8fa3477511a655669cb26277594b4bf9d370 (patch) | |
| tree | 012bebf1327b732879ba6a91a5ed0c29803486b4 | |
| parent | 820ccb1996e1bd5fd52bc95608f05075a2a534b0 (diff) | |
| parent | 9421c024c891a883b547babdee471d8ca300ec0a (diff) | |
Fixed main conflicts
| -rw-r--r-- | .gitignore | 3 | ||||
| -rw-r--r-- | src/audio/AIFCDecode.cpp | 8 | ||||
| -rw-r--r-- | src/audio/AudioManager.cpp | 10 | ||||
| -rw-r--r-- | src/audio/AudioManager.h | 2 |
4 files changed, 17 insertions, 6 deletions
@@ -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) |
