diff options
| author | Nicholas Estelami <NEstelami@users.noreply.github.com> | 2022-06-15 12:22:21 -0400 |
|---|---|---|
| committer | Nicholas Estelami <NEstelami@users.noreply.github.com> | 2022-06-16 20:35:52 -0400 |
| commit | aaa5e8c70e6bc42272d8b20e66cfde5c5daa3def (patch) | |
| tree | 38bcc37a4cecbe83c5f46ed9908bc04368345298 | |
| parent | cbd56dc44e095105dbc5aa64d159c3c42f0677e0 (diff) | |
Updated sequence file format and updated resource version to Rachael
| -rw-r--r-- | OTRExporter/AudioExporter.cpp | 15 | ||||
| -rw-r--r-- | OTRExporter/Exporter.cpp | 5 | ||||
| -rw-r--r-- | OTRExporter/Exporter.h | 3 |
3 files changed, 13 insertions, 10 deletions
diff --git a/OTRExporter/AudioExporter.cpp b/OTRExporter/AudioExporter.cpp index b15b276..ac3fa18 100644 --- a/OTRExporter/AudioExporter.cpp +++ b/OTRExporter/AudioExporter.cpp @@ -30,7 +30,7 @@ void OTRExporter_Audio::WriteSampleEntryReference(ZAudio* audio, SampleEntry* en void OTRExporter_Audio::WriteSampleEntry(SampleEntry* entry, BinaryWriter* writer) { - WriteHeader(nullptr, "", writer, Ship::ResourceType::AudioSample); + WriteHeader(nullptr, "", writer, Ship::ResourceType::AudioSample, Ship::Version::Rachael); writer->Write(entry->codec); writer->Write(entry->medium); @@ -82,7 +82,7 @@ void OTRExporter_Audio::Save(ZResource* res, const fs::path& outPath, BinaryWrit { ZAudio* audio = (ZAudio*)res; - WriteHeader(res, outPath, writer, Ship::ResourceType::Audio); + WriteHeader(res, outPath, writer, Ship::ResourceType::Audio, Ship::Version::Rachael); // Write Samples as individual files for (auto pair : audio->samples) @@ -115,7 +115,7 @@ void OTRExporter_Audio::Save(ZResource* res, const fs::path& outPath, BinaryWrit MemoryStream* fntStream = new MemoryStream(); BinaryWriter fntWriter = BinaryWriter(fntStream); - WriteHeader(nullptr, "", &fntWriter, Ship::ResourceType::AudioSoundFont); + WriteHeader(nullptr, "", &fntWriter, Ship::ResourceType::AudioSoundFont, Ship::Version::Rachael); fntWriter.Write((uint32_t)i); fntWriter.Write(audio->soundFontTable[i].medium); @@ -174,17 +174,18 @@ void OTRExporter_Audio::Save(ZResource* res, const fs::path& outPath, BinaryWrit MemoryStream* seqStream = new MemoryStream(); BinaryWriter seqWriter = BinaryWriter(seqStream); - seqWriter.Write((uint8_t)0); // Version 0 of format... + WriteHeader(nullptr, "", &seqWriter, Ship::ResourceType::AudioSequence, Ship::Version::Rachael); + + seqWriter.Write((uint32_t)seq.size()); + seqWriter.Write(seq.data(), seq.size()); seqWriter.Write((uint8_t)i); seqWriter.Write((uint8_t)audio->sequenceTable[i].medium); seqWriter.Write((uint8_t)audio->sequenceTable[i].cachePolicy); - seqWriter.Write((uint8_t)audio->fontIndices[i].size()); + seqWriter.Write((uint32_t)audio->fontIndices[i].size()); for (int k = 0; k < audio->fontIndices[i].size(); k++) seqWriter.Write((uint8_t)audio->fontIndices[i][k]); - seqWriter.Write(seq.data(), seq.size()); - std::string fName = OTRExporter_DisplayList::GetPathToRes(res, StringHelper::Sprintf("sequences/%s", audio->seqNames[i].c_str())); AddFile(fName, seqStream->ToVector()); } diff --git a/OTRExporter/Exporter.cpp b/OTRExporter/Exporter.cpp index 78c7ed3..b8b0612 100644 --- a/OTRExporter/Exporter.cpp +++ b/OTRExporter/Exporter.cpp @@ -1,7 +1,7 @@ #include "Exporter.h" #include "VersionInfo.h" -void OTRExporter::WriteHeader(ZResource* res, const fs::path& outPath, BinaryWriter* writer, Ship::ResourceType resType) +void OTRExporter::WriteHeader(ZResource* res, const fs::path& outPath, BinaryWriter* writer, Ship::ResourceType resType, Ship::Version resVersion) { writer->Write((uint8_t)Endianess::Little); // 0x00 writer->Write((uint8_t)0); // 0x01 @@ -9,7 +9,8 @@ void OTRExporter::WriteHeader(ZResource* res, const fs::path& outPath, BinaryWri writer->Write((uint8_t)0); // 0x03 writer->Write((uint32_t)resType); // 0x04 - writer->Write((uint32_t)MAJOR_VERSION); // 0x08 + //writer->Write((uint32_t)MAJOR_VERSION); // 0x08 + writer->Write((uint32_t)resVersion); // 0x08 writer->Write((uint64_t)0xDEADBEEFDEADBEEF); // id, 0x0C writer->Write((uint32_t)resourceVersions[resType]); // 0x10 writer->Write((uint64_t)0); // ROM CRC, 0x14 diff --git a/OTRExporter/Exporter.h b/OTRExporter/Exporter.h index 4568166..103617e 100644 --- a/OTRExporter/Exporter.h +++ b/OTRExporter/Exporter.h @@ -4,9 +4,10 @@ //#include "OTRExporter.h" #include <Utils/BinaryWriter.h> #include <Resource.h> +#include "VersionInfo.h" class OTRExporter : public ZResourceExporter { protected: - static void WriteHeader(ZResource* res, const fs::path& outPath, BinaryWriter* writer, Ship::ResourceType resType); + static void WriteHeader(ZResource* res, const fs::path& outPath, BinaryWriter* writer, Ship::ResourceType resType, Ship::Version resVersion = MAJOR_VERSION); };
\ No newline at end of file |
