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
11namespace 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
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}
Definition ArchiveDirectory.hpp:27
Definition ArchiveDirectory.hpp:13