XPlor/libs/zonefile/zonefile.h

54 lines
1.2 KiB
C
Raw Normal View History

2025-02-08 19:58:54 -05:00
#ifndef ZONEFILE_H
#define ZONEFILE_H
2025-07-10 00:05:44 -04:00
#include "assetmap.h"
#include "utils.h"
2025-02-08 19:58:54 -05:00
#include <QStringList>
2025-07-10 00:05:44 -04:00
#include <QIcon>
2025-02-08 19:58:54 -05:00
class ZoneFile
{
public:
ZoneFile();
~ZoneFile();
ZoneFile(const ZoneFile &aZoneFile);
ZoneFile &operator=(const ZoneFile &other);
2025-05-03 09:57:47 -04:00
virtual bool Load(const QByteArray aFileData) = 0;
2025-07-10 00:05:44 -04:00
virtual Utils::AssetType AssetStrToEnum(const QString aAssetType) = 0;
virtual QByteArray GetBinaryData() {
return {};
}
2025-04-04 20:40:45 -04:00
2025-02-19 19:17:31 -05:00
QString GetStem();
QString GetBaseStem();
2025-02-08 19:58:54 -05:00
quint32 GetSize();
quint32 GetTagCount();
QStringList GetTags();
quint32 GetRecordCount();
QStringList GetRecords();
AssetMap GetAssetMap();
2025-02-19 19:17:31 -05:00
void SetStem(const QString aStem);
void SetSize(quint32 aSize);
void SetTagCount(quint32 aTagCount);
void SetTags(const QStringList aTags);
void SetRecordCount(quint32 aRecordCount);
void SetRecords(const QStringList aRecords);
void SetAssetMap(const AssetMap aAssetMap);
2025-02-08 19:58:54 -05:00
private:
2025-02-19 19:17:31 -05:00
QString mStem;
quint32 mSize;
quint32 mTagCount;
QStringList mTags;
quint32 mRecordCount;
QStringList mRecords;
AssetMap mAssetMap;
QString mPlatform;
QString mGame;
2025-02-08 19:58:54 -05:00
};
#endif // ZONEFILE_H