quake-tools/source/quam/pak.h

36 lines
625 B
C
Raw Normal View History

2019-09-27 00:09:09 -07:00
#pragma once
#include <QTableWidget>
namespace Pak {
enum PakColumn {
ColumnId,
ColumnSize,
ColumnName,
};
}
2019-09-27 23:09:51 -07:00
struct PakNode;
2019-09-28 01:17:55 -07:00
struct PakDir : public std::map<std::string, PakNode> {
using std::map<std::string, PakNode>::map;
2019-09-27 23:09:51 -07:00
};
2019-09-28 01:17:55 -07:00
Q_DECLARE_METATYPE(PakDir)
2019-09-27 23:09:51 -07:00
struct PakFile : public QByteArray {
using QByteArray::QByteArray;
quint32 id{0};
2019-09-27 23:09:51 -07:00
};
2019-09-28 01:17:55 -07:00
Q_DECLARE_METATYPE(PakFile)
2019-09-27 23:09:51 -07:00
struct PakNode : public std::variant<PakDir, PakFile> {
using std::variant<PakDir, PakFile>::variant;
2019-09-27 00:09:09 -07:00
};
2019-09-28 01:17:55 -07:00
Q_DECLARE_METATYPE(PakNode)
2019-09-27 00:09:09 -07:00
2019-09-27 23:09:51 -07:00
PakDir readPak(std::istream &st);
void setTableToPakDir(QTableWidget &table, PakDir const &dir);
2019-09-27 00:09:09 -07:00
// EOF