Torch
Loading...
Searching...
No Matches
AudioTableFactory.h
1#pragma once
2
3#include <factories/BaseFactory.h>
4
6 uint32_t addr;
7 uint32_t size;
8 int8_t medium;
9 int8_t cachePolicy;
10 int16_t shortData1;
11 int16_t shortData2;
12 int16_t shortData3;
13 uint64_t crc;
14};
15
16enum class AudioTableType {
17 SAMPLE_TABLE,
18 SEQ_TABLE,
19 FONT_TABLE
20};
21
22class AudioTableData : public IParsedData {
23public:
24 int16_t medium;
25 uint32_t addr;
26 AudioTableType type;
27 std::vector<AudioTableEntry> entries;
28
29 AudioTableData(int16_t medium, uint32_t addr, AudioTableType type, std::vector<AudioTableEntry> entries) : medium(medium), addr(addr), type(type), entries(entries) {}
30};
31
33 ExportResult Export(std::ostream& write, std::shared_ptr<IParsedData> data, std::string& entryName, YAML::Node& node, std::string* replacement) override;
34};
35
37 ExportResult Export(std::ostream& write, std::shared_ptr<IParsedData> data, std::string& entryName, YAML::Node& node, std::string* replacement) override;
38};
39
41 ExportResult Export(std::ostream& write, std::shared_ptr<IParsedData> data, std::string& entryName, YAML::Node& node, std::string* replacement) override;
42};
43
45public:
46 std::optional<std::shared_ptr<IParsedData>> parse(std::vector<uint8_t>& buffer, YAML::Node& data) override;
47 inline std::unordered_map<ExportType, std::shared_ptr<BaseExporter>> GetExporters() override {
48 return {
49 REGISTER(Header, AudioTableHeaderExporter)
50 REGISTER(Binary, AudioTableBinaryExporter)
51 REGISTER(Code, AudioTableCodeExporter)
52 };
53 }
54
55 bool HasModdedDependencies() override { return true; }
56};
Definition AudioTableFactory.h:36
Definition AudioTableFactory.h:40
Definition AudioTableFactory.h:44
Definition AudioTableFactory.h:32
Definition BaseFactory.h:88
Definition BaseFactory.h:94
Definition BaseFactory.h:80
Definition AudioTableFactory.h:5