Torch
Loading...
Searching...
No Matches
DrivingBehaviour.h
1#pragma once
2
3#include <factories/BaseFactory.h>
4
5namespace 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
21 ExportResult Export(std::ostream& write, std::shared_ptr<IParsedData> data, std::string& entryName, YAML::Node& node, std::string* replacement) override;
22 };
23
25 ExportResult Export(std::ostream& write, std::shared_ptr<IParsedData> data, std::string& entryName, YAML::Node& node, std::string* replacement) override;
26 };
27
29 ExportResult Export(std::ostream& write, std::shared_ptr<IParsedData> data, std::string& entryName, YAML::Node& node, std::string* replacement) override;
30 };
31
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}
Definition BaseFactory.h:88
Definition BaseFactory.h:94
Definition BaseFactory.h:80
Definition DrivingBehaviour.h:24
Definition DrivingBehaviour.h:28
Definition DrivingBehaviour.h:32
Definition DrivingBehaviour.h:20
Definition DrivingBehaviour.h:7