Torch
Loading...
Searching...
No Matches
Paths.h
1
#pragma once
2
3
#include <factories/BaseFactory.h>
4
5
namespace
MK64 {
6
7
struct
TrackPath
{
8
int16_t posX;
9
int16_t posY;
10
int16_t posZ;
11
uint16_t trackSegment;
12
};
13
14
class
PathData :
public
IParsedData
{
15
public
:
16
std::vector<TrackPath> mPaths;
17
18
explicit
PathData(std::vector<TrackPath> paths) : mPaths(paths) {
19
}
20
};
21
22
class
PathHeaderExporter
:
public
BaseExporter
{
23
ExportResult Export(std::ostream& write, std::shared_ptr<IParsedData> data, std::string& entryName,
24
YAML::Node& node, std::string* replacement)
override
;
25
};
26
27
class
PathBinaryExporter
:
public
BaseExporter
{
28
ExportResult Export(std::ostream& write, std::shared_ptr<IParsedData> data, std::string& entryName,
29
YAML::Node& node, std::string* replacement)
override
;
30
};
31
32
class
PathCodeExporter
:
public
BaseExporter
{
33
ExportResult Export(std::ostream& write, std::shared_ptr<IParsedData> data, std::string& entryName,
34
YAML::Node& node, std::string* replacement)
override
;
35
};
36
37
class
PathsFactory
:
public
BaseFactory
{
38
public
:
39
std::optional<std::shared_ptr<IParsedData>> parse(std::vector<uint8_t>& buffer, YAML::Node& data)
override
;
40
std::optional<std::shared_ptr<IParsedData>> parse_modding(std::vector<uint8_t>& buffer, YAML::Node& data)
override
{
41
return
std::nullopt;
42
}
43
inline
std::unordered_map<ExportType, std::shared_ptr<BaseExporter>> GetExporters()
override
{
44
return
{ REGISTER(Code,
PathCodeExporter
) REGISTER(Header,
PathHeaderExporter
)
45
REGISTER(Binary,
PathBinaryExporter
) };
46
}
47
bool
SupportModdedAssets()
override
{
48
return
false
;
49
}
50
};
51
}
// namespace MK64
BaseExporter
Definition
BaseFactory.h:88
BaseFactory
Definition
BaseFactory.h:94
IParsedData
Definition
BaseFactory.h:80
MK64::PathBinaryExporter
Definition
Paths.h:27
MK64::PathCodeExporter
Definition
Paths.h:32
MK64::PathHeaderExporter
Definition
Paths.h:22
MK64::PathsFactory
Definition
Paths.h:37
MK64::TrackPath
Definition
Paths.h:7
src
factories
mk64
Paths.h
Generated by
1.14.0