Torch
Loading...
Searching...
No Matches
EADLimbFactory.h
1#pragma once
2
3#include <factories/BaseFactory.h>
4#include <types/Vec3D.h>
5
6namespace FZX {
7
8class EADLimbData : public IParsedData {
9public:
10 uint32_t mDl;
11 Vec3f mScale;
12 Vec3f mPos;
13 Vec3s mRot;
14 uint32_t mNextLimb;
15 uint32_t mChildLimb;
16 uint32_t mAssociatedLimb;
17 uint32_t mAssociatedLimbDL;
18 int16_t mLimbId;
19
20 EADLimbData(uint32_t dl, Vec3f scale, Vec3f pos, Vec3s rot, uint32_t nextLimb, uint32_t childLimb, uint32_t associatedLimb, uint32_t associatedLimbDL, int16_t limbId) :
21 mDl(dl),
22 mScale(scale),
23 mPos(pos),
24 mRot(rot),
25 mNextLimb(nextLimb),
26 mChildLimb(childLimb),
27 mAssociatedLimb(associatedLimb),
28 mAssociatedLimbDL(associatedLimbDL),
29 mLimbId(limbId)
30 {}
31};
32
34 ExportResult Export(std::ostream& write, std::shared_ptr<IParsedData> data, std::string& entryName, YAML::Node& node, std::string* replacement) override;
35};
36
38 ExportResult Export(std::ostream& write, std::shared_ptr<IParsedData> data, std::string& entryName, YAML::Node& node, std::string* replacement) override;
39};
40
42 ExportResult Export(std::ostream& write, std::shared_ptr<IParsedData> data, std::string& entryName, YAML::Node& node, std::string* replacement) override;
43};
44
46 ExportResult Export(std::ostream& write, std::shared_ptr<IParsedData> data, std::string& entryName, YAML::Node& node, std::string* replacement) override;
47};
48
50public:
51 std::optional<std::shared_ptr<IParsedData>> parse(std::vector<uint8_t>& buffer, YAML::Node& data) override;
52 inline std::unordered_map<ExportType, std::shared_ptr<BaseExporter>> GetExporters() override {
53 return {
54 REGISTER(Code, EADLimbCodeExporter)
55 REGISTER(Header, EADLimbHeaderExporter)
56 REGISTER(Binary, EADLimbBinaryExporter)
57 };
58 }
59};
60} // namespace FZX
Definition BaseFactory.h:88
Definition BaseFactory.h:94
Definition EADLimbFactory.h:37
Definition EADLimbFactory.h:41
Definition EADLimbFactory.h:49
Definition EADLimbFactory.h:33
Definition EADLimbFactory.h:45
Definition BaseFactory.h:80
Definition Vec3D.h:5
Definition Vec3D.h:17