22 #ifndef COMMON_CLICKTEAM_H 23 #define COMMON_CLICKTEAM_H 25 #include "common/archive.h" 26 #include "common/ptr.h" 27 #include "common/stream.h" 28 #include "common/hashmap.h" 29 #include "common/hash-str.h" 34 enum class ClickteamTagId : uint16 {
35 BANNER_IMAGE = 0x1235,
39 FILE_PATCHING_LIST = 0x1242,
44 ClickteamTag(uint16 tagId, byte *contents, uint32 size) : _tagId(tagId), _contents(contents), _size(size) {
69 struct ClickteamPatchDescriptor {
72 uint32 _patchDataOffset;
75 class ClickteamFileDescriptor {
80 uint32 _fileDataOffset;
82 uint32 _fileDescriptorOffset;
83 uint32 _compressedSize;
84 uint32 _uncompressedSize;
89 bool _isReferenceMissing;
93 ClickteamFileDescriptor(
const ClickteamTag& contentsTag, uint32 off);
97 ClickteamFileDescriptor() : _fileDataOffset(0), _fileDescriptorOffset(0), _compressedSize(0), _uncompressedSize(0) {}
104 DisposeAfterUse::Flag dispose)
105 : _files(files), _tags(tags), _crcXor(crcXor), _block3Offset(block3Offset), _stream(stream, dispose),
106 _reference(reference) {
110 uint32 crcXor,
bool doWarn);
114 uint32 _crcXor, _block3Offset;
const ArchiveMemberPtr getMember(const Common::Path &path) const override
Definition: clickteam.h:42
Definition: archive.h:141
Definition: noncopyable.h:39
int listMembers(Common::ArchiveMemberList &) const override
bool hasFile(const Common::Path &path) const override
#define SearchMan
Definition: archive.h:476
Definition: clickteam.h:32
Definition: algorithm.h:29
Definition: archive.h:224
Definition: archive.h:269