aboutsummaryrefslogtreecommitdiff
path: root/engines/mads/scene_data.h
diff options
context:
space:
mode:
authorFilippos Karapetis2014-04-27 21:14:26 +0300
committerFilippos Karapetis2014-04-27 21:20:02 +0300
commit4eba5032d817ea32e3f2f7be52826c2e40471852 (patch)
tree9d80015ef162f2f994dc0da1b84c2fa3ace8de74 /engines/mads/scene_data.h
parent76950bf0ac210ecc31e798ce34de9a3f010371b2 (diff)
downloadscummvm-rg350-4eba5032d817ea32e3f2f7be52826c2e40471852.tar.gz
scummvm-rg350-4eba5032d817ea32e3f2f7be52826c2e40471852.tar.bz2
scummvm-rg350-4eba5032d817ea32e3f2f7be52826c2e40471852.zip
MADS: Add initial support for V2 backgrounds and hotspots
V2 games include Phantom and Dragonsphere. OUAF hasn't been tested yet
Diffstat (limited to 'engines/mads/scene_data.h')
-rw-r--r--engines/mads/scene_data.h35
1 files changed, 25 insertions, 10 deletions
diff --git a/engines/mads/scene_data.h b/engines/mads/scene_data.h
index d59d746706..9b1825f4b7 100644
--- a/engines/mads/scene_data.h
+++ b/engines/mads/scene_data.h
@@ -125,7 +125,7 @@ struct ARTHeader {
Common::Array<RGB6> _palette;
Common::Array<PaletteCycle> _paletteCycles;
- void load(Common::SeekableReadStream *f);
+ void load(Common::SeekableReadStream *f, bool isV2);
};
/**
@@ -177,23 +177,38 @@ public:
static SceneInfo *init(MADSEngine *vm);
/**
- loads the data
+ * loads the data
*/
void load(int sceneId, int variant, const Common::String &resName, int flags,
MSurface &depthSurface, MSurface &bgSurface);
/**
- * Loads the given surface with depth information of a given scene
- * @param depthSurface Depth/walk surface
- * @param variant Variant number to load
- */
+ * Loads the palette for a scene
+ */
+ void loadPalette(int sceneId, int artFileNum, const Common::String &resName, int flags, MSurface &bgSurface);
+
+ /**
+ * Loads a V1 game background
+ */
+ void loadMadsV1Background(int sceneId, const Common::String &resName, int flags, MSurface &bgSurface);
+
+ /**
+ * Loads a V2 game background
+ */
+ void loadMadsV2Background(int sceneId, const Common::String &resName, int flags, MSurface &bgSurface);
+
+ /**
+ * Loads the given surface with depth information of a given scene
+ * @param depthSurface Depth/walk surface
+ * @param variant Variant number to load
+ */
virtual void loadCodes(MSurface &depthSurface, int variant) = 0;
/**
- * Loads the given surface with depth information of a given scene
- * @param depthSurface Depth/walk surface
- * @param stream Stream to load the data from
- */
+ * Loads the given surface with depth information of a given scene
+ * @param depthSurface Depth/walk surface
+ * @param stream Stream to load the data from
+ */
virtual void loadCodes(MSurface &depthSurface, Common::SeekableReadStream *stream) = 0;
};