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