aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
Diffstat (limited to 'engines')
-rw-r--r--engines/hdb/draw-manager.cpp23
-rw-r--r--engines/hdb/draw-manager.h1
2 files changed, 24 insertions, 0 deletions
diff --git a/engines/hdb/draw-manager.cpp b/engines/hdb/draw-manager.cpp
index b39d338484..eebb7c81d7 100644
--- a/engines/hdb/draw-manager.cpp
+++ b/engines/hdb/draw-manager.cpp
@@ -132,6 +132,29 @@ int DrawMan::isSky(int index) {
return 0;
}
+void DrawMan::setSky(int skyIndex) {
+ int tileIndex = _skyTiles[skyIndex - 1];
+ _currentSky = skyIndex;
+
+ // Clear memory used by last sky
+ if (tileIndex != _tileSkyClouds && _skyClouds) {
+ delete _skyClouds;
+ _skyClouds = NULL;
+ }
+
+ // Setup current sky
+ if (tileIndex == _tileSkyStars) {
+ warning("STUB: DRAWMAN::setSky: Setup3DStars");
+ return;
+ } else if (skyIndex == _tileSkyStarsLeft) {
+ warning("STUB: DRAWMAN::setSky: Setup3DStarsLeft");
+ return;
+ } else if (skyIndex == _tileSkyStars) {
+ warning("STUB: DRAWMAN::setSky: getPicture( CLOUDY_SKIES )");
+ return;
+ }
+}
+
Picture::~Picture() {
_surface.free();
}
diff --git a/engines/hdb/draw-manager.h b/engines/hdb/draw-manager.h
index 3db0542856..4a139123fd 100644
--- a/engines/hdb/draw-manager.h
+++ b/engines/hdb/draw-manager.h
@@ -53,6 +53,7 @@ public:
int getTileIndex(const char *name);
Picture *getPicture(const char *name);
int isSky(int skyIndex);
+ void setSky(int skyIndex);
private:
int _numTiles;