2022-02-17 23:37:54 -08:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include "CInputStream.hpp"
|
|
|
|
|
|
|
|
#include <memory>
|
|
|
|
|
|
|
|
#include <zlib.h>
|
2022-02-24 23:45:25 -08:00
|
|
|
|
2022-02-17 23:37:54 -08:00
|
|
|
namespace metaforce {
|
2022-03-22 01:37:10 -07:00
|
|
|
class CZipInputStream final : public CInputStream {
|
2022-02-17 23:37:54 -08:00
|
|
|
std::unique_ptr<u8[]> x24_compBuf;
|
|
|
|
std::unique_ptr<CInputStream> x28_strm;
|
|
|
|
std::unique_ptr<z_stream> x30_zstrm = {};
|
|
|
|
|
2022-03-22 01:37:10 -07:00
|
|
|
u32 Read(void* ptr, u32 len) override;
|
2022-02-17 23:37:54 -08:00
|
|
|
public:
|
|
|
|
explicit CZipInputStream(std::unique_ptr<CInputStream>&& strm);
|
|
|
|
~CZipInputStream() override;
|
|
|
|
|
|
|
|
};
|
2022-02-24 23:45:25 -08:00
|
|
|
} // namespace metaforce
|