aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoruruk2013-09-21 23:36:30 +0200
committeruruk2013-09-21 23:38:08 +0200
commit9450faf15087d9c9074dea39d1483ccca68d6986 (patch)
treeb641305d8d3d620a8d9f5ca6fdc7cec6895648d6
parent79a961c89d4f8fd46b70a01cc0d717274c415402 (diff)
downloadscummvm-rg350-9450faf15087d9c9074dea39d1483ccca68d6986.tar.gz
scummvm-rg350-9450faf15087d9c9074dea39d1483ccca68d6986.tar.bz2
scummvm-rg350-9450faf15087d9c9074dea39d1483ccca68d6986.zip
AVALANCHE: Implement Clock::chime().
-rw-r--r--engines/avalanche/avalot.cpp16
1 files changed, 15 insertions, 1 deletions
diff --git a/engines/avalanche/avalot.cpp b/engines/avalanche/avalot.cpp
index c5d942dc0d..4390985f13 100644
--- a/engines/avalanche/avalot.cpp
+++ b/engines/avalanche/avalot.cpp
@@ -233,7 +233,21 @@ void Clock::plotHands() {
}
void Clock::chime() {
- warning("STUB: Clock::chime()");
+ if ((_oldHour == 17717) || (!_vm->_avalot->_soundFx)) // Too high - must be first time around
+ return;
+
+ byte hour = _hour % 12;
+ if (hour == 0)
+ hour = 12;
+
+ _vm->_avalot->setMousePointerWait();
+
+ for (int i = 1; i <= hour; i++) {
+ for (int j = 1; j <= 3; j++)
+ _vm->_sound->playNote((i % 3) * 64 + 140 - j * 30, 50 - j * 12);
+ if (i != hour)
+ _vm->_system->delayMillis(100);
+ }
}