aboutsummaryrefslogtreecommitdiff
path: root/engines/parallaction/disk.h
diff options
context:
space:
mode:
authorNicola Mettifogo2007-08-11 13:07:21 +0000
committerNicola Mettifogo2007-08-11 13:07:21 +0000
commit8c2ae45ab443ac4b9d3d21341fbb74b44858fd8f (patch)
tree662ffb2e86c5781225e78122700b5a638dcce9be /engines/parallaction/disk.h
parent2c6c654435d94b523ac458fc18ebce46fdce1c21 (diff)
downloadscummvm-rg350-8c2ae45ab443ac4b9d3d21341fbb74b44858fd8f.tar.gz
scummvm-rg350-8c2ae45ab443ac4b9d3d21341fbb74b44858fd8f.tar.bz2
scummvm-rg350-8c2ae45ab443ac4b9d3d21341fbb74b44858fd8f.zip
Overhaul of background/mask/path handling:
- added new BackgroundInfo structure - added helper functions to aid management of BackgroundInfo. Engine is now responsible for allocation/deallocation. - simplified loading and handling of background resources. svn-id: r28524
Diffstat (limited to 'engines/parallaction/disk.h')
-rw-r--r--engines/parallaction/disk.h29
1 files changed, 15 insertions, 14 deletions
diff --git a/engines/parallaction/disk.h b/engines/parallaction/disk.h
index d1bb404739..a52e9e1981 100644
--- a/engines/parallaction/disk.h
+++ b/engines/parallaction/disk.h
@@ -39,6 +39,7 @@ class Script;
class Font;
struct Cnv;
+struct BackgroundInfo;
class Disk {
@@ -58,8 +59,8 @@ public:
virtual Font* loadFont(const char* name) = 0;
virtual Graphics::Surface* loadStatic(const char* name) = 0;
virtual Cnv* loadFrames(const char* name) = 0;
- virtual void loadSlide(const char *filename) = 0;
- virtual void loadScenery(const char* background, const char* mask) = 0;
+ virtual BackgroundInfo* loadSlide(const char *filename) = 0;
+ virtual BackgroundInfo* loadScenery(const char* background, const char* mask, const char* path) = 0;
virtual Table* loadTable(const char* name) = 0;
virtual Common::SeekableReadStream* loadMusic(const char* name) = 0;
virtual Common::ReadStream* loadSound(const char* name) = 0;
@@ -128,10 +129,10 @@ private:
Cnv* loadExternalCnv(const char *filename);
Cnv* loadCnv(const char *filename);
Graphics::Surface *loadExternalStaticCnv(const char *filename);
- void loadBackground(const char *filename);
- void loadMaskAndPath(const char *name);
+ BackgroundInfo* loadBackground(const char *filename);
+ void loadMaskAndPath(const char *name, BackgroundInfo *info);
void parseDepths(Common::SeekableReadStream &stream);
- void parseBackground(Common::SeekableReadStream &stream);
+ void parseBackground(Common::SeekableReadStream &stream, BackgroundInfo *info);
Font *createFont(const char *name, Cnv* cnv);
protected:
@@ -150,8 +151,8 @@ public:
Font* loadFont(const char* name);
Graphics::Surface* loadStatic(const char* name);
Cnv* loadFrames(const char* name);
- void loadSlide(const char *filename);
- void loadScenery(const char* background, const char* mask);
+ BackgroundInfo* loadSlide(const char *filename);
+ BackgroundInfo* loadScenery(const char* background, const char* mask, const char* path);
Table* loadTable(const char* name);
Common::SeekableReadStream* loadMusic(const char* name);
Common::ReadStream* loadSound(const char* name);
@@ -167,9 +168,9 @@ protected:
void unpackBitmap(byte *dst, byte *src, uint16 numFrames, uint16 bytesPerPlane, uint16 height);
Common::SeekableReadStream *openArchivedFile(const char* name, bool errorOnFileNotFound = false);
Font *createFont(const char *name, Common::SeekableReadStream &stream);
- void loadMask(const char *name);
- void loadPath(const char *name);
- void loadBackground(const char *name);
+ void loadMask(const char *name, BackgroundInfo* info);
+ void loadPath(const char *name, BackgroundInfo* info);
+ BackgroundInfo* loadBackground(const char *name);
public:
AmigaDisk_ns(Parallaction *vm);
@@ -184,8 +185,8 @@ public:
Font* loadFont(const char* name);
Graphics::Surface* loadStatic(const char* name);
Cnv* loadFrames(const char* name);
- void loadSlide(const char *filename);
- void loadScenery(const char* background, const char* mask);
+ BackgroundInfo* loadSlide(const char *filename);
+ BackgroundInfo* loadScenery(const char* background, const char* mask, const char* path);
Table* loadTable(const char* name);
Common::SeekableReadStream* loadMusic(const char* name);
Common::ReadStream* loadSound(const char* name);
@@ -218,8 +219,8 @@ public:
Font* loadFont(const char* name);
Graphics::Surface* loadStatic(const char* name);
Cnv* loadFrames(const char* name);
- void loadSlide(const char *filename);
- void loadScenery(const char* background, const char* mask);
+ BackgroundInfo* loadSlide(const char *filename);
+ BackgroundInfo* loadScenery(const char* background, const char* mask, const char* path);
Table* loadTable(const char* name);
Common::SeekableReadStream* loadMusic(const char* name);
Common::ReadStream* loadSound(const char* name);