Torch
Loading...
Searching...
No Matches
MacroFactory.h
1
#pragma once
2
3
#include "factories/BaseFactory.h"
4
#include "types/Vec3D.h"
5
#include "macro/MacroPresets.h"
6
7
namespace
SM64 {
8
9
struct
MacroObject {
10
MacroPresets preset;
11
int16_t yaw;
12
int16_t posX;
13
int16_t posY;
14
int16_t posZ;
15
int16_t behParam;
16
MacroObject(MacroPresets preset, int16_t yaw, int16_t posX, int16_t posY, int16_t posZ, int16_t behParam) : preset(preset), yaw(yaw), posX(posX), posY(posY), posZ(posZ), behParam(behParam) {}
17
};
18
19
class
MacroData :
public
IParsedData
{
20
public
:
21
std::vector<MacroObject> mMacroData;
22
23
MacroData(std::vector<MacroObject> macroData) : mMacroData(std::move(macroData)) {}
24
};
25
26
class
MacroDataAlt :
public
IParsedData
{
27
public
:
28
std::vector<int16_t> mMacroData;
29
30
MacroDataAlt(std::vector<int16_t> macroData) : mMacroData(std::move(macroData)) {}
31
};
32
33
class
MacroHeaderExporter
:
public
BaseExporter
{
34
ExportResult Export(std::ostream& write, std::shared_ptr<IParsedData> data, std::string& entryName, YAML::Node& node, std::string* replacement)
override
;
35
};
36
37
class
MacroBinaryExporter
:
public
BaseExporter
{
38
ExportResult Export(std::ostream& write, std::shared_ptr<IParsedData> data, std::string& entryName, YAML::Node& node, std::string* replacement)
override
;
39
};
40
41
class
MacroCodeExporter
:
public
BaseExporter
{
42
ExportResult Export(std::ostream& write, std::shared_ptr<IParsedData> data, std::string& entryName, YAML::Node& node, std::string* replacement)
override
;
43
};
44
45
class
MacroFactory
:
public
BaseFactory
{
46
public
:
47
std::optional<std::shared_ptr<IParsedData>> parse(std::vector<uint8_t>& buffer, YAML::Node& data)
override
;
48
inline
std::unordered_map<ExportType, std::shared_ptr<BaseExporter>> GetExporters()
override
{
49
return
{
50
// REGISTER(Code, MacroCodeExporter)
51
REGISTER(Header,
MacroHeaderExporter
)
52
REGISTER(Binary,
MacroBinaryExporter
)
53
};
54
}
55
};
56
}
BaseExporter
Definition
BaseFactory.h:88
BaseFactory
Definition
BaseFactory.h:94
IParsedData
Definition
BaseFactory.h:80
SM64::MacroBinaryExporter
Definition
MacroFactory.h:37
SM64::MacroCodeExporter
Definition
MacroFactory.h:41
SM64::MacroFactory
Definition
MacroFactory.h:45
SM64::MacroHeaderExporter
Definition
MacroFactory.h:33
src
factories
sm64
MacroFactory.h
Generated by
1.14.0