123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- //
- // Created by Иван_Архипов on 24.11.2017.
- //
- #include "Subfiles/WavSubFile.h"
- #include "BinaryData.h"
- #include "DatFile.h"
- #include "SubfileData.h"
- #include "EasyLogging++/easylogging++.h"
- namespace LOTRO_DAT {
- WavSubFile::WavSubFile(DatFile &dat, long long dictionary_offset, long long unknown1,
- long long file_id, long long file_offset, long long file_size,
- long long timestamp, long long version, long long block_size, long long unknown2)
- : SubFile(dat, dictionary_offset, unknown1, file_id, file_offset, file_size,
- timestamp, version, block_size, unknown2) {
- }
- FILE_TYPE WavSubFile::FileType() const {
- return WAV;
- }
- std::string WavSubFile::Extension() const {
- return ".wav";
- }
- SubfileData WavSubFile::PrepareForExport(const BinaryData &file_data) {
- if (file_data.Empty()) {
- return SubfileData();
- }
- SubfileData result;
- result.binary_data = file_data.CutData(8);
- result.options["fid"] = file_id();
- result.options["ext"] = Extension();
- return result;
- }
- BinaryData WavSubFile::MakeForImport(const BinaryData &old_data, const SubfileData &data) {
- if (!data.options["ext"] || data.options["ext"].as<std::string>() != Extension() ||
- !data.options["fid"] || data.options["fid"].as<long long>() != file_id()) {
- LOG(ERROR) << "invalid options data!";
- return BinaryData(0);
- }
- return old_data.CutData(0, 24) + data.binary_data;
- }
- };
|