aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoruruk2013-09-22 00:06:52 +0200
committeruruk2013-09-22 00:06:52 +0200
commit2ffcd492be4b596575f1fde10e0e8696ff3c0811 (patch)
treeccc6d70be886eb9b020273b72eae1a521eb9f427
parent9450faf15087d9c9074dea39d1483ccca68d6986 (diff)
downloadscummvm-rg350-2ffcd492be4b596575f1fde10e0e8696ff3c0811.tar.gz
scummvm-rg350-2ffcd492be4b596575f1fde10e0e8696ff3c0811.tar.bz2
scummvm-rg350-2ffcd492be4b596575f1fde10e0e8696ff3c0811.zip
AVALANCHE: Implement Avalot::zoomOut().
-rw-r--r--engines/avalanche/avalot.cpp20
1 files changed, 19 insertions, 1 deletions
diff --git a/engines/avalanche/avalot.cpp b/engines/avalanche/avalot.cpp
index 4390985f13..3979707a5b 100644
--- a/engines/avalanche/avalot.cpp
+++ b/engines/avalanche/avalot.cpp
@@ -641,7 +641,25 @@ void Avalot::loadRoom(byte num) {
}
void Avalot::zoomOut(int16 x, int16 y) {
- warning("STUB: Avalot::zoomout()");
+ //setlinestyle(dottedln, 0, 1); TODO: Implement it with a dotted line style!!!
+
+ ::Graphics::Surface backup;
+ backup.copyFrom(_vm->_graphics->_surface);
+
+ for (byte i = 1; i <= 20; i ++) {
+ int16 x1 = x - (x / 20) * i;
+ int16 y1 = y - ((y - 10) / 20) * i;
+ int16 x2 = x + (((639 - x) / 20) * i);
+ int16 y2 = y + (((161 - y) / 20) * i);
+
+ _vm->_graphics->_surface.frameRect(Common::Rect(x1, y1, x2, y2), kColorWhite);
+ _vm->_graphics->refreshScreen();
+ _vm->_system->delayMillis(17);
+ _vm->_graphics->_surface.copyFrom(backup);
+ _vm->_graphics->refreshScreen();
+ }
+
+ backup.free();
}
void Avalot::findPeople(byte room) {