aboutsummaryrefslogtreecommitdiff
path: root/engines/illusions/illusions.cpp
diff options
context:
space:
mode:
authorEric Fry2018-05-25 21:51:21 +1000
committerEugene Sandulenko2018-07-20 06:43:33 +0000
commitbdc477bef9d4ec9691e77c4de867a30d08865c46 (patch)
tree6f32addc60b63768cede07d53aad234a73e5a694 /engines/illusions/illusions.cpp
parent7c46d891c6acc414e69c5cf624f45b7b297fe584 (diff)
downloadscummvm-rg350-bdc477bef9d4ec9691e77c4de867a30d08865c46.tar.gz
scummvm-rg350-bdc477bef9d4ec9691e77c4de867a30d08865c46.tar.bz2
scummvm-rg350-bdc477bef9d4ec9691e77c4de867a30d08865c46.zip
ILLUSIONS: Implement convertPanXCoord() to support audio panning.
Wire up startScriptThread2() calls. Add namedpoint logic.
Diffstat (limited to 'engines/illusions/illusions.cpp')
-rw-r--r--engines/illusions/illusions.cpp15
1 files changed, 13 insertions, 2 deletions
diff --git a/engines/illusions/illusions.cpp b/engines/illusions/illusions.cpp
index 11ef6d0ac7..83881103a1 100644
--- a/engines/illusions/illusions.cpp
+++ b/engines/illusions/illusions.cpp
@@ -238,8 +238,19 @@ int IllusionsEngine::getRandom(int max) {
}
int IllusionsEngine::convertPanXCoord(int16 x) {
- // TODO
- return 0;
+ int16 diff = x - _camera->getCurrentPan().x;
+ int16 absX = ABS(diff);
+ int newX = 0;
+ if ( absX < 160) {
+ newX = (diff << 7) / 320;
+ } else if (diff < 0) {
+ newX = -64;
+ } else {
+ newX = 64;
+ }
+ debug(1, "convertPanXCoord %d %d -> %d", diff, x, newX);
+
+ return newX;
}
bool IllusionsEngine::calcPointDirection(Common::Point &srcPt, Common::Point &dstPt, uint &facing) {