// // EuropaTools // // (C) 2021-2022 modeco80 // // SPDX-License-Identifier: LGPL-3.0-or-later // #ifndef EUROPA_IO_YATFREADER_H #define EUROPA_IO_YATFREADER_H #include #include #include namespace europa::io { /** * Reader for PS2 Europa .tex files. */ struct YatfReader { explicit YatfReader(std::istream& is); void Init(std::istream& is); void ReadImage(); pixel::RgbaImage& GetImage(); const structs::YatfHeader& GetHeader() const; [[nodiscard]] bool Invalid() const { return invalid; } private: std::istream& stream; bool invalid {false}; structs::YatfHeader header; /** * converted image. */ pixel::RgbaImage image; }; } #endif // EUROPA_IO_YATFREADER_H