Basic asset system serialization
Some checks failed
Bigfoot / Build & Test Debug with ./ConanProfiles/clang (Unity Build: OFF) (push) Successful in 7m7s
Bigfoot / Build & Test Debug with ./ConanProfiles/clang (Unity Build: ON) (push) Successful in 5m16s
Bigfoot / Build & Test Debug with ./ConanProfiles/clang_asan (Unity Build: OFF) (push) Successful in 5m40s
Bigfoot / Build & Test Debug with ./ConanProfiles/clang_asan (Unity Build: ON) (push) Successful in 5m39s
Bigfoot / Build & Test RelWithDebInfo with ./ConanProfiles/clang (Unity Build: OFF) (push) Successful in 6m3s
Bigfoot / Build & Test RelWithDebInfo with ./ConanProfiles/clang (Unity Build: ON) (push) Successful in 6m2s
Bigfoot / Build & Test RelWithDebInfo with ./ConanProfiles/clang_asan (Unity Build: OFF) (push) Successful in 6m56s
Bigfoot / Build & Test RelWithDebInfo with ./ConanProfiles/clang_asan (Unity Build: ON) (push) Successful in 7m4s
Bigfoot / Build & Test Release with ./ConanProfiles/clang (Unity Build: OFF) (push) Successful in 6m6s
Bigfoot / Build & Test Release with ./ConanProfiles/clang (Unity Build: ON) (push) Successful in 5m58s
Bigfoot / Build & Test Release with ./ConanProfiles/clang_asan (Unity Build: OFF) (push) Successful in 6m34s
Bigfoot / Build & Test Release with ./ConanProfiles/clang_asan (Unity Build: ON) (push) Successful in 6m45s
Bigfoot / Clang Format Checks (push) Failing after 10s
Some checks failed
Bigfoot / Build & Test Debug with ./ConanProfiles/clang (Unity Build: OFF) (push) Successful in 7m7s
Bigfoot / Build & Test Debug with ./ConanProfiles/clang (Unity Build: ON) (push) Successful in 5m16s
Bigfoot / Build & Test Debug with ./ConanProfiles/clang_asan (Unity Build: OFF) (push) Successful in 5m40s
Bigfoot / Build & Test Debug with ./ConanProfiles/clang_asan (Unity Build: ON) (push) Successful in 5m39s
Bigfoot / Build & Test RelWithDebInfo with ./ConanProfiles/clang (Unity Build: OFF) (push) Successful in 6m3s
Bigfoot / Build & Test RelWithDebInfo with ./ConanProfiles/clang (Unity Build: ON) (push) Successful in 6m2s
Bigfoot / Build & Test RelWithDebInfo with ./ConanProfiles/clang_asan (Unity Build: OFF) (push) Successful in 6m56s
Bigfoot / Build & Test RelWithDebInfo with ./ConanProfiles/clang_asan (Unity Build: ON) (push) Successful in 7m4s
Bigfoot / Build & Test Release with ./ConanProfiles/clang (Unity Build: OFF) (push) Successful in 6m6s
Bigfoot / Build & Test Release with ./ConanProfiles/clang (Unity Build: ON) (push) Successful in 5m58s
Bigfoot / Build & Test Release with ./ConanProfiles/clang_asan (Unity Build: OFF) (push) Successful in 6m34s
Bigfoot / Build & Test Release with ./ConanProfiles/clang_asan (Unity Build: ON) (push) Successful in 6m45s
Bigfoot / Clang Format Checks (push) Failing after 10s
This commit is contained in:
@@ -2,9 +2,10 @@
|
||||
* \file AssetTypeID.cpp
|
||||
*
|
||||
* \author Romain BOULLARD
|
||||
* \date February 2026
|
||||
* \date May 2026
|
||||
*********************************************************************/
|
||||
#include <Engine/Asset/AssetTypeID.hpp>
|
||||
#include <Engine/Asset/AssetTypeID_generated.hpp>
|
||||
|
||||
namespace flatbuffers
|
||||
{
|
||||
|
||||
Binary file not shown.
@@ -12,26 +12,26 @@
|
||||
namespace Bigfoot
|
||||
{
|
||||
inline constexpr eastl::array<std::byte, 1192> 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{0x2C}, 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{0x28}, 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{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{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{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{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{0x46}, std::byte{0x6C}, std::byte{0x61}, std::byte{0x74}, std::byte{0x2E}, 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{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{0x58}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x0C}, std::byte{0x01}, std::byte{0x00}, std::byte{0x00}, std::byte{0xA0}, std::byte{0x03}, std::byte{0x00}, std::byte{0x00},
|
||||
std::byte{0xE0}, 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{0xE4}, 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{0xE0}, 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{0xB4}, std::byte{0x02}, std::byte{0x00}, std::byte{0x00}, std::byte{0x5C}, 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{0xBC}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00},
|
||||
std::byte{0x02}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x60}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x1C}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x12}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00},
|
||||
std::byte{0x46}, std::byte{0x6C}, std::byte{0x61}, std::byte{0x74}, std::byte{0x2E}, 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{0x41}, std::byte{0x73}, std::byte{0x73},
|
||||
std::byte{0x65}, std::byte{0x74}, std::byte{0x00}, std::byte{0x00}, std::byte{0x44}, 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{0x0B}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x69}, std::byte{0x6E}, std::byte{0x6E}, std::byte{0x65}, std::byte{0x72}, std::byte{0x5F}, std::byte{0x61}, std::byte{0x73},
|
||||
std::byte{0x73}, std::byte{0x65}, std::byte{0x74}, 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},
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
include "Engine/Asset/AssetTypeID.fbs";
|
||||
native_include "Engine/Asset/AssetTypeID.hpp";
|
||||
|
||||
include "System/UUID/UUID.fbs";
|
||||
native_include "System/UUID/UUID.hpp";
|
||||
|
||||
namespace Flat.Bigfoot;
|
||||
|
||||
@@ -19,7 +17,7 @@ table AssetHeader
|
||||
table Asset
|
||||
{
|
||||
header: AssetHeader (required, id: 0);
|
||||
asset: [ubyte] (required, id: 1);
|
||||
inner_asset: [ubyte] (required, id: 1);
|
||||
}
|
||||
|
||||
root_type Asset;
|
||||
@@ -7,27 +7,48 @@
|
||||
#ifndef BIGFOOT_ENGINE_ASSET_HPP
|
||||
#define BIGFOOT_ENGINE_ASSET_HPP
|
||||
#include <Engine/Asset/Asset_generated.hpp>
|
||||
#include <Engine/Asset/Reference_generated.hpp>
|
||||
#include <Engine/EngineAssertHandler.hpp>
|
||||
|
||||
#include <flatbuffers/reflection.h>
|
||||
|
||||
#include <EASTL/span.h>
|
||||
#include <EASTL/vector.h>
|
||||
#include <ankerl/unordered_dense.h>
|
||||
#include <rapidhash.h>
|
||||
|
||||
namespace Bigfoot
|
||||
{
|
||||
template<class FLAT_ASSET>
|
||||
template<class ASSET>
|
||||
class Asset
|
||||
{
|
||||
public:
|
||||
using FLAT_ASSET = typename ASSET::FLAT;
|
||||
|
||||
Asset()
|
||||
{
|
||||
m_header.type_id = GetTypeID();
|
||||
m_header.type_name = GetTypeName();
|
||||
}
|
||||
|
||||
explicit Asset(const eastl::span<const std::byte> p_flatbuffer):
|
||||
m_header(UnPackHeader(p_flatbuffer)),
|
||||
m_asset(UnpackAsset(p_flatbuffer))
|
||||
explicit Asset(const eastl::span<const std::byte> p_flatbuffer)
|
||||
{
|
||||
#ifdef BIGFOOT_NOT_OPTIMIZED
|
||||
flatbuffers::Verifier verifier {std::bit_cast<std::uint8_t*>(p_flatbuffer.data()), p_flatbuffer.size()};
|
||||
const bool assetVerified = ::Flat::Bigfoot::VerifyAssetBuffer(verifier);
|
||||
CRITICAL_ASSERT(EngineAssertHandler, assetVerified, "Given asset could not be verified!");
|
||||
|
||||
const ::Flat::Bigfoot::Asset* asset = flatbuffers::GetRoot<::Flat::Bigfoot::Asset>(p_flatbuffer.data());
|
||||
|
||||
flatbuffers::Verifier innerAssetVerifier {asset->inner_asset()->data(), asset->inner_asset()->size()};
|
||||
const bool innerAssetVerified = innerAssetVerifier.VerifyBuffer<FLAT_ASSET>();
|
||||
CRITICAL_ASSERT(EngineAssertHandler, innerAssetVerified, "Given asset could not be verified!");
|
||||
#else
|
||||
const ::Flat::Bigfoot::Asset* asset = flatbuffers::GetRoot<::Flat::Bigfoot::Asset>(p_flatbuffer.data());
|
||||
#endif
|
||||
|
||||
asset->header()->UnPackTo(&m_header);
|
||||
flatbuffers::GetRoot<FLAT_ASSET>(asset->inner_asset()->data())->UnPackTo(&m_asset, nullptr);
|
||||
}
|
||||
|
||||
Asset(const Asset& p_asset) = default;
|
||||
@@ -54,20 +75,23 @@ class Asset
|
||||
}
|
||||
|
||||
[[nodiscard]]
|
||||
eastl::vector<std::byte> Pack() const
|
||||
eastl::vector<std::byte> Save()
|
||||
{
|
||||
flatbuffers::FlatBufferBuilder innerAssetFbb;
|
||||
innerAssetFbb.Finish(FLAT_ASSET::Pack(innerAssetFbb, &m_asset));
|
||||
|
||||
m_header.dependencies = CollectHardRefs(innerAssetFbb);
|
||||
|
||||
::Flat::Bigfoot::AssetT asset;
|
||||
asset.header = eastl::make_unique<::Flat::Bigfoot::AssetHeaderT>(m_header);
|
||||
asset.inner_asset = eastl::vector<std::uint8_t> {innerAssetFbb.GetBufferPointer(),
|
||||
innerAssetFbb.GetBufferPointer() + innerAssetFbb.GetSize()};
|
||||
|
||||
flatbuffers::FlatBufferBuilder assetFbb;
|
||||
assetFbb.Finish(FLAT_ASSET::Pack(assetFbb, &m_asset));
|
||||
assetFbb.Finish(::Flat::Bigfoot::Asset::Pack(assetFbb, &asset));
|
||||
|
||||
::Flat::Bigfoot::AssetT outer;
|
||||
outer.header = eastl::make_unique<::Flat::Bigfoot::AssetHeaderT>(m_header);
|
||||
outer.asset = {assetFbb.GetBufferSpan().begin(), assetFbb.GetBufferSpan().end()};
|
||||
|
||||
flatbuffers::FlatBufferBuilder fullFbb;
|
||||
fullFbb.Finish(::Flat::Bigfoot::Asset::Pack(fullFbb, &outer));
|
||||
|
||||
return eastl::vector<std::byte> {std::bit_cast<std::byte*>(fullFbb.GetBufferPointer()),
|
||||
std::bit_cast<std::byte*>(fullFbb.GetBufferPointer() + fullFbb.GetSize())};
|
||||
return eastl::vector<std::byte> {std::bit_cast<std::byte*>(assetFbb.GetBufferPointer()),
|
||||
std::bit_cast<std::byte*>(assetFbb.GetBufferPointer() + assetFbb.GetSize())};
|
||||
}
|
||||
|
||||
void SetName(const eastl::string_view p_name)
|
||||
@@ -94,31 +118,98 @@ class Asset
|
||||
return FLAT_ASSET::GetFullyQualifiedName();
|
||||
}
|
||||
|
||||
[[nodiscard]]
|
||||
Asset& operator=(const Asset& p_asset) = default;
|
||||
[[nodiscard]]
|
||||
Asset& operator=(Asset&& p_asset) = default;
|
||||
|
||||
private:
|
||||
[[nodiscard]]
|
||||
static ::Flat::Bigfoot::AssetHeaderT UnPackHeader(const eastl::span<const std::byte> p_flatbuffer)
|
||||
static void WalkTableForHardRef(const flatbuffers::Table* p_table,
|
||||
const reflection::Object* p_obj,
|
||||
const reflection::Schema* p_schema,
|
||||
ankerl::unordered_dense::segmented_set<UUID>& p_deps)
|
||||
{
|
||||
::Flat::Bigfoot::AssetHeaderT header;
|
||||
constexpr auto isHardRef = [](const reflection::Object* p_object)
|
||||
{
|
||||
return eastl::string_view(p_object->name()->c_str()) == ::Flat::Bigfoot::HardRef::GetFullyQualifiedName();
|
||||
};
|
||||
|
||||
flatbuffers::GetRoot<::Flat::Bigfoot::Asset>(p_flatbuffer.data())->header()->UnPackTo(&header);
|
||||
for (const reflection::Field* field: *p_obj->fields())
|
||||
{
|
||||
const reflection::BaseType baseType = field->type()->base_type();
|
||||
|
||||
return header;
|
||||
if (baseType == reflection::BaseType::Obj)
|
||||
{
|
||||
const reflection::Object* fieldObj = p_schema->objects()->Get(field->type()->index());
|
||||
|
||||
if (fieldObj->is_struct())
|
||||
{
|
||||
if (!isHardRef(fieldObj))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (const ::Flat::Bigfoot::HardRef* hardRef = std::bit_cast<const ::Flat::Bigfoot::HardRef*>(
|
||||
flatbuffers::GetFieldStruct(*p_table, *field)))
|
||||
{
|
||||
p_deps.insert(flatbuffers::UnPack(hardRef->uuid()));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (const flatbuffers::Table* nestedTable = flatbuffers::GetFieldT(*p_table, *field))
|
||||
{
|
||||
WalkTableForHardRef(nestedTable, fieldObj, p_schema, p_deps);
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (baseType == reflection::BaseType::Vector && field->type()->element() == reflection::BaseType::Obj)
|
||||
{
|
||||
const reflection::Object* elemObj = p_schema->objects()->Get(field->type()->index());
|
||||
const flatbuffers::VectorOfAny* nestedTables = flatbuffers::GetFieldAnyV(*p_table, *field);
|
||||
if (!nestedTables)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (isHardRef(elemObj))
|
||||
{
|
||||
const flatbuffers::Vector<::Flat::Bigfoot::HardRef>* hardRefs =
|
||||
std::bit_cast<const flatbuffers::Vector<::Flat::Bigfoot::HardRef>*>(nestedTables);
|
||||
for (const ::Flat::Bigfoot::HardRef* hardRef: *hardRefs)
|
||||
{
|
||||
p_deps.insert(flatbuffers::UnPack(hardRef->uuid()));
|
||||
}
|
||||
}
|
||||
else if (!elemObj->is_struct())
|
||||
{
|
||||
const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::Table>>* tables =
|
||||
std::bit_cast<const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::Table>>*>(
|
||||
nestedTables);
|
||||
for (const flatbuffers::Table* table: *tables)
|
||||
{
|
||||
WalkTableForHardRef(table, elemObj, p_schema, p_deps);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[[nodiscard]]
|
||||
static typename FLAT_ASSET::NativeTableType UnpackAsset(const eastl::span<const std::byte> p_flatbuffer)
|
||||
static eastl::vector<UUID> CollectHardRefs(const flatbuffers::FlatBufferBuilder& p_fbb)
|
||||
{
|
||||
typename FLAT_ASSET::NativeTableType asset;
|
||||
ankerl::unordered_dense::segmented_set<UUID> depsSet;
|
||||
|
||||
const ::Flat::Bigfoot::Asset* outer = flatbuffers::GetRoot<::Flat::Bigfoot::Asset>(p_flatbuffer.data());
|
||||
flatbuffers::GetRoot<FLAT_ASSET>(outer->asset()->data())->UnPackTo(&asset, nullptr);
|
||||
const reflection::Schema* schema = reflection::GetSchema(ASSET::ReflectionInfo().data());
|
||||
const flatbuffers::Table* table = flatbuffers::GetRoot<flatbuffers::Table>(p_fbb.GetBufferPointer());
|
||||
WalkTableForHardRef(table, schema->root_table(), schema, depsSet);
|
||||
|
||||
return asset;
|
||||
eastl::vector<UUID> deps;
|
||||
deps.reserve(depsSet.size());
|
||||
for (const UUID& id: depsSet)
|
||||
{
|
||||
deps.push_back(id);
|
||||
}
|
||||
|
||||
return deps;
|
||||
}
|
||||
|
||||
private:
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
native_include "Engine/Asset/AssetTypeID.hpp";
|
||||
|
||||
namespace Flat.Bigfoot;
|
||||
|
||||
struct AssetTypeID (native_type: "::Bigfoot::AssetTypeID")
|
||||
|
||||
@@ -6,8 +6,6 @@
|
||||
*********************************************************************/
|
||||
#ifndef BIGFOOT_ENGINE_ASSETTYPEID_HPP
|
||||
#define BIGFOOT_ENGINE_ASSETTYPEID_HPP
|
||||
#include <Engine/Asset/AssetTypeID_generated.hpp>
|
||||
|
||||
#include <cstdint>
|
||||
|
||||
namespace Bigfoot
|
||||
@@ -15,6 +13,18 @@ namespace Bigfoot
|
||||
using AssetTypeID = std::uint64_t;
|
||||
}
|
||||
|
||||
/****************************************************************************************/
|
||||
|
||||
namespace Flat
|
||||
{
|
||||
namespace Bigfoot
|
||||
{
|
||||
struct AssetTypeID;
|
||||
}
|
||||
} // namespace Flat
|
||||
|
||||
/****************************************************************************************/
|
||||
|
||||
namespace flatbuffers
|
||||
{
|
||||
Flat::Bigfoot::AssetTypeID Pack(const Bigfoot::AssetTypeID& p_assetTypeID);
|
||||
|
||||
@@ -13,8 +13,11 @@ static_assert(FLATBUFFERS_VERSION_MAJOR == 25 &&
|
||||
FLATBUFFERS_VERSION_REVISION == 19,
|
||||
"Non-compatible flatbuffers version included");
|
||||
|
||||
#include "Engine/Asset/AssetTypeID.hpp"
|
||||
|
||||
#include "EASTL/unique_ptr.h"
|
||||
#include "EASTL/string.h"
|
||||
#include "EASTL/vector.h"
|
||||
|
||||
namespace Flat {
|
||||
namespace Bigfoot {
|
||||
|
||||
@@ -13,7 +13,6 @@ static_assert(FLATBUFFERS_VERSION_MAJOR == 25 &&
|
||||
FLATBUFFERS_VERSION_REVISION == 19,
|
||||
"Non-compatible flatbuffers version included");
|
||||
|
||||
#include "Engine/Asset/AssetTypeID.hpp"
|
||||
#include "Engine/Asset/AssetTypeID.hpp"
|
||||
#include "System/UUID/UUID.hpp"
|
||||
#include "Engine/Asset/AssetTypeID_generated.hpp"
|
||||
@@ -21,6 +20,7 @@ static_assert(FLATBUFFERS_VERSION_MAJOR == 25 &&
|
||||
|
||||
#include "EASTL/unique_ptr.h"
|
||||
#include "EASTL/string.h"
|
||||
#include "EASTL/vector.h"
|
||||
|
||||
namespace Flat {
|
||||
namespace Bigfoot {
|
||||
@@ -47,7 +47,7 @@ struct AssetHeaderT : public ::flatbuffers::NativeTable {
|
||||
::Bigfoot::AssetTypeID type_id{};
|
||||
eastl::string type_name{};
|
||||
uint32_t version = 0;
|
||||
std::vector<::Bigfoot::UUID> dependencies{};
|
||||
eastl::vector<::Bigfoot::UUID> dependencies{};
|
||||
};
|
||||
|
||||
struct AssetHeader FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
|
||||
@@ -174,7 +174,7 @@ struct AssetT : public ::flatbuffers::NativeTable {
|
||||
return "Flat.Bigfoot.AssetT";
|
||||
}
|
||||
eastl::unique_ptr<Flat::Bigfoot::AssetHeaderT> header{};
|
||||
std::vector<uint8_t> asset{};
|
||||
eastl::vector<uint8_t> inner_asset{};
|
||||
AssetT() = default;
|
||||
AssetT(const AssetT &o);
|
||||
AssetT(AssetT&&) FLATBUFFERS_NOEXCEPT = default;
|
||||
@@ -193,21 +193,21 @@ struct Asset FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
|
||||
}
|
||||
enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
|
||||
VT_HEADER = 4,
|
||||
VT_ASSET = 6
|
||||
VT_INNER_ASSET = 6
|
||||
};
|
||||
const Flat::Bigfoot::AssetHeader *header() const {
|
||||
return GetPointer<const Flat::Bigfoot::AssetHeader *>(VT_HEADER);
|
||||
}
|
||||
const ::flatbuffers::Vector<uint8_t> *asset() const {
|
||||
return GetPointer<const ::flatbuffers::Vector<uint8_t> *>(VT_ASSET);
|
||||
const ::flatbuffers::Vector<uint8_t> *inner_asset() const {
|
||||
return GetPointer<const ::flatbuffers::Vector<uint8_t> *>(VT_INNER_ASSET);
|
||||
}
|
||||
template <bool B = false>
|
||||
bool Verify(::flatbuffers::VerifierTemplate<B> &verifier) const {
|
||||
return VerifyTableStart(verifier) &&
|
||||
VerifyOffsetRequired(verifier, VT_HEADER) &&
|
||||
verifier.VerifyTable(header()) &&
|
||||
VerifyOffsetRequired(verifier, VT_ASSET) &&
|
||||
verifier.VerifyVector(asset()) &&
|
||||
VerifyOffsetRequired(verifier, VT_INNER_ASSET) &&
|
||||
verifier.VerifyVector(inner_asset()) &&
|
||||
verifier.EndTable();
|
||||
}
|
||||
AssetT *UnPack(const ::flatbuffers::resolver_function_t *_resolver = nullptr) const;
|
||||
@@ -222,8 +222,8 @@ struct AssetBuilder {
|
||||
void add_header(::flatbuffers::Offset<Flat::Bigfoot::AssetHeader> header) {
|
||||
fbb_.AddOffset(Asset::VT_HEADER, header);
|
||||
}
|
||||
void add_asset(::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> asset) {
|
||||
fbb_.AddOffset(Asset::VT_ASSET, asset);
|
||||
void add_inner_asset(::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> inner_asset) {
|
||||
fbb_.AddOffset(Asset::VT_INNER_ASSET, inner_asset);
|
||||
}
|
||||
explicit AssetBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
|
||||
: fbb_(_fbb) {
|
||||
@@ -233,7 +233,7 @@ struct AssetBuilder {
|
||||
const auto end = fbb_.EndTable(start_);
|
||||
auto o = ::flatbuffers::Offset<Asset>(end);
|
||||
fbb_.Required(o, Asset::VT_HEADER);
|
||||
fbb_.Required(o, Asset::VT_ASSET);
|
||||
fbb_.Required(o, Asset::VT_INNER_ASSET);
|
||||
return o;
|
||||
}
|
||||
};
|
||||
@@ -241,9 +241,9 @@ struct AssetBuilder {
|
||||
inline ::flatbuffers::Offset<Asset> CreateAsset(
|
||||
::flatbuffers::FlatBufferBuilder &_fbb,
|
||||
::flatbuffers::Offset<Flat::Bigfoot::AssetHeader> header = 0,
|
||||
::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> asset = 0) {
|
||||
::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> inner_asset = 0) {
|
||||
AssetBuilder builder_(_fbb);
|
||||
builder_.add_asset(asset);
|
||||
builder_.add_inner_asset(inner_asset);
|
||||
builder_.add_header(header);
|
||||
return builder_.Finish();
|
||||
}
|
||||
@@ -285,7 +285,7 @@ inline ::flatbuffers::Offset<AssetHeader> AssetHeader::Pack(::flatbuffers::FlatB
|
||||
auto _type_id = ::flatbuffers::Pack(_o->type_id);
|
||||
auto _type_name = _fbb.CreateString(_o->type_name);
|
||||
auto _version = _o->version;
|
||||
auto _dependencies = _fbb.CreateVectorOfNativeStructs<Flat::Bigfoot::UUID, ::Bigfoot::UUID>(_o->dependencies);
|
||||
auto _dependencies = _fbb.CreateVectorOfNativeStructs<Flat::Bigfoot::UUID, ::Bigfoot::UUID>(_o->dependencies.data(), _o->dependencies.size());
|
||||
return Flat::Bigfoot::CreateAssetHeader(
|
||||
_fbb,
|
||||
&_uuid,
|
||||
@@ -298,12 +298,12 @@ inline ::flatbuffers::Offset<AssetHeader> AssetHeader::Pack(::flatbuffers::FlatB
|
||||
|
||||
inline AssetT::AssetT(const AssetT &o)
|
||||
: header((o.header) ? new Flat::Bigfoot::AssetHeaderT(*o.header) : nullptr),
|
||||
asset(o.asset) {
|
||||
inner_asset(o.inner_asset) {
|
||||
}
|
||||
|
||||
inline AssetT &AssetT::operator=(AssetT o) FLATBUFFERS_NOEXCEPT {
|
||||
std::swap(header, o.header);
|
||||
std::swap(asset, o.asset);
|
||||
std::swap(inner_asset, o.inner_asset);
|
||||
return *this;
|
||||
}
|
||||
|
||||
@@ -317,7 +317,7 @@ inline void Asset::UnPackTo(AssetT *_o, const ::flatbuffers::resolver_function_t
|
||||
(void)_o;
|
||||
(void)_resolver;
|
||||
{ auto _e = header(); if (_e) { if(_o->header) { _e->UnPackTo(_o->header.get(), _resolver); } else { _o->header = eastl::unique_ptr<Flat::Bigfoot::AssetHeaderT>(_e->UnPack(_resolver)); } } else if (_o->header) { _o->header.reset(); } }
|
||||
{ auto _e = asset(); if (_e) { _o->asset.resize(_e->size()); std::copy(_e->begin(), _e->end(), _o->asset.begin()); } }
|
||||
{ auto _e = inner_asset(); if (_e) { _o->inner_asset.resize(_e->size()); std::copy(_e->begin(), _e->end(), _o->inner_asset.begin()); } }
|
||||
}
|
||||
|
||||
inline ::flatbuffers::Offset<Asset> CreateAsset(::flatbuffers::FlatBufferBuilder &_fbb, const AssetT *_o, const ::flatbuffers::rehasher_function_t *_rehasher) {
|
||||
@@ -329,11 +329,11 @@ inline ::flatbuffers::Offset<Asset> Asset::Pack(::flatbuffers::FlatBufferBuilder
|
||||
(void)_o;
|
||||
struct _VectorArgs { ::flatbuffers::FlatBufferBuilder *__fbb; const AssetT* __o; const ::flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
|
||||
auto _header = _o->header ? CreateAssetHeader(_fbb, _o->header.get(), _rehasher) : 0;
|
||||
auto _asset = _fbb.CreateVector(_o->asset);
|
||||
auto _inner_asset = _fbb.CreateVector(_o->inner_asset.data(), _o->inner_asset.size());
|
||||
return Flat::Bigfoot::CreateAsset(
|
||||
_fbb,
|
||||
_header,
|
||||
_asset);
|
||||
_inner_asset);
|
||||
}
|
||||
|
||||
inline const ::flatbuffers::TypeTable *AssetHeaderTypeTable() {
|
||||
@@ -373,7 +373,7 @@ inline const ::flatbuffers::TypeTable *AssetTypeTable() {
|
||||
};
|
||||
static const char * const names[] = {
|
||||
"header",
|
||||
"asset"
|
||||
"inner_asset"
|
||||
};
|
||||
static const ::flatbuffers::TypeTable tt = {
|
||||
::flatbuffers::ST_TABLE, 2, type_codes, type_refs, nullptr, nullptr, names
|
||||
|
||||
Binary file not shown.
@@ -11,30 +11,29 @@
|
||||
|
||||
namespace Bigfoot
|
||||
{
|
||||
inline constexpr eastl::array<std::byte, 608> g_Reference_bfbs = {
|
||||
inline constexpr eastl::array<std::byte, 592> g_Reference_bfbs = {
|
||||
std::byte{0x1C}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x42}, std::byte{0x46}, std::byte{0x42}, std::byte{0x53}, std::byte{0x14}, std::byte{0x00}, std::byte{0x24}, 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{0x00}, std::byte{0x00}, std::byte{0x14}, std::byte{0x00}, std::byte{0x1C}, std::byte{0x00}, std::byte{0x18}, std::byte{0x00}, std::byte{0x14}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00},
|
||||
std::byte{0x38}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x30}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x24}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x18}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00},
|
||||
std::byte{0x10}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x34}, 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{0x03}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0xAC}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00},
|
||||
std::byte{0x38}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x4C}, std::byte{0x01}, std::byte{0x00}, std::byte{0x00}, std::byte{0x02}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x08}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00},
|
||||
std::byte{0x14}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x50}, std::byte{0xFE}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0x54}, std::byte{0x01}, 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{0x60}, std::byte{0xFE}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0x9C}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x04}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00},
|
||||
std::byte{0x01}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x38}, std::byte{0x01}, std::byte{0x00}, std::byte{0x00}, std::byte{0xFC}, std::byte{0xFE}, std::byte{0xFF}, std::byte{0xFF}, 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{0x03}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0xA4}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00},
|
||||
std::byte{0x38}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x3C}, std::byte{0x01}, std::byte{0x00}, std::byte{0x00}, std::byte{0x02}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x08}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00},
|
||||
std::byte{0x14}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x60}, std::byte{0xFE}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0x44}, std::byte{0x01}, 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{0x70}, std::byte{0xFE}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0x94}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x04}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00},
|
||||
std::byte{0x01}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x28}, std::byte{0x01}, std::byte{0x00}, std::byte{0x00}, std::byte{0x0C}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x01},
|
||||
std::byte{0x1C}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x10}, 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{0x74}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x01}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x28}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x1E}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00},
|
||||
std::byte{0x46}, std::byte{0x6C}, std::byte{0x61}, std::byte{0x74}, std::byte{0x2E}, 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{0x52}, std::byte{0x65}, std::byte{0x66},
|
||||
std::byte{0x65}, std::byte{0x72}, std::byte{0x65}, std::byte{0x6E}, std::byte{0x63}, std::byte{0x65}, std::byte{0x2E}, std::byte{0x53}, std::byte{0x6F}, std::byte{0x66}, std::byte{0x74}, std::byte{0x52}, std::byte{0x65}, std::byte{0x66}, std::byte{0x00}, std::byte{0x00},
|
||||
std::byte{0xBC}, std::byte{0xFE}, std::byte{0xFF}, std::byte{0xFF}, 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{0x7C}, 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{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{0x6C}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x01},
|
||||
std::byte{0x30}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x24}, 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{0x0F}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x2F}, std::byte{0x2F}, std::byte{0x52}, std::byte{0x65}, std::byte{0x66}, std::byte{0x65}, std::byte{0x72}, std::byte{0x65},
|
||||
std::byte{0x6E}, std::byte{0x63}, std::byte{0x65}, std::byte{0x2E}, std::byte{0x66}, std::byte{0x62}, std::byte{0x73}, std::byte{0x00}, std::byte{0x01}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x28}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00},
|
||||
std::byte{0x1E}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x46}, std::byte{0x6C}, std::byte{0x61}, std::byte{0x74}, std::byte{0x2E}, 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{0x52}, std::byte{0x65}, std::byte{0x66}, std::byte{0x65}, std::byte{0x72}, std::byte{0x65}, std::byte{0x6E}, std::byte{0x63}, std::byte{0x65}, std::byte{0x2E}, std::byte{0x48}, std::byte{0x61}, std::byte{0x72}, std::byte{0x64}, std::byte{0x52},
|
||||
std::byte{0x65}, std::byte{0x66}, std::byte{0x00}, std::byte{0x00}, std::byte{0x40}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0xFF}, 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{0x6C}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x01}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x20}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x14}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00},
|
||||
std::byte{0x46}, std::byte{0x6C}, std::byte{0x61}, std::byte{0x74}, std::byte{0x2E}, 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{0x53}, std::byte{0x6F}, std::byte{0x66},
|
||||
std::byte{0x74}, std::byte{0x52}, std::byte{0x65}, std::byte{0x66}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0xC4}, std::byte{0xFE}, std::byte{0xFF}, std::byte{0xFF}, 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{0x84}, 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{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{0x74}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x01}, std::byte{0x30}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x24}, 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{0x0F}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00},
|
||||
std::byte{0x2F}, std::byte{0x2F}, std::byte{0x52}, std::byte{0x65}, std::byte{0x66}, std::byte{0x65}, std::byte{0x72}, std::byte{0x65}, std::byte{0x6E}, std::byte{0x63}, std::byte{0x65}, std::byte{0x2E}, std::byte{0x66}, std::byte{0x62}, std::byte{0x73}, std::byte{0x00},
|
||||
std::byte{0x01}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x20}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x14}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x46}, std::byte{0x6C}, std::byte{0x61}, std::byte{0x74},
|
||||
std::byte{0x2E}, 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{0x48}, std::byte{0x61}, std::byte{0x72}, std::byte{0x64}, std::byte{0x52}, std::byte{0x65}, std::byte{0x66},
|
||||
std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x40}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0xFF}, 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{0x02}, 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{0x14}, std::byte{0x00}, std::byte{0x1C}, std::byte{0x00},
|
||||
|
||||
@@ -1,14 +1,15 @@
|
||||
include "System/UUID/UUID.fbs";
|
||||
native_include "System/UUID/UUID.hpp";
|
||||
native_include "Engine/Asset/Reference.hpp";
|
||||
|
||||
namespace Flat.Bigfoot.Reference;
|
||||
include "System/UUID/UUID.fbs";
|
||||
|
||||
namespace Flat.Bigfoot;
|
||||
|
||||
struct HardRef
|
||||
{
|
||||
uuid:UUID (native_inline);
|
||||
uuid:UUID;
|
||||
}
|
||||
|
||||
struct SoftRef
|
||||
{
|
||||
uuid:UUID (native_inline);
|
||||
uuid:UUID;
|
||||
}
|
||||
@@ -6,7 +6,7 @@
|
||||
*********************************************************************/
|
||||
#ifndef BIGFOOT_ENGINE_REFERENCE_HPP
|
||||
#define BIGFOOT_ENGINE_REFERENCE_HPP
|
||||
#include <Engine/Asset/Reference_generated.hpp>
|
||||
#include <System/UUID/UUID.hpp>
|
||||
|
||||
namespace Bigfoot
|
||||
{
|
||||
@@ -35,6 +35,12 @@ class HardRef
|
||||
HardRef& operator=(const HardRef& p_ref) = default;
|
||||
HardRef& operator=(HardRef&& p_ref) = default;
|
||||
|
||||
[[nodiscard]]
|
||||
bool operator==(const HardRef& p_ref) const
|
||||
{
|
||||
return m_uuid == p_ref.m_uuid;
|
||||
}
|
||||
|
||||
private:
|
||||
UUID m_uuid = UUID::NULL_UUID;
|
||||
};
|
||||
@@ -64,61 +70,68 @@ class SoftRef
|
||||
SoftRef& operator=(const SoftRef& p_ref) = default;
|
||||
SoftRef& operator=(SoftRef&& p_ref) = default;
|
||||
|
||||
[[nodiscard]]
|
||||
bool operator==(const SoftRef& p_ref) const
|
||||
{
|
||||
return m_uuid == p_ref.m_uuid;
|
||||
}
|
||||
|
||||
private:
|
||||
UUID m_uuid = UUID::NULL_UUID;
|
||||
};
|
||||
} // namespace Bigfoot
|
||||
|
||||
#define ASSET_SOFT_REF_DECL(AssetName, AssetType) \
|
||||
namespace flatbuffers \
|
||||
{ \
|
||||
Flat::Bigfoot::SoftRef PackSoftRef##AssetName(const Bigfoot::SoftRef<AssetType>& p_softRef); \
|
||||
Bigfoot::SoftRef<AssetType> UnPackSoftRef##AssetName(const Flat::Bigfoot::SoftRef& p_softRef); \
|
||||
}
|
||||
|
||||
#define ASSET_HARD_REF_DECL(AssetName, AssetType) \
|
||||
namespace flatbuffers \
|
||||
{ \
|
||||
Flat::Bigfoot::HardRef PackHardRef##AssetName(const Bigfoot::HardRef<AssetType>& p_hardRef); \
|
||||
Bigfoot::HardRef<AssetType> UnPackHardRef##AssetName(const Flat::Bigfoot::HardRef& p_hardRef); \
|
||||
}
|
||||
|
||||
#define ASSET_REF_DECL(AssetName, AssetType) \
|
||||
ASSET_SOFT_REF_DECL(AssetName, AssetType) \
|
||||
ASSET_HARD_REF_DECL(AssetName, AssetType)
|
||||
|
||||
#define ASSET_DECL(AssetName, AssetType) ASSET_REF_DECL(AssetName, AssetType)
|
||||
|
||||
/****************************************************************************************/
|
||||
|
||||
#define ASSET_HARD_REF_DECL(Ref, FlatRef) \
|
||||
#define ASSET_SOFT_REF_IMPL(AssetName, AssetType) \
|
||||
namespace flatbuffers \
|
||||
{ \
|
||||
::Flat::Bigfoot::Reference::FlatRef Pack(const ::Bigfoot::HardRef<::Bigfoot::Ref>& p_ref); \
|
||||
::Bigfoot::HardRef<::Bigfoot::Ref> UnPack(const ::Flat::Bigfoot::Reference::FlatRef& p_ref); \
|
||||
} // namespace flatbuffers
|
||||
Flat::Bigfoot::SoftRef PackSoftRef##AssetName(const Bigfoot::SoftRef<AssetType>& p_softRef) \
|
||||
{ \
|
||||
return {flatbuffers::Pack(p_softRef.GetUUID())}; \
|
||||
} \
|
||||
Bigfoot::SoftRef<AssetType> UnPackSoftRef##AssetName(const Flat::Bigfoot::SoftRef& p_softRef) \
|
||||
{ \
|
||||
return {flatbuffers::UnPack(p_softRef.uuid())}; \
|
||||
} \
|
||||
}
|
||||
|
||||
#define ASSET_HARD_REF_IMPL(Ref, FlatRef) \
|
||||
#define ASSET_HARD_REF_IMPL(AssetName, AssetType) \
|
||||
namespace flatbuffers \
|
||||
{ \
|
||||
::Flat::Bigfoot::Reference::FlatRef Pack(const ::Bigfoot::HardRef<::Bigfoot::Ref>& p_ref) \
|
||||
Flat::Bigfoot::HardRef PackHardRef##AssetName(const Bigfoot::HardRef<AssetType>& p_softRef) \
|
||||
{ \
|
||||
return ::Flat::Bigfoot::Reference::FlatRef { \
|
||||
::Flat::Bigfoot::Reference::HardRef {flatbuffers::Pack(p_ref.GetUUID())}}; \
|
||||
return {flatbuffers::Pack(p_softRef.GetUUID())}; \
|
||||
} \
|
||||
::Bigfoot::HardRef<::Bigfoot::Ref> UnPack(const ::Flat::Bigfoot::Reference::FlatRef& p_ref) \
|
||||
Bigfoot::HardRef<AssetType> UnPackHardRef##AssetName(const Flat::Bigfoot::HardRef& p_softRef) \
|
||||
{ \
|
||||
return ::Bigfoot::HardRef<::Bigfoot::Ref> {flatbuffers::UnPack(p_ref.hard_ref().uuid())}; \
|
||||
return {flatbuffers::UnPack(p_softRef.uuid())}; \
|
||||
} \
|
||||
} // namespace flatbuffers
|
||||
}
|
||||
|
||||
#define ASSET_SOFT_REF_DECL(Ref, FlatRef) \
|
||||
namespace flatbuffers \
|
||||
{ \
|
||||
::Flat::Bigfoot::Reference::FlatRef Pack(const ::Bigfoot::SoftRef<::Bigfoot::Ref>& p_ref); \
|
||||
::Bigfoot::SoftRef<::Bigfoot::Ref> UnPack(const ::Flat::Bigfoot::Reference::FlatRef& p_ref); \
|
||||
} // namespace flatbuffers
|
||||
|
||||
#define ASSET_SOFT_REF_IMPL(Ref, FlatRef) \
|
||||
namespace flatbuffers \
|
||||
{ \
|
||||
::Flat::Bigfoot::Reference::FlatRef Pack(const ::Bigfoot::SoftRef<::Bigfoot::Ref>& p_ref) \
|
||||
{ \
|
||||
return ::Flat::Bigfoot::Reference::FlatRef { \
|
||||
::Flat::Bigfoot::Reference::SoftRef {flatbuffers::Pack(p_ref.GetUUID())}}; \
|
||||
} \
|
||||
::Bigfoot::SoftRef<::Bigfoot::Ref> UnPack(const ::Flat::Bigfoot::Reference::FlatRef& p_ref) \
|
||||
{ \
|
||||
return ::Bigfoot::SoftRef<::Bigfoot::Ref> {flatbuffers::UnPack(p_ref.soft_ref().uuid())}; \
|
||||
} \
|
||||
} // namespace flatbuffers
|
||||
|
||||
#define ASSET_REF_DECL(Ref) \
|
||||
ASSET_HARD_REF_DECL(Ref, Ref##HardRef) \
|
||||
ASSET_SOFT_REF_DECL(Ref, Ref##SoftRef)
|
||||
|
||||
#define ASSET_REF_IMPL(Ref) \
|
||||
ASSET_HARD_REF_IMPL(Ref, Ref##HardRef) \
|
||||
ASSET_SOFT_REF_IMPL(Ref, Ref##SoftRef)
|
||||
#define ASSET_REF_IMPL(AssetName, AssetType) \
|
||||
ASSET_SOFT_REF_IMPL(AssetName, AssetType) \
|
||||
ASSET_HARD_REF_IMPL(AssetName, AssetType)
|
||||
|
||||
#define ASSET_IMPL(AssetName, AssetType) ASSET_REF_IMPL(AssetName, AssetType)
|
||||
#endif
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
// automatically generated by the FlatBuffers compiler, do not modify
|
||||
|
||||
|
||||
#ifndef FLATBUFFERS_GENERATED_REFERENCE_FLAT_BIGFOOT_REFERENCE_H_
|
||||
#define FLATBUFFERS_GENERATED_REFERENCE_FLAT_BIGFOOT_REFERENCE_H_
|
||||
#ifndef FLATBUFFERS_GENERATED_REFERENCE_FLAT_BIGFOOT_H_
|
||||
#define FLATBUFFERS_GENERATED_REFERENCE_FLAT_BIGFOOT_H_
|
||||
|
||||
#include "flatbuffers/flatbuffers.h"
|
||||
|
||||
@@ -13,15 +13,17 @@ static_assert(FLATBUFFERS_VERSION_MAJOR == 25 &&
|
||||
FLATBUFFERS_VERSION_REVISION == 19,
|
||||
"Non-compatible flatbuffers version included");
|
||||
|
||||
#include "Engine/Asset/Reference.hpp"
|
||||
#include "System/UUID/UUID.hpp"
|
||||
#include "Engine/Asset/Reference.hpp"
|
||||
#include "System/UUID/UUID_generated.hpp"
|
||||
|
||||
#include "EASTL/unique_ptr.h"
|
||||
#include "EASTL/string.h"
|
||||
#include "EASTL/vector.h"
|
||||
|
||||
namespace Flat {
|
||||
namespace Bigfoot {
|
||||
namespace Reference {
|
||||
|
||||
struct HardRef;
|
||||
|
||||
@@ -41,7 +43,7 @@ FLATBUFFERS_MANUALLY_ALIGNED_STRUCT(1) HardRef FLATBUFFERS_FINAL_CLASS {
|
||||
return HardRefTypeTable();
|
||||
}
|
||||
static FLATBUFFERS_CONSTEXPR_CPP11 const char *GetFullyQualifiedName() {
|
||||
return "Flat.Bigfoot.Reference.HardRef";
|
||||
return "Flat.Bigfoot.HardRef";
|
||||
}
|
||||
HardRef()
|
||||
: uuid_() {
|
||||
@@ -69,7 +71,7 @@ FLATBUFFERS_MANUALLY_ALIGNED_STRUCT(1) SoftRef FLATBUFFERS_FINAL_CLASS {
|
||||
return SoftRefTypeTable();
|
||||
}
|
||||
static FLATBUFFERS_CONSTEXPR_CPP11 const char *GetFullyQualifiedName() {
|
||||
return "Flat.Bigfoot.Reference.SoftRef";
|
||||
return "Flat.Bigfoot.SoftRef";
|
||||
}
|
||||
SoftRef()
|
||||
: uuid_() {
|
||||
@@ -121,8 +123,7 @@ inline const ::flatbuffers::TypeTable *SoftRefTypeTable() {
|
||||
return &tt;
|
||||
}
|
||||
|
||||
} // namespace Reference
|
||||
} // namespace Bigfoot
|
||||
} // namespace Flat
|
||||
|
||||
#endif // FLATBUFFERS_GENERATED_REFERENCE_FLAT_BIGFOOT_REFERENCE_H_
|
||||
#endif // FLATBUFFERS_GENERATED_REFERENCE_FLAT_BIGFOOT_H_
|
||||
|
||||
@@ -26,8 +26,8 @@ class BigFile
|
||||
*/
|
||||
BigFile(const File& p_file);
|
||||
|
||||
BigFile(const BigFile& p_bigFile) = default;
|
||||
BigFile(BigFile&& p_bigFile) = default;
|
||||
BigFile(const BigFile& p_bigFile) = delete;
|
||||
BigFile(BigFile&& p_bigFile) = delete;
|
||||
|
||||
/**
|
||||
* Begin a transaction
|
||||
@@ -49,8 +49,8 @@ class BigFile
|
||||
|
||||
~BigFile();
|
||||
|
||||
BigFile& operator=(const BigFile& p_bigFile) = default;
|
||||
BigFile& operator=(BigFile&& p_bigFile) = default;
|
||||
BigFile& operator=(const BigFile& p_bigFile) = delete;
|
||||
BigFile& operator=(BigFile&& p_bigFile) = delete;
|
||||
|
||||
class Request
|
||||
{
|
||||
|
||||
@@ -15,6 +15,7 @@ static_assert(FLATBUFFERS_VERSION_MAJOR == 25 &&
|
||||
|
||||
#include "EASTL/unique_ptr.h"
|
||||
#include "EASTL/string.h"
|
||||
#include "EASTL/vector.h"
|
||||
|
||||
namespace Bigfoot {
|
||||
namespace Flat {
|
||||
|
||||
Binary file not shown.
@@ -23,8 +23,8 @@ namespace Bigfoot
|
||||
std::byte{0x00}, std::byte{0x00}, std::byte{0x18}, 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{0x2C}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00},
|
||||
std::byte{0x20}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x08}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x08}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x04}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00},
|
||||
std::byte{0x0A}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x2F}, std::byte{0x2F}, std::byte{0x54}, std::byte{0x69}, std::byte{0x6D}, std::byte{0x65}, std::byte{0x2E}, std::byte{0x66}, std::byte{0x62}, std::byte{0x73}, std::byte{0x00}, std::byte{0x00},
|
||||
std::byte{0x01}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x24}, 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{0x54}, std::byte{0x69}, std::byte{0x6D}, std::byte{0x65}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00},
|
||||
std::byte{0x01}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x24}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x11}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x46}, std::byte{0x6C}, std::byte{0x61}, std::byte{0x74},
|
||||
std::byte{0x2E}, 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{0x54}, std::byte{0x69}, std::byte{0x6D}, std::byte{0x65}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00},
|
||||
std::byte{0x08}, std::byte{0x00}, std::byte{0x0C}, std::byte{0x00}, std::byte{0x04}, std::byte{0x00}, std::byte{0x08}, std::byte{0x00}, std::byte{0x08}, 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{0x10}, std::byte{0x00}, std::byte{0x10}, 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{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{0x0A}, std::byte{0x08}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00},
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
namespace Bigfoot.Flat;
|
||||
native_include "System/Time/Time.hpp";
|
||||
|
||||
namespace Flat.Bigfoot;
|
||||
|
||||
struct Time (native_type: "::Bigfoot::Time")
|
||||
{
|
||||
|
||||
@@ -6,8 +6,6 @@
|
||||
*********************************************************************/
|
||||
#ifndef BIGFOOT_SYSTEM_TIME_HPP
|
||||
#define BIGFOOT_SYSTEM_TIME_HPP
|
||||
#include <System/Time/Time_generated.hpp>
|
||||
|
||||
#include <chrono>
|
||||
#include <compare>
|
||||
#include <cstdint>
|
||||
@@ -69,10 +67,20 @@ class Time
|
||||
|
||||
/****************************************************************************************/
|
||||
|
||||
namespace Flat
|
||||
{
|
||||
namespace Bigfoot
|
||||
{
|
||||
struct Time;
|
||||
}
|
||||
} // namespace Flat
|
||||
|
||||
/****************************************************************************************/
|
||||
|
||||
namespace flatbuffers
|
||||
{
|
||||
Bigfoot::Flat::Time Pack(const Bigfoot::Time& p_time);
|
||||
Bigfoot::Time UnPack(const Bigfoot::Flat::Time& p_flatTime);
|
||||
Flat::Bigfoot::Time Pack(const Bigfoot::Time& p_time);
|
||||
Bigfoot::Time UnPack(const Flat::Bigfoot::Time& p_flatTime);
|
||||
} // namespace flatbuffers
|
||||
|
||||
#endif
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
// automatically generated by the FlatBuffers compiler, do not modify
|
||||
|
||||
|
||||
#ifndef FLATBUFFERS_GENERATED_TIME_BIGFOOT_FLAT_H_
|
||||
#define FLATBUFFERS_GENERATED_TIME_BIGFOOT_FLAT_H_
|
||||
#ifndef FLATBUFFERS_GENERATED_TIME_FLAT_BIGFOOT_H_
|
||||
#define FLATBUFFERS_GENERATED_TIME_FLAT_BIGFOOT_H_
|
||||
|
||||
#include "flatbuffers/flatbuffers.h"
|
||||
|
||||
@@ -13,11 +13,14 @@ static_assert(FLATBUFFERS_VERSION_MAJOR == 25 &&
|
||||
FLATBUFFERS_VERSION_REVISION == 19,
|
||||
"Non-compatible flatbuffers version included");
|
||||
|
||||
#include "System/Time/Time.hpp"
|
||||
|
||||
#include "EASTL/unique_ptr.h"
|
||||
#include "EASTL/string.h"
|
||||
#include "EASTL/vector.h"
|
||||
|
||||
namespace Bigfoot {
|
||||
namespace Flat {
|
||||
namespace Bigfoot {
|
||||
|
||||
struct Time;
|
||||
|
||||
@@ -33,7 +36,7 @@ FLATBUFFERS_MANUALLY_ALIGNED_STRUCT(8) Time FLATBUFFERS_FINAL_CLASS {
|
||||
return TimeTypeTable();
|
||||
}
|
||||
static FLATBUFFERS_CONSTEXPR_CPP11 const char *GetFullyQualifiedName() {
|
||||
return "Bigfoot.Flat.Time";
|
||||
return "Flat.Bigfoot.Time";
|
||||
}
|
||||
Time()
|
||||
: epoch_(0) {
|
||||
@@ -65,7 +68,7 @@ inline const ::flatbuffers::TypeTable *TimeTypeTable() {
|
||||
return &tt;
|
||||
}
|
||||
|
||||
} // namespace Flat
|
||||
} // namespace Bigfoot
|
||||
} // namespace Flat
|
||||
|
||||
#endif // FLATBUFFERS_GENERATED_TIME_BIGFOOT_FLAT_H_
|
||||
#endif // FLATBUFFERS_GENERATED_TIME_FLAT_BIGFOOT_H_
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
native_include "System/UUID/UUID.hpp";
|
||||
|
||||
namespace Flat.Bigfoot;
|
||||
|
||||
struct UUID (native_type: "::Bigfoot::UUID")
|
||||
|
||||
@@ -6,8 +6,6 @@
|
||||
*********************************************************************/
|
||||
#ifndef BIGFOOT_SYSTEM_UUID_HPP
|
||||
#define BIGFOOT_SYSTEM_UUID_HPP
|
||||
#include <System/UUID/UUID_generated.hpp>
|
||||
|
||||
#include <uuid.h>
|
||||
|
||||
namespace Bigfoot
|
||||
@@ -146,6 +144,16 @@ struct quill::Codec<Bigfoot::UUID>: quill::DeferredFormatCodec<Bigfoot::UUID>
|
||||
|
||||
/****************************************************************************************/
|
||||
|
||||
namespace Flat
|
||||
{
|
||||
namespace Bigfoot
|
||||
{
|
||||
struct UUID;
|
||||
}
|
||||
} // namespace Flat
|
||||
|
||||
/****************************************************************************************/
|
||||
|
||||
namespace flatbuffers
|
||||
{
|
||||
Flat::Bigfoot::UUID Pack(const Bigfoot::UUID& p_uuid);
|
||||
|
||||
@@ -13,8 +13,11 @@ static_assert(FLATBUFFERS_VERSION_MAJOR == 25 &&
|
||||
FLATBUFFERS_VERSION_REVISION == 19,
|
||||
"Non-compatible flatbuffers version included");
|
||||
|
||||
#include "System/UUID/UUID.hpp"
|
||||
|
||||
#include "EASTL/unique_ptr.h"
|
||||
#include "EASTL/string.h"
|
||||
#include "EASTL/vector.h"
|
||||
|
||||
namespace Flat {
|
||||
namespace Bigfoot {
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
* \date December 2025
|
||||
*********************************************************************/
|
||||
#include <System/Time/Time.hpp>
|
||||
#include <System/Time/Time_generated.hpp>
|
||||
|
||||
#include <System/SystemAssertHandler.hpp>
|
||||
|
||||
@@ -124,14 +125,14 @@ Time Time::Now()
|
||||
|
||||
namespace flatbuffers
|
||||
{
|
||||
Bigfoot::Flat::Time Pack(const Bigfoot::Time& p_time)
|
||||
Flat::Bigfoot::Time Pack(const Bigfoot::Time& p_time)
|
||||
{
|
||||
return Bigfoot::Flat::Time {p_time.Epoch()};
|
||||
return Flat::Bigfoot::Time {p_time.Epoch()};
|
||||
}
|
||||
|
||||
/****************************************************************************************/
|
||||
|
||||
Bigfoot::Time UnPack(const Bigfoot::Flat::Time& p_flatTime)
|
||||
Bigfoot::Time UnPack(const Flat::Bigfoot::Time& p_flatTime)
|
||||
{
|
||||
return Bigfoot::Time {p_flatTime.epoch()};
|
||||
}
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
* \date October 2025
|
||||
*********************************************************************/
|
||||
#include <System/UUID/UUID.hpp>
|
||||
#include <System/UUID/UUID_generated.hpp>
|
||||
|
||||
namespace Bigfoot
|
||||
{
|
||||
|
||||
@@ -68,15 +68,11 @@ class Singleton
|
||||
Finalize();
|
||||
}
|
||||
|
||||
[[nodiscard]]
|
||||
Lifetime& operator=(const Lifetime& p_lifetime) = delete;
|
||||
[[nodiscard]]
|
||||
Lifetime& operator=(Lifetime&& p_lifetime) = delete;
|
||||
};
|
||||
|
||||
[[nodiscard]]
|
||||
Singleton& operator=(const Singleton& p_singleton) = delete;
|
||||
[[nodiscard]]
|
||||
Singleton& operator=(Singleton&& p_singleton) = delete;
|
||||
|
||||
private:
|
||||
|
||||
@@ -15,8 +15,7 @@
|
||||
|
||||
#include <EngineTests/Asset/AssetA.hpp>
|
||||
#include <EngineTests/Asset/AssetB.hpp>
|
||||
|
||||
#include <flatbuffers/reflection.h>
|
||||
#include <EngineTests/Asset/AssetC.hpp>
|
||||
|
||||
#include <gtest/gtest.h>
|
||||
|
||||
@@ -35,7 +34,7 @@ class AssetFixture: public ::testing::Test
|
||||
|
||||
/****************************************************************************************/
|
||||
|
||||
TEST_F(AssetFixture, Asset)
|
||||
TEST_F(AssetFixture, AssetATests)
|
||||
{
|
||||
constexpr eastl::string_view name = "Hello";
|
||||
constexpr std::uint32_t version = 42;
|
||||
@@ -48,61 +47,198 @@ TEST_F(AssetFixture, Asset)
|
||||
assetA.GetAsset().health = health;
|
||||
assetA.GetAsset().mana = mana;
|
||||
|
||||
const eastl::vector<std::byte> test = assetA.Pack();
|
||||
const eastl::vector<std::byte> test = assetA.Save();
|
||||
|
||||
AssetA assetB {test};
|
||||
AssetA assetA_dup {test};
|
||||
|
||||
EXPECT_EQ(assetA.GetHeader().uuid, assetB.GetHeader().uuid);
|
||||
EXPECT_EQ(assetA.GetHeader().uuid, assetA_dup.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_id, assetA_dup.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().type_name, assetA_dup.GetHeader().type_name);
|
||||
|
||||
EXPECT_EQ(assetA.GetHeader().name, name);
|
||||
EXPECT_EQ(assetA.GetHeader().name, assetB.GetHeader().name);
|
||||
EXPECT_EQ(assetA.GetHeader().name, assetA_dup.GetHeader().name);
|
||||
|
||||
EXPECT_EQ(assetA.GetHeader().version, version);
|
||||
EXPECT_EQ(assetA.GetHeader().version, assetB.GetHeader().version);
|
||||
EXPECT_EQ(assetA.GetHeader().version, assetA_dup.GetHeader().version);
|
||||
|
||||
EXPECT_EQ(assetA.GetHeader().dependencies, assetB.GetHeader().dependencies);
|
||||
EXPECT_TRUE(assetA.GetHeader().dependencies.empty());
|
||||
EXPECT_EQ(assetA.GetHeader().dependencies, assetA_dup.GetHeader().dependencies);
|
||||
|
||||
EXPECT_EQ(assetA.GetAsset().health, health);
|
||||
EXPECT_EQ(assetA.GetAsset().health, assetB.GetAsset().health);
|
||||
EXPECT_EQ(assetA.GetAsset().health, assetA_dup.GetAsset().health);
|
||||
|
||||
EXPECT_EQ(assetA.GetAsset().mana, mana);
|
||||
EXPECT_EQ(assetA.GetAsset().mana, assetB.GetAsset().mana);
|
||||
EXPECT_EQ(assetA.GetAsset().mana, assetA_dup.GetAsset().mana);
|
||||
}
|
||||
|
||||
/****************************************************************************************/
|
||||
|
||||
TEST_F(AssetFixture, Reflection)
|
||||
TEST_F(AssetFixture, AssetBTests)
|
||||
{
|
||||
[[maybe_unused]]
|
||||
const reflection::Schema* reflection = reflection::GetSchema(AssetA::ReflectionInfo().data());
|
||||
constexpr eastl::string_view nameA = "Hello";
|
||||
constexpr std::uint32_t versionA = 42;
|
||||
constexpr std::uint32_t healthA = 100;
|
||||
constexpr std::uint32_t manaA = 50;
|
||||
|
||||
for (const auto test: *reflection->root_table()->fields())
|
||||
{
|
||||
eastl::string typeName;
|
||||
AssetA assetA;
|
||||
assetA.SetName(nameA);
|
||||
assetA.SetVersion(versionA);
|
||||
assetA.GetAsset().health = healthA;
|
||||
assetA.GetAsset().mana = manaA;
|
||||
|
||||
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());
|
||||
}
|
||||
constexpr eastl::string_view nameAA = "There";
|
||||
constexpr std::uint32_t versionAA = 42;
|
||||
constexpr std::uint32_t healthAA = 100;
|
||||
constexpr std::uint32_t manaAA = 50;
|
||||
|
||||
BIGFOOT_LOG_INFO(ENGINE_LOGGER, "{} {}", typeName, test->name()->c_str());
|
||||
}
|
||||
AssetA assetAA;
|
||||
assetAA.SetName(nameAA);
|
||||
assetAA.SetVersion(versionAA);
|
||||
assetAA.GetAsset().health = healthAA;
|
||||
assetAA.GetAsset().mana = manaAA;
|
||||
|
||||
constexpr eastl::string_view nameB = "Kenobi";
|
||||
constexpr std::uint32_t versionB = 1;
|
||||
|
||||
AssetB assetB;
|
||||
assetB.SetName(nameB);
|
||||
assetB.SetVersion(versionB);
|
||||
assetB.GetAsset().asset_a_ref = HardRef<AssetA> {assetA.GetHeader().uuid};
|
||||
assetB.GetAsset().asset_a_refs = {SoftRef<AssetA> {assetA.GetHeader().uuid},
|
||||
SoftRef<AssetA> {assetAA.GetHeader().uuid}};
|
||||
|
||||
const eastl::vector<std::byte> test = assetB.Save();
|
||||
|
||||
AssetB assetB_dup {test};
|
||||
|
||||
EXPECT_EQ(assetB.GetHeader().uuid, assetB_dup.GetHeader().uuid);
|
||||
|
||||
EXPECT_EQ(assetB.GetHeader().type_id, AssetB::GetTypeID());
|
||||
EXPECT_EQ(assetB.GetHeader().type_id, assetB_dup.GetHeader().type_id);
|
||||
|
||||
EXPECT_EQ(assetB.GetHeader().type_name, AssetB::GetTypeName());
|
||||
EXPECT_EQ(assetB.GetHeader().type_name, assetB_dup.GetHeader().type_name);
|
||||
|
||||
EXPECT_EQ(assetB.GetHeader().name, nameB);
|
||||
EXPECT_EQ(assetB.GetHeader().name, assetB_dup.GetHeader().name);
|
||||
|
||||
EXPECT_EQ(assetB.GetHeader().version, versionB);
|
||||
EXPECT_EQ(assetB.GetHeader().version, assetB_dup.GetHeader().version);
|
||||
|
||||
EXPECT_EQ(assetB.GetHeader().dependencies.size(), 1);
|
||||
EXPECT_NE(eastl::find(assetB.GetHeader().dependencies.begin(),
|
||||
assetB.GetHeader().dependencies.end(),
|
||||
assetA.GetHeader().uuid),
|
||||
assetB.GetHeader().dependencies.end());
|
||||
EXPECT_EQ(assetB.GetHeader().dependencies, assetB_dup.GetHeader().dependencies);
|
||||
|
||||
EXPECT_EQ(assetB.GetAsset().asset_a_ref, HardRef<AssetA> {assetA.GetHeader().uuid});
|
||||
EXPECT_EQ(assetB.GetAsset().asset_a_ref, assetB_dup.GetAsset().asset_a_ref);
|
||||
|
||||
EXPECT_EQ(assetB.GetAsset().asset_a_refs,
|
||||
(eastl::vector<SoftRef<AssetA>> {SoftRef<AssetA> {assetA.GetHeader().uuid},
|
||||
SoftRef<AssetA> {assetAA.GetHeader().uuid}}));
|
||||
EXPECT_EQ(assetB.GetAsset().asset_a_refs, assetB_dup.GetAsset().asset_a_refs);
|
||||
}
|
||||
|
||||
/****************************************************************************************/
|
||||
|
||||
TEST_F(AssetFixture, AssetCTests)
|
||||
{
|
||||
constexpr eastl::string_view nameA = "Hello";
|
||||
constexpr std::uint32_t versionA = 42;
|
||||
constexpr std::uint32_t healthA = 100;
|
||||
constexpr std::uint32_t manaA = 50;
|
||||
|
||||
AssetA assetA;
|
||||
assetA.SetName(nameA);
|
||||
assetA.SetVersion(versionA);
|
||||
assetA.GetAsset().health = healthA;
|
||||
assetA.GetAsset().mana = manaA;
|
||||
|
||||
constexpr eastl::string_view nameAA = "There";
|
||||
constexpr std::uint32_t versionAA = 42;
|
||||
constexpr std::uint32_t healthAA = 100;
|
||||
constexpr std::uint32_t manaAA = 50;
|
||||
|
||||
AssetA assetAA;
|
||||
assetAA.SetName(nameAA);
|
||||
assetAA.SetVersion(versionAA);
|
||||
assetAA.GetAsset().health = healthAA;
|
||||
assetAA.GetAsset().mana = manaAA;
|
||||
|
||||
constexpr eastl::string_view nameB = "Kenobi";
|
||||
constexpr std::uint32_t versionB = 1;
|
||||
|
||||
AssetB assetB;
|
||||
assetB.SetName(nameB);
|
||||
assetB.SetVersion(versionB);
|
||||
assetB.GetAsset().asset_a_ref = HardRef<AssetA> {assetA.GetHeader().uuid};
|
||||
assetB.GetAsset().asset_a_refs = {SoftRef<AssetA> {assetA.GetHeader().uuid},
|
||||
SoftRef<AssetA> {assetAA.GetHeader().uuid}};
|
||||
|
||||
constexpr eastl::string_view nameC = "General";
|
||||
constexpr std::uint32_t versionC = 1;
|
||||
|
||||
AssetC assetC;
|
||||
assetC.SetName(nameC);
|
||||
assetC.SetVersion(versionC);
|
||||
assetC.GetAsset().inner_table->asset_a_ref = HardRef<AssetA> {assetA.GetHeader().uuid};
|
||||
assetC.GetAsset().inner_table->asset_a_refs = {HardRef<AssetA> {assetA.GetHeader().uuid},
|
||||
HardRef<AssetA> {assetAA.GetHeader().uuid}};
|
||||
assetC.GetAsset().asset_b_ref = HardRef<AssetB> {assetB.GetHeader().uuid};
|
||||
assetC.GetAsset().asset_b_refs = {SoftRef<AssetB> {assetB.GetHeader().uuid}};
|
||||
|
||||
const eastl::vector<std::byte> test = assetC.Save();
|
||||
|
||||
AssetC assetC_dup {test};
|
||||
|
||||
EXPECT_EQ(assetC.GetHeader().uuid, assetC_dup.GetHeader().uuid);
|
||||
|
||||
EXPECT_EQ(assetC.GetHeader().type_id, AssetC::GetTypeID());
|
||||
EXPECT_EQ(assetC.GetHeader().type_id, assetC_dup.GetHeader().type_id);
|
||||
|
||||
EXPECT_EQ(assetC.GetHeader().type_name, AssetC::GetTypeName());
|
||||
EXPECT_EQ(assetC.GetHeader().type_name, assetC_dup.GetHeader().type_name);
|
||||
|
||||
EXPECT_EQ(assetC.GetHeader().name, nameC);
|
||||
EXPECT_EQ(assetC.GetHeader().name, assetC_dup.GetHeader().name);
|
||||
|
||||
EXPECT_EQ(assetC.GetHeader().version, versionC);
|
||||
EXPECT_EQ(assetC.GetHeader().version, assetC_dup.GetHeader().version);
|
||||
|
||||
EXPECT_EQ(assetC.GetHeader().dependencies.size(), 3);
|
||||
EXPECT_NE(eastl::find(assetC.GetHeader().dependencies.begin(),
|
||||
assetC.GetHeader().dependencies.end(),
|
||||
assetB.GetHeader().uuid),
|
||||
assetC.GetHeader().dependencies.end());
|
||||
EXPECT_NE(eastl::find(assetC.GetHeader().dependencies.begin(),
|
||||
assetC.GetHeader().dependencies.end(),
|
||||
assetA.GetHeader().uuid),
|
||||
assetC.GetHeader().dependencies.end());
|
||||
EXPECT_NE(eastl::find(assetC.GetHeader().dependencies.begin(),
|
||||
assetC.GetHeader().dependencies.end(),
|
||||
assetAA.GetHeader().uuid),
|
||||
assetC.GetHeader().dependencies.end());
|
||||
EXPECT_EQ(assetC.GetHeader().dependencies, assetC_dup.GetHeader().dependencies);
|
||||
|
||||
EXPECT_EQ(assetC.GetAsset().asset_b_ref, HardRef<AssetB> {assetB.GetHeader().uuid});
|
||||
EXPECT_EQ(assetC.GetAsset().asset_b_ref, assetC_dup.GetAsset().asset_b_ref);
|
||||
|
||||
EXPECT_EQ(assetC.GetAsset().asset_b_refs,
|
||||
(eastl::vector<SoftRef<AssetB>> {SoftRef<AssetB> {assetB.GetHeader().uuid}}));
|
||||
EXPECT_EQ(assetC.GetAsset().asset_b_refs, assetC_dup.GetAsset().asset_b_refs);
|
||||
|
||||
EXPECT_EQ(assetC.GetAsset().inner_table->asset_a_ref, HardRef<AssetA> {assetA.GetHeader().uuid});
|
||||
EXPECT_EQ(assetC.GetAsset().inner_table->asset_a_ref, assetC_dup.GetAsset().inner_table->asset_a_ref);
|
||||
|
||||
EXPECT_EQ(assetC.GetAsset().inner_table->asset_a_refs,
|
||||
(eastl::vector<HardRef<AssetA>> {HardRef<AssetA> {assetA.GetHeader().uuid},
|
||||
HardRef<AssetA> {assetAA.GetHeader().uuid}}));
|
||||
EXPECT_EQ(assetC.GetAsset().inner_table->asset_a_refs, assetC_dup.GetAsset().inner_table->asset_a_refs);
|
||||
}
|
||||
} // namespace Bigfoot
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
/*********************************************************************
|
||||
* \file AssetA.cpp
|
||||
* \file AssetA_fwd.cpp
|
||||
*
|
||||
* \author Romain BOULLARD
|
||||
* \date May 2026
|
||||
*********************************************************************/
|
||||
#include <EngineTests/Asset/AssetA.hpp>
|
||||
#include <EngineTests/Asset/AssetA_fwd.hpp>
|
||||
|
||||
ASSET_REF_IMPL(AssetA)
|
||||
ASSET_REF_IMPL(AssetA, ::Bigfoot::AssetA)
|
||||
@@ -1,9 +1,9 @@
|
||||
/*********************************************************************
|
||||
* \file AssetB.cpp
|
||||
* \file AssetB_fwd.cpp
|
||||
*
|
||||
* \author Romain BOULLARD
|
||||
* \date May 2026
|
||||
*********************************************************************/
|
||||
#include <EngineTests/Asset/AssetB.hpp>
|
||||
#include <EngineTests/Asset/AssetB_fwd.hpp>
|
||||
|
||||
ASSET_REF_IMPL(AssetB)
|
||||
ASSET_REF_IMPL(AssetB, ::Bigfoot::AssetB)
|
||||
9
Bigfoot/Tests/Engine/EngineTests/Asset/AssetC_fwd.cpp
Normal file
9
Bigfoot/Tests/Engine/EngineTests/Asset/AssetC_fwd.cpp
Normal file
@@ -0,0 +1,9 @@
|
||||
/*********************************************************************
|
||||
* \file AssetC_fwd.cpp
|
||||
*
|
||||
* \author Romain BOULLARD
|
||||
* \date May 2026
|
||||
*********************************************************************/
|
||||
#include <EngineTests/Asset/AssetC_fwd.hpp>
|
||||
|
||||
ASSET_REF_IMPL(AssetC, ::Bigfoot::AssetC)
|
||||
Binary file not shown.
@@ -11,35 +11,19 @@
|
||||
|
||||
namespace Bigfoot
|
||||
{
|
||||
inline constexpr eastl::array<std::byte, 1184> g_AssetA_bfbs = {
|
||||
inline constexpr eastl::array<std::byte, 912> g_AssetA_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{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{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{0xA0}, std::byte{0x01}, std::byte{0x00}, std::byte{0x00}, std::byte{0x14}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x44}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00},
|
||||
std::byte{0x20}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0xA0}, 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{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x06}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x6C}, std::byte{0x01}, std::byte{0x00}, std::byte{0x00}, std::byte{0xD8}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00},
|
||||
std::byte{0x58}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x94}, std::byte{0x02}, std::byte{0x00}, std::byte{0x00}, std::byte{0x20}, std::byte{0x02}, std::byte{0x00}, std::byte{0x00}, std::byte{0x68}, std::byte{0x03}, std::byte{0x00}, std::byte{0x00},
|
||||
std::byte{0x03}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x30}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x1C}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x04}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00},
|
||||
std::byte{0x2C}, std::byte{0xFC}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0x54}, std::byte{0x01}, std::byte{0x00}, std::byte{0x00}, std::byte{0x04}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x01}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00},
|
||||
std::byte{0x84}, std::byte{0x02}, std::byte{0x00}, std::byte{0x00}, std::byte{0x40}, std::byte{0xFC}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0x58}, 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{0x50}, std::byte{0xFC}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0x6C}, std::byte{0x02}, std::byte{0x00}, std::byte{0x00}, std::byte{0x04}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00},
|
||||
std::byte{0x01}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x3C}, std::byte{0x03}, std::byte{0x00}, std::byte{0x00}, std::byte{0xF8}, std::byte{0xFC}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x01},
|
||||
std::byte{0x1C}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x10}, 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{0x08}, std::byte{0x01}, std::byte{0x00}, std::byte{0x00}, std::byte{0x01}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x30}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x24}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00},
|
||||
std::byte{0x46}, std::byte{0x6C}, std::byte{0x61}, std::byte{0x74}, std::byte{0x2E}, 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{0x52}, std::byte{0x65}, std::byte{0x66},
|
||||
std::byte{0x65}, std::byte{0x72}, std::byte{0x65}, std::byte{0x6E}, std::byte{0x63}, std::byte{0x65}, std::byte{0x2E}, std::byte{0x41}, std::byte{0x73}, std::byte{0x73}, std::byte{0x65}, std::byte{0x74}, std::byte{0x41}, std::byte{0x53}, std::byte{0x6F}, std::byte{0x66},
|
||||
std::byte{0x74}, std::byte{0x52}, std::byte{0x65}, std::byte{0x66}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0xB4}, std::byte{0xFC}, std::byte{0xFF}, std::byte{0xFF}, 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{0x80}, std::byte{0xFD}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x0F}, std::byte{0x04}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00},
|
||||
std::byte{0x01}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x08}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x73}, std::byte{0x6F}, std::byte{0x66}, std::byte{0x74}, std::byte{0x5F}, std::byte{0x72}, std::byte{0x65}, std::byte{0x66},
|
||||
std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x74}, std::byte{0xFD}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x01}, std::byte{0x1C}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00},
|
||||
std::byte{0x10}, 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{0x8C}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00},
|
||||
std::byte{0x01}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x30}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x24}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x46}, std::byte{0x6C}, std::byte{0x61}, std::byte{0x74},
|
||||
std::byte{0x2E}, 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{0x52}, std::byte{0x65}, std::byte{0x66}, std::byte{0x65}, std::byte{0x72}, std::byte{0x65}, std::byte{0x6E},
|
||||
std::byte{0x63}, std::byte{0x65}, std::byte{0x2E}, std::byte{0x41}, std::byte{0x73}, std::byte{0x73}, std::byte{0x65}, std::byte{0x74}, std::byte{0x41}, std::byte{0x48}, std::byte{0x61}, std::byte{0x72}, std::byte{0x64}, std::byte{0x52}, std::byte{0x65}, std::byte{0x66},
|
||||
std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x30}, std::byte{0xFD}, std::byte{0xFF}, std::byte{0xFF}, 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{0xFC}, std::byte{0xFD}, std::byte{0xFF}, std::byte{0xFF}, 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{0x08}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x68}, std::byte{0x61}, std::byte{0x72}, std::byte{0x64}, std::byte{0x5F}, std::byte{0x72}, std::byte{0x65}, std::byte{0x66}, 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{0x6C}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x94}, std::byte{0x01}, std::byte{0x00}, std::byte{0x00},
|
||||
std::byte{0x28}, std::byte{0x01}, std::byte{0x00}, std::byte{0x00}, std::byte{0x60}, std::byte{0x02}, std::byte{0x00}, std::byte{0x00}, std::byte{0x03}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x30}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00},
|
||||
std::byte{0x1C}, 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{0xFD}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0x5C}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00},
|
||||
std::byte{0x04}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x01}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x84}, std::byte{0x01}, std::byte{0x00}, std::byte{0x00}, std::byte{0x48}, std::byte{0xFD}, std::byte{0xFF}, std::byte{0xFF},
|
||||
std::byte{0x50}, 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{0x58}, std::byte{0xFD}, std::byte{0xFF}, std::byte{0xFF},
|
||||
std::byte{0x6C}, std::byte{0x01}, std::byte{0x00}, std::byte{0x00}, std::byte{0x04}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x01}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x34}, std::byte{0x02}, 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{0x30}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x20}, 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{0x0C}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x2F}, std::byte{0x2F}, std::byte{0x41}, std::byte{0x73},
|
||||
@@ -53,25 +37,24 @@ namespace Bigfoot
|
||||
std::byte{0x0C}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x04}, 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{0x08}, 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{0x6C}, std::byte{0x74}, std::byte{0x68}, std::byte{0x00}, std::byte{0x00}, std::byte{0xC8}, std::byte{0xFE}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x01},
|
||||
std::byte{0x68}, std::byte{0x65}, std::byte{0x61}, std::byte{0x6C}, std::byte{0x74}, std::byte{0x68}, std::byte{0x00}, std::byte{0x00}, std::byte{0xD8}, std::byte{0xFE}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x01},
|
||||
std::byte{0x1C}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x10}, 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{0x74}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x01}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x28}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x1E}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00},
|
||||
std::byte{0x46}, std::byte{0x6C}, std::byte{0x61}, std::byte{0x74}, std::byte{0x2E}, 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{0x52}, std::byte{0x65}, std::byte{0x66},
|
||||
std::byte{0x65}, std::byte{0x72}, std::byte{0x65}, std::byte{0x6E}, std::byte{0x63}, std::byte{0x65}, std::byte{0x2E}, std::byte{0x53}, std::byte{0x6F}, std::byte{0x66}, std::byte{0x74}, std::byte{0x52}, std::byte{0x65}, std::byte{0x66}, std::byte{0x00}, std::byte{0x00},
|
||||
std::byte{0x7C}, std::byte{0xFE}, std::byte{0xFF}, std::byte{0xFF}, 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{0x48}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0xFF},
|
||||
std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x0F}, std::byte{0x05}, 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{0x38}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x01},
|
||||
std::byte{0x64}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x58}, 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{0x42}, 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{0x6F}, std::byte{0x75}, std::byte{0x72}, std::byte{0x63}, std::byte{0x65}, std::byte{0x73},
|
||||
std::byte{0x2F}, std::byte{0x45}, std::byte{0x6E}, std::byte{0x67}, std::byte{0x69}, std::byte{0x6E}, std::byte{0x65}, 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{0x45}, std::byte{0x6E}, std::byte{0x67}, std::byte{0x69}, std::byte{0x6E}, std::byte{0x65}, std::byte{0x2F}, std::byte{0x41}, std::byte{0x73}, std::byte{0x73}, std::byte{0x65}, std::byte{0x74}, std::byte{0x2F}, std::byte{0x52}, std::byte{0x65}, std::byte{0x66},
|
||||
std::byte{0x65}, std::byte{0x72}, std::byte{0x65}, std::byte{0x6E}, std::byte{0x63}, std::byte{0x65}, std::byte{0x2E}, std::byte{0x66}, std::byte{0x62}, std::byte{0x73}, std::byte{0x00}, std::byte{0x00}, std::byte{0x01}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00},
|
||||
std::byte{0x28}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x1E}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x46}, std::byte{0x6C}, std::byte{0x61}, std::byte{0x74}, std::byte{0x2E}, 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{0x52}, std::byte{0x65}, std::byte{0x66}, std::byte{0x65}, std::byte{0x72}, std::byte{0x65}, std::byte{0x6E}, std::byte{0x63}, std::byte{0x65}, std::byte{0x2E}, std::byte{0x48},
|
||||
std::byte{0x61}, std::byte{0x72}, std::byte{0x64}, std::byte{0x52}, std::byte{0x65}, std::byte{0x66}, std::byte{0x00}, std::byte{0x00}, std::byte{0x34}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0x28}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00},
|
||||
std::byte{0x6C}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x01}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x20}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x14}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00},
|
||||
std::byte{0x46}, std::byte{0x6C}, std::byte{0x61}, std::byte{0x74}, std::byte{0x2E}, 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{0x53}, std::byte{0x6F}, std::byte{0x66},
|
||||
std::byte{0x74}, std::byte{0x52}, std::byte{0x65}, std::byte{0x66}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x84}, std::byte{0xFE}, std::byte{0xFF}, std::byte{0xFF}, 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{0x50}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0xFF}, 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{0x40}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x01}, std::byte{0x64}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x58}, 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{0x42}, 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{0x6F}, std::byte{0x75}, std::byte{0x72}, std::byte{0x63}, std::byte{0x65}, std::byte{0x73}, std::byte{0x2F}, std::byte{0x45}, std::byte{0x6E}, std::byte{0x67}, std::byte{0x69}, std::byte{0x6E}, std::byte{0x65}, 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{0x45}, std::byte{0x6E}, std::byte{0x67}, std::byte{0x69}, std::byte{0x6E}, std::byte{0x65}, std::byte{0x2F}, std::byte{0x41},
|
||||
std::byte{0x73}, std::byte{0x73}, std::byte{0x65}, std::byte{0x74}, std::byte{0x2F}, std::byte{0x52}, std::byte{0x65}, std::byte{0x66}, std::byte{0x65}, std::byte{0x72}, std::byte{0x65}, std::byte{0x6E}, std::byte{0x63}, std::byte{0x65}, std::byte{0x2E}, std::byte{0x66},
|
||||
std::byte{0x62}, std::byte{0x73}, std::byte{0x00}, std::byte{0x00}, std::byte{0x01}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x20}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x14}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00},
|
||||
std::byte{0x46}, std::byte{0x6C}, std::byte{0x61}, std::byte{0x74}, std::byte{0x2E}, 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{0x48}, std::byte{0x61}, std::byte{0x72},
|
||||
std::byte{0x64}, std::byte{0x52}, std::byte{0x65}, std::byte{0x66}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x34}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0xFF}, 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{0x05}, 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{0x14}, std::byte{0x00}, std::byte{0x1C}, std::byte{0x00}, std::byte{0x08}, std::byte{0x00}, std::byte{0x0C}, std::byte{0x00}, std::byte{0x07}, std::byte{0x00}, std::byte{0x10}, std::byte{0x00}, std::byte{0x14}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00},
|
||||
std::byte{0x00}, std::byte{0x00}, std::byte{0x18}, 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{0x60}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00},
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
include "Engine/Asset/Reference.fbs";
|
||||
|
||||
native_include "EngineTests/Asset/AssetA_fwd.hpp";
|
||||
|
||||
namespace Flat.Bigfoot;
|
||||
|
||||
table AssetA
|
||||
@@ -8,15 +10,4 @@ table AssetA
|
||||
mana: uint = 0;
|
||||
}
|
||||
|
||||
root_type AssetA;
|
||||
|
||||
namespace Flat.Bigfoot.Reference;
|
||||
|
||||
struct AssetAHardRef (native_type: "::Bigfoot::HardRef<::Bigfoot::AssetA>")
|
||||
{
|
||||
hard_ref: HardRef;
|
||||
}
|
||||
struct AssetASoftRef (native_type: "::Bigfoot::SoftRef<::Bigfoot::AssetA>")
|
||||
{
|
||||
soft_ref: SoftRef;
|
||||
}
|
||||
root_type AssetA;
|
||||
@@ -7,14 +7,23 @@
|
||||
#ifndef BIGFOOT_ENGINE_ASSETA_HPP
|
||||
#define BIGFOOT_ENGINE_ASSETA_HPP
|
||||
#include <Engine/Asset/Asset.hpp>
|
||||
#include <Engine/Asset/Reference.hpp>
|
||||
|
||||
#include <EngineTests/Asset/AssetA.bfbs_generated.hpp>
|
||||
#include <EngineTests/Asset/AssetA_generated.hpp>
|
||||
|
||||
namespace Bigfoot
|
||||
{
|
||||
class AssetA: public Asset<::Flat::Bigfoot::AssetA>
|
||||
struct AssetATraits
|
||||
{
|
||||
using FLAT = ::Flat::Bigfoot::AssetA;
|
||||
|
||||
static constexpr eastl::span<const std::byte> ReflectionInfo()
|
||||
{
|
||||
return g_AssetA_bfbs;
|
||||
}
|
||||
};
|
||||
|
||||
class AssetA: public Asset<AssetATraits>
|
||||
{
|
||||
public:
|
||||
AssetA() = default;
|
||||
@@ -29,18 +38,9 @@ class AssetA: public Asset<::Flat::Bigfoot::AssetA>
|
||||
|
||||
~AssetA() = default;
|
||||
|
||||
[[nodiscard]]
|
||||
AssetA& operator=(const AssetA& p_asset) = default;
|
||||
[[nodiscard]]
|
||||
AssetA& operator=(AssetA&& p_asset) = default;
|
||||
|
||||
static constexpr eastl::span<const std::byte> ReflectionInfo()
|
||||
{
|
||||
return g_AssetA_bfbs;
|
||||
}
|
||||
};
|
||||
} // namespace Bigfoot
|
||||
|
||||
ASSET_REF_DECL(AssetA)
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
/*********************************************************************
|
||||
* \file AssetA_fwd.hpp
|
||||
*
|
||||
* \author Romain BOULLARD
|
||||
* \date May 2026
|
||||
*********************************************************************/
|
||||
#ifndef BIGFOOT_ENGINE_ASSETA_FWD_HPP
|
||||
#define BIGFOOT_ENGINE_ASSETA_FWD_HPP
|
||||
#include <Engine/Asset/Reference_generated.hpp>
|
||||
|
||||
namespace Bigfoot
|
||||
{
|
||||
class AssetA;
|
||||
} // namespace Bigfoot
|
||||
|
||||
ASSET_DECL(AssetA, ::Bigfoot::AssetA)
|
||||
|
||||
#endif
|
||||
@@ -1,8 +1,8 @@
|
||||
// automatically generated by the FlatBuffers compiler, do not modify
|
||||
|
||||
|
||||
#ifndef FLATBUFFERS_GENERATED_ASSETA_FLAT_BIGFOOT_REFERENCE_H_
|
||||
#define FLATBUFFERS_GENERATED_ASSETA_FLAT_BIGFOOT_REFERENCE_H_
|
||||
#ifndef FLATBUFFERS_GENERATED_ASSETA_FLAT_BIGFOOT_H_
|
||||
#define FLATBUFFERS_GENERATED_ASSETA_FLAT_BIGFOOT_H_
|
||||
|
||||
#include "flatbuffers/flatbuffers.h"
|
||||
|
||||
@@ -13,11 +13,15 @@ static_assert(FLATBUFFERS_VERSION_MAJOR == 25 &&
|
||||
FLATBUFFERS_VERSION_REVISION == 19,
|
||||
"Non-compatible flatbuffers version included");
|
||||
|
||||
#include "Engine/Asset/Reference.hpp"
|
||||
#include "System/UUID/UUID.hpp"
|
||||
#include "Engine/Asset/Reference.hpp"
|
||||
#include "EngineTests/Asset/AssetA_fwd.hpp"
|
||||
#include "Engine/Asset/Reference_generated.hpp"
|
||||
|
||||
#include "EASTL/unique_ptr.h"
|
||||
#include "EASTL/string.h"
|
||||
#include "EASTL/vector.h"
|
||||
|
||||
namespace Flat {
|
||||
namespace Bigfoot {
|
||||
@@ -26,80 +30,8 @@ struct AssetA;
|
||||
struct AssetABuilder;
|
||||
struct AssetAT;
|
||||
|
||||
namespace Reference {
|
||||
|
||||
struct AssetAHardRef;
|
||||
|
||||
struct AssetASoftRef;
|
||||
|
||||
} // namespace Reference
|
||||
|
||||
inline const ::flatbuffers::TypeTable *AssetATypeTable();
|
||||
|
||||
namespace Reference {
|
||||
|
||||
inline const ::flatbuffers::TypeTable *AssetAHardRefTypeTable();
|
||||
|
||||
inline const ::flatbuffers::TypeTable *AssetASoftRefTypeTable();
|
||||
|
||||
FLATBUFFERS_MANUALLY_ALIGNED_STRUCT(1) AssetAHardRef FLATBUFFERS_FINAL_CLASS {
|
||||
private:
|
||||
Flat::Bigfoot::Reference::HardRef hard_ref_;
|
||||
|
||||
public:
|
||||
struct Traits;
|
||||
static const ::flatbuffers::TypeTable *MiniReflectTypeTable() {
|
||||
return AssetAHardRefTypeTable();
|
||||
}
|
||||
static FLATBUFFERS_CONSTEXPR_CPP11 const char *GetFullyQualifiedName() {
|
||||
return "Flat.Bigfoot.Reference.AssetAHardRef";
|
||||
}
|
||||
AssetAHardRef()
|
||||
: hard_ref_() {
|
||||
}
|
||||
AssetAHardRef(const Flat::Bigfoot::Reference::HardRef &_hard_ref)
|
||||
: hard_ref_(_hard_ref) {
|
||||
}
|
||||
const Flat::Bigfoot::Reference::HardRef &hard_ref() const {
|
||||
return hard_ref_;
|
||||
}
|
||||
};
|
||||
FLATBUFFERS_STRUCT_END(AssetAHardRef, 16);
|
||||
|
||||
struct AssetAHardRef::Traits {
|
||||
using type = AssetAHardRef;
|
||||
};
|
||||
|
||||
FLATBUFFERS_MANUALLY_ALIGNED_STRUCT(1) AssetASoftRef FLATBUFFERS_FINAL_CLASS {
|
||||
private:
|
||||
Flat::Bigfoot::Reference::SoftRef soft_ref_;
|
||||
|
||||
public:
|
||||
struct Traits;
|
||||
static const ::flatbuffers::TypeTable *MiniReflectTypeTable() {
|
||||
return AssetASoftRefTypeTable();
|
||||
}
|
||||
static FLATBUFFERS_CONSTEXPR_CPP11 const char *GetFullyQualifiedName() {
|
||||
return "Flat.Bigfoot.Reference.AssetASoftRef";
|
||||
}
|
||||
AssetASoftRef()
|
||||
: soft_ref_() {
|
||||
}
|
||||
AssetASoftRef(const Flat::Bigfoot::Reference::SoftRef &_soft_ref)
|
||||
: soft_ref_(_soft_ref) {
|
||||
}
|
||||
const Flat::Bigfoot::Reference::SoftRef &soft_ref() const {
|
||||
return soft_ref_;
|
||||
}
|
||||
};
|
||||
FLATBUFFERS_STRUCT_END(AssetASoftRef, 16);
|
||||
|
||||
struct AssetASoftRef::Traits {
|
||||
using type = AssetASoftRef;
|
||||
};
|
||||
|
||||
} // namespace Reference
|
||||
|
||||
struct AssetAT : public ::flatbuffers::NativeTable {
|
||||
typedef AssetA TableType;
|
||||
static FLATBUFFERS_CONSTEXPR_CPP11 const char *GetFullyQualifiedName() {
|
||||
@@ -223,44 +155,6 @@ inline const ::flatbuffers::TypeTable *AssetATypeTable() {
|
||||
return &tt;
|
||||
}
|
||||
|
||||
namespace Reference {
|
||||
|
||||
inline const ::flatbuffers::TypeTable *AssetAHardRefTypeTable() {
|
||||
static const ::flatbuffers::TypeCode type_codes[] = {
|
||||
{ ::flatbuffers::ET_SEQUENCE, 0, 0 }
|
||||
};
|
||||
static const ::flatbuffers::TypeFunction type_refs[] = {
|
||||
Flat::Bigfoot::Reference::HardRefTypeTable
|
||||
};
|
||||
static const int64_t values[] = { 0, 16 };
|
||||
static const char * const names[] = {
|
||||
"hard_ref"
|
||||
};
|
||||
static const ::flatbuffers::TypeTable tt = {
|
||||
::flatbuffers::ST_STRUCT, 1, type_codes, type_refs, nullptr, values, names
|
||||
};
|
||||
return &tt;
|
||||
}
|
||||
|
||||
inline const ::flatbuffers::TypeTable *AssetASoftRefTypeTable() {
|
||||
static const ::flatbuffers::TypeCode type_codes[] = {
|
||||
{ ::flatbuffers::ET_SEQUENCE, 0, 0 }
|
||||
};
|
||||
static const ::flatbuffers::TypeFunction type_refs[] = {
|
||||
Flat::Bigfoot::Reference::SoftRefTypeTable
|
||||
};
|
||||
static const int64_t values[] = { 0, 16 };
|
||||
static const char * const names[] = {
|
||||
"soft_ref"
|
||||
};
|
||||
static const ::flatbuffers::TypeTable tt = {
|
||||
::flatbuffers::ST_STRUCT, 1, type_codes, type_refs, nullptr, values, names
|
||||
};
|
||||
return &tt;
|
||||
}
|
||||
|
||||
} // namespace Reference
|
||||
|
||||
inline const Flat::Bigfoot::AssetA *GetAssetA(const void *buf) {
|
||||
return ::flatbuffers::GetRoot<Flat::Bigfoot::AssetA>(buf);
|
||||
}
|
||||
@@ -312,4 +206,4 @@ inline eastl::unique_ptr<Flat::Bigfoot::AssetAT> UnPackSizePrefixedAssetA(
|
||||
} // namespace Bigfoot
|
||||
} // namespace Flat
|
||||
|
||||
#endif // FLATBUFFERS_GENERATED_ASSETA_FLAT_BIGFOOT_REFERENCE_H_
|
||||
#endif // FLATBUFFERS_GENERATED_ASSETA_FLAT_BIGFOOT_H_
|
||||
|
||||
Binary file not shown.
@@ -11,69 +11,37 @@
|
||||
|
||||
namespace Bigfoot
|
||||
{
|
||||
inline constexpr eastl::array<std::byte, 1720> g_AssetB_bfbs = {
|
||||
inline constexpr eastl::array<std::byte, 1192> g_AssetB_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{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{0xB0}, std::byte{0x01}, std::byte{0x00}, std::byte{0x00}, std::byte{0x10}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x4C}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00},
|
||||
std::byte{0x1C}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0xA8}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x10}, 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{0x09}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x88}, std::byte{0x03}, std::byte{0x00}, std::byte{0x00}, std::byte{0x7C}, std::byte{0x01}, std::byte{0x00}, std::byte{0x00}, std::byte{0xF0}, std::byte{0x02}, std::byte{0x00}, std::byte{0x00},
|
||||
std::byte{0x70}, std::byte{0x02}, std::byte{0x00}, std::byte{0x00}, std::byte{0xF4}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x74}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0xA4}, std::byte{0x04}, std::byte{0x00}, std::byte{0x00},
|
||||
std::byte{0x30}, std::byte{0x04}, std::byte{0x00}, std::byte{0x00}, std::byte{0x78}, std::byte{0x05}, std::byte{0x00}, std::byte{0x00}, std::byte{0x04}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x4C}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00},
|
||||
std::byte{0x38}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x20}, 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{0xFA}, std::byte{0xFF}, std::byte{0xFF},
|
||||
std::byte{0x58}, std::byte{0x01}, 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{0x90}, std::byte{0x04}, std::byte{0x00}, std::byte{0x00},
|
||||
std::byte{0x50}, std::byte{0x03}, std::byte{0x00}, std::byte{0x00}, std::byte{0x38}, std::byte{0xFA}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0x48}, std::byte{0x03}, std::byte{0x00}, std::byte{0x00}, std::byte{0x04}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00},
|
||||
std::byte{0x01}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x78}, std::byte{0x04}, std::byte{0x00}, std::byte{0x00}, std::byte{0x4C}, std::byte{0xFA}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0x4C}, std::byte{0x05}, 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{0x5C}, std::byte{0xFA}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0x60}, std::byte{0x04}, std::byte{0x00}, std::byte{0x00},
|
||||
std::byte{0x04}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x01}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x30}, std::byte{0x05}, std::byte{0x00}, std::byte{0x00}, std::byte{0x04}, std::byte{0xFB}, std::byte{0xFF}, std::byte{0xFF},
|
||||
std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x01}, std::byte{0x1C}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x10}, 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{0xF4}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x01}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x30}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00},
|
||||
std::byte{0x24}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x46}, std::byte{0x6C}, std::byte{0x61}, std::byte{0x74}, std::byte{0x2E}, 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{0x52}, std::byte{0x65}, std::byte{0x66}, std::byte{0x65}, std::byte{0x72}, std::byte{0x65}, std::byte{0x6E}, std::byte{0x63}, std::byte{0x65}, std::byte{0x2E}, std::byte{0x41}, std::byte{0x73}, std::byte{0x73}, std::byte{0x65}, std::byte{0x74},
|
||||
std::byte{0x42}, std::byte{0x53}, std::byte{0x6F}, std::byte{0x66}, std::byte{0x74}, std::byte{0x52}, std::byte{0x65}, std::byte{0x66}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0xC0}, std::byte{0xFA}, std::byte{0xFF}, std::byte{0xFF},
|
||||
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{0x8C}, std::byte{0xFB}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x0F},
|
||||
std::byte{0x07}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x01}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x08}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x73}, std::byte{0x6F}, std::byte{0x66}, std::byte{0x74},
|
||||
std::byte{0x5F}, std::byte{0x72}, std::byte{0x65}, std::byte{0x66}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x80}, std::byte{0xFB}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x01},
|
||||
std::byte{0x1C}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x10}, 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{0x78}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x01}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x30}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x24}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00},
|
||||
std::byte{0x46}, std::byte{0x6C}, std::byte{0x61}, std::byte{0x74}, std::byte{0x2E}, 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{0x52}, std::byte{0x65}, std::byte{0x66},
|
||||
std::byte{0x65}, std::byte{0x72}, std::byte{0x65}, std::byte{0x6E}, std::byte{0x63}, std::byte{0x65}, std::byte{0x2E}, std::byte{0x41}, std::byte{0x73}, std::byte{0x73}, std::byte{0x65}, std::byte{0x74}, std::byte{0x42}, std::byte{0x48}, std::byte{0x61}, std::byte{0x72},
|
||||
std::byte{0x64}, std::byte{0x52}, std::byte{0x65}, std::byte{0x66}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x3C}, std::byte{0xFB}, std::byte{0xFF}, std::byte{0xFF}, 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{0x08}, std::byte{0xFC}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x0F}, std::byte{0x06}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00},
|
||||
std::byte{0x01}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x08}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x68}, std::byte{0x61}, std::byte{0x72}, std::byte{0x64}, std::byte{0x5F}, std::byte{0x72}, std::byte{0x65}, std::byte{0x66},
|
||||
std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x0C}, std::byte{0xFE}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0x30}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x20}, 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{0x0C}, 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{0x42}, 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{0x02}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00},
|
||||
std::byte{0xA0}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x38}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x13}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x46}, std::byte{0x6C}, std::byte{0x61}, std::byte{0x74},
|
||||
std::byte{0x2E}, 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{0x41}, std::byte{0x73}, std::byte{0x73}, std::byte{0x65}, std::byte{0x74}, std::byte{0x42}, std::byte{0x00},
|
||||
std::byte{0x1C}, 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{0x00}, 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{0x1C}, 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{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{0x02}, 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{0x61}, std::byte{0x73}, std::byte{0x73}, std::byte{0x65}, std::byte{0x74}, std::byte{0x5F}, std::byte{0x61}, std::byte{0x5F}, std::byte{0x72}, std::byte{0x65}, std::byte{0x66}, std::byte{0x73},
|
||||
std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x1C}, 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{0x00}, 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{0x1C}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, 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{0x04}, std::byte{0xFD}, 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{0x0B}, 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{0x5F}, std::byte{0x61}, std::byte{0x5F}, std::byte{0x72}, std::byte{0x65}, std::byte{0x66}, std::byte{0x00},
|
||||
std::byte{0xF8}, std::byte{0xFC}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x01}, std::byte{0x1C}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x10}, 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{0x08}, std::byte{0x01}, std::byte{0x00}, std::byte{0x00}, std::byte{0x01}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00},
|
||||
std::byte{0x30}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x24}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x46}, std::byte{0x6C}, std::byte{0x61}, std::byte{0x74}, std::byte{0x2E}, 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{0x52}, std::byte{0x65}, std::byte{0x66}, std::byte{0x65}, std::byte{0x72}, std::byte{0x65}, std::byte{0x6E}, std::byte{0x63}, std::byte{0x65}, std::byte{0x2E}, std::byte{0x41},
|
||||
std::byte{0x73}, std::byte{0x73}, std::byte{0x65}, std::byte{0x74}, std::byte{0x41}, std::byte{0x53}, std::byte{0x6F}, std::byte{0x66}, std::byte{0x74}, std::byte{0x52}, std::byte{0x65}, std::byte{0x66}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00},
|
||||
std::byte{0xB4}, std::byte{0xFC}, std::byte{0xFF}, std::byte{0xFF}, 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{0x80}, std::byte{0xFD}, std::byte{0xFF}, std::byte{0xFF},
|
||||
std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x0F}, std::byte{0x07}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x01}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x08}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00},
|
||||
std::byte{0x73}, std::byte{0x6F}, std::byte{0x66}, std::byte{0x74}, std::byte{0x5F}, std::byte{0x72}, std::byte{0x65}, std::byte{0x66}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x74}, std::byte{0xFD}, std::byte{0xFF}, std::byte{0xFF},
|
||||
std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x01}, std::byte{0x1C}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x10}, 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{0x8C}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x01}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x30}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00},
|
||||
std::byte{0x24}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x46}, std::byte{0x6C}, std::byte{0x61}, std::byte{0x74}, std::byte{0x2E}, 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{0x52}, std::byte{0x65}, std::byte{0x66}, std::byte{0x65}, std::byte{0x72}, std::byte{0x65}, std::byte{0x6E}, std::byte{0x63}, std::byte{0x65}, std::byte{0x2E}, std::byte{0x41}, std::byte{0x73}, std::byte{0x73}, std::byte{0x65}, std::byte{0x74},
|
||||
std::byte{0x41}, std::byte{0x48}, std::byte{0x61}, std::byte{0x72}, std::byte{0x64}, std::byte{0x52}, std::byte{0x65}, std::byte{0x66}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x30}, std::byte{0xFD}, std::byte{0xFF}, std::byte{0xFF},
|
||||
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{0xFC}, std::byte{0xFD}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x0F},
|
||||
std::byte{0x06}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x01}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x08}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x68}, std::byte{0x61}, std::byte{0x72}, std::byte{0x64},
|
||||
std::byte{0x5F}, std::byte{0x72}, std::byte{0x65}, std::byte{0x66}, std::byte{0x00}, std::byte{0x00}, 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{0x05}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x88}, std::byte{0x01}, std::byte{0x00}, std::byte{0x00}, std::byte{0x74}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0xAC}, std::byte{0x02}, std::byte{0x00}, std::byte{0x00},
|
||||
std::byte{0x40}, std::byte{0x02}, std::byte{0x00}, std::byte{0x00}, std::byte{0x78}, std::byte{0x03}, std::byte{0x00}, std::byte{0x00}, std::byte{0x04}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x4C}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00},
|
||||
std::byte{0x38}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x20}, 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{0xFC}, std::byte{0xFF}, std::byte{0xFF},
|
||||
std::byte{0x60}, 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{0x98}, std::byte{0x02}, std::byte{0x00}, std::byte{0x00},
|
||||
std::byte{0x60}, std::byte{0x01}, std::byte{0x00}, std::byte{0x00}, std::byte{0x38}, std::byte{0xFC}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0x58}, std::byte{0x01}, std::byte{0x00}, std::byte{0x00}, std::byte{0x04}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00},
|
||||
std::byte{0x01}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x80}, std::byte{0x02}, std::byte{0x00}, std::byte{0x00}, std::byte{0x4C}, std::byte{0xFC}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0x4C}, 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{0x5C}, std::byte{0xFC}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0x68}, std::byte{0x02}, std::byte{0x00}, std::byte{0x00},
|
||||
std::byte{0x04}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x01}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x30}, std::byte{0x03}, std::byte{0x00}, std::byte{0x00}, std::byte{0x04}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0xFF},
|
||||
std::byte{0x30}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x20}, 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{0x0C}, 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{0x42}, 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{0x02}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0xA0}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x38}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00},
|
||||
std::byte{0x13}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x46}, std::byte{0x6C}, std::byte{0x61}, std::byte{0x74}, std::byte{0x2E}, 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{0x41}, std::byte{0x73}, std::byte{0x73}, std::byte{0x65}, std::byte{0x74}, std::byte{0x42}, std::byte{0x00}, std::byte{0x1C}, 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{0x00}, 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{0x1C}, 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{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{0x61}, std::byte{0x73}, std::byte{0x73}, std::byte{0x65},
|
||||
std::byte{0x74}, std::byte{0x5F}, std::byte{0x61}, std::byte{0x5F}, std::byte{0x72}, std::byte{0x65}, std::byte{0x66}, std::byte{0x73}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x1C}, 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{0x00}, 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{0x1C}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, 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{0x0C}, std::byte{0xFE}, 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{0x0B}, 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{0x5F}, std::byte{0x61}, std::byte{0x5F}, std::byte{0x72}, std::byte{0x65}, std::byte{0x66}, 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{0x30}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x20}, 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{0x0C}, 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{0x41}, std::byte{0x2E}, std::byte{0x66}, std::byte{0x62}, std::byte{0x73},
|
||||
@@ -87,25 +55,24 @@ namespace Bigfoot
|
||||
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{0x08},
|
||||
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{0x6C}, std::byte{0x74}, std::byte{0x68}, std::byte{0x00}, std::byte{0x00},
|
||||
std::byte{0xC8}, std::byte{0xFE}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x01}, std::byte{0x1C}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x10}, 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{0x74}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x01}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00},
|
||||
std::byte{0x28}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x1E}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x46}, std::byte{0x6C}, std::byte{0x61}, std::byte{0x74}, std::byte{0x2E}, 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{0x52}, std::byte{0x65}, std::byte{0x66}, std::byte{0x65}, std::byte{0x72}, std::byte{0x65}, std::byte{0x6E}, std::byte{0x63}, std::byte{0x65}, std::byte{0x2E}, std::byte{0x53},
|
||||
std::byte{0x6F}, std::byte{0x66}, std::byte{0x74}, std::byte{0x52}, std::byte{0x65}, std::byte{0x66}, std::byte{0x00}, std::byte{0x00}, std::byte{0x7C}, std::byte{0xFE}, std::byte{0xFF}, std::byte{0xFF}, 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{0x48}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x0F}, std::byte{0x08}, 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{0x38}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x01}, std::byte{0x64}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x58}, 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{0x42}, 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{0x6F}, std::byte{0x75}, std::byte{0x72}, std::byte{0x63}, std::byte{0x65}, std::byte{0x73}, std::byte{0x2F}, std::byte{0x45}, std::byte{0x6E}, std::byte{0x67}, std::byte{0x69}, std::byte{0x6E}, std::byte{0x65}, 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{0x45}, std::byte{0x6E}, std::byte{0x67}, std::byte{0x69}, std::byte{0x6E}, std::byte{0x65}, std::byte{0x2F}, std::byte{0x41},
|
||||
std::byte{0x73}, std::byte{0x73}, std::byte{0x65}, std::byte{0x74}, std::byte{0x2F}, std::byte{0x52}, std::byte{0x65}, std::byte{0x66}, std::byte{0x65}, std::byte{0x72}, std::byte{0x65}, std::byte{0x6E}, std::byte{0x63}, std::byte{0x65}, std::byte{0x2E}, std::byte{0x66},
|
||||
std::byte{0x62}, std::byte{0x73}, std::byte{0x00}, std::byte{0x00}, std::byte{0x01}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x28}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x1E}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00},
|
||||
std::byte{0x46}, std::byte{0x6C}, std::byte{0x61}, std::byte{0x74}, std::byte{0x2E}, 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{0x52}, std::byte{0x65}, std::byte{0x66},
|
||||
std::byte{0x65}, std::byte{0x72}, std::byte{0x65}, std::byte{0x6E}, std::byte{0x63}, std::byte{0x65}, std::byte{0x2E}, std::byte{0x48}, std::byte{0x61}, std::byte{0x72}, std::byte{0x64}, std::byte{0x52}, std::byte{0x65}, std::byte{0x66}, std::byte{0x00}, std::byte{0x00},
|
||||
std::byte{0xD8}, std::byte{0xFE}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x01}, std::byte{0x1C}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x10}, 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{0x6C}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x01}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00},
|
||||
std::byte{0x20}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x14}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x46}, std::byte{0x6C}, std::byte{0x61}, std::byte{0x74}, std::byte{0x2E}, 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{0x53}, std::byte{0x6F}, std::byte{0x66}, std::byte{0x74}, std::byte{0x52}, std::byte{0x65}, std::byte{0x66}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00},
|
||||
std::byte{0x84}, std::byte{0xFE}, std::byte{0xFF}, std::byte{0xFF}, 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{0x50}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0xFF},
|
||||
std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x0F}, std::byte{0x04}, 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{0x40}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x01},
|
||||
std::byte{0x64}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x58}, 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{0x42}, 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{0x6F}, std::byte{0x75}, std::byte{0x72}, std::byte{0x63}, std::byte{0x65}, std::byte{0x73},
|
||||
std::byte{0x2F}, std::byte{0x45}, std::byte{0x6E}, std::byte{0x67}, std::byte{0x69}, std::byte{0x6E}, std::byte{0x65}, 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{0x45}, std::byte{0x6E}, std::byte{0x67}, std::byte{0x69}, std::byte{0x6E}, std::byte{0x65}, std::byte{0x2F}, std::byte{0x41}, std::byte{0x73}, std::byte{0x73}, std::byte{0x65}, std::byte{0x74}, std::byte{0x2F}, std::byte{0x52}, std::byte{0x65}, std::byte{0x66},
|
||||
std::byte{0x65}, std::byte{0x72}, std::byte{0x65}, std::byte{0x6E}, std::byte{0x63}, std::byte{0x65}, std::byte{0x2E}, std::byte{0x66}, std::byte{0x62}, std::byte{0x73}, std::byte{0x00}, std::byte{0x00}, std::byte{0x01}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00},
|
||||
std::byte{0x20}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x14}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x46}, std::byte{0x6C}, std::byte{0x61}, std::byte{0x74}, std::byte{0x2E}, 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{0x48}, std::byte{0x61}, std::byte{0x72}, std::byte{0x64}, std::byte{0x52}, std::byte{0x65}, std::byte{0x66}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00},
|
||||
std::byte{0x34}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0xFF}, 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{0x08}, 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{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x0F}, std::byte{0x04}, 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{0x14}, std::byte{0x00}, std::byte{0x1C}, std::byte{0x00}, std::byte{0x08}, std::byte{0x00}, std::byte{0x0C}, std::byte{0x00},
|
||||
std::byte{0x07}, std::byte{0x00}, std::byte{0x10}, std::byte{0x00}, std::byte{0x14}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x18}, 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{0x60}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x54}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x01}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00},
|
||||
|
||||
@@ -1,25 +1,15 @@
|
||||
include "Engine/Asset/Reference.fbs";
|
||||
|
||||
include "EngineTests/Asset/AssetA.fbs";
|
||||
native_include "EngineTests/Asset/AssetA.hpp";
|
||||
|
||||
native_include "EngineTests/Asset/AssetB_fwd.hpp";
|
||||
|
||||
namespace Flat.Bigfoot;
|
||||
|
||||
table AssetB
|
||||
{
|
||||
asset_a_ref: Flat.Bigfoot.Reference.AssetAHardRef (native_inline);
|
||||
asset_a_refs: [Flat.Bigfoot.Reference.AssetAHardRef] (native_inline);
|
||||
asset_a_ref: Flat.Bigfoot.HardRef (native_type: "::Bigfoot::HardRef<::Bigfoot::AssetA>", native_inline, native_type_pack_name: "HardRefAssetA");
|
||||
asset_a_refs: [Flat.Bigfoot.SoftRef] (native_type: "::Bigfoot::SoftRef<::Bigfoot::AssetA>", native_inline, native_type_pack_name: "SoftRefAssetA");
|
||||
}
|
||||
|
||||
root_type AssetB;
|
||||
|
||||
namespace Flat.Bigfoot.Reference;
|
||||
|
||||
struct AssetBHardRef (native_type: "::Bigfoot::HardRef<::Bigfoot::AssetB>")
|
||||
{
|
||||
hard_ref: HardRef;
|
||||
}
|
||||
struct AssetBSoftRef (native_type: "::Bigfoot::SoftRef<::Bigfoot::AssetB>")
|
||||
{
|
||||
soft_ref: SoftRef;
|
||||
}
|
||||
root_type AssetB;
|
||||
@@ -1,5 +1,5 @@
|
||||
/*********************************************************************
|
||||
* \file AssetA.hpp
|
||||
* \file AssetB.hpp
|
||||
*
|
||||
* \author Romain BOULLARD
|
||||
* \date April 2026
|
||||
@@ -7,14 +7,23 @@
|
||||
#ifndef BIGFOOT_ENGINE_ASSETB_HPP
|
||||
#define BIGFOOT_ENGINE_ASSETB_HPP
|
||||
#include <Engine/Asset/Asset.hpp>
|
||||
#include <Engine/Asset/Reference.hpp>
|
||||
|
||||
#include <EngineTests/Asset/AssetB.bfbs_generated.hpp>
|
||||
#include <EngineTests/Asset/AssetB_generated.hpp>
|
||||
|
||||
namespace Bigfoot
|
||||
{
|
||||
class AssetB: public Asset<::Flat::Bigfoot::AssetB>
|
||||
struct AssetBTraits
|
||||
{
|
||||
using FLAT = ::Flat::Bigfoot::AssetB;
|
||||
|
||||
static constexpr eastl::span<const std::byte> ReflectionInfo()
|
||||
{
|
||||
return g_AssetB_bfbs;
|
||||
}
|
||||
};
|
||||
|
||||
class AssetB: public Asset<AssetBTraits>
|
||||
{
|
||||
public:
|
||||
AssetB() = default;
|
||||
@@ -29,18 +38,9 @@ class AssetB: public Asset<::Flat::Bigfoot::AssetB>
|
||||
|
||||
~AssetB() = default;
|
||||
|
||||
[[nodiscard]]
|
||||
AssetB& operator=(const AssetB& p_asset) = default;
|
||||
[[nodiscard]]
|
||||
AssetB& operator=(AssetB&& p_asset) = default;
|
||||
|
||||
static constexpr eastl::span<const std::byte> ReflectionInfo()
|
||||
{
|
||||
return g_AssetB_bfbs;
|
||||
}
|
||||
};
|
||||
} // namespace Bigfoot
|
||||
|
||||
ASSET_REF_DECL(AssetB)
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
/*********************************************************************
|
||||
* \file AssetB_fwd.hpp
|
||||
*
|
||||
* \author Romain BOULLARD
|
||||
* \date May 2026
|
||||
*********************************************************************/
|
||||
#ifndef BIGFOOT_ENGINE_ASSETB_FWD_HPP
|
||||
#define BIGFOOT_ENGINE_ASSETB_FWD_HPP
|
||||
#include <Engine/Asset/Reference_generated.hpp>
|
||||
|
||||
namespace Bigfoot
|
||||
{
|
||||
class AssetB;
|
||||
} // namespace Bigfoot
|
||||
|
||||
ASSET_DECL(AssetB, ::Bigfoot::AssetB)
|
||||
|
||||
#endif
|
||||
@@ -1,8 +1,8 @@
|
||||
// automatically generated by the FlatBuffers compiler, do not modify
|
||||
|
||||
|
||||
#ifndef FLATBUFFERS_GENERATED_ASSETB_FLAT_BIGFOOT_REFERENCE_H_
|
||||
#define FLATBUFFERS_GENERATED_ASSETB_FLAT_BIGFOOT_REFERENCE_H_
|
||||
#ifndef FLATBUFFERS_GENERATED_ASSETB_FLAT_BIGFOOT_H_
|
||||
#define FLATBUFFERS_GENERATED_ASSETB_FLAT_BIGFOOT_H_
|
||||
|
||||
#include "flatbuffers/flatbuffers.h"
|
||||
|
||||
@@ -13,13 +13,17 @@ static_assert(FLATBUFFERS_VERSION_MAJOR == 25 &&
|
||||
FLATBUFFERS_VERSION_REVISION == 19,
|
||||
"Non-compatible flatbuffers version included");
|
||||
|
||||
#include "Engine/Asset/Reference.hpp"
|
||||
#include "System/UUID/UUID.hpp"
|
||||
#include "EngineTests/Asset/AssetA.hpp"
|
||||
#include "Engine/Asset/Reference.hpp"
|
||||
#include "EngineTests/Asset/AssetA_fwd.hpp"
|
||||
#include "EngineTests/Asset/AssetB_fwd.hpp"
|
||||
#include "Engine/Asset/Reference_generated.hpp"
|
||||
#include "EngineTests/Asset/AssetA_generated.hpp"
|
||||
|
||||
#include "EASTL/unique_ptr.h"
|
||||
#include "EASTL/string.h"
|
||||
#include "EASTL/vector.h"
|
||||
|
||||
namespace Flat {
|
||||
namespace Bigfoot {
|
||||
@@ -28,87 +32,15 @@ struct AssetB;
|
||||
struct AssetBBuilder;
|
||||
struct AssetBT;
|
||||
|
||||
namespace Reference {
|
||||
|
||||
struct AssetBHardRef;
|
||||
|
||||
struct AssetBSoftRef;
|
||||
|
||||
} // namespace Reference
|
||||
|
||||
inline const ::flatbuffers::TypeTable *AssetBTypeTable();
|
||||
|
||||
namespace Reference {
|
||||
|
||||
inline const ::flatbuffers::TypeTable *AssetBHardRefTypeTable();
|
||||
|
||||
inline const ::flatbuffers::TypeTable *AssetBSoftRefTypeTable();
|
||||
|
||||
FLATBUFFERS_MANUALLY_ALIGNED_STRUCT(1) AssetBHardRef FLATBUFFERS_FINAL_CLASS {
|
||||
private:
|
||||
Flat::Bigfoot::Reference::HardRef hard_ref_;
|
||||
|
||||
public:
|
||||
struct Traits;
|
||||
static const ::flatbuffers::TypeTable *MiniReflectTypeTable() {
|
||||
return AssetBHardRefTypeTable();
|
||||
}
|
||||
static FLATBUFFERS_CONSTEXPR_CPP11 const char *GetFullyQualifiedName() {
|
||||
return "Flat.Bigfoot.Reference.AssetBHardRef";
|
||||
}
|
||||
AssetBHardRef()
|
||||
: hard_ref_() {
|
||||
}
|
||||
AssetBHardRef(const Flat::Bigfoot::Reference::HardRef &_hard_ref)
|
||||
: hard_ref_(_hard_ref) {
|
||||
}
|
||||
const Flat::Bigfoot::Reference::HardRef &hard_ref() const {
|
||||
return hard_ref_;
|
||||
}
|
||||
};
|
||||
FLATBUFFERS_STRUCT_END(AssetBHardRef, 16);
|
||||
|
||||
struct AssetBHardRef::Traits {
|
||||
using type = AssetBHardRef;
|
||||
};
|
||||
|
||||
FLATBUFFERS_MANUALLY_ALIGNED_STRUCT(1) AssetBSoftRef FLATBUFFERS_FINAL_CLASS {
|
||||
private:
|
||||
Flat::Bigfoot::Reference::SoftRef soft_ref_;
|
||||
|
||||
public:
|
||||
struct Traits;
|
||||
static const ::flatbuffers::TypeTable *MiniReflectTypeTable() {
|
||||
return AssetBSoftRefTypeTable();
|
||||
}
|
||||
static FLATBUFFERS_CONSTEXPR_CPP11 const char *GetFullyQualifiedName() {
|
||||
return "Flat.Bigfoot.Reference.AssetBSoftRef";
|
||||
}
|
||||
AssetBSoftRef()
|
||||
: soft_ref_() {
|
||||
}
|
||||
AssetBSoftRef(const Flat::Bigfoot::Reference::SoftRef &_soft_ref)
|
||||
: soft_ref_(_soft_ref) {
|
||||
}
|
||||
const Flat::Bigfoot::Reference::SoftRef &soft_ref() const {
|
||||
return soft_ref_;
|
||||
}
|
||||
};
|
||||
FLATBUFFERS_STRUCT_END(AssetBSoftRef, 16);
|
||||
|
||||
struct AssetBSoftRef::Traits {
|
||||
using type = AssetBSoftRef;
|
||||
};
|
||||
|
||||
} // namespace Reference
|
||||
|
||||
struct AssetBT : public ::flatbuffers::NativeTable {
|
||||
typedef AssetB TableType;
|
||||
static FLATBUFFERS_CONSTEXPR_CPP11 const char *GetFullyQualifiedName() {
|
||||
return "Flat.Bigfoot.AssetBT";
|
||||
}
|
||||
::Bigfoot::HardRef<::Bigfoot::AssetA> asset_a_ref{};
|
||||
std::vector<::Bigfoot::HardRef<::Bigfoot::AssetA>> asset_a_refs{};
|
||||
eastl::vector<::Bigfoot::SoftRef<::Bigfoot::AssetA>> asset_a_refs{};
|
||||
};
|
||||
|
||||
struct AssetB FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
|
||||
@@ -125,16 +57,16 @@ struct AssetB FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
|
||||
VT_ASSET_A_REF = 4,
|
||||
VT_ASSET_A_REFS = 6
|
||||
};
|
||||
const Flat::Bigfoot::Reference::AssetAHardRef *asset_a_ref() const {
|
||||
return GetStruct<const Flat::Bigfoot::Reference::AssetAHardRef *>(VT_ASSET_A_REF);
|
||||
const Flat::Bigfoot::HardRef *asset_a_ref() const {
|
||||
return GetStruct<const Flat::Bigfoot::HardRef *>(VT_ASSET_A_REF);
|
||||
}
|
||||
const ::flatbuffers::Vector<const Flat::Bigfoot::Reference::AssetAHardRef *> *asset_a_refs() const {
|
||||
return GetPointer<const ::flatbuffers::Vector<const Flat::Bigfoot::Reference::AssetAHardRef *> *>(VT_ASSET_A_REFS);
|
||||
const ::flatbuffers::Vector<const Flat::Bigfoot::SoftRef *> *asset_a_refs() const {
|
||||
return GetPointer<const ::flatbuffers::Vector<const Flat::Bigfoot::SoftRef *> *>(VT_ASSET_A_REFS);
|
||||
}
|
||||
template <bool B = false>
|
||||
bool Verify(::flatbuffers::VerifierTemplate<B> &verifier) const {
|
||||
return VerifyTableStart(verifier) &&
|
||||
VerifyField<Flat::Bigfoot::Reference::AssetAHardRef>(verifier, VT_ASSET_A_REF, 1) &&
|
||||
VerifyField<Flat::Bigfoot::HardRef>(verifier, VT_ASSET_A_REF, 1) &&
|
||||
VerifyOffset(verifier, VT_ASSET_A_REFS) &&
|
||||
verifier.VerifyVector(asset_a_refs()) &&
|
||||
verifier.EndTable();
|
||||
@@ -148,10 +80,10 @@ struct AssetBBuilder {
|
||||
typedef AssetB Table;
|
||||
::flatbuffers::FlatBufferBuilder &fbb_;
|
||||
::flatbuffers::uoffset_t start_;
|
||||
void add_asset_a_ref(const Flat::Bigfoot::Reference::AssetAHardRef *asset_a_ref) {
|
||||
void add_asset_a_ref(const Flat::Bigfoot::HardRef *asset_a_ref) {
|
||||
fbb_.AddStruct(AssetB::VT_ASSET_A_REF, asset_a_ref);
|
||||
}
|
||||
void add_asset_a_refs(::flatbuffers::Offset<::flatbuffers::Vector<const Flat::Bigfoot::Reference::AssetAHardRef *>> asset_a_refs) {
|
||||
void add_asset_a_refs(::flatbuffers::Offset<::flatbuffers::Vector<const Flat::Bigfoot::SoftRef *>> asset_a_refs) {
|
||||
fbb_.AddOffset(AssetB::VT_ASSET_A_REFS, asset_a_refs);
|
||||
}
|
||||
explicit AssetBBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
|
||||
@@ -167,8 +99,8 @@ struct AssetBBuilder {
|
||||
|
||||
inline ::flatbuffers::Offset<AssetB> CreateAssetB(
|
||||
::flatbuffers::FlatBufferBuilder &_fbb,
|
||||
const Flat::Bigfoot::Reference::AssetAHardRef *asset_a_ref = nullptr,
|
||||
::flatbuffers::Offset<::flatbuffers::Vector<const Flat::Bigfoot::Reference::AssetAHardRef *>> asset_a_refs = 0) {
|
||||
const Flat::Bigfoot::HardRef *asset_a_ref = nullptr,
|
||||
::flatbuffers::Offset<::flatbuffers::Vector<const Flat::Bigfoot::SoftRef *>> asset_a_refs = 0) {
|
||||
AssetBBuilder builder_(_fbb);
|
||||
builder_.add_asset_a_refs(asset_a_refs);
|
||||
builder_.add_asset_a_ref(asset_a_ref);
|
||||
@@ -191,8 +123,8 @@ inline AssetBT *AssetB::UnPack(const ::flatbuffers::resolver_function_t *_resolv
|
||||
inline void AssetB::UnPackTo(AssetBT *_o, const ::flatbuffers::resolver_function_t *_resolver) const {
|
||||
(void)_o;
|
||||
(void)_resolver;
|
||||
{ auto _e = asset_a_ref(); if (_e) _o->asset_a_ref = ::flatbuffers::UnPack(*_e); }
|
||||
{ auto _e = asset_a_refs(); if (_e) { _o->asset_a_refs.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->asset_a_refs[_i] = ::flatbuffers::UnPack(*_e->Get(_i)); } } else { _o->asset_a_refs.resize(0); } }
|
||||
{ auto _e = asset_a_ref(); if (_e) _o->asset_a_ref = ::flatbuffers::UnPackHardRefAssetA(*_e); }
|
||||
{ auto _e = asset_a_refs(); if (_e) { _o->asset_a_refs.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->asset_a_refs[_i] = ::flatbuffers::UnPackSoftRefAssetA(*_e->Get(_i)); } } else { _o->asset_a_refs.resize(0); } }
|
||||
}
|
||||
|
||||
inline ::flatbuffers::Offset<AssetB> CreateAssetB(::flatbuffers::FlatBufferBuilder &_fbb, const AssetBT *_o, const ::flatbuffers::rehasher_function_t *_rehasher) {
|
||||
@@ -203,8 +135,8 @@ inline ::flatbuffers::Offset<AssetB> AssetB::Pack(::flatbuffers::FlatBufferBuild
|
||||
(void)_rehasher;
|
||||
(void)_o;
|
||||
struct _VectorArgs { ::flatbuffers::FlatBufferBuilder *__fbb; const AssetBT* __o; const ::flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
|
||||
auto _asset_a_ref = ::flatbuffers::Pack(_o->asset_a_ref);
|
||||
auto _asset_a_refs = _fbb.CreateVectorOfNativeStructs<Flat::Bigfoot::Reference::AssetAHardRef, ::Bigfoot::HardRef<::Bigfoot::AssetA>>(_o->asset_a_refs);
|
||||
auto _asset_a_ref = ::flatbuffers::PackHardRefAssetA(_o->asset_a_ref);
|
||||
auto _asset_a_refs = _fbb.CreateVectorOfNativeStructs<Flat::Bigfoot::SoftRef, ::Bigfoot::SoftRef<::Bigfoot::AssetA>>(_o->asset_a_refs.data(), _o->asset_a_refs.size(), ::flatbuffers::PackSoftRefAssetA);
|
||||
return Flat::Bigfoot::CreateAssetB(
|
||||
_fbb,
|
||||
&_asset_a_ref,
|
||||
@@ -214,10 +146,11 @@ inline ::flatbuffers::Offset<AssetB> AssetB::Pack(::flatbuffers::FlatBufferBuild
|
||||
inline const ::flatbuffers::TypeTable *AssetBTypeTable() {
|
||||
static const ::flatbuffers::TypeCode type_codes[] = {
|
||||
{ ::flatbuffers::ET_SEQUENCE, 0, 0 },
|
||||
{ ::flatbuffers::ET_SEQUENCE, 1, 0 }
|
||||
{ ::flatbuffers::ET_SEQUENCE, 1, 1 }
|
||||
};
|
||||
static const ::flatbuffers::TypeFunction type_refs[] = {
|
||||
Flat::Bigfoot::Reference::AssetAHardRefTypeTable
|
||||
Flat::Bigfoot::HardRefTypeTable,
|
||||
Flat::Bigfoot::SoftRefTypeTable
|
||||
};
|
||||
static const char * const names[] = {
|
||||
"asset_a_ref",
|
||||
@@ -229,44 +162,6 @@ inline const ::flatbuffers::TypeTable *AssetBTypeTable() {
|
||||
return &tt;
|
||||
}
|
||||
|
||||
namespace Reference {
|
||||
|
||||
inline const ::flatbuffers::TypeTable *AssetBHardRefTypeTable() {
|
||||
static const ::flatbuffers::TypeCode type_codes[] = {
|
||||
{ ::flatbuffers::ET_SEQUENCE, 0, 0 }
|
||||
};
|
||||
static const ::flatbuffers::TypeFunction type_refs[] = {
|
||||
Flat::Bigfoot::Reference::HardRefTypeTable
|
||||
};
|
||||
static const int64_t values[] = { 0, 16 };
|
||||
static const char * const names[] = {
|
||||
"hard_ref"
|
||||
};
|
||||
static const ::flatbuffers::TypeTable tt = {
|
||||
::flatbuffers::ST_STRUCT, 1, type_codes, type_refs, nullptr, values, names
|
||||
};
|
||||
return &tt;
|
||||
}
|
||||
|
||||
inline const ::flatbuffers::TypeTable *AssetBSoftRefTypeTable() {
|
||||
static const ::flatbuffers::TypeCode type_codes[] = {
|
||||
{ ::flatbuffers::ET_SEQUENCE, 0, 0 }
|
||||
};
|
||||
static const ::flatbuffers::TypeFunction type_refs[] = {
|
||||
Flat::Bigfoot::Reference::SoftRefTypeTable
|
||||
};
|
||||
static const int64_t values[] = { 0, 16 };
|
||||
static const char * const names[] = {
|
||||
"soft_ref"
|
||||
};
|
||||
static const ::flatbuffers::TypeTable tt = {
|
||||
::flatbuffers::ST_STRUCT, 1, type_codes, type_refs, nullptr, values, names
|
||||
};
|
||||
return &tt;
|
||||
}
|
||||
|
||||
} // namespace Reference
|
||||
|
||||
inline const Flat::Bigfoot::AssetB *GetAssetB(const void *buf) {
|
||||
return ::flatbuffers::GetRoot<Flat::Bigfoot::AssetB>(buf);
|
||||
}
|
||||
@@ -318,4 +213,4 @@ inline eastl::unique_ptr<Flat::Bigfoot::AssetBT> UnPackSizePrefixedAssetB(
|
||||
} // namespace Bigfoot
|
||||
} // namespace Flat
|
||||
|
||||
#endif // FLATBUFFERS_GENERATED_ASSETB_FLAT_BIGFOOT_REFERENCE_H_
|
||||
#endif // FLATBUFFERS_GENERATED_ASSETB_FLAT_BIGFOOT_H_
|
||||
|
||||
BIN
Bigfoot/Tests/Engine/Include/EngineTests/Asset/AssetC.bfbs
Normal file
BIN
Bigfoot/Tests/Engine/Include/EngineTests/Asset/AssetC.bfbs
Normal file
Binary file not shown.
@@ -0,0 +1,123 @@
|
||||
/**
|
||||
* Auto-generated header from: AssetC.bfbs
|
||||
* Generated by Bin2CPP
|
||||
*
|
||||
* DO NOT TOUCH
|
||||
*/
|
||||
#ifndef ASSETC_BFBS_HPP
|
||||
#define ASSETC_BFBS_HPP
|
||||
#include <EASTL/array.h>
|
||||
#include <cstddef>
|
||||
|
||||
namespace Bigfoot
|
||||
{
|
||||
inline constexpr eastl::array<std::byte, 1656> g_AssetC_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{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{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{0xD4}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x14}, 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{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{0x00}, std::byte{0x07}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x54}, std::byte{0x03}, std::byte{0x00}, std::byte{0x00}, std::byte{0x40}, std::byte{0x02}, std::byte{0x00}, std::byte{0x00},
|
||||
std::byte{0x98}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x74}, std::byte{0x04}, std::byte{0x00}, std::byte{0x00}, std::byte{0x7C}, std::byte{0x01}, std::byte{0x00}, std::byte{0x00}, std::byte{0x04}, std::byte{0x04}, std::byte{0x00}, std::byte{0x00},
|
||||
std::byte{0x3C}, std::byte{0x05}, std::byte{0x00}, std::byte{0x00}, std::byte{0x05}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x6C}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x58}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00},
|
||||
std::byte{0x40}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x24}, 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{0xFA}, std::byte{0xFF}, std::byte{0xFF},
|
||||
std::byte{0x68}, std::byte{0x01}, std::byte{0x00}, std::byte{0x00}, std::byte{0x04}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x03}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x58}, std::byte{0x04}, std::byte{0x00}, std::byte{0x00},
|
||||
std::byte{0x20}, std::byte{0x03}, std::byte{0x00}, std::byte{0x00}, std::byte{0x0C}, std::byte{0x02}, std::byte{0x00}, std::byte{0x00}, std::byte{0x7C}, std::byte{0xFA}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0x04}, std::byte{0x02}, 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{0x3C}, std::byte{0x04}, std::byte{0x00}, std::byte{0x00}, std::byte{0x04}, std::byte{0x03}, std::byte{0x00}, std::byte{0x00},
|
||||
std::byte{0x94}, std::byte{0xFA}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0xFC}, std::byte{0x02}, std::byte{0x00}, std::byte{0x00}, std::byte{0x04}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x01}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00},
|
||||
std::byte{0x24}, std::byte{0x04}, std::byte{0x00}, std::byte{0x00}, std::byte{0xA8}, std::byte{0xFA}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0xF0}, std::byte{0x04}, 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{0xB8}, std::byte{0xFA}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0x0C}, std::byte{0x04}, std::byte{0x00}, std::byte{0x00}, std::byte{0x04}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00},
|
||||
std::byte{0x01}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0xD4}, std::byte{0x04}, std::byte{0x00}, std::byte{0x00}, std::byte{0x60}, std::byte{0xFD}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0x20}, 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{0xF0}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x03}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00},
|
||||
std::byte{0x5C}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x20}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x9C}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x13}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00},
|
||||
std::byte{0x46}, std::byte{0x6C}, std::byte{0x61}, std::byte{0x74}, std::byte{0x2E}, 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{0x41}, std::byte{0x73}, std::byte{0x73},
|
||||
std::byte{0x65}, std::byte{0x74}, std::byte{0x43}, std::byte{0x00}, std::byte{0x4C}, std::byte{0xFE}, 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{0x30}, std::byte{0xFE}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0x00}, std::byte{0x00}, std::byte{0x0E}, std::byte{0x0F},
|
||||
std::byte{0x05}, 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{0x61}, std::byte{0x73}, std::byte{0x73}, std::byte{0x65},
|
||||
std::byte{0x74}, std::byte{0x5F}, std::byte{0x62}, std::byte{0x5F}, std::byte{0x72}, std::byte{0x65}, std::byte{0x66}, std::byte{0x73}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x84}, 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{0x18}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x04}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00},
|
||||
std::byte{0x14}, std::byte{0xFC}, std::byte{0xFF}, std::byte{0xFF}, 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{0x0B}, 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{0x5F}, std::byte{0x62}, std::byte{0x5F}, std::byte{0x72}, std::byte{0x65}, std::byte{0x66}, 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{0x18}, 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{0xFC}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x0F}, std::byte{0x04}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00},
|
||||
std::byte{0x01}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x0B}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x69}, std::byte{0x6E}, std::byte{0x6E}, std::byte{0x65}, std::byte{0x72}, std::byte{0x5F}, std::byte{0x74}, std::byte{0x61},
|
||||
std::byte{0x62}, std::byte{0x6C}, std::byte{0x65}, std::byte{0x00}, std::byte{0x4C}, std::byte{0xFE}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0x30}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x20}, 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{0x0C}, 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{0x43}, 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{0x02}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00},
|
||||
std::byte{0x5C}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x20}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x17}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x46}, std::byte{0x6C}, std::byte{0x61}, std::byte{0x74},
|
||||
std::byte{0x2E}, 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{0x49}, std::byte{0x6E}, std::byte{0x6E}, std::byte{0x65}, std::byte{0x72}, std::byte{0x54}, std::byte{0x61},
|
||||
std::byte{0x62}, std::byte{0x6C}, std::byte{0x65}, std::byte{0x00}, std::byte{0x4C}, std::byte{0xFF}, 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{0x18}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x04}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x30}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0xFF}, 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{0x61}, std::byte{0x73}, std::byte{0x73}, std::byte{0x65},
|
||||
std::byte{0x74}, std::byte{0x5F}, std::byte{0x61}, std::byte{0x5F}, std::byte{0x72}, std::byte{0x65}, std::byte{0x66}, std::byte{0x73}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x20}, std::byte{0xFF}, 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{0x10}, std::byte{0xFD}, std::byte{0xFF}, std::byte{0xFF},
|
||||
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{0x0B}, 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{0x5F}, std::byte{0x61}, std::byte{0x5F}, std::byte{0x72}, std::byte{0x65}, std::byte{0x66}, std::byte{0x00}, std::byte{0x04}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0xFF},
|
||||
std::byte{0x30}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x20}, 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{0x0C}, 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{0x42}, 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{0x02}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0xA0}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x38}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00},
|
||||
std::byte{0x13}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x46}, std::byte{0x6C}, std::byte{0x61}, std::byte{0x74}, std::byte{0x2E}, 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{0x41}, std::byte{0x73}, std::byte{0x73}, std::byte{0x65}, std::byte{0x74}, std::byte{0x42}, std::byte{0x00}, std::byte{0x1C}, 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{0x00}, 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{0x1C}, 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{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{0x05}, 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{0x61}, std::byte{0x73}, std::byte{0x73}, std::byte{0x65},
|
||||
std::byte{0x74}, std::byte{0x5F}, std::byte{0x61}, std::byte{0x5F}, std::byte{0x72}, std::byte{0x65}, std::byte{0x66}, std::byte{0x73}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x1C}, 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{0x00}, 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{0x1C}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, 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{0x0C}, std::byte{0xFE}, std::byte{0xFF}, std::byte{0xFF}, 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{0x0B}, 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{0x5F}, std::byte{0x61}, std::byte{0x5F}, std::byte{0x72}, std::byte{0x65}, std::byte{0x66}, 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{0x30}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x20}, 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{0x0C}, 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{0x41}, 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{0x02}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x60}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x28}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00},
|
||||
std::byte{0x13}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x46}, std::byte{0x6C}, std::byte{0x61}, std::byte{0x74}, std::byte{0x2E}, 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{0x41}, std::byte{0x73}, std::byte{0x73}, std::byte{0x65}, std::byte{0x74}, std::byte{0x41}, 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{0x01}, std::byte{0x00}, std::byte{0x06}, 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{0xCC}, 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{0x04}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x6D}, std::byte{0x61}, std::byte{0x6E}, std::byte{0x61}, 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{0x00}, std::byte{0x00}, std::byte{0x06}, std::byte{0x00}, std::byte{0x0C}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x04}, 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{0x08},
|
||||
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{0x6C}, std::byte{0x74}, std::byte{0x68}, std::byte{0x00}, std::byte{0x00},
|
||||
std::byte{0xD8}, std::byte{0xFE}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x01}, std::byte{0x1C}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x10}, 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{0x6C}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x01}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00},
|
||||
std::byte{0x20}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x14}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x46}, std::byte{0x6C}, std::byte{0x61}, std::byte{0x74}, std::byte{0x2E}, 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{0x53}, std::byte{0x6F}, std::byte{0x66}, std::byte{0x74}, std::byte{0x52}, std::byte{0x65}, std::byte{0x66}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00},
|
||||
std::byte{0x84}, std::byte{0xFE}, std::byte{0xFF}, std::byte{0xFF}, 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{0x50}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0xFF},
|
||||
std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x0F}, std::byte{0x06}, 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{0x40}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x01},
|
||||
std::byte{0x64}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x58}, 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{0x42}, 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{0x6F}, std::byte{0x75}, std::byte{0x72}, std::byte{0x63}, std::byte{0x65}, std::byte{0x73},
|
||||
std::byte{0x2F}, std::byte{0x45}, std::byte{0x6E}, std::byte{0x67}, std::byte{0x69}, std::byte{0x6E}, std::byte{0x65}, 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{0x45}, std::byte{0x6E}, std::byte{0x67}, std::byte{0x69}, std::byte{0x6E}, std::byte{0x65}, std::byte{0x2F}, std::byte{0x41}, std::byte{0x73}, std::byte{0x73}, std::byte{0x65}, std::byte{0x74}, std::byte{0x2F}, std::byte{0x52}, std::byte{0x65}, std::byte{0x66},
|
||||
std::byte{0x65}, std::byte{0x72}, std::byte{0x65}, std::byte{0x6E}, std::byte{0x63}, std::byte{0x65}, std::byte{0x2E}, std::byte{0x66}, std::byte{0x62}, std::byte{0x73}, std::byte{0x00}, std::byte{0x00}, std::byte{0x01}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00},
|
||||
std::byte{0x20}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x14}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x46}, std::byte{0x6C}, std::byte{0x61}, std::byte{0x74}, std::byte{0x2E}, 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{0x48}, std::byte{0x61}, std::byte{0x72}, std::byte{0x64}, std::byte{0x52}, std::byte{0x65}, std::byte{0x66}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00},
|
||||
std::byte{0x34}, std::byte{0xFF}, std::byte{0xFF}, std::byte{0xFF}, 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{0x06}, 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{0x14}, std::byte{0x00}, std::byte{0x1C}, std::byte{0x00}, std::byte{0x08}, std::byte{0x00}, std::byte{0x0C}, std::byte{0x00},
|
||||
std::byte{0x07}, std::byte{0x00}, std::byte{0x10}, std::byte{0x00}, std::byte{0x14}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x18}, 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{0x60}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x54}, 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{0x3C}, 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{0x6F}, std::byte{0x75},
|
||||
std::byte{0x72}, std::byte{0x63}, std::byte{0x65}, std::byte{0x73}, 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{0x24}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x11}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x46}, std::byte{0x6C}, std::byte{0x61}, std::byte{0x74}, std::byte{0x2E}, 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{0x55}, std::byte{0x55}, std::byte{0x49}, std::byte{0x44}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x08}, std::byte{0x00}, std::byte{0x0C}, std::byte{0x00},
|
||||
std::byte{0x04}, std::byte{0x00}, std::byte{0x08}, std::byte{0x00}, std::byte{0x08}, std::byte{0x00}, std::byte{0x00}, 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{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},
|
||||
std::byte{0x10}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}, std::byte{0x11}, std::byte{0x04}, std::byte{0x10}, std::byte{0x00}, 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{0x62}, std::byte{0x79}, std::byte{0x74}, std::byte{0x65}, std::byte{0x73}, std::byte{0x00}, std::byte{0x00}, std::byte{0x00}
|
||||
};
|
||||
|
||||
} // namespace Bigfoot
|
||||
|
||||
#endif // ASSETC_BFBS_HPP
|
||||
24
Bigfoot/Tests/Engine/Include/EngineTests/Asset/AssetC.fbs
Normal file
24
Bigfoot/Tests/Engine/Include/EngineTests/Asset/AssetC.fbs
Normal file
@@ -0,0 +1,24 @@
|
||||
include "Engine/Asset/Reference.fbs";
|
||||
|
||||
include "EngineTests/Asset/AssetA.fbs";
|
||||
include "EngineTests/Asset/AssetB.fbs";
|
||||
|
||||
native_include "EngineTests/Asset/AssetC_fwd.hpp";
|
||||
|
||||
namespace Flat.Bigfoot;
|
||||
|
||||
table InnerTable
|
||||
{
|
||||
asset_a_ref: Flat.Bigfoot.HardRef (native_type: "::Bigfoot::HardRef<::Bigfoot::AssetA>", native_inline, native_type_pack_name: "HardRefAssetA");
|
||||
asset_a_refs: [Flat.Bigfoot.HardRef] (native_type: "::Bigfoot::HardRef<::Bigfoot::AssetA>", native_inline, native_type_pack_name: "HardRefAssetA");
|
||||
}
|
||||
|
||||
table AssetC
|
||||
{
|
||||
inner_table: InnerTable (required);
|
||||
|
||||
asset_b_ref: Flat.Bigfoot.HardRef (native_type: "::Bigfoot::HardRef<::Bigfoot::AssetB>", native_inline, native_type_pack_name: "HardRefAssetB");
|
||||
asset_b_refs: [Flat.Bigfoot.SoftRef] (native_type: "::Bigfoot::SoftRef<::Bigfoot::AssetB>", native_inline, native_type_pack_name: "SoftRefAssetB");
|
||||
}
|
||||
|
||||
root_type AssetC;
|
||||
49
Bigfoot/Tests/Engine/Include/EngineTests/Asset/AssetC.hpp
Normal file
49
Bigfoot/Tests/Engine/Include/EngineTests/Asset/AssetC.hpp
Normal file
@@ -0,0 +1,49 @@
|
||||
/*********************************************************************
|
||||
* \file AssetC.hpp
|
||||
*
|
||||
* \author Romain BOULLARD
|
||||
* \date April 2026
|
||||
*********************************************************************/
|
||||
#ifndef BIGFOOT_ENGINE_ASSETC_HPP
|
||||
#define BIGFOOT_ENGINE_ASSETC_HPP
|
||||
#include <Engine/Asset/Asset.hpp>
|
||||
|
||||
#include <EngineTests/Asset/AssetC.bfbs_generated.hpp>
|
||||
#include <EngineTests/Asset/AssetC_generated.hpp>
|
||||
|
||||
namespace Bigfoot
|
||||
{
|
||||
struct AssetCTraits
|
||||
{
|
||||
using FLAT = ::Flat::Bigfoot::AssetC;
|
||||
|
||||
static constexpr eastl::span<const std::byte> ReflectionInfo()
|
||||
{
|
||||
return g_AssetC_bfbs;
|
||||
}
|
||||
};
|
||||
|
||||
class AssetC: public Asset<AssetCTraits>
|
||||
{
|
||||
public:
|
||||
AssetC()
|
||||
{
|
||||
GetAsset().inner_table = eastl::make_unique<::Flat::Bigfoot::InnerTableT>();
|
||||
}
|
||||
|
||||
AssetC(const eastl::span<const std::byte> p_flatbuffer):
|
||||
Asset(p_flatbuffer)
|
||||
{
|
||||
}
|
||||
|
||||
AssetC(const AssetC& p_asset) = default;
|
||||
AssetC(AssetC&& p_asset) = default;
|
||||
|
||||
~AssetC() = default;
|
||||
|
||||
AssetC& operator=(const AssetC& p_asset) = default;
|
||||
AssetC& operator=(AssetC&& p_asset) = default;
|
||||
};
|
||||
} // namespace Bigfoot
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,18 @@
|
||||
/*********************************************************************
|
||||
* \file AssetC_fwd.hpp
|
||||
*
|
||||
* \author Romain BOULLARD
|
||||
* \date May 2026
|
||||
*********************************************************************/
|
||||
#ifndef BIGFOOT_ENGINE_ASSETC_FWD_HPP
|
||||
#define BIGFOOT_ENGINE_ASSETC_FWD_HPP
|
||||
#include <Engine/Asset/Reference_generated.hpp>
|
||||
|
||||
namespace Bigfoot
|
||||
{
|
||||
class AssetC;
|
||||
} // namespace Bigfoot
|
||||
|
||||
ASSET_DECL(AssetC, ::Bigfoot::AssetC)
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,387 @@
|
||||
// automatically generated by the FlatBuffers compiler, do not modify
|
||||
|
||||
|
||||
#ifndef FLATBUFFERS_GENERATED_ASSETC_FLAT_BIGFOOT_H_
|
||||
#define FLATBUFFERS_GENERATED_ASSETC_FLAT_BIGFOOT_H_
|
||||
|
||||
#include "flatbuffers/flatbuffers.h"
|
||||
|
||||
// Ensure the included flatbuffers.h is the same version as when this file was
|
||||
// generated, otherwise it may not be compatible.
|
||||
static_assert(FLATBUFFERS_VERSION_MAJOR == 25 &&
|
||||
FLATBUFFERS_VERSION_MINOR == 12 &&
|
||||
FLATBUFFERS_VERSION_REVISION == 19,
|
||||
"Non-compatible flatbuffers version included");
|
||||
|
||||
#include "Engine/Asset/Reference.hpp"
|
||||
#include "System/UUID/UUID.hpp"
|
||||
#include "Engine/Asset/Reference.hpp"
|
||||
#include "EngineTests/Asset/AssetA_fwd.hpp"
|
||||
#include "EngineTests/Asset/AssetB_fwd.hpp"
|
||||
#include "EngineTests/Asset/AssetC_fwd.hpp"
|
||||
#include "Engine/Asset/Reference_generated.hpp"
|
||||
#include "EngineTests/Asset/AssetA_generated.hpp"
|
||||
#include "EngineTests/Asset/AssetB_generated.hpp"
|
||||
|
||||
#include "EASTL/unique_ptr.h"
|
||||
#include "EASTL/string.h"
|
||||
#include "EASTL/vector.h"
|
||||
|
||||
namespace Flat {
|
||||
namespace Bigfoot {
|
||||
|
||||
struct InnerTable;
|
||||
struct InnerTableBuilder;
|
||||
struct InnerTableT;
|
||||
|
||||
struct AssetC;
|
||||
struct AssetCBuilder;
|
||||
struct AssetCT;
|
||||
|
||||
inline const ::flatbuffers::TypeTable *InnerTableTypeTable();
|
||||
|
||||
inline const ::flatbuffers::TypeTable *AssetCTypeTable();
|
||||
|
||||
struct InnerTableT : public ::flatbuffers::NativeTable {
|
||||
typedef InnerTable TableType;
|
||||
static FLATBUFFERS_CONSTEXPR_CPP11 const char *GetFullyQualifiedName() {
|
||||
return "Flat.Bigfoot.InnerTableT";
|
||||
}
|
||||
::Bigfoot::HardRef<::Bigfoot::AssetA> asset_a_ref{};
|
||||
eastl::vector<::Bigfoot::HardRef<::Bigfoot::AssetA>> asset_a_refs{};
|
||||
};
|
||||
|
||||
struct InnerTable FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
|
||||
typedef InnerTableT NativeTableType;
|
||||
typedef InnerTableBuilder Builder;
|
||||
struct Traits;
|
||||
static const ::flatbuffers::TypeTable *MiniReflectTypeTable() {
|
||||
return InnerTableTypeTable();
|
||||
}
|
||||
static FLATBUFFERS_CONSTEXPR_CPP11 const char *GetFullyQualifiedName() {
|
||||
return "Flat.Bigfoot.InnerTable";
|
||||
}
|
||||
enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
|
||||
VT_ASSET_A_REF = 4,
|
||||
VT_ASSET_A_REFS = 6
|
||||
};
|
||||
const Flat::Bigfoot::HardRef *asset_a_ref() const {
|
||||
return GetStruct<const Flat::Bigfoot::HardRef *>(VT_ASSET_A_REF);
|
||||
}
|
||||
const ::flatbuffers::Vector<const Flat::Bigfoot::HardRef *> *asset_a_refs() const {
|
||||
return GetPointer<const ::flatbuffers::Vector<const Flat::Bigfoot::HardRef *> *>(VT_ASSET_A_REFS);
|
||||
}
|
||||
template <bool B = false>
|
||||
bool Verify(::flatbuffers::VerifierTemplate<B> &verifier) const {
|
||||
return VerifyTableStart(verifier) &&
|
||||
VerifyField<Flat::Bigfoot::HardRef>(verifier, VT_ASSET_A_REF, 1) &&
|
||||
VerifyOffset(verifier, VT_ASSET_A_REFS) &&
|
||||
verifier.VerifyVector(asset_a_refs()) &&
|
||||
verifier.EndTable();
|
||||
}
|
||||
InnerTableT *UnPack(const ::flatbuffers::resolver_function_t *_resolver = nullptr) const;
|
||||
void UnPackTo(InnerTableT *_o, const ::flatbuffers::resolver_function_t *_resolver = nullptr) const;
|
||||
static ::flatbuffers::Offset<InnerTable> Pack(::flatbuffers::FlatBufferBuilder &_fbb, const InnerTableT* _o, const ::flatbuffers::rehasher_function_t *_rehasher = nullptr);
|
||||
};
|
||||
|
||||
struct InnerTableBuilder {
|
||||
typedef InnerTable Table;
|
||||
::flatbuffers::FlatBufferBuilder &fbb_;
|
||||
::flatbuffers::uoffset_t start_;
|
||||
void add_asset_a_ref(const Flat::Bigfoot::HardRef *asset_a_ref) {
|
||||
fbb_.AddStruct(InnerTable::VT_ASSET_A_REF, asset_a_ref);
|
||||
}
|
||||
void add_asset_a_refs(::flatbuffers::Offset<::flatbuffers::Vector<const Flat::Bigfoot::HardRef *>> asset_a_refs) {
|
||||
fbb_.AddOffset(InnerTable::VT_ASSET_A_REFS, asset_a_refs);
|
||||
}
|
||||
explicit InnerTableBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
|
||||
: fbb_(_fbb) {
|
||||
start_ = fbb_.StartTable();
|
||||
}
|
||||
::flatbuffers::Offset<InnerTable> Finish() {
|
||||
const auto end = fbb_.EndTable(start_);
|
||||
auto o = ::flatbuffers::Offset<InnerTable>(end);
|
||||
return o;
|
||||
}
|
||||
};
|
||||
|
||||
inline ::flatbuffers::Offset<InnerTable> CreateInnerTable(
|
||||
::flatbuffers::FlatBufferBuilder &_fbb,
|
||||
const Flat::Bigfoot::HardRef *asset_a_ref = nullptr,
|
||||
::flatbuffers::Offset<::flatbuffers::Vector<const Flat::Bigfoot::HardRef *>> asset_a_refs = 0) {
|
||||
InnerTableBuilder builder_(_fbb);
|
||||
builder_.add_asset_a_refs(asset_a_refs);
|
||||
builder_.add_asset_a_ref(asset_a_ref);
|
||||
return builder_.Finish();
|
||||
}
|
||||
|
||||
struct InnerTable::Traits {
|
||||
using type = InnerTable;
|
||||
static auto constexpr Create = CreateInnerTable;
|
||||
};
|
||||
|
||||
::flatbuffers::Offset<InnerTable> CreateInnerTable(::flatbuffers::FlatBufferBuilder &_fbb, const InnerTableT *_o, const ::flatbuffers::rehasher_function_t *_rehasher = nullptr);
|
||||
|
||||
struct AssetCT : public ::flatbuffers::NativeTable {
|
||||
typedef AssetC TableType;
|
||||
static FLATBUFFERS_CONSTEXPR_CPP11 const char *GetFullyQualifiedName() {
|
||||
return "Flat.Bigfoot.AssetCT";
|
||||
}
|
||||
eastl::unique_ptr<Flat::Bigfoot::InnerTableT> inner_table{};
|
||||
::Bigfoot::HardRef<::Bigfoot::AssetB> asset_b_ref{};
|
||||
eastl::vector<::Bigfoot::SoftRef<::Bigfoot::AssetB>> asset_b_refs{};
|
||||
AssetCT() = default;
|
||||
AssetCT(const AssetCT &o);
|
||||
AssetCT(AssetCT&&) FLATBUFFERS_NOEXCEPT = default;
|
||||
AssetCT &operator=(AssetCT o) FLATBUFFERS_NOEXCEPT;
|
||||
};
|
||||
|
||||
struct AssetC FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
|
||||
typedef AssetCT NativeTableType;
|
||||
typedef AssetCBuilder Builder;
|
||||
struct Traits;
|
||||
static const ::flatbuffers::TypeTable *MiniReflectTypeTable() {
|
||||
return AssetCTypeTable();
|
||||
}
|
||||
static FLATBUFFERS_CONSTEXPR_CPP11 const char *GetFullyQualifiedName() {
|
||||
return "Flat.Bigfoot.AssetC";
|
||||
}
|
||||
enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
|
||||
VT_INNER_TABLE = 4,
|
||||
VT_ASSET_B_REF = 6,
|
||||
VT_ASSET_B_REFS = 8
|
||||
};
|
||||
const Flat::Bigfoot::InnerTable *inner_table() const {
|
||||
return GetPointer<const Flat::Bigfoot::InnerTable *>(VT_INNER_TABLE);
|
||||
}
|
||||
const Flat::Bigfoot::HardRef *asset_b_ref() const {
|
||||
return GetStruct<const Flat::Bigfoot::HardRef *>(VT_ASSET_B_REF);
|
||||
}
|
||||
const ::flatbuffers::Vector<const Flat::Bigfoot::SoftRef *> *asset_b_refs() const {
|
||||
return GetPointer<const ::flatbuffers::Vector<const Flat::Bigfoot::SoftRef *> *>(VT_ASSET_B_REFS);
|
||||
}
|
||||
template <bool B = false>
|
||||
bool Verify(::flatbuffers::VerifierTemplate<B> &verifier) const {
|
||||
return VerifyTableStart(verifier) &&
|
||||
VerifyOffsetRequired(verifier, VT_INNER_TABLE) &&
|
||||
verifier.VerifyTable(inner_table()) &&
|
||||
VerifyField<Flat::Bigfoot::HardRef>(verifier, VT_ASSET_B_REF, 1) &&
|
||||
VerifyOffset(verifier, VT_ASSET_B_REFS) &&
|
||||
verifier.VerifyVector(asset_b_refs()) &&
|
||||
verifier.EndTable();
|
||||
}
|
||||
AssetCT *UnPack(const ::flatbuffers::resolver_function_t *_resolver = nullptr) const;
|
||||
void UnPackTo(AssetCT *_o, const ::flatbuffers::resolver_function_t *_resolver = nullptr) const;
|
||||
static ::flatbuffers::Offset<AssetC> Pack(::flatbuffers::FlatBufferBuilder &_fbb, const AssetCT* _o, const ::flatbuffers::rehasher_function_t *_rehasher = nullptr);
|
||||
};
|
||||
|
||||
struct AssetCBuilder {
|
||||
typedef AssetC Table;
|
||||
::flatbuffers::FlatBufferBuilder &fbb_;
|
||||
::flatbuffers::uoffset_t start_;
|
||||
void add_inner_table(::flatbuffers::Offset<Flat::Bigfoot::InnerTable> inner_table) {
|
||||
fbb_.AddOffset(AssetC::VT_INNER_TABLE, inner_table);
|
||||
}
|
||||
void add_asset_b_ref(const Flat::Bigfoot::HardRef *asset_b_ref) {
|
||||
fbb_.AddStruct(AssetC::VT_ASSET_B_REF, asset_b_ref);
|
||||
}
|
||||
void add_asset_b_refs(::flatbuffers::Offset<::flatbuffers::Vector<const Flat::Bigfoot::SoftRef *>> asset_b_refs) {
|
||||
fbb_.AddOffset(AssetC::VT_ASSET_B_REFS, asset_b_refs);
|
||||
}
|
||||
explicit AssetCBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
|
||||
: fbb_(_fbb) {
|
||||
start_ = fbb_.StartTable();
|
||||
}
|
||||
::flatbuffers::Offset<AssetC> Finish() {
|
||||
const auto end = fbb_.EndTable(start_);
|
||||
auto o = ::flatbuffers::Offset<AssetC>(end);
|
||||
fbb_.Required(o, AssetC::VT_INNER_TABLE);
|
||||
return o;
|
||||
}
|
||||
};
|
||||
|
||||
inline ::flatbuffers::Offset<AssetC> CreateAssetC(
|
||||
::flatbuffers::FlatBufferBuilder &_fbb,
|
||||
::flatbuffers::Offset<Flat::Bigfoot::InnerTable> inner_table = 0,
|
||||
const Flat::Bigfoot::HardRef *asset_b_ref = nullptr,
|
||||
::flatbuffers::Offset<::flatbuffers::Vector<const Flat::Bigfoot::SoftRef *>> asset_b_refs = 0) {
|
||||
AssetCBuilder builder_(_fbb);
|
||||
builder_.add_asset_b_refs(asset_b_refs);
|
||||
builder_.add_asset_b_ref(asset_b_ref);
|
||||
builder_.add_inner_table(inner_table);
|
||||
return builder_.Finish();
|
||||
}
|
||||
|
||||
struct AssetC::Traits {
|
||||
using type = AssetC;
|
||||
static auto constexpr Create = CreateAssetC;
|
||||
};
|
||||
|
||||
::flatbuffers::Offset<AssetC> CreateAssetC(::flatbuffers::FlatBufferBuilder &_fbb, const AssetCT *_o, const ::flatbuffers::rehasher_function_t *_rehasher = nullptr);
|
||||
|
||||
inline InnerTableT *InnerTable::UnPack(const ::flatbuffers::resolver_function_t *_resolver) const {
|
||||
auto _o = std::make_unique<InnerTableT>();
|
||||
UnPackTo(_o.get(), _resolver);
|
||||
return _o.release();
|
||||
}
|
||||
|
||||
inline void InnerTable::UnPackTo(InnerTableT *_o, const ::flatbuffers::resolver_function_t *_resolver) const {
|
||||
(void)_o;
|
||||
(void)_resolver;
|
||||
{ auto _e = asset_a_ref(); if (_e) _o->asset_a_ref = ::flatbuffers::UnPackHardRefAssetA(*_e); }
|
||||
{ auto _e = asset_a_refs(); if (_e) { _o->asset_a_refs.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->asset_a_refs[_i] = ::flatbuffers::UnPackHardRefAssetA(*_e->Get(_i)); } } else { _o->asset_a_refs.resize(0); } }
|
||||
}
|
||||
|
||||
inline ::flatbuffers::Offset<InnerTable> CreateInnerTable(::flatbuffers::FlatBufferBuilder &_fbb, const InnerTableT *_o, const ::flatbuffers::rehasher_function_t *_rehasher) {
|
||||
return InnerTable::Pack(_fbb, _o, _rehasher);
|
||||
}
|
||||
|
||||
inline ::flatbuffers::Offset<InnerTable> InnerTable::Pack(::flatbuffers::FlatBufferBuilder &_fbb, const InnerTableT* _o, const ::flatbuffers::rehasher_function_t *_rehasher) {
|
||||
(void)_rehasher;
|
||||
(void)_o;
|
||||
struct _VectorArgs { ::flatbuffers::FlatBufferBuilder *__fbb; const InnerTableT* __o; const ::flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
|
||||
auto _asset_a_ref = ::flatbuffers::PackHardRefAssetA(_o->asset_a_ref);
|
||||
auto _asset_a_refs = _fbb.CreateVectorOfNativeStructs<Flat::Bigfoot::HardRef, ::Bigfoot::HardRef<::Bigfoot::AssetA>>(_o->asset_a_refs.data(), _o->asset_a_refs.size(), ::flatbuffers::PackHardRefAssetA);
|
||||
return Flat::Bigfoot::CreateInnerTable(
|
||||
_fbb,
|
||||
&_asset_a_ref,
|
||||
_asset_a_refs);
|
||||
}
|
||||
|
||||
inline AssetCT::AssetCT(const AssetCT &o)
|
||||
: inner_table((o.inner_table) ? new Flat::Bigfoot::InnerTableT(*o.inner_table) : nullptr),
|
||||
asset_b_ref(o.asset_b_ref),
|
||||
asset_b_refs(o.asset_b_refs) {
|
||||
}
|
||||
|
||||
inline AssetCT &AssetCT::operator=(AssetCT o) FLATBUFFERS_NOEXCEPT {
|
||||
std::swap(inner_table, o.inner_table);
|
||||
std::swap(asset_b_ref, o.asset_b_ref);
|
||||
std::swap(asset_b_refs, o.asset_b_refs);
|
||||
return *this;
|
||||
}
|
||||
|
||||
inline AssetCT *AssetC::UnPack(const ::flatbuffers::resolver_function_t *_resolver) const {
|
||||
auto _o = std::make_unique<AssetCT>();
|
||||
UnPackTo(_o.get(), _resolver);
|
||||
return _o.release();
|
||||
}
|
||||
|
||||
inline void AssetC::UnPackTo(AssetCT *_o, const ::flatbuffers::resolver_function_t *_resolver) const {
|
||||
(void)_o;
|
||||
(void)_resolver;
|
||||
{ auto _e = inner_table(); if (_e) { if(_o->inner_table) { _e->UnPackTo(_o->inner_table.get(), _resolver); } else { _o->inner_table = eastl::unique_ptr<Flat::Bigfoot::InnerTableT>(_e->UnPack(_resolver)); } } else if (_o->inner_table) { _o->inner_table.reset(); } }
|
||||
{ auto _e = asset_b_ref(); if (_e) _o->asset_b_ref = ::flatbuffers::UnPackHardRefAssetB(*_e); }
|
||||
{ auto _e = asset_b_refs(); if (_e) { _o->asset_b_refs.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->asset_b_refs[_i] = ::flatbuffers::UnPackSoftRefAssetB(*_e->Get(_i)); } } else { _o->asset_b_refs.resize(0); } }
|
||||
}
|
||||
|
||||
inline ::flatbuffers::Offset<AssetC> CreateAssetC(::flatbuffers::FlatBufferBuilder &_fbb, const AssetCT *_o, const ::flatbuffers::rehasher_function_t *_rehasher) {
|
||||
return AssetC::Pack(_fbb, _o, _rehasher);
|
||||
}
|
||||
|
||||
inline ::flatbuffers::Offset<AssetC> AssetC::Pack(::flatbuffers::FlatBufferBuilder &_fbb, const AssetCT* _o, const ::flatbuffers::rehasher_function_t *_rehasher) {
|
||||
(void)_rehasher;
|
||||
(void)_o;
|
||||
struct _VectorArgs { ::flatbuffers::FlatBufferBuilder *__fbb; const AssetCT* __o; const ::flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
|
||||
auto _inner_table = _o->inner_table ? CreateInnerTable(_fbb, _o->inner_table.get(), _rehasher) : 0;
|
||||
auto _asset_b_ref = ::flatbuffers::PackHardRefAssetB(_o->asset_b_ref);
|
||||
auto _asset_b_refs = _fbb.CreateVectorOfNativeStructs<Flat::Bigfoot::SoftRef, ::Bigfoot::SoftRef<::Bigfoot::AssetB>>(_o->asset_b_refs.data(), _o->asset_b_refs.size(), ::flatbuffers::PackSoftRefAssetB);
|
||||
return Flat::Bigfoot::CreateAssetC(
|
||||
_fbb,
|
||||
_inner_table,
|
||||
&_asset_b_ref,
|
||||
_asset_b_refs);
|
||||
}
|
||||
|
||||
inline const ::flatbuffers::TypeTable *InnerTableTypeTable() {
|
||||
static const ::flatbuffers::TypeCode type_codes[] = {
|
||||
{ ::flatbuffers::ET_SEQUENCE, 0, 0 },
|
||||
{ ::flatbuffers::ET_SEQUENCE, 1, 0 }
|
||||
};
|
||||
static const ::flatbuffers::TypeFunction type_refs[] = {
|
||||
Flat::Bigfoot::HardRefTypeTable
|
||||
};
|
||||
static const char * const names[] = {
|
||||
"asset_a_ref",
|
||||
"asset_a_refs"
|
||||
};
|
||||
static const ::flatbuffers::TypeTable tt = {
|
||||
::flatbuffers::ST_TABLE, 2, type_codes, type_refs, nullptr, nullptr, names
|
||||
};
|
||||
return &tt;
|
||||
}
|
||||
|
||||
inline const ::flatbuffers::TypeTable *AssetCTypeTable() {
|
||||
static const ::flatbuffers::TypeCode type_codes[] = {
|
||||
{ ::flatbuffers::ET_SEQUENCE, 0, 0 },
|
||||
{ ::flatbuffers::ET_SEQUENCE, 0, 1 },
|
||||
{ ::flatbuffers::ET_SEQUENCE, 1, 2 }
|
||||
};
|
||||
static const ::flatbuffers::TypeFunction type_refs[] = {
|
||||
Flat::Bigfoot::InnerTableTypeTable,
|
||||
Flat::Bigfoot::HardRefTypeTable,
|
||||
Flat::Bigfoot::SoftRefTypeTable
|
||||
};
|
||||
static const char * const names[] = {
|
||||
"inner_table",
|
||||
"asset_b_ref",
|
||||
"asset_b_refs"
|
||||
};
|
||||
static const ::flatbuffers::TypeTable tt = {
|
||||
::flatbuffers::ST_TABLE, 3, type_codes, type_refs, nullptr, nullptr, names
|
||||
};
|
||||
return &tt;
|
||||
}
|
||||
|
||||
inline const Flat::Bigfoot::AssetC *GetAssetC(const void *buf) {
|
||||
return ::flatbuffers::GetRoot<Flat::Bigfoot::AssetC>(buf);
|
||||
}
|
||||
|
||||
inline const Flat::Bigfoot::AssetC *GetSizePrefixedAssetC(const void *buf) {
|
||||
return ::flatbuffers::GetSizePrefixedRoot<Flat::Bigfoot::AssetC>(buf);
|
||||
}
|
||||
|
||||
template <bool B = false>
|
||||
inline bool VerifyAssetCBuffer(
|
||||
::flatbuffers::VerifierTemplate<B> &verifier) {
|
||||
return verifier.template VerifyBuffer<Flat::Bigfoot::AssetC>(nullptr);
|
||||
}
|
||||
|
||||
template <bool B = false>
|
||||
inline bool VerifySizePrefixedAssetCBuffer(
|
||||
::flatbuffers::VerifierTemplate<B> &verifier) {
|
||||
return verifier.template VerifySizePrefixedBuffer<Flat::Bigfoot::AssetC>(nullptr);
|
||||
}
|
||||
|
||||
inline const char *AssetCExtension() {
|
||||
return "bfbs";
|
||||
}
|
||||
|
||||
inline void FinishAssetCBuffer(
|
||||
::flatbuffers::FlatBufferBuilder &fbb,
|
||||
::flatbuffers::Offset<Flat::Bigfoot::AssetC> root) {
|
||||
fbb.Finish(root);
|
||||
}
|
||||
|
||||
inline void FinishSizePrefixedAssetCBuffer(
|
||||
::flatbuffers::FlatBufferBuilder &fbb,
|
||||
::flatbuffers::Offset<Flat::Bigfoot::AssetC> root) {
|
||||
fbb.FinishSizePrefixed(root);
|
||||
}
|
||||
|
||||
inline eastl::unique_ptr<Flat::Bigfoot::AssetCT> UnPackAssetC(
|
||||
const void *buf,
|
||||
const ::flatbuffers::resolver_function_t *res = nullptr) {
|
||||
return eastl::unique_ptr<Flat::Bigfoot::AssetCT>(GetAssetC(buf)->UnPack(res));
|
||||
}
|
||||
|
||||
inline eastl::unique_ptr<Flat::Bigfoot::AssetCT> UnPackSizePrefixedAssetC(
|
||||
const void *buf,
|
||||
const ::flatbuffers::resolver_function_t *res = nullptr) {
|
||||
return eastl::unique_ptr<Flat::Bigfoot::AssetCT>(GetSizePrefixedAssetC(buf)->UnPack(res));
|
||||
}
|
||||
|
||||
} // namespace Bigfoot
|
||||
} // namespace Flat
|
||||
|
||||
#endif // FLATBUFFERS_GENERATED_ASSETC_FLAT_BIGFOOT_H_
|
||||
@@ -88,8 +88,10 @@ function(bigfoot_compile_flatbuffers BigfootDependencies)
|
||||
--force-empty
|
||||
--cpp-ptr-type "eastl::unique_ptr"
|
||||
--cpp-str-type "eastl::string"
|
||||
--cpp-vec-type "eastl::vector"
|
||||
--cpp-include "EASTL/unique_ptr.h"
|
||||
--cpp-include "EASTL/string.h"
|
||||
--cpp-include "EASTL/vector.h"
|
||||
-o "${SOURCE_DIRECTORY}"
|
||||
--schema "${SOURCE_FILE}"
|
||||
)
|
||||
|
||||
@@ -66,7 +66,7 @@ class Bigfoot(ConanFile):
|
||||
self.requires("sqlite3/3.51.2@bigfootdev/main", transitive_headers=True)
|
||||
self.requires("rapidhash/3.0@bigfootdev/main", transitive_headers=True)
|
||||
self.requires("effolkronium-random/1.5.0", transitive_headers=True)
|
||||
self.requires("flatbuffers/25.12.19@bigfootdev/main", transitive_headers=True)
|
||||
self.requires("flatbuffers/25.12.19-2026-02-06-03fffb2-bigfoot@bigfootdev/main", transitive_headers=True)
|
||||
|
||||
if(self.settings.build_type == "RelWithDebInfo" or self.settings.build_type == "Debug"):
|
||||
self.requires("quill/11.0.2", transitive_headers=True)
|
||||
|
||||
Reference in New Issue
Block a user