aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/access/access.h2
-rw-r--r--engines/access/amazon/amazon_game.cpp2
-rw-r--r--engines/access/amazon/amazon_room.cpp15
-rw-r--r--engines/access/amazon/amazon_room.h3
-rw-r--r--engines/access/screen.cpp22
-rw-r--r--engines/access/screen.h4
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