diff options
author | Eugene Sandulenko | 2014-05-02 12:40:06 +0300 |
---|---|---|
committer | Eugene Sandulenko | 2014-05-02 12:40:06 +0300 |
commit | e714dea7c773645cbb0e2aeaf1dd260888391806 (patch) | |
tree | 5bb9334d4b5b4b0fefeec1cf2856c4e8d1639d9b /engines | |
parent | b5385f600341b9dab3ae9322da9b4b7182f52292 (diff) | |
download | scummvm-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.h | 2 | ||||
-rw-r--r-- | engines/fullpipe/statics.cpp | 13 | ||||
-rw-r--r-- | engines/fullpipe/statics.h | 1 |
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); |