diff options
| author | KiritoDv <kiritodev01@gmail.com> | 2023-09-01 00:51:51 -0600 |
|---|---|---|
| committer | KiritoDv <kiritodev01@gmail.com> | 2023-09-01 00:51:51 -0600 |
| commit | 113472302904ac84d4ddf70df32ca245ad156bf2 (patch) | |
| tree | 9a82a79c2542749d26db93b414dc52e0ec72ed7f /lib/binarytools | |
| parent | 3bb2a8a13c4ff3b637bf02b9c01d632585b269bb (diff) | |
Migrated disassemble audio into audio manager class
Diffstat (limited to 'lib/binarytools')
| -rw-r--r-- | lib/binarytools/BinaryReader.cpp | 23 | ||||
| -rw-r--r-- | lib/binarytools/BinaryReader.h | 2 |
2 files changed, 25 insertions, 0 deletions
diff --git a/lib/binarytools/BinaryReader.cpp b/lib/binarytools/BinaryReader.cpp index 3aff001..75044b0 100644 --- a/lib/binarytools/BinaryReader.cpp +++ b/lib/binarytools/BinaryReader.cpp @@ -2,6 +2,7 @@ #include "MemoryStream.h" #include <cmath> #include <stdexcept> +#include <locale> LUS::BinaryReader::BinaryReader(char* nBuffer, size_t nBufferSize) { mStream = std::make_shared<MemoryStream>(nBuffer, nBufferSize); @@ -113,6 +114,28 @@ uint64_t LUS::BinaryReader::ReadUInt64() { return result; } +unsigned short LUS::BinaryReader::ReadUShort() { + unsigned short result = 0; + mStream->Read((char*)&result, sizeof(unsigned short)); + + if (mEndianness != Endianness::Native) { + result = BSWAP16(result); + } + + return result; +} + +short LUS::BinaryReader::ReadShort() { + short result = 0; + mStream->Read((char*)&result, sizeof(short)); + + if (mEndianness != Endianness::Native) { + result = BSWAP16(result); + } + + return result; +} + float LUS::BinaryReader::ReadFloat() { float result = NAN; diff --git a/lib/binarytools/BinaryReader.h b/lib/binarytools/BinaryReader.h index 59eeb52..91e2a40 100644 --- a/lib/binarytools/BinaryReader.h +++ b/lib/binarytools/BinaryReader.h @@ -34,6 +34,8 @@ class BinaryReader { uint16_t ReadUInt16(); uint32_t ReadUInt32(); uint64_t ReadUInt64(); + unsigned short ReadUShort(); + short ReadShort(); float ReadFloat(); double ReadDouble(); std::string ReadString(); |
