aboutsummaryrefslogtreecommitdiff
path: root/engines/access/amazon/amazon_scripts.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/access/amazon/amazon_scripts.cpp')
-rw-r--r--engines/access/amazon/amazon_scripts.cpp54
1 files changed, 49 insertions, 5 deletions
diff --git a/engines/access/amazon/amazon_scripts.cpp b/engines/access/amazon/amazon_scripts.cpp
index 2d462616db..d3377f97a5 100644
--- a/engines/access/amazon/amazon_scripts.cpp
+++ b/engines/access/amazon/amazon_scripts.cpp
@@ -1590,13 +1590,57 @@ void AmazonScripts::plotInactive() {
}
-void AmazonScripts::SETRIVERPAN() {
- warning("TODO: SETRIVERPAN");
+void AmazonScripts::setRiverPan() {
+ static const int RIVER1OBJ[23][4] = {
+ {18, -77, 0, 30},
+ {18, -325, 0, 20},
+ {18, -450, 0, 15},
+ {18, -1250, 0, 25},
+ {19, -130, 0, 20},
+ {19, -410, 0, 15},
+ {19, -710, 0, 25},
+ {19, -1510, 0, 20},
+ {20, -350, 0, 30},
+ {20, -695, 0, 25},
+ {20, -990, 0, 20},
+ {20, -1300, 0, 25},
+ {20, -1600, 0, 30},
+ {21, -370, 0, 20},
+ {21, -650, 0, 30},
+ {21, -1215, 0, 40},
+ {21, -1815, 0, 35},
+ {22, -380, 0, 25},
+ {22, -720, 0, 35},
+ {22, -1020, 0, 30},
+ {22, -1170, 0, 25},
+ {22, -1770, 0, 35},
+ {23, -500, 63, 20}
+ };
+
+ int delta = (_vm->_screen->_scrollCol * 16) + _vm->_screen->_scrollX;
+
+ _xTrack = 9;
+ _yTrack = _zTrack = 0;
+ _xCam = 160;
+ _yCam = 0;
+ _zCam = 80;
+
+ _game->_timers[24]._timer = 1;
+ _game->_timers[24]._initTm = 1;
+ ++_game->_timers[24]._flag;
+
+ _pNumObj = 23;
+ for (int i = 0; i < _pNumObj; i++) {
+ _pObject[i] = _vm->_objectsTable[45];
+ _pImgNum[i] = RIVER1OBJ[i][0];
+ _pObjX[i] = RIVER1OBJ[i][1] + delta;
+ _pObjY[i] = RIVER1OBJ[i][2];
+ _pObjZ[i] = RIVER1OBJ[i][3];
+ _pObjXl[i] = _pObjYl[i] = 0;
+ }
}
void AmazonScripts::initRiver() {
- warning("TODO: initRiver()");
-
static const int RIVERVXTBL[3] = {6719, 7039, 8319};
_vm->_events->centerMousePos();
@@ -1641,7 +1685,7 @@ void AmazonScripts::initRiver() {
}
_vm->_player->_scrollAmount = 2;
- SETRIVERPAN();
+ setRiverPan();
_game->_timers[3]._timer = 1;
_game->_timers[3]._initTm = 1;
++_game->_timers[3]._flag;