whiteoutlib 0.1.2

Read and write Blizzard game assets from Rust: models (MDX, M2, M3), textures (BLP, DDS, PNG, JPEG, BMP, TGA, TIFF, GIF) and archives (CASC, MPQ).
Documentation
// SPDX-License-Identifier: BSD-3-Clause
// Copyright (c) 2026 Fernando Sahmkow

#pragma once

#include <whiteout/common_types.h>
#include <whiteout/textures/texture.h>
#include "../compatibility.h"

namespace whiteout::textures {

class Parser {
public:
    virtual ~Parser() = default;

    virtual std::optional<Texture> parse(std::span<const u8> buffer) = 0;
    virtual std::optional<Texture> parse(const std::string& filePath) = 0;
};

} // namespace whiteout::textures