Torch
Loading...
Searching...
No Matches
AnimFactory.h
1
#pragma once
2
3
#include <factories/BaseFactory.h>
4
5
namespace
SF64 {
6
7
struct
JointKey
{
8
uint16_t keys[6];
9
};
10
11
class
AnimData :
public
IParsedData
{
12
public
:
13
int16_t mFrameCount;
14
int16_t mLimbCount;
15
uint32_t mDataOffset;
16
uint32_t mKeyOffset;
17
std::vector<uint16_t> mFrameData;
18
std::vector<JointKey> mJointKeys;
19
20
AnimData(int16_t frameCount, int16_t limbCount, uint32_t dataOffset, std::vector<uint16_t> frameData, uint32_t keyOffset, std::vector<JointKey> jointKeys);
21
};
22
23
class
AnimHeaderExporter
:
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
AnimBinaryExporter
:
public
BaseExporter
{
28
ExportResult Export(std::ostream& write, std::shared_ptr<IParsedData> data, std::string& entryName, YAML::Node& node, std::string* replacement)
override
;
29
};
30
31
class
AnimCodeExporter
:
public
BaseExporter
{
32
ExportResult Export(std::ostream& write, std::shared_ptr<IParsedData> data, std::string& entryName, YAML::Node& node, std::string* replacement)
override
;
33
};
34
35
class
AnimFactory
:
public
BaseFactory
{
36
public
:
37
std::optional<std::shared_ptr<IParsedData>> parse(std::vector<uint8_t>& buffer, YAML::Node& data)
override
;
38
inline
std::unordered_map<ExportType, std::shared_ptr<BaseExporter>> GetExporters()
override
{
39
return
{
40
REGISTER(Code,
AnimCodeExporter
)
41
REGISTER(Header,
AnimHeaderExporter
)
42
REGISTER(Binary,
AnimBinaryExporter
)
43
};
44
}
45
};
46
}
BaseExporter
Definition
BaseFactory.h:88
BaseFactory
Definition
BaseFactory.h:94
IParsedData
Definition
BaseFactory.h:80
SF64::AnimBinaryExporter
Definition
AnimFactory.h:27
SF64::AnimCodeExporter
Definition
AnimFactory.h:31
SF64::AnimFactory
Definition
AnimFactory.h:35
SF64::AnimHeaderExporter
Definition
AnimFactory.h:23
SF64::JointKey
Definition
AnimFactory.h:7
src
factories
sf64
AnimFactory.h
Generated by
1.14.0