summaryrefslogtreecommitdiff
path: root/lib/binarytools
diff options
context:
space:
mode:
authorKiritoDv <kiritodev01@gmail.com>2023-09-01 00:51:51 -0600
committerKiritoDv <kiritodev01@gmail.com>2023-09-01 00:51:51 -0600
commit113472302904ac84d4ddf70df32ca245ad156bf2 (patch)
tree9a82a79c2542749d26db93b414dc52e0ec72ed7f /lib/binarytools
parent3bb2a8a13c4ff3b637bf02b9c01d632585b269bb (diff)
Migrated disassemble audio into audio manager class
Diffstat (limited to 'lib/binarytools')
-rw-r--r--lib/binarytools/BinaryReader.cpp23
-rw-r--r--lib/binarytools/BinaryReader.h2
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();