Torch
Loading...
Searching...
No Matches
MtxFactory.h
1
#pragma once
2
3
#include "BaseFactory.h"
4
5
union
MtxS
{
6
struct
{
7
uint16_t intPart[4][4];
8
uint16_t fracPart[4][4];
9
};
10
int32_t mint[4][4];
11
long
long
int
forc_structure_alignment;
12
};
13
14
struct
MtxRaw
{
15
float
mtx[16];
16
MtxS
mt;
17
};
18
19
class
MtxData :
public
IParsedData
{
20
public
:
21
std::vector<MtxRaw> mMtxs;
22
23
explicit
MtxData(std::vector<MtxRaw> mtxs) : mMtxs(mtxs) {}
24
};
25
26
class
MtxHeaderExporter
:
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
MtxBinaryExporter
:
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
MtxCodeExporter
:
public
BaseExporter
{
35
ExportResult Export(std::ostream& write, std::shared_ptr<IParsedData> data, std::string& entryName, YAML::Node& node, std::string* replacement)
override
;
36
};
37
38
class
MtxFactory
:
public
BaseFactory
{
39
public
:
40
std::optional<std::shared_ptr<IParsedData>> parse(std::vector<uint8_t>& buffer, YAML::Node& data)
override
;
41
std::optional<std::shared_ptr<IParsedData>> parse_modding(std::vector<uint8_t>& buffer, YAML::Node& data)
override
{
42
return
std::nullopt;
43
}
44
inline
std::unordered_map<ExportType, std::shared_ptr<BaseExporter>> GetExporters()
override
{
45
return
{
46
REGISTER(Code,
MtxCodeExporter
)
47
REGISTER(Header,
MtxHeaderExporter
)
48
REGISTER(Binary,
MtxBinaryExporter
)
49
};
50
}
51
};
BaseExporter
Definition
BaseFactory.h:88
BaseFactory
Definition
BaseFactory.h:94
IParsedData
Definition
BaseFactory.h:80
MtxBinaryExporter
Definition
MtxFactory.h:30
MtxCodeExporter
Definition
MtxFactory.h:34
MtxFactory
Definition
MtxFactory.h:38
MtxHeaderExporter
Definition
MtxFactory.h:26
MtxRaw
Definition
MtxFactory.h:14
MtxS
Definition
MtxFactory.h:5
src
factories
MtxFactory.h
Generated by
1.14.0