diff options
author | Nicola Mettifogo | 2007-08-11 13:07:21 +0000 |
---|---|---|
committer | Nicola Mettifogo | 2007-08-11 13:07:21 +0000 |
commit | 8c2ae45ab443ac4b9d3d21341fbb74b44858fd8f (patch) | |
tree | 662ffb2e86c5781225e78122700b5a638dcce9be /engines/parallaction/disk.h | |
parent | 2c6c654435d94b523ac458fc18ebce46fdce1c21 (diff) | |
download | scummvm-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.h | 29 |
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); |