EuropaTools/include/europa/io/yatf/Reader.hpp
modeco80 7fa3d8a14d libeuropa: Manual revert of 69a7b0e45e
While it's definitely something that should be explored later on when libeuropa is a larger library, and has C ABI wrappers to better foster bindings between other languages like Rust and such, for now, libeuropa is both pretty entertwined with both the C++ standard library and STL, and still in heavy development, so I think doing this isn't a good move.
2025-01-19 02:08:43 -05:00

34 lines
713 B
C++

//
// EuropaTools
//
// (C) 2021-2025 modeco80 <lily.modeco80@protonmail.ch>
//
// SPDX-License-Identifier: MIT
//
#ifndef EUROPA_IO_YATFREADER_H
#define EUROPA_IO_YATFREADER_H
#include <europa/structs/Yatf.hpp>
#include <iosfwd>
namespace europa::util {
struct ImageSurface;
}
namespace europa::io::yatf {
/// Reader for PS2 Europa .tex (YATF - Yet Another Texture Format) files.
struct Reader {
explicit Reader(std::istream& is);
/// Read image. The image output to [surface] is converted to RGBA8888 implicitly.
bool ReadImage(structs::YatfHeader& header, util::ImageSurface& surface);
private:
std::istream& stream;
};
} // namespace europa::io::yatf
#endif // EUROPA_IO_YATFREADER_H