From 4eba5032d817ea32e3f2f7be52826c2e40471852 Mon Sep 17 00:00:00 2001 From: Filippos Karapetis Date: Sun, 27 Apr 2014 21:14:26 +0300 Subject: MADS: Add initial support for V2 backgrounds and hotspots V2 games include Phantom and Dragonsphere. OUAF hasn't been tested yet --- engines/mads/scene_data.h | 35 +++++++++++++++++++++++++---------- 1 file changed, 25 insertions(+), 10 deletions(-) (limited to 'engines/mads/scene_data.h') 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 _palette; Common::Array _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; }; -- cgit v1.2.3