1212
1313#include < utils/BinarySerialisation.h>
1414
15- #include " PackFile.h"
16-
1715// TODO - Remove this hard-coded value and support various texture channel sizes
1816#define TEXTURE2D_TEXTURE_CHANNELS 4
1917
2018namespace Siege
2119{
2220
23- struct Texture2DData : BinarySerialisation::BinarySerialisable
21+ struct Texture2DData
2422{
2523 int32_t texWidth = 0 ;
2624 int32_t texHeight = 0 ;
@@ -29,19 +27,23 @@ struct Texture2DData : BinarySerialisation::BinarySerialisable
2927
3028 uint64_t GetImageSize () const
3129 {
32- return texWidth * texHeight * TEXTURE2D_TEXTURE_CHANNELS ;
33- }
34-
35- void serialise (BinarySerialisation::Buffer& buffer,
36- BinarySerialisation::SerialisationMode mode) override
37- {
38- BinarySerialisation::serialise (buffer, texWidth, mode);
39- BinarySerialisation::serialise (buffer, texHeight, mode);
40- BinarySerialisation::serialise (buffer, texChannels, mode);
41- BinarySerialisation::serialise (buffer, pixels, mode);
30+ return texWidth * texHeight * texChannels;
4231 }
4332};
4433
34+ namespace BinarySerialisation
35+ {
36+
37+ inline void serialise (Buffer& buffer, Texture2DData& value, SerialisationMode mode)
38+ {
39+ serialise (buffer, value.texWidth , mode);
40+ serialise (buffer, value.texHeight , mode);
41+ serialise (buffer, value.texChannels , mode);
42+ serialise (buffer, value.pixels , mode);
43+ }
44+
45+ } // namespace BinarySerialisation
46+
4547} // namespace Siege
4648
4749#endif // SIEGE_ENGINE_TEXTURE2DDATA_H
0 commit comments