diff options
author | Paul Gilbert | 2014-08-09 22:24:35 -0400 |
---|---|---|
committer | Paul Gilbert | 2014-08-09 22:24:35 -0400 |
commit | 9d590687e99cfee4b20dce5224edd78b33d61fd5 (patch) | |
tree | 9b6e1f8494f2ce64c96a2414f2bbd31b0fdfc5f9 | |
parent | c1613178c3c89d6a088814eeeeffc6935852140f (diff) | |
download | scummvm-rg350-9d590687e99cfee4b20dce5224edd78b33d61fd5.tar.gz scummvm-rg350-9d590687e99cfee4b20dce5224edd78b33d61fd5.tar.bz2 scummvm-rg350-9d590687e99cfee4b20dce5224edd78b33d61fd5.zip |
ACCESS: Implemented roomMenu
-rw-r--r-- | engines/access/access.h | 2 | ||||
-rw-r--r-- | engines/access/amazon/amazon_game.cpp | 2 | ||||
-rw-r--r-- | engines/access/amazon/amazon_room.cpp | 15 | ||||
-rw-r--r-- | engines/access/amazon/amazon_room.h | 3 | ||||
-rw-r--r-- | engines/access/screen.cpp | 22 | ||||
-rw-r--r-- | engines/access/screen.h | 4 |
6 files changed, 38 insertions, 10 deletions
diff --git a/engines/access/access.h b/engines/access/access.h index 99bc201b07..e6a3f332c6 100644 --- a/engines/access/access.h +++ b/engines/access/access.h @@ -113,7 +113,7 @@ public: Scripts *_scripts; SoundManager *_sound; - byte *_destIn; + ASurface *_destIn; ASurface _buffer1; ASurface _buffer2; byte *_objectsTable[100]; diff --git a/engines/access/amazon/amazon_game.cpp b/engines/access/amazon/amazon_game.cpp index 9c516168de..d1ba0e0258 100644 --- a/engines/access/amazon/amazon_game.cpp +++ b/engines/access/amazon/amazon_game.cpp @@ -109,7 +109,7 @@ void AmazonEngine::doIntroduction() { void AmazonEngine::doTitle() { _screen->setDisplayScan(); - _destIn = (byte *)_buffer2.getPixels(); + _destIn = &_buffer2; _screen->forceFadeOut(); _events->hideCursor(); diff --git a/engines/access/amazon/amazon_room.cpp b/engines/access/amazon/amazon_room.cpp index df2a6b759d..565b1ccada 100644 --- a/engines/access/amazon/amazon_room.cpp +++ b/engines/access/amazon/amazon_room.cpp @@ -31,6 +31,10 @@ namespace Amazon { AmazonRoom::AmazonRoom(AccessEngine *vm): Room(vm) { _antOutFlag = false; + _icon = nullptr; +} + +AmazonRoom::~AmazonRoom() { } void AmazonRoom::loadRoom(int roomNumber) { @@ -118,7 +122,16 @@ void AmazonRoom::roomSet() { } void AmazonRoom::roomMenu() { - // TODO + _icon = _vm->_files->loadFile("ICONS.LZ"); + _vm->_screen->saveScreen(); + _vm->_screen->setDisplayScan(); + _vm->_destIn = _vm->_screen; + _vm->_screen->plotImage(_icon, 0, Common::Point(0, 177)); + _vm->_screen->plotImage(_icon, 1, Common::Point(143, 177)); + + _vm->_screen->restoreScan(); + delete[] _icon; + _icon = nullptr; } } // End of namespace Amazon diff --git a/engines/access/amazon/amazon_room.h b/engines/access/amazon/amazon_room.h index 006aef54f6..546ea9698a 100644 --- a/engines/access/amazon/amazon_room.h +++ b/engines/access/amazon/amazon_room.h @@ -35,6 +35,7 @@ namespace Amazon { class AmazonRoom : public Room { private: bool _antOutFlag; + const byte *_icon; void roomSet(); @@ -47,6 +48,8 @@ protected: virtual void reloadRoom1(); public: AmazonRoom(AccessEngine *vm); + + virtual ~AmazonRoom(); }; } // End of namespace Amazon diff --git a/engines/access/screen.cpp b/engines/access/screen.cpp index 45379b6a51..6a241d0c2b 100644 --- a/engines/access/screen.cpp +++ b/engines/access/screen.cpp @@ -200,31 +200,35 @@ bool Screen::clip(Common::Rect &r) { } void Screen::checkScroll() { - // TODO + warning("TODO"); } void Screen::copyBF1BF2() { - // TODO + warning("TODO"); } void Screen::copyBF2Vid() { - // TODO + warning("TODO"); } void Screen::plotList() { - // TODO + warning("TODO: plotList"); } void Screen::copyBlocks() { - // TODO + warning("TODO: copyBlocks"); } void Screen::copyRects() { - // TODO + warning("TODO: copyRects"); } void Screen::setBufferScan() { - // TODO + warning("TODO: setBufferScan"); +} + +void Screen::restoreScan() { + warning("TODO: restoreScan"); } void Screen::setScaleTable(int scale) { @@ -236,4 +240,8 @@ void Screen::setScaleTable(int scale) { } } +void Screen::saveScreen() { + warning("TODO: saveScreen"); +} + } // End of namespace Access diff --git a/engines/access/screen.h b/engines/access/screen.h index 69a28bdce1..a2eac29312 100644 --- a/engines/access/screen.h +++ b/engines/access/screen.h @@ -70,6 +70,8 @@ public: void setDisplayScan(); + void restoreScan(); + void setPanel(int num); /** @@ -124,6 +126,8 @@ public: void setBufferScan(); void setScaleTable(int scale); + + void saveScreen(); }; } // End of namespace Access |