blob: 8b9ff056b8b3b49ed2d369fdce995fdc3819f135 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
#include <RezArchive.h>
#include <RezReadFile.h>
#include <rez.h>
#include <memory>
irr::io::IReadFile *RezArchive::createAndOpenFile(const irr::io::path &filename)
{
std::unique_ptr<rez::file> f = rez.open(filename.c_str());
if (!f)
return nullptr;
return new RezReadFile(std::move(f), filename);
}
irr::io::IReadFile *RezArchive::createAndOpenFile(irr::u32 index)
{
return nullptr;
}
const irr::io::IFileList *RezArchive::getFileList() const
{
return filelist.get();
}
irr::io::E_FILE_ARCHIVE_TYPE RezArchive::getType() const
{
return static_cast<irr::io::E_FILE_ARCHIVE_TYPE>
(MAKE_IRR_ID('r', 'e', 'z', 0));
}
int RezArchive::parse()
{
if (rez.parse())
return -1;
filelist = std::make_unique<RezFileList>(rez);
return 0;
}
RezArchive::RezArchive(const irr::io::path &filename) :
rez(filename.c_str())
{
}
|