Torch
Loading...
Searching...
No Matches
DrivingBehaviour.h
1
#pragma once
2
3
#include <factories/BaseFactory.h>
4
5
namespace
MK64 {
6
7
struct
BhvRaw
{
8
int16_t waypoint1;
9
int16_t waypoint2;
10
int32_t bhv;
11
};
12
13
class
DrivingData :
public
IParsedData
{
14
public
:
15
std::vector<BhvRaw> mBhvs;
16
17
explicit
DrivingData(std::vector<BhvRaw> bhvs) : mBhvs(bhvs) {}
18
};
19
20
class
DrivingBehaviourHeaderExporter
:
public
BaseExporter
{
21
ExportResult Export(std::ostream& write, std::shared_ptr<IParsedData> data, std::string& entryName, YAML::Node& node, std::string* replacement)
override
;
22
};
23
24
class
DrivingBehaviourBinaryExporter
:
public
BaseExporter
{
25
ExportResult Export(std::ostream& write, std::shared_ptr<IParsedData> data, std::string& entryName, YAML::Node& node, std::string* replacement)
override
;
26
};
27
28
class
DrivingBehaviourCodeExporter
:
public
BaseExporter
{
29
ExportResult Export(std::ostream& write, std::shared_ptr<IParsedData> data, std::string& entryName, YAML::Node& node, std::string* replacement)
override
;
30
};
31
32
class
DrivingBehaviourFactory
:
public
BaseFactory
{
33
public
:
34
std::optional<std::shared_ptr<IParsedData>> parse(std::vector<uint8_t>& buffer, YAML::Node& data)
override
;
35
std::optional<std::shared_ptr<IParsedData>> parse_modding(std::vector<uint8_t>& buffer, YAML::Node& data)
override
{
36
return
std::nullopt;
37
}
38
inline
std::unordered_map<ExportType, std::shared_ptr<BaseExporter>> GetExporters()
override
{
39
return
{
40
REGISTER(Code,
DrivingBehaviourCodeExporter
)
41
REGISTER(Header,
DrivingBehaviourHeaderExporter
)
42
REGISTER(Binary,
DrivingBehaviourBinaryExporter
)
43
};
44
}
45
};
46
}
BaseExporter
Definition
BaseFactory.h:88
BaseFactory
Definition
BaseFactory.h:94
IParsedData
Definition
BaseFactory.h:80
MK64::DrivingBehaviourBinaryExporter
Definition
DrivingBehaviour.h:24
MK64::DrivingBehaviourCodeExporter
Definition
DrivingBehaviour.h:28
MK64::DrivingBehaviourFactory
Definition
DrivingBehaviour.h:32
MK64::DrivingBehaviourHeaderExporter
Definition
DrivingBehaviour.h:20
MK64::BhvRaw
Definition
DrivingBehaviour.h:7
src
factories
mk64
DrivingBehaviour.h
Generated by
1.14.0