1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- #pragma once
- #include "openmpt/all/BuildSettings.hpp"
- OPENMPT_NAMESPACE_BEGIN
- namespace UMX
- {
- struct FileHeader
- {
- char magic[4];
- uint16le packageVersion;
- uint16le licenseMode;
- uint32le flags;
- uint32le nameCount;
- uint32le nameOffset;
- uint32le exportCount;
- uint32le exportOffset;
- uint32le importCount;
- uint32le importOffset;
- bool IsValid() const;
- uint32 GetMinimumAdditionalFileSize() const;
- };
- MPT_BINARY_STRUCT(FileHeader, 36)
- CSoundFile::ProbeResult ProbeFileHeader(MemoryFileReader file, const uint64* pfilesize, const char *requiredType);
- int32 ReadIndex(FileReader &chunk);
- bool FindNameTableEntry(FileReader &file, const FileHeader &fileHeader, const char *name);
- bool FindNameTableEntryMemory(MemoryFileReader &file, const FileHeader &fileHeader, const char *name);
- std::string ReadNameTableEntry(FileReader &chunk, uint16 packageVersion);
- std::vector<std::string> ReadNameTable(FileReader &file, const FileHeader &fileHeader);
- std::vector<int32> ReadImportTable(FileReader &file, const FileHeader &fileHeader, const std::vector<std::string> &names);
- int32 ReadImportTableEntry(FileReader &chunk, uint16 packageVersion);
- std::pair<FileReader, int32> ReadExportTableEntry(FileReader &file, const FileHeader &fileHeader, const std::vector<int32> &classes, const std::vector<std::string> &names, const char *filterType);
- }
- OPENMPT_NAMESPACE_END
|