aboutsummaryrefslogtreecommitdiff
path: root/common
diff options
context:
space:
mode:
authorD G Turner2017-07-30 17:26:04 +0100
committerEugene Sandulenko2017-07-30 22:03:29 +0200
commitd2a7c296a2dc7d3f7618acd5785f59ee8508a1f0 (patch)
tree069c3c1daa49cdd794293c28ec0f02419e198453 /common
parent06566151f92d2aa6d40b81972b3c342f038a2596 (diff)
downloadscummvm-rg350-d2a7c296a2dc7d3f7618acd5785f59ee8508a1f0.tar.gz
scummvm-rg350-d2a7c296a2dc7d3f7618acd5785f59ee8508a1f0.tar.bz2
scummvm-rg350-d2a7c296a2dc7d3f7618acd5785f59ee8508a1f0.zip
COMMON: Migrate Various Endian Functions to Common from Engine Code.
Thanks to N.E.C <beholdnec@gmail.com> for this.
Diffstat (limited to 'common')
-rw-r--r--common/endian.h32
1 files changed, 32 insertions, 0 deletions
diff --git a/common/endian.h b/common/endian.h
index 7278265961..e924b5142d 100644
--- a/common/endian.h
+++ b/common/endian.h
@@ -608,4 +608,36 @@ inline uint32 READ_BE_UINT24(const void *ptr) {
#define READ_UINT24(a) READ_BE_UINT24(a)
#endif
+inline int16 READ_LE_INT16(const void *ptr) {
+ return static_cast<int16>(READ_LE_UINT16(ptr));
+}
+
+inline void WRITE_LE_INT16(void *ptr, int16 value) {
+ WRITE_LE_UINT16(ptr, static_cast<uint16>(value));
+}
+
+inline int16 READ_BE_INT16(const void *ptr) {
+ return static_cast<int16>(READ_BE_UINT16(ptr));
+}
+
+inline void WRITE_BE_INT16(void *ptr, int16 value) {
+ WRITE_BE_UINT16(ptr, static_cast<uint16>(value));
+}
+
+inline int32 READ_LE_INT32(const void *ptr) {
+ return static_cast<int32>(READ_LE_UINT32(ptr));
+}
+
+inline void WRITE_LE_INT32(void *ptr, int32 value) {
+ WRITE_LE_UINT32(ptr, static_cast<uint32>(value));
+}
+
+inline int32 READ_BE_INT32(const void *ptr) {
+ return static_cast<int32>(READ_BE_UINT32(ptr));
+}
+
+inline void WRITE_BE_INT32(void *ptr, int32 value) {
+ WRITE_BE_UINT32(ptr, static_cast<uint32>(value));
+}
+
#endif