Baked bank and sequence id to avoid using tables

This commit is contained in:
KiritoDv
2023-10-09 22:47:40 -06:00
parent dfbf8f1525
commit e43d0127fa
4 changed files with 382 additions and 308 deletions
+185 -151
View File
File diff suppressed because it is too large Load Diff
+189 -154
View File
File diff suppressed because it is too large Load Diff
+1
View File
@@ -14,6 +14,7 @@ bool BankFactory::process(LUS::BinaryWriter* writer, YAML::Node& data, std::vect
WRITE_HEADER(LUS::ResourceType::Bank, 0);
WRITE_U32(bankId);
WRITE_U32(bank.insts.size());
for(auto &instrument : bank.insts){
WRITE_U8(instrument.valid);
+7 -3
View File
@@ -6,13 +6,17 @@
bool SequenceFactory::process(LUS::BinaryWriter* writer, YAML::Node& data, std::vector<uint8_t>& buffer) {
WRITE_HEADER(LUS::ResourceType::Sequence, 0);
auto id = data["id"].as<uint32_t>();
auto size = data["size"].as<size_t>();
auto offset = data["offset"].as<size_t>();
auto bank = data["banks"].as<std::vector<uint8_t>>();
auto banks = data["banks"].as<std::vector<std::string>>();
WRITE_U32(bank.size());
WRITE_ARRAY(bank.data(), bank.size());
WRITE_U32(id);
WRITE_U32(banks.size());
for(auto& bank : banks){
writer->Write(bank);
}
WRITE_U32(size);
WRITE_ARRAY(buffer.data() + offset, size);