From b9b837137b7b088edc5399b49329b98ce3752963 Mon Sep 17 00:00:00 2001 From: Romain BOULLARD Date: Sat, 2 May 2026 18:50:07 +0200 Subject: [PATCH] Cleaner separation --- .../{BigFile => }/Asset/AssetTypeID.cpp | 2 +- .../Engine/Include/Engine/Asset/Asset.bfbs | Bin 0 -> 1192 bytes .../Asset/Asset.bfbs_generated.hpp | 112 +++++++++--------- .../Engine/{BigFile => }/Asset/Asset.fbs | 4 +- .../Engine/{BigFile => }/Asset/Asset.hpp | 3 +- .../Include/Engine/Asset/AssetContainer.hpp | 0 .../{BigFile => }/Asset/AssetTypeID.bfbs | Bin .../Asset/AssetTypeID.bfbs_generated.hpp | 0 .../{BigFile => }/Asset/AssetTypeID.fbs | 0 .../{BigFile => }/Asset/AssetTypeID.hpp | 2 +- .../Asset/AssetTypeID_generated.hpp | 0 .../{BigFile => }/Asset/Asset_generated.hpp | 6 +- .../Include/Engine/BigFile/Asset/Asset.bfbs | Bin 1192 -> 0 bytes Bigfoot/Tests/Engine/Asset/Asset.cpp | 107 +++++++++++++++++ Bigfoot/Tests/Engine/Asset/AssetContainer.cpp | 0 Bigfoot/Tests/Engine/BigFile/BigFile.cpp | 66 +---------- .../{BigFile => }/Asset/AssetA.bfbs | Bin .../Asset/AssetA.bfbs_generated.hpp | 0 .../{BigFile => }/Asset/AssetA.fbs | 0 .../{BigFile => }/Asset/AssetA.hpp | 10 +- .../{BigFile => }/Asset/AssetA_generated.hpp | 0 ConanProfiles/Tools/clang | 5 +- ConanProfiles/Tools/msvc | 5 +- 23 files changed, 189 insertions(+), 133 deletions(-) rename Bigfoot/Sources/Engine/{BigFile => }/Asset/AssetTypeID.cpp (93%) create mode 100644 Bigfoot/Sources/Engine/Include/Engine/Asset/Asset.bfbs rename Bigfoot/Sources/Engine/Include/Engine/{BigFile => }/Asset/Asset.bfbs_generated.hpp (51%) rename Bigfoot/Sources/Engine/Include/Engine/{BigFile => }/Asset/Asset.fbs (84%) rename Bigfoot/Sources/Engine/Include/Engine/{BigFile => }/Asset/Asset.hpp (98%) create mode 100644 Bigfoot/Sources/Engine/Include/Engine/Asset/AssetContainer.hpp rename Bigfoot/Sources/Engine/Include/Engine/{BigFile => }/Asset/AssetTypeID.bfbs (100%) rename Bigfoot/Sources/Engine/Include/Engine/{BigFile => }/Asset/AssetTypeID.bfbs_generated.hpp (100%) rename Bigfoot/Sources/Engine/Include/Engine/{BigFile => }/Asset/AssetTypeID.fbs (100%) rename Bigfoot/Sources/Engine/Include/Engine/{BigFile => }/Asset/AssetTypeID.hpp (91%) rename Bigfoot/Sources/Engine/Include/Engine/{BigFile => }/Asset/AssetTypeID_generated.hpp (100%) rename Bigfoot/Sources/Engine/Include/Engine/{BigFile => }/Asset/Asset_generated.hpp (99%) delete mode 100644 Bigfoot/Sources/Engine/Include/Engine/BigFile/Asset/Asset.bfbs create mode 100644 Bigfoot/Tests/Engine/Asset/Asset.cpp create mode 100644 Bigfoot/Tests/Engine/Asset/AssetContainer.cpp rename Bigfoot/Tests/Engine/Include/EngineTests/{BigFile => }/Asset/AssetA.bfbs (100%) rename Bigfoot/Tests/Engine/Include/EngineTests/{BigFile => }/Asset/AssetA.bfbs_generated.hpp (100%) rename Bigfoot/Tests/Engine/Include/EngineTests/{BigFile => }/Asset/AssetA.fbs (100%) rename Bigfoot/Tests/Engine/Include/EngineTests/{BigFile => }/Asset/AssetA.hpp (75%) rename Bigfoot/Tests/Engine/Include/EngineTests/{BigFile => }/Asset/AssetA_generated.hpp (100%) diff --git a/Bigfoot/Sources/Engine/BigFile/Asset/AssetTypeID.cpp b/Bigfoot/Sources/Engine/Asset/AssetTypeID.cpp similarity index 93% rename from Bigfoot/Sources/Engine/BigFile/Asset/AssetTypeID.cpp rename to Bigfoot/Sources/Engine/Asset/AssetTypeID.cpp index 71093f3..6f6650b 100644 --- a/Bigfoot/Sources/Engine/BigFile/Asset/AssetTypeID.cpp +++ b/Bigfoot/Sources/Engine/Asset/AssetTypeID.cpp @@ -4,7 +4,7 @@ * \author Romain BOULLARD * \date February 2026 *********************************************************************/ -#include +#include namespace flatbuffers { diff --git a/Bigfoot/Sources/Engine/Include/Engine/Asset/Asset.bfbs b/Bigfoot/Sources/Engine/Include/Engine/Asset/Asset.bfbs new file mode 100644 index 0000000000000000000000000000000000000000..0090674f7477d1fd1c61c07d883d351647b175b6 GIT binary patch literal 1192 zcmah}yG|QH6g>-TdqWazA{Qwrws4Wc+D#-1iWI~`$kc#D5h+>NAy_hNi(Mo95B`J{ zDJd!Q8TkMTJ_NBjXJ!}VBvM8`p1E`H+S@@a5P1T_A>3f!##+!zOVN61(BP?q<+m#x-&$_pCR@($%Y-bwdL1)!3 zHB*zNCOaLOoT9bTH28cez0YseNqkjzZfdEm*p<1=N0SUcs@SVod$L`)yVtUPK@{_; z`I03UhUZ_E{R)}Y^_;r9w)$B6w{J$Nt*6)r^zT;7#*yity{tR=+)G#v;$Ma5TlrFU z>Y7%=`D1_U*;MW1Yq@r?wG%)2o6Sg$>$uA2kmn&Gz3MBQ4@4YC(evkEo)_jK-p@|Q zv(&_ucyzSC8|%wXg7cwS*&vqsE*su`X3QS g_Asset_bfbs = { - std::byte{0x20}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x42}, std::byte{0x46}, std::byte{0x42}, std::byte{0x53}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x14}, std::byte{0x00}, std::byte{0x28}, std::byte{0x00}, + std::byte{0x20}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x42}, std::byte{0x46}, std::byte{0x42}, std::byte{0x53}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x14}, std::byte{0x00}, std::byte{0x2C}, std::byte{0x00}, std::byte{0x04}, std::byte{0x00}, std::byte{0x08}, std::byte{0x00}, std::byte{0x0C}, std::byte{0x00}, std::byte{0x10}, std::byte{0x00}, std::byte{0x14}, std::byte{0x00}, std::byte{0x18}, std::byte{0x00}, std::byte{0x20}, std::byte{0x00}, std::byte{0x1C}, std::byte{0x00}, - std::byte{0x14}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x3C}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x34}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x28}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, - std::byte{0x1C}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x88}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x10}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x38}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, + std::byte{0x14}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x40}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x38}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x2C}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, + std::byte{0x20}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x8C}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x14}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x3C}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x01}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, - std::byte{0x04}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x58}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x08}, std::byte{0x01}, std::byte{0x00}, std::byte{0x00}, std::byte{0xA0}, std::byte{0x03}, std::byte{0x00}, std::byte{0x00}, - std::byte{0xDC}, std::byte{0x02}, std::byte{0x00}, std::byte{0x00}, std::byte{0x03}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x0C}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x28}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, - std::byte{0x14}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x1C}, std::byte{0xFC}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0xE0}, std::byte{0x02}, std::byte{0x00}, std::byte{0x00}, std::byte{0x04}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, - std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x2C}, std::byte{0xFC}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0x90}, std::byte{0x03}, std::byte{0x00}, std::byte{0x00}, std::byte{0x04}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, - std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x3C}, std::byte{0xFC}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0xDC}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x04}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, - std::byte{0x02}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x74}, std::byte{0x03}, std::byte{0x00}, std::byte{0x00}, std::byte{0xB0}, std::byte{0x02}, std::byte{0x00}, std::byte{0x00}, std::byte{0x60}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0xFF}, - std::byte{0x1C}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x0C}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x01}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0xB8}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, - std::byte{0x02}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x20}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x58}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x12}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, - std::byte{0x42}, std::byte{0x69}, std::byte{0x67}, std::byte{0x66}, std::byte{0x6F}, std::byte{0x6F}, std::byte{0x74}, std::byte{0x2E}, std::byte{0x46}, std::byte{0x6C}, std::byte{0x61}, std::byte{0x74}, std::byte{0x2E}, std::byte{0x41}, std::byte{0x73}, std::byte{0x73}, - std::byte{0x65}, std::byte{0x74}, std::byte{0x00}, std::byte{0x00}, std::byte{0x48}, std::byte{0xFE}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x01}, std::byte{0x01}, std::byte{0x00}, std::byte{0x06}, std::byte{0x00}, - std::byte{0x24}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x14}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x10}, std::byte{0x00}, std::byte{0x0C}, std::byte{0x00}, std::byte{0x06}, std::byte{0x00}, std::byte{0x07}, std::byte{0x00}, - std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x08}, std::byte{0x00}, std::byte{0x10}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x0E}, std::byte{0x04}, - std::byte{0x01}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x05}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x61}, std::byte{0x73}, std::byte{0x73}, std::byte{0x65}, std::byte{0x74}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, - std::byte{0x34}, std::byte{0xFE}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0x00}, std::byte{0x01}, std::byte{0x04}, std::byte{0x00}, std::byte{0x18}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x04}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, - std::byte{0x20}, std::byte{0xFE}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x0F}, std::byte{0x01}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x01}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, - std::byte{0x06}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x68}, std::byte{0x65}, std::byte{0x61}, std::byte{0x64}, std::byte{0x65}, std::byte{0x72}, std::byte{0x00}, std::byte{0x00}, std::byte{0x14}, std::byte{0x00}, std::byte{0x14}, std::byte{0x00}, - std::byte{0x04}, std::byte{0x00}, std::byte{0x08}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x0C}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x10}, std::byte{0x00}, - std::byte{0x14}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x3C}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x1C}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x01}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, - std::byte{0x04}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x0B}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x2F}, std::byte{0x2F}, std::byte{0x41}, std::byte{0x73}, std::byte{0x73}, std::byte{0x65}, std::byte{0x74}, std::byte{0x2E}, - std::byte{0x66}, std::byte{0x62}, std::byte{0x73}, std::byte{0x00}, std::byte{0x06}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x38}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x24}, std::byte{0x01}, std::byte{0x00}, std::byte{0x00}, - std::byte{0xDC}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0xA8}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x68}, std::byte{0x01}, std::byte{0x00}, std::byte{0x00}, std::byte{0x78}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, - std::byte{0x18}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x42}, std::byte{0x69}, std::byte{0x67}, std::byte{0x66}, std::byte{0x6F}, std::byte{0x6F}, std::byte{0x74}, std::byte{0x2E}, std::byte{0x46}, std::byte{0x6C}, std::byte{0x61}, std::byte{0x74}, - std::byte{0x2E}, std::byte{0x41}, std::byte{0x73}, std::byte{0x73}, std::byte{0x65}, std::byte{0x74}, std::byte{0x48}, std::byte{0x65}, std::byte{0x61}, std::byte{0x64}, std::byte{0x65}, std::byte{0x72}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, - std::byte{0x24}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x01}, std::byte{0x05}, std::byte{0x00}, std::byte{0x0E}, std::byte{0x00}, std::byte{0x28}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, - std::byte{0x14}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x10}, std::byte{0x00}, std::byte{0x10}, std::byte{0x00}, std::byte{0x06}, std::byte{0x00}, std::byte{0x07}, std::byte{0x00}, std::byte{0x08}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, - std::byte{0x00}, std::byte{0x00}, std::byte{0x0C}, std::byte{0x00}, std::byte{0x10}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x0E}, std::byte{0x0F}, std::byte{0x03}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, - std::byte{0x10}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x0C}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x64}, std::byte{0x65}, std::byte{0x70}, std::byte{0x65}, std::byte{0x6E}, std::byte{0x64}, std::byte{0x65}, std::byte{0x6E}, - std::byte{0x63}, std::byte{0x69}, std::byte{0x65}, std::byte{0x73}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x0C}, std::byte{0x00}, std::byte{0x10}, std::byte{0x00}, std::byte{0x08}, std::byte{0x00}, std::byte{0x0C}, std::byte{0x00}, - std::byte{0x04}, std::byte{0x00}, std::byte{0x06}, std::byte{0x00}, std::byte{0x0C}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x04}, std::byte{0x00}, std::byte{0x0C}, std::byte{0x00}, std::byte{0x14}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, - std::byte{0x04}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x60}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x08}, std::byte{0x01}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, - std::byte{0x07}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x76}, std::byte{0x65}, std::byte{0x72}, std::byte{0x73}, std::byte{0x69}, std::byte{0x6F}, std::byte{0x6E}, std::byte{0x00}, std::byte{0xA0}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0xFF}, - std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x01}, std::byte{0x03}, std::byte{0x00}, std::byte{0x0A}, std::byte{0x00}, std::byte{0x14}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x04}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, - std::byte{0x8C}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x0D}, std::byte{0x01}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x09}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, - std::byte{0x74}, std::byte{0x79}, std::byte{0x70}, std::byte{0x65}, std::byte{0x5F}, std::byte{0x6E}, std::byte{0x61}, std::byte{0x6D}, std::byte{0x65}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0xD0}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0xFF}, - std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x01}, std::byte{0x02}, std::byte{0x00}, std::byte{0x08}, std::byte{0x00}, std::byte{0x18}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x04}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, - std::byte{0x70}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x0F}, std::byte{0x02}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x01}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, - std::byte{0x07}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x74}, std::byte{0x79}, std::byte{0x70}, std::byte{0x65}, std::byte{0x5F}, std::byte{0x69}, std::byte{0x64}, std::byte{0x00}, std::byte{0x14}, std::byte{0x00}, std::byte{0x14}, std::byte{0x00}, - std::byte{0x0C}, std::byte{0x00}, std::byte{0x10}, std::byte{0x00}, std::byte{0x08}, std::byte{0x00}, std::byte{0x0A}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x07}, std::byte{0x00}, - std::byte{0x14}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x01}, std::byte{0x01}, std::byte{0x00}, std::byte{0x06}, std::byte{0x00}, std::byte{0x24}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, - std::byte{0x14}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x10}, std::byte{0x00}, std::byte{0x0C}, std::byte{0x00}, std::byte{0x07}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, - std::byte{0x00}, std::byte{0x00}, std::byte{0x08}, std::byte{0x00}, std::byte{0x10}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x0D}, std::byte{0x01}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, - std::byte{0x04}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x6E}, std::byte{0x61}, std::byte{0x6D}, std::byte{0x65}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x14}, std::byte{0x00}, std::byte{0x10}, std::byte{0x00}, - std::byte{0x08}, std::byte{0x00}, std::byte{0x0C}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x06}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x05}, std::byte{0x00}, - std::byte{0x14}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x01}, std::byte{0x04}, std::byte{0x00}, std::byte{0x28}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x14}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, - std::byte{0x10}, std::byte{0x00}, std::byte{0x10}, std::byte{0x00}, std::byte{0x07}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x08}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x0C}, std::byte{0x00}, - std::byte{0x10}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x0F}, std::byte{0x03}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x01}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, - std::byte{0x04}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x75}, std::byte{0x75}, std::byte{0x69}, std::byte{0x64}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x54}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0xFF}, - std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x01}, std::byte{0x58}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x4C}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x01}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, - std::byte{0x10}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x04}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x34}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x2F}, std::byte{0x2F}, std::byte{0x2E}, std::byte{0x2E}, - std::byte{0x2F}, std::byte{0x2E}, std::byte{0x2E}, std::byte{0x2F}, std::byte{0x2E}, std::byte{0x2E}, std::byte{0x2F}, std::byte{0x2E}, std::byte{0x2E}, std::byte{0x2F}, std::byte{0x2E}, std::byte{0x2E}, std::byte{0x2F}, std::byte{0x53}, std::byte{0x79}, std::byte{0x73}, - std::byte{0x74}, std::byte{0x65}, std::byte{0x6D}, std::byte{0x2F}, std::byte{0x49}, std::byte{0x6E}, std::byte{0x63}, std::byte{0x6C}, std::byte{0x75}, std::byte{0x64}, std::byte{0x65}, std::byte{0x2F}, std::byte{0x53}, std::byte{0x79}, std::byte{0x73}, std::byte{0x74}, - std::byte{0x65}, std::byte{0x6D}, std::byte{0x2F}, std::byte{0x55}, std::byte{0x55}, std::byte{0x49}, std::byte{0x44}, std::byte{0x2F}, std::byte{0x55}, std::byte{0x55}, std::byte{0x49}, std::byte{0x44}, std::byte{0x2E}, std::byte{0x66}, std::byte{0x62}, std::byte{0x73}, - std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x01}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x1C}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x11}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, + std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x04}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x58}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x08}, std::byte{0x01}, std::byte{0x00}, std::byte{0x00}, + std::byte{0x9C}, std::byte{0x03}, std::byte{0x00}, std::byte{0x00}, std::byte{0xDC}, std::byte{0x02}, std::byte{0x00}, std::byte{0x00}, std::byte{0x03}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x0C}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, + std::byte{0x28}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x14}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x20}, std::byte{0xFC}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0xE0}, std::byte{0x02}, std::byte{0x00}, std::byte{0x00}, + std::byte{0x04}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x30}, std::byte{0xFC}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0x8C}, std::byte{0x03}, std::byte{0x00}, std::byte{0x00}, + std::byte{0x04}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x40}, std::byte{0xFC}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0xDC}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, + std::byte{0x04}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x02}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x70}, std::byte{0x03}, std::byte{0x00}, std::byte{0x00}, std::byte{0xB0}, std::byte{0x02}, std::byte{0x00}, std::byte{0x00}, + std::byte{0x60}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0x1C}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x0C}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x01}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, + std::byte{0xB8}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x02}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x20}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x58}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, + std::byte{0x12}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x42}, std::byte{0x69}, std::byte{0x67}, std::byte{0x66}, std::byte{0x6F}, std::byte{0x6F}, std::byte{0x74}, std::byte{0x2E}, std::byte{0x46}, std::byte{0x6C}, std::byte{0x61}, std::byte{0x74}, + std::byte{0x2E}, std::byte{0x41}, std::byte{0x73}, std::byte{0x73}, std::byte{0x65}, std::byte{0x74}, std::byte{0x00}, std::byte{0x00}, std::byte{0x48}, std::byte{0xFE}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x01}, + std::byte{0x01}, std::byte{0x00}, std::byte{0x06}, std::byte{0x00}, std::byte{0x24}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x14}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x10}, std::byte{0x00}, std::byte{0x0C}, std::byte{0x00}, + std::byte{0x06}, std::byte{0x00}, std::byte{0x07}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x08}, std::byte{0x00}, std::byte{0x10}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, + std::byte{0x00}, std::byte{0x00}, std::byte{0x0E}, std::byte{0x04}, std::byte{0x01}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x05}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x61}, std::byte{0x73}, std::byte{0x73}, std::byte{0x65}, + std::byte{0x74}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x34}, std::byte{0xFE}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0x00}, std::byte{0x01}, std::byte{0x04}, std::byte{0x00}, std::byte{0x18}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, + std::byte{0x04}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x20}, std::byte{0xFE}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x0F}, std::byte{0x01}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, + std::byte{0x01}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x06}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x68}, std::byte{0x65}, std::byte{0x61}, std::byte{0x64}, std::byte{0x65}, std::byte{0x72}, std::byte{0x00}, std::byte{0x00}, + std::byte{0x14}, std::byte{0x00}, std::byte{0x14}, std::byte{0x00}, std::byte{0x04}, std::byte{0x00}, std::byte{0x08}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x0C}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, + std::byte{0x00}, std::byte{0x00}, std::byte{0x10}, std::byte{0x00}, std::byte{0x14}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x3C}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x1C}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, + std::byte{0x01}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x04}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x0B}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x2F}, std::byte{0x2F}, std::byte{0x41}, std::byte{0x73}, + std::byte{0x73}, std::byte{0x65}, std::byte{0x74}, std::byte{0x2E}, std::byte{0x66}, std::byte{0x62}, std::byte{0x73}, std::byte{0x00}, std::byte{0x06}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x38}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, + std::byte{0x24}, std::byte{0x01}, std::byte{0x00}, std::byte{0x00}, std::byte{0xDC}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0xA8}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x68}, std::byte{0x01}, std::byte{0x00}, std::byte{0x00}, + std::byte{0x78}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x18}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x42}, std::byte{0x69}, std::byte{0x67}, std::byte{0x66}, std::byte{0x6F}, std::byte{0x6F}, std::byte{0x74}, std::byte{0x2E}, + std::byte{0x46}, std::byte{0x6C}, std::byte{0x61}, std::byte{0x74}, std::byte{0x2E}, std::byte{0x41}, std::byte{0x73}, std::byte{0x73}, std::byte{0x65}, std::byte{0x74}, std::byte{0x48}, std::byte{0x65}, std::byte{0x61}, std::byte{0x64}, std::byte{0x65}, std::byte{0x72}, + std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x24}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x01}, std::byte{0x05}, std::byte{0x00}, std::byte{0x0E}, std::byte{0x00}, + std::byte{0x28}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x14}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x10}, std::byte{0x00}, std::byte{0x10}, std::byte{0x00}, std::byte{0x06}, std::byte{0x00}, std::byte{0x07}, std::byte{0x00}, + std::byte{0x08}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x0C}, std::byte{0x00}, std::byte{0x10}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x0E}, std::byte{0x0F}, + std::byte{0x03}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x10}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x0C}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x64}, std::byte{0x65}, std::byte{0x70}, std::byte{0x65}, + std::byte{0x6E}, std::byte{0x64}, std::byte{0x65}, std::byte{0x6E}, std::byte{0x63}, std::byte{0x69}, std::byte{0x65}, std::byte{0x73}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x0C}, std::byte{0x00}, std::byte{0x10}, std::byte{0x00}, + std::byte{0x08}, std::byte{0x00}, std::byte{0x0C}, std::byte{0x00}, std::byte{0x04}, std::byte{0x00}, std::byte{0x06}, std::byte{0x00}, std::byte{0x0C}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x04}, std::byte{0x00}, std::byte{0x0C}, std::byte{0x00}, + std::byte{0x14}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x04}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x60}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x08}, + std::byte{0x01}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x07}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x76}, std::byte{0x65}, std::byte{0x72}, std::byte{0x73}, std::byte{0x69}, std::byte{0x6F}, std::byte{0x6E}, std::byte{0x00}, + std::byte{0xA0}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x01}, std::byte{0x03}, std::byte{0x00}, std::byte{0x0A}, std::byte{0x00}, std::byte{0x14}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, + std::byte{0x04}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x8C}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x0D}, std::byte{0x01}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, + std::byte{0x09}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x74}, std::byte{0x79}, std::byte{0x70}, std::byte{0x65}, std::byte{0x5F}, std::byte{0x6E}, std::byte{0x61}, std::byte{0x6D}, std::byte{0x65}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, + std::byte{0xD0}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x01}, std::byte{0x02}, std::byte{0x00}, std::byte{0x08}, std::byte{0x00}, std::byte{0x18}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, + std::byte{0x04}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x70}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x0F}, std::byte{0x02}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, + std::byte{0x01}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x07}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x74}, std::byte{0x79}, std::byte{0x70}, std::byte{0x65}, std::byte{0x5F}, std::byte{0x69}, std::byte{0x64}, std::byte{0x00}, + std::byte{0x14}, std::byte{0x00}, std::byte{0x14}, std::byte{0x00}, std::byte{0x0C}, std::byte{0x00}, std::byte{0x10}, std::byte{0x00}, std::byte{0x08}, std::byte{0x00}, std::byte{0x0A}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, + std::byte{0x00}, std::byte{0x00}, std::byte{0x07}, std::byte{0x00}, std::byte{0x14}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x01}, std::byte{0x01}, std::byte{0x00}, std::byte{0x06}, std::byte{0x00}, + std::byte{0x24}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x14}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x10}, std::byte{0x00}, std::byte{0x0C}, std::byte{0x00}, std::byte{0x07}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, + std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x08}, std::byte{0x00}, std::byte{0x10}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x0D}, + std::byte{0x01}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x04}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x6E}, std::byte{0x61}, std::byte{0x6D}, std::byte{0x65}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, + std::byte{0x14}, std::byte{0x00}, std::byte{0x10}, std::byte{0x00}, std::byte{0x08}, std::byte{0x00}, std::byte{0x0C}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x06}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, + std::byte{0x00}, std::byte{0x00}, std::byte{0x05}, std::byte{0x00}, std::byte{0x14}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x01}, std::byte{0x04}, std::byte{0x00}, std::byte{0x28}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, + std::byte{0x14}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x10}, std::byte{0x00}, std::byte{0x10}, std::byte{0x00}, std::byte{0x07}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x08}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, + std::byte{0x00}, std::byte{0x00}, std::byte{0x0C}, std::byte{0x00}, std::byte{0x10}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x0F}, std::byte{0x03}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, + std::byte{0x01}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x04}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x75}, std::byte{0x75}, std::byte{0x69}, std::byte{0x64}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, + std::byte{0x58}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x01}, std::byte{0x54}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x48}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, + std::byte{0x01}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x10}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x04}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x31}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, + std::byte{0x2F}, std::byte{0x2F}, std::byte{0x2E}, std::byte{0x2E}, std::byte{0x2F}, std::byte{0x2E}, std::byte{0x2E}, std::byte{0x2F}, std::byte{0x2E}, std::byte{0x2E}, std::byte{0x2F}, std::byte{0x2E}, std::byte{0x2E}, std::byte{0x2F}, std::byte{0x53}, std::byte{0x79}, + std::byte{0x73}, std::byte{0x74}, std::byte{0x65}, std::byte{0x6D}, std::byte{0x2F}, std::byte{0x49}, std::byte{0x6E}, std::byte{0x63}, std::byte{0x6C}, std::byte{0x75}, std::byte{0x64}, std::byte{0x65}, std::byte{0x2F}, std::byte{0x53}, std::byte{0x79}, std::byte{0x73}, + std::byte{0x74}, std::byte{0x65}, std::byte{0x6D}, std::byte{0x2F}, std::byte{0x55}, std::byte{0x55}, std::byte{0x49}, std::byte{0x44}, std::byte{0x2F}, std::byte{0x55}, std::byte{0x55}, std::byte{0x49}, std::byte{0x44}, std::byte{0x2E}, std::byte{0x66}, std::byte{0x62}, + std::byte{0x73}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x01}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x1C}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x11}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x42}, std::byte{0x69}, std::byte{0x67}, std::byte{0x66}, std::byte{0x6F}, std::byte{0x6F}, std::byte{0x74}, std::byte{0x2E}, std::byte{0x46}, std::byte{0x6C}, std::byte{0x61}, std::byte{0x74}, std::byte{0x2E}, std::byte{0x55}, std::byte{0x55}, std::byte{0x49}, std::byte{0x44}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x5C}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0x24}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x14}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x10}, std::byte{0x00}, std::byte{0x0C}, std::byte{0x00}, std::byte{0x04}, std::byte{0x00}, std::byte{0x05}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x06}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x08}, std::byte{0x00}, diff --git a/Bigfoot/Sources/Engine/Include/Engine/BigFile/Asset/Asset.fbs b/Bigfoot/Sources/Engine/Include/Engine/Asset/Asset.fbs similarity index 84% rename from Bigfoot/Sources/Engine/Include/Engine/BigFile/Asset/Asset.fbs rename to Bigfoot/Sources/Engine/Include/Engine/Asset/Asset.fbs index cfe85a9..7f85446 100644 --- a/Bigfoot/Sources/Engine/Include/Engine/BigFile/Asset/Asset.fbs +++ b/Bigfoot/Sources/Engine/Include/Engine/Asset/Asset.fbs @@ -1,5 +1,5 @@ -include "Engine/BigFile/Asset/AssetTypeID.fbs"; -native_include "Engine/BigFile/Asset/AssetTypeID.hpp"; +include "Engine/Asset/AssetTypeID.fbs"; +native_include "Engine/Asset/AssetTypeID.hpp"; include "System/UUID/UUID.fbs"; native_include "System/UUID/UUID.hpp"; diff --git a/Bigfoot/Sources/Engine/Include/Engine/BigFile/Asset/Asset.hpp b/Bigfoot/Sources/Engine/Include/Engine/Asset/Asset.hpp similarity index 98% rename from Bigfoot/Sources/Engine/Include/Engine/BigFile/Asset/Asset.hpp rename to Bigfoot/Sources/Engine/Include/Engine/Asset/Asset.hpp index 68df695..889a098 100644 --- a/Bigfoot/Sources/Engine/Include/Engine/BigFile/Asset/Asset.hpp +++ b/Bigfoot/Sources/Engine/Include/Engine/Asset/Asset.hpp @@ -6,8 +6,9 @@ *********************************************************************/ #ifndef BIGFOOT_ENGINE_ASSET_HPP #define BIGFOOT_ENGINE_ASSET_HPP -#include +#include +#include #include #include diff --git a/Bigfoot/Sources/Engine/Include/Engine/Asset/AssetContainer.hpp b/Bigfoot/Sources/Engine/Include/Engine/Asset/AssetContainer.hpp new file mode 100644 index 0000000..e69de29 diff --git a/Bigfoot/Sources/Engine/Include/Engine/BigFile/Asset/AssetTypeID.bfbs b/Bigfoot/Sources/Engine/Include/Engine/Asset/AssetTypeID.bfbs similarity index 100% rename from Bigfoot/Sources/Engine/Include/Engine/BigFile/Asset/AssetTypeID.bfbs rename to Bigfoot/Sources/Engine/Include/Engine/Asset/AssetTypeID.bfbs diff --git a/Bigfoot/Sources/Engine/Include/Engine/BigFile/Asset/AssetTypeID.bfbs_generated.hpp b/Bigfoot/Sources/Engine/Include/Engine/Asset/AssetTypeID.bfbs_generated.hpp similarity index 100% rename from Bigfoot/Sources/Engine/Include/Engine/BigFile/Asset/AssetTypeID.bfbs_generated.hpp rename to Bigfoot/Sources/Engine/Include/Engine/Asset/AssetTypeID.bfbs_generated.hpp diff --git a/Bigfoot/Sources/Engine/Include/Engine/BigFile/Asset/AssetTypeID.fbs b/Bigfoot/Sources/Engine/Include/Engine/Asset/AssetTypeID.fbs similarity index 100% rename from Bigfoot/Sources/Engine/Include/Engine/BigFile/Asset/AssetTypeID.fbs rename to Bigfoot/Sources/Engine/Include/Engine/Asset/AssetTypeID.fbs diff --git a/Bigfoot/Sources/Engine/Include/Engine/BigFile/Asset/AssetTypeID.hpp b/Bigfoot/Sources/Engine/Include/Engine/Asset/AssetTypeID.hpp similarity index 91% rename from Bigfoot/Sources/Engine/Include/Engine/BigFile/Asset/AssetTypeID.hpp rename to Bigfoot/Sources/Engine/Include/Engine/Asset/AssetTypeID.hpp index ceeb280..c024e3b 100644 --- a/Bigfoot/Sources/Engine/Include/Engine/BigFile/Asset/AssetTypeID.hpp +++ b/Bigfoot/Sources/Engine/Include/Engine/Asset/AssetTypeID.hpp @@ -6,7 +6,7 @@ *********************************************************************/ #ifndef BIGFOOT_ENGINE_ASSETTYPEID_HPP #define BIGFOOT_ENGINE_ASSETTYPEID_HPP -#include +#include #include diff --git a/Bigfoot/Sources/Engine/Include/Engine/BigFile/Asset/AssetTypeID_generated.hpp b/Bigfoot/Sources/Engine/Include/Engine/Asset/AssetTypeID_generated.hpp similarity index 100% rename from Bigfoot/Sources/Engine/Include/Engine/BigFile/Asset/AssetTypeID_generated.hpp rename to Bigfoot/Sources/Engine/Include/Engine/Asset/AssetTypeID_generated.hpp diff --git a/Bigfoot/Sources/Engine/Include/Engine/BigFile/Asset/Asset_generated.hpp b/Bigfoot/Sources/Engine/Include/Engine/Asset/Asset_generated.hpp similarity index 99% rename from Bigfoot/Sources/Engine/Include/Engine/BigFile/Asset/Asset_generated.hpp rename to Bigfoot/Sources/Engine/Include/Engine/Asset/Asset_generated.hpp index 8e5b952..e779561 100644 --- a/Bigfoot/Sources/Engine/Include/Engine/BigFile/Asset/Asset_generated.hpp +++ b/Bigfoot/Sources/Engine/Include/Engine/Asset/Asset_generated.hpp @@ -13,10 +13,10 @@ static_assert(FLATBUFFERS_VERSION_MAJOR == 25 && FLATBUFFERS_VERSION_REVISION == 19, "Non-compatible flatbuffers version included"); -#include "Engine/BigFile/Asset/AssetTypeID.hpp" -#include "Engine/BigFile/Asset/AssetTypeID.hpp" +#include "Engine/Asset/AssetTypeID.hpp" +#include "Engine/Asset/AssetTypeID.hpp" #include "System/UUID/UUID.hpp" -#include "Engine/BigFile/Asset/AssetTypeID_generated.hpp" +#include "Engine/Asset/AssetTypeID_generated.hpp" #include "System/UUID/UUID_generated.hpp" #include "EASTL/unique_ptr.h" diff --git a/Bigfoot/Sources/Engine/Include/Engine/BigFile/Asset/Asset.bfbs b/Bigfoot/Sources/Engine/Include/Engine/BigFile/Asset/Asset.bfbs deleted file mode 100644 index 0a7f458c01e7b94e358112d472d04a212ef46e6f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1192 zcmaJ>y-wRu82t=R;_??$W$2J0Lk0$9FBuqEh)@I)8z3=MY7M@SNQo0+Cn9ga(4miz zk+EYRg9l*XK~UXuzH8H_MO@|N{(bj+=le-oBGT=3PccbDcElA=HpIvJleDCXS!5sR z06RbvxCeY-4{(6@hKtJ!z=PppRpe~~GyfhZyguev3gpTt4=$j3iM4Bn_KcWG@n)>E;O$;pVUoz# + +#include + +#include + +#include +#include + +#include + +#include + +#include + +namespace Bigfoot +{ +class AssetFixture: public ::testing::Test +{ + protected: + void SetUp() override + { + BIGFOOT_NOT_OPTIMIZED_ONLY(std::ignore = Singleton::Instance().RegisterLogger(ENGINE_LOGGER);) + } + + BIGFOOT_NOT_OPTIMIZED_ONLY(Singleton::Lifetime m_loggerLifetime;) +}; + +/****************************************************************************************/ + +TEST_F(AssetFixture, Asset) +{ + constexpr eastl::string_view name = "Hello"; + constexpr std::uint32_t version = 42; + constexpr std::uint32_t health = 100; + constexpr std::uint32_t mana = 50; + + AssetA assetA; + assetA.SetName(name); + assetA.SetVersion(version); + assetA.GetAsset().health = health; + assetA.GetAsset().mana = mana; + + const eastl::vector test = assetA.Pack(); + + AssetA assetB {test}; + + EXPECT_EQ(assetA.GetHeader().uuid, assetB.GetHeader().uuid); + + EXPECT_EQ(assetA.GetHeader().type_id, AssetA::GetTypeID()); + EXPECT_EQ(assetA.GetHeader().type_id, assetB.GetHeader().type_id); + + EXPECT_EQ(assetA.GetHeader().type_name, AssetA::GetTypeName()); + EXPECT_EQ(assetA.GetHeader().type_name, assetB.GetHeader().type_name); + + EXPECT_EQ(assetA.GetHeader().name, name); + EXPECT_EQ(assetA.GetHeader().name, assetB.GetHeader().name); + + EXPECT_EQ(assetA.GetHeader().version, version); + EXPECT_EQ(assetA.GetHeader().version, assetB.GetHeader().version); + + EXPECT_EQ(assetA.GetHeader().dependencies, assetB.GetHeader().dependencies); + + EXPECT_EQ(assetA.GetAsset().health, health); + EXPECT_EQ(assetA.GetAsset().health, assetB.GetAsset().health); + + EXPECT_EQ(assetA.GetAsset().mana, mana); + EXPECT_EQ(assetA.GetAsset().mana, assetB.GetAsset().mana); +} + +/****************************************************************************************/ + +TEST_F(AssetFixture, Reflection) +{ + [[maybe_unused]] + const reflection::Schema* reflection = reflection::GetSchema(AssetA::ReflectionInfo().data()); + + for (const auto test: *reflection->root_table()->fields()) + { + eastl::string typeName; + + if (test->type()->base_type() == reflection::BaseType::Obj) + { + const reflection::Object* obj = reflection->objects()->Get(test->type()->index()); + typeName = obj->name()->c_str(); + } + else if (test->type()->base_type() == reflection::BaseType::Vector && + test->type()->element() == reflection::BaseType::Obj) + { + const reflection::Object* obj = reflection->objects()->Get(test->type()->index()); + typeName = eastl::string("[") + obj->name()->c_str() + "]"; + } + else + { + typeName = reflection::EnumNameBaseType(test->type()->base_type()); + } + + BIGFOOT_LOG_INFO(ENGINE_LOGGER, "{} {}", typeName, test->name()->c_str()); + } +} +} // namespace Bigfoot diff --git a/Bigfoot/Tests/Engine/Asset/AssetContainer.cpp b/Bigfoot/Tests/Engine/Asset/AssetContainer.cpp new file mode 100644 index 0000000..e69de29 diff --git a/Bigfoot/Tests/Engine/BigFile/BigFile.cpp b/Bigfoot/Tests/Engine/BigFile/BigFile.cpp index 89bb0ac..c8ba2c1 100644 --- a/Bigfoot/Tests/Engine/BigFile/BigFile.cpp +++ b/Bigfoot/Tests/Engine/BigFile/BigFile.cpp @@ -15,7 +15,6 @@ #include #include -#include #include #include @@ -50,20 +49,7 @@ class BigFileFixture: public ::testing::Test /****************************************************************************************/ -TEST_F(BigFileFixture, Asset) -{ - AssetA assetA; - assetA.SetName("Hello"); - assetA.SetVersion(42); - - const eastl::vector test = assetA.Pack(); - - AssetA assetB {test}; -} - -/****************************************************************************************/ - -TEST_F(BigFileFixture, Lol) +TEST_F(BigFileFixture, BigFileManipulation) { UUID uuid; UUID uuid2; @@ -245,54 +231,4 @@ TEST_F(BigFileFixture, Lol) EXPECT_FALSE(get); } } - -/*TEST_F(BigFileFixture, Reflection) -{ - [[maybe_unused]] - const reflection::Schema* reflection = reflection::GetSchema(AssetA::ReflectionInfo().data()); - - auto IsRef = [](const reflection::Object* obj) -> bool - { - if (!obj->attributes()) - { - return false; - } - for (const auto attr: *obj->attributes()) - { - if (std::strcmp(attr->key()->c_str(), "isRef") == 0) - { - return true; - } - } - return false; - }; - - for (const auto test: *reflection->root_table()->fields()) - { - [[maybe_unused]] - std::string typeName; - [[maybe_unused]] - bool isRef = false; - - if (test->type()->base_type() == reflection::BaseType::Obj) - { - const reflection::Object* obj = reflection->objects()->Get(test->type()->index()); - typeName = obj->name()->c_str(); - isRef = IsRef(obj); - } - else if (test->type()->base_type() == reflection::BaseType::Vector && - test->type()->element() == reflection::BaseType::Obj) - { - const reflection::Object* obj = reflection->objects()->Get(test->type()->index()); - typeName = std::string("[") + obj->name()->c_str() + "]"; - isRef = IsRef(obj); - } - else - { - typeName = reflection::EnumNameBaseType(test->type()->base_type()); - } - - BIGFOOT_LOG_INFO(ENGINE_LOGGER, "{} {} {}", typeName, test->name()->c_str(), isRef ? "(isRef)" : ""); - } -}*/ } // namespace Bigfoot diff --git a/Bigfoot/Tests/Engine/Include/EngineTests/BigFile/Asset/AssetA.bfbs b/Bigfoot/Tests/Engine/Include/EngineTests/Asset/AssetA.bfbs similarity index 100% rename from Bigfoot/Tests/Engine/Include/EngineTests/BigFile/Asset/AssetA.bfbs rename to Bigfoot/Tests/Engine/Include/EngineTests/Asset/AssetA.bfbs diff --git a/Bigfoot/Tests/Engine/Include/EngineTests/BigFile/Asset/AssetA.bfbs_generated.hpp b/Bigfoot/Tests/Engine/Include/EngineTests/Asset/AssetA.bfbs_generated.hpp similarity index 100% rename from Bigfoot/Tests/Engine/Include/EngineTests/BigFile/Asset/AssetA.bfbs_generated.hpp rename to Bigfoot/Tests/Engine/Include/EngineTests/Asset/AssetA.bfbs_generated.hpp diff --git a/Bigfoot/Tests/Engine/Include/EngineTests/BigFile/Asset/AssetA.fbs b/Bigfoot/Tests/Engine/Include/EngineTests/Asset/AssetA.fbs similarity index 100% rename from Bigfoot/Tests/Engine/Include/EngineTests/BigFile/Asset/AssetA.fbs rename to Bigfoot/Tests/Engine/Include/EngineTests/Asset/AssetA.fbs diff --git a/Bigfoot/Tests/Engine/Include/EngineTests/BigFile/Asset/AssetA.hpp b/Bigfoot/Tests/Engine/Include/EngineTests/Asset/AssetA.hpp similarity index 75% rename from Bigfoot/Tests/Engine/Include/EngineTests/BigFile/Asset/AssetA.hpp rename to Bigfoot/Tests/Engine/Include/EngineTests/Asset/AssetA.hpp index 0c02c27..1b5f946 100644 --- a/Bigfoot/Tests/Engine/Include/EngineTests/BigFile/Asset/AssetA.hpp +++ b/Bigfoot/Tests/Engine/Include/EngineTests/Asset/AssetA.hpp @@ -6,9 +6,10 @@ *********************************************************************/ #ifndef BIGFOOT_ENGINE_ASSETA_HPP #define BIGFOOT_ENGINE_ASSETA_HPP -#include +#include -#include +#include +#include namespace Bigfoot { @@ -31,6 +32,11 @@ class AssetA: public Asset AssetA& operator=(const AssetA& p_asset) = default; [[nodiscard]] AssetA& operator=(AssetA&& p_asset) = default; + + static constexpr eastl::span ReflectionInfo() + { + return g_AssetA_bfbs; + } }; } // namespace Bigfoot diff --git a/Bigfoot/Tests/Engine/Include/EngineTests/BigFile/Asset/AssetA_generated.hpp b/Bigfoot/Tests/Engine/Include/EngineTests/Asset/AssetA_generated.hpp similarity index 100% rename from Bigfoot/Tests/Engine/Include/EngineTests/BigFile/Asset/AssetA_generated.hpp rename to Bigfoot/Tests/Engine/Include/EngineTests/Asset/AssetA_generated.hpp diff --git a/ConanProfiles/Tools/clang b/ConanProfiles/Tools/clang index a840b7c..5a2af6e 100644 --- a/ConanProfiles/Tools/clang +++ b/ConanProfiles/Tools/clang @@ -16,4 +16,7 @@ tools.meson.mesontoolchain:extra_machine_files+={{profile_dir}}/../Toolchains/ip tools.system.package_manager:mode=install tools.system.package_manager:sudo=True -tools.build:compiler_executables={"c": "clang", "cpp": "clang++"} \ No newline at end of file +tools.build:compiler_executables={"c": "clang", "cpp": "clang++"} + +[tool_requires] +!cmake/*: cmake/4.3.2 \ No newline at end of file diff --git a/ConanProfiles/Tools/msvc b/ConanProfiles/Tools/msvc index 9485978..fff6508 100644 --- a/ConanProfiles/Tools/msvc +++ b/ConanProfiles/Tools/msvc @@ -15,4 +15,7 @@ tools.meson.mesontoolchain:extra_machine_files+={{profile_dir}}/../Toolchains/ip tools.build:cflags=["/Zc:preprocessor", "/Zc:__STDC__", "/D_CRT_DECLARE_NONSTDC_NAMES=1"] tools.build:cxxflags=["/Zc:preprocessor", "/permissive-", "/Zc:__cplusplus", "/Zc:enumTypes", "/Zc:templateScope"] -tools.env.virtualenv:powershell=powershell.exe \ No newline at end of file +tools.env.virtualenv:powershell=powershell.exe + +[tool_requires] +!cmake/*: cmake/4.3.2 \ No newline at end of file