diff --git a/Source/dvlnet/frame_queue.cpp b/Source/dvlnet/frame_queue.cpp index 56613b0a4..e4c826cbf 100644 --- a/Source/dvlnet/frame_queue.cpp +++ b/Source/dvlnet/frame_queue.cpp @@ -6,6 +6,7 @@ #include "dvlnet/packet.h" #include "utils/attributes.h" #include "utils/endian.hpp" +#include "utils/endian_write.hpp" namespace devilution { namespace net { diff --git a/Source/dvlnet/packet.h b/Source/dvlnet/packet.h index f93dc06ae..e407d62d9 100644 --- a/Source/dvlnet/packet.h +++ b/Source/dvlnet/packet.h @@ -16,6 +16,7 @@ #include "appfat.h" #include "dvlnet/abstract_net.h" #include "utils/attributes.h" +#include "utils/endian_write.hpp" #include "utils/str_cat.hpp" #include "utils/stubs.h" diff --git a/Source/engine/load_cl2.hpp b/Source/engine/load_cl2.hpp index 85bf46e1a..96c61eded 100644 --- a/Source/engine/load_cl2.hpp +++ b/Source/engine/load_cl2.hpp @@ -14,6 +14,7 @@ #include "mpq/mpq_common.hpp" #include "utils/cl2_to_clx.hpp" #include "utils/endian.hpp" +#include "utils/endian_write.hpp" #include "utils/pointer_value_union.hpp" #include "utils/static_vector.hpp" #include "utils/status_macros.hpp" diff --git a/Source/levels/reencode_dun_cels.cpp b/Source/levels/reencode_dun_cels.cpp index 578a7bf4b..43d7cdeb9 100644 --- a/Source/levels/reencode_dun_cels.cpp +++ b/Source/levels/reencode_dun_cels.cpp @@ -12,6 +12,7 @@ #include "levels/dun_tile.hpp" #include "utils/attributes.h" #include "utils/endian.hpp" +#include "utils/endian_write.hpp" #include "utils/format_int.hpp" #include "utils/log.hpp" diff --git a/Source/utils/cel_to_clx.cpp b/Source/utils/cel_to_clx.cpp index b1865ab30..8bf4a00d0 100644 --- a/Source/utils/cel_to_clx.cpp +++ b/Source/utils/cel_to_clx.cpp @@ -13,6 +13,7 @@ #include "appfat.h" #include "utils/clx_encode.hpp" #include "utils/endian.hpp" +#include "utils/endian_write.hpp" namespace devilution { diff --git a/Source/utils/cl2_to_clx.cpp b/Source/utils/cl2_to_clx.cpp index 12eae863f..66d090c48 100644 --- a/Source/utils/cl2_to_clx.cpp +++ b/Source/utils/cl2_to_clx.cpp @@ -8,6 +8,7 @@ #include "utils/clx_decode.hpp" #include "utils/clx_encode.hpp" #include "utils/endian.hpp" +#include "utils/endian_write.hpp" namespace devilution { diff --git a/Source/utils/endian.hpp b/Source/utils/endian.hpp index 14c344b5c..50bebba61 100644 --- a/Source/utils/endian.hpp +++ b/Source/utils/endian.hpp @@ -1,9 +1,6 @@ #pragma once #include -#include - -#include namespace devilution { @@ -39,16 +36,4 @@ constexpr uint32_t LoadBE32(const T *b) return (static_cast(b[0]) << 24) | (static_cast(b[1]) << 16) | (static_cast(b[2]) << 8) | static_cast(b[3]); } -inline void WriteLE16(void *out, uint16_t val) -{ - const uint16_t littleEndian = SDL_SwapLE16(val); - memcpy(out, &littleEndian, 2); -} - -inline void WriteLE32(void *out, uint32_t val) -{ - const uint32_t littleEndian = SDL_SwapLE32(val); - memcpy(out, &littleEndian, 4); -} - } // namespace devilution diff --git a/Source/utils/endian_stream.hpp b/Source/utils/endian_stream.hpp index 0e40d320c..8f7a0c68a 100644 --- a/Source/utils/endian_stream.hpp +++ b/Source/utils/endian_stream.hpp @@ -7,6 +7,7 @@ #include #include "utils/endian.hpp" +#include "utils/endian_write.hpp" #include "utils/log.hpp" namespace devilution { diff --git a/Source/utils/endian_write.hpp b/Source/utils/endian_write.hpp new file mode 100644 index 000000000..7354bdf0e --- /dev/null +++ b/Source/utils/endian_write.hpp @@ -0,0 +1,22 @@ +#pragma once + +#include +#include + +#include + +namespace devilution { + +inline void WriteLE16(void *out, uint16_t val) +{ + const uint16_t littleEndian = SDL_SwapLE16(val); + memcpy(out, &littleEndian, 2); +} + +inline void WriteLE32(void *out, uint32_t val) +{ + const uint32_t littleEndian = SDL_SwapLE32(val); + memcpy(out, &littleEndian, 4); +} + +} // namespace devilution diff --git a/Source/utils/pcx_to_clx.cpp b/Source/utils/pcx_to_clx.cpp index baba20b5f..639065b1f 100644 --- a/Source/utils/pcx_to_clx.cpp +++ b/Source/utils/pcx_to_clx.cpp @@ -13,6 +13,7 @@ #include "appfat.h" #include "utils/clx_encode.hpp" #include "utils/endian.hpp" +#include "utils/endian_write.hpp" #include "utils/pcx.hpp" #ifdef DEBUG_PCX_TO_CL2_SIZE diff --git a/Source/utils/surface_to_clx.cpp b/Source/utils/surface_to_clx.cpp index 8ecba4790..7c9155b34 100644 --- a/Source/utils/surface_to_clx.cpp +++ b/Source/utils/surface_to_clx.cpp @@ -6,6 +6,7 @@ #include "utils/clx_encode.hpp" #include "utils/endian.hpp" +#include "utils/endian_write.hpp" #ifdef DEBUG_SURFACE_TO_CLX_SIZE #include