Grindstone Game Engine
v0.2.0
An open source game engine and toolkit.
Toggle main menu visibility
Loading...
Searching...
No Matches
ArchiveDirectoryFile.hpp
1
#pragma once
2
3
#include <string>
4
#include <vector>
5
6
#include <Common/ResourcePipeline/AssetType.hpp>
7
#include <Common/ResourcePipeline/Uuid.hpp>
8
9
namespace
Grindstone::Assets {
10
struct
ArchiveDirectoryFile
{
11
const
static
uint32_t CURRENT_VERSION = 1;
12
13
struct
Header
{
14
const
char
signature[4] = {
'G'
,
'D'
,
'I'
,
'R'
};
15
uint32_t version = CURRENT_VERSION;
16
uint32_t buildCode = 0;
17
uint32_t headerSize =
sizeof
(
Header
);
18
uint32_t assetTypeCount =
static_cast<
uint32_t
>
(AssetType::Count);
19
uint32_t assetTypeIndexSize;
20
uint32_t assetInfoIndexSize;
21
uint32_t archiveIndexSize;
22
uint32_t stringsSize;
23
};
24
25
struct
AssetTypeSectionInfo
{
26
uint64_t offset;
27
uint16_t count;
28
};
29
30
struct
AssetInfo
{
31
Grindstone::Uuid
uuid;
32
uint64_t displayNameOffset;
33
uint16_t displayNameSize;
34
uint64_t addressOffset;
35
uint16_t addressSize;
36
uint32_t crc;
37
uint16_t archiveIndex;
38
uint64_t offset;
39
uint64_t size;
40
};
41
42
struct
ArchiveInfo
{
43
uint32_t crc;
44
};
45
46
Header
header;
47
std::vector<AssetTypeSectionInfo> assetInfoIndex;
48
std::vector<AssetInfo> assets;
49
std::vector<ArchiveInfo> archives;
50
std::vector<std::string> strings;
51
};
52
}
Grindstone::Uuid
Definition
Uuid.hpp:7
Grindstone::Assets::ArchiveDirectoryFile::ArchiveInfo
Definition
ArchiveDirectoryFile.hpp:42
Grindstone::Assets::ArchiveDirectoryFile::AssetInfo
Definition
ArchiveDirectoryFile.hpp:30
Grindstone::Assets::ArchiveDirectoryFile::AssetTypeSectionInfo
Definition
ArchiveDirectoryFile.hpp:25
Grindstone::Assets::ArchiveDirectoryFile::Header
Definition
ArchiveDirectoryFile.hpp:13
Grindstone::Assets::ArchiveDirectoryFile
Definition
ArchiveDirectoryFile.hpp:10
sources
code
Common
Assets
ArchiveDirectoryFile.hpp
Generated by
1.17.0