Torch
Loading...
Searching...
No Matches
LightsFactory.h
1#pragma once
2
3#include "BaseFactory.h"
4
5struct Light_tRaw {
6 uint8_t col[3]; /* diffuse light value (rgba) */
7 int8_t pad1;
8 uint8_t colc[3]; /* copy of diffuse light value (rgba) */
9 int8_t pad2;
10 int8_t dir[3]; /* direction of light (normalized) */
11 int8_t pad3;
12};
13
14union LightRaw {
15 Light_tRaw l;
16 long long int force_structure_alignment[2];
17};
18
20 uint8_t col[3]; /* ambient light value (rgba) */
21 int8_t pad1;
22 uint8_t colc[3]; /* copy of ambient light value (rgba) */
23 int8_t pad2;
24};
25
26
29 long long int force_structure_alignment[1];
30};
31
32struct Lights1Raw {
33 AmbientRaw a;
34 LightRaw l[1];
35};
36
37class LightsData : public IParsedData {
38public:
39 Lights1Raw mLights;
40
41 LightsData(Lights1Raw lights) : mLights(lights) {}
42};
43
45 ExportResult Export(std::ostream& write, std::shared_ptr<IParsedData> data, std::string& entryName, YAML::Node& node, std::string* replacement) override;
46};
47
49 ExportResult Export(std::ostream& write, std::shared_ptr<IParsedData> data, std::string& entryName, YAML::Node& node, std::string* replacement) override;
50};
51
53 ExportResult Export(std::ostream& write, std::shared_ptr<IParsedData> data, std::string& entryName, YAML::Node& node, std::string* replacement) override;
54};
55
56class LightsFactory : public BaseFactory {
57public:
58 std::optional<std::shared_ptr<IParsedData>> parse(std::vector<uint8_t>& buffer, YAML::Node& data) override;
59 inline std::unordered_map<ExportType, std::shared_ptr<BaseExporter>> GetExporters() override {
60 return {
61 REGISTER(Code, LightsCodeExporter)
62 REGISTER(Header, LightsHeaderExporter)
63 REGISTER(Binary, LightsBinaryExporter)
64 };
65 }
66};
Definition BaseFactory.h:88
Definition BaseFactory.h:94
Definition BaseFactory.h:80
Definition LightsFactory.h:48
Definition LightsFactory.h:52
Definition LightsFactory.h:56
Definition LightsFactory.h:44
Definition LightsFactory.h:19
Definition LightsFactory.h:5
Definition LightsFactory.h:32
Definition LightsFactory.h:27
Definition LightsFactory.h:14