30 lines
760 B
C++
30 lines
760 B
C++
#include <td/Types.h>
|
|
|
|
#include <sp/common/DataBuffer.h>
|
|
#include <sp/common/ByteSwapping.h>
|
|
#include <sp/common/DataBufferOperators.h>
|
|
|
|
namespace td {
|
|
|
|
sp::DataBuffer& operator<<(sp::DataBuffer& a_Buffer, const EntityCoords& a_Coords) {
|
|
return a_Buffer << a_Coords.x << a_Coords.y;
|
|
}
|
|
|
|
sp::DataBuffer& operator<<(sp::DataBuffer& a_Buffer, const FpFloat& a_Float) {
|
|
auto raw = a_Float.raw_value();
|
|
return a_Buffer << raw;
|
|
}
|
|
|
|
sp::DataBuffer& operator>>(sp::DataBuffer& a_Buffer, EntityCoords& a_Coords) {
|
|
return a_Buffer >> a_Coords.x >> a_Coords.y;
|
|
}
|
|
|
|
sp::DataBuffer& operator>>(sp::DataBuffer& a_Buffer, FpFloat& a_Float) {
|
|
auto raw = a_Float.raw_value();
|
|
a_Buffer >> raw;
|
|
a_Float = FpFloat::from_raw_value(raw);
|
|
return a_Buffer;
|
|
}
|
|
|
|
} // namespace td
|