Torch
Loading...
Searching...
No Matches
OoTAudioFactory.h
1#pragma once
2
3#include "OoTAudioTypes.h"
4
5namespace OoT {
6
7class OoTAudioData : public IParsedData {
8public:
9 std::vector<char> mMainEntry;
10};
11
13 ExportResult Export(std::ostream& write, std::shared_ptr<IParsedData> data, std::string& entryName,
14 YAML::Node& node, std::string* replacement) override;
15};
16
18public:
19 std::optional<std::shared_ptr<IParsedData>> parse(std::vector<uint8_t>& buffer, YAML::Node& data) override;
20 std::unordered_map<ExportType, std::shared_ptr<BaseExporter>> GetExporters() override {
21 return {
22 REGISTER(Binary, OoTAudioBinaryExporter)
23 };
24 }
25
26private:
27 std::vector<char> BuildMainAudioHeader();
28 std::optional<SafeAudioBankReader> LoadAudioBank(std::vector<uint8_t>& buffer);
29 std::vector<AudioTableEntry> ParseAudioTable(const uint8_t* codeData, size_t segmentSize, uint32_t tableOffset);
30 std::vector<std::vector<uint8_t>> ParseSequenceFontTable(const uint8_t* codeData, size_t segmentSize,
31 uint32_t tableOffset, uint32_t numSequences);
32};
33
34} // namespace OoT
Definition BaseFactory.h:96
Definition BaseFactory.h:102
Definition BaseFactory.h:88
Definition OoTAudioFactory.h:12
Definition OoTAudioFactory.h:7
Definition OoTAudioFactory.h:17