Torch
Loading...
Searching...
No Matches
MovtexFactory.h
1#pragma once
2
3#include "factories/BaseFactory.h"
4#include "types/Vec3D.h"
5
6namespace SM64 {
7
8class MovtexData : public IParsedData {
9public:
10 std::vector<int16_t> mMovtexData;
11 bool mIsQuad;
12 uint32_t mVertexCount;
13 bool mHasColor;
14 MovtexData(std::vector<int16_t> movtexData, bool isQuad, uint32_t count, bool hasColor) : mMovtexData(std::move(movtexData)), mIsQuad(isQuad), mVertexCount(count), mHasColor(hasColor) {}
15};
16
18 ExportResult Export(std::ostream& write, std::shared_ptr<IParsedData> data, std::string& entryName, YAML::Node& node, std::string* replacement) override;
19};
20
22 ExportResult Export(std::ostream& write, std::shared_ptr<IParsedData> data, std::string& entryName, YAML::Node& node, std::string* replacement) override;
23};
24
26 ExportResult Export(std::ostream& write, std::shared_ptr<IParsedData> data, std::string& entryName, YAML::Node& node, std::string* replacement) override;
27};
28
29class MovtexFactory : public BaseFactory {
30public:
31 std::optional<std::shared_ptr<IParsedData>> parse(std::vector<uint8_t>& buffer, YAML::Node& data) override;
32 inline std::unordered_map<ExportType, std::shared_ptr<BaseExporter>> GetExporters() override {
33 return {
34 REGISTER(Code, MovtexCodeExporter)
35 REGISTER(Header, MovtexHeaderExporter)
36 REGISTER(Binary, MovtexBinaryExporter)
37 };
38 }
39};
40}
Definition BaseFactory.h:88
Definition BaseFactory.h:94
Definition BaseFactory.h:80
Definition MovtexFactory.h:21
Definition MovtexFactory.h:25
Definition MovtexFactory.h:29
Definition MovtexFactory.h:17