Torch
Loading...
Searching...
No Matches
DemoInputFactory.h
1#pragma once
2
3#include <factories/BaseFactory.h>
4
5namespace BK64 {
6
7typedef struct ControllerInput {
8 int8_t stickX;
9 int8_t stickY;
10 uint16_t buttons;
11 uint8_t frames;
12 uint8_t unkFlag;
14
15class DemoInputData : public IParsedData {
16 public:
17 std::vector<ControllerInput> mInputs;
18
19 DemoInputData(std::vector<ControllerInput> inputs) : mInputs(std::move(inputs)) {
20 }
21};
22
24 ExportResult Export(std::ostream& write, std::shared_ptr<IParsedData> data, std::string& entryName,
25 YAML::Node& node, std::string* replacement) override;
26};
27
29 ExportResult Export(std::ostream& write, std::shared_ptr<IParsedData> data, std::string& entryName,
30 YAML::Node& node, std::string* replacement) override;
31};
32
34 ExportResult Export(std::ostream& write, std::shared_ptr<IParsedData> data, std::string& entryName,
35 YAML::Node& node, std::string* replacement) override;
36};
37
39 ExportResult Export(std::ostream& write, std::shared_ptr<IParsedData> data, std::string& entryName,
40 YAML::Node& node, std::string* replacement) override;
41};
42
44 public:
45 std::optional<std::shared_ptr<IParsedData>> parse(std::vector<uint8_t>& buffer, YAML::Node& data) override;
46 std::optional<std::shared_ptr<IParsedData>> parse_modding(std::vector<uint8_t>& buffer, YAML::Node& data) override;
47 inline std::unordered_map<ExportType, std::shared_ptr<BaseExporter>> GetExporters() override {
48 return { REGISTER(Code, DemoInputCodeExporter) REGISTER(Header, DemoInputHeaderExporter)
49 REGISTER(Binary, DemoInputBinaryExporter) REGISTER(Modding, DemoInputModdingExporter) };
50 }
51 bool SupportModdedAssets() override {
52 return true;
53 }
54};
55} // namespace BK64
Definition DemoInputFactory.h:28
Definition DemoInputFactory.h:33
Definition DemoInputFactory.h:43
Definition DemoInputFactory.h:23
Definition DemoInputFactory.h:38
Definition BaseFactory.h:96
Definition BaseFactory.h:102
Definition BaseFactory.h:88
Definition DemoInputFactory.h:7