aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorEugene Sandulenko2014-05-02 12:40:06 +0300
committerEugene Sandulenko2014-05-02 12:40:06 +0300
commite714dea7c773645cbb0e2aeaf1dd260888391806 (patch)
tree5bb9334d4b5b4b0fefeec1cf2856c4e8d1639d9b /engines
parentb5385f600341b9dab3ae9322da9b4b7182f52292 (diff)
downloadscummvm-rg350-e714dea7c773645cbb0e2aeaf1dd260888391806.tar.gz
scummvm-rg350-e714dea7c773645cbb0e2aeaf1dd260888391806.tar.bz2
scummvm-rg350-e714dea7c773645cbb0e2aeaf1dd260888391806.zip
FULLPIPE: Implement Statics::init()
Diffstat (limited to 'engines')
-rw-r--r--engines/fullpipe/gfx.h2
-rw-r--r--engines/fullpipe/statics.cpp13
-rw-r--r--engines/fullpipe/statics.h1
3 files changed, 15 insertions, 1 deletions
diff --git a/engines/fullpipe/gfx.h b/engines/fullpipe/gfx.h
index 714247e1bd..191df7709a 100644
--- a/engines/fullpipe/gfx.h
+++ b/engines/fullpipe/gfx.h
@@ -92,7 +92,7 @@ class Picture : public MemoryObject {
virtual bool load(MfcArchive &file);
void setAOIDs();
- void init();
+ virtual void init();
void getDibInfo();
Bitmap *getPixelData();
virtual void draw(int x, int y, int style, int angle);
diff --git a/engines/fullpipe/statics.cpp b/engines/fullpipe/statics.cpp
index 03cbc8ecd5..e31267fda9 100644
--- a/engines/fullpipe/statics.cpp
+++ b/engines/fullpipe/statics.cpp
@@ -1440,6 +1440,19 @@ bool Statics::load(MfcArchive &file) {
return true;
}
+void Statics::init() {
+ Picture::init();
+
+ if (_staticsId & 0x4000) {
+ Bitmap *bmp = _bitmap->reverseImage();
+
+ freePixelData();
+
+ _bitmap = bmp;
+ _data = bmp->_pixels;
+ }
+}
+
Common::Point *Statics::getSomeXY(Common::Point &p) {
p.x = _someX;
p.y = _someY;
diff --git a/engines/fullpipe/statics.h b/engines/fullpipe/statics.h
index be88b4ec2d..63661157b2 100644
--- a/engines/fullpipe/statics.h
+++ b/engines/fullpipe/statics.h
@@ -98,6 +98,7 @@ class Statics : public DynamicPhase {
virtual ~Statics();
virtual bool load(MfcArchive &file);
+ virtual void init();
Statics *getStaticsById(int itemId);
Common::Point *getSomeXY(Common::Point &p);