Torch
Loading...
Searching...
No Matches
MA2D1Factory.h
1#pragma once
2
3#include <factories/BaseFactory.h>
4
5namespace MA {
6
7class MA2D1Data : public IParsedData {
8public:
9 std::string mFormat;
10 uint32_t mWidth;
11 uint32_t mHeight;
12 uint32_t mSize;
13
14 MA2D1Data(std::string format, uint32_t width, uint32_t height, uint32_t size) :
15 mFormat(format),
16 mWidth(width),
17 mHeight(height),
18 mSize(size) {}
19};
20
22 ExportResult Export(std::ostream& write, std::shared_ptr<IParsedData> data, std::string& entryName, YAML::Node& node, std::string* replacement) override;
23};
24
26 ExportResult Export(std::ostream& write, std::shared_ptr<IParsedData> data, std::string& entryName, YAML::Node& node, std::string* replacement) override;
27};
28
30 ExportResult Export(std::ostream& write, std::shared_ptr<IParsedData> data, std::string& entryName, YAML::Node& node, std::string* replacement) override;
31};
32
33class MA2D1Factory : public BaseFactory {
34public:
35 std::optional<std::shared_ptr<IParsedData>> parse(std::vector<uint8_t>& buffer, YAML::Node& data) override;
36 inline std::unordered_map<ExportType, std::shared_ptr<BaseExporter>> GetExporters() override {
37 return {
38 REGISTER(Code, MA2D1CodeExporter)
39 REGISTER(Header, MA2D1HeaderExporter)
40 REGISTER(Binary, MA2D1BinaryExporter)
41 };
42 }
43 bool HasModdedDependencies() override { return true; }
44};
45}
Definition BaseFactory.h:88
Definition BaseFactory.h:94
Definition BaseFactory.h:80
Definition MA2D1Factory.h:25
Definition MA2D1Factory.h:29
Definition MA2D1Factory.h:33
Definition MA2D1Factory.h:21