5#include "../PackFile.h"
16 [[nodiscard]]
static std::unique_ptr<PackFile>
open(
const std::string& path,
const EntryCallback& callback =
nullptr);
18 static constexpr inline std::string_view
GUID =
"A682CF9BCA0A4980A920B5C00C8E0945";
20 [[nodiscard]]
constexpr std::string_view
getGUID()
const override {
24 [[nodiscard]] std::optional<std::vector<std::byte>>
readEntry(
const std::string& path_)
const override;
#define VPKPP_REGISTER_PACKFILE_OPEN(extension, function)
PackFileReadOnly(const std::string &fullFilePath_)
EntryCallbackBase< void > EntryCallback
Attribute getSupportedEntryAttributes() const override
Returns a list of supported entry attributes Mostly for GUI programs that show entries and their meta...
static std::unique_ptr< PackFile > open(const std::string &path, const EntryCallback &callback=nullptr)
Open an XZP file.
static constexpr std::string_view GUID
constexpr std::string_view getGUID() const override
Get the GUID corresponding to the pack file type.
std::optional< std::vector< std::byte > > readEntry(const std::string &path_) const override
Try to read the entry's data to a bytebuffer.
consteval uint32_t makeFourCC(const char fourCC[4])
Creates a FourCC identifier from a string of 4 characters.
constexpr std::string_view XZP_EXTENSION
constexpr auto XZP_HEADER_SIGNATURE
constexpr auto XZP_FOOTER_SIGNATURE