2
0
mirror of https://github.com/Laupetin/OpenAssetTools.git synced 2025-12-02 01:07:47 +00:00

t6 alias dumping stuff

This commit is contained in:
Jan
2021-04-11 09:04:58 +02:00
parent 315790b638
commit 4e8d1806cc
7 changed files with 128 additions and 35 deletions

View File

@@ -11,6 +11,18 @@
#include "Utils/ObjStream.h"
#include "Zone/Zone.h"
class SoundBankEntryInputStream
{
public:
std::unique_ptr<std::istream> m_stream;
SoundAssetBankEntry m_entry;
SoundBankEntryInputStream();
SoundBankEntryInputStream(std::unique_ptr<std::istream> stream, SoundAssetBankEntry entry);
_NODISCARD bool IsOpen() const;
};
class SoundBank final : public ObjContainerReferenceable
{
static constexpr uint32_t MAGIC = FileUtils::MakeMagic32('2', 'U', 'X', '#');
@@ -21,10 +33,10 @@ class SoundBank final : public ObjContainerReferenceable
int64_t m_file_size;
bool m_initialized;
SndAssetBankHeader m_header;
SoundAssetBankHeader m_header;
std::vector<std::string> m_dependencies;
std::vector<SndAssetBankEntry> m_entries;
std::vector<SndAssetBankChecksum> m_checksums;
std::vector<SoundAssetBankEntry> m_entries;
std::vector<SoundAssetBankChecksum> m_checksums;
std::unordered_map<unsigned int, size_t> m_entries_by_id;
bool ReadHeader();
@@ -37,6 +49,7 @@ public:
static std::string GetFileNameForDefinition(bool streamed, const char* zone, const char* language);
SoundBank(std::string fileName, std::unique_ptr<std::istream> stream, int64_t fileSize);
~SoundBank() override = default;
SoundBank(const SoundBank& other) = delete;
SoundBank(SoundBank&& other) noexcept = default;
SoundBank& operator=(const SoundBank& other) = delete;
@@ -47,6 +60,6 @@ public:
bool Initialize();
_NODISCARD const std::vector<std::string>& GetDependencies() const;
_NODISCARD bool VerifyChecksum(const SndAssetBankChecksum& checksum) const;
_NODISCARD SearchPathOpenFile GetEntryStream(unsigned int id) const;
_NODISCARD bool VerifyChecksum(const SoundAssetBankChecksum& checksum) const;
_NODISCARD SoundBankEntryInputStream GetEntryStream(unsigned int id) const;
};