diff options
author | Bastien Bouclet | 2010-12-14 19:11:16 +0000 |
---|---|---|
committer | Bastien Bouclet | 2010-12-14 19:11:16 +0000 |
commit | d4ce60336166f2a18632e4bb3fe54d5bdff59651 (patch) | |
tree | a2f75bc39cc74313767af3222ec646a79513fe76 /engines/mohawk/graphics.h | |
parent | c2e48f5c085b9ae4ddeb2e6be21071fe4d1cc8bb (diff) | |
download | scummvm-rg350-d4ce60336166f2a18632e4bb3fe54d5bdff59651.tar.gz scummvm-rg350-d4ce60336166f2a18632e4bb3fe54d5bdff59651.tar.bz2 scummvm-rg350-d4ce60336166f2a18632e4bb3fe54d5bdff59651.zip |
MOHAWK: Rework Myst GFX updates
- Initial card state is drawn to the back buffer
- Script driven updates are drawn to the front buffer
Allows opcode 28 (copy back buffer to screen) and opcodes 29/33 (copy image to screen / back buffer) to work properly.
Fixes among others the generator room lights, and the matchbox.
svn-id: r54907
Diffstat (limited to 'engines/mohawk/graphics.h')
-rw-r--r-- | engines/mohawk/graphics.h | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/engines/mohawk/graphics.h b/engines/mohawk/graphics.h index f027f98d9f..873873ccda 100644 --- a/engines/mohawk/graphics.h +++ b/engines/mohawk/graphics.h @@ -111,8 +111,10 @@ public: void loadExternalPictureFile(uint16 stack); void copyImageSectionToScreen(uint16 image, Common::Rect src, Common::Rect dest); + void copyImageSectionToBackBuffer(uint16 image, Common::Rect src, Common::Rect dest); void copyImageToScreen(uint16 image, Common::Rect dest); - void updateScreen(); + void copyImageToBackBuffer(uint16 image, Common::Rect dest); + void copyBackBufferToScreen(const Common::Rect &r); void runTransition(uint16 type, Common::Rect rect, uint16 steps, uint16 delay); void drawRect(Common::Rect rect, RectState state); void drawLine(const Common::Point &p1, const Common::Point &p2, uint32 color); @@ -141,8 +143,7 @@ private: Common::File picFile; } _pictureFile; - Graphics::Surface *_mainScreen; - Common::Array<Common::Rect> _dirtyRects; + Graphics::Surface *_backBuffer; Graphics::PixelFormat _pixelFormat; }; |