3#include <factories/BaseFactory.h>
4#include "factories/bk64/BKHeaderExporter.h"
8typedef std::variant<uint8_t, int8_t, uint16_t, int16_t, uint32_t, int32_t, float> GeoLayoutArg;
10enum class GeoLayoutArgType { U8, S8, U16, S16, U32, S32, FLOAT };
12enum class GeoLayoutOpCode {
32class GeoLayoutCommand {
34 GeoLayoutOpCode opCode;
36 std::vector<GeoLayoutArg> args;
37 uint32_t originalOffset;
39 GeoLayoutCommand(GeoLayoutOpCode opCode, uint32_t cmdLength, std::vector<GeoLayoutArg> args,
40 uint32_t originalOffset = 0)
41 : opCode(opCode), cmdLength(cmdLength), args(std::move(args)), originalOffset(originalOffset) {
47 std::vector<GeoLayoutCommand> mCmds;
49 GeoLayoutData(std::vector<GeoLayoutCommand> cmds) : mCmds(std::move(cmds)) {
54 ExportResult Export(std::ostream& write, std::shared_ptr<IParsedData> data, std::string& entryName,
55 YAML::Node& node, std::string* replacement)
override;
59 ExportResult Export(std::ostream& write, std::shared_ptr<IParsedData> data, std::string& entryName,
60 YAML::Node& node, std::string* replacement)
override;
64 ExportResult Export(std::ostream& write, std::shared_ptr<IParsedData> data, std::string& entryName,
65 YAML::Node& node, std::string* replacement)
override;
70 std::optional<std::shared_ptr<IParsedData>> parse(std::vector<uint8_t>& buffer, YAML::Node& data)
override;
73 inline std::unordered_map<ExportType, std::shared_ptr<BaseExporter>> GetExporters()
override {
77 bool SupportModdedAssets()
override {
Definition GeoLayoutFactory.h:53
Definition GeoLayoutFactory.h:58
Definition GeoLayoutFactory.h:68
Definition GeoLayoutFactory.h:63
Definition BaseFactory.h:96
Definition BaseFactory.h:102
Definition BaseFactory.h:88