Grindstone Game Engine
v0.2.0
An open source game engine and toolkit.
Loading...
Searching...
No Matches
ArchiveDirectory.hpp
1
#pragma once
2
3
#include <cstdint>
4
#include <map>
5
#include <string_view>
6
#include <vector>
7
8
#include <Common/ResourcePipeline/AssetType.hpp>
9
#include <Common/ResourcePipeline/Uuid.hpp>
10
11
namespace
Grindstone::Assets {
12
struct
ArchiveDirectory {
13
struct
AssetInfo
{
14
std::string_view displayName;
15
std::string_view address;
16
uint32_t crc;
17
uint16_t archiveIndex;
18
uint64_t offset;
19
uint64_t size;
20
};
21
22
struct
AssetTypeIndex
{
23
std::map<Uuid, AssetInfo> assetsByUuid;
24
std::map<std::string_view, Grindstone::Uuid> assetUuidByAddress;
25
};
26
27
struct
ArchiveInfo
{
28
uint32_t crc;
29
};
30
31
ArchiveDirectory() {
32
assetTypeIndices.resize(
static_cast<
size_t
>
(AssetType::Count));
33
}
34
35
std::vector<AssetTypeIndex> assetTypeIndices;
36
std::vector<ArchiveInfo> archives;
37
std::vector<char> strings;
38
};
39
}
Grindstone::Assets::ArchiveDirectory::ArchiveInfo
Definition
ArchiveDirectory.hpp:27
Grindstone::Assets::ArchiveDirectory::AssetInfo
Definition
ArchiveDirectory.hpp:13
Grindstone::Assets::ArchiveDirectory::AssetTypeIndex
Definition
ArchiveDirectory.hpp:22
sources
code
Common
Assets
ArchiveDirectory.hpp
Generated by
1.13.2