Torch
Loading...
Searching...
No Matches
ScriptFactory.h
1
#pragma once
2
3
#include <factories/BaseFactory.h>
4
5
namespace
SF64 {
6
7
class
ScriptData :
public
IParsedData
{
8
public
:
9
std::vector<uint32_t> mPtrs;
10
std::vector<uint16_t> mCmds;
11
std::map<uint32_t, int> mSizeMap;
12
uint32_t mCmdsStart;
13
uint32_t mPtrsStart;
14
15
ScriptData(std::vector<uint32_t> ptrs, std::vector<uint16_t> cmds, std::map<uint32_t, int> sizeMap, uint32_t ptrsStart, uint32_t cmdsStart);
16
};
17
18
class
ScriptHeaderExporter
:
public
BaseExporter
{
19
ExportResult Export(std::ostream& write, std::shared_ptr<IParsedData> data, std::string& entryName, YAML::Node& node, std::string* replacement)
override
;
20
};
21
22
class
ScriptBinaryExporter
:
public
BaseExporter
{
23
ExportResult Export(std::ostream& write, std::shared_ptr<IParsedData> data, std::string& entryName, YAML::Node& node, std::string* replacement)
override
;
24
};
25
26
class
ScriptCodeExporter
:
public
BaseExporter
{
27
ExportResult Export(std::ostream& write, std::shared_ptr<IParsedData> data, std::string& entryName, YAML::Node& node, std::string* replacement)
override
;
28
};
29
30
class
ScriptXMLExporter
:
public
BaseExporter
{
31
ExportResult Export(std::ostream& write, std::shared_ptr<IParsedData> data, std::string& entryName, YAML::Node& node, std::string* replacement)
override
;
32
};
33
34
class
ScriptFactory
:
public
BaseFactory
{
35
public
:
36
std::optional<std::shared_ptr<IParsedData>> parse(std::vector<uint8_t>& buffer, YAML::Node& data)
override
;
37
inline
std::unordered_map<ExportType, std::shared_ptr<BaseExporter>> GetExporters()
override
{
38
return
{
39
REGISTER(XML,
ScriptXMLExporter
)
40
REGISTER(Code,
ScriptCodeExporter
)
41
REGISTER(Header,
ScriptHeaderExporter
)
42
REGISTER(Binary,
ScriptBinaryExporter
)
43
};
44
}
45
bool
SupportModdedAssets()
override
{
return
true
; }
46
};
47
}
BaseExporter
Definition
BaseFactory.h:88
BaseFactory
Definition
BaseFactory.h:94
IParsedData
Definition
BaseFactory.h:80
SF64::ScriptBinaryExporter
Definition
ScriptFactory.h:22
SF64::ScriptCodeExporter
Definition
ScriptFactory.h:26
SF64::ScriptFactory
Definition
ScriptFactory.h:34
SF64::ScriptHeaderExporter
Definition
ScriptFactory.h:18
SF64::ScriptXMLExporter
Definition
ScriptFactory.h:30
src
factories
sf64
ScriptFactory.h
Generated by
1.14.0