#include "tlevel_io.h" #include "tfile.h" #include #ifdef DOPO_LO_FACCIAMO class TImageReaderWriterZCC; struct C { C() : m_offset(0), m_size(0), m_lx(0), m_ly(0) {} C(TINT64 offset, long size, int lx, int ly) : m_offset(offset), m_size(size), m_lx(lx), m_ly(ly) { } TINT64 m_offset; long m_size; int m_lx; int m_ly; }; class TLevelReaderWriterZCC : public TLevelReaderWriter { friend class TImageReaderWriterZCC; TFile m_file; TFile m_indexFile; bool m_initDone; ULONG m_blockSize; std::map m_map; public: TLevelReaderWriterZCC(const TFilePath &path, TReaderWriterInfo *winfo); ~TLevelReaderWriterZCC(); TImageReaderWriterP getFrameReaderWriter(TFrameId fid); static TLevelReaderWriter *create(const TFilePath &f, TReaderWriterInfo *winfo) { return new TLevelReaderWriterZCC(f, winfo); }; TLevelP loadInfo(); void saveSoundTrack(TSoundTrack *st); }; //------------------------------------------------------------------------------ class TReaderWriterInfoZCC : public TReaderWriterInfo { public: friend TLevelReaderWriterZCC; public: static TReaderWriterInfo *create(const string &ext); ~TReaderWriterInfoZCC(); TReaderWriterInfo *clone() const; private: TReaderWriterInfoZCC(); TReaderWriterInfoZCC(const TReaderWriterInfoZCC &); TReaderWriterInfoZCC &operator=(const TReaderWriterInfoZCC &); // not implemented }; #endif