22#ifndef COMMON_CLICKTEAM_H
23#define COMMON_CLICKTEAM_H
25#include "common/archive.h"
27#include "common/ptr.h"
28#include "common/stream.h"
29#include "common/hashmap.h"
30#include "common/hash-str.h"
35 enum class ClickteamTagId : uint16 {
36 BANNER_IMAGE = 0x1235,
40 FILE_PATCHING_LIST = 0x1242,
45 ClickteamTag(uint16 tagId,
byte *contents, uint32 size) : _tagId(tagId), _contents(contents), _size(size) {
71 struct ClickteamPatchDescriptor {
74 uint32 _patchDataOffset;
77 class ClickteamFileDescriptor {
82 uint32 _fileDataOffset;
84 uint32 _fileDescriptorOffset;
85 uint32 _compressedSize;
86 uint32 _uncompressedSize;
91 bool _isReferenceMissing;
95 ClickteamFileDescriptor(
const ClickteamTag& contentsTag, uint32 off);
99 ClickteamFileDescriptor() : _fileDataOffset(0), _fileDescriptorOffset(0), _compressedSize(0), _uncompressedSize(0) {}
106 DisposeAfterUse::Flag dispose)
107 : _files(files), _tags(tags), _crcXor(crcXor), _block3Offset(block3Offset), _stream(stream, dispose),
108 _reference(reference) {
112 uint32 crcXor,
bool doWarn);
116 uint32 _crcXor, _block3Offset;
Definition: archive.h:141
Definition: clickteam.h:43
Definition: clickteam.h:33
bool hasFile(const Common::Path &path) const override
int listMembers(Common::ArchiveMemberList &) const override
const ArchiveMemberPtr getMember(const Common::Path &path) const override
Definition: archive.h:287
Definition: noncopyable.h:39
Definition: archive.h:242
#define SearchMan
Definition: archive.h:498
Definition: algorithm.h:29