Torch
Loading...
Searching...
No Matches
MovtexQuadFactory.h
1
#pragma once
2
3
#include "factories/BaseFactory.h"
4
#include "types/Vec3D.h"
5
6
namespace
SM64 {
7
8
class
MovtexQuadData :
public
IParsedData
{
9
public
:
10
std::vector<std::pair<int16_t, uint32_t>> mMovtexQuads;
11
12
MovtexQuadData(std::vector<std::pair<int16_t, uint32_t>> movtexQuads) : mMovtexQuads(std::move(movtexQuads)) {}
13
};
14
15
class
MovtexQuadHeaderExporter
:
public
BaseExporter
{
16
ExportResult Export(std::ostream& write, std::shared_ptr<IParsedData> data, std::string& entryName, YAML::Node& node, std::string* replacement)
override
;
17
};
18
19
class
MovtexQuadBinaryExporter
:
public
BaseExporter
{
20
ExportResult Export(std::ostream& write, std::shared_ptr<IParsedData> data, std::string& entryName, YAML::Node& node, std::string* replacement)
override
;
21
};
22
23
class
MovtexQuadCodeExporter
:
public
BaseExporter
{
24
ExportResult Export(std::ostream& write, std::shared_ptr<IParsedData> data, std::string& entryName, YAML::Node& node, std::string* replacement)
override
;
25
};
26
27
class
MovtexQuadFactory
:
public
BaseFactory
{
28
public
:
29
std::optional<std::shared_ptr<IParsedData>> parse(std::vector<uint8_t>& buffer, YAML::Node& data)
override
;
30
inline
std::unordered_map<ExportType, std::shared_ptr<BaseExporter>> GetExporters()
override
{
31
return
{
32
REGISTER(Code,
MovtexQuadCodeExporter
)
33
REGISTER(Header,
MovtexQuadHeaderExporter
)
34
REGISTER(Binary,
MovtexQuadBinaryExporter
)
35
};
36
}
37
};
38
}
BaseExporter
Definition
BaseFactory.h:88
BaseFactory
Definition
BaseFactory.h:94
IParsedData
Definition
BaseFactory.h:80
SM64::MovtexQuadBinaryExporter
Definition
MovtexQuadFactory.h:19
SM64::MovtexQuadCodeExporter
Definition
MovtexQuadFactory.h:23
SM64::MovtexQuadFactory
Definition
MovtexQuadFactory.h:27
SM64::MovtexQuadHeaderExporter
Definition
MovtexQuadFactory.h:15
src
factories
sm64
MovtexQuadFactory.h
Generated by
1.14.0