aboutsummaryrefslogtreecommitdiff
path: root/engines/parallaction/disk.h
diff options
context:
space:
mode:
authorNicola Mettifogo2009-04-29 16:59:10 +0000
committerNicola Mettifogo2009-04-29 16:59:10 +0000
commit3607c637587c6b9e2442bc668fc4c8c9459c0168 (patch)
tree0c3d48850acf9b0ee8e46e7f0f0d47df8d97bd11 /engines/parallaction/disk.h
parent4688811024992e6370a1e4995301329b33da08ad (diff)
downloadscummvm-rg350-3607c637587c6b9e2442bc668fc4c8c9459c0168.tar.gz
scummvm-rg350-3607c637587c6b9e2442bc668fc4c8c9459c0168.tar.bz2
scummvm-rg350-3607c637587c6b9e2442bc668fc4c8c9459c0168.zip
Refactoring.
svn-id: r40210
Diffstat (limited to 'engines/parallaction/disk.h')
-rw-r--r--engines/parallaction/disk.h17
1 files changed, 10 insertions, 7 deletions
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);