From 3607c637587c6b9e2442bc668fc4c8c9459c0168 Mon Sep 17 00:00:00 2001 From: Nicola Mettifogo Date: Wed, 29 Apr 2009 16:59:10 +0000 Subject: Refactoring. svn-id: r40210 --- engines/parallaction/disk.h | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) (limited to 'engines/parallaction/disk.h') diff --git a/engines/parallaction/disk.h b/engines/parallaction/disk.h index 4faa9e666c..4cc2711e96 100644 --- a/engines/parallaction/disk.h +++ b/engines/parallaction/disk.h @@ -97,12 +97,18 @@ protected: void addArchive(const Common::String& name, int priority); + virtual void decodeCnv(byte *data, uint16 numFrames, uint16 width, uint16 height, Common::SeekableReadStream *stream) = 0; + Cnv *makeCnv(Common::SeekableReadStream *stream); + public: Disk_ns(Parallaction *vm); virtual ~Disk_ns(); Common::String selectArchive(const Common::String &name); void setLanguage(uint16 language); + + virtual Script* loadLocation(const char *name); + virtual Script* loadScript(const char* name); }; class DosDisk_ns : public Disk_ns { @@ -111,14 +117,14 @@ private: void unpackBackground(Common::ReadStream *stream, byte *screen, byte *mask, byte *path); Cnv* loadCnv(const char *filename); void loadBackground(BackgroundInfo& info, const char *filename); - void loadMaskAndPath(BackgroundInfo& info, const char *name); + void createMaskAndPathBuffers(BackgroundInfo &info); void parseDepths(BackgroundInfo &info, Common::SeekableReadStream &stream); - void parseBackground(BackgroundInfo& info, Common::SeekableReadStream &stream); Font *createFont(const char *name, Cnv* cnv); protected: Gfx *_gfx; virtual Common::SeekableReadStream *tryOpenFile(const char* name); + virtual void decodeCnv(byte *data, uint16 numFrames, uint16 width, uint16 height, Common::SeekableReadStream *stream); public: DosDisk_ns(Parallaction *vm); @@ -126,8 +132,6 @@ public: void init(); - Script* loadLocation(const char *name); - Script* loadScript(const char* name); GfxObj* loadTalk(const char *name); GfxObj* loadObjects(const char *name, uint8 part = 0); Frames* loadPointer(const char *name); @@ -145,7 +149,6 @@ public: class AmigaDisk_ns : public Disk_ns { protected: - Cnv* makeCnv(Common::SeekableReadStream *stream); void patchFrame(byte *dst, byte *dlta, uint16 bytesPerPlane, uint16 height); void unpackFrame(byte *dst, byte *src, uint16 planeSize); void unpackBitmap(byte *dst, byte *src, uint16 numFrames, uint16 bytesPerPlane, uint16 height); @@ -156,14 +159,14 @@ protected: void loadBackground(BackgroundInfo& info, const char *name); void buildMask(byte* buf); + virtual void decodeCnv(byte *data, uint16 numFrames, uint16 width, uint16 height, Common::SeekableReadStream *stream); + public: AmigaDisk_ns(Parallaction *vm); virtual ~AmigaDisk_ns(); void init(); - Script* loadLocation(const char *name); - Script* loadScript(const char* name); GfxObj* loadTalk(const char *name); GfxObj* loadObjects(const char *name, uint8 part = 0); Frames* loadPointer(const char *name); -- cgit v1.2.3