Torch
Loading...
Searching...
No Matches
AudioTableFactory.h
1
#pragma once
2
3
#include <factories/BaseFactory.h>
4
5
struct
AudioTableEntry
{
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
16
enum class
AudioTableType {
17
SAMPLE_TABLE,
18
SEQ_TABLE,
19
FONT_TABLE
20
};
21
22
class
AudioTableData :
public
IParsedData
{
23
public
:
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
32
class
AudioTableHeaderExporter
:
public
BaseExporter
{
33
ExportResult Export(std::ostream& write, std::shared_ptr<IParsedData> data, std::string& entryName, YAML::Node& node, std::string* replacement)
override
;
34
};
35
36
class
AudioTableBinaryExporter
:
public
BaseExporter
{
37
ExportResult Export(std::ostream& write, std::shared_ptr<IParsedData> data, std::string& entryName, YAML::Node& node, std::string* replacement)
override
;
38
};
39
40
class
AudioTableCodeExporter
:
public
BaseExporter
{
41
ExportResult Export(std::ostream& write, std::shared_ptr<IParsedData> data, std::string& entryName, YAML::Node& node, std::string* replacement)
override
;
42
};
43
44
class
AudioTableFactory
:
public
BaseFactory
{
45
public
:
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
};
AudioTableBinaryExporter
Definition
AudioTableFactory.h:36
AudioTableCodeExporter
Definition
AudioTableFactory.h:40
AudioTableFactory
Definition
AudioTableFactory.h:44
AudioTableHeaderExporter
Definition
AudioTableFactory.h:32
BaseExporter
Definition
BaseFactory.h:88
BaseFactory
Definition
BaseFactory.h:94
IParsedData
Definition
BaseFactory.h:80
AudioTableEntry
Definition
AudioTableFactory.h:5
src
factories
naudio
v1
AudioTableFactory.h
Generated by
1.14.0