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 bool CanPreviewCode() override {
33 return true;
34 }
35 inline std::unordered_map<ExportType, std::shared_ptr<BaseExporter>> GetExporters() override {
36 return {
37 REGISTER(Code, MovtexCodeExporter)
38 REGISTER(Header, MovtexHeaderExporter)
39 REGISTER(Binary, MovtexBinaryExporter)
40 };
41 }
42};
43}
Definition BaseFactory.h:96
Definition BaseFactory.h:102
Definition BaseFactory.h:88
Definition MovtexFactory.h:21
Definition MovtexFactory.h:25
Definition MovtexFactory.h:29
Definition MovtexFactory.h:17